vxe-table 4.16.0-beta.8 → 4.16.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/grid/src/grid.js +1 -1
- package/es/locale/lang/en-US.js +12 -12
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +55 -17
- package/es/table/src/emits.js +2 -0
- package/es/table/src/store.js +8 -0
- package/es/table/src/table.js +327 -36
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +91 -34
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +12 -12
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +12 -12
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +54 -15
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/store.js +15 -0
- package/lib/table/src/store.min.js +1 -0
- package/lib/table/src/table.js +24 -15
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -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/grid/src/grid.ts +1 -1
- package/packages/locale/lang/en-US.ts +12 -12
- package/packages/table/module/edit/hook.ts +55 -19
- package/packages/table/src/emits.ts +2 -0
- package/packages/table/src/store.ts +14 -0
- package/packages/table/src/table.ts +330 -33
- /package/es/{iconfont.1755775667994.ttf → iconfont.1756272578850.ttf} +0 -0
- /package/es/{iconfont.1755775667994.woff → iconfont.1756272578850.woff} +0 -0
- /package/es/{iconfont.1755775667994.woff2 → iconfont.1756272578850.woff2} +0 -0
- /package/lib/{iconfont.1755775667994.ttf → iconfont.1756272578850.ttf} +0 -0
- /package/lib/{iconfont.1755775667994.woff → iconfont.1756272578850.woff} +0 -0
- /package/lib/{iconfont.1755775667994.woff2 → iconfont.1756272578850.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -8,6 +8,7 @@ import { createInternalData, getRowUniqueId, clearTableAllStatus, getColumnList,
|
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
9
9
|
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from './anime';
|
|
10
10
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
11
|
+
import { getCrossTableDragRowInfo } from './store';
|
|
11
12
|
import Cell from './cell';
|
|
12
13
|
import TableBodyComponent from './body';
|
|
13
14
|
import TableHeaderComponent from './header';
|
|
@@ -32,6 +33,7 @@ const supportMaxRow = 5e6;
|
|
|
32
33
|
const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
33
34
|
const maxYHeight = 5e6;
|
|
34
35
|
const maxXWidth = 5e6;
|
|
36
|
+
let crossTableDragRowObj = null;
|
|
35
37
|
export default defineVxeComponent({
|
|
36
38
|
name: 'VxeTable',
|
|
37
39
|
props: tableProps,
|
|
@@ -48,6 +50,7 @@ export default defineVxeComponent({
|
|
|
48
50
|
const $xeGantt = inject('$xeGantt', null);
|
|
49
51
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
50
52
|
const { computeSize } = useFns.useSize(props);
|
|
53
|
+
const crossTableDragRowInfo = getCrossTableDragRowInfo();
|
|
51
54
|
const reactData = reactive({
|
|
52
55
|
// 低性能的静态列
|
|
53
56
|
staticColumns: [],
|
|
@@ -279,9 +282,9 @@ export default defineVxeComponent({
|
|
|
279
282
|
resizeHeightFlag: 1,
|
|
280
283
|
resizeWidthFlag: 1,
|
|
281
284
|
isCustomStatus: false,
|
|
282
|
-
|
|
285
|
+
isCrossDragRow: false,
|
|
283
286
|
dragRow: null,
|
|
284
|
-
|
|
287
|
+
isCrossDragCol: false,
|
|
285
288
|
dragCol: null,
|
|
286
289
|
dragTipText: '',
|
|
287
290
|
isDragResize: false,
|
|
@@ -2190,22 +2193,28 @@ export default defineVxeComponent({
|
|
|
2190
2193
|
emptyPlaceholderElem.style.top = `${tHeaderHeight}px`;
|
|
2191
2194
|
emptyPlaceholderElem.style.height = bodyWrapperElem ? `${bodyWrapperElem.offsetHeight - osbHeight}px` : '';
|
|
2192
2195
|
}
|
|
2196
|
+
const scrollbarXConf = scrollbarOpts.x || {};
|
|
2193
2197
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
2198
|
+
const scrollbarYConf = scrollbarOpts.y || {};
|
|
2194
2199
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
2195
2200
|
let xScrollbarVisible = overflowX ? 'visible' : 'hidden';
|
|
2196
|
-
if ($xeGanttView) {
|
|
2201
|
+
if (scrollbarXConf.visible === 'visible' || $xeGanttView) {
|
|
2197
2202
|
osbHeight = scrollbarHeight;
|
|
2198
2203
|
xScrollbarVisible = 'visible';
|
|
2199
2204
|
}
|
|
2200
|
-
else if (
|
|
2205
|
+
else if (scrollbarXConf.visible === 'hidden' || scrollbarXConf.visible === false) {
|
|
2201
2206
|
osbHeight = 0;
|
|
2202
2207
|
xScrollbarVisible = 'hidden';
|
|
2203
2208
|
}
|
|
2204
2209
|
let yScrollbarVisible = overflowY ? 'visible' : 'hidden';
|
|
2205
|
-
if ((
|
|
2210
|
+
if ((scrollbarYConf.visible === 'hidden' || scrollbarYConf.visible === false) || ($xeGanttView && !scrollbarYToLeft)) {
|
|
2206
2211
|
osbWidth = 0;
|
|
2207
2212
|
yScrollbarVisible = 'hidden';
|
|
2208
2213
|
}
|
|
2214
|
+
else if (scrollbarYConf.visible === 'visible') {
|
|
2215
|
+
osbWidth = scrollbarWidth;
|
|
2216
|
+
yScrollbarVisible = 'visible';
|
|
2217
|
+
}
|
|
2209
2218
|
let tbHeight = 0;
|
|
2210
2219
|
let bodyMaxHeight = 0;
|
|
2211
2220
|
const bodyMinHeight = customMinHeight - tHeaderHeight - tFooterHeight - osbHeight;
|
|
@@ -4903,7 +4912,9 @@ export default defineVxeComponent({
|
|
|
4903
4912
|
}
|
|
4904
4913
|
}
|
|
4905
4914
|
}
|
|
4906
|
-
|
|
4915
|
+
const rest = $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
|
|
4916
|
+
clearRowDragData();
|
|
4917
|
+
return rest;
|
|
4907
4918
|
},
|
|
4908
4919
|
/**
|
|
4909
4920
|
* 获取表格的全量列
|
|
@@ -7627,12 +7638,17 @@ export default defineVxeComponent({
|
|
|
7627
7638
|
}
|
|
7628
7639
|
}
|
|
7629
7640
|
};
|
|
7641
|
+
const clearCrossTableDragStatus = () => {
|
|
7642
|
+
crossTableDragRowObj = null;
|
|
7643
|
+
crossTableDragRowInfo.row = null;
|
|
7644
|
+
};
|
|
7630
7645
|
const clearDragStatus = () => {
|
|
7631
7646
|
const { dragRow, dragCol } = reactData;
|
|
7632
7647
|
if (dragRow || dragCol) {
|
|
7633
7648
|
clearColDropOrigin();
|
|
7634
7649
|
clearRowDropOrigin();
|
|
7635
7650
|
hideDropTip();
|
|
7651
|
+
clearCrossTableDragStatus();
|
|
7636
7652
|
reactData.dragRow = null;
|
|
7637
7653
|
reactData.dragCol = null;
|
|
7638
7654
|
}
|
|
@@ -7821,6 +7837,24 @@ export default defineVxeComponent({
|
|
|
7821
7837
|
cdLineEl.style.display = '';
|
|
7822
7838
|
}
|
|
7823
7839
|
};
|
|
7840
|
+
const clearRowDragData = () => {
|
|
7841
|
+
let wrapperEl = refElem.value;
|
|
7842
|
+
const dtClss = ['.vxe-body--row'];
|
|
7843
|
+
if ($xeGantt) {
|
|
7844
|
+
const { refGanttContainerElem } = $xeGantt.getRefMaps();
|
|
7845
|
+
const ganttContainerElem = refGanttContainerElem.value;
|
|
7846
|
+
if (ganttContainerElem) {
|
|
7847
|
+
wrapperEl = ganttContainerElem;
|
|
7848
|
+
}
|
|
7849
|
+
dtClss.push('.vxe-gantt-view--body-row', '.vxe-gantt-view--chart-row');
|
|
7850
|
+
}
|
|
7851
|
+
hideDropTip();
|
|
7852
|
+
clearRowDropOrigin();
|
|
7853
|
+
clearRowAnimate(wrapperEl, dtClss);
|
|
7854
|
+
internalData.prevDragToChild = false;
|
|
7855
|
+
reactData.dragRow = null;
|
|
7856
|
+
reactData.dragCol = null;
|
|
7857
|
+
};
|
|
7824
7858
|
/**
|
|
7825
7859
|
* 处理显示 tooltip
|
|
7826
7860
|
* @param {Event} evnt 事件
|
|
@@ -9860,6 +9894,221 @@ export default defineVxeComponent({
|
|
|
9860
9894
|
}
|
|
9861
9895
|
return Promise.resolve(errRest);
|
|
9862
9896
|
},
|
|
9897
|
+
/**
|
|
9898
|
+
* 处理跨表拖拽完成
|
|
9899
|
+
*/
|
|
9900
|
+
handleCrossTableRowDragFinishEvent(evnt) {
|
|
9901
|
+
const { tableData } = reactData;
|
|
9902
|
+
const { fullAllDataRowIdData } = internalData;
|
|
9903
|
+
const rowOpts = computeRowOpts.value;
|
|
9904
|
+
const cellOpts = computeCellOpts.value;
|
|
9905
|
+
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
9906
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
9907
|
+
const { animation, isCrossTableDrag } = rowDragOpts;
|
|
9908
|
+
const treeOpts = computeTreeOpts.value;
|
|
9909
|
+
const { mapChildrenField } = treeOpts;
|
|
9910
|
+
const el = refElem.value;
|
|
9911
|
+
if (isCrossTableDrag && crossTableDragRowObj && crossTableDragRowInfo) {
|
|
9912
|
+
const { row: dragRow } = crossTableDragRowInfo;
|
|
9913
|
+
if (dragRow) {
|
|
9914
|
+
const dragRowid = getRowid($xeTable, dragRow);
|
|
9915
|
+
const dragRowRest = fullAllDataRowIdData[dragRowid];
|
|
9916
|
+
let dragRowHeight = 0;
|
|
9917
|
+
let rsIndex = -1;
|
|
9918
|
+
if (dragRowRest) {
|
|
9919
|
+
if (animation) {
|
|
9920
|
+
dragRowHeight = getCellRestHeight(dragRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
9921
|
+
}
|
|
9922
|
+
rsIndex = dragRowRest.$index;
|
|
9923
|
+
}
|
|
9924
|
+
const dragRangeList = rsIndex > -1 && rsIndex < tableData.length - 1 ? tableData.slice(rsIndex + 1) : [];
|
|
9925
|
+
const dragList = XEUtils.toTreeArray([dragRow], {
|
|
9926
|
+
updated: true,
|
|
9927
|
+
children: mapChildrenField
|
|
9928
|
+
});
|
|
9929
|
+
$xeTable.remove(dragList).then(() => {
|
|
9930
|
+
if (animation && dragRowHeight && dragRangeList.length) {
|
|
9931
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
9932
|
+
let wrapperEl = el;
|
|
9933
|
+
if ($xeGantt && $xeGanttView) {
|
|
9934
|
+
const { refGanttContainerElem } = $xeGantt.getRefMaps();
|
|
9935
|
+
const ganttContainerElem = refGanttContainerElem.value;
|
|
9936
|
+
if (ganttContainerElem) {
|
|
9937
|
+
wrapperEl = ganttContainerElem;
|
|
9938
|
+
}
|
|
9939
|
+
}
|
|
9940
|
+
const dtClss = [];
|
|
9941
|
+
dragRangeList.forEach(row => {
|
|
9942
|
+
const rowid = getRowid($xeTable, row);
|
|
9943
|
+
dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);
|
|
9944
|
+
if ($xeGantt) {
|
|
9945
|
+
dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`, `.vxe-gantt-view--chart-row[rowid="${rowid}"]`);
|
|
9946
|
+
}
|
|
9947
|
+
});
|
|
9948
|
+
const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
|
|
9949
|
+
moveRowAnimateToTb(dtTrList, dragRowHeight);
|
|
9950
|
+
}
|
|
9951
|
+
});
|
|
9952
|
+
dispatchEvent('row-remove-dragend', {
|
|
9953
|
+
row: dragRow
|
|
9954
|
+
}, evnt);
|
|
9955
|
+
clearRowDragData();
|
|
9956
|
+
clearCrossTableDragStatus();
|
|
9957
|
+
}
|
|
9958
|
+
}
|
|
9959
|
+
},
|
|
9960
|
+
/**
|
|
9961
|
+
* 处理跨表拖至新的空表
|
|
9962
|
+
*/
|
|
9963
|
+
handleCrossTableRowDragoverEmptyEvent(evnt) {
|
|
9964
|
+
const { tableData } = reactData;
|
|
9965
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
9966
|
+
const { isCrossTableDrag } = rowDragOpts;
|
|
9967
|
+
if (isCrossTableDrag && crossTableDragRowObj && !tableData.length) {
|
|
9968
|
+
const { $oldTable } = crossTableDragRowObj;
|
|
9969
|
+
if ($oldTable && $oldTable.xID !== $xeTable.xID) {
|
|
9970
|
+
evnt.preventDefault();
|
|
9971
|
+
crossTableDragRowObj.$newTable = $xeTable;
|
|
9972
|
+
internalData.prevDragRow = null;
|
|
9973
|
+
}
|
|
9974
|
+
}
|
|
9975
|
+
},
|
|
9976
|
+
/**
|
|
9977
|
+
* 处理跨表拖插入
|
|
9978
|
+
*/
|
|
9979
|
+
handleCrossTableRowDragInsertEvent(evnt) {
|
|
9980
|
+
const { treeConfig } = props;
|
|
9981
|
+
const { prevDragRow, prevDragPos, prevDragToChild } = internalData;
|
|
9982
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
9983
|
+
const { animation, isSelfToChildDrag, isCrossTableDrag, dragEndMethod, dragToChildMethod } = rowDragOpts;
|
|
9984
|
+
const rowOpts = computeRowOpts.value;
|
|
9985
|
+
const cellOpts = computeCellOpts.value;
|
|
9986
|
+
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
9987
|
+
const treeOpts = computeTreeOpts.value;
|
|
9988
|
+
const { parentField, mapChildrenField } = treeOpts;
|
|
9989
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9990
|
+
// 跨表拖拽
|
|
9991
|
+
if (isCrossTableDrag && crossTableDragRowObj && crossTableDragRowInfo) {
|
|
9992
|
+
const { row: oldRow } = crossTableDragRowInfo;
|
|
9993
|
+
const { $oldTable } = crossTableDragRowObj;
|
|
9994
|
+
const el = refElem.value;
|
|
9995
|
+
if ($oldTable && oldRow) {
|
|
9996
|
+
const dragRow = oldRow;
|
|
9997
|
+
let dragOffsetIndex = -1;
|
|
9998
|
+
if (prevDragRow) {
|
|
9999
|
+
dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
10000
|
+
}
|
|
10001
|
+
const dragParams = {
|
|
10002
|
+
oldRow: dragRow,
|
|
10003
|
+
newRow: prevDragRow,
|
|
10004
|
+
dragRow,
|
|
10005
|
+
dragPos: prevDragPos,
|
|
10006
|
+
dragToChild: !!prevDragToChild,
|
|
10007
|
+
offsetIndex: dragOffsetIndex
|
|
10008
|
+
};
|
|
10009
|
+
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
10010
|
+
const errRest = {
|
|
10011
|
+
status: false
|
|
10012
|
+
};
|
|
10013
|
+
Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
10014
|
+
if (!status) {
|
|
10015
|
+
return errRest;
|
|
10016
|
+
}
|
|
10017
|
+
let insertRest = Promise.resolve();
|
|
10018
|
+
if (treeConfig) {
|
|
10019
|
+
const dragList = XEUtils.toTreeArray([dragRow], {
|
|
10020
|
+
updated: true,
|
|
10021
|
+
children: mapChildrenField
|
|
10022
|
+
});
|
|
10023
|
+
$oldTable.handleCrossTableRowDragFinishEvent(evnt);
|
|
10024
|
+
if (prevDragRow) {
|
|
10025
|
+
dragRow[parentField] = prevDragRow[parentField];
|
|
10026
|
+
}
|
|
10027
|
+
else {
|
|
10028
|
+
dragRow[parentField] = null;
|
|
10029
|
+
}
|
|
10030
|
+
dragList.forEach(row => {
|
|
10031
|
+
row[childrenField] = undefined;
|
|
10032
|
+
row[mapChildrenField] = undefined;
|
|
10033
|
+
});
|
|
10034
|
+
if (prevDragRow) {
|
|
10035
|
+
if (prevDragPos === 'bottom') {
|
|
10036
|
+
insertRest = $xeTable.insertNextAt(dragList, prevDragRow);
|
|
10037
|
+
}
|
|
10038
|
+
else {
|
|
10039
|
+
insertRest = $xeTable.insertAt(dragList, prevDragRow);
|
|
10040
|
+
}
|
|
10041
|
+
}
|
|
10042
|
+
else {
|
|
10043
|
+
insertRest = $xeTable.insert(dragList);
|
|
10044
|
+
}
|
|
10045
|
+
}
|
|
10046
|
+
else {
|
|
10047
|
+
$oldTable.handleCrossTableRowDragFinishEvent(evnt);
|
|
10048
|
+
if (prevDragRow) {
|
|
10049
|
+
if (prevDragPos === 'bottom') {
|
|
10050
|
+
insertRest = $xeTable.insertNextAt(dragRow, prevDragRow);
|
|
10051
|
+
}
|
|
10052
|
+
else {
|
|
10053
|
+
insertRest = $xeTable.insertAt(dragRow, prevDragRow);
|
|
10054
|
+
}
|
|
10055
|
+
}
|
|
10056
|
+
else {
|
|
10057
|
+
insertRest = $xeTable.insert(dragRow);
|
|
10058
|
+
}
|
|
10059
|
+
}
|
|
10060
|
+
dispatchEvent('row-insert-dragend', {
|
|
10061
|
+
oldRow,
|
|
10062
|
+
newRow: prevDragRow,
|
|
10063
|
+
dragRow,
|
|
10064
|
+
dragPos: prevDragPos,
|
|
10065
|
+
dragToChild: isDragToChildFlag,
|
|
10066
|
+
offsetIndex: dragOffsetIndex
|
|
10067
|
+
}, evnt);
|
|
10068
|
+
clearRowDragData();
|
|
10069
|
+
insertRest.then(() => {
|
|
10070
|
+
const { tableData } = reactData;
|
|
10071
|
+
const { fullAllDataRowIdData } = internalData;
|
|
10072
|
+
const oldRowid = getRowid($xeTable, dragRow);
|
|
10073
|
+
const oldRowRest = fullAllDataRowIdData[oldRowid];
|
|
10074
|
+
let dragRowHeight = 0;
|
|
10075
|
+
let rsIndex = -1;
|
|
10076
|
+
if (oldRowRest) {
|
|
10077
|
+
if (animation) {
|
|
10078
|
+
dragRowHeight = getCellRestHeight(oldRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
10079
|
+
}
|
|
10080
|
+
rsIndex = oldRowRest.$index;
|
|
10081
|
+
}
|
|
10082
|
+
const dragRangeList = rsIndex > -1 ? tableData.slice(rsIndex) : [];
|
|
10083
|
+
if (animation && dragRowHeight && dragRangeList.length) {
|
|
10084
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
10085
|
+
let wrapperEl = el;
|
|
10086
|
+
if ($xeGantt && $xeGanttView) {
|
|
10087
|
+
const { refGanttContainerElem } = $xeGantt.getRefMaps();
|
|
10088
|
+
const ganttContainerElem = refGanttContainerElem.value;
|
|
10089
|
+
if (ganttContainerElem) {
|
|
10090
|
+
wrapperEl = ganttContainerElem;
|
|
10091
|
+
}
|
|
10092
|
+
}
|
|
10093
|
+
const dtClss = [];
|
|
10094
|
+
dragRangeList.forEach(row => {
|
|
10095
|
+
const rowid = getRowid($xeTable, row);
|
|
10096
|
+
dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);
|
|
10097
|
+
if ($xeGantt) {
|
|
10098
|
+
dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`, `.vxe-gantt-view--chart-row[rowid="${rowid}"]`);
|
|
10099
|
+
}
|
|
10100
|
+
});
|
|
10101
|
+
const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
|
|
10102
|
+
moveRowAnimateToTb(dtTrList, -dragRowHeight);
|
|
10103
|
+
}
|
|
10104
|
+
});
|
|
10105
|
+
});
|
|
10106
|
+
}
|
|
10107
|
+
}
|
|
10108
|
+
},
|
|
10109
|
+
hideCrossTableRowDropClearStatus() {
|
|
10110
|
+
hideDropTip();
|
|
10111
|
+
},
|
|
9863
10112
|
handleRowDragDragendEvent(evnt) {
|
|
9864
10113
|
const { treeConfig } = props;
|
|
9865
10114
|
const { fullAllDataRowIdData, prevDragToChild } = internalData;
|
|
@@ -9868,7 +10117,16 @@ export default defineVxeComponent({
|
|
|
9868
10117
|
const { lazy } = treeOpts;
|
|
9869
10118
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
9870
10119
|
const { prevDragRow, prevDragPos } = internalData;
|
|
9871
|
-
|
|
10120
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
10121
|
+
const { isCrossTableDrag } = rowDragOpts;
|
|
10122
|
+
// 跨表拖拽
|
|
10123
|
+
if (isCrossTableDrag && crossTableDragRowObj) {
|
|
10124
|
+
const { $newTable } = crossTableDragRowObj;
|
|
10125
|
+
if ($newTable && $newTable.xID !== $xeTable.xID) {
|
|
10126
|
+
$newTable.handleCrossTableRowDragInsertEvent(evnt);
|
|
10127
|
+
return;
|
|
10128
|
+
}
|
|
10129
|
+
}
|
|
9872
10130
|
if (treeConfig && lazy && prevDragToChild) {
|
|
9873
10131
|
// 懒加载
|
|
9874
10132
|
const newRowid = getRowid($xeTable, prevDragRow);
|
|
@@ -9885,21 +10143,8 @@ export default defineVxeComponent({
|
|
|
9885
10143
|
else {
|
|
9886
10144
|
$xeTable.handleRowDragSwapEvent(evnt, true, dragRow, prevDragRow, prevDragPos, prevDragToChild);
|
|
9887
10145
|
}
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
const { refGanttContainerElem } = $xeGantt.getRefMaps();
|
|
9891
|
-
const ganttContainerElem = refGanttContainerElem.value;
|
|
9892
|
-
if (ganttContainerElem) {
|
|
9893
|
-
wrapperEl = ganttContainerElem;
|
|
9894
|
-
}
|
|
9895
|
-
dtClss.push('.vxe-gantt-view--body-row', '.vxe-gantt-view--chart-row');
|
|
9896
|
-
}
|
|
9897
|
-
hideDropTip();
|
|
9898
|
-
clearRowDropOrigin();
|
|
9899
|
-
clearRowAnimate(wrapperEl, dtClss);
|
|
9900
|
-
internalData.prevDragToChild = false;
|
|
9901
|
-
reactData.dragRow = null;
|
|
9902
|
-
reactData.dragCol = null;
|
|
10146
|
+
clearRowDragData();
|
|
10147
|
+
clearCrossTableDragStatus();
|
|
9903
10148
|
},
|
|
9904
10149
|
handleRowDragDragoverEvent(evnt) {
|
|
9905
10150
|
const { treeConfig } = props;
|
|
@@ -9909,8 +10154,8 @@ export default defineVxeComponent({
|
|
|
9909
10154
|
const { lazy, transform, parentField } = treeOpts;
|
|
9910
10155
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
9911
10156
|
const rowDragOpts = computeRowDragOpts.value;
|
|
9912
|
-
const { isPeerDrag, isCrossDrag, isToChildDrag } = rowDragOpts;
|
|
9913
|
-
if (!dragRow) {
|
|
10157
|
+
const { isPeerDrag, isCrossDrag, isToChildDrag, isCrossTableDrag } = rowDragOpts;
|
|
10158
|
+
if (!dragRow && !(isCrossTableDrag && (!treeConfig || isCrossDrag) && crossTableDragRowObj)) {
|
|
9914
10159
|
evnt.preventDefault();
|
|
9915
10160
|
return;
|
|
9916
10161
|
}
|
|
@@ -9919,16 +10164,38 @@ export default defineVxeComponent({
|
|
|
9919
10164
|
const rowid = trEl.getAttribute('rowid') || '';
|
|
9920
10165
|
const rest = fullAllDataRowIdData[rowid];
|
|
9921
10166
|
if (rest) {
|
|
10167
|
+
evnt.preventDefault();
|
|
9922
10168
|
const row = rest.row;
|
|
9923
10169
|
const rowid = getRowid($xeTable, row);
|
|
9924
10170
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
9925
|
-
evnt.preventDefault();
|
|
9926
|
-
const { dragRow } = reactData;
|
|
9927
10171
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
9928
10172
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
9929
10173
|
internalData.prevDragToChild = !!(treeConfig && transform && (isCrossDrag && isToChildDrag) && isControlKey);
|
|
9930
10174
|
internalData.prevDragRow = row;
|
|
9931
10175
|
internalData.prevDragPos = dragPos;
|
|
10176
|
+
// 跨表拖拽
|
|
10177
|
+
if (isCrossTableDrag && (!treeConfig || isCrossDrag) && crossTableDragRowObj) {
|
|
10178
|
+
const { $oldTable, $newTable } = crossTableDragRowObj;
|
|
10179
|
+
if ($oldTable) {
|
|
10180
|
+
const oldTableReactData = $oldTable.reactData;
|
|
10181
|
+
if ($oldTable.xID === $xeTable.xID) {
|
|
10182
|
+
if ($newTable) {
|
|
10183
|
+
$newTable.hideCrossTableRowDropClearStatus();
|
|
10184
|
+
}
|
|
10185
|
+
reactData.isCrossDragRow = false;
|
|
10186
|
+
oldTableReactData.isCrossDragRow = false;
|
|
10187
|
+
crossTableDragRowObj.$newTable = null;
|
|
10188
|
+
}
|
|
10189
|
+
else {
|
|
10190
|
+
$oldTable.hideCrossTableRowDropClearStatus();
|
|
10191
|
+
oldTableReactData.isCrossDragRow = true;
|
|
10192
|
+
reactData.dragTipText = oldTableReactData.dragTipText;
|
|
10193
|
+
crossTableDragRowObj.$newTable = $xeTable;
|
|
10194
|
+
showDropTip(evnt, trEl, null, true, dragPos);
|
|
10195
|
+
return;
|
|
10196
|
+
}
|
|
10197
|
+
}
|
|
10198
|
+
}
|
|
9932
10199
|
if ($xeTable.eqRow(dragRow, row) ||
|
|
9933
10200
|
(isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded) ||
|
|
9934
10201
|
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rest.level))) {
|
|
@@ -9948,7 +10215,7 @@ export default defineVxeComponent({
|
|
|
9948
10215
|
evnt.stopPropagation();
|
|
9949
10216
|
const { dragConfig } = props;
|
|
9950
10217
|
const rowDragOpts = computeRowDragOpts.value;
|
|
9951
|
-
const { trigger, dragStartMethod } = rowDragOpts;
|
|
10218
|
+
const { isCrossTableDrag, trigger, dragStartMethod } = rowDragOpts;
|
|
9952
10219
|
const { row } = params;
|
|
9953
10220
|
const dragEl = evnt.currentTarget;
|
|
9954
10221
|
const tdEl = trigger === 'cell' || trigger === 'row' ? dragEl : (_a = dragEl.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
@@ -9959,10 +10226,16 @@ export default defineVxeComponent({
|
|
|
9959
10226
|
trEl.draggable = false;
|
|
9960
10227
|
reactData.dragRow = null;
|
|
9961
10228
|
reactData.dragCol = null;
|
|
10229
|
+
clearCrossTableDragStatus();
|
|
9962
10230
|
hideDropTip();
|
|
9963
10231
|
return;
|
|
9964
10232
|
}
|
|
10233
|
+
if (isCrossTableDrag) {
|
|
10234
|
+
crossTableDragRowInfo.row = row;
|
|
10235
|
+
crossTableDragRowObj = { $oldTable: $xeTable, $newTable: null };
|
|
10236
|
+
}
|
|
9965
10237
|
reactData.dragRow = row;
|
|
10238
|
+
reactData.isCrossDragRow = false;
|
|
9966
10239
|
reactData.dragCol = null;
|
|
9967
10240
|
trEl.draggable = true;
|
|
9968
10241
|
updateRowDropOrigin(row);
|
|
@@ -10273,6 +10546,7 @@ export default defineVxeComponent({
|
|
|
10273
10546
|
internalData.prevDragToChild = false;
|
|
10274
10547
|
reactData.dragRow = null;
|
|
10275
10548
|
reactData.dragCol = null;
|
|
10549
|
+
clearCrossTableDragStatus();
|
|
10276
10550
|
},
|
|
10277
10551
|
handleHeaderCellDragDragoverEvent(evnt) {
|
|
10278
10552
|
const { dragCol } = reactData;
|
|
@@ -10351,12 +10625,14 @@ export default defineVxeComponent({
|
|
|
10351
10625
|
thEl.draggable = false;
|
|
10352
10626
|
reactData.dragRow = null;
|
|
10353
10627
|
reactData.dragCol = null;
|
|
10628
|
+
clearCrossTableDragStatus();
|
|
10354
10629
|
hideDropTip();
|
|
10355
10630
|
return;
|
|
10356
10631
|
}
|
|
10357
10632
|
reactData.dragCol = column;
|
|
10358
10633
|
reactData.dragRow = null;
|
|
10359
10634
|
thEl.draggable = true;
|
|
10635
|
+
clearCrossTableDragStatus();
|
|
10360
10636
|
updateColDropOrigin(column);
|
|
10361
10637
|
updateColDropTipContent(thEl);
|
|
10362
10638
|
dispatchEvent('column-dragstart', params, evnt);
|
|
@@ -10364,6 +10640,7 @@ export default defineVxeComponent({
|
|
|
10364
10640
|
handleHeaderCellDragMouseupEvent() {
|
|
10365
10641
|
clearColDropOrigin();
|
|
10366
10642
|
hideDropTip();
|
|
10643
|
+
clearCrossTableDragStatus();
|
|
10367
10644
|
reactData.dragRow = null;
|
|
10368
10645
|
reactData.dragCol = null;
|
|
10369
10646
|
},
|
|
@@ -11252,8 +11529,9 @@ export default defineVxeComponent({
|
|
|
11252
11529
|
const rTipSlot = rowDragSlots.tip || (dragConfig && dragConfig.slots ? dragConfig.slots.rowTip : null);
|
|
11253
11530
|
const columnDragSlots = columnDragOpts.slots || {};
|
|
11254
11531
|
const cTipSlot = columnDragSlots.tip;
|
|
11255
|
-
|
|
11256
|
-
|
|
11532
|
+
const dRow = dragRow || (rowDragOpts.isCrossTableDrag ? crossTableDragRowInfo.row : null);
|
|
11533
|
+
if (dRow && rTipSlot) {
|
|
11534
|
+
return callSlot(rTipSlot, { row: dRow });
|
|
11257
11535
|
}
|
|
11258
11536
|
if (dragCol && cTipSlot) {
|
|
11259
11537
|
return callSlot(cTipSlot, { column: dragCol });
|
|
@@ -11266,6 +11544,7 @@ export default defineVxeComponent({
|
|
|
11266
11544
|
const columnOpts = computeColumnOpts.value;
|
|
11267
11545
|
const rowDragOpts = computeRowDragOpts.value;
|
|
11268
11546
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
11547
|
+
const dRow = dragRow || (rowDragOpts.isCrossTableDrag ? crossTableDragRowInfo.row : null);
|
|
11269
11548
|
if (rowOpts.drag || columnOpts.drag) {
|
|
11270
11549
|
return h('div', {
|
|
11271
11550
|
class: 'vxe-table--drag-wrapper'
|
|
@@ -11282,7 +11561,7 @@ export default defineVxeComponent({
|
|
|
11282
11561
|
'is--guides': columnDragOpts.showGuidesStatus
|
|
11283
11562
|
}]
|
|
11284
11563
|
}),
|
|
11285
|
-
(
|
|
11564
|
+
(dRow && rowDragOpts.showDragTip) || (dragCol && columnDragOpts.showDragTip)
|
|
11286
11565
|
? h('div', {
|
|
11287
11566
|
ref: refDragTipElem,
|
|
11288
11567
|
class: 'vxe-table--drag-sort-tip'
|
|
@@ -11294,7 +11573,7 @@ export default defineVxeComponent({
|
|
|
11294
11573
|
class: 'vxe-table--drag-sort-tip-status'
|
|
11295
11574
|
}, [
|
|
11296
11575
|
h('span', {
|
|
11297
|
-
class: ['vxe-table--drag-sort-tip-normal-status',
|
|
11576
|
+
class: ['vxe-table--drag-sort-tip-normal-status', dRow ? getIcon().TABLE_DRAG_STATUS_ROW : getIcon().TABLE_DRAG_STATUS_COLUMN]
|
|
11298
11577
|
}),
|
|
11299
11578
|
h('span', {
|
|
11300
11579
|
class: ['vxe-table--drag-sort-tip-sub-status', getIcon().TABLE_DRAG_STATUS_SUB_ROW]
|
|
@@ -11543,6 +11822,7 @@ export default defineVxeComponent({
|
|
|
11543
11822
|
const { teleportToWrapperElem } = internalData;
|
|
11544
11823
|
const { leftList, rightList } = columnStore;
|
|
11545
11824
|
const loadingSlot = slots.loading;
|
|
11825
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
11546
11826
|
const tableTipConfig = computeTableTipConfig.value;
|
|
11547
11827
|
const validTipConfig = computeValidTipConfig.value;
|
|
11548
11828
|
const validOpts = computeValidOpts.value;
|
|
@@ -11562,6 +11842,11 @@ export default defineVxeComponent({
|
|
|
11562
11842
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
11563
11843
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
11564
11844
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
11845
|
+
const { isCrossTableDrag } = rowDragOpts;
|
|
11846
|
+
const rwOns = {};
|
|
11847
|
+
if (isCrossTableDrag && !tableData.length) {
|
|
11848
|
+
rwOns.onDragover = $xeTable.handleCrossTableRowDragoverEmptyEvent;
|
|
11849
|
+
}
|
|
11565
11850
|
return h('div', {
|
|
11566
11851
|
ref: refElem,
|
|
11567
11852
|
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
@@ -11621,10 +11906,7 @@ export default defineVxeComponent({
|
|
|
11621
11906
|
class: 'vxe-table-var-mini'
|
|
11622
11907
|
})
|
|
11623
11908
|
]),
|
|
11624
|
-
h('div', {
|
|
11625
|
-
key: 'tw',
|
|
11626
|
-
class: 'vxe-table--render-wrapper'
|
|
11627
|
-
}, scrollbarXToTop
|
|
11909
|
+
h('div', Object.assign({ key: 'tw', class: 'vxe-table--render-wrapper' }, rwOns), scrollbarXToTop
|
|
11628
11910
|
? [
|
|
11629
11911
|
renderScrollX(),
|
|
11630
11912
|
renderBody()
|
|
@@ -11985,6 +12267,11 @@ export default defineVxeComponent({
|
|
|
11985
12267
|
tablePrivateMethods.preventEvent(null, 'activated', { $table: $xeTable });
|
|
11986
12268
|
});
|
|
11987
12269
|
onDeactivated(() => {
|
|
12270
|
+
const { filterStore } = reactData;
|
|
12271
|
+
if (filterStore.visible) {
|
|
12272
|
+
$xeTable.clearFilter();
|
|
12273
|
+
}
|
|
12274
|
+
$xeTable.closeTooltip();
|
|
11988
12275
|
internalData.isActivated = false;
|
|
11989
12276
|
tablePrivateMethods.preventEvent(null, 'deactivated', { $table: $xeTable });
|
|
11990
12277
|
});
|
|
@@ -12023,6 +12310,7 @@ export default defineVxeComponent({
|
|
|
12023
12310
|
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
12024
12311
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
12025
12312
|
const aggregateOpts = computeAggregateOpts.value;
|
|
12313
|
+
const rowDragOpts = computeRowDragOpts.value;
|
|
12026
12314
|
if (props.rowId) {
|
|
12027
12315
|
warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
|
|
12028
12316
|
}
|
|
@@ -12124,7 +12412,10 @@ export default defineVxeComponent({
|
|
|
12124
12412
|
}
|
|
12125
12413
|
}
|
|
12126
12414
|
if (treeConfig && rowOpts.drag && !treeOpts.transform) {
|
|
12127
|
-
errLog('vxe.error.notSupportProp', ['
|
|
12415
|
+
errLog('vxe.error.notSupportProp', ['row-config.drag', 'tree-config.transform=false', 'tree-config.transform=true']);
|
|
12416
|
+
}
|
|
12417
|
+
if (treeConfig && rowDragOpts.isCrossTableDrag && !rowDragOpts.isCrossDrag) {
|
|
12418
|
+
errLog('vxe.error.reqSupportProp', ['tree-config & row-drag-config.isCrossTableDrag', 'row-drag-config.isCrossDrag']);
|
|
12128
12419
|
}
|
|
12129
12420
|
if (props.dragConfig) {
|
|
12130
12421
|
warnLog('vxe.error.delProp', ['drag-config', 'row-drag-config']);
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -31,7 +31,7 @@ const {
|
|
|
31
31
|
renderEmptyElement
|
|
32
32
|
} = _ui.VxeUI;
|
|
33
33
|
const tableComponentPropKeys = Object.keys(_props2.tableProps);
|
|
34
|
-
const 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', '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', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
|
|
34
|
+
const 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', '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', 'connectToolbar'];
|
|
35
35
|
function createInternalData() {
|
|
36
36
|
return {};
|
|
37
37
|
}
|