vxe-pc-ui 4.20.8 → 4.20.10
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 +2041 -2125
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +8 -6
- package/es/date-panel/src/date-panel.js +58 -36
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/drawer/src/drawer.js +7 -5
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +74 -38
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/layout-aside/src/layout-aside.js +6 -4
- package/es/layout-body/src/layout-body.js +6 -4
- package/es/layout-container/src/layout-container.js +11 -3
- package/es/list/src/list.js +81 -208
- package/es/menu/src/menu.js +7 -5
- package/es/modal/src/modal.js +7 -5
- package/es/scrollbar/src/scrollbar.js +28 -173
- package/es/select/src/select.js +243 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +5 -4
- package/es/tooltip/src/tooltip.js +7 -5
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +86 -212
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/card/src/card.js +9 -6
- package/lib/card/src/card.min.js +1 -1
- package/lib/date-panel/src/date-panel.js +56 -34
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/drawer/src/drawer.js +7 -4
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +101 -45
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +1049 -859
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +7 -4
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +7 -4
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/layout-container/src/layout-container.js +20 -4
- package/lib/layout-container/src/layout-container.min.js +1 -1
- package/lib/list/src/list.js +95 -232
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +8 -4
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +7 -4
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +42 -199
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +315 -68
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +6 -5
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +7 -4
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +101 -235
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +8 -6
- package/packages/date-panel/src/date-panel.ts +58 -36
- package/packages/drawer/src/drawer.ts +7 -5
- package/packages/icon-picker/src/icon-picker.ts +80 -38
- package/packages/layout-aside/src/layout-aside.ts +6 -4
- package/packages/layout-body/src/layout-body.ts +6 -4
- package/packages/layout-container/src/layout-container.ts +13 -3
- package/packages/list/src/list.ts +98 -224
- package/packages/menu/src/menu.ts +7 -5
- package/packages/modal/src/modal.ts +7 -5
- package/packages/scrollbar/src/scrollbar.ts +44 -189
- package/packages/select/src/select.ts +278 -8
- package/packages/tabs/src/tabs.ts +5 -4
- package/packages/tooltip/src/tooltip.ts +7 -5
- package/packages/tree/src/tree.ts +103 -228
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/card.d.ts +2 -2
- package/types/components/drawer.d.ts +2 -2
- package/types/components/gantt-module/gantt-view.d.ts +7 -16
- package/types/components/grid.d.ts +3 -1
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/layout-aside.d.ts +2 -2
- package/types/components/layout-body.d.ts +2 -2
- package/types/components/layout-container.d.ts +3 -1
- package/types/components/list.d.ts +6 -2
- package/types/components/menu.d.ts +2 -2
- package/types/components/modal.d.ts +2 -2
- package/types/components/scrollbar.d.ts +17 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +28 -22
- package/types/components/tabs.d.ts +2 -2
- package/types/components/tooltip.d.ts +2 -2
- package/types/components/tree.d.ts +8 -17
- /package/es/icon/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/icon/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/icon/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/es/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
|
@@ -16,17 +16,10 @@ const {
|
|
|
16
16
|
getConfig,
|
|
17
17
|
createEvent,
|
|
18
18
|
domUtils,
|
|
19
|
-
scrollbarUtils,
|
|
20
19
|
globalResize,
|
|
21
20
|
globalEvents,
|
|
22
21
|
renderEmptyElement
|
|
23
22
|
} = _ui.VxeUI;
|
|
24
|
-
const {
|
|
25
|
-
getThumbOffsetSize,
|
|
26
|
-
getThumbSize,
|
|
27
|
-
getScrollFromClick,
|
|
28
|
-
getScrollFromDrag
|
|
29
|
-
} = scrollbarUtils;
|
|
30
23
|
function createReactData() {
|
|
31
24
|
return {
|
|
32
25
|
yThumbHeight: 0,
|
|
@@ -35,7 +28,7 @@ function createReactData() {
|
|
|
35
28
|
}
|
|
36
29
|
function createInternalData() {
|
|
37
30
|
return {
|
|
38
|
-
//
|
|
31
|
+
// scrollObserver: undefined,
|
|
39
32
|
// isThumbDrag: false,
|
|
40
33
|
thumbDragOffset: 0,
|
|
41
34
|
yThumbTop: 0,
|
|
@@ -98,10 +91,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
98
91
|
type: String,
|
|
99
92
|
default: () => getConfig().scrollbar.viewInnerClassName
|
|
100
93
|
},
|
|
94
|
+
size: {
|
|
95
|
+
type: String,
|
|
96
|
+
default: () => getConfig().scrollbar.size || getConfig().size
|
|
97
|
+
},
|
|
98
|
+
/**
|
|
99
|
+
* 已废弃
|
|
100
|
+
* @deprecated
|
|
101
|
+
*/
|
|
101
102
|
autoResize: {
|
|
102
103
|
type: Boolean,
|
|
103
104
|
default: () => getConfig().scrollbar.autoResize
|
|
104
105
|
},
|
|
106
|
+
/**
|
|
107
|
+
* 已废弃
|
|
108
|
+
* @deprecated
|
|
109
|
+
*/
|
|
105
110
|
syncResize: [Boolean, String, Number]
|
|
106
111
|
},
|
|
107
112
|
emits: ['scroll', 'scroll-boundary'],
|
|
@@ -114,12 +119,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
114
119
|
const refElem = (0, _vue.ref)();
|
|
115
120
|
const refViewElem = (0, _vue.ref)();
|
|
116
121
|
const refViewInnerElem = (0, _vue.ref)();
|
|
117
|
-
const refTrackXElem = (0, _vue.ref)();
|
|
118
|
-
const refTrackYElem = (0, _vue.ref)();
|
|
119
|
-
const refThumbXElem = (0, _vue.ref)();
|
|
120
|
-
const refThumbYElem = (0, _vue.ref)();
|
|
121
122
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
122
123
|
const internalData = createInternalData();
|
|
124
|
+
const {
|
|
125
|
+
computeSize
|
|
126
|
+
} = _ui.useFns.useSize(props);
|
|
123
127
|
const computeWrapperStyle = (0, _vue.computed)(() => {
|
|
124
128
|
const {
|
|
125
129
|
width,
|
|
@@ -203,13 +207,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
203
207
|
yThumbHeight,
|
|
204
208
|
xThumbWidth
|
|
205
209
|
} = reactData;
|
|
210
|
+
const vSize = computeSize.value;
|
|
206
211
|
const xToTop = computeXToTop.value;
|
|
207
212
|
const yToLeft = computeYToLeft.value;
|
|
208
213
|
const xVisible = computeXVisible.value;
|
|
209
214
|
const yVisible = computeYVisible.value;
|
|
210
215
|
const xAutoHide = computeXAutoHide.value;
|
|
211
216
|
const yAutoHide = computeYAutoHide.value;
|
|
212
|
-
return domUtils.buildClass(['vxe-scrollbar', theme ? `theme--${theme}` : '', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
217
|
+
return domUtils.buildClass(['vxe-scrollbar', vSize ? `size--${vSize}` : '', theme ? `theme--${theme}` : '', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
213
218
|
'is--padding': padding,
|
|
214
219
|
'ov-x--auto-hide': xAutoHide,
|
|
215
220
|
'ov-y--auto-hide': yAutoHide,
|
|
@@ -256,6 +261,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
256
261
|
getRefMaps: () => refMaps,
|
|
257
262
|
getComputeMaps: () => computeMaps
|
|
258
263
|
};
|
|
264
|
+
const {
|
|
265
|
+
refTrackXElem,
|
|
266
|
+
refTrackYElem,
|
|
267
|
+
refThumbXElem,
|
|
268
|
+
refThumbYElem,
|
|
269
|
+
updateThumbSize,
|
|
270
|
+
updateThumbOffset,
|
|
271
|
+
clickTrackXEvent,
|
|
272
|
+
clickTrackYEvent,
|
|
273
|
+
pointerdownThumbXEvent,
|
|
274
|
+
pointermoveThumbXEvent,
|
|
275
|
+
cleatPointerThumbEvent,
|
|
276
|
+
pointerdownThumbYEvent,
|
|
277
|
+
pointermoveThumbYEvent
|
|
278
|
+
} = _ui.useFns.useInitVScrollbar($xeScrollbar);
|
|
259
279
|
const dispatchEvent = (type, params, evnt) => {
|
|
260
280
|
emit(type, createEvent(evnt, {
|
|
261
281
|
$scrollbar: $xeScrollbar
|
|
@@ -263,11 +283,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
263
283
|
};
|
|
264
284
|
const scrollbarMethods = {
|
|
265
285
|
dispatchEvent,
|
|
266
|
-
|
|
286
|
+
getScrollViewElem() {
|
|
267
287
|
const viewEl = refViewElem.value;
|
|
268
288
|
return viewEl || null;
|
|
269
289
|
},
|
|
270
|
-
|
|
290
|
+
getScrollViewInnerElem() {
|
|
271
291
|
const viewInnerEl = refViewInnerElem.value;
|
|
272
292
|
return viewInnerEl || null;
|
|
273
293
|
},
|
|
@@ -326,58 +346,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
326
346
|
return (0, _vue.nextTick)();
|
|
327
347
|
}
|
|
328
348
|
};
|
|
329
|
-
const updateThumbSize = () => {
|
|
330
|
-
const viewEl = refViewElem.value;
|
|
331
|
-
if (!viewEl) {
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
335
|
-
return;
|
|
336
|
-
}
|
|
337
|
-
const trackXEl = refTrackXElem.value;
|
|
338
|
-
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
339
|
-
const thumbXElem = refThumbXElem.value;
|
|
340
|
-
if (thumbXElem) {
|
|
341
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
342
|
-
}
|
|
343
|
-
reactData.xThumbWidth = xThumbWidth;
|
|
344
|
-
const trackYEl = refTrackYElem.value;
|
|
345
|
-
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
346
|
-
const thumbYElem = refThumbYElem.value;
|
|
347
|
-
if (thumbYElem) {
|
|
348
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
349
|
-
}
|
|
350
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
351
|
-
};
|
|
352
|
-
const updateThumbOffset = () => {
|
|
353
|
-
const viewEl = refViewElem.value;
|
|
354
|
-
if (!viewEl) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
358
|
-
return;
|
|
359
|
-
}
|
|
360
|
-
const {
|
|
361
|
-
xThumbWidth,
|
|
362
|
-
yThumbHeight
|
|
363
|
-
} = reactData;
|
|
364
|
-
const trackXEl = refTrackXElem.value;
|
|
365
|
-
const thumbXElem = refThumbXElem.value;
|
|
366
|
-
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
367
|
-
internalData.xThumbLeft = xThumbLeft;
|
|
368
|
-
if (thumbXElem && xThumbWidth) {
|
|
369
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
370
|
-
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
371
|
-
}
|
|
372
|
-
const trackYEl = refTrackYElem.value;
|
|
373
|
-
const thumbYElem = refThumbYElem.value;
|
|
374
|
-
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
375
|
-
internalData.yThumbTop = yThumbTop;
|
|
376
|
-
if (thumbYElem && yThumbHeight) {
|
|
377
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
378
|
-
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
379
|
-
}
|
|
380
|
-
};
|
|
381
349
|
const scrollEvent = evnt => {
|
|
382
350
|
const {
|
|
383
351
|
xThumbWidth,
|
|
@@ -463,131 +431,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
463
431
|
scrollWidth: scrollWidth
|
|
464
432
|
}, evnt);
|
|
465
433
|
};
|
|
466
|
-
const clickTrackXEvent = evnt => {
|
|
467
|
-
const trackEl = evnt.currentTarget;
|
|
468
|
-
if (trackEl !== evnt.target) {
|
|
469
|
-
return;
|
|
470
|
-
}
|
|
471
|
-
const viewEl = refViewElem.value;
|
|
472
|
-
if (!viewEl) {
|
|
473
|
-
return;
|
|
474
|
-
}
|
|
475
|
-
const {
|
|
476
|
-
xThumbWidth
|
|
477
|
-
} = reactData;
|
|
478
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
479
|
-
viewEl.scrollTo({
|
|
480
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
481
|
-
behavior: 'auto'
|
|
482
|
-
});
|
|
483
|
-
};
|
|
484
|
-
const clickTrackYEvent = evnt => {
|
|
485
|
-
const trackEl = evnt.currentTarget;
|
|
486
|
-
if (trackEl !== evnt.target) {
|
|
487
|
-
return;
|
|
488
|
-
}
|
|
489
|
-
const viewEl = refViewElem.value;
|
|
490
|
-
if (!viewEl) {
|
|
491
|
-
return;
|
|
492
|
-
}
|
|
493
|
-
const {
|
|
494
|
-
yThumbHeight
|
|
495
|
-
} = reactData;
|
|
496
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
497
|
-
viewEl.scrollTo({
|
|
498
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
499
|
-
behavior: 'auto'
|
|
500
|
-
});
|
|
501
|
-
};
|
|
502
|
-
const pointerdownThumbXEvent = evnt => {
|
|
503
|
-
const thumbEl = evnt.currentTarget;
|
|
504
|
-
internalData.isThumbDrag = true;
|
|
505
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
506
|
-
const viewEl = refViewElem.value;
|
|
507
|
-
if (!viewEl) {
|
|
508
|
-
return;
|
|
509
|
-
}
|
|
510
|
-
const {
|
|
511
|
-
xThumbWidth
|
|
512
|
-
} = reactData;
|
|
513
|
-
const trackEl = thumbEl.parentElement;
|
|
514
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
515
|
-
const pointerPosition = evnt.clientX - trackRect.left;
|
|
516
|
-
// 记录 thumb 的偏移
|
|
517
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
518
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
519
|
-
};
|
|
520
|
-
const pointermoveThumbXEvent = evnt => {
|
|
521
|
-
const thumbEl = evnt.currentTarget;
|
|
522
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
523
|
-
return;
|
|
524
|
-
}
|
|
525
|
-
const {
|
|
526
|
-
isThumbDrag,
|
|
527
|
-
thumbDragOffset
|
|
528
|
-
} = internalData;
|
|
529
|
-
if (isThumbDrag) {
|
|
530
|
-
const viewEl = refViewElem.value;
|
|
531
|
-
if (!viewEl) {
|
|
532
|
-
return;
|
|
533
|
-
}
|
|
534
|
-
const {
|
|
535
|
-
xThumbWidth
|
|
536
|
-
} = reactData;
|
|
537
|
-
const thumbEl = evnt.currentTarget;
|
|
538
|
-
const trackEl = thumbEl.parentElement;
|
|
539
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
540
|
-
// 更新偏移
|
|
541
|
-
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
542
|
-
}
|
|
543
|
-
};
|
|
544
|
-
const cleatPointerThumbEvent = evnt => {
|
|
545
|
-
const thumbEl = evnt.currentTarget;
|
|
546
|
-
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
547
|
-
internalData.isThumbDrag = false;
|
|
548
|
-
};
|
|
549
|
-
const pointerdownThumbYEvent = evnt => {
|
|
550
|
-
const thumbEl = evnt.currentTarget;
|
|
551
|
-
internalData.isThumbDrag = true;
|
|
552
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
553
|
-
const viewEl = refViewElem.value;
|
|
554
|
-
if (!viewEl) {
|
|
555
|
-
return;
|
|
556
|
-
}
|
|
557
|
-
const {
|
|
558
|
-
yThumbHeight
|
|
559
|
-
} = reactData;
|
|
560
|
-
const trackEl = thumbEl.parentElement;
|
|
561
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
562
|
-
const pointerPosition = evnt.clientY - trackRect.top;
|
|
563
|
-
// 记录 thumb 的偏移
|
|
564
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
565
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
566
|
-
};
|
|
567
|
-
const pointermoveThumbYEvent = evnt => {
|
|
568
|
-
const thumbEl = evnt.currentTarget;
|
|
569
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
570
|
-
return;
|
|
571
|
-
}
|
|
572
|
-
const {
|
|
573
|
-
isThumbDrag,
|
|
574
|
-
thumbDragOffset
|
|
575
|
-
} = internalData;
|
|
576
|
-
if (isThumbDrag) {
|
|
577
|
-
const viewEl = refViewElem.value;
|
|
578
|
-
if (!viewEl) {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
const {
|
|
582
|
-
yThumbHeight
|
|
583
|
-
} = reactData;
|
|
584
|
-
const thumbEl = evnt.currentTarget;
|
|
585
|
-
const trackEl = thumbEl.parentElement;
|
|
586
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
587
|
-
// 更新偏移
|
|
588
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
589
|
-
}
|
|
590
|
-
};
|
|
591
434
|
const scrollbarPrivateMethods = {};
|
|
592
435
|
Object.assign($xeScrollbar, scrollbarMethods, scrollbarPrivateMethods);
|
|
593
436
|
const renderVN = () => {
|
|
@@ -703,18 +546,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
703
546
|
const viewEl = refViewElem.value;
|
|
704
547
|
const viewInnerEl = refViewInnerElem.value;
|
|
705
548
|
if (autoResize) {
|
|
706
|
-
const
|
|
549
|
+
const scrollObserver = globalResize.create(() => {
|
|
707
550
|
if (props.autoResize) {
|
|
708
551
|
reFlag.value++;
|
|
709
552
|
}
|
|
710
553
|
});
|
|
711
554
|
if (viewEl) {
|
|
712
|
-
|
|
555
|
+
scrollObserver.observe(viewEl);
|
|
713
556
|
}
|
|
714
557
|
if (viewInnerEl) {
|
|
715
|
-
|
|
558
|
+
scrollObserver.observe(viewInnerEl);
|
|
716
559
|
}
|
|
717
|
-
internalData.
|
|
560
|
+
internalData.scrollObserver = scrollObserver;
|
|
718
561
|
}
|
|
719
562
|
reFlag.value++;
|
|
720
563
|
globalEvents.on($xeScrollbar, 'resize', () => {
|
|
@@ -723,10 +566,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
723
566
|
});
|
|
724
567
|
(0, _vue.onBeforeUnmount)(() => {
|
|
725
568
|
const {
|
|
726
|
-
|
|
569
|
+
scrollObserver
|
|
727
570
|
} = internalData;
|
|
728
|
-
if (
|
|
729
|
-
|
|
571
|
+
if (scrollObserver) {
|
|
572
|
+
scrollObserver.disconnect();
|
|
730
573
|
}
|
|
731
574
|
globalEvents.off($xeScrollbar, 'resize');
|
|
732
575
|
});
|
|
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,scrollbarUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI,{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],viewId:[String,Number],theme:{type:String,default:()=>getConfig().scrollbar.theme},width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},autoHide:{type:Boolean,default:()=>getConfig().scrollbar.autoHide},visible:{type:Boolean,default:()=>getConfig().scrollbar.visible},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewStyle:{type:Object,default:()=>getConfig().scrollbar.viewStyle},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(g,e){let{emit:i,slots:d}=e;var t=_xeUtils.default.uniqueId();let m=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.ref)(),_=(0,_vue.ref)(),T=(0,_vue.ref)(),x=(0,_vue.ref)(),C=(0,_vue.reactive)(createReactData()),y=createInternalData(),w=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:i,maxWidth:r,maxHeight:a}=g,o=c.value,u=s.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),i&&(n.minHeight=(0,_dom.toCssUnit)(i)),r&&(n.maxWidth=(0,_dom.toCssUnit)(r)),a&&(n.maxHeight=(0,_dom.toCssUnit)(a)),(o||u)&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(o||u),n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(u||o)),n}),s=(0,_vue.computed)(()=>O.value.height),c=(0,_vue.computed)(()=>U.value.width),H=(0,_vue.computed)(()=>{var e=g.visible,t=O.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),S=(0,_vue.computed)(()=>{var e=g.visible,t=U.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),h=(0,_vue.computed)(()=>{var e=g.autoHide,t=O.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),W=(0,_vue.computed)(()=>{var e=g.autoHide,t=U.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),D=(0,_vue.computed)(()=>{var{native:e,theme:t,className:l,padding:i}=g,{yThumbHeight:r,xThumbWidth:a}=C,o=z.value,u=L.value,n=H.value,s=S.value,c=h.value,v=W.value;return domUtils.buildClass(["vxe-scrollbar",t?"theme--"+t:"","ov-x--"+(!1===n?"hidden":"visible"),"ov-y--"+(!1===s?"hidden":"visible"),"sx-pos--"+(o?"top":"bottom"),"sy-pos--"+(u?"left":"right"),e?"is--native":"is--virtual",l],{"is--padding":i,"ov-x--auto-hide":c,"ov-y--auto-hide":v,"overflow-y":r,"overflow-x":a})}),N=(0,_vue.computed)(()=>{var e=g.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),R=(0,_vue.computed)(()=>{var e=g.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),O=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,g.xConfig)),U=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,g.yConfig)),z=(0,_vue.computed)(()=>"top"===O.value.position),L=(0,_vue.computed)(()=>"left"===U.value.position),l={refElem:m},r={},E={xID:t,props:g,context:e,reactData:C,internalData:y,getRefMaps:()=>l,getComputeMaps:()=>r},I=(e,t,l)=>{i(e,createEvent(l,{$scrollbar:E},t))};t={dispatchEvent:I,getViewElem(){return f.value||null},getViewInnerElem(){return b.value||null},scrollTo(e,t){var l=f.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=f.value;e&&e.scrollIntoView()},setScrollTop(e){var t=f.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=f.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=f.value;return e?e.scrollTop:0},getScrollLeft(){var e=f.value;return e?e.scrollLeft:0},clearScroll(){var e=f.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return a(),B(),(0,_vue.nextTick)()}};let a=()=>{var e,t,l=f.value;l&&l.clientHeight&&(t=(t=p.value)?getThumbSize(l.clientWidth,l.scrollWidth,t.clientWidth):0,(e=T.value)&&(e.style.width=t+"px"),C.xThumbWidth=t,t=(e=_.value)?getThumbSize(l.clientHeight,l.scrollHeight,e.clientHeight):0,(l=x.value)&&(l.style.height=t+"px"),C.yThumbHeight=t)},B=()=>{var e,t,l,i,r=f.value;r&&r.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=C,i=p.value,l=T.value,i=i&&t?getThumbOffsetSize(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t):0,y.xThumbLeft=i,l&&t&&(l.style.width=t+"px",l.style.transform=`translateX(${i}px)`),t=_.value,l=x.value,i=t&&e?getThumbOffsetSize(r.scrollTop,r.clientHeight,r.scrollHeight,t.clientHeight,e):0,y.yThumbTop=i,l)&&e&&(l.style.height=e+"px",l.style.transform=`translateY(${i}px)`)},k=e=>{var{xThumbWidth:t,yThumbHeight:l}=C,{lastScrollTop:i,lastScrollLeft:r}=y,a=O.value,o=U.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h}=e.currentTarget;let g="",d=!1,m=!1,f=!1,b=!1;i!==u&&(o=_xeUtils.default.toNumber(o.threshold)||1,i<u?(g="bottom",0<l&&v-o<=u+c&&(m=!0)):(g="top",0<l&&u<=o&&(d=!0))),r!==n&&(i=_xeUtils.default.toNumber(a.threshold)||1,r<n?(g="right",0<t&&h-i<=n+s&&(b=!0)):(g="left",0<t&&n<=i&&(f=!0))),B(),y.lastScrollTop=u,y.lastScrollLeft=n,(m||d||b||f)&&I("scroll-boundary",{direction:g,isTop:d,isBottom:m,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e),I("scroll",{direction:g,isTop:0<l&&u<=0,isBottom:0<l&&v<=u+c,isLeft:0<t&&n<=0,isRight:0<t&&h<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e)},q=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=f.value)&&(l=C.xThumbWidth,i=r.getBoundingClientRect(),t.scrollTo({left:getScrollFromClick(e.clientX-i.left,t.clientWidth,t.scrollWidth,r.clientWidth,l),behavior:"auto"}))},V=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=f.value)&&(l=C.yThumbHeight,i=r.getBoundingClientRect(),t.scrollTo({top:getScrollFromClick(e.clientY-i.top,t.clientHeight,t.scrollHeight,r.clientHeight,l),behavior:"auto"}))},j=e=>{var t,l,i=e.currentTarget,r=(y.isThumbDrag=!0,i.setPointerCapture(e.pointerId),f.value);r&&(t=C.xThumbWidth,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientX-l.left,l=getThumbOffsetSize(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t),y.thumbDragOffset=e-l)},F=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=y;if(l){l=f.value;if(l){var r=C.xThumbWidth;let e=t.currentTarget;var a=e.parentElement,o=a.getBoundingClientRect();l.scrollLeft=getScrollFromDrag(t.clientX-o.left,i,l.clientWidth,l.scrollWidth,a.clientWidth,r)}}}},P=e=>{e.currentTarget.releasePointerCapture(e.pointerId),y.isThumbDrag=!1},M=e=>{var t,l,i=e.currentTarget,r=(y.isThumbDrag=!0,i.setPointerCapture(e.pointerId),f.value);r&&(t=C.yThumbHeight,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientY-l.top,l=getThumbOffsetSize(r.scrollTop,r.clientHeight,r.scrollHeight,i.clientHeight,t),y.thumbDragOffset=e-l)},X=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=y;if(l){l=f.value;if(l){var r=C.yThumbHeight;let e=t.currentTarget;var a=e.parentElement,o=a.getBoundingClientRect();l.scrollTop=getScrollFromDrag(t.clientY-o.top,i,l.clientHeight,l.scrollHeight,a.clientHeight,r)}}}};Object.assign(E,t,{});let o=(0,_vue.ref)(0);return(0,_vue.watch)(()=>g.height,()=>{o.value++}),(0,_vue.watch)(()=>g.width,()=>{o.value++}),(0,_vue.watch)(()=>g.minHeight,()=>{o.value++}),(0,_vue.watch)(()=>g.minWidth,()=>{o.value++}),(0,_vue.watch)(()=>g.maxHeight,()=>{o.value++}),(0,_vue.watch)(()=>g.maxWidth,()=>{o.value++}),(0,_vue.watch)(()=>g.native,()=>{o.value++}),(0,_vue.watch)(()=>g.syncResize,()=>{o.value++}),(0,_vue.watch)(c,()=>{o.value++}),(0,_vue.watch)(s,()=>{o.value++}),(0,_vue.watch)(H,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(S,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(o,()=>{E.recalculate().then(()=>{E.recalculate()})}),(0,_vue.onMounted)(()=>{var e=g.autoResize,t=f.value,l=b.value;e&&(e=globalResize.create(()=>{g.autoResize&&o.value++}),t&&e.observe(t),l&&e.observe(l),y.resizeObserver=e),o.value++,globalEvents.on(E,"resize",()=>{o.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=y.resizeObserver;e&&e.disconnect(),globalEvents.off(E,"resize")}),E.renderVN=()=>{var{id:e,native:t,loading:l,viewId:i,viewAttrs:r,viewStyle:a}=g,o=w.value,u=D.value,n=N.value,s=R.value,c=H.value,v=S.value,h=d.default;return(0,_vue.h)("div",{ref:m,id:e||null,class:u,style:o},[(0,_vue.h)("div",Object.assign({ref:f,class:n,onScroll:k,id:i||null,style:a},r),[(0,_vue.h)("div",{key:"vi",ref:b,class:s},h?h({}):[])]),t||!1===c?renderEmptyElement(E):(0,_vue.h)("div",{ref:p,class:"vxe-scrollbar--track-x",onClick:q},[(0,_vue.h)("div",{ref:T,class:"vxe-scrollbar--thumb-x",onPointerdown:j,onPointermove:F,onPointerup:P,onPointercancel:P,onLostpointercapture:P})]),t||!1===v?renderEmptyElement(E):(0,_vue.h)("div",{ref:_,class:"vxe-scrollbar--track-y",onClick:V},[(0,_vue.h)("div",{ref:x,class:"vxe-scrollbar--thumb-y",onPointerdown:M,onPointermove:X,onPointerup:P,onPointercancel:P,onLostpointercapture:P})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},E},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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],viewId:[String,Number],theme:{type:String,default:()=>getConfig().scrollbar.theme},width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},autoHide:{type:Boolean,default:()=>getConfig().scrollbar.autoHide},visible:{type:Boolean,default:()=>getConfig().scrollbar.visible},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewStyle:{type:Object,default:()=>getConfig().scrollbar.viewStyle},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},size:{type:String,default:()=>getConfig().scrollbar.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(m,e){let{emit:r,slots:g}=e;var t=_xeUtils.default.uniqueId();let h=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.reactive)(createReactData()),_=createInternalData(),x=_ui.useFns.useSize(m).computeSize,C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:r,maxWidth:i,maxHeight:o}=m,a=v.value,u=s.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),r&&(n.minHeight=(0,_dom.toCssUnit)(r)),i&&(n.maxWidth=(0,_dom.toCssUnit)(i)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),(a||u)&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(a||u),n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(u||a)),n}),s=(0,_vue.computed)(()=>U.value.height),v=(0,_vue.computed)(()=>z.value.width),w=(0,_vue.computed)(()=>{var e=m.visible,t=U.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),T=(0,_vue.computed)(()=>{var e=m.visible,t=z.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),y=(0,_vue.computed)(()=>{var e=m.autoHide,t=U.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),S=(0,_vue.computed)(()=>{var e=m.autoHide,t=z.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),E=(0,_vue.computed)(()=>{var{native:e,theme:t,className:l,padding:r}=m,{yThumbHeight:i,xThumbWidth:o}=p,a=x.value,u=W.value,n=L.value,s=w.value,v=T.value,c=y.value,d=S.value;return domUtils.buildClass(["vxe-scrollbar",a?"size--"+a:"",t?"theme--"+t:"","ov-x--"+(!1===s?"hidden":"visible"),"ov-y--"+(!1===v?"hidden":"visible"),"sx-pos--"+(u?"top":"bottom"),"sy-pos--"+(n?"left":"right"),e?"is--native":"is--virtual",l],{"is--padding":r,"ov-x--auto-hide":c,"ov-y--auto-hide":d,"overflow-y":i,"overflow-x":o})}),H=(0,_vue.computed)(()=>{var e=m.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),N=(0,_vue.computed)(()=>{var e=m.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),U=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,m.xConfig)),z=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,m.yConfig)),W=(0,_vue.computed)(()=>"top"===U.value.position),L=(0,_vue.computed)(()=>"left"===z.value.position),l={refElem:h},i={},R={xID:t,props:m,context:e,reactData:p,internalData:_,getRefMaps:()=>l,getComputeMaps:()=>i},{refTrackXElem:D,refTrackYElem:k,refThumbXElem:I,refThumbYElem:O,updateThumbSize:a,updateThumbOffset:q,clickTrackXEvent:P,clickTrackYEvent:j,pointerdownThumbXEvent:M,pointermoveThumbXEvent:X,cleatPointerThumbEvent:V,pointerdownThumbYEvent:Y,pointermoveThumbYEvent:A}=_ui.useFns.useInitVScrollbar(R),B=(e,t,l)=>{r(e,createEvent(l,{$scrollbar:R},t))};t={dispatchEvent:B,getScrollViewElem(){return f.value||null},getScrollViewInnerElem(){return b.value||null},scrollTo(e,t){var l=f.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=f.value;e&&e.scrollIntoView()},setScrollTop(e){var t=f.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=f.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=f.value;return e?e.scrollTop:0},getScrollLeft(){var e=f.value;return e?e.scrollLeft:0},clearScroll(){var e=f.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return a(),q(),(0,_vue.nextTick)()}};let F=e=>{var{xThumbWidth:t,yThumbHeight:l}=p,{lastScrollTop:r,lastScrollLeft:i}=_,o=U.value,a=z.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d}=e.currentTarget;let m="",g=!1,h=!1,f=!1,b=!1;r!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,r<u?(m="bottom",0<l&&c-a<=u+v&&(h=!0)):(m="top",0<l&&u<=a&&(g=!0))),i!==n&&(r=_xeUtils.default.toNumber(o.threshold)||1,i<n?(m="right",0<t&&d-r<=n+s&&(b=!0)):(m="left",0<t&&n<=r&&(f=!0))),q(),_.lastScrollTop=u,_.lastScrollLeft=n,(h||g||b||f)&&B("scroll-boundary",{direction:m,isTop:g,isBottom:h,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d},e),B("scroll",{direction:m,isTop:0<l&&u<=0,isBottom:0<l&&c<=u+v,isLeft:0<t&&n<=0,isRight:0<t&&d<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d},e)};Object.assign(R,t,{});let o=(0,_vue.ref)(0);return(0,_vue.watch)(()=>m.height,()=>{o.value++}),(0,_vue.watch)(()=>m.width,()=>{o.value++}),(0,_vue.watch)(()=>m.minHeight,()=>{o.value++}),(0,_vue.watch)(()=>m.minWidth,()=>{o.value++}),(0,_vue.watch)(()=>m.maxHeight,()=>{o.value++}),(0,_vue.watch)(()=>m.maxWidth,()=>{o.value++}),(0,_vue.watch)(()=>m.native,()=>{o.value++}),(0,_vue.watch)(()=>m.syncResize,()=>{o.value++}),(0,_vue.watch)(v,()=>{o.value++}),(0,_vue.watch)(s,()=>{o.value++}),(0,_vue.watch)(w,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(T,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(o,()=>{R.recalculate().then(()=>{R.recalculate()})}),(0,_vue.onMounted)(()=>{var e=m.autoResize,t=f.value,l=b.value;e&&(e=globalResize.create(()=>{m.autoResize&&o.value++}),t&&e.observe(t),l&&e.observe(l),_.scrollObserver=e),o.value++,globalEvents.on(R,"resize",()=>{o.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=_.scrollObserver;e&&e.disconnect(),globalEvents.off(R,"resize")}),R.renderVN=()=>{var{id:e,native:t,loading:l,viewId:r,viewAttrs:i,viewStyle:o}=m,a=C.value,u=E.value,n=H.value,s=N.value,v=w.value,c=T.value,d=g.default;return(0,_vue.h)("div",{ref:h,id:e||null,class:u,style:a},[(0,_vue.h)("div",Object.assign({ref:f,class:n,onScroll:F,id:r||null,style:o},i),[(0,_vue.h)("div",{key:"vi",ref:b,class:s},d?d({}):[])]),t||!1===v?renderEmptyElement(R):(0,_vue.h)("div",{ref:D,class:"vxe-scrollbar--track-x",onClick:P},[(0,_vue.h)("div",{ref:I,class:"vxe-scrollbar--thumb-x",onPointerdown:M,onPointermove:X,onPointerup:V,onPointercancel:V,onLostpointercapture:V})]),t||!1===c?renderEmptyElement(R):(0,_vue.h)("div",{ref:k,class:"vxe-scrollbar--track-y",onClick:j},[(0,_vue.h)("div",{ref:O,class:"vxe-scrollbar--thumb-y",onPointerdown:Y,onPointermove:A,onPointerup:V,onPointercancel:V,onLostpointercapture:V})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},R},render(){return this.renderVN()}});
|