vxe-gantt 4.0.0-beta.3 → 4.0.0-beta.4

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 (41) hide show
  1. package/README.md +2 -2
  2. package/es/gantt/src/gantt-body.js +70 -36
  3. package/es/gantt/src/gantt-chart.js +80 -56
  4. package/es/gantt/src/gantt-view.js +62 -7
  5. package/es/gantt/src/gantt.js +22 -5
  6. package/es/gantt/style.css +17 -0
  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 +7 -2
  11. package/es/ui/src/log.js +1 -1
  12. package/es/vxe-gantt/style.css +17 -0
  13. package/es/vxe-gantt/style.min.css +1 -1
  14. package/lib/gantt/src/gantt-body.js +104 -44
  15. package/lib/gantt/src/gantt-body.min.js +1 -1
  16. package/lib/gantt/src/gantt-chart.js +100 -60
  17. package/lib/gantt/src/gantt-chart.min.js +1 -1
  18. package/lib/gantt/src/gantt-view.js +79 -6
  19. package/lib/gantt/src/gantt-view.min.js +1 -1
  20. package/lib/gantt/src/gantt.js +29 -6
  21. package/lib/gantt/src/gantt.min.js +1 -1
  22. package/lib/gantt/style/style.css +17 -0
  23. package/lib/gantt/style/style.min.css +1 -1
  24. package/lib/index.umd.js +347 -139
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/style.css +1 -1
  27. package/lib/style.min.css +1 -1
  28. package/lib/ui/index.js +13 -2
  29. package/lib/ui/index.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/lib/vxe-gantt/style/style.css +17 -0
  33. package/lib/vxe-gantt/style/style.min.css +1 -1
  34. package/package.json +3 -3
  35. package/packages/gantt/src/gantt-body.ts +79 -37
  36. package/packages/gantt/src/gantt-chart.ts +90 -61
  37. package/packages/gantt/src/gantt-view.ts +62 -7
  38. package/packages/gantt/src/gantt.ts +21 -4
  39. package/packages/ui/index.ts +9 -1
  40. package/styles/components/gantt-module/gantt-chart.scss +1 -0
  41. package/styles/components/gantt.scss +19 -0
