@flatbiz/antd 5.0.17 → 5.0.19

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 (52) hide show
  1. package/dist/button-operate/index.d.ts +6 -2
  2. package/dist/button-operate/index.js +2 -2
  3. package/dist/{button-operate-C7NGikli.js → button-operate-3J_ml0DO.js} +19 -11
  4. package/dist/button-operate-3J_ml0DO.js.map +1 -0
  5. package/dist/{cell-render-D4e6I9eI.js → cell-render-ZmpHDPNW.js} +2 -2
  6. package/dist/{cell-render-D4e6I9eI.js.map → cell-render-ZmpHDPNW.js.map} +1 -1
  7. package/dist/dialog-modal-xt2uoEa-.js.map +1 -1
  8. package/dist/dialog-preview-image/index.css +0 -0
  9. package/dist/dialog-preview-image/index.d.ts +12 -0
  10. package/dist/dialog-preview-image/index.js +17 -0
  11. package/dist/dialog-preview-image/index.js.map +1 -0
  12. package/dist/{drag-CSVvyXEN.js → drag-CpN8Syvu.js} +2 -2
  13. package/dist/{drag-CSVvyXEN.js.map → drag-CpN8Syvu.js.map} +1 -1
  14. package/dist/drag-editable-table/index.css +1 -1
  15. package/dist/drag-editable-table/index.d.ts +10 -0
  16. package/dist/drag-editable-table/index.js +6 -5
  17. package/dist/easy-table/index.js +5 -1
  18. package/dist/easy-table/index.js.map +1 -1
  19. package/dist/editable-table/index.css +1 -1
  20. package/dist/editable-table/index.d.ts +10 -0
  21. package/dist/editable-table/index.js +5 -4
  22. package/dist/{editable-table-BDjZl2ZY.js → editable-table-B79C_CpN.js} +3 -3
  23. package/dist/{editable-table-BDjZl2ZY.js.map → editable-table-B79C_CpN.js.map} +1 -1
  24. package/dist/index.d.ts +26 -2
  25. package/dist/index.js +9 -7
  26. package/dist/index.js.map +1 -1
  27. package/dist/preview-image-DP4umDzQ.js +80 -0
  28. package/dist/preview-image-DP4umDzQ.js.map +1 -0
  29. package/dist/{selector-D4LbM5wD.js → selector-GXJ85l9v.js} +6 -3
  30. package/dist/{selector-D4LbM5wD.js.map → selector-GXJ85l9v.js.map} +1 -1
  31. package/dist/selector-wrapper-simple/index.js +1 -1
  32. package/dist/{selector-wrapper-simple-CRqPexg2.js → selector-wrapper-simple-BRd4QhdQ.js} +4 -2
  33. package/dist/selector-wrapper-simple-BRd4QhdQ.js.map +1 -0
  34. package/dist/table-cell-render/index.d.ts +1 -1
  35. package/dist/table-cell-render/index.js +2 -2
  36. package/dist/tree-modal/index.d.ts +1 -1
  37. package/dist/tree-modal/index.js +1 -1
  38. package/dist/tree-modal-selector/index.d.ts +1 -1
  39. package/dist/tree-modal-selector/index.js +1 -1
  40. package/dist/tree-selector-wrapper/index.js +1 -1
  41. package/dist/tree-wrapper/index.d.ts +1 -1
  42. package/dist/tree-wrapper/index.js +1 -1
  43. package/dist/upload-wrapper/index.css +1 -1
  44. package/dist/upload-wrapper/index.d.ts +11 -0
  45. package/dist/upload-wrapper/index.js +21 -1
  46. package/dist/upload-wrapper/index.js.map +1 -1
  47. package/dist/{upload-wrapper-DarS_SOE.js → upload-wrapper-CwKeqggJ.js} +30 -4
  48. package/dist/upload-wrapper-CwKeqggJ.js.map +1 -0
  49. package/package.json +5 -1
  50. package/dist/button-operate-C7NGikli.js.map +0 -1
  51. package/dist/selector-wrapper-simple-CRqPexg2.js.map +0 -1
  52. package/dist/upload-wrapper-DarS_SOE.js.map +0 -1
