@flatbiz/antd 4.2.69 → 4.2.71
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/amount-fen-input/index.css +0 -0
- package/esm/amount-fen-input/index.js +5 -0
- package/esm/amount-fen-input/index.js.map +1 -0
- package/esm/amount-fen-input-form-item/index.css +1 -0
- package/esm/amount-fen-input-form-item/index.js +5 -0
- package/esm/amount-fen-input-form-item/index.js.map +1 -0
- package/esm/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/config-provider-wrapper/index.js.map +1 -1
- package/esm/context-1f2093c6.js.map +1 -1
- package/esm/css-node-hover/index.js +1 -1
- package/esm/css-node-hover/index.js.map +1 -1
- package/esm/data-render/index.js +1 -1
- package/esm/data-render/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dom-4d04aa64.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/dynamic-node/index.js +1 -1
- package/esm/dynamic-node/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-field-provider/index.js +1 -1
- package/esm/editable-field-provider/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-hidden/index.js +1 -1
- package/esm/form-item-hidden/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/gap/index.js +1 -1
- package/esm/gap/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/index.js +5 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/page-fixed-footer/index.js +1 -1
- package/esm/page-fixed-footer/index.js.map +1 -1
- package/esm/page404/index.js +1 -1
- package/esm/page404/index.js.map +1 -1
- package/esm/pagination-wrapper/index.js +1 -1
- package/esm/permission/index.js +1 -1
- package/esm/permission/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.js +1 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/table-title-tooltip/index.js +1 -1
- package/esm/table-title-tooltip/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-overflow-render/index.js.map +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +2 -2
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/index.d.ts +219 -1
- package/package.json +3 -3
- package/esm/_rollupPluginBabelHelpers-1f4d8910.js +0 -3
- package/esm/_rollupPluginBabelHelpers-1f4d8910.js.map +0 -1
- package/esm/anchor-steps-601a335f.js +0 -3
- package/esm/anchor-steps-601a335f.js.map +0 -1
- package/esm/button-operate-d00df6c9.js +0 -3
- package/esm/button-operate-d00df6c9.js.map +0 -1
- package/esm/button-wrapper-125fce50.js +0 -3
- package/esm/button-wrapper-125fce50.js.map +0 -1
- package/esm/cascader-wrapper-2f6a926f.js +0 -3
- package/esm/cascader-wrapper-2f6a926f.js.map +0 -1
- package/esm/cell-render-4934a7de.js +0 -3
- package/esm/cell-render-4934a7de.js.map +0 -1
- package/esm/center-a4dfda6f.js +0 -3
- package/esm/center-a4dfda6f.js.map +0 -1
- package/esm/checkbox-wrapper-018a5c59.js +0 -3
- package/esm/checkbox-wrapper-018a5c59.js.map +0 -1
- package/esm/config-provider-wrapper-dfe8f592.js +0 -3
- package/esm/config-provider-wrapper-dfe8f592.js.map +0 -1
- package/esm/content-c0e49ffb.js +0 -3
- package/esm/content-c0e49ffb.js.map +0 -1
- package/esm/css-node-hover-ed7b9860.js +0 -3
- package/esm/css-node-hover-ed7b9860.js.map +0 -1
- package/esm/data-render-07c0ab6b.js +0 -3
- package/esm/data-render-07c0ab6b.js.map +0 -1
- package/esm/date-picker-wrapper-ba650858.js +0 -3
- package/esm/date-picker-wrapper-ba650858.js.map +0 -1
- package/esm/date-range-picker-wrapper-fb15c592.js +0 -3
- package/esm/date-range-picker-wrapper-fb15c592.js.map +0 -1
- package/esm/date-range-picker-wrapper-form-item-688cf465.js +0 -3
- package/esm/date-range-picker-wrapper-form-item-688cf465.js.map +0 -1
- package/esm/dialog-alert-89d37729.js +0 -3
- package/esm/dialog-alert-89d37729.js.map +0 -1
- package/esm/dialog-confirm-74fc9337.js +0 -3
- package/esm/dialog-confirm-74fc9337.js.map +0 -1
- package/esm/dialog-drawer-550ce42c.js +0 -3
- package/esm/dialog-drawer-550ce42c.js.map +0 -1
- package/esm/dialog-loading-53cf2c60.js +0 -3
- package/esm/dialog-loading-53cf2c60.js.map +0 -1
- package/esm/dialog-modal-4a0c72c5.js +0 -3
- package/esm/dialog-modal-4a0c72c5.js.map +0 -1
- package/esm/drag-collapse-24ccfe8c.js +0 -3
- package/esm/drag-collapse-24ccfe8c.js.map +0 -1
- package/esm/drag-collapse-433fb1e0.js +0 -3
- package/esm/drag-collapse-433fb1e0.js.map +0 -1
- package/esm/drawer-wrapper-9af2f178.js +0 -3
- package/esm/drawer-wrapper-9af2f178.js.map +0 -1
- package/esm/dropdown-menu-wrapper-3a565fd8.js +0 -3
- package/esm/dropdown-menu-wrapper-3a565fd8.js.map +0 -1
- package/esm/dynamic-node-c7864af4.js +0 -3
- package/esm/dynamic-node-c7864af4.js.map +0 -1
- package/esm/editable-field-bcac193d.js +0 -3
- package/esm/editable-field-bcac193d.js.map +0 -1
- package/esm/editable-field-provider-3223073a.js +0 -3
- package/esm/editable-field-provider-3223073a.js.map +0 -1
- package/esm/editable-table-64554cac.js +0 -3
- package/esm/editable-table-64554cac.js.map +0 -1
- package/esm/editor-wrapper-ff6e75b7.js +0 -3
- package/esm/editor-wrapper-ff6e75b7.js.map +0 -1
- package/esm/fba-utils-f9e11d02.js +0 -3
- package/esm/fba-utils-f9e11d02.js.map +0 -1
- package/esm/file-import-890a1df9.js +0 -3
- package/esm/file-import-890a1df9.js.map +0 -1
- package/esm/flex-layout-8d2b668b.js +0 -3
- package/esm/flex-layout-8d2b668b.js.map +0 -1
- package/esm/form-item-hidden-45541774.js +0 -3
- package/esm/form-item-hidden-45541774.js.map +0 -1
- package/esm/form-item-wrapper-208febed.js +0 -3
- package/esm/form-item-wrapper-208febed.js.map +0 -1
- package/esm/gap-284e1f59.js +0 -3
- package/esm/gap-284e1f59.js.map +0 -1
- package/esm/icon-wrapper-ed5fcacc.js +0 -3
- package/esm/icon-wrapper-ed5fcacc.js.map +0 -1
- package/esm/in-view-448ba714.js +0 -3
- package/esm/in-view-448ba714.js.map +0 -1
- package/esm/input-search-wrapper-10d4a9b9.js +0 -3
- package/esm/input-search-wrapper-10d4a9b9.js.map +0 -1
- package/esm/input-text-area-wrapper-1f22992b.js +0 -3
- package/esm/input-text-area-wrapper-1f22992b.js.map +0 -1
- package/esm/input-wrapper-338ae416.js +0 -3
- package/esm/input-wrapper-338ae416.js.map +0 -1
- package/esm/label-value-layout-beb35b0d.js +0 -3
- package/esm/label-value-layout-beb35b0d.js.map +0 -1
- package/esm/modal-action-5c5ca8a7.js +0 -3
- package/esm/modal-action-5c5ca8a7.js.map +0 -1
- package/esm/modal-wrapper-ff8df98b.js +0 -3
- package/esm/modal-wrapper-ff8df98b.js.map +0 -1
- package/esm/page-fixed-footer-9ec2b46c.js +0 -3
- package/esm/page-fixed-footer-9ec2b46c.js.map +0 -1
- package/esm/page404-f087129a.js +0 -3
- package/esm/page404-f087129a.js.map +0 -1
- package/esm/pagination-0e66a3b5.js +0 -3
- package/esm/pagination-0e66a3b5.js.map +0 -1
- package/esm/permission-17ed4d0b.js +0 -3
- package/esm/permission-17ed4d0b.js.map +0 -1
- package/esm/radio-group-wrapper-b34746d1.js +0 -3
- package/esm/radio-group-wrapper-b34746d1.js.map +0 -1
- package/esm/relation-tree-7bec12bd.js +0 -3
- package/esm/relation-tree-7bec12bd.js.map +0 -1
- package/esm/request-status-03fc60e2.js +0 -3
- package/esm/request-status-03fc60e2.js.map +0 -1
- package/esm/rich-text-editor-213daa34.js +0 -3
- package/esm/rich-text-editor-213daa34.js.map +0 -1
- package/esm/rich-text-viewer-4a859351.js +0 -3
- package/esm/rich-text-viewer-4a859351.js.map +0 -1
- package/esm/rule-describe-b4a8e831.js +0 -3
- package/esm/rule-describe-b4a8e831.js.map +0 -1
- package/esm/selector-wrapper-efc44920.js +0 -3
- package/esm/selector-wrapper-efc44920.js.map +0 -1
- package/esm/selector-wrapper-search-54866dd6.js +0 -3
- package/esm/selector-wrapper-search-54866dd6.js.map +0 -1
- package/esm/selector-wrapper-simple-7b34f7bd.js +0 -3
- package/esm/selector-wrapper-simple-7b34f7bd.js.map +0 -1
- package/esm/simple-layout-0dce0d39.js +0 -3
- package/esm/simple-layout-0dce0d39.js.map +0 -1
- package/esm/sms-count-down-c2609386.js +0 -3
- package/esm/sms-count-down-c2609386.js.map +0 -1
- package/esm/switch-confirm-wrapper-984d57c4.js +0 -3
- package/esm/switch-confirm-wrapper-984d57c4.js.map +0 -1
- package/esm/switch-wrapper-f20b9a58.js +0 -3
- package/esm/switch-wrapper-f20b9a58.js.map +0 -1
- package/esm/table-scrollbar-66c1682c.js +0 -3
- package/esm/table-scrollbar-66c1682c.js.map +0 -1
- package/esm/tabs-wrapper-0a2da713.js +0 -3
- package/esm/tabs-wrapper-0a2da713.js.map +0 -1
- package/esm/tag-group-4fbcaa14.js +0 -3
- package/esm/tag-group-4fbcaa14.js.map +0 -1
- package/esm/tag-list-select-066f682f.js +0 -3
- package/esm/tag-list-select-066f682f.js.map +0 -1
- package/esm/tag-wrapper-6d8b505e.js +0 -3
- package/esm/tag-wrapper-6d8b505e.js.map +0 -1
- package/esm/text-css-ellipsis-9135d4c5.js +0 -3
- package/esm/text-css-ellipsis-9135d4c5.js.map +0 -1
- package/esm/text-overflow-render-7a6541f5.js +0 -3
- package/esm/text-overflow-render-7a6541f5.js.map +0 -1
- package/esm/time-picker-wrapper-f1d26d96.js +0 -3
- package/esm/time-picker-wrapper-f1d26d96.js.map +0 -1
- package/esm/time-range-picker-wrapper-be9850b5.js +0 -3
- package/esm/time-range-picker-wrapper-be9850b5.js.map +0 -1
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js +0 -3
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js.map +0 -1
- package/esm/title-render-4f255df0.js +0 -3
- package/esm/title-render-4f255df0.js.map +0 -1
- package/esm/tree-selector-wrapper-1e520ad1.js +0 -3
- package/esm/tree-selector-wrapper-1e520ad1.js.map +0 -1
- package/esm/upload-wrapper-bd9ef592.js +0 -3
- package/esm/upload-wrapper-bd9ef592.js.map +0 -1
package/index.d.ts
CHANGED
|
@@ -17,6 +17,26 @@ import { UploadFile } from 'antd/lib/upload/interface';
|
|
|
17
17
|
import { CSSProperties, DependencyList, FC, ReactElement, ReactNode } from 'react';
|
|
18
18
|
import { Editor as TinyMCEEditor } from 'tinymce';
|
|
19
19
|
|
|
20
|
+
export type AmountFenInputProps = Omit<InputNumberProps, "defaultValue"> & {
|
|
21
|
+
value?: number;
|
|
22
|
+
onChange?: (value?: number) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare const AmountFenInput: (props: AmountFenInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export type AmountFenInputFormItemProps = FormItemProps & {
|
|
26
|
+
inputNumberProps?: Omit<InputNumberProps, "value" | "onChange" | "defaultValue">;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* 分金额输入组件(集成了FormItem),入参为分,返回为分,显示为元
|
|
30
|
+
* ```
|
|
31
|
+
* 例如:
|
|
32
|
+
* <AmountFenInputFormItem
|
|
33
|
+
* inputNumberProps={{ placeholder: '请输入', style: { width: 'auto' } }}
|
|
34
|
+
* name="amount"
|
|
35
|
+
* label="金额"
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare const AmountFenInputFormItem: (props: AmountFenInputFormItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
40
|
export type AnchorStepsProps = {
|
|
21
41
|
steps: {
|
|
22
42
|
id: string;
|
|
@@ -2447,6 +2467,27 @@ export declare const tableCellRender: {
|
|
|
2447
2467
|
* ```
|
|
2448
2468
|
*/
|
|
2449
2469
|
objectCell: (key: string, defaultValue?: string) => (value?: TPlainObject) => any;
|
|
2470
|
+
/**
|
|
2471
|
+
* 分金额展示,入参分,显示元(默认添加千分位)
|
|
2472
|
+
* ```
|
|
2473
|
+
* 可配置
|
|
2474
|
+
* 1. separator:是否显示千分位分隔符,默认值:false
|
|
2475
|
+
* 2. defaultValue:当值为空默认展示
|
|
2476
|
+
*
|
|
2477
|
+
* 例如:
|
|
2478
|
+
* fen2yuanCell()(100090) => 1000.90
|
|
2479
|
+
* fen2yuanCell({separator: true})(100090) => 1,000.90
|
|
2480
|
+
* fen2yuanCell()('abc') => abc
|
|
2481
|
+
* fen2yuanCell({defaultValue: '--'})('') => --
|
|
2482
|
+
* fen2yuanCell()('') => undefined
|
|
2483
|
+
* fen2yuanCell({ defaultValue: 0 })('') => 0.00
|
|
2484
|
+
* ```
|
|
2485
|
+
*/
|
|
2486
|
+
fen2yuanCell: (options?: {
|
|
2487
|
+
/** 是否显示分隔符,默认值:false */
|
|
2488
|
+
separator?: boolean;
|
|
2489
|
+
defaultValue?: string | number;
|
|
2490
|
+
}) => (value?: string | number) => string | number | undefined;
|
|
2450
2491
|
};
|
|
2451
2492
|
export type TableScrollProps = {
|
|
2452
2493
|
children: React.ReactNode;
|
|
@@ -2789,6 +2830,183 @@ export type TreeSelectorWrapperProps = Omit<TreeSelectProps, "treeExpandedKeys"
|
|
|
2789
2830
|
* ```
|
|
2790
2831
|
*/
|
|
2791
2832
|
export declare const TreeSelectorWrapper: (props: TreeSelectorWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
2833
|
+
export type TreeWrapperValue = string | number | Array<string | number> | TPlainObject<string | number> | Array<TPlainObject<string | number>>;
|
|
2834
|
+
export type TreeServiceConfig = {
|
|
2835
|
+
params?: TPlainObject;
|
|
2836
|
+
requiredParamsKeys?: string[];
|
|
2837
|
+
onRequest?: (params?: TAny) => TAny;
|
|
2838
|
+
/**
|
|
2839
|
+
* 响应数据适配器
|
|
2840
|
+
*/
|
|
2841
|
+
onRequestResultAdapter?: (respData: TAny) => TPlainObject[];
|
|
2842
|
+
};
|
|
2843
|
+
export type TreeLoadDataServiceConfig = {
|
|
2844
|
+
getParams: (dataItem: TPlainObject) => TPlainObject;
|
|
2845
|
+
onRequest: (params: TPlainObject) => TAny;
|
|
2846
|
+
/**
|
|
2847
|
+
* 响应数据适配器
|
|
2848
|
+
*/
|
|
2849
|
+
onRequestResultAdapter?: (respData: TAny) => TPlainObject[];
|
|
2850
|
+
};
|
|
2851
|
+
export type TreeWrapperMenuItem = {
|
|
2852
|
+
title: string;
|
|
2853
|
+
onClick: (dataItem: TPlainObject, event: any) => void;
|
|
2854
|
+
icon?: ReactElement;
|
|
2855
|
+
};
|
|
2856
|
+
export type TreeWrapperProps = Omit<TreeProps, "treeData" | "onExpand" | "selectedKeys" | "checkedKeys" | "onCheck" | "onSelect" | "fieldNames" | "multiple" | "loadData" | "icon" | "defaultCheckedKeys" | "defaultExpandParent" | "defaultSelectedKeys"> & {
|
|
2857
|
+
modelKey: string;
|
|
2858
|
+
/**
|
|
2859
|
+
* useEffect依赖项数组,用于重新发起获取接口数据
|
|
2860
|
+
*/
|
|
2861
|
+
effectDependencyList?: DependencyList;
|
|
2862
|
+
/**
|
|
2863
|
+
* 请求服务需求的数据,当设置`selectorTreeList`后无效果
|
|
2864
|
+
*/
|
|
2865
|
+
serviceConfig?: TreeServiceConfig;
|
|
2866
|
+
loadDataServiceConfig?: TreeLoadDataServiceConfig;
|
|
2867
|
+
/**
|
|
2868
|
+
* 当设置selectorTreeList后,serviceConfig将失效
|
|
2869
|
+
* ```
|
|
2870
|
+
* 1. 不支持异步数据,异步使用serviceConfig方式
|
|
2871
|
+
* ```
|
|
2872
|
+
*/
|
|
2873
|
+
selectorTreeList?: TPlainObject[];
|
|
2874
|
+
/**
|
|
2875
|
+
* 通过服务获取数据后回调,当设置`selectorList`后无效果
|
|
2876
|
+
* ```
|
|
2877
|
+
* 相同modelKey,同时发起多个渲染时,只有第一个会执行 onSelectorTreeListChange 回调
|
|
2878
|
+
* ```
|
|
2879
|
+
*/
|
|
2880
|
+
onSelectorTreeListChange?: (dataList: TPlainObject[]) => void;
|
|
2881
|
+
onRequestResponseChange?: (data: TAny) => void;
|
|
2882
|
+
onChange?: (selectedKey?: TreeWrapperValue, operateNodeData?: TPlainObject[] | TPlainObject, operateAllNodeDataList?: TPlainObject[]) => void;
|
|
2883
|
+
fieldNames?: {
|
|
2884
|
+
label?: string;
|
|
2885
|
+
value?: string;
|
|
2886
|
+
children?: string;
|
|
2887
|
+
};
|
|
2888
|
+
/**
|
|
2889
|
+
* 搜索关键字,打开tree折叠过滤关键字
|
|
2890
|
+
*/
|
|
2891
|
+
searchValue?: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* checkable模式下,onChange是否返回父节点,默认值true
|
|
2894
|
+
* 1. checkStrictly = true,模式下失效
|
|
2895
|
+
*/
|
|
2896
|
+
checkableResponseParentNode?: boolean;
|
|
2897
|
+
loadDataFlag?: boolean;
|
|
2898
|
+
/**
|
|
2899
|
+
* 菜单结构类型 tile/平铺 fold/折叠;默认:fold
|
|
2900
|
+
* @deprecated 已过期 4.3.0版本移除,请使用 menus
|
|
2901
|
+
* ```
|
|
2902
|
+
* 自定义设置 titleRender 后失效
|
|
2903
|
+
* ```
|
|
2904
|
+
*/
|
|
2905
|
+
menuLayoutType?: "tile" | "fold";
|
|
2906
|
+
/**
|
|
2907
|
+
* 获取菜单类别
|
|
2908
|
+
* @param dataItem
|
|
2909
|
+
* @deprecated 已过期 4.3.0版本移除,请使用 menus
|
|
2910
|
+
* @returns
|
|
2911
|
+
* ```
|
|
2912
|
+
* 1. menuLayoutType = tile 无效
|
|
2913
|
+
* 2. 自定义设置 titleRender 后失效
|
|
2914
|
+
* ```
|
|
2915
|
+
*/
|
|
2916
|
+
getMenuOptions?: (dataItem: TPlainObject) => DropdownMenuItem[] | ButtonOperateItem[];
|
|
2917
|
+
/**
|
|
2918
|
+
* 根据 menuLayoutType 类型赋值
|
|
2919
|
+
* @deprecated 已过期 4.3.0版本移除,请使用 menuOptions
|
|
2920
|
+
*/
|
|
2921
|
+
menuOptions?: {
|
|
2922
|
+
tile?: (dataItem: TPlainObject) => ButtonOperateProps;
|
|
2923
|
+
fold?: (dataItem: TPlainObject) => DropdownMenuItem[];
|
|
2924
|
+
};
|
|
2925
|
+
/**
|
|
2926
|
+
* 菜单触发类型,默认:click
|
|
2927
|
+
* ```
|
|
2928
|
+
* 自定义设置 titleRender 后失效
|
|
2929
|
+
* ```
|
|
2930
|
+
*/
|
|
2931
|
+
menuTriggerType?: "click" | "hover";
|
|
2932
|
+
menus?: (dataItem: any) => ButtonOperateProps;
|
|
2933
|
+
showSearch?: boolean;
|
|
2934
|
+
onSearchValueChange?: (searchValue?: string) => void;
|
|
2935
|
+
searchPlaceholder?: string;
|
|
2936
|
+
searchStyle?: CSSProperties;
|
|
2937
|
+
icon?: (data: {
|
|
2938
|
+
isParent: boolean;
|
|
2939
|
+
isLeaf: boolean;
|
|
2940
|
+
}) => ReactElement;
|
|
2941
|
+
/**
|
|
2942
|
+
* 是否必选,最后一个不能取消
|
|
2943
|
+
*/
|
|
2944
|
+
requestMessageConfig?: TRequestStatusProps["messageConfig"];
|
|
2945
|
+
/**
|
|
2946
|
+
* value格式
|
|
2947
|
+
*```
|
|
2948
|
+
* 1. string 、number
|
|
2949
|
+
* 2. Array<string | number>
|
|
2950
|
+
* 3. lableInValue = true,根据labelInValueFieldNames配置格式
|
|
2951
|
+
* 4. lableInValue = true,Array<labelInValueFieldNames配置>
|
|
2952
|
+
* ```
|
|
2953
|
+
*/
|
|
2954
|
+
value?: TreeWrapperValue;
|
|
2955
|
+
labelInValue?: boolean;
|
|
2956
|
+
/**
|
|
2957
|
+
* ```
|
|
2958
|
+
* lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }
|
|
2959
|
+
* ```
|
|
2960
|
+
*/
|
|
2961
|
+
labelInValueFieldNames?: {
|
|
2962
|
+
label: string;
|
|
2963
|
+
value: string;
|
|
2964
|
+
};
|
|
2965
|
+
/**
|
|
2966
|
+
* 禁用状态是否可选,默认值true
|
|
2967
|
+
* 当dateItem中包含 disabled 则数据为禁用状态
|
|
2968
|
+
*/
|
|
2969
|
+
disabledCanUse?: boolean;
|
|
2970
|
+
/** treeItem数据适配器 */
|
|
2971
|
+
treeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;
|
|
2972
|
+
/** 搜索位置额外元素 */
|
|
2973
|
+
searchExtraElement?: ReactElement;
|
|
2974
|
+
/** 有唯一跟节点时,初始化是否展开,默认值:false */
|
|
2975
|
+
initRootExpand?: boolean;
|
|
2976
|
+
/** 搜素过滤方式,高亮 | 过滤;默认:filter */
|
|
2977
|
+
searchResultType?: "highlight" | "filter";
|
|
2978
|
+
/**
|
|
2979
|
+
* 拖拽节点处理,自定义onDrop事件后,失效
|
|
2980
|
+
* ```
|
|
2981
|
+
* 参数
|
|
2982
|
+
* 1. parentId 当前拖拽节点的父节点ID
|
|
2983
|
+
* 2. id 当前拖拽节点ID
|
|
2984
|
+
* 3. index 当前拖拽节点所在数组下标
|
|
2985
|
+
* ```
|
|
2986
|
+
*/
|
|
2987
|
+
onDropNodeHandle?: (result: {
|
|
2988
|
+
parentId?: string | number;
|
|
2989
|
+
id: string | number;
|
|
2990
|
+
index: number;
|
|
2991
|
+
}) => void;
|
|
2992
|
+
/**
|
|
2993
|
+
* 拖拽排序前判断,如果返回 true,可排序,其他不可排序
|
|
2994
|
+
* ```
|
|
2995
|
+
* 可用于需要权限控制判断
|
|
2996
|
+
* ```
|
|
2997
|
+
*/
|
|
2998
|
+
onDropPrev?: (info: any) => boolean;
|
|
2999
|
+
/**
|
|
3000
|
+
* 标签渲染
|
|
3001
|
+
* ```
|
|
3002
|
+
* 1. 自定义设置 titleRender 后失效
|
|
3003
|
+
* 2. 与titleRender的区别
|
|
3004
|
+
* a. 设置 labelRender 后,menuLayout有效
|
|
3005
|
+
* b. 设置 titleRender 后,menuLayout失效
|
|
3006
|
+
* ```
|
|
3007
|
+
*/
|
|
3008
|
+
labelRender?: (nodeData: TPlainObject) => ReactElement;
|
|
3009
|
+
};
|
|
2792
3010
|
export type TreeWrapperRefApi = {
|
|
2793
3011
|
onClearSelectorList: () => void;
|
|
2794
3012
|
getTreeDataList: () => TreeProps["treeData"];
|
|
@@ -2870,7 +3088,7 @@ export declare const TreeWrapper: import("react").ForwardRefExoticComponent<Omit
|
|
|
2870
3088
|
}) => void) | undefined;
|
|
2871
3089
|
onDropPrev?: ((info: any) => boolean) | undefined;
|
|
2872
3090
|
labelRender?: ((nodeData: import("@flatbiz/utils").TPlainObject) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | undefined;
|
|
2873
|
-
} & import("react").RefAttributes<
|
|
3091
|
+
} & import("react").RefAttributes<TreeWrapperRefApi>> & {
|
|
2874
3092
|
/**
|
|
2875
3093
|
* 获取树形原数据
|
|
2876
3094
|
* ```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatbiz/antd",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.71",
|
|
4
4
|
"description": "flat-biz ui components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@dimjs/model": ">=1.1.8",
|
|
32
32
|
"@dimjs/model-react": ">=1.1.8",
|
|
33
33
|
"@dimjs/utils": ">=1.3.2",
|
|
34
|
-
"@flatbiz/utils": ">=4.0.
|
|
34
|
+
"@flatbiz/utils": ">=4.0.13",
|
|
35
35
|
"@wove/react": ">=1.2.23",
|
|
36
36
|
"antd": ">=5.5.1",
|
|
37
37
|
"dayjs": ">=1.11.9",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@dimjs/model": "^1.1.8",
|
|
46
46
|
"@dimjs/model-react": "^1.1.8",
|
|
47
47
|
"@ant-design/icons": "^4.8.0",
|
|
48
|
-
"@flatbiz/utils": "^4.0.
|
|
48
|
+
"@flatbiz/utils": "^4.0.13",
|
|
49
49
|
"@wove/react": "^1.2.22",
|
|
50
50
|
"antd": "5.5.1",
|
|
51
51
|
"dayjs": "1.11.9",
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
function n(){n=Object.assign?Object.assign.bind():function(n){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var e in t){if(Object.prototype.hasOwnProperty.call(t,e)){n[e]=t[e]}}}return n};return n.apply(this,arguments)}function r(n,r){if(n==null)return{};var t={};var e=Object.keys(n);var a,i;for(i=0;i<e.length;i++){a=e[i];if(r.indexOf(a)>=0)continue;t[a]=n[a]}return t}export{r as _,n as a};
|
|
3
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers-1f4d8910.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers-1f4d8910.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Anchor as e,Steps as r}from"antd";import{useState as n,useRef as i}from"react";import{G as a}from"./gap-284e1f59.js";import{jsxs as s,jsx as o}from"react/jsx-runtime";function c(t){var e=1;return t.tagName!=="HTML"&&t.tagName!=="BODY"&&t.nodeType===e}function f(t){var e=t;while(e&&c(e)){var r=window.getComputedStyle(e),n=r.overflowY;if(/scroll|auto/i.test(n)){return e}e=e.parentNode}return undefined}var u=function c(u){var d=n(),m=d[0],l=d[1];var p=i();var v=function t(e){if(e){l(e.replace("#vas-",""))}};var h=function t(){return f(p.current)||window};var w=function t(e){if(e){p.current=e}};return s("div",{className:t("v-anchor-steps",u.className),ref:w,children:[o(e,{onChange:v,className:"v-fixed-anchor",affix:false,getContainer:h,children:o(r,{size:"small",direction:"vertical",current:u.steps.findIndex((function(t){return t.id===m})),items:u.steps.map((function(t){return{title:o(e.Link,{href:"#vas-"+t.id,title:t.title}),description:o(a,{height:20}),status:t.id===m?"process":"wait"}}))})}),u.steps.map((function(t){return o("div",{id:"vas-"+t.id,children:t.content},t.id)}))]})};export{u as A};
|
|
3
|
-
//# sourceMappingURL=anchor-steps-601a335f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-steps-601a335f.js","sources":["@flatbiz/antd/src/anchor-steps/anchor-steps.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Anchor, Steps } from 'antd';\nimport { ReactElement, useRef, useState } from 'react';\nimport { Gap } from '../gap';\nimport './style.less';\n\nfunction isElement(node: Element) {\n const ELEMENT_NODE_TYPE = 1;\n return node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === ELEMENT_NODE_TYPE;\n}\n\nfunction getParentScroll(el: HTMLElement) {\n let node = el;\n\n while (node && isElement(node)) {\n const { overflowY } = window.getComputedStyle(node);\n if (/scroll|auto/i.test(overflowY)) {\n return node;\n }\n node = node.parentNode as HTMLElement;\n }\n return undefined;\n}\n\nexport type AnchorStepsProps = {\n steps: {\n id: string;\n title: string;\n content: ReactElement;\n }[];\n className?: string;\n};\n\n/**\n * 锚点步骤组件\n * @param props\n * @returns\n */\nexport const AnchorSteps = (props: AnchorStepsProps) => {\n const [activeKey, setActiveKey] = useState<string>();\n const rootNode = useRef<HTMLDivElement>();\n\n const onChange = (link: string) => {\n if (link) {\n setActiveKey(link.replace('#vas-', ''));\n }\n };\n\n const getContainer = () => {\n return getParentScroll(rootNode.current as HTMLElement) || (window as Window);\n };\n const refHandle = (node) => {\n if (node) {\n rootNode.current = node;\n }\n };\n\n return (\n <div className={classNames('v-anchor-steps', props.className)} ref={refHandle}>\n <Anchor onChange={onChange} className=\"v-fixed-anchor\" affix={false} getContainer={getContainer}>\n <Steps\n size=\"small\"\n direction=\"vertical\"\n current={props.steps.findIndex((item) => item.id === activeKey)}\n items={props.steps.map((item) => {\n return {\n title: <Anchor.Link href={`#vas-${item.id}`} title={item.title} />,\n description: <Gap height={20} />,\n status: item.id === activeKey ? 'process' : 'wait',\n };\n })}\n />\n </Anchor>\n {props.steps.map((item) => {\n return (\n <div id={`vas-${item.id}`} key={item.id}>\n {item.content}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["isElement","node","ELEMENT_NODE_TYPE","tagName","nodeType","getParentScroll","el","_window$getComputedSt","window","getComputedStyle","overflowY","test","parentNode","undefined","AnchorSteps","props","_useState","useState","activeKey","setActiveKey","rootNode","useRef","onChange","link","replace","getContainer","current","refHandle","_jsxs","className","_classNames","ref","children","_jsx","Anchor","affix","Steps","size","direction","steps","findIndex","item","id","items","map","title","Link","href","description","Gap","height","status","content"],"mappings":";wOAMA,SAASA,EAAUC,GACjB,IAAMC,EAAoB,EAC1B,OAAOD,EAAKE,UAAY,QAAUF,EAAKE,UAAY,QAAUF,EAAKG,WAAaF,CACjF,CAEA,SAASG,EAAgBC,GACvB,IAAIL,EAAOK,EAEX,MAAOL,GAAQD,EAAUC,GAAO,CAC9B,IAAAM,EAAsBC,OAAOC,iBAAiBR,GAAtCS,EAASH,EAATG,UACR,GAAI,eAAeC,KAAKD,GAAY,CAClC,OAAOT,CACT,CACAA,EAAOA,EAAKW,UACd,CACA,OAAOC,SACT,KAgBaC,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAAkCC,IAA3BC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9B,IAAMI,EAAWC,IAEjB,IAAMC,EAAW,SAAXA,EAAYC,GAChB,GAAIA,EAAM,CACRJ,EAAaI,EAAKC,QAAQ,QAAS,IACrC,GAGF,IAAMC,EAAe,SAAfA,IACJ,OAAOpB,EAAgBe,EAASM,UAA4BlB,QAE9D,IAAMmB,EAAY,SAAZA,EAAa1B,GACjB,GAAIA,EAAM,CACRmB,EAASM,QAAUzB,CACrB,GAGF,OACE2B,EAAA,MAAA,CAAKC,UAAWC,EAAW,iBAAkBf,EAAMc,WAAYE,IAAKJ,EAAUK,SAAA,CAC5EC,EAACC,EAAM,CAACZ,SAAUA,EAAUO,UAAU,iBAAiBM,MAAO,MAAOV,aAAcA,EAAaO,SAC9FC,EAACG,EAAK,CACJC,KAAK,QACLC,UAAU,WACVZ,QAASX,EAAMwB,MAAMC,WAAU,SAACC,GAAI,OAAKA,EAAKC,KAAOxB,KACrDyB,MAAO5B,EAAMwB,MAAMK,KAAI,SAACH,GACtB,MAAO,CACLI,MAAOZ,EAACC,EAAOY,KAAI,CAACC,KAAI,QAAUN,EAAKC,GAAMG,MAAOJ,EAAKI,QACzDG,YAAaf,EAACgB,EAAG,CAACC,OAAQ,KAC1BC,OAAQV,EAAKC,KAAOxB,EAAY,UAAY,eAKnDH,EAAMwB,MAAMK,KAAI,SAACH,GAChB,OACER,EAAA,MAAA,CAAKS,GAAE,OAASD,EAAKC,GAAKV,SACvBS,EAAKW,SADwBX,EAAKC,GAIzC,MAGN"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isPlainObject as o}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as p}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as l,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{isValidElement as v,Fragment as h,useState as g,useMemo as T,createElement as y}from"react";import{B as j}from"./button-wrapper-125fce50.js";import{D as k}from"./dropdown-menu-wrapper-3a565fd8.js";import{f as C}from"./fba-utils-f9e11d02.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(l,{content:e.hoverTips,zIndex:1e3,children:P("span",{children:e.content})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P("span",{children:e.content})})}if(v(e.content)){return P(h,{children:e.content})}return P("span",{children:e.content})};var B=function l(c){var h=g(false),B=h[0],I=h[1];var M=a.useCallbackRef((function(r,e){var n=r.onClick==null?void 0:r.onClick(e);if(n&&p(n)){I(true);return n.finally((function(){I(false)}))}return}));var z=c.operateList.filter((function(r){if(!r)return false;if(v(r)){var e,n;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var t=(n=r.props)==null?void 0:n["v-permission"];if(s(t)){return C.hasPermission(t)}return true}if(o(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var F=T((function(){return z.filter((function(r){if(v(r)){return true}return!r["isFold"]}))}),[z]);var N=T((function(){var r=z.filter((function(r){if(v(r)){return false}return r["isFold"]}));var n=[];r.forEach((function(r){var t=e({},r);delete t.isFold;n.push(t)}));return n}),[z]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:i("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:t(c.wrap)?true:c.wrap},c.spaceProps,{children:[F.map((function(r,t){if(r&&v(r)){return P(x,{content:r,hoverTips:r.hoverTips,tipsType:r.tipsType},t)}var i=r.text,o=r.onClick,s=r.needConfirm,p=r.confirmMessage,a=r.popconfirmProps,l=r.hoverTips,c=n(r,w);var f=r.type||"link";if(s&&!c.disabled){var u=!!r.color?false:true;return y(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:p,onConfirm:M.bind(null,r),key:t,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}},onCancel:function r(e){e==null?void 0:e.stopPropagation()}}),P(j,e({danger:u},c,{onClick:function r(e){e.stopPropagation()},type:f,children:P(x,{content:i,hoverTips:l,tipsType:r.tipsType},t)})))}return y(j,e({loadingPosition:"center"},c,{type:f,onClick:function r(e){e.stopPropagation();return o==null?void 0:o(e)},key:t}),P(x,{content:i,hoverTips:l,tipsType:r.tipsType}))})),N.length>0?P(k,e({menuList:N,placement:"bottomCenter"},c.dropdownMenuProps,{children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})})):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
|
|
3
|
-
//# sourceMappingURL=button-operate-d00df6c9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-operate-d00df6c9.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper, DropdownMenuWrapperProps } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport { DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n hidden?: boolean;\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: string;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { content: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * @flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, hoverTips, ...otherProps } =\n item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={type}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottomCenter\" {...props.dropdownMenuProps}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import r from"@ant-design/icons/es/icons/LoadingOutlined";import{_ as o,a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Button as c}from"antd";import{useState as t}from"react";import{C as a}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as s}from"./fba-hooks/index.js";import{f as d}from"./fba-utils-f9e11d02.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";var u=["loadingPosition","color","debounceDuration","permission","hidden","loading"];var p=function r(o){if(o.color&&!o.disabled){var i={};if(o.type==="link"){i={colorLink:o.color,colorLinkActive:o.color,colorLinkHover:o.color}}else if(o.type==="primary"){i={colorPrimary:o.color,colorPrimaryHover:o.color,colorPrimaryActive:o.color}}else{i={colorPrimaryHover:o.color,colorPrimaryActive:o.color,colorText:o.color,colorBorder:o.color}}return f(a,{theme:{components:{Button:i}},children:o.children})}return o.children};var v=function a(v){var h=v.loadingPosition,y=v.color,b=v.debounceDuration,g=v.permission,k=v.hidden,P=v.loading,j=o(v,u);var C=P;var x=t(false),B=x[0],H=x[1];var L=h===undefined?"left":h;var w=L==="left";var A=n(b)?500:b;s.useEffectCustom((function(){if(!n(P)){H(C||false)}}),[P]);var D=l.useDebounceClick((function(r){var o=v.onClick;if(!o){return}var i=o(r);if(i&&e(i)){H(true);i.catch((function(r){console.error(r)})).finally((function(){H(false)}))}}),A);if(!d.hasPermission(g)){return null}if(k){return null}if(w){return f(p,{color:y,disabled:v.disabled,type:v.type,children:f(c,i({},j,{onClick:D,loading:B,children:v.children}))})}return f(p,{color:y,disabled:v.disabled,type:v.type,children:m(c,i({},j,{onClick:D,children:[B&&f("div",{className:"bw-center-loading",children:f(r,{})}),B?f("div",{style:{opacity:.5},children:v.children}):v.children]}))})};export{v as B};
|
|
3
|
-
//# sourceMappingURL=button-wrapper-125fce50.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-wrapper-125fce50.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, ButtonProps } from 'antd';\nimport { OverrideToken } from 'antd/es/theme/interface';\nimport { ReactElement, useState } from 'react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n permission?: string;\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自动loading效果\n * 2. 内置 防抖 效果(在第一触发函数后,在指定时间内再次触发无效,即两次触发的时间间隙大于指定时间)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const { loadingPosition, color, debounceDuration, permission, hidden, loading, ...otherProps } = props;\n const loadingNew = loading as boolean | undefined;\n const [innerLoading, setLoading] = useState(false);\n const loadingPositionNew = loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loadingNew || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} loading={innerLoading}>\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick}>\n {innerLoading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{props.children}</div> : props.children}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","loading","otherProps","_objectWithoutPropertiesLoose","_excluded","loadingNew","_useState","useState","innerLoading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_extends","_jsxs","className","_LoadingOutlined","style","opacity"],"mappings":";inBAsBA,IAAMA,EAAgB,SAAhBA,EAAiBC,GAMrB,GAAIA,EAAMC,QAAUD,EAAME,SAAU,CAClC,IAAIC,EAAuC,CAAA,EAC3C,GAAIH,EAAMI,OAAS,OAAQ,CACzBD,EAAc,CACZE,UAAWL,EAAMC,MACjBK,gBAAiBN,EAAMC,MACvBM,eAAgBP,EAAMC,MAE1B,MAAO,GAAID,EAAMI,OAAS,UAAW,CACnCD,EAAc,CACZK,aAAcR,EAAMC,MACpBQ,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAE9B,KAAO,CACLE,EAAc,CACZM,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAC1BU,UAAWX,EAAMC,MACjBW,YAAaZ,EAAMC,MAEvB,CAEA,OACEY,EAACC,EAAqB,CACpBC,MAAO,CACLC,WAAY,CACVC,OAAQd,IAEVe,SAEDlB,EAAMkB,UAGb,CACA,OAAOlB,EAAMkB,QACf,MASaC,EAAgB,SAAhBA,EAAiBnB,GAC5B,IAAQoB,EAAyFpB,EAAzFoB,gBAAiBnB,EAAwED,EAAxEC,MAAOoB,EAAiErB,EAAjEqB,iBAAkBC,EAA+CtB,EAA/CsB,WAAYC,EAAmCvB,EAAnCuB,OAAQC,EAA2BxB,EAA3BwB,QAAYC,EAAUC,EAAK1B,EAAK2B,GACtG,IAAMC,EAAaJ,EACnB,IAAAK,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAqBb,IAAoBc,UAAY,OAASd,EACpE,IAAMe,EAAgBF,IAAuB,OAC7C,IAAMG,EAAsBC,EAAkBhB,GAAoB,IAAMA,EAExEiB,EAASC,iBAAgB,WACvB,IAAKF,EAAkBb,GAAU,CAC/BQ,EAAWJ,GAAc,MAC3B,CACF,GAAG,CAACJ,IAEJ,IAAMgB,EAAUC,EAAMC,kBAAiB,SAACC,GACtC,IAAMH,EAAUxC,EAAMwC,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BZ,EAAW,MACXY,EACGE,OAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,IACCE,SAAQ,WACPjB,EAAW,MACb,GACJ,CACD,GAAEI,GAEH,IAAKc,EAASC,cAAc7B,GAAa,CACvC,OAAO,IACT,CAEA,GAAIC,EAAQ,CACV,OAAO,IACT,CAEA,GAAIY,EAAe,CACjB,OACEtB,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEL,EAACI,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAShB,QAASO,EAAab,SAC7DlB,EAAMkB,aAIf,CAEA,OACEL,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEmC,EAACpC,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAQtB,SAAA,CACtCa,GACClB,EAAA,MAAA,CAAKyC,UAAU,oBAAmBpC,SAChCL,EAAA0C,EAAA,MAGHxB,EAAelB,EAAA,MAAA,CAAK2C,MAAO,CAAEC,QAAS,IAAMvC,SAAElB,EAAMkB,WAAkBlB,EAAMkB,cAIrF"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as r,a as s}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as n}from"@wove/react/cjs/hooks";import{extend as o}from"@dimjs/utils/cjs/extend";import{cloneState as a}from"@dimjs/model";import{treeLeafParentsArray as u,treeToTiledArray as i}from"@flatbiz/utils";import{Cascader as l,Button as c,message as f}from"antd";import{forwardRef as d,useState as m,useImperativeHandle as v}from"react";import{fbaHooks as p}from"./fba-hooks/index.js";import{R as g}from"./request-status-03fc60e2.js";import{Model as h}from"@dimjs/model-react";import{jsx as q}from"react/jsx-runtime";var C={selectorList:[],queryIsEmpty:false,requestStatus:"request-init"};var L={actions:{setSelectBoxList:function e(t){return function(e){e.selectorList=t.selectorList||[];e.requestStatus="request-success"}},changeRequestStatus:function e(t){return function(e){e.requestStatus=t}}},state:C};var R={};var S=function e(t){if(!R[t]){R[t]=h(L)}return R[t]};var w=["serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange"];var y=d((function(d,h){var C=d.serviceConfig,L=d.modelKey,R=d.fieldNames,y=d.isDynamicLoad,j=d.requestMessageConfig,b=d.onSelectorListChange,k=r(d,w);var x=m([]),B=x[0],N=x[1];var P=C||{};var E=p.useSafeState(false),K=E[0],D=E[1];var A=S(L).useStore(),I=A[0],M=A[1];var _="request-progress-"+d.modelKey;var z=o(true,{label:"label",value:"value",children:"children"},R);var F=m(),H=F[0],O=F[1];var G=function e(t){var r=P.onRequestResultAdapter?P.onRequestResultAdapter(t):t;return r||[]};var J=n.useCallbackRef((function(){return new Promise((function(e,t){var r,s;if(!P.onRequest){return t(new Error("onRequest 调用接口服务不能为空"))}var n=function(){try{return e()}catch(e){return t(e)}};var o=function(e){try{D(false);window[_]=false;void M.changeRequestStatus("request-error");void f.error(e.message||"获取数据异常");return n()}catch(e){return t(e)}};try{D(true);window[_]=true;void M.changeRequestStatus("request-progress");return Promise.resolve(P.onRequest==null?void 0:P.onRequest(P.params)).then((function(e){try{r=e;s=G(r);if(y){s.map((function(e){e.isLeaf=e.isLeaf||false}))}D(false);window[_]=false;void M.setSelectBoxList({selectorList:s||[]});b==null?void 0:b(s||[]);return n()}catch(e){return o(e)}}),o)}catch(e){o(e)}}))}));p.useEffectCustom((function(){if(window[_])return;if(I.requestStatus==="request-success"){N(a(I.selectorList))}else{void J()}}),[]);p.useEffectCustom((function(){var e=a(I.selectorList);if(d.value){var t=u(d.value,i(e,z),true);if(t.length===0){O([d.value])}else{O(t.map((function(e){return e.value})))}}else{O(undefined)}N(e)}),[I.selectorList,d.value]);v(h,(function(){return{getCascaderList:function e(){return I.selectorList}}}));var Q=n.useCallbackRef((function(){void J()}));var T=function e(t){return new Promise((function(e,r){var n,o,a,u;o=t[t.length-1];o.loading=true;return Promise.resolve(P.onRequest==null?void 0:P.onRequest(s({},P.params,(n={},n[z.value]=o[z.value],n)))).then((function(t){try{a=t;u=G(a);if(!u||u.length===0){o.isLeaf=true}else{u.map((function(e){e.isLeaf=e.isLeaf||false}));o.children=u}o.loading=false;void M.setSelectBoxList({selectorList:B||[]});b==null?void 0:b(B||[]);N([].concat(B));return e()}catch(e){return r(e)}}),r)}))};var U=n.useCallbackRef((function(e,t){void(d.onChange==null?void 0:d.onChange(e==null?void 0:e[e.length-1],t))}));var V=n.useCallbackRef((function(){void(d.onChange==null?void 0:d.onChange(undefined))}));return q(l,s({showSearch:true,allowClear:true},k,{popupClassName:t("cascader-wrapper-popup",k.popupClassName),notFoundContent:q(g,{status:I.requestStatus,loading:K,messageConfig:j,errorButton:q(c,{type:"primary",onClick:Q,children:"重新获取数据"})}),loading:K,loadData:y?T:undefined,fieldNames:z,suffixIcon:I.requestStatus==="request-error"?q(e,{spin:K,onClick:Q}):undefined,options:B,value:H,multiple:false,onChange:U,onClear:V}))}));export{y as C};
|
|
3
|
-
//# sourceMappingURL=cascader-wrapper-2f6a926f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cascader-wrapper-2f6a926f.js","sources":["@flatbiz/antd/src/cascader-wrapper/model.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n selectorList: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: { selectorList: TPlainObject[] };\n changeRequestStatus: ModelState['requestStatus'];\n};\n\nconst defaultState: ModelState = {\n selectorList: [],\n queryIsEmpty: false,\n requestStatus: 'request-init',\n};\n\nconst _SelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.selectorList = params.selectorList || [];\n state.requestStatus = 'request-success';\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst cascaderWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const cascaderWrapperModel = (key: string) => {\n if (!cascaderWrapperModels[key]) {\n cascaderWrapperModels[key] = Model(_SelectorWrapperModel);\n }\n return cascaderWrapperModels[key];\n};\n","import { RedoOutlined } from '@ant-design/icons';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, extend } from '@dimjs/utils';\nimport { TAny, TPlainObject, treeLeafParentsArray, treeToTiledArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Cascader, CascaderProps, message } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { cascaderWrapperModel } from './model';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n 'loading' | 'notFoundContent' | 'options' | 'value' | 'multiple' | 'onChange'\n> & {\n // 模型唯一值\n modelKey: string;\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?: string | number;\n onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件,接收value和相应data都是叶子节点数据\n * @param props\n * @returns\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<CascaderWrapperRefApi, CascaderWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n modelKey,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n ...otherProps\n } = props;\n const [options, setOptions] = useState<TAny[]>([]);\n\n const newServiceConfig = serviceConfig || {};\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [state, actions] = cascaderWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${props.modelKey}`;\n const fieldNamesMerge = extend(true, { label: 'label', value: 'value', children: 'children' }, fieldNames);\n const [valueList, setValueList] = useState<string[]>();\n\n const serviceRespDataAdapter = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const respData = await newServiceConfig.onRequest?.(newServiceConfig.params);\n const respAdapterData = serviceRespDataAdapter(respData) as TAny[];\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n window[requestPreKey] = false;\n void actions.setSelectBoxList({\n selectorList: respAdapterData || [],\n });\n onSelectorListChange?.(respAdapterData || []);\n } catch (error) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n void message.error(error.message || '获取数据异常');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n if (window[requestPreKey]) return;\n if (state.requestStatus === 'request-success') {\n setOptions(cloneState(state.selectorList));\n } else {\n void startDataSourceRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n const cloneList = cloneState(state.selectorList);\n if (props.value) {\n const filterList = treeLeafParentsArray(\n props.value,\n treeToTiledArray(cloneList, fieldNamesMerge),\n true,\n );\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList.map((item) => item.value) as string[]);\n }\n } else {\n setValueList(undefined);\n }\n setOptions(cloneList);\n }, [state.selectorList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return state.selectorList;\n },\n };\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await newServiceConfig.onRequest?.({\n ...newServiceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n void actions.setSelectBoxList({\n selectorList: options || [],\n });\n onSelectorListChange?.(options || []);\n setOptions([...options]);\n };\n\n const onChange = hooks.useCallbackRef((values: Array<string | number>, selectList) => {\n void props.onChange?.(values?.[values.length - 1], selectList);\n });\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames('cascader-wrapper-popup', otherProps.popupClassName)}\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n options={options}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["defaultState","selectorList","queryIsEmpty","requestStatus","_SelectorWrapperModel","actions","setSelectBoxList","params","state","changeRequestStatus","cascaderWrapperModels","cascaderWrapperModel","key","Model","CascaderWrapper","forwardRef","props","ref","serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","options","setOptions","newServiceConfig","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_cascaderWrapperModel","useStore","requestPreKey","fieldNamesMerge","_extend","label","value","children","_useState2","valueList","setValueList","serviceRespDataAdapter","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_respData","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","message","resolve","then","$await_2","map","item","isLeaf","useEffectCustom","cloneState","cloneList","filterList","treeLeafParentsArray","treeToTiledArray","length","undefined","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_extends2","targetOption","_extends","$await_3","concat","onChange","values","selectList","onClear","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","suffixIcon","_RedoOutlined","spin","multiple"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{get as e}from"@dimjs/utils/cjs/get";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isNumber as o}from"@dimjs/lang/cjs/is-number";import{isEmpty as a}from"@dimjs/lang/cjs/is-empty";import{isUndefinedOrNull as u,getStrByteLen as l,cutString as f,flatbizDate as c}from"@flatbiz/utils";import{Tooltip as s,Space as m}from"antd";import{Fragment as p}from"react";import{a as v}from"./button-operate-d00df6c9.js";import{T as d}from"./tag-list-select-066f682f.js";import{jsx as j}from"react/jsx-runtime";var h=function r(t,e){return function(r){if(a(r)||r==="")return e;if(o(r))return r;var n=r.toString();var i=u(t)?10:t;var c=l(n);if(c<=i*2){return n}return j(s,{placement:"topLeft",title:n,children:f(n,i*2)})}};var g=function r(t){return function(r,e,n){var o=t(e,n);return j(v,i({},o))}};var x=function r(t,e){return function(r){if(a(r)||r==="")return e;try{return c.format(new Date(r),t)}catch(t){return r||e}}};var C=function r(t,e){return function(r,n,i){if(e&&t){return(t-1)*e+i+1}return i+1}};var b=function r(t){return function(r,e,n){var i=(t==null?void 0:t())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+n+1}return n+1}};var w=function r(t,e){return function(r){return j(d,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(n(r)){var a=e(r,i,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var N=function t(e){return function(t,n){var i=e==null?void 0:e(n);if(!i)return j(p,{children:t});var o=u(i.showData)?true:i.showData;var a=u(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var l=u(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var s=r(t)?f(t,l*2):t;if(i.extra&&o){if(s===t&&!a){return t}var v=[j("span",{children:s},"1"),j(p,{children:i.extra},"2")];var d=c==="before"?v.reverse():v;return j(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:d.map((function(r,t){return j(p,{children:r},t)}))})}return j("span",{onClick:i.onClick,children:i.extra})}};var S={extraContentRender:N,indexCell:C,serialNumberCell:b,dateCell:x,operateCell:g,tooltipCell:h,selectorCell:w,objectCell:k};export{S as t};
|
|
3
|
-
//# sourceMappingURL=cell-render-4934a7de.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cell-render-4934a7de.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isNumber, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n getStrByteLen,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","_isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","undefined","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell"],"mappings":"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"}
|
package/esm/center-a4dfda6f.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{useMutationObserver as r}from"ahooks";import{useRef as t}from"react";import{fbaHooks as o}from"./fba-hooks/index.js";import{jsx as l}from"react/jsx-runtime";var i=function i(a){var c=t(null);var v=a.behavior||"smooth";var n=a.direction||"vertical";var s=function e(r){var t,o;var l=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+r);var i=(o=c.current)==null?void 0:o.offsetHeight;var a=l.offsetTop;var n=l.offsetHeight;if(a<=n){var s;(s=c.current)==null?void 0:s.scrollTo({top:0,behavior:v})}else{var f=a-i/2+n/2;if(f>0){var u;(u=c.current)==null?void 0:u.scrollTo({top:f,behavior:v})}else{var d;(d=c.current)==null?void 0:d.scrollTo({top:0,behavior:v})}}};var f=function e(r){var t,o;var l=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+r);var i=(o=c.current)==null?void 0:o.offsetWidth;var a=l.offsetLeft;var n=l.offsetWidth;if(a<=n){var s;(s=c.current)==null?void 0:s.scrollTo({left:0,behavior:v})}else{var f=a-i/2+n/2;if(f>0){var u;(u=c.current)==null?void 0:u.scrollTo({left:f,behavior:v})}else{var d;(d=c.current)==null?void 0:d.scrollTo({left:0,behavior:v})}}};o.useEffectCustom((function(){if(a.activeKey){if(n==="vertical"){s(a.activeKey)}else{f(a.activeKey)}}}),[a.activeKey]);r((function(){if(a.activeKey){if(n==="vertical"){s(a.activeKey)}else{f(a.activeKey)}}}),c,{subtree:true,childList:true,characterData:true});return l("div",{className:e("roll-location-center","roll-location-center-"+n,a.className),style:a.style,ref:c,children:a.renderList.map((function(e){return l("div",{className:"roll-location-center-"+e.activeKey,children:e.render},e.activeKey)}))})};export{i as R};
|
|
3
|
-
//# sourceMappingURL=center-a4dfda6f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"center-a4dfda6f.js","sources":["@flatbiz/antd/src/roll-location-center/center.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMutationObserver } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type RollLocationCenterProps = {\n renderList: { activeKey: string; render: ReactElement }[];\n activeKey?: string;\n behavior?: ScrollBehavior;\n direction?: 'horizontal' | 'vertical';\n style?: CSSProperties;\n className?: string;\n};\nexport const RollLocationCenter = (props: RollLocationCenterProps) => {\n const rollLocationCenterRef = useRef<HTMLDivElement>(null);\n const behavior = props.behavior || 'smooth';\n const direction = props.direction || 'vertical';\n\n const targetVerticalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeHeight = rollLocationCenterRef.current?.offsetHeight as number;\n const targetNodeOffsetTop = targetNode.offsetTop;\n const targetNodeHeight = targetNode.offsetHeight;\n if (targetNodeOffsetTop <= targetNodeHeight) {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n } else {\n const rollHeight = targetNodeOffsetTop - parentNodeHeight / 2 + targetNodeHeight / 2;\n if (rollHeight > 0) {\n rollLocationCenterRef.current?.scrollTo({ top: rollHeight, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n }\n }\n };\n const targetHorizontalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeWidth = rollLocationCenterRef.current?.offsetWidth as number;\n const targetNodeOffsetLeft = targetNode.offsetLeft;\n const targetNodeWidth = targetNode.offsetWidth;\n if (targetNodeOffsetLeft <= targetNodeWidth) {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n } else {\n const rollWidth = targetNodeOffsetLeft - parentNodeWidth / 2 + targetNodeWidth / 2;\n if (rollWidth > 0) {\n rollLocationCenterRef.current?.scrollTo({ left: rollWidth, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n }\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n }, [props.activeKey]);\n\n useMutationObserver(\n () => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n },\n rollLocationCenterRef,\n {\n subtree: true,\n childList: true,\n characterData: true,\n },\n );\n\n return (\n <div\n className={classNames('roll-location-center', `roll-location-center-${direction}`, props.className)}\n style={props.style}\n ref={rollLocationCenterRef}\n >\n {props.renderList.map((item) => {\n return (\n <div className={`roll-location-center-${item.activeKey}`} key={item.activeKey}>\n {item.render}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RollLocationCenter","props","rollLocationCenterRef","useRef","behavior","direction","targetVerticalRoll","key","_rollLocationCenterRe","_rollLocationCenterRe2","targetNode","current","querySelector","parentNodeHeight","offsetHeight","targetNodeOffsetTop","offsetTop","targetNodeHeight","_rollLocationCenterRe3","scrollTo","top","rollHeight","_rollLocationCenterRe4","_rollLocationCenterRe5","targetHorizontalRoll","_rollLocationCenterRe6","_rollLocationCenterRe7","parentNodeWidth","offsetWidth","targetNodeOffsetLeft","offsetLeft","targetNodeWidth","_rollLocationCenterRe8","left","rollWidth","_rollLocationCenterRe9","_rollLocationCenterRe10","fbaHooks","useEffectCustom","activeKey","useMutationObserver","subtree","childList","characterData","_jsx","className","_classNames","style","ref","children","renderList","map","item","render"],"mappings":";kOAcaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAMC,EAAwBC,EAAuB,MACrD,IAAMC,EAAWH,EAAMG,UAAY,SACnC,IAAMC,EAAYJ,EAAMI,WAAa,WAErC,IAAMC,EAAqB,SAArBA,EAAsBC,GAAgB,IAAAC,EAAAC,EAC1C,IAAMC,GAAUF,EAAGN,EAAsBS,UAAO,UAAA,EAA7BH,EAA+BI,cAAa,yBACpCL,GAE3B,IAAMM,GAAgBJ,EAAGP,EAAsBS,UAAO,UAAA,EAA7BF,EAA+BK,aACxD,IAAMC,EAAsBL,EAAWM,UACvC,IAAMC,EAAmBP,EAAWI,aACpC,GAAIC,GAAuBE,EAAkB,CAAA,IAAAC,GAC3CA,EAAAhB,EAAsBS,UAAtBO,UAAAA,EAAAA,EAA+BC,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,KAAO,CACL,IAAMiB,EAAaN,EAAsBF,EAAmB,EAAII,EAAmB,EACnF,GAAII,EAAa,EAAG,CAAA,IAAAC,GAClBA,EAAApB,EAAsBS,UAAtBW,UAAAA,EAAAA,EAA+BH,SAAS,CAAEC,IAAKC,EAAYjB,SAAAA,GAC7D,KAAO,CAAA,IAAAmB,GACLA,EAAArB,EAAsBS,UAAtBY,UAAAA,EAAAA,EAA+BJ,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,CACF,GAEF,IAAMoB,EAAuB,SAAvBA,EAAwBjB,GAAgB,IAAAkB,EAAAC,EAC5C,IAAMhB,GAAUe,EAAGvB,EAAsBS,UAAO,UAAA,EAA7Bc,EAA+Bb,cAAa,yBACpCL,GAE3B,IAAMoB,GAAeD,EAAGxB,EAAsBS,UAAO,UAAA,EAA7Be,EAA+BE,YACvD,IAAMC,EAAuBnB,EAAWoB,WACxC,IAAMC,EAAkBrB,EAAWkB,YACnC,GAAIC,GAAwBE,EAAiB,CAAA,IAAAC,GAC3CA,EAAA9B,EAAsBS,UAAtBqB,UAAAA,EAAAA,EAA+Bb,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,KAAO,CACL,IAAM8B,EAAYL,EAAuBF,EAAkB,EAAII,EAAkB,EACjF,GAAIG,EAAY,EAAG,CAAA,IAAAC,GACjBA,EAAAjC,EAAsBS,UAAtBwB,UAAAA,EAAAA,EAA+BhB,SAAS,CAAEc,KAAMC,EAAW9B,SAAAA,GAC7D,KAAO,CAAA,IAAAgC,GACLA,EAAAlC,EAAsBS,UAAtByB,UAAAA,EAAAA,EAA+BjB,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,CACF,GAGFiC,EAASC,iBAAgB,WACvB,GAAIrC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACF,GAAG,CAACtC,EAAMsC,YAEVC,GACE,WACE,GAAIvC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACD,GACDrC,EACA,CACEuC,QAAS,KACTC,UAAW,KACXC,cAAe,OAInB,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,uBAAsB,wBAA0BzC,EAAaJ,EAAM4C,WACzFE,MAAO9C,EAAM8C,MACbC,IAAK9C,EAAsB+C,SAE1BhD,EAAMiD,WAAWC,KAAI,SAACC,GACrB,OACER,EAAA,MAAA,CAAKC,UAAS,wBAA0BO,EAAKb,UAAYU,SACtDG,EAAKC,QADuDD,EAAKb,eAO9E"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Checkbox as l}from"antd";import{jsx as n}from"react/jsx-runtime";var t=["checkedValue","unCheckedValue","onChange","value"];var u=function u(c){var i=c.checkedValue,m=c.unCheckedValue,h=c.onChange,s=c.value,f=e(c,t);var v=r.useCallbackRef((function(e){var a=e.target.checked;h==null?void 0:h(a?i:m)}));return n(l,a({},f,{checked:!o(s)&&i===s,onChange:v}))};export{u as C};
|
|
3
|
-
//# sourceMappingURL=checkbox-wrapper-018a5c59.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-wrapper-018a5c59.js","sources":["@flatbiz/antd/src/checkbox-wrapper/checkbox-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, CheckboxProps } from 'antd';\n\nexport type CheckboxWrapperProps = Omit<CheckboxProps, 'checked' | 'defaultChecked' | 'onChange'> & {\n value?: string | number | boolean;\n checkedValue: string | number | boolean;\n unCheckedValue: string | number | boolean;\n onChange?: (value: string | number | boolean) => void;\n};\n/**\n * 解决 Checkbox 只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <CheckboxWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * ```\n */\nexport const CheckboxWrapper = (props: CheckboxWrapperProps) => {\n const { checkedValue, unCheckedValue, onChange, value, ...otherProps } = props;\n const onChangeHandle = hooks.useCallbackRef((event) => {\n const checked = event.target.checked;\n onChange?.(checked ? checkedValue : unCheckedValue);\n });\n\n return (\n <Checkbox\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["CheckboxWrapper","props","checkedValue","unCheckedValue","onChange","value","otherProps","_objectWithoutPropertiesLoose","_excluded","onChangeHandle","_hooks","useCallbackRef","event","checked","target","_jsx","Checkbox","_extends","isUndefinedOrNull"],"mappings":";sSAsBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAQC,EAAiED,EAAjEC,aAAcC,EAAmDF,EAAnDE,eAAgBC,EAAmCH,EAAnCG,SAAUC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAC9E,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,IAAMC,EAAUD,EAAME,OAAOD,QAC7BT,GAAQ,UAAA,EAARA,EAAWS,EAAUX,EAAeC,EACtC,IAEA,OACEY,EAACC,EAAQC,KACHX,EAAU,CACdO,SAAUK,EAAkBb,IAAUH,IAAiBG,EACvDD,SAAUK,IAGhB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{ConfigProvider as r}from"antd";import a from"antd/es/locale/en_US";import t from"antd/es/locale/zh_CN";import m from"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import l from"dayjs/plugin/advancedFormat";import n from"dayjs/plugin/customParseFormat";import i from"dayjs/plugin/localeData";import d from"dayjs/plugin/utc";import p from"dayjs/plugin/weekday";import s from"dayjs/plugin/weekOfYear";import c from"dayjs/plugin/weekYear";import{fbaHooks as f}from"./fba-hooks/index.js";import{jsx as u}from"react/jsx-runtime";var j=["locale"];m.extend(n);m.extend(l);m.extend(p);m.extend(i);m.extend(s);m.extend(c);m.extend(d);var y=function l(n){var i=n.locale,d=e(n,j);f.useEffectCustom((function(){m.locale(n.locale||"zh-cn")}),[]);return u(r,o({componentSize:"middle",space:{size:"middle"}},d,{locale:i==="en"?a:t,children:n.children}))};export{y as C};
|
|
3
|
-
//# sourceMappingURL=config-provider-wrapper-dfe8f592.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider-wrapper-dfe8f592.js","sources":["@flatbiz/antd/src/config-provider-wrapper/config-provider-wrapper.tsx"],"sourcesContent":["import { ConfigProvider } from 'antd';\nimport { ConfigProviderProps } from 'antd/es/config-provider';\nimport enUS from 'antd/es/locale/en_US';\nimport zhCN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/zh-cn';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport dayjsUtc from 'dayjs/plugin/utc';\nimport weekday from 'dayjs/plugin/weekday';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport { fbaHooks } from '../fba-hooks';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(dayjsUtc);\n\nexport type ConfigProviderWrapperProps = Omit<ConfigProviderProps, 'locale'> & {\n locale?: 'en' | 'zh-cn';\n};\n\nexport const ConfigProviderWrapper = (props: ConfigProviderWrapperProps) => {\n const { locale, ...otherProps } = props;\n\n fbaHooks.useEffectCustom(() => {\n dayjs.locale((props.locale as unknown as string) || 'zh-cn');\n }, []);\n return (\n <ConfigProvider\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...otherProps}\n locale={locale === 'en' ? enUS : zhCN}\n >\n {props.children}\n </ConfigProvider>\n );\n};\n"],"names":["dayjs","extend","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsUtc","ConfigProviderWrapper","props","locale","otherProps","_objectWithoutPropertiesLoose","_excluded","fbaHooks","useEffectCustom","_jsx","ConfigProvider","_extends","componentSize","space","size","enUS","zhCN","children"],"mappings":";knBAeAA,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,GACbH,EAAMC,OAAOG,GACbJ,EAAMC,OAAOI,GACbL,EAAMC,OAAOK,GACbN,EAAMC,OAAOM,GACbP,EAAMC,OAAOO,OAMAC,EAAwB,SAAxBA,EAAyBC,GACpC,IAAQC,EAA0BD,EAA1BC,OAAWC,EAAUC,EAAKH,EAAKI,GAEvCC,EAASC,iBAAgB,WACvBhB,EAAMW,OAAQD,EAAMC,QAAgC,QACrD,GAAE,IACH,OACEM,EAACC,EAAcC,EAAA,CACbC,cAAe,SACfC,MAAO,CAAEC,KAAM,WACXV,EAAU,CACdD,OAAQA,IAAW,KAAOY,EAAOC,EAAKC,SAErCf,EAAMe,WAGb"}
|
package/esm/content-c0e49ffb.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as o}from"@wove/react/cjs/hooks";import{Space as n}from"antd";import{B as t}from"./button-wrapper-125fce50.js";import{u as a}from"./context-1f2093c6.js";import{fbaHooks as i}from"./fba-hooks/index.js";import{jsxs as l,jsx as c}from"react/jsx-runtime";var d=function d(s){var u=a();var f=u.onClose;i.useEffectCustom((function(){u.updateBodyStyle({padding:0})}),[]);var m=s.okHidden,p=s.onCancel,v=s.onOk,h=s.cancelHidden,k=s.cancelText,j=s.okText,x=s.okButtonExtraProps,C=s.cancelButtonExtraProps,g=s.footer;var w=o.useCallbackRef((function(r){if(p){var o=p(r);if(o&&e(o)){return o.then(f)}}return f()}));var y=o.useCallbackRef((function(r){if(v){var o=v(r);if(o&&e(o)){return o.then(f)}}return f()}));var b=l(n,{children:[h||C!=null&&C.hidden?null:c(t,r({},C,{onClick:w,children:k||"取消"})),m||x!=null&&x.hidden?null:c(t,r({type:"primary"},x,{onClick:y,children:j||"提交"}))]});return l("div",{className:"dialog-drawer-content-wrapper",children:[c("div",{className:"dialog-drawer-content",children:s.children}),c("div",{className:"dialog-drawer-footer",style:s.footerStyle,children:(g==null?void 0:g({onClose:f}))||b})]})};export{d as D};
|
|
3
|
-
//# sourceMappingURL=content-c0e49ffb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-c0e49ffb.js","sources":["@flatbiz/antd/src/dialog-drawer-content/content.tsx"],"sourcesContent":["import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { useDialogDrawerCtx } from '../dialog-drawer/context';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type DialogDrawerContentProps = {\n footer?: (data: { onClose: () => void }) => ReactElement;\n footerStyle?: CSSProperties;\n children?: ReactNode;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n/**\n * 当dialogDrawer底部操作按钮在业务content内部时,使用\n * ```\n * 1. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效\n * ```\n */\nexport const DialogDrawerContent = (props: DialogDrawerContentProps) => {\n const ctx = useDialogDrawerCtx();\n const onClose = ctx.onClose;\n\n fbaHooks.useEffectCustom(() => {\n ctx.updateBodyStyle({ padding: 0 });\n }, []);\n\n const {\n okHidden,\n onCancel,\n onOk,\n cancelHidden,\n cancelText,\n okText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n footer,\n } = props;\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(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(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n return (\n <div className=\"dialog-drawer-content-wrapper\">\n <div className=\"dialog-drawer-content\">{props.children}</div>\n <div className=\"dialog-drawer-footer\" style={props.footerStyle}>\n {footer?.({ onClose }) || operateGroup}\n </div>\n </div>\n );\n};\n"],"names":["DialogDrawerContent","props","ctx","useDialogDrawerCtx","onClose","fbaHooks","useEffectCustom","updateBodyStyle","padding","okHidden","onCancel","onOk","cancelHidden","cancelText","okText","okButtonExtraProps","cancelButtonExtraProps","footer","onCancelHandle","_hooks","useCallbackRef","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","className","style","footerStyle"],"mappings":";+XA4BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IAAMC,EAAMC,IACZ,IAAMC,EAAUF,EAAIE,QAEpBC,EAASC,iBAAgB,WACvBJ,EAAIK,gBAAgB,CAAEC,QAAS,GAChC,GAAE,IAEH,IACEC,EASER,EATFQ,SACAC,EAQET,EARFS,SACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,aACAC,EAKEZ,EALFY,WACAC,EAIEb,EAJFa,OACAC,EAGEd,EAHFc,mBACAC,EAEEf,EAFFe,uBACAC,EACEhB,EADFgB,OAEF,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,GAAIX,EAAU,CACZ,IAAMY,EAAWZ,EAASW,GAC1B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMqB,EAAaN,EAAMC,gBAAe,SAACC,GACvC,GAAIV,EAAM,CACR,IAAMW,EAAWX,EAAKU,GACtB,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IACA,IAAMsB,EACJC,EAACC,EAAK,CAAAC,UACHjB,GAAgBI,GAAsB,MAAtBA,EAAwBc,OAAS,KAChDC,EAACC,EAAaC,KAAKjB,EAAsB,CAAEkB,QAAShB,EAAeW,SAChEhB,GAAc,QAGlBJ,GAAYM,SAAAA,EAAoBe,OAAS,KACxCC,EAACC,EAAaC,EAAA,CAACE,KAAK,WAAcpB,EAAkB,CAAEmB,QAAST,EAAWI,SACvEf,GAAU,WAKnB,OACEa,EAAA,MAAA,CAAKS,UAAU,gCAA+BP,UAC5CE,EAAA,MAAA,CAAKK,UAAU,wBAAuBP,SAAE5B,EAAM4B,WAC9CE,EAAA,MAAA,CAAKK,UAAU,uBAAuBC,MAAOpC,EAAMqC,YAAYT,UAC5DZ,GAAM,UAAA,EAANA,EAAS,CAAEb,QAAAA,MAAcsB,MAIlC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{toArray as e}from"@flatbiz/utils";import{Fragment as l,cloneElement as t}from"react";import{jsx as a}from"react/jsx-runtime";var i=function i(o){var m=e(o.children);if(m.length>1){return a("div",{className:"v-css-hover",style:o.style,children:m})}var c=o.children;return a(l,{children:t(c,{className:s("v-css-hover",c.props.className),style:r({},o.style,c.props.style)})})};export{i as C};
|
|
3
|
-
//# sourceMappingURL=css-node-hover-ed7b9860.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css-node-hover-ed7b9860.js","sources":["@flatbiz/antd/src/css-node-hover/css-node-hover.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { cloneElement, CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport './style.less';\n\nexport type CssHoverProps = {\n children: ReactElement | ReactElement[];\n} & Pick<\n CommonPropsWithChildren<{\n '--v-css-hover-bgcolor': CSSProperties['backgroundColor'];\n '--v-css-hover-opacity': CSSProperties['opacity'];\n }>,\n 'style' | 'children'\n>;\n/**\n * css hover 效果\n * ```\n * 1. 当children为数组时,会为children添加父级(会产生新节点)\n * 2. 当children为单个元素时,会在children元素上添加className、style(不会产生新节点)\n * ```\n * @param props\n * @returns\n */\nexport const CssNodeHover = (props: CssHoverProps) => {\n const children = toArray<ReactNode>(props.children);\n if (children.length > 1) {\n return (\n <div className=\"v-css-hover\" style={props.style}>\n {children}\n </div>\n );\n }\n\n const element = props.children as ReactElement;\n\n return (\n <Fragment>\n {cloneElement(element, {\n className: classNames('v-css-hover', element.props.className),\n style: { ...props.style, ...element.props.style },\n })}\n </Fragment>\n );\n};\n"],"names":["CssNodeHover","props","children","toArray","length","_jsx","className","style","element","Fragment","cloneElement","_classNames","_extends"],"mappings":";8PAwBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAWC,EAAmBF,EAAMC,UAC1C,GAAIA,EAASE,OAAS,EAAG,CACvB,OACEC,EAAA,MAAA,CAAKC,UAAU,cAAcC,MAAON,EAAMM,MAAML,SAC7CA,GAGP,CAEA,IAAMM,EAAUP,EAAMC,SAEtB,OACEG,EAACI,EAAQ,CAAAP,SACNQ,EAAaF,EAAS,CACrBF,UAAWK,EAAW,cAAeH,EAAQP,MAAMK,WACnDC,MAAKK,EAAA,GAAOX,EAAMM,MAAUC,EAAQP,MAAMM,UAIlD"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Empty as e}from"antd";import{Fragment as r}from"react";import{jsx as m}from"react/jsx-runtime";var i=function i(s){var p=typeof s.isEmpty==="function"?s.isEmpty():s.isEmpty;if(p){return s.empty?s.empty:m("div",{className:t("v-data-render-empty",s.emptyClassName),style:s.emptyStyle,children:m(e,{description:s.emptyText})})}return m(r,{children:s.children})};export{i as D};
|
|
3
|
-
//# sourceMappingURL=data-render-07c0ab6b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-render-07c0ab6b.js","sources":["@flatbiz/antd/src/data-render/data-render.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Empty } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport './style.less';\n\nexport type DataRenderProps = {\n isEmpty: boolean | (() => boolean);\n empty?: ReactElement;\n emptyText?: string | ReactElement;\n emptyStyle?: CSSProperties;\n emptyClassName?: string;\n children: ReactNode;\n};\n\n/**\n * 数据渲染,内置处理数据为空渲染\n * ```\n * 1. 配置 empty 后,emptyText、emptyStyle、emptyClassName将失效\n * 2. 使用方式,例如\n * <DataRender isEmpty={list.length === 0}>\n * <Fragment>\n * {list.map((item) => {\n * return (\n * <div key={item}>....</div>\n * );\n * })}\n * </Fragment>\n * </DataRender>\n * ```\n */\nexport const DataRender = (props: DataRenderProps) => {\n const isEmpty = typeof props.isEmpty === 'function' ? props.isEmpty() : props.isEmpty;\n if (isEmpty) {\n return props.empty ? (\n props.empty\n ) : (\n <div className={classNames('v-data-render-empty', props.emptyClassName)} style={props.emptyStyle}>\n <Empty description={props.emptyText} />\n </div>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n"],"names":["DataRender","props","isEmpty","empty","_jsx","className","_classNames","emptyClassName","style","emptyStyle","children","Empty","description","emptyText","Fragment"],"mappings":";oKA8BaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,SAAiBD,EAAMC,UAAY,WAAaD,EAAMC,UAAYD,EAAMC,QAC9E,GAAIA,EAAS,CACX,OAAOD,EAAME,MACXF,EAAME,MAENC,EAAA,MAAA,CAAKC,UAAWC,EAAW,sBAAuBL,EAAMM,gBAAiBC,MAAOP,EAAMQ,WAAWC,SAC/FN,EAACO,EAAK,CAACC,YAAaX,EAAMY,aAGhC,CACA,OAAOT,EAACU,EAAQ,CAAAJ,SAAET,EAAMS,UAC1B"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as a}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as i}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as s,g as u,a as f,b as d}from"./time-53b3f55f.js";import{jsx as l}from"react/jsx-runtime";var m=["value","onChange","style","format"];var b=function b(c){var v=c.value,D=c.onChange,p=c.style,M=c.format,g=e(c,m);var C=c.disabledDateConfig||{},h=C.minDate,Y=C.maxDate,L=C.disabledHourList,j=C.disabledMinuteList,w=C.disabledSecondList;var H=h?n(h):undefined;var T=Y?n(Y):undefined;var k=o((function(){if(M)return M;if(c.showTime)return s.YMDHms;return s.YMD}),[c.showTime,M]);var x=a.useCallbackRef((function(e,r){if(e){D==null?void 0:D(r)}else{D==null?void 0:D(undefined)}}));var y=a.useCallbackRef((function(e){var r=e.format(s.YMD);if(!c.disabledDateConfig){return false}if(H&&T){if(!t.in(r,H.format(s.YMD),T.format(s.YMD))){return true}}else if(H){if(!t.gte(r,H.format(s.YMD))){return true}}else if(T){if(!t.gte(T.format(s.YMD),r)){return true}}return false}));var R=o((function(){if(v){return n(t.dateNormalize(v))}return undefined}),[v]);var S=a.useCallbackRef((function(e){var r={minDateTime:H,maxDateTime:T,disabledHourList:L,disabledMinuteList:j,disabledSecondList:w};e=e||R||n(new Date);return{disabledHours:function a(){return u(e,r)},disabledMinutes:function a(){return f(e,r)},disabledSeconds:function a(){return d(e,r)}}}));return l(i,r({disabledDate:y,disabledTime:S},g,{format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{b as D};
|
|
3
|
-
//# sourceMappingURL=date-picker-wrapper-ba650858.js.map
|