vxe-pc-ui 3.20.9 → 3.20.11
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/date-panel/src/date-panel.js +70 -39
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +11 -3
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/list/src/list.js +12 -183
- package/es/scrollbar/src/scrollbar.js +24 -188
- package/es/select/src/select.js +276 -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/tooltip/src/tooltip.js +2 -4
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +21 -191
- 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/date-panel/src/date-panel.js +74 -43
- 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/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +56 -38
- 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 +726 -743
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +10 -189
- package/lib/list/src/list.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +21 -192
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +325 -69
- 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/tooltip/src/tooltip.js +2 -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 +20 -197
- 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/date-panel/src/date-panel.ts +70 -39
- package/packages/icon-picker/src/icon-picker.ts +12 -3
- package/packages/list/src/list.ts +15 -203
- package/packages/scrollbar/src/scrollbar.ts +24 -199
- package/packages/select/src/select.ts +307 -11
- package/packages/tabs/src/tabs.ts +2 -4
- package/packages/tooltip/src/tooltip.ts +2 -4
- package/packages/tree/src/tree.ts +24 -212
- 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/gantt-module/gantt-view.d.ts +17 -17
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/list.d.ts +4 -0
- package/types/components/scrollbar.d.ts +7 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +30 -20
- package/types/components/tree.d.ts +7 -16
- /package/es/icon/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/es/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/es/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/es/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/lib/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/lib/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/lib/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
|
@@ -14,14 +14,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
14
14
|
var getConfig = _ui.VxeUI.getConfig,
|
|
15
15
|
createEvent = _ui.VxeUI.createEvent,
|
|
16
16
|
domUtils = _ui.VxeUI.domUtils,
|
|
17
|
-
scrollbarUtils = _ui.VxeUI.scrollbarUtils,
|
|
18
17
|
globalResize = _ui.VxeUI.globalResize,
|
|
19
18
|
globalEvents = _ui.VxeUI.globalEvents,
|
|
20
19
|
renderEmptyElement = _ui.VxeUI.renderEmptyElement;
|
|
21
|
-
var getThumbOffsetSize = scrollbarUtils.getThumbOffsetSize,
|
|
22
|
-
getThumbSize = scrollbarUtils.getThumbSize,
|
|
23
|
-
getScrollFromClick = scrollbarUtils.getScrollFromClick,
|
|
24
|
-
getScrollFromDrag = scrollbarUtils.getScrollFromDrag;
|
|
25
20
|
function createReactData() {
|
|
26
21
|
return {
|
|
27
22
|
yThumbHeight: 0,
|
|
@@ -30,7 +25,7 @@ function createReactData() {
|
|
|
30
25
|
}
|
|
31
26
|
function createInternalData() {
|
|
32
27
|
return {
|
|
33
|
-
//
|
|
28
|
+
// scrollObserver: undefined,
|
|
34
29
|
// isThumbDrag: false,
|
|
35
30
|
thumbDragOffset: 0,
|
|
36
31
|
yThumbTop: 0,
|
|
@@ -41,6 +36,7 @@ function createInternalData() {
|
|
|
41
36
|
}
|
|
42
37
|
var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
43
38
|
name: 'VxeScrollbar',
|
|
39
|
+
mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.initVScrollbarMixin],
|
|
44
40
|
props: {
|
|
45
41
|
id: [String, Number],
|
|
46
42
|
viewId: [String, Number],
|
|
@@ -113,6 +109,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
113
109
|
return getConfig().scrollbar.viewInnerClassName;
|
|
114
110
|
}
|
|
115
111
|
},
|
|
112
|
+
size: {
|
|
113
|
+
type: String,
|
|
114
|
+
default: function _default() {
|
|
115
|
+
return getConfig().scrollbar.size || getConfig().size;
|
|
116
|
+
}
|
|
117
|
+
},
|
|
116
118
|
/**
|
|
117
119
|
* 已废弃
|
|
118
120
|
* @deprecated
|
|
@@ -138,7 +140,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
138
140
|
reFlag: 0
|
|
139
141
|
});
|
|
140
142
|
},
|
|
141
|
-
computed: {
|
|
143
|
+
computed: Object.assign(Object.assign({}, {}), {
|
|
142
144
|
computeWrapperStyle: function computeWrapperStyle() {
|
|
143
145
|
var $xeScrollbar = this;
|
|
144
146
|
var props = $xeScrollbar;
|
|
@@ -223,13 +225,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
223
225
|
padding = props.padding;
|
|
224
226
|
var yThumbHeight = reactData.yThumbHeight,
|
|
225
227
|
xThumbWidth = reactData.xThumbWidth;
|
|
228
|
+
var vSize = $xeScrollbar.computeSize;
|
|
226
229
|
var xToTop = $xeScrollbar.computeXToTop;
|
|
227
230
|
var yToLeft = $xeScrollbar.computeYToLeft;
|
|
228
231
|
var xVisible = $xeScrollbar.computeXVisible;
|
|
229
232
|
var yVisible = $xeScrollbar.computeYVisible;
|
|
230
233
|
var xAutoHide = $xeScrollbar.computeXAutoHide;
|
|
231
234
|
var yAutoHide = $xeScrollbar.computeYAutoHide;
|
|
232
|
-
return domUtils.buildClass(['vxe-scrollbar', theme ? "theme--".concat(theme) : '', "ov-x--".concat(xVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(yVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(xToTop ? 'top' : 'bottom'), "sy-pos--".concat(yToLeft ? 'left' : 'right'), native ? 'is--native' : 'is--virtual', className], {
|
|
235
|
+
return domUtils.buildClass(['vxe-scrollbar', vSize ? "size--".concat(vSize) : '', theme ? "theme--".concat(theme) : '', "ov-x--".concat(xVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(yVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(xToTop ? 'top' : 'bottom'), "sy-pos--".concat(yToLeft ? 'left' : 'right'), native ? 'is--native' : 'is--virtual', className], {
|
|
233
236
|
'is--padding': padding,
|
|
234
237
|
'ov-x--auto-hide': xAutoHide,
|
|
235
238
|
'ov-y--auto-hide': yAutoHide,
|
|
@@ -269,7 +272,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
269
272
|
var yOpts = $xeScrollbar.computeYOpts;
|
|
270
273
|
return yOpts.position === 'left';
|
|
271
274
|
}
|
|
272
|
-
},
|
|
275
|
+
}),
|
|
273
276
|
methods: {
|
|
274
277
|
//
|
|
275
278
|
// Method
|
|
@@ -280,12 +283,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
280
283
|
$scrollbar: $xeScrollbar
|
|
281
284
|
}, params));
|
|
282
285
|
},
|
|
283
|
-
|
|
286
|
+
getScrollViewElem: function getScrollViewElem() {
|
|
284
287
|
var $xeScrollbar = this;
|
|
285
288
|
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
286
289
|
return viewEl || null;
|
|
287
290
|
},
|
|
288
|
-
|
|
291
|
+
getScrollViewInnerElem: function getScrollViewInnerElem() {
|
|
289
292
|
var $xeScrollbar = this;
|
|
290
293
|
var viewInnerEl = $xeScrollbar.$refs.refViewInnerElem;
|
|
291
294
|
return viewInnerEl || null;
|
|
@@ -352,61 +355,6 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
352
355
|
$xeScrollbar.updateThumbOffset();
|
|
353
356
|
return $xeScrollbar.$nextTick();
|
|
354
357
|
},
|
|
355
|
-
updateThumbSize: function updateThumbSize() {
|
|
356
|
-
var $xeScrollbar = this;
|
|
357
|
-
var reactData = $xeScrollbar.reactData;
|
|
358
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
359
|
-
if (!viewEl) {
|
|
360
|
-
return;
|
|
361
|
-
}
|
|
362
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
363
|
-
return;
|
|
364
|
-
}
|
|
365
|
-
var trackXEl = $xeScrollbar.$refs.refTrackXElem;
|
|
366
|
-
var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
367
|
-
var thumbXElem = $xeScrollbar.$refs.refThumbXElem;
|
|
368
|
-
if (thumbXElem) {
|
|
369
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
370
|
-
}
|
|
371
|
-
reactData.xThumbWidth = xThumbWidth;
|
|
372
|
-
var trackYEl = $xeScrollbar.$refs.refTrackYElem;
|
|
373
|
-
var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
374
|
-
var thumbYElem = $xeScrollbar.$refs.refThumbYElem;
|
|
375
|
-
if (thumbYElem) {
|
|
376
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
377
|
-
}
|
|
378
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
379
|
-
},
|
|
380
|
-
updateThumbOffset: function updateThumbOffset() {
|
|
381
|
-
var $xeScrollbar = this;
|
|
382
|
-
var reactData = $xeScrollbar.reactData;
|
|
383
|
-
var internalData = $xeScrollbar.internalData;
|
|
384
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
385
|
-
if (!viewEl) {
|
|
386
|
-
return;
|
|
387
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
var xThumbWidth = reactData.xThumbWidth,
|
|
392
|
-
yThumbHeight = reactData.yThumbHeight;
|
|
393
|
-
var trackXEl = $xeScrollbar.$refs.refTrackXElem;
|
|
394
|
-
var thumbXElem = $xeScrollbar.$refs.refThumbXElem;
|
|
395
|
-
var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
396
|
-
internalData.xThumbLeft = xThumbLeft;
|
|
397
|
-
if (thumbXElem && xThumbWidth) {
|
|
398
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
399
|
-
thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
|
|
400
|
-
}
|
|
401
|
-
var trackYEl = $xeScrollbar.$refs.refTrackYElem;
|
|
402
|
-
var thumbYElem = $xeScrollbar.$refs.refThumbYElem;
|
|
403
|
-
var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
404
|
-
internalData.yThumbTop = yThumbTop;
|
|
405
|
-
if (thumbYElem && yThumbHeight) {
|
|
406
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
407
|
-
thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
|
|
408
|
-
}
|
|
409
|
-
},
|
|
410
358
|
scrollEvent: function scrollEvent(evnt) {
|
|
411
359
|
var $xeScrollbar = this;
|
|
412
360
|
var reactData = $xeScrollbar.reactData;
|
|
@@ -489,125 +437,6 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
489
437
|
scrollWidth: scrollWidth
|
|
490
438
|
}, evnt);
|
|
491
439
|
},
|
|
492
|
-
clickTrackXEvent: function clickTrackXEvent(evnt) {
|
|
493
|
-
var $xeScrollbar = this;
|
|
494
|
-
var reactData = $xeScrollbar.reactData;
|
|
495
|
-
var trackEl = evnt.currentTarget;
|
|
496
|
-
if (trackEl !== evnt.target) {
|
|
497
|
-
return;
|
|
498
|
-
}
|
|
499
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
500
|
-
if (!viewEl) {
|
|
501
|
-
return;
|
|
502
|
-
}
|
|
503
|
-
var xThumbWidth = reactData.xThumbWidth;
|
|
504
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
505
|
-
viewEl.scrollTo({
|
|
506
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
507
|
-
behavior: 'auto'
|
|
508
|
-
});
|
|
509
|
-
},
|
|
510
|
-
clickTrackYEvent: function clickTrackYEvent(evnt) {
|
|
511
|
-
var $xeScrollbar = this;
|
|
512
|
-
var reactData = $xeScrollbar.reactData;
|
|
513
|
-
var trackEl = evnt.currentTarget;
|
|
514
|
-
if (trackEl !== evnt.target) {
|
|
515
|
-
return;
|
|
516
|
-
}
|
|
517
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
518
|
-
if (!viewEl) {
|
|
519
|
-
return;
|
|
520
|
-
}
|
|
521
|
-
var yThumbHeight = reactData.yThumbHeight;
|
|
522
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
523
|
-
viewEl.scrollTo({
|
|
524
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
525
|
-
behavior: 'auto'
|
|
526
|
-
});
|
|
527
|
-
},
|
|
528
|
-
pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
|
|
529
|
-
var $xeScrollbar = this;
|
|
530
|
-
var reactData = $xeScrollbar.reactData;
|
|
531
|
-
var internalData = $xeScrollbar.internalData;
|
|
532
|
-
var thumbEl = evnt.currentTarget;
|
|
533
|
-
internalData.isThumbDrag = true;
|
|
534
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
535
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
536
|
-
if (!viewEl) {
|
|
537
|
-
return;
|
|
538
|
-
}
|
|
539
|
-
var xThumbWidth = reactData.xThumbWidth;
|
|
540
|
-
var trackEl = thumbEl.parentElement;
|
|
541
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
542
|
-
var pointerPosition = evnt.clientX - trackRect.left;
|
|
543
|
-
// 记录 thumb 的偏移
|
|
544
|
-
var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
545
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
546
|
-
},
|
|
547
|
-
pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
|
|
548
|
-
var $xeScrollbar = this;
|
|
549
|
-
var reactData = $xeScrollbar.reactData;
|
|
550
|
-
var internalData = $xeScrollbar.internalData;
|
|
551
|
-
var isThumbDrag = internalData.isThumbDrag,
|
|
552
|
-
thumbDragOffset = internalData.thumbDragOffset;
|
|
553
|
-
if (isThumbDrag) {
|
|
554
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
555
|
-
if (!viewEl) {
|
|
556
|
-
return;
|
|
557
|
-
}
|
|
558
|
-
var xThumbWidth = reactData.xThumbWidth;
|
|
559
|
-
var thumbEl = evnt.currentTarget;
|
|
560
|
-
var trackEl = thumbEl.parentElement;
|
|
561
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
562
|
-
// 更新偏移
|
|
563
|
-
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
564
|
-
}
|
|
565
|
-
},
|
|
566
|
-
cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
|
|
567
|
-
var $xeScrollbar = this;
|
|
568
|
-
var internalData = $xeScrollbar.internalData;
|
|
569
|
-
var thumbEl = evnt.currentTarget;
|
|
570
|
-
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
571
|
-
internalData.isThumbDrag = false;
|
|
572
|
-
},
|
|
573
|
-
pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
|
|
574
|
-
var $xeScrollbar = this;
|
|
575
|
-
var reactData = $xeScrollbar.reactData;
|
|
576
|
-
var internalData = $xeScrollbar.internalData;
|
|
577
|
-
var thumbEl = evnt.currentTarget;
|
|
578
|
-
internalData.isThumbDrag = true;
|
|
579
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
580
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
581
|
-
if (!viewEl) {
|
|
582
|
-
return;
|
|
583
|
-
}
|
|
584
|
-
var yThumbHeight = reactData.yThumbHeight;
|
|
585
|
-
var trackEl = thumbEl.parentElement;
|
|
586
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
587
|
-
var pointerPosition = evnt.clientY - trackRect.top;
|
|
588
|
-
// 记录 thumb 的偏移
|
|
589
|
-
var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
590
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
591
|
-
},
|
|
592
|
-
pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
|
|
593
|
-
var $xeScrollbar = this;
|
|
594
|
-
var reactData = $xeScrollbar.reactData;
|
|
595
|
-
var internalData = $xeScrollbar.internalData;
|
|
596
|
-
var isThumbDrag = internalData.isThumbDrag,
|
|
597
|
-
thumbDragOffset = internalData.thumbDragOffset;
|
|
598
|
-
if (isThumbDrag) {
|
|
599
|
-
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
600
|
-
if (!viewEl) {
|
|
601
|
-
return;
|
|
602
|
-
}
|
|
603
|
-
var yThumbHeight = reactData.yThumbHeight;
|
|
604
|
-
var thumbEl = evnt.currentTarget;
|
|
605
|
-
var trackEl = thumbEl.parentElement;
|
|
606
|
-
var trackRect = trackEl.getBoundingClientRect();
|
|
607
|
-
// 更新偏移
|
|
608
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
609
|
-
}
|
|
610
|
-
},
|
|
611
440
|
//
|
|
612
441
|
// Render
|
|
613
442
|
//
|
|
@@ -761,18 +590,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
761
590
|
var viewEl = $xeScrollbar.$refs.refViewElem;
|
|
762
591
|
var viewInnerEl = $xeScrollbar.$refs.refViewInnerElem;
|
|
763
592
|
if (autoResize) {
|
|
764
|
-
var
|
|
593
|
+
var scrollObserver = globalResize.create(function () {
|
|
765
594
|
if (props.autoResize) {
|
|
766
595
|
$xeScrollbar.reFlag++;
|
|
767
596
|
}
|
|
768
597
|
});
|
|
769
598
|
if (viewEl) {
|
|
770
|
-
|
|
599
|
+
scrollObserver.observe(viewEl);
|
|
771
600
|
}
|
|
772
601
|
if (viewInnerEl) {
|
|
773
|
-
|
|
602
|
+
scrollObserver.observe(viewInnerEl);
|
|
774
603
|
}
|
|
775
|
-
internalData.
|
|
604
|
+
internalData.scrollObserver = scrollObserver;
|
|
776
605
|
}
|
|
777
606
|
$xeScrollbar.reFlag++;
|
|
778
607
|
globalEvents.on($xeScrollbar, 'resize', function () {
|
|
@@ -782,9 +611,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
782
611
|
beforeDestroy: function beforeDestroy() {
|
|
783
612
|
var $xeScrollbar = this;
|
|
784
613
|
var internalData = $xeScrollbar.internalData;
|
|
785
|
-
var
|
|
786
|
-
if (
|
|
787
|
-
|
|
614
|
+
var scrollObserver = internalData.scrollObserver;
|
|
615
|
+
if (scrollObserver) {
|
|
616
|
+
scrollObserver.disconnect();
|
|
788
617
|
}
|
|
789
618
|
globalEvents.off($xeScrollbar, 'resize');
|
|
790
619
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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}}var getConfig=_ui.VxeUI.getConfig,createEvent=_ui.VxeUI.createEvent,domUtils=_ui.VxeUI.domUtils,scrollbarUtils=_ui.VxeUI.scrollbarUtils,globalResize=_ui.VxeUI.globalResize,globalEvents=_ui.VxeUI.globalEvents,renderEmptyElement=_ui.VxeUI.renderEmptyElement,getThumbOffsetSize=scrollbarUtils.getThumbOffsetSize,getThumbSize=scrollbarUtils.getThumbSize,getScrollFromClick=scrollbarUtils.getScrollFromClick,getScrollFromDrag=scrollbarUtils.getScrollFromDrag;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],viewId:[String,Number],theme:{type:String,default:function(){return 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:function(){return getConfig().scrollbar.native}},padding:{type:Boolean,default:function(){return getConfig().scrollbar.padding}},autoHide:{type:Boolean,default:function(){return getConfig().scrollbar.autoHide}},visible:{type:Boolean,default:function(){return getConfig().scrollbar.visible}},xConfig:Object,yConfig:Object,className:{type:String,default:function(){return getConfig().scrollbar.className}},viewAttrs:{type:Object,default:function(){return getConfig().scrollbar.viewAttrs}},viewStyle:{type:Object,default:function(){return getConfig().scrollbar.viewStyle}},viewClassName:{type:String,default:function(){return getConfig().scrollbar.viewClassName}},viewInnerClassName:{type:String,default:function(){return getConfig().scrollbar.viewInnerClassName}},autoResize:{type:Boolean,default:function(){return getConfig().scrollbar.autoResize}},syncResize:[Boolean,String,Number]},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,reFlag:0})},computed:{computeWrapperStyle:function(){var e=this,t=e.width,i=e.height,r=e.minWidth,n=e.minHeight,l=e.maxWidth,o=e.maxHeight,s=e.computeYWidth,e=e.computeXHeight,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),i&&(a.height=(0,_dom.toCssUnit)(i)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),n&&(a.minHeight=(0,_dom.toCssUnit)(n)),l&&(a.maxWidth=(0,_dom.toCssUnit)(l)),o&&(a.maxHeight=(0,_dom.toCssUnit)(o)),(s||e)&&(a["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(s||e),a["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(e||s)),a},computeXHeight:function(){return this.computeXOpts.height},computeYWidth:function(){return this.computeYOpts.width},computeXVisible:function(){var e=this.visible,t=this.computeXOpts;return(0,_utils.getDefaultConfig)(t.visible,e)},computeYVisible:function(){var e=this.visible,t=this.computeYOpts;return(0,_utils.getDefaultConfig)(t.visible,e)},computeXAutoHide:function(){var e=this.autoHide,t=this.computeXOpts;return(0,_utils.getDefaultConfig)(t.autoHide,e)},computeYAutoHide:function(){var e=this.autoHide,t=this.computeYOpts;return(0,_utils.getDefaultConfig)(t.autoHide,e)},computeWrapperClss:function(){var e=this,t=e.reactData,i=e.native,r=e.theme,n=e.className,l=e.padding,o=t.yThumbHeight,t=t.xThumbWidth,s=e.computeXToTop,a=e.computeYToLeft,c=e.computeXVisible,u=e.computeYVisible,h=e.computeXAutoHide,e=e.computeYAutoHide;return domUtils.buildClass(["vxe-scrollbar",r?"theme--".concat(r):"","ov-x--".concat(!1===c?"hidden":"visible"),"ov-y--".concat(!1===u?"hidden":"visible"),"sx-pos--".concat(s?"top":"bottom"),"sy-pos--".concat(a?"left":"right"),i?"is--native":"is--virtual",n],{"is--padding":l,"ov-x--auto-hide":h,"ov-y--auto-hide":e,"overflow-y":o,"overflow-x":t})},computeViewClss:function(){var e=this.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])},computeViewInnerClss:function(){var e=this.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])},computeXOpts:function(){return Object.assign({},getConfig().scrollbar.xConfig,this.xConfig)},computeYOpts:function(){return Object.assign({},getConfig().scrollbar.yConfig,this.yConfig)},computeXToTop:function(){return"top"===this.computeXOpts.position},computeYToLeft:function(){return"left"===this.computeYOpts.position}},methods:{dispatchEvent:function(e,t,i){this.$emit(e,createEvent(i,{$scrollbar:this},t))},getViewElem:function(){return this.$refs.refViewElem||null},getViewInnerElem:function(){return this.$refs.refViewInnerElem||null},scrollTo:function(e,t){var i=this.$refs.refViewElem;i&&(_xeUtils.default.isNumber(e)?i.scrollTo(e,t||0):i.scrollTo(e))},scrollIntoView:function(){var e=this.$refs.refViewElem;e&&e.scrollIntoView()},setScrollTop:function(e){var t=this.$refs.refViewElem;t&&(t.scrollTop=e)},setScrollLeft:function(e){var t=this.$refs.refViewElem;t&&(t.scrollLeft=e)},getScrollTop:function(){var e=this.$refs.refViewElem;return e?e.scrollTop:0},getScrollLeft:function(){var e=this.$refs.refViewElem;return e?e.scrollLeft:0},clearScroll:function(){var e=this.$refs.refViewElem;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate:function(){return this.updateThumbSize(),this.updateThumbOffset(),this.$nextTick()},updateThumbSize:function(){var e,t,i=this,r=i.reactData,n=i.$refs.refViewElem;n&&n.clientHeight&&(t=(t=i.$refs.refTrackXElem)?getThumbSize(n.clientWidth,n.scrollWidth,t.clientWidth):0,(e=i.$refs.refThumbXElem)&&(e.style.width=t+"px"),r.xThumbWidth=t,t=(e=i.$refs.refTrackYElem)?getThumbSize(n.clientHeight,n.scrollHeight,e.clientHeight):0,(n=i.$refs.refThumbYElem)&&(n.style.height=t+"px"),r.yThumbHeight=t)},updateThumbOffset:function(){var e,t,i,r=this,n=r.reactData,l=r.internalData,o=r.$refs.refViewElem;o&&(e=n.xThumbWidth,n=n.yThumbHeight,i=r.$refs.refTrackXElem,t=r.$refs.refThumbXElem,i=i&&e?getThumbOffsetSize(o.scrollLeft,o.clientWidth,o.scrollWidth,i.clientWidth,e):0,l.xThumbLeft=i,t&&e&&(t.style.width=e+"px",t.style.transform="translateX(".concat(i,"px)")),e=r.$refs.refTrackYElem,t=r.$refs.refThumbYElem,i=e&&n?getThumbOffsetSize(o.scrollTop,o.clientHeight,o.scrollHeight,e.clientHeight,n):0,l.yThumbTop=i,t)&&n&&(t.style.height=n+"px",t.style.transform="translateY(".concat(i,"px)"))},scrollEvent:function(e){var t,i=this,r=i.reactData,n=i.internalData,l=r.xThumbWidth,r=r.yThumbHeight,o=n.lastScrollTop,s=n.lastScrollLeft,a=i.computeXOpts,c=e.currentTarget,u=c.scrollTop,h=c.scrollLeft,f=c.clientWidth,m=c.clientHeight,g=c.scrollHeight,c=c.scrollWidth,d="",p=!1,b=!1,v=!1,T=!1;o!==u&&(t=_xeUtils.default.toNumber(i.computeYOpts.threshold)||1,o<u?(d="bottom",0<r&&g-t<=u+m&&(b=!0)):(d="top",0<r&&u<=t&&(p=!0))),s!==h&&(o=_xeUtils.default.toNumber(a.threshold)||1,s<h?(d="right",0<l&&c-o<=h+f&&(T=!0)):(d="left",0<l&&h<=o&&(v=!0))),i.updateThumbOffset(),n.lastScrollTop=u,n.lastScrollLeft=h,(b||p||T||v)&&i.dispatchEvent("scroll-boundary",{direction:d,isTop:p,isBottom:b,isLeft:v,isRight:T,scrollTop:u,scrollLeft:h,clientWidth:f,clientHeight:m,scrollHeight:g,scrollWidth:c},e),i.dispatchEvent("scroll",{direction:d,isTop:0<r&&u<=0,isBottom:0<r&&g<=u+m,isLeft:0<l&&h<=0,isRight:0<l&&c<=h+f,scrollTop:u,scrollLeft:h,clientWidth:f,clientHeight:m,scrollHeight:g,scrollWidth:c},e)},clickTrackXEvent:function(e){var t,i,r=this.reactData,n=e.currentTarget;n===e.target&&(t=this.$refs.refViewElem)&&(r=r.xThumbWidth,i=n.getBoundingClientRect(),t.scrollTo({left:getScrollFromClick(e.clientX-i.left,t.clientWidth,t.scrollWidth,n.clientWidth,r),behavior:"auto"}))},clickTrackYEvent:function(e){var t,i,r=this.reactData,n=e.currentTarget;n===e.target&&(t=this.$refs.refViewElem)&&(r=r.yThumbHeight,i=n.getBoundingClientRect(),t.scrollTo({top:getScrollFromClick(e.clientY-i.top,t.clientHeight,t.scrollHeight,n.clientHeight,r),behavior:"auto"}))},pointerdownThumbXEvent:function(e){var t,i=this.reactData,r=this.internalData,n=e.currentTarget,l=(r.isThumbDrag=!0,n.setPointerCapture(e.pointerId),this.$refs.refViewElem);l&&(i=i.xThumbWidth,t=(n=n.parentElement).getBoundingClientRect(),e=e.clientX-t.left,t=getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,n.clientWidth,i),r.thumbDragOffset=e-t)},pointermoveThumbXEvent:function(e){var t,i,r=this.reactData,n=this.internalData,l=n.isThumbDrag,n=n.thumbDragOffset;l&&(l=this.$refs.refViewElem)&&(r=r.xThumbWidth,i=(t=e.currentTarget.parentElement).getBoundingClientRect(),l.scrollLeft=getScrollFromDrag(e.clientX-i.left,n,l.clientWidth,l.scrollWidth,t.clientWidth,r))},cleatPointerThumbEvent:function(e){var t=this.internalData;e.currentTarget.releasePointerCapture(e.pointerId),t.isThumbDrag=!1},pointerdownThumbYEvent:function(e){var t,i=this.reactData,r=this.internalData,n=e.currentTarget,l=(r.isThumbDrag=!0,n.setPointerCapture(e.pointerId),this.$refs.refViewElem);l&&(i=i.yThumbHeight,t=(n=n.parentElement).getBoundingClientRect(),e=e.clientY-t.top,t=getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,n.clientHeight,i),r.thumbDragOffset=e-t)},pointermoveThumbYEvent:function(e){var t,i,r=this.reactData,n=this.internalData,l=n.isThumbDrag,n=n.thumbDragOffset;l&&(l=this.$refs.refViewElem)&&(r=r.yThumbHeight,i=(t=e.currentTarget.parentElement).getBoundingClientRect(),l.scrollTop=getScrollFromDrag(e.clientY-i.top,n,l.clientHeight,l.scrollHeight,t.clientHeight,r))},renderVN:function(e){var t=this,i=t.$scopedSlots,r=t.id,n=t.native,l=t.loading,o=t.computeViewInnerClss,s=t.computeXVisible,a=t.computeYVisible,i=i.default;return e("div",{ref:"refElem",attrs:{id:r||null},class:t.computeWrapperClss,style:t.computeWrapperStyle},[e("div",{ref:"refViewElem",class:t.computeViewClss,style:t.viewStyle,attrs:Object.assign({id:t.viewId||null},t.viewAttrs),on:{scroll:t.scrollEvent}},[e("div",{key:"vi",ref:"refViewInnerElem",class:o},i?i({}):[])]),n||!1===s?renderEmptyElement(t):e("div",{ref:"refTrackXElem",class:"vxe-scrollbar--track-x",on:{click:t.clickTrackXEvent}},[e("div",{ref:"refThumbXElem",class:"vxe-scrollbar--thumb-x",on:{pointerdown:t.pointerdownThumbXEvent,pointermove:t.pointermoveThumbXEvent,pointerup:t.cleatPointerThumbEvent,pointercancel:t.cleatPointerThumbEvent,lostpointercapture:t.cleatPointerThumbEvent}})]),n||!1===a?renderEmptyElement(t):e("div",{ref:"refTrackYElem",class:"vxe-scrollbar--track-y",on:{click:t.clickTrackYEvent}},[e("div",{ref:"refThumbYElem",class:"vxe-scrollbar--thumb-y",on:{pointerdown:t.pointerdownThumbYEvent,pointermove:t.pointermoveThumbYEvent,pointerup:t.cleatPointerThumbEvent,pointercancel:t.cleatPointerThumbEvent,lostpointercapture:t.cleatPointerThumbEvent}})]),e(_loading.default,{class:"vxe-scrollbar--loading",props:{value:l}})])}},watch:{height:function(){this.reFlag++},width:function(){this.reFlag++},minHeight:function(){this.reFlag++},minWidth:function(){this.reFlag++},maxHeight:function(){this.reFlag++},maxWidth:function(){this.reFlag++},native:function(){this.reFlag++},syncResize:function(){this.reFlag++},computeYWidth:function(){this.reFlag++},computeXHeight:function(){this.reFlag++},computeXVisible:function(){var e=this;e.$nextTick(function(){e.reFlag++})},computeYVisible:function(){var e=this;e.$nextTick(function(){e.reFlag++})},reFlag:function(){var e=this;e.recalculate().then(function(){e.recalculate()})}},created:function(){this.internalData=createInternalData()},mounted:function(){var e=this,t=e,i=e.internalData,r=t.autoResize,n=e.$refs.refViewElem,l=e.$refs.refViewInnerElem;r&&(r=globalResize.create(function(){t.autoResize&&e.reFlag++}),n&&r.observe(n),l&&r.observe(l),i.resizeObserver=r),e.reFlag++,globalEvents.on(e,"resize",function(){e.reFlag++})},beforeDestroy:function(){var e=this.internalData.resizeObserver;e&&e.disconnect(),globalEvents.off(this,"resize")},destroyed:function(){var e=this.reactData,t=this.internalData;_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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}}var getConfig=_ui.VxeUI.getConfig,createEvent=_ui.VxeUI.createEvent,domUtils=_ui.VxeUI.domUtils,globalResize=_ui.VxeUI.globalResize,globalEvents=_ui.VxeUI.globalEvents,renderEmptyElement=_ui.VxeUI.renderEmptyElement;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.initVScrollbarMixin],props:{id:[String,Number],viewId:[String,Number],theme:{type:String,default:function(){return 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:function(){return getConfig().scrollbar.native}},padding:{type:Boolean,default:function(){return getConfig().scrollbar.padding}},autoHide:{type:Boolean,default:function(){return getConfig().scrollbar.autoHide}},visible:{type:Boolean,default:function(){return getConfig().scrollbar.visible}},xConfig:Object,yConfig:Object,className:{type:String,default:function(){return getConfig().scrollbar.className}},viewAttrs:{type:Object,default:function(){return getConfig().scrollbar.viewAttrs}},viewStyle:{type:Object,default:function(){return getConfig().scrollbar.viewStyle}},viewClassName:{type:String,default:function(){return getConfig().scrollbar.viewClassName}},viewInnerClassName:{type:String,default:function(){return getConfig().scrollbar.viewInnerClassName}},size:{type:String,default:function(){return getConfig().scrollbar.size||getConfig().size}},autoResize:{type:Boolean,default:function(){return getConfig().scrollbar.autoResize}},syncResize:[Boolean,String,Number]},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,reFlag:0})},computed:Object.assign(Object.assign({},{}),{computeWrapperStyle:function(){var e=this,t=e.width,i=e.height,r=e.minWidth,n=e.minHeight,o=e.maxWidth,l=e.maxHeight,s=e.computeYWidth,e=e.computeXHeight,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),i&&(a.height=(0,_dom.toCssUnit)(i)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),n&&(a.minHeight=(0,_dom.toCssUnit)(n)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),l&&(a.maxHeight=(0,_dom.toCssUnit)(l)),(s||e)&&(a["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(s||e),a["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(e||s)),a},computeXHeight:function(){return this.computeXOpts.height},computeYWidth:function(){return this.computeYOpts.width},computeXVisible:function(){var e=this.visible,t=this.computeXOpts;return(0,_utils.getDefaultConfig)(t.visible,e)},computeYVisible:function(){var e=this.visible,t=this.computeYOpts;return(0,_utils.getDefaultConfig)(t.visible,e)},computeXAutoHide:function(){var e=this.autoHide,t=this.computeXOpts;return(0,_utils.getDefaultConfig)(t.autoHide,e)},computeYAutoHide:function(){var e=this.autoHide,t=this.computeYOpts;return(0,_utils.getDefaultConfig)(t.autoHide,e)},computeWrapperClss:function(){var e=this,t=e.reactData,i=e.native,r=e.theme,n=e.className,o=e.padding,l=t.yThumbHeight,t=t.xThumbWidth,s=e.computeSize,a=e.computeXToTop,c=e.computeYToLeft,u=e.computeXVisible,f=e.computeYVisible,m=e.computeXAutoHide,e=e.computeYAutoHide;return domUtils.buildClass(["vxe-scrollbar",s?"size--".concat(s):"",r?"theme--".concat(r):"","ov-x--".concat(!1===u?"hidden":"visible"),"ov-y--".concat(!1===f?"hidden":"visible"),"sx-pos--".concat(a?"top":"bottom"),"sy-pos--".concat(c?"left":"right"),i?"is--native":"is--virtual",n],{"is--padding":o,"ov-x--auto-hide":m,"ov-y--auto-hide":e,"overflow-y":l,"overflow-x":t})},computeViewClss:function(){var e=this.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])},computeViewInnerClss:function(){var e=this.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])},computeXOpts:function(){return Object.assign({},getConfig().scrollbar.xConfig,this.xConfig)},computeYOpts:function(){return Object.assign({},getConfig().scrollbar.yConfig,this.yConfig)},computeXToTop:function(){return"top"===this.computeXOpts.position},computeYToLeft:function(){return"left"===this.computeYOpts.position}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,createEvent(i,{$scrollbar:this},t))},getScrollViewElem:function(){return this.$refs.refViewElem||null},getScrollViewInnerElem:function(){return this.$refs.refViewInnerElem||null},scrollTo:function(e,t){var i=this.$refs.refViewElem;i&&(_xeUtils.default.isNumber(e)?i.scrollTo(e,t||0):i.scrollTo(e))},scrollIntoView:function(){var e=this.$refs.refViewElem;e&&e.scrollIntoView()},setScrollTop:function(e){var t=this.$refs.refViewElem;t&&(t.scrollTop=e)},setScrollLeft:function(e){var t=this.$refs.refViewElem;t&&(t.scrollLeft=e)},getScrollTop:function(){var e=this.$refs.refViewElem;return e?e.scrollTop:0},getScrollLeft:function(){var e=this.$refs.refViewElem;return e?e.scrollLeft:0},clearScroll:function(){var e=this.$refs.refViewElem;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate:function(){return this.updateThumbSize(),this.updateThumbOffset(),this.$nextTick()},scrollEvent:function(e){var t,i=this,r=i.reactData,n=i.internalData,o=r.xThumbWidth,r=r.yThumbHeight,l=n.lastScrollTop,s=n.lastScrollLeft,a=i.computeXOpts,c=e.currentTarget,u=c.scrollTop,f=c.scrollLeft,m=c.clientWidth,h=c.clientHeight,d=c.scrollHeight,c=c.scrollWidth,p="",g=!1,v=!1,b=!1,x=!1;l!==u&&(t=_xeUtils.default.toNumber(i.computeYOpts.threshold)||1,l<u?(p="bottom",0<r&&d-t<=u+h&&(v=!0)):(p="top",0<r&&u<=t&&(g=!0))),s!==f&&(l=_xeUtils.default.toNumber(a.threshold)||1,s<f?(p="right",0<o&&c-l<=f+m&&(x=!0)):(p="left",0<o&&f<=l&&(b=!0))),i.updateThumbOffset(),n.lastScrollTop=u,n.lastScrollLeft=f,(v||g||x||b)&&i.dispatchEvent("scroll-boundary",{direction:p,isTop:g,isBottom:v,isLeft:b,isRight:x,scrollTop:u,scrollLeft:f,clientWidth:m,clientHeight:h,scrollHeight:d,scrollWidth:c},e),i.dispatchEvent("scroll",{direction:p,isTop:0<r&&u<=0,isBottom:0<r&&d<=u+h,isLeft:0<o&&f<=0,isRight:0<o&&c<=f+m,scrollTop:u,scrollLeft:f,clientWidth:m,clientHeight:h,scrollHeight:d,scrollWidth:c},e)},renderVN:function(e){var t=this,i=t.$scopedSlots,r=t.id,n=t.native,o=t.loading,l=t.computeViewInnerClss,s=t.computeXVisible,a=t.computeYVisible,i=i.default;return e("div",{ref:"refElem",attrs:{id:r||null},class:t.computeWrapperClss,style:t.computeWrapperStyle},[e("div",{ref:"refViewElem",class:t.computeViewClss,style:t.viewStyle,attrs:Object.assign({id:t.viewId||null},t.viewAttrs),on:{scroll:t.scrollEvent}},[e("div",{key:"vi",ref:"refViewInnerElem",class:l},i?i({}):[])]),n||!1===s?renderEmptyElement(t):e("div",{ref:"refTrackXElem",class:"vxe-scrollbar--track-x",on:{click:t.clickTrackXEvent}},[e("div",{ref:"refThumbXElem",class:"vxe-scrollbar--thumb-x",on:{pointerdown:t.pointerdownThumbXEvent,pointermove:t.pointermoveThumbXEvent,pointerup:t.cleatPointerThumbEvent,pointercancel:t.cleatPointerThumbEvent,lostpointercapture:t.cleatPointerThumbEvent}})]),n||!1===a?renderEmptyElement(t):e("div",{ref:"refTrackYElem",class:"vxe-scrollbar--track-y",on:{click:t.clickTrackYEvent}},[e("div",{ref:"refThumbYElem",class:"vxe-scrollbar--thumb-y",on:{pointerdown:t.pointerdownThumbYEvent,pointermove:t.pointermoveThumbYEvent,pointerup:t.cleatPointerThumbEvent,pointercancel:t.cleatPointerThumbEvent,lostpointercapture:t.cleatPointerThumbEvent}})]),e(_loading.default,{class:"vxe-scrollbar--loading",props:{value:o}})])}},watch:{height:function(){this.reFlag++},width:function(){this.reFlag++},minHeight:function(){this.reFlag++},minWidth:function(){this.reFlag++},maxHeight:function(){this.reFlag++},maxWidth:function(){this.reFlag++},native:function(){this.reFlag++},syncResize:function(){this.reFlag++},computeYWidth:function(){this.reFlag++},computeXHeight:function(){this.reFlag++},computeXVisible:function(){var e=this;e.$nextTick(function(){e.reFlag++})},computeYVisible:function(){var e=this;e.$nextTick(function(){e.reFlag++})},reFlag:function(){var e=this;e.recalculate().then(function(){e.recalculate()})}},created:function(){this.internalData=createInternalData()},mounted:function(){var e=this,t=e,i=e.internalData,r=t.autoResize,n=e.$refs.refViewElem,o=e.$refs.refViewInnerElem;r&&(r=globalResize.create(function(){t.autoResize&&e.reFlag++}),n&&r.observe(n),o&&r.observe(o),i.scrollObserver=r),e.reFlag++,globalEvents.on(e,"resize",function(){e.reFlag++})},beforeDestroy:function(){var e=this.internalData.scrollObserver;e&&e.disconnect(),globalEvents.off(this,"resize")},destroyed:function(){var e=this.reactData,t=this.internalData;_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|