<template>
<q-page padding>
<div class="grid-height">
<ejs-gantt ref='gantt' id="virtualscroll"
:dataSource= "data"
:taskFields= "taskFields"
:allowSelection= "true"
:enableVirtualization= "true"
:labelSettings= "labelSettings"
:height= "height"
:treeColumnIndex= "1"
:highlightWeekends= "true"
:columns= "columns"
:splitterSettings= "splitterSettings"
:renderBaseline="true"
baselineColor="#e9c46a"
:tooltipSettings="tooltipSettings"
:holidays="holidays"
>
</ejs-gantt>
</div>
</q-page>
</template>
<script>
import Vue from 'vue'
import { GanttPlugin, Selection, VirtualScroll } from '@syncfusion/ej2-vue-gantt'
Vue.use(GanttPlugin)
export default {
name: 'test',
data () {
return {
data: [],
taskFields: {
id: 'id',
name: 'task_name',
startDate: 'start_date',
endDate: 'finish_date',
duration: 'duration',
progress: 'progress',
parentID: 'parent_id'
},
columns: [
{ field: 'id' },
{ field: 'task_name' },
{ field: 'start_date' },
{ field: 'duration' },
{ field: 'progress' }
],
height: '650px',
labelSettings: {
taskLabel: 'progress'
},
splitterSettings: {
columnIndex: 2
},
tooltipSettings: {
showTooltip: true
},
holidays: [
{ from: '04/02/2021', to: '04/02/2021', label: 'Good Friday (AUS)', cssClass: 'e-custom-holiday' },
{ from: '04/05/2021', to: '04/05/2021', label: 'Easter Monday (AUS)', cssClass: 'e-custom-holiday' },
{ from: '04/26/2021', to: '04/26/2021', label: 'ANZAC Day (AUS)', cssClass: 'e-custom-holiday' },
{ from: '06/07/2021', to: '06/07/2021', label: 'WA Day (AUS)', cssClass: 'e-custom-holiday' },
{ from: '09/27/2021', to: '09/27/2021', label: "Queen's Birthday (AUS)", cssClass: 'e-custom-holiday' },
{ from: '12/27/2021', to: '12/27/2021', label: 'Christmas Day (AUS)', cssClass: 'e-custom-holiday' },
{ from: '12/28/2021', to: '12/28/2021', label: 'Boxing Day (AUS)', cssClass: 'e-custom-holiday' }
]
}
},
provide: {
gantt: [Selection, VirtualScroll]
},
created () {
this.$axios.get('https://tst-api.tfmch.com/api/v1/tsp-schedule-views').then(response => {
this.data = response.data.data
})
}
}
</script>
<style>
@import "~@syncfusion/ej2-base/styles/material.css";
@import "~@syncfusion/ej2-buttons/styles/material.css";
@import "~@syncfusion/ej2-calendars/styles/material.css";
@import "~@syncfusion/ej2-dropdowns/styles/material.css";
@import "~@syncfusion/ej2-inputs/styles/material.css";
@import "~@syncfusion/ej2-navigations/styles/material.css";
@import "~@syncfusion/ej2-lists/styles/material.css";
@import "~@syncfusion/ej2-layouts/styles/material.css";
@import "~@syncfusion/ej2-popups/styles/material.css";
@import "~@syncfusion/ej2-splitbuttons/styles/material.css";
@import "~@syncfusion/ej2-grids/styles/material.css";
@import "~@syncfusion/ej2-richtexteditor/styles/material.css";
@import "~@syncfusion/ej2-treegrid/styles/material.css";
@import "~@syncfusion/ej2-vue-gantt/styles/material.css";
@import "~@syncfusion/ej2-vue-grids/styles/material.css";
</style>