package/lib/index.umd.js CHANGED
@@ -2947,13 +2947,23 @@ if (typeof window !== 'undefined') {
2947
2947
 
2948
2948
  // EXTERNAL MODULE: external {"root":"VxeUI","commonjs":"@vxe-ui/core","commonjs2":"@vxe-ui/core","amd":"@vxe-ui/core"}
2949
2949
  var core_ = __webpack_require__(4345);
2950
+ ;// ./packages/ui/src/log.ts
2951
+
2952
+ const {
2953
+ log
2954
+ } = core_.VxeUI;
2955
+ const version = `gantt v${"4.0.0-beta.4"}`;
2956
+ const warnLog = log.create('warn', version);
2957
+ const errLog = log.create('error', version);
2950
2958
  ;// ./packages/ui/index.ts
2951
2959
 
2960
+
2952
2961
  const {
2953
2962
  setConfig,
2954
- setIcon
2963
+ setIcon,
2964
+ checkVersion
2955
2965
  } = core_.VxeUI;
2956
- core_.VxeUI.ganttVersion = "4.0.0-beta.3";
2966
+ core_.VxeUI.ganttVersion = "4.0.0-beta.4";
2957
2967
  setConfig({
2958
2968
  gantt: {
2959
2969
  // size: null,
@@ -3008,6 +3018,10 @@ setIcon({
3008
3018
  GANTT_VIEW_RIGHT_OPEN: iconPrefix + 'arrow-right',
3009
3019
  GANTT_VIEW_RIGHT_CLOSE: iconPrefix + 'arrow-left'
3010
3020
  });
3021
+ if (!checkVersion(core_.VxeUI.tableVersion, 4, 16)) {
3022
+ errLog('vxe.error.errorVersion', [`vxe-table@${core_.VxeUI.tableVersion || '?'}`, 'vxe-table v4.16+']);
3023
+ }
3024
+
3011
3025
  /* harmony default export */ var ui = (core_.VxeUI);
3012
3026
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
3013
3027
  var es_array_push = __webpack_require__(4114);
@@ -3429,14 +3443,6 @@ const gridEmits = [...tableEmits, 'page-change', 'form-submit', 'form-submit-inv
3429
3443
  ;// ./packages/gantt/src/emits.ts
3430
3444
 
3431
3445
  const ganttEmits = [...gridEmits, 'task-cell-click', 'task-cell-dblclick', 'task-bar-click', 'task-bar-dblclick'];
3432
- ;// ./packages/ui/src/log.ts
3433
-
3434
- const {
3435
- log
3436
- } = core_.VxeUI;
3437
- const version = `gantt v${"4.0.0-beta.3"}`;
3438
- const warnLog = log.create('warn', version);
3439
- const errLog = log.create('error', version);
3440
3446
  ;// ./packages/gantt/src/util.ts
3441
3447
  function getRefElem(refEl) {
3442
3448
  if (refEl) {
@@ -3580,26 +3586,23 @@ const {
3580
3586
  computeTaskBarOpts
3581
3587
  } = $xeGantt.getComputeMaps();
3582
3588
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3583
- const renderVN = () => {
3584
- const $xeTable = $xeGanttView.internalData.xeTable;
3585
- const tableInternalData = $xeTable ? $xeTable.internalData : {};
3586
- const fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData || {};
3587
- let cellOpts = {};
3588
- let rowOpts = {};
3589
- let defaultRowHeight = 0;
3590
- if ($xeTable) {
3591
- const {
3592
- computeCellOpts,
3593
- computeRowOpts,
3594
- computeDefaultRowHeight
3595
- } = $xeTable.getComputeMaps();
3596
- cellOpts = computeCellOpts.value;
3597
- rowOpts = computeRowOpts.value;
3598
- defaultRowHeight = computeDefaultRowHeight.value;
3599
- }
3589
+ const renderTaskBar = ($xeTable, row, rowid, $rowIndex) => {
3590
+ const tableProps = $xeTable.props;
3600
3591
  const {
3601
- tableData
3602
- } = reactData;
3592
+ treeConfig
3593
+ } = tableProps;
3594
+ const tableInternalData = $xeTable.internalData;
3595
+ const {
3596
+ fullAllDataRowIdData
3597
+ } = tableInternalData;
3598
+ const {
3599
+ computeCellOpts,
3600
+ computeRowOpts,
3601
+ computeDefaultRowHeight
3602
+ } = $xeTable.getComputeMaps();
3603
+ const cellOpts = computeCellOpts.value;
3604
+ const rowOpts = computeRowOpts.value;
3605
+ const defaultRowHeight = computeDefaultRowHeight.value;
3603
3606
  const titleField = computeTitleField.value;
3604
3607
  const progressField = computeProgressField.value;
3605
3608
  const taskBarOpts = computeTaskBarOpts.value;
@@ -3612,54 +3615,97 @@ const {
3612
3615
  const {
3613
3616
  round
3614
3617
  } = barStyle || {};
3618
+ const rowRest = fullAllDataRowIdData[rowid] || {};
3619
+ const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
3620
+ let title = getStringValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, titleField));
3621
+ const progressValue = showProgress ? Math.min(100, Math.max(0, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, progressField)))) : 0;
3622
+ if (contentMethod) {
3623
+ title = getStringValue(contentMethod({
3624
+ row,
3625
+ title
3626
+ }));
3627
+ }
3628
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3629
+ key: treeConfig ? rowid : $rowIndex,
3630
+ rowid,
3631
+ class: ['vxe-gantt-view--chart-row', {
3632
+ 'is--round': round
3633
+ }],
3634
+ style: {
3635
+ height: `${cellHeight}px`
3636
+ }
3637
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3638
+ class: 'vxe-gantt-view--chart-bar',
3639
+ rowid,
3640
+ onClick(evnt) {
3641
+ $xeGantt.handleTaskBarClickEvent(evnt, {
3642
+ row
3643
+ });
3644
+ },
3645
+ onDblclick(evnt) {
3646
+ $xeGantt.handleTaskBarDblclickEvent(evnt, {
3647
+ row
3648
+ });
3649
+ }
3650
+ }, [showProgress ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3651
+ class: 'vxe-gantt-view--chart-progress',
3652
+ style: {
3653
+ width: `${progressValue || 0}%`
3654
+ }
3655
+ }) : renderEmptyElement($xeGantt), showContent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3656
+ class: 'vxe-gantt-view--chart-content'
3657
+ }, title) : renderEmptyElement($xeGantt)])]);
3658
+ };
3659
+ const renderRows = ($xeTable, tableData) => {
3660
+ const tableProps = $xeTable.props;
3661
+ const {
3662
+ treeConfig
3663
+ } = tableProps;
3664
+ const tableReactData = $xeTable.reactData;
3665
+ const {
3666
+ treeExpandedFlag
3667
+ } = tableReactData;
3668
+ const tableInternalData = $xeTable.internalData;
3669
+ const {
3670
+ treeExpandedMaps
3671
+ } = tableInternalData;
3672
+ const {
3673
+ computeTreeOpts
3674
+ } = $xeTable.getComputeMaps();
3675
+ const treeOpts = computeTreeOpts.value;
3676
+ const {
3677
+ transform
3678
+ } = treeOpts;
3679
+ const childrenField = treeOpts.children || treeOpts.childrenField;
3680
+ const {
3681
+ scrollYLoad
3682
+ } = reactData;
3615
3683
  const trVNs = [];
3616
- tableData.forEach((row, rIndex) => {
3684
+ tableData.forEach((row, $rowIndex) => {
3617
3685
  const rowid = $xeTable ? $xeTable.getRowid(row) : '';
3618
- const rowRest = fullAllDataRowIdData[rowid] || {};
3619
- const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
3620
- let title = getStringValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, titleField));
3621
- const progressValue = showProgress ? Math.min(100, Math.max(0, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, progressField)))) : 0;
3622
- if (contentMethod) {
3623
- title = getStringValue(contentMethod({
3624
- row,
3625
- title
3626
- }));
3686
+ trVNs.push(renderTaskBar($xeTable, row, rowid, $rowIndex));
3687
+ let isExpandTree = false;
3688
+ let rowChildren = [];
3689
+ if (treeConfig && !scrollYLoad && !transform) {
3690
+ rowChildren = row[childrenField];
3691
+ isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
3692
+ }
3693
+ // 如果是树形表格
3694
+ if (isExpandTree) {
3695
+ trVNs.push(...renderRows($xeTable, rowChildren));
3627
3696
  }
3628
- trVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3629
- key: rIndex,
3630
- rowid,
3631
- class: ['vxe-gantt-view--chart-row', {
3632
- 'is--round': round
3633
- }],
3634
- style: {
3635
- height: `${cellHeight}px`
3636
- }
3637
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3638
- class: 'vxe-gantt-view--chart-bar',
3639
- rowid,
3640
- onClick(evnt) {
3641
- $xeGantt.handleTaskBarClickEvent(evnt, {
3642
- row
3643
- });
3644
- },
3645
- onDblclick(evnt) {
3646
- $xeGantt.handleTaskBarDblclickEvent(evnt, {
3647
- row
3648
- });
3649
- }
3650
- }, [showProgress ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3651
- class: 'vxe-gantt-view--chart-progress',
3652
- style: {
3653
- width: `${progressValue || 0}%`
3654
- }
3655
- }) : renderEmptyElement($xeGantt), showContent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3656
- class: 'vxe-gantt-view--chart-content'
3657
- }, title) : renderEmptyElement($xeGantt)])]));
3658
3697
  });
