vxe-pc-ui 3.19.8 → 3.20.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/card/src/card.js +18 -3
- package/es/icon/style.css +1 -1
- package/es/language/fr-FR.js +29 -29
- package/es/layout-aside/src/layout-aside.js +8 -5
- package/es/layout-body/src/layout-body.js +22 -11
- package/es/list/src/list.js +409 -21
- package/es/list/style.css +43 -0
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +69 -17
- package/es/scrollbar/style.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +19 -3
- package/es/tree/src/tree.js +439 -56
- package/es/tree/style.css +43 -0
- package/es/tree/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 +12 -0
- package/es/vxe-list/style.css +43 -0
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +1 -0
- package/es/vxe-tree/style.css +43 -0
- package/es/vxe-tree/style.min.css +1 -1
- package/lib/card/src/card.js +18 -3
- package/lib/card/src/card.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +956 -126
- package/lib/index.umd.min.js +1 -1
- package/lib/language/fr-FR.js +29 -29
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +29 -29
- package/lib/layout-aside/src/layout-aside.js +8 -8
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +26 -19
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +383 -22
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +43 -0
- package/lib/list/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +74 -15
- package/lib/scrollbar/src/scrollbar.min.js +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/tabs/src/tabs.js +20 -7
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +416 -53
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/style/style.css +43 -0
- package/lib/tree/style/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 +14 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-list/style/style.css +43 -0
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +1 -0
- package/lib/vxe-tree/style/style.css +43 -0
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/card/src/card.ts +19 -3
- package/packages/language/fr-FR.ts +903 -903
- package/packages/layout-aside/src/layout-aside.ts +8 -5
- package/packages/layout-body/src/layout-body.ts +26 -14
- package/packages/list/src/list.ts +444 -25
- package/packages/scrollbar/src/scrollbar.ts +79 -17
- package/packages/tabs/src/tabs.ts +20 -7
- package/packages/tree/src/tree.ts +482 -67
- package/packages/ui/src/utils.ts +14 -0
- package/styles/components/list.scss +76 -0
- package/styles/components/scrollbar.scss +3 -0
- package/styles/components/tree.scss +76 -0
- package/types/components/card.d.ts +10 -1
- package/types/components/layout-aside.d.ts +10 -1
- package/types/components/layout-body.d.ts +10 -1
- package/types/components/list.d.ts +33 -2
- package/types/components/scrollbar.d.ts +16 -2
- package/types/components/table-plugins/extend-cell-area.d.ts +1 -1
- package/types/components/table.d.ts +71 -4
- package/types/components/tabs.d.ts +10 -1
- package/types/components/tree.d.ts +33 -2
- /package/es/icon/{iconfont.1791862954819.ttf → iconfont.1791950618327.ttf} +0 -0
- /package/es/icon/{iconfont.1791862954819.woff → iconfont.1791950618327.woff} +0 -0
- /package/es/icon/{iconfont.1791862954819.woff2 → iconfont.1791950618327.woff2} +0 -0
- /package/es/{iconfont.1791862954819.ttf → iconfont.1791950618327.ttf} +0 -0
- /package/es/{iconfont.1791862954819.woff → iconfont.1791950618327.woff} +0 -0
- /package/es/{iconfont.1791862954819.woff2 → iconfont.1791950618327.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.ttf → iconfont.1791950618327.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.woff → iconfont.1791950618327.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.woff2 → iconfont.1791950618327.woff2} +0 -0
- /package/lib/{iconfont.1791862954819.ttf → iconfont.1791950618327.ttf} +0 -0
- /package/lib/{iconfont.1791862954819.woff → iconfont.1791950618327.woff} +0 -0
- /package/lib/{iconfont.1791862954819.woff2 → iconfont.1791950618327.woff2} +0 -0
package/lib/list/src/list.js
CHANGED
|
@@ -14,7 +14,8 @@ var _utils = require("../../ui/src/utils");
|
|
|
14
14
|
var _vn = require("../../ui/src/vn");
|
|
15
15
|
var _log = require("../../ui/src/log");
|
|
16
16
|
var _anime = require("../../ui/src/anime");
|
|
17
|
-
var _util = require("
|
|
17
|
+
var _util = require("../../scrollbar/src/util");
|
|
18
|
+
var _util2 = require("./util");
|
|
18
19
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
19
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
21
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -60,6 +61,9 @@ function createReactData() {
|
|
|
60
61
|
updateCheckboxFlag: 1,
|
|
61
62
|
isAllChecked: false,
|
|
62
63
|
isAllIndeterminate: false,
|
|
64
|
+
// 滚动条
|
|
65
|
+
yThumbHeight: 0,
|
|
66
|
+
xThumbWidth: 0,
|
|
63
67
|
insertRowFlag: 1,
|
|
64
68
|
removeRowFlag: 1,
|
|
65
69
|
dragRow: null,
|
|
@@ -69,13 +73,18 @@ function createReactData() {
|
|
|
69
73
|
}
|
|
70
74
|
function createInternalData() {
|
|
71
75
|
return {
|
|
72
|
-
resizeObserver: undefined,
|
|
73
76
|
fullData: [],
|
|
74
77
|
afterList: [],
|
|
75
78
|
fullKeyMaps: {},
|
|
76
79
|
rowMaps: {},
|
|
77
|
-
|
|
80
|
+
// 滚动条
|
|
81
|
+
// resizeObserver: undefined,
|
|
82
|
+
// isThumbDrag: false,
|
|
83
|
+
thumbDragOffset: 0,
|
|
84
|
+
yThumbTop: 0,
|
|
85
|
+
xThumbLeft: 0,
|
|
78
86
|
lastScrollTop: 0,
|
|
87
|
+
lastScrollLeft: 0,
|
|
79
88
|
scrollYStore: {
|
|
80
89
|
startIndex: 0,
|
|
81
90
|
endIndex: 0,
|
|
@@ -139,7 +148,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
139
148
|
dragConfig: Object,
|
|
140
149
|
menuConfig: Object,
|
|
141
150
|
virtualYConfig: Object,
|
|
142
|
-
scrollY: Object
|
|
151
|
+
scrollY: Object,
|
|
152
|
+
useScrollbar: {
|
|
153
|
+
type: Boolean,
|
|
154
|
+
default: function _default() {
|
|
155
|
+
return (0, _ui.getConfig)().list.useScrollbar;
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
scrollbarConfig: Object
|
|
143
159
|
},
|
|
144
160
|
data: function data() {
|
|
145
161
|
var xID = _xeUtils.default.uniqueId();
|
|
@@ -208,11 +224,20 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
208
224
|
computeWrapperStyles: function computeWrapperStyles() {
|
|
209
225
|
var $xeList = this;
|
|
210
226
|
var rowHeight = $xeList.computeRowHeight;
|
|
211
|
-
var
|
|
227
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
228
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
229
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
230
|
+
var barWidth = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), (0, _ui.getConfig)().scrollbar.width);
|
|
231
|
+
var barHeight = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), (0, _ui.getConfig)().scrollbar.height);
|
|
232
|
+
var stys = {};
|
|
212
233
|
if (rowHeight) {
|
|
213
|
-
|
|
234
|
+
stys['--vxe-ui-list-row-height'] = (0, _dom.toCssUnit)(rowHeight);
|
|
214
235
|
}
|
|
215
|
-
|
|
236
|
+
if (barWidth || barHeight) {
|
|
237
|
+
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
|
|
238
|
+
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(barHeight || barWidth);
|
|
239
|
+
}
|
|
240
|
+
return stys;
|
|
216
241
|
},
|
|
217
242
|
computeVirtualStyles: function computeVirtualStyles() {
|
|
218
243
|
var $xeList = this;
|
|
@@ -232,6 +257,76 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
232
257
|
style.maxHeight = (0, _dom.toCssUnit)(Math.max(20, customMaxHeight - headHeight - footHeight));
|
|
233
258
|
}
|
|
234
259
|
return style;
|
|
260
|
+
},
|
|
261
|
+
computeScrollbarOpts: function computeScrollbarOpts() {
|
|
262
|
+
var $xeList = this;
|
|
263
|
+
var props = $xeList;
|
|
264
|
+
return Object.assign({}, (0, _ui.getConfig)().list.scrollbarConfig, props.scrollbarConfig);
|
|
265
|
+
},
|
|
266
|
+
computeScrollbarXOpts: function computeScrollbarXOpts() {
|
|
267
|
+
var $xeList = this;
|
|
268
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
269
|
+
return Object.assign({}, (0, _ui.getConfig)().scrollbar.xConfig, scrollbarOpts.xConfig);
|
|
270
|
+
},
|
|
271
|
+
computeScrollbarYOpts: function computeScrollbarYOpts() {
|
|
272
|
+
var $xeList = this;
|
|
273
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
274
|
+
return Object.assign({}, (0, _ui.getConfig)().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
275
|
+
},
|
|
276
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
277
|
+
var $xeList = this;
|
|
278
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
279
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
280
|
+
return (0, _utils.getDefaultConfig)(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
281
|
+
},
|
|
282
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
283
|
+
var $xeList = this;
|
|
284
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
285
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
286
|
+
return (0, _utils.getDefaultConfig)(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
287
|
+
},
|
|
288
|
+
computeScrollXAutoHide: function computeScrollXAutoHide() {
|
|
289
|
+
var $xeList = this;
|
|
290
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
291
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
292
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), (0, _ui.getConfig)().scrollbar.autoHide);
|
|
293
|
+
},
|
|
294
|
+
computeScrollYAutoHide: function computeScrollYAutoHide() {
|
|
295
|
+
var $xeList = this;
|
|
296
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
297
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
298
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), (0, _ui.getConfig)().scrollbar.autoHide);
|
|
299
|
+
},
|
|
300
|
+
computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
|
|
301
|
+
var $xeList = this;
|
|
302
|
+
var reactData = $xeList.reactData;
|
|
303
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
304
|
+
var padding = scrollbarOpts.padding;
|
|
305
|
+
var yThumbHeight = reactData.yThumbHeight,
|
|
306
|
+
xThumbWidth = reactData.xThumbWidth;
|
|
307
|
+
var scrollbarXToTop = $xeList.computeScrollbarXToTop;
|
|
308
|
+
var scrollbarYToLeft = $xeList.computeScrollbarYToLeft;
|
|
309
|
+
var scrollXVisible = $xeList.computeScrollXVisible;
|
|
310
|
+
var scrollYVisible = $xeList.computeScrollYVisible;
|
|
311
|
+
var scrollXAutoHide = $xeList.computeScrollXAutoHide;
|
|
312
|
+
var scrollYAutoHide = $xeList.computeScrollYAutoHide;
|
|
313
|
+
return _ui.domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
|
|
314
|
+
'is--padding': padding,
|
|
315
|
+
'ov-x--auto-hide': scrollXAutoHide,
|
|
316
|
+
'ov-y--auto-hide': scrollYAutoHide,
|
|
317
|
+
'overflow-y': yThumbHeight,
|
|
318
|
+
'overflow-x': xThumbWidth
|
|
319
|
+
});
|
|
320
|
+
},
|
|
321
|
+
computeScrollbarXToTop: function computeScrollbarXToTop() {
|
|
322
|
+
var $xeList = this;
|
|
323
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
324
|
+
return scrollbarXOpts.position === 'top';
|
|
325
|
+
},
|
|
326
|
+
computeScrollbarYToLeft: function computeScrollbarYToLeft() {
|
|
327
|
+
var $xeList = this;
|
|
328
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
329
|
+
return scrollbarYOpts.position === 'left';
|
|
235
330
|
}
|
|
236
331
|
}),
|
|
237
332
|
methods: {
|
|
@@ -570,6 +665,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
570
665
|
}
|
|
571
666
|
});
|
|
572
667
|
},
|
|
668
|
+
updateScrollbar: function updateScrollbar() {
|
|
669
|
+
var $xeList = this;
|
|
670
|
+
$xeList.updateThumbSize();
|
|
671
|
+
$xeList.updateThumbOffset();
|
|
672
|
+
},
|
|
573
673
|
/**
|
|
574
674
|
* 重新计算列表
|
|
575
675
|
*/
|
|
@@ -589,6 +689,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
589
689
|
parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
|
|
590
690
|
}
|
|
591
691
|
reactData.parentHeight = parentHeight;
|
|
692
|
+
$xeList.updateScrollbar();
|
|
592
693
|
$xeList.updateHeight();
|
|
593
694
|
if (el.clientWidth && el.clientHeight) {
|
|
594
695
|
return $xeList.computeScrollLoad();
|
|
@@ -627,6 +728,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
627
728
|
var scrollLeft = scrollBodyElem.scrollLeft;
|
|
628
729
|
var isX = scrollLeft !== internalData.lastScrollLeft;
|
|
629
730
|
var isY = scrollTop !== internalData.lastScrollTop;
|
|
731
|
+
$xeList.updateThumbOffset();
|
|
630
732
|
internalData.lastScrollTop = scrollTop;
|
|
631
733
|
internalData.lastScrollLeft = scrollLeft;
|
|
632
734
|
if (reactData.scrollYLoad) {
|
|
@@ -1517,7 +1619,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1517
1619
|
var funcName = isAppend ? 'push' : 'unshift';
|
|
1518
1620
|
newRecords.forEach(function (item) {
|
|
1519
1621
|
var rowid = getRowIdByField(item, keyField);
|
|
1520
|
-
var rowRest = (0,
|
|
1622
|
+
var rowRest = (0, _util2.getItemCacheObj)(item);
|
|
1521
1623
|
fullData[funcName](item);
|
|
1522
1624
|
rowMaps[rowid] = rowRest;
|
|
1523
1625
|
});
|
|
@@ -1569,7 +1671,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1569
1671
|
if (rowIndex > -1) {
|
|
1570
1672
|
newRecords.forEach(function (item) {
|
|
1571
1673
|
var rowid = getRowIdByField(item, keyField);
|
|
1572
|
-
var rowRest = (0,
|
|
1674
|
+
var rowRest = (0, _util2.getItemCacheObj)(item);
|
|
1573
1675
|
rowMaps[rowid] = rowRest;
|
|
1574
1676
|
});
|
|
1575
1677
|
var targetIndex = rowIndex;
|
|
@@ -1986,6 +2088,189 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1986
2088
|
row: row
|
|
1987
2089
|
}, evnt);
|
|
1988
2090
|
},
|
|
2091
|
+
// 滚动条
|
|
2092
|
+
updateThumbSize: function updateThumbSize() {
|
|
2093
|
+
var $xeList = this;
|
|
2094
|
+
var reactData = $xeList.reactData;
|
|
2095
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2096
|
+
if (!viewEl) {
|
|
2097
|
+
return;
|
|
2098
|
+
}
|
|
2099
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2100
|
+
return;
|
|
2101
|
+
}
|
|
2102
|
+
var trackXEl = $xeList.$refs.refTrackXElem;
|
|
2103
|
+
var xThumbWidth = trackXEl ? (0, _util.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
2104
|
+
var thumbXElem = $xeList.$refs.refThumbXElem;
|
|
2105
|
+
if (thumbXElem) {
|
|
2106
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2107
|
+
}
|
|
2108
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
2109
|
+
var trackYEl = $xeList.$refs.refTrackYElem;
|
|
2110
|
+
var yThumbHeight = trackYEl ? (0, _util.getThumbSize)(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
2111
|
+
var thumbYElem = $xeList.$refs.refThumbYElem;
|
|
2112
|
+
if (thumbYElem) {
|
|
2113
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2114
|
+
}
|
|
2115
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
2116
|
+
},
|
|
2117
|
+
updateThumbOffset: function updateThumbOffset() {
|
|
2118
|
+
var $xeList = this;
|
|
2119
|
+
var reactData = $xeList.reactData;
|
|
2120
|
+
var internalData = $xeList.internalData;
|
|
2121
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2122
|
+
if (!viewEl) {
|
|
2123
|
+
return;
|
|
2124
|
+
}
|
|
2125
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2126
|
+
return;
|
|
2127
|
+
}
|
|
2128
|
+
var xThumbWidth = reactData.xThumbWidth,
|
|
2129
|
+
yThumbHeight = reactData.yThumbHeight;
|
|
2130
|
+
var trackXEl = $xeList.$refs.refTrackXElem;
|
|
2131
|
+
var thumbXElem = $xeList.$refs.refThumbXElem;
|
|
2132
|
+
var xThumbLeft = trackXEl && xThumbWidth ? (0, _util.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
2133
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
2134
|
+
if (thumbXElem && xThumbWidth) {
|
|
2135
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2136
|
+
thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
|
|
2137
|
+
}
|
|
2138
|
+
var trackYEl = $xeList.$refs.refTrackYElem;
|
|
2139
|
+
var thumbYElem = $xeList.$refs.refThumbYElem;
|
|
2140
|
+
var yThumbTop = trackYEl && yThumbHeight ? (0, _util.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
2141
|
+
internalData.yThumbTop = yThumbTop;
|
|
2142
|
+
if (thumbYElem && yThumbHeight) {
|
|
2143
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2144
|
+
thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
|
|
2145
|
+
}
|
|
2146
|
+
},
|
|
2147
|
+
clickTrackXEvent: function clickTrackXEvent(evnt) {
|
|
2148
|
+
var $xeList = this;
|
|
2149
|
+
var reactData = $xeList.reactData;
|
|
2150
|
+
var trackEl = evnt.currentTarget;
|
|
2151
|
+
if (trackEl !== evnt.target) {
|
|
2152
|
+
return;
|
|
2153
|
+
}
|
|
2154
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2155
|
+
if (!viewEl) {
|
|
2156
|
+
return;
|
|
2157
|
+
}
|
|
2158
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
2159
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2160
|
+
viewEl.scrollTo({
|
|
2161
|
+
left: (0, _util.getScrollFromClick)(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
2162
|
+
behavior: 'auto'
|
|
2163
|
+
});
|
|
2164
|
+
},
|
|
2165
|
+
clickTrackYEvent: function clickTrackYEvent(evnt) {
|
|
2166
|
+
var $xeList = this;
|
|
2167
|
+
var reactData = $xeList.reactData;
|
|
2168
|
+
var trackEl = evnt.currentTarget;
|
|
2169
|
+
if (trackEl !== evnt.target) {
|
|
2170
|
+
return;
|
|
2171
|
+
}
|
|
2172
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2173
|
+
if (!viewEl) {
|
|
2174
|
+
return;
|
|
2175
|
+
}
|
|
2176
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
2177
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2178
|
+
viewEl.scrollTo({
|
|
2179
|
+
top: (0, _util.getScrollFromClick)(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
2180
|
+
behavior: 'auto'
|
|
2181
|
+
});
|
|
2182
|
+
},
|
|
2183
|
+
pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
|
|
2184
|
+
var $xeList = this;
|
|
2185
|
+
var reactData = $xeList.reactData;
|
|
2186
|
+
var internalData = $xeList.internalData;
|
|
2187
|
+
var thumbEl = evnt.currentTarget;
|
|
2188
|
+
internalData.isThumbDrag = true;
|
|
2189
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2190
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2191
|
+
if (!viewEl) {
|
|
2192
|
+
return;
|
|
2193
|
+
}
|
|
2194
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
2195
|
+
var trackEl = thumbEl.parentElement;
|
|
2196
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2197
|
+
var pointerPosition = evnt.clientX - trackRect.left;
|
|
2198
|
+
// 记录 thumb 的偏移
|
|
2199
|
+
var thumbOffset = (0, _util.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2200
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2201
|
+
},
|
|
2202
|
+
pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
|
|
2203
|
+
var $xeList = this;
|
|
2204
|
+
var reactData = $xeList.reactData;
|
|
2205
|
+
var internalData = $xeList.internalData;
|
|
2206
|
+
var thumbEl = evnt.currentTarget;
|
|
2207
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2208
|
+
return;
|
|
2209
|
+
}
|
|
2210
|
+
var isThumbDrag = internalData.isThumbDrag,
|
|
2211
|
+
thumbDragOffset = internalData.thumbDragOffset;
|
|
2212
|
+
if (isThumbDrag) {
|
|
2213
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2214
|
+
if (!viewEl) {
|
|
2215
|
+
return;
|
|
2216
|
+
}
|
|
2217
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
2218
|
+
var _thumbEl = evnt.currentTarget;
|
|
2219
|
+
var trackEl = _thumbEl.parentElement;
|
|
2220
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2221
|
+
// 更新偏移
|
|
2222
|
+
viewEl.scrollLeft = (0, _util.getScrollFromDrag)(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2223
|
+
}
|
|
2224
|
+
},
|
|
2225
|
+
cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
|
|
2226
|
+
var $xeList = this;
|
|
2227
|
+
var internalData = $xeList.internalData;
|
|
2228
|
+
var thumbEl = evnt.currentTarget;
|
|
2229
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
2230
|
+
internalData.isThumbDrag = false;
|
|
2231
|
+
},
|
|
2232
|
+
pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
|
|
2233
|
+
var $xeList = this;
|
|
2234
|
+
var reactData = $xeList.reactData;
|
|
2235
|
+
var internalData = $xeList.internalData;
|
|
2236
|
+
var thumbEl = evnt.currentTarget;
|
|
2237
|
+
internalData.isThumbDrag = true;
|
|
2238
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2239
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2240
|
+
if (!viewEl) {
|
|
2241
|
+
return;
|
|
2242
|
+
}
|
|
2243
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
2244
|
+
var trackEl = thumbEl.parentElement;
|
|
2245
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2246
|
+
var pointerPosition = evnt.clientY - trackRect.top;
|
|
2247
|
+
// 记录 thumb 的偏移
|
|
2248
|
+
var thumbOffset = (0, _util.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2249
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2250
|
+
},
|
|
2251
|
+
pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
|
|
2252
|
+
var $xeList = this;
|
|
2253
|
+
var reactData = $xeList.reactData;
|
|
2254
|
+
var internalData = $xeList.internalData;
|
|
2255
|
+
var thumbEl = evnt.currentTarget;
|
|
2256
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2257
|
+
return;
|
|
2258
|
+
}
|
|
2259
|
+
var isThumbDrag = internalData.isThumbDrag,
|
|
2260
|
+
thumbDragOffset = internalData.thumbDragOffset;
|
|
2261
|
+
if (isThumbDrag) {
|
|
2262
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
2263
|
+
if (!viewEl) {
|
|
2264
|
+
return;
|
|
2265
|
+
}
|
|
2266
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
2267
|
+
var _thumbEl2 = evnt.currentTarget;
|
|
2268
|
+
var trackEl = _thumbEl2.parentElement;
|
|
2269
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
2270
|
+
// 更新偏移
|
|
2271
|
+
viewEl.scrollTop = (0, _util.getScrollFromDrag)(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2272
|
+
}
|
|
2273
|
+
},
|
|
1989
2274
|
//
|
|
1990
2275
|
// Render
|
|
1991
2276
|
//
|
|
@@ -2222,12 +2507,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2222
2507
|
var slots = $xeList.$scopedSlots;
|
|
2223
2508
|
var showCheckbox = props.showCheckbox,
|
|
2224
2509
|
className = props.className,
|
|
2225
|
-
loading = props.loading
|
|
2510
|
+
loading = props.loading,
|
|
2511
|
+
useScrollbar = props.useScrollbar;
|
|
2226
2512
|
var bodyHeight = reactData.bodyHeight,
|
|
2227
2513
|
topSpaceHeight = reactData.topSpaceHeight,
|
|
2228
2514
|
rowList = reactData.rowList,
|
|
2229
2515
|
isAllChecked = reactData.isAllChecked,
|
|
2230
|
-
isAllIndeterminate = reactData.isAllIndeterminate
|
|
2516
|
+
isAllIndeterminate = reactData.isAllIndeterminate,
|
|
2517
|
+
xThumbWidth = reactData.xThumbWidth,
|
|
2518
|
+
yThumbHeight = reactData.yThumbHeight;
|
|
2231
2519
|
var defaultSlot = slots.default;
|
|
2232
2520
|
var headerSlot = slots.header;
|
|
2233
2521
|
var footerSlot = slots.footer;
|
|
@@ -2242,6 +2530,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2242
2530
|
var rowOpts = $xeList.computeRowOpts;
|
|
2243
2531
|
var isHover = rowOpts.isHover,
|
|
2244
2532
|
padding = rowOpts.padding;
|
|
2533
|
+
var isDrag = $xeList.computeIsDrag;
|
|
2534
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
2535
|
+
var scrollXVisible = $xeList.computeScrollXVisible;
|
|
2536
|
+
var scrollYVisible = $xeList.computeScrollYVisible;
|
|
2537
|
+
var scrollbarXToTop = $xeList.computeScrollbarXToTop;
|
|
2538
|
+
var scrollbarYToLeft = $xeList.computeScrollbarYToLeft;
|
|
2539
|
+
var scrollXAutoHide = $xeList.computeScrollXAutoHide;
|
|
2540
|
+
var scrollYAutoHide = $xeList.computeScrollYAutoHide;
|
|
2541
|
+
var scrollbarWrapperClss = $xeList.computeScrollbarWrapperClss;
|
|
2245
2542
|
var showDefChekboxHead = showCheckbox && checkboxOpts.showHeader !== false;
|
|
2246
2543
|
var leOns = {};
|
|
2247
2544
|
if (isCrossListDrag && !rowList.length) {
|
|
@@ -2249,9 +2546,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2249
2546
|
}
|
|
2250
2547
|
return h('div', {
|
|
2251
2548
|
ref: 'refElem',
|
|
2252
|
-
class: ['vxe-list', className ? _xeUtils.default.isFunction(className) ? className({
|
|
2549
|
+
class: ['vxe-list', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', className ? _xeUtils.default.isFunction(className) ? className({
|
|
2253
2550
|
$list: $xeList
|
|
2254
|
-
}) : className : '', _defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--loading', loading)],
|
|
2551
|
+
}) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'is--drag', isDrag), 'is--loading', loading)],
|
|
2255
2552
|
on: leOns,
|
|
2256
2553
|
style: wrapperStyles
|
|
2257
2554
|
}, [headerSlot || showDefChekboxHead ? h('div', {
|
|
@@ -2310,6 +2607,44 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2310
2607
|
items: rowList,
|
|
2311
2608
|
$list: $xeList
|
|
2312
2609
|
})) : (0, _ui.renderEmptyElement)($xeList),
|
|
2610
|
+
/**
|
|
2611
|
+
* 滚动条
|
|
2612
|
+
*/
|
|
2613
|
+
useScrollbar ? h('div', {
|
|
2614
|
+
class: scrollbarWrapperClss
|
|
2615
|
+
}, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeList) : h('div', {
|
|
2616
|
+
ref: 'refTrackXElem',
|
|
2617
|
+
class: 'vxe-scrollbar--track-x',
|
|
2618
|
+
on: {
|
|
2619
|
+
click: $xeList.clickTrackXEvent
|
|
2620
|
+
}
|
|
2621
|
+
}, [h('div', {
|
|
2622
|
+
ref: 'refThumbXElem',
|
|
2623
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
2624
|
+
on: {
|
|
2625
|
+
pointerdown: $xeList.pointerdownThumbXEvent,
|
|
2626
|
+
pointermove: $xeList.pointermoveThumbXEvent,
|
|
2627
|
+
pointerup: $xeList.cleatPointerThumbEvent,
|
|
2628
|
+
pointercancel: $xeList.cleatPointerThumbEvent,
|
|
2629
|
+
lostpointercapture: $xeList.cleatPointerThumbEvent
|
|
2630
|
+
}
|
|
2631
|
+
})]), scrollYVisible === false ? (0, _ui.renderEmptyElement)($xeList) : h('div', {
|
|
2632
|
+
ref: 'refTrackYElem',
|
|
2633
|
+
class: 'vxe-scrollbar--track-y',
|
|
2634
|
+
on: {
|
|
2635
|
+
click: $xeList.clickTrackYEvent
|
|
2636
|
+
}
|
|
2637
|
+
}, [h('div', {
|
|
2638
|
+
ref: 'refThumbYElem',
|
|
2639
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
2640
|
+
on: {
|
|
2641
|
+
pointerdown: $xeList.pointerdownThumbYEvent,
|
|
2642
|
+
pointermove: $xeList.pointermoveThumbYEvent,
|
|
2643
|
+
pointerup: $xeList.cleatPointerThumbEvent,
|
|
2644
|
+
pointercancel: $xeList.cleatPointerThumbEvent,
|
|
2645
|
+
lostpointercapture: $xeList.cleatPointerThumbEvent
|
|
2646
|
+
}
|
|
2647
|
+
})])]) : (0, _ui.renderEmptyElement)($xeList),
|
|
2313
2648
|
/**
|
|
2314
2649
|
* 拖拽提示
|
|
2315
2650
|
*/
|
|
@@ -2343,13 +2678,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2343
2678
|
var $xeList = this;
|
|
2344
2679
|
$xeList.reFlag++;
|
|
2345
2680
|
},
|
|
2681
|
+
useScrollbar: function useScrollbar() {
|
|
2682
|
+
var $xeList = this;
|
|
2683
|
+
$xeList.reFlag++;
|
|
2684
|
+
},
|
|
2346
2685
|
computeRowHeight: function computeRowHeight() {
|
|
2347
2686
|
var $xeList = this;
|
|
2348
2687
|
$xeList.reFlag++;
|
|
2349
2688
|
},
|
|
2350
|
-
|
|
2689
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
2690
|
+
var $xeList = this;
|
|
2691
|
+
$xeList.$nextTick(function () {
|
|
2692
|
+
$xeList.reFlag++;
|
|
2693
|
+
});
|
|
2694
|
+
},
|
|
2695
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
2351
2696
|
var $xeList = this;
|
|
2352
2697
|
$xeList.$nextTick(function () {
|
|
2698
|
+
$xeList.reFlag++;
|
|
2699
|
+
});
|
|
2700
|
+
},
|
|
2701
|
+
reFlag: function reFlag() {
|
|
2702
|
+
var $xeList = this;
|
|
2703
|
+
$xeList.recalculate().then(function () {
|
|
2353
2704
|
$xeList.recalculate();
|
|
2354
2705
|
});
|
|
2355
2706
|
},
|
|
@@ -2375,7 +2726,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2375
2726
|
var internalData = $xeList.internalData;
|
|
2376
2727
|
var showSeq = props.showSeq,
|
|
2377
2728
|
showRadio = props.showRadio,
|
|
2378
|
-
showCheckbox = props.showCheckbox
|
|
2729
|
+
showCheckbox = props.showCheckbox,
|
|
2730
|
+
autoResize = props.autoResize,
|
|
2731
|
+
useScrollbar = props.useScrollbar;
|
|
2379
2732
|
var rowOpts = $xeList.computeRowOpts;
|
|
2380
2733
|
var useKey = rowOpts.useKey,
|
|
2381
2734
|
keyField = rowOpts.keyField;
|
|
@@ -2397,24 +2750,32 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2397
2750
|
if (useKey && !keyField) {
|
|
2398
2751
|
errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
2399
2752
|
}
|
|
2400
|
-
if (
|
|
2753
|
+
if (useScrollbar || autoResize) {
|
|
2401
2754
|
var el = $xeList.$refs.refElem;
|
|
2755
|
+
var viewInnerEl = $xeList.$refs.refVirtualBody;
|
|
2402
2756
|
var resizeObserver = _ui.globalResize.create(function () {
|
|
2403
|
-
|
|
2757
|
+
$xeList.reFlag++;
|
|
2404
2758
|
});
|
|
2405
|
-
resizeObserver.observe(el);
|
|
2406
2759
|
if (el) {
|
|
2407
|
-
resizeObserver.observe(el
|
|
2760
|
+
resizeObserver.observe(el);
|
|
2761
|
+
if (autoResize) {
|
|
2762
|
+
resizeObserver.observe(el.parentElement);
|
|
2763
|
+
}
|
|
2764
|
+
}
|
|
2765
|
+
if (viewInnerEl) {
|
|
2766
|
+
resizeObserver.observe(viewInnerEl);
|
|
2408
2767
|
}
|
|
2409
2768
|
internalData.resizeObserver = resizeObserver;
|
|
2410
2769
|
}
|
|
2411
|
-
$xeList.
|
|
2412
|
-
_ui.globalEvents.on($xeList, 'resize',
|
|
2770
|
+
$xeList.reFlag++;
|
|
2771
|
+
_ui.globalEvents.on($xeList, 'resize', function () {
|
|
2772
|
+
$xeList.reFlag++;
|
|
2773
|
+
});
|
|
2413
2774
|
},
|
|
2414
2775
|
activated: function activated() {
|
|
2415
2776
|
var $xeList = this;
|
|
2416
2777
|
$xeList.recalculate().then(function () {
|
|
2417
|
-
|
|
2778
|
+
$xeList.refreshScroll();
|
|
2418
2779
|
});
|
|
2419
2780
|
},
|
|
2420
2781
|
beforeDestroy: function beforeDestroy() {
|