vxe-pc-ui 3.19.8 → 3.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +354 -17
- package/es/list/style.css +26 -0
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/style.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +9 -0
- package/es/vxe-list/style.css +26 -0
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +1 -0
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +348 -19
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +340 -20
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +26 -0
- package/lib/list/style/style.min.css +1 -1
- package/lib/scrollbar/style/style.css +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +10 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-list/style/style.css +26 -0
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +1 -0
- package/package.json +1 -1
- package/packages/list/src/list.ts +382 -19
- package/packages/ui/src/utils.ts +10 -0
- package/styles/components/list.scss +51 -0
- package/styles/components/scrollbar.scss +3 -0
- package/types/components/card.d.ts +1 -1
- package/types/components/layout-aside.d.ts +1 -1
- package/types/components/layout-body.d.ts +1 -1
- package/types/components/list.d.ts +24 -2
- package/types/components/table-plugins/extend-cell-area.d.ts +1 -1
- package/types/components/table.d.ts +24 -0
- package/types/components/tabs.d.ts +1 -1
- /package/es/icon/{iconfont.1791862954819.ttf → iconfont.1791880407207.ttf} +0 -0
- /package/es/icon/{iconfont.1791862954819.woff → iconfont.1791880407207.woff} +0 -0
- /package/es/icon/{iconfont.1791862954819.woff2 → iconfont.1791880407207.woff2} +0 -0
- /package/es/{iconfont.1791862954819.ttf → iconfont.1791880407207.ttf} +0 -0
- /package/es/{iconfont.1791862954819.woff → iconfont.1791880407207.woff} +0 -0
- /package/es/{iconfont.1791862954819.woff2 → iconfont.1791880407207.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.ttf → iconfont.1791880407207.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.woff → iconfont.1791880407207.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791862954819.woff2 → iconfont.1791880407207.woff2} +0 -0
- /package/lib/{iconfont.1791862954819.ttf → iconfont.1791880407207.ttf} +0 -0
- /package/lib/{iconfont.1791862954819.woff → iconfont.1791880407207.woff} +0 -0
- /package/lib/{iconfont.1791862954819.woff2 → iconfont.1791880407207.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -13347,7 +13347,7 @@ var es_array_filter = __webpack_require__(2008);
|
|
|
13347
13347
|
|
|
13348
13348
|
|
|
13349
13349
|
var log_log = VxeUI.log;
|
|
13350
|
-
var uiVersion = "ui v".concat("3.
|
|
13350
|
+
var uiVersion = "ui v".concat("3.20.0");
|
|
13351
13351
|
function createComponentLog(name) {
|
|
13352
13352
|
var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
|
|
13353
13353
|
var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
|
|
@@ -13367,7 +13367,7 @@ var errLog = log_log.create('error', uiVersion);
|
|
|
13367
13367
|
|
|
13368
13368
|
|
|
13369
13369
|
|
|
13370
|
-
var ui_version = "3.
|
|
13370
|
+
var ui_version = "3.20.0";
|
|
13371
13371
|
VxeUI.uiVersion = ui_version;
|
|
13372
13372
|
VxeUI.dynamicApp = dynamicApp;
|
|
13373
13373
|
function config(options) {
|
|
@@ -16188,6 +16188,15 @@ var Avatar = VxeAvatar;
|
|
|
16188
16188
|
function isEnableConf(conf) {
|
|
16189
16189
|
return conf && conf.enabled !== false;
|
|
16190
16190
|
}
|
|
16191
|
+
/**
|
|
16192
|
+
* 用于开关类型的配置项
|
|
16193
|
+
* 局部启用规则:conf={}
|
|
16194
|
+
* 局部禁用规则:conf={enabled:false}
|
|
16195
|
+
* 全局默认启用规则:conf.enabled=true
|
|
16196
|
+
*/
|
|
16197
|
+
function hasEnableConf(conf, opts) {
|
|
16198
|
+
return opts && (conf ? opts.enabled !== false : opts.enabled);
|
|
16199
|
+
}
|
|
16191
16200
|
function nextZIndex() {
|
|
16192
16201
|
return index_esm.getNext();
|
|
16193
16202
|
}
|
|
@@ -22572,6 +22581,7 @@ function getItemCacheObj(item) {
|
|
|
22572
22581
|
|
|
22573
22582
|
|
|
22574
22583
|
|
|
22584
|
+
|
|
22575
22585
|
|
|
22576
22586
|
|
|
22577
22587
|
var list_createComponentLog = createComponentLog('tree'),
|
|
@@ -22607,6 +22617,9 @@ function list_createReactData() {
|
|
|
22607
22617
|
updateCheckboxFlag: 1,
|
|
22608
22618
|
isAllChecked: false,
|
|
22609
22619
|
isAllIndeterminate: false,
|
|
22620
|
+
// 滚动条
|
|
22621
|
+
yThumbHeight: 0,
|
|
22622
|
+
xThumbWidth: 0,
|
|
22610
22623
|
insertRowFlag: 1,
|
|
22611
22624
|
removeRowFlag: 1,
|
|
22612
22625
|
dragRow: null,
|
|
@@ -22616,13 +22629,18 @@ function list_createReactData() {
|
|
|
22616
22629
|
}
|
|
22617
22630
|
function list_createInternalData() {
|
|
22618
22631
|
return {
|
|
22619
|
-
resizeObserver: undefined,
|
|
22620
22632
|
fullData: [],
|
|
22621
22633
|
afterList: [],
|
|
22622
22634
|
fullKeyMaps: {},
|
|
22623
22635
|
rowMaps: {},
|
|
22624
|
-
|
|
22636
|
+
// 滚动条
|
|
22637
|
+
// resizeObserver: undefined,
|
|
22638
|
+
// isThumbDrag: false,
|
|
22639
|
+
thumbDragOffset: 0,
|
|
22640
|
+
yThumbTop: 0,
|
|
22641
|
+
xThumbLeft: 0,
|
|
22625
22642
|
lastScrollTop: 0,
|
|
22643
|
+
lastScrollLeft: 0,
|
|
22626
22644
|
scrollYStore: {
|
|
22627
22645
|
startIndex: 0,
|
|
22628
22646
|
endIndex: 0,
|
|
@@ -22686,7 +22704,14 @@ function list_createInternalData() {
|
|
|
22686
22704
|
dragConfig: Object,
|
|
22687
22705
|
menuConfig: Object,
|
|
22688
22706
|
virtualYConfig: Object,
|
|
22689
|
-
scrollY: Object
|
|
22707
|
+
scrollY: Object,
|
|
22708
|
+
useScrollbar: {
|
|
22709
|
+
type: Boolean,
|
|
22710
|
+
default: function _default() {
|
|
22711
|
+
return getConfig().list.useScrollbar;
|
|
22712
|
+
}
|
|
22713
|
+
},
|
|
22714
|
+
scrollbarConfig: Object
|
|
22690
22715
|
},
|
|
22691
22716
|
data: function data() {
|
|
22692
22717
|
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
|
|
@@ -22755,11 +22780,19 @@ function list_createInternalData() {
|
|
|
22755
22780
|
computeWrapperStyles: function computeWrapperStyles() {
|
|
22756
22781
|
var $xeList = this;
|
|
22757
22782
|
var rowHeight = $xeList.computeRowHeight;
|
|
22758
|
-
var
|
|
22783
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
22784
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
22785
|
+
var stys = {};
|
|
22759
22786
|
if (rowHeight) {
|
|
22760
|
-
|
|
22787
|
+
stys['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
|
|
22761
22788
|
}
|
|
22762
|
-
|
|
22789
|
+
if (scrollbarYOpts.width) {
|
|
22790
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(scrollbarYOpts.width);
|
|
22791
|
+
}
|
|
22792
|
+
if (scrollbarXOpts.height) {
|
|
22793
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(scrollbarXOpts.height);
|
|
22794
|
+
}
|
|
22795
|
+
return stys;
|
|
22763
22796
|
},
|
|
22764
22797
|
computeVirtualStyles: function computeVirtualStyles() {
|
|
22765
22798
|
var $xeList = this;
|
|
@@ -22779,6 +22812,50 @@ function list_createInternalData() {
|
|
|
22779
22812
|
style.maxHeight = toCssUnit(Math.max(20, customMaxHeight - headHeight - footHeight));
|
|
22780
22813
|
}
|
|
22781
22814
|
return style;
|
|
22815
|
+
},
|
|
22816
|
+
computeScrollbarOpts: function computeScrollbarOpts() {
|
|
22817
|
+
var $xeList = this;
|
|
22818
|
+
var props = $xeList;
|
|
22819
|
+
return Object.assign({}, getConfig().list.scrollbarConfig, props.scrollbarConfig);
|
|
22820
|
+
},
|
|
22821
|
+
computeScrollbarXOpts: function computeScrollbarXOpts() {
|
|
22822
|
+
var $xeList = this;
|
|
22823
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
22824
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig);
|
|
22825
|
+
},
|
|
22826
|
+
computeScrollbarYOpts: function computeScrollbarYOpts() {
|
|
22827
|
+
var $xeList = this;
|
|
22828
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
22829
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
22830
|
+
},
|
|
22831
|
+
computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
|
|
22832
|
+
var $xeList = this;
|
|
22833
|
+
var reactData = $xeList.reactData;
|
|
22834
|
+
var scrollbarOpts = $xeList.computeScrollbarOpts;
|
|
22835
|
+
var padding = scrollbarOpts.padding;
|
|
22836
|
+
var yThumbHeight = reactData.yThumbHeight,
|
|
22837
|
+
xThumbWidth = reactData.xThumbWidth;
|
|
22838
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
22839
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
22840
|
+
var scrollbarXToTop = $xeList.computeScrollbarXToTop;
|
|
22841
|
+
var scrollbarYToLeft = $xeList.computeScrollbarYToLeft;
|
|
22842
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollbarXOpts.visible || 'visible'), "ov-y--".concat(scrollbarYOpts.visible || 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
|
|
22843
|
+
'is--padding': padding,
|
|
22844
|
+
'ov-x--auto-hide': scrollbarXOpts.autoHide,
|
|
22845
|
+
'ov-y--auto-hide': scrollbarYOpts.autoHide,
|
|
22846
|
+
'overflow-y': yThumbHeight,
|
|
22847
|
+
'overflow-x': xThumbWidth
|
|
22848
|
+
});
|
|
22849
|
+
},
|
|
22850
|
+
computeScrollbarXToTop: function computeScrollbarXToTop() {
|
|
22851
|
+
var $xeList = this;
|
|
22852
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
22853
|
+
return scrollbarXOpts.position === 'top';
|
|
22854
|
+
},
|
|
22855
|
+
computeScrollbarYToLeft: function computeScrollbarYToLeft() {
|
|
22856
|
+
var $xeList = this;
|
|
22857
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
22858
|
+
return scrollbarYOpts.position === 'left';
|
|
22782
22859
|
}
|
|
22783
22860
|
}),
|
|
22784
22861
|
methods: {
|
|
@@ -23117,6 +23194,11 @@ function list_createInternalData() {
|
|
|
23117
23194
|
}
|
|
23118
23195
|
});
|
|
23119
23196
|
},
|
|
23197
|
+
updateScrollbar: function updateScrollbar() {
|
|
23198
|
+
var $xeList = this;
|
|
23199
|
+
$xeList.updateThumbSize();
|
|
23200
|
+
$xeList.updateThumbOffset();
|
|
23201
|
+
},
|
|
23120
23202
|
/**
|
|
23121
23203
|
* 重新计算列表
|
|
23122
23204
|
*/
|
|
@@ -23136,6 +23218,7 @@ function list_createInternalData() {
|
|
|
23136
23218
|
parentHeight = parentEl.clientHeight - Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingLeft) + external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingRight));
|
|
23137
23219
|
}
|
|
23138
23220
|
reactData.parentHeight = parentHeight;
|
|
23221
|
+
$xeList.updateScrollbar();
|
|
23139
23222
|
$xeList.updateHeight();
|
|
23140
23223
|
if (el.clientWidth && el.clientHeight) {
|
|
23141
23224
|
return $xeList.computeScrollLoad();
|
|
@@ -23174,6 +23257,7 @@ function list_createInternalData() {
|
|
|
23174
23257
|
var scrollLeft = scrollBodyElem.scrollLeft;
|
|
23175
23258
|
var isX = scrollLeft !== internalData.lastScrollLeft;
|
|
23176
23259
|
var isY = scrollTop !== internalData.lastScrollTop;
|
|
23260
|
+
$xeList.updateThumbOffset();
|
|
23177
23261
|
internalData.lastScrollTop = scrollTop;
|
|
23178
23262
|
internalData.lastScrollLeft = scrollLeft;
|
|
23179
23263
|
if (reactData.scrollYLoad) {
|
|
@@ -24533,6 +24617,189 @@ function list_createInternalData() {
|
|
|
24533
24617
|
row: row
|
|
24534
24618
|
}, evnt);
|
|
24535
24619
|
},
|
|
24620
|
+
// 滚动条
|
|
24621
|
+
updateThumbSize: function updateThumbSize() {
|
|
24622
|
+
var $xeList = this;
|
|
24623
|
+
var reactData = $xeList.reactData;
|
|
24624
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24625
|
+
if (!viewEl) {
|
|
24626
|
+
return;
|
|
24627
|
+
}
|
|
24628
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
24629
|
+
return;
|
|
24630
|
+
}
|
|
24631
|
+
var trackXEl = $xeList.$refs.refTrackXElem;
|
|
24632
|
+
var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
24633
|
+
var thumbXElem = $xeList.$refs.refThumbXElem;
|
|
24634
|
+
if (thumbXElem) {
|
|
24635
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
24636
|
+
}
|
|
24637
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
24638
|
+
var trackYEl = $xeList.$refs.refTrackYElem;
|
|
24639
|
+
var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
24640
|
+
var thumbYElem = $xeList.$refs.refThumbYElem;
|
|
24641
|
+
if (thumbYElem) {
|
|
24642
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
24643
|
+
}
|
|
24644
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
24645
|
+
},
|
|
24646
|
+
updateThumbOffset: function updateThumbOffset() {
|
|
24647
|
+
var $xeList = this;
|
|
24648
|
+
var reactData = $xeList.reactData;
|
|
24649
|
+
var internalData = $xeList.internalData;
|
|
24650
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24651
|
+
if (!viewEl) {
|
|
24652
|
+
return;
|
|
24653
|
+
}
|
|
24654
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
24655
|
+
return;
|
|
24656
|
+
}
|
|
24657
|
+
var xThumbWidth = reactData.xThumbWidth,
|
|
24658
|
+
yThumbHeight = reactData.yThumbHeight;
|
|
24659
|
+
var trackXEl = $xeList.$refs.refTrackXElem;
|
|
24660
|
+
var thumbXElem = $xeList.$refs.refThumbXElem;
|
|
24661
|
+
var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
24662
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
24663
|
+
if (thumbXElem && xThumbWidth) {
|
|
24664
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
24665
|
+
thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
|
|
24666
|
+
}
|
|
24667
|
+
var trackYEl = $xeList.$refs.refTrackYElem;
|
|
24668
|
+
var thumbYElem = $xeList.$refs.refThumbYElem;
|
|
24669
|
+
var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
24670
|
+
internalData.yThumbTop = yThumbTop;
|
|
24671
|
+
if (thumbYElem && yThumbHeight) {
|
|
24672
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
24673
|
+
thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
|
|
24674
|
+
}
|
|
24675
|
+
},
|
|
24676
|
+
clickTrackXEvent: function clickTrackXEvent(evnt) {
|
|
24677
|
+
var $xeList = this;
|
|
24678
|
+
var reactData = $xeList.reactData;
|
|
24679
|
+
var trackEl = evnt.currentTarget;
|
|
24680
|
+
if (trackEl !== evnt.target) {
|
|
24681
|
+
return;
|
|
24682
|
+
}
|
|
24683
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24684
|
+
if (!viewEl) {
|
|
24685
|
+
return;
|
|
24686
|
+
}
|
|
24687
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
24688
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24689
|
+
viewEl.scrollTo({
|
|
24690
|
+
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
24691
|
+
behavior: 'auto'
|
|
24692
|
+
});
|
|
24693
|
+
},
|
|
24694
|
+
clickTrackYEvent: function clickTrackYEvent(evnt) {
|
|
24695
|
+
var $xeList = this;
|
|
24696
|
+
var reactData = $xeList.reactData;
|
|
24697
|
+
var trackEl = evnt.currentTarget;
|
|
24698
|
+
if (trackEl !== evnt.target) {
|
|
24699
|
+
return;
|
|
24700
|
+
}
|
|
24701
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24702
|
+
if (!viewEl) {
|
|
24703
|
+
return;
|
|
24704
|
+
}
|
|
24705
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
24706
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24707
|
+
viewEl.scrollTo({
|
|
24708
|
+
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
24709
|
+
behavior: 'auto'
|
|
24710
|
+
});
|
|
24711
|
+
},
|
|
24712
|
+
pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
|
|
24713
|
+
var $xeList = this;
|
|
24714
|
+
var reactData = $xeList.reactData;
|
|
24715
|
+
var internalData = $xeList.internalData;
|
|
24716
|
+
var thumbEl = evnt.currentTarget;
|
|
24717
|
+
internalData.isThumbDrag = true;
|
|
24718
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
24719
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24720
|
+
if (!viewEl) {
|
|
24721
|
+
return;
|
|
24722
|
+
}
|
|
24723
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
24724
|
+
var trackEl = thumbEl.parentElement;
|
|
24725
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24726
|
+
var pointerPosition = evnt.clientX - trackRect.left;
|
|
24727
|
+
// 记录 thumb 的偏移
|
|
24728
|
+
var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
24729
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
24730
|
+
},
|
|
24731
|
+
pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
|
|
24732
|
+
var $xeList = this;
|
|
24733
|
+
var reactData = $xeList.reactData;
|
|
24734
|
+
var internalData = $xeList.internalData;
|
|
24735
|
+
var thumbEl = evnt.currentTarget;
|
|
24736
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
24737
|
+
return;
|
|
24738
|
+
}
|
|
24739
|
+
var isThumbDrag = internalData.isThumbDrag,
|
|
24740
|
+
thumbDragOffset = internalData.thumbDragOffset;
|
|
24741
|
+
if (isThumbDrag) {
|
|
24742
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24743
|
+
if (!viewEl) {
|
|
24744
|
+
return;
|
|
24745
|
+
}
|
|
24746
|
+
var xThumbWidth = reactData.xThumbWidth;
|
|
24747
|
+
var _thumbEl = evnt.currentTarget;
|
|
24748
|
+
var trackEl = _thumbEl.parentElement;
|
|
24749
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24750
|
+
// 更新偏移
|
|
24751
|
+
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
24752
|
+
}
|
|
24753
|
+
},
|
|
24754
|
+
cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
|
|
24755
|
+
var $xeList = this;
|
|
24756
|
+
var internalData = $xeList.internalData;
|
|
24757
|
+
var thumbEl = evnt.currentTarget;
|
|
24758
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
24759
|
+
internalData.isThumbDrag = false;
|
|
24760
|
+
},
|
|
24761
|
+
pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
|
|
24762
|
+
var $xeList = this;
|
|
24763
|
+
var reactData = $xeList.reactData;
|
|
24764
|
+
var internalData = $xeList.internalData;
|
|
24765
|
+
var thumbEl = evnt.currentTarget;
|
|
24766
|
+
internalData.isThumbDrag = true;
|
|
24767
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
24768
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24769
|
+
if (!viewEl) {
|
|
24770
|
+
return;
|
|
24771
|
+
}
|
|
24772
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
24773
|
+
var trackEl = thumbEl.parentElement;
|
|
24774
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24775
|
+
var pointerPosition = evnt.clientY - trackRect.top;
|
|
24776
|
+
// 记录 thumb 的偏移
|
|
24777
|
+
var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
24778
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
24779
|
+
},
|
|
24780
|
+
pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
|
|
24781
|
+
var $xeList = this;
|
|
24782
|
+
var reactData = $xeList.reactData;
|
|
24783
|
+
var internalData = $xeList.internalData;
|
|
24784
|
+
var thumbEl = evnt.currentTarget;
|
|
24785
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
24786
|
+
return;
|
|
24787
|
+
}
|
|
24788
|
+
var isThumbDrag = internalData.isThumbDrag,
|
|
24789
|
+
thumbDragOffset = internalData.thumbDragOffset;
|
|
24790
|
+
if (isThumbDrag) {
|
|
24791
|
+
var viewEl = $xeList.$refs.refVirtualWrapper;
|
|
24792
|
+
if (!viewEl) {
|
|
24793
|
+
return;
|
|
24794
|
+
}
|
|
24795
|
+
var yThumbHeight = reactData.yThumbHeight;
|
|
24796
|
+
var _thumbEl2 = evnt.currentTarget;
|
|
24797
|
+
var trackEl = _thumbEl2.parentElement;
|
|
24798
|
+
var trackRect = trackEl.getBoundingClientRect();
|
|
24799
|
+
// 更新偏移
|
|
24800
|
+
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
24801
|
+
}
|
|
24802
|
+
},
|
|
24536
24803
|
//
|
|
24537
24804
|
// Render
|
|
24538
24805
|
//
|
|
@@ -24769,7 +25036,8 @@ function list_createInternalData() {
|
|
|
24769
25036
|
var slots = $xeList.$scopedSlots;
|
|
24770
25037
|
var showCheckbox = props.showCheckbox,
|
|
24771
25038
|
className = props.className,
|
|
24772
|
-
loading = props.loading
|
|
25039
|
+
loading = props.loading,
|
|
25040
|
+
useScrollbar = props.useScrollbar;
|
|
24773
25041
|
var bodyHeight = reactData.bodyHeight,
|
|
24774
25042
|
topSpaceHeight = reactData.topSpaceHeight,
|
|
24775
25043
|
rowList = reactData.rowList,
|
|
@@ -24789,6 +25057,10 @@ function list_createInternalData() {
|
|
|
24789
25057
|
var rowOpts = $xeList.computeRowOpts;
|
|
24790
25058
|
var isHover = rowOpts.isHover,
|
|
24791
25059
|
padding = rowOpts.padding;
|
|
25060
|
+
var isDrag = $xeList.computeIsDrag;
|
|
25061
|
+
var scrollbarXOpts = $xeList.computeScrollbarXOpts;
|
|
25062
|
+
var scrollbarYOpts = $xeList.computeScrollbarYOpts;
|
|
25063
|
+
var scrollbarWrapperClss = $xeList.computeScrollbarWrapperClss;
|
|
24792
25064
|
var showDefChekboxHead = showCheckbox && checkboxOpts.showHeader !== false;
|
|
24793
25065
|
var leOns = {};
|
|
24794
25066
|
if (isCrossListDrag && !rowList.length) {
|
|
@@ -24798,7 +25070,7 @@ function list_createInternalData() {
|
|
|
24798
25070
|
ref: 'refElem',
|
|
24799
25071
|
class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
24800
25072
|
$list: $xeList
|
|
24801
|
-
}) : className : '', _defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--loading', loading)],
|
|
25073
|
+
}) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', useScrollbar), 'ov-x--auto-hide', useScrollbar && scrollbarXOpts.autoHide), 'ov-y--auto-hide', useScrollbar && scrollbarYOpts.autoHide), 'is--drag', isDrag), 'is--loading', loading)],
|
|
24802
25074
|
on: leOns,
|
|
24803
25075
|
style: wrapperStyles
|
|
24804
25076
|
}, [headerSlot || showDefChekboxHead ? h('div', {
|
|
@@ -24845,18 +25117,65 @@ function list_createInternalData() {
|
|
|
24845
25117
|
style: {
|
|
24846
25118
|
marginTop: topSpaceHeight ? "".concat(topSpaceHeight, "px") : ''
|
|
24847
25119
|
}
|
|
25120
|
+
}, useScrollbar ? defaultSlot ? defaultSlot({
|
|
25121
|
+
items: rowList,
|
|
25122
|
+
$list: $xeList
|
|
25123
|
+
}) : rowList.map(function (row, i) {
|
|
25124
|
+
return $xeList.renderRow(h, row, i);
|
|
25125
|
+
}) : [h('div', {
|
|
25126
|
+
key: 'vi',
|
|
25127
|
+
ref: 'refViewInnerElem',
|
|
25128
|
+
class: 'vxe-scrollbar--view-inner'
|
|
24848
25129
|
}, defaultSlot ? defaultSlot({
|
|
24849
25130
|
items: rowList,
|
|
24850
25131
|
$list: $xeList
|
|
24851
25132
|
}) : rowList.map(function (row, i) {
|
|
24852
25133
|
return $xeList.renderRow(h, row, i);
|
|
24853
|
-
}))]), footerSlot ? h('div', {
|
|
25134
|
+
}))])]), footerSlot ? h('div', {
|
|
24854
25135
|
ref: 'refFooterElem',
|
|
24855
25136
|
class: 'vxe-list--footer-wrapper'
|
|
24856
25137
|
}, footerSlot({
|
|
24857
25138
|
items: rowList,
|
|
24858
25139
|
$list: $xeList
|
|
24859
25140
|
})) : renderEmptyElement($xeList),
|
|
25141
|
+
/**
|
|
25142
|
+
* 滚动条
|
|
25143
|
+
*/
|
|
25144
|
+
useScrollbar ? h('div', {
|
|
25145
|
+
class: scrollbarWrapperClss
|
|
25146
|
+
}, [scrollbarXOpts.visible === 'hidden' ? renderEmptyElement($xeList) : h('div', {
|
|
25147
|
+
ref: 'refTrackXElem',
|
|
25148
|
+
class: 'vxe-scrollbar--track-x',
|
|
25149
|
+
on: {
|
|
25150
|
+
click: $xeList.clickTrackXEvent
|
|
25151
|
+
}
|
|
25152
|
+
}, [h('div', {
|
|
25153
|
+
ref: 'refThumbXElem',
|
|
25154
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
25155
|
+
on: {
|
|
25156
|
+
pointerdown: $xeList.pointerdownThumbXEvent,
|
|
25157
|
+
pointermove: $xeList.pointermoveThumbXEvent,
|
|
25158
|
+
pointerup: $xeList.cleatPointerThumbEvent,
|
|
25159
|
+
pointercancel: $xeList.cleatPointerThumbEvent,
|
|
25160
|
+
lostpointercapture: $xeList.cleatPointerThumbEvent
|
|
25161
|
+
}
|
|
25162
|
+
})]), scrollbarYOpts.visible === 'hidden' ? renderEmptyElement($xeList) : h('div', {
|
|
25163
|
+
ref: 'refTrackYElem',
|
|
25164
|
+
class: 'vxe-scrollbar--track-y',
|
|
25165
|
+
on: {
|
|
25166
|
+
click: $xeList.clickTrackYEvent
|
|
25167
|
+
}
|
|
25168
|
+
}, [h('div', {
|
|
25169
|
+
ref: 'refThumbYElem',
|
|
25170
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
25171
|
+
on: {
|
|
25172
|
+
pointerdown: $xeList.pointerdownThumbYEvent,
|
|
25173
|
+
pointermove: $xeList.pointermoveThumbYEvent,
|
|
25174
|
+
pointerup: $xeList.cleatPointerThumbEvent,
|
|
25175
|
+
pointercancel: $xeList.cleatPointerThumbEvent,
|
|
25176
|
+
lostpointercapture: $xeList.cleatPointerThumbEvent
|
|
25177
|
+
}
|
|
25178
|
+
})])]) : renderEmptyElement($xeList),
|
|
24860
25179
|
/**
|
|
24861
25180
|
* 拖拽提示
|
|
24862
25181
|
*/
|
|
@@ -24922,7 +25241,9 @@ function list_createInternalData() {
|
|
|
24922
25241
|
var internalData = $xeList.internalData;
|
|
24923
25242
|
var showSeq = props.showSeq,
|
|
24924
25243
|
showRadio = props.showRadio,
|
|
24925
|
-
showCheckbox = props.showCheckbox
|
|
25244
|
+
showCheckbox = props.showCheckbox,
|
|
25245
|
+
autoResize = props.autoResize,
|
|
25246
|
+
useScrollbar = props.useScrollbar;
|
|
24926
25247
|
var rowOpts = $xeList.computeRowOpts;
|
|
24927
25248
|
var useKey = rowOpts.useKey,
|
|
24928
25249
|
keyField = rowOpts.keyField;
|
|
@@ -24944,24 +25265,32 @@ function list_createInternalData() {
|
|
|
24944
25265
|
if (useKey && !keyField) {
|
|
24945
25266
|
list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
24946
25267
|
}
|
|
24947
|
-
if (
|
|
25268
|
+
if (useScrollbar || autoResize) {
|
|
24948
25269
|
var el = $xeList.$refs.refElem;
|
|
25270
|
+
var viewInnerEl = $xeList.$refs.refViewInnerElem;
|
|
24949
25271
|
var resizeObserver = globalResize.create(function () {
|
|
24950
|
-
|
|
25272
|
+
$xeList.reFlag++;
|
|
24951
25273
|
});
|
|
24952
25274
|
resizeObserver.observe(el);
|
|
24953
|
-
if (
|
|
24954
|
-
|
|
25275
|
+
if (autoResize) {
|
|
25276
|
+
if (el) {
|
|
25277
|
+
resizeObserver.observe(el.parentElement);
|
|
25278
|
+
}
|
|
25279
|
+
}
|
|
25280
|
+
if (viewInnerEl) {
|
|
25281
|
+
resizeObserver.observe(viewInnerEl);
|
|
24955
25282
|
}
|
|
24956
25283
|
internalData.resizeObserver = resizeObserver;
|
|
24957
25284
|
}
|
|
24958
|
-
$xeList.
|
|
24959
|
-
globalEvents.on($xeList, 'resize',
|
|
25285
|
+
$xeList.reFlag++;
|
|
25286
|
+
globalEvents.on($xeList, 'resize', function () {
|
|
25287
|
+
$xeList.reFlag++;
|
|
25288
|
+
});
|
|
24960
25289
|
},
|
|
24961
25290
|
activated: function activated() {
|
|
24962
25291
|
var $xeList = this;
|
|
24963
25292
|
$xeList.recalculate().then(function () {
|
|
24964
|
-
|
|
25293
|
+
$xeList.refreshScroll();
|
|
24965
25294
|
});
|
|
24966
25295
|
},
|
|
24967
25296
|
beforeDestroy: function beforeDestroy() {
|