@flatbiz/antd 4.2.37 → 4.2.39

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 (53) hide show
  1. package/esm/dialog-alert/index.css +1 -1
  2. package/esm/dialog-alert/index.js +1 -1
  3. package/esm/{dialog-alert-0ca83448.js → dialog-alert-96962d07.js} +2 -2
  4. package/esm/{dialog-alert-0ca83448.js.map → dialog-alert-96962d07.js.map} +1 -1
  5. package/esm/dialog-confirm/index.css +1 -1
  6. package/esm/dialog-confirm/index.js +1 -1
  7. package/esm/{dialog-confirm-b289f5ed.js → dialog-confirm-4dacc583.js} +2 -2
  8. package/esm/{dialog-confirm-b289f5ed.js.map → dialog-confirm-4dacc583.js.map} +1 -1
  9. package/esm/dialog-modal/index.css +1 -1
  10. package/esm/dialog-modal/index.js +1 -1
  11. package/esm/dialog-modal-459d2be5.js +3 -0
  12. package/esm/dialog-modal-459d2be5.js.map +1 -0
  13. package/esm/easy-table/index.js +1 -1
  14. package/esm/easy-table/index.js.map +1 -1
  15. package/esm/editable-table/index.js +5 -2
  16. package/esm/editable-table-d3afee03.js +3 -0
  17. package/esm/{editable-table-6bd8df15.js.map → editable-table-d3afee03.js.map} +1 -1
  18. package/esm/form-grid/index.js +1 -1
  19. package/esm/form-grid/index.js.map +1 -1
  20. package/esm/index.js +1 -1
  21. package/esm/selector-wrapper/index.js +1 -1
  22. package/esm/selector-wrapper-defe35d6.js +3 -0
  23. package/esm/selector-wrapper-defe35d6.js.map +1 -0
  24. package/esm/selector-wrapper-search/index.js +1 -1
  25. package/esm/selector-wrapper-search-228c96c5.js +3 -0
  26. package/esm/selector-wrapper-search-228c96c5.js.map +1 -0
  27. package/esm/selector-wrapper-simple/index.js +1 -1
  28. package/esm/selector-wrapper-simple-c51eba69.js +3 -0
  29. package/esm/selector-wrapper-simple-c51eba69.js.map +1 -0
  30. package/esm/simple-layout/index.css +1 -1
  31. package/esm/tree-wrapper/index.js +3 -3
  32. package/esm/tree-wrapper/index.js.map +1 -1
  33. package/esm/types/index.js +1 -0
  34. package/esm/types/index.js.map +1 -1
  35. package/esm/upload-wrapper/index.js +1 -1
  36. package/esm/upload-wrapper-df8a2277.js +3 -0
  37. package/esm/upload-wrapper-df8a2277.js.map +1 -0
  38. package/index.d.ts +109 -92
  39. package/index.js +1 -1
  40. package/package.json +3 -3
  41. package/esm/dialog-modal-225b0fe0.js +0 -3
  42. package/esm/dialog-modal-225b0fe0.js.map +0 -1
  43. package/esm/editable-table-6bd8df15.js +0 -3
  44. package/esm/selector-wrapper-ece722f5.js +0 -3
  45. package/esm/selector-wrapper-ece722f5.js.map +0 -1
  46. package/esm/selector-wrapper-search-aad145b5.js +0 -3
  47. package/esm/selector-wrapper-search-aad145b5.js.map +0 -1
  48. package/esm/selector-wrapper-simple-49384d37.js +0 -3
  49. package/esm/selector-wrapper-simple-49384d37.js.map +0 -1
  50. package/esm/tree-wrapper-85aa72d7.js +0 -3
  51. package/esm/tree-wrapper-85aa72d7.js.map +0 -1
  52. package/esm/upload-wrapper-f20208d6.js +0 -3
  53. package/esm/upload-wrapper-f20208d6.js.map +0 -1
package/index.d.ts CHANGED
@@ -375,6 +375,14 @@ export type DialogModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContai
375
375
  cancelHidden?: boolean;
376
376
  okButtonProps?: Omit<ButtonWrapperProps, "hidden" | "children" | "onClick">;
377
377
  cancelButtonProps?: Omit<ButtonWrapperProps, "hidden" | "children" | "onClick">;
378
+ /**
379
+ * 设置modal body height 为当前窗口height的百分比,例如:30
380
+ * ```
381
+ * 1. 最大值:80
382
+ * 1. 设置bodyStyle.height 后,bodyHeightPercent失效
383
+ * ```
384
+ */
385
+ bodyHeightPercent?: number;
378
386
  };
379
387
  /**
380
388
  * 函数式调用弹框;初始化后,内容无法更新
@@ -838,11 +846,20 @@ export type SelectorServiceConfig = {
838
846
  export type SelectorWrapperProps = Omit<SelectProps, "onSearch" | "notFoundContent" | "options" | "fieldNames" | "onChange" | "value" | "loading" | "mode"> & {
839
847
  /** 不支持 tags 模式,tags模式请使用 SelectorWrapperSimple 组件 */
840
848
  mode?: "multiple";
849
+ /** key值,相同的key 同页面可共用缓存数据 */
841
850
  modelKey: string;
851
+ /**
852
+ * 参数Key映射
853
+ * ```
854
+ * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'
855
+ * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效
856
+ * ```
857
+ */
842
858
  fieldNames?: {
843
859
  label: string;
844
860
  value: string;
845
861
  disabled?: string;
862
+ list?: string;
846
863
  };
847
864
  /**
848
865
  * 请求服务需求的数据
@@ -929,6 +946,8 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
929
946
  * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换
930
947
  */
931
948
  onRequestResultAdapter?: (respData: TAny) => TPlainObject;
949
+ /** 操作触发显示文本 */
950
+ triggerText?: string;
932
951
  } & Omit<UploadProps, "onChange" | "fileList">;
933
952
  /**
934
953
  * 文件上传
@@ -1112,6 +1131,8 @@ export type EditableTableProps = {
1112
1131
  */
1113
1132
  onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;
1114
1133
  rules?: FormListProps["rules"];
1134
+ /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */
1135
+ hiddenFooterBtn?: boolean;
1115
1136
  };
1116
1137
  export declare const EditableTable: (props: EditableTableProps) => JSX.Element;
1117
1138
  export type EditorWrapperProps = {
@@ -1762,11 +1783,19 @@ export type SelectorWrapperSearchServiceConfig = {
1762
1783
  onRequestResultAdapter?: (respData: TAny) => TPlainObject[];
1763
1784
  };
1764
1785
  export type SelectorWrapperSearchProps = Omit<SelectProps, "onSearch" | "notFoundContent" | "options" | "fieldNames" | "loading"> & {
1786
+ /**
1787
+ * 参数Key映射
1788
+ * ```
1789
+ * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'
1790
+ * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效
1791
+ * ```
1792
+ */
1765
1793
  fieldNames?: {
1766
1794
  label: string;
1767
1795
  value: string;
1768
1796
  disabled?: string;
1769
1797
  searchKeyword?: string;
1798
+ list?: string;
1770
1799
  };
1771
1800
  /**
1772
1801
  * 请求服务需求的数据
@@ -1805,10 +1834,18 @@ export type SelectorWrapperSimpleServiceConfig = {
1805
1834
  onRequestResultAdapter?: (respData: TAny) => TPlainObject[];
1806
1835
  };
1807
1836
  export type SelectorWrapperSimpleProps = Omit<SelectProps, "onSearch" | "notFoundContent" | "options" | "fieldNames" | "loading"> & {
1837
+ /**
1838
+ * 参数Key映射
1839
+ * ```
1840
+ * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'
1841
+ * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效
1842
+ * ```
1843
+ */
1808
1844
  fieldNames?: {
1809
1845
  label: string;
1810
1846
  value: string;
1811
1847
  disabled?: string;
1848
+ list?: string;
1812
1849
  };
1813
1850
  /**
1814
1851
  * 请求服务需求的数据
@@ -2373,6 +2410,9 @@ export type TreeWrapperProps = Omit<TreeProps, "expandedKeys" | "treeData" | "on
2373
2410
  selectorTreeList?: TPlainObject[];
2374
2411
  /**
2375
2412
  * 通过服务获取数据后回调,当设置`selectorList`后无效果
2413
+ * ```
2414
+ * 相同modelKey,同时发起多个渲染时,只有第一个会执行 onSelectorTreeListChange 回调
2415
+ * ```
2376
2416
  */
2377
2417
  onSelectorTreeListChange?: (dataList: TPlainObject[]) => void;
2378
2418
  onRequestResponseChange?: (data: TAny) => void;
@@ -2392,9 +2432,19 @@ export type TreeWrapperProps = Omit<TreeProps, "expandedKeys" | "treeData" | "on
2392
2432
  */
2393
2433
  checkableResponseParentNode?: boolean;
2394
2434
  loadDataFlag?: boolean;
2395
- /** 菜单结构类型 tile/平铺 fold/折叠;默认:fold */
2435
+ /**
2436
+ * 菜单结构类型 tile/平铺 fold/折叠;默认:fold
2437
+ * ```
2438
+ * 自定义设置 titleRender 后失效
2439
+ * ```
2440
+ */
2396
2441
  menuLayoutType?: "tile" | "fold";
2397
- /** 菜单触发类型,默认:click */
2442
+ /**
2443
+ * 菜单触发类型,默认:click
2444
+ * ```
2445
+ * 自定义设置 titleRender 后失效
2446
+ * ```
2447
+ */
2398
2448
  menuTriggerType?: "click" | "hover";
2399
2449
  /**
2400
2450
  * 获取菜单类别
@@ -2402,7 +2452,8 @@ export type TreeWrapperProps = Omit<TreeProps, "expandedKeys" | "treeData" | "on
2402
2452
  * @deprecated 已过期,请使用 menuOptions
2403
2453
  * @returns
2404
2454
  * ```
2405
- * menuLayoutType = tile 无效
2455
+ * 1. menuLayoutType = tile 无效
2456
+ * 2. 自定义设置 titleRender 后失效
2406
2457
  * ```
2407
2458
  */
2408
2459
  getMenuOptions?: (dataItem: TPlainObject) => DropdownMenuItem[] | ButtonOperateItem[];
@@ -2471,6 +2522,23 @@ export type TreeWrapperProps = Omit<TreeProps, "expandedKeys" | "treeData" | "on
2471
2522
  id: string | number;
2472
2523
  index: number;
2473
2524
  }) => void;
2525
+ /**
2526
+ * 拖拽排序前判断,如果返回 true,可排序,其他不可排序
2527
+ * ```
2528
+ * 可用于需要权限控制判断
2529
+ * ```
2530
+ */
2531
+ onDropPrev?: (info: any) => boolean;
2532
+ /**
2533
+ * 标签渲染
2534
+ * ```
2535
+ * 1. 自定义设置 titleRender 后失效
2536
+ * 2. 与titleRender的区别
2537
+ * a. 设置 labelRender 后,menuLayout有效
2538
+ * b. 设置 titleRender 后,menuLayout失效
2539
+ * ```
2540
+ */
2541
+ labelRender?: (nodeData: TPlainObject) => ReactElement;
2474
2542
  };
