vxe-gantt 4.1.0 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/gantt/src/emits.js +2 -0
- package/es/gantt/src/gantt-body.js +25 -3
- package/es/gantt/src/gantt-chart.js +41 -21
- package/es/gantt/src/gantt-header.js +11 -8
- package/es/gantt/src/gantt-view.js +5 -2
- package/es/gantt/src/gantt.js +138 -8
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/emits.js +1 -1
- package/lib/gantt/src/emits.min.js +1 -1
- package/lib/gantt/src/gantt-body.js +8 -1
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +43 -18
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-header.js +9 -7
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +5 -2
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +146 -6
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +216 -35
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +4 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/emits.ts +2 -0
- package/packages/gantt/src/gantt-body.ts +25 -3
- package/packages/gantt/src/gantt-chart.ts +47 -16
- package/packages/gantt/src/gantt-header.ts +9 -7
- package/packages/gantt/src/gantt-view.ts +5 -2
- package/packages/gantt/src/gantt.ts +146 -8
- package/packages/ui/index.ts +3 -0
package/lib/index.umd.js
CHANGED
|
@@ -2780,7 +2780,7 @@ var core_ = __webpack_require__(4345);
|
|
|
2780
2780
|
const {
|
|
2781
2781
|
log
|
|
2782
2782
|
} = core_.VxeUI;
|
|
2783
|
-
const version = `gantt v${"4.1.
|
|
2783
|
+
const version = `gantt v${"4.1.2"}`;
|
|
2784
2784
|
const warnLog = log.create('warn', version);
|
|
2785
2785
|
const errLog = log.create('error', version);
|
|
2786
2786
|
;// ./packages/ui/index.ts
|
|
@@ -2791,7 +2791,7 @@ const {
|
|
|
2791
2791
|
setIcon,
|
|
2792
2792
|
checkVersion
|
|
2793
2793
|
} = core_.VxeUI;
|
|
2794
|
-
core_.VxeUI.ganttVersion = "4.1.
|
|
2794
|
+
core_.VxeUI.ganttVersion = "4.1.2";
|
|
2795
2795
|
setConfig({
|
|
2796
2796
|
gantt: {
|
|
2797
2797
|
// size: null,
|
|
@@ -2830,6 +2830,9 @@ setConfig({
|
|
|
2830
2830
|
// beforeSave: null,
|
|
2831
2831
|
// afterSave: null
|
|
2832
2832
|
},
|
|
2833
|
+
taskBarTooltipConfig: {
|
|
2834
|
+
enterable: true
|
|
2835
|
+
},
|
|
2833
2836
|
taskViewScaleConfig: {
|
|
2834
2837
|
week: {
|
|
2835
2838
|
startDay: 1
|
|
@@ -3079,7 +3082,7 @@ function getFuncText(content, args) {
|
|
|
3079
3082
|
return '';
|
|
3080
3083
|
}
|
|
3081
3084
|
function formatText(value, placeholder) {
|
|
3082
|
-
return '' + (isEmptyValue(value) ? placeholder ? VxeUI.getConfig().emptyCell : '' : value);
|
|
3085
|
+
return '' + (isEmptyValue(value) ? placeholder ? core_.VxeUI.getConfig().emptyCell : '' : value);
|
|
3083
3086
|
}
|
|
3084
3087
|
/**
|
|
3085
3088
|
* 判断值为:'' | null | undefined 时都属于空值
|
|
@@ -3297,7 +3300,7 @@ const tableEmits = ['update:data', 'keydown-start', 'keydown', 'keydown-end', 'p
|
|
|
3297
3300
|
const gridEmits = [...tableEmits, 'page-change', 'form-submit', 'form-submit-invalid', 'form-reset', 'form-collapse', 'form-toggle-collapse', 'proxy-query', 'proxy-delete', 'proxy-save', 'toolbar-button-click', 'toolbar-tool-click', 'zoom'];
|
|
3298
3301
|
;// ./packages/gantt/src/emits.ts
|
|
3299
3302
|
|
|
3300
|
-
const ganttEmits = [...gridEmits, 'task-cell-click', 'task-cell-dblclick', 'task-bar-click', 'task-bar-dblclick', 'task-view-cell-click', 'task-view-cell-dblclick'];
|
|
3303
|
+
const ganttEmits = [...gridEmits, 'task-cell-click', 'task-cell-dblclick', 'task-bar-mouseenter', 'task-bar-mouseleave', 'task-bar-click', 'task-bar-dblclick', 'task-view-cell-click', 'task-view-cell-dblclick'];
|
|
3301
3304
|
;// ./packages/gantt/src/util.ts
|
|
3302
3305
|
function getRefElem(refEl) {
|
|
3303
3306
|
if (refEl) {
|
|
@@ -3412,15 +3415,17 @@ const viewType = 'header';
|
|
|
3412
3415
|
dateObj
|
|
3413
3416
|
} = column;
|
|
3414
3417
|
let label = `${column.title}`;
|
|
3415
|
-
if (
|
|
3416
|
-
|
|
3417
|
-
label = getI18n(`vxe.gantt.dayss.w${dateObj.e}`);
|
|
3418
|
-
} else {
|
|
3419
|
-
label = getI18n(`vxe.gantt.${!$rowIndex && headerGroups.length > 1 ? 'tFullFormat' : 'tSimpleFormat'}.${type}`, dateObj);
|
|
3420
|
-
}
|
|
3418
|
+
if (scaleItem.type === 'day') {
|
|
3419
|
+
label = getI18n(`vxe.gantt.dayss.w${dateObj.e}`);
|
|
3421
3420
|
} else {
|
|
3422
|
-
if (
|
|
3421
|
+
if ($rowIndex) {
|
|
3423
3422
|
label = getI18n(`vxe.gantt.tSimpleFormat.${type}`, dateObj);
|
|
3423
|
+
} else {
|
|
3424
|
+
if (isLast && scaleItem.type === 'week') {
|
|
3425
|
+
label = getI18n(`vxe.gantt.tSimpleFormat.${type}`, dateObj);
|
|
3426
|
+
} else {
|
|
3427
|
+
label = getI18n(`vxe.gantt.tFullFormat.${type}`, dateObj);
|
|
3428
|
+
}
|
|
3424
3429
|
}
|
|
3425
3430
|
}
|
|
3426
3431
|
let cellVNs = label;
|
|
@@ -3513,7 +3518,8 @@ const gantt_chart_viewType = 'chart';
|
|
|
3513
3518
|
const {
|
|
3514
3519
|
computeProgressField,
|
|
3515
3520
|
computeTitleField,
|
|
3516
|
-
computeTaskBarOpts
|
|
3521
|
+
computeTaskBarOpts,
|
|
3522
|
+
computeScaleUnit
|
|
3517
3523
|
} = $xeGantt.getComputeMaps();
|
|
3518
3524
|
const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
3519
3525
|
const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
|
|
@@ -3542,16 +3548,19 @@ const gantt_chart_viewType = 'chart';
|
|
|
3542
3548
|
const titleField = computeTitleField.value;
|
|
3543
3549
|
const progressField = computeProgressField.value;
|
|
3544
3550
|
const taskBarOpts = computeTaskBarOpts.value;
|
|
3551
|
+
const scaleUnit = computeScaleUnit.value;
|
|
3545
3552
|
const barParams = {
|
|
3546
3553
|
$gantt: $xeGantt,
|
|
3547
|
-
row
|
|
3554
|
+
row,
|
|
3555
|
+
scaleType: scaleUnit
|
|
3548
3556
|
};
|
|
3549
3557
|
const {
|
|
3550
3558
|
showProgress,
|
|
3551
3559
|
showContent,
|
|
3552
3560
|
contentMethod,
|
|
3553
3561
|
barStyle,
|
|
3554
|
-
drag
|
|
3562
|
+
drag,
|
|
3563
|
+
showTooltip
|
|
3555
3564
|
} = taskBarOpts;
|
|
3556
3565
|
const isBarRowStyle = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(barStyle);
|
|
3557
3566
|
const barStyObj = (barStyle ? isBarRowStyle ? barStyle(barParams) : barStyle : {}) || {};
|
|
@@ -3583,17 +3592,49 @@ const gantt_chart_viewType = 'chart';
|
|
|
3583
3592
|
if (contentMethod) {
|
|
3584
3593
|
title = getStringValue(contentMethod({
|
|
3585
3594
|
row,
|
|
3586
|
-
title
|
|
3595
|
+
title,
|
|
3596
|
+
scaleType: scaleUnit
|
|
3587
3597
|
}));
|
|
3588
3598
|
}
|
|
3589
3599
|
const ctParams = {
|
|
3600
|
+
$gantt: $xeGantt,
|
|
3590
3601
|
source: gantt_chart_sourceType,
|
|
3591
3602
|
type: gantt_chart_viewType,
|
|
3603
|
+
scaleType: scaleUnit,
|
|
3592
3604
|
row,
|
|
3593
3605
|
$rowIndex,
|
|
3594
3606
|
rowIndex,
|
|
3595
3607
|
_rowIndex
|
|
3596
3608
|
};
|
|
3609
|
+
const ons = {
|
|
3610
|
+
onClick(evnt) {
|
|
3611
|
+
$xeGantt.handleTaskBarClickEvent(evnt, barParams);
|
|
3612
|
+
},
|
|
3613
|
+
onDblclick(evnt) {
|
|
3614
|
+
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
3615
|
+
},
|
|
3616
|
+
onMousedown(evnt) {
|
|
3617
|
+
if ($xeGantt.handleTaskBarMousedownEvent) {
|
|
3618
|
+
$xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
};
|
|
3622
|
+
if (showTooltip) {
|
|
3623
|
+
ons.onMouseover = evnt => {
|
|
3624
|
+
const ttParams = Object.assign({
|
|
3625
|
+
$event: evnt
|
|
3626
|
+
}, ctParams);
|
|
3627
|
+
$xeGantt.triggerTaskBarTooltipEvent(evnt, ttParams);
|
|
3628
|
+
$xeGantt.dispatchEvent('task-bar-mouseenter', ttParams, evnt);
|
|
3629
|
+
};
|
|
3630
|
+
ons.onMouseleave = evnt => {
|
|
3631
|
+
const ttParams = Object.assign({
|
|
3632
|
+
$event: evnt
|
|
3633
|
+
}, ctParams);
|
|
3634
|
+
$xeGantt.handleTaskBarTooltipLeaveEvent(evnt, ttParams);
|
|
3635
|
+
$xeGantt.dispatchEvent('task-bar-mouseleave', ttParams, evnt);
|
|
3636
|
+
};
|
|
3637
|
+
}
|
|
3597
3638
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3598
3639
|
key: treeConfig ? rowid : $rowIndex,
|
|
3599
3640
|
rowid,
|
|
@@ -3612,17 +3653,7 @@ const gantt_chart_viewType = 'chart';
|
|
|
3612
3653
|
class: taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar',
|
|
3613
3654
|
style: vbStyle,
|
|
3614
3655
|
rowid,
|
|
3615
|
-
|
|
3616
|
-
$xeGantt.handleTaskBarClickEvent(evnt, barParams);
|
|
3617
|
-
},
|
|
3618
|
-
onDblclick(evnt) {
|
|
3619
|
-
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
3620
|
-
},
|
|
3621
|
-
onMousedown(evnt) {
|
|
3622
|
-
if ($xeGantt.handleTaskBarMousedownEvent) {
|
|
3623
|
-
$xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
|
|
3624
|
-
}
|
|
3625
|
-
}
|
|
3656
|
+
...ons
|
|
3626
3657
|
}, taskBarSlot ? $xeGantt.callSlot(taskBarSlot, barParams) : [showProgress ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3627
3658
|
class: 'vxe-gantt-view--chart-progress',
|
|
3628
3659
|
style: vpStyle
|
|
@@ -3725,7 +3756,8 @@ const gantt_body_viewType = 'body';
|
|
|
3725
3756
|
const $xeGantt = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGantt', {});
|
|
3726
3757
|
const $xeGanttView = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGanttView', {});
|
|
3727
3758
|
const {
|
|
3728
|
-
computeTaskViewOpts
|
|
3759
|
+
computeTaskViewOpts,
|
|
3760
|
+
computeScaleUnit
|
|
3729
3761
|
} = $xeGantt.getComputeMaps();
|
|
3730
3762
|
const {
|
|
3731
3763
|
reactData,
|
|
@@ -3770,6 +3802,7 @@ const gantt_body_viewType = 'body';
|
|
|
3770
3802
|
showNowLine,
|
|
3771
3803
|
viewStyle
|
|
3772
3804
|
} = taskViewOpts;
|
|
3805
|
+
const scaleUnit = computeScaleUnit.value;
|
|
3773
3806
|
const {
|
|
3774
3807
|
scaleItem
|
|
3775
3808
|
} = headerGroups[headerGroups.length - 1] || {};
|
|
@@ -3820,8 +3853,10 @@ const gantt_body_viewType = 'body';
|
|
|
3820
3853
|
}));
|
|
3821
3854
|
}
|
|
3822
3855
|
const ctParams = {
|
|
3856
|
+
$gantt: $xeGantt,
|
|
3823
3857
|
source: gantt_body_sourceType,
|
|
3824
3858
|
type: gantt_body_viewType,
|
|
3859
|
+
scaleType: scaleUnit,
|
|
3825
3860
|
dateObj,
|
|
3826
3861
|
row,
|
|
3827
3862
|
column,
|
|
@@ -3892,6 +3927,7 @@ const gantt_body_viewType = 'body';
|
|
|
3892
3927
|
transform
|
|
3893
3928
|
} = treeOpts;
|
|
3894
3929
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3930
|
+
const scaleUnit = computeScaleUnit.value;
|
|
3895
3931
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
3896
3932
|
const {
|
|
3897
3933
|
viewStyle
|
|
@@ -3939,8 +3975,10 @@ const gantt_body_viewType = 'body';
|
|
|
3939
3975
|
trOns.onDragover = $xeTable.handleRowDragDragoverEvent;
|
|
3940
3976
|
}
|
|
3941
3977
|
const rowParams = {
|
|
3978
|
+
$gantt: $xeGantt,
|
|
3942
3979
|
source: gantt_body_sourceType,
|
|
3943
3980
|
type: gantt_body_viewType,
|
|
3981
|
+
scaleType: scaleUnit,
|
|
3944
3982
|
row,
|
|
3945
3983
|
rowIndex,
|
|
3946
3984
|
$rowIndex,
|
|
@@ -4439,7 +4477,7 @@ const maxYHeight = 5e6;
|
|
|
4439
4477
|
if (minScale.level < 17) {
|
|
4440
4478
|
handleData('quarter', colMaps, minCol);
|
|
4441
4479
|
}
|
|
4442
|
-
if (minScale.level <
|
|
4480
|
+
if (minScale.level < 15) {
|
|
4443
4481
|
handleData('month', colMaps, minCol);
|
|
4444
4482
|
}
|
|
4445
4483
|
if (minScale.level < 13) {
|
|
@@ -4448,7 +4486,7 @@ const maxYHeight = 5e6;
|
|
|
4448
4486
|
if (minScale.level < 11) {
|
|
4449
4487
|
handleData('day', colMaps, minCol);
|
|
4450
4488
|
}
|
|
4451
|
-
if (minScale.level <
|
|
4489
|
+
if (minScale.level < 9) {
|
|
4452
4490
|
handleData('date', colMaps, minCol);
|
|
4453
4491
|
}
|
|
4454
4492
|
if (minScale.level < 7) {
|
|
@@ -4457,6 +4495,9 @@ const maxYHeight = 5e6;
|
|
|
4457
4495
|
if (minScale.level < 5) {
|
|
4458
4496
|
handleData('minute', colMaps, minCol);
|
|
4459
4497
|
}
|
|
4498
|
+
if (minScale.level < 3) {
|
|
4499
|
+
handleData('second', colMaps, minCol);
|
|
4500
|
+
}
|
|
4460
4501
|
fullCols.push(minCol);
|
|
4461
4502
|
}
|
|
4462
4503
|
taskScaleList.forEach(scaleItem => {
|
|
@@ -5787,6 +5828,7 @@ function gantt_createInternalData() {
|
|
|
5787
5828
|
return {
|
|
5788
5829
|
uFoot: false,
|
|
5789
5830
|
resizeTableWidth: 0
|
|
5831
|
+
// barTipTimeout: undefined
|
|
5790
5832
|
};
|
|
5791
5833
|
}
|
|
5792
5834
|
const viewTypeLevelMaps = {
|
|
@@ -5819,6 +5861,7 @@ function getViewTypeLevel(type) {
|
|
|
5819
5861
|
taskViewScaleConfig: Object,
|
|
5820
5862
|
taskViewConfig: Object,
|
|
5821
5863
|
taskBarConfig: Object,
|
|
5864
|
+
taskBarTooltipConfig: Object,
|
|
5822
5865
|
taskSplitConfig: Object,
|
|
5823
5866
|
taskBarResizeConfig: Object,
|
|
5824
5867
|
taskBarDragConfig: Object,
|
|
@@ -5839,6 +5882,7 @@ function getViewTypeLevel(type) {
|
|
|
5839
5882
|
const VxeUIPagerComponent = core_.VxeUI.getComponent('VxePager');
|
|
5840
5883
|
const VxeTableComponent = core_.VxeUI.getComponent('VxeTable');
|
|
5841
5884
|
const VxeToolbarComponent = core_.VxeUI.getComponent('VxeToolbar');
|
|
5885
|
+
const VxeUITooltipComponent = core_.VxeUI.getComponent('VxeTooltip');
|
|
5842
5886
|
const {
|
|
5843
5887
|
computeSize
|
|
5844
5888
|
} = useFns.useSize(props);
|
|
@@ -5859,7 +5903,13 @@ function getViewTypeLevel(type) {
|
|
|
5859
5903
|
},
|
|
5860
5904
|
showLeftView: true,
|
|
5861
5905
|
showRightView: true,
|
|
5862
|
-
taskScaleList: []
|
|
5906
|
+
taskScaleList: [],
|
|
5907
|
+
barTipStore: {
|
|
5908
|
+
row: null,
|
|
5909
|
+
content: '',
|
|
5910
|
+
visible: false,
|
|
5911
|
+
params: null
|
|
5912
|
+
}
|
|
5863
5913
|
});
|
|
5864
5914
|
const internalData = gantt_createInternalData();
|
|
5865
5915
|
const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
@@ -5878,6 +5928,7 @@ function getViewTypeLevel(type) {
|
|
|
5878
5928
|
const refPagerWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
5879
5929
|
const refTableWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
5880
5930
|
const refGanttWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
5931
|
+
const refTooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
5881
5932
|
const refResizableSplitTip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
5882
5933
|
const extendTableMethods = methodKeys => {
|
|
5883
5934
|
const funcs = {};
|
|
@@ -5944,6 +5995,9 @@ function getViewTypeLevel(type) {
|
|
|
5944
5995
|
const computeTaskSplitOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
5945
5996
|
return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
|
|
5946
5997
|
});
|
|
5998
|
+
const computeTaskBarTooltipOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
5999
|
+
return Object.assign({}, getConfig().gantt.taskBarTooltipConfig, props.taskBarTooltipConfig);
|
|
6000
|
+
});
|
|
5947
6001
|
const computeScaleUnit = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
5948
6002
|
const minScale = computeMinScale.value;
|
|
5949
6003
|
return minScale ? minScale.type : 'date';
|
|
@@ -5960,7 +6014,7 @@ function getViewTypeLevel(type) {
|
|
|
5960
6014
|
} = reactData;
|
|
5961
6015
|
return taskScaleList.find(item => item.type === 'week');
|
|
5962
6016
|
});
|
|
5963
|
-
const
|
|
6017
|
+
const computeTaskViewScales = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
5964
6018
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
5965
6019
|
const {
|
|
5966
6020
|
scales
|
|
@@ -6220,7 +6274,8 @@ function getViewTypeLevel(type) {
|
|
|
6220
6274
|
computeTaskBarDragOpts,
|
|
6221
6275
|
computeTaskBarResizeOpts,
|
|
6222
6276
|
computeTaskSplitOpts,
|
|
6223
|
-
|
|
6277
|
+
computeTaskBarTooltipOpts,
|
|
6278
|
+
computeTaskViewScales,
|
|
6224
6279
|
computeScaleUnit,
|
|
6225
6280
|
computeMinScale,
|
|
6226
6281
|
computeWeekScale,
|
|
@@ -6232,6 +6287,7 @@ function getViewTypeLevel(type) {
|
|
|
6232
6287
|
computeScrollbarXToTop,
|
|
6233
6288
|
computeScrollbarYToLeft
|
|
6234
6289
|
};
|
|
6290
|
+
computeMaps.computeTaskScaleConfs = computeTaskViewScales;
|
|
6235
6291
|
const $xeGantt = {
|
|
6236
6292
|
xID,
|
|
6237
6293
|
props: props,
|
|
@@ -6242,7 +6298,7 @@ function getViewTypeLevel(type) {
|
|
|
6242
6298
|
getComputeMaps: () => computeMaps
|
|
6243
6299
|
};
|
|
6244
6300
|
const handleTaskScaleConfig = () => {
|
|
6245
|
-
const taskScaleConfs =
|
|
6301
|
+
const taskScaleConfs = computeTaskViewScales.value;
|
|
6246
6302
|
const taskViewScaleOpts = computeTaskViewScaleOpts.value;
|
|
6247
6303
|
const scaleConfs = [];
|
|
6248
6304
|
if (taskScaleConfs) {
|
|
@@ -6779,6 +6835,17 @@ function getViewTypeLevel(type) {
|
|
|
6779
6835
|
$gantt: $xeGantt
|
|
6780
6836
|
}, params));
|
|
6781
6837
|
};
|
|
6838
|
+
const handleTargetEnterEvent = isClear => {
|
|
6839
|
+
const $tooltip = refTooltip.value;
|
|
6840
|
+
clearTimeout(internalData.barTipTimeout);
|
|
6841
|
+
if (isClear) {
|
|
6842
|
+
$xeGantt.closeTaskBarTooltip();
|
|
6843
|
+
} else {
|
|
6844
|
+
if ($tooltip && $tooltip.setActived) {
|
|
6845
|
+
$tooltip.setActived(true);
|
|
6846
|
+
}
|
|
6847
|
+
}
|
|
6848
|
+
};
|
|
6782
6849
|
const ganttMethods = {
|
|
6783
6850
|
dispatchEvent,
|
|
6784
6851
|
getEl() {
|
|
@@ -7514,6 +7581,27 @@ function getViewTypeLevel(type) {
|
|
|
7514
7581
|
hideTaskView() {
|
|
7515
7582
|
reactData.showRightView = false;
|
|
7516
7583
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
7584
|
+
},
|
|
7585
|
+
/**
|
|
7586
|
+
* 关闭 bar tooltip
|
|
7587
|
+
*/
|
|
7588
|
+
closeTaskBarTooltip() {
|
|
7589
|
+
const {
|
|
7590
|
+
barTipStore
|
|
7591
|
+
} = reactData;
|
|
7592
|
+
const $tooltip = refTooltip.value;
|
|
7593
|
+
if (barTipStore.visible) {
|
|
7594
|
+
Object.assign(barTipStore, {
|
|
7595
|
+
row: null,
|
|
7596
|
+
content: null,
|
|
7597
|
+
visible: false,
|
|
7598
|
+
params: {}
|
|
7599
|
+
});
|
|
7600
|
+
if ($tooltip && $tooltip.close) {
|
|
7601
|
+
$tooltip.close();
|
|
7602
|
+
}
|
|
7603
|
+
}
|
|
7604
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
7517
7605
|
}
|
|
7518
7606
|
};
|
|
7519
7607
|
const ganttPrivateMethods = {
|
|
@@ -7659,6 +7747,61 @@ function getViewTypeLevel(type) {
|
|
|
7659
7747
|
handleTaskBarDblclickEvent(evnt, params) {
|
|
7660
7748
|
$xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
|
|
7661
7749
|
},
|
|
7750
|
+
triggerTaskBarTooltipEvent(evnt, params) {
|
|
7751
|
+
const {
|
|
7752
|
+
barTipStore
|
|
7753
|
+
} = reactData;
|
|
7754
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
7755
|
+
const titleField = computeTitleField.value;
|
|
7756
|
+
const {
|
|
7757
|
+
contentMethod
|
|
7758
|
+
} = taskBarTooltipOpts;
|
|
7759
|
+
const {
|
|
7760
|
+
row
|
|
7761
|
+
} = params;
|
|
7762
|
+
let content = formatText(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, titleField));
|
|
7763
|
+
if (contentMethod) {
|
|
7764
|
+
const customContnet = contentMethod(params);
|
|
7765
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContnet)) {
|
|
7766
|
+
content = `${customContnet}`;
|
|
7767
|
+
}
|
|
7768
|
+
}
|
|
7769
|
+
handleTargetEnterEvent(barTipStore.row !== row);
|
|
7770
|
+
const tipContent = formatText(content);
|
|
7771
|
+
Object.assign(barTipStore, {
|
|
7772
|
+
row,
|
|
7773
|
+
visible: true,
|
|
7774
|
+
content: tipContent,
|
|
7775
|
+
params
|
|
7776
|
+
});
|
|
7777
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
7778
|
+
const $tooltip = refTooltip.value;
|
|
7779
|
+
if ($tooltip) {
|
|
7780
|
+
if ($tooltip.openByEvent) {
|
|
7781
|
+
$tooltip.openByEvent(evnt, evnt.currentTarget, tipContent);
|
|
7782
|
+
} else if ($tooltip.open) {
|
|
7783
|
+
$tooltip.open(evnt.currentTarget, tipContent);
|
|
7784
|
+
}
|
|
7785
|
+
}
|
|
7786
|
+
});
|
|
7787
|
+
},
|
|
7788
|
+
handleTaskBarTooltipLeaveEvent() {
|
|
7789
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
7790
|
+
let $tooltip = refTooltip.value;
|
|
7791
|
+
if ($tooltip && $tooltip.setActived) {
|
|
7792
|
+
$tooltip.setActived(false);
|
|
7793
|
+
}
|
|
7794
|
+
if (taskBarTooltipOpts.enterable) {
|
|
7795
|
+
internalData.barTipTimeout = setTimeout(() => {
|
|
7796
|
+
$tooltip = refTooltip.value;
|
|
7797
|
+
if ($tooltip && $tooltip.isActived && !$tooltip.isActived()) {
|
|
7798
|
+
$xeGantt.closeTaskBarTooltip();
|
|
7799
|
+
}
|
|
7800
|
+
}, taskBarTooltipOpts.leaveDelay);
|
|
7801
|
+
} else {
|
|
7802
|
+
$xeGantt.closeTaskBarTooltip();
|
|
7803
|
+
}
|
|
7804
|
+
},
|
|
7662
7805
|
handleTaskHeaderContextmenuEvent(evnt, params) {
|
|
7663
7806
|
const $xeTable = refTable.value;
|
|
7664
7807
|
if ($xeTable) {
|
|
@@ -8112,14 +8255,19 @@ function getViewTypeLevel(type) {
|
|
|
8112
8255
|
return childVNs;
|
|
8113
8256
|
};
|
|
8114
8257
|
const renderLayout = () => {
|
|
8258
|
+
const {
|
|
8259
|
+
barTipStore
|
|
8260
|
+
} = reactData;
|
|
8115
8261
|
const currLayoutConf = computeCurrLayoutConf.value;
|
|
8116
8262
|
const {
|
|
8117
8263
|
headKeys,
|
|
8118
8264
|
bodyKeys,
|
|
8119
8265
|
footKeys
|
|
8120
8266
|
} = currLayoutConf;
|
|
8267
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
8121
8268
|
const asideLeftSlot = slots.asideLeft || slots['aside-left'];
|
|
8122
8269
|
const asideRightSlot = slots.asideRight || slots['aside-right'];
|
|
8270
|
+
const taskBarTooltipSlot = slots.taskBarTooltip || slots['task-bar-tooltip'];
|
|
8123
8271
|
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
8124
8272
|
class: 'vxe-gantt--layout-header-wrapper'
|
|
8125
8273
|
}, renderChildLayout(headKeys)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
@@ -8134,7 +8282,40 @@ function getViewTypeLevel(type) {
|
|
|
8134
8282
|
class: 'vxe-gantt--layout-footer-wrapper'
|
|
8135
8283
|
}, renderChildLayout(footKeys)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
8136
8284
|
ref: refPopupContainerElem
|
|
8137
|
-
})
|
|
8285
|
+
}), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {}, [
|
|
8286
|
+
/**
|
|
8287
|
+
* 任务条提示
|
|
8288
|
+
*/
|
|
8289
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent, {
|
|
8290
|
+
key: 'gtp',
|
|
8291
|
+
ref: refTooltip,
|
|
8292
|
+
theme: taskBarTooltipOpts.theme,
|
|
8293
|
+
enterable: taskBarTooltipOpts.enterable,
|
|
8294
|
+
enterDelay: taskBarTooltipOpts.enterDelay,
|
|
8295
|
+
leaveDelay: taskBarTooltipOpts.leaveDelay,
|
|
8296
|
+
useHTML: taskBarTooltipOpts.useHTML,
|
|
8297
|
+
width: taskBarTooltipOpts.width,
|
|
8298
|
+
height: taskBarTooltipOpts.height,
|
|
8299
|
+
minWidth: taskBarTooltipOpts.minWidth,
|
|
8300
|
+
minHeight: taskBarTooltipOpts.minHeight,
|
|
8301
|
+
maxWidth: taskBarTooltipOpts.maxWidth,
|
|
8302
|
+
maxHeight: taskBarTooltipOpts.maxHeight,
|
|
8303
|
+
isArrow: false
|
|
8304
|
+
}, taskBarTooltipSlot ? {
|
|
8305
|
+
content: () => {
|
|
8306
|
+
const {
|
|
8307
|
+
row,
|
|
8308
|
+
content: tooltipContent
|
|
8309
|
+
} = barTipStore;
|
|
8310
|
+
if (row) {
|
|
8311
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {}, taskBarTooltipSlot(Object.assign({
|
|
8312
|
+
tooltipContent,
|
|
8313
|
+
$gantt: $xeGantt
|
|
8314
|
+
}, barTipStore.params)));
|
|
8315
|
+
}
|
|
8316
|
+
return gantt_renderEmptyElement($xeGantt);
|
|
8317
|
+
}
|
|
8318
|
+
} : {})])];
|
|
8138
8319
|
};
|
|
8139
8320
|
const renderVN = () => {
|
|
8140
8321
|
const {
|
|
@@ -8185,7 +8366,7 @@ function getViewTypeLevel(type) {
|
|
|
8185
8366
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.proxyConfig, () => {
|
|
8186
8367
|
initProxy();
|
|
8187
8368
|
});
|
|
8188
|
-
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(
|
|
8369
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeTaskViewScales, () => {
|
|
8189
8370
|
handleTaskScaleConfig();
|
|
8190
8371
|
$xeGantt.refreshTaskView();
|
|
8191
8372
|
});
|