vxe-pc-ui 4.20.7 → 4.20.9

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.
Files changed (92) hide show
  1. package/dist/all.esm.js +915 -820
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +8 -6
  5. package/es/drawer/src/drawer.js +7 -5
  6. package/es/icon/style.css +1 -1
  7. package/es/layout-aside/src/layout-aside.js +6 -4
  8. package/es/layout-body/src/layout-body.js +6 -4
  9. package/es/layout-container/src/layout-container.js +11 -3
  10. package/es/list/src/list.js +79 -50
  11. package/es/menu/src/menu.js +7 -5
  12. package/es/modal/src/modal.js +7 -5
  13. package/es/scrollbar/src/scrollbar.js +8 -0
  14. package/es/style.css +1 -1
  15. package/es/style.min.css +1 -1
  16. package/es/tabs/src/tabs.js +5 -4
  17. package/es/tooltip/src/tooltip.js +15 -7
  18. package/es/tree/src/tree.js +74 -45
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/lib/card/src/card.js +9 -6
  22. package/lib/card/src/card.min.js +1 -1
  23. package/lib/drawer/src/drawer.js +7 -4
  24. package/lib/drawer/src/drawer.min.js +1 -1
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1 -1
  27. package/lib/index.umd.js +371 -163
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/layout-aside/src/layout-aside.js +7 -4
  30. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  31. package/lib/layout-body/src/layout-body.js +7 -4
  32. package/lib/layout-body/src/layout-body.min.js +1 -1
  33. package/lib/layout-container/src/layout-container.js +20 -4
  34. package/lib/layout-container/src/layout-container.min.js +1 -1
  35. package/lib/list/src/list.js +79 -47
  36. package/lib/list/src/list.min.js +1 -1
  37. package/lib/menu/src/menu.js +8 -4
  38. package/lib/menu/src/menu.min.js +1 -1
  39. package/lib/modal/src/modal.js +7 -4
  40. package/lib/modal/src/modal.min.js +1 -1
  41. package/lib/scrollbar/src/scrollbar.js +8 -0
  42. package/lib/style.css +1 -1
  43. package/lib/style.min.css +1 -1
  44. package/lib/tabs/src/tabs.js +6 -5
  45. package/lib/tabs/src/tabs.min.js +1 -1
  46. package/lib/tooltip/src/tooltip.js +15 -6
  47. package/lib/tooltip/src/tooltip.min.js +1 -1
  48. package/lib/tree/src/tree.js +74 -43
  49. package/lib/tree/src/tree.min.js +1 -1
  50. package/lib/ui/index.js +1 -1
  51. package/lib/ui/index.min.js +1 -1
  52. package/lib/ui/src/log.js +1 -1
  53. package/lib/ui/src/log.min.js +1 -1
  54. package/package.json +2 -2
  55. package/packages/card/src/card.ts +8 -6
  56. package/packages/drawer/src/drawer.ts +7 -5
  57. package/packages/layout-aside/src/layout-aside.ts +6 -4
  58. package/packages/layout-body/src/layout-body.ts +6 -4
  59. package/packages/layout-container/src/layout-container.ts +13 -3
  60. package/packages/list/src/list.ts +81 -50
  61. package/packages/menu/src/menu.ts +7 -5
  62. package/packages/modal/src/modal.ts +7 -5
  63. package/packages/scrollbar/src/scrollbar.ts +8 -1
  64. package/packages/tabs/src/tabs.ts +5 -4
  65. package/packages/tooltip/src/tooltip.ts +15 -7
  66. package/packages/tree/src/tree.ts +76 -45
  67. package/types/components/card.d.ts +2 -2
  68. package/types/components/drawer.d.ts +2 -2
  69. package/types/components/grid.d.ts +3 -1
  70. package/types/components/layout-aside.d.ts +2 -2
  71. package/types/components/layout-body.d.ts +2 -2
  72. package/types/components/layout-container.d.ts +3 -1
  73. package/types/components/list.d.ts +2 -2
  74. package/types/components/menu.d.ts +2 -2
  75. package/types/components/modal.d.ts +2 -2
  76. package/types/components/scrollbar.d.ts +10 -0
  77. package/types/components/table.d.ts +9 -5
  78. package/types/components/tabs.d.ts +2 -2
  79. package/types/components/tooltip.d.ts +2 -2
  80. package/types/components/tree.d.ts +2 -2
  81. /package/es/icon/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  82. /package/es/icon/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  83. /package/es/icon/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  84. /package/es/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  85. /package/es/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  86. /package/es/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  87. /package/lib/icon/style/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  88. /package/lib/icon/style/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  89. /package/lib/icon/style/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  90. /package/lib/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  91. /package/lib/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  92. /package/lib/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
@@ -42,7 +42,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
42
42
  const refElem = (0, _vue.ref)();
43
43
  const {
44
44
  computeSize
45
- } = (0, _ui.useSize)(props);
45
+ } = _ui.useFns.useSize(props);
46
+ const {
47
+ computeIsVScrollbar
48
+ } = _ui.useFns.useVScrollbar(props);
46
49
  const reactData = (0, _vue.reactive)({});
47
50
  const refMaps = {
48
51
  refElem
@@ -93,11 +96,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
93
96
  const {
94
97
  collapsed,
95
98
  loading,
96
- padding,
97
- useScrollbar
99
+ padding
98
100
  } = props;
99
101
  const varStyle = computeVarStyle.value;
100
102
  const vSize = computeSize.value;
103
+ const isVScrollbar = computeIsVScrollbar.value;
101
104
  const collapseOpts = computeCollapseOpts.value;
102
105
  const scrollbarOpts = computeScrollbarOpts.value;
103
106
  const {
@@ -116,7 +119,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
116
119
  'is--loading': loading
117
120
  }],
118
121
  style: varStyle