3698
+ return trVNs;
3699
+ };
3700
+ const renderVN = () => {
3701
+ const $xeTable = $xeGanttView.internalData.xeTable;
3702
+ const {
3703
+ tableData
3704
+ } = reactData;
3659
3705
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3660
3706
  ref: refElem,
3661
3707
  class: 'vxe-gantt-view--chart-wrapper'
3662
- }, trVNs);
3708
+ }, $xeTable ? renderRows($xeTable, tableData) : []);
3663
3709
  };
3664
3710
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
3665
3711
  const {
@@ -3701,58 +3747,119 @@ const {
3701
3747
  const refBodyTable = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3702
3748
  const refBodyXSpace = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3703
3749
  const refBodyYSpace = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3704
- const renderRows = () => {
3705
- const $xeTable = $xeGanttView.internalData.xeTable;
3706
- const tableInternalData = $xeTable ? $xeTable.internalData : {};
3707
- const fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData || {};
3708
- let cellOpts = {};
3709
- let rowOpts = {};
3710
- let defaultRowHeight = 0;
3711
- if ($xeTable) {
3712
- const {
3713
- computeCellOpts,
3714
- computeRowOpts,
3715
- computeDefaultRowHeight
3716
- } = $xeTable.getComputeMaps();
3717
- cellOpts = computeCellOpts.value;
3718
- rowOpts = computeRowOpts.value;
3719
- defaultRowHeight = computeDefaultRowHeight.value;
3720
- }
3750
+ const renderColumn = ($xeTable, row, rowid, $rowIndex, column, $columnIndex) => {
3751
+ const tableInternalData = $xeTable.internalData;
3721
3752
  const {
3722
- tableData,
3723
- tableColumn
3753
+ fullAllDataRowIdData
3754
+ } = tableInternalData;
3755
+ const {
3756
+ computeCellOpts,
3757
+ computeRowOpts,
3758
+ computeDefaultRowHeight
3759
+ } = $xeTable.getComputeMaps();
3760
+ const cellOpts = computeCellOpts.value;
3761
+ const rowOpts = computeRowOpts.value;
3762
+ const defaultRowHeight = computeDefaultRowHeight.value;
3763
+ const rowRest = fullAllDataRowIdData[rowid] || {};
3764
+ const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
3765
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
3766
+ key: $columnIndex,
3767
+ class: 'vxe-gantt-view--body-column',
3768
+ style: {
3769
+ height: `${cellHeight}px`
3770
+ },
3771
+ onClick(evnt) {
3772
+ $xeGantt.handleTaskCellClickEvent(evnt, {
3773
+ row,
3774
+ column
3775
+ });
3776
+ },
3777
+ onDblclick(evnt) {
3778
+ $xeGantt.handleTaskCellDblclickEvent(evnt, {
3779
+ row,
3780
+ column
3781
+ });
3782
+ }
3783
+ });
3784
+ };
3785
+ const renderRows = ($xeTable, tableData) => {
3786
+ const tableProps = $xeTable.props;
3787
+ const {
3788
+ treeConfig,
3789
+ stripe,
3790
+ highlightHoverRow
3791
+ } = tableProps;
3792
+ const tableReactData = $xeTable.reactData;
3793
+ const {
3794
+ treeExpandedFlag
3795
+ } = tableReactData;
3796
+ const tableInternalData = $xeTable.internalData;
3797
+ const {
3798
+ fullAllDataRowIdData,
3799
+ treeExpandedMaps
3800
+ } = tableInternalData;
3801
+ const {
3802
+ computeTreeOpts,
3803
+ computeRowOpts
3804
+ } = $xeTable.getComputeMaps();
3805
+ const rowOpts = computeRowOpts.value;
3806
+ const treeOpts = computeTreeOpts.value;
3807
+ const {
3808
+ transform
3809
+ } = treeOpts;
3810
+ const childrenField = treeOpts.children || treeOpts.childrenField;
3811
+ const {
3812
+ tableColumn,
3813
+ scrollYLoad
3724
3814
  } = reactData;
3725
3815
  const trVNs = [];
3726
- tableData.forEach((row, rIndex) => {
3727
- const rowid = $xeTable ? $xeTable.getRowid(row) : '';
3816
+ tableData.forEach((row, $rowIndex) => {
3817
+ const rowid = $xeTable.getRowid(row);
3728
3818
  const rowRest = fullAllDataRowIdData[rowid] || {};
3729
- const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
3819
+ const trOns = {};
3820
+ let rowIndex = $rowIndex;
3821
+ let _rowIndex = -1;
3822
+ if (rowRest) {
3823
+ rowIndex = rowRest.index;
3824
+ _rowIndex = rowRest._index;
3825
+ }
3826
+ // 当前行事件
3827
+ if (rowOpts.isHover || highlightHoverRow) {
3828
+ trOns.onMouseenter = evnt => {
3829
+ $xeTable.triggerHoverEvent(evnt, {
3830
+ row,
3831
+ rowIndex
3832
+ });
3833
+ };
3834
+ trOns.onMouseleave = () => {
3835
+ $xeTable.clearHoverRow();
3836
+ };
3837
+ }
3730
3838
  trVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
3731
- key: rIndex
3732
- }, tableColumn.map((column, cIndex) => {
3733
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
3734
- key: cIndex,
3735
- class: 'vxe-gantt-view--body-column',
3736
- style: {
3737
- height: `${cellHeight}px`
3738
- },
3739
- onClick(evnt) {
3740
- $xeGantt.handleTaskCellClickEvent(evnt, {
3741
- row
3742
- });
3743
- },
3744
- onDblclick(evnt) {
3745
- $xeGantt.handleTaskCellDblclickEvent(evnt, {
3746
- row
3747
- });
3748
- }
3749
- });
3750
- })));
3839
+ key: treeConfig ? rowid : $rowIndex,
3840
+ class: ['vxe-gantt-view--body-row', {
3841
+ 'row--stripe': stripe && (_rowIndex + 1) % 2 === 0
3842
+ }],
3843
+ rowid,
3844
+ ...trOns
3845
+ }, tableColumn.map((column, $columnIndex) => renderColumn($xeTable, row, rowid, $rowIndex, column, $columnIndex))));
3846
+ let isExpandTree = false;
3847
+ let rowChildren = [];
3848
+ if (treeConfig && !scrollYLoad && !transform) {
3849
+ rowChildren = row[childrenField];
3850
+ isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
3851
+ }
3852
+ // 如果是树形表格
3853
+ if (isExpandTree) {
3854
+ trVNs.push(...renderRows($xeTable, rowChildren));
3855
+ }
3751
3856
  });
