tg-ganttchart 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tgganttchart.umd.js
CHANGED
|
@@ -3385,7 +3385,7 @@ if (typeof window !== 'undefined') {
|
|
|
3385
3385
|
// Indicate to webpack that this file can be concatenated
|
|
3386
3386
|
/* harmony default export */ var setPublicPath = (null);
|
|
3387
3387
|
|
|
3388
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.standalone.vue?vue&type=template&id=
|
|
3388
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.standalone.vue?vue&type=template&id=ba4781dc
|
|
3389
3389
|
var render = function render() {
|
|
3390
3390
|
var _vm = this,
|
|
3391
3391
|
_c = _vm._self._c;
|
|
@@ -3394,6 +3394,32 @@ var render = function render() {
|
|
|
3394
3394
|
"tasks": _vm.tasks,
|
|
3395
3395
|
"options": _vm.options,
|
|
3396
3396
|
"dynamicStyle": _vm.dynamicStyle
|
|
3397
|
+
},
|
|
3398
|
+
on: {
|
|
3399
|
+
"task-updated": function ($event) {
|
|
3400
|
+
return _vm.$emit('task-updated', $event);
|
|
3401
|
+
},
|
|
3402
|
+
"gantt-task-updated": function ($event) {
|
|
3403
|
+
return _vm.$emit('gantt-task-updated', $event);
|
|
3404
|
+
},
|
|
3405
|
+
"view-mode-changed": function ($event) {
|
|
3406
|
+
return _vm.$emit('view-mode-changed', $event);
|
|
3407
|
+
},
|
|
3408
|
+
"gantt-view-mode-changed": function ($event) {
|
|
3409
|
+
return _vm.$emit('gantt-view-mode-changed', $event);
|
|
3410
|
+
},
|
|
3411
|
+
"tasks-changed": function ($event) {
|
|
3412
|
+
return _vm.$emit('tasks-changed', $event);
|
|
3413
|
+
},
|
|
3414
|
+
"options-changed": function ($event) {
|
|
3415
|
+
return _vm.$emit('options-changed', $event);
|
|
3416
|
+
},
|
|
3417
|
+
"dynamic-style-changed": function ($event) {
|
|
3418
|
+
return _vm.$emit('dynamic-style-changed', $event);
|
|
3419
|
+
},
|
|
3420
|
+
"mounted": function ($event) {
|
|
3421
|
+
return _vm.$emit('mounted', $event);
|
|
3422
|
+
}
|
|
3397
3423
|
}
|
|
3398
3424
|
}, [_vm.components.header ? _c(_vm.components.header, {
|
|
3399
3425
|
tag: "component",
|
|
@@ -3411,8 +3437,8 @@ var render = function render() {
|
|
|
3411
3437
|
};
|
|
3412
3438
|
var staticRenderFns = [];
|
|
3413
3439
|
|
|
3414
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=template&id=
|
|
3415
|
-
var
|
|
3440
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=template&id=95091692
|
|
3441
|
+
var GanttElasticvue_type_template_id_95091692_render = function render() {
|
|
3416
3442
|
var _vm = this,
|
|
3417
3443
|
_c = _vm._self._c,
|
|
3418
3444
|
_setup = _vm._self._setupProxy;
|
|
@@ -3441,7 +3467,7 @@ var GanttElasticvue_type_template_id_100984c8_render = function render() {
|
|
|
3441
3467
|
}
|
|
3442
3468
|
}), _vm._t("footer")], 2);
|
|
3443
3469
|
};
|
|
3444
|
-
var
|
|
3470
|
+
var GanttElasticvue_type_template_id_95091692_staticRenderFns = [];
|
|
3445
3471
|
|
|
3446
3472
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
3447
3473
|
var es_array_push = __webpack_require__(4114);
|
|
@@ -3684,8 +3710,8 @@ var component = normalizeComponent(
|
|
|
3684
3710
|
)
|
|
3685
3711
|
|
|
3686
3712
|
/* harmony default export */ var GanttViewFilter = (component.exports);
|
|
3687
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/MainView.vue?vue&type=template&id=
|
|
3688
|
-
var
|
|
3713
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/MainView.vue?vue&type=template&id=79e1eba9
|
|
3714
|
+
var MainViewvue_type_template_id_79e1eba9_render = function render() {
|
|
3689
3715
|
var _vm = this,
|
|
3690
3716
|
_c = _vm._self._c;
|
|
3691
3717
|
return _c('div', {
|
|
@@ -3794,10 +3820,10 @@ var MainViewvue_type_template_id_33392d22_render = function render() {
|
|
|
3794
3820
|
}
|
|
3795
3821
|
})])]);
|
|
3796
3822
|
};
|
|
3797
|
-
var
|
|
3823
|
+
var MainViewvue_type_template_id_79e1eba9_staticRenderFns = [];
|
|
3798
3824
|
|
|
3799
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=template&id=
|
|
3800
|
-
var
|
|
3825
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=template&id=b705a4ea
|
|
3826
|
+
var TaskListvue_type_template_id_b705a4ea_render = function render() {
|
|
3801
3827
|
var _vm = this,
|
|
3802
3828
|
_c = _vm._self._c;
|
|
3803
3829
|
return _c('div', {
|
|
@@ -3826,17 +3852,36 @@ var TaskListvue_type_template_id_74ce1216_render = function render() {
|
|
|
3826
3852
|
style: {
|
|
3827
3853
|
..._vm.root.style['task-list-items'],
|
|
3828
3854
|
height: _vm.root.state.options.rowsHeight + 'px'
|
|
3855
|
+
},
|
|
3856
|
+
on: {
|
|
3857
|
+
"scroll": _vm.onScroll
|
|
3829
3858
|
}
|
|
3830
|
-
},
|
|
3859
|
+
}, [_c('div', {
|
|
3860
|
+
style: {
|
|
3861
|
+
height: _vm.totalHeight + 'px',
|
|
3862
|
+
position: 'relative'
|
|
3863
|
+
}
|
|
3864
|
+
}, [_c('div', {
|
|
3865
|
+
style: {
|
|
3866
|
+
transform: `translateY(${_vm.offsetY}px)`,
|
|
3867
|
+
position: 'absolute',
|
|
3868
|
+
top: 0,
|
|
3869
|
+
left: 0,
|
|
3870
|
+
right: 0
|
|
3871
|
+
}
|
|
3872
|
+
}, _vm._l(_vm.visibleTasks, function (task) {
|
|
3831
3873
|
return _c('task-list-item', {
|
|
3832
3874
|
key: task.id,
|
|
3875
|
+
style: {
|
|
3876
|
+
height: _vm.taskHeight + 'px'
|
|
3877
|
+
},
|
|
3833
3878
|
attrs: {
|
|
3834
3879
|
"task": task
|
|
3835
3880
|
}
|
|
3836
3881
|
});
|
|
3837
|
-
}), 1)], 1)]);
|
|
3882
|
+
}), 1)])])], 1)]);
|
|
3838
3883
|
};
|
|
3839
|
-
var
|
|
3884
|
+
var TaskListvue_type_template_id_b705a4ea_staticRenderFns = [];
|
|
3840
3885
|
|
|
3841
3886
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListHeader.vue?vue&type=template&id=2ecc0032
|
|
3842
3887
|
var TaskListHeadervue_type_template_id_2ecc0032_render = function render() {
|
|
@@ -3889,8 +3934,8 @@ var TaskListHeadervue_type_template_id_2ecc0032_render = function render() {
|
|
|
3889
3934
|
};
|
|
3890
3935
|
var TaskListHeadervue_type_template_id_2ecc0032_staticRenderFns = [];
|
|
3891
3936
|
|
|
3892
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=template&id=
|
|
3893
|
-
var
|
|
3937
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=template&id=4831d194
|
|
3938
|
+
var Expandervue_type_template_id_4831d194_render = function render() {
|
|
3894
3939
|
var _vm = this,
|
|
3895
3940
|
_c = _vm._self._c;
|
|
3896
3941
|
return _c('div', {
|
|
@@ -3927,7 +3972,7 @@ var Expandervue_type_template_id_ac398cf4_render = function render() {
|
|
|
3927
3972
|
}
|
|
3928
3973
|
})]) : _vm._e()]);
|
|
3929
3974
|
};
|
|
3930
|
-
var
|
|
3975
|
+
var Expandervue_type_template_id_4831d194_staticRenderFns = [];
|
|
3931
3976
|
|
|
3932
3977
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=script&lang=js
|
|
3933
3978
|
|
|
@@ -3984,7 +4029,9 @@ var Expandervue_type_template_id_ac398cf4_staticRenderFns = [];
|
|
|
3984
4029
|
}
|
|
3985
4030
|
let collapsed = 0;
|
|
3986
4031
|
for (let i = 0, len = this.tasks.length; i < len; i++) {
|
|
3987
|
-
if (
|
|
4032
|
+
// Use original task if available (for virtual scrolling), otherwise use the task itself
|
|
4033
|
+
const originalTask = this.tasks[i]._originalTask || this.tasks[i];
|
|
4034
|
+
if (originalTask.collapsed) {
|
|
3988
4035
|
collapsed++;
|
|
3989
4036
|
}
|
|
3990
4037
|
}
|
|
@@ -4009,7 +4056,9 @@ var Expandervue_type_template_id_ac398cf4_staticRenderFns = [];
|
|
|
4009
4056
|
}
|
|
4010
4057
|
const collapsed = !this.collapsed;
|
|
4011
4058
|
this.tasks.forEach(task => {
|
|
4012
|
-
task
|
|
4059
|
+
// Use original task if available (for virtual scrolling), otherwise use the task itself
|
|
4060
|
+
const originalTask = task._originalTask || task;
|
|
4061
|
+
originalTask.collapsed = collapsed;
|
|
4013
4062
|
});
|
|
4014
4063
|
|
|
4015
4064
|
// Force reactivity update
|
|
@@ -4030,8 +4079,8 @@ var Expandervue_type_template_id_ac398cf4_staticRenderFns = [];
|
|
|
4030
4079
|
;
|
|
4031
4080
|
var Expander_component = normalizeComponent(
|
|
4032
4081
|
components_Expandervue_type_script_lang_js,
|
|
4033
|
-
|
|
4034
|
-
|
|
4082
|
+
Expandervue_type_template_id_4831d194_render,
|
|
4083
|
+
Expandervue_type_template_id_4831d194_staticRenderFns,
|
|
4035
4084
|
false,
|
|
4036
4085
|
null,
|
|
4037
4086
|
null,
|
|
@@ -4560,6 +4609,7 @@ var TaskListItem_component = normalizeComponent(
|
|
|
4560
4609
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
4561
4610
|
|
|
4562
4611
|
|
|
4612
|
+
|
|
4563
4613
|
/* harmony default export */ var TaskListvue_type_script_lang_js = ({
|
|
4564
4614
|
name: 'TaskList',
|
|
4565
4615
|
components: {
|
|
@@ -4568,7 +4618,104 @@ var TaskListItem_component = normalizeComponent(
|
|
|
4568
4618
|
},
|
|
4569
4619
|
inject: ['root'],
|
|
4570
4620
|
data() {
|
|
4571
|
-
return {
|
|
4621
|
+
return {
|
|
4622
|
+
scrollTop: 0,
|
|
4623
|
+
containerHeight: 0,
|
|
4624
|
+
bufferSize: 5,
|
|
4625
|
+
// Number of extra items to render above and below viewport
|
|
4626
|
+
lastScrollTime: 0,
|
|
4627
|
+
scrollThrottleDelay: 16 // ~60fps
|
|
4628
|
+
};
|
|
4629
|
+
},
|
|
4630
|
+
computed: {
|
|
4631
|
+
/**
|
|
4632
|
+
* Get all tasks that should be visible
|
|
4633
|
+
*/
|
|
4634
|
+
allVisibleTasks() {
|
|
4635
|
+
return this.root.visibleTasks || [];
|
|
4636
|
+
},
|
|
4637
|
+
/**
|
|
4638
|
+
* Get task height
|
|
4639
|
+
*/
|
|
4640
|
+
taskHeight() {
|
|
4641
|
+
return this.root.state.options.row.height + this.root.state.options.chart.grid.horizontal.gap * 2;
|
|
4642
|
+
},
|
|
4643
|
+
/**
|
|
4644
|
+
* Get total height of all tasks
|
|
4645
|
+
*/
|
|
4646
|
+
totalHeight() {
|
|
4647
|
+
return this.allVisibleTasks.length * this.taskHeight;
|
|
4648
|
+
},
|
|
4649
|
+
/**
|
|
4650
|
+
* Get visible range for virtual scrolling
|
|
4651
|
+
*/
|
|
4652
|
+
visibleRange() {
|
|
4653
|
+
const start = Math.max(0, Math.floor(this.scrollTop / this.taskHeight) - this.bufferSize);
|
|
4654
|
+
const end = Math.min(this.allVisibleTasks.length, Math.ceil((this.scrollTop + this.containerHeight) / this.taskHeight) + this.bufferSize);
|
|
4655
|
+
return {
|
|
4656
|
+
start,
|
|
4657
|
+
end
|
|
4658
|
+
};
|
|
4659
|
+
},
|
|
4660
|
+
/**
|
|
4661
|
+
* Get visible tasks for virtual scrolling
|
|
4662
|
+
* This respects the expand/collapse state from the root component
|
|
4663
|
+
*/
|
|
4664
|
+
visibleTasks() {
|
|
4665
|
+
// First get all tasks that should be visible based on expand/collapse state
|
|
4666
|
+
const allVisibleTasks = this.root.visibleTasks || [];
|
|
4667
|
+
|
|
4668
|
+
// If we have virtual scrolling enabled and enough tasks, apply viewport culling
|
|
4669
|
+
if (allVisibleTasks.length > 100 && this.containerHeight > 0) {
|
|
4670
|
+
const {
|
|
4671
|
+
start,
|
|
4672
|
+
end
|
|
4673
|
+
} = this.visibleRange;
|
|
4674
|
+
return allVisibleTasks.slice(start, end).map((task, index) => {
|
|
4675
|
+
// Create a wrapper object that preserves the original task reference
|
|
4676
|
+
return {
|
|
4677
|
+
...task,
|
|
4678
|
+
virtualIndex: start + index,
|
|
4679
|
+
_originalTask: task // Keep reference to original task for expander
|
|
4680
|
+
};
|
|
4681
|
+
});
|
|
4682
|
+
}
|
|
4683
|
+
|
|
4684
|
+
// For smaller datasets or when virtual scrolling is not needed, return all visible tasks
|
|
4685
|
+
return allVisibleTasks.map((task, index) => ({
|
|
4686
|
+
...task,
|
|
4687
|
+
virtualIndex: index,
|
|
4688
|
+
_originalTask: task // Keep reference to original task for expander
|
|
4689
|
+
}));
|
|
4690
|
+
},
|
|
4691
|
+
/**
|
|
4692
|
+
* Get offset for virtual scrolling
|
|
4693
|
+
*/
|
|
4694
|
+
offsetY() {
|
|
4695
|
+
return this.visibleRange.start * this.taskHeight;
|
|
4696
|
+
}
|
|
4697
|
+
},
|
|
4698
|
+
methods: {
|
|
4699
|
+
/**
|
|
4700
|
+
* Handle scroll event with throttling
|
|
4701
|
+
*/
|
|
4702
|
+
onScroll(event) {
|
|
4703
|
+
const now = Date.now();
|
|
4704
|
+
if (now - this.lastScrollTime < this.scrollThrottleDelay) {
|
|
4705
|
+
return;
|
|
4706
|
+
}
|
|
4707
|
+
this.lastScrollTime = now;
|
|
4708
|
+
this.scrollTop = event.target.scrollTop;
|
|
4709
|
+
this.containerHeight = event.target.clientHeight;
|
|
4710
|
+
},
|
|
4711
|
+
/**
|
|
4712
|
+
* Update container height when component updates
|
|
4713
|
+
*/
|
|
4714
|
+
updateContainerHeight() {
|
|
4715
|
+
if (this.$refs.taskListItems) {
|
|
4716
|
+
this.containerHeight = this.$refs.taskListItems.clientHeight;
|
|
4717
|
+
}
|
|
4718
|
+
}
|
|
4572
4719
|
},
|
|
4573
4720
|
/**
|
|
4574
4721
|
* Mounted
|
|
@@ -4577,6 +4724,30 @@ var TaskListItem_component = normalizeComponent(
|
|
|
4577
4724
|
this.root.state.refs.taskListWrapper = this.$refs.taskListWrapper;
|
|
4578
4725
|
this.root.state.refs.taskList = this.$refs.taskList;
|
|
4579
4726
|
this.root.state.refs.taskListItems = this.$refs.taskListItems;
|
|
4727
|
+
|
|
4728
|
+
// Initialize container height
|
|
4729
|
+
this.$nextTick(() => {
|
|
4730
|
+
this.updateContainerHeight();
|
|
4731
|
+
});
|
|
4732
|
+
},
|
|
4733
|
+
/**
|
|
4734
|
+
* Watch for changes in visible tasks to update virtual scrolling
|
|
4735
|
+
*/
|
|
4736
|
+
watch: {
|
|
4737
|
+
'root.visibleTasks': {
|
|
4738
|
+
handler() {
|
|
4739
|
+
this.$nextTick(() => {
|
|
4740
|
+
this.updateContainerHeight();
|
|
4741
|
+
});
|
|
4742
|
+
},
|
|
4743
|
+
deep: true
|
|
4744
|
+
}
|
|
4745
|
+
},
|
|
4746
|
+
/**
|
|
4747
|
+
* Updated lifecycle hook
|
|
4748
|
+
*/
|
|
4749
|
+
updated() {
|
|
4750
|
+
this.updateContainerHeight();
|
|
4580
4751
|
}
|
|
4581
4752
|
});
|
|
4582
4753
|
;// ./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
@@ -4591,8 +4762,8 @@ var TaskListItem_component = normalizeComponent(
|
|
|
4591
4762
|
;
|
|
4592
4763
|
var TaskList_component = normalizeComponent(
|
|
4593
4764
|
TaskList_TaskListvue_type_script_lang_js,
|
|
4594
|
-
|
|
4595
|
-
|
|
4765
|
+
TaskListvue_type_template_id_b705a4ea_render,
|
|
4766
|
+
TaskListvue_type_template_id_b705a4ea_staticRenderFns,
|
|
4596
4767
|
false,
|
|
4597
4768
|
null,
|
|
4598
4769
|
null,
|
|
@@ -4601,8 +4772,8 @@ var TaskList_component = normalizeComponent(
|
|
|
4601
4772
|
)
|
|
4602
4773
|
|
|
4603
4774
|
/* harmony default export */ var TaskList = (TaskList_component.exports);
|
|
4604
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Chart.vue?vue&type=template&id=
|
|
4605
|
-
var
|
|
4775
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Chart.vue?vue&type=template&id=0856b85c
|
|
4776
|
+
var Chartvue_type_template_id_0856b85c_render = function render() {
|
|
4606
4777
|
var _vm = this,
|
|
4607
4778
|
_c = _vm._self._c;
|
|
4608
4779
|
return _c('div', {
|
|
@@ -4677,7 +4848,7 @@ var Chartvue_type_template_id_2bc7fe5e_render = function render() {
|
|
|
4677
4848
|
})], 1);
|
|
4678
4849
|
})], 2)])])])]);
|
|
4679
4850
|
};
|
|
4680
|
-
var
|
|
4851
|
+
var Chartvue_type_template_id_0856b85c_staticRenderFns = [];
|
|
4681
4852
|
|
|
4682
4853
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Grid.vue?vue&type=template&id=244ea0ee
|
|
4683
4854
|
var Gridvue_type_template_id_244ea0ee_render = function render() {
|
|
@@ -5886,8 +6057,8 @@ var DependencyLines_component = normalizeComponent(
|
|
|
5886
6057
|
)
|
|
5887
6058
|
|
|
5888
6059
|
/* harmony default export */ var DependencyLines = (DependencyLines_component.exports);
|
|
5889
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Task.vue?vue&type=template&id=
|
|
5890
|
-
var
|
|
6060
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Task.vue?vue&type=template&id=23849415
|
|
6061
|
+
var Taskvue_type_template_id_23849415_render = function render() {
|
|
5891
6062
|
var _vm = this,
|
|
5892
6063
|
_c = _vm._self._c;
|
|
5893
6064
|
return _c('g', {
|
|
@@ -5999,16 +6170,17 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
|
|
|
5999
6170
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6000
6171
|
}
|
|
6001
6172
|
}), _c('rect', {
|
|
6002
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
6173
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
6003
6174
|
staticStyle: {
|
|
6004
6175
|
"pointer-events": "all",
|
|
6005
|
-
"z-index": "
|
|
6176
|
+
"z-index": "50",
|
|
6177
|
+
"cursor": "ew-resize !important"
|
|
6006
6178
|
},
|
|
6007
6179
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
6008
6180
|
attrs: {
|
|
6009
|
-
"x": "
|
|
6181
|
+
"x": "0",
|
|
6010
6182
|
"y": "0",
|
|
6011
|
-
"width":
|
|
6183
|
+
"width": 12,
|
|
6012
6184
|
"height": _vm.task.height
|
|
6013
6185
|
},
|
|
6014
6186
|
on: {
|
|
@@ -6022,16 +6194,17 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
|
|
|
6022
6194
|
}
|
|
6023
6195
|
}
|
|
6024
6196
|
}), _c('rect', {
|
|
6025
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
6197
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
6026
6198
|
staticStyle: {
|
|
6027
6199
|
"pointer-events": "all",
|
|
6028
|
-
"z-index": "
|
|
6200
|
+
"z-index": "50",
|
|
6201
|
+
"cursor": "ew-resize !important"
|
|
6029
6202
|
},
|
|
6030
6203
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
6031
6204
|
attrs: {
|
|
6032
|
-
"x": _vm.task.width -
|
|
6205
|
+
"x": _vm.task.width - 12,
|
|
6033
6206
|
"y": "0",
|
|
6034
|
-
"width":
|
|
6207
|
+
"width": 12,
|
|
6035
6208
|
"height": _vm.task.height
|
|
6036
6209
|
},
|
|
6037
6210
|
on: {
|
|
@@ -6050,7 +6223,7 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
|
|
|
6050
6223
|
}
|
|
6051
6224
|
}) : _vm._e()], 1);
|
|
6052
6225
|
};
|
|
6053
|
-
var
|
|
6226
|
+
var Taskvue_type_template_id_23849415_staticRenderFns = [];
|
|
6054
6227
|
|
|
6055
6228
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Text.vue?vue&type=template&id=634f40aa
|
|
6056
6229
|
var Textvue_type_template_id_634f40aa_render = function render() {
|
|
@@ -6401,13 +6574,13 @@ var ProgressBar_component = normalizeComponent(
|
|
|
6401
6574
|
event.stopPropagation();
|
|
6402
6575
|
|
|
6403
6576
|
// Debug logging
|
|
6404
|
-
console.log('Starting drag:', {
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
});
|
|
6577
|
+
// console.log('Starting drag:', {
|
|
6578
|
+
// type: type,
|
|
6579
|
+
// taskId: this.task.id,
|
|
6580
|
+
// taskType: this.task.type,
|
|
6581
|
+
// originalStart: this.task.startTime,
|
|
6582
|
+
// originalEnd: this.task.endTime
|
|
6583
|
+
// });
|
|
6411
6584
|
|
|
6412
6585
|
// Safety checks
|
|
6413
6586
|
if (!this.root || !this.root.state || !this.root.state.options || !this.root.state.options.times) {
|
|
@@ -6531,15 +6704,15 @@ var ProgressBar_component = normalizeComponent(
|
|
|
6531
6704
|
|
|
6532
6705
|
// Debug logging for epic tasks
|
|
6533
6706
|
if (this.task.type === 'epic') {
|
|
6534
|
-
console.log('Epic task drag:', {
|
|
6535
|
-
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
});
|
|
6707
|
+
// console.log('Epic task drag:', {
|
|
6708
|
+
// dragType: this.dragType,
|
|
6709
|
+
// originalStart: this.originalStartTime,
|
|
6710
|
+
// originalEnd: this.originalEndTime,
|
|
6711
|
+
// newStart: newStartTime,
|
|
6712
|
+
// newEnd: newEndTime,
|
|
6713
|
+
// startChanged: newStartTime !== this.originalStartTime,
|
|
6714
|
+
// endChanged: newEndTime !== this.originalEndTime
|
|
6715
|
+
// });
|
|
6543
6716
|
}
|
|
6544
6717
|
|
|
6545
6718
|
// Update task data
|
|
@@ -6548,15 +6721,15 @@ var ProgressBar_component = normalizeComponent(
|
|
|
6548
6721
|
this.task.duration = newEndTime - newStartTime;
|
|
6549
6722
|
|
|
6550
6723
|
// Debug logging
|
|
6551
|
-
console.log('Updating task time:', {
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
});
|
|
6724
|
+
// console.log('Updating task time:', {
|
|
6725
|
+
// taskId: this.task.id,
|
|
6726
|
+
// newStartTime,
|
|
6727
|
+
// newEndTime,
|
|
6728
|
+
// duration: this.task.duration,
|
|
6729
|
+
// root: !!this.root,
|
|
6730
|
+
// timeToPixelOffsetX: !!(this.root && this.root.timeToPixelOffsetX),
|
|
6731
|
+
// timePerPixel: this.root && this.root.state && this.root.state.options && this.root.state.options.times && this.root.state.options.times.timePerPixel
|
|
6732
|
+
// });
|
|
6560
6733
|
|
|
6561
6734
|
// Update task position and width using the correct method
|
|
6562
6735
|
if (this.root && this.root.timeToPixelOffsetX) {
|
|
@@ -6600,15 +6773,15 @@ var ProgressBar_component = normalizeComponent(
|
|
|
6600
6773
|
});
|
|
6601
6774
|
|
|
6602
6775
|
// Log the update for debugging
|
|
6603
|
-
console.log('Task drag completed:', {
|
|
6604
|
-
|
|
6605
|
-
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
|
|
6610
|
-
|
|
6611
|
-
});
|
|
6776
|
+
// console.log('Task drag completed:', {
|
|
6777
|
+
// id: this.task.id,
|
|
6778
|
+
// dragType: this.dragType,
|
|
6779
|
+
// startDate: startDate.toLocaleDateString(),
|
|
6780
|
+
// endDate: endDate.toLocaleDateString(),
|
|
6781
|
+
// duration: `${durationDays} days`,
|
|
6782
|
+
// startTime: this.task.startTime,
|
|
6783
|
+
// endTime: this.task.endTime
|
|
6784
|
+
// });
|
|
6612
6785
|
},
|
|
6613
6786
|
/**
|
|
6614
6787
|
* Show context menu for task actions
|
|
@@ -7058,8 +7231,8 @@ var ProgressBar_component = normalizeComponent(
|
|
|
7058
7231
|
;
|
|
7059
7232
|
var Task_component = normalizeComponent(
|
|
7060
7233
|
Row_Taskvue_type_script_lang_js,
|
|
7061
|
-
|
|
7062
|
-
|
|
7234
|
+
Taskvue_type_template_id_23849415_render,
|
|
7235
|
+
Taskvue_type_template_id_23849415_staticRenderFns,
|
|
7063
7236
|
false,
|
|
7064
7237
|
null,
|
|
7065
7238
|
null,
|
|
@@ -7068,8 +7241,8 @@ var Task_component = normalizeComponent(
|
|
|
7068
7241
|
)
|
|
7069
7242
|
|
|
7070
7243
|
/* harmony default export */ var Task = (Task_component.exports);
|
|
7071
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Milestone.vue?vue&type=template&id=
|
|
7072
|
-
var
|
|
7244
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Milestone.vue?vue&type=template&id=c9bfeb4a
|
|
7245
|
+
var Milestonevue_type_template_id_c9bfeb4a_render = function render() {
|
|
7073
7246
|
var _vm = this,
|
|
7074
7247
|
_c = _vm._self._c;
|
|
7075
7248
|
return _c('g', {
|
|
@@ -7181,16 +7354,17 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
|
|
|
7181
7354
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
7182
7355
|
}
|
|
7183
7356
|
}), _c('rect', {
|
|
7184
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7357
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7185
7358
|
staticStyle: {
|
|
7186
7359
|
"pointer-events": "all",
|
|
7187
|
-
"z-index": "
|
|
7360
|
+
"z-index": "50",
|
|
7361
|
+
"cursor": "ew-resize !important"
|
|
7188
7362
|
},
|
|
7189
7363
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7190
7364
|
attrs: {
|
|
7191
|
-
"x": "
|
|
7365
|
+
"x": "0",
|
|
7192
7366
|
"y": "0",
|
|
7193
|
-
"width":
|
|
7367
|
+
"width": 12,
|
|
7194
7368
|
"height": _vm.task.height
|
|
7195
7369
|
},
|
|
7196
7370
|
on: {
|
|
@@ -7204,16 +7378,17 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
|
|
|
7204
7378
|
}
|
|
7205
7379
|
}
|
|
7206
7380
|
}), _c('rect', {
|
|
7207
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7381
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7208
7382
|
staticStyle: {
|
|
7209
7383
|
"pointer-events": "all",
|
|
7210
|
-
"z-index": "
|
|
7384
|
+
"z-index": "50",
|
|
7385
|
+
"cursor": "ew-resize !important"
|
|
7211
7386
|
},
|
|
7212
7387
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7213
7388
|
attrs: {
|
|
7214
|
-
"x": _vm.task.width -
|
|
7389
|
+
"x": _vm.task.width - 12,
|
|
7215
7390
|
"y": "0",
|
|
7216
|
-
"width":
|
|
7391
|
+
"width": 12,
|
|
7217
7392
|
"height": _vm.task.height
|
|
7218
7393
|
},
|
|
7219
7394
|
on: {
|
|
@@ -7232,7 +7407,7 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
|
|
|
7232
7407
|
}
|
|
7233
7408
|
}) : _vm._e()], 1);
|
|
7234
7409
|
};
|
|
7235
|
-
var
|
|
7410
|
+
var Milestonevue_type_template_id_c9bfeb4a_staticRenderFns = [];
|
|
7236
7411
|
|
|
7237
7412
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Milestone.vue?vue&type=script&lang=js
|
|
7238
7413
|
|
|
@@ -7314,8 +7489,8 @@ var Milestonevue_type_template_id_4cea99c4_staticRenderFns = [];
|
|
|
7314
7489
|
;
|
|
7315
7490
|
var Milestone_component = normalizeComponent(
|
|
7316
7491
|
Row_Milestonevue_type_script_lang_js,
|
|
7317
|
-
|
|
7318
|
-
|
|
7492
|
+
Milestonevue_type_template_id_c9bfeb4a_render,
|
|
7493
|
+
Milestonevue_type_template_id_c9bfeb4a_staticRenderFns,
|
|
7319
7494
|
false,
|
|
7320
7495
|
null,
|
|
7321
7496
|
null,
|
|
@@ -7324,8 +7499,8 @@ var Milestone_component = normalizeComponent(
|
|
|
7324
7499
|
)
|
|
7325
7500
|
|
|
7326
7501
|
/* harmony default export */ var Milestone = (Milestone_component.exports);
|
|
7327
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Project.vue?vue&type=template&id=
|
|
7328
|
-
var
|
|
7502
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Project.vue?vue&type=template&id=72239142
|
|
7503
|
+
var Projectvue_type_template_id_72239142_render = function render() {
|
|
7329
7504
|
var _vm = this,
|
|
7330
7505
|
_c = _vm._self._c;
|
|
7331
7506
|
return _c('g', {
|
|
@@ -7437,16 +7612,17 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
|
|
|
7437
7612
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
7438
7613
|
}
|
|
7439
7614
|
}), _c('rect', {
|
|
7440
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7615
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7441
7616
|
staticStyle: {
|
|
7442
7617
|
"pointer-events": "all",
|
|
7443
|
-
"z-index": "
|
|
7618
|
+
"z-index": "50",
|
|
7619
|
+
"cursor": "ew-resize !important"
|
|
7444
7620
|
},
|
|
7445
7621
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7446
7622
|
attrs: {
|
|
7447
|
-
"x": "
|
|
7623
|
+
"x": "0",
|
|
7448
7624
|
"y": "0",
|
|
7449
|
-
"width":
|
|
7625
|
+
"width": 12,
|
|
7450
7626
|
"height": _vm.task.height
|
|
7451
7627
|
},
|
|
7452
7628
|
on: {
|
|
@@ -7460,16 +7636,17 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
|
|
|
7460
7636
|
}
|
|
7461
7637
|
}
|
|
7462
7638
|
}), _c('rect', {
|
|
7463
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7639
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7464
7640
|
staticStyle: {
|
|
7465
7641
|
"pointer-events": "all",
|
|
7466
|
-
"z-index": "
|
|
7642
|
+
"z-index": "50",
|
|
7643
|
+
"cursor": "ew-resize !important"
|
|
7467
7644
|
},
|
|
7468
7645
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7469
7646
|
attrs: {
|
|
7470
|
-
"x": _vm.task.width -
|
|
7647
|
+
"x": _vm.task.width - 12,
|
|
7471
7648
|
"y": "0",
|
|
7472
|
-
"width":
|
|
7649
|
+
"width": 12,
|
|
7473
7650
|
"height": _vm.task.height
|
|
7474
7651
|
},
|
|
7475
7652
|
on: {
|
|
@@ -7488,7 +7665,7 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
|
|
|
7488
7665
|
}
|
|
7489
7666
|
}) : _vm._e()], 1);
|
|
7490
7667
|
};
|
|
7491
|
-
var
|
|
7668
|
+
var Projectvue_type_template_id_72239142_staticRenderFns = [];
|
|
7492
7669
|
|
|
7493
7670
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Project.vue?vue&type=script&lang=js
|
|
7494
7671
|
|
|
@@ -7588,8 +7765,8 @@ var Projectvue_type_template_id_5dcaf9ef_staticRenderFns = [];
|
|
|
7588
7765
|
;
|
|
7589
7766
|
var Project_component = normalizeComponent(
|
|
7590
7767
|
Row_Projectvue_type_script_lang_js,
|
|
7591
|
-
|
|
7592
|
-
|
|
7768
|
+
Projectvue_type_template_id_72239142_render,
|
|
7769
|
+
Projectvue_type_template_id_72239142_staticRenderFns,
|
|
7593
7770
|
false,
|
|
7594
7771
|
null,
|
|
7595
7772
|
null,
|
|
@@ -7598,8 +7775,8 @@ var Project_component = normalizeComponent(
|
|
|
7598
7775
|
)
|
|
7599
7776
|
|
|
7600
7777
|
/* harmony default export */ var Project = (Project_component.exports);
|
|
7601
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Epic.vue?vue&type=template&id=
|
|
7602
|
-
var
|
|
7778
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Epic.vue?vue&type=template&id=80ad2e9c
|
|
7779
|
+
var Epicvue_type_template_id_80ad2e9c_render = function render() {
|
|
7603
7780
|
var _vm = this,
|
|
7604
7781
|
_c = _vm._self._c;
|
|
7605
7782
|
return _c('g', {
|
|
@@ -7713,16 +7890,17 @@ var Epicvue_type_template_id_6e337196_render = function render() {
|
|
|
7713
7890
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
7714
7891
|
}
|
|
7715
7892
|
}) : _vm._e(), _c('rect', {
|
|
7716
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7893
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7717
7894
|
staticStyle: {
|
|
7718
7895
|
"pointer-events": "all",
|
|
7719
|
-
"z-index": "
|
|
7896
|
+
"z-index": "50",
|
|
7897
|
+
"cursor": "ew-resize !important"
|
|
7720
7898
|
},
|
|
7721
7899
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7722
7900
|
attrs: {
|
|
7723
|
-
"x": "
|
|
7901
|
+
"x": "0",
|
|
7724
7902
|
"y": "0",
|
|
7725
|
-
"width":
|
|
7903
|
+
"width": 12,
|
|
7726
7904
|
"height": _vm.task.height
|
|
7727
7905
|
},
|
|
7728
7906
|
on: {
|
|
@@ -7736,16 +7914,17 @@ var Epicvue_type_template_id_6e337196_render = function render() {
|
|
|
7736
7914
|
}
|
|
7737
7915
|
}
|
|
7738
7916
|
}), _c('rect', {
|
|
7739
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
7917
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7740
7918
|
staticStyle: {
|
|
7741
7919
|
"pointer-events": "all",
|
|
7742
|
-
"z-index": "
|
|
7920
|
+
"z-index": "50",
|
|
7921
|
+
"cursor": "ew-resize !important"
|
|
7743
7922
|
},
|
|
7744
7923
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7745
7924
|
attrs: {
|
|
7746
|
-
"x": _vm.task.width -
|
|
7925
|
+
"x": _vm.task.width - 12,
|
|
7747
7926
|
"y": "0",
|
|
7748
|
-
"width":
|
|
7927
|
+
"width": 12,
|
|
7749
7928
|
"height": _vm.task.height
|
|
7750
7929
|
},
|
|
7751
7930
|
on: {
|
|
@@ -7764,7 +7943,7 @@ var Epicvue_type_template_id_6e337196_render = function render() {
|
|
|
7764
7943
|
}
|
|
7765
7944
|
}) : _vm._e()], 1);
|
|
7766
7945
|
};
|
|
7767
|
-
var
|
|
7946
|
+
var Epicvue_type_template_id_80ad2e9c_staticRenderFns = [];
|
|
7768
7947
|
|
|
7769
7948
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Epic.vue?vue&type=script&lang=js
|
|
7770
7949
|
|
|
@@ -7864,8 +8043,8 @@ var Epicvue_type_template_id_6e337196_staticRenderFns = [];
|
|
|
7864
8043
|
;
|
|
7865
8044
|
var Epic_component = normalizeComponent(
|
|
7866
8045
|
Row_Epicvue_type_script_lang_js,
|
|
7867
|
-
|
|
7868
|
-
|
|
8046
|
+
Epicvue_type_template_id_80ad2e9c_render,
|
|
8047
|
+
Epicvue_type_template_id_80ad2e9c_staticRenderFns,
|
|
7869
8048
|
false,
|
|
7870
8049
|
null,
|
|
7871
8050
|
null,
|
|
@@ -7874,8 +8053,8 @@ var Epic_component = normalizeComponent(
|
|
|
7874
8053
|
)
|
|
7875
8054
|
|
|
7876
8055
|
/* harmony default export */ var Epic = (Epic_component.exports);
|
|
7877
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Subtask.vue?vue&type=template&id=
|
|
7878
|
-
var
|
|
8056
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Subtask.vue?vue&type=template&id=52219a35
|
|
8057
|
+
var Subtaskvue_type_template_id_52219a35_render = function render() {
|
|
7879
8058
|
var _vm = this,
|
|
7880
8059
|
_c = _vm._self._c;
|
|
7881
8060
|
return _c('g', {
|
|
@@ -7987,16 +8166,17 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
|
|
|
7987
8166
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
7988
8167
|
}
|
|
7989
8168
|
}), _c('rect', {
|
|
7990
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
8169
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
7991
8170
|
staticStyle: {
|
|
7992
8171
|
"pointer-events": "all",
|
|
7993
|
-
"z-index": "
|
|
8172
|
+
"z-index": "50",
|
|
8173
|
+
"cursor": "ew-resize !important"
|
|
7994
8174
|
},
|
|
7995
8175
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
7996
8176
|
attrs: {
|
|
7997
|
-
"x": "
|
|
8177
|
+
"x": "0",
|
|
7998
8178
|
"y": "0",
|
|
7999
|
-
"width":
|
|
8179
|
+
"width": 12,
|
|
8000
8180
|
"height": _vm.task.height
|
|
8001
8181
|
},
|
|
8002
8182
|
on: {
|
|
@@ -8010,16 +8190,17 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
|
|
|
8010
8190
|
}
|
|
8011
8191
|
}
|
|
8012
8192
|
}), _c('rect', {
|
|
8013
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
8193
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
8014
8194
|
staticStyle: {
|
|
8015
8195
|
"pointer-events": "all",
|
|
8016
|
-
"z-index": "
|
|
8196
|
+
"z-index": "50",
|
|
8197
|
+
"cursor": "ew-resize !important"
|
|
8017
8198
|
},
|
|
8018
8199
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
8019
8200
|
attrs: {
|
|
8020
|
-
"x": _vm.task.width -
|
|
8201
|
+
"x": _vm.task.width - 12,
|
|
8021
8202
|
"y": "0",
|
|
8022
|
-
"width":
|
|
8203
|
+
"width": 12,
|
|
8023
8204
|
"height": _vm.task.height
|
|
8024
8205
|
},
|
|
8025
8206
|
on: {
|
|
@@ -8038,7 +8219,7 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
|
|
|
8038
8219
|
}
|
|
8039
8220
|
}) : _vm._e()], 1);
|
|
8040
8221
|
};
|
|
8041
|
-
var
|
|
8222
|
+
var Subtaskvue_type_template_id_52219a35_staticRenderFns = [];
|
|
8042
8223
|
|
|
8043
8224
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Subtask.vue?vue&type=script&lang=js
|
|
8044
8225
|
|
|
@@ -8110,8 +8291,8 @@ var Subtaskvue_type_template_id_339b7174_staticRenderFns = [];
|
|
|
8110
8291
|
;
|
|
8111
8292
|
var Subtask_component = normalizeComponent(
|
|
8112
8293
|
Row_Subtaskvue_type_script_lang_js,
|
|
8113
|
-
|
|
8114
|
-
|
|
8294
|
+
Subtaskvue_type_template_id_52219a35_render,
|
|
8295
|
+
Subtaskvue_type_template_id_52219a35_staticRenderFns,
|
|
8115
8296
|
false,
|
|
8116
8297
|
null,
|
|
8117
8298
|
null,
|
|
@@ -8120,8 +8301,8 @@ var Subtask_component = normalizeComponent(
|
|
|
8120
8301
|
)
|
|
8121
8302
|
|
|
8122
8303
|
/* harmony default export */ var Subtask = (Subtask_component.exports);
|
|
8123
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Story.vue?vue&type=template&id=
|
|
8124
|
-
var
|
|
8304
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Story.vue?vue&type=template&id=5d688d0c
|
|
8305
|
+
var Storyvue_type_template_id_5d688d0c_render = function render() {
|
|
8125
8306
|
var _vm = this,
|
|
8126
8307
|
_c = _vm._self._c;
|
|
8127
8308
|
return _c('g', {
|
|
@@ -8233,16 +8414,17 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
|
|
|
8233
8414
|
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
8234
8415
|
}
|
|
8235
8416
|
}), _c('rect', {
|
|
8236
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
8417
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
8237
8418
|
staticStyle: {
|
|
8238
8419
|
"pointer-events": "all",
|
|
8239
|
-
"z-index": "
|
|
8420
|
+
"z-index": "50",
|
|
8421
|
+
"cursor": "ew-resize !important"
|
|
8240
8422
|
},
|
|
8241
8423
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
8242
8424
|
attrs: {
|
|
8243
|
-
"x": "
|
|
8425
|
+
"x": "0",
|
|
8244
8426
|
"y": "0",
|
|
8245
|
-
"width":
|
|
8427
|
+
"width": 12,
|
|
8246
8428
|
"height": _vm.task.height
|
|
8247
8429
|
},
|
|
8248
8430
|
on: {
|
|
@@ -8256,16 +8438,17 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
|
|
|
8256
8438
|
}
|
|
8257
8439
|
}
|
|
8258
8440
|
}), _c('rect', {
|
|
8259
|
-
staticClass: "gantt-elastic__chart-row-extend-handle",
|
|
8441
|
+
staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
|
|
8260
8442
|
staticStyle: {
|
|
8261
8443
|
"pointer-events": "all",
|
|
8262
|
-
"z-index": "
|
|
8444
|
+
"z-index": "50",
|
|
8445
|
+
"cursor": "ew-resize !important"
|
|
8263
8446
|
},
|
|
8264
8447
|
style: _vm.root.style['chart-row-extend-handle'],
|
|
8265
8448
|
attrs: {
|
|
8266
|
-
"x": _vm.task.width -
|
|
8449
|
+
"x": _vm.task.width - 12,
|
|
8267
8450
|
"y": "0",
|
|
8268
|
-
"width":
|
|
8451
|
+
"width": 12,
|
|
8269
8452
|
"height": _vm.task.height
|
|
8270
8453
|
},
|
|
8271
8454
|
on: {
|
|
@@ -8284,7 +8467,7 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
|
|
|
8284
8467
|
}
|
|
8285
8468
|
}) : _vm._e()], 1);
|
|
8286
8469
|
};
|
|
8287
|
-
var
|
|
8470
|
+
var Storyvue_type_template_id_5d688d0c_staticRenderFns = [];
|
|
8288
8471
|
|
|
8289
8472
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Story.vue?vue&type=script&lang=js
|
|
8290
8473
|
|
|
@@ -8376,8 +8559,8 @@ var Storyvue_type_template_id_3d0395f2_staticRenderFns = [];
|
|
|
8376
8559
|
;
|
|
8377
8560
|
var Story_component = normalizeComponent(
|
|
8378
8561
|
Row_Storyvue_type_script_lang_js,
|
|
8379
|
-
|
|
8380
|
-
|
|
8562
|
+
Storyvue_type_template_id_5d688d0c_render,
|
|
8563
|
+
Storyvue_type_template_id_5d688d0c_staticRenderFns,
|
|
8381
8564
|
false,
|
|
8382
8565
|
null,
|
|
8383
8566
|
null,
|
|
@@ -8435,6 +8618,7 @@ var Story_component = normalizeComponent(
|
|
|
8435
8618
|
*/
|
|
8436
8619
|
handleTaskUpdated(updatedTask) {
|
|
8437
8620
|
// Emit event to parent component
|
|
8621
|
+
console.log("task-updated --Chart");
|
|
8438
8622
|
this.$emit('task-updated', updatedTask);
|
|
8439
8623
|
|
|
8440
8624
|
// Update the task in the root state
|
|
@@ -8486,8 +8670,8 @@ var Story_component = normalizeComponent(
|
|
|
8486
8670
|
;
|
|
8487
8671
|
var Chart_component = normalizeComponent(
|
|
8488
8672
|
Chart_Chartvue_type_script_lang_js,
|
|
8489
|
-
|
|
8490
|
-
|
|
8673
|
+
Chartvue_type_template_id_0856b85c_render,
|
|
8674
|
+
Chartvue_type_template_id_0856b85c_staticRenderFns,
|
|
8491
8675
|
false,
|
|
8492
8676
|
null,
|
|
8493
8677
|
null,
|
|
@@ -8583,6 +8767,7 @@ let ignoreScrollEvents = false;
|
|
|
8583
8767
|
*/
|
|
8584
8768
|
handleTaskUpdated(updatedTask) {
|
|
8585
8769
|
// Emit event to parent component
|
|
8770
|
+
console.log("task-updated --MainView");
|
|
8586
8771
|
this.$emit('task-updated', updatedTask);
|
|
8587
8772
|
},
|
|
8588
8773
|
/**
|
|
@@ -8701,8 +8886,8 @@ let ignoreScrollEvents = false;
|
|
|
8701
8886
|
;
|
|
8702
8887
|
var MainView_component = normalizeComponent(
|
|
8703
8888
|
components_MainViewvue_type_script_lang_js,
|
|
8704
|
-
|
|
8705
|
-
|
|
8889
|
+
MainViewvue_type_template_id_79e1eba9_render,
|
|
8890
|
+
MainViewvue_type_template_id_79e1eba9_staticRenderFns,
|
|
8706
8891
|
false,
|
|
8707
8892
|
null,
|
|
8708
8893
|
null,
|
|
@@ -11351,12 +11536,99 @@ const GanttElastic = {
|
|
|
11351
11536
|
unwatchOutputTasks: null,
|
|
11352
11537
|
unwatchOutputOptions: null,
|
|
11353
11538
|
unwatchOutputStyle: null
|
|
11354
|
-
}
|
|
11539
|
+
},
|
|
11540
|
+
// Performance optimization properties
|
|
11541
|
+
updateQueue: [],
|
|
11542
|
+
updateTimeout: null,
|
|
11543
|
+
lastUpdateTime: 0,
|
|
11544
|
+
updateThrottleDelay: 16,
|
|
11545
|
+
// ~60fps
|
|
11546
|
+
isUpdating: false
|
|
11355
11547
|
};
|
|
11356
11548
|
},
|
|
11357
11549
|
methods: {
|
|
11358
11550
|
mergeDeep,
|
|
11359
11551
|
mergeDeepReactive,
|
|
11552
|
+
/**
|
|
11553
|
+
* Debounced update method to prevent excessive re-renders
|
|
11554
|
+
*/
|
|
11555
|
+
debouncedUpdate(updateFn, context = 'general') {
|
|
11556
|
+
const now = Date.now();
|
|
11557
|
+
|
|
11558
|
+
// Add to update queue
|
|
11559
|
+
this.updateQueue.push({
|
|
11560
|
+
fn: updateFn,
|
|
11561
|
+
context,
|
|
11562
|
+
timestamp: now
|
|
11563
|
+
});
|
|
11564
|
+
|
|
11565
|
+
// Clear existing timeout
|
|
11566
|
+
if (this.updateTimeout) {
|
|
11567
|
+
clearTimeout(this.updateTimeout);
|
|
11568
|
+
}
|
|
11569
|
+
|
|
11570
|
+
// Set new timeout
|
|
11571
|
+
this.updateTimeout = setTimeout(() => {
|
|
11572
|
+
this.processUpdateQueue();
|
|
11573
|
+
}, this.updateThrottleDelay);
|
|
11574
|
+
},
|
|
11575
|
+
/**
|
|
11576
|
+
* Process the update queue
|
|
11577
|
+
*/
|
|
11578
|
+
processUpdateQueue() {
|
|
11579
|
+
if (this.isUpdating || this.updateQueue.length === 0) {
|
|
11580
|
+
return;
|
|
11581
|
+
}
|
|
11582
|
+
this.isUpdating = true;
|
|
11583
|
+
const startTime = performance.now();
|
|
11584
|
+
try {
|
|
11585
|
+
// Group updates by context
|
|
11586
|
+
const groupedUpdates = {};
|
|
11587
|
+
this.updateQueue.forEach(update => {
|
|
11588
|
+
if (!groupedUpdates[update.context]) {
|
|
11589
|
+
groupedUpdates[update.context] = [];
|
|
11590
|
+
}
|
|
11591
|
+
groupedUpdates[update.context].push(update);
|
|
11592
|
+
});
|
|
11593
|
+
|
|
11594
|
+
// Process each group
|
|
11595
|
+
Object.keys(groupedUpdates).forEach(context => {
|
|
11596
|
+
const updates = groupedUpdates[context];
|
|
11597
|
+
const latestUpdate = updates[updates.length - 1]; // Use the latest update
|
|
11598
|
+
latestUpdate.fn();
|
|
11599
|
+
});
|
|
11600
|
+
|
|
11601
|
+
// Clear the queue
|
|
11602
|
+
this.updateQueue = [];
|
|
11603
|
+
|
|
11604
|
+
// Performance monitoring
|
|
11605
|
+
const endTime = performance.now();
|
|
11606
|
+
const duration = endTime - startTime;
|
|
11607
|
+
if (duration > 16) {
|
|
11608
|
+
// Log if update takes longer than one frame
|
|
11609
|
+
console.warn(`Gantt update took ${duration.toFixed(2)}ms for ${Object.keys(groupedUpdates).length} contexts`);
|
|
11610
|
+
}
|
|
11611
|
+
} finally {
|
|
11612
|
+
this.isUpdating = false;
|
|
11613
|
+
}
|
|
11614
|
+
},
|
|
11615
|
+
/**
|
|
11616
|
+
* Performance monitoring method
|
|
11617
|
+
*/
|
|
11618
|
+
logPerformanceMetrics() {
|
|
11619
|
+
const metrics = {
|
|
11620
|
+
totalTasks: this.state.tasks.length,
|
|
11621
|
+
visibleTasks: this.visibleTasks.length,
|
|
11622
|
+
updateQueueLength: this.updateQueue.length,
|
|
11623
|
+
isUpdating: this.isUpdating,
|
|
11624
|
+
memoryUsage: performance.memory ? {
|
|
11625
|
+
used: Math.round(performance.memory.usedJSHeapSize / 1024 / 1024) + 'MB',
|
|
11626
|
+
total: Math.round(performance.memory.totalJSHeapSize / 1024 / 1024) + 'MB'
|
|
11627
|
+
} : 'Not available'
|
|
11628
|
+
};
|
|
11629
|
+
console.log('Gantt Performance Metrics:', metrics);
|
|
11630
|
+
return metrics;
|
|
11631
|
+
},
|
|
11360
11632
|
onViewModeChanged(mode) {
|
|
11361
11633
|
// Update the calendar view mode
|
|
11362
11634
|
this.options.calendar.viewMode = mode;
|
|
@@ -11384,6 +11656,15 @@ const GanttElastic = {
|
|
|
11384
11656
|
}
|
|
11385
11657
|
}
|
|
11386
11658
|
|
|
11659
|
+
// Emit event to parent component
|
|
11660
|
+
this.$emit('view-mode-changed', mode);
|
|
11661
|
+
|
|
11662
|
+
// Also emit to root for plugin usage
|
|
11663
|
+
this.$root.$emit('gantt-view-mode-changed', mode);
|
|
11664
|
+
|
|
11665
|
+
// Log the view mode change for debugging
|
|
11666
|
+
console.log('View mode changed - from GanttElastic:', mode);
|
|
11667
|
+
|
|
11387
11668
|
// Force recalculation by triggering a reactive update
|
|
11388
11669
|
this.$nextTick(() => {
|
|
11389
11670
|
this.$forceUpdate();
|
|
@@ -11409,15 +11690,12 @@ const GanttElastic = {
|
|
|
11409
11690
|
*/
|
|
11410
11691
|
handleTaskUpdated(updatedTask) {
|
|
11411
11692
|
// Emit event to parent component
|
|
11693
|
+
console.log('Task updated -- GanttElastic:');
|
|
11412
11694
|
this.$emit('task-updated', updatedTask);
|
|
11695
|
+
this.$emit('gantt-task-updated', updatedTask);
|
|
11413
11696
|
|
|
11414
|
-
//
|
|
11415
|
-
|
|
11416
|
-
|
|
11417
|
-
// You can add additional logic here like:
|
|
11418
|
-
// - Save to backend
|
|
11419
|
-
// - Update local storage
|
|
11420
|
-
// - Trigger other updates
|
|
11697
|
+
// Also emit to root for plugin usage
|
|
11698
|
+
this.$root.$emit('gantt-task-updated', updatedTask);
|
|
11421
11699
|
},
|
|
11422
11700
|
/**
|
|
11423
11701
|
* Calculate height of scrollbar in current browser
|
|
@@ -12637,7 +12915,9 @@ const GanttElastic = {
|
|
|
12637
12915
|
this.state.options.height = this.getHeight(visibleTasks) - heightCompensation;
|
|
12638
12916
|
this.state.options.allVisibleTasksHeight = this.getTasksHeight(visibleTasks);
|
|
12639
12917
|
this.state.options.outerHeight = this.getHeight(visibleTasks, true) - heightCompensation;
|
|
12640
|
-
|
|
12918
|
+
|
|
12919
|
+
// Calculate task positions only for visible tasks
|
|
12920
|
+
const len = visibleTasks.length;
|
|
12641
12921
|
for (let index = 0; index < len; index++) {
|
|
12642
12922
|
let task = visibleTasks[index];
|
|
12643
12923
|
task.width = task.duration / this.state.options.times.timePerPixel - this.style['grid-line-vertical']['stroke-width'];
|
|
@@ -12685,19 +12965,22 @@ const GanttElastic = {
|
|
|
12685
12965
|
this.state.unwatchTasks = this.$watch('tasks', tasks => {
|
|
12686
12966
|
const notEqual = notEqualDeep(tasks, this.outputTasks);
|
|
12687
12967
|
if (notEqual) {
|
|
12688
|
-
this.
|
|
12968
|
+
this.debouncedUpdate(() => {
|
|
12969
|
+
this.setup('tasks');
|
|
12970
|
+
this.$nextTick(() => {
|
|
12971
|
+
this.recalculateHeight();
|
|
12972
|
+
});
|
|
12973
|
+
}, 'tasks');
|
|
12689
12974
|
}
|
|
12690
|
-
// Recalculate height when tasks change
|
|
12691
|
-
this.$nextTick(() => {
|
|
12692
|
-
this.recalculateHeight();
|
|
12693
|
-
});
|
|
12694
12975
|
}, {
|
|
12695
12976
|
deep: true
|
|
12696
12977
|
});
|
|
12697
12978
|
this.state.unwatchOptions = this.$watch('options', opts => {
|
|
12698
12979
|
const notEqual = notEqualDeep(opts, this.outputOptions);
|
|
12699
12980
|
if (notEqual) {
|
|
12700
|
-
this.
|
|
12981
|
+
this.debouncedUpdate(() => {
|
|
12982
|
+
this.setup('options');
|
|
12983
|
+
}, 'options');
|
|
12701
12984
|
}
|
|
12702
12985
|
}, {
|
|
12703
12986
|
deep: true
|
|
@@ -12761,6 +13044,38 @@ const GanttElastic = {
|
|
|
12761
13044
|
this.$root.$emit('gantt-elastic-mounted', this);
|
|
12762
13045
|
this.$emit('mounted', this);
|
|
12763
13046
|
this.$root.$emit('gantt-elastic-ready', this);
|
|
13047
|
+
|
|
13048
|
+
// Expose methods for plugin usage
|
|
13049
|
+
this.$gantt = {
|
|
13050
|
+
onTaskUpdated: this.handleTaskUpdated,
|
|
13051
|
+
onViewModeChanged: this.onViewModeChanged,
|
|
13052
|
+
getTasks: () => this.state.tasks,
|
|
13053
|
+
updateTask: (taskId, updates) => {
|
|
13054
|
+
const taskIndex = this.state.tasks.findIndex(task => task.id === taskId);
|
|
13055
|
+
if (taskIndex !== -1) {
|
|
13056
|
+
Object.assign(this.state.tasks[taskIndex], updates);
|
|
13057
|
+
this.$forceUpdate();
|
|
13058
|
+
}
|
|
13059
|
+
}
|
|
13060
|
+
};
|
|
13061
|
+
|
|
13062
|
+
/*
|
|
13063
|
+
* PLUGIN USAGE EXAMPLE:
|
|
13064
|
+
*
|
|
13065
|
+
* // Listen to events when using as plugin:
|
|
13066
|
+
* this.$root.$on('gantt-task-updated', (updatedTask) => {
|
|
13067
|
+
* console.log('Task updated:', updatedTask);
|
|
13068
|
+
* });
|
|
13069
|
+
*
|
|
13070
|
+
* this.$root.$on('gantt-view-mode-changed', (mode) => {
|
|
13071
|
+
* console.log('View mode changed:', mode);
|
|
13072
|
+
* });
|
|
13073
|
+
*
|
|
13074
|
+
* // Access gantt methods:
|
|
13075
|
+
* const ganttInstance = this.$refs.ganttChart.$gantt;
|
|
13076
|
+
* ganttInstance.updateTask(1, { label: 'New Task Name' });
|
|
13077
|
+
* const tasks = ganttInstance.getTasks();
|
|
13078
|
+
*/
|
|
12764
13079
|
},
|
|
12765
13080
|
/**
|
|
12766
13081
|
* Emit event when data was changed and before update (you can cleanup dom events here for example)
|
|
@@ -12800,10 +13115,10 @@ const GanttElastic = {
|
|
|
12800
13115
|
/* harmony default export */ var GanttElasticvue_type_script_lang_js = (GanttElastic);
|
|
12801
13116
|
;// ./src/GanttElastic.vue?vue&type=script&lang=js
|
|
12802
13117
|
/* harmony default export */ var src_GanttElasticvue_type_script_lang_js = (GanttElasticvue_type_script_lang_js);
|
|
12803
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=style&index=0&id=
|
|
13118
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=style&index=0&id=95091692&prod&lang=css
|
|
12804
13119
|
// extracted by mini-css-extract-plugin
|
|
12805
13120
|
|
|
12806
|
-
;// ./src/GanttElastic.vue?vue&type=style&index=0&id=
|
|
13121
|
+
;// ./src/GanttElastic.vue?vue&type=style&index=0&id=95091692&prod&lang=css
|
|
12807
13122
|
|
|
12808
13123
|
;// ./src/GanttElastic.vue
|
|
12809
13124
|
|
|
@@ -12816,8 +13131,8 @@ const GanttElastic = {
|
|
|
12816
13131
|
|
|
12817
13132
|
var GanttElastic_component = normalizeComponent(
|
|
12818
13133
|
src_GanttElasticvue_type_script_lang_js,
|
|
12819
|
-
|
|
12820
|
-
|
|
13134
|
+
GanttElasticvue_type_template_id_95091692_render,
|
|
13135
|
+
GanttElasticvue_type_template_id_95091692_staticRenderFns,
|
|
12821
13136
|
false,
|
|
12822
13137
|
null,
|
|
12823
13138
|
null,
|