package/dist/index.js CHANGED
@@ -32,6 +32,7 @@ import './dialog-drawer-content/index.css';
32
32
  import './dialog-drawer/index.css';
33
33
  import './dialog-loading/index.css';
34
34
  import './dialog-modal/index.css';
35
+ import './dialog-preview-image/index.css';
35
36
  import './drag-collapse-form-list/index.css';
36
37
  import './drag-collapse/index.css';
37
38
  import './drag-editable-card/index.css';
@@ -142,7 +143,7 @@ export { A as AnchorSteps } from './anchor-steps-BQK32Pbd.js';
142
143
  export { B as BlockLayout } from './layout-OPf8eBBY.js';
143
144
  export { B as Bootstrap } from './bootstrap-BPinDEWu.js';
144
145
  export { BoxGrid, useBoxBreakpoint } from './box-grid/index.js';
145
- export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-C7NGikli.js';
146
+ export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-3J_ml0DO.js';
146
147
  export { B as ButtonWrapper } from './button-wrapper-l9FUsrWl.js';
147
148
  export { C as CardLayout } from './card-layout-BNs6jF2K.js';
148
149
  export { C as CardWrapper } from './card-wrapper-w-JbDJNk.js';
@@ -163,10 +164,11 @@ export { d as dialogDrawer } from './dialog-drawer-D7lYByyr.js';
163
164
  export { D as DialogDrawerContent } from './content-CQdbAO0t.js';
164
165
  export { d as dialogLoading } from './dialog-loading-DdKI0dnm.js';
165
166
  export { d as dialogModal } from './dialog-modal-xt2uoEa-.js';
167
+ export { d as dialogPreviewImage } from './preview-image-DP4umDzQ.js';
166
168
  export { D as DragCollapse } from './drag-collapse-wL7wIgVO.js';
167
169
  export { D as DragCollapseFormList } from './drag-collapse-DU_JhQTz.js';
168
170
  export { D as DragEditableCard } from './editable-card-Dc_9h_Qf.js';
169
- export { D as DragEditableTable } from './drag-CSVvyXEN.js';
171
+ export { D as DragEditableTable } from './drag-CpN8Syvu.js';
170
172
  export { D as DragEditableTablePro } from './drag-CBosXqSQ.js';
171
173
  export { D as DragFormList } from './drag-form-list-BGqbBKJM.js';
172
174
  export { D as DragTable } from './drag-table-By85hEGF.js';
@@ -177,7 +179,7 @@ export { EasyTable } from './easy-table/index.js';
177
179
  export { E as EditableCard } from './editable-card-D-JIgLVg.js';
178
180
  export { E as EditableField } from './editable-field-XVZ1Rqdm.js';
179
181
  export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
180
- export { E as EditableTable } from './editable-table-BDjZl2ZY.js';
182
+ export { E as EditableTable } from './editable-table-B79C_CpN.js';
181
183
  export { E as EditableTablePro } from './editable-table-pro-D8Vt535W.js';
182
184
  export { E as ErrorBoundaryWrapper } from './error-boundary-DtShAEtQ.js';
183
185
  export { FbaApp } from './fba-app/index.js';
@@ -227,7 +229,7 @@ export { S as SearchForm } from './search-cwSkh4xF.js';
227
229
  export { S as SearchMenu } from './search-menu-mRPEczbZ.js';
228
230
  export { S as SelectorWrapper } from './selector-wrapper-DM2jRdkd.js';
229
231
  export { S as SelectorWrapperSearch } from './selector-wrapper-search-CbRevSdB.js';