3752
3857
  return trVNs;
3753
3858
  };
3754
3859
  const renderVN = () => {
3860
+ const $xeTable = $xeGanttView.internalData.xeTable;
3755
3861
  const {
3862
+ tableData,
3756
3863
  tableColumn,
3757
3864
  viewCellWidth
3758
3865
  } = reactData;
@@ -3779,7 +3886,7 @@ const {
3779
3886
  width: `${viewCellWidth}px`
3780
3887
  }
3781
3888
  });
3782
- })), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tbody', {}, renderRows())]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_chart)])]);
3889
+ })), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tbody', {}, $xeTable ? renderRows($xeTable, tableData) : [])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_chart)])]);
3783
3890
  };
3784
3891
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
3785
3892
  const {
@@ -3929,6 +4036,10 @@ const maxXWidth = 5e6;
3929
4036
  getComputeMaps: () => computeMaps
3930
4037
  };
3931
4038
  const handleParseColumn = () => {
4039
+ const ganttProps = $xeGantt.props;
4040
+ const {
4041
+ treeConfig
4042
+ } = ganttProps;
3932
4043
  const {
3933
4044
  minViewDate,
3934
4045
  maxViewDate
@@ -3983,12 +4094,21 @@ const maxXWidth = 5e6;
3983
4094
  if ($xeTable) {
3984
4095
  const startField = computeStartField.value;
3985
4096
  const endField = computeEndField.value;
4097
+ const {
4098
+ computeTreeOpts
4099
+ } = $xeTable.getComputeMaps();
3986
4100
  const tableInternalData = $xeTable.internalData;
3987
4101
  const {
3988
- afterFullData
4102
+ afterFullData,
4103
+ afterTreeFullData
3989
4104
  } = tableInternalData;
4105
+ const treeOpts = computeTreeOpts.value;
4106
+ const {
4107
+ transform
4108
+ } = treeOpts;
4109
+ const childrenField = treeOpts.children || treeOpts.childrenField;
3990
4110
  const ctMaps = {};
3991
- afterFullData.forEach(row => {
4111
+ const handleParseRender = row => {
3992
4112
  const rowid = $xeTable.getRowid(row);
3993
4113
  const startValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, startField);
3994
4114
  const endValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, endField);
@@ -4004,7 +4124,14 @@ const maxXWidth = 5e6;
4004
4124
  oWidthSize
4005
4125
  };
4006
4126
  }
4007
- });
4127
+ };
4128
+ if (treeConfig) {
4129
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, handleParseRender, {
4130
+ children: transform ? treeOpts.mapChildrenField : childrenField
4131
+ });
4132
+ } else {
4133
+ afterFullData.forEach(handleParseRender);
4134
+ }
4008
4135
  internalData.chartMaps = ctMaps;
