vxe-pc-ui 4.7.4 → 4.7.6

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 (198) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/language/ar-EG.js +19 -1
  3. package/es/language/de-DE.js +19 -1
  4. package/es/language/en-US.js +20 -2
  5. package/es/language/es-ES.js +19 -1
  6. package/es/language/fr-FR.js +19 -1
  7. package/es/language/hu-HU.js +19 -1
  8. package/es/language/hy-AM.js +18 -0
  9. package/es/language/id-ID.js +19 -1
  10. package/es/language/it-IT.js +19 -1
  11. package/es/language/ja-JP.js +19 -1
  12. package/es/language/ko-KR.js +19 -1
  13. package/es/language/ms-MY.js +19 -1
  14. package/es/language/nb-NO.js +19 -1
  15. package/es/language/pt-BR.js +19 -1
  16. package/es/language/ru-RU.js +19 -1
  17. package/es/language/th-TH.js +19 -1
  18. package/es/language/ug-CN.js +19 -1
  19. package/es/language/uk-UA.js +19 -1
  20. package/es/language/uz-UZ.js +19 -1
  21. package/es/language/vi-VN.js +19 -1
  22. package/es/language/zh-CHT.js +19 -1
  23. package/es/language/zh-CN.js +18 -0
  24. package/es/list/src/list.js +1 -1
  25. package/es/select/src/select.js +135 -42
  26. package/es/select/style.css +21 -0
  27. package/es/select/style.min.css +1 -1
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/tree/src/tree.js +918 -407
  31. package/es/tree/src/util.js +32 -0
  32. package/es/tree/style.css +23 -26
  33. package/es/tree/style.min.css +1 -1
  34. package/es/tree-select/src/tree-select.js +227 -18
  35. package/es/tree-select/style.css +36 -1
  36. package/es/tree-select/style.min.css +1 -1
  37. package/es/ui/index.js +19 -3
  38. package/es/ui/src/dom.js +9 -0
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-select/style.css +21 -0
  41. package/es/vxe-select/style.min.css +1 -1
  42. package/es/vxe-tree/style.css +23 -26
  43. package/es/vxe-tree/style.min.css +1 -1
  44. package/es/vxe-tree-select/style.css +36 -1
  45. package/es/vxe-tree-select/style.min.css +1 -1
  46. package/lib/icon/style/style.css +1 -1
  47. package/lib/icon/style/style.min.css +1 -1
  48. package/lib/index.umd.js +1505 -530
  49. package/lib/index.umd.min.js +1 -1
  50. package/lib/language/ar-EG.js +19 -1
  51. package/lib/language/ar-EG.min.js +1 -1
  52. package/lib/language/ar-EG.umd.js +19 -1
  53. package/lib/language/de-DE.js +19 -1
  54. package/lib/language/de-DE.min.js +1 -1
  55. package/lib/language/de-DE.umd.js +19 -1
  56. package/lib/language/en-US.js +20 -2
  57. package/lib/language/en-US.min.js +1 -1
  58. package/lib/language/en-US.umd.js +20 -2
  59. package/lib/language/es-ES.js +19 -1
  60. package/lib/language/es-ES.min.js +1 -1
  61. package/lib/language/es-ES.umd.js +19 -1
  62. package/lib/language/fr-FR.js +19 -1
  63. package/lib/language/fr-FR.min.js +1 -1
  64. package/lib/language/fr-FR.umd.js +19 -1
  65. package/lib/language/hu-HU.js +19 -1
  66. package/lib/language/hu-HU.min.js +1 -1
  67. package/lib/language/hu-HU.umd.js +19 -1
  68. package/lib/language/hy-AM.js +18 -0
  69. package/lib/language/hy-AM.min.js +1 -1
  70. package/lib/language/hy-AM.umd.js +18 -0
  71. package/lib/language/id-ID.js +19 -1
  72. package/lib/language/id-ID.min.js +1 -1
  73. package/lib/language/id-ID.umd.js +19 -1
  74. package/lib/language/it-IT.js +19 -1
  75. package/lib/language/it-IT.min.js +1 -1
  76. package/lib/language/it-IT.umd.js +19 -1
  77. package/lib/language/ja-JP.js +19 -1
  78. package/lib/language/ja-JP.min.js +1 -1
  79. package/lib/language/ja-JP.umd.js +19 -1
  80. package/lib/language/ko-KR.js +19 -1
  81. package/lib/language/ko-KR.min.js +1 -1
  82. package/lib/language/ko-KR.umd.js +19 -1
  83. package/lib/language/ms-MY.js +19 -1
  84. package/lib/language/ms-MY.min.js +1 -1
  85. package/lib/language/ms-MY.umd.js +19 -1
  86. package/lib/language/nb-NO.js +19 -1
  87. package/lib/language/nb-NO.min.js +1 -1
  88. package/lib/language/nb-NO.umd.js +19 -1
  89. package/lib/language/pt-BR.js +19 -1
  90. package/lib/language/pt-BR.min.js +1 -1
  91. package/lib/language/pt-BR.umd.js +19 -1
  92. package/lib/language/ru-RU.js +19 -1
  93. package/lib/language/ru-RU.min.js +1 -1
  94. package/lib/language/ru-RU.umd.js +19 -1
  95. package/lib/language/th-TH.js +19 -1
  96. package/lib/language/th-TH.min.js +1 -1
  97. package/lib/language/th-TH.umd.js +19 -1
  98. package/lib/language/ug-CN.js +19 -1
  99. package/lib/language/ug-CN.min.js +1 -1
  100. package/lib/language/ug-CN.umd.js +19 -1
  101. package/lib/language/uk-UA.js +19 -1
  102. package/lib/language/uk-UA.min.js +1 -1
  103. package/lib/language/uk-UA.umd.js +19 -1
  104. package/lib/language/uz-UZ.js +19 -1
  105. package/lib/language/uz-UZ.min.js +1 -1
  106. package/lib/language/uz-UZ.umd.js +19 -1
  107. package/lib/language/vi-VN.js +19 -1
  108. package/lib/language/vi-VN.min.js +1 -1
  109. package/lib/language/vi-VN.umd.js +19 -1
  110. package/lib/language/zh-CHT.js +19 -1
  111. package/lib/language/zh-CHT.min.js +1 -1
  112. package/lib/language/zh-CHT.umd.js +19 -1
  113. package/lib/language/zh-CN.js +18 -0
  114. package/lib/language/zh-CN.min.js +1 -1
  115. package/lib/language/zh-CN.umd.js +18 -0
  116. package/lib/list/src/list.js +1 -1
  117. package/lib/list/src/list.min.js +1 -1
  118. package/lib/select/src/select.js +139 -44
  119. package/lib/select/src/select.min.js +1 -1
  120. package/lib/select/style/style.css +21 -0
  121. package/lib/select/style/style.min.css +1 -1
  122. package/lib/style.css +1 -1
  123. package/lib/style.min.css +1 -1
  124. package/lib/tree/src/tree.js +1147 -572
  125. package/lib/tree/src/tree.min.js +1 -1
  126. package/lib/tree/src/util.js +51 -0
  127. package/lib/tree/src/util.min.js +1 -0
  128. package/lib/tree/style/style.css +23 -26
  129. package/lib/tree/style/style.min.css +1 -1
  130. package/lib/tree-select/src/tree-select.js +237 -21
  131. package/lib/tree-select/src/tree-select.min.js +1 -1
  132. package/lib/tree-select/style/style.css +36 -1
  133. package/lib/tree-select/style/style.min.css +1 -1
  134. package/lib/ui/index.js +19 -3
  135. package/lib/ui/index.min.js +1 -1
  136. package/lib/ui/src/dom.js +10 -0
  137. package/lib/ui/src/dom.min.js +1 -1
  138. package/lib/ui/src/log.js +1 -1
  139. package/lib/ui/src/log.min.js +1 -1
  140. package/lib/vxe-select/style/style.css +21 -0
  141. package/lib/vxe-select/style/style.min.css +1 -1
  142. package/lib/vxe-tree/style/style.css +23 -26
  143. package/lib/vxe-tree/style/style.min.css +1 -1
  144. package/lib/vxe-tree-select/style/style.css +36 -1
  145. package/lib/vxe-tree-select/style/style.min.css +1 -1
  146. package/package.json +1 -1
  147. package/packages/language/ar-EG.ts +19 -1
  148. package/packages/language/de-DE.ts +19 -1
  149. package/packages/language/en-US.ts +20 -2
  150. package/packages/language/es-ES.ts +19 -1
  151. package/packages/language/fr-FR.ts +19 -1
  152. package/packages/language/hu-HU.ts +19 -1
  153. package/packages/language/hy-AM.ts +18 -0
  154. package/packages/language/id-ID.ts +19 -1
  155. package/packages/language/it-IT.ts +19 -1
  156. package/packages/language/ja-JP.ts +19 -1
  157. package/packages/language/ko-KR.ts +19 -1
  158. package/packages/language/ms-MY.ts +19 -1
  159. package/packages/language/nb-NO.ts +19 -1
  160. package/packages/language/pt-BR.ts +19 -1
  161. package/packages/language/ru-RU.ts +19 -1
  162. package/packages/language/th-TH.ts +19 -1
  163. package/packages/language/ug-CN.ts +19 -1
  164. package/packages/language/uk-UA.ts +19 -1
  165. package/packages/language/uz-UZ.ts +19 -1
  166. package/packages/language/vi-VN.ts +19 -1
  167. package/packages/language/zh-CHT.ts +19 -1
  168. package/packages/language/zh-CN.ts +18 -0
  169. package/packages/list/src/list.ts +1 -1
  170. package/packages/select/src/select.ts +146 -50
  171. package/packages/tree/src/tree.ts +941 -410
  172. package/packages/tree/src/util.ts +35 -0
  173. package/packages/tree-select/src/tree-select.ts +240 -19
  174. package/packages/ui/index.ts +18 -2
  175. package/packages/ui/src/dom.ts +10 -0
  176. package/styles/components/select.scss +19 -0
  177. package/styles/components/tree-select.scss +36 -1
  178. package/styles/components/tree.scss +28 -31
  179. package/types/components/button.d.ts +11 -1
  180. package/types/components/grid.d.ts +5 -0
  181. package/types/components/icon-picker.d.ts +11 -1
  182. package/types/components/input.d.ts +2 -2
  183. package/types/components/select.d.ts +28 -39
  184. package/types/components/table.d.ts +2 -4
  185. package/types/components/tree-select.d.ts +73 -12
  186. package/types/components/tree.d.ts +125 -8
  187. /package/es/icon/{iconfont.1752133996961.ttf → iconfont.1752416456948.ttf} +0 -0
  188. /package/es/icon/{iconfont.1752133996961.woff → iconfont.1752416456948.woff} +0 -0
  189. /package/es/icon/{iconfont.1752133996961.woff2 → iconfont.1752416456948.woff2} +0 -0
  190. /package/es/{iconfont.1752133996961.ttf → iconfont.1752416456948.ttf} +0 -0
  191. /package/es/{iconfont.1752133996961.woff → iconfont.1752416456948.woff} +0 -0
  192. /package/es/{iconfont.1752133996961.woff2 → iconfont.1752416456948.woff2} +0 -0
  193. /package/lib/icon/style/{iconfont.1752133996961.ttf → iconfont.1752416456948.ttf} +0 -0
  194. /package/lib/icon/style/{iconfont.1752133996961.woff → iconfont.1752416456948.woff} +0 -0
  195. /package/lib/icon/style/{iconfont.1752133996961.woff2 → iconfont.1752416456948.woff2} +0 -0
  196. /package/lib/{iconfont.1752133996961.ttf → iconfont.1752416456948.ttf} +0 -0
  197. /package/lib/{iconfont.1752133996961.woff → iconfont.1752416456948.woff} +0 -0
  198. /package/lib/{iconfont.1752133996961.woff2 → iconfont.1752416456948.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";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")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.accordion},childrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.childrenField},valueField:{type:String,default:()=>(0,_ui.getConfig)().tree.valueField},keyField:{type:String,default:()=>(0,_ui.getConfig)().tree.keyField},parentField:{type:String,default:()=>(0,_ui.getConfig)().tree.parentField},titleField:{type:String,default:()=>(0,_ui.getConfig)().tree.titleField},hasChildField:{type:String,default:()=>(0,_ui.getConfig)().tree.hasChildField},mapChildrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,showLine:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showLine},trigger:String,indent:{type:Number,default:()=>(0,_ui.getConfig)().tree.indent},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>(0,_ui.getConfig)().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>(0,_ui.getConfig)().tree.iconOpen},iconClose:{type:String,default:()=>(0,_ui.getConfig)().tree.iconClose},iconLoaded:{type:String,default:()=>(0,_ui.getConfig)().tree.iconLoaded},size:{type:String,default:()=>(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error"],setup(L,e){const{emit:d,slots:w}=e;var C=_xeUtils.default.uniqueId();const k=(0,_ui.useSize)(L)["computeSize"],c=(0,_vue.ref)(),R=(0,_vue.reactive)({currentNode:null,selectRadioKey:L.checkNodeKey,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1}),T={nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}},E={refElem:c},X=(0,_vue.computed)(()=>L.titleField||"title"),u=(0,_vue.computed)(()=>L.keyField||"id"),s=(0,_vue.computed)(()=>{var e=u.value;return L.valueField||e}),y=(0,_vue.computed)(()=>L.parentField||"parentId"),K=(0,_vue.computed)(()=>L.childrenField||"children"),h=(0,_vue.computed)(()=>L.mapChildrenField||"mapChildren"),O=(0,_vue.computed)(()=>L.hasChildField||"hasChild"),m=(0,_vue.computed)(()=>{var e=p.value["isCurrent"];return _xeUtils.default.isBoolean(e)?e:L.isCurrent}),N=(0,_vue.computed)(()=>{var e=p.value["isHover"];return _xeUtils.default.isBoolean(e)?e:L.isHover}),B=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,L.radioConfig)),S=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,L.checkboxConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,L.nodeConfig)),M=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,L.loadingConfig)),b=(0,_vue.computed)(()=>{var{height:e,minHeight:t}=L,a={};return e&&(a.height=(0,_dom.toCssUnit)(e)),t&&(a.minHeight=(0,_dom.toCssUnit)(t)),a}),U={computeRadioOpts:B,computeCheckboxOpts:S,computeNodeOpts:p},z={xID:C,props:L,context:e,internalData:T,reactData:R,getRefMaps:()=>E,getComputeMaps:()=>U},A=e=>{var t=s.value,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)};const t=e=>{var t=R["selectRadioKey"];return t===e};const D=e=>{var t=R["updateCheckboxFlag"],a=T["selectCheckboxMaps"];return!(!t||!a[e])};const q=e=>{var t=R["updateCheckboxFlag"],a=T["indeterminateRowMaps"];return!(!t||!a[e])};const I=e=>{d("update:checkNodeKeys",e)},F=e=>{d("update:checkNodeKey",e)};const a=(e,t)=>{const a=T["nodeMaps"];if(e){_xeUtils.default.isArray(e)||(e=[e]);const d=[];e.forEach(e=>{e=a[e];e&&d.push(e.item)}),i(d,t)}return(0,_vue.nextTick)()},i=(e,a)=>{var t=L["transform"];const d=T["selectCheckboxMaps"];var n=h.value,o=K.value,r=S.value["checkStrictly"],i=e=>{var t=A(e);a?d[t]||(d[t]=e):d[t]&&delete d[t]};r?e.forEach(i):_xeUtils.default.eachTree(e,i,{children:t?n:o}),R.updateCheckboxFlag++,x()},n=(e,t,a)=>{t?a[e]||(a[e]=!0):a[e]&&delete a[e]},H=(e,t,a)=>{d(e,(0,_ui.createEvent)(a,{$tree:z},t))},o={dispatchEvent:H,clearCurrentNode(){return(R.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=R["currentNode"];return e?A(e):null},getCurrentNode(){var e=R["currentNode"],t=T["nodeMaps"];if(e){t=t[A(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=T["nodeMaps"],t=t[e];return R.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return R.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return(R.selectRadioKey=null,_vue.nextTick)()},getRadioNodeId(){return R.selectRadioKey||null},getRadioNode(){var e=R["selectRadioKey"],t=T["nodeMaps"];if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return R.selectRadioKey=e,(0,_vue.nextTick)()},setRadioNode:e=>(e&&(R.selectRadioKey=A(e)),(0,_vue.nextTick)()),setCheckboxNode:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),i(e,t)),(0,_vue.nextTick)()),setCheckboxByNodeId:a,getCheckboxNodeIds(){var e=T["selectCheckboxMaps"];return Object.keys(e)},getCheckboxNodes(){const{nodeMaps:a,selectCheckboxMaps:e}=T,d=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&d.push(t.item)}),d},clearCheckboxNode(){return T.selectCheckboxMaps={},R.updateCheckboxFlag++,(0,_vue.nextTick)()},setAllCheckboxNode(e){var t=L["transform"];const a={};var d=K.value,n=h.value;return e&&_xeUtils.default.eachTree(R.treeList,e=>{e=A(e);a[e]=!0},{children:t?n:d}),T.selectCheckboxMaps=a,R.updateCheckboxFlag++,(0,_vue.nextTick)()},clearExpandNode(){return o.clearAllExpandNode()},clearAllExpandNode(){var e=T["nodeMaps"];return _xeUtils.default.each(e,e=>{e.treeLoaded=!1}),T.treeExpandedMaps={},R.updateExpandedFlag++,(0,_vue.nextTick)()},setExpandByNodeId(e,t){const a=T["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{n(e,t,a)}),R.updateExpandedFlag++),(0,_vue.nextTick)()},getExpandNodeIds(){var e=T["treeExpandedMaps"];return _xeUtils.default.keys(e)},getExpandNodes(){const{nodeMaps:a,treeExpandedMaps:e}=T,d=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&d.push(t.item)}),d},setExpandNode(e,t){const a=T["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=A(e);n(e,t,a)}),R.updateExpandedFlag++),(0,_vue.nextTick)()},toggleExpandByNodeId(e){const t=T["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{n(e,!t[e],t)}),R.updateExpandedFlag++),(0,_vue.nextTick)()},toggleExpandNode(e){const t=T["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=A(e);n(e,!t[e],t)}),R.updateExpandedFlag++),(0,_vue.nextTick)()},setAllExpandNode(e){var t=L["transform"];const a=T["treeExpandedMaps"],d=K.value;var n=h.value;return e?_xeUtils.default.eachTree(R.treeList,e=>{var t=_xeUtils.default.get(e,d);t&&t.length&&(t=A(e),a[t]=!0)},{children:t?n:d}):T.treeExpandedMaps={},R.updateExpandedFlag++,(0,_vue.nextTick)()},reloadExpandNode(e){var t=L["lazy"];return t?(o.clearExpandLoaded(e),g(e)):(0,_vue.nextTick)()},clearExpandLoaded(e){var t=L["lazy"],a=T["nodeMaps"];return t&&(t=a[A(e)])&&(t.treeLoaded=!1),(0,_vue.nextTick)()},loadChildrenNode(r,e){const{lazy:t,transform:a}=L,i=T["nodeMaps"];if(!t)return Promise.resolve([]);const d=K.value,l=i[A(r)],u=l?l.level:0,c=l?l.nodes:[];return(e=>{const a=s.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return A(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,a,d,n,o)=>{e=A(e);i[e]={item:r,itemIndex:-1,items:a,parent:n||l.item,nodes:c.concat(o),level:u+o.length,lineCount:0,treeLoaded:!1}},{children:d}),r[d]=e,a&&(r[d]=e),v(r),e))},isExpandByNode:e=>{var t=R["updateExpandedFlag"],a=T["treeExpandedMaps"],e=A(e);return!(!t||!a[e])},isCheckedByRadioNodeId:t,isCheckedByRadioNode:e=>t(A(e)),isCheckedByCheckboxNodeId:D,isIndeterminateByCheckboxNode:e=>q(A(e)),isCheckedByCheckboxNode:e=>D(A(e)),getCheckboxIndeterminateNodes(){const{nodeMaps:a,indeterminateRowMaps:e}=T,d=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&d.push(t.item)}),d}},r=e=>{var{expandAll:t,transform:a}=L,d=T["initialized"],n=u.value,o=y.value,r=h.value;R.treeList=a?_xeUtils.default.toArrayTree(e,{key:n,parentKey:o,mapChildren:r}):e?e.slice(0):[];{a=L.transform,n=R.treeList;const i=s.value,l=(o=K.value,r=h.value,{});_xeUtils.default.eachTree(n,(e,t,a,d,n,o)=>{let r=A(e);r||(r=getNodeUniqueId(),_xeUtils.default.set(e,i,r)),l[r]={item:e,itemIndex:t,items:a,parent:n,nodes:o,level:o.length,lineCount:0,treeLoaded:!1}},{children:a?r:o}),T.nodeMaps=l}d||e&&e.length&&(T.initialized=!0,t&&z.setAllExpandNode(!0),z.setCheckboxByNodeId(L.checkNodeKeys||[],!0))},l=(e,d,n)=>{var t=T["treeExpandedMaps"],a=K.value,o=A(e);n.lineCount++,t[o]&&_xeUtils.default.arrayEach(e[a],(e,t,a)=>{(!d||t<a.length-1)&&l(e,!1,n)})},v=e=>{const a=T["nodeMaps"];e&&(e=A(e),e=a[e])&&_xeUtils.default.lastArrayEach(e.nodes,e=>{var t=A(e),t=a[t];t&&(t.lineCount=0,l(e,!0,t))})},G=(e,t)=>{var{showRadio:a,showCheckbox:d,trigger:n}=L,o=B.value,r=S.value;let i=!1,l=!1,u=!1,c=!1;m.value?(i=!0,((e,t)=>{e.preventDefault();const a=p.value,{currentMethod:d,trigger:n}=a,o=K.value,r=_xeUtils.default.get(t,o),i=r&&r.length;let l=!!d;if(n==="child"){if(i)return}else if(n==="parent")if(!i)return;if(d)l=!d({node:t});var u;l||(u=!0,R.currentNode=t,H("current-change",{node:t,checked:!0},e))})(e,t)):R.currentNode&&(R.currentNode=null),"node"===n&&(c=!0,j(e,t)),a&&"node"===o.trigger&&(l=!0,V(e,t)),d&&"node"===r.trigger&&(u=!0,P(e,t)),H("node-click",{node:t,triggerCurrent:i,triggerRadio:l,triggerCheckbox:u,triggerExpand:c},e)},g=o=>{var e=S.value;const a=L["loadMethod"],r=e["checkStrictly"];return new Promise(e=>{if(a){var t=T["nodeMaps"];const d=A(o),n=t[d];T.treeExpandLazyLoadedMaps[d]=!0,Promise.resolve(a({$tree:z,node:o})).then(a=>{var e=T["treeExpandLazyLoadedMaps"];if(n.treeLoaded=!0,e[d]&&(e[d]=!1),a=_xeUtils.default.isArray(a)?a:[])return z.loadChildrenNode(o,a).then(e=>{var t=T["treeExpandedMaps"];return e.length&&!t[d]&&(t[d]=!0),R.updateExpandedFlag++,!r&&z.isCheckedByCheckboxNodeId(d)&&i(e,!0),v(o),H("load-success",{node:o,data:a},new Event("load-success")),(0,_vue.nextTick)()});v(o),H("load-success",{node:o,data:a},new Event("load-success"))}).catch(e=>{var t=T["treeExpandLazyLoadedMaps"];n.treeLoaded=!1,t[d]&&(t[d]=!1),v(o),H("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(0,_vue.nextTick)())}else e()})},J=(e,t)=>{const{lazy:d,accordion:a,toggleMethod:n}=L,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:r}=T,i=T["nodeMaps"],l=K.value,u=O.value,c=[];let s=n?e.filter(e=>n({$tree:z,expanded:t,node:e})):e;a&&(s=s.length?[s[s.length-1]]:[],e=A(s[0]),e=i[e])&&e.items.forEach(e=>{e=A(e);r[e]&&delete r[e]});const h=[];return t?s.forEach(e=>{var t,a=A(e);r[a]||(t=i[a],d&&e[u]&&!t.treeLoaded&&!o[a]?c.push(g(e)):e[l]&&e[l].length&&(r[a]=!0,h.push(e)))}):s.forEach(e=>{var t=A(e);r[t]&&(delete r[t],h.push(e))}),R.updateExpandedFlag++,h.forEach(v),Promise.all(c)},j=(e,t)=>{var a=L["lazy"],{treeExpandedMaps:d,treeExpandLazyLoadedMaps:n}=T,o=A(t),d=!d[o];e.stopPropagation(),a&&n[o]||J([t],d)},x=()=>{var e=L["transform"],t=R["treeList"];const{selectCheckboxMaps:i,indeterminateRowMaps:l}=T,d=K.value;var a=h.value;const{checkStrictly:n,checkMethod:u}=S.value;if(!n){const o={},r=[];_xeUtils.default.eachTree(t,e=>{var t=A(e),a=e[d];a&&a.length&&!o[t]&&(o[t]=1,r.unshift([e,t,a]))},{children:e?a:d}),r.forEach(e=>{var t=e[0],a=e[1],e=e[2];let d=0,n=0,o=0;e.forEach(u?e=>{var t=A(e),a=i[t];u({node:e})?(a?d++:l[t]&&n++,o++):a?d++:l[t]&&n++}:e=>{e=A(e);i[e]?d++:l[e]&&n++,o++});var e=d>=o,r=!e&&(1<=d||1<=n);e?(i[a]=t,l[a]&&delete l[a]):(i[a]&&delete i[a],r?l[a]=t:l[a]&&delete l[a])}),R.updateCheckboxFlag++}},P=(e,a)=>{e.preventDefault(),e.stopPropagation();var d=L["transform"];const n=T["selectCheckboxMaps"];var o=K.value,r=h.value,{checkStrictly:i,checkMethod:l}=S.value;let t=!!l;if(!(t=l?!l({node:a}):t)){l=A(a);let t=!1;n[l]?delete n[l]:(t=!0,n[l]=a),i||_xeUtils.default.eachTree(_xeUtils.default.get(a,o),e=>{e=A(e);t?n[e]||(n[e]=!0):n[e]&&delete n[e]},{children:d?r:o}),R.updateCheckboxFlag++,x();l=_xeUtils.default.keys(n);I(l),H("checkbox-change",{node:a,value:l,checked:t},e)}},V=(e,t)=>{e.preventDefault(),e.stopPropagation();var a=B.value["checkMethod"];let d=!!a;(d=a?!a({node:t}):d)||(a=A(t),R.selectRadioKey=a,F(a),H("radio-change",{node:t,value:a,checked:!0},e))};Object.assign(z,o,{});const $=a=>{var{lazy:e,showRadio:t,showCheckbox:d,showLine:n,indent:o,iconOpen:r,iconClose:i,iconLoaded:l,showIcon:u}=L,{currentNode:c,selectRadioKey:s,updateExpandedFlag:h}=R,{nodeMaps:p,treeExpandedMaps:v,treeExpandLazyLoadedMaps:g}=T,x=K.value,_=X.value,f=O.value,x=_xeUtils.default.get(a,x),C=x&&x.length,k=w.icon,E=w.title,y=w.extra,m=A(a),h=h&&v[m],p=p[m],_=_xeUtils.default.get(a,_);const N=[];C&&v[m]&&(n&&N.push((0,_vue.h)("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:`calc(${p.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,left:(p.level+1)*(o||1)+"px"}})),x.forEach(e=>{N.push($(e))}));let M=!1,b=(t&&(M=m==s),!1),U=(d&&(b=D(m)),!1),I=!1,F=!1;return e&&(I=!!g[m],U=a[f],F=!!p.treeLoaded),(0,_vue.h)("div",{class:["vxe-tree--node-wrapper","node--level-"+p.level],nodeid:m},[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":c&&m===A(c),"is-radio--checked":M,"is-checkbox--checked":b}],style:{paddingLeft:(p.level-1)*(o||1)+"px"},onClick(e){G(e,a)},onDblclick(e){var t;e=e,t=a,H("node-dblclick",{node:t},e)}},[u||n?(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},u&&(!e||F?C:U)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){j(e,a)}},k?k({node:a,isExpand:h}):[(0,_vue.h)("i",{class:I?l||(0,_ui.getIcon)().TREE_NODE_LOADED:h?r||(0,_ui.getIcon)().TREE_NODE_OPEN:i||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]):(0,_ui.renderEmptyElement)(z),((t,e)=>{var a=L["showRadio"],{showIcon:d,checkMethod:n,visibleMethod:o}=B.value,o=!o||o({node:t});let r=!!n;return a&&d&&o?(n&&(r=!n({node:t})),(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":e,"is--disabled":r}],onClick:e=>{r||V(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])):(0,_ui.renderEmptyElement)(z)})(a,M),((t,e,a)=>{var d=L["showCheckbox"],{showIcon:n,checkMethod:o,visibleMethod:r}=S.value,e=q(e),r=!r||r({node:t});let i=!!o;return d&&n&&r?(o&&(i=!o({node:t})),(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":a,"is--indeterminate":e,"is--disabled":i}],onClick:e=>{i||P(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:a?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])):(0,_ui.renderEmptyElement)(z)})(a,m,b),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E({node:a,isExpand:h})):""+_),y?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(y({node:a,isExpand:h}))):(0,_ui.renderEmptyElement)(z)])]),C&&v[m]?(0,_vue.h)("div",{class:"vxe-tree--node-child-wrapper"},N):(0,_ui.renderEmptyElement)(z)])};const _=(0,_vue.ref)(0),f=((0,_vue.watch)(()=>L.data?L.data.length:0,()=>{_.value++}),(0,_vue.watch)(()=>L.data,()=>{_.value++}),(0,_vue.watch)(_,()=>{r(L.data||[])}),(0,_vue.watch)(()=>L.checkNodeKey,e=>{R.selectRadioKey=e}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>L.checkNodeKeys?L.checkNodeKeys.length:0,()=>{f.value++}),(0,_vue.watch)(()=>L.checkNodeKeys,()=>{f.value++}),(0,_vue.watch)(f,()=>{var e;e=L.checkNodeKeys||[],a(e,!0)}),(0,_vue.onUnmounted)(()=>{R.treeList=[],T.treeExpandedMaps={},T.indeterminateRowMaps={},T.nodeMaps={}}),r(L.data||[]),z.renderVN=()=>{var{loading:e,trigger:t,showLine:a}=L,d=k.value,n=B.value,o=S.value,r=b.value,i=M.value,l=N.value;const u=w.loading;return(0,_vue.h)("div",{ref:c,class:["vxe-tree",{["size--"+d]:d,"show--line":a,"checkbox--highlight":o.highlight,"radio--highlight":n.highlight,"node--hover":l,"node--trigger":"node"===t,"is--loading":e}],style:r},[(d=R.treeList,(0,_vue.h)("div",{class:"vxe-tree--node-list-wrapper"},d.map(e=>$(e)))),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:i.icon,text:i.text},u?{default:()=>u({$tree:z})}:{})])},z},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.autoResize},height:[String,Number],maxHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.maxHeight},minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.accordion},childrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.childrenField},valueField:{type:String,default:()=>(0,_ui.getConfig)().tree.valueField},keyField:{type:String,default:()=>(0,_ui.getConfig)().tree.keyField},parentField:{type:String,default:()=>(0,_ui.getConfig)().tree.parentField},titleField:{type:String,default:()=>(0,_ui.getConfig)().tree.titleField},hasChildField:{type:String,default:()=>(0,_ui.getConfig)().tree.hasChildField},mapChildrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,showLine:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showLine},trigger:String,indent:{type:Number,default:()=>(0,_ui.getConfig)().tree.indent},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>(0,_ui.getConfig)().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>(0,_ui.getConfig)().tree.iconOpen},iconClose:{type:String,default:()=>(0,_ui.getConfig)().tree.iconClose},iconLoaded:{type:String,default:()=>(0,_ui.getConfig)().tree.iconLoaded},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size},virtualYConfig:Object},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error","scroll"],setup(I,e){const{emit:r,slots:T}=e;var k=_xeUtils.default.uniqueId();const b=(0,_ui.useSize)(I)["computeSize"],p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),_=(0,_vue.ref)(),m=(0,_vue.ref)(),w=(0,_vue.reactive)({parentHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,currentNode:null,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,selectRadioKey:I.checkNodeKey,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1}),U={treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0},M={refElem:p},F=(0,_vue.computed)(()=>I.titleField||"title"),u=(0,_vue.computed)(()=>I.keyField||"id"),c=(0,_vue.computed)(()=>{var e=u.value;return I.valueField||e}),N=(0,_vue.computed)(()=>I.parentField||"parentId"),H=(0,_vue.computed)(()=>I.childrenField||"children"),C=(0,_vue.computed)(()=>I.mapChildrenField||"mapChildren"),R=(0,_vue.computed)(()=>I.hasChildField||"hasChild"),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.virtualYConfig,I.virtualYConfig)),L=(0,_vue.computed)(()=>{var e=h.value["isCurrent"];return _xeUtils.default.isBoolean(e)?e:I.isCurrent}),S=(0,_vue.computed)(()=>{var e=h.value["isHover"];return _xeUtils.default.isBoolean(e)?e:I.isHover}),z=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,I.radioConfig)),O=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,I.checkboxConfig)),h=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,I.nodeConfig)),V=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,I.loadingConfig)),Y=(0,_vue.computed)(()=>{var{customHeight:e,customMinHeight:t,customMaxHeight:a}=w,r={};return e&&(r.height=(0,_dom.toCssUnit)(e)),t&&(r.minHeight=(0,_dom.toCssUnit)(t)),a&&(r.maxHeight=(0,_dom.toCssUnit)(a)),r}),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.filterConfig,I.filterConfig)),$={computeChildrenField:H,computeMapChildrenField:C,computeRadioOpts:z,computeCheckboxOpts:O,computeNodeOpts:h},K={xID:k,props:I,context:e,internalData:U,reactData:w,getRefMaps:()=>M,getComputeMaps:()=>$},D=e=>{var t=c.value,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)};const j=e=>{var t=w["selectRadioKey"];return t===e};const B=e=>{var t=w["updateCheckboxFlag"],a=U["selectCheckboxMaps"];return!(!t||!a[e])};const P=e=>{var t=w["updateCheckboxFlag"],a=U["indeterminateRowMaps"];return!(!t||!a[e])};const X=e=>{r("update:checkNodeKeys",e)},W=e=>{r("update:checkNodeKey",e)};const G=(e,t)=>{const a=U["nodeMaps"];if(e){_xeUtils.default.isArray(e)||(e=[e]);const r=[];e.forEach(e=>{e=a[e];e&&r.push(e.item)}),n(r,t)}return(0,_vue.nextTick)()},n=(e,a)=>{var t=I["transform"];const r=U["selectCheckboxMaps"];var o=C.value,l=H.value,i=O.value["checkStrictly"],n=e=>{var t=D(e);a?r[t]||(r[t]=e):r[t]&&delete r[t]};i?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?o:l}),w.updateCheckboxFlag++,ve()},o=(e,t,a)=>{t?a[e]||(a[e]=!0):a[e]&&delete a[e]},A=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$tree:K},t))},J=()=>{var e=p.value;return e?e.parentElement:null},t=e=>{var t=w["parentHeight"],e=I[e];let a=0;return a=e?"100%"===e||"auto"===e?t:(a=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,a)):a},Q=()=>{w.customHeight=t("height"),w.customMinHeight=t("minHeight"),w.customMaxHeight=t("maxHeight"),!w.scrollYLoad||w.customHeight||w.customMinHeight||(w.customHeight=300)},Z=()=>{var e=I["transform"];const{afterTreeList:t,nodeMaps:l}=U;var a=H.value,r=C.value;_xeUtils.default.eachTree(t,(e,t,a)=>{var r=D(e),o=l[r];o?(o.items=a,o.treeIndex=t):(o={item:e,index:t,items:a,parent:parent,nodes:[],level:0,treeIndex:t,lineCount:0,treeLoaded:!1},l[r]=o)},{children:e?r:a})},y=()=>{var e=I["transform"];const{afterTreeList:t,treeExpandedMaps:n}=U;var a=C.value;const d={};if(e){const s=[];return _xeUtils.default.eachTree(t,(e,t,a,r,o)=>{var l=D(e),i=D(o);(!o||d[i]&&n[i])&&(d[l]=1,s.push(e))},{children:a}),te(s),U.afterVisibleList=s}return U.afterVisibleList},v=r=>{var e=w["scrollYLoad"],t=U["scrollYStore"];let a=U.afterVisibleList;if(r){{var{transform:r,filterValue:o}=I,{treeFullData:l,lastFilterValue:i}=U;const s=F.value;var n=H.value,d=C.value;const{autoExpandAll:u,beforeFilterMethod:c,filterMethod:h,afterFilterMethod:v}=q.value;let e=l,t=e,a="";if(o||0===o){a=""+o;o=h?e=>h({$tree:K,node:e,filterValue:a}):e=>-1<String(e[s]).toLowerCase().indexOf(a);const g={$tree:K,filterValue:a};c&&c(g),e=r?t=_xeUtils.default.searchTree(l,o,{children:n,mapChildren:d,isEvery:!0}):l.filter(o),U.lastFilterValue=a,(0,_vue.nextTick)(()=>{u?K.setAllExpandNode(!0).then(()=>{v&&v(g)}):v&&v(g)})}else{if(r&&(t=_xeUtils.default.searchTree(l,()=>!0,{children:n,mapChildren:d,isEvery:!0}),e=t,i)){const p={$tree:K,filterValue:a};c&&c(p),(0,_vue.nextTick)(()=>{u?K.clearAllExpandNode().then(()=>{v&&v(p)}):v&&v(p)})}U.lastFilterValue=""}U.afterVisibleList=e,U.afterTreeList=t,Z()}a=y()}o=e?a.slice(t.startIndex,t.endIndex):a.slice(0);w.treeList=o},ee=_xeUtils.default.debounce(()=>v(!0),350,{trailing:!0}),a=a=>{const{expandAll:r,transform:e}=I,{initialized:o,scrollYStore:t}=U;var l=u.value,i=N.value,n=H.value,l=e?_xeUtils.default.toArrayTree(a,{key:l,parentKey:i,mapChildren:n}):a?a.slice(0):[],i=(U.treeFullData=l,Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),te(l));{n=U.treeFullData;const d=c.value,s=(l=H.value,{});_xeUtils.default.eachTree(n,(e,t,a,r,o,l)=>{let i=D(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,d,i)),s[i]={item:e,index:t,items:a,parent:o,nodes:l,level:l.length,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:l}),U.nodeMaps=s}return v(!0),!i||I.height||I.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["height | max-height | virtual-y-config.enabled=false"]),oe().then(()=>{o||a&&a.length&&(U.initialized=!0,r&&K.setAllExpandNode(!0),K.setCheckboxByNodeId(I.checkNodeKeys||[],!0)),Q();{const{lastScrollLeft:e,lastScrollTop:t}=U;de().then(()=>{if(e||t)return U.lastScrollLeft=0,U.lastScrollTop=0,le(e,t)})}})},te=e=>{var t=I["transform"],a=i.value,e=e||U.treeFullData,t=!!t&&!!a.enabled&&-1<a.gt&&(0===a.gt||a.gt<e.length);return w.scrollYLoad=t},ae=()=>{var e=w["scrollYLoad"],{scrollYStore:t,afterVisibleList:a}=U;w.bodyHeight=e?a.length*t.rowHeight:0,w.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},re=()=>{v(),ae()},oe=()=>(0,_vue.nextTick)().then(()=>{var e=w["scrollYLoad"],t=U["scrollYStore"],a=m.value,r=i.value;let o=0,l;(l=a?l||a.children[0]:l)&&(o=l.offsetHeight),o=Math.max(20,o),t.rowHeight=o,(e?(a=_.value,e=Math.max(8,a?Math.ceil(a.clientHeight/o):0),a=Math.max(0,Math.min(2,_xeUtils.default.toNumber(r.oSize))),t.offsetSize=a,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+a,t.endIndex),re):ae)()}),le=(e,t)=>{var a=_.value;return a&&(_xeUtils.default.isNumber(e)&&(a.scrollLeft=e),_xeUtils.default.isNumber(t))&&(a.scrollTop=t),w.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},g=()=>{var e,t,a,r=U["scrollYStore"],r=r["rowHeight"],o=p.value;return(o&&o.clientWidth&&o.clientHeight?(o=J(),e=f.value,t=x.value,e=e?e.clientHeight:0,t=t?t.clientHeight:0,o&&(a=(0,_dom.getPaddingTopBottomSize)(o),w.parentHeight=Math.max(e+t+r,o.clientHeight-a-e-t)),Q(),oe):(0,_vue.nextTick))()},ie=e=>{var t=U["scrollYStore"],{startIndex:a,endIndex:r,visibleSize:o,offsetSize:l,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-l),l=e+o+l;!(e<=a||r-o-1<=e)||a===i&&r===l||(t.startIndex=i,t.endIndex=l,re())},ne=e=>{var t=e.target,a=t.scrollTop,t=t.scrollLeft,r=t!==U.lastScrollLeft,o=a!==U.lastScrollTop;U.lastScrollTop=a,U.lastScrollLeft=t,w.scrollYLoad&&ie(e),U.lastScrollTime=Date.now(),A("scroll",{scrollLeft:t,scrollTop:a,isX:r,isY:o},e)},de=()=>{var e=_.value;return e&&(e.scrollTop=0,e.scrollLeft=0),U.lastScrollTop=0,(U.lastScrollLeft=0,_vue.nextTick)()},se=(e,t)=>{var{showRadio:a,showCheckbox:r,trigger:o}=I,l=z.value,i=O.value;let n=!1,d=!1,s=!1,u=!1;L.value?(n=!0,((e,t)=>{e.preventDefault();const a=h.value,{currentMethod:r,trigger:o}=a,l=H.value,i=_xeUtils.default.get(t,l),n=i&&i.length;let d=!!r;if(o==="child"){if(n)return}else if(o==="parent")if(!n)return;if(r)d=!r({node:t});var s;d||(s=!0,w.currentNode=t,A("current-change",{node:t,checked:!0},e))})(e,t)):w.currentNode&&(w.currentNode=null),"node"===o&&(u=!0,he(e,t)),a&&"node"===l.trigger&&(d=!0,pe(e,t)),r&&"node"===i.trigger&&(s=!0,ge(e,t)),A("node-click",{node:t,triggerCurrent:n,triggerRadio:d,triggerCheckbox:s,triggerExpand:u},e)},ue=l=>{var e=O.value;const a=I["loadMethod"],i=e["checkStrictly"];return new Promise(e=>{if(a){var t=U["nodeMaps"];const r=D(l),o=t[r];U.treeExpandLazyLoadedMaps[r]=!0,Promise.resolve(a({$tree:K,node:l})).then(a=>{var e=U["treeExpandLazyLoadedMaps"];if(o.treeLoaded=!0,e[r]&&(e[r]=!1),a=_xeUtils.default.isArray(a)?a:[])return K.loadChildrenNode(l,a).then(e=>{var t=U["treeExpandedMaps"];return e.length&&!t[r]&&(t[r]=!0),w.updateExpandedFlag++,!i&&K.isCheckedByCheckboxNodeId(r)&&n(e,!0),A("load-success",{node:l,data:a},new Event("load-success")),(0,_vue.nextTick)()});A("load-success",{node:l,data:a},new Event("load-success"))}).catch(e=>{var t=U["treeExpandLazyLoadedMaps"];o.treeLoaded=!1,t[r]&&(t[r]=!1),A("load-error",{node:l,data:e},new Event("load-error"))}).finally(()=>(y(),v(),g()))}else e()})},ce=(e,t)=>{const{lazy:r,accordion:a,toggleMethod:o}=I,{treeExpandLazyLoadedMaps:l,treeExpandedMaps:i}=U,n=U["nodeMaps"],d=H.value,s=R.value,u=[];let c=o?e.filter(e=>o({$tree:K,expanded:t,node:e})):e;a&&(c=c.length?[c[c.length-1]]:[],e=D(c[0]),e=n[e])&&e.items.forEach(e=>{e=D(e);i[e]&&delete i[e]});const h=[];return t?c.forEach(e=>{var t,a=D(e);i[a]||(t=n[a],r&&e[s]&&!t.treeLoaded&&!l[a]?u.push(ue(e)):e[d]&&e[d].length&&(i[a]=!0,h.push(e)))}):c.forEach(e=>{var t=D(e);i[t]&&(delete i[t],h.push(e))}),w.updateExpandedFlag++,y(),v(),Promise.all(u).then(()=>g())},he=(e,t)=>{var a=I["lazy"],{treeExpandedMaps:r,treeExpandLazyLoadedMaps:o}=U,l=D(t),r=!r[l];e.stopPropagation(),a&&o[l]||ce([t],r)},ve=()=>{var e=I["transform"];const{selectCheckboxMaps:d,indeterminateRowMaps:s,afterTreeList:t}=U,r=H.value;var a=C.value;const{checkStrictly:o,checkMethod:u}=O.value;if(!o){const l={},i=[];_xeUtils.default.eachTree(t,e=>{var t=D(e),a=e[r];a&&a.length&&!l[t]&&(l[t]=1,i.unshift([e,t,a]))},{children:e?a:r}),i.forEach(e=>{var t=e[0],a=e[1],e=e[2];let r=0,o=0,l=0;var i=e.length;e.forEach(u?e=>{var t=D(e),a=d[t];u({$tree:K,node:e})?(a?r++:s[t]&&o++,l++):a?r++:s[t]&&o++}:e=>{e=D(e);d[e]?r++:s[e]&&o++,l++});let n=!1;e=!(n=0<i?0<l?(0<r||0<o)&&r>=l:0<r&&r>=l||!!d[a]:d[a])&&(0<r||0<o);n?(d[a]=t,s[a]&&delete s[a]):(d[a]&&delete d[a],e?s[a]=t:s[a]&&delete s[a])}),w.updateCheckboxFlag++}},ge=(e,a)=>{e.preventDefault(),e.stopPropagation();var r=I["transform"];const o=U["selectCheckboxMaps"];var l=H.value,i=C.value,{checkStrictly:n,checkMethod:d}=O.value;let t=!!d;if(!(t=d?!d({$tree:K,node:a}):t)){d=D(a);let t=!1;o[d]?delete o[d]:(t=!0,o[d]=a),n||_xeUtils.default.eachTree(_xeUtils.default.get(a,r?i:l),e=>{e=D(e);t?o[e]||(o[e]=!0):o[e]&&delete o[e]},{children:r?i:l}),w.updateCheckboxFlag++,ve();d=_xeUtils.default.keys(o);X(d),A("checkbox-change",{node:a,value:d,checked:t},e)}},pe=(e,t)=>{e.preventDefault(),e.stopPropagation();var a=z.value["checkMethod"];let r=!!a;(r=a?!a({$tree:K,node:t}):r)||(a=D(t),w.selectRadioKey=a,W(a),A("radio-change",{node:t,value:a,checked:!0},e))},fe=()=>{var e=p.value;e&&e.clientWidth&&g()},l={dispatchEvent:A,getNodeId:D,loadData(e){return a(e||[])},reloadData(e){return a(e||[])},clearCurrentNode(){return(w.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=w["currentNode"];return e?D(e):null},getCurrentNode(){var e=w["currentNode"],t=U["nodeMaps"];if(e){t=t[D(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=U["nodeMaps"],t=t[e];return w.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return w.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return(w.selectRadioKey=null,_vue.nextTick)()},getRadioNodeId(){return w.selectRadioKey||null},getRadioNode(){var e=w["selectRadioKey"],t=U["nodeMaps"];if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return w.selectRadioKey=e,(0,_vue.nextTick)()},setRadioNode:e=>(e&&(w.selectRadioKey=D(e)),(0,_vue.nextTick)()),setCheckboxNode:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),n(e,t)),(0,_vue.nextTick)()),setCheckboxByNodeId:G,getCheckboxNodeIds(){var e=U["selectCheckboxMaps"];return Object.keys(e)},getCheckboxNodes(){const{nodeMaps:a,selectCheckboxMaps:e}=U,r=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&r.push(t.item)}),r},clearCheckboxNode(){return U.selectCheckboxMaps={},w.updateCheckboxFlag++,(0,_vue.nextTick)().then(()=>({checkNodeKeys:[]}))},setAllCheckboxNode(e){var t=I["transform"];const a={};var r=H.value,o=C.value;const l=[];return e&&_xeUtils.default.eachTree(U.afterTreeList,e=>{e=D(e);l.push(e),a[e]=!0},{children:t?o:r}),U.selectCheckboxMaps=a,w.updateCheckboxFlag++,(0,_vue.nextTick)().then(()=>({checkNodeKeys:l}))},clearExpandNode(){return l.clearAllExpandNode()},clearAllExpandNode(){var e=U["nodeMaps"];return _xeUtils.default.each(e,e=>{e.treeLoaded=!1}),U.treeExpandedMaps={},w.updateExpandedFlag++,y(),v(),g()},setExpandByNodeId(e,t){const a=U["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{o(e,t,a)}),w.updateExpandedFlag++),y(),v(),g()},getExpandNodeIds(){var e=U["treeExpandedMaps"];return _xeUtils.default.keys(e)},getExpandNodes(){const{nodeMaps:a,treeExpandedMaps:e}=U,r=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&r.push(t.item)}),r},setExpandNode(e,t){const a=U["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=D(e);o(e,t,a)}),w.updateExpandedFlag++),y(),v(),g()},toggleExpandByNodeId(e){const t=U["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{o(e,!t[e],t)}),w.updateExpandedFlag++),y(),v(),g()},toggleExpandNode(e){const t=U["treeExpandedMaps"];return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=D(e);o(e,!t[e],t)}),w.updateExpandedFlag++),y(),v(),g()},setAllExpandNode(e){var t=I["transform"];const a=U["treeExpandedMaps"],r=H.value;var o=C.value;return e?_xeUtils.default.eachTree(U.afterTreeList,e=>{var t=_xeUtils.default.get(e,r);t&&t.length&&(t=D(e),a[t]=!0)},{children:t?o:r}):U.treeExpandedMaps={},w.updateExpandedFlag++,y(),v(),g()},reloadExpandNode(e){var t=I["lazy"];return t?(l.clearExpandLoaded(e),ue(e)):g()},clearExpandLoaded(e){var t=I["lazy"],a=U["nodeMaps"];return t&&(t=a[D(e)])&&(t.treeLoaded=!1),g()},loadChildrenNode(i,e){const{lazy:t,transform:a}=I,n=U["nodeMaps"];if(!t)return Promise.resolve([]);const r=H.value,o=C.value,d=n[D(i)],s=d?d.level:0,u=d?d.nodes:[];return(e=>{const a=c.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return D(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,a,r,o,l)=>{e=D(e);n[e]={item:i,index:-1,items:a,parent:o||d.item,nodes:u.concat(l),level:s+l.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:r}),i[r]=e,a&&(i[o]=e),Z(),e))},isExpandByNode:e=>{var t=w["updateExpandedFlag"],a=U["treeExpandedMaps"],e=D(e);return!(!t||!a[e])},isCheckedByRadioNodeId:j,isCheckedByRadioNode:e=>j(D(e)),isCheckedByCheckboxNodeId:B,isIndeterminateByCheckboxNode:e=>P(D(e)),isCheckedByCheckboxNode:e=>B(D(e)),getCheckboxIndeterminateNodes(){const{nodeMaps:a,indeterminateRowMaps:e}=U,r=[];return _xeUtils.default.each(e,(e,t)=>{t=a[t];t&&r.push(t.item)}),r},recalculate:g,scrollTo:le,clearScroll:de};Object.assign(K,l,{});const xe=(a,e)=>{var{lazy:t,showRadio:r,showCheckbox:o,showLine:l,indent:i,iconOpen:n,iconClose:d,iconLoaded:s,showIcon:u}=I,{currentNode:c,selectRadioKey:h,updateExpandedFlag:v}=w,{afterTreeList:g,nodeMaps:p,treeExpandedMaps:f,treeExpandLazyLoadedMaps:x}=U,_=H.value,m=F.value,C=R.value,_=_xeUtils.default.get(a,_),_=_&&_.length,y=T.icon,E=T.title,k=T.extra,v=v&&f[e],f=p[e],p=_xeUtils.default.get(a,m),m=f.level;let b=!1,M=(r&&(b=e===String(h)),!1),N=(o&&(M=B(e)),!1),L=!1,S=!1;t&&(L=!!x[e],N=a[C],S=!!f.treeLoaded);r=f.items[f.treeIndex-1],h={node:a,isExpand:v};return(0,_vue.h)("div",{key:e,class:["vxe-tree--node-wrapper","node--level-"+m],nodeid:e},[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":c&&e===D(c),"is-radio--checked":b,"is-checkbox--checked":M}],style:{paddingLeft:(m-1)*(i||1)+"px"},onClick(e){se(e,a)},onDblclick(e){var t;e=e,t=a,A("node-dblclick",{node:t},e)}},[l?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${D(g[0])===e?1:(0,_util.calcTreeLine)(K,a,r)}px`}})]):(0,_ui.renderEmptyElement)(K),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},u&&(!t||S?_:N)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){he(e,a)}},y?(0,_vn.getSlotVNs)(y(h)):[(0,_vue.h)("i",{class:L?s||(0,_ui.getIcon)().TREE_NODE_LOADED:v?n||(0,_ui.getIcon)().TREE_NODE_OPEN:d||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]),((t,e)=>{var a=I["showRadio"],{showIcon:r,checkMethod:o,visibleMethod:l}=z.value,l=!l||l({$tree:K,node:t});let i=!!o;return a&&r&&l?(o&&(i=!o({$tree:K,node:t})),(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":e,"is--disabled":i}],onClick:e=>{i||pe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])):(0,_ui.renderEmptyElement)(K)})(a,b),((t,e,a)=>{var r=I["showCheckbox"],{showIcon:o,checkMethod:l,visibleMethod:i}=O.value,e=P(e),i=!i||i({$tree:K,node:t});let n=!!l;return r&&o&&i?(l&&(n=!l({$tree:K,node:t})),(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":a,"is--indeterminate":e,"is--disabled":n}],onClick:e=>{n||ge(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:a?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])):(0,_ui.renderEmptyElement)(K)})(a,e,M),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E(h)):""+p),k?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(k(h))):(0,_ui.renderEmptyElement)(K)])])])},_e=e=>{var t=I["transform"];const a=U["treeExpandedMaps"],r=H.value;if(!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},(0,_ui.getI18n)("vxe.tree.searchEmpty"))];const o=[];return e.forEach(t?e=>{var t=D(e);o.push(xe(e,t))}:e=>{var t=D(e),e=(o.push(xe(e,t)),_xeUtils.default.get(e,r));e&&e.length&&a[t]&&o.push(..._e(e))}),o};const d=(0,_vue.ref)(0),s=((0,_vue.watch)(()=>I.data?I.data.length:0,()=>{d.value++}),(0,_vue.watch)(()=>I.data,()=>{d.value++}),(0,_vue.watch)(d,()=>{a(I.data||[])}),(0,_vue.watch)(()=>I.checkNodeKey,e=>{w.selectRadioKey=e}),(0,_vue.ref)(0)),E=((0,_vue.watch)(()=>I.checkNodeKeys?I.checkNodeKeys.length:0,()=>{s.value++}),(0,_vue.watch)(()=>I.checkNodeKeys,()=>{s.value++}),(0,_vue.watch)(s,()=>{var e;e=I.checkNodeKeys||[],G(e,!0)}),(0,_vue.watch)(()=>I.filterValue,()=>{ee(new Event("filter"))}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>I.height,()=>{E.value++}),(0,_vue.watch)(()=>I.minHeight,()=>{E.value++}),(0,_vue.watch)(()=>I.maxHeight,()=>{E.value++}),(0,_vue.watch)(E,()=>{g()}),(0,_vue.onMounted)(()=>{var e,t,a;I.autoResize&&(e=p.value,t=J(),a=_ui.globalResize.create(()=>{I.autoResize&&g()}),e&&a.observe(e),t&&a.observe(t),U.resizeObserver=a),_ui.globalEvents.on(K,"resize",fe)}),(0,_vue.onUnmounted)(()=>{var e=U["resizeObserver"];e&&e.disconnect(),U.treeExpandedMaps={},U.indeterminateRowMaps={},U.nodeMaps={},_ui.globalEvents.off(K,"resize")}),a(I.data||[]),K.renderVN=()=>{var{loading:e,trigger:t,showLine:a}=I,{bodyHeight:r,topSpaceHeight:o,treeList:l}=w,i=b.value,n=z.value,d=O.value,s=V.value,u=S.value,c=Y.value;const h=T.loading;var v=T.header,g=T.footer;return(0,_vue.h)("div",{ref:p,class:["vxe-tree",{["size--"+i]:i,"show--line":a,"checkbox--highlight":d.highlight,"radio--highlight":n.highlight,"node--hover":u,"node--trigger":"node"===t,"is--loading":e}]},[v?(0,_vue.h)("div",{ref:f,class:"vxe-tree--header-wrapper"},v({$tree:K})):(0,_ui.renderEmptyElement)(K),(0,_vue.h)("div",{ref:_,class:"vxe-tree--node-list-wrapper",style:c,onScroll:ne},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:r?r+"px":""}}),(0,_vue.h)("div",{ref:m,class:"vxe-tree--node-list-body",style:{transform:`translateY(${o}px)`}},_e(l))]),g?(0,_vue.h)("div",{ref:x,class:"vxe-tree--footer-wrapper"},g({$tree:K})):(0,_ui.renderEmptyElement)(K),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:s.icon,text:s.text},h?{default:()=>h({$tree:K})}:{})])},K},render(){return this.renderVN()}});
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcTreeLine = calcTreeLine;
7
+ function countTreeExpand($xeTree, prevNode) {
8
+ let count = 1;
9
+ if (!prevNode) {
10
+ return count;
11
+ }
12
+ const props = $xeTree.props;
13
+ const {
14
+ transform
15
+ } = props;
16
+ const reactData = $xeTree.reactData;
17
+ const {
18
+ updateExpandedFlag
19
+ } = reactData;
20
+ const internalData = $xeTree.internalData;
21
+ const {
22
+ treeExpandedMaps
23
+ } = internalData;
24
+ const {
25
+ computeChildrenField,
26
+ computeMapChildrenField
27
+ } = $xeTree.getComputeMaps();
28
+ const childrenField = computeChildrenField.value;
29
+ const mapChildrenField = computeMapChildrenField.value;
30
+ const nodeChildren = prevNode[transform ? mapChildrenField : childrenField];
31
+ if (nodeChildren && updateExpandedFlag && treeExpandedMaps[$xeTree.getNodeId(prevNode)]) {
32
+ for (let index = 0; index < nodeChildren.length; index++) {
33
+ count += countTreeExpand($xeTree, nodeChildren[index]);
34
+ }
35
+ }
36
+ return count;
37
+ }
38
+ function calcTreeLine($xeTree, node, prevNode) {
39
+ const internalData = $xeTree.internalData;
40
+ const {
41
+ scrollYStore
42
+ } = internalData;
43
+ const {
44
+ rowHeight
45
+ } = scrollYStore;
46
+ let expandSize = 1;
47
+ if (prevNode) {
48
+ expandSize = countTreeExpand($xeTree, prevNode);
49
+ }
50
+ return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12);
51
+ }
@@ -0,0 +1 @@
1
+ "use strict";function countTreeExpand(t,e){let r=1;if(e){var a=t.props["transform"],n=t.reactData["updateExpandedFlag"],l=t.internalData["treeExpandedMaps"],{computeChildrenField:o,computeMapChildrenField:c}=t.getComputeMaps(),o=o.value,c=c.value,p=e[a?c:o];if(p&&n&&l[t.getNodeId(e)])for(let e=0;e<p.length;e++)r+=countTreeExpand(t,p[e])}return r}function calcTreeLine(e,t,r){var a=e.internalData["scrollYStore"],a=a["rowHeight"];let n=1;return(a||28)*(n=r?countTreeExpand(e,r):n)-(r?1:12)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.calcTreeLine=calcTreeLine;
@@ -2,7 +2,6 @@
2
2
  position: relative;
3
3
  color: var(--vxe-ui-font-color);
4
4
  font-family: var(--vxe-ui-font-family);
5
- overflow: auto;
6
5
  }
7
6
  .vxe-tree.node--trigger .vxe-tree--node-item {
8
7
  cursor: pointer;
@@ -28,21 +27,6 @@
28
27
  .vxe-tree.node--hover.checkbox--highlight .vxe-tree--node-item.is-checkbox--checked:hover {
29
28
  background-color: var(--vxe-ui-tree-node-hover-checkbox-checked-background-color);
30
29
  }
31
- .vxe-tree.show--line .vxe-tree--node-list-wrapper {
32
- position: relative;
33
- }
34
- .vxe-tree.show--line .vxe-tree--node-list-wrapper::before {
35
- content: "";
36
- position: absolute;
37
- left: 0.7em;
38
- top: calc(var(--vxe-ui-tree-node-height) / 2);
39
- height: calc(100% - var(--vxe-ui-tree-node-height));
40
- border-left-width: var(--vxe-ui-tree-node-line-width);
41
- border-left-style: var(--vxe-ui-tree-node-line-style);
42
- border-left-color: var(--vxe-ui-tree-node-line-color);
43
- pointer-events: none;
44
- z-index: 5;
45
- }
46
30
  .vxe-tree.show--line .vxe-tree--node-child-line {
47
31
  position: absolute;
48
32
  top: 0;
@@ -55,20 +39,27 @@
55
39
  pointer-events: none;
56
40
  z-index: 5;
57
41
  }
58
- .vxe-tree.show--line .vxe-tree--node-item-switcher {
42
+
43
+ .vxe-tree--node-line-wrapper {
59
44
  position: relative;
45
+ display: block;
46
+ height: 0;
60
47
  }
61
- .vxe-tree.show--line .vxe-tree--node-item-switcher::before {
62
- content: "";
48
+
49
+ .vxe-tree--node-line {
63
50
  position: absolute;
64
- left: 0.8em;
65
- top: 50%;
66
- width: 0.5em;
67
- border-bottom-width: var(--vxe-ui-tree-node-line-width);
68
- border-bottom-style: var(--vxe-ui-tree-node-line-style);
69
- border-bottom-color: var(--vxe-ui-tree-node-line-color);
51
+ bottom: calc(var(--vxe-ui-tree-node-height) / 2 * -1);
52
+ left: 0.6em;
53
+ width: 0.6em;
54
+ border-width: 0 0 var(--vxe-ui-tree-node-line-width) var(--vxe-ui-tree-node-line-width);
55
+ border-style: var(--vxe-ui-tree-node-line-style);
56
+ border-color: var(--vxe-ui-tree-node-line-color);
70
57
  pointer-events: none;
71
- z-index: 5;
58
+ }
59
+
60
+ .vxe-tree--node-list-wrapper {
61
+ overflow-y: auto;
62
+ overflow-x: hidden;
72
63
  }
73
64
 
74
65
  .vxe-tree--node-child-wrapper {
@@ -203,6 +194,12 @@
203
194
  vertical-align: middle;
204
195
  }
205
196
 
197
+ .vxe-tree--empty-placeholder {
198
+ padding: 1.4em 0.6em 0 0.6em;
199
+ text-align: center;
200
+ color: var(--vxe-ui-input-placeholder-color);
201
+ }
202
+
206
203
  .vxe-tree {
207
204
  font-size: var(--vxe-ui-font-size-default);
208
205
  }
@@ -1 +1 @@
1
- .vxe-tree{position:relative;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);overflow:auto}.vxe-tree.node--trigger .vxe-tree--node-item{cursor:pointer}.vxe-tree .vxe-tree--node-item.is--current{background-color:var(--vxe-ui-tree-node-current-background-color)}.vxe-tree.checkbox--highlight .vxe-tree--node-item.is-checkbox--checked{background-color:var(--vxe-ui-tree-node-checkbox-checked-background-color)}.vxe-tree.radio--highlight .vxe-tree--node-item.is-radio--checked{background-color:var(--vxe-ui-tree-node-radio-checked-background-color)}.vxe-tree.node--hover .vxe-tree--node-item:hover{background-color:var(--vxe-ui-tree-node-hover-background-color)}.vxe-tree.node--hover .vxe-tree--node-item:hover.is--current{background-color:var(--vxe-ui-tree-node-hover-current-background-color)}.vxe-tree.node--hover.radio--highlight .vxe-tree--node-item.is-radio--checked:hover{background-color:var(--vxe-ui-tree-node-hover-radio-checked-background-color)}.vxe-tree.node--hover.checkbox--highlight .vxe-tree--node-item.is-checkbox--checked:hover{background-color:var(--vxe-ui-tree-node-hover-checkbox-checked-background-color)}.vxe-tree.show--line .vxe-tree--node-list-wrapper{position:relative}.vxe-tree.show--line .vxe-tree--node-list-wrapper::before{content:"";position:absolute;left:.7em;top:calc(var(--vxe-ui-tree-node-height)/ 2);height:calc(100% - var(--vxe-ui-tree-node-height));border-left-width:var(--vxe-ui-tree-node-line-width);border-left-style:var(--vxe-ui-tree-node-line-style);border-left-color:var(--vxe-ui-tree-node-line-color);pointer-events:none;z-index:5}.vxe-tree.show--line .vxe-tree--node-child-line{position:absolute;top:0;left:0;height:calc(100% - .7em);transform:translateX(-.6em);border-left-width:var(--vxe-ui-tree-node-line-width);border-left-style:var(--vxe-ui-tree-node-line-style);border-left-color:var(--vxe-ui-tree-node-line-color);pointer-events:none;z-index:5}.vxe-tree.show--line .vxe-tree--node-item-switcher{position:relative}.vxe-tree.show--line .vxe-tree--node-item-switcher::before{content:"";position:absolute;left:.8em;top:50%;width:.5em;border-bottom-width:var(--vxe-ui-tree-node-line-width);border-bottom-style:var(--vxe-ui-tree-node-line-style);border-bottom-color:var(--vxe-ui-tree-node-line-color);pointer-events:none;z-index:5}.vxe-tree--node-child-wrapper{position:relative}.vxe-tree--node-item{display:flex;flex-direction:row;height:var(--vxe-ui-tree-node-height);line-height:var(--vxe-ui-tree-node-height)}.vxe-tree--node-item-switcher{position:relative;width:1.4em;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--node-item-icon{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;text-align:center;z-index:7}.vxe-tree--node-item-icon>i{display:inline-flex;transition:all .2s ease-in-out}.vxe-tree--node-item-inner{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-tree--node-item-inner .vxe-tree--node-item-title{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-tree--node-item-inner .vxe-tree--node-item-extra{flex-shrink:0}.vxe-tree--checkbox-option{padding-right:.4em}.vxe-tree--checkbox-option .vxe-checkbox--icon{font-size:1.22em}.vxe-tree--checkbox-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--checkbox-option.is--checked,.vxe-tree--checkbox-option.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option.is--checked .vxe-checkbox--icon,.vxe-tree--checkbox-option.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option:not(.is--disabled){cursor:pointer}.vxe-tree--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option.is--hidden{cursor:default}.vxe-tree--checkbox-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-tree--checkbox-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-tree--checkbox-option .vxe-checkbox--label{padding-left:.5em;vertical-align:middle}.vxe-tree--radio-option{padding-right:.4em;cursor:pointer}.vxe-tree--radio-option .vxe-radio--icon{font-size:1.26em}.vxe-tree--radio-option .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--radio-option.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option:not(.is--disabled){cursor:pointer}.vxe-tree--radio-option:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-tree--radio-option.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-tree--radio-option .vxe-radio--label{padding-left:.5em;vertical-align:middle}.vxe-tree{font-size:var(--vxe-ui-font-size-default)}.vxe-tree.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-tree{position:relative;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-tree.node--trigger .vxe-tree--node-item{cursor:pointer}.vxe-tree .vxe-tree--node-item.is--current{background-color:var(--vxe-ui-tree-node-current-background-color)}.vxe-tree.checkbox--highlight .vxe-tree--node-item.is-checkbox--checked{background-color:var(--vxe-ui-tree-node-checkbox-checked-background-color)}.vxe-tree.radio--highlight .vxe-tree--node-item.is-radio--checked{background-color:var(--vxe-ui-tree-node-radio-checked-background-color)}.vxe-tree.node--hover .vxe-tree--node-item:hover{background-color:var(--vxe-ui-tree-node-hover-background-color)}.vxe-tree.node--hover .vxe-tree--node-item:hover.is--current{background-color:var(--vxe-ui-tree-node-hover-current-background-color)}.vxe-tree.node--hover.radio--highlight .vxe-tree--node-item.is-radio--checked:hover{background-color:var(--vxe-ui-tree-node-hover-radio-checked-background-color)}.vxe-tree.node--hover.checkbox--highlight .vxe-tree--node-item.is-checkbox--checked:hover{background-color:var(--vxe-ui-tree-node-hover-checkbox-checked-background-color)}.vxe-tree.show--line .vxe-tree--node-child-line{position:absolute;top:0;left:0;height:calc(100% - .7em);transform:translateX(-.6em);border-left-width:var(--vxe-ui-tree-node-line-width);border-left-style:var(--vxe-ui-tree-node-line-style);border-left-color:var(--vxe-ui-tree-node-line-color);pointer-events:none;z-index:5}.vxe-tree--node-line-wrapper{position:relative;display:block;height:0}.vxe-tree--node-line{position:absolute;bottom:calc(var(--vxe-ui-tree-node-height)/ 2 * -1);left:.6em;width:.6em;border-width:0 0 var(--vxe-ui-tree-node-line-width) var(--vxe-ui-tree-node-line-width);border-style:var(--vxe-ui-tree-node-line-style);border-color:var(--vxe-ui-tree-node-line-color);pointer-events:none}.vxe-tree--node-list-wrapper{overflow-y:auto;overflow-x:hidden}.vxe-tree--node-child-wrapper{position:relative}.vxe-tree--node-item{display:flex;flex-direction:row;height:var(--vxe-ui-tree-node-height);line-height:var(--vxe-ui-tree-node-height)}.vxe-tree--node-item-switcher{position:relative;width:1.4em;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--node-item-icon{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;text-align:center;z-index:7}.vxe-tree--node-item-icon>i{display:inline-flex;transition:all .2s ease-in-out}.vxe-tree--node-item-inner{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-tree--node-item-inner .vxe-tree--node-item-title{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-tree--node-item-inner .vxe-tree--node-item-extra{flex-shrink:0}.vxe-tree--checkbox-option{padding-right:.4em}.vxe-tree--checkbox-option .vxe-checkbox--icon{font-size:1.22em}.vxe-tree--checkbox-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--checkbox-option.is--checked,.vxe-tree--checkbox-option.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option.is--checked .vxe-checkbox--icon,.vxe-tree--checkbox-option.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option:not(.is--disabled){cursor:pointer}.vxe-tree--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--checkbox-option.is--hidden{cursor:default}.vxe-tree--checkbox-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-tree--checkbox-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-tree--checkbox-option .vxe-checkbox--label{padding-left:.5em;vertical-align:middle}.vxe-tree--radio-option{padding-right:.4em;cursor:pointer}.vxe-tree--radio-option .vxe-radio--icon{font-size:1.26em}.vxe-tree--radio-option .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree--radio-option.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option:not(.is--disabled){cursor:pointer}.vxe-tree--radio-option:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-tree--radio-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-tree--radio-option.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-tree--radio-option .vxe-radio--label{padding-left:.5em;vertical-align:middle}.vxe-tree--empty-placeholder{padding:1.4em .6em 0 .6em;text-align:center;color:var(--vxe-ui-input-placeholder-color)}.vxe-tree{font-size:var(--vxe-ui-font-size-default)}.vxe-tree.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree.size--mini{font-size:var(--vxe-ui-font-size-mini)}