230
- export { S as SelectorWrapperSimple } from './selector-wrapper-simple-CRqPexg2.js';
232
+ export { S as SelectorWrapperSimple } from './selector-wrapper-simple-BRd4QhdQ.js';
231
233
  export { S as SimpleLayout } from './simple-layout-mSolkIZ5.js';
232
234
  export { S as SmsCountDown } from './sms-count-down-DI31OzNh.js';
233
235
  export { S as SplitWrapper } from './split-RLM37DOW.js';
@@ -235,7 +237,7 @@ export { styles } from './styles/index.js';
235
237
  export { S as SvgHttpView } from './svg-DXIM5sfc.js';
236
238
  export { S as SwitchConfirmWrapper } from './switch-confirm-wrapper-BW9G4u03.js';
237
239
  export { S as SwitchWrapper } from './switch-wrapper-CfxaLAKg.js';
238
- export { t as tableCellRender } from './cell-render-D4e6I9eI.js';
240
+ export { t as tableCellRender } from './cell-render-ZmpHDPNW.js';
239
241
  export { T as TableScrollbar } from './table-scrollbar-CBqQ4pYQ.js';
240
242
  export { T as TableTitleTooltip } from './title-render-DGYUo6yV.js';
241
243
  export { T as TabsSticky } from './tabs-CbMuUsXN.js';
@@ -253,10 +255,10 @@ export { T as TipsTitle } from './tips-title-DWwc8kJv.js';
253
255
  export { T as TipsWrapper } from './tips-wrapper-Bf9nfZq3.js';
254
256
  export { TreeModal } from './tree-modal/index.js';
255
257
  export { T as TreeModalSelector } from './selector-dbYimxeI.js';
256
- export { T as TreeSelectorWrapper } from './selector-D4LbM5wD.js';
258
+ export { T as TreeSelectorWrapper } from './selector-GXJ85l9v.js';
257
259
  export { TreeWrapper } from './tree-wrapper/index.js';
258
260
  export { types } from './types/index.js';
259
- export { U as UploadWrapper } from './upload-wrapper-DarS_SOE.js';
261
+ export { U as UploadWrapper } from './upload-wrapper-CwKeqggJ.js';
260
262
  export { X as XMindPreview } from './x-mind-preview-BxHDc_lA.js';
261
263
  import './_rollupPluginBabelHelpers-BYm17lo8.js';
262
264
  import '@dimjs/utils/class-names/class-names';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,80 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+