4009
4136
  }
4010
4137
  }
@@ -4015,6 +4142,10 @@ const maxXWidth = 5e6;
4015
4142
  reactData.headerGroups = groupCols;
4016
4143
  };
4017
4144
  const handleUpdateData = () => {
4145
+ const ganttProps = $xeGantt.props;
4146
+ const {
4147
+ treeConfig
4148
+ } = ganttProps;
4018
4149
  const $xeTable = internalData.xeTable;
4019
4150
  const sdMaps = {};
4020
4151
  const edMaps = {};
@@ -4023,11 +4154,20 @@ const maxXWidth = 5e6;
4023
4154
  if ($xeTable) {
4024
4155
  const startField = computeStartField.value;
4025
4156
  const endField = computeEndField.value;
4157
+ const {
4158
+ computeTreeOpts
4159
+ } = $xeTable.getComputeMaps();
4026
4160
  const tableInternalData = $xeTable.internalData;
4027
4161
  const {
4028
- afterFullData
4162
+ afterFullData,
4163
+ afterTreeFullData
4029
4164
  } = tableInternalData;
4030
- afterFullData.forEach(row => {
4165
+ const treeOpts = computeTreeOpts.value;
4166
+ const {
4167
+ transform
4168
+ } = treeOpts;
4169
+ const childrenField = treeOpts.children || treeOpts.childrenField;
4170
+ const handleMinMaxData = row => {
4031
4171
  const startValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, startField);
4032
4172
  const endValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, endField);
4033
4173
  if (startValue && endValue) {
@@ -4040,7 +4180,14 @@ const maxXWidth = 5e6;
4040
4180
  maxDate = endDate;
4041
4181
  }
4042
4182
  }
4043
- });
4183
+ };
4184
+ if (treeConfig) {
4185
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, handleMinMaxData, {
4186
+ children: transform ? treeOpts.mapChildrenField : childrenField
4187
+ });
4188
+ } else {
4189
+ afterFullData.forEach(handleMinMaxData);
4190
+ }
4044
4191
  }
4045
4192
  reactData.minViewDate = minDate;
4046
4193
  reactData.maxViewDate = maxDate;
@@ -4203,6 +4350,7 @@ const maxXWidth = 5e6;
4203
4350
  const handleLazyRecalculate = () => {
4204
4351
  calcScrollbar();
4205
4352
  updateStyle();
4353
+ updateChart();
4206
4354
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
4207
4355
  };
