feat: scroll

This commit is contained in:
kolaente 2022-07-20 21:50:59 +02:00
parent c9c9056baf
commit 40f7871f1b
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B

View file

@ -1,4 +1,6 @@
<template> <template>
<div class="gantt-container">
<div :style="{'width': ganttChartWidth + 'px'}">
<g-gantt-chart <g-gantt-chart
:chart-start="`${dateFrom} 00:00`" :chart-start="`${dateFrom} 00:00`"
:chart-end="`${dateTo} 23:59`" :chart-end="`${dateTo} 23:59`"
@ -16,6 +18,8 @@
:bars="bar" :bars="bar"
/> />
</g-gantt-chart> </g-gantt-chart>
</div>
</div>
<form <form
@submit.prevent="createTask()" @submit.prevent="createTask()"
class="add-new-task" class="add-new-task"
@ -41,7 +45,7 @@
<script setup lang="ts"> <script setup lang="ts">
import {computed, nextTick, ref} from 'vue' import {computed, nextTick, ref} from 'vue'
import TaskCollectionService from '@/services/taskCollection' import TaskCollectionService from '@/services/taskCollection'
import {format} from 'date-fns' import {format, parse} from 'date-fns'
import {colorIsDark} from '@/helpers/color/colorIsDark' import {colorIsDark} from '@/helpers/color/colorIsDark'
import TaskService from '@/services/task' import TaskService from '@/services/task'
import {useStore} from 'vuex' import {useStore} from 'vuex'
@ -73,6 +77,15 @@ const props = defineProps({
}, },
}) })
const DAY_WIDTH_PIXELS = 30
const ganttChartWidth = computed(() => {
const from = parse(props.dateFrom, 'yyyy-LL-dd', new Date())
const to = parse(props.dateTo, 'yyyy-LL-dd', new Date())
const dateDiff = Math.floor((to - from) / (1000 * 60 * 60 * 24))
return dateDiff * DAY_WIDTH_PIXELS
})
const canWrite = computed(() => store.state.currentList.maxRight > Rights.READ) const canWrite = computed(() => store.state.currentList.maxRight > Rights.READ)
const tasks = ref([]) const tasks = ref([])
@ -201,6 +214,14 @@ function openTask(e) {
</style> </style>
<style scoped lang="scss"> <style scoped lang="scss">
.gantt-container {
overflow-x: auto;
#g-gantt-chart {
width: 2000px;
}
}
.add-new-task { .add-new-task {
padding: 1rem .7rem .4rem .7rem; padding: 1rem .7rem .4rem .7rem;
display: flex; display: flex;