tg-ganttchart 0.0.12 → 0.0.13

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.
@@ -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=c24bafbc
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=100984c8
3415
- var GanttElasticvue_type_template_id_100984c8_render = function render() {
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=0a0b0d9f
3441
+ var GanttElasticvue_type_template_id_0a0b0d9f_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 GanttElasticvue_type_template_id_100984c8_staticRenderFns = [];
3470
+ var GanttElasticvue_type_template_id_0a0b0d9f_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=33392d22
3688
- var MainViewvue_type_template_id_33392d22_render = function render() {
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,7 +3820,7 @@ var MainViewvue_type_template_id_33392d22_render = function render() {
3794
3820
  }
3795
3821
  })])]);
3796
3822
  };
3797
- var MainViewvue_type_template_id_33392d22_staticRenderFns = [];
3823
+ var MainViewvue_type_template_id_79e1eba9_staticRenderFns = [];
3798
3824
 
3799
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=74ce1216
3800
3826
  var TaskListvue_type_template_id_74ce1216_render = function render() {
@@ -4601,8 +4627,8 @@ var TaskList_component = normalizeComponent(
4601
4627
  )
4602
4628
 
4603
4629
  /* 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=2bc7fe5e
4605
- var Chartvue_type_template_id_2bc7fe5e_render = function render() {
4630
+ ;// ./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
4631
+ var Chartvue_type_template_id_0856b85c_render = function render() {
4606
4632
  var _vm = this,
4607
4633
  _c = _vm._self._c;
4608
4634
  return _c('div', {
@@ -4677,7 +4703,7 @@ var Chartvue_type_template_id_2bc7fe5e_render = function render() {
4677
4703
  })], 1);
4678
4704
  })], 2)])])])]);
4679
4705
  };
4680
- var Chartvue_type_template_id_2bc7fe5e_staticRenderFns = [];
4706
+ var Chartvue_type_template_id_0856b85c_staticRenderFns = [];
4681
4707
 
4682
4708
  ;// ./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
4709
  var Gridvue_type_template_id_244ea0ee_render = function render() {
@@ -5886,8 +5912,8 @@ var DependencyLines_component = normalizeComponent(
5886
5912
  )
5887
5913
 
5888
5914
  /* 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=2c01a3c8
5890
- var Taskvue_type_template_id_2c01a3c8_render = function render() {
5915
+ ;// ./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
5916
+ var Taskvue_type_template_id_23849415_render = function render() {
5891
5917
  var _vm = this,
5892
5918
  _c = _vm._self._c;
5893
5919
  return _c('g', {
@@ -5999,16 +6025,17 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
5999
6025
  "clip-path": 'url(#' + _vm.clipPathId + ')'
6000
6026
  }
6001
6027
  }), _c('rect', {
6002
- staticClass: "gantt-elastic__chart-row-extend-handle",
6028
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
6003
6029
  staticStyle: {
6004
6030
  "pointer-events": "all",
6005
- "z-index": "20"
6031
+ "z-index": "50",
6032
+ "cursor": "ew-resize !important"
6006
6033
  },
6007
6034
  style: _vm.root.style['chart-row-extend-handle'],
6008
6035
  attrs: {
6009
- "x": "8",
6036
+ "x": "0",
6010
6037
  "y": "0",
6011
- "width": 8,
6038
+ "width": 12,
6012
6039
  "height": _vm.task.height
6013
6040
  },
6014
6041
  on: {
@@ -6022,16 +6049,17 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
6022
6049
  }
6023
6050
  }
6024
6051
  }), _c('rect', {
6025
- staticClass: "gantt-elastic__chart-row-extend-handle",
6052
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
6026
6053
  staticStyle: {
6027
6054
  "pointer-events": "all",
6028
- "z-index": "20"
6055
+ "z-index": "50",
6056
+ "cursor": "ew-resize !important"
6029
6057
  },
6030
6058
  style: _vm.root.style['chart-row-extend-handle'],
6031
6059
  attrs: {
6032
- "x": _vm.task.width - 8,
6060
+ "x": _vm.task.width - 12,
6033
6061
  "y": "0",
6034
- "width": 8,
6062
+ "width": 12,
6035
6063
  "height": _vm.task.height
6036
6064
  },
6037
6065
  on: {
@@ -6050,7 +6078,7 @@ var Taskvue_type_template_id_2c01a3c8_render = function render() {
6050
6078
  }
6051
6079
  }) : _vm._e()], 1);
6052
6080
  };
6053
- var Taskvue_type_template_id_2c01a3c8_staticRenderFns = [];
6081
+ var Taskvue_type_template_id_23849415_staticRenderFns = [];
6054
6082
 
6055
6083
  ;// ./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
6084
  var Textvue_type_template_id_634f40aa_render = function render() {
@@ -6401,13 +6429,13 @@ var ProgressBar_component = normalizeComponent(
6401
6429
  event.stopPropagation();
6402
6430
 
6403
6431
  // Debug logging
6404
- console.log('Starting drag:', {
6405
- type: type,
6406
- taskId: this.task.id,
6407
- taskType: this.task.type,
6408
- originalStart: this.task.startTime,
6409
- originalEnd: this.task.endTime
6410
- });
6432
+ // console.log('Starting drag:', {
6433
+ // type: type,
6434
+ // taskId: this.task.id,
6435
+ // taskType: this.task.type,
6436
+ // originalStart: this.task.startTime,
6437
+ // originalEnd: this.task.endTime
6438
+ // });
6411
6439
 
6412
6440
  // Safety checks
6413
6441
  if (!this.root || !this.root.state || !this.root.state.options || !this.root.state.options.times) {
@@ -6531,15 +6559,15 @@ var ProgressBar_component = normalizeComponent(
6531
6559
 
6532
6560
  // Debug logging for epic tasks
6533
6561
  if (this.task.type === 'epic') {
6534
- console.log('Epic task drag:', {
6535
- dragType: this.dragType,
6536
- originalStart: this.originalStartTime,
6537
- originalEnd: this.originalEndTime,
6538
- newStart: newStartTime,
6539
- newEnd: newEndTime,
6540
- startChanged: newStartTime !== this.originalStartTime,
6541
- endChanged: newEndTime !== this.originalEndTime
6542
- });
6562
+ // console.log('Epic task drag:', {
6563
+ // dragType: this.dragType,
6564
+ // originalStart: this.originalStartTime,
6565
+ // originalEnd: this.originalEndTime,
6566
+ // newStart: newStartTime,
6567
+ // newEnd: newEndTime,
6568
+ // startChanged: newStartTime !== this.originalStartTime,
6569
+ // endChanged: newEndTime !== this.originalEndTime
6570
+ // });
6543
6571
  }
6544
6572
 
6545
6573
  // Update task data
@@ -6548,15 +6576,15 @@ var ProgressBar_component = normalizeComponent(
6548
6576
  this.task.duration = newEndTime - newStartTime;
6549
6577
 
6550
6578
  // Debug logging
6551
- console.log('Updating task time:', {
6552
- taskId: this.task.id,
6553
- newStartTime,
6554
- newEndTime,
6555
- duration: this.task.duration,
6556
- root: !!this.root,
6557
- timeToPixelOffsetX: !!(this.root && this.root.timeToPixelOffsetX),
6558
- timePerPixel: this.root && this.root.state && this.root.state.options && this.root.state.options.times && this.root.state.options.times.timePerPixel
6559
- });
6579
+ // console.log('Updating task time:', {
6580
+ // taskId: this.task.id,
6581
+ // newStartTime,
6582
+ // newEndTime,
6583
+ // duration: this.task.duration,
6584
+ // root: !!this.root,
6585
+ // timeToPixelOffsetX: !!(this.root && this.root.timeToPixelOffsetX),
6586
+ // timePerPixel: this.root && this.root.state && this.root.state.options && this.root.state.options.times && this.root.state.options.times.timePerPixel
6587
+ // });
6560
6588
 
6561
6589
  // Update task position and width using the correct method
6562
6590
  if (this.root && this.root.timeToPixelOffsetX) {
@@ -6600,15 +6628,15 @@ var ProgressBar_component = normalizeComponent(
6600
6628
  });
6601
6629
 
6602
6630
  // Log the update for debugging
6603
- console.log('Task drag completed:', {
6604
- id: this.task.id,
6605
- dragType: this.dragType,
6606
- startDate: startDate.toLocaleDateString(),
6607
- endDate: endDate.toLocaleDateString(),
6608
- duration: `${durationDays} days`,
6609
- startTime: this.task.startTime,
6610
- endTime: this.task.endTime
6611
- });
6631
+ // console.log('Task drag completed:', {
6632
+ // id: this.task.id,
6633
+ // dragType: this.dragType,
6634
+ // startDate: startDate.toLocaleDateString(),
6635
+ // endDate: endDate.toLocaleDateString(),
6636
+ // duration: `${durationDays} days`,
6637
+ // startTime: this.task.startTime,
6638
+ // endTime: this.task.endTime
6639
+ // });
6612
6640
  },
6613
6641
  /**
6614
6642
  * Show context menu for task actions
@@ -7058,8 +7086,8 @@ var ProgressBar_component = normalizeComponent(
7058
7086
  ;
7059
7087
  var Task_component = normalizeComponent(
7060
7088
  Row_Taskvue_type_script_lang_js,
7061
- Taskvue_type_template_id_2c01a3c8_render,
7062
- Taskvue_type_template_id_2c01a3c8_staticRenderFns,
7089
+ Taskvue_type_template_id_23849415_render,
7090
+ Taskvue_type_template_id_23849415_staticRenderFns,
7063
7091
  false,
7064
7092
  null,
7065
7093
  null,
@@ -7068,8 +7096,8 @@ var Task_component = normalizeComponent(
7068
7096
  )
7069
7097
 
7070
7098
  /* 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=4cea99c4
7072
- var Milestonevue_type_template_id_4cea99c4_render = function render() {
7099
+ ;// ./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
7100
+ var Milestonevue_type_template_id_c9bfeb4a_render = function render() {
7073
7101
  var _vm = this,
7074
7102
  _c = _vm._self._c;
7075
7103
  return _c('g', {
@@ -7181,16 +7209,17 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
7181
7209
  "clip-path": 'url(#' + _vm.clipPathId + ')'
7182
7210
  }
7183
7211
  }), _c('rect', {
7184
- staticClass: "gantt-elastic__chart-row-extend-handle",
7212
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7185
7213
  staticStyle: {
7186
7214
  "pointer-events": "all",
7187
- "z-index": "20"
7215
+ "z-index": "50",
7216
+ "cursor": "ew-resize !important"
7188
7217
  },
7189
7218
  style: _vm.root.style['chart-row-extend-handle'],
7190
7219
  attrs: {
7191
- "x": "8",
7220
+ "x": "0",
7192
7221
  "y": "0",
7193
- "width": 8,
7222
+ "width": 12,
7194
7223
  "height": _vm.task.height
7195
7224
  },
7196
7225
  on: {
@@ -7204,16 +7233,17 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
7204
7233
  }
7205
7234
  }
7206
7235
  }), _c('rect', {
7207
- staticClass: "gantt-elastic__chart-row-extend-handle",
7236
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7208
7237
  staticStyle: {
7209
7238
  "pointer-events": "all",
7210
- "z-index": "20"
7239
+ "z-index": "50",
7240
+ "cursor": "ew-resize !important"
7211
7241
  },
7212
7242
  style: _vm.root.style['chart-row-extend-handle'],
7213
7243
  attrs: {
7214
- "x": _vm.task.width - 8,
7244
+ "x": _vm.task.width - 12,
7215
7245
  "y": "0",
7216
- "width": 8,
7246
+ "width": 12,
7217
7247
  "height": _vm.task.height
7218
7248
  },
7219
7249
  on: {
@@ -7232,7 +7262,7 @@ var Milestonevue_type_template_id_4cea99c4_render = function render() {
7232
7262
  }
7233
7263
  }) : _vm._e()], 1);
7234
7264
  };
7235
- var Milestonevue_type_template_id_4cea99c4_staticRenderFns = [];
7265
+ var Milestonevue_type_template_id_c9bfeb4a_staticRenderFns = [];
7236
7266
 
7237
7267
  ;// ./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
7268
 
@@ -7314,8 +7344,8 @@ var Milestonevue_type_template_id_4cea99c4_staticRenderFns = [];
7314
7344
  ;
7315
7345
  var Milestone_component = normalizeComponent(
7316
7346
  Row_Milestonevue_type_script_lang_js,
7317
- Milestonevue_type_template_id_4cea99c4_render,
7318
- Milestonevue_type_template_id_4cea99c4_staticRenderFns,
7347
+ Milestonevue_type_template_id_c9bfeb4a_render,
7348
+ Milestonevue_type_template_id_c9bfeb4a_staticRenderFns,
7319
7349
  false,
7320
7350
  null,
7321
7351
  null,
@@ -7324,8 +7354,8 @@ var Milestone_component = normalizeComponent(
7324
7354
  )
7325
7355
 
7326
7356
  /* 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=5dcaf9ef
7328
- var Projectvue_type_template_id_5dcaf9ef_render = function render() {
7357
+ ;// ./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
7358
+ var Projectvue_type_template_id_72239142_render = function render() {
7329
7359
  var _vm = this,
7330
7360
  _c = _vm._self._c;
7331
7361
  return _c('g', {
@@ -7437,16 +7467,17 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
7437
7467
  "clip-path": 'url(#' + _vm.clipPathId + ')'
7438
7468
  }
7439
7469
  }), _c('rect', {
7440
- staticClass: "gantt-elastic__chart-row-extend-handle",
7470
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7441
7471
  staticStyle: {
7442
7472
  "pointer-events": "all",
7443
- "z-index": "20"
7473
+ "z-index": "50",
7474
+ "cursor": "ew-resize !important"
7444
7475
  },
7445
7476
  style: _vm.root.style['chart-row-extend-handle'],
7446
7477
  attrs: {
7447
- "x": "8",
7478
+ "x": "0",
7448
7479
  "y": "0",
7449
- "width": 8,
7480
+ "width": 12,
7450
7481
  "height": _vm.task.height
7451
7482
  },
7452
7483
  on: {
@@ -7460,16 +7491,17 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
7460
7491
  }
7461
7492
  }
7462
7493
  }), _c('rect', {
7463
- staticClass: "gantt-elastic__chart-row-extend-handle",
7494
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7464
7495
  staticStyle: {
7465
7496
  "pointer-events": "all",
7466
- "z-index": "20"
7497
+ "z-index": "50",
7498
+ "cursor": "ew-resize !important"
7467
7499
  },
7468
7500
  style: _vm.root.style['chart-row-extend-handle'],
7469
7501
  attrs: {
7470
- "x": _vm.task.width - 8,
7502
+ "x": _vm.task.width - 12,
7471
7503
  "y": "0",
7472
- "width": 8,
7504
+ "width": 12,
7473
7505
  "height": _vm.task.height
7474
7506
  },
7475
7507
  on: {
@@ -7488,7 +7520,7 @@ var Projectvue_type_template_id_5dcaf9ef_render = function render() {
7488
7520
  }
7489
7521
  }) : _vm._e()], 1);
7490
7522
  };
7491
- var Projectvue_type_template_id_5dcaf9ef_staticRenderFns = [];
7523
+ var Projectvue_type_template_id_72239142_staticRenderFns = [];
7492
7524
 
7493
7525
  ;// ./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
7526
 
@@ -7588,8 +7620,8 @@ var Projectvue_type_template_id_5dcaf9ef_staticRenderFns = [];
7588
7620
  ;
7589
7621
  var Project_component = normalizeComponent(
7590
7622
  Row_Projectvue_type_script_lang_js,
7591
- Projectvue_type_template_id_5dcaf9ef_render,
7592
- Projectvue_type_template_id_5dcaf9ef_staticRenderFns,
7623
+ Projectvue_type_template_id_72239142_render,
7624
+ Projectvue_type_template_id_72239142_staticRenderFns,
7593
7625
  false,
7594
7626
  null,
7595
7627
  null,
@@ -7598,8 +7630,8 @@ var Project_component = normalizeComponent(
7598
7630
  )
7599
7631
 
7600
7632
  /* 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=6e337196
7602
- var Epicvue_type_template_id_6e337196_render = function render() {
7633
+ ;// ./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
7634
+ var Epicvue_type_template_id_80ad2e9c_render = function render() {
7603
7635
  var _vm = this,
7604
7636
  _c = _vm._self._c;
7605
7637
  return _c('g', {
@@ -7713,16 +7745,17 @@ var Epicvue_type_template_id_6e337196_render = function render() {
7713
7745
  "clip-path": 'url(#' + _vm.clipPathId + ')'
7714
7746
  }
7715
7747
  }) : _vm._e(), _c('rect', {
7716
- staticClass: "gantt-elastic__chart-row-extend-handle",
7748
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7717
7749
  staticStyle: {
7718
7750
  "pointer-events": "all",
7719
- "z-index": "30"
7751
+ "z-index": "50",
7752
+ "cursor": "ew-resize !important"
7720
7753
  },
7721
7754
  style: _vm.root.style['chart-row-extend-handle'],
7722
7755
  attrs: {
7723
- "x": "8",
7756
+ "x": "0",
7724
7757
  "y": "0",
7725
- "width": 8,
7758
+ "width": 12,
7726
7759
  "height": _vm.task.height
7727
7760
  },
7728
7761
  on: {
@@ -7736,16 +7769,17 @@ var Epicvue_type_template_id_6e337196_render = function render() {
7736
7769
  }
7737
7770
  }
7738
7771
  }), _c('rect', {
7739
- staticClass: "gantt-elastic__chart-row-extend-handle",
7772
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7740
7773
  staticStyle: {
7741
7774
  "pointer-events": "all",
7742
- "z-index": "30"
7775
+ "z-index": "50",
7776
+ "cursor": "ew-resize !important"
7743
7777
  },
7744
7778
  style: _vm.root.style['chart-row-extend-handle'],
7745
7779
  attrs: {
7746
- "x": _vm.task.width - 8,
7780
+ "x": _vm.task.width - 12,
7747
7781
  "y": "0",
7748
- "width": 8,
7782
+ "width": 12,
7749
7783
  "height": _vm.task.height
7750
7784
  },
7751
7785
  on: {
@@ -7764,7 +7798,7 @@ var Epicvue_type_template_id_6e337196_render = function render() {
7764
7798
  }
7765
7799
  }) : _vm._e()], 1);
7766
7800
  };
7767
- var Epicvue_type_template_id_6e337196_staticRenderFns = [];
7801
+ var Epicvue_type_template_id_80ad2e9c_staticRenderFns = [];
7768
7802
 
7769
7803
  ;// ./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
7804
 
@@ -7864,8 +7898,8 @@ var Epicvue_type_template_id_6e337196_staticRenderFns = [];
7864
7898
  ;
7865
7899
  var Epic_component = normalizeComponent(
7866
7900
  Row_Epicvue_type_script_lang_js,
7867
- Epicvue_type_template_id_6e337196_render,
7868
- Epicvue_type_template_id_6e337196_staticRenderFns,
7901
+ Epicvue_type_template_id_80ad2e9c_render,
7902
+ Epicvue_type_template_id_80ad2e9c_staticRenderFns,
7869
7903
  false,
7870
7904
  null,
7871
7905
  null,
@@ -7874,8 +7908,8 @@ var Epic_component = normalizeComponent(
7874
7908
  )
7875
7909
 
7876
7910
  /* 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=339b7174
7878
- var Subtaskvue_type_template_id_339b7174_render = function render() {
7911
+ ;// ./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
7912
+ var Subtaskvue_type_template_id_52219a35_render = function render() {
7879
7913
  var _vm = this,
7880
7914
  _c = _vm._self._c;
7881
7915
  return _c('g', {
@@ -7987,16 +8021,17 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
7987
8021
  "clip-path": 'url(#' + _vm.clipPathId + ')'
7988
8022
  }
7989
8023
  }), _c('rect', {
7990
- staticClass: "gantt-elastic__chart-row-extend-handle",
8024
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
7991
8025
  staticStyle: {
7992
8026
  "pointer-events": "all",
7993
- "z-index": "20"
8027
+ "z-index": "50",
8028
+ "cursor": "ew-resize !important"
7994
8029
  },
7995
8030
  style: _vm.root.style['chart-row-extend-handle'],
7996
8031
  attrs: {
7997
- "x": "8",
8032
+ "x": "0",
7998
8033
  "y": "0",
7999
- "width": 8,
8034
+ "width": 12,
8000
8035
  "height": _vm.task.height
8001
8036
  },
8002
8037
  on: {
@@ -8010,16 +8045,17 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
8010
8045
  }
8011
8046
  }
8012
8047
  }), _c('rect', {
8013
- staticClass: "gantt-elastic__chart-row-extend-handle",
8048
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
8014
8049
  staticStyle: {
8015
8050
  "pointer-events": "all",
8016
- "z-index": "20"
8051
+ "z-index": "50",
8052
+ "cursor": "ew-resize !important"
8017
8053
  },
8018
8054
  style: _vm.root.style['chart-row-extend-handle'],
8019
8055
  attrs: {
8020
- "x": _vm.task.width - 8,
8056
+ "x": _vm.task.width - 12,
8021
8057
  "y": "0",
8022
- "width": 8,
8058
+ "width": 12,
8023
8059
  "height": _vm.task.height
8024
8060
  },
8025
8061
  on: {
@@ -8038,7 +8074,7 @@ var Subtaskvue_type_template_id_339b7174_render = function render() {
8038
8074
  }
8039
8075
  }) : _vm._e()], 1);
8040
8076
  };
8041
- var Subtaskvue_type_template_id_339b7174_staticRenderFns = [];
8077
+ var Subtaskvue_type_template_id_52219a35_staticRenderFns = [];
8042
8078
 
8043
8079
  ;// ./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
8080
 
@@ -8110,8 +8146,8 @@ var Subtaskvue_type_template_id_339b7174_staticRenderFns = [];
8110
8146
  ;
8111
8147
  var Subtask_component = normalizeComponent(
8112
8148
  Row_Subtaskvue_type_script_lang_js,
8113
- Subtaskvue_type_template_id_339b7174_render,
8114
- Subtaskvue_type_template_id_339b7174_staticRenderFns,
8149
+ Subtaskvue_type_template_id_52219a35_render,
8150
+ Subtaskvue_type_template_id_52219a35_staticRenderFns,
8115
8151
  false,
8116
8152
  null,
8117
8153
  null,
@@ -8120,8 +8156,8 @@ var Subtask_component = normalizeComponent(
8120
8156
  )
8121
8157
 
8122
8158
  /* 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=3d0395f2
8124
- var Storyvue_type_template_id_3d0395f2_render = function render() {
8159
+ ;// ./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
8160
+ var Storyvue_type_template_id_5d688d0c_render = function render() {
8125
8161
  var _vm = this,
8126
8162
  _c = _vm._self._c;
8127
8163
  return _c('g', {
@@ -8233,16 +8269,17 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
8233
8269
  "clip-path": 'url(#' + _vm.clipPathId + ')'
8234
8270
  }
8235
8271
  }), _c('rect', {
8236
- staticClass: "gantt-elastic__chart-row-extend-handle",
8272
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
8237
8273
  staticStyle: {
8238
8274
  "pointer-events": "all",
8239
- "z-index": "20"
8275
+ "z-index": "50",
8276
+ "cursor": "ew-resize !important"
8240
8277
  },
8241
8278
  style: _vm.root.style['chart-row-extend-handle'],
8242
8279
  attrs: {
8243
- "x": "8",
8280
+ "x": "0",
8244
8281
  "y": "0",
8245
- "width": 8,
8282
+ "width": 12,
8246
8283
  "height": _vm.task.height
8247
8284
  },
8248
8285
  on: {
@@ -8256,16 +8293,17 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
8256
8293
  }
8257
8294
  }
8258
8295
  }), _c('rect', {
8259
- staticClass: "gantt-elastic__chart-row-extend-handle",
8296
+ staticClass: "gantt-elastic__chart-row-extend-handle gantt-elastic__drag-handle",
8260
8297
  staticStyle: {
8261
8298
  "pointer-events": "all",
8262
- "z-index": "20"
8299
+ "z-index": "50",
8300
+ "cursor": "ew-resize !important"
8263
8301
  },
8264
8302
  style: _vm.root.style['chart-row-extend-handle'],
8265
8303
  attrs: {
8266
- "x": _vm.task.width - 8,
8304
+ "x": _vm.task.width - 12,
8267
8305
  "y": "0",
8268
- "width": 8,
8306
+ "width": 12,
8269
8307
  "height": _vm.task.height
8270
8308
  },
8271
8309
  on: {
@@ -8284,7 +8322,7 @@ var Storyvue_type_template_id_3d0395f2_render = function render() {
8284
8322
  }
8285
8323
  }) : _vm._e()], 1);
8286
8324
  };
8287
- var Storyvue_type_template_id_3d0395f2_staticRenderFns = [];
8325
+ var Storyvue_type_template_id_5d688d0c_staticRenderFns = [];
8288
8326
 
8289
8327
  ;// ./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
8328
 
@@ -8376,8 +8414,8 @@ var Storyvue_type_template_id_3d0395f2_staticRenderFns = [];
8376
8414
  ;
8377
8415
  var Story_component = normalizeComponent(
8378
8416
  Row_Storyvue_type_script_lang_js,
8379
- Storyvue_type_template_id_3d0395f2_render,
8380
- Storyvue_type_template_id_3d0395f2_staticRenderFns,
8417
+ Storyvue_type_template_id_5d688d0c_render,
8418
+ Storyvue_type_template_id_5d688d0c_staticRenderFns,
8381
8419
  false,
8382
8420
  null,
8383
8421
  null,
@@ -8435,6 +8473,7 @@ var Story_component = normalizeComponent(
8435
8473
  */
8436
8474
  handleTaskUpdated(updatedTask) {
8437
8475
  // Emit event to parent component
8476
+ console.log("task-updated --Chart");
8438
8477
  this.$emit('task-updated', updatedTask);
8439
8478
 
8440
8479
  // Update the task in the root state
@@ -8486,8 +8525,8 @@ var Story_component = normalizeComponent(
8486
8525
  ;
8487
8526
  var Chart_component = normalizeComponent(
8488
8527
  Chart_Chartvue_type_script_lang_js,
8489
- Chartvue_type_template_id_2bc7fe5e_render,
8490
- Chartvue_type_template_id_2bc7fe5e_staticRenderFns,
8528
+ Chartvue_type_template_id_0856b85c_render,
8529
+ Chartvue_type_template_id_0856b85c_staticRenderFns,
8491
8530
  false,
8492
8531
  null,
8493
8532
  null,
@@ -8583,6 +8622,7 @@ let ignoreScrollEvents = false;
8583
8622
  */
8584
8623
  handleTaskUpdated(updatedTask) {
8585
8624
  // Emit event to parent component
8625
+ console.log("task-updated --MainView");
8586
8626
  this.$emit('task-updated', updatedTask);
8587
8627
  },
8588
8628
  /**
@@ -8701,8 +8741,8 @@ let ignoreScrollEvents = false;
8701
8741
  ;
8702
8742
  var MainView_component = normalizeComponent(
8703
8743
  components_MainViewvue_type_script_lang_js,
8704
- MainViewvue_type_template_id_33392d22_render,
8705
- MainViewvue_type_template_id_33392d22_staticRenderFns,
8744
+ MainViewvue_type_template_id_79e1eba9_render,
8745
+ MainViewvue_type_template_id_79e1eba9_staticRenderFns,
8706
8746
  false,
8707
8747
  null,
8708
8748
  null,
@@ -11384,6 +11424,15 @@ const GanttElastic = {
11384
11424
  }
11385
11425
  }
11386
11426
 
11427
+ // Emit event to parent component
11428
+ this.$emit('view-mode-changed', mode);
11429
+
11430
+ // Also emit to root for plugin usage
11431
+ this.$root.$emit('gantt-view-mode-changed', mode);
11432
+
11433
+ // Log the view mode change for debugging
11434
+ console.log('View mode changed - from GanttElastic:', mode);
11435
+
11387
11436
  // Force recalculation by triggering a reactive update
11388
11437
  this.$nextTick(() => {
11389
11438
  this.$forceUpdate();
@@ -11409,15 +11458,12 @@ const GanttElastic = {
11409
11458
  */
11410
11459
  handleTaskUpdated(updatedTask) {
11411
11460
  // Emit event to parent component
11461
+ console.log('Task updated -- GanttElastic:');
11412
11462
  this.$emit('task-updated', updatedTask);
11463
+ this.$emit('gantt-task-updated', updatedTask);
11413
11464
 
11414
- // Log the update for debugging
11415
- console.log('Task updated:', updatedTask);
11416
-
11417
- // You can add additional logic here like:
11418
- // - Save to backend
11419
- // - Update local storage
11420
- // - Trigger other updates
11465
+ // Also emit to root for plugin usage
11466
+ this.$root.$emit('gantt-task-updated', updatedTask);
11421
11467
  },
11422
11468
  /**
11423
11469
  * Calculate height of scrollbar in current browser
@@ -12761,6 +12807,38 @@ const GanttElastic = {
12761
12807
  this.$root.$emit('gantt-elastic-mounted', this);
12762
12808
  this.$emit('mounted', this);
12763
12809
  this.$root.$emit('gantt-elastic-ready', this);
12810
+
12811
+ // Expose methods for plugin usage
12812
+ this.$gantt = {
12813
+ onTaskUpdated: this.handleTaskUpdated,
12814
+ onViewModeChanged: this.onViewModeChanged,
12815
+ getTasks: () => this.state.tasks,
12816
+ updateTask: (taskId, updates) => {
12817
+ const taskIndex = this.state.tasks.findIndex(task => task.id === taskId);
12818
+ if (taskIndex !== -1) {
12819
+ Object.assign(this.state.tasks[taskIndex], updates);
12820
+ this.$forceUpdate();
12821
+ }
12822
+ }
12823
+ };
12824
+
12825
+ /*
12826
+ * PLUGIN USAGE EXAMPLE:
12827
+ *
12828
+ * // Listen to events when using as plugin:
12829
+ * this.$root.$on('gantt-task-updated', (updatedTask) => {
12830
+ * console.log('Task updated:', updatedTask);
12831
+ * });
12832
+ *
12833
+ * this.$root.$on('gantt-view-mode-changed', (mode) => {
12834
+ * console.log('View mode changed:', mode);
12835
+ * });
12836
+ *
12837
+ * // Access gantt methods:
12838
+ * const ganttInstance = this.$refs.ganttChart.$gantt;
12839
+ * ganttInstance.updateTask(1, { label: 'New Task Name' });
12840
+ * const tasks = ganttInstance.getTasks();
12841
+ */
12764
12842
  },
12765
12843
  /**
12766
12844
  * Emit event when data was changed and before update (you can cleanup dom events here for example)
@@ -12800,10 +12878,10 @@ const GanttElastic = {
12800
12878
  /* harmony default export */ var GanttElasticvue_type_script_lang_js = (GanttElastic);
12801
12879
  ;// ./src/GanttElastic.vue?vue&type=script&lang=js
12802
12880
  /* 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=100984c8&prod&lang=css
12881
+ ;// ./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=0a0b0d9f&prod&lang=css
12804
12882
  // extracted by mini-css-extract-plugin
12805
12883
 
12806
- ;// ./src/GanttElastic.vue?vue&type=style&index=0&id=100984c8&prod&lang=css
12884
+ ;// ./src/GanttElastic.vue?vue&type=style&index=0&id=0a0b0d9f&prod&lang=css
12807
12885
 
12808
12886
  ;// ./src/GanttElastic.vue
12809
12887
 
@@ -12816,8 +12894,8 @@ const GanttElastic = {
12816
12894
 
12817
12895
  var GanttElastic_component = normalizeComponent(
12818
12896
  src_GanttElasticvue_type_script_lang_js,
12819
- GanttElasticvue_type_template_id_100984c8_render,
12820
- GanttElasticvue_type_template_id_100984c8_staticRenderFns,
12897
+ GanttElasticvue_type_template_id_0a0b0d9f_render,
12898
+ GanttElasticvue_type_template_id_0a0b0d9f_staticRenderFns,
12821
12899
  false,
12822
12900
  null,
12823
12901
  null,