vxe-pc-ui 4.20.1 → 4.20.2
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 +226 -83
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +2 -1
- package/es/drawer/src/drawer.js +59 -15
- package/es/drawer/style.css +13 -6
- package/es/drawer/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/layout-aside/src/layout-aside.js +2 -1
- package/es/layout-body/src/layout-body.js +2 -1
- package/es/list/src/list.js +49 -23
- package/es/menu/src/menu.js +2 -2
- package/es/modal/src/modal.js +56 -12
- package/es/modal/style.css +15 -4
- package/es/modal/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +16 -4
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +2 -2
- package/es/tree/src/tree.js +43 -24
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-drawer/style.css +13 -6
- package/es/vxe-drawer/style.min.css +1 -1
- package/es/vxe-modal/style.css +15 -4
- package/es/vxe-modal/style.min.css +1 -1
- package/lib/card/src/card.js +2 -1
- package/lib/card/src/card.min.js +1 -1
- package/lib/drawer/src/drawer.js +64 -11
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/drawer/style/style.css +13 -6
- package/lib/drawer/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/index.umd.js +318 -84
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +2 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +2 -1
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +49 -24
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +61 -10
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +15 -4
- package/lib/modal/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +16 -4
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +1 -1
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +43 -25
- 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-drawer/style/style.css +13 -6
- package/lib/vxe-drawer/style/style.min.css +1 -1
- package/lib/vxe-modal/style/style.css +15 -4
- package/lib/vxe-modal/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +2 -1
- package/packages/drawer/src/drawer.ts +73 -16
- package/packages/layout-aside/src/layout-aside.ts +2 -1
- package/packages/layout-body/src/layout-body.ts +2 -1
- package/packages/list/src/list.ts +53 -23
- package/packages/menu/src/menu.ts +2 -2
- package/packages/modal/src/modal.ts +71 -14
- package/packages/scrollbar/src/scrollbar.ts +18 -4
- package/packages/tabs/src/tabs.ts +2 -2
- package/packages/tree/src/tree.ts +46 -24
- package/styles/components/drawer.scss +13 -6
- package/styles/components/modal.scss +12 -4
- package/types/components/drawer.d.ts +20 -0
- package/types/components/gantt-module/gantt-view.d.ts +24 -1
- package/types/components/gantt.d.ts +2 -0
- package/types/components/list.d.ts +3 -1
- package/types/components/modal.d.ts +20 -0
- package/types/components/table.d.ts +33 -2
- package/types/components/tree.d.ts +3 -1
- /package/es/icon/{iconfont.1791950625324.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/icon/{iconfont.1791950625324.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/icon/{iconfont.1791950625324.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/es/{iconfont.1791950625324.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/{iconfont.1791950625324.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/{iconfont.1791950625324.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791950625324.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791950625324.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791950625324.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/{iconfont.1791950625324.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/{iconfont.1791950625324.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/{iconfont.1791950625324.woff2 → iconfont.1792034967421.woff2} +0 -0
|
@@ -8,6 +8,7 @@ var _vue = require("vue");
|
|
|
8
8
|
var _comp = require("../../ui/src/comp");
|
|
9
9
|
var _dom = require("../../ui/src/dom");
|
|
10
10
|
var _ui = require("../../ui");
|
|
11
|
+
var _utils = require("../../ui/src/utils");
|
|
11
12
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
12
13
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
13
14
|
var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
|
|
@@ -23,7 +24,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
23
24
|
collapseConfig: Object,
|
|
24
25
|
useScrollbar: {
|
|
25
26
|
type: Boolean,
|
|
26
|
-
default: () => (0, _ui.getConfig)().layoutAside.useScrollbar
|
|
27
|
+
default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().layoutAside.useScrollbar, (0, _ui.getConfig)().useScrollbar)
|
|
27
28
|
},
|
|
28
29
|
scrollbarConfig: Object,
|
|
29
30
|
size: {
|
|
@@ -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"),_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,_ui.getConfig)().layoutAside.useScrollbar},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutAside.size||(0,_ui.getConfig)().size}},emits:[],setup(v,e){let{slots:
|
|
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:t}=e;var i=_xeUtils.default.uniqueId();let p=(0,_vue.ref)(),_=(0,_ui.useSize)(v).computeSize;var a=(0,_vue.reactive)({});let l={refElem:p},f=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.collapseConfig,v.collapseConfig)),m=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.scrollbarConfig,v.scrollbarConfig)),b=(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:b},o={xID:i,props:v,context:e,reactData:a,getRefMaps:()=>l,getComputeMaps:()=>u};Object.assign(o,{dispatchEvent:(e,i,a)=>{t(e,(0,_ui.createEvent)(a,{$layoutAside:o},i))}},{});return(0,_vue.provide)("$xeLayoutAside",o),o.renderVN=()=>{var{collapsed:e,loading:i,padding:a,useScrollbar:t}=v,l=b.value,u=_.value,o=f.value,s=m.value,{className:r,viewClassName:d,viewInnerClassName:n}=s;let c=g.default;return(0,_vue.h)("aside",{ref:p,class:["vxe-layout-aside",{["size--"+u]:u,"is--animat":!1!==o.animation,"is--padding":a,"is--collapse":e,"is--loading":i}],style:l},[t?(0,_vue.h)(_scrollbar.default,{width:s.width,height:s.height,autoHide:s.autoHide,visible:s.visible,xConfig:{visible:!1},yConfig:s.yConfig,className:"vxe-layout-aside--scrollbar"+(r?" "+r:""),viewAttrs:s.viewAttrs,viewClassName:"vxe-layout-aside--scrollbar-view"+(d?" "+d:""),viewInnerClassName:"vxe-layout-aside--scrollbar-inner"+(n?" "+n:"")},{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})])},o},render(){return this.renderVN()}});
|
|
@@ -8,6 +8,7 @@ var _vue = require("vue");
|
|
|
8
8
|
var _comp = require("../../ui/src/comp");
|
|
9
9
|
var _ui = require("../../ui");
|
|
10
10
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
11
|
+
var _utils = require("../../ui/src/utils");
|
|
11
12
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
12
13
|
var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
|
|
13
14
|
var _backtop = _interopRequireDefault(require("../../backtop"));
|
|
@@ -30,7 +31,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
30
31
|
backtopConfig: Object,
|
|
31
32
|
useScrollbar: {
|
|
32
33
|
type: Boolean,
|
|
33
|
-
default: () => (0, _ui.getConfig)().layoutBody.useScrollbar
|
|
34
|
+
default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().layoutBody.useScrollbar, (0, _ui.getConfig)().useScrollbar)
|
|
34
35
|
},
|
|
35
36
|
scrollbarConfig: Object,
|
|
36
37
|
size: {
|
|
@@ -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")),_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,_ui.getConfig)().layoutBody.useScrollbar},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:
|
|
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 f="vxe_layout_body_backtop_"+t,g=(0,_vue.ref)(),v=(0,_ui.useSize)(p).computeSize;var a=createInternalData(),i=(0,_vue.reactive)(createReactData());let u={refElem:g},b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.backtopConfig,p.backtopConfig,{target:"#"+f})),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.scrollbarConfig,p.scrollbarConfig)),y=(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&&f||null}),viewClassName:"vxe-layout-body--scrollbar-view"+(o?" "+o:""),viewInnerClassName:"vxe-layout-body--scrollbar-inner"+(i?" "+i:"")}}),l={computeSize:v},m={xID:t,props:p,context:e,internalData:a,reactData:i,getRefMaps:()=>u,getComputeMaps:()=>l};Object.assign(m,{dispatchEvent:(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$layoutBody:m},t))}},{});return m.renderVN=()=>{var{loading:e,padding:t,showBacktop:a,useScrollbar:o}=p,i=b.value,u=y.value,r=v.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:g,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?f:"",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)(m)])},m},render(){return this.renderVN()}});
|
package/lib/list/src/list.js
CHANGED
|
@@ -63,8 +63,9 @@ function createInternalData() {
|
|
|
63
63
|
afterList: [],
|
|
64
64
|
fullKeyMaps: {},
|
|
65
65
|
rowMaps: {},
|
|
66
|
-
// 滚动条
|
|
67
66
|
// resizeObserver: undefined,
|
|
67
|
+
// 滚动条
|
|
68
|
+
// scrollObserver: undefined,
|
|
68
69
|
// isThumbDrag: false,
|
|
69
70
|
thumbDragOffset: 0,
|
|
70
71
|
yThumbTop: 0,
|
|
@@ -127,7 +128,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
127
128
|
scrollY: Object,
|
|
128
129
|
useScrollbar: {
|
|
129
130
|
type: Boolean,
|
|
130
|
-
default: () => (0, _ui.getConfig)().list.useScrollbar
|
|
131
|
+
default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().list.useScrollbar, (0, _ui.getConfig)().useScrollbar)
|
|
131
132
|
},
|
|
132
133
|
scrollbarConfig: Object
|
|
133
134
|
},
|
|
@@ -212,11 +213,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
212
213
|
});
|
|
213
214
|
const computeWrapperStyles = (0, _vue.computed)(() => {
|
|
214
215
|
const rowHeight = computeRowHeight.value;
|
|
215
|
-
const
|
|
216
|
-
const
|
|
217
|
-
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
218
|
-
const barWidth = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), (0, _ui.getConfig)().scrollbar.width);
|
|
219
|
-
const barHeight = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), (0, _ui.getConfig)().scrollbar.height);
|
|
216
|
+
const barWidth = computeScrollYWidth.value;
|
|
217
|
+
const barHeight = computeScrollXHeight.value;
|
|
220
218
|
const stys = {};
|
|
221
219
|
if (rowHeight) {
|
|
222
220
|
stys['--vxe-ui-list-row-height'] = (0, _dom.toCssUnit)(rowHeight);
|
|
@@ -258,6 +256,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
258
256
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
259
257
|
return Object.assign({}, (0, _ui.getConfig)().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
260
258
|
});
|
|
259
|
+
const computeScrollXHeight = (0, _vue.computed)(() => {
|
|
260
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
261
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
262
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), (0, _ui.getConfig)().scrollbar.height);
|
|
263
|
+
});
|
|
264
|
+
const computeScrollYWidth = (0, _vue.computed)(() => {
|
|
265
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
266
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
267
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), (0, _ui.getConfig)().scrollbar.width);
|
|
268
|
+
});
|
|
261
269
|
const computeScrollXVisible = (0, _vue.computed)(() => {
|
|
262
270
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
263
271
|
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
@@ -279,10 +287,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
279
287
|
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), (0, _ui.getConfig)().scrollbar.autoHide);
|
|
280
288
|
});
|
|
281
289
|
const computeScrollbarWrapperClss = (0, _vue.computed)(() => {
|
|
282
|
-
const scrollbarOpts = computeScrollbarOpts.value;
|
|
283
|
-
const {
|
|
284
|
-
padding
|
|
285
|
-
} = scrollbarOpts;
|
|
286
290
|
const {
|
|
287
291
|
yThumbHeight,
|
|
288
292
|
xThumbWidth
|
|
@@ -291,12 +295,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
291
295
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
292
296
|
const scrollXVisible = computeScrollXVisible.value;
|
|
293
297
|
const scrollYVisible = computeScrollYVisible.value;
|
|
294
|
-
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
295
|
-
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
296
298
|
return _ui.domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
297
|
-
'is--padding': padding,
|
|
298
|
-
'ov-x--auto-hide': scrollXAutoHide,
|
|
299
|
-
'ov-y--auto-hide': scrollYAutoHide,
|
|
300
299
|
'overflow-y': yThumbHeight,
|
|
301
300
|
'overflow-x': xThumbWidth
|
|
302
301
|
});
|
|
@@ -324,6 +323,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
324
323
|
const keyField = computeKeyField.value;
|
|
325
324
|
return getRowIdByField(row, keyField);
|
|
326
325
|
};
|
|
326
|
+
const getParentElem = () => {
|
|
327
|
+
const el = refElem.value;
|
|
328
|
+
return el ? el.parentElement : null;
|
|
329
|
+
};
|
|
327
330
|
const calcTableHeight = key => {
|
|
328
331
|
const {
|
|
329
332
|
parentHeight
|
|
@@ -2654,6 +2657,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2654
2657
|
(0, _vue.watch)(computeRowHeight, () => {
|
|
2655
2658
|
reFlag.value++;
|
|
2656
2659
|
});
|
|
2660
|
+
(0, _vue.watch)(computeScrollYWidth, () => {
|
|
2661
|
+
reFlag.value++;
|
|
2662
|
+
});
|
|
2663
|
+
(0, _vue.watch)(computeScrollXHeight, () => {
|
|
2664
|
+
reFlag.value++;
|
|
2665
|
+
});
|
|
2657
2666
|
(0, _vue.watch)(computeScrollXVisible, () => {
|
|
2658
2667
|
(0, _vue.nextTick)(() => {
|
|
2659
2668
|
reFlag.value++;
|
|
@@ -2721,20 +2730,32 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2721
2730
|
if (useKey && !keyField) {
|
|
2722
2731
|
errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
2723
2732
|
}
|
|
2724
|
-
|
|
2725
|
-
|
|
2733
|
+
const el = refElem.value;
|
|
2734
|
+
if (useScrollbar) {
|
|
2726
2735
|
const viewInnerEl = refVirtualBody.value;
|
|
2727
|
-
const
|
|
2736
|
+
const scrollObserver = _ui.globalResize.create(() => {
|
|
2728
2737
|
reFlag.value++;
|
|
2729
2738
|
});
|
|
2730
2739
|
if (el) {
|
|
2731
|
-
|
|
2732
|
-
if (autoResize) {
|
|
2733
|
-
resizeObserver.observe(el.parentElement);
|
|
2734
|
-
}
|
|
2740
|
+
scrollObserver.observe(el);
|
|
2735
2741
|
}
|
|
2736
2742
|
if (viewInnerEl) {
|
|
2737
|
-
|
|
2743
|
+
scrollObserver.observe(viewInnerEl);
|
|
2744
|
+
}
|
|
2745
|
+
internalData.scrollObserver = scrollObserver;
|
|
2746
|
+
}
|
|
2747
|
+
if (autoResize) {
|
|
2748
|
+
const parentEl = getParentElem();
|
|
2749
|
+
const resizeObserver = _ui.globalResize.create(() => {
|
|
2750
|
+
if (props.autoResize) {
|
|
2751
|
+
reFlag.value++;
|
|
2752
|
+
}
|
|
2753
|
+
});
|
|
2754
|
+
if (el) {
|
|
2755
|
+
resizeObserver.observe(el);
|
|
2756
|
+
}
|
|
2757
|
+
if (parentEl) {
|
|
2758
|
+
resizeObserver.observe(parentEl);
|
|
2738
2759
|
}
|
|
2739
2760
|
internalData.resizeObserver = resizeObserver;
|
|
2740
2761
|
}
|
|
@@ -2745,11 +2766,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2745
2766
|
});
|
|
2746
2767
|
(0, _vue.onBeforeUnmount)(() => {
|
|
2747
2768
|
const {
|
|
2769
|
+
scrollObserver,
|
|
2748
2770
|
resizeObserver
|
|
2749
2771
|
} = internalData;
|
|
2750
2772
|
if (resizeObserver) {
|
|
2751
2773
|
resizeObserver.disconnect();
|
|
2752
2774
|
}
|
|
2775
|
+
if (scrollObserver) {
|
|
2776
|
+
scrollObserver.disconnect();
|
|
2777
|
+
}
|
|
2753
2778
|
_ui.globalEvents.off($xeList, 'resize');
|
|
2754
2779
|
_xeUtils.default.assign(reactData, createReactData());
|
|
2755
2780
|
_xeUtils.default.assign(internalData, createInternalData());
|
package/lib/list/src/list.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("../../scrollbar/src/util"),_util2=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,yThumbHeight:0,xThumbWidth:0,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_ui.getConfig)().list.useScrollbar},scrollbarConfig:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(F,e){let{slots:O,emit:a}=e;var t=_xeUtils.default.uniqueId();let h=_xeUtils.default.browse(),V=(0,_ui.useSize)(F).computeSize,B=(0,_vue.reactive)(createReactData()),K=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),U=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),A=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),ee=(0,_vue.ref)(),te=(0,_vue.ref)(),re=(0,_vue.ref)(),oe=(0,_vue.ref)(),le=(0,_vue.ref)(),w={refElem:U},$={xID:t,props:F,context:e,reactData:B,internalData:K,getRefMaps:()=>w},j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,F.rowConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,F.dragConfig)),f=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,F.virtualYConfig||F.scrollY)),P=(0,_vue.computed)(()=>{var e=j.value.keyField;return e||""}),z=(0,_vue.computed)(()=>{var e=F.dragConfig,t=q.value;return e&&(0,_utils.isEnableConf)(t)}),p=(0,_vue.computed)(()=>{var e=j.value.height;return e}),N=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,F.radioConfig)),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,F.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,F.menuConfig)),ie=(0,_vue.computed)(()=>{var e=p.value,t=W.value,r=l.value,o=i.value,o=(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(o.width,t.width),(0,_ui.getConfig)().scrollbar.width),r=(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(r.height,t.height),(0,_ui.getConfig)().scrollbar.height),t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),(o||r)&&(t["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(o||r),t["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(r||o)),t}),ae=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=F,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=B,a={};return e?a.height=(0,_dom.toCssUnit)(Math.max(20,r-l-i)):t&&(a.height="auto",a.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-i))),a}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollbarConfig,F.scrollbarConfig)),l=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.xConfig,e.xConfig)}),i=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.yConfig,e.yConfig)}),se=(0,_vue.computed)(()=>{var e=W.value,t=l.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ue=(0,_vue.computed)(()=>{var e=W.value,t=i.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ne=(0,_vue.computed)(()=>{var e=W.value,t=l.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),(0,_ui.getConfig)().scrollbar.autoHide)}),ce=(0,_vue.computed)(()=>{var e=W.value,t=i.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),(0,_ui.getConfig)().scrollbar.autoHide)}),de=(0,_vue.computed)(()=>{var e=W.value.padding,{yThumbHeight:t,xThumbWidth:r}=B,o=ve.value,l=ge.value,i=se.value,a=ue.value,s=ne.value,u=ce.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===i?"hidden":"visible"),"ov-y--"+(!1===a?"hidden":"visible"),"sx-pos--"+(o?"top":"bottom"),"sy-pos--"+(l?"left":"right")],{"is--padding":e,"ov-x--auto-hide":s,"ov-y--auto-hide":u,"overflow-y":t,"overflow-x":r})}),ve=(0,_vue.computed)(()=>"top"===l.value.position),ge=(0,_vue.computed)(()=>"left"===i.value.position),_=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$list:$},t))},s=e=>{a("update:checkRowKeys",e)},u=e=>{a("update:checkRowKey",e)},R=e=>getRowIdByField(e,P.value),T=e=>{var t=B.parentHeight,e=F[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},I=()=>{var e=G.value,t=J.value;B.headHeight=e?Math.floor(e.offsetHeight):0,B.footHeight=t?Math.floor(t.offsetHeight):0,B.customHeight=T("height"),B.customMaxHeight=T("maxHeight")},m=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=K;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},L=()=>{var e=K.fullData;K.afterList=e.slice(0),Re()},b=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=K,i=P.value;e&&L();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return i&&e.forEach((e,t)=>{e=getRowIdByField(e,i),e=l[e];e&&(e.$index=t)}),B.rowList=e,(0,_vue.nextTick)()},E=()=>{b(),m()},S=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=K.scrollYStore,r=Q.value,o=f.value;let l=0,i;(i=r?(i=o.sItem?r.querySelector(o.sItem):i)||r.children[0]:i)&&(l=i.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=A.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):h.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),E):m)()}),H=()=>{var e=A.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},M=(e,t)=>{var r=A.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),B.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},he=()=>{let{lastScrollLeft:e,lastScrollTop:t}=K;return we(),H().then(()=>{if(e||t)return K.lastScrollLeft=0,K.lastScrollTop=0,M(e,t)})},we=()=>{Ze(),et()},C=()=>{var r,o=U.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),B.parentHeight=t,we(),I(),o.clientWidth&&o.clientHeight)return S()}return(0,_vue.nextTick)()},fe=e=>{var t=K.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.target.scrollTop,e=Math.floor(e/a),a=Math.max(0,e-1-i),i=e+l+i;!(e<=r||o-l-1<=e)||r===a&&o===i||(t.startIndex=a,t.endIndex=i,E())},pe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==K.lastScrollLeft,l=r!==K.lastScrollTop;et(),K.lastScrollTop=r,K.lastScrollLeft=t,B.scrollYLoad&&fe(e),_("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},xe=()=>{var e=F.checkRowKey,t=K.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},_e=()=>{var e=F.checkRowKeys,t=K.fullKeyMaps,r=P.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}K.selectCheckboxMaps=o,d()},Re=()=>{let{afterList:e,rowMaps:l}=K,i=P.value,a=0;e.forEach((e,t)=>{var r=getRowIdByField(e,i),o=l[r];o?o._index=a:(o={item:e,index:t,$index:-1,_index:a},l[r]=o),a++})},me=()=>{var e=K.fullData;let l=P.value,i={},a={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);i[o]=e,a[r]={item:e,index:t,$index:-1,_index:-1}}),K.fullKeyMaps=i,K.rowMaps=a},r=e=>{var t=K.scrollYStore,r=f.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),K.fullData=e,K.insertRowMaps={},B.insertRowFlag++,K.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),me(),b(!0),xe(),_e(),S().then(()=>{he()})},be=()=>{D(),y(),C()},Ce=()=>{var e=U.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},ye=e=>{var t=f.value.sItem,r=U.value;if(r){e=R(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},De=e=>{var t=B.dragRow,r=q.value.tooltipMethod;let o="";o=r?""+(r({$list:$,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},n=()=>{var e=le.value,t=oe.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},ke=()=>{var e=B.dragRow;e&&(n(),Ce(),y(),B.dragRow=null)},Te=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=q.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;Ce(),i&&!i(t)?(l.draggable=!1,B.dragRow=null,n()):(o&&(g.row=r,crossListDragRowObj={$oldList:$,$newList:null}),a={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,ye(r),De(l),_("row-dragstart",a,e))},Ie=()=>{ke()},c=(e,t,r,o)=>{var l=U.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=oe.value;if(s)if(r){var u=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,u.y-i.y);t+e>a&&(e=a-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}u=le.value;u&&(u.style.display="block",u.style.top=Math.min(l.clientHeight-l.scrollTop-u.clientHeight,e.clientY-i.y)+"px",u.style.left=Math.min(l.clientWidth-l.scrollLeft-u.clientWidth-1,e.clientX-i.x)+"px",u.setAttribute("drag-status",r?"normal":"disabled"))}},D=()=>{var e=U.value;n(),Ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},Le=(l,i,a,s)=>{let u=K.fullData;var e=q.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=U.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let n=R(i),c=$e(u,n);var p,x=k(a);let d=0,t=-1,r=void(v&&(x=h.querySelector(`.vxe-list--row[rowid="${x}"]`),p=h.querySelector(`.vxe-list--row[rowid="${n}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=Ae(u,i),u.splice(r,1);var e=Ae(u,a);return o=e+g,u.splice(o,0,i),b(),B.scrollYLoad&&m(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},_("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=B.rowList,l=K.fullData,i=$e(l,n),a=l[0],a=Ae(l,a),s=h;if(-1<a){var u=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>u?(u=$e(o,n),e=u+1,t=l.length,r=-1):i>c?(e=c-a,t=e+i-c):(e=i-a,t=e+c-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});u=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(u,r*d)}}a=[`.vxe-list--row[rowid="${n}"]`],i=s.querySelectorAll(a.join(",")),l=i[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(i,t-l.offsetTop)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(D(),y(),e))}D(),y()}return Promise.resolve(w)},Ee=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Se=e=>{var t=B.dragRow,{prevDragRow:r,prevDragPos:o}=K,l=q.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==$.xID)return void l.handleCrossListRowDragInsertEvent(e)}Le(e,t,r,o)},He=e=>{var t=B.dragRow,r=K.fullData,o=q.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=Ue(r,i);if(r){e.preventDefault();var a=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(K.prevDragRow=r,K.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var u=o.reactData;if(o.xID!==$.xID)return s&&s.xID!==$.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),u.isCrossDragRow=!0,B.dragTipText=u.dragTipText,crossListDragRowObj.$newList=$,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,u.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&R(t)===i?c(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},c(e,l,!0,a),_("row-dragover",o,e))}},Me=(e,t)=>{var{trigger:r,disabledMethod:o}=q.value;let l=!1;z.value&&(l="row"===r);r={row:t,$list:$};!l||o&&o(r)||Te(e,r)},Fe=(e,t)=>{var{showRadio:r,showCheckbox:o}=F,l=K.currentRow,i=N.value,a=Y.value,s=j.value.isCurrent;let u=!1,n=!1,c=!1;s?(u=!0,Xe(e,t)):l&&(K.currentRow=null,B.currRowFlag++),r&&"row"===i.trigger&&(n=!0,Ve(e,t)),o&&"row"===a.trigger&&(c=!0,We(e,t)),_("row-click",{row:t,triggerCurrent:u,triggerRadio:n,triggerCheckbox:c},e)},Oe=(e,t)=>{_("row-dblclick",{row:t},e)},k=e=>getRowKeyByField(e,P.value),o=(e,t)=>""+e==""+t,Be=(e,t)=>!(!e||!t)&&(e===t||o(R(e),R(t))),Ke=(e,t)=>e&&o(k(e),t);let Ue=(e,t)=>{let r=P.value;return _xeUtils.default.find(e,e=>o(getRowIdByField(e,r),t))},Ae=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Be(e,t)):-1,$e=(e,t)=>{let r=P.value;return _xeUtils.default.findIndexOf(e,e=>o(getRowIdByField(e,r),t))},je=e=>{var t=B.selectRadioRow;return k(t)===e};let qe=e=>{var t=B.updateCheckboxFlag,r=K.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Pe=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=P.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},ze=()=>{K.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Ne=e=>{var{fullData:t,selectCheckboxMaps:r}=K,o=P.value;if(e){var l,i=[];for(l of t){var a=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,i.push(a)}return s(i),d()}return ze()},d=()=>{var{selectCheckboxMaps:e,fullData:t}=K,r=P.value,o=Y.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:$}))if(e[getRowIdByField(a,r)])l=!0;else if(i=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(i=!0,l)break;return B.isAllChecked=l&&!i,B.isAllIndeterminate=l&&i,B.updateCheckboxFlag++,(0,_vue.nextTick)()},Ye=e=>{var t=B.isAllChecked,t=!t;t?Ne(!0):ze(),_("checkbox-all",{checked:t},e)},We=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=K.selectCheckboxMaps,l=Y.value.checkMethod,i=R(r),l=!!l&&!l({$list:$,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),B.updateCheckboxFlag++,d();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),_("checkbox-change",{row:r,value:l,checked:e},t)}},Xe=(e,t)=>{e.preventDefault();var r=j.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(K.currentRow=t,B.currRowFlag++,_("current-change",{row:t,checked:!0},e))},Ve=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=B.selectRadioRow,{strict:l,checkMethod:i}=N.value,a=k(r),i=!!i&&!i({$list:$,row:r});if(!i){i=a;let e=!0;l&&o&&a===k(o)?(e=!1,B.selectRadioRow=null):B.selectRadioRow=r,u(i),_("radio-change",{row:r,value:i,checked:e},t)}},Ge=(e,t)=>{let{fullData:o,rowMaps:l}=K,i=P.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util2.getItemCacheObj)(e);o[a](e),l[t]=r})},Je=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=K,s=P.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let u=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(u=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let n=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(u))Ge(n,!1);else if(-1===u)Ge(n,!0);else{t=o.findIndex(e=>u[s]===e[s]);if(-1<t){n.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util2.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...n)}else warnLog("vxe.error.unableInsert"),Ge(n,!0)}return n.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),B.removeRowFlag++,B.insertRowFlag++,me(),b(!0),Re(),d(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:n.length?n[n.length-1]:null,rows:n}))},Qe=(o,l)=>{var e=F.menuConfig,t=x.value,r=j.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:$,options:e,row:l})||(r?Xe(o,l):K.currentRow&&(K.currentRow=null,B.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:$};r&&r(t,o),_("menu-click",t,e.$event)}}}))),_("row-menu",{row:l},o)};e={dispatchEvent:_,loadData:r,reloadData(e){return H(),r(e)},getFullData(){var e=K.fullData;return e},recalculate:C,scrollTo:M,refreshScroll:he,clearScroll:H,getRowKey:k,eqRowKey:o,eqRow:Be,eqRowByKey:Ke,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Be(e,t)):null,findRowByKey:Ue,findRowIndexOf:Ae,findRowIndexOfByKey:$e,isCheckedByRadioRowKey:je,isCheckedByRadioRow:e=>je(k(e)),isCheckedByCheckboxRowKey:qe,isCheckedByCheckboxRow:e=>qe(k(e)),setCurrentRow:e=>(K.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=K.fullData;return K.currentRow=Ue(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=K.currentRow;return e},getCurrentRowKey:()=>{var e=K.currentRow;return e?k(e):null},clearCurrentRow:()=>(K.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=k(e);return u(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=K.fullData,t=(B.selectRadioRow=Ue(t,e),e);return u(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=B.selectRadioRow;return e},getRadioRowKey:()=>{var e=B.selectRadioRow;return e?k(e):null},clearRadioRow:()=>(B.selectRadioRow=null,u(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=K.selectCheckboxMaps,o=P.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Pe();return s(e),d()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=K,l=P.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Pe();return s(e),d()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Pe,clearCheckboxRow:ze,setAllCheckboxRow:Ne,insert(e){return Je(e,null)},insertAt(e,t){return Je(e,t)},insertNextAt(e,t){return Je(e,t,!0)},getInsertRecords(){var e=K.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=R(e);return!!B.insertRowFlag&&!!K.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=K;if(!P.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;$.isInsertByRow(e)||(t=R(e),o[t]=e)}),r===e?(e=l=r.slice(0),K.fullData=[]):e.forEach(e=>{let t=R(e);var e=_xeUtils.default.findIndexOf(r,e=>t===R(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=R(e);t[e]&&delete t[e]}),B.removeRowFlag++,B.insertRowFlag++,me(),b(!0),Re(),d(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=K.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=R(e);return!!B.removeRowFlag&&!!K.removeRowMaps[e]},getRecordset(){return{insertRecords:$.getInsertRecords(),removeRecords:$.getRemoveRecords()}}};let Ze=()=>{var e,t,r=A.value;r&&r.clientHeight&&(t=(t=Z.value)?(0,_util.getThumbSize)(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=te.value)&&(e.style.width=t+"px"),B.xThumbWidth=t,t=(e=ee.value)?(0,_util.getThumbSize)(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=re.value)&&(r.style.height=t+"px"),B.yThumbHeight=t)},et=()=>{var e,t,r,o,l=A.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=B,o=Z.value,r=te.value,o=o&&t?(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,K.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=ee.value,r=re.value,o=t&&e?(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,K.yThumbTop=o,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${o}px)`)},tt=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},rt=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},ot=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),K.thumbDragOffset=e-r)},lt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=K;if(r){r=A.value;if(r){var l=B.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},X=e=>{e.currentTarget.releasePointerCapture(e.pointerId),K.isThumbDrag=!1},it=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),K.thumbDragOffset=e-r)},at=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=K;if(r){r=A.value;if(r){var l=B.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},st=(Object.assign($,e,{handleCrossListRowDragCancelEvent(){D(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,i=K.rowMaps;let{animation:a,isCrossListDrag:e}=q.value,s=U.value;if(s&&e&&crossListDragRowObj&&g){var u=g.row;if(u){var n=R(u),i=i[n];let r=0,e=-1,o=(i&&(a&&(n=s.querySelector(`.vxe-list--row[rowid="${n}"]`))&&(r=n.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);n=[u];$.remove(n).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),_("row-remove-dragend",{row:u},t),be()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=B.rowList,o=q.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==$.xID&&(r&&r.xID!==$.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=$,K.prevDragRow=null,B.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(u){let{prevDragRow:n,prevDragPos:c}=K;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=q.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=U.value;if(s&&(a&&l)){let i=l,r=-1;n&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:n,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==$.xID&&a.handleCrossListRowDragCancelEvent(u),be(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(u),t=n?"bottom"===c?$.insertNextAt(e,n):$.insertAt(e,n):$.insert(e),$.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:n,dragRow:i,dragPos:c,offsetIndex:r},u),D(),t.then(()=>{var e=B.rowList,r=K.rowMaps,o=R(i),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){n()}}),(t,e,r,o)=>{var l=F.showRadio,{showIcon:i,visibleMethod:a}=N.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Ve(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)($)}),ut=(t,e,r,o)=>{var l=F.showCheckbox,{showIcon:i,visibleMethod:a}=Y.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||We(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)($)};let nt=(0,_vue.ref)(0),v=((0,_vue.watch)(()=>F.data?F.data.length:-1,()=>{nt.value++}),(0,_vue.watch)(()=>F.data,()=>{nt.value++}),(0,_vue.watch)(nt,()=>{r(F.data||[])}),(0,_vue.ref)(0)),ct=((0,_vue.watch)(()=>F.height,()=>{v.value++}),(0,_vue.watch)(()=>F.maxHeight,()=>{v.value++}),(0,_vue.watch)(()=>F.syncResize,()=>{v.value++}),(0,_vue.watch)(()=>F.useScrollbar,()=>{v.value++}),(0,_vue.watch)(p,()=>{v.value++}),(0,_vue.watch)(se,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(ue,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(v,()=>{C().then(()=>{C()})}),(0,_vue.watch)(()=>F.checkRowKey,()=>{xe()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>F.checkRowKeys?F.checkRowKeys.length:-1,()=>{ct.value++}),(0,_vue.watch)(()=>F.checkRowKeys,()=>{ct.value++}),(0,_vue.watch)(ct,()=>{_e()}),(0,_vue.onActivated)(()=>{C().then(()=>{he()})}),(0,_vue.nextTick)(()=>{r(F.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o,useScrollbar:l}=F,i=j.value.useKey,a=z.value,s=P.value;s||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),a&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),i&&!s&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),(l||o)&&(e=U.value,t=Q.value,r=_ui.globalResize.create(()=>{v.value++}),e&&(r.observe(e),o)&&r.observe(e.parentElement),t&&r.observe(t),K.resizeObserver=r),v.value++,_ui.globalEvents.on($,"resize",()=>{v.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=K.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off($,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(K,createInternalData())}),$.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=F,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:u,xThumbWidth:n,yThumbHeight:c}=B,d=O.default,v=O.header,g=O.footer,h=V.value,w=ie.value,f=ae.value,p=N.value,x=Y.value,{showHeader:_,headerTitle:R}=x,{trigger:m,isCrossListDrag:b}=q.value,{isHover:C,padding:y}=j.value,D=z.value,k=W.value,T=se.value,I=ue.value,L=ve.value,E=ge.value,S=ne.value,H=ce.value,M=de.value,e=e&&!1!==_,_={};return b&&!a.length&&(_.onDragover=$.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-list",o?"ov-x--"+(!1===T?"hidden":"visible"):"",o?"ov-y--"+(!1===I?"hidden":"visible"):"",o?"sx-pos--"+(L?"top":"bottom"):"",o?"sy-pos--"+(E?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:$}):t:"",{["size--"+h]:h,"is--virtual-scrollbar":o,"ov-padding":o&&k.padding,"ov-x--auto-hide":o&&S,"ov-y--auto-hide":o&&H,"overflow-y":c,"overflow-x":n,"is--drag":D,"is--loading":r}],style:w},_),[v||e?(0,_vue.h)("div",{ref:G,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":s,"is--indeterminate":u}],onClick:Ye},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?(0,_ui.getIcon)().CHECKBOX_CHECKED:u?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(R)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(R))])]):(0,_ui.renderEmptyElement)($),v?(0,_vue.h)("div",{class:"vxe-list--header-content"},v({items:a,$list:$})):(0,_ui.renderEmptyElement)($)]):(0,_ui.renderEmptyElement)($),(0,_vue.h)("div",{ref:A,class:"vxe-list--virtual-wrapper",style:f,onScroll:pe},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:Q,class:["vxe-list--body",{"trigger--row":"row"===m,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:i?i+"px":""}},d?d({items:a,$list:$}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=F,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=B,{selectCheckboxMaps:s,currentRow:u}=K,n=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=q.value,w=N.value,f=Y.value,{useKey:p,contentField:x,className:_,isCurrent:R}=j.value,m=z.value,b=P.value,C=_&&_xeUtils.default.isFunction(_),p=b||p||m||R||r||o,R=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(R);let D={row:t,$list:$},k=!1,T=!1,I=(r&&(k=l&&(t===l||Ke(l,R)),T=!!w.checkMethod&&!w.checkMethod({$list:$,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:$,row:t}));l=[];r&&l.push(st(t,y,T,k)),o&&l.push(ut(t,y,L,I));let E=!1;m&&b&&(!h||h(D))&&(w={},"row"!==d&&(E=!(!g||!g(D)),w.onMousedown=e=>{E||Te(e,D)},w.onMouseup=Ie),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:v||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},n?n(D):x?(0,_utils.getText)(t[x]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(D)));a={onMousedown(e){Me(e,t)},onMouseup:Ie,onClick(e){Fe(e,t)},onDblclick(e){Oe(e,t)},onContextmenu(e){Qe(e,t)}};return m&&(a.onDragstart=Ee,a.onDragend=Se,a.onDragover=He),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?_(D):_||"",{"is--drag-disabled":E,"is--current":i&&u&&Ke(u,R),"is-radio--disabled":T,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&b?y:void 0},a),l)})(e,t)))]),g?(0,_vue.h)("div",{ref:J,class:"vxe-list--footer-wrapper"},g({items:a,$list:$})):(0,_ui.renderEmptyElement)($),o?(0,_vue.h)("div",{class:M},[!1===T?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:Z,class:"vxe-scrollbar--track-x",onClick:tt},[(0,_vue.h)("div",{ref:te,class:"vxe-scrollbar--thumb-x",onPointerdown:ot,onPointermove:lt,onPointerup:X,onPointercancel:X,onLostpointercapture:X})]),!1===I?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:ee,class:"vxe-scrollbar--track-y",onClick:rt},[(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--thumb-y",onPointerdown:it,onPointermove:at,onPointerup:X,onPointercancel:X,onLostpointercapture:X})])]):(0,_ui.renderEmptyElement)($),(()=>{var{dragRow:e,dragTipText:t}=B,r=q.value;return z.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:oe,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:le,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)($)]):(0,_ui.renderEmptyElement)($)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},$},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("../../scrollbar/src/util"),_util2=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,yThumbHeight:0,xThumbWidth:0,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().list.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(F,e){let{slots:O,emit:a}=e;var t=_xeUtils.default.uniqueId();let h=_xeUtils.default.browse(),V=(0,_ui.useSize)(F).computeSize,B=(0,_vue.reactive)(createReactData()),K=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),U=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),A=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),ee=(0,_vue.ref)(),te=(0,_vue.ref)(),re=(0,_vue.ref)(),oe=(0,_vue.ref)(),le=(0,_vue.ref)(),w={refElem:U},$={xID:t,props:F,context:e,reactData:B,internalData:K,getRefMaps:()=>w},j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,F.rowConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,F.dragConfig)),f=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,F.virtualYConfig||F.scrollY)),P=(0,_vue.computed)(()=>{var e=j.value.keyField;return e||""}),z=(0,_vue.computed)(()=>{var e=F.dragConfig,t=q.value;return e&&(0,_utils.isEnableConf)(t)}),p=(0,_vue.computed)(()=>{var e=j.value.height;return e}),N=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,F.radioConfig)),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,F.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,F.menuConfig)),ie=(0,_vue.computed)(()=>{var e=p.value,t=I.value,r=T.value,o={};return e&&(o["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),(t||r)&&(o["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(t||r),o["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(r||t)),o}),ae=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=F,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=B,a={};return e?a.height=(0,_dom.toCssUnit)(Math.max(20,r-l-i)):t&&(a.height="auto",a.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-i))),a}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollbarConfig,F.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.xConfig,e.xConfig)}),o=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.yConfig,e.yConfig)}),T=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),(0,_ui.getConfig)().scrollbar.height)}),I=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),(0,_ui.getConfig)().scrollbar.width)}),se=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ue=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ne=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),(0,_ui.getConfig)().scrollbar.autoHide)}),ce=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),(0,_ui.getConfig)().scrollbar.autoHide)}),de=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=B,r=ve.value,o=ge.value,l=se.value,i=ue.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===l?"hidden":"visible"),"ov-y--"+(!1===i?"hidden":"visible"),"sx-pos--"+(r?"top":"bottom"),"sy-pos--"+(o?"left":"right")],{"overflow-y":e,"overflow-x":t})}),ve=(0,_vue.computed)(()=>"top"===r.value.position),ge=(0,_vue.computed)(()=>"left"===o.value.position),_=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$list:$},t))},s=e=>{a("update:checkRowKeys",e)},u=e=>{a("update:checkRowKey",e)},R=e=>getRowIdByField(e,P.value),L=e=>{var t=B.parentHeight,e=F[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},E=()=>{var e=G.value,t=J.value;B.headHeight=e?Math.floor(e.offsetHeight):0,B.footHeight=t?Math.floor(t.offsetHeight):0,B.customHeight=L("height"),B.customMaxHeight=L("maxHeight")},m=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=K;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},S=()=>{var e=K.fullData;K.afterList=e.slice(0),be()},b=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=K,i=P.value;e&&S();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return i&&e.forEach((e,t)=>{e=getRowIdByField(e,i),e=l[e];e&&(e.$index=t)}),B.rowList=e,(0,_vue.nextTick)()},H=()=>{b(),m()},M=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=K.scrollYStore,r=Q.value,o=f.value;let l=0,i;(i=r?(i=o.sItem?r.querySelector(o.sItem):i)||r.children[0]:i)&&(l=i.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=A.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):h.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),H):m)()}),he=()=>{var e=A.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},we=(e,t)=>{var r=A.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),B.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},fe=()=>{let{lastScrollLeft:e,lastScrollTop:t}=K;return pe(),he().then(()=>{if(e||t)return K.lastScrollLeft=0,K.lastScrollTop=0,we(e,t)})},pe=()=>{tt(),rt()},C=()=>{var r,o=U.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),B.parentHeight=t,pe(),E(),o.clientWidth&&o.clientHeight)return M()}return(0,_vue.nextTick)()},xe=e=>{var t=K.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.target.scrollTop,e=Math.floor(e/a),a=Math.max(0,e-1-i),i=e+l+i;!(e<=r||o-l-1<=e)||r===a&&o===i||(t.startIndex=a,t.endIndex=i,H())},_e=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==K.lastScrollLeft,l=r!==K.lastScrollTop;rt(),K.lastScrollTop=r,K.lastScrollLeft=t,B.scrollYLoad&&xe(e),_("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},Re=()=>{var e=F.checkRowKey,t=K.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},me=()=>{var e=F.checkRowKeys,t=K.fullKeyMaps,r=P.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}K.selectCheckboxMaps=o,d()},be=()=>{let{afterList:e,rowMaps:l}=K,i=P.value,a=0;e.forEach((e,t)=>{var r=getRowIdByField(e,i),o=l[r];o?o._index=a:(o={item:e,index:t,$index:-1,_index:a},l[r]=o),a++})},Ce=()=>{var e=K.fullData;let l=P.value,i={},a={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);i[o]=e,a[r]={item:e,index:t,$index:-1,_index:-1}}),K.fullKeyMaps=i,K.rowMaps=a},l=e=>{var t=K.scrollYStore,r=f.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),K.fullData=e,K.insertRowMaps={},B.insertRowFlag++,K.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),Ce(),b(!0),Re(),me(),M().then(()=>{fe()})},ye=()=>{D(),y(),C()},De=()=>{var e=U.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},ke=e=>{var t=f.value.sItem,r=U.value;if(r){e=R(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},Te=e=>{var t=B.dragRow,r=q.value.tooltipMethod;let o="";o=r?""+(r({$list:$,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},n=()=>{var e=le.value,t=oe.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},Ie=()=>{var e=B.dragRow;e&&(n(),De(),y(),B.dragRow=null)},Le=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=q.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;De(),i&&!i(t)?(l.draggable=!1,B.dragRow=null,n()):(o&&(g.row=r,crossListDragRowObj={$oldList:$,$newList:null}),a={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,ke(r),Te(l),_("row-dragstart",a,e))},Ee=()=>{Ie()},c=(e,t,r,o)=>{var l=U.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=oe.value;if(s)if(r){var u=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,u.y-i.y);t+e>a&&(e=a-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}u=le.value;u&&(u.style.display="block",u.style.top=Math.min(l.clientHeight-l.scrollTop-u.clientHeight,e.clientY-i.y)+"px",u.style.left=Math.min(l.clientWidth-l.scrollLeft-u.clientWidth-1,e.clientX-i.x)+"px",u.setAttribute("drag-status",r?"normal":"disabled"))}},D=()=>{var e=U.value;n(),De(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},Se=(l,i,a,s)=>{let u=K.fullData;var e=q.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=U.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let n=R(i),c=qe(u,n);var p,x=k(a);let d=0,t=-1,r=void(v&&(x=h.querySelector(`.vxe-list--row[rowid="${x}"]`),p=h.querySelector(`.vxe-list--row[rowid="${n}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=je(u,i),u.splice(r,1);var e=je(u,a);return o=e+g,u.splice(o,0,i),b(),B.scrollYLoad&&m(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},_("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=B.rowList,l=K.fullData,i=qe(l,n),a=l[0],a=je(l,a),s=h;if(-1<a){var u=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>u?(u=qe(o,n),e=u+1,t=l.length,r=-1):i>c?(e=c-a,t=e+i-c):(e=i-a,t=e+c-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});u=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(u,r*d)}}a=[`.vxe-list--row[rowid="${n}"]`],i=s.querySelectorAll(a.join(",")),l=i[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(i,t-l.offsetTop)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(D(),y(),e))}D(),y()}return Promise.resolve(w)},He=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Me=e=>{var t=B.dragRow,{prevDragRow:r,prevDragPos:o}=K,l=q.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==$.xID)return void l.handleCrossListRowDragInsertEvent(e)}Se(e,t,r,o)},Fe=e=>{var t=B.dragRow,r=K.fullData,o=q.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=$e(r,i);if(r){e.preventDefault();var a=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(K.prevDragRow=r,K.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var u=o.reactData;if(o.xID!==$.xID)return s&&s.xID!==$.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),u.isCrossDragRow=!0,B.dragTipText=u.dragTipText,crossListDragRowObj.$newList=$,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,u.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&R(t)===i?c(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},c(e,l,!0,a),_("row-dragover",o,e))}},Oe=(e,t)=>{var{trigger:r,disabledMethod:o}=q.value;let l=!1;z.value&&(l="row"===r);r={row:t,$list:$};!l||o&&o(r)||Le(e,r)},Be=(e,t)=>{var{showRadio:r,showCheckbox:o}=F,l=K.currentRow,i=N.value,a=Y.value,s=j.value.isCurrent;let u=!1,n=!1,c=!1;s?(u=!0,Ge(e,t)):l&&(K.currentRow=null,B.currRowFlag++),r&&"row"===i.trigger&&(n=!0,Je(e,t)),o&&"row"===a.trigger&&(c=!0,Ve(e,t)),_("row-click",{row:t,triggerCurrent:u,triggerRadio:n,triggerCheckbox:c},e)},Ke=(e,t)=>{_("row-dblclick",{row:t},e)},k=e=>getRowKeyByField(e,P.value),i=(e,t)=>""+e==""+t,Ue=(e,t)=>!(!e||!t)&&(e===t||i(R(e),R(t))),Ae=(e,t)=>e&&i(k(e),t);let $e=(e,t)=>{let r=P.value;return _xeUtils.default.find(e,e=>i(getRowIdByField(e,r),t))},je=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Ue(e,t)):-1,qe=(e,t)=>{let r=P.value;return _xeUtils.default.findIndexOf(e,e=>i(getRowIdByField(e,r),t))},Pe=e=>{var t=B.selectRadioRow;return k(t)===e};let ze=e=>{var t=B.updateCheckboxFlag,r=K.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ne=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=P.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Ye=()=>{K.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},We=e=>{var{fullData:t,selectCheckboxMaps:r}=K,o=P.value;if(e){var l,i=[];for(l of t){var a=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,i.push(a)}return s(i),d()}return Ye()},d=()=>{var{selectCheckboxMaps:e,fullData:t}=K,r=P.value,o=Y.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:$}))if(e[getRowIdByField(a,r)])l=!0;else if(i=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(i=!0,l)break;return B.isAllChecked=l&&!i,B.isAllIndeterminate=l&&i,B.updateCheckboxFlag++,(0,_vue.nextTick)()},Xe=e=>{var t=B.isAllChecked,t=!t;t?We(!0):Ye(),_("checkbox-all",{checked:t},e)},Ve=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=K.selectCheckboxMaps,l=Y.value.checkMethod,i=R(r),l=!!l&&!l({$list:$,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),B.updateCheckboxFlag++,d();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),_("checkbox-change",{row:r,value:l,checked:e},t)}},Ge=(e,t)=>{e.preventDefault();var r=j.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(K.currentRow=t,B.currRowFlag++,_("current-change",{row:t,checked:!0},e))},Je=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=B.selectRadioRow,{strict:l,checkMethod:i}=N.value,a=k(r),i=!!i&&!i({$list:$,row:r});if(!i){i=a;let e=!0;l&&o&&a===k(o)?(e=!1,B.selectRadioRow=null):B.selectRadioRow=r,u(i),_("radio-change",{row:r,value:i,checked:e},t)}},Qe=(e,t)=>{let{fullData:o,rowMaps:l}=K,i=P.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util2.getItemCacheObj)(e);o[a](e),l[t]=r})},Ze=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=K,s=P.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let u=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(u=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let n=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(u))Qe(n,!1);else if(-1===u)Qe(n,!0);else{t=o.findIndex(e=>u[s]===e[s]);if(-1<t){n.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util2.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...n)}else warnLog("vxe.error.unableInsert"),Qe(n,!0)}return n.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),B.removeRowFlag++,B.insertRowFlag++,Ce(),b(!0),be(),d(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:n.length?n[n.length-1]:null,rows:n}))},et=(o,l)=>{var e=F.menuConfig,t=x.value,r=j.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:$,options:e,row:l})||(r?Ge(o,l):K.currentRow&&(K.currentRow=null,B.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:$};r&&r(t,o),_("menu-click",t,e.$event)}}}))),_("row-menu",{row:l},o)};e={dispatchEvent:_,loadData:l,reloadData(e){return he(),l(e)},getFullData(){var e=K.fullData;return e},recalculate:C,scrollTo:we,refreshScroll:fe,clearScroll:he,getRowKey:k,eqRowKey:i,eqRow:Ue,eqRowByKey:Ae,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Ue(e,t)):null,findRowByKey:$e,findRowIndexOf:je,findRowIndexOfByKey:qe,isCheckedByRadioRowKey:Pe,isCheckedByRadioRow:e=>Pe(k(e)),isCheckedByCheckboxRowKey:ze,isCheckedByCheckboxRow:e=>ze(k(e)),setCurrentRow:e=>(K.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=K.fullData;return K.currentRow=$e(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=K.currentRow;return e},getCurrentRowKey:()=>{var e=K.currentRow;return e?k(e):null},clearCurrentRow:()=>(K.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=k(e);return u(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=K.fullData,t=(B.selectRadioRow=$e(t,e),e);return u(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=B.selectRadioRow;return e},getRadioRowKey:()=>{var e=B.selectRadioRow;return e?k(e):null},clearRadioRow:()=>(B.selectRadioRow=null,u(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=K.selectCheckboxMaps,o=P.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ne();return s(e),d()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=K,l=P.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ne();return s(e),d()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ne,clearCheckboxRow:Ye,setAllCheckboxRow:We,insert(e){return Ze(e,null)},insertAt(e,t){return Ze(e,t)},insertNextAt(e,t){return Ze(e,t,!0)},getInsertRecords(){var e=K.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=R(e);return!!B.insertRowFlag&&!!K.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=K;if(!P.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;$.isInsertByRow(e)||(t=R(e),o[t]=e)}),r===e?(e=l=r.slice(0),K.fullData=[]):e.forEach(e=>{let t=R(e);var e=_xeUtils.default.findIndexOf(r,e=>t===R(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=R(e);t[e]&&delete t[e]}),B.removeRowFlag++,B.insertRowFlag++,Ce(),b(!0),be(),d(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=K.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=R(e);return!!B.removeRowFlag&&!!K.removeRowMaps[e]},getRecordset(){return{insertRecords:$.getInsertRecords(),removeRecords:$.getRemoveRecords()}}};let tt=()=>{var e,t,r=A.value;r&&r.clientHeight&&(t=(t=Z.value)?(0,_util.getThumbSize)(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=te.value)&&(e.style.width=t+"px"),B.xThumbWidth=t,t=(e=ee.value)?(0,_util.getThumbSize)(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=re.value)&&(r.style.height=t+"px"),B.yThumbHeight=t)},rt=()=>{var e,t,r,o,l=A.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=B,o=Z.value,r=te.value,o=o&&t?(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,K.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=ee.value,r=re.value,o=t&&e?(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,K.yThumbTop=o,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${o}px)`)},ot=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},lt=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},it=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),K.thumbDragOffset=e-r)},at=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=K;if(r){r=A.value;if(r){var l=B.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},X=e=>{e.currentTarget.releasePointerCapture(e.pointerId),K.isThumbDrag=!1},st=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),K.thumbDragOffset=e-r)},ut=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=K;if(r){r=A.value;if(r){var l=B.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},nt=(Object.assign($,e,{handleCrossListRowDragCancelEvent(){D(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,i=K.rowMaps;let{animation:a,isCrossListDrag:e}=q.value,s=U.value;if(s&&e&&crossListDragRowObj&&g){var u=g.row;if(u){var n=R(u),i=i[n];let r=0,e=-1,o=(i&&(a&&(n=s.querySelector(`.vxe-list--row[rowid="${n}"]`))&&(r=n.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);n=[u];$.remove(n).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),_("row-remove-dragend",{row:u},t),ye()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=B.rowList,o=q.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==$.xID&&(r&&r.xID!==$.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=$,K.prevDragRow=null,B.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(u){let{prevDragRow:n,prevDragPos:c}=K;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=q.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=U.value;if(s&&(a&&l)){let i=l,r=-1;n&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:n,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==$.xID&&a.handleCrossListRowDragCancelEvent(u),ye(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(u),t=n?"bottom"===c?$.insertNextAt(e,n):$.insertAt(e,n):$.insert(e),$.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:n,dragRow:i,dragPos:c,offsetIndex:r},u),D(),t.then(()=>{var e=B.rowList,r=K.rowMaps,o=R(i),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){n()}}),(t,e,r,o)=>{var l=F.showRadio,{showIcon:i,visibleMethod:a}=N.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Je(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)($)}),ct=(t,e,r,o)=>{var l=F.showCheckbox,{showIcon:i,visibleMethod:a}=Y.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Ve(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)($)};let dt=(0,_vue.ref)(0),v=((0,_vue.watch)(()=>F.data?F.data.length:-1,()=>{dt.value++}),(0,_vue.watch)(()=>F.data,()=>{dt.value++}),(0,_vue.watch)(dt,()=>{l(F.data||[])}),(0,_vue.ref)(0)),vt=((0,_vue.watch)(()=>F.height,()=>{v.value++}),(0,_vue.watch)(()=>F.maxHeight,()=>{v.value++}),(0,_vue.watch)(()=>F.syncResize,()=>{v.value++}),(0,_vue.watch)(()=>F.useScrollbar,()=>{v.value++}),(0,_vue.watch)(p,()=>{v.value++}),(0,_vue.watch)(I,()=>{v.value++}),(0,_vue.watch)(T,()=>{v.value++}),(0,_vue.watch)(se,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(ue,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(v,()=>{C().then(()=>{C()})}),(0,_vue.watch)(()=>F.checkRowKey,()=>{Re()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>F.checkRowKeys?F.checkRowKeys.length:-1,()=>{vt.value++}),(0,_vue.watch)(()=>F.checkRowKeys,()=>{vt.value++}),(0,_vue.watch)(vt,()=>{me()}),(0,_vue.onActivated)(()=>{C().then(()=>{fe()})}),(0,_vue.nextTick)(()=>{l(F.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o,useScrollbar:l}=F,i=j.value.useKey,a=z.value,s=P.value,e=(s||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),a&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),i&&!s&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),U.value);l&&(t=Q.value,r=_ui.globalResize.create(()=>{v.value++}),e&&r.observe(e),t&&r.observe(t),K.scrollObserver=r),o&&(i=(a=U.value)?a.parentElement:null,s=_ui.globalResize.create(()=>{F.autoResize&&v.value++}),e&&s.observe(e),i&&s.observe(i),K.resizeObserver=s),v.value++,_ui.globalEvents.on($,"resize",()=>{v.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=K;t&&t.disconnect(),e&&e.disconnect(),_ui.globalEvents.off($,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(K,createInternalData())}),$.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=F,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:u,xThumbWidth:n,yThumbHeight:c}=B,d=O.default,v=O.header,g=O.footer,h=V.value,w=ie.value,f=ae.value,p=N.value,x=Y.value,{showHeader:_,headerTitle:R}=x,{trigger:m,isCrossListDrag:b}=q.value,{isHover:C,padding:y}=j.value,D=z.value,k=W.value,T=se.value,I=ue.value,L=ve.value,E=ge.value,S=ne.value,H=ce.value,M=de.value,e=e&&!1!==_,_={};return b&&!a.length&&(_.onDragover=$.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-list",o?"ov-x--"+(!1===T?"hidden":"visible"):"",o?"ov-y--"+(!1===I?"hidden":"visible"):"",o?"sx-pos--"+(L?"top":"bottom"):"",o?"sy-pos--"+(E?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:$}):t:"",{["size--"+h]:h,"is--virtual-scrollbar":o,"ov-padding":o&&k.padding,"ov-x--auto-hide":o&&S,"ov-y--auto-hide":o&&H,"overflow-y":c,"overflow-x":n,"is--drag":D,"is--loading":r}],style:w},_),[v||e?(0,_vue.h)("div",{ref:G,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":s,"is--indeterminate":u}],onClick:Xe},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?(0,_ui.getIcon)().CHECKBOX_CHECKED:u?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(R)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(R))])]):(0,_ui.renderEmptyElement)($),v?(0,_vue.h)("div",{class:"vxe-list--header-content"},v({items:a,$list:$})):(0,_ui.renderEmptyElement)($)]):(0,_ui.renderEmptyElement)($),(0,_vue.h)("div",{ref:A,class:"vxe-list--virtual-wrapper",style:f,onScroll:_e},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:Q,class:["vxe-list--body",{"trigger--row":"row"===m,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:i?i+"px":""}},d?d({items:a,$list:$}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=F,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=B,{selectCheckboxMaps:s,currentRow:u}=K,n=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=q.value,w=N.value,f=Y.value,{useKey:p,contentField:x,className:_,isCurrent:R}=j.value,m=z.value,b=P.value,C=_&&_xeUtils.default.isFunction(_),p=b||p||m||R||r||o,R=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(R);let D={row:t,$list:$},k=!1,T=!1,I=(r&&(k=l&&(t===l||Ae(l,R)),T=!!w.checkMethod&&!w.checkMethod({$list:$,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:$,row:t}));l=[];r&&l.push(nt(t,y,T,k)),o&&l.push(ct(t,y,L,I));let E=!1;m&&b&&(!h||h(D))&&(w={},"row"!==d&&(E=!(!g||!g(D)),w.onMousedown=e=>{E||Le(e,D)},w.onMouseup=Ee),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:v||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},n?n(D):x?(0,_utils.getText)(t[x]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(D)));a={onMousedown(e){Oe(e,t)},onMouseup:Ee,onClick(e){Be(e,t)},onDblclick(e){Ke(e,t)},onContextmenu(e){et(e,t)}};return m&&(a.onDragstart=He,a.onDragend=Me,a.onDragover=Fe),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?_(D):_||"",{"is--drag-disabled":E,"is--current":i&&u&&Ae(u,R),"is-radio--disabled":T,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&b?y:void 0},a),l)})(e,t)))]),g?(0,_vue.h)("div",{ref:J,class:"vxe-list--footer-wrapper"},g({items:a,$list:$})):(0,_ui.renderEmptyElement)($),o?(0,_vue.h)("div",{class:M},[!1===T?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:Z,class:"vxe-scrollbar--track-x",onClick:ot},[(0,_vue.h)("div",{ref:te,class:"vxe-scrollbar--thumb-x",onPointerdown:it,onPointermove:at,onPointerup:X,onPointercancel:X,onLostpointercapture:X})]),!1===I?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:ee,class:"vxe-scrollbar--track-y",onClick:lt},[(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--thumb-y",onPointerdown:st,onPointermove:ut,onPointerup:X,onPointercancel:X,onLostpointercapture:X})])]):(0,_ui.renderEmptyElement)($),(()=>{var{dragRow:e,dragTipText:t}=B,r=q.value;return z.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:oe,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:le,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)($)]):(0,_ui.renderEmptyElement)($)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},$},render(){return this.renderVN()}});
|
package/lib/menu/src/menu.js
CHANGED
|
@@ -79,7 +79,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
79
79
|
menuConfig: Object,
|
|
80
80
|
useScrollbar: {
|
|
81
81
|
type: Boolean,
|
|
82
|
-
default: () => getConfig().menu.useScrollbar
|
|
82
|
+
default: () => (0, _utils.getDefaultConfig)(getConfig().menu.useScrollbar, getConfig().useScrollbar)
|
|
83
83
|
},
|
|
84
84
|
scrollbarConfig: Object,
|
|
85
85
|
appendTo: {
|
package/lib/menu/src/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>getConfig().menu.useScrollbar},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=(0,_ui.useSize)(C).computeSize,M=(0,_vue.reactive)(createReactData()),T=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),I=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),A=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),U=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),V=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),K={computeSize:k},O={xID:t,props:C,context:e,reactData:M,internalData:T,getRefMaps:()=>l,getComputeMaps:()=>K},D=e=>""+(e.title||e.name),c=u=>{let r=M.activeName,o=T.menuInitMaps;_xeUtils.default.eachTree(M.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=I.value,x=A.value,g={},f=(t&&t.forEach(e=>{g[e]=!0}),{}),h={};M.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:g[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),T.menuInitMaps=v,T.menuCacheMaps=f,T.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),M.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:M.collapseZindex}:{})}})},z=()=>{var e=C.collapseFixed;e&&(e=M.initialized,L.value&&!e&&(M.initialized=!0),M.isEnterCollapse=!1,M.collapseZindex<(0,_utils.getLastZIndex)()&&(M.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=T,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},B=e=>{M.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},j=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(B(n),M.isEnterCollapse=!1,T.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=T.lastActiveTime;e<Date.now()-500&&(M.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),M.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},x=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=T;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=M.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),T.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=T.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return x(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{x(i)})},scrollToActiveMenu(){var e=M.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=M.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let N=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=D(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},S=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=M.isEnterCollapse,_=T.menuInitMaps,x=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){j(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":x=(!x||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),N(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>N(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?m.map(e=>S(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let g=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>C.options,()=>{g.value++}),(0,_vue.watch)(g,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{M.activeName=e}),(0,_vue.watch)(()=>M.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{z()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(T,createInternalData())}),M.initialized=!!C.collapsed,M.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i,useScrollbar:n}=C;let{initialized:l,menuList:a,collapseStyle:u,isEnterCollapse:r}=M;var o=k.value;let s=L.value;var c=w.value,v=V.value,m=U.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,x=f.footer;let g={};t&&(g={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+o]:o,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},a.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){j(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),N(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>N(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>S(e,v))):(0,_ui.renderEmptyElement)(O)]))}:S)(e,a))),x?(0,_vue.h)("div",{class:"vxe-menu--footer"},x(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!l},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":s,"is--enter":r,"is--loading":e}],style:Object.assign({},v,u)},g),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),n&&r?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>a.map(e=>S(e,a))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},a.map(e=>S(e,a))),x?(0,_vue.h)("div",{class:"vxe-menu--footer"},x(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().menu.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=(0,_ui.useSize)(C).computeSize,M=(0,_vue.reactive)(createReactData()),T=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),I=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),A=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),U=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),V=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),D={computeSize:k},O={xID:t,props:C,context:e,reactData:M,internalData:T,getRefMaps:()=>l,getComputeMaps:()=>D},K=e=>""+(e.title||e.name),c=u=>{let r=M.activeName,o=T.menuInitMaps;_xeUtils.default.eachTree(M.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=I.value,g=A.value,x={},f=(t&&t.forEach(e=>{x[e]=!0}),{}),h={};M.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[g],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),T.menuInitMaps=v,T.menuCacheMaps=f,T.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),M.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:M.collapseZindex}:{})}})},z=()=>{var e=C.collapseFixed;e&&(e=M.initialized,L.value&&!e&&(M.initialized=!0),M.isEnterCollapse=!1,M.collapseZindex<(0,_utils.getLastZIndex)()&&(M.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=T,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},B=e=>{M.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},S=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(B(n),M.isEnterCollapse=!1,T.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=T.lastActiveTime;e<Date.now()-500&&(M.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),M.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},g=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=T;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=M.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),T.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=T.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return g(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{g(i)})},scrollToActiveMenu(){var e=M.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=M.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let j=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=K(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},N=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=M.isEnterCollapse,_=T.menuInitMaps,g=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":g=(!g||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),j(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},g||_[e]?m.map(e=>N(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let x=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{x.value++}),(0,_vue.watch)(()=>C.options,()=>{x.value++}),(0,_vue.watch)(x,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{M.activeName=e}),(0,_vue.watch)(()=>M.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{z()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(T,createInternalData())}),M.initialized=!!C.collapsed,M.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i,useScrollbar:n}=C;let{initialized:l,menuList:a,collapseStyle:u,isEnterCollapse:r}=M;var o=k.value;let s=L.value;var c=w.value,v=V.value,m=U.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,g=f.footer;let x={};t&&(x={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+o]:o,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},a.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),j(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>N(e,v))):(0,_ui.renderEmptyElement)(O)]))}:N)(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!l},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":s,"is--enter":r,"is--loading":e}],style:Object.assign({},v,u)},x),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),n&&r?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>a.map(e=>N(e,a))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},a.map(e=>N(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},render(){return this.renderVN()}});
|
package/lib/modal/src/modal.js
CHANGED
|
@@ -15,6 +15,7 @@ var _log = require("../../ui/src/log");
|
|
|
15
15
|
var _store = require("./store");
|
|
16
16
|
var _button = _interopRequireDefault(require("../../button"));
|
|
17
17
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
18
|
+
var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
const {
|
|
20
21
|
warnLog,
|
|
@@ -224,6 +225,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
224
225
|
},
|
|
225
226
|
beforeHideMethod: Function,
|
|
226
227
|
slots: Object,
|
|
228
|
+
useScrollbar: {
|
|
229
|
+
type: Boolean,
|
|
230
|
+
default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().modal.useScrollbar, (0, _ui.getConfig)().useScrollbar)
|
|
231
|
+
},
|
|
232
|
+
scrollbarConfig: Object,
|
|
227
233
|
/**
|
|
228
234
|
* 已废弃
|
|
229
235
|
* @deprecated
|
|
@@ -295,6 +301,28 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
295
301
|
const computeZoomOpts = (0, _vue.computed)(() => {
|
|
296
302
|
return Object.assign({}, (0, _ui.getConfig)().modal.zoomConfig, props.zoomConfig);
|
|
297
303
|
});
|
|
304
|
+
const computeScrollbarOpts = (0, _vue.computed)(() => {
|
|
305
|
+
return Object.assign({}, (0, _ui.getConfig)().modal.scrollbarConfig, props.scrollbarConfig);
|
|
306
|
+
});
|
|
307
|
+
const computeScrollbarProps = (0, _vue.computed)(() => {
|
|
308
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
309
|
+
const {
|
|
310
|
+
viewClassName,
|
|
311
|
+
viewInnerClassName
|
|
312
|
+
} = scrollbarOpts;
|
|
313
|
+
return {
|
|
314
|
+
width: scrollbarOpts.width,
|
|
315
|
+
height: scrollbarOpts.height,
|
|
316
|
+
autoHide: scrollbarOpts.autoHide,
|
|
317
|
+
visible: scrollbarOpts.visible,
|
|
318
|
+
xConfig: scrollbarOpts.xConfig,
|
|
319
|
+
yConfig: scrollbarOpts.yConfig,
|
|
320
|
+
className: scrollbarOpts.className,
|
|
321
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
322
|
+
viewClassName: 'vxe-modal--scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
323
|
+
viewInnerClassName: 'vxe-modal--scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
|
|
324
|
+
};
|
|
325
|
+
});
|
|
298
326
|
const computeMaps = {
|
|
299
327
|
computeSize,
|
|
300
328
|
computeZoomOpts
|
|
@@ -1415,10 +1443,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1415
1443
|
status,
|
|
1416
1444
|
message,
|
|
1417
1445
|
iconStatus,
|
|
1446
|
+
useScrollbar,
|
|
1418
1447
|
useHtml
|
|
1419
1448
|
} = props;
|
|
1420
1449
|
const content = props.content || message;
|
|
1421
1450
|
const isMsg = computeIsMsg.value;
|
|
1451
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
1422
1452
|
const defaultSlot = slots.default || propSlots.default;
|
|
1423
1453
|
const leftSlot = slots.left || propSlots.left;
|
|
1424
1454
|
const rightSlot = slots.right || propSlots.right;
|
|
@@ -1430,16 +1460,37 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1430
1460
|
class: ['vxe-modal--status-icon', iconStatus || (0, _ui.getIcon)()[`MODAL_${status}`.toLocaleUpperCase()]]
|
|
1431
1461
|
})]));
|
|
1432
1462
|
}
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1463
|
+
if (useHtml && !defaultSlot) {
|
|
1464
|
+
contVNs.push(useScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1465
|
+
key: 'shc',
|
|
1466
|
+
class: 'vxe-modal--scrollbar-content'
|
|
1467
|
+
}, scrollbarProps), {
|
|
1468
|
+
default() {
|
|
1469
|
+
return [(0, _vue.h)('div', {
|
|
1470
|
+
class: 'vxe-modal--scrollbar-content-html',
|
|
1471
|
+
innerHTML: (0, _utils.getFuncText)(content)
|
|
1472
|
+
})];
|
|
1473
|
+
}
|
|
1474
|
+
}) : (0, _vue.h)('div', {
|
|
1475
|
+
key: 'hc',
|
|
1476
|
+
class: 'vxe-modal--content',
|
|
1477
|
+
innerHTML: (0, _utils.getFuncText)(content)
|
|
1478
|
+
}));
|
|
1479
|
+
} else {
|
|
1480
|
+
contVNs.push(useScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1481
|
+
key: 'sdc',
|
|
1482
|
+
class: 'vxe-modal--scrollbar-content'
|
|
1483
|
+
}, scrollbarProps), {
|
|
1484
|
+
default: () => defaultSlot ? (0, _vn.getSlotVNs)(defaultSlot({
|
|
1485
|
+
$modal: $xeModal
|
|
1486
|
+
})) : (0, _utils.getFuncText)(content)
|
|
1487
|
+
}) : (0, _vue.h)('div', {
|
|
1488
|
+
key: 'dc',
|
|
1489
|
+
class: 'vxe-modal--content'
|
|
1490
|
+
}, defaultSlot ? (0, _vn.getSlotVNs)(defaultSlot({
|
|
1491
|
+
$modal: $xeModal
|
|
1492
|
+
})) : (0, _utils.getFuncText)(content)));
|
|
1493
|
+
}
|
|
1443
1494
|
return (0, _vue.h)('div', {
|
|
1444
1495
|
class: 'vxe-modal--body'
|
|
1445
1496
|
}, [leftSlot ? (0, _vue.h)('div', {
|