2475
2543
  export type TreeWrapperRefApi = {
2476
2544
  onClearSelectorList: () => void;
@@ -2492,124 +2560,73 @@ export type TreeWrapperRefApi = {
2492
2560
  * 6. 内置 onDrop 事件已处理数组排序,通过 onDropNodeHandle 事件可获取操作节点排序数据;自定义onDrop后,内置onDrop失效
2493
2561
  * ```
2494
2562
  */
2495
- export declare const TreeWrapper: import("react").ForwardRefExoticComponent<Omit<TreeProps<import("antd").TreeDataNode>, "multiple" | "icon" | "onSelect" | "onExpand" | "checkedKeys" | "fieldNames" | "defaultSelectedKeys" | "selectedKeys" | "loadData" | "expandedKeys" | "treeData" | "defaultCheckedKeys" | "onCheck"> & {
2563
+ export declare const TreeWrapper: import("react").ForwardRefExoticComponent<Omit<import("antd").TreeProps<import("antd").TreeDataNode>, "multiple" | "icon" | "onSelect" | "onExpand" | "checkedKeys" | "fieldNames" | "defaultSelectedKeys" | "selectedKeys" | "loadData" | "expandedKeys" | "treeData" | "defaultCheckedKeys" | "onCheck"> & {
2496
2564
  modelKey: string;
2497
- /**
2498
- * useEffect依赖项数组,用于重新发起获取接口数据
2499
- */
2500
- effectDependencyList?: DependencyList | undefined;
2501
- /**
2502
- * 请求服务需求的数据,当设置`selectorTreeList`后无效果
2503
- */
2504
- serviceConfig?: TreeServiceConfig | undefined;
2505
- loadDataServiceConfig?: TreeLoadDataServiceConfig | undefined;
2506
- /**
2507
- * 当设置selectorTreeList后,serviceConfig将失效
2508
- * ```
2509
- * 1. 不支持异步数据,异步使用serviceConfig方式
2510
- * ```
2511
- */
2512
- selectorTreeList?: TPlainObject[] | undefined;
2513
- /**
2514
- * 通过服务获取数据后回调,当设置`selectorList`后无效果
2515
- */
2516
- onSelectorTreeListChange?: ((dataList: TPlainObject[]) => void) | undefined;
2517
- onRequestResponseChange?: ((data: TAny) => void) | undefined;
2518
- onChange?: ((selectedKey?: TreeWrapperValue, operateNodeData?: TPlainObject[] | TPlainObject, operateAllNodeDataList?: TPlainObject[]) => void) | undefined;
2565
+ effectDependencyList?: import("react").DependencyList | undefined;
2566
+ serviceConfig?: {
2567
+ params?: import("@flatbiz/utils").TPlainObject | undefined;
2568
+ requiredParamsKeys?: string[] | undefined;
2569
+ onRequest?: ((params?: any) => any) | undefined;
2570
+ onRequestResultAdapter?: ((respData: any) => import("@flatbiz/utils").TPlainObject[]) | undefined;
2571
+ } | undefined;
2572
+ loadDataServiceConfig?: {
2573
+ getParams: (dataItem: import("@flatbiz/utils").TPlainObject) => import("@flatbiz/utils").TPlainObject;
2574
+ onRequest: (params: import("@flatbiz/utils").TPlainObject) => any;
2575
+ onRequestResultAdapter?: ((respData: any) => import("@flatbiz/utils").TPlainObject[]) | undefined;
2576
+ } | undefined;
2577
+ selectorTreeList?: import("@flatbiz/utils").TPlainObject[] | undefined;
2578
+ onSelectorTreeListChange?: ((dataList: import("@flatbiz/utils").TPlainObject[]) => void) | undefined;
2579
+ onRequestResponseChange?: ((data: any) => void) | undefined;
2580
+ onChange?: ((selectedKey?: (string | number | (string | number)[] | import("@flatbiz/utils").TPlainObject<string | number> | import("@flatbiz/utils").TPlainObject<string | number>[]) | undefined, operateNodeData?: import("@flatbiz/utils").TPlainObject | import("@flatbiz/utils").TPlainObject[] | undefined, operateAllNodeDataList?: import("@flatbiz/utils").TPlainObject[] | undefined) => void) | undefined;
2519
2581
  fieldNames?: {
2520
2582
  label?: string | undefined;
2521
2583
  value?: string | undefined;
2522
2584
  children?: string | undefined;
2523
2585
  } | undefined;
2524
- /**
2525
- * 搜索关键字,打开tree折叠过滤关键字
2526
- */
2527
2586
  searchValue?: string | undefined;
2528
- /**
2529
- * checkable模式下,onChange是否返回父节点,默认值true
2530
- * 1. checkStrictly = true,模式下失效
2531
- */
2532
2587
  checkableResponseParentNode?: boolean | undefined;
2533
2588
  loadDataFlag?: boolean | undefined;
2534
- /** 菜单结构类型 tile/平铺 fold/折叠;默认:fold */
2535
2589
  menuLayoutType?: "tile" | "fold" | undefined;
2536
- /** 菜单触发类型,默认:click */
2537
2590
  menuTriggerType?: "click" | "hover" | undefined;
2538
- /**
2539
- * 获取菜单类别
2540
- * @param dataItem
2541
- * @deprecated 已过期,请使用 menuOptions
2542
- * @returns
2543
- * ```
2544
- * menuLayoutType = tile 无效
2545
- * ```
2546
- */
2547
- getMenuOptions?: ((dataItem: TPlainObject) => DropdownMenuItem[] | ButtonOperateItem[]) | undefined;
2548
- /**
2549
- * 根据 menuLayoutType 类型赋值
2550
- */
2591
+ getMenuOptions?: ((dataItem: import("@flatbiz/utils").TPlainObject) => ButtonOperateItem[] | DropdownMenuItem[]) | undefined;
2551
2592
  menuOptions?: {
2552
- tile?: ((dataItem: TPlainObject) => ButtonOperateProps) | undefined;
2553
- fold?: ((dataItem: TPlainObject) => DropdownMenuItem[]) | undefined;
2593
+ tile?: ((dataItem: import("@flatbiz/utils").TPlainObject) => ButtonOperateProps) | undefined;
2594
+ fold?: ((dataItem: import("@flatbiz/utils").TPlainObject) => DropdownMenuItem[]) | undefined;
2554
2595
  } | undefined;
2555
2596
  showSearch?: boolean | undefined;
2556
- onSearchValueChange?: ((searchValue?: string) => void) | undefined;
2597
+ onSearchValueChange?: ((searchValue?: string | undefined) => void) | undefined;
2557
2598
  searchPlaceholder?: string | undefined;
2558
2599
  icon?: ((data: {
2559
2600
  isParent: boolean;
2560
2601
  isLeaf: boolean;
2561
- }) => ReactElement) | undefined;
2562
- /**
2563
- * 是否必选,最后一个不能取消
2564
- */
2565
- requestMessageConfig?: TRequestStatusProps["messageConfig"];
2566
- /**
2567
- * value格式
2568
- *```
2569
- * 1. string 、number
2570
- * 2. Array<string | number>
2571
- * 3. lableInValue = true,根据labelInValueFieldNames配置格式
2572
- * 4. lableInValue = true,Array<labelInValueFieldNames配置>
2573
- * ```
2574
- */
2575
- value?: TreeWrapperValue | undefined;
2602
+ }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | undefined;
2603
+ requestMessageConfig?: Partial<Record<TRequestStatus, string>> | undefined;
2604
+ value?: (string | number | (string | number)[] | import("@flatbiz/utils").TPlainObject<string | number> | import("@flatbiz/utils").TPlainObject<string | number>[]) | undefined;
2576
2605
  labelInValue?: boolean | undefined;
2577
- /**
2578
- * ```
2579
- * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }
2580
- * ```
2581
- */
2582
2606
  labelInValueFieldNames?: {
2583
2607
  label: string;
2584
2608
  value: string;
2585
2609
  } | undefined;
2586
- /**
2587
- * 禁用状态是否可选,默认值true
2588
- * 当dateItem中包含 disabled 则数据为禁用状态
2589
- */
2590
2610
  disabledCanUse?: boolean | undefined;
2591
- /** treeItem数据适配器 */
2592
- treeItemDataAdapter?: ((dataItem: TPlainObject) => TPlainObject) | undefined;
2593
- /** 搜索位置额外元素 */
2594
- searchExtraElement?: ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
2595
- /** 有唯一跟节点时,初始化是否展开,默认值:false */
2611
+ treeItemDataAdapter?: ((dataItem: import("@flatbiz/utils").TPlainObject) => import("@flatbiz/utils").TPlainObject) | undefined;
2612
+ searchExtraElement?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
2596
2613
  initRootExpand?: boolean | undefined;
2597
- /** 搜素过滤方式,高亮 | 过滤;默认:filter */
2598
2614
  searchResultType?: "filter" | "highlight" | undefined;
2599
- /**
2600
- * 拖拽节点处理,自定义onDrop事件后,失效
2601
- * ```
2602
- * 参数
2603
- * 1. parentId 当前拖拽节点的父节点ID
2604
- * 2. id 当前拖拽节点ID
2605
- * 3. index 当前拖拽节点所在数组下标
2606
- * ```
2607
- */
2608
2615
  onDropNodeHandle?: ((result: {
2609
- parentId?: string | number;
2616
+ parentId?: string | number | undefined;
2610
2617
  id: string | number;
2611
2618
  index: number;
2612
2619
  }) => void) | undefined;
2613
- } & import("react").RefAttributes<TreeWrapperRefApi>>;
2620
+ onDropPrev?: ((info: any) => boolean) | undefined;
2621
+ labelRender?: ((nodeData: import("@flatbiz/utils").TPlainObject) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | undefined;
2622
+ } & import("react").RefAttributes<TreeWrapperRefApi>> & {
2623
+ /**
2624
+ * 获取树形原数据
2625
+ * ```
2626
+ * 参数 modelKey 与 TreeWrapper属性 modelKey相同,才能获取数据
2627
+ * ```
2628
+ */
2629
+ getTreeDataList: (modelKey: string) => import("@flatbiz/utils").TPlainObject[];
2630
+ };
2614
2631
 
2615
2632
  export {};
package/index.js CHANGED
@@ -1 +1 @@
1
- export * from './esm/index';
1
+ export * from './esm/index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.37",
3
+ "version": "4.2.39",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "@dimjs/utils": ">=1.3.2",
34
34
  "@flatbiz/utils": ">=4.0.10",
35
35
  "@wove/react": ">=1.2.23",
36
- "antd": ">=5.2.1",
36
+ "antd": ">=5.4.0",
37
37
  "dayjs": ">=1.11.7",
38
38
  "react": ">=18.2.0",
39
39
  "react-dom": ">=18.2.0",
@@ -47,7 +47,7 @@
47
47
  "@ant-design/icons": "^4.8.0",
48
48
  "@flatbiz/utils": "^4.0.10",
49
49
  "@wove/react": "^1.2.22",
50
- "antd": "^5.1.3",
50
+ "antd": "^5.4.0",
51
51
  "dayjs": "1.11.7",
52
52
  "dequal": "^2.0.3",
53
53
  "react": "18.2.0",
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Form as i,Modal as l}from"antd";import{useState as c}from"react";import{createRoot as s}from"react-dom/client";import{B as d}from"./button-wrapper-c63ea6fc.js";import{C as m}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as f}from"./fba-hooks/index.js";import{b as u,r as p}from"./dom-4d04aa64.js";import{jsx as v}from"react/jsx-runtime";var C=["divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText"];var k=function e(s){var u=s.divElement,k=s.elementId,w=s.onOk,j=s.onCancel,h=s.okButtonProps,g=s.cancelButtonProps,_=s.content,b=s.configProviderProps,P=s.className,x=s.okHidden,y=s.cancelHidden,B=s.footer,I=s.cancelText,E=s.okText,H=n(s,C);var R=c(true),T=R[0],N=R[1];var O=i.useForm(),F=O[0];var q=a.useCallbackRef((function(){try{delete window[k]}catch(e){}N(false)}));f.useEffectCustom((function(){window[k]=q}),[q]);var z=a.useCallbackRef((function(e){if(j){var o=j(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var A=a.useCallbackRef((function(e){if(w){var o=w(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var D=a.useCallbackRef((function(){p("#"+k);s.afterClose==null?void 0:s.afterClose()}));var G=[v(d,r({},g,{onClick:z,hidden:y,children:I||"取消"}),"0"),v(d,r({type:"primary"},h,{onClick:A,hidden:x,children:E||"提交"}),"1")];var J=B||G;return v(m,r({},b,{children:v(l,r({maskClosable:true,centered:true,onCancel:q,destroyOnClose:true},H,{className:o("v-dialog-modal",P),open:T,afterClose:D,getContainer:u,footer:J,children:typeof _==="function"?_(F,{onClose:q}):_}))}))};var w={open:function e(o){var n=u(),t=n.divElement,a=n.elementId;window["__dialog_modal_elementId"]=a;var i=s(t);i.render(v(k,r({},o,{divElement:t,elementId:a})));return{close:function e(){var o,r;(o=(r=window)[a])==null?void 0:o.call(r)}}},close:function o(){try{var r,n;var t=window["__dialog_modal_elementId"];if(e(t))(r=(n=window)[t])==null?void 0:r.call(n)}catch(e){}}};export{w as d};
3
- //# sourceMappingURL=dialog-modal-225b0fe0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog-modal-225b0fe0.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\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[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n className={classNames('v-dialog-modal', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 函数式调用弹框;初始化后,内容无法更新\n *```\n * 1. 基础使用方式\n * dialogModal.open({\n * title: '我是弹框',\n * content: <div>我是内容</div>,\n * });\n * ```\n * ```\n * ***************************\n * 2. 结合内置form使用,可在onOK、onCancel获取form对象\n * dialogModal.open({\n * title: '我是弹框',\n * content: (form, operate) => {\n * return (\n * <Form form={form}>\n * <Form.Item name=\"useName\">\n * <Input placeholder=\"请输入\" />\n * </Form.Item>\n * </Form>\n * );\n * },\n * onOK: (form) => {\n * console.log('content form数据', form.getFieldsValue());\n * return Promise.resolve();\n * },\n * });\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","ConfigProviderWrapper","Modal","maskClosable","centered","destroyOnClose","_classNames","getContainer","dialogModal","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/PlusOutlined";import{a as n,_ as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Form as a,Checkbox as l,Tag as i,InputNumber as t,Radio as o,Space as d,Button as u,Input as m,Table as f}from"antd";import{useMemo as c,useState as v,useEffect as s,Fragment as p}from"react";import{isArray as g}from"@dimjs/lang/cjs/is-array";import{extend as b}from"@dimjs/utils/cjs/extend";import{classNames as C}from"@dimjs/utils/cjs/class-names";import{hooks as h}from"@wove/react/cjs/hooks";import{jsx as I,jsxs as w,Fragment as x}from"react/jsx-runtime";import{D as R}from"./date-picker-wrapper-ba650858.js";import{D as N}from"./date-range-picker-wrapper-fb15c592.js";import{I as P}from"./input-wrapper-b378eb5a.js";import{fbaHooks as y}from"./fba-hooks/index.js";import{arrayField2LabelValue as k}from"@flatbiz/utils";import{S as j}from"./selector-wrapper-ece722f5.js";import{isBoolean as L}from"@dimjs/lang/cjs/is-boolean";import{isNumber as F}from"@dimjs/lang/cjs/is-number";import{isString as T}from"@dimjs/lang/cjs/is-string";import{I as A}from"./input-text-area-wrapper-c958fba0.js";import{U as O}from"./upload-wrapper-f20208d6.js";import S from"@ant-design/icons/es/icons/DeleteOutlined";var V=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var B=function e(r){var a=r.fieldConfig,t=a.editableConfig,o=a.editable,d=a.render;var u=t.editableComptProps;var m=c((function(){if(o)return[];var e=g(r.value)?r.value:[];var n=u.options||[];if(!g(n)||n.length===0){return e.map((function(e){return{label:e,value:e}}))}var a=[];e.forEach((function(e){var r=n.find((function(n){return n.value===e}));a.push(r?r:{label:e,value:e})}));return a}),[o,u.options,r.value]);var f=h.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(o){return I(l.Group,n({},u,{value:r.value,onChange:f}))}return I("span",{className:"editable-checkbox-group-view",children:d?d(r.value):m.map((function(e,n){return I(i,{color:"#1890ff",children:e.label},n)}))})};var G=function e(r){var l=r.fieldConfig.formItemProps;return I(a.Item,n({},l,{name:r.name,className:C("editable-checkbox-group-form-item",l==null?void 0:l.className),children:I(B,n({},r))}))};var W=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return I(a.Item,n({},i,{name:r.name,className:C("editable-date-picker-wraper-form-item",i==null?void 0:i.className),children:I(R,n({allowClear:true},t.editableComptProps))}))};var D=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var o=l.editableComptProps;var d=h.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null?void 0:o.onChange==null?void 0:o.onChange(e)}));var u=c((function(){var e=g(r.value)?r.value:[];if(i)return undefined;return e.join("~")}),[i,r.value]);if(i){return I(N,n({allowClear:true},o,{value:r.value,onChange:d}))}return I("span",{className:"editable-date-range-picker-view",children:t?t(r.value):u})};var E=function e(r){var l=r.fieldConfig.formItemProps;return I(a.Item,n({},l,{name:r.name,className:C("editable-date-range-picker-wraper-form-item",l==null?void 0:l.className),children:I(D,n({},r))}))};var _=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return I(a.Item,n({},i,{name:r.name,children:I(P,n({allowClear:true},t.editableComptProps))}))};var K=function e(r){var l=r.fieldConfig,i=l.formItemProps,o=l.editableConfig;return I(a.Item,n({},i,{name:r.name,className:C("editable-input-number-form-item",i==null?void 0:i.className),children:I(t,n({},o.editableComptProps))}))};var M=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,d=a.render;var u=l.editableComptProps;var m=y.useThemeToken();var f=c((function(){if(t)return[];var e=r.value;var n=u.options||[];if(!g(n)||n.length===0){return e}var a=n.find((function(n){return n.value===e}));return(a==null?void 0:a.label)||e}),[t,u.options,r.value]);var v=h.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);u.onChange==null?void 0:u.onChange(e)}));if(t){return I(o.Group,n({},u,{value:r.value,onChange:v}))}return I("span",{className:"editable-radio-group-view",children:d?d(r.value):f?I(i,{color:m.colorPrimary,children:f}):null})};var z=function e(r){var l=r.fieldConfig.formItemProps;return I(a.Item,n({},l,{name:r.name,className:C("editable-radio-group-form-item",l==null?void 0:l.className),children:I(M,n({},r))}))};var H=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,o=a.render;var d=l.editableComptProps;var u=v([]),m=u[0],f=u[1];var c=v([]),b=c[0],C=c[1];var x=y.useThemeToken();s((function(){if(!t){var e=g(r.value)?r.value:r.value===undefined?[]:[r.value];if(m.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=m.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[t,d.fieldNames,r.value,m]);var R=h.useCallbackRef((function(e){f(k(e||[],d.fieldNames))}));var N=h.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e,n)}));if(t){return I(j,n({},d,{value:r.value,onChange:N,onSelectorListAllChange:R}))}return w(p,{children:[I("div",{style:{display:"none"},children:I(j,n({},d,{onSelectorListAllChange:R}))}),I("span",{className:"editable-selector-view",children:o?o(r.value,m):b.map((function(e,n){return I(i,{color:x.colorPrimary,children:e.label},n)}))})]})};var J=function e(r){var l=r.fieldConfig.formItemProps;return I(a.Item,n({},l,{name:r.name,className:C("editable-selector-wrapper-form-item",l==null?void 0:l.className),children:I(H,n({},r))}))};var U=function e(n){var r,a;var l=c((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=T(n.value)||F(n.value)||L(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var i=((a=n.fieldConfig)==null?void 0:a.render==null?void 0:a.render(n.value))||l;return I("span",{children:i})};var q=function e(n){return I(a.Item,{noStyle:true,name:n.name,children:I(U,{name:n.name,fieldConfig:n.fieldConfig})})};var Q=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return I(a.Item,n({},i,{name:r.name,children:I(A,n({},t.editableComptProps))}))};var X=["children"];var Y=function e(a){var l=a.fieldConfig,i=l.editableConfig,t=l.render,o=l.editable;var d=i.editableComptProps,u=d.children,m=r(d,X);if(o){return I(O,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return I("div",{className:"upload-wrapper-selector-view",children:t?t(a.value):I(O,n({listType:"text"},m,{value:a.value,disabled:true}))})};var Z=function e(r){var l=r.fieldConfig.formItemProps;return I(a.Item,n({},l,{name:r.name,className:C("editable-upload-wrapper-form-item",l==null?void 0:l.className),children:I(Y,n({},r))}))};var $=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable;var t=V(i,r.tableRowIndex);var o=b({},r.fieldConfig,{editable:t});var d={name:r.name,fieldConfig:o};if((l==null?void 0:l.type)==="input"&&t){return I(_,n({},d))}else if((l==null?void 0:l.type)==="inputNumber"&&t){return I(K,n({},d))}else if((l==null?void 0:l.type)==="textArea"&&t){return I(Q,n({},d))}else if((l==null?void 0:l.type)==="datePickerWrapper"&&t){return I(W,n({},d))}else if((l==null?void 0:l.type)==="dateRangePickerWrapper"){return I(E,n({},d))}else if((l==null?void 0:l.type)==="selectorWrapper"){return I(J,n({},d))}else if((l==null?void 0:l.type)==="checkboxGroup"){return I(G,n({},d))}else if((l==null?void 0:l.type)==="radioGroup"){return I(z,n({},d))}else if((l==null?void 0:l.type)==="uploadWrapper"){return I(Z,n({},d))}else if((l==null?void 0:l.type)==="custom"){return l.editableComptProps({name:r.name,editable:t,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return I(q,n({},d))};var ee=function e(n){var r=a.useFormInstance();var l=n.formListConfig,i=l.onFormListBeforeRender,t=l.editableConfigList,o=l.onFormListAfterRender,u=l.onFormListItemBeforeRender,m=l.onFormListItemAfterRender,f=l.deleteOperateRender;return I(a.List,{name:n.name,children:function e(a,l){var c=l.add,v=l.remove;return w(x,{children:[i?i({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var l=t.find((function(e){return V(e.editable,n.tableRowIndex)}));var i=C("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!l});return w("div",{className:i,children:[u==null?void 0:u({add:c,remove:function e(){v(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),w(d,{children:[t.map((function(r,a){return I($,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),l?I(ne,{deleteOperateRender:f,remove:function e(){v(a)},index:a}):undefined]}),m==null?void 0:m({add:c,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){v(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var ne=function e(n){return I(a.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):I(u,{type:"link",danger:true,icon:I(S,{}),onClick:n.remove,children:"删除"})})};var re=function e(n){if(n.fieldConfig){if(g(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return I(ee,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return w(p,{children:[I($,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?I(a.Item,{hidden:true,name:n.hiddenField.dataIndex,children:I(m,{})}):null]})}}return I(q,{name:n.name})};var ae=["fieldConfig","renderMiddleware"];var le=function l(i){var t;var o=c((function(){if(!i.columns)return[];return i.columns.map((function(e){var a=e.fieldConfig,l=e.renderMiddleware,t=r(e,ae);return n({onCell:function e(){var n;return{valign:((n=i.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},t,{render:function n(r,t,o){var d=[i.name,t.name];var u=e.dataIndex?[].concat(d,[e.dataIndex]):d;var m=l==null?void 0:l({name:u,tableRowIndex:t.name,operation:t.operation,tableRowName:d,index:o});if(m){return m}var f=typeof a==="function"?a({name:u,tableRowIndex:t.name,tableRowName:d}):a;return I(re,{name:e.dataIndex?[t.name,e.dataIndex]:[t.name],completeName:u,fieldConfig:f,tableRowIndex:t.name,hiddenField:e.hiddenField})}})}))}),[i.columns,i.name,(t=i.tableProps)==null?void 0:t.cellVerticalAlign]);return I("div",{className:"editable-table",children:I(a.List,{name:i.name,rules:i.rules,children:function r(a,l){return w(p,{children:[i.onTableBeforeRender?i.onTableBeforeRender(l,a.length):null,I(f,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},i.tableProps,{dataSource:a.map((function(e){return n({},e,{operation:l})})),columns:o})),i.onTableAfterRender?i.onTableAfterRender(l,a.length):I(u,{type:"dashed",onClick:function e(){return l.add()},block:true,icon:I(e,{}),style:{marginTop:15},children:"新增"})]})}})})};export{le as E};
3
- //# sourceMappingURL=editable-table-6bd8df15.js.map
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{isString as r}from"@dimjs/lang/cjs/is-string";import{hooks as n}from"@wove/react/cjs/hooks";import{_ as t,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefinedOrNull as u,toArray as s,valueIsEqual as i,arrayFind as a}from"@flatbiz/utils";import{Select as l,Button as c}from"antd";import{useState as f,useMemo as v,useRef as d}from"react";import{R as h}from"./request-status-03fc60e2.js";import{isDeepEqual as p}from"@dimjs/lang/cjs/is-deep-equal";import{json as m}from"@dimjs/utils/cjs/json";import g from"pubsub-js";import{fbaHooks as C}from"./fba-hooks/index.js";import{isObject as q}from"@dimjs/lang/cjs/is-object";import{jsx as w,jsxs as _}from"react/jsx-runtime";var b=function e(r){var n=r.cacheKey,t=r.serviceConfig,o=r.hasOuterSelectorList,s=r.outerSelectorList,i=r.onRespDataChange,a=r.onSelectorRequestError,l=r.onChange,c=r.useCache;var d=t==null?void 0:t.params;var h=(t==null?void 0:t.requiredParamsKeys)||[];var q=d&&Object.keys(d).length>0;var w=f(),_=w[0],b=w[1];var R=f(),y=R[0],S=R[1];var j=f(Date.now()),L=j[0],P=j[1];var O=v((function(){try{if(q){var e=JSON.stringify(m.sort(d));if(e==="{}"){return undefined}return e}}catch(e){}return undefined}),[q,d]);var A=""+O;var k=O+"_status";var E=n+"_"+A;var D=C.usePrevious(O);var x=C.usePrevious(d);var K=function e(r){return(t==null?void 0:t.onRequestResultAdapter==null?void 0:t.onRequestResultAdapter(r))||r||[]};var N=function e(){var r;return(r=window["__selector_wrapper_"])==null?void 0:r[n]};var I=function e(){var r;return(r=N())==null?void 0:r[A]};var M=function e(){var r;return(r=N())==null?void 0:r[k]};var B=function e(r,t){if(!window["__selector_wrapper_"]){window["__selector_wrapper_"]={}}if(!window["__selector_wrapper_"][n]){window["__selector_wrapper_"][n]={}}window["__selector_wrapper_"][n][r]=t};var T=function e(r){B(k,r);S(r)};var V=function e(){return new Promise((function(e,r){var n,o;var u=function(n){try{console.error(n);T("request-error");b(undefined);setTimeout((function(){g.publish(E,{status:"request-error"})}));a==null?void 0:a(n);return e(Promise.reject())}catch(e){return r(e)}};try{T("request-progress");return Promise.resolve(t==null?void 0:t.onRequest==null?void 0:t.onRequest(d||{})).then((function(r){try{n=r;o=K(n)||[];B(A,o);T("request-success");setTimeout((function(){g.publish(E,{status:"request-success",respData:o})}));return e(o)}catch(e){return u(e)}}),u)}catch(e){u(e)}}))};C.useEffectCustomAsync((function(){return new Promise((function(e,r){var n,f,v,m,C,q;if(o){S("request-success");b(s);i==null?void 0:i(s);return e()}if(h.length>0){n=d?h.find((function(e){return u(d[e])})):true;if(n){b([]);S("no-dependencies-params");if(D){l==null?void 0:l(undefined)}return e()}if(c===false){if(p(d,x)){return e()}var w=function(){try{return e()}catch(e){return r(e)}};var _=function(e){try{console.error(e);S("request-error");b(undefined);a==null?void 0:a(e);return w()}catch(e){return r(e)}};try{S("request-progress");return Promise.resolve(t==null?void 0:t.onRequest==null?void 0:t.onRequest(d||{})).then((function(e){try{f=e;v=K(f)||[];S("request-success");b(v);i==null?void 0:i(v);return w()}catch(e){return _(e)}}),_)}catch(e){_(e)}}return R.call(this)}function R(){m=M();if(m==="request-success"){C=I();b(C);S(m);i==null?void 0:i(C);return e()}if(m==="request-progress"){S(m);g.subscribe(E,(function(e,r){var n=r.status,t=r.respData;if(n==="request-success"){S(n);b(t);i==null?void 0:i(t)}else{S("request-error");b(undefined)}}));return e()}return Promise.resolve(V()).then((function(n){try{q=n;b(q);S("request-success");i==null?void 0:i(q);return e()}catch(e){return r(e)}}),r)}return R.call(this)}))}),[d,s,L]);var z=function e(){P(Date.now())};return{requestStatus:y,stateSelectorList:_,serviceRequestParamsStringify:O,onRefreshRequest:z}};var R=function e(r,n){var t=s(r);t=t.map((function(e){if(q(e))return e[n];return e}));return t};var y=["serviceConfig","showAllOption","onSelectorListChange","onSelectorListAllChange","onSelectorRequestError","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","fieldNames","value","labelInValue","useCache"];var S=function u(f){var p=f.serviceConfig,m=f.showAllOption,g=f.onSelectorListChange,C=f.onSelectorListAllChange,q=f.onSelectorRequestError,S=f.onLabelRenderAdapter,j=f.requestMessageConfig,L=f.selectorList,P=f.modelKey,O=f.fieldNames,A=f.value,k=f.labelInValue,E=f.useCache,D=t(f,y);var x=d(true);var K=f.hasOwnProperty("selectorList");var N=o({label:"label",value:"value",disabled:"disabled"},O),I=N.label,M=N.value,B=N.disabled;var T=v((function(){var e;if(!m)return null;var r=m===true;return e={},e[I]=r?"全部":m.label,e[M]=r?"":m.value,e}),[I,M,m]);var V=i(f.mode,["multiple"]);var z=b({cacheKey:P,hasOuterSelectorList:K,onChange:f.onChange,serviceConfig:p,outerSelectorList:L,onRespDataChange:function e(r){if(x.current){g==null?void 0:g(r||[]);x.current=false}C==null?void 0:C(r||[])},onSelectorRequestError:q,useCache:E===undefined?true:E}),F=z.requestStatus,H=z.stateSelectorList,J=z.onRefreshRequest;var W=n.useCallbackRef((function(e){if(k){if(V){f.onChange==null?void 0:f.onChange(e,e)}else{f.onChange==null?void 0:f.onChange(e[0],e)}}else{var r=e.map((function(e){return e[M]}));if(V){f.onChange==null?void 0:f.onChange(r,e)}else{f.onChange==null?void 0:f.onChange(r[0],e[0])}}}));var G=n.useCallbackRef((function(e,r){if(!r)return f.onChange==null?void 0:f.onChange(undefined);var n=s(r);var t=[];n.forEach((function(e){if(m&&T&&e.value===T[M]){t.push(T)}else{var r=a(H||[],e.value,M);if(r){t.push(r)}}}));W(t)}));var Q=v((function(){if(F!=="request-success")return[];if(!H||H.length===0)return[];if(!T)return H;return[T].concat(H)}),[T,F,H]);var U=F==="request-progress";var X=v((function(){var e=R(A,M);return V?e:e[0]}),[V,M,A]);var Y=n.useCallbackRef((function(e,n){var t=s(n.children);var o="";t.forEach((function(e){if(r(e))o+=e}));return o.toLowerCase().indexOf(e.toLowerCase())>=0}));return w(l,o({showSearch:true,allowClear:true,dropdownMatchSelectWidth:false,filterOption:Y},D,{style:o({width:"100%"},f.style),value:X,loading:U,onChange:G,fieldNames:undefined,suffixIcon:F==="request-error"?w(e,{spin:U,onClick:J}):undefined,notFoundContent:w(h,{status:F,loading:U,messageConfig:o({"request-init":"暂无数据"},j),errorButton:w(c,{type:"primary",onClick:J,children:"重新获取数据"})}),children:Q.map((function(e,r){var n=e[M];var t=e[I];return _(l.Option,{value:n,label:t,disabled:e[B],children:[f.showIcon?w("span",{className:"v-selector-item-icon",children:f.icon==null?void 0:f.icon(e,r)}):null,S?S(e):t]},n+"-"+r)}))}))};export{S};
3
- //# sourceMappingURL=selector-wrapper-ece722f5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-wrapper-ece722f5.js","sources":["@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { isDeepEqual } from '@dimjs/lang';\nimport { json } from '@dimjs/utils';\nimport { isUndefinedOrNull, TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TRequestStatus } from '../request-status';\nimport { SelectorServiceConfig, SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n return serviceConfig?.onRequestResultAdapter?.(respData as unknown as TPlainObject) || respData || [];\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData) || [];\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData) || [];\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n }, [serviceRequestParams, outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport { RequestStatus } from '../request-status';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索 + 调用服务模式\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = { label: 'label', value: 'value', disabled: 'disabled', ...fieldNames };\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n cacheKey: modelKey,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '暂无数据',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","_useState","useState","stateSelectorList","setStateSelectorList","_useState2","requestStatus","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","useMemo","sortDataStringify","JSON","stringify","_json","sort","undefined","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","fbaHooks","usePrevious","prevParams","serviceRespDataAdapter","respData","onRequestResultAdapter","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","console","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_6","useEffectCustomAsync","isEmpty","_respAdapterData","_dataList","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_7","$If_4","call","this","dataList","subscribe","_msg","_ref","$await_8","onRefreshRequest","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","props","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","fieldNames","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","firstRenderSelectList","useRef","hasOwnProperty","_label$value$disabled","_extends","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","_hooks","useCallbackRef","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","loading","selectValue","filterOption","input","option","children","mergeString","_isString","toLowerCase","indexOf","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","_jsxs","Option","showIcon","className","icon"],"mappings":";4uBASO,IAAMA,EAAa,SAAbA,EAAcC,GAUzB,IACEC,EAQED,EARFC,SACAC,EAOEF,EAPFE,cACAC,EAMEH,EANFG,qBACAC,EAKEJ,EALFI,kBACAC,EAIEL,EAJFK,iBACAC,EAGEN,EAHFM,uBACAC,EAEEP,EAFFO,SACAC,EACER,EADFQ,SAEF,IAAMC,EAAuBP,GAAAA,UAAAA,EAAAA,EAAeQ,OAC5C,IAAMC,GAAqBT,eAAAA,EAAeS,qBAAsB,GAChE,IAAMC,EAA0BH,GAAwBI,OAAOC,KAAKL,GAAsBM,OAAS,EAEnG,IAAAC,EAAkDC,IAA3CC,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GAC9C,IAAAI,EAA0CH,IAAnCI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACtC,IAAAG,EAAoCN,EAASO,KAAKC,OAA3CC,EAAUH,EAAA,GAAEI,EAAaJ,EAAA,GAEhC,IAAMK,EAAgCC,GAAQ,WAC5C,IACE,GAAIjB,EAAyB,CAC3B,IAAMkB,EAAoBC,KAAKC,UAAUC,EAAKC,KAAKzB,IACnD,GAAIqB,IAAsB,KAAM,CAC9B,OAAOK,SACT,CACA,OAAOL,CACT,CACF,CAAE,MAAOM,GAAQ,CACjB,OAAOD,SACT,GAAG,CAACvB,EAAyBH,IAE7B,IAAM4B,KAA4BT,EAClC,IAAMU,EAAkCV,EAAsC,UAC9E,IAAMW,EAAetC,EAAQ,IAAIoC,EAGjC,IAAMG,EAAoCC,EAASC,YAAYd,GAC/D,IAAMe,EAAaF,EAASC,YAAYjC,GAExC,IAAMmC,EAAyB,SAAzBA,EAA0BC,GAC9B,OAAO3C,GAAa,UAAA,EAAbA,EAAe4C,wBAAf5C,UAAAA,EAAAA,EAAe4C,uBAAyBD,KAAwCA,GAAY,IAGrG,IAAME,EAAqB,SAArBA,IAA2B,IAAAC,EAC/B,OAAAA,EAAOC,OAAO,yBAAPD,UAAAA,EAAAA,EAAgC/C,IAEzC,IAAMiD,EAAsB,SAAtBA,IAA4B,IAAAC,EAChC,OAAAA,EAAOJ,kBAAAI,EAAuBd,IAEhC,IAAMe,EAAuB,SAAvBA,IAA6B,IAAAC,EACjC,OAAAA,EAAON,kBAAAM,EAAuBf,IAGhC,IAAMgB,EAAiB,SAAjBA,EAAkBC,EAAKC,GAC3B,IAAKP,OAAO,uBAAwB,CAClCA,OAAO,uBAAyB,EAClC,CACA,IAAKA,OAAO,uBAAuBhD,GAAW,CAC5CgD,OAAO,uBAAuBhD,GAAY,CAAA,CAC5C,CACAgD,OAAO,uBAAuBhD,GAAUsD,GAAOC,GAGjD,IAAMC,EAAwB,SAAxBA,EAAyBC,GAC7BJ,EAAehB,EAA8BoB,GAC7CpC,EAAiBoC,IAGnB,IAAMC,EAAY,SAAZA,IAAY,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAIRjB,EACAkB,EA5FZ,IAAIC,EAAA,SAwGS5B,GAxGb,IAyGM6B,QAAQ7B,MAAMA,GACdqB,EAAsB,iBACtBtC,EAAqBgB,WACrB+B,YAAW,WACTC,EAAOC,QAAQ7B,EAAW,CACxBmB,OAAQ,iBAEZ,IACApD,GAAAA,UAAAA,EAAAA,EAAyB8B,GACzB,OAAAyB,EAAOD,QAAQS,SAlHZ,CAAC,MAAAC,GAAW,OAAOR,EAAAQ,EAAM,GAwF9B,IACEb,EAAsB,oBAEL,OAAAG,QAAAW,QAAMrE,GAAAA,UAAAA,EAAAA,EAAeyD,WAAfzD,UAAAA,EAAAA,EAAeyD,UAAYlD,GAAwB,CAAE,IAA3D+D,MAA4D,SAAAC,GA3FnF,IA2FY5B,EAAW4B,EACXV,EAAkBnB,EAAuBC,IAAa,GAE5DS,EAAejB,EAAwB0B,GACvCN,EAAsB,mBACtBS,YAAW,WACTC,EAAOC,QAAQ7B,EAAW,CACxBmB,OAAQ,kBACRb,SAAUkB,GAEd,IAEA,OAAAF,EAAOE,EAvGJ,CAAC,MAAAO,GAAW,OAAON,EAAAM,EAAM,CAAC,GAAAN,EAwG9B,CAAC,MAAO5B,GAAO4B,EAAP5B,EAWT,CAAC,GACF,EAEDK,EAASiC,sBAAqB,WAAA,OAAA,IAAAd,SAAA,SAAAC,EAAAC,GAAA,IAQpBa,EAyBI9B,EACA+B,EAuBNlB,EAEEmB,EAoBFd,EA9EN,GAAI5D,EAAsB,CACxBmB,EAAiB,mBACjBH,EAAqBf,GACrBC,GAAAA,UAAAA,EAAAA,EAAmBD,GACnB,OAAAyD,GACF,CACA,GAAIlD,EAAmBI,OAAS,EAAG,CAC3B4D,EAAUlE,EACZE,EAAmBmE,MAAK,SAACvB,GAAG,OAAKwB,EAAkBtE,EAAqB8C,GAAK,IAC7E,KACJ,GAAIoB,EAAS,CAEXxD,EAAqB,IACrBG,EAAiB,0BAKjB,GAAIkB,EAAmC,CACrCjC,GAAAA,UAAAA,EAAAA,EAAW4B,UACb,CACA,OAAA0B,GACF,CAGA,GAAIrD,IAAa,MAAO,CAEtB,GAAIwE,EAAYvE,EAAsBkC,GAAa,CACjD,OAAAkB,GACF,CApJR,IAAIoB,aAAJ,IAkKQ,OAAApB,GAlKC,CAAC,MAAAS,GAAW,OAAOR,EAAAQ,EAAM,GAAlC,IAAIY,EAAA,SA4Ja9C,GA5JjB,IA6JU6B,QAAQ7B,MAAMA,GACdd,EAAiB,iBACjBH,EAAqBgB,WACrB7B,GAAAA,UAAAA,EAAAA,EAAyB8B,GAhKnC,OAAO6C,GAAE,CAAC,MAAAX,GAAW,OAAOR,EAAAQ,EAAM,GAqJ1B,IACEhD,EAAiB,oBACA,OAAAsC,QAAAW,QAAMrE,GAAAA,UAAAA,EAAAA,EAAeyD,WAAfzD,UAAAA,EAAAA,EAAeyD,UAAYlD,GAAwB,CAAE,IAA3D+D,MAA4D,SAAAW,GAvJvF,IAuJgBtC,EAAWsC,EACXpB,EAAkBnB,EAAuBC,IAAa,GAC5DvB,EAAiB,mBACjBH,EAAqB4C,GACrB1D,GAAAA,UAAAA,EAAAA,EAAmB0D,GA3J7B,OAAOkB,GAAE,CAAC,MAAAX,GAAW,OAAOY,EAAAZ,EAAM,CAAC,GAAAY,EA4J1B,CAAC,MAAO9C,GAAO8C,EAAP9C,EAKT,CAEF,CAAC,OAnKPgD,EAAGC,KAAQC,KAoKP,CASA,SAAAF,IAEM1B,EAASN,IACf,GAAIM,IAAW,kBAAmB,CAC1B6B,EAAWrC,IACjB/B,EAAqBoE,GACrBjE,EAAiBoC,GACjBrD,GAAAA,UAAAA,EAAAA,EAAmBkF,GACnB,OAAA1B,GACF,CACA,GAAIH,IAAW,mBAAoB,CACjCpC,EAAiBoC,GACjBS,EAAOqB,UAAUjD,GAAW,SAACkD,EAAIC,GAA2B,IAAvBhC,EAAMgC,EAANhC,OAAQb,EAAQ6C,EAAR7C,SAC3C,GAAIa,IAAW,kBAAmB,CAChCpC,EAAiBoC,GACjBvC,EAAqB0B,GACrBxC,GAAAA,UAAAA,EAAAA,EAAmBwC,EACrB,KAAO,CACLvB,EAAiB,iBACjBH,EAAqBgB,UACvB,CACF,IACA,OAAA0B,GACF,CACwB,OAAAD,QAAAW,QAAMZ,KAANa,MAAiB,SAAAmB,GArM7C,IAqMU5B,EAAkB4B,EACxBxE,EAAqB4C,GACrBzC,EAAiB,mBACjBjB,GAAAA,UAAAA,EAAAA,EAAmB0D,GAAiB,OAAAF,GAxM/B,CAAC,MAAAS,GAAW,OAAOR,EAAAQ,EAAM,CAAC,GAAAR,EAqMU,CAAA,OArM7CsB,EAAGC,KAAQC,KAAA,GAyMR,GAAE,CAAC7E,EAAsBL,EAAmBsB,IAE7C,IAAMkE,EAAmB,SAAnBA,IACJjE,EAAcH,KAAKC,QAGrB,MAAO,CACLJ,cAAAA,EACAH,kBAAAA,EACAU,8BAAAA,EACAgE,iBAAAA,EAEJ,EC1MO,IAAMC,EAAe,SAAfA,EAAgBC,EAAMC,GACjC,IAAIC,EAAYC,EAAyBH,GACzCE,EAAYA,EAAUE,KAAI,SAACC,GACzB,GAAIC,EAASD,GAAO,OAAOA,EAAKJ,GAChC,OAAOI,CACT,IACA,OAAOH,CACT,+OCCaK,EAAkB,SAAlBA,EAAmBC,GAC9B,IACEpG,EAcEoG,EAdFpG,cACAqG,EAaED,EAbFC,cACAC,EAYEF,EAZFE,qBACAC,EAWEH,EAXFG,wBACAnG,EAUEgG,EAVFhG,uBACAoG,EASEJ,EATFI,qBACAC,EAQEL,EARFK,qBACcvG,EAOZkG,EAPFM,aACAC,EAMEP,EANFO,SACAC,EAKER,EALFQ,WACAtD,EAIE8C,EAJF9C,MACAuD,EAGET,EAHFS,aACAvG,EAEE8F,EAFF9F,SACGwG,EAAUC,EACXX,EAAKY,GAET,IAAMC,EAAwBC,EAAO,MAGrC,IAAMjH,EAAuBmG,EAAMe,eAAe,gBAElD,IAAAC,EAAAC,EAAA,CAIMC,MAAO,QAAShE,MAAO,QAASiE,SAAU,YAAeX,GAHtDY,EAAqBJ,EAA5BE,MACOG,EAAqBL,EAA5B9D,MACUoE,EAAwBN,EAAlCG,SAGF,IAAMI,EAAkBhG,GAAQ,WAAM,IAAA6D,EACpC,IAAKa,EAAe,OAAO,KAC3B,IAAMuB,EAASvB,IAAkB,KACjC,OAAAb,EAAAA,CAAAA,EAAAA,EACGgC,GAAwBI,EAAS,KAAOvB,EAAciB,MAAK9B,EAC3DiC,GAAwBG,EAAS,GAAKvB,EAAc/C,MAAKkC,CAE7D,GAAE,CAACgC,EAAuBC,EAAuBpB,IAElD,IAAMwB,EAAaC,EAAa1B,EAAM2B,KAAM,CAAC,aAE7C,IAAAC,EAA+DnI,EAAW,CACxEE,SAAU4G,EACV1G,qBAAAA,EACAI,SAAU+F,EAAM/F,SAChBL,cAAAA,EACAE,kBAAAA,EACAC,iBAAkB,SAAAA,EAACkF,GACjB,GAAI4B,EAAsBgB,QAAS,CACjC3B,eAAAA,EAAuBjB,GAAY,IACnC4B,EAAsBgB,QAAU,KAClC,CACA1B,eAAAA,EAA0BlB,GAAY,GACvC,EACDjF,uBAAAA,EACAE,SAAUA,IAAa2B,UAAY,KAAO3B,IAdpCa,EAAa6G,EAAb7G,cAAeH,EAAiBgH,EAAjBhH,kBAAmB0E,EAAgBsC,EAAhBtC,iBAiB1C,IAAMwC,EAAeC,EAAMC,gBAAe,SAACC,GACzC,GAAIxB,EAAc,CAChB,GAAIgB,EAAY,CACdzB,EAAM/F,UAAQ,UAAA,EAAd+F,EAAM/F,SAAWgI,EAAcA,EACjC,KAAO,CACLjC,EAAM/F,UAAN+F,UAAAA,EAAAA,EAAM/F,SAAWgI,EAAa,GAAIA,EACpC,CACF,KAAO,CACL,IAAMvC,EAAYuC,EAAarC,KAAI,SAACC,GAAI,OAAKA,EAAKwB,MAClD,GAAII,EAAY,CACdzB,EAAM/F,UAAQ,UAAA,EAAd+F,EAAM/F,SAAWyF,EAAWuC,EAC9B,KAAO,CACLjC,EAAM/F,UAAQ,UAAA,EAAd+F,EAAM/F,SAAWyF,EAAU,GAAIuC,EAAa,GAC9C,CACF,CACF,IAEA,IAAMC,EAAgBH,EAAMC,gBAAe,SAACG,EAAQC,GAClD,IAAKA,EAAa,OAAOpC,EAAM/F,UAAQ,UAAA,EAAd+F,EAAM/F,SAAW4B,WAC1C,IAAMoG,EAAetC,EAAcyC,GACnC,IAAMC,EAAa,GACnBJ,EAAaK,SAAQ,SAACzC,GACpB,GAAII,GAAiBsB,GAAmB1B,EAAK3C,QAAUqE,EAAgBF,GAAwB,CAC7FgB,EAAWE,KAAKhB,EAClB,KAAO,CACL,IAAMiB,EAAeC,EAAU7H,GAAqB,GAAIiF,EAAK3C,MAAOmE,GACpE,GAAImB,EAAc,CAChBH,EAAWE,KAAKC,EAClB,CACF,CACF,IACAV,EAAaO,EACf,IAEA,IAAMK,EAAkBnH,GAAQ,WAC9B,GAAIR,IAAkB,kBAAmB,MAAO,GAChD,IAAKH,GAAqBA,EAAkBH,SAAW,EAAG,MAAO,GACjE,IAAK8G,EAAiB,OAAO3G,EAC7B,MAAO,CAAC2G,GAAiBoB,OAAO/H,EACjC,GAAE,CAAC2G,EAAiBxG,EAAeH,IAEpC,IAAMgI,EAAU7H,IAAkB,mBAElC,IAAM8H,EAActH,GAAQ,WAC1B,IAAM8G,EAAa9C,EAAarC,EAAOmE,GACvC,OAAOI,EAAaY,EAAaA,EAAW,EAC7C,GAAE,CAACZ,EAAYJ,EAAuBnE,IAEvC,IAAM4F,EAAef,EAAMC,gBAAe,SAACe,EAAeC,GACxD,IAAMC,EAAWtD,EAAQqD,EAAOC,UAChC,IAAIC,EAAc,GAClBD,EAASX,SAAQ,SAACzC,GAChB,GAAIsD,EAAStD,GAAOqD,GAAerD,CACrC,IACA,OAAOqD,EAAYE,cAAcC,QAAQN,EAAMK,gBAAkB,CACnE,IAEA,OACEE,EAACC,EAAMtC,EAAA,CACLuC,WAAY,KACZC,WAAY,KACZC,yBAA0B,MAC1BZ,aAAcA,GACVpC,EAAU,CACdiD,MAAK1C,EAAA,CAAI2C,MAAO,QAAW5D,EAAM2D,OACjCzG,MAAO2F,EACPD,QAASA,EACT3I,SAAUiI,EACV1B,WAAY3E,UACZgI,WACE9I,IAAkB,gBAChBuI,EAAAQ,EAAA,CAAcC,KAAMnB,EAASoB,QAAS1E,IACpCzD,UAENoI,gBACEX,EAACY,EAAa,CACZ9G,OAAQrC,EACR6H,QAASA,EACTuB,cAAalD,EAAA,CACX,eAAgB,QACbZ,GAEL+D,YACEd,EAACe,EAAM,CAACC,KAAK,UAAUN,QAAS1E,EAAiB2D,SAAC,aAKvDA,SAEAP,EAAgB9C,KAAI,SAACC,EAAM0E,GAC1B,IAAMrH,EAAQ2C,EAAKwB,GACnB,IAAMH,EAAQrB,EAAKuB,GACnB,OACEoD,EAACjB,EAAOkB,OAAM,CACZvH,MAAOA,EACPgE,MAAOA,EAEPC,SAAUtB,EAAKyB,GAA0B2B,SAExCjD,CAAAA,EAAM0E,SACLpB,EAAA,OAAA,CAAMqB,UAAU,uBAAsB1B,SAAEjD,EAAM4E,MAAI,UAAA,EAAV5E,EAAM4E,KAAO/E,EAAM0E,KACzD,KACHnE,EAAuBA,EAAqBP,GAAQqB,IAN7ChE,EAASqH,IAAAA,QAY7B"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Select as n,Button as a}from"antd";import{useState as s,useMemo as i}from"react";import{R as u}from"./request-status-03fc60e2.js";import{jsx as l}from"react/jsx-runtime";var c=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames"];var v=function v(d){var f=d.showAllOption,p=d.serviceConfig,m=d.onSelectorListChange,h=d.onSelectorRequestError,g=d.requestMessageConfig,q=d.fieldNames,b=t(d,c);var C=s("request-init"),w=C[0],y=C[1];var R=s(),S=R[0],j=R[1];var k=(q==null?void 0:q.label)||"label";var A=(q==null?void 0:q.value)||"value";var O=(q==null?void 0:q.disabled)||"disabled";var x=(q==null?void 0:q.searchKeyword)||"searchKeyword";var E=p.params;var M=i((function(){var e=f===true;if(f){return{label:e?"全部":f.label,value:e?"":f.value}}return null}),[f]);var P=function e(r){var t=p.onRequestResultAdapter?p.onRequestResultAdapter(r):r;return t||[]};var B=function e(r){return new Promise((function(e,t){var n,a,s;var i=function(){try{return e()}catch(e){return t(e)}};var u=function(e){try{y("request-error");h==null?void 0:h(e);return i()}catch(e){return t(e)}};try{y("request-progress");return Promise.resolve(p.onRequest==null?void 0:p.onRequest(o({},E,(n={},n[x]=r,n)))).then((function(e){try{a=e;s=P(a);m==null?void 0:m(s);if(k&&A){s=s.map((function(e){return o({},e,{label:e[k],value:e[A],disabled:e[O||"disabled"]})}))}if(M){s.unshift(M)}j(s);y("request-success");return i()}catch(e){return u(e)}}),u)}catch(e){u(e)}}))};var K=r.useDebounceCallback((function(e){j([]);void B(e)}),300);var L=w==="request-progress";return l(n,o({showSearch:true,allowClear:true,dropdownMatchSelectWidth:false},b,{style:o({width:"100%"},d.style),options:S,filterOption:false,onSearch:K,notFoundContent:l(u,{status:w,loading:L,messageConfig:o({"request-init":"请输入搜索条件"},g),errorButton:l(a,{type:"primary",onClick:B,children:"重新获取数据"})}),suffixIcon:w==="request-error"?l(e,{spin:L,onClick:B}):undefined,loading:L}))};export{v as S};
3
- //# sourceMappingURL=selector-wrapper-search-aad145b5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-wrapper-search-aad145b5.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n fieldNames?: { label: string; value: string; disabled?: string; searchKeyword?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\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 SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = 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 searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\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 const respDataList = serviceConfig.onRequestResultAdapter\n ? serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return (respDataList || []) as TPlainObject[];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\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 || 'disabled'],\n };\n });\n }\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索条件',\n ...requestMessageConfig,\n }}\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":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","_extends","then","$await_2","map","item","unshift","onSearch","_hooks","useDebounceCallback","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{_ as r,a as t}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Select as n,Button as o}from"antd";import{useState as s,useMemo as u}from"react";import{fbaHooks as i}from"./fba-hooks/index.js";import{R as a}from"./request-status-03fc60e2.js";import{jsx as l}from"react/jsx-runtime";var c=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames"];var f=function f(v){var d=v.showAllOption,m=v.serviceConfig,p=v.onSelectorListChange,g=v.onSelectorRequestError,q=v.requestMessageConfig,h=v.fieldNames,C=r(v,c);var b=s("request-init"),R=b[0],y=b[1];var S=s(),j=S[0],w=S[1];var x=(h==null?void 0:h.label)||"label";var A=(h==null?void 0:h.value)||"value";var E=(h==null?void 0:h.disabled)||"disabled";var k=m.params;var O=u((function(){var e=d===true;if(d){return{label:e?"全部":d.label,value:e?"":d.value}}return null}),[d]);var P=function e(r){var t=m.onRequestResultAdapter?m.onRequestResultAdapter(r):r;return t||[]};var B=function e(){return new Promise((function(e,r){var n,o;var s=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{y("request-error");g==null?void 0:g(e);return s()}catch(e){return r(e)}};try{y("request-progress");return Promise.resolve(m.onRequest==null?void 0:m.onRequest(k)).then((function(e){try{n=e;o=P(n);p==null?void 0:p(o);if(x&&A){o=o.map((function(e){return t({},e,{label:e[x],value:e[A],disabled:e[E]})}))}if(O){o.unshift(O)}w(o);y("request-success");return s()}catch(e){return u(e)}}),u)}catch(e){u(e)}}))};i.useEffectCustom((function(){void B()}),[]);var L=R==="request-progress";return l(n,t({},C,{style:t({width:"100%"},v.style),options:j,notFoundContent:l(a,{status:R,loading:L,messageConfig:q,errorButton:l(o,{type:"primary",onClick:B,children:"重新获取数据"})}),suffixIcon:R==="request-error"?l(e,{spin:L,onClick:B}):undefined,loading:L}))};export{f as S};
3
- //# sourceMappingURL=selector-wrapper-simple-49384d37.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-wrapper-simple-49384d37.js","sources":["@flatbiz/antd/src/selector-wrapper-simple/selector-wrapper-simple.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Button, Select, SelectProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\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 fieldNames?: { label: string; value: string; disabled?: string };\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] = 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 const respDataList = serviceConfig.onRequestResultAdapter\n ? serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return (respDataList || []) as TPlainObject[];\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) {\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 {...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","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","Promise","$return","$error","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","then","$await_2","map","item","_extends","unshift","fbaHooks","useEffectCustom","loading","_jsx","Select","style","width","options","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":";2dAiDaA,EAAwB,SAAxBA,EAAyBC,GACpC,IACEC,EAOED,EAPFC,cACAC,EAMEF,EANFE,cACAC,EAKEH,EALFG,qBACAC,EAIEJ,EAJFI,uBACAC,EAGEL,EAHFK,qBACAC,EAEEN,EAFFM,WACGC,EAAUC,EACXR,EAAKS,GACT,IAAAC,EAA0CC,EAAyB,gBAA5DC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAAI,EAAoCH,IAA7BI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAMG,GAAwBX,eAAAA,EAAYY,QAAS,QACnD,IAAMC,GAAwBb,eAAAA,EAAYc,QAAS,QACnD,IAAMC,GAA2Bf,eAAAA,EAAYgB,WAAY,WACzD,IAAMC,EAAgBrB,EAAcsB,OAEpC,IAAMC,EAAkBC,GAAQ,WAC9B,IAAMC,EAAS1B,IAAkB,KACjC,GAAIA,EAAe,CACjB,MAAO,CACLiB,MAAOS,EAAS,KAAQ1B,EAAciB,MACtCE,MAAOO,EAAS,GAAM1B,EAAcmB,MAExC,CACA,OAAO,IACT,GAAG,CAACnB,IAEJ,IAAM2B,EAAyB,SAAzBA,EAA0BC,GAC9B,IAAMC,EAAe5B,EAAc6B,uBAC/B7B,EAAc6B,uBAAuBF,GACrCA,EACJ,OAAQC,GAAgB,IAG1B,IAAME,EAAyB,SAAzBA,IAAyB,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAGrBC,EACFC,EAxFV,IAAIC,aAAJ,IAAI,OAAAJ,GAAK,CAAC,MAAAK,GAAW,OAAOJ,EAAAI,EAAM,GAAlC,IAAIC,EAAA,SA0GSC,GA1Gb,IA2GM5B,EAAiB,iBACjBT,GAAAA,UAAAA,EAAAA,EAAyBqC,GA5G/B,OAAOH,GAAE,CAAC,MAAAC,GAAW,OAAOJ,EAAAI,EAAM,GAqF9B,IACE1B,EAAiB,oBACA,OAAAoB,QAAAS,QAAMxC,EAAcyC,WAAS,UAAA,EAAvBzC,EAAcyC,UAAYpB,IAAhCqB,eAA8CC,GAvFrE,IAuFYhB,EAAWgB,EACbR,EAAkBT,EAAuBC,GAC7C1B,GAAAA,UAAAA,EAAAA,EAAuBkC,GACvB,GAAIpB,GAAyBE,EAAuB,CAClDkB,EAAkBA,EAAgBS,KAAI,SAACC,GACrC,OAAAC,KACKD,EAAI,CACP7B,MAAO6B,EAAK9B,GACZG,MAAO2B,EAAK5B,GACZG,SAAUyB,EAAK1B,IAEnB,GACF,CAEA,GAAII,EAAiB,CACnBY,EAAgBY,QAAQxB,EAC1B,CACAT,EAAcqB,GACdxB,EAAiB,mBAzGvB,OAAOyB,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EA0G9B,CAAC,MAAOC,GAAOD,EAAPC,EAGT,CAAC,GACF,EAEDS,EAASC,iBAAgB,gBAClBnB,GACN,GAAE,IAEH,IAAMoB,EAAUxC,IAAkB,mBAElC,OACEyC,EAACC,EAAMN,KACDzC,EAAU,CACdgD,MAAKP,EAAA,CAAIQ,MAAO,QAAWxD,EAAMuD,OACjCE,QAAS1C,EACT2C,gBACEL,EAACM,EAAa,CACZC,OAAQhD,EACRwC,QAASA,EACTS,cAAexD,EACfyD,YACET,EAACU,EAAM,CAACC,KAAK,UAAUC,QAASjC,EAAuBkC,SAAC,aAM9DC,WACEvD,IAAkB,gBAChByC,EAAAe,EAAA,CAAcC,KAAMjB,EAASa,QAASjC,IACpCsC,UAENlB,QAASA,IAGf"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/CaretDownFilled";import r from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as l,a as u}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as s}from"@dimjs/model";import{Spin as o,Tree as c,Button as d,message as v}from"antd";import{forwardRef as f,useState as p,useMemo as h,useRef as m,useImperativeHandle as g,Fragment as b,isValidElement as y}from"react";import{treeToArray as L,treeToTiledArray as C,treeLeafParentsArray as w,isUndefinedOrNull as R,toArray as q,treeFilter as N}from"@flatbiz/utils";import{a as k}from"./button-operate-6add2cbf.js";import{D as S}from"./dropdown-menu-wrapper-2c4b6cad.js";import{fbaHooks as T}from"./fba-hooks/index.js";import{I as j}from"./input-search-wrapper-10d4a9b9.js";import{R as D}from"./request-status-03fc60e2.js";import{Model as E}from"@dimjs/model-react";import{tree as P}from"@dimjs/utils/cjs/tree";import{isObject as x}from"@dimjs/lang/cjs/is-object";import{dequal as A}from"dequal";import{jsxs as I,jsx as _}from"react/jsx-runtime";var V={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=L(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(r){return function(e){var t=L(e.treeList,r.childrenName);var a=t.find((function(e){return e[r.valueName]===r.value}));if(a){if(n(r.appendList)&&r.appendList.length>0){a[r.childrenName]=r.appendList}else{a.isLeaf=true}}e.treeTiledArray=L(e.treeList,r.childrenName)}}},state:V};var K={};var F=function e(r){if(!K[r]){K[r]=E(O)}return K[r]};var M=function e(r,t,n){var a=C(t,n);return w(r,a,true,{value:"value",parentValue:"parentValue"})};var U=function e(r,t){var a=R(r)?[]:r;a=n(a)?a:[a];a=a.map((function(e){if(x(e))return e[t.value];return e}));return a};var B=function e(r,t){var n=U(r,t);var a={};n.forEach((function(e){a[e]=true}));return a};var H=function e(r,t,n){if(R(r)&&R(t))return true;var a=B(r,n);var i=B(t,n);var l=A(a,i);return l};var W=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 o=t.value;var c=t.children;var d=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][c]){e(r[a][c],t,n)}}};var v=s(r);var f;d(v,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){d(v,a,(function(e){e[c]=e[c]||[];e[c].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){d(v,a,(function(e){e[c]=e[c]||[];e[c].unshift(f)}))}else{var p=[];var h;d(v,a,(function(e,r,t){p=t;h=r}));if(u===-1){p.splice(h,0,f)}else{p.splice(h+1,0,f)}}return{dataList:v,dragNodeData:z(i,v,t)}};var z=function e(r,t,n){var a;var i=n.value;var l=n.children;P.walkThroughTree((a={},a[i]=undefined,a[l]=t,a),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[i]}),l);var u=L(t,l);var s=u.find((function(e){return e[i]===r}));return{parentId:s==null?void 0:s["__parentId"],id:s==null?void 0:s[i],index:s==null?void 0:s["__index"]}};var G=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle"];var J=f((function(f,L){var w=f.style,E=f.serviceConfig,P=f.effectDependencyList,x=f.selectorTreeList,A=f.value,V=f.onChange,O=f.modelKey,K=f.checkableResponseParentNode,B=K===void 0?true:K,z=f.checkable,J=f.onSelectorTreeListChange,Q=f.onRequestResponseChange,X=f.treeItemDataAdapter,Y=f.searchValue,Z=f.showSearch,$=f.searchPlaceholder,ee=f.requestMessageConfig,re=f.labelInValueFieldNames,te=f.labelInValue,ne=f.disabledCanUse,ae=f.menuLayoutType,ie=f.menuTriggerType,le=f.initRootExpand,ue=f.searchResultType,se=f.onDropNodeHandle,oe=l(f,G);var ce=f.hasOwnProperty("selectorTreeList");var de=E||{};var ve=P||[];var fe=p(),pe=fe[0],he=fe[1];var me=F(O).useStore(),ge=me[0],be=me[1];var ye=T.useSafeState(false),Le=ye[0],Ce=ye[1];var we="request-progress-"+f.modelKey;var Re=h((function(){return u({label:"label",value:"value",children:"children"},f.fieldNames)}),[f.fieldNames]);var qe=m();var Ne=ae===undefined?"fold":ae;var ke=ie===undefined?"click":ie;var Se=z===true;var Te=h((function(){return u({label:"label",value:"value"},re)}),[re]);var je=p(),De=je[0],Ee=je[1];var Pe=m(true);var xe=p(0),Ae=xe[0],Ie=xe[1];var _e=m();var Ve=h((function(){var e=U(A,Te);return e}),[Te,A]);T.useEffectCustom((function(){if(R(A)&&Pe.current||ge.treeList.length==0)return;Pe.current=false;if(!H(A,_e.current,Te)){console.log("modelKey:"+O+" TreeWrapper key refresh",A,_e.current);_e.current=Se?Ve:Ve[0];var e=Ue(Ve,true);he(Array.from(new Set(e)));qe.current=Ve;Ie(Date.now())}}),[A,ge.treeList]);var Oe=function e(r){return r===""||R(r)};var Ke=function e(r){var t=de.onRequestResultAdapter?de.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ee(Y)}),[Y]);var Fe=i.useCallbackRef((function(){return new Promise((function(e,r){var t,n,i,l,u;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ce(false);void v.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!de.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=de.requiredParamsKeys;n=a({},de.params);if(t){i=t.find((function(e){return Oe(n[e])}));if(i){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[we]=false;Ce(false);void be.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{Ce(true);return Promise.resolve(be.changeRequestStatus("request-progress")).then((function(e){try{window[we]=true;return Promise.resolve(de.onRequest==null?void 0:de.onRequest(n)).then((function(e){try{l=e;Q==null?void 0:Q(l);u=Ke(l);Me(u||[]);Ce(false);if(le&&q(u).length){he([u==null?void 0:u[0][Re.value]])}window[we]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));T.useEffectCustom((function(){if(ce)return;if(Boolean(ve.length)){void Fe();return}var e=F(O).getState();if(e.requestStatus==="request-success"){return}if(!window[we]){void Fe();return}}),ve);T.useEffectCustom((function(){if(ce){Me(x||[])}}),[x]);var Me=i.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&ge.treeList.length===0){void be.changeRequestStatus("request-success");return}void be.setTreeList({treeList:e||[],childrenName:Re.children});J==null?void 0:J(e)}));var Ue=i.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&pe!=null&&pe.includes(e))return;var n=M(e,ge.treeList,Re);t=t.concat(n.map((function(e){return e.value})))}));return t}));i.useUpdateEffect((function(){if(De){var e=C(ge.treeList||[],Re);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(De||"")}));he((function(e){var t=Ue(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{he([])}}),[De]);g(L,(function(){return{onClearSelectorList:function e(){void be.resetTreeList()},getTreeDataList:function e(){return ge.treeList}}}));var Be=i.useCallbackRef((function(e){he(e)}));var He=i.useCallbackRef((function(e,r,t){_e.current=e;var a=R(r)?[]:n(r)?r:[r];if(R(e)){V==null?void 0:V(e,r,t);return}if(te){var i=Te.label;var l=Te.value;var u=a.map((function(e){var r;return r={},r[i]=e[Re.label],r[l]=e[Re.value],r}));if(n(e)){V==null?void 0:V(u,a,t)}else{V==null?void 0:V(u[0],a[0],t)}}else{if(n(e)){V==null?void 0:V(e,a,t)}else{V==null?void 0:V(e,a[0],t)}}}));var We=i.useCallbackRef((function(e,r){var t=f.checkStrictly?e.checked:e;t=R(e)?[]:e;t=n(t)?t:[t];var a=[];var i=[];var l=[];var u=[];t.forEach((function(e){var r=ge.treeTiledArray.find((function(r){return r[Re.value]===e}));if(!r)return;var t=r==null?void 0:r[Re.children];if(!n(t)||t.length===0){a.push(r);i.push(r[Re.value])}l.push(r);u.push(r[Re.value])}));if(z){he((function(e){var r=Ue(i).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!f.checkStrictly){He(i,a,l)}else{He(u,l,l)}}else{if(t[0]){var s=l.find((function(e){return e[Re.value]===t[0]}));He(t[0],s,[s])}else{var o=r.node[Re.value];var c=ge.treeTiledArray.find((function(e){return e[Re.value]===o}));He(undefined,c,[c])}}}));var ze=i.useCallbackRef((function(e){return X==null?void 0:X(e)}));var Ge=h((function(){var e=s(ge.treeList||[]);if(De&&ue!=="highlight"){return N(s(ge.treeList||[]),(function(e){var r;var t=(r=e[Re.label])==null?void 0:r.toLowerCase();return t.indexOf(De.toLowerCase())>=0}))}return e}),[Re.label,ue,ge.treeList,De]);var Je=h((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var a;var i=(ze==null?void 0:ze(r))||r;var l=ne?undefined:i.disabled;var s=i[Re.label];var o;if(De){var c=s.indexOf(De);var d=s.substring(0,c);var v=s.slice(c+De.length);o=c>-1?I("span",{className:t({"v-tree-item-disabled":i.disabled}),children:[d,_("span",{className:"site-tree-search-value",children:De}),v]}):null}if(!o){o=_("span",{className:t({"v-tree-item-disabled":i.disabled}),children:s})}var f=i[Re.children];return u({},i,(a={disabled:l},a[Re.label]=o,a._treeItemName=s,a._disabled=i.disabled,a[Re.children]=n(f)&&f.length>0?e(f):undefined,a))}))};return e(Ge)}),[Ge,ze,ne,Re.label,Re.children,De]);var Qe=i.useCallbackRef((function(e){return new Promise((function(r,t){return new Promise((function(n,a){var i,l,u,s;if(e[Re.children]){r();return n()}var o=function(){try{return n()}catch(e){return a(e)}};var c=function(e){try{void v.error(e.message||"数据加载异常...");t();return o()}catch(e){return a(e)}};try{return Promise.resolve((i=f.loadDataServiceConfig)==null?void 0:i.onRequest==null?void 0:i.onRequest((l=f.loadDataServiceConfig)==null?void 0:l.getParams==null?void 0:l.getParams(e))).then((function(t){try{u=t;s=de.onRequestResultAdapter?de.onRequestResultAdapter(u):u;void be.treeListAppendChildren({value:e[Re.value],appendList:s,childrenName:Re.children,valueName:Re.value}).then((function(e){Me(e.treeList);r()}));return o()}catch(e){return c(e)}}),c)}catch(e){c(e)}}))}))}));var Xe=i.useCallbackRef((function(e){var r=e==null?void 0:e[Re.children];var t=f.loadDataFlag;var n=t?!e.isLeaf:false;var a=r&&r.length>0||n;return!a}));var Ye=i.useCallbackRef((function(e){var n,a;var i=e._treeItemName||e[Re.label];if(Ne==="fold"){var l;var s=[];if((l=f.menuOptions)!=null&&l.fold){var o,c,d;s=((o=f.menuOptions)==null?void 0:(c=o[Ne])==null?void 0:c.call(o,u({},e,(d={},d[Re.label]=i,d))))||[]}else{var v;s=(f.getMenuOptions==null?void 0:f.getMenuOptions(u({},e,(v={},v[Re.label]=i,v))))||[]}return I(b,{children:[_("span",{className:"tree-item-title",children:e==null?void 0:e[Re.label]}),s.length>0&&_(S,{menuList:s,children:_(r,{})})]})}var p=(n=f.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(u({},e,(a={},a[Re.label]=i,a)));return I(b,{children:[_("span",{className:"tree-item-title",children:e==null?void 0:e[Re.label]}),p?_(k,u({},p,{gap:5,className:t("tree-item-title-operate",p.className)})):null]})}));var Ze=i.useDebounceCallback((function(e){Ee(e);f.onSearchValueChange==null?void 0:f.onSearchValueChange(e)}),300);var $e=i.useCallbackRef((function(e){Ze(e.target.value)}));var er=i.useCallbackRef((function(e){if(!f.icon)return null;if(y(f.icon))return f.icon;var r=Xe(e.data);return f.icon(u({},e,{isParent:!r,isLeaf:r}))}));var rr=h((function(){return{title:Re.label,key:Re.value,children:Re.children}}),[Re]);var tr=Je.length>0&&ge.requestStatus!=="request-error";var nr=u({showLine:{showLeafIcon:false},titleRender:Ye,blockNode:true,switcherIcon:_(e,{}),onDrop:function e(r){var t=W(Ge,Re,r),n=t.dataList,a=t.dragNodeData;se==null?void 0:se(a);Me(n)}},oe,{fieldNames:rr,expandedKeys:pe,treeData:Je,onExpand:Be,loadData:f.loadDataFlag?Qe:undefined,style:{width:"100%"},icon:er});var ar={onCheck:We,checkable:z,defaultCheckedKeys:qe.current};var ir={onSelect:We,multiple:false,defaultSelectedKeys:qe.current};var lr=z?ar:ir;var ur=t("v-tree-wrapper","v-tree-wrapper-menu-"+ke);var sr=ge.treeList.length>0&&!tr&&De;return I("div",{className:ur,style:w,children:[!!Z&&I("div",{className:"v-tree-wrapper-search-area",children:[_(j,{className:"v-tree-wrapper-search",placeholder:$,onChange:$e,value:Y,allowClear:true}),!!f.searchExtraElement&&_("span",{className:"v-tree-wrapper-search-extra",children:f.searchExtraElement})]}),tr?I("div",{className:"v-tree-wrapper-tree-wrapper",children:[_(o,{spinning:ge.requestStatus==="request-progress"}),_(c,u({},lr,nr,{className:"v-tree-wrapper-tree"}),Ae)]}):_(D,{status:ge.requestStatus,loading:Le,messageConfig:u({"request-success":sr?"搜索结果为空":"暂无数据"},ee),errorButton:_(d,{type:"primary",onClick:Fe,children:"重新获取数据"})})]})}));J.defaultProps={disabledCanUse:true};export{J as T};
3
- //# sourceMappingURL=tree-wrapper-85aa72d7.js.map