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
|
@@ -42,7 +42,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
42
42
|
const refElem = (0, _vue.ref)();
|
|
43
43
|
const {
|
|
44
44
|
computeSize
|
|
45
|
-
} =
|
|
45
|
+
} = _ui.useFns.useSize(props);
|
|
46
|
+
const {
|
|
47
|
+
computeIsVScrollbar
|
|
48
|
+
} = _ui.useFns.useVScrollbar(props);
|
|
46
49
|
const reactData = (0, _vue.reactive)({});
|
|
47
50
|
const refMaps = {
|
|
48
51
|
refElem
|
|
@@ -93,11 +96,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
93
96
|
const {
|
|
94
97
|
collapsed,
|
|
95
98
|
loading,
|
|
96
|
-
padding
|
|
97
|
-
useScrollbar
|
|
99
|
+
padding
|
|
98
100
|
} = props;
|
|
99
101
|
const varStyle = computeVarStyle.value;
|
|
100
102
|
const vSize = computeSize.value;
|
|
103
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
101
104
|
const collapseOpts = computeCollapseOpts.value;
|
|
102
105
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
103
106
|
const {
|
|
@@ -116,7 +119,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
116
119
|
'is--loading': loading
|
|
117
120
|
}],
|
|
118
121
|
style: varStyle
|
|
119
|
-
}, [
|
|
122
|
+
}, [isVScrollbar ? (0, _vue.h)(_scrollbar.default, {
|
|
120
123
|
width: scrollbarOpts.width,
|
|
121
124
|
height: scrollbarOpts.height,
|
|
122
125
|
autoHide: scrollbarOpts.autoHide,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,collapseConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutAside.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutAside.size||(0,_ui.getConfig)().size}},emits:[],setup(v,e){let{slots:g,emit:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,collapseConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutAside.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutAside.size||(0,_ui.getConfig)().size}},emits:[],setup(v,e){let{slots:g,emit:l}=e;var i=_xeUtils.default.uniqueId();let p=(0,_vue.ref)(),_=_ui.useFns.useSize(v).computeSize,f=_ui.useFns.useVScrollbar(v).computeIsVScrollbar;var a=(0,_vue.reactive)({});let t={refElem:p},m=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.collapseConfig,v.collapseConfig)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.scrollbarConfig,v.scrollbarConfig)),C=(0,_vue.computed)(()=>{var{width:e,collapseWidth:i}=v,a={};return i&&(a["--vxe-ui-layout-aside-collapse-width"]=(0,_dom.toCssUnit)(i)),e&&(a["--vxe-ui-layout-aside-default-width"]=(0,_dom.toCssUnit)(e)),a}),u={computeSize:_,computeVarStyle:C},s={xID:i,props:v,context:e,reactData:a,getRefMaps:()=>t,getComputeMaps:()=>u};Object.assign(s,{dispatchEvent:(e,i,a)=>{l(e,(0,_ui.createEvent)(a,{$layoutAside:s},i))}},{});return(0,_vue.provide)("$xeLayoutAside",s),s.renderVN=()=>{var{collapsed:e,loading:i,padding:a}=v,l=C.value,t=_.value,u=f.value,s=m.value,o=b.value,{className:r,viewClassName:n,viewInnerClassName:d}=o;let c=g.default;return(0,_vue.h)("aside",{ref:p,class:["vxe-layout-aside",{["size--"+t]:t,"is--animat":!1!==s.animation,"is--padding":a,"is--collapse":e,"is--loading":i}],style:l},[u?(0,_vue.h)(_scrollbar.default,{width:o.width,height:o.height,autoHide:o.autoHide,visible:o.visible,xConfig:{visible:!1},yConfig:o.yConfig,className:"vxe-layout-aside--scrollbar"+(r?" "+r:""),viewAttrs:o.viewAttrs,viewClassName:"vxe-layout-aside--scrollbar-view"+(n?" "+n:""),viewInnerClassName:"vxe-layout-aside--scrollbar-inner"+(d?" "+d:"")},{default:()=>c?c({}):[]}):(0,_vue.h)("div",{class:"vxe-layout-aside--inner"},c?c({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-layout-aside-view--loading",modelValue:i})])},s},render(){return this.renderVN()}});
|
|
@@ -50,7 +50,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
50
50
|
const refElem = (0, _vue.ref)();
|
|
51
51
|
const {
|
|
52
52
|
computeSize
|
|
53
|
-
} =
|
|
53
|
+
} = _ui.useFns.useSize(props);
|
|
54
|
+
const {
|
|
55
|
+
computeIsVScrollbar
|
|
56
|
+
} = _ui.useFns.useVScrollbar(props);
|
|
54
57
|
const internalData = createInternalData();
|
|
55
58
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
56
59
|
const refMaps = {
|
|
@@ -115,9 +118,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
115
118
|
const {
|
|
116
119
|
loading,
|
|
117
120
|
padding,
|
|
118
|
-
showBacktop
|
|
119
|
-
useScrollbar
|
|
121
|
+
showBacktop
|
|
120
122
|
} = props;
|
|
123
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
121
124
|
const backtopOpts = computeBacktopOpts.value;
|
|
122
125
|
const scrollbarProps = computeScrollbarProps.value;
|
|
123
126
|
const vSize = computeSize.value;
|
|
@@ -142,7 +145,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
142
145
|
'is--loading': loading,
|
|
143
146
|
'is--padding': padding
|
|
144
147
|
}]
|
|
145
|
-
}, [
|
|
148
|
+
}, [isVScrollbar ? (0, _vue.h)(_scrollbar.default, scrollbarProps, {
|
|
146
149
|
default: () => defaultSlot ? defaultSlot({}) : []
|
|
147
150
|
}) : (0, _vue.h)('div', {
|
|
148
151
|
id: showBacktop ? backtopId : '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar")),_backtop=_interopRequireDefault(require("../../backtop"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,showBacktop:{type:Boolean,default:()=>(0,_ui.getConfig)().layoutBody.showBacktop},backtopConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutBody.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:_,emit:o}=e;var t=_xeUtils.default.uniqueId();let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar")),_backtop=_interopRequireDefault(require("../../backtop"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,showBacktop:{type:Boolean,default:()=>(0,_ui.getConfig)().layoutBody.showBacktop},backtopConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutBody.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:_,emit:o}=e;var t=_xeUtils.default.uniqueId();let v="vxe_layout_body_backtop_"+t,f=(0,_vue.ref)(),g=_ui.useFns.useSize(p).computeSize,b=_ui.useFns.useVScrollbar(p).computeIsVScrollbar;var a=createInternalData(),i=(0,_vue.reactive)(createReactData());let u={refElem:f},y=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.backtopConfig,p.backtopConfig,{target:"#"+v})),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.scrollbarConfig,p.scrollbarConfig)),m=(0,_vue.computed)(()=>{var e=p.showBacktop,t=r.value,{className:a,viewClassName:o,viewInnerClassName:i}=t;return{width:t.width,height:t.height,autoHide:t.autoHide,visible:t.visible,xConfig:t.xConfig,yConfig:t.yConfig,className:"vxe-layout-body--scrollbar"+(a?" "+a:""),viewAttrs:Object.assign(Object.assign({},t.viewAttrs),{id:e&&v||null}),viewClassName:"vxe-layout-body--scrollbar-view"+(o?" "+o:""),viewInnerClassName:"vxe-layout-body--scrollbar-inner"+(i?" "+i:"")}}),l={computeSize:g},C={xID:t,props:p,context:e,internalData:a,reactData:i,getRefMaps:()=>u,getComputeMaps:()=>l};Object.assign(C,{dispatchEvent:(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$layoutBody:C},t))}},{});return C.renderVN=()=>{var{loading:e,padding:t,showBacktop:a}=p,o=b.value,i=y.value,u=m.value,r=g.value;let l=_.default;var n=_.backtop,s=_.backtopTop||_["backtop-top"],c=_.backtopBottom||_["backtop-bottom"],d={};return n&&(d.default=n),s&&(d.top=s),c&&(d.bottom=c),(0,_vue.h)("div",{ref:f,class:["vxe-layout-body",{["size--"+r]:r,"is--loading":e,"is--padding":t}]},[o?(0,_vue.h)(_scrollbar.default,u,{default:()=>l?l({}):[]}):(0,_vue.h)("div",{id:a?v:"",class:"vxe-layout-body--inner"},l?l({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-layout-body-view--loading",modelValue:e}),a?(0,_vue.h)(_backtop.default,i,d):(0,_ui.renderEmptyElement)(C)])},C},render(){return this.renderVN()}});
|
|
@@ -9,13 +9,25 @@ var _comp = require("../../ui/src/comp");
|
|
|
9
9
|
var _ui = require("../../ui");
|
|
10
10
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const {
|
|
13
|
+
getConfig,
|
|
14
|
+
baseUtils,
|
|
15
|
+
createEvent
|
|
16
|
+
} = _ui.VxeUI;
|
|
17
|
+
const {
|
|
18
|
+
getDefVal
|
|
19
|
+
} = baseUtils;
|
|
12
20
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
13
21
|
name: 'VxeLayoutContainer',
|
|
14
22
|
props: {
|
|
15
23
|
vertical: Boolean,
|
|
24
|
+
useScrollbar: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: () => getDefVal(getConfig().layoutContainer.useScrollbar, getConfig().useScrollbar)
|
|
27
|
+
},
|
|
16
28
|
size: {
|
|
17
29
|
type: String,
|
|
18
|
-
default: () =>
|
|
30
|
+
default: () => getConfig().layoutContainer.size || getConfig().size
|
|
19
31
|
}
|
|
20
32
|
},
|
|
21
33
|
emits: [],
|
|
@@ -28,13 +40,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
28
40
|
const refElem = (0, _vue.ref)();
|
|
29
41
|
const {
|
|
30
42
|
computeSize
|
|
31
|
-
} =
|
|
43
|
+
} = _ui.useFns.useSize(props);
|
|
44
|
+
const {
|
|
45
|
+
computeIsVScrollbar
|
|
46
|
+
} = _ui.useFns.useVScrollbar(props);
|
|
32
47
|
const reactData = (0, _vue.reactive)({});
|
|
33
48
|
const refMaps = {
|
|
34
49
|
refElem
|
|
35
50
|
};
|
|
36
51
|
const computeMaps = {
|
|
37
|
-
computeSize
|
|
52
|
+
computeSize,
|
|
53
|
+
computeIsVScrollbar
|
|
38
54
|
};
|
|
39
55
|
const $xeLayoutContainer = {
|
|
40
56
|
xID,
|
|
@@ -45,7 +61,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
45
61
|
getComputeMaps: () => computeMaps
|
|
46
62
|
};
|
|
47
63
|
const dispatchEvent = (type, params, evnt) => {
|
|
48
|
-
emit(type,
|
|
64
|
+
emit(type, createEvent(evnt, {
|
|
49
65
|
$layoutContainer: $xeLayoutContainer
|
|
50
66
|
}, params));
|
|
51
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutContainer",props:{vertical:Boolean,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,baseUtils,createEvent}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutContainer",props:{vertical:Boolean,useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().layoutContainer.useScrollbar,getConfig().useScrollbar)},size:{type:String,default:()=>getConfig().layoutContainer.size||getConfig().size}},emits:[],setup(u,e){let{slots:a,emit:i}=e;var t=_xeUtils.default.uniqueId();let l=(0,_vue.ref)(),o=_ui.useFns.useSize(u).computeSize;var r=_ui.useFns.useVScrollbar(u).computeIsVScrollbar,s=(0,_vue.reactive)({});let n={refElem:l},c={computeSize:o,computeIsVScrollbar:r},f={xID:t,props:u,context:e,reactData:s,getRefMaps:()=>n,getComputeMaps:()=>c};Object.assign(f,{dispatchEvent:(e,t,r)=>{i(e,createEvent(r,{$layoutContainer:f},t))}},{});return f.renderVN=()=>{var e=u.vertical,t=o.value,r=a.default;return(0,_vue.h)("div",{ref:l,class:["vxe-layout-container",{["size--"+t]:t,"is--vertical":e}]},r?r({}):[])},f},render(){return this.renderVN()}});
|
package/lib/list/src/list.js
CHANGED
|
@@ -21,17 +21,11 @@ const {
|
|
|
21
21
|
getIcon,
|
|
22
22
|
getI18n,
|
|
23
23
|
domUtils,
|
|
24
|
-
|
|
24
|
+
useFns,
|
|
25
25
|
menus,
|
|
26
26
|
globalEvents,
|
|
27
27
|
globalResize
|
|
28
28
|
} = _ui.VxeUI;
|
|
29
|
-
const {
|
|
30
|
-
getThumbOffsetSize,
|
|
31
|
-
getThumbSize,
|
|
32
|
-
getScrollFromClick,
|
|
33
|
-
getScrollFromDrag
|
|
34
|
-
} = scrollbarUtils;
|
|
35
29
|
const {
|
|
36
30
|
warnLog,
|
|
37
31
|
errLog
|
|
@@ -155,9 +149,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
155
149
|
} = context;
|
|
156
150
|
const xID = _xeUtils.default.uniqueId();
|
|
157
151
|
const browseObj = _xeUtils.default.browse();
|
|
158
|
-
const {
|
|
159
|
-
computeSize
|
|
160
|
-
} = (0, _ui.useSize)(props);
|
|
161
152
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
162
153
|
const internalData = createInternalData();
|
|
163
154
|
const crossListDragRowInfo = (0, _store.getCrossListDragRowInfo)();
|
|
@@ -165,13 +156,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
165
156
|
const refHeaderElem = (0, _vue.ref)();
|
|
166
157
|
const refFooterElem = (0, _vue.ref)();
|
|
167
158
|
const refVirtualWrapper = (0, _vue.ref)();
|
|
159
|
+
const refVirtualSpaceElem = (0, _vue.ref)();
|
|
168
160
|
const refVirtualBody = (0, _vue.ref)();
|
|
169
|
-
const refTrackXElem = (0, _vue.ref)();
|
|
170
|
-
const refTrackYElem = (0, _vue.ref)();
|
|
171
|
-
const refThumbXElem = (0, _vue.ref)();
|
|
172
|
-
const refThumbYElem = (0, _vue.ref)();
|
|
173
161
|
const refDragRowLineElem = (0, _vue.ref)();
|
|
174
162
|
const refDragTipElem = (0, _vue.ref)();
|
|
163
|
+
const {
|
|
164
|
+
computeSize
|
|
165
|
+
} = useFns.useSize(props);
|
|
166
|
+
const {
|
|
167
|
+
computeIsVScrollbar
|
|
168
|
+
} = useFns.useVScrollbar(props);
|
|
175
169
|
const refMaps = {
|
|
176
170
|
refElem
|
|
177
171
|
};
|
|
@@ -183,6 +177,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
183
177
|
internalData,
|
|
184
178
|
getRefMaps: () => refMaps
|
|
185
179
|
};
|
|
180
|
+
const {
|
|
181
|
+
refTrackXElem,
|
|
182
|
+
refTrackYElem,
|
|
183
|
+
refThumbXElem,
|
|
184
|
+
refThumbYElem,
|
|
185
|
+
updateThumbSize,
|
|
186
|
+
updateThumbOffset,
|
|
187
|
+
clickTrackXEvent,
|
|
188
|
+
clickTrackYEvent,
|
|
189
|
+
pointerdownThumbXEvent,
|
|
190
|
+
pointermoveThumbXEvent,
|
|
191
|
+
cleatPointerThumbEvent,
|
|
192
|
+
pointerdownThumbYEvent,
|
|
193
|
+
pointermoveThumbYEvent
|
|
194
|
+
} = useFns.useInitVScrollbar($xeList);
|
|
186
195
|
const computeRowOpts = (0, _vue.computed)(() => {
|
|
187
196
|
return Object.assign({}, getConfig().list.rowConfig, props.rowConfig);
|
|
188
197
|
});
|
|
@@ -504,7 +513,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
504
513
|
lastScrollLeft,
|
|
505
514
|
lastScrollTop
|
|
506
515
|
} = internalData;
|
|
507
|
-
updateScrollbar();
|
|
508
516
|
return clearScroll().then(() => {
|
|
509
517
|
if (lastScrollLeft || lastScrollTop) {
|
|
510
518
|
internalData.lastScrollLeft = 0;
|
|
@@ -514,8 +522,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
514
522
|
});
|
|
515
523
|
};
|
|
516
524
|
const updateScrollbar = () => {
|
|
517
|
-
|
|
518
|
-
|
|
525
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
526
|
+
if (isVScrollbar) {
|
|
527
|
+
return (0, _vue.nextTick)().then(() => {
|
|
528
|
+
updateThumbSize();
|
|
529
|
+
updateThumbOffset();
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
return Promise.resolve();
|
|
519
533
|
};
|
|
520
534
|
/**
|
|
521
535
|
* 重新计算列表
|
|
@@ -534,10 +548,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
534
548
|
parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
|
|
535
549
|
}
|
|
536
550
|
reactData.parentHeight = parentHeight;
|
|
537
|
-
updateScrollbar();
|
|
538
551
|
updateHeight();
|
|
539
552
|
if (el.clientWidth && el.clientHeight) {
|
|
540
|
-
return computeScrollLoad()
|
|
553
|
+
return computeScrollLoad().then(() => {
|
|
554
|
+
updateScrollbar();
|
|
555
|
+
});
|
|
541
556
|
}
|
|
542
557
|
}
|
|
543
558
|
return (0, _vue.nextTick)();
|
|
@@ -553,7 +568,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
553
568
|
offsetSize,
|
|
554
569
|
rowHeight
|
|
555
570
|
} = scrollYStore;
|
|
556
|
-
const scrollBodyElem = evnt.
|
|
571
|
+
const scrollBodyElem = evnt.currentTarget;
|
|
557
572
|
const scrollTop = scrollBodyElem.scrollTop;
|
|
558
573
|
const toVisibleIndex = Math.floor(scrollTop / rowHeight);
|
|
559
574
|
const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
|
|
@@ -567,7 +582,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
567
582
|
}
|
|
568
583
|
};
|
|
569
584
|
const scrollEvent = evnt => {
|
|
570
|
-
const scrollBodyElem = evnt.
|
|
585
|
+
const scrollBodyElem = evnt.currentTarget;
|
|
571
586
|
const scrollTop = scrollBodyElem.scrollTop;
|
|
572
587
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
573
588
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
@@ -1706,6 +1721,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1706
1721
|
};
|
|
1707
1722
|
const listMethods = {
|
|
1708
1723
|
dispatchEvent,
|
|
1724
|
+
getScrollViewElem() {
|
|
1725
|
+
const viewEl = refVirtualWrapper.value;
|
|
1726
|
+
return viewEl || null;
|
|
1727
|
+
},
|
|
1709
1728
|
loadData,
|
|
1710
1729
|
/**
|
|
1711
1730
|
* 重新加载数据
|
|
@@ -2079,181 +2098,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2079
2098
|
hideDropTip();
|
|
2080
2099
|
}
|
|
2081
2100
|
};
|
|
2082
|
-
const
|
|
2083
|
-
const viewEl = refVirtualWrapper.value;
|
|
2084
|
-
if (!viewEl) {
|
|
2085
|
-
return;
|
|
2086
|
-
}
|
|
2087
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2088
|
-
return;
|
|
2089
|
-
}
|
|
2090
|
-
const trackXEl = refTrackXElem.value;
|
|
2091
|
-
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
2092
|
-
const thumbXElem = refThumbXElem.value;
|
|
2093
|
-
if (thumbXElem) {
|
|
2094
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2095
|
-
}
|
|
2096
|
-
reactData.xThumbWidth = xThumbWidth;
|
|
2097
|
-
const trackYEl = refTrackYElem.value;
|
|
2098
|
-
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
2099
|
-
const thumbYElem = refThumbYElem.value;
|
|
2100
|
-
if (thumbYElem) {
|
|
2101
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2102
|
-
}
|
|
2103
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
2104
|
-
};
|
|
2105
|
-
const updateThumbOffset = () => {
|
|
2106
|
-
const viewEl = refVirtualWrapper.value;
|
|
2107
|
-
if (!viewEl) {
|
|
2108
|
-
return;
|
|
2109
|
-
}
|
|
2110
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2111
|
-
return;
|
|
2112
|
-
}
|
|
2113
|
-
const {
|
|
2114
|
-
xThumbWidth,
|
|
2115
|
-
yThumbHeight
|
|
2116
|
-
} = reactData;
|
|
2117
|
-
const trackXEl = refTrackXElem.value;
|
|
2118
|
-
const thumbXElem = refThumbXElem.value;
|
|
2119
|
-
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
2120
|
-
internalData.xThumbLeft = xThumbLeft;
|
|
2121
|
-
if (thumbXElem && xThumbWidth) {
|
|
2122
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2123
|
-
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
2124
|
-
}
|
|
2125
|
-
const trackYEl = refTrackYElem.value;
|
|
2126
|
-
const thumbYElem = refThumbYElem.value;
|
|
2127
|
-
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
2128
|
-
internalData.yThumbTop = yThumbTop;
|
|
2129
|
-
if (thumbYElem && yThumbHeight) {
|
|
2130
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2131
|
-
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
2132
|
-
}
|
|
2133
|
-
};
|
|
2134
|
-
const clickTrackXEvent = evnt => {
|
|
2135
|
-
const trackEl = evnt.currentTarget;
|
|
2136
|
-
if (trackEl !== evnt.target) {
|
|
2137
|
-
return;
|
|
2138
|
-
}
|
|
2139
|
-
const viewEl = refVirtualWrapper.value;
|
|
2140
|
-
if (!viewEl) {
|
|
2141
|
-
return;
|
|
2142
|
-
}
|
|
2143
|
-
const {
|
|
2144
|
-
xThumbWidth
|
|
2145
|
-
} = reactData;
|
|
2146
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2147
|
-
viewEl.scrollTo({
|
|
2148
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
2149
|
-
behavior: 'auto'
|
|
2150
|
-
});
|
|
2151
|
-
};
|
|
2152
|
-
const clickTrackYEvent = evnt => {
|
|
2153
|
-
const trackEl = evnt.currentTarget;
|
|
2154
|
-
if (trackEl !== evnt.target) {
|
|
2155
|
-
return;
|
|
2156
|
-
}
|
|
2157
|
-
const viewEl = refVirtualWrapper.value;
|
|
2158
|
-
if (!viewEl) {
|
|
2159
|
-
return;
|
|
2160
|
-
}
|
|
2161
|
-
const {
|
|
2162
|
-
yThumbHeight
|
|
2163
|
-
} = reactData;
|
|
2164
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2165
|
-
viewEl.scrollTo({
|
|
2166
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
2167
|
-
behavior: 'auto'
|
|
2168
|
-
});
|
|
2169
|
-
};
|
|
2170
|
-
const pointerdownThumbXEvent = evnt => {
|
|
2171
|
-
const thumbEl = evnt.currentTarget;
|
|
2172
|
-
internalData.isThumbDrag = true;
|
|
2173
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2174
|
-
const viewEl = refVirtualWrapper.value;
|
|
2175
|
-
if (!viewEl) {
|
|
2176
|
-
return;
|
|
2177
|
-
}
|
|
2178
|
-
const {
|
|
2179
|
-
xThumbWidth
|
|
2180
|
-
} = reactData;
|
|
2181
|
-
const trackEl = thumbEl.parentElement;
|
|
2182
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2183
|
-
const pointerPosition = evnt.clientX - trackRect.left;
|
|
2184
|
-
// 记录 thumb 的偏移
|
|
2185
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2186
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2187
|
-
};
|
|
2188
|
-
const pointermoveThumbXEvent = evnt => {
|
|
2189
|
-
const thumbEl = evnt.currentTarget;
|
|
2190
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2191
|
-
return;
|
|
2192
|
-
}
|
|
2101
|
+
const bindScrollbarResize = () => {
|
|
2193
2102
|
const {
|
|
2194
|
-
|
|
2195
|
-
thumbDragOffset
|
|
2103
|
+
scrollObserver
|
|
2196
2104
|
} = internalData;
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
if (!
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
const cleatPointerThumbEvent = evnt => {
|
|
2213
|
-
const thumbEl = evnt.currentTarget;
|
|
2214
|
-
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
2215
|
-
internalData.isThumbDrag = false;
|
|
2216
|
-
};
|
|
2217
|
-
const pointerdownThumbYEvent = evnt => {
|
|
2218
|
-
const thumbEl = evnt.currentTarget;
|
|
2219
|
-
internalData.isThumbDrag = true;
|
|
2220
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2221
|
-
const viewEl = refVirtualWrapper.value;
|
|
2222
|
-
if (!viewEl) {
|
|
2223
|
-
return;
|
|
2224
|
-
}
|
|
2225
|
-
const {
|
|
2226
|
-
yThumbHeight
|
|
2227
|
-
} = reactData;
|
|
2228
|
-
const trackEl = thumbEl.parentElement;
|
|
2229
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2230
|
-
const pointerPosition = evnt.clientY - trackRect.top;
|
|
2231
|
-
// 记录 thumb 的偏移
|
|
2232
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2233
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2234
|
-
};
|
|
2235
|
-
const pointermoveThumbYEvent = evnt => {
|
|
2236
|
-
const thumbEl = evnt.currentTarget;
|
|
2237
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2238
|
-
return;
|
|
2239
|
-
}
|
|
2240
|
-
const {
|
|
2241
|
-
isThumbDrag,
|
|
2242
|
-
thumbDragOffset
|
|
2243
|
-
} = internalData;
|
|
2244
|
-
if (isThumbDrag) {
|
|
2245
|
-
const viewEl = refVirtualWrapper.value;
|
|
2246
|
-
if (!viewEl) {
|
|
2247
|
-
return;
|
|
2105
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
2106
|
+
if (isVScrollbar) {
|
|
2107
|
+
if (!scrollObserver) {
|
|
2108
|
+
const el = refElem.value;
|
|
2109
|
+
const viewInnerEl = refVirtualSpaceElem.value;
|
|
2110
|
+
const scrollObserver = globalResize.create(() => {
|
|
2111
|
+
reScrollFlag.value++;
|
|
2112
|
+
});
|
|
2113
|
+
if (el) {
|
|
2114
|
+
scrollObserver.observe(el);
|
|
2115
|
+
}
|
|
2116
|
+
if (viewInnerEl) {
|
|
2117
|
+
scrollObserver.observe(viewInnerEl);
|
|
2118
|
+
}
|
|
2119
|
+
internalData.scrollObserver = scrollObserver;
|
|
2248
2120
|
}
|
|
2249
|
-
const {
|
|
2250
|
-
yThumbHeight
|
|
2251
|
-
} = reactData;
|
|
2252
|
-
const thumbEl = evnt.currentTarget;
|
|
2253
|
-
const trackEl = thumbEl.parentElement;
|
|
2254
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2255
|
-
// 更新偏移
|
|
2256
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2257
2121
|
}
|
|
2258
2122
|
};
|
|
2259
2123
|
Object.assign($xeList, listMethods, listPrivateMethods);
|
|
@@ -2488,8 +2352,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2488
2352
|
const {
|
|
2489
2353
|
showCheckbox,
|
|
2490
2354
|
className,
|
|
2491
|
-
loading
|
|
2492
|
-
useScrollbar
|
|
2355
|
+
loading
|
|
2493
2356
|
} = props;
|
|
2494
2357
|
const {
|
|
2495
2358
|
bodyHeight,
|
|
@@ -2504,6 +2367,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2504
2367
|
const headerSlot = slots.header;
|
|
2505
2368
|
const footerSlot = slots.footer;
|
|
2506
2369
|
const vSize = computeSize.value;
|
|
2370
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
2507
2371
|
const wrapperStyles = computeWrapperStyles.value;
|
|
2508
2372
|
const virtualStyles = computeVirtualStyles.value;
|
|
2509
2373
|
const radioOpts = computeRadioOpts.value;
|
|
@@ -2538,14 +2402,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2538
2402
|
}
|
|
2539
2403
|
return (0, _vue.h)('div', Object.assign({
|
|
2540
2404
|
ref: refElem,
|
|
2541
|
-
class: ['vxe-list',
|
|
2405
|
+
class: ['vxe-list', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? _xeUtils.default.isFunction(className) ? className({
|
|
2542
2406
|
$list: $xeList
|
|
2543
2407
|
}) : className : '', {
|
|
2544
2408
|
[`size--${vSize}`]: vSize,
|
|
2545
|
-
'is--virtual-scrollbar':
|
|
2546
|
-
'ov-padding':
|
|
2547
|
-
'ov-x--auto-hide':
|
|
2548
|
-
'ov-y--auto-hide':
|
|
2409
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2410
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
2411
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
2412
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
2549
2413
|
'overflow-y': yThumbHeight,
|
|
2550
2414
|
'overflow-x': xThumbWidth,
|
|
2551
2415
|
'is--drag': isDrag,
|
|
@@ -2578,6 +2442,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2578
2442
|
style: virtualStyles,
|
|
2579
2443
|
onScroll: scrollEvent
|
|
2580
2444
|
}, [(0, _vue.h)('div', {
|
|
2445
|
+
ref: refVirtualSpaceElem,
|
|
2581
2446
|
class: 'vxe-list--y-space',
|
|
2582
2447
|
style: {
|
|
2583
2448
|
height: bodyHeight ? `${bodyHeight}px` : ''
|
|
@@ -2607,7 +2472,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2607
2472
|
/**
|
|
2608
2473
|
* 滚动条
|
|
2609
2474
|
*/
|
|
2610
|
-
|
|
2475
|
+
isVScrollbar ? (0, _vue.h)('div', {
|
|
2611
2476
|
class: scrollbarWrapperClss
|
|
2612
2477
|
}, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeList) : (0, _vue.h)('div', {
|
|
2613
2478
|
ref: refTrackXElem,
|
|
@@ -2656,43 +2521,54 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2656
2521
|
(0, _vue.watch)(dataFlag, () => {
|
|
2657
2522
|
loadData(props.data || []);
|
|
2658
2523
|
});
|
|
2659
|
-
const
|
|
2524
|
+
const reScrollFlag = (0, _vue.ref)(0);
|
|
2525
|
+
const reLayoutFlag = (0, _vue.ref)(0);
|
|
2660
2526
|
(0, _vue.watch)(() => props.height, () => {
|
|
2661
|
-
|
|
2527
|
+
reLayoutFlag.value++;
|
|
2662
2528
|
});
|
|
2663
2529
|
(0, _vue.watch)(() => props.maxHeight, () => {
|
|
2664
|
-
|
|
2530
|
+
reLayoutFlag.value++;
|
|
2665
2531
|
});
|
|
2666
2532
|
(0, _vue.watch)(() => props.syncResize, () => {
|
|
2667
|
-
|
|
2533
|
+
reLayoutFlag.value++;
|
|
2668
2534
|
});
|
|
2669
|
-
(0, _vue.watch)(
|
|
2670
|
-
|
|
2535
|
+
(0, _vue.watch)(computeIsVScrollbar, () => {
|
|
2536
|
+
(0, _vue.nextTick)(() => {
|
|
2537
|
+
bindScrollbarResize();
|
|
2538
|
+
(0, _vue.nextTick)(() => {
|
|
2539
|
+
reLayoutFlag.value++;
|
|
2540
|
+
});
|
|
2541
|
+
});
|
|
2671
2542
|
});
|
|
2672
2543
|
(0, _vue.watch)(computeRowHeight, () => {
|
|
2673
|
-
|
|
2544
|
+
reLayoutFlag.value++;
|
|
2674
2545
|
});
|
|
2675
2546
|
(0, _vue.watch)(computeScrollYWidth, () => {
|
|
2676
|
-
|
|
2547
|
+
reLayoutFlag.value++;
|
|
2677
2548
|
});
|
|
2678
2549
|
(0, _vue.watch)(computeScrollXHeight, () => {
|
|
2679
|
-
|
|
2550
|
+
reLayoutFlag.value++;
|
|
2680
2551
|
});
|
|
2681
2552
|
(0, _vue.watch)(computeScrollXVisible, () => {
|
|
2682
2553
|
(0, _vue.nextTick)(() => {
|
|
2683
|
-
|
|
2554
|
+
reLayoutFlag.value++;
|
|
2684
2555
|
});
|
|
2685
2556
|
});
|
|
2686
2557
|
(0, _vue.watch)(computeScrollYVisible, () => {
|
|
2687
2558
|
(0, _vue.nextTick)(() => {
|
|
2688
|
-
|
|
2559
|
+
reLayoutFlag.value++;
|
|
2689
2560
|
});
|
|
2690
2561
|
});
|
|
2691
|
-
(0, _vue.watch)(
|
|
2562
|
+
(0, _vue.watch)(reLayoutFlag, () => {
|
|
2692
2563
|
recalculate().then(() => {
|
|
2693
2564
|
recalculate();
|
|
2694
2565
|
});
|
|
2695
2566
|
});
|
|
2567
|
+
(0, _vue.watch)(reScrollFlag, () => {
|
|
2568
|
+
updateScrollbar().then(() => {
|
|
2569
|
+
updateScrollbar();
|
|
2570
|
+
});
|
|
2571
|
+
});
|
|
2696
2572
|
(0, _vue.watch)(() => props.checkRowKey, () => {
|
|
2697
2573
|
updateRadioModeValue();
|
|
2698
2574
|
});
|
|
@@ -2719,8 +2595,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2719
2595
|
showSeq,
|
|
2720
2596
|
showRadio,
|
|
2721
2597
|
showCheckbox,
|
|
2722
|
-
autoResize
|
|
2723
|
-
useScrollbar
|
|
2598
|
+
autoResize
|
|
2724
2599
|
} = props;
|
|
2725
2600
|
const rowOpts = computeRowOpts.value;
|
|
2726
2601
|
const {
|
|
@@ -2745,25 +2620,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2745
2620
|
if (useKey && !keyField) {
|
|
2746
2621
|
errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
2747
2622
|
}
|
|
2748
|
-
const el = refElem.value;
|
|
2749
|
-
if (useScrollbar) {
|
|
2750
|
-
const viewInnerEl = refVirtualBody.value;
|
|
2751
|
-
const scrollObserver = globalResize.create(() => {
|
|
2752
|
-
reFlag.value++;
|
|
2753
|
-
});
|
|
2754
|
-
if (el) {
|
|
2755
|
-
scrollObserver.observe(el);
|
|
2756
|
-
}
|
|
2757
|
-
if (viewInnerEl) {
|
|
2758
|
-
scrollObserver.observe(viewInnerEl);
|
|
2759
|
-
}
|
|
2760
|
-
internalData.scrollObserver = scrollObserver;
|
|
2761
|
-
}
|
|
2762
2623
|
if (autoResize) {
|
|
2624
|
+
const el = refElem.value;
|
|
2763
2625
|
const parentEl = getParentElem();
|
|
2764
2626
|
const resizeObserver = globalResize.create(() => {
|
|
2765
2627
|
if (props.autoResize) {
|
|
2766
|
-
|
|
2628
|
+
reLayoutFlag.value++;
|
|
2767
2629
|
}
|
|
2768
2630
|
});
|
|
2769
2631
|
if (el) {
|
|
@@ -2774,9 +2636,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2774
2636
|
}
|
|
2775
2637
|
internalData.resizeObserver = resizeObserver;
|
|
2776
2638
|
}
|
|
2777
|
-
|
|
2639
|
+
reLayoutFlag.value++;
|
|
2640
|
+
bindScrollbarResize();
|
|
2778
2641
|
globalEvents.on($xeList, 'resize', () => {
|
|
2779
|
-
|
|
2642
|
+
reLayoutFlag.value++;
|
|
2780
2643
|
});
|
|
2781
2644
|
});
|
|
2782
2645
|
(0, _vue.onBeforeUnmount)(() => {
|