4208
4356
  const updateScrollXSpace = () => {
@@ -4384,6 +4532,38 @@ const maxXWidth = 5e6;
4384
4532
  const ganttViewPrivateMethods = {
4385
4533
  handleUpdateStyle: updateStyle,
4386
4534
  handleLazyRecalculate,
4535
+ handleUpdateCurrentRow(row) {
4536
+ const $xeTable = internalData.xeTable;
4537
+ const el = refElem.value;
4538
+ if ($xeTable && el) {
4539
+ if (row) {
4540
+ const tableProps = $xeTable.props;
4541
+ const {
4542
+ highlightCurrentRow
4543
+ } = tableProps;
4544
+ const {
4545
+ computeRowOpts
4546
+ } = $xeTable.getComputeMaps();
4547
+ const rowOpts = computeRowOpts.value;
4548
+ if (rowOpts.isCurrent || highlightCurrentRow) {
4549
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${$xeTable.getRowid(row)}"]`), elem => addClass(elem, 'row--current'));
4550
+ }
4551
+ } else {
4552
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-gantt-view--body-row.row--current'), elem => removeClass(elem, 'row--current'));
4553
+ }
4554
+ }
4555
+ },
4556
+ handleUpdateHoverRow(row) {
4557
+ const $xeTable = internalData.xeTable;
4558
+ const el = refElem.value;
4559
+ if ($xeTable && el) {
4560
+ if (row) {
4561
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${$xeTable.getRowid(row)}"]`), elem => addClass(elem, 'row--hover'));
4562
+ } else {
4563
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-gantt-view--body-row.row--hover'), elem => removeClass(elem, 'row--hover'));
4564
+ }
4565
+ }
4566
+ },
4387
4567
  triggerHeaderScrollEvent(evnt) {
4388
4568
  const {
4389
4569
  elemStore,
@@ -4665,7 +4845,7 @@ function utils_eqEmptyValue(cellValue) {
4665
4845
  ;// ./node_modules/vxe-table/es/ui/index.js
4666
4846
 
4667
4847
 
4668
- const ui_version = "4.15.7";
4848
+ const ui_version = "4.16.0-beta.0";
4669
4849
  core_.VxeUI.version = ui_version;
4670
4850
  core_.VxeUI.tableVersion = ui_version;
4671
4851
  core_.VxeUI.setConfig({
@@ -5160,7 +5340,7 @@ var es_iterator_some = __webpack_require__(3579);
5160
5340
  const {
5161
5341
  log: log_log
5162
5342
  } = core_.VxeUI;
5163
- const log_version = `table v${"4.15.7"}`;
5343
+ const log_version = `table v${"4.16.0-beta.0"}`;
5164
5344
  const log_warnLog = log_log.create('warn', log_version);
5165
5345
  const log_errLog = log_log.create('error', log_version);
5166
5346
  ;// ./node_modules/vxe-table/es/table/src/columnInfo.js
@@ -8629,6 +8809,7 @@ const renderType = 'body';
8629
8809
  } = tableProps;
8630
8810
  const {
8631
8811
  tableData,
8812
+ tableColumn,
8632
8813
  dragRow,
8633
8814
  overflowX,
8634
8815
  overflowY,
@@ -8872,9 +9053,9 @@ const renderType = 'body';
8872
9053
  let isVNPreEmptyStatus = false;
8873
9054
  if (!isMergeCell) {
8874
9055
  if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
8875
- if (overflowY && scrollYLoad && !treeConfig && !virtualYOpts.immediate && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
9056
+ if (overflowY && scrollYLoad && tableData.length > 16 && !treeConfig && !virtualYOpts.immediate && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
8876
9057
  isVNPreEmptyStatus = true;
8877
- } else if (overflowX && scrollXLoad && !virtualXOpts.immediate && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
9058
+ } else if (overflowX && scrollXLoad && tableColumn.length > 10 && !virtualXOpts.immediate && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
8878
9059
  isVNPreEmptyStatus = true;
8879
9060
  }
8880
9061
  }
@@ -9543,7 +9724,8 @@ const header_renderType = 'header';
9543
9724
  dragCol,
9544
9725
  scrollXLoad,
9545
9726
  scrollYLoad,
9546
- overflowX
9727
+ overflowX,
9728
+ tableColumn
9547
9729
  } = tableReactData;
9548
9730
  const {
9549
9731
  fullColumnIdData,
@@ -9640,7 +9822,7 @@ const header_renderType = 'header';
9640
9822
  let isVNPreEmptyStatus = false;
9641
9823
  if (isOptimizeMode && overflowX && !isGroup) {
9642
9824
  if (!dragCol || dragCol.id !== colid) {
9643
- if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
9825
+ if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
9644
9826
  isVNPreEmptyStatus = true;
9645
9827
  }
9646
9828
  }
@@ -10104,7 +10286,7 @@ const footer_renderType = 'footer';
10104
10286
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
10105
10287
  let isVNPreEmptyStatus = false;
10106
10288
  if (isOptimizeMode && overflowX && !isMergeCell) {
10107
- if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
10289
+ if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
10108
10290
  isVNPreEmptyStatus = true;
10109
10291
  }
10110
10292
  }
@@ -19587,7 +19769,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
19587
19769
  */const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?utils_isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){log_errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};/**
19588
19770
  * 更新数据列的 Map
19589
19771
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
19590
- */const cacheColumnMap=()=>{const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(utils_hasChildrenList);let isAllOverflow=!!props.showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){log_errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type||columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){log_errLog('vxe.error.reqProp',[`${column.getTitle()||type||''} -> column.field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){log_warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){log_warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){log_errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){log_warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){log_errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(htmlColumn){if(!columnOpts.useKey){log_errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){log_errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
19772
+ */const cacheColumnMap=()=>{const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(utils_hasChildrenList);let isAllOverflow=!!props.showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){log_errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){log_errLog('vxe.error.reqSupportProp',['storage',`${column.getTitle()||type||''} -> field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){log_errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){log_warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){log_warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){log_warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){log_errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){log_warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){log_errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(htmlColumn){if(!columnOpts.useKey){log_errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){log_errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
19591
19773
  if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight)){internalData.customHeight=300;}};const calcColumnAutoWidth=(column,wrapperEl)=>{const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=column.renderAutoWidth-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
19592
19774
  * 列宽算法,计算单元格列宽,动态分配可用剩余空间
19593
19775
  * 支持 px、%、固定 混合分配
@@ -19981,8 +20163,8 @@ setTimeout(()=>{internalData.intoRunScroll=false;resolve();},10);});},/**
19981
20163
  const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){const handleClearChecked=item=>{if(treeConfig&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,indeterminateField,false);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,checkField,false);};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData,handleClearChecked,{children:childrenField});}else{tableFullData.forEach(handleClearChecked);}}if(reserve){tableFullData.forEach(row=>handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19982
20164
  * 用于当前行,设置某一行为高亮状态
19983
20165
  * @param {Row} row 行对象
19984
- */setCurrentRow(row){const rowOpts=computeRowOpts.value;const el=refElem.value;tableMethods.clearCurrentRow();// tableMethods.clearCurrentColumn()
19985
- reactData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${getRowid($xeTable,row)}"]`),elem=>dom_addClass(elem,'row--current'));}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isCheckedByRadioRow(row){const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
20166
+ */setCurrentRow(row){const $xeGanttView=internalData.xeGanttView;const rowOpts=computeRowOpts.value;const el=refElem.value;tableMethods.clearCurrentRow();// tableMethods.clearCurrentColumn()
20167
+ reactData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${getRowid($xeTable,row)}"]`),elem=>dom_addClass(elem,'row--current'));}}if($xeGanttView){$xeGanttView.handleUpdateCurrentRow(row);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isCheckedByRadioRow(row){const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
19986
20168
  * 用于单选行,设置某一行为选中状态
19987
20169
  * @param {Row} row 行对象
19988
20170
  */setRadioRow(row){return handleCheckedRadioRow(row,true);},/**
@@ -19990,7 +20172,7 @@ reactData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el)
19990
20172
  * @param key 行主键
19991
20173
  */setRadioRowKey(rowid){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return handleCheckedRadioRow(rowRest.row,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19992
20174
  * 用于当前行,手动清空当前高亮的状态
19993
- */clearCurrentRow(){const el=refElem.value;reactData.currentRow=null;internalData.hoverRow=null;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.row--current'),elem=>dom_removeClass(elem,'row--current'));}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
20175
+ */clearCurrentRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;reactData.currentRow=null;internalData.hoverRow=null;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.row--current'),elem=>dom_removeClass(elem,'row--current'));}if($xeGanttView){$xeGanttView.handleUpdateCurrentRow();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19994
20176
  * 用于单选行,手动清空用户的选择
19995
20177
  */clearRadioRow(){reactData.selectRadioRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19996
20178
  * 用于当前行,获取当前行的数据
@@ -20329,7 +20511,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=table_m
20329
20511
  * 处理固定列的显示状态
20330
20512
  */checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=util_getRefElem(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){dom_addClass(leftContainerElem,'scrolling--middle');}else{dom_removeClass(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){dom_addClass(rightContainerElem,'scrolling--middle');}else{dom_removeClass(rightContainerElem,'scrolling--middle');}}}},handleUpdateAggData(){return loadTableData(internalData.tableSynchData,true);},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<utils_getLastZIndex()){internalData.tZindex=utils_nextZIndex();}},handleCheckedCheckboxRow,/**
20331
20513
  * 行 hover 事件
20332
- */triggerHoverEvent(evnt,{row}){tablePrivateMethods.setHoverRow(row);},setHoverRow(row){const rowid=getRowid($xeTable,row);const el=refElem.value;tablePrivateMethods.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`),elem=>dom_addClass(elem,'row--hover'));}internalData.hoverRow=row;},clearHoverRow(){const el=refElem.value;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'),elem=>dom_removeClass(elem,'row--hover'));}internalData.hoverRow=null;},/**
20514
+ */triggerHoverEvent(evnt,{row}){tablePrivateMethods.setHoverRow(row);},setHoverRow(row){const $xeGanttView=internalData.xeGanttView;const rowid=getRowid($xeTable,row);const el=refElem.value;tablePrivateMethods.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`),elem=>dom_addClass(elem,'row--hover'));}internalData.hoverRow=row;if($xeGanttView){$xeGanttView.handleUpdateHoverRow(row);}},clearHoverRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'),elem=>dom_removeClass(elem,'row--hover'));}internalData.hoverRow=null;if($xeGanttView){$xeGanttView.handleUpdateHoverRow();}},/**
20333
20515
  * 已废弃,被 getCellElement 替换
20334
20516
  * @deprecated
20335
20517
  */getCell(row,column){return tableMethods.getCellElement(row,column);},findRowIndexOf(list,row){return row?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list,item=>$xeTable.eqRow(item,row)):-1;},eqRow(row1,row2){if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;},handleConnectGanttView($ganttView){if($ganttView&&$ganttView.connectUpdate){$ganttView.connectUpdate({$table:$xeTable});internalData.xeGanttView=$ganttView;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}};// 检测对应模块是否安装
@@ -21823,10 +22005,11 @@ function grid_createInternalData() {
21823
22005
  toolbarConfig
21824
22006
  } = props;
21825
22007
  const toolbarOpts = computeToolbarOpts.value;
21826
- if (toolbarConfig && utils_isEnableConf(toolbarOpts) || slots.toolbar) {
22008
+ const toolbarSlot = slots.toolbar;
22009
+ if (toolbarConfig && utils_isEnableConf(toolbarOpts) || toolbarSlot) {
21827
22010
  let slotVNs = [];
21828
- if (slots.toolbar) {
21829
- slotVNs = slots.toolbar({
22011
+ if (toolbarSlot) {
22012
+ slotVNs = toolbarSlot({
21830
22013
  $grid: $xeGrid,
21831
22014
  $gantt: null
21832
22015
  });
@@ -23072,6 +23255,7 @@ const Toolbar = (/* unused pure expression or super */ null && (VxeToolbar));
23072
23255
  errConflicts: '参数 "{0}" 与 "{1}" 有冲突',
23073
23256
  modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
23074
23257
  notSupportProp: '当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',
23258
+ reqSupportProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会出现错误',
23075
23259
  notConflictProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',
23076
23260
  unableInsert: '无法插入到指定位置,请检查参数是否正确',
23077
23261
  useErr: '安装 "{0}" 模块时发生错误,可能顺序不正确,依赖的模块需要在 Table 之前安装',
@@ -23109,7 +23293,8 @@ const Toolbar = (/* unused pure expression or super */ null && (VxeToolbar));
23109
23293
  treeDragChild: '父级不能拖拽到自己的子级中',
23110
23294
  reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
23111
23295
  errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误',
23112
- useNew: '不建议使用 {0},请使用 {1}'
23296
+ useNew: '不建议使用 {0},请使用 {1}',
23297
+ errorVersion: '版本不匹配,当前版本 {0},最低支持版本为 {1}'
23113
23298
  },
23114
23299
  table: {
23115
23300
  emptyText: '暂无数据',
@@ -25413,6 +25598,28 @@ function gantt_createInternalData() {
25413
25598
  }, evnt);
25414
25599
  },
25415
25600
  handleTaskCellClickEvent(evnt, params) {
25601
+ const $xeTable = refTable.value;
25602
+ if ($xeTable) {
25603
+ const tableProps = $xeTable.props;
25604
+ const {
25605
+ highlightCurrentRow
25606
+ } = tableProps;
25607
+ const {
25608
+ computeRowOpts
25609
+ } = $xeTable.getComputeMaps();
25610
+ const rowOpts = computeRowOpts.value;
25611
+ const {
25612
+ row
25613
+ } = params;
25614
+ // 如果是当前行
25615
+ if (rowOpts.isCurrent || highlightCurrentRow) {
25616
+ $xeTable.triggerCurrentRowEvent(evnt, Object.assign({
25617
+ $table: $xeTable,
25618
+ rowIndex: $xeTable.getRowIndex(row),
25619
+ $rowIndex: $xeTable.getVMRowIndex(row)
25620
+ }, params));
25621
+ }
25622
+ }
25416
25623
  $xeGantt.dispatchEvent('task-cell-click', params, evnt);
25417
25624
  },
25418
25625
  handleTaskCellDblclickEvent(evnt, params) {
@@ -25734,17 +25941,18 @@ function gantt_createInternalData() {
25734
25941
  if (!enabled) {
25735
25942
  return gantt_renderEmptyElement($xeGantt);
25736
25943
  }
25944
+ const isResize = resize && showLeftView && showRightView;
25737
25945
  const ons = {};
25738
- if (resize) {
25946
+ if (isResize) {
25739
25947
  ons.onMousedown = dragSplitEvent;
25740
25948
  }
25741
25949
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
25742
25950
  class: ['vxe-gantt--view-split-bar', {
25743
- 'is--resize': resize,
25744
- ...ons
25951
+ 'is--resize': isResize
25745
25952
  }]
25746
25953
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
25747
- class: 'vxe-gantt--view-split-bar-handle'
25954
+ class: 'vxe-gantt--view-split-bar-handle',
25955
+ ...ons
25748
25956
  }), showCollapseTableButton || showCollapseTaskButton ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
25749
25957
  class: 'vxe-gantt--view-split-bar-btn-wrapper'
25750
25958
  }, [showCollapseTableButton && showRightView ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {