@flatbiz/antd 4.5.54 → 4.5.56

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 (250) hide show
  1. package/esm/ace-editor-groovy/index.js +1 -1
  2. package/esm/ace-editor-groovy/index.js.map +1 -1
  3. package/esm/ace-editor-java/index.js +1 -1
  4. package/esm/ace-editor-java/index.js.map +1 -1
  5. package/esm/ace-editor-json/index.js +1 -1
  6. package/esm/ace-editor-json/index.js.map +1 -1
  7. package/esm/ace-editor-mysql/index.js +1 -1
  8. package/esm/ace-editor-mysql/index.js.map +1 -1
  9. package/esm/ace-editor-xml/index.js +1 -1
  10. package/esm/ace-editor-xml/index.js.map +1 -1
  11. package/esm/anchor-steps/index.js +1 -1
  12. package/esm/anchor-steps/index.js.map +1 -1
  13. package/esm/bootstrap/index.js +1 -1
  14. package/esm/bootstrap/index.js.map +1 -1
  15. package/esm/box-grid/index.js +1 -1
  16. package/esm/box-grid/index.js.map +1 -1
  17. package/esm/button-operate/index.js +1 -1
  18. package/esm/button-operate/index.js.map +1 -1
  19. package/esm/button-wrapper/index.js +1 -1
  20. package/esm/button-wrapper/index.js.map +1 -1
  21. package/esm/card-layout/index.js +1 -1
  22. package/esm/card-layout/index.js.map +1 -1
  23. package/esm/cascader-wrapper/index.css +1 -1
  24. package/esm/cascader-wrapper/index.js +1 -1
  25. package/esm/cascader-wrapper/index.js.map +1 -1
  26. package/esm/check-list/index.js +1 -1
  27. package/esm/check-list/index.js.map +1 -1
  28. package/esm/checkbox-wrapper/index.js +1 -1
  29. package/esm/checkbox-wrapper/index.js.map +1 -1
  30. package/esm/code-render/index.css +1 -0
  31. package/esm/code-render/index.js +5 -0
  32. package/esm/code-render/index.js.map +1 -0
  33. package/esm/color-picker-wrapper/index.css +1 -1
  34. package/esm/color-picker-wrapper/index.js +1 -1
  35. package/esm/color-picker-wrapper/index.js.map +1 -1
  36. package/esm/config-provider-wrapper/index.js +1 -1
  37. package/esm/copy-wrapper/index.js +1 -1
  38. package/esm/copy-wrapper/index.js.map +1 -1
  39. package/esm/date-picker-wrapper/index.js +1 -1
  40. package/esm/date-picker-wrapper/index.js.map +1 -1
  41. package/esm/date-range-picker-wrapper/index.js +1 -1
  42. package/esm/date-range-picker-wrapper/index.js.map +1 -1
  43. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  44. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  45. package/esm/delete-node/index.js +1 -1
  46. package/esm/delete-node/index.js.map +1 -1
  47. package/esm/dialog-alert/index.js +1 -1
  48. package/esm/dialog-confirm/index.js +1 -1
  49. package/esm/dialog-drag-modal/index.js +1 -1
  50. package/esm/dialog-drag-modal/index.js.map +1 -1
  51. package/esm/dialog-drawer/index.js +1 -1
  52. package/esm/dialog-drawer/index.js.map +1 -1
  53. package/esm/dialog-drawer-content/index.js +1 -1
  54. package/esm/dialog-drawer-content/index.js.map +1 -1
  55. package/esm/dialog-loading/index.js +1 -1
  56. package/esm/dialog-loading/index.js.map +1 -1
  57. package/esm/dialog-modal/index.js +1 -1
  58. package/esm/dialog-modal/index.js.map +1 -1
  59. package/esm/dialog-preview-image/index.js +1 -1
  60. package/esm/dialog-preview-image/index.js.map +1 -1
  61. package/esm/drag-collapse/index.js +1 -1
  62. package/esm/drag-collapse/index.js.map +1 -1
  63. package/esm/drag-collapse-form-list/index.js +1 -1
  64. package/esm/drag-collapse-form-list/index.js.map +1 -1
  65. package/esm/drag-editable-card/index.js +1 -1
  66. package/esm/drag-editable-card/index.js.map +1 -1
  67. package/esm/drag-editable-table/index.js +1 -1
  68. package/esm/drag-editable-table/index.js.map +1 -1
  69. package/esm/drag-editable-table-pro/index.js +1 -1
  70. package/esm/drag-editable-table-pro/index.js.map +1 -1
  71. package/esm/drag-form-list/index.js +1 -1
  72. package/esm/drag-form-list/index.js.map +1 -1
  73. package/esm/drag-table/index.js +1 -1
  74. package/esm/drag-table/index.js.map +1 -1
  75. package/esm/drawer-wrapper/index.js +1 -1
  76. package/esm/drawer-wrapper/index.js.map +1 -1
  77. package/esm/dropdown-menu-wrapper/index.js +1 -1
  78. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  79. package/esm/easy-form/index.js +1 -1
  80. package/esm/easy-form/index.js.map +1 -1
  81. package/esm/easy-table/index.js +1 -1
  82. package/esm/easy-table/index.js.map +1 -1
  83. package/esm/editable-card/index.js +1 -1
  84. package/esm/editable-card/index.js.map +1 -1
  85. package/esm/editable-field/index.js +1 -1
  86. package/esm/editable-field/index.js.map +1 -1
  87. package/esm/editable-table/index.js +1 -1
  88. package/esm/editable-table/index.js.map +1 -1
  89. package/esm/editable-table-pro/index.js +1 -1
  90. package/esm/editable-table-pro/index.js.map +1 -1
  91. package/esm/editor-wrapper/index.js +1 -1
  92. package/esm/editor-wrapper/index.js.map +1 -1
  93. package/esm/fba-app/index.js +1 -1
  94. package/esm/fba-app/index.js.map +1 -1
  95. package/esm/fba-hooks/index.js +1 -1
  96. package/esm/fba-hooks/index.js.map +1 -1
  97. package/esm/fba-utils/index.js +1 -1
  98. package/esm/fba-utils/index.js.map +1 -1
  99. package/esm/file-export/index.js +1 -1
  100. package/esm/file-export/index.js.map +1 -1
  101. package/esm/file-import/index.js +1 -1
  102. package/esm/file-import/index.js.map +1 -1
  103. package/esm/file-select/index.js +1 -1
  104. package/esm/file-select/index.js.map +1 -1
  105. package/esm/flex-layout/index.js +1 -1
  106. package/esm/flex-layout/index.js.map +1 -1
  107. package/esm/form-grid/index.js +1 -1
  108. package/esm/form-grid/index.js.map +1 -1
  109. package/esm/form-item-group/index.js +1 -1
  110. package/esm/form-item-group/index.js.map +1 -1
  111. package/esm/form-item-text/index.js +1 -1
  112. package/esm/form-item-text/index.js.map +1 -1
  113. package/esm/form-item-wrapper/index.js +1 -1
  114. package/esm/form-item-wrapper/index.js.map +1 -1
  115. package/esm/form-list-wrapper/index.js +1 -1
  116. package/esm/form-list-wrapper/index.js.map +1 -1
  117. package/esm/form-wrapper/index.js +1 -1
  118. package/esm/form-wrapper/index.js.map +1 -1
  119. package/esm/full-screen/index.js +1 -1
  120. package/esm/full-screen/index.js.map +1 -1
  121. package/esm/icon-wrapper/index.js +1 -1
  122. package/esm/icon-wrapper/index.js.map +1 -1
  123. package/esm/index-636a568e.js +8 -0
  124. package/esm/index-636a568e.js.map +1 -0
  125. package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
  126. package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
  127. package/esm/index.js +2 -2
  128. package/esm/input-search-wrapper/index.js +1 -1
  129. package/esm/input-search-wrapper/index.js.map +1 -1
  130. package/esm/input-text-area-wrapper/index.js +1 -1
  131. package/esm/input-text-area-wrapper/index.js.map +1 -1
  132. package/esm/input-wrapper/index.js +1 -1
  133. package/esm/input-wrapper/index.js.map +1 -1
  134. package/esm/json-editor/index.js +1 -1
  135. package/esm/json-editor/index.js.map +1 -1
  136. package/esm/label-value-layout/index.js +1 -1
  137. package/esm/label-value-layout/index.js.map +1 -1
  138. package/esm/label-value-render/index.js +1 -1
  139. package/esm/label-value-render/index.js.map +1 -1
  140. package/esm/local-loading/index.js +1 -1
  141. package/esm/local-loading/index.js.map +1 -1
  142. package/esm/mention-editor/index.js +1 -1
  143. package/esm/mention-editor/index.js.map +1 -1
  144. package/esm/mentions-wrapper/index.js +1 -1
  145. package/esm/mentions-wrapper/index.js.map +1 -1
  146. package/esm/modal-action/index.js +1 -1
  147. package/esm/modal-action/index.js.map +1 -1
  148. package/esm/modal-wrapper/index.js +1 -1
  149. package/esm/modal-wrapper/index.js.map +1 -1
  150. package/esm/number-range-form-item/index.js +1 -1
  151. package/esm/number-range-form-item/index.js.map +1 -1
  152. package/esm/pdf/index.js +1 -1
  153. package/esm/pdf/index.js.map +1 -1
  154. package/esm/pdf-preview/index.js +1 -1
  155. package/esm/pdf-preview/index.js.map +1 -1
  156. package/esm/radio-group-wrapper/index.js +1 -1
  157. package/esm/radio-group-wrapper/index.js.map +1 -1
  158. package/esm/relation-tree/index.js +1 -1
  159. package/esm/relation-tree/index.js.map +1 -1
  160. package/esm/request-status/index.css +1 -1
  161. package/esm/request-status/index.js +2 -1
  162. package/esm/request-status/index.js.map +1 -1
  163. package/esm/resizable-drawer/index.js +1 -6
  164. package/esm/resizable-drawer/index.js.map +1 -1
  165. package/esm/rich-text-editor/index.js +1 -1
  166. package/esm/rich-text-editor/index.js.map +1 -1
  167. package/esm/rich-text-viewer/index.js +1 -1
  168. package/esm/rich-text-viewer/index.js.map +1 -1
  169. package/esm/roll-location-center/index.js +1 -1
  170. package/esm/roll-location-center/index.js.map +1 -1
  171. package/esm/roll-location-in-view/index.js +1 -1
  172. package/esm/roll-location-in-view/index.js.map +1 -1
  173. package/esm/rule-describe/index.js +1 -1
  174. package/esm/rule-describe/index.js.map +1 -1
  175. package/esm/search-form/index.js +1 -1
  176. package/esm/search-form/index.js.map +1 -1
  177. package/esm/search-menu/index.js +1 -1
  178. package/esm/search-menu/index.js.map +1 -1
  179. package/esm/selector-wrapper/index.css +1 -1
  180. package/esm/selector-wrapper/index.js +1 -1
  181. package/esm/selector-wrapper/index.js.map +1 -1
  182. package/esm/selector-wrapper-search/index.js +1 -1
  183. package/esm/selector-wrapper-search/index.js.map +1 -1
  184. package/esm/selector-wrapper-simple/index.js +1 -1
  185. package/esm/selector-wrapper-simple/index.js.map +1 -1
  186. package/esm/simple-layout/index.js +1 -1
  187. package/esm/simple-layout/index.js.map +1 -1
  188. package/esm/sms-count-down/index.js +1 -1
  189. package/esm/sms-count-down/index.js.map +1 -1
  190. package/esm/split-wrapper/index.js +1 -1
  191. package/esm/split-wrapper/index.js.map +1 -1
  192. package/esm/styles/index.css +1 -1
  193. package/esm/svg-http-view/index.js +1 -1
  194. package/esm/svg-http-view/index.js.map +1 -1
  195. package/esm/switch-confirm-wrapper/index.js +1 -1
  196. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  197. package/esm/switch-wrapper/index.js +1 -1
  198. package/esm/switch-wrapper/index.js.map +1 -1
  199. package/esm/table-cell-render/index.js +1 -1
  200. package/esm/table-cell-render/index.js.map +1 -1
  201. package/esm/table-scrollbar/index.js +1 -1
  202. package/esm/table-scrollbar/index.js.map +1 -1
  203. package/esm/tabs-sticky/index.js +1 -1
  204. package/esm/tabs-sticky/index.js.map +1 -1
  205. package/esm/tabs-wrapper/index.js +1 -1
  206. package/esm/tabs-wrapper/index.js.map +1 -1
  207. package/esm/tag-group/index.js +1 -1
  208. package/esm/tag-group/index.js.map +1 -1
  209. package/esm/tag-list-render/index.js +1 -1
  210. package/esm/tag-list-render/index.js.map +1 -1
  211. package/esm/tag-list-select/index.js +1 -1
  212. package/esm/tag-list-select/index.js.map +1 -1
  213. package/esm/tag-wrapper/index.js +1 -1
  214. package/esm/tag-wrapper/index.js.map +1 -1
  215. package/esm/text-css-ellipsis/index.js +1 -1
  216. package/esm/text-css-ellipsis/index.js.map +1 -1
  217. package/esm/text-overflow/index.js +1 -1
  218. package/esm/text-overflow/index.js.map +1 -1
  219. package/esm/text-overflow-render/index.js +1 -1
  220. package/esm/text-symbol-wrapper/index.js +1 -1
  221. package/esm/text-symbol-wrapper/index.js.map +1 -1
  222. package/esm/time-ea73b2fb.js +3 -0
  223. package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
  224. package/esm/time-picker-wrapper/index.js +1 -1
  225. package/esm/time-picker-wrapper/index.js.map +1 -1
  226. package/esm/time-range-picker-wrapper/index.js +1 -1
  227. package/esm/time-range-picker-wrapper/index.js.map +1 -1
  228. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  229. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  230. package/esm/tree-modal/index.js +1 -1
  231. package/esm/tree-modal/index.js.map +1 -1
  232. package/esm/tree-modal-selector/index.js +1 -1
  233. package/esm/tree-modal-selector/index.js.map +1 -1
  234. package/esm/tree-selector-wrapper/index.js +1 -1
  235. package/esm/tree-selector-wrapper/index.js.map +1 -1
  236. package/esm/tree-wrapper/index.js +2 -2
  237. package/esm/tree-wrapper/index.js.map +1 -1
  238. package/esm/upload-wrapper/index.js +1 -1
  239. package/esm/upload-wrapper/index.js.map +1 -1
  240. package/esm/use-responsive-point-1e6d93d9.js +3 -0
  241. package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
  242. package/esm/x-mind-preview/index.js +1 -1
  243. package/esm/x-mind-preview/index.js.map +1 -1
  244. package/index.d.ts +51 -28
  245. package/package.json +4 -5
  246. package/esm/ai-search/index.css +0 -0
  247. package/esm/ai-search/index.js +0 -11
  248. package/esm/ai-search/index.js.map +0 -1
  249. package/esm/time-53b3f55f.js +0 -3
  250. package/esm/use-responsive-point-21b8c601.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport {\n getUuid,\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { usePrevious } from 'ahooks';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n /**\n * 设置请求唯一值\n * ```\n * 1. 设置后,如果请求入参不变,不会重复请求接口,直接使用上次缓存数据\n * ```\n */\n modelKey?: string;\n fieldNames?: {\n /**\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter 后此配置失效\n */\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n\n /**\n * 在第一次渲染value时,主动执行一次onChange\n * ```\n * 1. 设置labelInValue = true 时有效\n * 2. 不考虑子父节点的关系\n * ```\n */\n executeOnChangeInRenderFirstValue?: boolean;\n};\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n executeOnChangeInRenderFirstValue,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n\n const modelKeyInner = useMemo(() => {\n return modelKey || getUuid();\n }, [modelKey]);\n\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKeyInner).useStore();\n const requestPreKey = `request-progress-${modelKeyInner}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = fbaHooks.useMemoCustom(() => {\n return toArray<TAny>(value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n const prevPropsPureValue = usePrevious(propsPureValue);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && executeOnChangeInRenderFirstValue && labelInValue) {\n const dataList: TPlainObject[] = [];\n const originalList: TPlainObject[] = [];\n propsPureValue.forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n if (target) {\n originalList.push(target);\n dataList.push({\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n });\n }\n });\n if (isMultiple) {\n props.onChange?.(dataList ? dataList : undefined, originalList);\n } else {\n props.onChange?.(dataList ? dataList[0] : undefined, originalList[0]);\n }\n }\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n }\n // else {\n // responseFirstRef.current = false;\n // if (!searchValue) {\n // const expandedKeys = getExpandedKeysByValues(\n // propsPureValue,\n // state.treeSelectorTiledMap\n // );\n // setTreeExpandedKeys(expandedKeys);\n // }\n // }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n fbaHooks.useEffectCustom(() => {\n if (!responseFirstRef.current && propsPureValue.length > 0) {\n if (\n state.treeSelectorList.length > 0 &&\n JSON.stringify(propsPureValue) !== JSON.stringify(prevPropsPureValue)\n ) {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n let result = respData;\n if (newServiceConfig.onRequestResultAdapter) {\n result = newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNamesMerge.list) {\n result = get(respData, fieldNamesMerge.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKeyInner).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n const resultItemList = resultValueList.map((item) => {\n return state.treeSelectorTiledMap[item];\n });\n if (isMultiple) {\n onChange?.(resultValueList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultItemList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","executeOnChangeInRenderFirstValue","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","modelKeyInner","useMemo","getUuid","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","useMemoCustom","toArray","map","item","_isObject","prevPropsPureValue","usePrevious","useEffectCustom","current","dataList","originalList","target","_dataList$push","undefined","allValues","keys","_state$treeSelectorTi","JSON","stringify","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","_ref","tempItem","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport {\n getUuid,\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { usePrevious } from 'ahooks';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n /**\n * 设置请求唯一值\n * ```\n * 1. 设置后,如果请求入参不变,不会重复请求接口,直接使用上次缓存数据\n * ```\n */\n modelKey?: string;\n fieldNames?: {\n /**\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter 后此配置失效\n */\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n\n /**\n * 在第一次渲染value时,主动执行一次onChange\n * ```\n * 1. 设置labelInValue = true 时有效\n * 2. 不考虑子父节点的关系\n * ```\n */\n executeOnChangeInRenderFirstValue?: boolean;\n};\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n executeOnChangeInRenderFirstValue,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n\n const modelKeyInner = useMemo(() => {\n return modelKey || getUuid();\n }, [modelKey]);\n\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKeyInner).useStore();\n const requestPreKey = `request-progress-${modelKeyInner}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = fbaHooks.useMemoCustom(() => {\n return toArray<TAny>(value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n const prevPropsPureValue = usePrevious(propsPureValue);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && executeOnChangeInRenderFirstValue && labelInValue) {\n const dataList: TPlainObject[] = [];\n const originalList: TPlainObject[] = [];\n propsPureValue.forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n if (target) {\n originalList.push(target);\n dataList.push({\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n });\n }\n });\n if (isMultiple) {\n props.onChange?.(dataList ? dataList : undefined, originalList);\n } else {\n props.onChange?.(dataList ? dataList[0] : undefined, originalList[0]);\n }\n }\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n }\n // else {\n // responseFirstRef.current = false;\n // if (!searchValue) {\n // const expandedKeys = getExpandedKeysByValues(\n // propsPureValue,\n // state.treeSelectorTiledMap\n // );\n // setTreeExpandedKeys(expandedKeys);\n // }\n // }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n fbaHooks.useEffectCustom(() => {\n if (!responseFirstRef.current && propsPureValue.length > 0) {\n if (\n state.treeSelectorList.length > 0 &&\n JSON.stringify(propsPureValue) !== JSON.stringify(prevPropsPureValue)\n ) {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n let result = respData;\n if (newServiceConfig.onRequestResultAdapter) {\n result = newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNamesMerge.list) {\n result = get(respData, fieldNamesMerge.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKeyInner).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n const resultItemList = resultValueList.map((item) => {\n return state.treeSelectorTiledMap[item];\n });\n if (isMultiple) {\n onChange?.(resultValueList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultItemList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","executeOnChangeInRenderFirstValue","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","modelKeyInner","useMemo","getUuid","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","useMemoCustom","toArray","map","item","_isObject","prevPropsPureValue","usePrevious","useEffectCustom","current","dataList","originalList","target","_dataList$push","undefined","allValues","keys","_state$treeSelectorTi","JSON","stringify","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","_ref","tempItem","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable */
