fast-element-plus 1.0.7 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/index.full.js +894 -757
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +1 -1
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +1 -1
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +894 -757
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +41 -23
  10. package/dist/styles/index.css.map +1 -1
  11. package/es/components/avatar/src/avatar.d.ts +4 -4
  12. package/es/components/avatar/src/avatar.mjs +1 -1
  13. package/es/components/avatar/src/avatar.mjs.map +1 -1
  14. package/es/components/button/src/button.mjs.map +1 -1
  15. package/es/components/carNumber/src/carNumber.d.ts +13 -5
  16. package/es/components/carNumber/src/carNumber.mjs +1 -1
  17. package/es/components/carNumber/src/carNumber.mjs.map +1 -1
  18. package/es/components/contextMenu/src/contextMenu.mjs +1 -1
  19. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  20. package/es/components/dialog/src/dialog.d.ts +4 -4
  21. package/es/components/dialog/src/dialog.mjs +1 -1
  22. package/es/components/dialog/src/dialog.mjs.map +1 -1
  23. package/es/components/drawer/src/drawer.d.ts +12 -4
  24. package/es/components/drawer/src/drawer.mjs +1 -1
  25. package/es/components/drawer/src/drawer.mjs.map +1 -1
  26. package/es/components/form/src/form.mjs +1 -1
  27. package/es/components/form/src/form.mjs.map +1 -1
  28. package/es/components/form/src/formItem.mjs +1 -1
  29. package/es/components/form/src/formItem.mjs.map +1 -1
  30. package/es/components/formItemTip/src/formItemTip.mjs +1 -1
  31. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
  32. package/es/components/icon/src/icon.mjs +1 -1
  33. package/es/components/icon/src/icon.mjs.map +1 -1
  34. package/es/components/iconSelector/src/iconSelector.mjs +1 -1
  35. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  36. package/es/components/image/src/image.mjs +1 -1
  37. package/es/components/image/src/image.mjs.map +1 -1
  38. package/es/components/index.d.ts +1 -0
  39. package/es/components/index.mjs +1 -1
  40. package/es/components/inputDialogPage/index.d.ts +14 -0
  41. package/es/components/inputDialogPage/index.mjs +2 -0
  42. package/es/components/inputDialogPage/index.mjs.map +1 -0
  43. package/es/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  44. package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -0
  45. package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -0
  46. package/es/components/layoutGrid/src/layoutGrid.mjs +1 -1
  47. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  48. package/es/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  49. package/es/components/layoutGrid/src/layoutGridItem.mjs +1 -1
  50. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  51. package/es/components/select/src/select.d.ts +39 -34
  52. package/es/components/select/src/select.mjs +1 -1
  53. package/es/components/select/src/select.mjs.map +1 -1
  54. package/es/components/select/src/selectOption.mjs +1 -1
  55. package/es/components/select/src/selectOption.mjs.map +1 -1
  56. package/es/components/selectPage/src/selectPage.d.ts +39 -25
  57. package/es/components/selectPage/src/selectPage.mjs +1 -1
  58. package/es/components/selectPage/src/selectPage.mjs.map +1 -1
  59. package/es/components/selectV2/src/selectV2.d.ts +36 -44
  60. package/es/components/selectV2/src/selectV2.mjs +1 -1
  61. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  62. package/es/components/table/src/table.d.ts +6 -6
  63. package/es/components/table/src/table.mjs +1 -1
  64. package/es/components/table/src/table.mjs.map +1 -1
  65. package/es/components/table/src/table.type.d.ts +1 -1
  66. package/es/components/table/src/table.type.mjs.map +1 -1
  67. package/es/components/table/src/tableColumn.mjs +1 -1
  68. package/es/components/table/src/tableColumn.mjs.map +1 -1
  69. package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
  70. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  71. package/es/components/table/src/useTable.mjs +1 -1
  72. package/es/components/table/src/useTable.mjs.map +1 -1
  73. package/es/components/table/utils/table.mjs +1 -1
  74. package/es/components/table/utils/table.mjs.map +1 -1
  75. package/es/components/tree/src/tree.d.ts +68 -174
  76. package/es/components/tree/src/tree.mjs +1 -1
  77. package/es/components/tree/src/tree.mjs.map +1 -1
  78. package/es/components/treeSelect/src/treeSelect.d.ts +123 -221
  79. package/es/components/treeSelect/src/treeSelect.mjs +1 -1
  80. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  81. package/es/directives/click-copy/index.mjs.map +1 -1
  82. package/es/directives/click-debounce/index.mjs.map +1 -1
  83. package/es/directives/click-draggable/index.mjs.map +1 -1
  84. package/es/directives/click-icon-copy/index.mjs.map +1 -1
  85. package/es/directives/click-longpress/index.mjs.map +1 -1
  86. package/es/directives/click-throttle/index.mjs.map +1 -1
  87. package/es/index.mjs +1 -1
  88. package/es/index.mjs.map +1 -1
  89. package/es/make-installer.mjs +1 -1
  90. package/es/make-installer.mjs.map +1 -1
  91. package/es/version.d.ts +1 -1
  92. package/es/version.mjs +1 -1
  93. package/es/version.mjs.map +1 -1
  94. package/lib/components/avatar/src/avatar.d.ts +4 -4
  95. package/lib/components/avatar/src/avatar.js +1 -1
  96. package/lib/components/avatar/src/avatar.js.map +1 -1
  97. package/lib/components/button/src/button.js.map +1 -1
  98. package/lib/components/carNumber/src/carNumber.d.ts +13 -5
  99. package/lib/components/carNumber/src/carNumber.js +1 -1
  100. package/lib/components/carNumber/src/carNumber.js.map +1 -1
  101. package/lib/components/contextMenu/src/contextMenu.js +1 -1
  102. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  103. package/lib/components/dialog/src/dialog.d.ts +4 -4
  104. package/lib/components/dialog/src/dialog.js +1 -1
  105. package/lib/components/dialog/src/dialog.js.map +1 -1
  106. package/lib/components/drawer/src/drawer.d.ts +12 -4
  107. package/lib/components/drawer/src/drawer.js +1 -1
  108. package/lib/components/drawer/src/drawer.js.map +1 -1
  109. package/lib/components/form/src/form.js +1 -1
  110. package/lib/components/form/src/form.js.map +1 -1
  111. package/lib/components/form/src/formItem.js +1 -1
  112. package/lib/components/form/src/formItem.js.map +1 -1
  113. package/lib/components/formItemTip/src/formItemTip.js +1 -1
  114. package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
  115. package/lib/components/icon/src/icon.js +1 -1
  116. package/lib/components/icon/src/icon.js.map +1 -1
  117. package/lib/components/iconSelector/src/iconSelector.js +1 -1
  118. package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
  119. package/lib/components/image/src/image.js +1 -1
  120. package/lib/components/image/src/image.js.map +1 -1
  121. package/lib/components/index.d.ts +1 -0
  122. package/lib/components/index.js +1 -1
  123. package/lib/components/inputDialogPage/index.d.ts +14 -0
  124. package/lib/components/inputDialogPage/index.js +2 -0
  125. package/lib/components/inputDialogPage/index.js.map +1 -0
  126. package/lib/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  127. package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -0
  128. package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -0
  129. package/lib/components/layoutGrid/src/layoutGrid.js +1 -1
  130. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
  131. package/lib/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  132. package/lib/components/layoutGrid/src/layoutGridItem.js +1 -1
  133. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
  134. package/lib/components/select/src/select.d.ts +39 -34
  135. package/lib/components/select/src/select.js +1 -1
  136. package/lib/components/select/src/select.js.map +1 -1
  137. package/lib/components/select/src/selectOption.js +1 -1
  138. package/lib/components/select/src/selectOption.js.map +1 -1
  139. package/lib/components/selectPage/src/selectPage.d.ts +39 -25
  140. package/lib/components/selectPage/src/selectPage.js +1 -1
  141. package/lib/components/selectPage/src/selectPage.js.map +1 -1
  142. package/lib/components/selectV2/src/selectV2.d.ts +36 -44
  143. package/lib/components/selectV2/src/selectV2.js +1 -1
  144. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  145. package/lib/components/table/src/table.d.ts +6 -6
  146. package/lib/components/table/src/table.js +1 -1
  147. package/lib/components/table/src/table.js.map +1 -1
  148. package/lib/components/table/src/table.type.d.ts +1 -1
  149. package/lib/components/table/src/table.type.js.map +1 -1
  150. package/lib/components/table/src/tableColumn.js +1 -1
  151. package/lib/components/table/src/tableColumn.js.map +1 -1
  152. package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
  153. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
  154. package/lib/components/table/src/useTable.js.map +1 -1
  155. package/lib/components/table/utils/table.js +1 -1
  156. package/lib/components/table/utils/table.js.map +1 -1
  157. package/lib/components/tree/src/tree.d.ts +68 -174
  158. package/lib/components/tree/src/tree.js +1 -1
  159. package/lib/components/tree/src/tree.js.map +1 -1
  160. package/lib/components/treeSelect/src/treeSelect.d.ts +123 -221
  161. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  162. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  163. package/lib/directives/click-copy/index.js.map +1 -1
  164. package/lib/directives/click-debounce/index.js.map +1 -1
  165. package/lib/directives/click-draggable/index.js.map +1 -1
  166. package/lib/directives/click-icon-copy/index.js.map +1 -1
  167. package/lib/directives/click-longpress/index.js.map +1 -1
  168. package/lib/directives/click-throttle/index.js.map +1 -1
  169. package/lib/index.js +1 -1
  170. package/lib/index.js.map +1 -1
  171. package/lib/make-installer.js.map +1 -1
  172. package/lib/version.d.ts +1 -1
  173. package/lib/version.js +1 -1
  174. package/lib/version.js.map +1 -1
  175. package/package.json +3 -3
  176. package/styles/components/dialog.scss +1 -1
  177. package/styles/components/select.scss +35 -0
  178. package/styles/components/selectPage.scss +0 -30
  179. package/styles/components/table.scss +1 -1
  180. package/styles/components/tree.scss +17 -2
  181. package/styles/index.scss +1 -0
  182. package/types/components.d.ts +110 -1
@@ -1,7 +1,11 @@
1
- import { NodeDropType, TreeKey } from './tree.props';
2
1
  import { ElTreeOutput } from './tree.type';
3
2
  import { ComponentInternalInstance } from 'vue';
4
3
  export declare const faTreeProps: {
4
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
5
+ disabled: {
6
+ type: BooleanConstructor;
7
+ default: any;
8
+ };
5
9
  /** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */
6
10
  nodeKey: {
7
11
  type: StringConstructor;
@@ -92,9 +96,9 @@ export declare const faTreeProps: {
92
96
  type: BooleanConstructor;
93
97
  default: boolean;
94
98
  };
95
- defaultCheckedKeys: import('vue').PropType<TreeKey[]>;
96
- defaultExpandedKeys: import('vue').PropType<TreeKey[]>;
97
- currentNodeKey: import('vue').PropType<TreeKey>;
99
+ defaultCheckedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
100
+ defaultExpandedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
101
+ currentNodeKey: import('vue').PropType<import('./tree.props').TreeKey>;
98
102
  renderContent: FunctionConstructor;
99
103
  showCheckbox: {
100
104
  type: BooleanConstructor;
@@ -131,40 +135,22 @@ export declare const faTreeEmits: {
131
135
  /** @description v-model:label 回调 */
132
136
  "update:label": (value: string) => boolean;
133
137
  /** @description 数据改变 */
134
- dataChangeCallBack: (data: ElTreeOutput[], orgData: ElTreeOutput[]) => boolean;
138
+ dataChangeCallBack: (data: ElTreeOutput[]) => boolean;
135
139
  /** @description 改变 */
136
140
  change: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent) => boolean;
137
- /** @description 当节点被点击的时候触发 */
138
- nodeClick: (data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance, event?: MouseEvent) => boolean;
139
- /** @description 当某一节点被鼠标右键点击时会触发该事件 */
140
- nodeContextmenu: (event: Event, data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance) => boolean;
141
- /** @description 当复选框被点击的时候触发 */
142
- checkChange: (data: ElTreeOutput, checked: boolean, indeterminate: boolean) => boolean;
143
- /** @description 点击节点复选框之后触发 */
144
- check: (data: ElTreeOutput, node: {
145
- checkedNodes: ElTreeOutput[];
146
- checkedKeys: TreeKey[];
147
- halfCheckedNodes: ElTreeOutput[];
148
- halfCheckedKeys: TreeKey[];
149
- }) => boolean;
150
- /** @description 当前选中节点变化时触发的事件 */
151
- currentChange: (data: ElTreeOutput, node: any) => boolean;
152
- /** @description 节点被展开时触发的事件 */
153
- nodeExpand: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance) => boolean;
154
- /** @description 节点被关闭时触发的事件 */
155
- nodeCollapse: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance) => boolean;
156
- /** @description 节点开始拖拽时触发的事件 */
157
- nodeDragStart: (node: any, event: DragEvent) => boolean;
158
- /** @description 拖拽进入其他节点时触发的事件 */
159
- nodeDragEnter: (node: any, enterNode: any, event: DragEvent) => boolean;
160
- /** @description 拖拽离开某个节点时触发的事件 */
161
- nodeDragLeave: (node: any, leaveNode: any, event: DragEvent) => boolean;
162
- /** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */
163
- nodeDragOver: (node: any, dropNode: any, event: DragEvent) => boolean;
164
- /** @description 拖拽结束时(可能未成功)触发的事件 */
165
- nodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => boolean;
166
- /** @description 拖拽成功完成时触发的事件 */
167
- nodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => boolean;
141
+ 'check-change': (data: any, checked: boolean, indeterminate: boolean) => any;
142
+ 'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').default | null) => boolean;
143
+ 'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null, evt: MouseEvent) => any;
144
+ 'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
145
+ 'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
146
+ 'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
147
+ check: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
148
+ 'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
149
+ 'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default | null, dropType: import('element-plus').NodeDropType, evt: DragEvent) => DragEvent;
150
+ 'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropType: Exclude<import('element-plus').NodeDropType, "none">, evt: DragEvent) => DragEvent;
151
+ 'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
152
+ 'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
153
+ 'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
168
154
  };
169
155
  type FaTreeSlots = {
170
156
  /** @description 默认内容插槽 */
@@ -181,6 +167,11 @@ type FaTreeSlots = {
181
167
  };
182
168
  };
183
169
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
170
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
171
+ disabled: {
172
+ type: BooleanConstructor;
173
+ default: any;
174
+ };
184
175
  /** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */
185
176
  nodeKey: {
186
177
  type: StringConstructor;
@@ -271,9 +262,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
271
262
  type: BooleanConstructor;
272
263
  default: boolean;
273
264
  };
274
- defaultCheckedKeys: import('vue').PropType<TreeKey[]>;
275
- defaultExpandedKeys: import('vue').PropType<TreeKey[]>;
276
- currentNodeKey: import('vue').PropType<TreeKey>;
265
+ defaultCheckedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
266
+ defaultExpandedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
267
+ currentNodeKey: import('vue').PropType<import('./tree.props').TreeKey>;
277
268
  renderContent: FunctionConstructor;
278
269
  showCheckbox: {
279
270
  type: BooleanConstructor;
@@ -350,41 +341,28 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
350
341
  /** @description v-model:label 回调 */
351
342
  "update:label": (value: string) => boolean;
352
343
  /** @description 数据改变 */
353
- dataChangeCallBack: (data: ElTreeOutput[], orgData: ElTreeOutput[]) => boolean;
344
+ dataChangeCallBack: (data: ElTreeOutput[]) => boolean;
354
345
  /** @description 改变 */
355
346
  change: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent) => boolean;
356
- /** @description 当节点被点击的时候触发 */
357
- nodeClick: (data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance, event?: MouseEvent) => boolean;
358
- /** @description 当某一节点被鼠标右键点击时会触发该事件 */
359
- nodeContextmenu: (event: Event, data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance) => boolean;
360
- /** @description 当复选框被点击的时候触发 */
361
- checkChange: (data: ElTreeOutput, checked: boolean, indeterminate: boolean) => boolean;
362
- /** @description 点击节点复选框之后触发 */
363
- check: (data: ElTreeOutput, node: {
364
- checkedNodes: ElTreeOutput[];
365
- checkedKeys: TreeKey[];
366
- halfCheckedNodes: ElTreeOutput[];
367
- halfCheckedKeys: TreeKey[];
368
- }) => boolean;
369
- /** @description 当前选中节点变化时触发的事件 */
370
- currentChange: (data: ElTreeOutput, node: any) => boolean;
371
- /** @description 节点被展开时触发的事件 */
372
- nodeExpand: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance) => boolean;
373
- /** @description 节点被关闭时触发的事件 */
374
- nodeCollapse: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance) => boolean;
375
- /** @description 节点开始拖拽时触发的事件 */
376
- nodeDragStart: (node: any, event: DragEvent) => boolean;
377
- /** @description 拖拽进入其他节点时触发的事件 */
378
- nodeDragEnter: (node: any, enterNode: any, event: DragEvent) => boolean;
379
- /** @description 拖拽离开某个节点时触发的事件 */
380
- nodeDragLeave: (node: any, leaveNode: any, event: DragEvent) => boolean;
381
- /** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */
382
- nodeDragOver: (node: any, dropNode: any, event: DragEvent) => boolean;
383
- /** @description 拖拽结束时(可能未成功)触发的事件 */
384
- nodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => boolean;
385
- /** @description 拖拽成功完成时触发的事件 */
386
- nodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => boolean;
347
+ 'check-change': (data: any, checked: boolean, indeterminate: boolean) => any;
348
+ 'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').default | null) => boolean;
349
+ 'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null, evt: MouseEvent) => any;
350
+ 'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
351
+ 'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
352
+ 'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance | null) => any;
353
+ check: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
354
+ 'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
355
+ 'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default | null, dropType: import('element-plus').NodeDropType, evt: DragEvent) => DragEvent;
356
+ 'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropType: Exclude<import('element-plus').NodeDropType, "none">, evt: DragEvent) => DragEvent;
357
+ 'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
358
+ 'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
359
+ 'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => DragEvent;
387
360
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
361
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
362
+ disabled: {
363
+ type: BooleanConstructor;
364
+ default: any;
365
+ };
388
366
  /** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */
389
367
  nodeKey: {
390
368
  type: StringConstructor;
@@ -475,9 +453,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
475
453
  type: BooleanConstructor;
476
454
  default: boolean;
477
455
  };
478
- defaultCheckedKeys: import('vue').PropType<TreeKey[]>;
479
- defaultExpandedKeys: import('vue').PropType<TreeKey[]>;
480
- currentNodeKey: import('vue').PropType<TreeKey>;
456
+ defaultCheckedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
457
+ defaultExpandedKeys: import('vue').PropType<import('./tree.props').TreeKey[]>;
458
+ currentNodeKey: import('vue').PropType<import('./tree.props').TreeKey>;
481
459
  renderContent: FunctionConstructor;
482
460
  showCheckbox: {
483
461
  type: BooleanConstructor;
@@ -531,105 +509,20 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
531
509
  children?: /*elided*/ any[];
532
510
  showQuantity?: boolean;
533
511
  quantity?: number;
534
- }[], orgData: {
535
- [key: string]: any;
536
- label?: string;
537
- value?: any;
538
- data?: any;
539
- hide?: boolean;
540
- disabled?: boolean;
541
- children?: /*elided*/ any[];
542
- showQuantity?: boolean;
543
- quantity?: number;
544
512
  }[]) => any;
545
- onNodeClick?: (data: {
546
- [key: string]: any;
547
- label?: string;
548
- value?: any;
549
- data?: any;
550
- hide?: boolean;
551
- disabled?: boolean;
552
- children?: /*elided*/ any[];
553
- showQuantity?: boolean;
554
- quantity?: number;
555
- }, node?: any, instance?: ComponentInternalInstance, event?: MouseEvent) => any;
556
- onNodeContextmenu?: (event: Event, data: {
557
- [key: string]: any;
558
- label?: string;
559
- value?: any;
560
- data?: any;
561
- hide?: boolean;
562
- disabled?: boolean;
563
- children?: /*elided*/ any[];
564
- showQuantity?: boolean;
565
- quantity?: number;
566
- }, node?: any, instance?: ComponentInternalInstance) => any;
567
- onCheckChange?: (data: {
568
- [key: string]: any;
569
- label?: string;
570
- value?: any;
571
- data?: any;
572
- hide?: boolean;
573
- disabled?: boolean;
574
- children?: /*elided*/ any[];
575
- showQuantity?: boolean;
576
- quantity?: number;
577
- }, checked: boolean, indeterminate: boolean) => any;
578
- onCheck?: (data: {
579
- [key: string]: any;
580
- label?: string;
581
- value?: any;
582
- data?: any;
583
- hide?: boolean;
584
- disabled?: boolean;
585
- children?: /*elided*/ any[];
586
- showQuantity?: boolean;
587
- quantity?: number;
588
- }, node: {
589
- checkedNodes: ElTreeOutput[];
590
- checkedKeys: TreeKey[];
591
- halfCheckedNodes: ElTreeOutput[];
592
- halfCheckedKeys: TreeKey[];
593
- }) => any;
594
- onCurrentChange?: (data: {
595
- [key: string]: any;
596
- label?: string;
597
- value?: any;
598
- data?: any;
599
- hide?: boolean;
600
- disabled?: boolean;
601
- children?: /*elided*/ any[];
602
- showQuantity?: boolean;
603
- quantity?: number;
604
- }, node: any) => any;
605
- onNodeExpand?: (data: {
606
- [key: string]: any;
607
- label?: string;
608
- value?: any;
609
- data?: any;
610
- hide?: boolean;
611
- disabled?: boolean;
612
- children?: /*elided*/ any[];
613
- showQuantity?: boolean;
614
- quantity?: number;
615
- }, node: any, instance: ComponentInternalInstance) => any;
616
- onNodeCollapse?: (data: {
617
- [key: string]: any;
618
- label?: string;
619
- value?: any;
620
- data?: any;
621
- hide?: boolean;
622
- disabled?: boolean;
623
- children?: /*elided*/ any[];
624
- showQuantity?: boolean;
625
- quantity?: number;
626
- }, node: any, instance: ComponentInternalInstance) => any;
627
- onNodeDragStart?: (node: any, event: DragEvent) => any;
628
- onNodeDragEnter?: (node: any, enterNode: any, event: DragEvent) => any;
629
- onNodeDragLeave?: (node: any, leaveNode: any, event: DragEvent) => any;
630
- onNodeDragOver?: (node: any, dropNode: any, event: DragEvent) => any;
631
- onNodeDragEnd?: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => any;
632
- onNodeDrop?: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => any;
513
+ "onCurrent-change"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default) => any;
514
+ "onCheck-change"?: (data: any, checked: boolean, indeterminate: boolean) => any;
515
+ "onNode-click"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance, evt: MouseEvent) => any;
516
+ "onNode-contextmenu"?: (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance) => any;
517
+ "onNode-collapse"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance) => any;
518
+ "onNode-expand"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').default, nodeInstance: ComponentInternalInstance) => any;
519
+ onCheck?: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
520
+ "onNode-drag-start"?: (node: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => any;
521
+ "onNode-drag-end"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropType: import('element-plus').NodeDropType, evt: DragEvent) => any;
522
+ "onNode-drop"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropType: "before" | "after" | "inner", evt: DragEvent) => any;
523
+ "onNode-drag-leave"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => any;
524
+ "onNode-drag-enter"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => any;
525
+ "onNode-drag-over"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').default, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').default, evt: DragEvent) => any;
633
526
  }>, {
634
527
  props: import('./tree.props').TreeOptionProps;
635
528
  data: {
@@ -643,12 +536,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
643
536
  showQuantity?: boolean;
644
537
  quantity?: number;
645
538
  }[];
539
+ disabled: boolean;
646
540
  lazy: boolean;
647
541
  modelValue: string | number | boolean | object;
648
542
  width: string | number;
649
543
  draggable: boolean;
650
- nodeKey: string;
651
544
  defaultExpandAll: boolean;
545
+ indent: number;
546
+ nodeKey: string;
652
547
  checkOnClickNode: boolean;
653
548
  highlightCurrent: boolean;
654
549
  collapseOnClickNode: boolean;
@@ -663,6 +558,5 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
663
558
  autoExpandParent: boolean;
664
559
  showCheckbox: boolean;
665
560
  accordion: boolean;
666
- indent: number;
667
561
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaTreeSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
668
562
  export default _default;
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,reactive as a,computed as t,ref as l,nextTick as r,onMounted as n,watch as o,withDirectives as d,createVNode as u,mergeProps as i,createTextVNode as s,resolveDirective as c}from"vue";import{useGlobalSize as g,ElIcon as h,ElInput as p,ElScrollbar as f,ElTree as m}from"element-plus";import{Expand as C,Fold as v}from"@element-plus/icons-vue";import{definePropType as y,addUnit as b,withDefineType as k,consoleError as N,useProps as D,useRender as x,useExpose as E,makeSlots as K}from"@fast-china/utils";import{useVModel as O}from"@vueuse/core";import{isObject as S,isString as B,isBoolean as V,isArray as A,isNull as T,isNumber as _}from"lodash-unified";import{treeProps as w}from"./tree.props.mjs";const M={...w,nodeKey:{type:String,default:"value"},defaultExpandAll:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!0},highlightCurrent:{type:Boolean,default:!0},collapseOnClickNode:Boolean,modelValue:{type:y([String,Number,Boolean,Object]),default:void 0},label:String,width:{type:[String,Number],default:180},defaultSelection:[String,Number],title:String,hamburger:Boolean,hideAll:Boolean,hideFilter:Boolean,allValue:{type:y([String,Number,Boolean,Object]),default:void 0},data:{type:y(Array),default:()=>[]},requestApi:{type:y(Function)},initParam:y([String,Number,Object])},q={"update:modelValue":e=>B(e)||_(e)||V(e)||S(e)||T(e),"update:label":e=>B(e)||T(e),dataChangeCallBack:(e,a)=>A(e)&&A(a),change:(e,a,t,l)=>S(e)&&S(a)&&S(t)&&l instanceof MouseEvent,nodeClick:(e,a,t,l)=>S(e)&&S(a)&&S(t)&&l instanceof MouseEvent,nodeContextmenu:(e,a,t,l)=>e instanceof Event&&S(a)&&S(t)&&S(l),checkChange:(e,a,t)=>S(e)&&V(a)&&V(t),check:(e,a)=>S(e)&&S(a),currentChange:(e,a)=>S(e)&&S(a),nodeExpand:(e,a,t)=>S(e)&&S(a)&&S(t),nodeCollapse:(e,a,t)=>S(e)&&S(a)&&S(t),nodeDragStart:(e,a)=>S(e)&&a instanceof DragEvent,nodeDragEnter:(e,a,t)=>S(e)&&S(a)&&t instanceof DragEvent,nodeDragLeave:(e,a,t)=>S(e)&&S(a)&&t instanceof DragEvent,nodeDragOver:(e,a,t)=>S(e)&&S(a)&&t instanceof DragEvent,nodeDragEnd:(e,a,t,l)=>S(e)&&S(a)&&B(t)&&l instanceof DragEvent,nodeDrop:(e,a,t,l)=>S(e)&&S(a)&&B(t)&&l instanceof DragEvent},F=/* @__PURE__ */e({name:"FaTree",props:M,emits:q,slots:K(),setup(e,{attrs:y,slots:K,emit:S,expose:B}){const V=O(e,"label",S,{passive:!0}),A=g(),T=a({value:k(),loading:!1,searchValue:k(),orgTreeData:k([]),treeData:k([]),hamburger:!1,width:t(()=>{if(e.hamburger||T.hamburger)return"130px";{const a=b(e.width);return"small"===A.value?`calc(${a} * 0.9)`:a}})}),_=t(()=>0===[...T.orgTreeData].filter(a=>a[e.props.children]?.length>0).length),M=l(),q=a=>{e.hideAll||a.unshift({[e.nodeKey]:e.allValue,label:"全部",all:!0}),T.treeData=a},F=async()=>{let a;if(e.nodeKey&&(a=M.value.getCurrentKey()),e.requestApi){T.loading=!0;const a={...e.initParam??{},searchValue:T.searchValue};try{const t=await e.requestApi(a);T.orgTreeData=t,q(t)}catch(t){N("FaTree",t),T.orgTreeData=[],q([]),S("dataChangeCallBack",T.treeData,T.orgTreeData)}finally{T.loading=!1}}else T.orgTreeData=e.data,q(e.data);e.nodeKey&&a?r(()=>{M.value.setCurrentKey(a)}):e.defaultSelection&&r(()=>{M.value.setCurrentKey(e.defaultSelection)})},j=()=>{e.hamburger||T.hamburger?q(T.orgTreeData):T.treeData=T.orgTreeData.map(a=>({...a,[e.props.children]:[]})),T.hamburger=!T.hamburger},H=(a,t,l)=>{if(!a)return!0;let r=l.parent,n=t.all?[t.label]:[l.label],o=1;for(;o<l.level;)n=[...n,r.label],r=r.parent,o++;const d=n.some(e=>-1!==e.indexOf(a));return e.filterNodeMethod?d&&e.filterNodeMethod(a,t,l):d},L=(a,t,l,r)=>{e.expandOnClickNode&&(t.expanded?t.expanded&&e.collapseOnClickNode&&t.collapse():t.expand()),T.value=t.key,V.value=t.label,S("update:modelValue",T.value),S("change",a,t,l,r),S("nodeClick",a,t,l,r)};n(async()=>{await F(),o(()=>e.data,async()=>{e.requestApi||await F()},{deep:!0})});const P=D(e,w,["data","expandOnClickNode","filterNodeMethod"]);return x(()=>d(u("div",{class:["el-card fa-tree",`fa-tree-${A.value}`,{"fa-tree__fold":e.hamburger&&T.hamburger||_.value}],style:{width:T.width}},[(e.title||e.hamburger)&&u("div",{class:"fa-tree__title"},[e.title&&u("h4",null,[e.title]),e.hamburger&&(T.hamburger?u(h,{onClick:j,title:"展开"},{default:()=>[u(C,null,null)]}):u(h,{onClick:j,title:"折叠"},{default:()=>[u(v,null,null)]}))]),!e.hideFilter&&u(p,{class:"fa-tree__search-input",modelValue:T.searchValue,modelModifiers:{trim:!0},"onUpdate:modelValue":e=>T.searchValue=e,placeholder:e.hamburger||T.hamburger?"关键字过滤":"输入关键字进行过滤",clearable:!0,onInput:e=>M.value.filter(e)},null),u(f,{class:"fa-tree__scrollbar"},{default:()=>[u(m,i(P.value,{ref:M,data:T.treeData,expandOnClickNode:!e.checkOnClickNode&&e.expandOnClickNode,filterNodeMethod:H,onNodeClick:L,onNodeContextmenu:(e,a,t,l)=>S("nodeContextmenu",e,a,t,l),onCheckChange:(e,a,t)=>S("checkChange",e,a,t),onCheck:(e,a)=>S("check",e,a),onCurrentChange:(e,a)=>S("currentChange",e,a),onNodeExpand:(e,a,t)=>S("nodeExpand",e,a,t),onNodeCollapse:(e,a,t)=>S("nodeCollapse",e,a,t),onNodeDragStart:(e,a)=>S("nodeDragStart",e,a),onNodeDragEnter:(e,a,t)=>S("nodeDragEnter",e,a,t),onNodeDragLeave:(e,a,t)=>S("nodeDragLeave",e,a,t),onNodeDragOver:(e,a,t)=>S("nodeDragOver",e,a,t),onNodeDragEnd:(e,a,t,l)=>S("nodeDragEnd",e,a,t,l),onNodeDrop:(e,a,t,l)=>S("nodeDrop",e,a,t,l)}),{default:({node:e,data:a})=>u("span",{class:"el-tree-node__label",title:a?.all?a.label:e.label,style:{paddingLeft:_.value?"3px":""}},[u("span",null,[K.label?K.label({node:e,data:a}):a?.all?a.label:e.label]),e.key&&a.showQuantity?u("span",null,[s("["),a.quantity,s("]")]):null,K.default&&u("span",null,[K.default({node:e,data:a})])]),...K.empty&&{empty:()=>K.empty()}})]})]),[[c("loading"),T.loading]])),E(B,{filter:t(()=>M.value?.filter),updateKeyChildren:t(()=>M.value?.updateKeyChildren),getCheckedNodes:t(()=>M.value?.getCheckedNodes),setCheckedNodes:t(()=>M.value?.setCheckedNodes),getCheckedKeys:t(()=>M.value?.getCheckedKeys),setCheckedKeys:t(()=>M.value?.setCheckedKeys),setChecked:t(()=>M.value?.setChecked),getHalfCheckedNodes:t(()=>M.value?.getHalfCheckedNodes),getHalfCheckedKeys:t(()=>M.value?.getHalfCheckedKeys),getCurrentKey:t(()=>M.value?.getCurrentKey),getCurrentNode:t(()=>M.value?.getCurrentNode),setCurrentKey:t(()=>M.value?.setCurrentKey),setCurrentNode:t(()=>M.value?.setCurrentNode),getNode:t(()=>M.value?.getNode),remove:t(()=>M.value?.remove),append:t(()=>M.value?.append),insertBefore:t(()=>M.value?.insertBefore),insertAfter:t(()=>M.value?.insertAfter),loading:t(()=>T.loading),refresh:F})}});export{F as default,q as faTreeEmits,M as faTreeProps};
1
+ import{defineComponent as e,reactive as l,computed as a,ref as t,nextTick as r,onMounted as d,watch as n,withDirectives as u,createVNode as o,mergeProps as i,createTextVNode as s,resolveDirective as c}from"vue";import{treeEmits as p,useGlobalSize as h,ElIcon as f,ElInput as g,ElScrollbar as m,ElTree as v}from"element-plus";import{Expand as y,Fold as C}from"@element-plus/icons-vue";import{definePropType as b,addUnit as k,withDefineType as N,consoleError as K,useProps as B,useEmits as x,useRender as O,useExpose as V,makeSlots as D}from"@fast-china/utils";import{useVModel as S}from"@vueuse/core";import{isArray as A,isString as _,isNull as w,isNumber as T,isBoolean as q,isObject as F}from"lodash-unified";import{treeProps as M}from"./tree.props.mjs";const j={...M,disabled:{type:Boolean,default:void 0},nodeKey:{type:String,default:"value"},defaultExpandAll:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!0},highlightCurrent:{type:Boolean,default:!0},collapseOnClickNode:Boolean,modelValue:{type:b([String,Number,Boolean,Object]),default:void 0},label:String,width:{type:[String,Number],default:180},defaultSelection:[String,Number],title:String,hamburger:Boolean,hideAll:Boolean,hideFilter:Boolean,allValue:{type:b([String,Number,Boolean,Object]),default:void 0},data:{type:b(Array),default:()=>[]},requestApi:{type:b(Function)},initParam:b([String,Number,Object])},H={...p,"update:modelValue":e=>_(e)||T(e)||q(e)||F(e)||w(e),"update:label":e=>_(e)||w(e),dataChangeCallBack:e=>A(e),change:(e,l,a,t)=>!0},P=/* @__PURE__ */e({name:"FaTree",props:j,emits:H,slots:D(),setup(e,{attrs:b,slots:D,emit:A,expose:_}){const w=S(e,"label",A),T=h(),q=l({value:N(),loading:!1,searchValue:N(),orgTreeData:N([]),treeData:N([]),hamburger:e.hamburger||!1,width:a(()=>{if(q.hamburger)return"130px";{const l=k(e.width);return"small"===T.value?`calc(${l} * 0.9)`:l}})}),F=a(()=>0===[...q.orgTreeData].filter(l=>l[e.props.children]?.length>0).length),j=t(),H=async()=>{let l;e.nodeKey&&(l=j.value.getCurrentKey());let a=[];if(e.requestApi){q.loading=!0;const l={...e.initParam??{},searchValue:q.searchValue};try{a=await e.requestApi(l)}catch(t){K("FaTree",t)}finally{q.loading=!1}}else a=e.data;e.hideAll||a.unshift({[e.nodeKey]:e.allValue,label:"全部",value:null,all:!0}),q.orgTreeData=a,q.treeData=a,A("dataChangeCallBack",q.treeData),e.nodeKey&&l?r(()=>{j.value.setCurrentKey(l)}):e.defaultSelection&&r(()=>{j.value.setCurrentKey(e.defaultSelection)})},P=()=>{q.hamburger?q.treeData=q.orgTreeData:q.treeData=q.orgTreeData.map(l=>({...l,[e.props.children]:[]})),q.hamburger=!q.hamburger},$=(l,a,t)=>{if(!l)return!0;let r=t.parent,d=a.all?[a.label]:[t.label],n=1;for(;n<t.level;)d=[...d,r.label],r=r.parent,n++;const u=d.some(e=>-1!==e.indexOf(l));return e.filterNodeMethod?u&&e.filterNodeMethod(l,a,t):u},E=(l,a,t,r)=>{e.expandOnClickNode&&(a.expanded?a.expanded&&e.collapseOnClickNode&&a.collapse():a.expand()),q.value=a.key,w.value=a.label,A("update:modelValue",q.value),A("change",l,a,t,r),A("node-click",l,a,t,r)};d(async()=>{await H(),n(()=>e.data,async()=>{e.requestApi||await H()},{deep:!0})});const I=B(e,M,["data","expandOnClickNode","filterNodeMethod"]),L=x(p,A,["node-click"]);return O(()=>u(o("div",{class:["el-card fa-tree",`fa-tree-${T.value}`,{"fa-tree__fold":q.hamburger||F.value}],style:{width:q.width}},[(e.title||e.hamburger)&&o("div",{class:"fa-tree__title"},[e.title&&o("h4",null,[e.title]),e.hamburger&&(q.hamburger?o(f,{onClick:P,title:"展开"},{default:()=>[o(y,null,null)]}):o(f,{onClick:P,title:"折叠"},{default:()=>[o(C,null,null)]}))]),!e.hideFilter&&o(g,{class:"fa-tree__search-input",modelValue:q.searchValue,modelModifiers:{trim:!0},"onUpdate:modelValue":e=>q.searchValue=e,placeholder:q.hamburger?"关键字过滤":"输入关键字进行过滤",clearable:!0,onInput:e=>j.value.filter(e)},null),o(m,{class:"fa-tree__scrollbar"},{default:()=>[o(v,i(I.value,L.value,{ref:j,data:q.treeData,expandOnClickNode:!e.checkOnClickNode&&e.expandOnClickNode,filterNodeMethod:$,onNodeClick:E}),{default:({node:e,data:l})=>o("span",{class:"el-tree-node__label",title:l?.all?l.label:e.label,style:{paddingLeft:F.value?"3px":""}},[o("div",null,[l?.all?l.label:D.label?D.label({node:e,data:l}):e.label]),e.key&&l.showQuantity?o("span",null,[s("["),l.quantity,s("]")]):null,!l?.all&&D.default&&o("span",null,[D.default({node:e,data:l})])]),...D.empty&&{empty:()=>D.empty()}})]})]),[[c("loading"),q.loading]])),V(_,{filter:a(()=>j.value?.filter),updateKeyChildren:a(()=>j.value?.updateKeyChildren),getCheckedNodes:a(()=>j.value?.getCheckedNodes),setCheckedNodes:a(()=>j.value?.setCheckedNodes),getCheckedKeys:a(()=>j.value?.getCheckedKeys),setCheckedKeys:a(()=>j.value?.setCheckedKeys),setChecked:a(()=>j.value?.setChecked),getHalfCheckedNodes:a(()=>j.value?.getHalfCheckedNodes),getHalfCheckedKeys:a(()=>j.value?.getHalfCheckedKeys),getCurrentKey:a(()=>j.value?.getCurrentKey),getCurrentNode:a(()=>j.value?.getCurrentNode),setCurrentKey:a(()=>j.value?.setCurrentKey),setCurrentNode:a(()=>j.value?.setCurrentNode),getNode:a(()=>j.value?.getNode),remove:a(()=>j.value?.remove),append:a(()=>j.value?.append),insertBefore:a(()=>j.value?.insertBefore),insertAfter:a(()=>j.value?.insertAfter),loading:a(()=>q.loading),refresh:H})}});export{P as default,H as faTreeEmits,j as faTreeProps};
2
2
  //# sourceMappingURL=tree.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../packages/components/tree/src/tree.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElIcon, ElInput, ElScrollbar, ElTree, useGlobalSize } from \"element-plus\";\nimport { Expand, Fold } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { treeProps } from \"./tree.props\";\nimport type { FilterValue, NodeDropType, TreeKey, TreeNodeData } from \"./tree.props\";\nimport type { ElTreeOutput } from \"./tree.type\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeProps = {\n\t...treeProps,\n\t/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: String,\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: 180,\n\t},\n\t/** @description 默认选择 */\n\tdefaultSelection: [String, Number],\n\t/** @description 标题 */\n\ttitle: String,\n\t/** @description 折叠 */\n\thamburger: Boolean,\n\t/** @description 隐藏全部 */\n\thideAll: Boolean,\n\t/** @description 隐藏过滤 */\n\thideFilter: Boolean,\n\t/** @description 全部值 */\n\tallValue: {\n\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\tdefault: undefined,\n\t},\n\t/** @description 树形数据 */\n\tdata: {\n\t\ttype: definePropType<ElTreeOutput[]>(Array),\n\t\tdefault: (): ElTreeOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElTreeOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string): boolean => isString(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElTreeOutput[], orgData: ElTreeOutput[]): boolean => isArray(data) && isArray(orgData),\n\t/** @description 改变 */\n\tchange: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance) && event instanceof MouseEvent,\n\t/** @description 当节点被点击的时候触发 */\n\tnodeClick: (data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance, event?: MouseEvent): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance) && event instanceof MouseEvent,\n\t/** @description 当某一节点被鼠标右键点击时会触发该事件 */\n\tnodeContextmenu: (event: Event, data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tevent instanceof Event && isObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当复选框被点击的时候触发 */\n\tcheckChange: (data: ElTreeOutput, checked: boolean, indeterminate: boolean): boolean =>\n\t\tisObject(data) && isBoolean(checked) && isBoolean(indeterminate),\n\t/** @description 点击节点复选框之后触发 */\n\tcheck: (\n\t\tdata: ElTreeOutput,\n\t\tnode: {\n\t\t\tcheckedNodes: ElTreeOutput[];\n\t\t\tcheckedKeys: TreeKey[];\n\t\t\thalfCheckedNodes: ElTreeOutput[];\n\t\t\thalfCheckedKeys: TreeKey[];\n\t\t}\n\t): boolean => isObject(data) && isObject(node),\n\t/** @description 当前选中节点变化时触发的事件 */\n\tcurrentChange: (data: ElTreeOutput, node: any): boolean => isObject(data) && isObject(node),\n\t/** @description 节点被展开时触发的事件 */\n\tnodeExpand: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点被关闭时触发的事件 */\n\tnodeCollapse: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点开始拖拽时触发的事件 */\n\tnodeDragStart: (node: any, event: DragEvent): boolean => isObject(node) && event instanceof DragEvent,\n\t/** @description 拖拽进入其他节点时触发的事件 */\n\tnodeDragEnter: (node: any, enterNode: any, event: DragEvent): boolean => isObject(node) && isObject(enterNode) && event instanceof DragEvent,\n\t/** @description 拖拽离开某个节点时触发的事件 */\n\tnodeDragLeave: (node: any, leaveNode: any, event: DragEvent): boolean => isObject(node) && isObject(leaveNode) && event instanceof DragEvent,\n\t/** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */\n\tnodeDragOver: (node: any, dropNode: any, event: DragEvent): boolean => isObject(node) && isObject(dropNode) && event instanceof DragEvent,\n\t/** @description 拖拽结束时(可能未成功)触发的事件 */\n\tnodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n\t/** @description 拖拽成功完成时触发的事件 */\n\tnodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n};\n\ntype FaTreeSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElTreeOutput };\n\t/** @description 当数据为空时自定义的内容 */\n\tempty: never;\n\t/** @description 显示内容插槽 */\n\tlabel: { node: any; data: ElTreeOutput };\n};\n\nexport default defineComponent({\n\tname: \"FaTree\",\n\tprops: faTreeProps,\n\temits: faTreeEmits,\n\tslots: makeSlots<FaTreeSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object>(),\n\t\t\tloading: false,\n\t\t\tsearchValue: withDefineType<string>(),\n\t\t\torgTreeData: withDefineType<ElTreeOutput[]>([]),\n\t\t\ttreeData: withDefineType<ElTreeOutput[]>([]),\n\t\t\thamburger: false,\n\t\t\twidth: computed(() => {\n\t\t\t\tif (props.hamburger || state.hamburger) {\n\t\t\t\t\treturn \"130px\";\n\t\t\t\t} else {\n\t\t\t\t\tconst width = addUnit(props.width);\n\t\t\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\t\t\treturn `calc(${width} * 0.9)`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn width;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t});\n\n\t\t/** @description 只有一层节点 */\n\t\tconst fold = computed<boolean>(() => [...state.orgTreeData].filter((f) => f[props.props.children]?.length > 0).length === 0);\n\n\t\tconst treeRef = ref<InstanceType<typeof ElTree>>();\n\n\t\tconst setTreeData = (treeData: ElTreeOutput[] | any[]): void => {\n\t\t\tif (!props.hideAll) {\n\t\t\t\ttreeData.unshift({ [props.nodeKey]: props.allValue, label: \"全部\", all: true } as any);\n\t\t\t}\n\t\t\tstate.treeData = treeData;\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tlet curSelectedData;\n\t\t\tif (props.nodeKey) {\n\t\t\t\t// 记录原本选中的值\n\t\t\t\tcurSelectedData = treeRef.value.getCurrentKey();\n\t\t\t}\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = { ...(props.initParam ?? {}), searchValue: state.searchValue };\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\tstate.orgTreeData = resData;\n\t\t\t\t\tsetTreeData(resData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTree\", error);\n\t\t\t\t\tstate.orgTreeData = [];\n\t\t\t\t\tsetTreeData([]);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.treeData, state.orgTreeData);\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstate.orgTreeData = props.data;\n\t\t\t\tsetTreeData(props.data);\n\t\t\t}\n\t\t\tif (props.nodeKey && curSelectedData) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\t// 设置原本选中的值\n\t\t\t\t\ttreeRef.value.setCurrentKey(curSelectedData);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (props.defaultSelection) {\n\t\t\t\t\tnextTick(() => {\n\t\t\t\t\t\ttreeRef.value.setCurrentKey(props.defaultSelection);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst handleHamburgerClick = (): void => {\n\t\t\tif (props.hamburger || state.hamburger) {\n\t\t\t\tsetTreeData(state.orgTreeData);\n\t\t\t} else {\n\t\t\t\t// 折叠只显示一级数据\n\t\t\t\tstate.treeData = state.orgTreeData.map((m) => ({ ...m, [props.props.children]: [] }));\n\t\t\t}\n\t\t\tstate.hamburger = !state.hamburger;\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = data.all ? [data.label] : [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleNodeClick = (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\tstate.value = node.key;\n\t\t\tselectedLabel.value = node.label;\n\t\t\temit(\"update:modelValue\", state.value);\n\t\t\temit(\"change\", data, node, instance, event);\n\t\t\temit(\"nodeClick\", data, node, instance, event);\n\t\t};\n\n\t\tonMounted(async () => {\n\t\t\tawait loadData();\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elTreeProps = useProps(props, treeProps, [\"data\", \"expandOnClickNode\", \"filterNodeMethod\"]);\n\n\t\tuseRender(() => (\n\t\t\t<div\n\t\t\t\tclass={[\"el-card fa-tree\", `fa-tree-${_globalSize.value}`, { \"fa-tree__fold\": (props.hamburger && state.hamburger) || fold.value }]}\n\t\t\t\tstyle={{ width: state.width }}\n\t\t\t\tvLoading={state.loading}\n\t\t\t>\n\t\t\t\t{(props.title || props.hamburger) && (\n\t\t\t\t\t<div class=\"fa-tree__title\">\n\t\t\t\t\t\t{props.title && <h4>{props.title}</h4>}\n\t\t\t\t\t\t{props.hamburger &&\n\t\t\t\t\t\t\t(state.hamburger ? (\n\t\t\t\t\t\t\t\t<ElIcon onClick={handleHamburgerClick} title=\"展开\">\n\t\t\t\t\t\t\t\t\t<Expand />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ElIcon onClick={handleHamburgerClick} title=\"折叠\">\n\t\t\t\t\t\t\t\t\t<Fold />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!props.hideFilter && (\n\t\t\t\t\t<ElInput\n\t\t\t\t\t\tclass=\"fa-tree__search-input\"\n\t\t\t\t\t\tvModel_trim={state.searchValue}\n\t\t\t\t\t\tplaceholder={props.hamburger || state.hamburger ? \"关键字过滤\" : \"输入关键字进行过滤\"}\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\tonInput={(value) => treeRef.value.filter(value)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<ElScrollbar class=\"fa-tree__scrollbar\">\n\t\t\t\t\t<ElTree\n\t\t\t\t\t\t{...elTreeProps.value}\n\t\t\t\t\t\tref={treeRef}\n\t\t\t\t\t\tdata={state.treeData}\n\t\t\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\t\t\tonNodeClick={handleNodeClick}\n\t\t\t\t\t\tonNodeContextmenu={(event: Event, data: ElTreeOutput, node?: any, instance?: ComponentInternalInstance) =>\n\t\t\t\t\t\t\temit(\"nodeContextmenu\", event, data, node, instance)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCheckChange={(data: ElTreeOutput, checked: boolean, indeterminate: boolean) =>\n\t\t\t\t\t\t\temit(\"checkChange\", data, checked, indeterminate)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCheck={(\n\t\t\t\t\t\t\tdata: ElTreeOutput,\n\t\t\t\t\t\t\tnode: {\n\t\t\t\t\t\t\t\tcheckedNodes: ElTreeOutput[];\n\t\t\t\t\t\t\t\tcheckedKeys: TreeKey[];\n\t\t\t\t\t\t\t\thalfCheckedNodes: ElTreeOutput[];\n\t\t\t\t\t\t\t\thalfCheckedKeys: TreeKey[];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) => emit(\"check\", data, node)}\n\t\t\t\t\t\tonCurrentChange={(data: ElTreeOutput, node: any) => emit(\"currentChange\", data, node)}\n\t\t\t\t\t\tonNodeExpand={(data: ElTreeOutput, node: any, instance: ComponentInternalInstance) =>\n\t\t\t\t\t\t\temit(\"nodeExpand\", data, node, instance)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNodeCollapse={(data: ElTreeOutput, node: any, instance: ComponentInternalInstance) =>\n\t\t\t\t\t\t\temit(\"nodeCollapse\", data, node, instance)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNodeDragStart={(node: any, event: DragEvent) => emit(\"nodeDragStart\", node, event)}\n\t\t\t\t\t\tonNodeDragEnter={(node: any, enterNode: any, event: DragEvent) => emit(\"nodeDragEnter\", node, enterNode, event)}\n\t\t\t\t\t\tonNodeDragLeave={(node: any, leaveNode: any, event: DragEvent) => emit(\"nodeDragLeave\", node, leaveNode, event)}\n\t\t\t\t\t\tonNodeDragOver={(node: any, dropNode: any, event: DragEvent) => emit(\"nodeDragOver\", node, dropNode, event)}\n\t\t\t\t\t\tonNodeDragEnd={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) =>\n\t\t\t\t\t\t\temit(\"nodeDragEnd\", node, dropNode, dropType, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNodeDrop={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) =>\n\t\t\t\t\t\t\temit(\"nodeDrop\", node, dropNode, dropType, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tdefault: ({ node, data }: { node: any; data: ElTreeOutput }) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"el-tree-node__label\"\n\t\t\t\t\t\t\t\t\ttitle={data?.all ? data.label : node.label}\n\t\t\t\t\t\t\t\t\tstyle={{ paddingLeft: fold.value ? \"3px\" : \"\" }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{slots.label ? slots.label({ node, data }) : data?.all ? data.label : node.label}</span>\n\t\t\t\t\t\t\t\t\t{node.key && data.showQuantity ? <span>[{data.quantity}]</span> : null}\n\t\t\t\t\t\t\t\t\t{slots.default && <span>{slots.default({ node, data })}</span>}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t\t}}\n\t\t\t\t\t</ElTree>\n\t\t\t\t</ElScrollbar>\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\tfilter: computed(() => treeRef.value?.filter),\n\t\t\t/** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\tupdateKeyChildren: computed(() => treeRef.value?.updateKeyChildren),\n\t\t\t/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\tgetCheckedNodes: computed(() => treeRef.value?.getCheckedNodes),\n\t\t\t/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\tsetCheckedNodes: computed(() => treeRef.value?.setCheckedNodes),\n\t\t\t/** @description \t若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\tgetCheckedKeys: computed(() => treeRef.value?.getCheckedKeys),\n\t\t\t/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCheckedKeys: computed(() => treeRef.value?.setCheckedKeys),\n\t\t\t/** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\tsetChecked: computed(() => treeRef.value?.setChecked),\n\t\t\t/** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\tgetHalfCheckedNodes: computed(() => treeRef.value?.getHalfCheckedNodes),\n\t\t\t/** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\tgetHalfCheckedKeys: computed(() => treeRef.value?.getHalfCheckedKeys),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentKey: computed(() => treeRef.value?.getCurrentKey),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentNode: computed(() => treeRef.value?.getCurrentNode),\n\t\t\t/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentKey: computed(() => treeRef.value?.setCurrentKey),\n\t\t\t/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentNode: computed(() => treeRef.value?.setCurrentNode),\n\t\t\t/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\tgetNode: computed(() => treeRef.value?.getNode),\n\t\t\t/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\tremove: computed(() => treeRef.value?.remove),\n\t\t\t/** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\tappend: computed(() => treeRef.value?.append),\n\t\t\t/** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\tinsertBefore: computed(() => treeRef.value?.insertBefore),\n\t\t\t/** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\tinsertAfter: computed(() => treeRef.value?.insertAfter),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t});\n\t},\n});\n"],"names":["faTreeProps","treeProps","nodeKey","type","String","default","defaultExpandAll","Boolean","checkOnClickNode","highlightCurrent","collapseOnClickNode","modelValue","definePropType","Number","Object","undefined","label","width","defaultSelection","title","hamburger","hideAll","hideFilter","allValue","data","Array","requestApi","Function","initParam","faTreeEmits","value","isString","isNumber","isBoolean","isObject","isNull","dataChangeCallBack","orgData","isArray","change","node","instance","event","MouseEvent","nodeClick","nodeContextmenu","Event","checkChange","checked","indeterminate","check","currentChange","nodeExpand","nodeCollapse","nodeDragStart","DragEvent","nodeDragEnter","enterNode","nodeDragLeave","leaveNode","nodeDragOver","dropNode","nodeDragEnd","dropType","nodeDrop","Tree","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","loading","searchValue","orgTreeData","treeData","computed","addUnit","fold","filter","f","children","length","treeRef","ref","setTreeData","unshift","all","loadData","async","curSelectedData","getCurrentKey","params","resData","error","consoleError","nextTick","setCurrentKey","handleHamburgerClick","map","m","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleNodeClick","expandOnClickNode","expanded","collapse","expand","key","onMounted","watch","deep","elTreeProps","useProps","useRender","_withDirectives","_createVNode","class","style","ElIcon","onClick","Expand","Fold","ElInput","modelModifiers","trim","$event","placeholder","clearable","onInput","ElScrollbar","ElTree","_mergeProps","onNodeClick","onNodeContextmenu","onCheckChange","onCheck","onCurrentChange","onNodeExpand","onNodeCollapse","onNodeDragStart","onNodeDragEnter","onNodeDragLeave","onNodeDragOver","onNodeDragEnd","onNodeDrop","paddingLeft","showQuantity","_createTextVNode","quantity","empty","_resolveDirective","useExpose","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentNode","setCurrentNode","getNode","remove","append","insertBefore","insertAfter","refresh"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../packages/components/tree/src/tree.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElIcon, ElInput, ElScrollbar, ElTree, treeEmits, useGlobalSize } from \"element-plus\";\nimport { Expand, Fold } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { treeProps } from \"./tree.props\";\nimport type { FilterValue, TreeNodeData } from \"./tree.props\";\nimport type { ElTreeOutput } from \"./tree.type\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeProps = {\n\t...treeProps,\n\t/** @description whether Select is disabled 重载使其支持 ElForm*/\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: undefined,\n\t},\n\t/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: String,\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: 180,\n\t},\n\t/** @description 默认选择 */\n\tdefaultSelection: [String, Number],\n\t/** @description 标题 */\n\ttitle: String,\n\t/** @description 折叠 */\n\thamburger: Boolean,\n\t/** @description 隐藏全部 */\n\thideAll: Boolean,\n\t/** @description 隐藏过滤 */\n\thideFilter: Boolean,\n\t/** @description 全部值 */\n\tallValue: {\n\t\ttype: definePropType<string | number | boolean | object>([String, Number, Boolean, Object]),\n\t\tdefault: undefined,\n\t},\n\t/** @description 树形数据 */\n\tdata: {\n\t\ttype: definePropType<ElTreeOutput[]>(Array),\n\t\tdefault: (): ElTreeOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElTreeOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeEmits = {\n\t...treeEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string): boolean => isString(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElTreeOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): boolean => true,\n};\n\ntype FaTreeSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElTreeOutput };\n\t/** @description 当数据为空时自定义的内容 */\n\tempty: never;\n\t/** @description 显示内容插槽 */\n\tlabel: { node: any; data: ElTreeOutput };\n};\n\nexport default defineComponent({\n\tname: \"FaTree\",\n\tprops: faTreeProps,\n\temits: faTreeEmits,\n\tslots: makeSlots<FaTreeSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit);\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object>(),\n\t\t\tloading: false,\n\t\t\tsearchValue: withDefineType<string>(),\n\t\t\torgTreeData: withDefineType<ElTreeOutput[]>([]),\n\t\t\ttreeData: withDefineType<ElTreeOutput[]>([]),\n\t\t\thamburger: props.hamburger || false,\n\t\t\twidth: computed(() => {\n\t\t\t\tif (state.hamburger) {\n\t\t\t\t\treturn \"130px\";\n\t\t\t\t} else {\n\t\t\t\t\tconst width = addUnit(props.width);\n\t\t\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\t\t\treturn `calc(${width} * 0.9)`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn width;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t});\n\n\t\t/** @description 只有一层节点 */\n\t\tconst fold = computed<boolean>(() => [...state.orgTreeData].filter((f) => f[props.props.children]?.length > 0).length === 0);\n\n\t\tconst treeRef = ref<InstanceType<typeof ElTree>>();\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tlet curSelectedData;\n\t\t\tif (props.nodeKey) {\n\t\t\t\t// 记录原本选中的值\n\t\t\t\tcurSelectedData = treeRef.value.getCurrentKey();\n\t\t\t}\n\t\t\tlet treeData: ElTreeOutput[] = [];\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = { ...(props.initParam ?? {}), searchValue: state.searchValue };\n\t\t\t\ttry {\n\t\t\t\t\ttreeData = await props.requestApi(params);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTree\", error);\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttreeData = props.data;\n\t\t\t}\n\t\t\tif (!props.hideAll) {\n\t\t\t\ttreeData.unshift({ [props.nodeKey]: props.allValue, label: \"全部\", value: null, all: true } as any);\n\t\t\t}\n\t\t\tstate.orgTreeData = treeData;\n\t\t\tstate.treeData = treeData;\n\t\t\temit(\"dataChangeCallBack\", state.treeData);\n\t\t\tif (props.nodeKey && curSelectedData) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\t// 设置原本选中的值\n\t\t\t\t\ttreeRef.value.setCurrentKey(curSelectedData);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (props.defaultSelection) {\n\t\t\t\t\tnextTick(() => {\n\t\t\t\t\t\ttreeRef.value.setCurrentKey(props.defaultSelection);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst handleHamburgerClick = (): void => {\n\t\t\tif (state.hamburger) {\n\t\t\t\tstate.treeData = state.orgTreeData;\n\t\t\t} else {\n\t\t\t\t// 折叠只显示一级数据\n\t\t\t\tstate.treeData = state.orgTreeData.map((m) => ({ ...m, [props.props.children]: [] }));\n\t\t\t}\n\t\t\tstate.hamburger = !state.hamburger;\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = data.all ? [data.label] : [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleNodeClick = (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\tstate.value = node.key;\n\t\t\tselectedLabel.value = node.label;\n\t\t\temit(\"update:modelValue\", state.value);\n\t\t\temit(\"change\", data, node, instance, event);\n\t\t\temit(\"node-click\", data, node, instance, event);\n\t\t};\n\n\t\tonMounted(async () => {\n\t\t\tawait loadData();\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elTreeProps = useProps(props, treeProps, [\"data\", \"expandOnClickNode\", \"filterNodeMethod\"]);\n\t\tconst elTreeEmits = useEmits(treeEmits, emit, [\"node-click\"]);\n\n\t\tuseRender(() => (\n\t\t\t<div\n\t\t\t\tclass={[\"el-card fa-tree\", `fa-tree-${_globalSize.value}`, { \"fa-tree__fold\": state.hamburger || fold.value }]}\n\t\t\t\tstyle={{ width: state.width }}\n\t\t\t\tvLoading={state.loading}\n\t\t\t>\n\t\t\t\t{(props.title || props.hamburger) && (\n\t\t\t\t\t<div class=\"fa-tree__title\">\n\t\t\t\t\t\t{props.title && <h4>{props.title}</h4>}\n\t\t\t\t\t\t{props.hamburger &&\n\t\t\t\t\t\t\t(state.hamburger ? (\n\t\t\t\t\t\t\t\t<ElIcon onClick={handleHamburgerClick} title=\"展开\">\n\t\t\t\t\t\t\t\t\t<Expand />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ElIcon onClick={handleHamburgerClick} title=\"折叠\">\n\t\t\t\t\t\t\t\t\t<Fold />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!props.hideFilter && (\n\t\t\t\t\t<ElInput\n\t\t\t\t\t\tclass=\"fa-tree__search-input\"\n\t\t\t\t\t\tvModel_trim={state.searchValue}\n\t\t\t\t\t\tplaceholder={state.hamburger ? \"关键字过滤\" : \"输入关键字进行过滤\"}\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\tonInput={(value) => treeRef.value.filter(value)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<ElScrollbar class=\"fa-tree__scrollbar\">\n\t\t\t\t\t<ElTree\n\t\t\t\t\t\t{...elTreeProps.value}\n\t\t\t\t\t\t{...elTreeEmits.value}\n\t\t\t\t\t\tref={treeRef}\n\t\t\t\t\t\tdata={state.treeData}\n\t\t\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\t\t\tonNodeClick={handleNodeClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tdefault: ({ node, data }: { node: any; data: ElTreeOutput }) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"el-tree-node__label\"\n\t\t\t\t\t\t\t\t\ttitle={data?.all ? data.label : node.label}\n\t\t\t\t\t\t\t\t\tstyle={{ paddingLeft: fold.value ? \"3px\" : \"\" }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div>{data?.all ? data.label : slots.label ? slots.label({ node, data }) : node.label}</div>\n\t\t\t\t\t\t\t\t\t{node.key && data.showQuantity ? <span>[{data.quantity}]</span> : null}\n\t\t\t\t\t\t\t\t\t{!data?.all && slots.default && <span>{slots.default({ node, data })}</span>}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t\t}}\n\t\t\t\t\t</ElTree>\n\t\t\t\t</ElScrollbar>\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\tfilter: computed(() => treeRef.value?.filter),\n\t\t\t/** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\tupdateKeyChildren: computed(() => treeRef.value?.updateKeyChildren),\n\t\t\t/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\tgetCheckedNodes: computed(() => treeRef.value?.getCheckedNodes),\n\t\t\t/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\tsetCheckedNodes: computed(() => treeRef.value?.setCheckedNodes),\n\t\t\t/** @description \t若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\tgetCheckedKeys: computed(() => treeRef.value?.getCheckedKeys),\n\t\t\t/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCheckedKeys: computed(() => treeRef.value?.setCheckedKeys),\n\t\t\t/** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\tsetChecked: computed(() => treeRef.value?.setChecked),\n\t\t\t/** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\tgetHalfCheckedNodes: computed(() => treeRef.value?.getHalfCheckedNodes),\n\t\t\t/** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\tgetHalfCheckedKeys: computed(() => treeRef.value?.getHalfCheckedKeys),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentKey: computed(() => treeRef.value?.getCurrentKey),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentNode: computed(() => treeRef.value?.getCurrentNode),\n\t\t\t/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentKey: computed(() => treeRef.value?.setCurrentKey),\n\t\t\t/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentNode: computed(() => treeRef.value?.setCurrentNode),\n\t\t\t/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\tgetNode: computed(() => treeRef.value?.getNode),\n\t\t\t/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\tremove: computed(() => treeRef.value?.remove),\n\t\t\t/** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\tappend: computed(() => treeRef.value?.append),\n\t\t\t/** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\tinsertBefore: computed(() => treeRef.value?.insertBefore),\n\t\t\t/** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\tinsertAfter: computed(() => treeRef.value?.insertAfter),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t});\n\t},\n});\n"],"names":["faTreeProps","treeProps","disabled","type","Boolean","default","undefined","nodeKey","String","defaultExpandAll","checkOnClickNode","highlightCurrent","collapseOnClickNode","modelValue","definePropType","Number","Object","label","width","defaultSelection","title","hamburger","hideAll","hideFilter","allValue","data","Array","requestApi","Function","initParam","faTreeEmits","treeEmits","value","isString","isNumber","isBoolean","isObject","isNull","dataChangeCallBack","isArray","change","node","instance","event","Tree","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","_globalSize","useGlobalSize","state","reactive","withDefineType","loading","searchValue","orgTreeData","treeData","computed","addUnit","fold","filter","f","children","length","treeRef","ref","loadData","async","curSelectedData","getCurrentKey","params","error","consoleError","unshift","all","nextTick","setCurrentKey","handleHamburgerClick","map","m","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleNodeClick","expandOnClickNode","expanded","collapse","expand","key","onMounted","watch","deep","elTreeProps","useProps","elTreeEmits","useEmits","useRender","_withDirectives","_createVNode","class","style","ElIcon","onClick","Expand","Fold","ElInput","modelModifiers","trim","$event","placeholder","clearable","onInput","ElScrollbar","ElTree","_mergeProps","onNodeClick","paddingLeft","showQuantity","_createTextVNode","quantity","empty","_resolveDirective","useExpose","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentNode","setCurrentNode","getNode","remove","append","insertBefore","insertAfter","refresh"],"mappings":"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"}