vxe-gantt 4.0.27 → 4.1.1
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-chart.js +28 -18
- package/es/gantt/src/gantt-header.js +18 -6
- package/es/gantt/src/gantt-view.js +307 -47
- package/es/gantt/src/gantt.js +151 -8
- package/es/gantt/src/util.js +11 -0
- 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-chart.js +36 -16
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-header.js +15 -5
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +357 -50
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +163 -6
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +12 -0
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/index.umd.js +590 -80
- 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 +3 -3
- package/packages/gantt/src/emits.ts +2 -0
- package/packages/gantt/src/gantt-chart.ts +34 -13
- package/packages/gantt/src/gantt-header.ts +15 -6
- package/packages/gantt/src/gantt-view.ts +310 -46
- package/packages/gantt/src/gantt.ts +162 -8
- package/packages/gantt/src/util.ts +13 -0
- package/packages/ui/index.ts +3 -0
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -37,6 +37,7 @@ function createInternalData() {
|
|
|
37
37
|
return {
|
|
38
38
|
uFoot: false,
|
|
39
39
|
resizeTableWidth: 0
|
|
40
|
+
// barTipTimeout: undefined
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
const viewTypeLevelMaps = {
|
|
@@ -68,6 +69,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
68
69
|
taskViewScaleConfig: Object,
|
|
69
70
|
taskViewConfig: Object,
|
|
70
71
|
taskBarConfig: Object,
|
|
72
|
+
taskBarTooltipConfig: Object,
|
|
71
73
|
taskSplitConfig: Object,
|
|
72
74
|
taskBarResizeConfig: Object,
|
|
73
75
|
taskBarDragConfig: Object,
|
|
@@ -89,6 +91,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
89
91
|
const VxeUIPagerComponent = _core.VxeUI.getComponent('VxePager');
|
|
90
92
|
const VxeTableComponent = _core.VxeUI.getComponent('VxeTable');
|
|
91
93
|
const VxeToolbarComponent = _core.VxeUI.getComponent('VxeToolbar');
|
|
94
|
+
const VxeUITooltipComponent = _core.VxeUI.getComponent('VxeTooltip');
|
|
92
95
|
const {
|
|
93
96
|
computeSize
|
|
94
97
|
} = useFns.useSize(props);
|
|
@@ -109,7 +112,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
109
112
|
},
|
|
110
113
|
showLeftView: true,
|
|
111
114
|
showRightView: true,
|
|
112
|
-
taskScaleList: []
|
|
115
|
+
taskScaleList: [],
|
|
116
|
+
barTipStore: {
|
|
117
|
+
row: null,
|
|
118
|
+
content: '',
|
|
119
|
+
visible: false,
|
|
120
|
+
params: null
|
|
121
|
+
}
|
|
113
122
|
});
|
|
114
123
|
const internalData = createInternalData();
|
|
115
124
|
const refElem = (0, _vue.ref)();
|
|
@@ -128,6 +137,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
128
137
|
const refPagerWrapper = (0, _vue.ref)();
|
|
129
138
|
const refTableWrapper = (0, _vue.ref)();
|
|
130
139
|
const refGanttWrapper = (0, _vue.ref)();
|
|
140
|
+
const refTooltip = (0, _vue.ref)();
|
|
131
141
|
const refResizableSplitTip = (0, _vue.ref)();
|
|
132
142
|
const extendTableMethods = methodKeys => {
|
|
133
143
|
const funcs = {};
|
|
@@ -194,7 +204,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
194
204
|
const computeTaskSplitOpts = (0, _vue.computed)(() => {
|
|
195
205
|
return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
|
|
196
206
|
});
|
|
197
|
-
const
|
|
207
|
+
const computeTaskBarTooltipOpts = (0, _vue.computed)(() => {
|
|
208
|
+
return Object.assign({}, getConfig().gantt.taskBarTooltipConfig, props.taskBarTooltipConfig);
|
|
209
|
+
});
|
|
210
|
+
const computeScaleUnit = (0, _vue.computed)(() => {
|
|
211
|
+
const minScale = computeMinScale.value;
|
|
212
|
+
return minScale ? minScale.type : 'date';
|
|
213
|
+
});
|
|
214
|
+
const computeMinScale = (0, _vue.computed)(() => {
|
|
215
|
+
const {
|
|
216
|
+
taskScaleList
|
|
217
|
+
} = reactData;
|
|
218
|
+
return _xeUtils.default.last(taskScaleList);
|
|
219
|
+
});
|
|
220
|
+
const computeWeekScale = (0, _vue.computed)(() => {
|
|
221
|
+
const {
|
|
222
|
+
taskScaleList
|
|
223
|
+
} = reactData;
|
|
224
|
+
return taskScaleList.find(item => item.type === 'week');
|
|
225
|
+
});
|
|
226
|
+
const computeTaskViewScales = (0, _vue.computed)(() => {
|
|
198
227
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
199
228
|
const {
|
|
200
229
|
scales
|
|
@@ -454,7 +483,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
454
483
|
computeTaskBarDragOpts,
|
|
455
484
|
computeTaskBarResizeOpts,
|
|
456
485
|
computeTaskSplitOpts,
|
|
457
|
-
|
|
486
|
+
computeTaskBarTooltipOpts,
|
|
487
|
+
computeTaskViewScales,
|
|
488
|
+
computeScaleUnit,
|
|
489
|
+
computeMinScale,
|
|
490
|
+
computeWeekScale,
|
|
458
491
|
computeTitleField,
|
|
459
492
|
computeStartField,
|
|
460
493
|
computeEndField,
|
|
@@ -463,6 +496,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
463
496
|
computeScrollbarXToTop,
|
|
464
497
|
computeScrollbarYToLeft
|
|
465
498
|
};
|
|
499
|
+
computeMaps.computeTaskScaleConfs = computeTaskViewScales;
|
|
466
500
|
const $xeGantt = {
|
|
467
501
|
xID,
|
|
468
502
|
props: props,
|
|
@@ -473,7 +507,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
473
507
|
getComputeMaps: () => computeMaps
|
|
474
508
|
};
|
|
475
509
|
const handleTaskScaleConfig = () => {
|
|
476
|
-
const taskScaleConfs =
|
|
510
|
+
const taskScaleConfs = computeTaskViewScales.value;
|
|
477
511
|
const taskViewScaleOpts = computeTaskViewScaleOpts.value;
|
|
478
512
|
const scaleConfs = [];
|
|
479
513
|
if (taskScaleConfs) {
|
|
@@ -1007,6 +1041,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1007
1041
|
$gantt: $xeGantt
|
|
1008
1042
|
}, params));
|
|
1009
1043
|
};
|
|
1044
|
+
const handleTargetEnterEvent = isClear => {
|
|
1045
|
+
const $tooltip = refTooltip.value;
|
|
1046
|
+
clearTimeout(internalData.barTipTimeout);
|
|
1047
|
+
if (isClear) {
|
|
1048
|
+
$xeGantt.closeTaskBarTooltip();
|
|
1049
|
+
} else {
|
|
1050
|
+
if ($tooltip && $tooltip.setActived) {
|
|
1051
|
+
$tooltip.setActived(true);
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
};
|
|
1010
1055
|
const ganttMethods = {
|
|
1011
1056
|
dispatchEvent,
|
|
1012
1057
|
getEl() {
|
|
@@ -1732,6 +1777,27 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1732
1777
|
hideTaskView() {
|
|
1733
1778
|
reactData.showRightView = false;
|
|
1734
1779
|
return (0, _vue.nextTick)();
|
|
1780
|
+
},
|
|
1781
|
+
/**
|
|
1782
|
+
* 关闭 bar tooltip
|
|
1783
|
+
*/
|
|
1784
|
+
closeTaskBarTooltip() {
|
|
1785
|
+
const {
|
|
1786
|
+
barTipStore
|
|
1787
|
+
} = reactData;
|
|
1788
|
+
const $tooltip = refTooltip.value;
|
|
1789
|
+
if (barTipStore.visible) {
|
|
1790
|
+
Object.assign(barTipStore, {
|
|
1791
|
+
row: null,
|
|
1792
|
+
content: null,
|
|
1793
|
+
visible: false,
|
|
1794
|
+
params: {}
|
|
1795
|
+
});
|
|
1796
|
+
if ($tooltip && $tooltip.close) {
|
|
1797
|
+
$tooltip.close();
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
return (0, _vue.nextTick)();
|
|
1735
1801
|
}
|
|
1736
1802
|
};
|
|
1737
1803
|
const ganttPrivateMethods = {
|
|
@@ -1876,6 +1942,58 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1876
1942
|
handleTaskBarDblclickEvent(evnt, params) {
|
|
1877
1943
|
$xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
|
|
1878
1944
|
},
|
|
1945
|
+
triggerTaskBarTooltipEvent(evnt, params) {
|
|
1946
|
+
const {
|
|
1947
|
+
barTipStore
|
|
1948
|
+
} = reactData;
|
|
1949
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
1950
|
+
const titleField = computeTitleField.value;
|
|
1951
|
+
const {
|
|
1952
|
+
contentMethod
|
|
1953
|
+
} = taskBarTooltipOpts;
|
|
1954
|
+
const {
|
|
1955
|
+
row
|
|
1956
|
+
} = params;
|
|
1957
|
+
let content = (0, _utils.formatText)(_xeUtils.default.get(row, titleField));
|
|
1958
|
+
if (contentMethod) {
|
|
1959
|
+
content = (0, _utils.formatText)(contentMethod(params));
|
|
1960
|
+
}
|
|
1961
|
+
handleTargetEnterEvent(barTipStore.row !== row);
|
|
1962
|
+
const tipContent = (0, _utils.formatText)(content);
|
|
1963
|
+
Object.assign(barTipStore, {
|
|
1964
|
+
row,
|
|
1965
|
+
visible: true,
|
|
1966
|
+
content: tipContent,
|
|
1967
|
+
params
|
|
1968
|
+
});
|
|
1969
|
+
(0, _vue.nextTick)(() => {
|
|
1970
|
+
const $tooltip = refTooltip.value;
|
|
1971
|
+
if ($tooltip) {
|
|
1972
|
+
if ($tooltip.openByEvent) {
|
|
1973
|
+
$tooltip.openByEvent(evnt, evnt.currentTarget, tipContent);
|
|
1974
|
+
} else if ($tooltip.open) {
|
|
1975
|
+
$tooltip.open(evnt.currentTarget, tipContent);
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
});
|
|
1979
|
+
},
|
|
1980
|
+
handleTaskBarTooltipLeaveEvent() {
|
|
1981
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
1982
|
+
let $tooltip = refTooltip.value;
|
|
1983
|
+
if ($tooltip && $tooltip.setActived) {
|
|
1984
|
+
$tooltip.setActived(false);
|
|
1985
|
+
}
|
|
1986
|
+
if (taskBarTooltipOpts.enterable) {
|
|
1987
|
+
internalData.barTipTimeout = setTimeout(() => {
|
|
1988
|
+
$tooltip = refTooltip.value;
|
|
1989
|
+
if ($tooltip && $tooltip.isActived && !$tooltip.isActived()) {
|
|
1990
|
+
$xeGantt.closeTaskBarTooltip();
|
|
1991
|
+
}
|
|
1992
|
+
}, taskBarTooltipOpts.leaveDelay);
|
|
1993
|
+
} else {
|
|
1994
|
+
$xeGantt.closeTaskBarTooltip();
|
|
1995
|
+
}
|
|
1996
|
+
},
|
|
1879
1997
|
handleTaskHeaderContextmenuEvent(evnt, params) {
|
|
1880
1998
|
const $xeTable = refTable.value;
|
|
1881
1999
|
if ($xeTable) {
|
|
@@ -2325,14 +2443,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2325
2443
|
return childVNs;
|
|
2326
2444
|
};
|
|
2327
2445
|
const renderLayout = () => {
|
|
2446
|
+
const {
|
|
2447
|
+
barTipStore
|
|
2448
|
+
} = reactData;
|
|
2328
2449
|
const currLayoutConf = computeCurrLayoutConf.value;
|
|
2329
2450
|
const {
|
|
2330
2451
|
headKeys,
|
|
2331
2452
|
bodyKeys,
|
|
2332
2453
|
footKeys
|
|
2333
2454
|
} = currLayoutConf;
|
|
2455
|
+
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
2334
2456
|
const asideLeftSlot = slots.asideLeft || slots['aside-left'];
|
|
2335
2457
|
const asideRightSlot = slots.asideRight || slots['aside-right'];
|
|
2458
|
+
const taskBarTooltipSlot = slots.taskBarTooltip || slots['task-bar-tooltip'];
|
|
2336
2459
|
return [(0, _vue.h)('div', {
|
|
2337
2460
|
class: 'vxe-gantt--layout-header-wrapper'
|
|
2338
2461
|
}, renderChildLayout(headKeys)), (0, _vue.h)('div', {
|
|
@@ -2347,7 +2470,40 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2347
2470
|
class: 'vxe-gantt--layout-footer-wrapper'
|
|
2348
2471
|
}, renderChildLayout(footKeys)), (0, _vue.h)('div', {
|
|
2349
2472
|
ref: refPopupContainerElem
|
|
2350
|
-
})
|
|
2473
|
+
}), (0, _vue.h)('div', {}, [
|
|
2474
|
+
/**
|
|
2475
|
+
* 任务条提示
|
|
2476
|
+
*/
|
|
2477
|
+
(0, _vue.h)(VxeUITooltipComponent, {
|
|
2478
|
+
key: 'gtp',
|
|
2479
|
+
ref: refTooltip,
|
|
2480
|
+
theme: taskBarTooltipOpts.theme,
|
|
2481
|
+
enterable: taskBarTooltipOpts.enterable,
|
|
2482
|
+
enterDelay: taskBarTooltipOpts.enterDelay,
|
|
2483
|
+
leaveDelay: taskBarTooltipOpts.leaveDelay,
|
|
2484
|
+
useHTML: taskBarTooltipOpts.useHTML,
|
|
2485
|
+
width: taskBarTooltipOpts.width,
|
|
2486
|
+
height: taskBarTooltipOpts.height,
|
|
2487
|
+
minWidth: taskBarTooltipOpts.minWidth,
|
|
2488
|
+
minHeight: taskBarTooltipOpts.minHeight,
|
|
2489
|
+
maxWidth: taskBarTooltipOpts.maxWidth,
|
|
2490
|
+
maxHeight: taskBarTooltipOpts.maxHeight,
|
|
2491
|
+
isArrow: false
|
|
2492
|
+
}, taskBarTooltipSlot ? {
|
|
2493
|
+
content: () => {
|
|
2494
|
+
const {
|
|
2495
|
+
row,
|
|
2496
|
+
content: tooltipContent
|
|
2497
|
+
} = barTipStore;
|
|
2498
|
+
if (row) {
|
|
2499
|
+
return (0, _vue.h)('div', {}, taskBarTooltipSlot(Object.assign({
|
|
2500
|
+
tooltipContent,
|
|
2501
|
+
$gantt: $xeGantt
|
|
2502
|
+
}, barTipStore.params)));
|
|
2503
|
+
}
|
|
2504
|
+
return renderEmptyElement($xeGantt);
|
|
2505
|
+
}
|
|
2506
|
+
} : {})])];
|
|
2351
2507
|
};
|
|
2352
2508
|
const renderVN = () => {
|
|
2353
2509
|
const {
|
|
@@ -2398,8 +2554,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2398
2554
|
(0, _vue.watch)(() => props.proxyConfig, () => {
|
|
2399
2555
|
initProxy();
|
|
2400
2556
|
});
|
|
2401
|
-
(0, _vue.watch)(
|
|
2557
|
+
(0, _vue.watch)(computeTaskViewScales, () => {
|
|
2402
2558
|
handleTaskScaleConfig();
|
|
2559
|
+
$xeGantt.refreshTaskView();
|
|
2403
2560
|
});
|
|
2404
2561
|
hooks.forEach(options => {
|
|
2405
2562
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_core=require("@vxe-ui/core"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_core.VxeUI,tableProps=_vxeTable.VxeTable.props,tableComponentPropKeys=Object.keys(tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function createInternalData(){return{uFoot:!1,resizeTableWidth:0}}let viewTypeLevelMaps={year:19,quarter:17,month:15,week:13,day:11,date:9,hour:7,minute:5,second:3};function getViewTypeLevel(e){return viewTypeLevelMaps[e||"date"]||viewTypeLevelMaps.date}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[],props:Object.assign(Object.assign({},tableProps),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,layouts:Array,taskConfig:Object,taskViewScaleConfig:Object,taskViewConfig:Object,taskBarConfig:Object,taskSplitConfig:Object,taskBarResizeConfig:Object,taskBarDragConfig:Object,size:{type:String,default:()=>getConfig().gantt.size||getConfig().size}}),emits:_emits.ganttEmits,setup(j,e){let t,{slots:d,emit:o}=e;var E=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),R=_core.VxeUI.getComponent("VxeTable"),k=_core.VxeUI.getComponent("VxeToolbar"),T=useFns.useSize(j).computeSize,L=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[]}),M=createInternalData(),g=(0,_vue.ref)(),B=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),a=(0,_vue.ref)(),r=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),F=(0,_vue.ref)(),S=(0,_vue.ref)(),I=(0,_vue.ref)(),U=(0,_vue.ref)(),V=(0,_vue.ref)(),Z=(0,_vue.ref)();var K=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=B.value;if(t&&t[a])return t[a](...e)}}),t};let W=K(tableComponentMethodKeys),D=(tableComponentMethodKeys.forEach(a=>{W[a]=(...e)=>{var t=B.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),j.proxyConfig))),Q=(0,_vue.computed)(()=>{var e=D.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),$=(0,_vue.computed)(()=>{var e=D.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),q=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,j.pagerConfig)),p=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,j.formConfig)),z=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,j.toolbarConfig)),Y=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,j.zoomConfig)),m=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,j.taskConfig)),X=(0,_vue.computed)(()=>_xeUtils.default.merge({},getConfig().gantt.taskViewScaleConfig,j.taskViewScaleConfig)),f=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,j.taskViewConfig)),J=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,j.taskBarConfig));var x=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarDragConfig,j.taskBarDragConfig)),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarResizeConfig,j.taskBarResizeConfig));let te=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskSplitConfig,j.taskSplitConfig)),h=(0,_vue.computed)(()=>{var e=f.value.scales;return e});var ae=(0,_vue.computed)(()=>m.value.titleField||"title"),oe=(0,_vue.computed)(()=>m.value.startField||"start"),re=(0,_vue.computed)(()=>m.value.endField||"end"),le=(0,_vue.computed)(()=>m.value.progressField||"progress");let b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,j.scrollbarConfig)),ne=(0,_vue.computed)(()=>{var e=b.value;return!(!e.x||"top"!==e.x.position)}),ie=(0,_vue.computed)(()=>{var e=b.value;return!(!e.y||"left"!==e.y.position)}),se=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=j,{isZMax:a,tZindex:o}=L,r=f.value.tableStyle,l=J.value.barStyle,n={};return a?n.zIndex=o:(e&&(n.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(n.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),l&&!_xeUtils.default.isFunction(l)&&({bgColor:a,completedBgColor:o}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),o)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=o),r&&(e=r.width,e)&&(n["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(e)),n}),ue=(0,_vue.computed)(()=>{let t={},a=j;return tableComponentPropKeys.forEach(e=>{void 0!==a[e]&&(t[e]=a[e])}),t}),ge=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:a,editConfig:o,proxyConfig:r}=j,{isZMax:l,tablePage:n,footerData:i}=L,s=f.value.tableStyle,u=ue.value,g=D.value,d=q.value,c=fe.value,u=Object.assign({},u,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return s&&(s=s.border,_xeUtils.default.eqNull(s)||(u.border=s)),(e&&!u.footerData||g.footer&&i.length)&&(u.footerData=i),l&&(u.maxHeight?u.maxHeight="100%":u.height="100%"),r&&(0,_utils.isEnableConf)(g)&&(u.loading=c,a)&&g.seq&&(0,_utils.isEnableConf)(d)&&(u.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(u.editConfig=Object.assign({},o)),u}),de=(0,_vue.computed)(()=>{var e=j.layouts;let t=[],a=[],o=[],r=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],o=t[1]||[],r=t[2]||[]):o=t),{headKeys:a,bodyKeys:o,footKeys:r}});var ce=(0,_vue.computed)(()=>q.value.currentPage),ve=(0,_vue.computed)(()=>q.value.pageSize),pe=(0,_vue.computed)(()=>q.value.total);let me=(0,_vue.computed)(()=>{var e=L.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),fe=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=j,a=L.tableLoading,o=D.value,r=o.showLoading;return e||a&&r&&t&&(0,_utils.isEnableConf)(o)}),xe=(0,_vue.computed)(()=>{let e=j.border;var t=f.value.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}),he={refElem:g,refTable:B,refForm:i,refToolbar:u,refPager:s,refGanttContainerElem:a,refClassifyWrapperElem:r,refPopupContainerElem:v},be={computeProxyOpts:D,computePagerOpts:q,computeFormOpts:p,computeToolbarOpts:z,computeZoomOpts:Y,computeTaskOpts:m,computeTaskViewScaleOpts:X,computeTaskViewOpts:f,computeTaskBarOpts:J,computeTaskBarDragOpts:x,computeTaskBarResizeOpts:ee,computeTaskSplitOpts:te,computeTaskScaleConfs:h,computeTitleField:ae,computeStartField:oe,computeEndField:re,computeProgressField:le,computeScrollbarOpts:b,computeScrollbarXToTop:ne,computeScrollbarYToLeft:ie},A={xID:E,props:j,context:e,reactData:L,internalData:M,getRefMaps:()=>he,getComputeMaps:()=>be},_e=()=>{var e=h.value;let o=X.value,r=[];if(e){let a={};e.forEach(e=>{var e=!e||_xeUtils.default.isString(e)?{type:e}:e,t=e.type;t&&viewTypeLevelMaps[t]?a[t]?(0,_log.errLog)("vxe.error.repeatProp",["type",t]):(a[t]=!0,r.push(Object.assign({},t&&o[t]||{},e,{level:getViewTypeLevel(t)}))):(0,_log.errLog)("vxe.error.errProp",["type="+t,_xeUtils.default.keys(viewTypeLevelMaps).join(",")])})}r.length||r.push({type:"month",level:viewTypeLevelMaps.month},{type:"date",level:viewTypeLevelMaps.date}),L.taskScaleList=_xeUtils.default.orderBy(r,{field:"level",order:"desc"})},Ce=()=>{var e=z.value;j.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=B.value,t=u.value;e&&t&&e.connectToolbar(t)})},G=()=>{var e=j.proxyConfig,t=L.formData,a=D.value,o=p.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:o.data},_=e=>{var t=L.tablePage,a=j.pagerConfig,o=q.value;a&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:a,pageSize:e,total:o}=o,a&&(t.currentPage=a),e&&(t.pageSize=e),o&&(t.total=o)))},H=(e,t)=>{var a=D.value,a=(a.response||a.props||{}).message,o=B.value;let r;return(r=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:o,$grid:null,$gantt:A}):_xeUtils.default.get(e,a):r)||getI18n(t)},ye=(e,t,a)=>{var o=$.value,r=A.getCheckboxRecords();if(o)if(r.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},we=e=>{var t=j.proxyConfig,a=L.tablePage;let{$event:o,currentPage:r,pageSize:l}=e;var n=D.value;a.currentPage=r,a.pageSize=l,A.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,o)})},Ee=t=>{var e,a=B.value,o=j.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=D.value,a.value.remote)&&(L.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(L.tablePage.currentPage=1,A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,t.$event)}))},Re=e=>{Ee(e),A.dispatchEvent("sort-change",e,e.$event)},ke=e=>{Ee(e),A.dispatchEvent("clear-all-sort",e,e.$event)},Te=t=>{var e,a=B.value,o=j.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=D.value,a.value.remote)&&(L.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(L.tablePage.currentPage=1,M.uFoot=!0,A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,t.$event)}),M.uFoot=!1,N())},Oe=e=>{Te(e),A.dispatchEvent("filter-change",e,e.$event)},Pe=e=>{Te(e),A.dispatchEvent("clear-all-filter",e,e.$event)},Fe=t=>{var e=j.proxyConfig,a=D.value;L.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&(M.uFoot=!0,A.commitProxy("reload").then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),M.uFoot=!1,N()),A.dispatchEvent("form-submit",t,t.$event))},Se=e=>{var t=B.value,a=j.proxyConfig;let o=e.$event;var r=D.value;a&&(0,_utils.isEnableConf)(r)&&(t&&t.clearScroll(),M.uFoot=!0,A.commitProxy("reload").then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),M.uFoot=!1,N()),A.dispatchEvent("form-reset",e,o)},Ie=e=>{A.dispatchEvent("form-submit-invalid",e,e.$event)},Ue=e=>{var t=e.$event;A.dispatchEvent("form-toggle-collapse",e,t),A.dispatchEvent("form-collapse",e,t)},Ve=e=>{var t=L.isZMax;return(e?!t:t)&&(L.isZMax=!t,L.tZindex<(0,_utils.getLastZIndex)())&&(L.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>A.recalculate(!0)).then(()=>(setTimeout(()=>A.recalculate(!0),15),L.isZMax))},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},je=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?a[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},Le=e=>{let c=g.value;if(c){var v=a.value;if(v){let d=U.value;if(d){let g=Z.value;if(g){var p=f.value;let r=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,o=d.clientWidth,n=p.tableStyle&&_xeUtils.default.toNumber(p.tableStyle.minWidth)||80,i=o,s=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let o=0;t&&(s<0?t.style.display="none":(t.textContent=i+"px",t.style.display="block",o=t.offsetHeight)),a&&(s<0?(a.textContent=Math.floor(r.width-i)+"px",a.style.display="block",o=a.offsetHeight):a.style.display="none");t=e.clientY-r.top-o/2;g.style.left=i+"px",l.style.top=Math.min(r.height-o-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),s=e.clientX-t,i=Math.min(a-80,Math.max(n,o+s)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=i+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=B.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},Me=()=>{L.showLeftView=!L.showLeftView},Be=()=>{L.showRightView=!L.showRightView},De={},$e=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);De[e]=(...e)=>o(t,...e)}),()=>{var e=p.value;if(e.items){let n={};return e.items.forEach(t=>{var a,o,{field:r,itemRender:l}=t;if(r){let e=null;l&&({startField:l,endField:a,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&a&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,a,null)),n[r]=e}}),n}return{}}),qe=()=>{var{proxyConfig:e,formConfig:t}=j,a=L.proxyInited,o=D.value,r=p.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(r)&&o.form&&r.items&&(L.formData=$e()),a||!(L.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{M.uFoot=!0;var e=A.commitProxy("initial");return M.uFoot=!1,N(),e}).then(e=>{Ae("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},N=()=>{var e=D.value.ajax;if(e&&e.queryFooter)return A.commitProxy("queryFooter")},ze=e=>{var t=Y.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&L.isZMax&&!1!==t.escRestore&&A.triggerZoomEvent(e)},Ae=(e,t,a)=>{o(e,createEvent(a,{$grid:null,$gantt:A},t))};x={dispatchEvent:Ae,getEl(){return g.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:p,validConfig:m}=j,f=L.tablePage,x=$.value,h=Q.value;var b=D.value;let _=q.value;var a=z.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:r,afterQueryFooter:l,beforeDelete:n,afterDelete:w,beforeSave:E,afterSave:R,ajax:k={}}=b,T=b.response||b.props||{},O=B.value;if(O){let g=G(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var o,P=d?d.params:null;switch(c){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"mark_cancel":U=c,I=$.value,F=B.value,(S=F?F.getCheckboxRecords():[]).length?(F&&F.togglePendingRow(S),A.clearCheckboxRow()):I&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ye(c,"vxe.grid.removeSelectRecord",()=>O.removeCheckboxRow());case"import":O.importData(P);break;case"open_import":O.openImport(P);break;case"export":O.exportData(P);break;case"open_export":O.openExport(P);break;case"reset_custom":return O.resetCustom(!0);case"initial":case"reload":case"query":{var F=k.query;let n=k.querySuccess,o=k.queryError;if(F){var S="initial"===c,I="reload"===c;if(!S&&L.tableLoading)return(0,_vue.nextTick)();let e=null,a=[],r=[],t={};if(u&&((S||I)&&(f.currentPage=1),(0,_utils.isEnableConf)(_))&&(t=Object.assign({},f)),S){if(s&&(0,_utils.isEnableConf)(b)&&b.form&&(g=$e(),L.formData=g),O){let{tableFullColumn:e,fullColumnFieldData:o}=O.internalData;var U=O.getComputeMaps().computeSortOpts;let t=U.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=o[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),r=O.getCheckedFilters()}}else O&&(I?e=O.clearAll():(a=O.getSortColumns(),r=O.getCheckedFilters()));let l={$table:O,$grid:null,$gantt:A,code:c,button:d,isInited:S,isReload:I,page:t,sort:a.length?a[0]:{},sorts:a,filters:r,form:g,options:F};return L.sortData=a,L.filterData=r,L.tableLoading=!0,Promise.all([Promise.resolve((C||F)(l,...v)),e]).then(([e])=>{let t=[];var a,o,r;return L.tableLoading=!1,e&&(a={data:e,$table:O,$grid:null,$gantt:A},u&&(0,_utils.isEnableConf)(_)?(r=T.total,r=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r||"page.total"))||0,f.total=_xeUtils.default.toNumber(r),o=T.result,t=(_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(r/f.pageSize),1),f.currentPage>o&&(f.currentPage=o)):(r=T.list,_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r))||[])),i)&&(r=(o=T.footerData)?_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(r))&&(L.footerData=r),O?O.loadData(t):(0,_vue.nextTick)(()=>{var e=B.value;e&&e.loadData(t)}),y&&y(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(L.tableLoading=!1,o&&o(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.query"]);break}case"queryFooter":{var V=k.queryFooter;let a=k.queryFooterSuccess,o=k.queryFooterError;if(V){let e=[],t=(O&&(e=O.getCheckedFilters()),{$table:O,$grid:null,$gantt:A,code:c,button:d,filters:e,form:g,options:V});return Promise.resolve((r||V)(t,...v)).then(e=>(L.footerData=_xeUtils.default.isArray(e)?e:[],l&&l(t,...v),a&&a(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.queryFooter"]);break}case"delete":{let o=k.delete,r=k.deleteSuccess,l=k.deleteError;if(o){let e=A.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));V={removeRecords:t};let a={$table:O,$grid:null,$gantt:A,code:c,button:d,body:V,form:g,options:o};if(e.length)return ye(c,"vxe.grid.deleteSelectRecord",()=>t.length?(L.tableLoading=!0,Promise.resolve((n||o)(a,...v)).then(e=>(L.tableLoading=!1,O.setPendingRow(t,!1),h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:H(e,"vxe.grid.delSuccess"),status:"success"}),w?w(a,...v):(M.uFoot=!0,A.commitProxy("query"),M.uFoot=!1,N()),r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(L.tableLoading=!1,h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):O.remove(e));x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.delete"]);break}case"save":{let i=k.save,s=k.saveSuccess,u=k.saveError;if(i){let t=O.getRecordset(),{insertRecords:a,removeRecords:o,updateRecords:r,pendingRecords:l}=t,n={$table:O,$grid:null,$gantt:A,code:c,button:d,body:t,form:g,options:i},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===O.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===O.findRowIndexOf(l,e))),Promise.resolve());return(e=p?O[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(r)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||r.length||t.pendingRecords.length?(L.tableLoading=!0,Promise.resolve((E||i)(n,...v)).then(e=>(L.tableLoading=!1,O.clearPendingRow(),h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:H(e,"vxe.grid.saveSuccess"),status:"success"}),R?R(n,...v):(M.uFoot=!0,A.commitProxy("query"),M.uFoot=!1,N()),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(L.tableLoading=!1,h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.save"]);break}default:var V=commands.get(c);V&&((V=V.tableCommandMethod||V.commandMethod)?V({code:c,button:d,$table:O,$grid:null,$gantt:A},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return j.params},zoom(){return L.isZMax?A.revert():A.maximize()},isMaximized(){return L.isZMax},maximize(){return Ve(!0)},revert(){return Ve()},getFormData:G,getFormItems(e){var t=p.value,a=j.formConfig,o=t.items;let r=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=L.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=L.tablePage,t=me.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=L.tablePage;return e.currentPage},setCurrentPage(e){var t=L.tablePage,a=me.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=s.value;a&&a.setCurrentPageByEvent(e,t)},getPageSize(){var e=L.tablePage;return e.pageSize},setPageSize(e){var t=L.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=s.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=B.value;return j.proxyConfig?(e=L.sortData,{data:t?t.getFullData():[],filter:L.filterData,form:G(),sort:e.length?e[0]:{},sorts:e,pager:L.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView(){var e=c.value;return e?e.refreshData():(0,_vue.nextTick)()},hasTableViewVisible(){return L.showLeftView},showTableView(){return L.showLeftView=!0,(0,_vue.nextTick)()},hideTableView(){return(L.showLeftView=!1,_vue.nextTick)()},hasTaskViewVisible(){return L.showRightView},showTaskView(){return L.showRightView=!0,(0,_vue.nextTick)()},hideTaskView(){return(L.showRightView=!1,_vue.nextTick)()}};let Ge={extendTableMethods:K,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=j.height,a=L.isZMax,o=g.value;if(o){var r=O.value,l=P.value,n=F.value,i=S.value,s=I.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:a?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,(L.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ge.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;var o;return a?((o=["reload","delete","save"].includes(a))&&(M.uFoot=!0),e=A.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(a)&&A.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)}),M.uFoot=!1,o&&N(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){A.triggerToolbarCommitEvent(e,t),A.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){A.triggerToolbarCommitEvent(e,t),A.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){A.zoom(),A.dispatchEvent("zoom",{type:L.isZMax?"max":"revert"},e)},handleTaskCellClickEvent(e,t){var a,o,r,l,n,i,s,u=B.value;u&&(a=u.props.highlightCurrentRow,{radioColumn:o,checkboxColumn:r}=u.reactData,{computeRadioOpts:n,computeCheckboxOpts:i,computeRowOpts:l}=u.getComputeMaps(),n=n.value,i=i.value,s=t.row,(l.value.isCurrent||a)&&u.triggerCurrentRowEvent(e,Object.assign({$table:u,rowIndex:u.getRowIndex(s),$rowIndex:u.getVMRowIndex(s)},t)),o&&"row"===n.trigger&&u.triggerRadioRowEvent(e,t),r)&&"row"===i.trigger&&u.handleToggleCheckRowEvent(e,t),A.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){A.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){A.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){A.dispatchEvent("task-bar-dblclick",t,e)},handleTaskHeaderContextmenuEvent(e,t){var a,o=B.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"header",t))},handleTaskBodyContextmenuEvent(e,t){var a,o=B.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))},handleTaskFooterContextmenuEvent(e,t){var a,o=B.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"footer",t))},handleTaskBarContextmenuEvent(e,t){var a,o=B.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))}},He=(Object.assign(A,W,x,Ge,{loadColumn(e){var t=B.value;return _xeUtils.default.eachTree(e,e=>{var t=e.type;e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return A.clearAll(),A.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=j,o=L.formData,r=D.value,l=p.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:null,$gantt:A});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=r.beforeItem;r&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:A,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(r)&&r.form?o:l.data})),{onSubmit:Fe,onReset:Se,onSubmitInvalid:Ie,onCollapse:Ue}),t))}return(0,_vue.h)("div",{ref:O,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement(A)}),Ne=()=>{var t,a,o,r,l,n=j.toolbarConfig,i=z.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return d.toolbar?e=d.toolbar({$grid:null,$gantt:A}):(n={},(s=i.slots)&&(t=C(s,"buttons"),a=C(s,"buttonPrefix"),o=C(s,"buttonSuffix"),r=C(s,"tools"),l=C(s,"toolPrefix"),s=C(s,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),o&&(n.buttonSuffix=o),r&&(n.tools=r),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(k,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:P,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement(A)},Ze=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:F,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},Ke=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},We=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},Qe=()=>{var e=j.proxyConfig,t=ge.value,a=D.value,o=Object.assign({},De),r=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(o.onSortChange=Re,o.onClearAllSort=ke),a.filter)&&(o.onFilterChange=Oe,o.onClearAllFilter=Pe),{});return r&&(e.empty=r),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{ref:U,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(R,Object.assign(Object.assign({ref:B},t),o),e)])},Ye=()=>d.bottom?(0,_vue.h)("div",{ref:S,key:"bottom",class:"vxe-gantt--bottom-wrapper"},d.bottom({$grid:null,$gantt:A})):renderEmptyElement(A),Xe=()=>{var{proxyConfig:e,pagerConfig:t}=j,a=D.value,o=q.value,r=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:I,key:"pager",class:"vxe-gantt--pager-wrapper"},r?r({$grid:null,$gantt:A}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},o),e&&(0,_utils.isEnableConf)(a)?L.tablePage:{}),{onPageChange:we}),je(o.slots)):renderEmptyElement(A)]):renderEmptyElement(A)},Je=()=>(0,_vue.h)("div",{ref:V,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:c})]),et=()=>{var{showLeftView:e,showRightView:t}=L,{enabled:a,resize:o,showCollapseTableButton:r,showCollapseTaskButton:l}=te.value;return a?(a={},(o=o&&e&&t)&&(a.onMousedown=Le),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":o}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),r||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[r&&t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:Me},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(A),l&&e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:Be},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(A)]):renderEmptyElement(A)])):renderEmptyElement(A)},y=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(He());break;case"Toolbar":t.push(Ne());break;case"Top":t.push(Ze());break;case"Gantt":t.push((0,_vue.h)("div",{ref:a,key:"tv",class:"vxe-gantt--gantt-container"},[Ke(),Qe(),et(),Je(),We(),(0,_vue.h)("div",{ref:r}),(0,_vue.h)("div",{ref:Z,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"}),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"})])]),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":t.push(Ye());break;case"Pager":t.push(Xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let w=(0,_vue.ref)(0);return(0,_vue.watch)(()=>j.columns?j.columns.length:-1,()=>{w.value++}),(0,_vue.watch)(()=>j.columns,()=>{w.value++}),(0,_vue.watch)(w,()=>{(0,_vue.nextTick)(()=>A.loadColumn(j.columns||[]))}),(0,_vue.watch)(()=>j.toolbarConfig,()=>{Ce()}),(0,_vue.watch)(ce,()=>{_("currentPage")}),(0,_vue.watch)(ve,()=>{_("pageSize")}),(0,_vue.watch)(pe,()=>{_("total")}),(0,_vue.watch)(()=>j.proxyConfig,()=>{qe()}),(0,_vue.watch)(h,()=>{_e()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e(A))&&_xeUtils.default.isObject(e)&&Object.assign(A,e)}),_e(),_(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=j.columns,t=D.value;j.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),j.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),j.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),e&&e.length&&A.loadColumn(e),Ce(),qe()}),e=B.value,t=c.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on(A,"keydown",ze)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(A,"keydown"),_xeUtils.default.assign(M,createInternalData())}),A.renderVN=()=>{var{showLeftView:e,showRightView:t}=L,a=T.value,o=se.value,r=fe.value,l=xe.value,n=ne.value,i=ie.value;return(0,_vue.h)("div",{ref:g,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(i?"left":"right"),{["size--"+a]:a,"is--round":j.round,"is--maximize":L.isZMax,"is--loading":r,"show--left":e,"show--right":t}],style:o},(()=>{var{headKeys:e,bodyKeys:t,footKeys:a}=de.value,o=d.asideLeft||d["aside-left"],r=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},y(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},o({})):renderEmptyElement(A),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},y(t)),r?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},r({})):renderEmptyElement(A)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},y(a)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",A),A},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_core=require("@vxe-ui/core"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_core.VxeUI,tableProps=_vxeTable.VxeTable.props,tableComponentPropKeys=Object.keys(tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function createInternalData(){return{uFoot:!1,resizeTableWidth:0}}let viewTypeLevelMaps={year:19,quarter:17,month:15,week:13,day:11,date:9,hour:7,minute:5,second:3};function getViewTypeLevel(e){return viewTypeLevelMaps[e||"date"]||viewTypeLevelMaps.date}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[],props:Object.assign(Object.assign({},tableProps),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,layouts:Array,taskConfig:Object,taskViewScaleConfig:Object,taskViewConfig:Object,taskBarConfig:Object,taskBarTooltipConfig:Object,taskSplitConfig:Object,taskBarResizeConfig:Object,taskBarDragConfig:Object,size:{type:String,default:()=>getConfig().gantt.size||getConfig().size}}),emits:_emits.ganttEmits,setup(j,e){let t,{slots:d,emit:o}=e;var E=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),k=_core.VxeUI.getComponent("VxeTable"),T=_core.VxeUI.getComponent("VxeToolbar"),R=_core.VxeUI.getComponent("VxeTooltip"),O=useFns.useSize(j).computeSize,B=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[],barTipStore:{row:null,content:"",visible:!1,params:null}}),L=createInternalData(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),a=(0,_vue.ref)(),P=(0,_vue.ref)(),r=(0,_vue.ref)(),S=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),U=(0,_vue.ref)(),V=(0,_vue.ref)(),Z=(0,_vue.ref)(),K=(0,_vue.ref)(),W=(0,_vue.ref)(),c=(0,_vue.ref)(),Q=(0,_vue.ref)();var Y=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=M.value;if(t&&t[a])return t[a](...e)}}),t};let X=Y(tableComponentMethodKeys),D=(tableComponentMethodKeys.forEach(a=>{X[a]=(...e)=>{var t=M.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),j.proxyConfig))),J=(0,_vue.computed)(()=>{var e=D.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),$=(0,_vue.computed)(()=>{var e=D.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),q=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,j.pagerConfig)),v=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,j.formConfig)),z=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,j.toolbarConfig)),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,j.zoomConfig)),p=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,j.taskConfig)),te=(0,_vue.computed)(()=>_xeUtils.default.merge({},getConfig().gantt.taskViewScaleConfig,j.taskViewScaleConfig)),m=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,j.taskViewConfig)),ae=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,j.taskBarConfig));var f=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarDragConfig,j.taskBarDragConfig)),oe=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarResizeConfig,j.taskBarResizeConfig));let re=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskSplitConfig,j.taskSplitConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarTooltipConfig,j.taskBarTooltipConfig));var le=(0,_vue.computed)(()=>{var e=ne.value;return e?e.type:"date"});let ne=(0,_vue.computed)(()=>{var e=B.taskScaleList;return _xeUtils.default.last(e)});var ie=(0,_vue.computed)(()=>{var e=B.taskScaleList;return e.find(e=>"week"===e.type)});let h=(0,_vue.computed)(()=>{var e=m.value.scales;return e}),se=(0,_vue.computed)(()=>p.value.titleField||"title");var ue=(0,_vue.computed)(()=>p.value.startField||"start"),ge=(0,_vue.computed)(()=>p.value.endField||"end"),de=(0,_vue.computed)(()=>p.value.progressField||"progress");let b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,j.scrollbarConfig)),ce=(0,_vue.computed)(()=>{var e=b.value;return!(!e.x||"top"!==e.x.position)}),ve=(0,_vue.computed)(()=>{var e=b.value;return!(!e.y||"left"!==e.y.position)}),pe=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=j,{isZMax:a,tZindex:o}=B,r=m.value.tableStyle,l=ae.value.barStyle,n={};return a?n.zIndex=o:(e&&(n.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(n.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),l&&!_xeUtils.default.isFunction(l)&&({bgColor:a,completedBgColor:o}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),o)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=o),r&&(e=r.width,e)&&(n["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(e)),n}),me=(0,_vue.computed)(()=>{let t={},a=j;return tableComponentPropKeys.forEach(e=>{void 0!==a[e]&&(t[e]=a[e])}),t}),fe=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:a,editConfig:o,proxyConfig:r}=j,{isZMax:l,tablePage:n,footerData:i}=B,s=m.value.tableStyle,u=me.value,g=D.value,d=q.value,c=ye.value,u=Object.assign({},u,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return s&&(s=s.border,_xeUtils.default.eqNull(s)||(u.border=s)),(e&&!u.footerData||g.footer&&i.length)&&(u.footerData=i),l&&(u.maxHeight?u.maxHeight="100%":u.height="100%"),r&&(0,_utils.isEnableConf)(g)&&(u.loading=c,a)&&g.seq&&(0,_utils.isEnableConf)(d)&&(u.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(u.editConfig=Object.assign({},o)),u}),xe=(0,_vue.computed)(()=>{var e=j.layouts;let t=[],a=[],o=[],r=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],o=t[1]||[],r=t[2]||[]):o=t),{headKeys:a,bodyKeys:o,footKeys:r}});var he=(0,_vue.computed)(()=>q.value.currentPage),be=(0,_vue.computed)(()=>q.value.pageSize),_e=(0,_vue.computed)(()=>q.value.total);let Ce=(0,_vue.computed)(()=>{var e=B.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),ye=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=j,a=B.tableLoading,o=D.value,r=o.showLoading;return e||a&&r&&t&&(0,_utils.isEnableConf)(o)}),we=(0,_vue.computed)(()=>{let e=j.border;var t=m.value.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}),Ee={refElem:g,refTable:M,refForm:i,refToolbar:u,refPager:s,refGanttContainerElem:a,refClassifyWrapperElem:P,refPopupContainerElem:S},ke={computeProxyOpts:D,computePagerOpts:q,computeFormOpts:v,computeToolbarOpts:z,computeZoomOpts:ee,computeTaskOpts:p,computeTaskViewScaleOpts:te,computeTaskViewOpts:m,computeTaskBarOpts:ae,computeTaskBarDragOpts:f,computeTaskBarResizeOpts:oe,computeTaskSplitOpts:re,computeTaskBarTooltipOpts:x,computeTaskViewScales:h,computeScaleUnit:le,computeMinScale:ne,computeWeekScale:ie,computeTitleField:se,computeStartField:ue,computeEndField:ge,computeProgressField:de,computeScrollbarOpts:b,computeScrollbarXToTop:ce,computeScrollbarYToLeft:ve},A=(ke.computeTaskScaleConfs=h,{xID:E,props:j,context:e,reactData:B,internalData:L,getRefMaps:()=>Ee,getComputeMaps:()=>ke}),Te=()=>{var e=h.value;let o=te.value,r=[];if(e){let a={};e.forEach(e=>{var e=!e||_xeUtils.default.isString(e)?{type:e}:e,t=e.type;t&&viewTypeLevelMaps[t]?a[t]?(0,_log.errLog)("vxe.error.repeatProp",["type",t]):(a[t]=!0,r.push(Object.assign({},t&&o[t]||{},e,{level:getViewTypeLevel(t)}))):(0,_log.errLog)("vxe.error.errProp",["type="+t,_xeUtils.default.keys(viewTypeLevelMaps).join(",")])})}r.length||r.push({type:"month",level:viewTypeLevelMaps.month},{type:"date",level:viewTypeLevelMaps.date}),B.taskScaleList=_xeUtils.default.orderBy(r,{field:"level",order:"desc"})},Re=()=>{var e=z.value;j.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=M.value,t=u.value;e&&t&&e.connectToolbar(t)})},H=()=>{var e=j.proxyConfig,t=B.formData,a=D.value,o=v.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:o.data},_=e=>{var t=B.tablePage,a=j.pagerConfig,o=q.value;a&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:a,pageSize:e,total:o}=o,a&&(t.currentPage=a),e&&(t.pageSize=e),o&&(t.total=o)))},G=(e,t)=>{var a=D.value,a=(a.response||a.props||{}).message,o=M.value;let r;return(r=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:o,$grid:null,$gantt:A}):_xeUtils.default.get(e,a):r)||getI18n(t)},Oe=(e,t,a)=>{var o=$.value,r=A.getCheckboxRecords();if(o)if(r.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},Pe=e=>{var t=j.proxyConfig,a=B.tablePage;let{$event:o,currentPage:r,pageSize:l}=e;var n=D.value;a.currentPage=r,a.pageSize=l,A.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,o)})},Se=t=>{var e,a=M.value,o=j.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=D.value,a.value.remote)&&(B.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(B.tablePage.currentPage=1,A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,t.$event)}))},Fe=e=>{Se(e),A.dispatchEvent("sort-change",e,e.$event)},Ie=e=>{Se(e),A.dispatchEvent("clear-all-sort",e,e.$event)},Ue=t=>{var e,a=M.value,o=j.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=D.value,a.value.remote)&&(B.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(B.tablePage.currentPage=1,L.uFoot=!0,A.commitProxy("query").then(e=>{A.dispatchEvent("proxy-query",e,t.$event)}),L.uFoot=!1,N())},Ve=e=>{Ue(e),A.dispatchEvent("filter-change",e,e.$event)},je=e=>{Ue(e),A.dispatchEvent("clear-all-filter",e,e.$event)},Be=t=>{var e=j.proxyConfig,a=D.value;B.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&(L.uFoot=!0,A.commitProxy("reload").then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),L.uFoot=!1,N()),A.dispatchEvent("form-submit",t,t.$event))},Le=e=>{var t=M.value,a=j.proxyConfig;let o=e.$event;var r=D.value;a&&(0,_utils.isEnableConf)(r)&&(t&&t.clearScroll(),L.uFoot=!0,A.commitProxy("reload").then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),L.uFoot=!1,N()),A.dispatchEvent("form-reset",e,o)},Me=e=>{A.dispatchEvent("form-submit-invalid",e,e.$event)},De=e=>{var t=e.$event;A.dispatchEvent("form-toggle-collapse",e,t),A.dispatchEvent("form-collapse",e,t)},$e=e=>{var t=B.isZMax;return(e?!t:t)&&(B.isZMax=!t,B.tZindex<(0,_utils.getLastZIndex)())&&(B.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>A.recalculate(!0)).then(()=>(setTimeout(()=>A.recalculate(!0),15),B.isZMax))},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},qe=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?a[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},ze=e=>{let c=g.value;if(c){var v=a.value;if(v){let d=K.value;if(d){let g=Q.value;if(g){var p=m.value;let r=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,o=d.clientWidth,n=p.tableStyle&&_xeUtils.default.toNumber(p.tableStyle.minWidth)||80,i=o,s=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let o=0;t&&(s<0?t.style.display="none":(t.textContent=i+"px",t.style.display="block",o=t.offsetHeight)),a&&(s<0?(a.textContent=Math.floor(r.width-i)+"px",a.style.display="block",o=a.offsetHeight):a.style.display="none");t=e.clientY-r.top-o/2;g.style.left=i+"px",l.style.top=Math.min(r.height-o-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),s=e.clientX-t,i=Math.min(a-80,Math.max(n,o+s)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=i+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=M.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},Ae=()=>{B.showLeftView=!B.showLeftView},He=()=>{B.showRightView=!B.showRightView},Ge={},Ne=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);Ge[e]=(...e)=>o(t,...e)}),()=>{var e=v.value;if(e.items){let n={};return e.items.forEach(t=>{var a,o,{field:r,itemRender:l}=t;if(r){let e=null;l&&({startField:l,endField:a,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&a&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,a,null)),n[r]=e}}),n}return{}}),Ze=()=>{var{proxyConfig:e,formConfig:t}=j,a=B.proxyInited,o=D.value,r=v.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(r)&&o.form&&r.items&&(B.formData=Ne()),a||!(B.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{L.uFoot=!0;var e=A.commitProxy("initial");return L.uFoot=!1,N(),e}).then(e=>{We("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},N=()=>{var e=D.value.ajax;if(e&&e.queryFooter)return A.commitProxy("queryFooter")},Ke=e=>{var t=ee.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&B.isZMax&&!1!==t.escRestore&&A.triggerZoomEvent(e)},We=(e,t,a)=>{o(e,createEvent(a,{$grid:null,$gantt:A},t))};f={dispatchEvent:We,getEl(){return g.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:p,validConfig:m}=j,f=B.tablePage,x=$.value,h=J.value;var b=D.value;let _=q.value;var a=z.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:r,afterQueryFooter:l,beforeDelete:n,afterDelete:w,beforeSave:E,afterSave:k,ajax:T={}}=b,R=b.response||b.props||{},O=M.value;if(O){let g=H(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var o,P=d?d.params:null;switch(c){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"mark_cancel":U=c,I=$.value,S=M.value,(F=S?S.getCheckboxRecords():[]).length?(S&&S.togglePendingRow(F),A.clearCheckboxRow()):I&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Oe(c,"vxe.grid.removeSelectRecord",()=>O.removeCheckboxRow());case"import":O.importData(P);break;case"open_import":O.openImport(P);break;case"export":O.exportData(P);break;case"open_export":O.openExport(P);break;case"reset_custom":return O.resetCustom(!0);case"initial":case"reload":case"query":{var S=T.query;let n=T.querySuccess,o=T.queryError;if(S){var F="initial"===c,I="reload"===c;if(!F&&B.tableLoading)return(0,_vue.nextTick)();let e=null,a=[],r=[],t={};if(u&&((F||I)&&(f.currentPage=1),(0,_utils.isEnableConf)(_))&&(t=Object.assign({},f)),F){if(s&&(0,_utils.isEnableConf)(b)&&b.form&&(g=Ne(),B.formData=g),O){let{tableFullColumn:e,fullColumnFieldData:o}=O.internalData;var U=O.getComputeMaps().computeSortOpts;let t=U.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=o[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),r=O.getCheckedFilters()}}else O&&(I?e=O.clearAll():(a=O.getSortColumns(),r=O.getCheckedFilters()));let l={$table:O,$grid:null,$gantt:A,code:c,button:d,isInited:F,isReload:I,page:t,sort:a.length?a[0]:{},sorts:a,filters:r,form:g,options:S};return B.sortData=a,B.filterData=r,B.tableLoading=!0,Promise.all([Promise.resolve((C||S)(l,...v)),e]).then(([e])=>{let t=[];var a,o,r;return B.tableLoading=!1,e&&(a={data:e,$table:O,$grid:null,$gantt:A},u&&(0,_utils.isEnableConf)(_)?(r=R.total,r=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r||"page.total"))||0,f.total=_xeUtils.default.toNumber(r),o=R.result,t=(_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(r/f.pageSize),1),f.currentPage>o&&(f.currentPage=o)):(r=R.list,_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r))||[])),i)&&(r=(o=R.footerData)?_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(r))&&(B.footerData=r),O?O.loadData(t):(0,_vue.nextTick)(()=>{var e=M.value;e&&e.loadData(t)}),y&&y(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(B.tableLoading=!1,o&&o(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.query"]);break}case"queryFooter":{var V=T.queryFooter;let a=T.queryFooterSuccess,o=T.queryFooterError;if(V){let e=[],t=(O&&(e=O.getCheckedFilters()),{$table:O,$grid:null,$gantt:A,code:c,button:d,filters:e,form:g,options:V});return Promise.resolve((r||V)(t,...v)).then(e=>(B.footerData=_xeUtils.default.isArray(e)?e:[],l&&l(t,...v),a&&a(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.queryFooter"]);break}case"delete":{let o=T.delete,r=T.deleteSuccess,l=T.deleteError;if(o){let e=A.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));V={removeRecords:t};let a={$table:O,$grid:null,$gantt:A,code:c,button:d,body:V,form:g,options:o};if(e.length)return Oe(c,"vxe.grid.deleteSelectRecord",()=>t.length?(B.tableLoading=!0,Promise.resolve((n||o)(a,...v)).then(e=>(B.tableLoading=!1,O.setPendingRow(t,!1),h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:G(e,"vxe.grid.delSuccess"),status:"success"}),w?w(a,...v):(L.uFoot=!0,A.commitProxy("query"),L.uFoot=!1,N()),r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(B.tableLoading=!1,h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:G(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):O.remove(e));x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.delete"]);break}case"save":{let i=T.save,s=T.saveSuccess,u=T.saveError;if(i){let t=O.getRecordset(),{insertRecords:a,removeRecords:o,updateRecords:r,pendingRecords:l}=t,n={$table:O,$grid:null,$gantt:A,code:c,button:d,body:t,form:g,options:i},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===O.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===O.findRowIndexOf(l,e))),Promise.resolve());return(e=p?O[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(r)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||r.length||t.pendingRecords.length?(B.tableLoading=!0,Promise.resolve((E||i)(n,...v)).then(e=>(B.tableLoading=!1,O.clearPendingRow(),h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:G(e,"vxe.grid.saveSuccess"),status:"success"}),k?k(n,...v):(L.uFoot=!0,A.commitProxy("query"),L.uFoot=!1,N()),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(B.tableLoading=!1,h&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:G(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[gantt] proxy-config.ajax.save"]);break}default:var V=commands.get(c);V&&((V=V.tableCommandMethod||V.commandMethod)?V({code:c,button:d,$table:O,$grid:null,$gantt:A},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return j.params},zoom(){return B.isZMax?A.revert():A.maximize()},isMaximized(){return B.isZMax},maximize(){return $e(!0)},revert(){return $e()},getFormData:H,getFormItems(e){var t=v.value,a=j.formConfig,o=t.items;let r=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=B.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=B.tablePage,t=Ce.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=B.tablePage;return e.currentPage},setCurrentPage(e){var t=B.tablePage,a=Ce.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=s.value;a&&a.setCurrentPageByEvent(e,t)},getPageSize(){var e=B.tablePage;return e.pageSize},setPageSize(e){var t=B.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=s.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=M.value;return j.proxyConfig?(e=B.sortData,{data:t?t.getFullData():[],filter:B.filterData,form:H(),sort:e.length?e[0]:{},sorts:e,pager:B.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView(){var e=r.value;return e?e.refreshData():(0,_vue.nextTick)()},hasTableViewVisible(){return B.showLeftView},showTableView(){return B.showLeftView=!0,(0,_vue.nextTick)()},hideTableView(){return(B.showLeftView=!1,_vue.nextTick)()},hasTaskViewVisible(){return B.showRightView},showTaskView(){return B.showRightView=!0,(0,_vue.nextTick)()},hideTaskView(){return(B.showRightView=!1,_vue.nextTick)()},closeTaskBarTooltip(){var e=B.barTipStore,t=c.value;return e.visible&&(Object.assign(e,{row:null,content:null,visible:!1,params:{}}),t)&&t.close&&t.close(),(0,_vue.nextTick)()}};let Qe={extendTableMethods:Y,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=j.height,a=B.isZMax,o=g.value;if(o){var r=F.value,l=I.value,n=U.value,i=V.value,s=Z.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:a?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,(B.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Qe.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;var o;return a?((o=["reload","delete","save"].includes(a))&&(L.uFoot=!0),e=A.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(a)&&A.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)}),L.uFoot=!1,o&&N(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){A.triggerToolbarCommitEvent(e,t),A.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){A.triggerToolbarCommitEvent(e,t),A.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){A.zoom(),A.dispatchEvent("zoom",{type:B.isZMax?"max":"revert"},e)},handleTaskCellClickEvent(e,t){var a,o,r,l,n,i,s,u=M.value;u&&(a=u.props.highlightCurrentRow,{radioColumn:o,checkboxColumn:r}=u.reactData,{computeRadioOpts:n,computeCheckboxOpts:i,computeRowOpts:l}=u.getComputeMaps(),n=n.value,i=i.value,s=t.row,(l.value.isCurrent||a)&&u.triggerCurrentRowEvent(e,Object.assign({$table:u,rowIndex:u.getRowIndex(s),$rowIndex:u.getVMRowIndex(s)},t)),o&&"row"===n.trigger&&u.triggerRadioRowEvent(e,t),r)&&"row"===i.trigger&&u.handleToggleCheckRowEvent(e,t),A.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){A.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){A.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){A.dispatchEvent("task-bar-dblclick",t,e)},triggerTaskBarTooltipEvent(t,e){var a=B.barTipStore,o=x.value,r=se.value,o=o.contentMethod,l=e.row;let n=(0,_utils.formatText)(_xeUtils.default.get(l,r)),i=(o&&(n=(0,_utils.formatText)(o(e))),r=a.row!==l,o=c.value,clearTimeout(L.barTipTimeout),r?A.closeTaskBarTooltip():o&&o.setActived&&o.setActived(!0),(0,_utils.formatText)(n));Object.assign(a,{row:l,visible:!0,content:i,params:e}),(0,_vue.nextTick)(()=>{var e=c.value;e&&(e.openByEvent?e.openByEvent(t,t.currentTarget,i):e.open&&e.open(t.currentTarget,i))})},handleTaskBarTooltipLeaveEvent(){var e=x.value;let t=c.value;t&&t.setActived&&t.setActived(!1),e.enterable?L.barTipTimeout=setTimeout(()=>{(t=c.value)&&t.isActived&&!t.isActived()&&A.closeTaskBarTooltip()},e.leaveDelay):A.closeTaskBarTooltip()},handleTaskHeaderContextmenuEvent(e,t){var a,o=M.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"header",t))},handleTaskBodyContextmenuEvent(e,t){var a,o=M.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))},handleTaskFooterContextmenuEvent(e,t){var a,o=M.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"footer",t))},handleTaskBarContextmenuEvent(e,t){var a,o=M.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))}},Ye=(Object.assign(A,X,f,Qe,{loadColumn(e){var t=M.value;return _xeUtils.default.eachTree(e,e=>{var t=e.type;e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return A.clearAll(),A.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=j,o=B.formData,r=D.value,l=v.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:null,$gantt:A});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=r.beforeItem;r&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:A,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(r)&&r.form?o:l.data})),{onSubmit:Be,onReset:Le,onSubmitInvalid:Me,onCollapse:De}),t))}return(0,_vue.h)("div",{ref:F,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement(A)}),Xe=()=>{var t,a,o,r,l,n=j.toolbarConfig,i=z.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return d.toolbar?e=d.toolbar({$grid:null,$gantt:A}):(n={},(s=i.slots)&&(t=C(s,"buttons"),a=C(s,"buttonPrefix"),o=C(s,"buttonSuffix"),r=C(s,"tools"),l=C(s,"toolPrefix"),s=C(s,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),o&&(n.buttonSuffix=o),r&&(n.tools=r),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(T,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:I,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement(A)},Je=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:U,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},et=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},tt=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:A})):renderEmptyElement(A)},at=()=>{var e=j.proxyConfig,t=fe.value,a=D.value,o=Object.assign({},Ge),r=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(o.onSortChange=Fe,o.onClearAllSort=Ie),a.filter)&&(o.onFilterChange=Ve,o.onClearAllFilter=je),{});return r&&(e.empty=r),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{ref:K,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(k,Object.assign(Object.assign({ref:M},t),o),e)])},ot=()=>d.bottom?(0,_vue.h)("div",{ref:V,key:"bottom",class:"vxe-gantt--bottom-wrapper"},d.bottom({$grid:null,$gantt:A})):renderEmptyElement(A),rt=()=>{var{proxyConfig:e,pagerConfig:t}=j,a=D.value,o=q.value,r=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:Z,key:"pager",class:"vxe-gantt--pager-wrapper"},r?r({$grid:null,$gantt:A}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},o),e&&(0,_utils.isEnableConf)(a)?B.tablePage:{}),{onPageChange:Pe}),qe(o.slots)):renderEmptyElement(A)]):renderEmptyElement(A)},lt=()=>(0,_vue.h)("div",{ref:W,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:r})]),nt=()=>{var{showLeftView:e,showRightView:t}=B,{enabled:a,resize:o,showCollapseTableButton:r,showCollapseTaskButton:l}=re.value;return a?(a={},(o=o&&e&&t)&&(a.onMousedown=ze),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":o}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),r||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[r&&t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:Ae},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(A),l&&e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:He},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(A)]):renderEmptyElement(A)])):renderEmptyElement(A)},y=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(Ye());break;case"Toolbar":t.push(Xe());break;case"Top":t.push(Je());break;case"Gantt":t.push((0,_vue.h)("div",{ref:a,key:"tv",class:"vxe-gantt--gantt-container"},[et(),at(),nt(),lt(),tt(),(0,_vue.h)("div",{ref:P}),(0,_vue.h)("div",{ref:Q,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"}),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"})])]),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":t.push(ot());break;case"Pager":t.push(rt());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let w=(0,_vue.ref)(0);return(0,_vue.watch)(()=>j.columns?j.columns.length:-1,()=>{w.value++}),(0,_vue.watch)(()=>j.columns,()=>{w.value++}),(0,_vue.watch)(w,()=>{(0,_vue.nextTick)(()=>A.loadColumn(j.columns||[]))}),(0,_vue.watch)(()=>j.toolbarConfig,()=>{Re()}),(0,_vue.watch)(he,()=>{_("currentPage")}),(0,_vue.watch)(be,()=>{_("pageSize")}),(0,_vue.watch)(_e,()=>{_("total")}),(0,_vue.watch)(()=>j.proxyConfig,()=>{Ze()}),(0,_vue.watch)(h,()=>{Te(),A.refreshTaskView()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e(A))&&_xeUtils.default.isObject(e)&&Object.assign(A,e)}),Te(),_(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=j.columns,t=D.value;j.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),j.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),j.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),e&&e.length&&A.loadColumn(e),Re(),Ze()}),e=M.value,t=r.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on(A,"keydown",Ke)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(A,"keydown"),_xeUtils.default.assign(L,createInternalData())}),A.renderVN=()=>{var{showLeftView:e,showRightView:t}=B,a=O.value,o=pe.value,r=ye.value,l=we.value,n=ce.value,i=ve.value;return(0,_vue.h)("div",{ref:g,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(i?"left":"right"),{["size--"+a]:a,"is--round":j.round,"is--maximize":B.isZMax,"is--loading":r,"show--left":e,"show--right":t}],style:o},(()=>{let a=B.barTipStore;var{headKeys:e,bodyKeys:t,footKeys:o}=xe.value,r=x.value,l=d.asideLeft||d["aside-left"],n=d.asideRight||d["aside-right"];let i=d.taskBarTooltip||d["task-bar-tooltip"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},y(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[l?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},l({})):renderEmptyElement(A),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},y(t)),n?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},n({})):renderEmptyElement(A)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},y(o)),(0,_vue.h)("div",{ref:S}),(0,_vue.h)("div",{},[(0,_vue.h)(R,{key:"gtp",ref:c,theme:r.theme,enterable:r.enterable,enterDelay:r.enterDelay,leaveDelay:r.leaveDelay,useHTML:r.useHTML,width:r.width,height:r.height,minWidth:r.minWidth,minHeight:r.minHeight,maxWidth:r.maxWidth,maxHeight:r.maxHeight,isArrow:!1},i?{content:()=>{var{row:e,content:t}=a;return e?(0,_vue.h)("div",{},i(Object.assign({tooltipContent:t,$gantt:A},a.params))):renderEmptyElement(A)}}:{})])]})())},(0,_vue.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",A),A},render(){return this.renderVN()}});
|
package/lib/gantt/src/util.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getCalcHeight = getCalcHeight;
|
|
7
7
|
exports.getCellRestHeight = getCellRestHeight;
|
|
8
8
|
exports.getRefElem = getRefElem;
|
|
9
|
+
exports.getStandardGapTime = getStandardGapTime;
|
|
9
10
|
function getRefElem(refEl) {
|
|
10
11
|
if (refEl) {
|
|
11
12
|
const rest = refEl.value;
|
|
@@ -23,4 +24,15 @@ function getCalcHeight(height) {
|
|
|
23
24
|
}
|
|
24
25
|
function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
25
26
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
27
|
+
}
|
|
28
|
+
function getStandardGapTime(type) {
|
|
29
|
+
switch (type) {
|
|
30
|
+
case 'hour':
|
|
31
|
+
return 1000 * 60 * 60;
|
|
32
|
+
case 'minute':
|
|
33
|
+
return 1000 * 60;
|
|
34
|
+
case 'second':
|
|
35
|
+
return 1000;
|
|
36
|
+
}
|
|
37
|
+
return 1000 * 60 * 60 * 24;
|
|
26
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCalcHeight(e){return"unset"!==e&&e||0}function getCellRestHeight(e,t,
|
|
1
|
+
function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCalcHeight(e){return"unset"!==e&&e||0}function getCellRestHeight(e,t,r,n){return e.resizeHeight||t.height||r.height||e.height||n}function getStandardGapTime(e){switch(e){case"hour":return 36e5;case"minute":return 6e4;case"second":return 1e3}return 864e5}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCalcHeight=getCalcHeight,exports.getCellRestHeight=getCellRestHeight,exports.getRefElem=getRefElem,exports.getStandardGapTime=getStandardGapTime;
|