vxe-gantt 3.1.18 → 3.1.20

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.
Files changed (44) hide show
  1. package/es/gantt/src/gantt-body.js +2 -2
  2. package/es/gantt/src/gantt-chart.js +91 -48
  3. package/es/gantt/src/gantt-view.js +19 -9
  4. package/es/gantt/src/gantt.js +86 -75
  5. package/es/gantt/src/util.js +0 -3
  6. package/es/gantt/style.css +16 -2
  7. package/es/gantt/style.min.css +1 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/ui/index.js +2 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/es/vxe-gantt/style.css +16 -2
  13. package/es/vxe-gantt/style.min.css +1 -1
  14. package/lib/gantt/src/gantt-body.js +4 -2
  15. package/lib/gantt/src/gantt-body.min.js +1 -1
  16. package/lib/gantt/src/gantt-chart.js +79 -40
  17. package/lib/gantt/src/gantt-chart.min.js +1 -1
  18. package/lib/gantt/src/gantt-view.js +19 -9
  19. package/lib/gantt/src/gantt-view.min.js +1 -1
  20. package/lib/gantt/src/gantt.js +92 -91
  21. package/lib/gantt/src/gantt.min.js +1 -1
  22. package/lib/gantt/src/util.js +0 -4
  23. package/lib/gantt/src/util.min.js +1 -1
  24. package/lib/gantt/style/style.css +16 -2
  25. package/lib/gantt/style/style.min.css +1 -1
  26. package/lib/index.umd.js +199 -150
  27. package/lib/index.umd.min.js +1 -1
  28. package/lib/style.css +1 -1
  29. package/lib/style.min.css +1 -1
  30. package/lib/ui/index.js +2 -1
  31. package/lib/ui/index.min.js +1 -1
  32. package/lib/ui/src/log.js +1 -1
  33. package/lib/ui/src/log.min.js +1 -1
  34. package/lib/vxe-gantt/style/style.css +16 -2
  35. package/lib/vxe-gantt/style/style.min.css +1 -1
  36. package/package.json +2 -2
  37. package/packages/gantt/src/gantt-body.ts +2 -2
  38. package/packages/gantt/src/gantt-chart.ts +92 -53
  39. package/packages/gantt/src/gantt-view.ts +19 -9
  40. package/packages/gantt/src/gantt.ts +91 -78
  41. package/packages/gantt/src/util.ts +0 -4
  42. package/packages/ui/index.ts +1 -0
  43. package/styles/components/gantt-module/gantt-chart.scss +14 -2
  44. package/styles/theme/base.scss +1 -0
package/lib/index.umd.js CHANGED
@@ -8286,7 +8286,7 @@ var core_ = __webpack_require__(4345);
8286
8286
 
8287
8287
  var setConfig = core_.VxeUI.setConfig,
8288
8288
  setIcon = core_.VxeUI.setIcon;
8289
- core_.VxeUI.ganttVersion = "3.1.18";
8289
+ core_.VxeUI.ganttVersion = "3.1.20";
8290
8290
  var ymdFormat = 'yyyy-MM-dd';
8291
8291
  var ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