3
+ import { isString } from '@dimjs/lang/is-string';
4
+ import { b as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-BYm17lo8.js';
5
+ import { hooks } from '@wove/react/hooks';
6
+ import { useState, Fragment } from 'react';
7
+ import { createRoot } from 'react-dom/client';
8
+ import { Image } from 'antd';
9
+ import { dom } from '@flatbiz/utils';
10
+ import { fbaHooks } from './fba-hooks/index.js';
11
+ import { jsx } from 'react/jsx-runtime';
12
+
13
+ var ModalRender = function ModalRender(props) {
14
+ var _useState = useState(true),
15
+ _useState2 = _slicedToArray(_useState, 2),
16
+ open = _useState2[0],
17
+ setOpen = _useState2[1];
18
+ var elementId = props.elementId;
19
+ var onClose = hooks.useCallbackRef(function () {
20
+ try {
21
+ delete window[elementId];
22
+ } catch (_error) {
23
+ //
24
+ }
25
+ setOpen(false);
26
+ });
27
+ fbaHooks.useEffectCustom(function () {
28
+ window[elementId] = onClose;
29
+ }, [onClose]);
30
+ return /*#__PURE__*/jsx(Fragment, {
31
+ children: /*#__PURE__*/jsx(Image, {
32
+ wrapperStyle: {
33
+ display: 'none'
34
+ },
35
+ preview: {
36
+ visible: !!open,
37
+ onVisibleChange: function onVisibleChange() {
38
+ return setOpen(false);
39
+ },
40
+ afterOpenChange: function afterOpenChange(visible) {
41
+ return !visible && setOpen(false);
42
+ }
43
+ },
44
+ src: props.imageUrl
45
+ })
46
+ });
47
+ };
48
+
49
+ /** 图片预览 */
50
+ var dialogPreviewImage = {
51
+ show: function show(props) {
52
+ var _dom$bodyAppendDivEle = dom.bodyAppendDivElement(),
53
+ divElement = _dom$bodyAppendDivEle.divElement,
54
+ elementId = _dom$bodyAppendDivEle.elementId;
55
+ window['__dialog_preview_elementId'] = elementId;
56
+ var root = createRoot(divElement);
57
+ root.render(/*#__PURE__*/jsx(ModalRender, _objectSpread2(_objectSpread2({}, props), {}, {
58
+ divElement: divElement,
59
+ elementId: elementId
60
+ })));
61
+ return {
62
+ close: function close() {
63
+ var _elementId, _ref;
64
+ (_elementId = (_ref = window)[elementId]) === null || _elementId === void 0 || _elementId.call(_ref);
65
+ }
66
+ };
67
+ },
68
+ hiden: function hiden() {
69
+ try {
70
+ var _window$elementId, _window;
71
+ var elementId = window['__dialog_preview_elementId'];
72
+ if (isString(elementId)) (_window$elementId = (_window = window)[elementId]) === null || _window$elementId === void 0 || _window$elementId.call(_window);
73
+ } catch (_error) {
74
+ //
75
+ }
76
+ }
77
+ };
78
+
79
+ export { dialogPreviewImage as d };
80
+ //# sourceMappingURL=preview-image-DP4umDzQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-image-DP4umDzQ.js","sources":["@flatbiz/antd/src/dialog-preview-image/preview-image.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Image } from 'antd';\nimport { isString } from '@dimjs/lang';\nimport type { BodyAppendDivElementProps } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\n\nexport type DialogPreviewImageProps = {\n imageUrl: string;\n};\n\nconst ModalRender = (\n props: BodyAppendDivElementProps & DialogPreviewImageProps\n) => {\n const [open, setOpen] = useState(true);\n const elementId = props.elementId;\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n (window as any)[elementId] = onClose;\n }, [onClose]);\n\n return (\n <Fragment>\n <Image\n wrapperStyle={{ display: 'none' }}\n preview={{\n visible: !!open,\n onVisibleChange: () => setOpen(false),\n afterOpenChange: (visible) => !visible && setOpen(false),\n }}\n src={props.imageUrl}\n />\n </Fragment>\n );\n};\n\n/** 图片预览 */\nexport const dialogPreviewImage = {\n show: (props: DialogPreviewImageProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_preview_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(\n <ModalRender {...props} divElement={divElement} elementId={elementId} />\n );\n return {\n close: () => {\n (window as any)[elementId]?.();\n },\n };\n },\n hiden: () => {\n try {\n const elementId = window['__dialog_preview_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_useState","useState","_useState2","_slicedToArray","open","setOpen","elementId","onClose","_hooks","useCallbackRef","window","_error","fbaHooks","useEffectCustom","_jsx","Fragment","children","Image","wrapperStyle","display","preview","visible","onVisibleChange","afterOpenChange","src","imageUrl","dialogPreviewImage","show","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","divElement","root","createRoot","render","_objectSpread","close","_elementId","_ref","call","hiden","_window$elementId","_window","_isString"],"mappings":"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"}
@@ -359,10 +359,13 @@ var TreeSelectorWrapper = function TreeSelectorWrapper(props) {
359
359
  onChange === null || onChange === void 0 || onChange(resultItemList[0], resultItemList[0], triggerInfo);
360
360
  }
361
361
  } else {
362
+ var _resultItemList = resultValueList.map(function (item) {
363
+ return state.treeSelectorTiledMap[item];
364
+ });
362
365
  if (isMultiple) {
363
- onChange === null || onChange === void 0 || onChange(resultValueList, resultValueList, triggerInfo);
366
+ onChange === null || onChange === void 0 || onChange(resultValueList, _resultItemList, triggerInfo);
364
367
  } else {
365
- onChange === null || onChange === void 0 || onChange(resultValueList[0], resultValueList[0], triggerInfo);
368
+ onChange === null || onChange === void 0 || onChange(resultValueList[0], _resultItemList[0], triggerInfo);
366
369
  }
367
370
  }