2
2
  import './../request-status/index.css';
3
+ import './../fba-hooks/index.css';
3
4
  import './../button-operate/index.css';
4
5
  import './../config-provider-wrapper/index.css';
5
- import './../fba-hooks/index.css';
6
6
  import './../types/index.css';
7
7
  import './../fba-utils/index.css';
8
8
  import './../button-wrapper/index.css';
@@ -13,5 +13,5 @@ import './../dropdown-menu-wrapper/index.css';
13
13
  import './../input-search-wrapper/index.css';
14
14
  import './index.css';
15
15
  /*! @flatjs/forge MIT @flatbiz/antd */
16
- import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,getUuid as u,toArray as s,treeFilter as o,dom as c,attachPropertiesToComponent as d}from"@flatbiz/utils";import{isArray as f}from"@dimjs/lang/cjs/is-array";import{Model as v}from"@dimjs/model-react";import{array as p}from"@dimjs/utils/cjs/array";import m from"@ant-design/icons/es/icons/CaretDownFilled";import h from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as g}from"@dimjs/utils/cjs/class-names";import{isString as y}from"@dimjs/lang/cjs/is-string";import{extend as b}from"@dimjs/utils/cjs/extend";import{get as L}from"@dimjs/utils/cjs/get";import{_ as C,a as T}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as j}from"@wove/react/cjs/hooks";import{cloneState as w}from"@dimjs/model";import{Spin as A,Tree as N,Button as R,message as S}from"antd";import{forwardRef as q,useMemo as k,useState as x,useRef as M,useImperativeHandle as E,Fragment as D,isValidElement as P}from"react";import{ButtonOperate as O}from"../button-operate/index.js";import{DropdownMenuWrapper as I}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as _}from"../fba-hooks/index.js";import{InputSearchWrapper as F}from"../input-search-wrapper/index.js";import{RequestStatus as V}from"../request-status/index.js";import{tree as K}from"@dimjs/utils/cjs/tree";import{isObject as U}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as z,jsx as H}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var J={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var B={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(f(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:J};var Y={};var G=function e(r){if(!Y[r]){Y[r]=v(B)}return Y[r]};var W=function e(r){var t=G(r).getState();return t.treeList};var Q=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var X=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var Z=function e(r,t){var n=a(r)?[]:r;n=f(n)?n:[n];n=n.map((function(e){if(U(e))return e[t.value];return e}));return n};var $=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){c(r[a][o],t,n)}}};var d=w(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(u===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:ee(i,d,t)}};var ee=function r(t,n,a){var i;var l=a.value;var u=a.children;K.walkThroughTree((i={},i[l]=undefined,i[u]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),u);var s=e(n,u);var o=s.find((function(e){return e[l]===t}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var re=function r(t,n,a,l){var u={};var s=[];var o=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){s.push(e)}else{u[e]=e}}));if(s.length>0){s.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(u).length>i.length){var s=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(s.length===i.length){o.push(r)}}}))}return t.filter((function(e){return o.find((function(r){return r==e}))||u[e]}))};var te=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var ne=function e(r,t,n,a){var u={};r.forEach((function(e){var r;var s=(r=t[e])==null?void 0:r[n];if(i(s)){var o=l(s,{value:a,children:n});u=C({},u,o)}}));return r.filter((function(e){return!u[e]}))};var ae=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var ie=function r(t,n,a,l){var u=[].concat(t);t.forEach((function(r){var t;var s=(t=n[r])==null?void 0:t[a];if(i(s)){var o=e(s,a);u=u.concat(o.map((function(e){return e[l]})))}}));return Array.from(new Set(u))};var le=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType","clickParentNodeToggleExpand","disableNodeSelect","required","executeOnChangeInRenderFirstValue"];var ue=function e(r,t){var n=r.slice().sort();var a=t.slice().sort();return JSON.stringify(n)===JSON.stringify(a)};var se=q((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,d=e.value,v=e.onChange,q=e.modelKey,K=e.checkableResponseParentNode,U=K===void 0?true:K,J=e.checkable,B=e.onSelectorTreeListChange,Y=e.onRequestResponseChange,W=e.treeItemDataAdapter,ee=e.searchValue,se=e.showSearch,oe=e.searchPlaceholder,ce=e.requestMessageConfig,de=e.labelInValueFieldNames,fe=e.labelInValue,ve=e.disabledCanUse,pe=e.menuLayoutType,me=e.menuTriggerType,he=e.initRootExpand,ge=e.searchResultType,ye=e.onDropNodeHandle,be=e.onDropPrev,Le=e.labelRender,Ce=e.searchStyle,Te=e.className,je=e.defaultExpandAll,we=e.menus,Ae=e.customSearchRule,Ne=e.checkableType,Re=e.clickParentNodeToggleExpand,Se=e.disableNodeSelect,qe=e.required,ke=e.executeOnChangeInRenderFirstValue,xe=T(e,le);var Me=j.useForceUpdate();var Ee=k((function(){return q||u()}),[q]);var De=e.hasOwnProperty("selectorTreeList");var Pe=n||{};var Oe=i||[];var Ie=x([]),_e=Ie[0],Fe=Ie[1];var Ve=G(Ee).useStore(),Ke=Ve[0],Ue=Ve[1];var ze=_.useSafeState(false),He=ze[0],Je=ze[1];var Be="request-progress-"+Ee;var Ye=ge==="highlight";var Ge=k((function(){return C({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var We=pe===undefined?"fold":pe;var Qe=me===undefined?"click":me;var Xe=M(true);var Ze=M(undefined);var $e=k((function(){return C({label:"label",value:"value"},de)}),[de]);var er=x(),rr=er[0],tr=er[1];var nr=k((function(){return Z(d,$e)}),[$e,d]);_.useEffectCustom((function(){if(Ke.treeList.length>0){if(Xe.current&&fe&&ke&&nr.length>0){var r=[];var t=[];nr.forEach((function(e){var n=Ke.treeTiledArrayMap[e];if(n){var a;t.push(n);r.push((a={},a[$e.label]=n[Ge.label],a[$e.value]=n[Ge.value],a))}}));if(J){e.onChange==null||e.onChange(r?r:undefined,t)}else{e.onChange==null||e.onChange(r?r[0]:undefined,t[0])}}if(Xe.current&&nr.length===0){Xe.current=false;if(je){Fe(Q(Ke.treeList,Ge));return}else if(he&&Ke.treeList.length){Fe([Ke.treeList[0][Ge.value]]);return}}if(nr.length>0){Xe.current=false;if(Ze.current){if(!ue(nr,Ze.current)){var n=sr(nr,true);Fe(Array.from(new Set(_e==null?void 0:_e.concat(n))))}}else{var a=sr(nr,true);Fe(Array.from(new Set(_e==null?void 0:_e.concat(a))))}}}}),[Ke.treeList,JSON.stringify(nr)]);var ar=function e(r){return r===""||a(r)};var ir=function e(r){var t=r;if(Pe.onRequestResultAdapter){t=Pe.onRequestResultAdapter(r)}else if(Ge.list){t=L(r,Ge.list,[])||[]}if(!f(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};_.useEffectCustom((function(){tr(ee)}),[ee]);var lr=j.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var u=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{Xe.current=false;Je(false);void S.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Pe.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Pe.requiredParamsKeys;n=b({},Pe.params);if(t){a=t.find((function(e){return ar(n[e])}));if(a){void Ue.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var o=function(){try{return u()}catch(e){return s(e)}};var c=function(e){try{window[Be]=false;Je(false);void Ue.changeRequestStatus({status:"request-error",errorMessage:e.message});return o()}catch(e){return s(e)}};try{Je(true);return Promise.resolve(Ue.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Be]=true;return Promise.resolve(Pe.onRequest==null?void 0:Pe.onRequest(n)).then((function(e){try{i=e;Y==null||Y(i);l=ir(i);if(l.length===0){Xe.current=false}ur(l);Je(false);window[Be]=false;return o()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){s(e)}}))}));_.useEffectCustom((function(){if(De)return;if(Oe.length){void lr();return}var e=G(Ee).getState();if(e.requestStatus==="request-success"){B==null||B(e.treeList);return}if(!window[Be]){void lr()}else{B==null||B(e.treeList)}}),Oe);_.useEffectCustom((function(){if(De){ur(l||[])}}),[l]);var ur=j.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ke.treeList.length===0){void Ue.changeRequestStatus({status:"request-success"});return}void Ue.setTreeList({treeList:e||[],childrenName:Ge.children,valueName:Ge.value});B==null||B(e)}));var sr=function e(r,t){var n=[];r.forEach((function(e){if(!t&&_e!=null&&_e.includes(e))return;var r=X(e,Ke.treeList,Ge);n=n.concat(r)}));return n};j.useUpdateEffect((function(){if(rr){var e=Ke.treeTiledArray.filter((function(e){var r=e[Ge.label]||"";if(Ae){return Ae(e,rr)}return String(r).toLowerCase().includes(rr.toLowerCase())}));var r=sr(e.map((function(e){return e[Ge.value]})),true);Fe(Array.from(new Set(r)))}else{Fe([])}}),[rr]);E(r,(function(){return{onClearSelectorList:function e(){void Ue.resetTreeList()},getTreeDataList:function e(){return Ke.treeList},getTreeTiledArray:function e(){return Ke.treeTiledArray},getTreeTiledArrayMap:function e(){return Ke.treeTiledArrayMap},onChangeExpandedKeys:function e(r){Fe(r)},onSelectAll:function e(){var r=Ke.treeTiledArray.map((function(e){return e[Ge.value]}));Fe(r);v==null||v(r,undefined,Ke.treeList,undefined)},onCancelSelectAll:function e(){Fe([]);v==null||v(undefined)},onExpandedAll:function e(){var r=Ke.treeTiledArray.map((function(e){return e[Ge.value]}));Fe(r)},onCancelExpandedAll:function e(){Fe([])},onRefresh:function e(){Me()}}}));var or=j.useCallbackRef((function(e){Fe(e)}));var cr=function r(t,n,a,i){Ze.current=s(t);if(s(t).length===0){var l=i==null?void 0:i.node[Ge.value];var u=Ke.treeTiledArrayMap[l];e.onChange==null||e.onChange(undefined,u,[u],i)}else{e.onChange==null||e.onChange(t,n,a,i)}};var dr=j.useCallbackRef((function(r,t){var n=[];var a=[];if(J){n=e.checkStrictly?r.checked:r}else{n=r;if(qe&&!s(r).length){return}if(Se){var i=Ke.treeTiledArrayMap[r[0]];var l=i?Se(i):false;if(l){return}}}n=s(n);if(!J){a=n}else{if(se&&rr&&!Ye){var u=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=nr.filter((function(e){return e!=u[Ge.value]}))}else{n=Array.from(new Set([].concat(nr,n)))}a=n}else{var o=Ne==="2"||Ne==="3"?ie(nr,Ke.treeTiledArrayMap,Ge.children,Ge.value):nr;if(t.checked==false){n=te([].concat(o),u,Ge.children,Ge.value)}else{n=Array.from(new Set([].concat(o,n)))}a=re(n,Ke.treeTiledArrayMap,Ge.children,Ge.value)}}else{a=n}if(!e.checkStrictly){if(Ne==="2"){n=ae(a,Ke.treeTiledArrayMap,Ge.children)}else if(Ne==="3"){n=ne(a,Ke.treeTiledArrayMap,Ge.children,Ge.value)}else if(U==false){n=ae(a,Ke.treeTiledArrayMap,Ge.children)}else{n=a}}}var c=a.map((function(e){return Ke.treeTiledArrayMap[e]}));if(fe){var d=$e.value;var f=$e.label;var v=n.map((function(e){var r;return r={},r[f]=Ke.treeTiledArrayMap[e][Ge.label],r[d]=Ke.treeTiledArrayMap[e][Ge.value],r}));if(J){cr(v,n.map((function(e){return Ke.treeTiledArrayMap[e]})),c,t)}else{cr(v[0],Ke.treeTiledArrayMap[n[0]],c,t)}}else{if(J){cr(n,n.map((function(e){return Ke.treeTiledArrayMap[e]})),c,t)}else{cr(n[0],Ke.treeTiledArrayMap[n[0]],c,t)}}}));var fr=j.useCallbackRef((function(e){return W==null?void 0:W(e)}));var vr=k((function(){var e=w(Ke.treeList||[]);if(rr&&ge!=="highlight"){var r=o(w(Ke.treeList||[]),(function(e){var r;if(Ae){return Ae(e,rr)}var t=(r=e[Ge.label])==null?void 0:r.toLowerCase();return t.indexOf(rr.toLowerCase())>=0}),{childrenName:Ge.children});return r}return e}),[Ae,Ge.children,Ge.label,ge,Ke.treeList,rr]);var pr=k((function(){var e=function r(t){return t==null?void 0:t.map((function(r){var t;var n=(fr==null?void 0:fr(r))||r;var a=ve?undefined:n.disabled;var i=n[Ge.label]||"";var l;if(rr&&y(i)){var u=i==null?void 0:i.toLowerCase();var s=u.indexOf(rr.toLowerCase());var o=i.substring(0,s);var c=i.slice(s+rr.length);var d=i.slice(s,s+rr.length);l=s>-1?z("span",{className:g({"v-tree-item-disabled":n.disabled}),children:[o,H("span",{className:"site-tree-search-value",children:d}),c]}):null}if(!l&&n.disabled){l=H("span",{className:g({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Ge.children];return C({},n,(t={disabled:a},t[Ge.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Ge.children]=f(v)&&v.length>0?e(v):undefined,t))}))};return e(vr)}),[vr,fr,ve,Ge.label,Ge.children,rr]);var mr=j.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o,c;if(r[Ge.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void S.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((u=e.loadDataServiceConfig)==null||u.getParams==null?void 0:u.getParams(r))||{})).then((function(n){try{o=n;c=(s=e.loadDataServiceConfig)!=null&&s.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void Ue.treeListAppendChildren({value:r[Ge.value],appendList:c,childrenName:Ge.children,valueName:Ge.value}).then((function(e){ur(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var hr=j.useCallbackRef((function(r){var t=r==null?void 0:r[Ge.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var gr=j.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Ge.label];var l=we==null?void 0:we(C({},r,(t={},t[Ge.label]=i,t)));if(l!=null&&l.operateList.length){return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),H(O,C({gap:5},l,{dropdownMenuProps:C({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:g("tree-item-title-operate",l.className)}))]})}if(We==="fold"){var u;var s=[];if((u=e.menuOptions)!=null&&u.fold){var o,c,d;s=((o=e.menuOptions)==null||(c=o[We])==null?void 0:c.call(o,C({},r,(d={},d[Ge.label]=i,d))))||[]}else{var f;s=(e.getMenuOptions==null?void 0:e.getMenuOptions(C({},r,(f={},f[Ge.label]=i,f))))||[]}return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),s.length>0&&H(I,{menuList:s,placement:"bottomRight",children:H(h,{})})]})}var v=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(C({},r,(a={},a[Ge.label]=i,a)));return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),v?H(O,C({gap:5},v,{className:g("tree-item-title-operate",v.className)})):null]})}));var yr=j.useDebounceCallback((function(r){tr(r);e.onSearchValueChange==null||e.onSearchValueChange(r)}),300);var br=j.useCallbackRef((function(e){yr(e.target.value)}));var Lr=j.useCallbackRef((function(r){if(!e.icon)return null;if(P(e.icon))return e.icon;var t=hr(r.data);return e.icon(C({},r,{isParent:!t,isLeaf:t}))}));var Cr=k((function(){return{title:Ge.label,key:Ge.value,children:Ge.children}}),[Ge]);var Tr=pr.length>0&&Ke.requestStatus!=="request-error";var jr=C({showLine:{showLeafIcon:false},titleRender:gr,blockNode:true,switcherIcon:H(m,{}),onDrop:function e(r){if(be){var t=be(r);if(!t)return}var n=$(vr,Ge,r),a=n.dataList,i=n.dragNodeData;ye==null||ye(i);ur(a)},expandedKeys:_e},xe,{fieldNames:Cr,treeData:pr,onExpand:or,loadData:e.loadDataFlag?mr:undefined,style:{width:"100%"},icon:Lr,onClick:function r(t){if(Re){var n=t.target;var i=n.dataset.value;if(a(i)){n=c.findParentsElement(t.target,(function(e){var r,t;return((r=e.classList)==null?void 0:r.contains("tree-item-title"))||((t=e.classList)==null?void 0:t.contains("ant-tree-treenode"))}));i=n.dataset.value}if(!a(i)){var l=false;if(e.loadDataFlag){l=_e.includes(i)}else{var u;var s=Ke.treeTiledArrayMap[i];if(!(s!=null&&(u=s[Ge.children])!=null&&u.length)){return}l=_e.includes(i)}if(l){var o=p.arrayRemove(_e,i);Fe([].concat(o))}else{Fe([].concat(_e,[i]))}}}}});var wr={onCheck:dr,checkable:J,checkedKeys:nr};var Ar={onSelect:dr,multiple:false,selectedKeys:nr};var Nr=J?wr:Ar;var Rr=g("v-tree-wrapper","v-tree-wrapper-menu-"+Qe,Te);var Sr=Ke.treeList.length>0&&!Tr&&rr;return z("div",{className:Rr,style:t,children:[!!se&&z("div",{className:"v-tree-wrapper-search-area",style:Ce,children:[H(F,{className:"v-tree-wrapper-search",placeholder:a(oe)?"搜索":oe,onChange:br,value:rr,allowClear:true}),!!e.searchExtraElement&&H("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),Tr?z("div",{className:"v-tree-wrapper-tree-wrapper",children:[H(A,{spinning:Ke.requestStatus==="request-progress"}),H(N,C({},Nr,jr,{className:"v-tree-wrapper-tree"}))]}):H(V,{status:Ke.requestStatus,loading:He,messageConfig:C({"request-success":Sr?"搜索结果为空":"暂无数据","request-error":Ke.requestErrorMessage},ce),errorButton:H(R,{type:"primary",onClick:lr,children:"重新获取数据"})})]})}));var oe=d(se,{getTreeDataList:W});export{oe as TreeWrapper};
16
+ import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,getUuid as u,toArray as s,treeFilter as o,dom as c,attachPropertiesToComponent as d}from"@flatbiz/utils";import{isArray as f}from"@dimjs/lang/cjs/is-array";import{Model as v}from"@dimjs/model-react";import{array as p}from"@dimjs/utils/cjs/array";import m from"@ant-design/icons/es/icons/CaretDownFilled";import h from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as g}from"@dimjs/utils/cjs/class-names";import{isString as y}from"@dimjs/lang/cjs/is-string";import{extend as b}from"@dimjs/utils/cjs/extend";import{get as C}from"@dimjs/utils/cjs/get";import{_ as L,a as T}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as j}from"@wove/react/cjs/hooks";import{cloneState as w}from"@dimjs/model";import{Spin as A,Tree as N,Button as R,message as S}from"antd";import{dequal as q}from"dequal";import{forwardRef as k,useMemo as x,useState as M,useRef as E,useImperativeHandle as D,Fragment as P,isValidElement as O}from"react";import{ButtonOperate as I}from"../button-operate/index.js";import{DropdownMenuWrapper as _}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as F}from"../fba-hooks/index.js";import{InputSearchWrapper as V}from"../input-search-wrapper/index.js";import{RequestStatus as K}from"../request-status/index.js";import{tree as U}from"@dimjs/utils/cjs/tree";import{isObject as z}from"@dimjs/lang/cjs/is-object";import{jsxs as H,jsx as J}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-853b36e6.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"../index-636a568e.js";import"../text-overflow/index.js";var B={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var Y={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(f(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:B};var G={};var W=function e(r){if(!G[r]){G[r]=v(Y)}return G[r]};var Q=function e(r){var t=W(r).getState();return t.treeList};var X=function r(t,n){var a=e(t,n.children).filter(function(e){var r=e[n.children];return r&&r.length>0}).map(function(e){return e[n.value]});return a};var Z=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter(function(e){var r=e[i.children];return r&&r.length>0}).map(function(e){return e.value})};var $=function e(r,t){var n=a(r)?[]:r;n=f(n)?n:[n];n=n.map(function(e){if(z(e))return e[t.value];return e});return n};var ee=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){c(r[a][o],t,n)}}};var d=w(r);var f;c(d,i,function(e,r,t){t.splice(r,1);f=e});if(!n.dropToGap){c(d,a,function(e){e[o]=e[o]||[];e[o].unshift(f)})}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,function(e){e[o]=e[o]||[];e[o].unshift(f)})}else{var v=[];var p;c(d,a,function(e,r,t){v=t;p=r});if(u===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:re(i,d,t)}};var re=function r(t,n,a){var i;var l=a.value;var u=a.children;U.walkThroughTree((i={},i[l]=undefined,i[u]=n,i),function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]},u);var s=e(n,u);var o=s.find(function(e){return e[l]===t});return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var te=function r(t,n,a,l){var u={};var s=[];var o=[];t.forEach(function(e){var r;if(i((r=n[e])==null?void 0:r[a])){s.push(e)}else{u[e]=e}});if(s.length>0){s.forEach(function(r){var i=e(n[r][a],a);if(Object.keys(u).length>i.length){var s=i.filter(function(e){return t.find(function(r){return r===e[l]})});if(s.length===i.length){o.push(r)}}})}return t.filter(function(e){return o.find(function(r){return r==e})||u[e]})};var ne=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter(function(e){return!i[e]})};var ae=function e(r,t,n,a){var u={};r.forEach(function(e){var r;var s=(r=t[e])==null?void 0:r[n];if(i(s)){var o=l(s,{value:a,children:n});u=L({},u,o)}});return r.filter(function(e){return!u[e]})};var ie=function e(r,t,n){return r.filter(function(e){return!i(t[e][n])})};var le=function r(t,n,a,l){var u=[].concat(t);t.forEach(function(r){var t;var s=(t=n[r])==null?void 0:t[a];if(i(s)){var o=e(s,a);u=u.concat(o.map(function(e){return e[l]}))}});return Array.from(new Set(u))};var ue=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType","clickParentNodeToggleExpand","disableNodeSelect","required","executeOnChangeInRenderFirstValue"];var se=function e(r,t){var n=r.slice().sort();var a=t.slice().sort();return JSON.stringify(n)===JSON.stringify(a)};var oe=k(function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,d=e.value,v=e.onChange,k=e.modelKey,U=e.checkableResponseParentNode,z=U===void 0?true:U,B=e.checkable,Y=e.onSelectorTreeListChange,G=e.onRequestResponseChange,Q=e.treeItemDataAdapter,re=e.searchValue,oe=e.showSearch,ce=e.searchPlaceholder,de=e.requestMessageConfig,fe=e.labelInValueFieldNames,ve=e.labelInValue,pe=e.disabledCanUse,me=e.menuLayoutType,he=e.menuTriggerType,ge=e.initRootExpand,ye=e.searchResultType,be=e.onDropNodeHandle,Ce=e.onDropPrev,Le=e.labelRender,Te=e.searchStyle,je=e.className,we=e.defaultExpandAll,Ae=e.menus,Ne=e.customSearchRule,Re=e.checkableType,Se=e.clickParentNodeToggleExpand,qe=e.disableNodeSelect,ke=e.required,xe=e.executeOnChangeInRenderFirstValue,Me=T(e,ue);var Ee=j.useForceUpdate();var De=x(function(){return k||u()},[k]);var Pe=e.hasOwnProperty("selectorTreeList");var Oe=n||{};var Ie=i||[];var _e=M([]),Fe=_e[0],Ve=_e[1];var Ke=W(De).useStore(),Ue=Ke[0],ze=Ke[1];var He=F.useSafeState(false),Je=He[0],Be=He[1];var Ye="request-progress-"+De;var Ge=ye==="highlight";var We=x(function(){return L({label:"label",value:"value",children:"children"},e.fieldNames)},[e.fieldNames]);var Qe=me===undefined?"fold":me;var Xe=he===undefined?"click":he;var Ze=E(true);var $e=E(undefined);var er=x(function(){return L({label:"label",value:"value"},fe)},[fe]);var rr=M(),tr=rr[0],nr=rr[1];var ar=x(function(){return $(d,er)},[er,d]);F.useEffectCustom(function(){if(Ue.treeList.length>0){if(Ze.current&&ve&&xe&&ar.length>0){var r=[];var t=[];ar.forEach(function(e){var n=Ue.treeTiledArrayMap[e];if(n){var a;t.push(n);r.push((a={},a[er.label]=n[We.label],a[er.value]=n[We.value],a))}});if(B){e.onChange==null||e.onChange(r?r:undefined,t)}else{e.onChange==null||e.onChange(r?r[0]:undefined,t[0])}}if(Ze.current&&ar.length===0){Ze.current=false;if(we){Ve(X(Ue.treeList,We));return}else if(ge&&Ue.treeList.length){Ve([Ue.treeList[0][We.value]]);return}}if(ar.length>0){Ze.current=false;if($e.current){if(!se(ar,$e.current)){var n=or(ar,true);Ve(Array.from(new Set(Fe==null?void 0:Fe.concat(n))))}}else{var a=or(ar,true);Ve(Array.from(new Set(Fe==null?void 0:Fe.concat(a))))}}}},[Ue.treeList,JSON.stringify(ar)]);var ir=function e(r){return r===""||a(r)};var lr=function e(r){var t=r;if(Oe.onRequestResultAdapter){t=Oe.onRequestResultAdapter(r)}else if(We.list){t=C(r,We.list,[])||[]}if(!f(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};F.useEffectCustom(function(){nr(re)},[re]);var ur=j.useCallbackRef(function(){return new Promise(function(e,r){var t,n,a,i,l;var u=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{Ze.current=false;Be(false);void S.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Oe.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Oe.requiredParamsKeys;n=b({},Oe.params);if(t){a=t.find(function(e){return ir(n[e])});if(a){void ze.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var o=function(){try{return u()}catch(e){return s(e)}};var c=function(e){try{window[Ye]=false;Be(false);void ze.changeRequestStatus({status:"request-error",errorMessage:e.message});return o()}catch(e){return s(e)}};try{Be(true);return Promise.resolve(ze.changeRequestStatus({status:"request-progress"})).then(function(e){try{window[Ye]=true;return Promise.resolve(Oe.onRequest==null?void 0:Oe.onRequest(n)).then(function(e){try{i=e;G==null||G(i);l=lr(i);if(l.length===0){Ze.current=false}sr(l);Be(false);window[Ye]=false;return o()}catch(e){return c(e)}},c)}catch(e){return c(e)}},c)}catch(e){c(e)}}catch(e){s(e)}})});j.useCustomCompareEffect(function(){if(Pe)return;if(Ie.length){void ur();return}var e=W(De).getState();if(e.requestStatus==="request-success"){Y==null||Y(e.treeList);return}if(!window[Ye]){void ur()}else{Y==null||Y(e.treeList)}},Ie,q);F.useEffectCustom(function(){if(Pe){sr(l||[])}},[l]);var sr=j.useCallbackRef(function(e){if((e==null?void 0:e.length)===0&&Ue.treeList.length===0){void ze.changeRequestStatus({status:"request-success"});return}void ze.setTreeList({treeList:e||[],childrenName:We.children,valueName:We.value});Y==null||Y(e)});var or=function e(r,t){var n=[];r.forEach(function(e){if(!t&&Fe!=null&&Fe.includes(e))return;var r=Z(e,Ue.treeList,We);n=n.concat(r)});return n};j.useUpdateEffect(function(){if(tr){var e=Ue.treeTiledArray.filter(function(e){var r=e[We.label]||"";if(Ne){return Ne(e,tr)}return String(r).toLowerCase().includes(tr.toLowerCase())});var r=or(e.map(function(e){return e[We.value]}),true);Ve(Array.from(new Set(r)))}else{Ve([])}},[tr]);D(r,function(){return{onClearSelectorList:function e(){void ze.resetTreeList()},getTreeDataList:function e(){return Ue.treeList},getTreeTiledArray:function e(){return Ue.treeTiledArray},getTreeTiledArrayMap:function e(){return Ue.treeTiledArrayMap},onChangeExpandedKeys:function e(r){Ve(r)},onSelectAll:function e(){var r=Ue.treeTiledArray.map(function(e){return e[We.value]});Ve(r);v==null||v(r,undefined,Ue.treeList,undefined)},onCancelSelectAll:function e(){Ve([]);v==null||v(undefined)},onExpandedAll:function e(){var r=Ue.treeTiledArray.map(function(e){return e[We.value]});Ve(r)},onCancelExpandedAll:function e(){Ve([])},onRefresh:function e(){Ee()}}});var cr=j.useCallbackRef(function(e){Ve(e)});var dr=function r(t,n,a,i){$e.current=s(t);if(s(t).length===0){var l=i==null?void 0:i.node[We.value];var u=Ue.treeTiledArrayMap[l];e.onChange==null||e.onChange(undefined,u,[u],i)}else{e.onChange==null||e.onChange(t,n,a,i)}};var fr=j.useCallbackRef(function(r,t){var n=[];var a=[];if(B){n=e.checkStrictly?r.checked:r}else{n=r;if(ke&&!s(r).length){return}if(qe){var i=Ue.treeTiledArrayMap[r[0]];var l=i?qe(i):false;if(l){return}}}n=s(n);if(!B){a=n}else{if(oe&&tr&&!Ge){var u=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=ar.filter(function(e){return e!=u[We.value]})}else{n=Array.from(new Set([].concat(ar,n)))}a=n}else{var o=Re==="2"||Re==="3"?le(ar,Ue.treeTiledArrayMap,We.children,We.value):ar;if(t.checked==false){n=ne([].concat(o),u,We.children,We.value)}else{n=Array.from(new Set([].concat(o,n)))}a=te(n,Ue.treeTiledArrayMap,We.children,We.value)}}else{a=n}if(!e.checkStrictly){if(Re==="2"){n=ie(a,Ue.treeTiledArrayMap,We.children)}else if(Re==="3"){n=ae(a,Ue.treeTiledArrayMap,We.children,We.value)}else if(z==false){n=ie(a,Ue.treeTiledArrayMap,We.children)}else{n=a}}}var c=a.map(function(e){return Ue.treeTiledArrayMap[e]});if(ve){var d=er.value;var f=er.label;var v=n.map(function(e){var r;return r={},r[f]=Ue.treeTiledArrayMap[e][We.label],r[d]=Ue.treeTiledArrayMap[e][We.value],r});if(B){dr(v,n.map(function(e){return Ue.treeTiledArrayMap[e]}),c,t)}else{dr(v[0],Ue.treeTiledArrayMap[n[0]],c,t)}}else{if(B){dr(n,n.map(function(e){return Ue.treeTiledArrayMap[e]}),c,t)}else{dr(n[0],Ue.treeTiledArrayMap[n[0]],c,t)}}});var vr=j.useCallbackRef(function(e){return Q==null?void 0:Q(e)});var pr=x(function(){var e=w(Ue.treeList||[]);if(tr&&ye!=="highlight"){var r=o(w(Ue.treeList||[]),function(e){var r;if(Ne){return Ne(e,tr)}var t=(r=e[We.label])==null?void 0:r.toLowerCase();return t.indexOf(tr.toLowerCase())>=0},{childrenName:We.children});return r}return e},[Ne,We.children,We.label,ye,Ue.treeList,tr]);var mr=x(function(){var e=function r(t){return t==null?void 0:t.map(function(r){var t;var n=(vr==null?void 0:vr(r))||r;var a=pe?undefined:n.disabled;var i=n[We.label]||"";var l;if(tr&&y(i)){var u=i==null?void 0:i.toLowerCase();var s=u.indexOf(tr.toLowerCase());var o=i.substring(0,s);var c=i.slice(s+tr.length);var d=i.slice(s,s+tr.length);l=s>-1?H("span",{className:g({"v-tree-item-disabled":n.disabled}),children:[o,J("span",{className:"site-tree-search-value",children:d}),c]}):null}if(!l&&n.disabled){l=J("span",{className:g({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[We.children];return L({},n,(t={disabled:a},t[We.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[We.children]=f(v)&&v.length>0?e(v):undefined,t))})};return e(pr)},[pr,vr,pe,We.label,We.children,tr]);var hr=j.useCallbackRef(function(r){return new Promise(function(t,n){return new Promise(function(a,i){var l,u,s,o,c;if(r[We.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void S.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((u=e.loadDataServiceConfig)==null||u.getParams==null?void 0:u.getParams(r))||{})).then(function(n){try{o=n;c=(s=e.loadDataServiceConfig)!=null&&s.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void ze.treeListAppendChildren({value:r[We.value],appendList:c,childrenName:We.children,valueName:We.value}).then(function(e){sr(e.treeList);t()});return d()}catch(e){return f(e)}},f)}catch(e){f(e)}})})});var gr=j.useCallbackRef(function(r){var t=r==null?void 0:r[We.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i});var yr=j.useCallbackRef(function(r){var t,n,a;var i=r._treeItemName||r[We.label];var l=Ae==null?void 0:Ae(L({},r,(t={},t[We.label]=i,t)));if(l!=null&&l.operateList.length){return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),J(I,L({gap:5},l,{dropdownMenuProps:L({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:g("tree-item-title-operate",l.className)}))]})}if(Qe==="fold"){var u;var s=[];if((u=e.menuOptions)!=null&&u.fold){var o,c,d;s=((o=e.menuOptions)==null||(c=o[Qe])==null?void 0:c.call(o,L({},r,(d={},d[We.label]=i,d))))||[]}else{var f;s=(e.getMenuOptions==null?void 0:e.getMenuOptions(L({},r,(f={},f[We.label]=i,f))))||[]}return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),s.length>0&&J(_,{menuList:s,placement:"bottomRight",children:J(h,{})})]})}var v=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(L({},r,(a={},a[We.label]=i,a)));return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),v?J(I,L({gap:5},v,{className:g("tree-item-title-operate",v.className)})):null]})});var br=j.useDebounceCallback(function(r){nr(r);e.onSearchValueChange==null||e.onSearchValueChange(r)},300);var Cr=j.useCallbackRef(function(e){br(e.target.value)});var Lr=j.useCallbackRef(function(r){if(!e.icon)return null;if(O(e.icon))return e.icon;var t=gr(r.data);return e.icon(L({},r,{isParent:!t,isLeaf:t}))});var Tr=x(function(){return{title:We.label,key:We.value,children:We.children}},[We]);var jr=mr.length>0&&Ue.requestStatus!=="request-error";var wr=L({showLine:{showLeafIcon:false},titleRender:yr,blockNode:true,switcherIcon:J(m,{}),onDrop:function e(r){if(Ce){var t=Ce(r);if(!t)return}var n=ee(pr,We,r),a=n.dataList,i=n.dragNodeData;be==null||be(i);sr(a)},expandedKeys:Fe},Me,{fieldNames:Tr,treeData:mr,onExpand:cr,loadData:e.loadDataFlag?hr:undefined,style:{width:"100%"},icon:Lr,onClick:function r(t){if(Se){var n=t.target;var i=n.dataset.value;if(a(i)){n=c.findParentsElement(t.target,function(e){var r,t;return((r=e.classList)==null?void 0:r.contains("tree-item-title"))||((t=e.classList)==null?void 0:t.contains("ant-tree-treenode"))});i=n.dataset.value}if(!a(i)){var l=false;if(e.loadDataFlag){l=Fe.includes(i)}else{var u;var s=Ue.treeTiledArrayMap[i];if(!(s!=null&&(u=s[We.children])!=null&&u.length)){return}l=Fe.includes(i)}if(l){var o=p.arrayRemove(Fe,i);Ve([].concat(o))}else{Ve([].concat(Fe,[i]))}}}}});var Ar={onCheck:fr,checkable:B,checkedKeys:ar};var Nr={onSelect:fr,multiple:false,selectedKeys:ar};var Rr=B?Ar:Nr;var Sr=g("v-tree-wrapper","v-tree-wrapper-menu-"+Xe,je);var qr=Ue.treeList.length>0&&!jr&&tr;return H("div",{className:Sr,style:t,children:[!!oe&&H("div",{className:"v-tree-wrapper-search-area",style:Te,children:[J(V,{className:"v-tree-wrapper-search",placeholder:a(ce)?"搜索":ce,onChange:Cr,value:tr,allowClear:true}),!!e.searchExtraElement&&J("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),jr?H("div",{className:"v-tree-wrapper-tree-wrapper",children:[J(A,{spinning:Ue.requestStatus==="request-progress"}),J(N,L({},Rr,wr,{className:"v-tree-wrapper-tree"}))]}):J(K,{status:Ue.requestStatus,loading:Je,messageConfig:L({"request-success":qr?"搜索结果为空":"暂无数据","request-error":Ue.requestErrorMessage},de),errorButton:J(R,{type:"primary",onClick:ur,children:"重新获取数据"})})]})});var ce=d(oe,{getTreeDataList:Q});export{ce as TreeWrapper};
17
17
  //# sourceMappingURL=index.js.map