vxe-pc-ui 4.19.8 → 4.20.0
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/dist/all.esm.js +318 -19
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +317 -17
- package/es/list/style.css +26 -0
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/style.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +9 -0
- package/es/vxe-list/style.css +26 -0
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +1 -0
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +336 -18
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +328 -19
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +26 -0
- package/lib/list/style/style.min.css +1 -1
- package/lib/scrollbar/style/style.css +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +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/lib/ui/src/utils.js +10 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-list/style/style.css +26 -0
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +1 -0
- package/package.json +1 -1
- package/packages/list/src/list.ts +345 -17
- package/packages/ui/src/utils.ts +10 -0
- package/styles/components/list.scss +51 -0
- package/styles/components/scrollbar.scss +3 -0
- package/types/components/card.d.ts +1 -1
- package/types/components/layout-aside.d.ts +1 -1
- package/types/components/layout-body.d.ts +1 -1
- package/types/components/list.d.ts +24 -2
- package/types/components/table-plugins/extend-cell-area.d.ts +1 -1
- package/types/components/table.d.ts +24 -0
- package/types/components/tabs.d.ts +1 -1
- /package/es/icon/{iconfont.1791862962954.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/es/icon/{iconfont.1791862962954.woff → iconfont.1791880413927.woff} +0 -0
- /package/es/icon/{iconfont.1791862962954.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/es/{iconfont.1791862962954.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/es/{iconfont.1791862962954.woff → iconfont.1791880413927.woff} +0 -0
- /package/es/{iconfont.1791862962954.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.woff → iconfont.1791880413927.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/lib/{iconfont.1791862962954.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/lib/{iconfont.1791862962954.woff → iconfont.1791880413927.woff} +0 -0
- /package/lib/{iconfont.1791862962954.woff2 → iconfont.1791880413927.woff2} +0 -0
package/lib/list/src/list.js
CHANGED
|
@@ -13,7 +13,8 @@ var _dom = require("../../ui/src/dom");
|
|
|
13
13
|
var _utils = require("../../ui/src/utils");
|
|
14
14
|
var _log = require("../../ui/src/log");
|
|
15
15
|
var _anime = require("../../ui/src/anime");
|
|
16
|
-
var _util = require("
|
|
16
|
+
var _util = require("../../scrollbar/src/util");
|
|
17
|
+
var _util2 = require("./util");
|
|
17
18
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
const {
|
|
@@ -46,6 +47,9 @@ function createReactData() {
|
|
|
46
47
|
updateCheckboxFlag: 1,
|
|
47
48
|
isAllChecked: false,
|
|
48
49
|
isAllIndeterminate: false,
|
|
50
|
+
// 滚动条
|
|
51
|
+
yThumbHeight: 0,
|
|
52
|
+
xThumbWidth: 0,
|
|
49
53
|
insertRowFlag: 1,
|
|
50
54
|
removeRowFlag: 1,
|
|
51
55
|
dragRow: null,
|
|
@@ -55,13 +59,18 @@ function createReactData() {
|
|
|
55
59
|
}
|
|
56
60
|
function createInternalData() {
|
|
57
61
|
return {
|
|
58
|
-
resizeObserver: undefined,
|
|
59
62
|
fullData: [],
|
|
60
63
|
afterList: [],
|
|
61
64
|
fullKeyMaps: {},
|
|
62
65
|
rowMaps: {},
|
|
63
|
-
|
|
66
|
+
// 滚动条
|
|
67
|
+
// resizeObserver: undefined,
|
|
68
|
+
// isThumbDrag: false,
|
|
69
|
+
thumbDragOffset: 0,
|
|
70
|
+
yThumbTop: 0,
|
|
71
|
+
xThumbLeft: 0,
|
|
64
72
|
lastScrollTop: 0,
|
|
73
|
+
lastScrollLeft: 0,
|
|
65
74
|
scrollYStore: {
|
|
66
75
|
startIndex: 0,
|
|
67
76
|
endIndex: 0,
|
|
@@ -115,7 +124,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
115
124
|
dragConfig: Object,
|
|
116
125
|
menuConfig: Object,
|
|
117
126
|
virtualYConfig: Object,
|
|
118
|
-
scrollY: Object
|
|
127
|
+
scrollY: Object,
|
|
128
|
+
useScrollbar: {
|
|
129
|
+
type: Boolean,
|
|
130
|
+
default: () => (0, _ui.getConfig)().list.useScrollbar
|
|
131
|
+
},
|
|
132
|
+
scrollbarConfig: Object
|
|
119
133
|
},
|
|
120
134
|
emits: ['update:checkRowKey', 'update:checkRowKeys', 'row-click', 'row-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'scroll', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'row-menu', 'menu-click'],
|
|
121
135
|
setup(props, context) {
|
|
@@ -136,6 +150,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
136
150
|
const refFooterElem = (0, _vue.ref)();
|
|
137
151
|
const refVirtualWrapper = (0, _vue.ref)();
|
|
138
152
|
const refVirtualBody = (0, _vue.ref)();
|
|
153
|
+
const refViewInnerElem = (0, _vue.ref)();
|
|
154
|
+
const refTrackXElem = (0, _vue.ref)();
|
|
155
|
+
const refTrackYElem = (0, _vue.ref)();
|
|
156
|
+
const refThumbXElem = (0, _vue.ref)();
|
|
157
|
+
const refThumbYElem = (0, _vue.ref)();
|
|
139
158
|
const refDragRowLineElem = (0, _vue.ref)();
|
|
140
159
|
const refDragTipElem = (0, _vue.ref)();
|
|
141
160
|
const refMaps = {
|
|
@@ -194,11 +213,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
194
213
|
});
|
|
195
214
|
const computeWrapperStyles = (0, _vue.computed)(() => {
|
|
196
215
|
const rowHeight = computeRowHeight.value;
|
|
197
|
-
const
|
|
216
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
217
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
218
|
+
const stys = {};
|
|
198
219
|
if (rowHeight) {
|
|
199
|
-
|
|
220
|
+
stys['--vxe-ui-list-row-height'] = (0, _dom.toCssUnit)(rowHeight);
|
|
200
221
|
}
|
|
201
|
-
|
|
222
|
+
if (scrollbarYOpts.width) {
|
|
223
|
+
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(scrollbarYOpts.width);
|
|
224
|
+
}
|
|
225
|
+
if (scrollbarXOpts.height) {
|
|
226
|
+
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(scrollbarXOpts.height);
|
|
227
|
+
}
|
|
228
|
+
return stys;
|
|
202
229
|
});
|
|
203
230
|
const computeVirtualStyles = (0, _vue.computed)(() => {
|
|
204
231
|
const {
|
|
@@ -220,6 +247,46 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
220
247
|
}
|
|
221
248
|
return style;
|
|
222
249
|
});
|
|
250
|
+
const computeScrollbarOpts = (0, _vue.computed)(() => {
|
|
251
|
+
return Object.assign({}, (0, _ui.getConfig)().list.scrollbarConfig, props.scrollbarConfig);
|
|
252
|
+
});
|
|
253
|
+
const computeScrollbarXOpts = (0, _vue.computed)(() => {
|
|
254
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
255
|
+
return Object.assign({}, (0, _ui.getConfig)().scrollbar.xConfig, scrollbarOpts.xConfig);
|
|
256
|
+
});
|
|
257
|
+
const computeScrollbarYOpts = (0, _vue.computed)(() => {
|
|
258
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
259
|
+
return Object.assign({}, (0, _ui.getConfig)().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
260
|
+
});
|
|
261
|
+
const computeScrollbarWrapperClss = (0, _vue.computed)(() => {
|
|
262
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
263
|
+
const {
|
|
264
|
+
padding
|
|
265
|
+
} = scrollbarOpts;
|
|
266
|
+
const {
|
|
267
|
+
yThumbHeight,
|
|
268
|
+
xThumbWidth
|
|
269
|
+
} = reactData;
|
|
270
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
271
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
272
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
273
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
274
|
+
return _ui.domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollbarXOpts.visible || 'visible'}`, `ov-y--${scrollbarYOpts.visible || 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
275
|
+
'is--padding': padding,
|
|
276
|
+
'ov-x--auto-hide': scrollbarXOpts.autoHide,
|
|
277
|
+
'ov-y--auto-hide': scrollbarYOpts.autoHide,
|
|
278
|
+
'overflow-y': yThumbHeight,
|
|
279
|
+
'overflow-x': xThumbWidth
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
const computeScrollbarXToTop = (0, _vue.computed)(() => {
|
|
283
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
284
|
+
return scrollbarXOpts.position === 'top';
|
|
285
|
+
});
|
|
286
|
+
const computeScrollbarYToLeft = (0, _vue.computed)(() => {
|
|
287
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
288
|
+
return scrollbarYOpts.position === 'left';
|
|
289
|
+
});
|
|
223
290
|
const dispatchEvent = (type, params, evnt) => {
|
|
224
291
|
emit(type, (0, _ui.createEvent)(evnt, {
|
|
225
292
|
$list: $xeList
|
|
@@ -397,6 +464,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
397
464
|
lastScrollLeft,
|
|
398
465
|
lastScrollTop
|
|
399
466
|
} = internalData;
|
|
467
|
+
updateScrollbar();
|
|
400
468
|
return clearScroll().then(() => {
|
|
401
469
|
if (lastScrollLeft || lastScrollTop) {
|
|
402
470
|
internalData.lastScrollLeft = 0;
|
|
@@ -405,6 +473,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
405
473
|
}
|
|
406
474
|
});
|
|
407
475
|
};
|
|
476
|
+
const updateScrollbar = () => {
|
|
477
|
+
updateThumbSize();
|
|
478
|
+
updateThumbOffset();
|
|
479
|
+
};
|
|
408
480
|
/**
|
|
409
481
|
* 重新计算列表
|
|
410
482
|
*/
|
|
@@ -422,6 +494,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
422
494
|
parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
|
|
423
495
|
}
|
|
424
496
|
reactData.parentHeight = parentHeight;
|
|
497
|
+
updateScrollbar();
|
|
425
498
|
updateHeight();
|
|
426
499
|
if (el.clientWidth && el.clientHeight) {
|
|
427
500
|
return computeScrollLoad();
|
|
@@ -459,6 +532,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
459
532
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
460
533
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
461
534
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
535
|
+
updateThumbOffset();
|
|
462
536
|
internalData.lastScrollTop = scrollTop;
|
|
463
537
|
internalData.lastScrollLeft = scrollLeft;
|
|
464
538
|
if (reactData.scrollYLoad) {
|
|
@@ -1446,7 +1520,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1446
1520
|
const funcName = isAppend ? 'push' : 'unshift';
|
|
1447
1521
|
newRecords.forEach(item => {
|
|
1448
1522
|
const rowid = getRowIdByField(item, keyField);
|
|
1449
|
-
const rowRest = (0,
|
|
1523
|
+
const rowRest = (0, _util2.getItemCacheObj)(item);
|
|
1450
1524
|
fullData[funcName](item);
|
|
1451
1525
|
rowMaps[rowid] = rowRest;
|
|
1452
1526
|
});
|
|
@@ -1493,7 +1567,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1493
1567
|
if (rowIndex > -1) {
|
|
1494
1568
|
newRecords.forEach(item => {
|
|
1495
1569
|
const rowid = getRowIdByField(item, keyField);
|
|
1496
|
-
const rowRest = (0,
|
|
1570
|
+
const rowRest = (0, _util2.getItemCacheObj)(item);
|
|
1497
1571
|
rowMaps[rowid] = rowRest;
|
|
1498
1572
|
});
|
|
1499
1573
|
let targetIndex = rowIndex;
|
|
@@ -1965,6 +2039,183 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1965
2039
|
hideDropTip();
|
|
1966
2040
|
}
|
|
1967
2041
|
};
|
|
2042
|
+
const updateThumbSize = () => {
|
|
2043
|
+
const viewEl = refVirtualWrapper.value;
|
|
2044
|
+
if (!viewEl) {
|
|
2045
|
+
return;
|
|
2046
|
+
}
|
|
2047
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2048
|
+
return;
|
|
2049
|
+
}
|
|
2050
|
+
const trackXEl = refTrackXElem.value;
|
|
2051
|
+
const xThumbWidth = trackXEl ? (0, _util.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
2052
|
+
const thumbXElem = refThumbXElem.value;
|
|
2053
|
+
if (thumbXElem) {
|
|
2054
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2055
|
+
}
|
|
2056
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
2057
|
+
const trackYEl = refTrackYElem.value;
|
|
2058
|
+
const yThumbHeight = trackYEl ? (0, _util.getThumbSize)(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
2059
|
+
const thumbYElem = refThumbYElem.value;
|
|
2060
|
+
if (thumbYElem) {
|
|
2061
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2062
|
+
}
|
|
2063
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
2064
|
+
};
|
|
2065
|
+
const updateThumbOffset = () => {
|
|
2066
|
+
const viewEl = refVirtualWrapper.value;
|
|
2067
|
+
if (!viewEl) {
|
|
2068
|
+
return;
|
|
2069
|
+
}
|
|
2070
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2071
|
+
return;
|
|
2072
|
+
}
|
|
2073
|
+
const {
|
|
2074
|
+
xThumbWidth,
|
|
2075
|
+
yThumbHeight
|
|
2076
|
+
} = reactData;
|
|
2077
|
+
const trackXEl = refTrackXElem.value;
|
|
2078
|
+
const thumbXElem = refThumbXElem.value;
|
|
2079
|
+
const xThumbLeft = trackXEl && xThumbWidth ? (0, _util.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
2080
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
2081
|
+
if (thumbXElem && xThumbWidth) {
|
|
2082
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2083
|
+
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
2084
|
+
}
|
|
2085
|
+
const trackYEl = refTrackYElem.value;
|
|
2086
|
+
const thumbYElem = refThumbYElem.value;
|
|
2087
|
+
const yThumbTop = trackYEl && yThumbHeight ? (0, _util.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
2088
|
+
internalData.yThumbTop = yThumbTop;
|
|
2089
|
+
if (thumbYElem && yThumbHeight) {
|
|
2090
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2091
|
+
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
2092
|
+
}
|
|
2093
|
+
};
|
|
2094
|
+
const clickTrackXEvent = evnt => {
|
|
2095
|
+
const trackEl = evnt.currentTarget;
|
|
2096
|
+
if (trackEl !== evnt.target) {
|
|
2097
|
+
return;
|
|
2098
|
+
}
|
|
2099
|
+
const viewEl = refVirtualWrapper.value;
|
|
2100
|
+
if (!viewEl) {
|
|
2101
|
+
return;
|
|
2102
|
+
}
|
|
2103
|
+
const {
|
|
2104
|
+
xThumbWidth
|
|
2105
|
+
} = reactData;
|
|
2106
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2107
|
+
viewEl.scrollTo({
|
|
2108
|
+
left: (0, _util.getScrollFromClick)(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
2109
|
+
behavior: 'auto'
|
|
2110
|
+
});
|
|
2111
|
+
};
|
|
2112
|
+
const clickTrackYEvent = evnt => {
|
|
2113
|
+
const trackEl = evnt.currentTarget;
|
|
2114
|
+
if (trackEl !== evnt.target) {
|
|
2115
|
+
return;
|
|
2116
|
+
}
|
|
2117
|
+
const viewEl = refVirtualWrapper.value;
|
|
2118
|
+
if (!viewEl) {
|
|
2119
|
+
return;
|
|
2120
|
+
}
|
|
2121
|
+
const {
|
|
2122
|
+
yThumbHeight
|
|
2123
|
+
} = reactData;
|
|
2124
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2125
|
+
viewEl.scrollTo({
|
|
2126
|
+
top: (0, _util.getScrollFromClick)(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
2127
|
+
behavior: 'auto'
|
|
2128
|
+
});
|
|
2129
|
+
};
|
|
2130
|
+
const pointerdownThumbXEvent = evnt => {
|
|
2131
|
+
const thumbEl = evnt.currentTarget;
|
|
2132
|
+
internalData.isThumbDrag = true;
|
|
2133
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2134
|
+
const viewEl = refVirtualWrapper.value;
|
|
2135
|
+
if (!viewEl) {
|
|
2136
|
+
return;
|
|
2137
|
+
}
|
|
2138
|
+
const {
|
|
2139
|
+
xThumbWidth
|
|
2140
|
+
} = reactData;
|
|
2141
|
+
const trackEl = thumbEl.parentElement;
|
|
2142
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2143
|
+
const pointerPosition = evnt.clientX - trackRect.left;
|
|
2144
|
+
// 记录 thumb 的偏移
|
|
2145
|
+
const thumbOffset = (0, _util.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2146
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2147
|
+
};
|
|
2148
|
+
const pointermoveThumbXEvent = evnt => {
|
|
2149
|
+
const thumbEl = evnt.currentTarget;
|
|
2150
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2151
|
+
return;
|
|
2152
|
+
}
|
|
2153
|
+
const {
|
|
2154
|
+
isThumbDrag,
|
|
2155
|
+
thumbDragOffset
|
|
2156
|
+
} = internalData;
|
|
2157
|
+
if (isThumbDrag) {
|
|
2158
|
+
const viewEl = refVirtualWrapper.value;
|
|
2159
|
+
if (!viewEl) {
|
|
2160
|
+
return;
|
|
2161
|
+
}
|
|
2162
|
+
const {
|
|
2163
|
+
xThumbWidth
|
|
2164
|
+
} = reactData;
|
|
2165
|
+
const thumbEl = evnt.currentTarget;
|
|
2166
|
+
const trackEl = thumbEl.parentElement;
|
|
2167
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2168
|
+
// 更新偏移
|
|
2169
|
+
viewEl.scrollLeft = (0, _util.getScrollFromDrag)(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2170
|
+
}
|
|
2171
|
+
};
|
|
2172
|
+
const cleatPointerThumbEvent = evnt => {
|
|
2173
|
+
const thumbEl = evnt.currentTarget;
|
|
2174
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
2175
|
+
internalData.isThumbDrag = false;
|
|
2176
|
+
};
|
|
2177
|
+
const pointerdownThumbYEvent = evnt => {
|
|
2178
|
+
const thumbEl = evnt.currentTarget;
|
|
2179
|
+
internalData.isThumbDrag = true;
|
|
2180
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2181
|
+
const viewEl = refVirtualWrapper.value;
|
|
2182
|
+
if (!viewEl) {
|
|
2183
|
+
return;
|
|
2184
|
+
}
|
|
2185
|
+
const {
|
|
2186
|
+
yThumbHeight
|
|
2187
|
+
} = reactData;
|
|
2188
|
+
const trackEl = thumbEl.parentElement;
|
|
2189
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2190
|
+
const pointerPosition = evnt.clientY - trackRect.top;
|
|
2191
|
+
// 记录 thumb 的偏移
|
|
2192
|
+
const thumbOffset = (0, _util.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2193
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2194
|
+
};
|
|
2195
|
+
const pointermoveThumbYEvent = evnt => {
|
|
2196
|
+
const thumbEl = evnt.currentTarget;
|
|
2197
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2198
|
+
return;
|
|
2199
|
+
}
|
|
2200
|
+
const {
|
|
2201
|
+
isThumbDrag,
|
|
2202
|
+
thumbDragOffset
|
|
2203
|
+
} = internalData;
|
|
2204
|
+
if (isThumbDrag) {
|
|
2205
|
+
const viewEl = refVirtualWrapper.value;
|
|
2206
|
+
if (!viewEl) {
|
|
2207
|
+
return;
|
|
2208
|
+
}
|
|
2209
|
+
const {
|
|
2210
|
+
yThumbHeight
|
|
2211
|
+
} = reactData;
|
|
2212
|
+
const thumbEl = evnt.currentTarget;
|
|
2213
|
+
const trackEl = thumbEl.parentElement;
|
|
2214
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
2215
|
+
// 更新偏移
|
|
2216
|
+
viewEl.scrollTop = (0, _util.getScrollFromDrag)(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2217
|
+
}
|
|
2218
|
+
};
|
|
1968
2219
|
Object.assign($xeList, listMethods, listPrivateMethods);
|
|
1969
2220
|
const renderDragTip = () => {
|
|
1970
2221
|
const {
|
|
@@ -2197,7 +2448,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2197
2448
|
const {
|
|
2198
2449
|
showCheckbox,
|
|
2199
2450
|
className,
|
|
2200
|
-
loading
|
|
2451
|
+
loading,
|
|
2452
|
+
useScrollbar
|
|
2201
2453
|
} = props;
|
|
2202
2454
|
const {
|
|
2203
2455
|
bodyHeight,
|
|
@@ -2229,6 +2481,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2229
2481
|
padding
|
|
2230
2482
|
} = rowOpts;
|
|
2231
2483
|
const isDrag = computeIsDrag.value;
|
|
2484
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
2485
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
2486
|
+
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
2232
2487
|
const showDefChekboxHead = showCheckbox && showHeader !== false;
|
|
2233
2488
|
const leOns = {};
|
|
2234
2489
|
if (isCrossListDrag && !rowList.length) {
|
|
@@ -2240,6 +2495,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2240
2495
|
$list: $xeList
|
|
2241
2496
|
}) : className : '', {
|
|
2242
2497
|
[`size--${vSize}`]: vSize,
|
|
2498
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
2499
|
+
'ov-x--auto-hide': useScrollbar && scrollbarXOpts.autoHide,
|
|
2500
|
+
'ov-y--auto-hide': useScrollbar && scrollbarYOpts.autoHide,
|
|
2243
2501
|
'is--drag': isDrag,
|
|
2244
2502
|
'is--loading': loading
|
|
2245
2503
|
}],
|
|
@@ -2286,16 +2544,53 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2286
2544
|
style: {
|
|
2287
2545
|
marginTop: topSpaceHeight ? `${topSpaceHeight}px` : ''
|
|
2288
2546
|
}
|
|
2547
|
+
}, useScrollbar ? defaultSlot ? defaultSlot({
|
|
2548
|
+
items: rowList,
|
|
2549
|
+
$list: $xeList
|
|
2550
|
+
}) : rowList.map((row, i) => renderRow(row, i)) : [(0, _vue.h)('div', {
|
|
2551
|
+
key: 'vi',
|
|
2552
|
+
ref: refViewInnerElem,
|
|
2553
|
+
class: 'vxe-scrollbar--view-inner'
|
|
2289
2554
|
}, defaultSlot ? defaultSlot({
|
|
2290
2555
|
items: rowList,
|
|
2291
2556
|
$list: $xeList
|
|
2292
|
-
}) : rowList.map((row, i) => renderRow(row, i)))]), footerSlot ? (0, _vue.h)('div', {
|
|
2557
|
+
}) : rowList.map((row, i) => renderRow(row, i)))])]), footerSlot ? (0, _vue.h)('div', {
|
|
2293
2558
|
ref: refFooterElem,
|
|
2294
2559
|
class: 'vxe-list--footer-wrapper'
|
|
2295
2560
|
}, footerSlot({
|
|
2296
2561
|
items: rowList,
|
|
2297
2562
|
$list: $xeList
|
|
2298
2563
|
})) : (0, _ui.renderEmptyElement)($xeList),
|
|
2564
|
+
/**
|
|
2565
|
+
* 滚动条
|
|
2566
|
+
*/
|
|
2567
|
+
useScrollbar ? (0, _vue.h)('div', {
|
|
2568
|
+
class: scrollbarWrapperClss
|
|
2569
|
+
}, [scrollbarXOpts.visible === 'hidden' ? (0, _ui.renderEmptyElement)($xeList) : (0, _vue.h)('div', {
|
|
2570
|
+
ref: refTrackXElem,
|
|
2571
|
+
class: 'vxe-scrollbar--track-x',
|
|
2572
|
+
onClick: clickTrackXEvent
|
|
2573
|
+
}, [(0, _vue.h)('div', {
|
|
2574
|
+
ref: refThumbXElem,
|
|
2575
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
2576
|
+
onPointerdown: pointerdownThumbXEvent,
|
|
2577
|
+
onPointermove: pointermoveThumbXEvent,
|
|
2578
|
+
onPointerup: cleatPointerThumbEvent,
|
|
2579
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
2580
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
2581
|
+
})]), scrollbarYOpts.visible === 'hidden' ? (0, _ui.renderEmptyElement)($xeList) : (0, _vue.h)('div', {
|
|
2582
|
+
ref: refTrackYElem,
|
|
2583
|
+
class: 'vxe-scrollbar--track-y',
|
|
2584
|
+
onClick: clickTrackYEvent
|
|
2585
|
+
}, [(0, _vue.h)('div', {
|
|
2586
|
+
ref: refThumbYElem,
|
|
2587
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
2588
|
+
onPointerdown: pointerdownThumbYEvent,
|
|
2589
|
+
onPointermove: pointermoveThumbYEvent,
|
|
2590
|
+
onPointerup: cleatPointerThumbEvent,
|
|
2591
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
2592
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
2593
|
+
})])]) : (0, _ui.renderEmptyElement)($xeList),
|
|
2299
2594
|
/**
|
|
2300
2595
|
* 拖拽提示
|
|
2301
2596
|
*/
|
|
@@ -2350,7 +2645,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2350
2645
|
updateCheckboxModeValue();
|
|
2351
2646
|
});
|
|
2352
2647
|
(0, _vue.onActivated)(() => {
|
|
2353
|
-
recalculate().then(() =>
|
|
2648
|
+
recalculate().then(() => {
|
|
2649
|
+
refreshScroll();
|
|
2650
|
+
});
|
|
2354
2651
|
});
|
|
2355
2652
|
(0, _vue.nextTick)(() => {
|
|
2356
2653
|
loadData(props.data || []);
|
|
@@ -2359,7 +2656,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2359
2656
|
const {
|
|
2360
2657
|
showSeq,
|
|
2361
2658
|
showRadio,
|
|
2362
|
-
showCheckbox
|
|
2659
|
+
showCheckbox,
|
|
2660
|
+
autoResize,
|
|
2661
|
+
useScrollbar
|
|
2363
2662
|
} = props;
|
|
2364
2663
|
const rowOpts = computeRowOpts.value;
|
|
2365
2664
|
const {
|
|
@@ -2384,17 +2683,27 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2384
2683
|
if (useKey && !keyField) {
|
|
2385
2684
|
errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
2386
2685
|
}
|
|
2387
|
-
if (
|
|
2686
|
+
if (useScrollbar || autoResize) {
|
|
2388
2687
|
const el = refElem.value;
|
|
2389
|
-
const
|
|
2688
|
+
const viewInnerEl = refViewInnerElem.value;
|
|
2689
|
+
const resizeObserver = _ui.globalResize.create(() => {
|
|
2690
|
+
reFlag.value++;
|
|
2691
|
+
});
|
|
2390
2692
|
resizeObserver.observe(el);
|
|
2391
|
-
if (
|
|
2392
|
-
|
|
2693
|
+
if (autoResize) {
|
|
2694
|
+
if (el) {
|
|
2695
|
+
resizeObserver.observe(el.parentElement);
|
|
2696
|
+
}
|
|
2697
|
+
}
|
|
2698
|
+
if (viewInnerEl) {
|
|
2699
|
+
resizeObserver.observe(viewInnerEl);
|
|
2393
2700
|
}
|
|
2394
2701
|
internalData.resizeObserver = resizeObserver;
|
|
2395
2702
|
}
|
|
2396
|
-
|
|
2397
|
-
_ui.globalEvents.on($xeList, 'resize',
|
|
2703
|
+
reFlag.value++;
|
|
2704
|
+
_ui.globalEvents.on($xeList, 'resize', () => {
|
|
2705
|
+
reFlag.value++;
|
|
2706
|
+
});
|
|
2398
2707
|
});
|
|
2399
2708
|
(0, _vue.onBeforeUnmount)(() => {
|
|
2400
2709
|
const {
|
package/lib/list/src/list.min.js
CHANGED
|
@@ -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")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{resizeObserver:void 0,fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:T,emit:o}=e;var t=_xeUtils.default.uniqueId();let i=_xeUtils.default.browse(),j=(0,_ui.useSize)(S).computeSize,F=(0,_vue.reactive)(createReactData()),H=createInternalData(),v=(0,_store.getCrossListDragRowInfo)(),b=(0,_vue.ref)(),N=(0,_vue.ref)(),P=(0,_vue.ref)(),y=(0,_vue.ref)(),z=(0,_vue.ref)(),Y=(0,_vue.ref)(),V=(0,_vue.ref)(),h={refElem:b},B={xID:t,props:S,context:e,reactData:F,internalData:H,getRefMaps:()=>h},O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),A=(0,_vue.computed)(()=>{var e=O.value.keyField;return e||""}),U=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=O.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),q=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),X=(0,_vue.computed)(()=>{var e=f.value,t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),t}),G=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=F,i={};return e?i.height=(0,_dom.toCssUnit)(Math.max(20,r-l-a)):t&&(i.height="auto",i.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-a))),i}),R=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$list:B},t))},s=e=>{o("update:checkRowKeys",e)},n=e=>{o("update:checkRowKey",e)},_=e=>getRowIdByField(e,A.value),p=e=>{var t=F.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},W=()=>{var e=N.value,t=P.value;F.headHeight=e?Math.floor(e.offsetHeight):0,F.footHeight=t?Math.floor(t.offsetHeight):0,F.customHeight=p("height"),F.customMaxHeight=p("maxHeight")},m=()=>{var e=F.scrollYLoad,{scrollYStore:t,fullData:r}=H;F.bodyHeight=e?r.length*t.rowHeight:0,F.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},J=()=>{var e=H.fullData;H.afterList=e.slice(0),se()},C=e=>{var t=F.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=H,a=A.value;e&&J();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return a&&e.forEach((e,t)=>{e=getRowIdByField(e,a),e=l[e];e&&(e.$index=t)}),F.rowList=e,(0,_vue.nextTick)()},Q=()=>{C(),m()},Z=()=>(0,_vue.nextTick)().then(()=>{var e=F.scrollYLoad,t=H.scrollYStore,r=z.value,o=w.value;let l=0,a;(a=r?(a=o.sItem?r.querySelector(o.sItem):a)||r.children[0]:a)&&(l=a.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=y.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):i.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),Q):m)()}),ee=()=>{var e=y.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},te=(e,t)=>{var r=y.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),F.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},re=()=>{let{lastScrollLeft:e,lastScrollTop:t}=H;return ee().then(()=>{if(e||t)return H.lastScrollLeft=0,H.lastScrollTop=0,te(e,t)})},k=()=>{var r,o=b.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),F.parentHeight=t,W(),o.clientWidth&&o.clientHeight)return Z()}return(0,_vue.nextTick)()},oe=e=>{var t=H.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-a),a=e+l+a;!(e<=r||o-l-1<=e)||r===i&&o===a||(t.startIndex=i,t.endIndex=a,Q())},le=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==H.lastScrollLeft,l=r!==H.lastScrollTop;H.lastScrollTop=r,H.lastScrollLeft=t,F.scrollYLoad&&oe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},ae=()=>{var e=S.checkRowKey,t=H.fullKeyMaps;e?(t=t[e],F.selectRadioRow=t||null):F.selectRadioRow=null},ie=()=>{var e=S.checkRowKeys,t=H.fullKeyMaps,r=A.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}H.selectCheckboxMaps=o,g()},se=()=>{let{afterList:e,rowMaps:l}=H,a=A.value,i=0;e.forEach((e,t)=>{var r=getRowIdByField(e,a),o=l[r];o?o._index=i:(o={item:e,index:t,$index:-1,_index:i},l[r]=o),i++})},ne=()=>{var e=H.fullData;let l=A.value,a={},i={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);a[o]=e,i[r]={item:e,index:t,$index:-1,_index:-1}}),H.fullKeyMaps=a,H.rowMaps=i},r=e=>{var t=H.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),H.fullData=e,H.insertRowMaps={},F.insertRowFlag++,H.removeRowMaps={},F.removeRowFlag++,F.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ne(),C(!0),ae(),ie(),Z().then(()=>{re()})},ue=()=>{I(),D(),k()},ce=()=>{var e=b.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},de=e=>{var t=w.value.sItem,r=b.value;if(r){e=_(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},ge=e=>{var t=F.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:B,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),F.dragTipText=o},u=()=>{var e=V.value,t=Y.value;e&&(e.style.display=""),t&&(t.style.display="")},D=()=>{crossListDragRowObj=null,v.row=null},ve=()=>{var e=F.dragRow;e&&(u(),ce(),D(),F.dragRow=null)},he=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=K.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;ce(),a&&!a(t)?(l.draggable=!1,F.dragRow=null,u()):(o&&(v.row=r,crossListDragRowObj={$oldList:B,$newList:null}),i={row:r},F.dragRow=r,F.isCrossDragRow=!1,l.draggable=!0,de(r),ge(l),R("row-dragstart",i,e))},we=()=>{ve()},c=(e,t,r,o)=>{var l=b.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=Y.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-a.y);t+e>i&&(e=i-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=V.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-a.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-a.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},I=()=>{var e=b.value;u(),ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),F.dragRow=null},fe=(l,a,i,s)=>{let n=H.fullData;var e=K.value;let{animation:g,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let v="bottom"===s?1:0,h=b.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v};let u=_(a),c=E(n,u);var x,p=L(i);let d=0,t=-1,r=void(g&&(p=h.querySelector(`.vxe-list--row[rowid="${p}"]`),x=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(p=p||x)&&(d=p.offsetHeight),x)&&(t=x.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=M(n,a),n.splice(r,1);var e=M(n,i);return o=e+v,n.splice(o,0,a),C(),F.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(g){var o=F.rowList,l=H.fullData,a=E(l,u),i=l[0],i=M(l,i),s=h;if(-1<i){var n=i+l.length;let e=-1,t=-1,r=1;c<i?(e=0,t=a-i):c>n?(n=E(o,u),e=n+1,t=l.length,r=-1):a>c?(e=c-i,t=e+a-c):(e=a-i,t=e+c-a+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}i=[`.vxe-list--row[rowid="${u}"]`],a=s.querySelectorAll(i.join(",")),l=a[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(a,t-l.offsetTop)}k()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(I(),D(),e))}I(),D()}return Promise.resolve(w)},xe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},pe=e=>{var t=F.dragRow,{prevDragRow:r,prevDragPos:o}=H,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==B.xID)return void l.handleCrossListRowDragInsertEvent(e)}fe(e,t,r,o)},Re=e=>{var t=F.dragRow,r=H.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=d(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(H.prevDragRow=r,H.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==B.xID)return s&&s.xID!==B.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,F.dragTipText=n.dragTipText,crossListDragRowObj.$newList=B,void c(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),F.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?c(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},c(e,l,!0,i),R("row-dragover",o,e))}},_e=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;U.value&&(l="row"===r);r={row:t,$list:B};!l||o&&o(r)||he(e,r)},me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=H.currentRow,a=$.value,i=q.value,s=O.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Te(e,t)):l&&(H.currentRow=null,F.currRowFlag++),r&&"row"===a.trigger&&(u=!0,Fe(e,t)),o&&"row"===i.trigger&&(c=!0,Se(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ce=(e,t)=>{R("row-dblclick",{row:t},e)},L=e=>getRowKeyByField(e,A.value),l=(e,t)=>""+e==""+t,be=(e,t)=>!(!e||!t)&&(e===t||l(_(e),_(t))),ye=(e,t)=>e&&l(L(e),t);let d=(e,t)=>{let r=A.value;return _xeUtils.default.find(e,e=>l(getRowIdByField(e,r),t))},M=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>be(e,t)):-1,E=(e,t)=>{let r=A.value;return _xeUtils.default.findIndexOf(e,e=>l(getRowIdByField(e,r),t))},ke=e=>{var t=F.selectRadioRow;return L(t)===e};let De=e=>{var t=F.updateCheckboxFlag,r=H.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ie=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=A.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Le=()=>{H.selectCheckboxMaps={},F.updateCheckboxFlag++,F.isAllChecked=!1,F.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Me=e=>{var{fullData:t,selectCheckboxMaps:r}=H,o=A.value;if(e){var l,a=[];for(l of t){var i=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,a.push(i)}return s(a),g()}return Le()},g=()=>{var{selectCheckboxMaps:e,fullData:t}=H,r=A.value,o=q.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:B}))if(e[getRowIdByField(i,r)])l=!0;else if(a=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(a=!0,l)break;return F.isAllChecked=l&&!a,F.isAllIndeterminate=l&&a,F.updateCheckboxFlag++,(0,_vue.nextTick)()},Ee=e=>{var t=F.isAllChecked,t=!t;t?Me(!0):Le(),R("checkbox-all",{checked:t},e)},Se=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectCheckboxMaps,l=q.value.checkMethod,a=_(r),l=!!l&&!l({$list:B,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),F.updateCheckboxFlag++,g();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Te=(e,t)=>{e.preventDefault();var r=O.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(H.currentRow=t,F.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Fe=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectRadioRow,{strict:l,checkMethod:a}=$.value,i=L(r),a=!!a&&!a({$list:B,row:r});if(!a){a=i;let e=!0;l&&o&&i===L(o)?(e=!1,F.selectRadioRow=null):F.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},He=(e,t)=>{let{fullData:o,rowMaps:l}=H,a=A.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},Be=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=H,s=A.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))He(u,!1);else if(-1===n)He(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),He(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Oe=(o,l)=>{var e=S.menuConfig,t=x.value,r=O.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:B,options:e,row:l})||(r?Te(o,l):H.currentRow&&(H.currentRow=null,F.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:B};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:r,reloadData(e){return ee(),r(e)},getFullData(){var e=H.fullData;return e},recalculate:k,scrollTo:te,refreshScroll:re,clearScroll:ee,getRowKey:L,eqRowKey:l,eqRow:be,eqRowByKey:ye,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>be(e,t)):null,findRowByKey:d,findRowIndexOf:M,findRowIndexOfByKey:E,isCheckedByRadioRowKey:ke,isCheckedByRadioRow:e=>ke(L(e)),isCheckedByCheckboxRowKey:De,isCheckedByCheckboxRow:e=>De(L(e)),setCurrentRow:e=>(H.currentRow=e,F.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=H.fullData;return H.currentRow=d(t,e),F.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=H.currentRow;return e},getCurrentRowKey:()=>{var e=H.currentRow;return e?L(e):null},clearCurrentRow:()=>(H.currentRow=null,F.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{F.selectRadioRow=e;e=L(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=H.fullData,t=(F.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=F.selectRadioRow;return e},getRadioRowKey:()=>{var e=F.selectRadioRow;return e?L(e):null},clearRadioRow:()=>(F.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=H.selectCheckboxMaps,o=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ie();return s(e),g()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=H,l=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ie();return s(e),g()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ie,clearCheckboxRow:Le,setAllCheckboxRow:Me,insert(e){return Be(e,null)},insertAt(e,t){return Be(e,t)},insertNextAt(e,t){return Be(e,t,!0)},getInsertRecords(){var e=H.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!F.insertRowFlag&&!!H.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=H;if(!A.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;B.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),H.fullData=[]):e.forEach(e=>{let t=_(e);var e=_xeUtils.default.findIndexOf(r,e=>t===_(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=_(e);t[e]&&delete t[e]}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>k()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=H.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!F.removeRowFlag&&!!H.removeRowMaps[e]},getRecordset(){return{insertRecords:B.getInsertRecords(),removeRecords:B.getRemoveRecords()}}};Object.assign(B,e,{handleCrossListRowDragCancelEvent(){I(),D()},handleCrossListRowDragFinishEvent(t){var l=F.rowList,a=H.rowMaps;let{animation:i,isCrossListDrag:e}=K.value,s=b.value;if(s&&e&&crossListDragRowObj&&v){var n=v.row;if(n){var u=_(n),a=a[u];let r=0,e=-1,o=(a&&(i&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=a.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];B.remove(u).then(()=>{if(i&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},t),ue()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=F.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==B.xID&&(r&&r.xID!==B.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=B,H.prevDragRow=null,F.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=H;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&v){let l=v.row,i=crossListDragRowObj.$oldList,s=b.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var g={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(g)).then(e=>{if(!e)return i&&i.xID!==B.xID&&i.handleCrossListRowDragCancelEvent(n),ue(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?B.insertNextAt(e,u):B.insertAt(e,u):B.insert(e),B.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),I(),t.then(()=>{var e=F.rowList,r=H.rowMaps,o=_(a),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}});let Ke=(t,e,r,o)=>{var l=S.showRadio,{showIcon:a,visibleMethod:i}=$.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Fe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)},Ae=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:a,visibleMethod:i}=q.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Se(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)};let Ue=(0,_vue.ref)(0),a=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{Ue.value++}),(0,_vue.watch)(()=>S.data,()=>{Ue.value++}),(0,_vue.watch)(Ue,()=>{r(S.data||[])}),(0,_vue.ref)(0)),$e=((0,_vue.watch)(()=>S.height,()=>{a.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{a.value++}),(0,_vue.watch)(f,()=>{a.value++}),(0,_vue.watch)(a,()=>{(0,_vue.nextTick)(()=>{k()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{ae()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{$e.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{$e.value++}),(0,_vue.watch)($e,()=>{ie()}),(0,_vue.onActivated)(()=>{k().then(()=>re())}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r}=S,o=O.value.useKey,l=U.value,a=A.value;a||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),l&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),o&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),S.autoResize&&(e=b.value,(t=_ui.globalResize.create(()=>k())).observe(e),e&&t.observe(e.parentElement),H.resizeObserver=t),k(),_ui.globalEvents.on(B,"resize",k)}),(0,_vue.onBeforeUnmount)(()=>{var e=H.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(B,"resize"),_xeUtils.default.assign(F,createReactData()),_xeUtils.default.assign(H,createInternalData())}),B.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=S,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s}=F,n=T.default,u=T.header,c=T.footer,d=j.value,g=X.value,v=G.value,h=$.value,w=q.value,{showHeader:f,headerTitle:x}=w,{trigger:p,isCrossListDrag:R}=K.value,{isHover:_,padding:m}=O.value,C=U.value,e=e&&!1!==f,f={};return R&&!a.length&&(f.onDragover=B.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:b,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:B}):t:"",{["size--"+d]:d,"is--drag":C,"is--loading":r}],style:g},f),[u||e?(0,_vue.h)("div",{ref:N,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":i,"is--indeterminate":s}],onClick:Ee},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:s?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(B),u?(0,_vue.h)("div",{class:"vxe-list--header-content"},u({items:a,$list:B})):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{ref:y,class:"vxe-list--virtual-wrapper",style:v,onScroll:le},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:z,class:["vxe-list--body",{"trigger--row":"row"===p,"checkbox--highlight":w.highlight,"radio--highlight":h.highlight,"row--hover":_,"is--padding":m}],style:{marginTop:l?l+"px":""}},n?n({items:a,$list:B}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=F,{selectCheckboxMaps:s,currentRow:n}=H,u=T.content,c=T.extra,{trigger:d,icon:g,disabledMethod:v,visibleMethod:h}=K.value,w=$.value,f=q.value,{useKey:x,contentField:p,className:R,isCurrent:_}=O.value,m=U.value,C=A.value,b=R&&_xeUtils.default.isFunction(R),x=C||x||m||_||r||o,_=x&&C?getRowIdByField(t,C):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:B},D=!1,I=!1,L=(r&&(D=l&&(t===l||ye(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:B,row:t})),!1),M=!1;o&&(L=!(!i||!s[y]),M=!!f.checkMethod&&!f.checkMethod({$list:B,row:t}));l=[];r&&l.push(Ke(t,y,I,D)),o&&l.push(Ae(t,y,M,L));let E=!1;m&&C&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!v||!v(k)),w.onMousedown=e=>{E||he(e,k)},w.onMouseup=we),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:g||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):p?(0,_utils.getText)(t[p]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));i={onMousedown(e){_e(e,t)},onMouseup:we,onClick(e){me(e,t)},onDblclick(e){Ce(e,t)},onContextmenu(e){Oe(e,t)}};return m&&(i.onDragstart=xe,i.onDragend=pe,i.onDragover=Re),(0,_vue.h)("div",Object.assign({key:x&&C?y:e,class:["vxe-list--row",b?R(k):R||"",{"is--drag-disabled":E,"is--current":a&&n&&ye(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":M,"is-checkbox--checked":L}],rowid:x&&C?y:void 0},i),l)})(e,t)))]),c?(0,_vue.h)("div",{ref:P,class:"vxe-list--footer-wrapper"},c({items:a,$list:B})):(0,_ui.renderEmptyElement)(B),(()=>{var{dragRow:e,dragTipText:t}=F,r=K.value;return U.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Y,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:V,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},B},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")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("../../scrollbar/src/util"),_util2=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,yThumbHeight:0,xThumbWidth:0,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_ui.getConfig)().list.useScrollbar},scrollbarConfig:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:M,emit:l}=e;var t=_xeUtils.default.uniqueId();let a=_xeUtils.default.browse(),P=(0,_ui.useSize)(S).computeSize,H=(0,_vue.reactive)(createReactData()),F=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),T=(0,_vue.ref)(),z=(0,_vue.ref)(),N=(0,_vue.ref)(),I=(0,_vue.ref)(),Y=(0,_vue.ref)(),W=(0,_vue.ref)(),X=(0,_vue.ref)(),V=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),i={refElem:T},O={xID:t,props:S,context:e,reactData:H,internalData:F,getRefMaps:()=>i},B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),U=(0,_vue.computed)(()=>{var e=B.value.keyField;return e||""}),A=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=B.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),j=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),ee=(0,_vue.computed)(()=>{var e=f.value,t=L.value,r=E.value,o={};return e&&(o["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),r.width&&(o["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(r.width)),t.height&&(o["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(t.height)),o}),te=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=H,a={};return e?a.height=(0,_dom.toCssUnit)(Math.max(20,r-l-i)):t&&(a.height="auto",a.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-i))),a}),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollbarConfig,S.scrollbarConfig)),L=(0,_vue.computed)(()=>{var e=x.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.xConfig,e.xConfig)}),E=(0,_vue.computed)(()=>{var e=x.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.yConfig,e.yConfig)}),re=(0,_vue.computed)(()=>{var e=x.value.padding,{yThumbHeight:t,xThumbWidth:r}=H,o=L.value,l=E.value,i=oe.value,a=le.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(o.visible||"visible"),"ov-y--"+(l.visible||"visible"),"sx-pos--"+(i?"top":"bottom"),"sy-pos--"+(a?"left":"right")],{"is--padding":e,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":l.autoHide,"overflow-y":t,"overflow-x":r})}),oe=(0,_vue.computed)(()=>"top"===L.value.position),le=(0,_vue.computed)(()=>"left"===E.value.position),_=(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$list:O},t))},s=e=>{l("update:checkRowKeys",e)},n=e=>{l("update:checkRowKey",e)},R=e=>getRowIdByField(e,U.value),ie=e=>{var t=H.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},ae=()=>{var e=z.value,t=N.value;H.headHeight=e?Math.floor(e.offsetHeight):0,H.footHeight=t?Math.floor(t.offsetHeight):0,H.customHeight=ie("height"),H.customMaxHeight=ie("maxHeight")},m=()=>{var e=H.scrollYLoad,{scrollYStore:t,fullData:r}=F;H.bodyHeight=e?r.length*t.rowHeight:0,H.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},se=()=>{var e=F.fullData;F.afterList=e.slice(0),xe()},b=e=>{var t=H.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=F,i=U.value;e&&se();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return i&&e.forEach((e,t)=>{e=getRowIdByField(e,i),e=l[e];e&&(e.$index=t)}),H.rowList=e,(0,_vue.nextTick)()},ne=()=>{b(),m()},ue=()=>(0,_vue.nextTick)().then(()=>{var e=H.scrollYLoad,t=F.scrollYStore,r=Y.value,o=w.value;let l=0,i;(i=r?(i=o.sItem?r.querySelector(o.sItem):i)||r.children[0]:i)&&(l=i.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=I.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):a.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),ne):m)()}),ce=()=>{var e=I.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},de=(e,t)=>{var r=I.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),H.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ve=()=>{let{lastScrollLeft:e,lastScrollTop:t}=F;return ge(),ce().then(()=>{if(e||t)return F.lastScrollLeft=0,F.lastScrollTop=0,de(e,t)})},ge=()=>{Ge(),Je()},C=()=>{var r,o=T.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),H.parentHeight=t,ge(),ae(),o.clientWidth&&o.clientHeight)return ue()}return(0,_vue.nextTick)()},he=e=>{var t=F.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.target.scrollTop,e=Math.floor(e/a),a=Math.max(0,e-1-i),i=e+l+i;!(e<=r||o-l-1<=e)||r===a&&o===i||(t.startIndex=a,t.endIndex=i,ne())},we=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==F.lastScrollLeft,l=r!==F.lastScrollTop;Je(),F.lastScrollTop=r,F.lastScrollLeft=t,H.scrollYLoad&&he(e),_("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},fe=()=>{var e=S.checkRowKey,t=F.fullKeyMaps;e?(t=t[e],H.selectRadioRow=t||null):H.selectRadioRow=null},pe=()=>{var e=S.checkRowKeys,t=F.fullKeyMaps,r=U.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}F.selectCheckboxMaps=o,v()},xe=()=>{let{afterList:e,rowMaps:l}=F,i=U.value,a=0;e.forEach((e,t)=>{var r=getRowIdByField(e,i),o=l[r];o?o._index=a:(o={item:e,index:t,$index:-1,_index:a},l[r]=o),a++})},_e=()=>{var e=F.fullData;let l=U.value,i={},a={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);i[o]=e,a[r]={item:e,index:t,$index:-1,_index:-1}}),F.fullKeyMaps=i,F.rowMaps=a},r=e=>{var t=F.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),F.fullData=e,F.insertRowMaps={},H.insertRowFlag++,F.removeRowMaps={},H.removeRowFlag++,H.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),_e(),b(!0),fe(),pe(),ue().then(()=>{ve()})},Re=()=>{k(),y(),C()},me=()=>{var e=T.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},be=e=>{var t=w.value.sItem,r=T.value;if(r){e=R(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},Ce=e=>{var t=H.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:O,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),H.dragTipText=o},u=()=>{var e=Z.value,t=Q.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},ye=()=>{var e=H.dragRow;e&&(u(),me(),y(),H.dragRow=null)},ke=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=K.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;me(),i&&!i(t)?(l.draggable=!1,H.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:O,$newList:null}),a={row:r},H.dragRow=r,H.isCrossDragRow=!1,l.draggable=!0,be(r),Ce(l),_("row-dragstart",a,e))},De=()=>{ye()},c=(e,t,r,o)=>{var l=T.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=Q.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-i.y);t+e>a&&(e=a-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=Z.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-i.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-i.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},k=()=>{var e=T.value;u(),me(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),H.dragRow=null},Te=(l,i,a,s)=>{let n=F.fullData;var e=K.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=T.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let u=R(i),c=Ke(n,u);var p,x=D(a);let d=0,t=-1,r=void(v&&(x=h.querySelector(`.vxe-list--row[rowid="${x}"]`),p=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=Be(n,i),n.splice(r,1);var e=Be(n,a);return o=e+g,n.splice(o,0,i),b(),H.scrollYLoad&&m(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},_("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=H.rowList,l=F.fullData,i=Ke(l,u),a=l[0],a=Be(l,a),s=h;if(-1<a){var n=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>n?(n=Ke(o,u),e=n+1,t=l.length,r=-1):i>c?(e=c-a,t=e+i-c):(e=i-a,t=e+c-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}a=[`.vxe-list--row[rowid="${u}"]`],i=s.querySelectorAll(a.join(",")),l=i[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(i,t-l.offsetTop)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(k(),y(),e))}k(),y()}return Promise.resolve(w)},Ie=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Le=e=>{var t=H.dragRow,{prevDragRow:r,prevDragPos:o}=F,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==O.xID)return void l.handleCrossListRowDragInsertEvent(e)}Te(e,t,r,o)},Ee=e=>{var t=H.dragRow,r=F.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=d(r,i);if(r){e.preventDefault();var a=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(F.prevDragRow=r,F.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==O.xID)return s&&s.xID!==O.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,H.dragTipText=n.dragTipText,crossListDragRowObj.$newList=O,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),H.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&R(t)===i?c(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},c(e,l,!0,a),_("row-dragover",o,e))}},Se=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;A.value&&(l="row"===r);r={row:t,$list:O};!l||o&&o(r)||ke(e,r)},Me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=F.currentRow,i=$.value,a=j.value,s=B.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Ne(e,t)):l&&(F.currentRow=null,H.currRowFlag++),r&&"row"===i.trigger&&(u=!0,Ye(e,t)),o&&"row"===a.trigger&&(c=!0,ze(e,t)),_("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},He=(e,t)=>{_("row-dblclick",{row:t},e)},D=e=>getRowKeyByField(e,U.value),o=(e,t)=>""+e==""+t,Fe=(e,t)=>!(!e||!t)&&(e===t||o(R(e),R(t))),Oe=(e,t)=>e&&o(D(e),t);let d=(e,t)=>{let r=U.value;return _xeUtils.default.find(e,e=>o(getRowIdByField(e,r),t))},Be=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Fe(e,t)):-1,Ke=(e,t)=>{let r=U.value;return _xeUtils.default.findIndexOf(e,e=>o(getRowIdByField(e,r),t))},Ue=e=>{var t=H.selectRadioRow;return D(t)===e};let Ae=e=>{var t=H.updateCheckboxFlag,r=F.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=H.updateCheckboxFlag,t=F.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let $e=()=>{var e=H.updateCheckboxFlag,t=F.selectCheckboxMaps;let r=U.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},je=()=>{F.selectCheckboxMaps={},H.updateCheckboxFlag++,H.isAllChecked=!1,H.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},qe=e=>{var{fullData:t,selectCheckboxMaps:r}=F,o=U.value;if(e){var l,i=[];for(l of t){var a=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,i.push(a)}return s(i),v()}return je()},v=()=>{var{selectCheckboxMaps:e,fullData:t}=F,r=U.value,o=j.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:O}))if(e[getRowIdByField(a,r)])l=!0;else if(i=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(i=!0,l)break;return H.isAllChecked=l&&!i,H.isAllIndeterminate=l&&i,H.updateCheckboxFlag++,(0,_vue.nextTick)()},Pe=e=>{var t=H.isAllChecked,t=!t;t?qe(!0):je(),_("checkbox-all",{checked:t},e)},ze=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectCheckboxMaps,l=j.value.checkMethod,i=R(r),l=!!l&&!l({$list:O,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),H.updateCheckboxFlag++,v();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),_("checkbox-change",{row:r,value:l,checked:e},t)}},Ne=(e,t)=>{e.preventDefault();var r=B.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(F.currentRow=t,H.currRowFlag++,_("current-change",{row:t,checked:!0},e))},Ye=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectRadioRow,{strict:l,checkMethod:i}=$.value,a=D(r),i=!!i&&!i({$list:O,row:r});if(!i){i=a;let e=!0;l&&o&&a===D(o)?(e=!1,H.selectRadioRow=null):H.selectRadioRow=r,n(i),_("radio-change",{row:r,value:i,checked:e},t)}},We=(e,t)=>{let{fullData:o,rowMaps:l}=F,i=U.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util2.getItemCacheObj)(e);o[a](e),l[t]=r})},Xe=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=F,s=U.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))We(u,!1);else if(-1===n)We(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util2.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),We(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),H.removeRowFlag++,H.insertRowFlag++,_e(),b(!0),xe(),v(),H.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Ve=(o,l)=>{var e=S.menuConfig,t=p.value,r=B.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:O,options:e,row:l})||(r?Ne(o,l):F.currentRow&&(F.currentRow=null,H.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:O};r&&r(t,o),_("menu-click",t,e.$event)}}}))),_("row-menu",{row:l},o)};e={dispatchEvent:_,loadData:r,reloadData(e){return ce(),r(e)},getFullData(){var e=F.fullData;return e},recalculate:C,scrollTo:de,refreshScroll:ve,clearScroll:ce,getRowKey:D,eqRowKey:o,eqRow:Fe,eqRowByKey:Oe,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Fe(e,t)):null,findRowByKey:d,findRowIndexOf:Be,findRowIndexOfByKey:Ke,isCheckedByRadioRowKey:Ue,isCheckedByRadioRow:e=>Ue(D(e)),isCheckedByCheckboxRowKey:Ae,isCheckedByCheckboxRow:e=>Ae(D(e)),setCurrentRow:e=>(F.currentRow=e,H.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=F.fullData;return F.currentRow=d(t,e),H.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=F.currentRow;return e},getCurrentRowKey:()=>{var e=F.currentRow;return e?D(e):null},clearCurrentRow:()=>(F.currentRow=null,H.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{H.selectRadioRow=e;e=D(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=F.fullData,t=(H.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=H.selectRadioRow;return e},getRadioRowKey:()=>{var e=H.selectRadioRow;return e?D(e):null},clearRadioRow:()=>(H.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=F.selectCheckboxMaps,o=U.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=$e();return s(e),v()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=F,l=U.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=$e();return s(e),v()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:$e,clearCheckboxRow:je,setAllCheckboxRow:qe,insert(e){return Xe(e,null)},insertAt(e,t){return Xe(e,t)},insertNextAt(e,t){return Xe(e,t,!0)},getInsertRecords(){var e=F.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=R(e);return!!H.insertRowFlag&&!!F.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=F;if(!U.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;O.isInsertByRow(e)||(t=R(e),o[t]=e)}),r===e?(e=l=r.slice(0),F.fullData=[]):e.forEach(e=>{let t=R(e);var e=_xeUtils.default.findIndexOf(r,e=>t===R(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=R(e);t[e]&&delete t[e]}),H.removeRowFlag++,H.insertRowFlag++,_e(),b(!0),xe(),v(),H.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=F.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=R(e);return!!H.removeRowFlag&&!!F.removeRowMaps[e]},getRecordset(){return{insertRecords:O.getInsertRecords(),removeRecords:O.getRemoveRecords()}}};let Ge=()=>{var e,t,r=I.value;r&&r.clientHeight&&(t=(t=X.value)?(0,_util.getThumbSize)(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=G.value)&&(e.style.width=t+"px"),H.xThumbWidth=t,t=(e=V.value)?(0,_util.getThumbSize)(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=J.value)&&(r.style.height=t+"px"),H.yThumbHeight=t)},Je=()=>{var e,t,r,o,l=I.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=H,o=X.value,r=G.value,o=o&&t?(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,F.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=V.value,r=J.value,o=t&&e?(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,F.yThumbTop=o,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${o}px)`)},Qe=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=I.value)&&(r=H.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},Ze=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=I.value)&&(r=H.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},et=e=>{var t,r,o=e.currentTarget,l=(F.isThumbDrag=!0,o.setPointerCapture(e.pointerId),I.value);l&&(t=H.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),F.thumbDragOffset=e-r)},tt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=F;if(r){r=I.value;if(r){var l=H.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},q=e=>{e.currentTarget.releasePointerCapture(e.pointerId),F.isThumbDrag=!1},rt=e=>{var t,r,o=e.currentTarget,l=(F.isThumbDrag=!0,o.setPointerCapture(e.pointerId),I.value);l&&(t=H.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),F.thumbDragOffset=e-r)},ot=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=F;if(r){r=I.value;if(r){var l=H.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},lt=(Object.assign(O,e,{handleCrossListRowDragCancelEvent(){k(),y()},handleCrossListRowDragFinishEvent(t){var l=H.rowList,i=F.rowMaps;let{animation:a,isCrossListDrag:e}=K.value,s=T.value;if(s&&e&&crossListDragRowObj&&g){var n=g.row;if(n){var u=R(n),i=i[u];let r=0,e=-1,o=(i&&(a&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];O.remove(u).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),_("row-remove-dragend",{row:n},t),Re()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=H.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==O.xID&&(r&&r.xID!==O.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=O,F.prevDragRow=null,H.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=F;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=T.value;if(s&&(a&&l)){let i=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:u,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==O.xID&&a.handleCrossListRowDragCancelEvent(n),Re(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?O.insertNextAt(e,u):O.insertAt(e,u):O.insert(e),O.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:i,dragPos:c,offsetIndex:r},n),k(),t.then(()=>{var e=H.rowList,r=F.rowMaps,o=R(i),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}}),(t,e,r,o)=>{var l=S.showRadio,{showIcon:i,visibleMethod:a}=$.value,a=!a||a({$list:O,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Ye(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(O)}),it=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:i,visibleMethod:a}=j.value,a=!a||a({$list:O,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||ze(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(O)},at=(t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=H,{selectCheckboxMaps:s,currentRow:n}=F,u=M.content,c=M.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=K.value,w=$.value,f=j.value,{useKey:p,contentField:x,className:_,isCurrent:R}=B.value,m=A.value,b=U.value,C=_&&_xeUtils.default.isFunction(_),p=b||p||m||R||r||o,R=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(R);let k={row:t,$list:O},D=!1,T=!1,I=(r&&(D=l&&(t===l||Oe(l,R)),T=!!w.checkMethod&&!w.checkMethod({$list:O,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:O,row:t}));l=[];r&&l.push(lt(t,y,T,D)),o&&l.push(it(t,y,L,I));let E=!1;m&&b&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!g||!g(k)),w.onMousedown=e=>{E||ke(e,k)},w.onMouseup=De),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:v||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):x?(0,_utils.getText)(t[x]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));a={onMousedown(e){Se(e,t)},onMouseup:De,onClick(e){Me(e,t)},onDblclick(e){He(e,t)},onContextmenu(e){Ve(e,t)}};return m&&(a.onDragstart=Ie,a.onDragend=Le,a.onDragover=Ee),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?_(k):_||"",{"is--drag-disabled":E,"is--current":i&&n&&Oe(n,R),"is-radio--disabled":T,"is-radio--checked":D,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&b?y:void 0},a),l)};let st=(0,_vue.ref)(0),h=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{st.value++}),(0,_vue.watch)(()=>S.data,()=>{st.value++}),(0,_vue.watch)(st,()=>{r(S.data||[])}),(0,_vue.ref)(0)),nt=((0,_vue.watch)(()=>S.height,()=>{h.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{h.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{h.value++}),(0,_vue.watch)(f,()=>{h.value++}),(0,_vue.watch)(h,()=>{(0,_vue.nextTick)(()=>{C()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{fe()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{nt.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{nt.value++}),(0,_vue.watch)(nt,()=>{pe()}),(0,_vue.onActivated)(()=>{C().then(()=>{ve()})}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o,useScrollbar:l}=S,i=B.value.useKey,a=A.value,s=U.value;s||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),a&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),i&&!s&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),(l||o)&&(e=T.value,t=W.value,(r=_ui.globalResize.create(()=>{h.value++})).observe(e),o&&e&&r.observe(e.parentElement),t&&r.observe(t),F.resizeObserver=r),h.value++,_ui.globalEvents.on(O,"resize",()=>{h.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=F.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(H,createReactData()),_xeUtils.default.assign(F,createInternalData())}),O.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=S,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:n}=H,u=M.default,c=M.header,d=M.footer,v=P.value,g=ee.value,h=te.value,w=$.value,f=j.value,{showHeader:p,headerTitle:x}=f,{trigger:_,isCrossListDrag:R}=K.value,{isHover:m,padding:b}=B.value,C=A.value,y=L.value,k=E.value,D=re.value,e=e&&!1!==p,p={};return R&&!a.length&&(p.onDragover=O.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:T,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:O}):t:"",{["size--"+v]:v,"is--virtual-scrollbar":o,"ov-x--auto-hide":o&&y.autoHide,"ov-y--auto-hide":o&&k.autoHide,"is--drag":C,"is--loading":r}],style:g},p),[c||e?(0,_vue.h)("div",{ref:z,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":s,"is--indeterminate":n}],onClick:Pe},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?(0,_ui.getIcon)().CHECKBOX_CHECKED:n?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(O),c?(0,_vue.h)("div",{class:"vxe-list--header-content"},c({items:a,$list:O})):(0,_ui.renderEmptyElement)(O)]):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{ref:I,class:"vxe-list--virtual-wrapper",style:h,onScroll:we},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:Y,class:["vxe-list--body",{"trigger--row":"row"===_,"checkbox--highlight":f.highlight,"radio--highlight":w.highlight,"row--hover":m,"is--padding":b}],style:{marginTop:i?i+"px":""}},o?u?u({items:a,$list:O}):a.map((e,t)=>at(e,t)):[(0,_vue.h)("div",{key:"vi",ref:W,class:"vxe-scrollbar--view-inner"},u?u({items:a,$list:O}):a.map((e,t)=>at(e,t)))])]),d?(0,_vue.h)("div",{ref:N,class:"vxe-list--footer-wrapper"},d({items:a,$list:O})):(0,_ui.renderEmptyElement)(O),o?(0,_vue.h)("div",{class:D},["hidden"===y.visible?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{ref:X,class:"vxe-scrollbar--track-x",onClick:Qe},[(0,_vue.h)("div",{ref:G,class:"vxe-scrollbar--thumb-x",onPointerdown:et,onPointermove:tt,onPointerup:q,onPointercancel:q,onLostpointercapture:q})]),"hidden"===k.visible?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{ref:V,class:"vxe-scrollbar--track-y",onClick:Ze},[(0,_vue.h)("div",{ref:J,class:"vxe-scrollbar--thumb-y",onPointerdown:rt,onPointermove:ot,onPointerup:q,onPointercancel:q,onLostpointercapture:q})])]):(0,_ui.renderEmptyElement)(O),(()=>{var{dragRow:e,dragTipText:t}=H,r=K.value;return A.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Q,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:Z,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(O)]):(0,_ui.renderEmptyElement)(O)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},O},render(){return this.renderVN()}});
|