@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.
- package/esm/dialog-alert/index.css +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/{dialog-alert-0ca83448.js → dialog-alert-96962d07.js} +2 -2
- package/esm/{dialog-alert-0ca83448.js.map → dialog-alert-96962d07.js.map} +1 -1
- package/esm/dialog-confirm/index.css +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/{dialog-confirm-b289f5ed.js → dialog-confirm-4dacc583.js} +2 -2
- package/esm/{dialog-confirm-b289f5ed.js.map → dialog-confirm-4dacc583.js.map} +1 -1
- package/esm/dialog-modal/index.css +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal-459d2be5.js +3 -0
- package/esm/dialog-modal-459d2be5.js.map +1 -0
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-table/index.js +5 -2
- package/esm/editable-table-d3afee03.js +3 -0
- package/esm/{editable-table-6bd8df15.js.map → editable-table-d3afee03.js.map} +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper-defe35d6.js +3 -0
- package/esm/selector-wrapper-defe35d6.js.map +1 -0
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search-228c96c5.js +3 -0
- package/esm/selector-wrapper-search-228c96c5.js.map +1 -0
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple-c51eba69.js +3 -0
- package/esm/selector-wrapper-simple-c51eba69.js.map +1 -0
- package/esm/simple-layout/index.css +1 -1
- package/esm/tree-wrapper/index.js +3 -3
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/types/index.js +1 -0
- package/esm/types/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper-df8a2277.js +3 -0
- package/esm/upload-wrapper-df8a2277.js.map +1 -0
- package/index.d.ts +109 -92
- package/index.js +1 -1
- package/package.json +3 -3
- package/esm/dialog-modal-225b0fe0.js +0 -3
- package/esm/dialog-modal-225b0fe0.js.map +0 -1
- package/esm/editable-table-6bd8df15.js +0 -3
- package/esm/selector-wrapper-ece722f5.js +0 -3
- package/esm/selector-wrapper-ece722f5.js.map +0 -1
- package/esm/selector-wrapper-search-aad145b5.js +0 -3
- package/esm/selector-wrapper-search-aad145b5.js.map +0 -1
- package/esm/selector-wrapper-simple-49384d37.js +0 -3
- package/esm/selector-wrapper-simple-49384d37.js.map +0 -1
- package/esm/tree-wrapper-85aa72d7.js +0 -3
- package/esm/tree-wrapper-85aa72d7.js.map +0 -1
- package/esm/upload-wrapper-f20208d6.js +0 -3
- 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
|
-
/**
|
|
2435
|
+
/**
|
|
2436
|
+
* 菜单结构类型 tile/平铺 fold/折叠;默认:fold
|
|
2437
|
+
* ```
|
|
2438
|
+
* 自定义设置 titleRender 后失效
|
|
2439
|
+
* ```
|
|
2440
|
+
*/
|
|
2396
2441
|
menuLayoutType?: "tile" | "fold";
|
|
2397
|
-
/**
|
|
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
|
-
*
|
|
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
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
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
|
-
|
|
2592
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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":"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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{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
|