8292
8292
  setConfig({
@@ -8332,6 +8332,7 @@ setConfig({
8332
8332
  },
8333
8333
  taskLinkConfig: {
8334
8334
  enabled: true,
8335
+ isHover: true,
8335
8336
  showArrow: true
8336
8337
  },
8337
8338
  taskViewScaleConfig: {
@@ -8399,7 +8400,7 @@ var es_array_concat = __webpack_require__(8706);
8399
8400
  ;// ./packages/ui/src/log.ts
8400
8401
 
8401
8402
  var log = core_.VxeUI.log;
8402
- var version = "gantt v".concat("3.1.18");
8403
+ var version = "gantt v".concat("3.1.20");
8403
8404
  var warnLog = log.create('warn', version);
8404
8405
  var errLog = log.create('error', version);
8405
8406
  ;// ./packages/ui/src/depend.ts
@@ -9123,8 +9124,9 @@ function getSlotVNs(vns) {
9123
9124
  }
9124
9125
  return [vns];
9125
9126
  }
9127
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.pad-start.js
9128
+ var es_string_pad_start = __webpack_require__(8156);
9126
9129
  ;// ./packages/gantt/src/util.ts
9127
-
9128
9130
  function getRefElem(refEl) {
9129
9131
  if (refEl) {
9130
9132
  return refEl.$el || refEl;
@@ -9151,9 +9153,6 @@ function getTaskBarLeft(chartRest, viewCellWidth) {
9151
9153
  function getTaskBarWidth(chartRest, viewCellWidth) {
9152
9154
  return Math.max(1, chartRest ? Math.floor(viewCellWidth * chartRest.oWidthSize) - 1 : 0);
9153
9155
  }
9154
- function getTaskLinkKey(from, to) {
9155
- return "".concat(from, "_").concat(to);
9156
- }
9157
9156
  var taskTypeMaps = {
9158
9157
  milestone: true
9159
9158
  };
@@ -9163,8 +9162,6 @@ function hasMilestoneTask(type) {
9163
9162
  function gettaskType(type) {
9164
9163
  return taskTypeMaps[type] ? type : 'default';
9165
9164
  }
9166
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.pad-start.js
9167
- var es_string_pad_start = __webpack_require__(8156);
9168
9165
  ;// ./packages/gantt/src/gantt-header.ts
9169
9166
 
9170
9167
 
@@ -9368,8 +9365,6 @@ var gantt_chart_viewType = 'chart';
9368
9365
  renderTaskBar: function renderTaskBar(h, $xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) {
9369
9366
  var _vm = this;
9370
9367
  var $xeGantt = _vm.$xeGantt;
9371
- var tableProps = $xeTable;
9372
- var treeConfig = tableProps.treeConfig;
9373
9368
  var tableReactData = $xeTable;
9374
9369
  var resizeHeightFlag = tableReactData.resizeHeightFlag;
9375
9370
  var tableInternalData = $xeTable;
@@ -9378,9 +9373,13 @@ var gantt_chart_viewType = 'chart';
9378
9373
  var rowOpts = $xeTable.computeRowOpts;
9379
9374
  var defaultRowHeight = $xeTable.computeDefaultRowHeight;
9380
9375
  var ganttProps = $xeGantt;
9376
+ var ganttReactData = $xeGantt.reactData;
9377
+ var ganttInternalData = $xeGantt.internalData;
9381
9378
  var ganttSlots = $xeGantt.$scopedSlots;
9382
9379
  var taskBarSlot = ganttSlots.taskBar || ganttSlots['task-bar'];
9383
9380
  var taskBarMilestoneConfig = ganttProps.taskBarMilestoneConfig;
9381
+ var activeLink = ganttReactData.activeLink,
9382
+ activeBarRowid = ganttReactData.activeBarRowid;
9384
9383
  var titleField = $xeGantt.computeTitleField;
9385
9384
  var progressField = $xeGantt.computeProgressField;
9386
9385
  var typeField = $xeGantt.computeTypeField;
@@ -9438,29 +9437,27 @@ var gantt_chart_viewType = 'chart';
9438
9437
  rowIndex: rowIndex,
9439
9438
  _rowIndex: _rowIndex
9440
9439
  };
9441
- var ons = {
9442
- click: function click(evnt) {
9443
- $xeGantt.handleTaskBarClickEvent(evnt, barParams);
9444
- },
9445
- dblclick: function dblclick(evnt) {
9446
- $xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
9447
- },
9448
- mousedown: function mousedown(evnt) {
9449
- if ($xeGantt.handleTaskBarMousedownEvent) {
9450
- $xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
9451
- }
9452
- }
9453
- };
9440
+ var ctOns = {};
9454
9441
  if (showTooltip) {
9455
- ons.mouseover = function (evnt) {
9456
- $xeGantt.triggerTaskBarTooltipEvent(evnt, Object.assign({
9442
+ ctOns.mouseover = function (evnt) {
9443
+ var dragBarRow = ganttInternalData.dragBarRow;
9444
+ var ttParams = Object.assign({
9457
9445
  $event: evnt
9458
- }, ctParams));
9446
+ }, ctParams);
9447
+ if (!dragBarRow) {
9448
+ $xeGantt.triggerTaskBarTooltipEvent(evnt, ttParams);
9449
+ }
9450
+ $xeGantt.dispatchEvent('task-bar-mouseenter', ttParams, evnt);
9459
9451
  };
9460
- ons.mouseleave = function (evnt) {
9461
- $xeGantt.handleTaskBarTooltipLeaveEvent(evnt, Object.assign({
9452
+ ctOns.mouseleave = function (evnt) {
9453
+ var dragBarRow = ganttInternalData.dragBarRow;
9454
+ var ttParams = Object.assign({
9462
9455
  $event: evnt
9463
- }, ctParams));
9456
+ }, ctParams);
9457
+ if (!dragBarRow) {
9458
+ $xeGantt.handleTaskBarTooltipLeaveEvent(evnt, ttParams);
9459
+ }
9460
+ $xeGantt.dispatchEvent('task-bar-mouseleave', ttParams, evnt);
9464
9461
  };
9465
9462
  }
9466
9463
  var cbVNs = [];
@@ -9469,12 +9466,15 @@ var gantt_chart_viewType = 'chart';
9469
9466
  isMilestone: isMilestone,
9470
9467
  title: title,
9471
9468
  vbStyle: vbStyle,
9472
- vpStyle: vpStyle
9469
+ vpStyle: vpStyle,
9470
+ rowid: rowid,
9471
+ ctOns: ctOns
9473
9472
  });
9474
9473
  } else if (taskBarSlot) {
9475
9474
  cbVNs.push(h('div', {
9476
9475
  key: 'cbc',
9477
- class: 'vxe-gantt-view--chart-custom-bar-content'
9476
+ class: 'vxe-gantt-view--chart-custom-bar-content-wrapper',
9477
+ on: ctOns
9478
9478
  }, $xeGantt.callSlot(taskBarSlot, barParams, h)));
9479
9479
  } else {
9480
9480
  if (isMilestone) {
@@ -9487,7 +9487,8 @@ var gantt_chart_viewType = 'chart';
9487
9487
  };
9488
9488
  cbVNs.push(h('div', {
9489
9489
  key: 'vcm',
9490
- class: 'vxe-gantt-view--chart-milestone-wrapper'
9490
+ class: 'vxe-gantt-view--chart-milestone-wrapper',
9491
+ on: ctOns
9491
9492
  }, [h('div', {
9492
9493
  class: ['vxe-gantt-view--chart-milestone-icon', iconStatus ? "theme--".concat(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(iconStatus) ? iconStatus(tbmParams) : iconStatus) : ''],
9493
9494
  style: iconStyle ? Object.assign({}, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(iconStyle) ? iconStyle(tbmParams) : iconStyle) : undefined
@@ -9497,18 +9498,22 @@ var gantt_chart_viewType = 'chart';
9497
9498
  class: 'vxe-gantt-view--chart-milestone-content'
9498
9499
  }, title) : renderEmptyElement($xeGantt)]));
9499
9500
  } else {
9500
- cbVNs.push(showProgress ? h('div', {
9501
+ cbVNs.push(h('div', {
9502
+ key: 'vbc',
9503
+ class: 'vxe-gantt-view--chart-bar-content-wrapper',
9504
+ on: ctOns
9505
+ }, [showProgress ? h('div', {
9501
9506
  key: 'vcp',
9502
9507
  class: 'vxe-gantt-view--chart-progress',
9503
9508
  style: vpStyle
9504
9509
  }) : renderEmptyElement($xeGantt), showContent ? h('div', {
9505
9510
  key: 'vcc',
9506
9511
  class: 'vxe-gantt-view--chart-content'
9507
- }, title) : renderEmptyElement($xeGantt));
9512
+ }, title) : renderEmptyElement($xeGantt)]));
9508
9513
  }
9509
9514
  }
9510
9515
  return h('div', {
9511
- key: treeConfig ? rowid : $rowIndex,
9516
+ key: rowid,
9512
9517
  attrs: {
9513
9518
  rowid: rowid
9514
9519
  },
@@ -9525,12 +9530,27 @@ var gantt_chart_viewType = 'chart';
9525
9530
  }
9526
9531
  }
9527
9532
  }, [h('div', {
9528
- class: [taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar', "is--".concat(gettaskType(typeValue))],
9533
+ class: [taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar', "is--".concat(gettaskType(typeValue)), {
9534
+ 'is--active': activeBarRowid === rowid,
9535
+ 'active--link': activeLink && (rowid === "".concat(activeLink.from) || rowid === "".concat(activeLink.to))
9536
+ }],
9529
9537
  style: vbStyle,
9530
9538
  attrs: {
9531
9539
  rowid: rowid
9532
9540
  },
9533
- on: ons
9541
+ on: {
9542
+ click: function click(evnt) {
9543
+ $xeGantt.handleTaskBarClickEvent(evnt, barParams);
9544
+ },
9545
+ dblclick: function dblclick(evnt) {
9546
+ $xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
9547
+ },
9548
+ mousedown: function mousedown(evnt) {
9549
+ if ($xeGantt.handleTaskBarMousedownEvent) {
9550
+ $xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
9551
+ }
9552
+ }
9553
+ }
9534
9554
  }, cbVNs)]);
9535
9555
  },
9536
9556
  renderTaskRows: function renderTaskRows(h, $xeTable, tableData) {
@@ -9576,24 +9596,38 @@ var gantt_chart_viewType = 'chart';
9576
9596
  var _vm = this;
9577
9597
  var $xeGantt = _vm.$xeGantt;
9578
9598
  var $xeGanttView = _vm.$xeGanttView;
9599
+ var ganttReactData = $xeGantt.reactData;
9579
9600
  var ganttViewInternalData = $xeGanttView.internalData;
9580
9601
  var ganttViewReactData = $xeGanttView.reactData;
9581
9602
  var $xeTable = ganttViewInternalData.xeTable;
9603
+ var dragLinkFromStore = ganttReactData.dragLinkFromStore;
9582
9604
  var tableData = ganttViewReactData.tableData;
9583
9605
  var taskLinkOpts = $xeGantt.computeTaskLinkOpts;
9584
- var showArrow = taskLinkOpts.showArrow;
9606
+ var taskBarOpts = $xeGantt.computeTaskBarOpts;
9607
+ var isCurrent = taskLinkOpts.isCurrent,
9608
+ isHover = taskLinkOpts.isHover;
9609
+ var linkCreatable = taskBarOpts.linkCreatable;
9585
9610
  return h('div', {
9586
9611
  ref: 'refElem',
9587
- class: 'vxe-gantt-view--chart-wrapper'
9588
- }, [$xeGantt.renderGanttTaskLines ? h('div', {
9589
- ref: 'reflineWrapperElem',
9590
- class: ['vxe-gantt-view--chart-line-wrapper', {
9591
- 'show-arrow': showArrow
9612
+ class: ['vxe-gantt-view--chart-wrapper', {
9613
+ 'is--cl-drag': dragLinkFromStore.rowid
9614
+ }]
9615
+ }, [$xeGantt.renderGanttTaskChartBefores ? h('div', {
9616
+ ref: 'refChartBeforeWrapperElem',
9617
+ class: ['vxe-gantt-view--chart-before-wrapper', {
9618
+ 'link--current': isCurrent,
9619
+ 'link--hover': isHover
9592
9620
  }]
9593
- }, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.renderGanttTaskLines(h) : []) : renderEmptyElement($xeGantt), h('div', {
9621
+ }, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.renderGanttTaskChartBefores(h) : []) : renderEmptyElement($xeGantt), h('div', {
9594
9622
  ref: 'refTaskWrapperElem',
9595
- class: 'vxe-gantt-view--chart-task-wrapper'
9596
- }, $xeTable ? _vm.renderTaskRows(h, $xeTable, tableData) : [])]);
9623
+ class: ['vxe-gantt-view--chart-task-wrapper', {
9624
+ 'link--current': isCurrent,
9625
+ 'link--create': linkCreatable
9626
+ }]
9627
+ }, $xeTable ? _vm.renderTaskRows(h, $xeTable, tableData) : []), $xeGantt.renderGanttTaskChartAfters ? h('div', {
9628
+ ref: 'refChartAfterWrapperElem',
9629
+ class: 'vxe-gantt-view--chart-after-wrapper'
9630
+ }, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.renderGanttTaskChartAfters(h) : []) : renderEmptyElement($xeGantt)]);
9597
9631
  }
9598
9632
  },
9599
9633
  mounted: function mounted() {
@@ -9603,7 +9637,8 @@ var gantt_chart_viewType = 'chart';
9603
9637
  var elemStore = ganttViewInternalData.elemStore;
9604
9638
  var prefix = 'main-chart-';
9605
9639
  elemStore["".concat(prefix, "task-wrapper")] = _vm.$refs.refTaskWrapperElem;
9606
- elemStore["".concat(prefix, "line-wrapper")] = _vm.$refs.reflineWrapperElem;
9640
+ elemStore["".concat(prefix, "before-wrapper")] = _vm.$refs.refChartBeforeWrapperElem;
9641
+ elemStore["".concat(prefix, "after-wrapper")] = _vm.$refs.refChartAfterWrapperElem;
9607
9642
  },
9608
9643
  destroyed: function destroyed() {
9609
9644
  var _vm = this;
@@ -9612,7 +9647,8 @@ var gantt_chart_viewType = 'chart';
9612
9647
  var elemStore = ganttViewInternalData.elemStore;
9613
9648
  var prefix = 'main-chart-';
9614
9649
  elemStore["".concat(prefix, "task-wrapper")] = null;
9615
- elemStore["".concat(prefix, "line-wrapper")] = null;
9650
+ elemStore["".concat(prefix, "before-wrapper")] = null;
9651
+ elemStore["".concat(prefix, "after-wrapper")] = null;
9616
9652
  },
9617
9653
  render: function render(h) {
9618
9654
  return this.renderVN(h);
@@ -9793,7 +9829,9 @@ var gantt_body_viewType = 'body';
9793
9829
  var viewStyle = taskViewOpts.viewStyle;
9794
9830
  var _ref3 = viewStyle || {},
9795
9831
  rowClassName = _ref3.rowClassName,
9796
- rowStyle = _ref3.rowStyle;
9832
+ rowStyle = _ref3.rowStyle,
9833
+ cellClassName = _ref3.cellClassName,
9834
+ cellStyle = _ref3.cellStyle;
9797
9835
  var tableColumn = reactData.tableColumn,
9798
9836
  scrollYLoad = reactData.scrollYLoad;
9799
9837
  var trVNs = [];
@@ -9841,7 +9879,7 @@ var gantt_body_viewType = 'body';
9841
9879
  _rowIndex: _rowIndex
9842
9880
  };
9843
9881
  trVNs.push(h('tr', {
9844
- key: treeConfig ? rowid : $rowIndex,
9882
+ key: rowClassName || rowStyle || cellClassName || cellStyle ? rowid : $rowIndex,
9845
9883
  class: ['vxe-gantt-view--body-row', {
9846
9884
  'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
9847
9885
  'is--new': isNewRow,
@@ -10867,7 +10905,7 @@ function updateStyle($xeGanttView) {
10867
10905
  bodyTableElem.style.width = "".concat(vmTableWidth, "px");
10868
10906
  }
10869
10907
  reactData.scrollXWidth = viewTableWidth;
10870
- return Promise.all([updateTaskChart($xeGanttView), $xeGantt.handleUpdateTaskLink ? $xeGantt.handleUpdateTaskLink($xeGanttView) : null]);
10908
+ return Promise.all([updateTaskChart($xeGanttView), $xeGantt.handleUpdateTaskLinkStyle ? $xeGantt.handleUpdateTaskLinkStyle($xeGanttView) : null]);
10871
10909
  }
10872
10910
  function handleRecalculateStyle($xeGanttView) {
10873
10911
  var internalData = $xeGanttView.internalData;
@@ -11044,10 +11082,15 @@ function updateScrollXSpace($xeGanttView) {
11044
11082
  if (scrollXSpaceEl) {
11045
11083
  scrollXSpaceEl.style.width = "".concat(scrollXWidth, "px");
11046
11084
  }
11047
- var lineWrapper = getRefElem(elemStore['main-chart-line-wrapper']);
11048
- var svgElem = lineWrapper ? lineWrapper.firstElementChild : null;
11049
- if (svgElem) {
11050
- svgElem.style.width = "".concat(scrollXWidth, "px");
11085
+ var beforeWrapper = getRefElem(elemStore['main-chart-before-wrapper']);
11086
+ var beforeSvgElem = beforeWrapper ? beforeWrapper.firstElementChild : null;
11087
+ if (beforeSvgElem) {
11088
+ beforeSvgElem.style.width = "".concat(scrollXWidth, "px");
11089
+ }
11090
+ var afterWrapper = getRefElem(elemStore['main-chart-after-wrapper']);
11091
+ var afterSvgElem = afterWrapper ? afterWrapper.firstElementChild : null;
11092
+ if (afterSvgElem) {
11093
+ afterSvgElem.style.width = "".concat(scrollXWidth, "px");
11051
11094
  }
11052
11095
  calcScrollbar($xeGanttView);
11053
11096
  return $xeGanttView.$nextTick();
@@ -11106,10 +11149,15 @@ function updateScrollYSpace($xeGanttView) {
11106
11149
  if (scrollYSpaceEl) {
11107
11150
  scrollYSpaceEl.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
11108
11151
  }
11109
- var lineWrapper = getRefElem(elemStore['main-chart-line-wrapper']);
11110
- var svgElem = lineWrapper ? lineWrapper.firstElementChild : null;
11111
- if (svgElem) {
11112
- svgElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
11152
+ var beforeWrapper = getRefElem(elemStore['main-chart-before-wrapper']);
11153
+ var beforeSvgElem = beforeWrapper ? beforeWrapper.firstElementChild : null;
11154
+ if (beforeSvgElem) {
11155
+ beforeSvgElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
11156
+ }
11157
+ var afterWrapper = getRefElem(elemStore['main-chart-after-wrapper']);
11158
+ var afterSvgElem = afterWrapper ? afterWrapper.firstElementChild : null;
11159
+ if (afterSvgElem) {
11160
+ afterSvgElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
11113
11161
  }
11114
11162
  reactData.scrollYTop = scrollYTop;
11115
11163
  reactData.scrollYHeight = scrollYHeight;
@@ -11787,7 +11835,6 @@ var external_root_VxeUITable_commonjs_vxe_table_commonjs2_vxe_table_amd_vxe_tabl
11787
11835
 
11788
11836
 
11789
11837
 
11790
-
11791
11838
 
11792
11839
 
11793
11840
  var gantt_getConfig = core_.VxeUI.getConfig,
@@ -11851,48 +11898,58 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
11851
11898
  return $xeTable && $xeTable[name].apply($xeTable, arguments);
11852
11899
  };
11853
11900
  });
11854
- function handleTaskAddLink(item, linkConfs, fromConfMaps, fromKeyMaps, uniqueMaps) {
11855
- if (item) {
11856
- var type = item.type,
11857
- from = item.from,
11858
- to = item.to,
11859
- lineStatus = item.lineStatus,
11860
- lineColor = item.lineColor,
11861
- lineType = item.lineType,
11862
- lineWidth = item.lineWidth,
11863
- showArrow = item.showArrow;
11864
- var tlKey = getTaskLinkKey(from, to);
11865
- if (from && to && !uniqueMaps[tlKey]) {
11866
- var confs = fromConfMaps[from];
11867
- if (!confs) {
11868
- confs = fromConfMaps[from] = [];
11869
- }
11870
- var confObj = {
11871
- type: type,
11872
- from: from,
11873
- to: to,
11874
- lineStatus: lineStatus,
11875
- lineColor: lineColor,
11876
- lineType: lineType,
11877
- lineWidth: lineWidth,
11878
- showArrow: showArrow
11879
- };
11880
- confs.push(confObj);
11881
- linkConfs.push(confObj);
11882
- fromKeyMaps[from] = confObj;
11883
- uniqueMaps[tlKey] = confObj;
11884
- }
11885
- }
11886
- }
11887
11901
  function gantt_createInternalData() {
11888
11902
  return {
11889
11903
  linkFromConfMaps: {},
11890
11904
  linkFromKeyMaps: {},
11891
11905
  linkUniqueMaps: {},
11892
11906
  uFoot: false,
11893
- resizeTableWidth: 0
11894
- // barTipTimeout: null
11895
- // dragBarRow: null
11907
+ resizeTableWidth: 0,
11908
+ // barTipTimeout: null,
11909
+ // dragBarRow: null,
11910
+ // dragLineRow: null,
11911
+ dragLinkToStore: {
11912
+ rowid: null,
11913
+ type: 0
11914
+ }
11915
+ };
11916
+ }
11917
+ function createReactData() {
11918
+ var _getConfig$pager;
11919
+ return {
11920
+ tableLoading: false,
11921
+ proxyInited: false,
11922
+ isZMax: false,
11923
+ tableLinks: [],
11924
+ tableData: [],
11925
+ filterData: [],
11926
+ formData: {},
11927
+ sortData: [],
11928
+ footerData: [],
11929
+ tZindex: 0,
11930
+ tablePage: {
11931
+ total: 0,
11932
+ pageSize: ((_getConfig$pager = gantt_getConfig().pager) === null || _getConfig$pager === void 0 ? void 0 : _getConfig$pager.pageSize) || 10,
11933
+ currentPage: 1
11934
+ },
11935
+ showLeftView: true,
11936
+ showRightView: true,
11937
+ taskScaleList: [],
11938
+ barTipStore: {
11939
+ row: null,
11940
+ content: '',
11941
+ visible: false,
11942
+ params: null
11943
+ },
11944
+ dragLinkFromStore: {
11945
+ rowid: null,
11946
+ type: 0
11947
+ },
11948
+ activeBarRowid: null,
11949
+ activeLink: null,
11950
+ isActiveCeLe: false,
11951
+ linkList: [],
11952
+ upLinkFlag: 0
11896
11953
  };
11897
11954
  }
11898
11955
  /* harmony default export */ var gantt = (/* define-vxe-component start */defineVxeComponent({
@@ -11933,36 +11990,8 @@ function gantt_createInternalData() {
11933
11990
  };
11934
11991
  },
11935
11992
  data: function data() {
11936
- var _getConfig$pager;
11937
11993
  var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
11938
- var reactData = {
11939
- tableLoading: false,
11940
- proxyInited: false,
11941
- isZMax: false,
11942
- tableLinks: [],
11943
- tableData: [],
11944
- filterData: [],
11945
- formData: {},
11946
- sortData: [],
11947
- footerData: [],
11948
- tZindex: 0,
11949
- tablePage: {
11950
- total: 0,
11951
- pageSize: ((_getConfig$pager = gantt_getConfig().pager) === null || _getConfig$pager === void 0 ? void 0 : _getConfig$pager.pageSize) || 10,
11952
- currentPage: 1
11953
- },
11954
- showLeftView: true,
11955
- showRightView: true,
11956
- taskScaleList: [],
11957
- barTipStore: {
11958
- row: null,
11959
- content: '',
11960
- visible: false,
11961
- params: null
11962
- },
11963
- linkList: [],
11964
- upLinkFlag: 0
11965
- };
11994
+ var reactData = createReactData();
11966
11995
  var internalData = gantt_createInternalData();
11967
11996
  return {
11968
11997
  xID: xID,
@@ -12081,6 +12110,15 @@ function gantt_createInternalData() {
12081
12110
  var scales = taskViewOpts.scales;
12082
12111
  return scales;
12083
12112
  },
12113
+ computeTaskLinkStyle: function computeTaskLinkStyle() {
12114
+ var $xeGantt = this;
12115
+ var _$xeGantt$computeTask = $xeGantt.computeTaskLinkOpts,
12116
+ lineType = _$xeGantt$computeTask.lineType,
12117
+ lineWidth = _$xeGantt$computeTask.lineWidth,
12118
+ lineStatus = _$xeGantt$computeTask.lineStatus,
12119
+ lineColor = _$xeGantt$computeTask.lineColor;
12120
+ return "".concat(lineType || '', "_").concat(lineWidth || '', "_").concat(lineStatus || '', "_").concat(lineColor || '');
12121
+ },
12084
12122
  /**
12085
12123
  * 已废弃,保留兼容
12086
12124
  * @deprecated
@@ -12354,6 +12392,12 @@ function gantt_createInternalData() {
12354
12392
  var $xeGantt = this;
12355
12393
  $xeGantt.handleTaskScaleConfig();
12356
12394
  $xeGantt.refreshTaskView();
12395
+ },
12396
+ computeTaskLinkStyle: function computeTaskLinkStyle() {
12397
+ var $xeGantt = this;
12398
+ if ($xeGantt.handleUpdateTaskLinkData) {
12399
+ $xeGantt.handleUpdateTaskLinkData();
12400
+ }
12357
12401
  }
12358
12402
  },
12359
12403
  methods: _objectSpread2(_objectSpread2({}, tableMethods), {}, {
@@ -13707,6 +13751,7 @@ function gantt_createInternalData() {
13707
13751
  },
13708
13752
  handleTaskCellClickEvent: function handleTaskCellClickEvent(evnt, params) {
13709
13753
  var $xeGantt = this;
13754
+ var reactData = $xeGantt.reactData;
13710
13755
  var $xeTable = $xeGantt.$refs.refTable;
13711
13756
  if ($xeTable) {
13712
13757
  var _tableProps = $xeTable;
@@ -13735,6 +13780,9 @@ function gantt_createInternalData() {
13735
13780
  $xeTable.handleToggleCheckRowEvent(evnt, params);
13736
13781
  }
13737
13782
  }
13783
+ reactData.isActiveCeLe = false;
13784
+ reactData.activeBarRowid = null;
13785
+ reactData.activeLink = null;
13738
13786
  $xeGantt.dispatchEvent('task-cell-click', params, evnt);
13739
13787
  },
13740
13788
  handleTaskCellDblclickEvent: function handleTaskCellDblclickEvent(evnt, params) {
@@ -13743,6 +13791,14 @@ function gantt_createInternalData() {
13743
13791
  },
13744
13792
  handleTaskBarClickEvent: function handleTaskBarClickEvent(evnt, params) {
13745
13793
  var $xeGantt = this;
13794
+ var reactData = $xeGantt.reactData;
13795
+ var $xeTable = $xeGantt.$refs.refTable;
13796
+ var taskBarOpts = $xeGantt.computeTaskBarOpts;
13797
+ var linkCreatable = taskBarOpts.linkCreatable;
13798
+ var row = params.row;
13799
+ reactData.isActiveCeLe = !!linkCreatable;
13800
+ reactData.activeBarRowid = $xeTable ? $xeTable.getRowid(row) : row;
13801
+ reactData.activeLink = null;
13746
13802
  $xeGantt.dispatchEvent('task-bar-click', params, evnt);
13747
13803
  },
13748
13804
  handleTaskBarDblclickEvent: function handleTaskBarDblclickEvent(evnt, params) {
@@ -13753,9 +13809,14 @@ function gantt_createInternalData() {
13753
13809
  var $xeGantt = this;
13754
13810
  var reactData = $xeGantt.reactData;
13755
13811
  var internalData = $xeGantt.internalData;
13756
- var barTipStore = reactData.barTipStore;
13757
- var dragBarRow = internalData.dragBarRow;
13758
- if (dragBarRow) {
13812
+ var barTipStore = reactData.barTipStore,
13813
+ activeLink = reactData.activeLink;
13814
+ var dragBarRow = internalData.dragBarRow,
13815
+ dragLineRow = internalData.dragLineRow;
13816
+ if (dragBarRow || dragLineRow) {
13817
+ return;
13818
+ }
13819
+ if (activeLink) {
13759
13820
  return;
13760
13821
  }
13761
13822
  var taskBarTooltipOpts = $xeGantt.computeTaskBarTooltipOpts;
@@ -13826,25 +13887,6 @@ function gantt_createInternalData() {
13826
13887
  var linkList = reactData.linkList;
13827
13888
  reactData.tableLinks = linkList.slice(0);
13828
13889
  },
13829
- handleTaskAddLink: handleTaskAddLink,
13830
- handleTaskUpdateLinks: function handleTaskUpdateLinks(links) {
13831
- var $xeGantt = this;
13832
- var reactData = $xeGantt.reactData;
13833
- var internalData = $xeGantt.internalData;
13834
- var linkConfs = [];
13835
- var fromConfMaps = {};
13836
- var fromKeyMaps = {};
13837
- var uniqueMaps = {};
13838
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(links || [], function (item) {
13839
- handleTaskAddLink(item, linkConfs, fromConfMaps, fromKeyMaps, uniqueMaps);
13840
- });
13841
- reactData.linkList = linkConfs;
13842
- internalData.linkFromConfMaps = fromConfMaps;
13843
- internalData.linkFromKeyMaps = fromKeyMaps;
13844
- internalData.linkUniqueMaps = uniqueMaps;
13845
- $xeGantt.handleTableLinks();
13846
- return $xeGantt.$nextTick();
13847
- },
13848
13890
  handleTaskHeaderContextmenuEvent: function handleTaskHeaderContextmenuEvent(evnt, params) {
13849
13891
  var $xeGantt = this;
13850
13892
  var $xeTable = $xeGantt.$refs.refTable;
@@ -14397,7 +14439,7 @@ function gantt_createInternalData() {
14397
14439
  if (props.expandConfig) {
14398
14440
  warnLog('vxe.error.notProp', ['expand-config']);
14399
14441
  }
14400
- if (!$xeGantt.handleUpdateTaskLink) {
14442
+ if (!$xeGantt.handleUpdateTaskLinkData) {
14401
14443
  if (props.taskLinkConfig) {
14402
14444
  warnLog('vxe.error.notProp', ['task-link-config']);
14403
14445
  }
@@ -14431,8 +14473,10 @@ function gantt_createInternalData() {
14431
14473
  }
14432
14474
  }
14433
14475
  });
14434
- if (props.links) {
14435
- $xeGantt.handleTaskUpdateLinks(props.links);
14476
+ if ($xeGantt.handleTaskLoadLinks) {
14477
+ if (props.links) {
14478
+ $xeGantt.handleTaskLoadLinks(props.links);
14479
+ }
14436
14480
  }
14437
14481
  $xeGantt.handleTaskScaleConfig();
14438
14482
  $xeGantt.initPages();
@@ -14449,6 +14493,11 @@ function gantt_createInternalData() {
14449
14493
  $xeGantt.initGanttView();
14450
14494
  gantt_globalEvents.on($xeGantt, 'keydown', $xeGantt.handleGlobalKeydownEvent);
14451
14495
  },
14496
+ beforeDestroy: function beforeDestroy() {
14497
+ var $xeGantt = this;
14498
+ var reactData = $xeGantt.reactData;
14499
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, createReactData());
14500
+ },
14452
14501
  destroyed: function destroyed() {
14453
14502
  var $xeGantt = this;
14454
14503
  var internalData = $xeGantt.internalData;