119
- }, [useScrollbar ? (0, _vue.h)(_scrollbar.default, {
122
+ }, [isVScrollbar ? (0, _vue.h)(_scrollbar.default, {
120
123
  width: scrollbarOpts.width,
121
124
  height: scrollbarOpts.height,
122
125
  autoHide: scrollbarOpts.autoHide,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,collapseConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutAside.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutAside.size||(0,_ui.getConfig)().size}},emits:[],setup(v,e){let{slots:g,emit: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()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,collapseConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutAside.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutAside.size||(0,_ui.getConfig)().size}},emits:[],setup(v,e){let{slots:g,emit:l}=e;var i=_xeUtils.default.uniqueId();let p=(0,_vue.ref)(),_=_ui.useFns.useSize(v).computeSize,f=_ui.useFns.useVScrollbar(v).computeIsVScrollbar;var a=(0,_vue.reactive)({});let t={refElem:p},m=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.collapseConfig,v.collapseConfig)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutAside.scrollbarConfig,v.scrollbarConfig)),C=(0,_vue.computed)(()=>{var{width:e,collapseWidth:i}=v,a={};return i&&(a["--vxe-ui-layout-aside-collapse-width"]=(0,_dom.toCssUnit)(i)),e&&(a["--vxe-ui-layout-aside-default-width"]=(0,_dom.toCssUnit)(e)),a}),u={computeSize:_,computeVarStyle:C},s={xID:i,props:v,context:e,reactData:a,getRefMaps:()=>t,getComputeMaps:()=>u};Object.assign(s,{dispatchEvent:(e,i,a)=>{l(e,(0,_ui.createEvent)(a,{$layoutAside:s},i))}},{});return(0,_vue.provide)("$xeLayoutAside",s),s.renderVN=()=>{var{collapsed:e,loading:i,padding:a}=v,l=C.value,t=_.value,u=f.value,s=m.value,o=b.value,{className:r,viewClassName:n,viewInnerClassName:d}=o;let c=g.default;return(0,_vue.h)("aside",{ref:p,class:["vxe-layout-aside",{["size--"+t]:t,"is--animat":!1!==s.animation,"is--padding":a,"is--collapse":e,"is--loading":i}],style:l},[u?(0,_vue.h)(_scrollbar.default,{width:o.width,height:o.height,autoHide:o.autoHide,visible:o.visible,xConfig:{visible:!1},yConfig:o.yConfig,className:"vxe-layout-aside--scrollbar"+(r?" "+r:""),viewAttrs:o.viewAttrs,viewClassName:"vxe-layout-aside--scrollbar-view"+(n?" "+n:""),viewInnerClassName:"vxe-layout-aside--scrollbar-inner"+(d?" "+d:"")},{default:()=>c?c({}):[]}):(0,_vue.h)("div",{class:"vxe-layout-aside--inner"},c?c({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-layout-aside-view--loading",modelValue:i})])},s},render(){return this.renderVN()}});
@@ -50,7 +50,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
50
50
  const refElem = (0, _vue.ref)();
51
51
  const {
52
52
  computeSize
53
- } = (0, _ui.useSize)(props);
53
+ } = _ui.useFns.useSize(props);
54
+ const {
55
+ computeIsVScrollbar
56
+ } = _ui.useFns.useVScrollbar(props);
54
57
  const internalData = createInternalData();
55
58
  const reactData = (0, _vue.reactive)(createReactData());
56
59
  const refMaps = {
@@ -115,9 +118,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
115
118
  const {
116
119
  loading,
117
120
  padding,
118
- showBacktop,
119
- useScrollbar
121
+ showBacktop
120
122
  } = props;
123
+ const isVScrollbar = computeIsVScrollbar.value;
121
124
  const backtopOpts = computeBacktopOpts.value;
122
125
  const scrollbarProps = computeScrollbarProps.value;
123
126
  const vSize = computeSize.value;
@@ -142,7 +145,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
142
145
  'is--loading': loading,
143
146
  'is--padding': padding
144
147
  }]
145
- }, [useScrollbar ? (0, _vue.h)(_scrollbar.default, scrollbarProps, {
148
+ }, [isVScrollbar ? (0, _vue.h)(_scrollbar.default, scrollbarProps, {
146
149
  default: () => defaultSlot ? defaultSlot({}) : []
147
150
  }) : (0, _vue.h)('div', {
148
151
  id: showBacktop ? backtopId : '',
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar")),_backtop=_interopRequireDefault(require("../../backtop"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,showBacktop:{type:Boolean,default:()=>(0,_ui.getConfig)().layoutBody.showBacktop},backtopConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutBody.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:_,emit:o}=e;var t=_xeUtils.default.uniqueId();let 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()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar")),_backtop=_interopRequireDefault(require("../../backtop"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,showBacktop:{type:Boolean,default:()=>(0,_ui.getConfig)().layoutBody.showBacktop},backtopConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().layoutBody.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:_,emit:o}=e;var t=_xeUtils.default.uniqueId();let v="vxe_layout_body_backtop_"+t,f=(0,_vue.ref)(),g=_ui.useFns.useSize(p).computeSize,b=_ui.useFns.useVScrollbar(p).computeIsVScrollbar;var a=createInternalData(),i=(0,_vue.reactive)(createReactData());let u={refElem:f},y=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.backtopConfig,p.backtopConfig,{target:"#"+v})),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().layoutBody.scrollbarConfig,p.scrollbarConfig)),m=(0,_vue.computed)(()=>{var e=p.showBacktop,t=r.value,{className:a,viewClassName:o,viewInnerClassName:i}=t;return{width:t.width,height:t.height,autoHide:t.autoHide,visible:t.visible,xConfig:t.xConfig,yConfig:t.yConfig,className:"vxe-layout-body--scrollbar"+(a?" "+a:""),viewAttrs:Object.assign(Object.assign({},t.viewAttrs),{id:e&&v||null}),viewClassName:"vxe-layout-body--scrollbar-view"+(o?" "+o:""),viewInnerClassName:"vxe-layout-body--scrollbar-inner"+(i?" "+i:"")}}),l={computeSize:g},C={xID:t,props:p,context:e,internalData:a,reactData:i,getRefMaps:()=>u,getComputeMaps:()=>l};Object.assign(C,{dispatchEvent:(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$layoutBody:C},t))}},{});return C.renderVN=()=>{var{loading:e,padding:t,showBacktop:a}=p,o=b.value,i=y.value,u=m.value,r=g.value;let l=_.default;var n=_.backtop,s=_.backtopTop||_["backtop-top"],c=_.backtopBottom||_["backtop-bottom"],d={};return n&&(d.default=n),s&&(d.top=s),c&&(d.bottom=c),(0,_vue.h)("div",{ref:f,class:["vxe-layout-body",{["size--"+r]:r,"is--loading":e,"is--padding":t}]},[o?(0,_vue.h)(_scrollbar.default,u,{default:()=>l?l({}):[]}):(0,_vue.h)("div",{id:a?v:"",class:"vxe-layout-body--inner"},l?l({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-layout-body-view--loading",modelValue:e}),a?(0,_vue.h)(_backtop.default,i,d):(0,_ui.renderEmptyElement)(C)])},C},render(){return this.renderVN()}});
@@ -9,13 +9,25 @@ var _comp = require("../../ui/src/comp");
9
9
  var _ui = require("../../ui");
10
10
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const {
13
+ getConfig,
14
+ baseUtils,
15
+ createEvent
16
+ } = _ui.VxeUI;
17
+ const {
18
+ getDefVal
19
+ } = baseUtils;
12
20
  var _default = exports.default = (0, _comp.defineVxeComponent)({
13
21
  name: 'VxeLayoutContainer',
14
22
  props: {
15
23
  vertical: Boolean,
24
+ useScrollbar: {
25
+ type: Boolean,
26
+ default: () => getDefVal(getConfig().layoutContainer.useScrollbar, getConfig().useScrollbar)
27
+ },
16
28
  size: {
17
29
  type: String,
18
- default: () => (0, _ui.getConfig)().layoutContainer.size || (0, _ui.getConfig)().size
30
+ default: () => getConfig().layoutContainer.size || getConfig().size
19
31
  }
20
32
  },
21
33
  emits: [],
@@ -28,13 +40,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
28
40
  const refElem = (0, _vue.ref)();
29
41
  const {
30
42
  computeSize
31
- } = (0, _ui.useSize)(props);
43
+ } = _ui.useFns.useSize(props);
44
+ const {
45
+ computeIsVScrollbar
46
+ } = _ui.useFns.useVScrollbar(props);
32
47
  const reactData = (0, _vue.reactive)({});
33
48
  const refMaps = {
34
49
  refElem
35
50
  };
36
51
  const computeMaps = {
37
- computeSize
52
+ computeSize,
53
+ computeIsVScrollbar
38
54
  };
39
55
  const $xeLayoutContainer = {
40
56
  xID,
@@ -45,7 +61,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
45
61
  getComputeMaps: () => computeMaps
46
62
  };
47
63
  const dispatchEvent = (type, params, evnt) => {
48
- emit(type, (0, _ui.createEvent)(evnt, {
64
+ emit(type, createEvent(evnt, {
49
65
  $layoutContainer: $xeLayoutContainer
50
66
  }, params));
51
67
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutContainer",props:{vertical:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().layoutContainer.size||(0,_ui.getConfig)().size}},emits:[],setup(i,e){let{slots:u,emit:a}=e;var t=_xeUtils.default.uniqueId();let o=(0,_vue.ref)(),n=(0,_ui.useSize)(i).computeSize;var r=(0,_vue.reactive)({});let l={refElem:o},s={computeSize:n},p={xID:t,props:i,context:e,reactData:r,getRefMaps:()=>l,getComputeMaps:()=>s};Object.assign(p,{dispatchEvent:(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$layoutContainer:p},t))}},{});return p.renderVN=()=>{var e=i.vertical,t=n.value,r=u.default;return(0,_vue.h)("div",{ref:o,class:["vxe-layout-container",{["size--"+t]:t,"is--vertical":e}]},r?r({}):[])},p},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,baseUtils,createEvent}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutContainer",props:{vertical:Boolean,useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().layoutContainer.useScrollbar,getConfig().useScrollbar)},size:{type:String,default:()=>getConfig().layoutContainer.size||getConfig().size}},emits:[],setup(u,e){let{slots:a,emit:i}=e;var t=_xeUtils.default.uniqueId();let l=(0,_vue.ref)(),o=_ui.useFns.useSize(u).computeSize;var r=_ui.useFns.useVScrollbar(u).computeIsVScrollbar,s=(0,_vue.reactive)({});let n={refElem:l},c={computeSize:o,computeIsVScrollbar:r},f={xID:t,props:u,context:e,reactData:s,getRefMaps:()=>n,getComputeMaps:()=>c};Object.assign(f,{dispatchEvent:(e,t,r)=>{i(e,createEvent(r,{$layoutContainer:f},t))}},{});return f.renderVN=()=>{var e=u.vertical,t=o.value,r=a.default;return(0,_vue.h)("div",{ref:l,class:["vxe-layout-container",{["size--"+t]:t,"is--vertical":e}]},r?r({}):[])},f},render(){return this.renderVN()}});
@@ -22,6 +22,7 @@ const {
22
22
  getI18n,
23
23
  domUtils,
24
24
  scrollbarUtils,
25
+ useFns,
25
26
  menus,
26
27
  globalEvents,
27
28
  globalResize
@@ -157,7 +158,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
157
158
  const browseObj = _xeUtils.default.browse();
158
159
  const {
159
160
  computeSize
160
- } = (0, _ui.useSize)(props);
161
+ } = useFns.useSize(props);
162
+ const {
163
+ computeIsVScrollbar
164
+ } = useFns.useVScrollbar(props);
161
165
  const reactData = (0, _vue.reactive)(createReactData());
162
166
  const internalData = createInternalData();
163
167
  const crossListDragRowInfo = (0, _store.getCrossListDragRowInfo)();
@@ -165,6 +169,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
165
169
  const refHeaderElem = (0, _vue.ref)();
166
170
  const refFooterElem = (0, _vue.ref)();
167
171
  const refVirtualWrapper = (0, _vue.ref)();
172
+ const refVirtualSpaceElem = (0, _vue.ref)();
168
173
  const refVirtualBody = (0, _vue.ref)();
169
174
  const refTrackXElem = (0, _vue.ref)();
170
175
  const refTrackYElem = (0, _vue.ref)();
@@ -504,7 +509,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
504
509
  lastScrollLeft,
505
510
  lastScrollTop
506
511
  } = internalData;
507
- updateScrollbar();
508
512
  return clearScroll().then(() => {
509
513
  if (lastScrollLeft || lastScrollTop) {
510
514
  internalData.lastScrollLeft = 0;
@@ -514,8 +518,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
514
518
  });
515
519
  };
516
520
  const updateScrollbar = () => {
517
- updateThumbSize();
518
- updateThumbOffset();
521
+ const isVScrollbar = computeIsVScrollbar.value;
522
+ if (isVScrollbar) {
523
+ return (0, _vue.nextTick)().then(() => {
524
+ updateThumbSize();
525
+ updateThumbOffset();
526
+ });
527
+ }
528
+ return Promise.resolve();
519
529
  };
520
530
  /**
521
531
  * 重新计算列表
@@ -534,10 +544,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
534
544
  parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
535
545
  }
536
546
  reactData.parentHeight = parentHeight;
537
- updateScrollbar();
538
547
  updateHeight();
539
548
  if (el.clientWidth && el.clientHeight) {
540
- return computeScrollLoad();
549
+ return computeScrollLoad().then(() => {
550
+ updateScrollbar();
551
+ });
541
552
  }
542
553
  }
543
554
  return (0, _vue.nextTick)();
@@ -553,7 +564,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
553
564
  offsetSize,
554
565
  rowHeight
555
566
  } = scrollYStore;
556
- const scrollBodyElem = evnt.target;
567
+ const scrollBodyElem = evnt.currentTarget;
557
568
  const scrollTop = scrollBodyElem.scrollTop;
558
569
  const toVisibleIndex = Math.floor(scrollTop / rowHeight);
559
570
  const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
@@ -567,7 +578,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
567
578
  }
568
579
  };
569
580
  const scrollEvent = evnt => {
570
- const scrollBodyElem = evnt.target;
581
+ const scrollBodyElem = evnt.currentTarget;
571
582
  const scrollTop = scrollBodyElem.scrollTop;
572
583
  const scrollLeft = scrollBodyElem.scrollLeft;
573
584
  const isX = scrollLeft !== internalData.lastScrollLeft;
@@ -2079,6 +2090,28 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2079
2090
  hideDropTip();
2080
2091
  }
2081
2092
  };
2093
+ const bindScrollbarResize = () => {
2094
+ const {
2095
+ scrollObserver
2096
+ } = internalData;
2097
+ const isVScrollbar = computeIsVScrollbar.value;
2098
+ if (isVScrollbar) {
2099
+ if (!scrollObserver) {
2100
+ const el = refElem.value;
2101
+ const viewInnerEl = refVirtualSpaceElem.value;
2102
+ const scrollObserver = globalResize.create(() => {
2103
+ reScrollFlag.value++;
2104
+ });
2105
+ if (el) {
2106
+ scrollObserver.observe(el);
2107
+ }
2108
+ if (viewInnerEl) {
2109
+ scrollObserver.observe(viewInnerEl);
2110
+ }
2111
+ internalData.scrollObserver = scrollObserver;
2112
+ }
2113
+ }
2114
+ };
2082
2115
  const updateThumbSize = () => {
2083
2116
  const viewEl = refVirtualWrapper.value;
2084
2117
  if (!viewEl) {
@@ -2488,8 +2521,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2488
2521
  const {
2489
2522
  showCheckbox,
2490
2523
  className,
2491
- loading,
2492
- useScrollbar
2524
+ loading
2493
2525
  } = props;
2494
2526
  const {
2495
2527
  bodyHeight,
@@ -2504,6 +2536,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2504
2536
  const headerSlot = slots.header;
2505
2537
  const footerSlot = slots.footer;
2506
2538
  const vSize = computeSize.value;
2539
+ const isVScrollbar = computeIsVScrollbar.value;
2507
2540
  const wrapperStyles = computeWrapperStyles.value;
2508
2541
  const virtualStyles = computeVirtualStyles.value;
2509
2542
  const radioOpts = computeRadioOpts.value;
@@ -2538,14 +2571,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2538
2571
  }
2539
2572
  return (0, _vue.h)('div', Object.assign({
2540
2573
  ref: refElem,
2541
- class: ['vxe-list', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? _xeUtils.default.isFunction(className) ? className({
2574
+ class: ['vxe-list', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? _xeUtils.default.isFunction(className) ? className({
2542
2575
  $list: $xeList
2543
2576
  }) : className : '', {
2544
2577
  [`size--${vSize}`]: vSize,
2545
- 'is--virtual-scrollbar': useScrollbar,
2546
- 'ov-padding': useScrollbar && scrollbarOpts.padding,
2547
- 'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
2548
- 'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
2578
+ 'is--virtual-scrollbar': isVScrollbar,
2579
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
2580
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
2581
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
2549
2582
  'overflow-y': yThumbHeight,
2550
2583
  'overflow-x': xThumbWidth,
2551
2584
  'is--drag': isDrag,
@@ -2578,6 +2611,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2578
2611
  style: virtualStyles,
2579
2612
  onScroll: scrollEvent
2580
2613
  }, [(0, _vue.h)('div', {
2614
+ ref: refVirtualSpaceElem,
2581
2615
  class: 'vxe-list--y-space',
2582
2616
  style: {
2583
2617
  height: bodyHeight ? `${bodyHeight}px` : ''
@@ -2607,7 +2641,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2607
2641
  /**
2608
2642
  * 滚动条
2609
2643
  */
2610
- useScrollbar ? (0, _vue.h)('div', {
2644
+ isVScrollbar ? (0, _vue.h)('div', {
2611
2645
  class: scrollbarWrapperClss
2612
2646
  }, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeList) : (0, _vue.h)('div', {
2613
2647
  ref: refTrackXElem,
@@ -2656,43 +2690,54 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2656
2690
  (0, _vue.watch)(dataFlag, () => {
2657
2691
  loadData(props.data || []);
2658
2692
  });
2659
- const reFlag = (0, _vue.ref)(0);
2693
+ const reScrollFlag = (0, _vue.ref)(0);
2694
+ const reLayoutFlag = (0, _vue.ref)(0);
2660
2695
  (0, _vue.watch)(() => props.height, () => {
2661
- reFlag.value++;
2696
+ reLayoutFlag.value++;
2662
2697
  });
2663
2698
  (0, _vue.watch)(() => props.maxHeight, () => {
2664
- reFlag.value++;
2699
+ reLayoutFlag.value++;
2665
2700
  });
2666
2701
  (0, _vue.watch)(() => props.syncResize, () => {
2667
- reFlag.value++;
2702
+ reLayoutFlag.value++;
2668
2703
  });
2669
- (0, _vue.watch)(() => props.useScrollbar, () => {
2670
- reFlag.value++;
2704
+ (0, _vue.watch)(computeIsVScrollbar, () => {
2705
+ (0, _vue.nextTick)(() => {
2706
+ bindScrollbarResize();
2707
+ (0, _vue.nextTick)(() => {
2708
+ reLayoutFlag.value++;
2709
+ });
2710
+ });
2671
2711
  });
2672
2712
  (0, _vue.watch)(computeRowHeight, () => {
2673
- reFlag.value++;
2713
+ reLayoutFlag.value++;
2674
2714
  });
2675
2715
  (0, _vue.watch)(computeScrollYWidth, () => {
2676
- reFlag.value++;
2716
+ reLayoutFlag.value++;
2677
2717
  });
2678
2718
  (0, _vue.watch)(computeScrollXHeight, () => {
2679
- reFlag.value++;
2719
+ reLayoutFlag.value++;
2680
2720
  });
2681
2721
  (0, _vue.watch)(computeScrollXVisible, () => {
2682
2722
  (0, _vue.nextTick)(() => {
2683
- reFlag.value++;
2723
+ reLayoutFlag.value++;
2684
2724
  });
2685
2725
  });
2686
2726
  (0, _vue.watch)(computeScrollYVisible, () => {
2687
2727
  (0, _vue.nextTick)(() => {
2688
- reFlag.value++;
2728
+ reLayoutFlag.value++;
2689
2729
  });
2690
2730
  });
2691
- (0, _vue.watch)(reFlag, () => {
2731
+ (0, _vue.watch)(reLayoutFlag, () => {
2692
2732
  recalculate().then(() => {
2693
2733
  recalculate();
2694
2734
  });
2695
2735
  });
2736
+ (0, _vue.watch)(reScrollFlag, () => {
2737
+ updateScrollbar().then(() => {
2738
+ updateScrollbar();
2739
+ });
2740
+ });
2696
2741
  (0, _vue.watch)(() => props.checkRowKey, () => {
2697
2742
  updateRadioModeValue();
2698
2743
  });
@@ -2719,8 +2764,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2719
2764
  showSeq,
2720
2765
  showRadio,
2721
2766
  showCheckbox,
2722
- autoResize,
2723
- useScrollbar
2767
+ autoResize
2724
2768
  } = props;
2725
2769
  const rowOpts = computeRowOpts.value;
2726
2770
  const {
@@ -2745,25 +2789,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2745
2789
  if (useKey && !keyField) {
2746
2790
  errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
2747
2791
  }
2748
- const el = refElem.value;
2749
- if (useScrollbar) {
2750
- const viewInnerEl = refVirtualBody.value;
2751
- const scrollObserver = globalResize.create(() => {
2752
- reFlag.value++;
2753
- });
2754
- if (el) {
2755
- scrollObserver.observe(el);
2756
- }
2757
- if (viewInnerEl) {
2758
- scrollObserver.observe(viewInnerEl);
2759
- }
2760
- internalData.scrollObserver = scrollObserver;
2761
- }
2762
2792
  if (autoResize) {
2793
+ const el = refElem.value;
2763
2794
  const parentEl = getParentElem();
2764
2795
  const resizeObserver = globalResize.create(() => {
2765
2796
  if (props.autoResize) {
2766
- reFlag.value++;
2797
+ reLayoutFlag.value++;
2767
2798
  }
2768
2799
  });
2769
2800
  if (el) {
@@ -2774,9 +2805,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2774
2805
  }
2775
2806
  internalData.resizeObserver = resizeObserver;
2776
2807
  }
2777
- reFlag.value++;
2808
+ reLayoutFlag.value++;
2809
+ bindScrollbarResize();
2778
2810
  globalEvents.on($xeList, 'resize', () => {
2779
- reFlag.value++;
2811
+ reLayoutFlag.value++;
2780
2812
  });
2781
2813
  });
2782
2814
  (0, _vue.onBeforeUnmount)(() => {
@@ -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("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,domUtils,scrollbarUtils,menus,globalEvents,globalResize}=_ui.VxeUI,{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils,{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:()=>getConfig().list.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>getConfig().list.showSeq},showRadio:{type:Boolean,default:()=>getConfig().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().list.useScrollbar,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()),U=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),K=(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:K},$={xID:t,props:F,context:e,reactData:B,internalData:U,getRefMaps:()=>w},j=(0,_vue.computed)(()=>Object.assign({},getConfig().list.rowConfig,F.rowConfig)),q=(0,_vue.computed)(()=>Object.assign({},getConfig().list.dragConfig,F.dragConfig)),f=(0,_vue.computed)(()=>Object.assign({},getConfig().list.virtualYConfig||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},getConfig().list.radioConfig,F.radioConfig)),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.checkboxConfig,F.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},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({},getConfig().list.scrollbarConfig,F.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig)}),o=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},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),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),getConfig().scrollbar.width)}),se=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ne=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ue=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),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),getConfig().scrollbar.autoHide)}),de=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=B,r=ve.value,o=ge.value,l=se.value,i=ne.value;return 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),R=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$list:$},t))},s=e=>{a("update:checkRowKeys",e)},n=e=>{a("update:checkRowKey",e)},m=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")},b=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=U;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},S=()=>{var e=U.fullData;U.afterList=e.slice(0),_e()},_=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=U,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=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=U.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):b)()}),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}=U;return pe(),he().then(()=>{if(e||t)return U.lastScrollLeft=0,U.lastScrollTop=0,we(e,t)})},pe=()=>{tt(),rt()},C=()=>{var r,o=K.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=U.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())},Re=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==U.lastScrollLeft,l=r!==U.lastScrollTop;rt(),U.lastScrollTop=r,U.lastScrollLeft=t,B.scrollYLoad&&xe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},me=()=>{var e=F.checkRowKey,t=U.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},be=()=>{var e=F.checkRowKeys,t=U.fullKeyMaps,r=P.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}U.selectCheckboxMaps=o,d()},_e=()=>{let{afterList:e,rowMaps:l}=U,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=U.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}}),U.fullKeyMaps=i,U.rowMaps=a},l=e=>{var t=U.scrollYStore,r=f.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),U.fullData=e,U.insertRowMaps={},B.insertRowFlag++,U.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),Ce(),_(!0),me(),be(),M().then(()=>{fe()})},ye=()=>{D(),y(),C()},De=()=>{var e=K.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=K.value;if(r){e=m(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})||""):getI18n("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},u=()=>{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&&(u(),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,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:$,$newList:null}),a={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,ke(r),Te(l),R("row-dragstart",a,e))},Ee=()=>{Ie()},c=(e,t,r,o)=>{var l=K.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=oe.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.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=""}n=le.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-i.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-i.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},D=()=>{var e=K.value;u(),De(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},Se=(l,i,a,s)=>{let n=U.fullData;var e=q.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=K.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let u=m(i),c=qe(n,u);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="${u}"]`),(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(n,i),n.splice(r,1);var e=je(n,a);return o=e+g,n.splice(o,0,i),_(),B.scrollYLoad&&b(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=B.rowList,l=U.fullData,i=qe(l,u),a=l[0],a=je(l,a),s=h;if(-1<a){var n=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>n?(n=qe(o,u),e=n+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=m(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}a=[`.vxe-list--row[rowid="${u}"]`],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}=U,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=U.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(U.prevDragRow=r,U.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==$.xID)return s&&s.xID!==$.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,B.dragTipText=n.dragTipText,crossListDragRowObj.$newList=$,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&m(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),R("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=U.currentRow,i=N.value,a=Y.value,s=j.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Ge(e,t)):l&&(U.currentRow=null,B.currRowFlag++),r&&"row"===i.trigger&&(u=!0,Je(e,t)),o&&"row"===a.trigger&&(c=!0,Ve(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ue=(e,t)=>{R("row-dblclick",{row:t},e)},k=e=>getRowKeyByField(e,P.value),i=(e,t)=>""+e==""+t,Ke=(e,t)=>!(!e||!t)&&(e===t||i(m(e),m(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=>Ke(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=U.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=U.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ne=()=>{var e=B.updateCheckboxFlag,t=U.selectCheckboxMaps;let r=P.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Ye=()=>{U.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},We=e=>{var{fullData:t,selectCheckboxMaps:r}=U,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}=U,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(),R("checkbox-all",{checked:t},e)},Ve=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=U.selectCheckboxMaps,l=Y.value.checkMethod,i=m(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),R("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)||(U.currentRow=t,B.currRowFlag++,R("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,n(i),R("radio-change",{row:r,value:i,checked:e},t)}},Qe=(e,t)=>{let{fullData:o,rowMaps:l}=U,i=P.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util.getItemCacheObj)(e);o[a](e),l[t]=r})},Ze=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=U,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 n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))Qe(u,!1);else if(-1===n)Qe(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),Qe(u,!0)}return u.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(),_(!0),_e(),d(),B.scrollYLoad&&b(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},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):U.currentRow&&(U.currentRow=null,B.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:$};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:l,reloadData(e){return he(),l(e)},getFullData(){var e=U.fullData;return e},recalculate:C,scrollTo:we,refreshScroll:fe,clearScroll:he,getRowKey:k,eqRowKey:i,eqRow:Ke,eqRowByKey:Ae,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Ke(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=>(U.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=U.fullData;return U.currentRow=$e(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=U.currentRow;return e},getCurrentRowKey:()=>{var e=U.currentRow;return e?k(e):null},clearCurrentRow:()=>(U.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=k(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=U.fullData,t=(B.selectRadioRow=$e(t,e),e);return n(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,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=U.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}=U,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=U.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=m(e);return!!B.insertRowFlag&&!!U.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=U;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=m(e),o[t]=e)}),r===e?(e=l=r.slice(0),U.fullData=[]):e.forEach(e=>{let t=m(e);var e=_xeUtils.default.findIndexOf(r,e=>t===m(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=m(e);t[e]&&delete t[e]}),B.removeRowFlag++,B.insertRowFlag++,Ce(),_(!0),_e(),d(),B.scrollYLoad&&b(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=U.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=m(e);return!!B.removeRowFlag&&!!U.removeRowMaps[e]},getRecordset(){return{insertRecords:$.getInsertRecords(),removeRecords:$.getRemoveRecords()}}};let tt=()=>{var e,t,r=A.value;r&&r.clientHeight&&(t=(t=Z.value)?getThumbSize(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=te.value)&&(e.style.width=t+"px"),B.xThumbWidth=t,t=(e=ee.value)?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?getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,U.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=ee.value,r=re.value,o=t&&e?getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,U.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: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:getScrollFromClick(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},it=e=>{var t,r,o=e.currentTarget,l=(U.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),U.thumbDragOffset=e-r)},at=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=U;if(r){r=A.value;if(r){var l=B.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=getScrollFromDrag(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},X=e=>{e.currentTarget.releasePointerCapture(e.pointerId),U.isThumbDrag=!1},st=e=>{var t,r,o=e.currentTarget,l=(U.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),U.thumbDragOffset=e-r)},nt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=U;if(r){r=A.value;if(r){var l=B.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=getScrollFromDrag(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},ut=(Object.assign($,e,{handleCrossListRowDragCancelEvent(){D(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,i=U.rowMaps;let{animation:a,isCrossListDrag:e}=q.value,s=K.value;if(s&&e&&crossListDragRowObj&&g){var n=g.row;if(n){var u=m(n),i=i[u];let r=0,e=-1,o=(i&&(a&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];$.remove(u).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=m(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},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=$,U.prevDragRow=null,B.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=U;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=q.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=K.value;if(s&&(a&&l)){let i=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:u,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(n),ye(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?$.insertNextAt(e,u):$.insertAt(e,u):$.insert(e),$.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:i,dragPos:c,offsetIndex:r},n),D(),t.then(()=>{var e=B.rowList,r=U.rowMaps,o=m(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=m(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}}),(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?getIcon().RADIO_CHECKED:r?getIcon().RADIO_DISABLED_UNCHECKED: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?getIcon().CHECKBOX_CHECKED:r?getIcon().CHECKBOX_DISABLED_UNCHECKED: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)(ne,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(v,()=>{C().then(()=>{C()})}),(0,_vue.watch)(()=>F.checkRowKey,()=>{me()}),(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,()=>{be()}),(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"]),K.value);l&&(t=Q.value,r=globalResize.create(()=>{v.value++}),e&&r.observe(e),t&&r.observe(t),U.scrollObserver=r),o&&(i=(a=K.value)?a.parentElement:null,s=globalResize.create(()=>{F.autoResize&&v.value++}),e&&s.observe(e),i&&s.observe(i),U.resizeObserver=s),v.value++,globalEvents.on($,"resize",()=>{v.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=U;t&&t.disconnect(),e&&e.disconnect(),globalEvents.off($,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(U,createInternalData())}),$.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=F,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:n,xThumbWidth:u,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:R,headerTitle:m}=x,{trigger:b,isCrossListDrag:_}=q.value,{isHover:C,padding:y}=j.value,D=z.value,k=W.value,T=se.value,I=ne.value,L=ve.value,E=ge.value,S=ue.value,H=ce.value,M=de.value,e=e&&!1!==R,R={};return _&&!a.length&&(R.onDragover=$.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:K,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":u,"is--drag":D,"is--loading":r}],style:w},R),[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":n}],onClick:Xe},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().CHECKBOX_CHECKED:n?getIcon().CHECKBOX_INDETERMINATE:getIcon().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(m)?getI18n("vxe.list.allChecked"):(0,_utils.getText)(m))])]):(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:Re},[(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"===b,"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:n}=U,u=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:R,isCurrent:m}=j.value,b=z.value,_=P.value,C=R&&_xeUtils.default.isFunction(R),p=_||p||b||m||r||o,m=p&&_?getRowIdByField(t,_):"",y=(0,_utils.enModelValue)(m);let D={row:t,$list:$},k=!1,T=!1,I=(r&&(k=l&&(t===l||Ae(l,m)),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(ut(t,y,T,k)),o&&l.push(ct(t,y,L,I));let E=!1;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||getIcon().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(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){Ue(e,t)},onContextmenu(e){et(e,t)}};return b&&(a.onDragstart=He,a.onDragend=Me,a.onDragover=Fe),(0,_vue.h)("div",Object.assign({key:p&&_?y:e,class:["vxe-list--row",C?R(D):R||"",{"is--drag-disabled":E,"is--current":i&&n&&Ae(n,m),"is-radio--disabled":T,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&_?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:nt,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",getIcon().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",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("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,domUtils,scrollbarUtils,useFns,menus,globalEvents,globalResize}=_ui.VxeUI,{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils,{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:()=>getConfig().list.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>getConfig().list.showSeq},showRadio:{type:Boolean,default:()=>getConfig().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().list.useScrollbar,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 v=_xeUtils.default.browse(),G=useFns.useSize(F).computeSize,B=useFns.useVScrollbar(F).computeIsVScrollbar,U=(0,_vue.reactive)(createReactData()),K=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),A=(0,_vue.ref)(),J=(0,_vue.ref)(),Q=(0,_vue.ref)(),$=(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)(),ie=(0,_vue.ref)(),ae=(0,_vue.ref)(),h={refElem:A},j={xID:t,props:F,context:e,reactData:U,internalData:K,getRefMaps:()=>h},q=(0,_vue.computed)(()=>Object.assign({},getConfig().list.rowConfig,F.rowConfig)),P=(0,_vue.computed)(()=>Object.assign({},getConfig().list.dragConfig,F.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},getConfig().list.virtualYConfig||getConfig().list.scrollY,F.virtualYConfig||F.scrollY)),z=(0,_vue.computed)(()=>{var e=q.value.keyField;return e||""}),N=(0,_vue.computed)(()=>{var e=F.dragConfig,t=P.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=q.value.height;return e}),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.radioConfig,F.radioConfig)),W=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.checkboxConfig,F.checkboxConfig)),p=(0,_vue.computed)(()=>Object.assign({},getConfig().list.menuConfig,F.menuConfig)),se=(0,_vue.computed)(()=>{var e=f.value,t=T.value,r=x.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}),ne=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=F,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=U,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}),V=(0,_vue.computed)(()=>Object.assign({},getConfig().list.scrollbarConfig,F.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=V.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig)}),o=(0,_vue.computed)(()=>{var e=V.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)}),x=(0,_vue.computed)(()=>{var e=V.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),T=(0,_vue.computed)(()=>{var e=V.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),ue=(0,_vue.computed)(()=>{var e=V.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ce=(0,_vue.computed)(()=>{var e=V.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),de=(0,_vue.computed)(()=>{var e=V.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),ve=(0,_vue.computed)(()=>{var e=V.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),ge=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=U,r=he.value,o=we.value,l=ue.value,i=ce.value;return 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})}),he=(0,_vue.computed)(()=>"top"===r.value.position),we=(0,_vue.computed)(()=>"left"===o.value.position),m=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$list:j},t))},s=e=>{a("update:checkRowKeys",e)},n=e=>{a("update:checkRowKey",e)},R=e=>getRowIdByField(e,z.value),I=e=>{var t=U.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},L=()=>{var e=J.value,t=Q.value;U.headHeight=e?Math.floor(e.offsetHeight):0,U.footHeight=t?Math.floor(t.offsetHeight):0,U.customHeight=I("height"),U.customMaxHeight=I("maxHeight")},b=()=>{var e=U.scrollYLoad,{scrollYStore:t,fullData:r}=K;U.bodyHeight=e?r.length*t.rowHeight:0,U.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},E=()=>{var e=K.fullData;K.afterList=e.slice(0),Ce()},_=e=>{var t=U.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=K,i=z.value;e&&E();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)}),U.rowList=e,(0,_vue.nextTick)()},S=()=>{_(),b()},H=()=>(0,_vue.nextTick)().then(()=>{var e=U.scrollYLoad,t=K.scrollYStore,r=ee.value,o=w.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=$.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):v.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),S):b)()}),M=()=>{var e=$.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},fe=(e,t)=>{var r=$.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),U.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},pe=()=>{let{lastScrollLeft:e,lastScrollTop:t}=K;return M().then(()=>{if(e||t)return K.lastScrollLeft=0,K.lastScrollTop=0,fe(e,t)})},xe=()=>B.value?(0,_vue.nextTick)().then(()=>{lt(),it()}):Promise.resolve(),C=()=>{var r,o=A.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))),U.parentHeight=t,L(),o.clientWidth&&o.clientHeight)return H().then(()=>{xe()})}return(0,_vue.nextTick)()},me=e=>{var t=K.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.currentTarget.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,S())},Re=e=>{var t=e.currentTarget,r=t.scrollTop,t=t.scrollLeft,o=t!==K.lastScrollLeft,l=r!==K.lastScrollTop;it(),K.lastScrollTop=r,K.lastScrollLeft=t,U.scrollYLoad&&me(e),m("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},be=()=>{var e=F.checkRowKey,t=K.fullKeyMaps;e?(t=t[e],U.selectRadioRow=t||null):U.selectRadioRow=null},_e=()=>{var e=F.checkRowKeys,t=K.fullKeyMaps,r=z.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}K.selectCheckboxMaps=o,c()},Ce=()=>{let{afterList:e,rowMaps:l}=K,i=z.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++})},ye=()=>{var e=K.fullData;let l=z.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=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),K.fullData=e,K.insertRowMaps={},U.insertRowFlag++,K.removeRowMaps={},U.removeRowFlag++,U.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ye(),_(!0),be(),_e(),H().then(()=>{pe()})},De=()=>{D(),y(),C()},ke=()=>{var e=A.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},Te=e=>{var t=w.value.sItem,r=A.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")})}},Ie=e=>{var t=U.dragRow,r=P.value.tooltipMethod;let o="";o=r?""+(r({$list:j,row:t})||""):getI18n("vxe.list.dragTip",[e.textContent||""]),U.dragTipText=o},u=()=>{var e=ae.value,t=ie.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},Le=()=>{var e=U.dragRow;e&&(u(),ke(),y(),U.dragRow=null)},Ee=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=P.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;ke(),i&&!i(t)?(l.draggable=!1,U.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:j,$newList:null}),a={row:r},U.dragRow=r,U.isCrossDragRow=!1,l.draggable=!0,Te(r),Ie(l),m("row-dragstart",a,e))},Se=()=>{Le()},He=(e,t,r,o)=>{var l=A.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=ie.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.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=""}n=ae.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-i.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-i.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},D=()=>{var e=A.value;u(),ke(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),U.dragRow=null},Me=(l,i,a,s)=>{let n=K.fullData;var e=P.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=A.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let u=R(i),c=ze(n,u);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="${u}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=Pe(n,i),n.splice(r,1);var e=Pe(n,a);return o=e+g,n.splice(o,0,i),_(),U.scrollYLoad&&b(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},m("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=U.rowList,l=K.fullData,i=ze(l,u),a=l[0],a=Pe(l,a),s=h;if(-1<a){var n=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>n?(n=ze(o,u),e=n+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}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}a=[`.vxe-list--row[rowid="${u}"]`],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)},Fe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Oe=e=>{var t=U.dragRow,{prevDragRow:r,prevDragPos:o}=K,l=P.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==j.xID)return void l.handleCrossListRowDragInsertEvent(e)}Me(e,t,r,o)},Be=e=>{var t=U.dragRow,r=K.fullData,o=P.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=qe(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 n=o.reactData;if(o.xID!==j.xID)return s&&s.xID!==j.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,U.dragTipText=n.dragTipText,crossListDragRowObj.$newList=j,void He(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),U.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&R(t)===i?He(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},He(e,l,!0,a),m("row-dragover",o,e))}},Ue=(e,t)=>{var{trigger:r,disabledMethod:o}=P.value;let l=!1;N.value&&(l="row"===r);r={row:t,$list:j};!l||o&&o(r)||Ee(e,r)},Ke=(e,t)=>{var{showRadio:r,showCheckbox:o}=F,l=K.currentRow,i=Y.value,a=W.value,s=q.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Qe(e,t)):l&&(K.currentRow=null,U.currRowFlag++),r&&"row"===i.trigger&&(u=!0,Ze(e,t)),o&&"row"===a.trigger&&(c=!0,Je(e,t)),m("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ae=(e,t)=>{m("row-dblclick",{row:t},e)},k=e=>getRowKeyByField(e,z.value),i=(e,t)=>""+e==""+t,$e=(e,t)=>!(!e||!t)&&(e===t||i(R(e),R(t))),je=(e,t)=>e&&i(k(e),t);let qe=(e,t)=>{let r=z.value;return _xeUtils.default.find(e,e=>i(getRowIdByField(e,r),t))},Pe=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>$e(e,t)):-1,ze=(e,t)=>{let r=z.value;return _xeUtils.default.findIndexOf(e,e=>i(getRowIdByField(e,r),t))},Ne=e=>{var t=U.selectRadioRow;return k(t)===e};let Ye=e=>{var t=U.updateCheckboxFlag,r=K.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=U.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let We=()=>{var e=U.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=z.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Ve=()=>{K.selectCheckboxMaps={},U.updateCheckboxFlag++,U.isAllChecked=!1,U.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Xe=e=>{var{fullData:t,selectCheckboxMaps:r}=K,o=z.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),c()}return Ve()},c=()=>{var{selectCheckboxMaps:e,fullData:t}=K,r=z.value,o=W.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:j}))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 U.isAllChecked=l&&!i,U.isAllIndeterminate=l&&i,U.updateCheckboxFlag++,(0,_vue.nextTick)()},Ge=e=>{var t=U.isAllChecked,t=!t;t?Xe(!0):Ve(),m("checkbox-all",{checked:t},e)},Je=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=K.selectCheckboxMaps,l=W.value.checkMethod,i=R(r),l=!!l&&!l({$list:j,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),U.updateCheckboxFlag++,c();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),m("checkbox-change",{row:r,value:l,checked:e},t)}},Qe=(e,t)=>{e.preventDefault();var r=q.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(K.currentRow=t,U.currRowFlag++,m("current-change",{row:t,checked:!0},e))},Ze=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=U.selectRadioRow,{strict:l,checkMethod:i}=Y.value,a=k(r),i=!!i&&!i({$list:j,row:r});if(!i){i=a;let e=!0;l&&o&&a===k(o)?(e=!1,U.selectRadioRow=null):U.selectRadioRow=r,n(i),m("radio-change",{row:r,value:i,checked:e},t)}},et=(e,t)=>{let{fullData:o,rowMaps:l}=K,i=z.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util.getItemCacheObj)(e);o[a](e),l[t]=r})},tt=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=K,s=z.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 n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))et(u,!1);else if(-1===n)et(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),et(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),U.removeRowFlag++,U.insertRowFlag++,ye(),_(!0),Ce(),c(),U.scrollYLoad&&b(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},rt=(o,l)=>{var e=F.menuConfig,t=p.value,r=q.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:j,options:e,row:l})||(r?Qe(o,l):K.currentRow&&(K.currentRow=null,U.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:j};r&&r(t,o),m("menu-click",t,e.$event)}}}))),m("row-menu",{row:l},o)};e={dispatchEvent:m,loadData:l,reloadData(e){return M(),l(e)},getFullData(){var e=K.fullData;return e},recalculate:C,scrollTo:fe,refreshScroll:pe,clearScroll:M,getRowKey:k,eqRowKey:i,eqRow:$e,eqRowByKey:je,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>$e(e,t)):null,findRowByKey:qe,findRowIndexOf:Pe,findRowIndexOfByKey:ze,isCheckedByRadioRowKey:Ne,isCheckedByRadioRow:e=>Ne(k(e)),isCheckedByCheckboxRowKey:Ye,isCheckedByCheckboxRow:e=>Ye(k(e)),setCurrentRow:e=>(K.currentRow=e,U.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=K.fullData;return K.currentRow=qe(t,e),U.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,U.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{U.selectRadioRow=e;e=k(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=K.fullData,t=(U.selectRadioRow=qe(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=U.selectRadioRow;return e},getRadioRowKey:()=>{var e=U.selectRadioRow;return e?k(e):null},clearRadioRow:()=>(U.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=K.selectCheckboxMaps,o=z.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=We();return s(e),c()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=K,l=z.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=We();return s(e),c()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:We,clearCheckboxRow:Ve,setAllCheckboxRow:Xe,insert(e){return tt(e,null)},insertAt(e,t){return tt(e,t)},insertNextAt(e,t){return tt(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!!U.insertRowFlag&&!!K.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=K;if(!z.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;j.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]}),U.removeRowFlag++,U.insertRowFlag++,ye(),_(!0),Ce(),c(),U.scrollYLoad&&b(),(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!!U.removeRowFlag&&!!K.removeRowMaps[e]},getRecordset(){return{insertRecords:j.getInsertRecords(),removeRecords:j.getRemoveRecords()}}};let ot=()=>{let e=K.scrollObserver;var t=B.value;if(t&&!e){var t=A.value,r=Z.value;let e=globalResize.create(()=>{wt.value++});t&&e.observe(t),r&&e.observe(r),K.scrollObserver=e}},lt=()=>{var e,t,r=$.value;r&&r.clientHeight&&(t=(t=te.value)?getThumbSize(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=oe.value)&&(e.style.width=t+"px"),U.xThumbWidth=t,t=(e=re.value)?getThumbSize(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=le.value)&&(r.style.height=t+"px"),U.yThumbHeight=t)},it=()=>{var e,t,r,o,l=$.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=U,o=te.value,r=oe.value,o=o&&t?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=re.value,r=le.value,o=t&&e?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)`)},at=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=$.value)&&(r=U.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:getScrollFromClick(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},st=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=$.value)&&(r=U.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:getScrollFromClick(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},nt=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),$.value);l&&(t=U.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,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=$.value;if(r){var l=U.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=getScrollFromDrag(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},X=e=>{e.currentTarget.releasePointerCapture(e.pointerId),K.isThumbDrag=!1},ct=e=>{var t,r,o=e.currentTarget,l=(K.isThumbDrag=!0,o.setPointerCapture(e.pointerId),$.value);l&&(t=U.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),K.thumbDragOffset=e-r)},dt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=K;if(r){r=$.value;if(r){var l=U.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=getScrollFromDrag(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},vt=(Object.assign(j,e,{handleCrossListRowDragCancelEvent(){D(),y()},handleCrossListRowDragFinishEvent(t){var l=U.rowList,i=K.rowMaps;let{animation:a,isCrossListDrag:e}=P.value,s=A.value;if(s&&e&&crossListDragRowObj&&g){var n=g.row;if(n){var u=R(n),i=i[u];let r=0,e=-1,o=(i&&(a&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];j.remove(u).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)}}),m("row-remove-dragend",{row:n},t),De()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=U.rowList,o=P.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==j.xID&&(r&&r.xID!==j.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=j,K.prevDragRow=null,U.dragTipText=t.dragTipText,He(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=K;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=P.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=A.value;if(s&&(a&&l)){let i=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:u,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==j.xID&&a.handleCrossListRowDragCancelEvent(n),De(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?j.insertNextAt(e,u):j.insertAt(e,u):j.insert(e),j.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:i,dragPos:c,offsetIndex:r},n),D(),t.then(()=>{var e=U.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(){u()}}),(t,e,r,o)=>{var l=F.showRadio,{showIcon:i,visibleMethod:a}=Y.value,a=!a||a({$list:j,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||Ze(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:r?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)}),gt=(t,e,r,o)=>{var l=F.showCheckbox,{showIcon:i,visibleMethod:a}=W.value,a=!a||a({$list:j,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||Je(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?getIcon().CHECKBOX_CHECKED:r?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)};let ht=(0,_vue.ref)(0),wt=((0,_vue.watch)(()=>F.data?F.data.length:-1,()=>{ht.value++}),(0,_vue.watch)(()=>F.data,()=>{ht.value++}),(0,_vue.watch)(ht,()=>{l(F.data||[])}),(0,_vue.ref)(0)),d=(0,_vue.ref)(0),ft=((0,_vue.watch)(()=>F.height,()=>{d.value++}),(0,_vue.watch)(()=>F.maxHeight,()=>{d.value++}),(0,_vue.watch)(()=>F.syncResize,()=>{d.value++}),(0,_vue.watch)(B,()=>{(0,_vue.nextTick)(()=>{ot(),(0,_vue.nextTick)(()=>{d.value++})})}),(0,_vue.watch)(f,()=>{d.value++}),(0,_vue.watch)(T,()=>{d.value++}),(0,_vue.watch)(x,()=>{d.value++}),(0,_vue.watch)(ue,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(ce,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(d,()=>{C().then(()=>{C()})}),(0,_vue.watch)(wt,()=>{xe().then(()=>{xe()})}),(0,_vue.watch)(()=>F.checkRowKey,()=>{be()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>F.checkRowKeys?F.checkRowKeys.length:-1,()=>{ft.value++}),(0,_vue.watch)(()=>F.checkRowKeys,()=>{ft.value++}),(0,_vue.watch)(ft,()=>{_e()}),(0,_vue.onActivated)(()=>{C().then(()=>{pe()})}),(0,_vue.nextTick)(()=>{l(F.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o}=F,l=q.value.useKey,i=N.value,a=z.value;a||(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"]),i&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),l&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),o&&(e=A.value,r=(t=A.value)?t.parentElement:null,i=globalResize.create(()=>{F.autoResize&&d.value++}),e&&i.observe(e),r&&i.observe(r),K.resizeObserver=i),d.value++,ot(),globalEvents.on(j,"resize",()=>{d.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=K;t&&t.disconnect(),e&&e.disconnect(),globalEvents.off(j,"resize"),_xeUtils.default.assign(U,createReactData()),_xeUtils.default.assign(K,createInternalData())}),j.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=F,{bodyHeight:o,topSpaceHeight:l,rowList:i,isAllChecked:a,isAllIndeterminate:s,xThumbWidth:n,yThumbHeight:u}=U,c=O.default,d=O.header,v=O.footer,g=G.value,h=B.value,w=se.value,f=ne.value,p=Y.value,x=W.value,{showHeader:m,headerTitle:R}=x,{trigger:b,isCrossListDrag:_}=P.value,{isHover:C,padding:y}=q.value,D=N.value,k=V.value,T=ue.value,I=ce.value,L=he.value,E=we.value,S=de.value,H=ve.value,M=ge.value,e=e&&!1!==m,m={};return _&&!i.length&&(m.onDragover=j.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:A,class:["vxe-list",h?"ov-x--"+(!1===T?"hidden":"visible"):"",h?"ov-y--"+(!1===I?"hidden":"visible"):"",h?"sx-pos--"+(L?"top":"bottom"):"",h?"sy-pos--"+(E?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:j}):t:"",{["size--"+g]:g,"is--virtual-scrollbar":h,"ov-padding":h&&k.padding,"ov-x--auto-hide":h&&S,"ov-y--auto-hide":h&&H,"overflow-y":u,"overflow-x":n,"is--drag":D,"is--loading":r}],style:w},m),[d||e?(0,_vue.h)("div",{ref:J,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":a,"is--indeterminate":s}],onClick:Ge},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().CHECKBOX_CHECKED:s?getIcon().CHECKBOX_INDETERMINATE:getIcon().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(R)?getI18n("vxe.list.allChecked"):(0,_utils.getText)(R))])]):(0,_ui.renderEmptyElement)(j),d?(0,_vue.h)("div",{class:"vxe-list--header-content"},d({items:i,$list:j})):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{ref:$,class:"vxe-list--virtual-wrapper",style:f,onScroll:Re},[(0,_vue.h)("div",{ref:Z,class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:ee,class:["vxe-list--body",{"trigger--row":"row"===b,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:l?l+"px":""}},c?c({items:i,$list:j}):i.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=F,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=U,{selectCheckboxMaps:s,currentRow:n}=K,u=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=P.value,w=Y.value,f=W.value,{useKey:p,contentField:x,className:m,isCurrent:R}=q.value,b=N.value,_=z.value,C=m&&_xeUtils.default.isFunction(m),p=_||p||b||R||r||o,R=p&&_?getRowIdByField(t,_):"",y=(0,_utils.enModelValue)(R);let D={row:t,$list:j},k=!1,T=!1,I=(r&&(k=l&&(t===l||je(l,R)),T=!!w.checkMethod&&!w.checkMethod({$list:j,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:j,row:t}));l=[];r&&l.push(vt(t,y,T,k)),o&&l.push(gt(t,y,L,I));let E=!1;b&&_&&(!h||h(D))&&(w={},"row"!==d&&(E=!(!g||!g(D)),w.onMousedown=e=>{E||Ee(e,D)},w.onMouseup=Se),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||getIcon().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(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){Ue(e,t)},onMouseup:Se,onClick(e){Ke(e,t)},onDblclick(e){Ae(e,t)},onContextmenu(e){rt(e,t)}};return b&&(a.onDragstart=Fe,a.onDragend=Oe,a.onDragover=Be),(0,_vue.h)("div",Object.assign({key:p&&_?y:e,class:["vxe-list--row",C?m(D):m||"",{"is--drag-disabled":E,"is--current":i&&n&&je(n,R),"is-radio--disabled":T,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&_?y:void 0},a),l)})(e,t)))]),v?(0,_vue.h)("div",{ref:Q,class:"vxe-list--footer-wrapper"},v({items:i,$list:j})):(0,_ui.renderEmptyElement)(j),h?(0,_vue.h)("div",{class:M},[!1===T?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:te,class:"vxe-scrollbar--track-x",onClick:at},[(0,_vue.h)("div",{ref:oe,class:"vxe-scrollbar--thumb-x",onPointerdown:nt,onPointermove:ut,onPointerup:X,onPointercancel:X,onLostpointercapture:X})]),!1===I?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--track-y",onClick:st},[(0,_vue.h)("div",{ref:le,class:"vxe-scrollbar--thumb-y",onPointerdown:ct,onPointermove:dt,onPointerup:X,onPointercancel:X,onLostpointercapture:X})])]):(0,_ui.renderEmptyElement)(j),(()=>{var{dragRow:e,dragTipText:t}=U,r=P.value;return N.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:ie,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:ae,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",getIcon().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",getIcon().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},j},render(){return this.renderVN()}});