368
371
  });
@@ -450,4 +453,4 @@ var TreeSelectorWrapper = function TreeSelectorWrapper(props) {
450
453
  };
451
454
 
452
455
  export { TreeSelectorWrapper as T };
453
- //# sourceMappingURL=selector-D4LbM5wD.js.map
456
+ //# sourceMappingURL=selector-GXJ85l9v.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selector-D4LbM5wD.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 type { TreeSelectProps } from 'antd';\nimport type { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport type { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport type { TRequestStatus } from '../request-status/index.js';\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<\n string,\n API<ModelType<ModelState, ModelActionParams, TAny>>\n> = {};\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 { type DependencyList, useMemo, useRef, useState } from 'react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n type TAny,\n toArray,\n type TPlainObject,\n treeToArray,\n treeToTiledMap,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport {\n RequestStatus,\n type TRequestStatusProps,\n} from '../request-status/index.js';\nimport { treeSelectorWrapperModel } from './model.js';\nimport { getExpandedKeysByValues } from './utils.js';\nimport './style.less';\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> & {\n modelKey: string;\n fieldNames?: {\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?: (\n treeSelectorList?: TreeSelectProps['treeData']\n ) => 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// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\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 ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(\n props,\n 'treeSelectorList'\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(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\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 = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (\n labelInValue\n ? item[labelInValueFieldNamesMerge.value]\n : item[fieldNamesMerge.value]\n ) as string | number;\n }\n return item as string | number;\n });\n }, [\n fieldNamesMerge.value,\n labelInValue,\n labelInValueFieldNamesMerge.value,\n props.value,\n ]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\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) =>\n state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as\n | string\n | 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 } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(\n propsPureValue,\n state.treeSelectorTiledMap\n );\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const result = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n )\n : respData;\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(\n `TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`\n );\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(\n _respData\n ) 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(modelKey).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(\n (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(\n [target],\n fieldNamesMerge.children\n ).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 if (isMultiple) {\n onChange?.(resultValueList, resultValueList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultValueList[0], triggerInfo);\n }\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(\n targetKeyList,\n state.treeSelectorTiledMap\n );\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(\n 'v-tree-select-wrapper-dropdown',\n otherProps.popupClassName\n )}\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","_toConsumableArray","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutProperties","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","_slicedToArray","loading","setLoading","_useState","useState","_useState2","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","_treeSelectorWrapperM2","requestPreKey","concat","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_objectSpread","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState3","_useState4","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_newServiceConfig$onR","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","tempItem","_defineProperty","undefined","newdataList","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","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":"selector-GXJ85l9v.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 type { TreeSelectProps } from 'antd';\nimport type { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport type { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport type { TRequestStatus } from '../request-status/index.js';\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<\n string,\n API<ModelType<ModelState, ModelActionParams, TAny>>\n> = {};\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 { type DependencyList, useMemo, useRef, useState } from 'react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n type TAny,\n toArray,\n type TPlainObject,\n treeToArray,\n treeToTiledMap,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport {\n RequestStatus,\n type TRequestStatusProps,\n} from '../request-status/index.js';\nimport { treeSelectorWrapperModel } from './model.js';\nimport { getExpandedKeysByValues } from './utils.js';\nimport './style.less';\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> & {\n modelKey: string;\n fieldNames?: {\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?: (\n treeSelectorList?: TreeSelectProps['treeData']\n ) => 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// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\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 ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(\n props,\n 'treeSelectorList'\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(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\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 = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (\n labelInValue\n ? item[labelInValueFieldNamesMerge.value]\n : item[fieldNamesMerge.value]\n ) as string | number;\n }\n return item as string | number;\n });\n }, [\n fieldNamesMerge.value,\n labelInValue,\n labelInValueFieldNamesMerge.value,\n props.value,\n ]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\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) =>\n state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as\n | string\n | 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 } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(\n propsPureValue,\n state.treeSelectorTiledMap\n );\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const result = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n )\n : respData;\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(\n `TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`\n );\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(\n _respData\n ) 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(modelKey).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(\n (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(\n [target],\n fieldNamesMerge.children\n ).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\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(\n targetKeyList,\n state.treeSelectorTiledMap\n );\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(\n 'v-tree-select-wrapper-dropdown',\n otherProps.popupClassName\n )}\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","_toConsumableArray","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutProperties","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","_slicedToArray","loading","setLoading","_useState","useState","_useState2","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","_treeSelectorWrapperM2","requestPreKey","concat","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_objectSpread","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState3","_useState4","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_newServiceConfig$onR","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","tempItem","_defineProperty","undefined","newdataList","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","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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"}
@@ -4,7 +4,7 @@ import './../request-status/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
6
 
7
- export { S as SelectorWrapperSimple } from '../selector-wrapper-simple-CRqPexg2.js';
7
+ export { S as SelectorWrapperSimple } from '../selector-wrapper-simple-BRd4QhdQ.js';
8
8
  import '@ant-design/icons/es/icons/RedoOutlined.js';
9
9
  import '../_rollupPluginBabelHelpers-BYm17lo8.js';
10
10
  import '@dimjs/lang/is-array';
@@ -118,7 +118,9 @@ var SelectorWrapperSimple = function SelectorWrapperSimple(props) {
118
118
  void startDataSourceRequest();
119
119
  }, []);
120
120
  var loading = requestStatus === 'request-progress';
121
- return /*#__PURE__*/jsx(Select, _objectSpread2(_objectSpread2({}, otherProps), {}, {
121
+ return /*#__PURE__*/jsx(Select, _objectSpread2(_objectSpread2({
122
+ optionFilterProp: "label"
123
+ }, otherProps), {}, {
122
124
  style: _objectSpread2({
123
125
  width: '100%'
124
126
  }, props.style),
@@ -142,4 +144,4 @@ var SelectorWrapperSimple = function SelectorWrapperSimple(props) {
142
144
  };
143
145
 
144
146
  export { SelectorWrapperSimple as S };
145
- //# sourceMappingURL=selector-wrapper-simple-CRqPexg2.js.map
147
+ //# sourceMappingURL=selector-wrapper-simple-BRd4QhdQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-wrapper-simple-BRd4QhdQ.js","sources":["@flatbiz/antd/src/selector-wrapper-simple/selector-wrapper-simple.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport type { SelectProps } from 'antd';\nimport { Button, Select } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport type { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/index.js';\nimport { RequestStatus } from '../request-status/index.js';\n\nexport type SelectorWrapperSimpleServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSimpleProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: {\n label: string;\n value: string;\n disabled?: string;\n list?: string;\n };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSimpleServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 通过服务获取数据异常回调\n */\n onSelectorRequestError?: (error: Error) => void;\n\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 不支持search效果\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSimple = (props: SelectorWrapperSimpleProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] =\n useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async () => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceParams);\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField],\n };\n });\n }\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error: TAny) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n optionFilterProp=\"label\"\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSimple","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","requestStatus","setRequestStatus","_useState3","_useState4","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","Promise","$return","$error","_serviceConfig$onRequ","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","call","then","$await_2","map","item","_objectSpread","unshift","fbaHooks","useEffectCustom","loading","_jsx","Select","optionFilterProp","style","width","options","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
113
113
  style?: CSSProperties;
114
114
  /**
115
115
  * 如果数组中元素为ReactElement类型
116
- * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
116
+ * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
117
117
  * 2. 可配置 v-permission 权限值,例如 v-permission="add"
118
118
  * 3. 任何confirm、disabled等状态在外部控制
119
119
  * 3. 不支持fold效果
@@ -7,7 +7,7 @@ import './../tag-list-render/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
9
 
10
- export { t as tableCellRender } from '../cell-render-D4e6I9eI.js';
10
+ export { t as tableCellRender } from '../cell-render-ZmpHDPNW.js';
11
11
  import '@dimjs/lang/is-string';
12
12
  import '@dimjs/lang/is-object';
13
13
  import '@dimjs/utils/get/get';
@@ -17,7 +17,7 @@ import '@dimjs/lang/is-empty';
17
17
  import 'react';
18
18
  import 'antd';
19
19
  import '@flatbiz/utils';
20
- import '../button-operate-C7NGikli.js';
20
+ import '../button-operate-3J_ml0DO.js';
21
21
  import '@ant-design/icons/es/icons/MoreOutlined.js';
22
22
  import '@dimjs/lang/is-undefined';
23
23
  import '@dimjs/utils/class-names/class-names';
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
113
113
  style?: CSSProperties;
114
114
  /**
115
115
  * 如果数组中元素为ReactElement类型
116
- * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
116
+ * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
117
117
  * 2. 可配置 v-permission 权限值,例如 v-permission="add"
118
118
  * 3. 任何confirm、disabled等状态在外部控制
119
119
  * 3. 不支持fold效果
@@ -40,7 +40,7 @@ import '@ant-design/icons/es/icons/MoreOutlined.js';
40
40
  import '@dimjs/utils/extend/extend';
41
41
  import '@dimjs/utils/get/get';
42
42
  import '@dimjs/model';
43
- import '../button-operate-C7NGikli.js';
43
+ import '../button-operate-3J_ml0DO.js';
44
44
  import '@dimjs/lang/is-plain-object';
45
45
  import '@dimjs/lang/is-promise';
46
46
  import '../button-wrapper-l9FUsrWl.js';
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
113
113
  style?: CSSProperties;
114
114
  /**
115
115
  * 如果数组中元素为ReactElement类型
116
- * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
116
+ * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
117
117
  * 2. 可配置 v-permission 权限值,例如 v-permission="add"
118
118
  * 3. 任何confirm、disabled等状态在外部控制
119
119
  * 3. 不支持fold效果
@@ -43,7 +43,7 @@ import '@ant-design/icons/es/icons/MoreOutlined.js';
43
43
  import '@dimjs/utils/extend/extend';
44
44
  import '@dimjs/utils/get/get';
45
45
  import '@dimjs/model';
46
- import '../button-operate-C7NGikli.js';
46
+ import '../button-operate-3J_ml0DO.js';
47
47
  import '@dimjs/lang/is-plain-object';
48
48
  import '@dimjs/lang/is-promise';
49
49
  import '../button-wrapper-l9FUsrWl.js';
@@ -4,7 +4,7 @@ import './../request-status/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
6
 
7
- export { T as TreeSelectorWrapper } from '../selector-D4LbM5wD.js';
7
+ export { T as TreeSelectorWrapper } from '../selector-GXJ85l9v.js';
8
8
  import '@ant-design/icons/es/icons/RedoOutlined.js';
9
9
  import '@dimjs/utils/class-names/class-names';
10
10
  import '@ant-design/icons/es/icons/CaretDownFilled.js';
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
113
113
  style?: CSSProperties;
114
114
  /**
115
115
  * 如果数组中元素为ReactElement类型
116
- * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
116
+ * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
117
117
  * 2. 可配置 v-permission 权限值,例如 v-permission="add"
118
118
  * 3. 任何confirm、disabled等状态在外部控制
119
119
  * 3. 不支持fold效果
@@ -22,7 +22,7 @@ import { get } from '@dimjs/utils/get/get';
22
22
  import { forwardRef, useState, useMemo, useRef, useImperativeHandle, Fragment, isValidElement } from 'react';
23
23
  import { Spin, Tree, Button, message } from 'antd';
24
24
  import { cloneState } from '@dimjs/model';
25
- import { a as ButtonOperate } from '../button-operate-C7NGikli.js';
25
+ import { a as ButtonOperate } from '../button-operate-3J_ml0DO.js';
26
26
  import { D as DropdownMenuWrapper } from '../dropdown-menu-wrapper-CSzVvlcO.js';
27
27
  import { fbaHooks } from '../fba-hooks/index.js';
28
28
  import { I as InputSearchWrapper } from '../input-search-wrapper-wVYGWi2O.js';
@@ -1 +1 @@
1
- .v-file-upload .ant-upload-span{cursor:pointer}
1
+ .v-file-upload .ant-upload-span{cursor:pointer}.ant-upload-list-picture .v-upload-list-item-extra-actions .ant-btn-icon,.ant-upload-list-text .v-upload-list-item-extra-actions .ant-btn-icon{color:rgba(0,0,0,.45)}.ant-upload-list-picture .v-upload-list-item-extra-actions .ant-btn,.ant-upload-list-text .v-upload-list-item-extra-actions .ant-btn{height:20px;margin:0 0 0 5px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions,.ant-upload-list-text .v-upload-list-item-extra-actions{opacity:0;transition:opacity .3s}.ant-upload-list-picture-card .ant-upload-list-item:hover .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .ant-upload-list-item:hover .v-upload-list-item-extra-actions,.ant-upload-list-text .ant-upload-list-item:hover .v-upload-list-item-extra-actions{opacity:1}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .ant-upload-list-item-actions{inset-inline-start:auto!important;width:auto!important}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions{position:absolute;z-index:10}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions .ant-btn-icon,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions .ant-btn-icon{color:#fff}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-1 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-1 .ant-upload-list-item-actions{right:38px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-1 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-1 .v-upload-list-item-extra-actions{right:15px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .ant-upload-list-item-actions{left:15px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions{right:8px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions .ant-btn,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions .ant-btn{width:20px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-1 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-1 .ant-upload-list-item-actions{right:47px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-1 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-1 .v-upload-list-item-extra-actions{right:20px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-2 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-2 .ant-upload-list-item-actions{right:60px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-2 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-2 .v-upload-list-item-extra-actions{right:14px}
@@ -2,6 +2,7 @@ import { TAny, TPlainObject } from '@flatbiz/utils';
2
2
  import { UploadProps } from 'antd';
3
3
  import { UploadChangeParam } from 'antd/lib/upload';
4
4
  import { UploadFile } from 'antd/lib/upload/interface.js';
5
+ import { ReactElement } from 'react';
5
6
 
6
7
  export type UploadWrapperFileItem = {
7
8
  uid: string;
@@ -42,6 +43,16 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
42
43
  imagePreviewSwitch?: boolean;
43
44
  /** 图片预览文件类型,默认:['png', 'jpg', 'jpeg', 'gif'] */
44
45
  imagePreviewAccept?: string[];
46
+ /**
47
+ * 配置文件额外操作
48
+ * ```
49
+ * 额外操作超过两项后,listType为 picture-card、picture-circle 时会出现显示异常,需要自行修改覆盖样式
50
+ * ```
51
+ */
52
+ extraOperate?: {
53
+ icon: ReactElement;
54
+ onClick: (file: UploadFile, fileList: UploadFile[], e: any) => void;
55
+ }[];
45
56
  } & Omit<UploadProps, "onChange" | "fileList">;
46
57
  /**
47
58
  * 文件上传