@robot-admin/naive-ui-components 0.22.1 → 0.23.1
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/CHANGELOG.md +16 -0
- package/README.md +7 -5
- package/README_EN.md +7 -5
- package/dist/C_ActionBar.d.cts +2 -1
- package/dist/C_ActionBar.d.ts +2 -1
- package/dist/C_AntV2.cjs +3 -3
- package/dist/C_AntV2.js +3 -3
- package/dist/C_BatchResult.cjs +1 -0
- package/dist/C_BatchResult.css +32 -0
- package/dist/C_BatchResult.d.cts +2 -0
- package/dist/C_BatchResult.d.ts +2 -0
- package/dist/C_BatchResult.js +1 -0
- package/dist/C_BatchResult2.cjs +1 -0
- package/dist/C_BatchResult2.js +1 -0
- package/dist/C_Breadcrumb.d.cts +2 -2
- package/dist/C_Breadcrumb.d.ts +1 -1
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_DataPicker.cjs +1 -0
- package/dist/C_DataPicker.css +55 -0
- package/dist/C_DataPicker.d.cts +2 -0
- package/dist/C_DataPicker.d.ts +5 -0
- package/dist/C_DataPicker.js +1 -0
- package/dist/C_DataPicker2.cjs +1 -0
- package/dist/C_DataPicker2.js +1 -0
- package/dist/C_Date.d.cts +1 -1
- package/dist/C_Date.d.ts +1 -1
- package/dist/C_Density.cjs +1 -0
- package/dist/C_Density.css +1 -0
- package/dist/C_Density.d.cts +3 -0
- package/dist/C_Density.d.ts +3 -0
- package/dist/C_Density.js +1 -0
- package/dist/C_Density2.cjs +1 -0
- package/dist/C_Density2.js +1 -0
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_ErrorSummary.cjs +1 -0
- package/dist/C_ErrorSummary.css +29 -0
- package/dist/C_ErrorSummary.d.cts +3 -0
- package/dist/C_ErrorSummary.d.ts +3 -0
- package/dist/C_ErrorSummary.js +1 -0
- package/dist/C_ErrorSummary2.cjs +1 -0
- package/dist/C_ErrorSummary2.js +1 -0
- package/dist/C_Form.base.css +150 -148
- package/dist/C_Form.css +151 -253
- package/dist/C_Form.d.cts +1 -1
- package/dist/C_Form.d.ts +19 -2
- package/dist/C_FormModal.css +1 -2
- package/dist/C_FormModal.d.cts +1 -1
- package/dist/C_FormModal.d.ts +17 -2
- package/dist/C_FormSearch.cjs +1 -1
- package/dist/C_FormSearch.css +124 -52
- package/dist/C_FormSearch.d.cts +3 -3
- package/dist/C_FormSearch.d.ts +5 -4
- package/dist/C_FormSearch.js +1 -1
- package/dist/C_FormulaEditor.d.cts +1 -1
- package/dist/C_FormulaEditor.d.ts +1 -1
- package/dist/C_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +1 -1
- package/dist/C_Language.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Loading.d.cts +1 -1
- package/dist/C_Loading.d.ts +1 -1
- package/dist/C_Login.d.cts +1 -1
- package/dist/C_Login.d.ts +1 -1
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- package/dist/C_Menu.d.cts +2 -2
- package/dist/C_Menu.d.ts +1 -1
- package/dist/C_OrgChart.d.cts +1 -1
- package/dist/C_OrgChart.d.ts +1 -1
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/C_SectionNav.cjs +1 -0
- package/dist/C_SectionNav.css +46 -0
- package/dist/C_SectionNav.d.cts +2 -0
- package/dist/C_SectionNav.d.ts +2 -0
- package/dist/C_SectionNav.js +1 -0
- package/dist/C_SectionNav2.cjs +1 -0
- package/dist/C_SectionNav2.js +1 -0
- package/dist/C_Skeleton.d.cts +1 -1
- package/dist/C_Skeleton.d.ts +1 -1
- package/dist/C_SplitPane2.cjs +1 -1
- package/dist/C_SplitPane2.js +1 -1
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Table.base.css +258 -256
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +109 -1283
- package/dist/C_Table.d.cts +2 -1
- package/dist/C_Table.d.ts +9 -8
- package/dist/C_Table.js +1 -1
- package/dist/C_Table2.cjs +3 -0
- package/dist/C_Table2.js +3 -0
- package/dist/C_Tabs.cjs +1 -1
- package/dist/C_Tabs.d.cts +1 -1
- package/dist/C_Tabs.d.ts +1 -1
- package/dist/C_Tabs.js +1 -1
- package/dist/C_TagsView.d.cts +1 -1
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.d.ts +1 -1
- package/dist/C_Transfer.d.cts +1 -1
- package/dist/C_Transfer.d.ts +1 -1
- package/dist/C_Tree.d.cts +1 -1
- package/dist/C_Tree.d.ts +9 -8
- package/dist/C_Upload.d.cts +1 -1
- package/dist/C_Upload.d.ts +1 -1
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/Card.cjs +1 -1
- package/dist/Card.js +1 -1
- package/dist/Steps.cjs +1 -1
- package/dist/Steps.js +1 -1
- package/dist/Tabs.cjs +1 -1
- package/dist/Tabs.js +1 -1
- package/dist/batchPatch.cjs +1 -0
- package/dist/batchPatch.d.cts +26 -0
- package/dist/batchPatch.d.ts +26 -0
- package/dist/batchPatch.js +1 -0
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +4 -1
- package/dist/config.d.ts +6 -2
- package/dist/config.js +1 -1
- package/dist/config2.d.ts +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants2.d.cts +402 -173
- package/dist/constants2.d.ts +402 -173
- package/dist/constants3.d.cts +3 -3
- package/dist/constants3.d.ts +3 -3
- package/dist/constants4.d.cts +173 -402
- package/dist/constants4.d.ts +173 -402
- package/dist/contracts.d.ts +24 -0
- package/dist/data.cjs +1 -1
- package/dist/data.d.cts +5 -108
- package/dist/data.d.ts +5 -108
- package/dist/data.js +1 -1
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +108 -0
- package/dist/data2.d.ts +108 -0
- package/dist/data2.js +1 -1
- package/dist/data3.cjs +1 -0
- package/dist/data3.js +1 -0
- package/dist/dateRange.d.cts +108 -13
- package/dist/dateRange.d.ts +110 -14
- package/dist/density.d.ts +15 -0
- package/dist/dictionary.cjs +1 -0
- package/dist/dictionary.d.cts +38 -0
- package/dist/dictionary.d.ts +38 -0
- package/dist/dictionary.js +1 -0
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +63 -52
- package/dist/index.d.ts +71 -57
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +4 -4
- package/dist/index.vue.d.ts +4 -4
- package/dist/index10.vue.d.cts +37 -80
- package/dist/index10.vue.d.ts +77 -53
- package/dist/index11.vue.d.cts +77 -53
- package/dist/index11.vue.d.ts +1117 -45
- package/dist/index12.vue.d.cts +1117 -45
- package/dist/index12.vue.d.ts +17 -128
- package/dist/index13.vue.d.cts +17 -128
- package/dist/index13.vue.d.ts +57 -53
- package/dist/index14.vue.d.cts +57 -53
- package/dist/index14.vue.d.ts +16 -25
- package/dist/index15.vue.d.cts +16 -25
- package/dist/index15.vue.d.ts +52 -12
- package/dist/index16.vue.d.cts +52 -12
- package/dist/index16.vue.d.ts +13 -129
- package/dist/index17.vue.d.cts +13 -129
- package/dist/index17.vue.d.ts +123 -74
- package/dist/index18.vue.d.cts +123 -74
- package/dist/index18.vue.d.ts +48 -71
- package/dist/index19.vue.d.cts +40 -91
- package/dist/index19.vue.d.ts +36 -96
- package/dist/index2.vue.d.cts +2 -2
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.cts +38 -47
- package/dist/index20.vue.d.ts +13 -48
- package/dist/index21.vue.d.cts +12 -96
- package/dist/index21.vue.d.ts +25 -95
- package/dist/index22.vue.d.cts +20 -32
- package/dist/index22.vue.d.ts +75 -37
- package/dist/index23.vue.d.cts +77 -13
- package/dist/index23.vue.d.ts +71 -13
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index25.vue.d.cts +116 -90
- package/dist/index25.vue.d.ts +116 -90
- package/dist/index26.vue.d.cts +94 -59
- package/dist/index26.vue.d.ts +94 -59
- package/dist/index27.vue.d.cts +75 -0
- package/dist/index27.vue.d.ts +75 -0
- package/dist/index28.vue.d.cts +103 -0
- package/dist/index28.vue.d.ts +103 -0
- package/dist/index29.vue.d.cts +105 -0
- package/dist/index29.vue.d.ts +105 -0
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index30.vue.d.cts +28 -0
- package/dist/index30.vue.d.ts +28 -0
- package/dist/index4.vue.d.cts +19 -128
- package/dist/index4.vue.d.ts +17 -34
- package/dist/index5.vue.d.cts +127 -35
- package/dist/index5.vue.d.ts +30 -19
- package/dist/index6.vue.d.cts +30 -19
- package/dist/index6.vue.d.ts +22 -118
- package/dist/index7.vue.d.cts +22 -118
- package/dist/index7.vue.d.ts +112 -18
- package/dist/index8.vue.d.cts +112 -18
- package/dist/index8.vue.d.ts +24 -35
- package/dist/index9.vue.d.cts +24 -35
- package/dist/index9.vue.d.ts +37 -80
- package/dist/numberCodec.cjs +1 -0
- package/dist/numberCodec.d.cts +25 -0
- package/dist/numberCodec.d.ts +25 -0
- package/dist/numberCodec.js +1 -0
- package/dist/observer.cjs +1 -0
- package/dist/observer.js +1 -0
- package/dist/presets.d.cts +2 -65
- package/dist/presets.d.ts +2 -65
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.ts +1 -1
- package/dist/resolver.js +1 -1
- package/dist/serializeSearch.cjs +1 -0
- package/dist/serializeSearch.js +1 -0
- package/dist/style.css +548 -308
- package/dist/types.d.cts +60 -103
- package/dist/types.d.ts +62 -52
- package/dist/types2.d.cts +104 -51
- package/dist/types2.d.ts +56 -0
- package/dist/types3.d.cts +56 -0
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useComponentLocale.cjs +1 -1
- package/dist/useComponentLocale.js +1 -1
- package/dist/useCropperCore.d.cts +7 -7
- package/dist/useCropperCore.d.ts +7 -7
- package/dist/useDataResource.cjs +1 -0
- package/dist/useDataResource.js +1 -0
- package/dist/useDictionary.cjs +1 -0
- package/dist/useDictionary.js +1 -0
- package/dist/useDynamicFormState.d.cts +960 -10
- package/dist/useDynamicFormState.d.ts +951 -11
- package/dist/useEdgeInteraction.d.cts +2 -2
- package/dist/useEdgeInteraction.d.ts +2 -2
- package/dist/useFormArray.cjs +1 -0
- package/dist/useFormArray.d.cts +69 -0
- package/dist/useFormArray.d.ts +69 -0
- package/dist/useFormArray.js +1 -0
- package/dist/useFormConfig.d.cts +14 -0
- package/dist/useFormConfig.d.ts +17 -38
- package/dist/useGridWidth.cjs +1 -0
- package/dist/useGridWidth.js +1 -0
- package/dist/useInfiniteScroll.d.cts +1 -1
- package/dist/useInfiniteScroll.d.ts +1 -1
- package/dist/useQRCode.d.cts +4 -4
- package/dist/useQRCode.d.ts +4 -4
- package/dist/useSignatureHistory.d.cts +4 -4
- package/dist/useSignatureHistory.d.ts +4 -4
- package/dist/useSplitResize.d.cts +4 -4
- package/dist/useSplitResize.d.ts +4 -4
- package/dist/useTableGlobalConfig.cjs +1 -0
- package/dist/useTableGlobalConfig.js +1 -0
- package/dist/useTableQuery.cjs +1 -3
- package/dist/useTableQuery.js +1 -3
- package/dist/useWorkflowValidation.d.cts +2 -2
- package/dist/useWorkflowValidation.d.ts +2 -2
- package/dist/validation.cjs +1 -0
- package/dist/validation.d.cts +18 -0
- package/dist/validation.d.ts +18 -0
- package/dist/validation.js +1 -0
- package/dist/verification.d.cts +2 -2
- package/dist/verification.d.ts +3 -3
- package/dist/workflows.cjs +1 -0
- package/dist/workflows.d.cts +2 -0
- package/dist/workflows.d.ts +2 -0
- package/dist/workflows.js +1 -0
- package/docs/components.en.md +13 -1
- package/docs/components.md +13 -1
- package/docs/guides/batch-results.md +47 -0
- package/docs/guides/data-picker.md +65 -0
- package/docs/guides/data-workflows.md +123 -0
- package/docs/guides/form-density.en.md +39 -0
- package/docs/guides/form-density.md +39 -0
- package/docs/guides/search-workflows.md +164 -0
- package/package.json +21 -1
- package/dist/C_FormSearch2.cjs +0 -1
- package/dist/C_FormSearch2.js +0 -1
- package/dist/useTableQuery.d.cts +0 -1957
- package/dist/useTableQuery.d.ts +0 -1946
package/dist/presets.d.cts
CHANGED
|
@@ -1,69 +1,6 @@
|
|
|
1
|
+
import { i as ActionDropdownItem, l as TableActionsProps, o as ActionItem, t as ActionBarConfig } from "./types.cjs";
|
|
1
2
|
import * as vue from "vue";
|
|
2
|
-
import { Directive, Ref } from "vue";
|
|
3
|
-
import { ButtonProps } from "naive-ui";
|
|
4
3
|
|
|
5
|
-
//#region src/components/C_ActionBar/types.d.ts
|
|
6
|
-
type ActionState = boolean | Ref<boolean> | (() => boolean);
|
|
7
|
-
type ActionButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
|
|
8
|
-
type ActionButtonSize = 'tiny' | 'small' | 'medium' | 'large';
|
|
9
|
-
type ActionGroupAlign = 'left' | 'center' | 'right' | 'space-between' | 'space-around';
|
|
10
|
-
interface ActionDropdownItem {
|
|
11
|
-
key: string;
|
|
12
|
-
label: string;
|
|
13
|
-
icon?: string;
|
|
14
|
-
disabled?: ActionState;
|
|
15
|
-
show?: ActionState;
|
|
16
|
-
/** 返回值忽略;Promise 用于执行锁、loading 与错误传播。 */
|
|
17
|
-
onClick?: () => unknown;
|
|
18
|
-
}
|
|
19
|
-
interface ActionItem {
|
|
20
|
-
/** 动作建议使用稳定 key;重复 key 共享执行锁,无 key 时按所在分组和位置识别。 */
|
|
21
|
-
key?: string;
|
|
22
|
-
/** 内置语义 key 可省略 label、icon 与 type,并自动继承一致的视觉预设。 */
|
|
23
|
-
label?: string;
|
|
24
|
-
icon?: string;
|
|
25
|
-
type?: ActionButtonType;
|
|
26
|
-
size?: ActionButtonSize;
|
|
27
|
-
loading?: ActionState;
|
|
28
|
-
disabled?: ActionState;
|
|
29
|
-
show?: ActionState;
|
|
30
|
-
tooltip?: string;
|
|
31
|
-
group?: 'left' | 'right';
|
|
32
|
-
dropdown?: ActionDropdownItem[];
|
|
33
|
-
/** 是否自动显示 loading;执行期间始终阻止同 key 动作重复触发。 */
|
|
34
|
-
autoLoading?: boolean;
|
|
35
|
-
/** 返回值忽略;Promise 用于执行锁、loading 与错误传播。 */
|
|
36
|
-
onClick?: () => unknown;
|
|
37
|
-
/** 视觉属性透传。disabled/loading 与动作状态合并;onClick 作为原生点击观察者保留。 */
|
|
38
|
-
buttonProps?: Partial<ButtonProps>;
|
|
39
|
-
directives?: Array<[Directive, any?] | [Directive, any, string?] | [Directive, any, string?, Record<string, boolean>?]>;
|
|
40
|
-
}
|
|
41
|
-
interface ActionBarConfig {
|
|
42
|
-
align?: ActionGroupAlign;
|
|
43
|
-
size?: ActionButtonSize;
|
|
44
|
-
/** 按钮间距;省略时紧凑模式为 6px,常规模式为 12px。 */
|
|
45
|
-
gap?: number;
|
|
46
|
-
/** 允许分组及组内按钮随可用宽度换行。 */
|
|
47
|
-
wrap?: boolean;
|
|
48
|
-
showDivider?: boolean;
|
|
49
|
-
dividerType?: 'vertical' | 'horizontal';
|
|
50
|
-
/** 减少容器留白和默认按钮间距;行内模式也生效。 */
|
|
51
|
-
compact?: boolean;
|
|
52
|
-
inline?: boolean;
|
|
53
|
-
}
|
|
54
|
-
interface TableActionsProps {
|
|
55
|
-
actions?: ActionItem[];
|
|
56
|
-
leftActions?: ActionItem[];
|
|
57
|
-
rightActions?: ActionItem[];
|
|
58
|
-
config?: ActionBarConfig;
|
|
59
|
-
}
|
|
60
|
-
interface TableActionsEmits {
|
|
61
|
-
(e: 'action-click', action: ActionItem): void;
|
|
62
|
-
(e: 'dropdown-click', item: ActionDropdownItem, action: ActionItem): void;
|
|
63
|
-
/** 执行失败通知;错误继续交给 Vue 的错误处理边界。 */
|
|
64
|
-
(e: 'action-error', error: unknown, action: ActionItem, item?: ActionDropdownItem): void;
|
|
65
|
-
}
|
|
66
|
-
//#endregion
|
|
67
4
|
//#region src/components/C_ActionBar/index.vue.d.ts
|
|
68
5
|
declare var __VLS_14: {};
|
|
69
6
|
type __VLS_Slots = {} & {
|
|
@@ -104,4 +41,4 @@ declare const resolveActionPreset: (action: ActionItem) => ActionItem;
|
|
|
104
41
|
/** 保留动作字面量推导,使用侧无需重复声明 ActionItem[]。 */
|
|
105
42
|
declare const defineActions: <const T extends ActionItem[]>(actions: T) => T;
|
|
106
43
|
//#endregion
|
|
107
|
-
export { resolveActionPreset as a,
|
|
44
|
+
export { resolveActionPreset as a, defineActions as i, ACTION_PRESETS as n, _default as o, DEFAULT_ACTION_ICON as r, ACTION_BAR_DEFAULT_CONFIG as t };
|
package/dist/presets.d.ts
CHANGED
|
@@ -1,69 +1,6 @@
|
|
|
1
|
+
import { i as ActionDropdownItem, l as TableActionsProps, o as ActionItem, t as ActionBarConfig } from "./types.js";
|
|
1
2
|
import * as vue from "vue";
|
|
2
|
-
import { Directive, Ref } from "vue";
|
|
3
|
-
import { ButtonProps } from "naive-ui";
|
|
4
3
|
|
|
5
|
-
//#region src/components/C_ActionBar/types.d.ts
|
|
6
|
-
type ActionState = boolean | Ref<boolean> | (() => boolean);
|
|
7
|
-
type ActionButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
|
|
8
|
-
type ActionButtonSize = 'tiny' | 'small' | 'medium' | 'large';
|
|
9
|
-
type ActionGroupAlign = 'left' | 'center' | 'right' | 'space-between' | 'space-around';
|
|
10
|
-
interface ActionDropdownItem {
|
|
11
|
-
key: string;
|
|
12
|
-
label: string;
|
|
13
|
-
icon?: string;
|
|
14
|
-
disabled?: ActionState;
|
|
15
|
-
show?: ActionState;
|
|
16
|
-
/** 返回值忽略;Promise 用于执行锁、loading 与错误传播。 */
|
|
17
|
-
onClick?: () => unknown;
|
|
18
|
-
}
|
|
19
|
-
interface ActionItem {
|
|
20
|
-
/** 动作建议使用稳定 key;重复 key 共享执行锁,无 key 时按所在分组和位置识别。 */
|
|
21
|
-
key?: string;
|
|
22
|
-
/** 内置语义 key 可省略 label、icon 与 type,并自动继承一致的视觉预设。 */
|
|
23
|
-
label?: string;
|
|
24
|
-
icon?: string;
|
|
25
|
-
type?: ActionButtonType;
|
|
26
|
-
size?: ActionButtonSize;
|
|
27
|
-
loading?: ActionState;
|
|
28
|
-
disabled?: ActionState;
|
|
29
|
-
show?: ActionState;
|
|
30
|
-
tooltip?: string;
|
|
31
|
-
group?: 'left' | 'right';
|
|
32
|
-
dropdown?: ActionDropdownItem[];
|
|
33
|
-
/** 是否自动显示 loading;执行期间始终阻止同 key 动作重复触发。 */
|
|
34
|
-
autoLoading?: boolean;
|
|
35
|
-
/** 返回值忽略;Promise 用于执行锁、loading 与错误传播。 */
|
|
36
|
-
onClick?: () => unknown;
|
|
37
|
-
/** 视觉属性透传。disabled/loading 与动作状态合并;onClick 作为原生点击观察者保留。 */
|
|
38
|
-
buttonProps?: Partial<ButtonProps>;
|
|
39
|
-
directives?: Array<[Directive, any?] | [Directive, any, string?] | [Directive, any, string?, Record<string, boolean>?]>;
|
|
40
|
-
}
|
|
41
|
-
interface ActionBarConfig {
|
|
42
|
-
align?: ActionGroupAlign;
|
|
43
|
-
size?: ActionButtonSize;
|
|
44
|
-
/** 按钮间距;省略时紧凑模式为 6px,常规模式为 12px。 */
|
|
45
|
-
gap?: number;
|
|
46
|
-
/** 允许分组及组内按钮随可用宽度换行。 */
|
|
47
|
-
wrap?: boolean;
|
|
48
|
-
showDivider?: boolean;
|
|
49
|
-
dividerType?: 'vertical' | 'horizontal';
|
|
50
|
-
/** 减少容器留白和默认按钮间距;行内模式也生效。 */
|
|
51
|
-
compact?: boolean;
|
|
52
|
-
inline?: boolean;
|
|
53
|
-
}
|
|
54
|
-
interface TableActionsProps {
|
|
55
|
-
actions?: ActionItem[];
|
|
56
|
-
leftActions?: ActionItem[];
|
|
57
|
-
rightActions?: ActionItem[];
|
|
58
|
-
config?: ActionBarConfig;
|
|
59
|
-
}
|
|
60
|
-
interface TableActionsEmits {
|
|
61
|
-
(e: 'action-click', action: ActionItem): void;
|
|
62
|
-
(e: 'dropdown-click', item: ActionDropdownItem, action: ActionItem): void;
|
|
63
|
-
/** 执行失败通知;错误继续交给 Vue 的错误处理边界。 */
|
|
64
|
-
(e: 'action-error', error: unknown, action: ActionItem, item?: ActionDropdownItem): void;
|
|
65
|
-
}
|
|
66
|
-
//#endregion
|
|
67
4
|
//#region src/components/C_ActionBar/index.vue.d.ts
|
|
68
5
|
declare var __VLS_14: {};
|
|
69
6
|
type __VLS_Slots = {} & {
|
|
@@ -104,4 +41,4 @@ declare const resolveActionPreset: (action: ActionItem) => ActionItem;
|
|
|
104
41
|
/** 保留动作字面量推导,使用侧无需重复声明 ActionItem[]。 */
|
|
105
42
|
declare const defineActions: <const T extends ActionItem[]>(actions: T) => T;
|
|
106
43
|
//#endregion
|
|
107
|
-
export { resolveActionPreset as a,
|
|
44
|
+
export { resolveActionPreset as a, defineActions as i, ACTION_PRESETS as n, _default as o, DEFAULT_ACTION_ICON as r, ACTION_BAR_DEFAULT_CONFIG as t };
|
package/dist/resolver.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=`@robot-admin/naive-ui-components`,t=`C_ActionBar.C_AntV.C_AudioPlayer.C_AvatarGroup.C_Barcode.C_Breadcrumb.C_Captcha.C_Cascade.C_Chat.C_City.C_Code.C_CollapsePanel.C_ContextMenu.C_Cron.C_Date.C_Draggable.C_Editor.C_FilePreview.C_Form.C_FormModal.C_FormSearch.C_FormulaEditor.C_FullCalendar.C_GlobalSearch.C_Guide.C_Icon.C_ImageCropper.C_Language.C_Login.C_Loading.C_Map.C_Markdown.C_Menu.C_NotificationCenter.C_OrgChart.C_PageLoading.C_Progress.C_QRCode.C_Signature.C_Skeleton.C_SplitPane.C_Steps.C_Table.C_Tabs.C_TagsView.C_Theme.C_Time.C_Timeline.C_Transfer.C_Tree.C_Upload.C_VideoPlayer.C_VtableGantt.C_WaterFall.C_WorkFlow`.split(`.`),n=new Set(t);function r(t={}){let{importOnDemand:r=!0,importStyle:i=!1}=t;return{type:`component`,resolve:t=>{if(n.has(t)){let n=r?`${e}/${t}`:e,a=i===!0?`full`:i;return{name:t,from:n,sideEffects:r&&a?`${e}/${t}/${a===`base`&&(t===`C_Form`||t===`C_Table`)?`base.css`:`style.css`}`:void 0}}}}}exports.RobotNaiveUiResolver=r,exports.componentNames=t;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=`@robot-admin/naive-ui-components`,t=`C_ActionBar.C_AntV.C_AudioPlayer.C_AvatarGroup.C_Barcode.C_BatchResult.C_Breadcrumb.C_Captcha.C_Cascade.C_Chat.C_City.C_Code.C_CollapsePanel.C_ContextMenu.C_Cron.C_DataPicker.C_Date.C_Density.C_Draggable.C_Editor.C_ErrorSummary.C_FilePreview.C_Form.C_FormModal.C_FormSearch.C_FormulaEditor.C_FullCalendar.C_GlobalSearch.C_Guide.C_Icon.C_ImageCropper.C_Language.C_Login.C_Loading.C_Map.C_Markdown.C_Menu.C_NotificationCenter.C_OrgChart.C_PageLoading.C_Progress.C_QRCode.C_SectionNav.C_Signature.C_Skeleton.C_SplitPane.C_Steps.C_Table.C_Tabs.C_TagsView.C_Theme.C_Time.C_Timeline.C_Transfer.C_Tree.C_Upload.C_VideoPlayer.C_VtableGantt.C_WaterFall.C_WorkFlow`.split(`.`),n=new Set(t);function r(t={}){let{importOnDemand:r=!0,importStyle:i=!1}=t;return{type:`component`,resolve:t=>{if(n.has(t)){let n=r?`${e}/${t}`:e,a=i===!0?`full`:i;return{name:t,from:n,sideEffects:r&&a?`${e}/${t}/${a===`base`&&(t===`C_Form`||t===`C_Table`)?`base.css`:`style.css`}`:void 0}}}}}exports.RobotNaiveUiResolver=r,exports.componentNames=t;
|
package/dist/resolver.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/resolver.d.ts
|
|
2
2
|
/** 组件库包含的所有组件名称 */
|
|
3
|
-
declare const componentNames: readonly ["C_ActionBar", "C_AntV", "C_AudioPlayer", "C_AvatarGroup", "C_Barcode", "C_Breadcrumb", "C_Captcha", "C_Cascade", "C_Chat", "C_City", "C_Code", "C_CollapsePanel", "C_ContextMenu", "C_Cron", "C_Date", "C_Draggable", "C_Editor", "C_FilePreview", "C_Form", "C_FormModal", "C_FormSearch", "C_FormulaEditor", "C_FullCalendar", "C_GlobalSearch", "C_Guide", "C_Icon", "C_ImageCropper", "C_Language", "C_Login", "C_Loading", "C_Map", "C_Markdown", "C_Menu", "C_NotificationCenter", "C_OrgChart", "C_PageLoading", "C_Progress", "C_QRCode", "C_Signature", "C_Skeleton", "C_SplitPane", "C_Steps", "C_Table", "C_Tabs", "C_TagsView", "C_Theme", "C_Time", "C_Timeline", "C_Transfer", "C_Tree", "C_Upload", "C_VideoPlayer", "C_VtableGantt", "C_WaterFall", "C_WorkFlow"];
|
|
3
|
+
declare const componentNames: readonly ["C_ActionBar", "C_AntV", "C_AudioPlayer", "C_AvatarGroup", "C_Barcode", "C_BatchResult", "C_Breadcrumb", "C_Captcha", "C_Cascade", "C_Chat", "C_City", "C_Code", "C_CollapsePanel", "C_ContextMenu", "C_Cron", "C_DataPicker", "C_Date", "C_Density", "C_Draggable", "C_Editor", "C_ErrorSummary", "C_FilePreview", "C_Form", "C_FormModal", "C_FormSearch", "C_FormulaEditor", "C_FullCalendar", "C_GlobalSearch", "C_Guide", "C_Icon", "C_ImageCropper", "C_Language", "C_Login", "C_Loading", "C_Map", "C_Markdown", "C_Menu", "C_NotificationCenter", "C_OrgChart", "C_PageLoading", "C_Progress", "C_QRCode", "C_SectionNav", "C_Signature", "C_Skeleton", "C_SplitPane", "C_Steps", "C_Table", "C_Tabs", "C_TagsView", "C_Theme", "C_Time", "C_Timeline", "C_Transfer", "C_Tree", "C_Upload", "C_VideoPlayer", "C_VtableGantt", "C_WaterFall", "C_WorkFlow"];
|
|
4
4
|
/** 组件名称类型 */
|
|
5
5
|
type ComponentName = (typeof componentNames)[number];
|
|
6
6
|
/** Component style loading strategy. `true` is kept as an alias of `full`. */
|
package/dist/resolver.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/resolver.d.ts
|
|
2
2
|
/** 组件库包含的所有组件名称 */
|
|
3
|
-
declare const componentNames: readonly ["C_ActionBar", "C_AntV", "C_AudioPlayer", "C_AvatarGroup", "C_Barcode", "C_Breadcrumb", "C_Captcha", "C_Cascade", "C_Chat", "C_City", "C_Code", "C_CollapsePanel", "C_ContextMenu", "C_Cron", "C_Date", "C_Draggable", "C_Editor", "C_FilePreview", "C_Form", "C_FormModal", "C_FormSearch", "C_FormulaEditor", "C_FullCalendar", "C_GlobalSearch", "C_Guide", "C_Icon", "C_ImageCropper", "C_Language", "C_Login", "C_Loading", "C_Map", "C_Markdown", "C_Menu", "C_NotificationCenter", "C_OrgChart", "C_PageLoading", "C_Progress", "C_QRCode", "C_Signature", "C_Skeleton", "C_SplitPane", "C_Steps", "C_Table", "C_Tabs", "C_TagsView", "C_Theme", "C_Time", "C_Timeline", "C_Transfer", "C_Tree", "C_Upload", "C_VideoPlayer", "C_VtableGantt", "C_WaterFall", "C_WorkFlow"];
|
|
3
|
+
declare const componentNames: readonly ["C_ActionBar", "C_AntV", "C_AudioPlayer", "C_AvatarGroup", "C_Barcode", "C_BatchResult", "C_Breadcrumb", "C_Captcha", "C_Cascade", "C_Chat", "C_City", "C_Code", "C_CollapsePanel", "C_ContextMenu", "C_Cron", "C_DataPicker", "C_Date", "C_Density", "C_Draggable", "C_Editor", "C_ErrorSummary", "C_FilePreview", "C_Form", "C_FormModal", "C_FormSearch", "C_FormulaEditor", "C_FullCalendar", "C_GlobalSearch", "C_Guide", "C_Icon", "C_ImageCropper", "C_Language", "C_Login", "C_Loading", "C_Map", "C_Markdown", "C_Menu", "C_NotificationCenter", "C_OrgChart", "C_PageLoading", "C_Progress", "C_QRCode", "C_SectionNav", "C_Signature", "C_Skeleton", "C_SplitPane", "C_Steps", "C_Table", "C_Tabs", "C_TagsView", "C_Theme", "C_Time", "C_Timeline", "C_Transfer", "C_Tree", "C_Upload", "C_VideoPlayer", "C_VtableGantt", "C_WaterFall", "C_WorkFlow"];
|
|
4
4
|
/** 组件名称类型 */
|
|
5
5
|
type ComponentName = (typeof componentNames)[number];
|
|
6
6
|
/** Component style loading strategy. `true` is kept as an alias of `full`. */
|
package/dist/resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=`@robot-admin/naive-ui-components`,t=`C_ActionBar.C_AntV.C_AudioPlayer.C_AvatarGroup.C_Barcode.C_Breadcrumb.C_Captcha.C_Cascade.C_Chat.C_City.C_Code.C_CollapsePanel.C_ContextMenu.C_Cron.C_Date.C_Draggable.C_Editor.C_FilePreview.C_Form.C_FormModal.C_FormSearch.C_FormulaEditor.C_FullCalendar.C_GlobalSearch.C_Guide.C_Icon.C_ImageCropper.C_Language.C_Login.C_Loading.C_Map.C_Markdown.C_Menu.C_NotificationCenter.C_OrgChart.C_PageLoading.C_Progress.C_QRCode.C_Signature.C_Skeleton.C_SplitPane.C_Steps.C_Table.C_Tabs.C_TagsView.C_Theme.C_Time.C_Timeline.C_Transfer.C_Tree.C_Upload.C_VideoPlayer.C_VtableGantt.C_WaterFall.C_WorkFlow`.split(`.`),n=new Set(t);function r(t={}){let{importOnDemand:r=!0,importStyle:i=!1}=t;return{type:`component`,resolve:t=>{if(n.has(t)){let n=r?`${e}/${t}`:e,a=i===!0?`full`:i;return{name:t,from:n,sideEffects:r&&a?`${e}/${t}/${a===`base`&&(t===`C_Form`||t===`C_Table`)?`base.css`:`style.css`}`:void 0}}}}}export{r as RobotNaiveUiResolver,t as componentNames};
|
|
1
|
+
const e=`@robot-admin/naive-ui-components`,t=`C_ActionBar.C_AntV.C_AudioPlayer.C_AvatarGroup.C_Barcode.C_BatchResult.C_Breadcrumb.C_Captcha.C_Cascade.C_Chat.C_City.C_Code.C_CollapsePanel.C_ContextMenu.C_Cron.C_DataPicker.C_Date.C_Density.C_Draggable.C_Editor.C_ErrorSummary.C_FilePreview.C_Form.C_FormModal.C_FormSearch.C_FormulaEditor.C_FullCalendar.C_GlobalSearch.C_Guide.C_Icon.C_ImageCropper.C_Language.C_Login.C_Loading.C_Map.C_Markdown.C_Menu.C_NotificationCenter.C_OrgChart.C_PageLoading.C_Progress.C_QRCode.C_SectionNav.C_Signature.C_Skeleton.C_SplitPane.C_Steps.C_Table.C_Tabs.C_TagsView.C_Theme.C_Time.C_Timeline.C_Transfer.C_Tree.C_Upload.C_VideoPlayer.C_VtableGantt.C_WaterFall.C_WorkFlow`.split(`.`),n=new Set(t);function r(t={}){let{importOnDemand:r=!0,importStyle:i=!1}=t;return{type:`component`,resolve:t=>{if(n.has(t)){let n=r?`${e}/${t}`:e,a=i===!0?`full`:i;return{name:t,from:n,sideEffects:r&&a?`${e}/${t}/${a===`base`&&(t===`C_Form`||t===`C_Table`)?`base.css`:`style.css`}`:void 0}}}}}export{r as RobotNaiveUiResolver,t as componentNames};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./observer.cjs`),n=require(`./data2.cjs`),r=require(`./useComponentLocale.cjs`),i=require(`./feedback.cjs`),a=require(`./export-helper.cjs`),o=require(`./useActionTask.cjs`),s=require(`./useFormConfig.cjs`),c=require(`./storage.cjs`),l=require(`./useGridWidth.cjs`),u=require(`./useDictionary.cjs`);let d=require(`vue`),f=require(`naive-ui`);function p(e,t){return e.show!==!1&&e.type!==`spacer`&&!_(e)&&![`pageNum`,`pageSize`].includes(e.prop)&&Object.prototype.hasOwnProperty.call(t,e.prop)}function m(e,t,r){if(!r||typeof r!=`object`||Array.isArray(r))throw TypeError(`搜索预设必须是字段值对象`);let i=n.t(e),a=i;for(let e of t)p(e,r)&&(n.o(e.prop),a[e.prop]=n.t(b(e,r[e.prop],a[e.prop])));return i}const h=e=>e.type===`select`&&e.attrs?.multiple===!0,g=e=>[`select`,`number`].includes(e.type)&&e.attrs?.clearable===!1;function _(e){return!!(e.fixed||e.disabled||e.readonly||e.attrs?.disabled===!0||e.attrs?.readonly===!0)}function v(e){return e==null||e===``||Array.isArray(e)&&e.every(v)}function y(e,t){return e.fixed?n.t(t):e.defaultValue===void 0?e.type===`input`?``:h(e)?[]:g(e)?n.t(t):null:n.t(e.defaultValue)}function b(e,t,n){return t??(e.type===`input`?``:h(e)?[]:g(e)||e.type===`custom`?y(e,n):null)}function x(e,t,n={}){let r=()=>(0,d.toValue)(n),i=(0,d.computed)(()=>!!r().storageKey),a=t=>e.value.find(e=>e.prop===t),o=()=>{let{storageKey:t}=r();t&&c.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},s=()=>{let{storageKey:e}=r();if(!e)return;let t=c.t(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=a(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},l=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},u=e=>{let t=a(e);!t||_(t)||(s(),l(e))},f=()=>l(),p=(e,n)=>{let r=a(n);r?.type!==`input`||_(r)||(t.value[n]=e,f())},m=(e,t)=>{let n=a(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),o())},h=e=>{let t=a(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,o())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:u,closeAllPanels:f,selectHistoryItem:p,deleteHistoryItem:m,clearAllHistory:h,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=a(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),o())},restoreFromStorage:s}}function S(e,a){let s=(0,d.computed)(()=>(0,d.toValue)(a.config)??{}),c=i.t(()=>s.value.feedback),{t:l}=r.t(()=>s.value.locale),u=(0,d.ref)(null),f=(0,d.computed)(()=>s.value.foldThreshold??7),p=(0,d.computed)(()=>s.value.requireValue??!0),h=(0,d.ref)(n.t(a.formItemList)),g=(0,d.ref)(n.t(a.formParams)),_=(0,d.ref)(null),b=(0,d.computed)(()=>_.value===null||!n.a(g.value,_.value)),S=(0,d.ref)(!1),C=0,w=o.t(),T=(0,d.computed)(()=>w.isRunning(`search`)),E=!0;(0,d.getCurrentScope)()&&(0,d.onScopeDispose)(()=>{E=!1});let D=x(h,g,a.historyOptions),O=(0,d.computed)(()=>h.value.filter(e=>e.show!==!1)),k=(0,d.computed)(()=>O.value.filter((e,t)=>S.value||t<f.value)),A=(0,d.computed)(()=>O.value.length>f.value),ee=(0,d.computed)(()=>{let e=new Set(k.value.map(e=>e.prop));return h.value.filter(t=>t.type!==`spacer`&&!e.has(t.prop)&&!v(g.value[t.prop])).length}),j=()=>{let e=g.value;h.value.forEach(t=>{t.isFocus=!1,t.show!==!1&&(t.type===`select`&&!t.placeholder&&(t.placeholder=`请选择`),t.type!==`spacer`&&e[t.prop]===void 0&&(e[t.prop]=t.defaultValue===void 0?y(t,e[t.prop]):n.t(t.defaultValue)))})},te=async()=>{try{return await u.value?.validate(),!0}catch{return A.value&&(S.value=!0),!1}},M=e=>E&&!(0,d.toValue)(a.loading)&&n.a(g.value,e),N=e=>{if(!p.value)return!0;let t=Object.entries(e).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!v(e));return t||c.warning(l(`search.valueRequired`)),t},P=(e,t)=>E&&t===C&&h.value.filter(e=>e.fixed).every(t=>n.a(g.value[t.prop],e[t.prop])),F=e=>{E&&c.error(l(`search.failed`),e)},ne=async()=>{let r=n.t(g.value),i=C;if(!await te()||!M(r)||!N(r)||(D.saveCurrentInputs(),e(`search`,n.t(r)),!M(r)))return!1;let o=s.value.onSearch;if(!o)return!0;try{if(await o(n.t(r))===!1)return!1}catch(e){return F(e),!1}return P(r,i)?(_.value=n.t(r),t.t(()=>a.onApplied?.(n.t(r))),!0):!1},I=async()=>{let e=await w.run(`search`,ne,()=>!(0,d.toValue)(a.loading));return e.executed&&e.value},L=t=>{e(`change-params`,n.t(t)),e(`update:modelValue`,n.t(t))},R=()=>{G=!0;let e=++K;(0,d.nextTick)(()=>{e===K&&(G=!1)})},z=()=>{u.value?.restoreValidation();let t=n.t(g.value),r=t;h.value.forEach(e=>{e.show===!1||e.fixed||e.type===`spacer`||e.prop===`pageNum`||e.prop===`pageSize`||(r[e.prop]=y(e,r[e.prop]))}),R(),g.value=t,L(t),e(`reset`,n.t(t))},B=e=>{if(!E)return!1;try{let t=m(g.value,h.value,e);return n.a(t,g.value)?!0:(R(),g.value=t,L(t),!0)}catch(e){return t.t(()=>F(e)),!1}},V=()=>{S.value=!S.value},H=e=>{let t=new Map(h.value.map(e=>[e.prop,e]));h.value=n.t(e).map(e=>{let n=t.get(e.prop);return n&&e.hisList===void 0?{...e,hisList:n.hisList,isFocus:!1}:e}),j()},U=e=>{n.a(e,g.value)||(R(),g.value=n.t(e),j())},W=(e,t)=>{U(t),H(e)},G=!1,K=0;return j(),(0,d.watch)(()=>h.value.filter(e=>e.fixed).map(e=>[e.prop,n.t(g.value[e.prop])]),(e,t)=>{n.a(e,t)||(C++,_.value=null)},{deep:!0,flush:`sync`}),(0,d.watch)(g,e=>{G||L(e)},{deep:!0}),(0,d.onMounted)(()=>{D.restoreFromStorage()}),{formRef:u,fields:h,formParams:g,appliedParams:_,hasUnappliedChanges:b,hiddenActiveCount:ee,expanded:S,searching:T,visibleFields:k,availableFields:O,foldThreshold:f,hasExpandButton:A,history:D,searchFn:I,resetFn:z,applyPreset:B,toggleFold:V,syncFromProps:W,syncFields:H,syncModel:U}}const C=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},w={date:{type:`date`,format:`yyyy-MM-dd`},month:{type:`month`,format:`yyyy-MM`},"date-range":{type:`datetimerange`,format:`yyyy-MM-dd HH:mm`}},T=e=>typeof e==`string`?{mode:`formatted`,value:e}:{mode:`timestamp`,value:typeof e==`number`&&Number.isFinite(e)?e:null};function E(e,t){let n=e.type===`date`||e.type===`month`?e.type:`date-range`,r=n===`date-range`?C(t):T(t),i=e.valueMode??r.mode,a=w[n];return i===`formatted`?{...a,mode:i,value:r.mode===`formatted`?r.value:null}:{...a,mode:i,value:r.mode===`timestamp`?r.value:null}}function D(e,t){let n=e?.map(e=>e.value===void 0?e.label??e.labelDefault:e.value),r=Array.isArray(t)?t:[t],i=new Set([...n??[],...r]),a=new Map;for(let e of[!1,!0]){let t=`__c_form_search_boolean_${e}__`;for(;i.has(t);)t+=`_`;a.set(e,t),i.add(t)}let o=e=>typeof e==`boolean`?a.get(e):typeof e==`string`||typeof e==`number`?e:null,s=e=>e===a.get(!1)?!1:e===a.get(!0)?!0:e;return{options:e?.map((e,t)=>({...e,label:e.label??e.labelDefault??``,value:o(n[t])??void 0})),value:Array.isArray(t)?t.map(o).filter(e=>e!==null):o(t),decode:e=>Array.isArray(e)?e.map(s):e===null?null:s(e)}}function O(e){let t=(0,d.ref)(null),n=l.t(t,()=>e().enabled),r=(0,d.computed)(()=>{let{minWidth:t,gap:r,columns:i}=e(),a=Number.isFinite(t)?Math.max(1,t):208,o=n.value>0?Math.max(1,Math.floor((n.value+r)/(a+r))):1;return i!==void 0&&Number.isFinite(i)?Math.min(o,Math.max(1,Math.floor(i))):o});return{root:t,style:(0,d.computed)(()=>e().enabled?{gridTemplateColumns:`repeat(${r.value}, minmax(0, 1fr))`,columnGap:`${e().gap}px`}:void 0),fieldStyle:t=>{if(!e().enabled)return;let i=(n.value+e().gap)/r.value,a=t.minWidth&&i>0?Math.ceil((t.minWidth+e().gap)/i):1,o=Number.isFinite(t.span)?Math.floor(t.span??1):1;return{gridColumn:`span ${Math.min(r.value,Math.max(1,o,a))}`}}}}var k=(0,d.defineComponent)({name:`SearchCustomField`,props:{render:{type:Function,required:!0},context:{type:Object,required:!0}},setup:e=>()=>e.render(e.context)});const A={key:0,class:`form-search-input-control`},ee=[`onClick`],j={class:`history-text`},te={key:0,class:`history-footer`},M=[`onClick`],N={role:`alert`,class:`form-search-option-error`},P={key:3,class:`form-search-number-range`},F={class:`form-search-item-box form-search-actions`},ne={key:0,class:`form-search-hidden-count`,role:`status`},I=(0,d.defineComponent)({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`,`applied`],setup(t,{expose:n,emit:r}){let i=(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),a=t,o=r,c=s.o(),l=(0,d.computed)(()=>a.config?.density??c.density),p=(0,d.computed)(()=>e.t(l.value)),m=(0,d.computed)(()=>a.size??p.value.size),h=(0,d.computed)(()=>{if(l.value===void 0)return;let{gap:e,rowGap:t,padding:n}=p.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`,"--c-search-field-width":l.value===`compact`?`208px`:void 0}}),{formRef:g,formParams:v,appliedParams:y,hasUnappliedChanges:x,hiddenActiveCount:C,expanded:w,searching:T,availableFields:I,foldThreshold:L,hasExpandButton:R,history:z,searchFn:B,resetFn:V,applyPreset:H,toggleFold:U,syncFields:W,syncModel:G}=S(o,{formItemList:a.formItemList,formParams:a.modelValue??a.formParams,config:()=>a.config,loading:()=>a.loading,onApplied:e=>o(`applied`,e),historyOptions:()=>({storageKey:a.formSearchInputHistoryString,maxItems:a.config?.historyMaxItems})}),K=(0,d.computed)(()=>a.config?.layout===`grid`),re=(0,d.computed)(()=>a.config?.labelPlacement!==`left`&&I.value.some(e=>!!e.label)),{root:ie,style:ae,fieldStyle:oe}=O(()=>({enabled:K.value,minWidth:a.config?.fieldMinWidth??(l.value===`compact`?208:260),gap:l.value?p.value.gap:32,columns:a.config?.columns})),q=u.t(()=>new Map(a.formItemList.filter(e=>e.type===`select`&&e.show!==!1&&e.list===void 0&&!Array.isArray(e.attrs?.options)).map(e=>[e.prop,e.dictionary]))),se=e=>Array.isArray(e.attrs?.options)?e.attrs.options:e.list===void 0?e.dictionary?q.getOptions(e.prop).map(e=>({...e})):void 0:e.list,J=(0,d.computed)(()=>new Map(I.value.filter(e=>e.type===`select`).map(e=>[e.prop,D(se(e),v.value[e.prop])]))),ce=e=>{let t=v.value[e];return typeof t==`string`?t:null},le=(e,t)=>{Y(e,J.value.get(e)?.decode(t)??null)},Y=(e,t)=>{let n=I.value.find(t=>t.prop===e),r=v.value;n&&!_(n)&&(r[e]=b(n,t,r[e]))},ue=e=>{let t=v.value[e];return typeof t==`number`&&Number.isFinite(t)?t:null},X=(e,t)=>{let n=v.value[e],r=Array.isArray(n)?n[t]:null;return typeof r==`number`&&Number.isFinite(r)?r:null},de=(e,t,n)=>{let r=[X(e,0),X(e,1)];r[t]=n,Y(e,r.every(e=>e===null)?null:r)},Z=e=>!!(e.fixed||e.disabled||e.attrs?.disabled===!0),Q=e=>!!(e.readonly||e.attrs?.readonly===!0),fe=e=>{if(q.getError(e.prop))return`error`;let t=e.attrs?.status;return t===`error`||t===`warning`?t:void 0},pe=(e,t)=>{let n=e.attrs?.inputProps,r=n&&typeof n==`object`?n:{};return{"aria-label":`${e.label||e.prop}${t===0?`起始值`:`结束值`}`,...r}},$=e=>{let t=e.attrs?.size;return t===`small`||t===`medium`||t===`large`?t:m.value},me=e=>({value:(0,d.readonly)(v.value)[e.prop],model:(0,d.readonly)(v.value),prop:e.prop,disabled:Z(e),readonly:Q(e),size:$(e),updateValue:t=>Y(e.prop,t)}),he=e=>e.render,ge=e=>{let t=e.prop,n=E(e,v.value[t]),r=n.mode===`formatted`?{formattedValue:n.value,"onUpdate:formattedValue":e=>Y(t,e)}:{value:n.value,"onUpdate:value":e=>Y(t,e)};return{type:n.type,format:n.format,valueFormat:n.format,startPlaceholder:`开始时间`,endPlaceholder:`结束时间`,clearable:!0,...e.attrs,...r,disabled:Z(e),readonly:Q(e)}};return(0,d.watch)(()=>a.formItemList,W,{deep:!0}),(0,d.watch)(()=>a.modelValue??a.formParams,G,{deep:!0}),n({formRef:g,formParams:v,appliedParams:y,hasUnappliedChanges:x,hiddenActiveCount:C,searchFn:B,cleanFn:V,applyPreset:H,changeFoldState:U}),(e,n)=>((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NCard),{class:(0,d.normalizeClass)([`form-search-card custom-card`,l.value&&`form-search-card--${l.value}`]),style:(0,d.normalizeStyle)(h.value),bordered:t.bordered},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{ref_key:`layoutRoot`,ref:ie,class:`form-search-layout`},[(0,d.createVNode)((0,d.unref)(f.NForm),{class:(0,d.normalizeClass)([`form-search`,{"form-search--grid":K.value}]),style:(0,d.normalizeStyle)((0,d.unref)(ae)),model:(0,d.unref)(v),ref_key:`formRef`,ref:g,size:m.value,"label-placement":t.config?.labelPlacement||`top`,"label-width":t.config?.labelWidth,onSubmit:(0,d.withModifiers)((0,d.unref)(B),[`prevent`])},{default:(0,d.withCtx)(()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)((0,d.unref)(I),(t,r)=>(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{class:`form-search-item-box`,key:t.prop||r,style:(0,d.normalizeStyle)((0,d.unref)(oe)(t))},[t.type===`spacer`?(0,d.createCommentVNode)(`v-if`,!0):((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NFormItem),{key:0,class:`form-item-input`,path:t.prop,rule:t.rules,"show-feedback":!1,label:t.label,"show-label":!!t.label},{default:(0,d.withCtx)(()=>[t.type===`input`?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,A,[(0,d.createVNode)((0,d.unref)(f.NInput),(0,d.mergeProps)({ref_for:!0},t.attrs,{clearable:t.attrs?.clearable!==!1,size:$(t),value:ce(t.prop),"onUpdate:value":e=>Y(t.prop,e),placeholder:t.placeholder,disabled:Z(t),readonly:Q(t),onFocus:e=>(0,d.unref)(z).handleFocus(t.prop),onBlur:(0,d.unref)(z).closeAllPanels}),null,16,[`clearable`,`size`,`value`,`onUpdate:value`,`placeholder`,`disabled`,`readonly`,`onFocus`,`onBlur`]),t.isFocus?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:0,class:`input-history`,onMousedown:n[0]||=(0,d.withModifiers)(()=>{},[`prevent`])},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(t.hisList,(e,r)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{class:`history-item`,onClick:n=>(0,d.unref)(z).selectHistoryItem(e,t.prop),key:e},[(0,d.createElementVNode)(`span`,j,(0,d.toDisplayString)(e),1),(0,d.createVNode)((0,d.unref)(f.NIcon),{class:`delete-icon`,size:`14`,onClick:(0,d.withModifiers)(e=>(0,d.unref)(z).deleteHistoryItem(t.prop,r),[`stop`])},{default:(0,d.withCtx)(()=>[...n[1]||=[(0,d.createElementVNode)(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,ee))),128)),t.hisList&&t.hisList.length>0?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,te,[(0,d.createElementVNode)(`span`,{class:`clear-all`,onClick:(0,d.withModifiers)(e=>(0,d.unref)(z).clearAllHistory(t.prop),[`stop`])},` 清空历史记录 `,8,M)])):(0,d.createCommentVNode)(`v-if`,!0)],32)):(0,d.createCommentVNode)(`v-if`,!0)])):(0,d.createCommentVNode)(`v-if`,!0),t.type===`select`?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NSelect),(0,d.mergeProps)({key:1,ref_for:!0},t.attrs,{value:J.value.get(t.prop)?.value,"onUpdate:value":e=>le(t.prop,e),placeholder:t.placeholder||`请选择`,clearable:t.attrs?.clearable!==!1,size:$(t),options:J.value.get(t.prop)?.options,loading:(0,d.unref)(q).isLoading(t.prop)||t.attrs?.loading===!0,disabled:Z(t)||Q(t),status:fe(t)}),(0,d.createSlots)({_:2},[(0,d.unref)(q).getError(t.prop)?{name:`empty`,fn:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,N,[n[3]||=(0,d.createTextVNode)(` 选项加载失败 `,-1),(0,d.createVNode)((0,d.unref)(f.NButton),{text:``,size:`small`,onClick:e=>(0,d.unref)(q).reload(t.prop)},{default:(0,d.withCtx)(()=>[...n[2]||=[(0,d.createTextVNode)(`重试`,-1)]]),_:1},8,[`onClick`])])]),key:`0`}:void 0]),1040,[`value`,`onUpdate:value`,`placeholder`,`clearable`,`size`,`options`,`loading`,`disabled`,`status`])):(0,d.createCommentVNode)(`v-if`,!0),t.type===`number`?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NInputNumber),(0,d.mergeProps)({key:2,ref_for:!0},t.attrs,{value:ue(t.prop),"onUpdate:value":e=>Y(t.prop,e),size:$(t),placeholder:t.placeholder,"show-button":t.attrs?.showButton===void 0?l.value!==`compact`:t.attrs.showButton===!0,disabled:Z(t),readonly:Q(t)}),null,16,[`value`,`onUpdate:value`,`size`,`placeholder`,`show-button`,`disabled`,`readonly`])):(0,d.createCommentVNode)(`v-if`,!0),t.type===`number-range`?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,P,[((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)([0,1],e=>(0,d.createVNode)((0,d.unref)(f.NInputNumber),(0,d.mergeProps)({key:e},{ref_for:!0},t.attrs,{value:X(t.prop,e),"onUpdate:value":n=>de(t.prop,e,n),size:$(t),placeholder:t.placeholder,"show-button":!1,disabled:Z(t),readonly:Q(t),"input-props":pe(t,e)}),null,16,[`value`,`onUpdate:value`,`size`,`placeholder`,`disabled`,`readonly`,`input-props`])),64))])):(0,d.createCommentVNode)(`v-if`,!0),t.type===`date-range`||t.type===`date`||t.type===`month`?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(i),(0,d.mergeProps)({key:4,size:m.value},{ref_for:!0},ge(t)),null,16,[`size`])):(0,d.createCommentVNode)(`v-if`,!0),t.type===`custom`?(0,d.renderSlot)(e.$slots,t.slot||t.prop,(0,d.mergeProps)({ref_for:!0},me(t)),()=>[t.render?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(k),{key:0,render:he(t),context:me(t)},null,8,[`render`,`context`])):(0,d.createCommentVNode)(`v-if`,!0)],!0,5):(0,d.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`path`,`rule`,`label`,`show-label`]))],4)),[[d.vShow,(0,d.unref)(w)||r<(0,d.unref)(L)]])),128)),(0,d.createElementVNode)(`div`,F,[(0,d.createVNode)((0,d.unref)(f.NFormItem),{class:`form-item-input`,"show-feedback":!1,"show-label":re.value,label:` `},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NSpace),{size:l.value?p.value.gap:8},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NTooltip),{trigger:`hover`},{trigger:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NButton),{type:`primary`,size:m.value,"aria-label":`搜索`,"attr-type":`submit`,loading:t.loading||(0,d.unref)(T)},{icon:(0,d.withCtx)(()=>[...n[4]||=[(0,d.createElementVNode)(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`loading`])]),default:(0,d.withCtx)(()=>[n[5]||=(0,d.createTextVNode)(` 搜索 `,-1)]),_:1}),(0,d.createVNode)((0,d.unref)(f.NTooltip),{trigger:`hover`},{trigger:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NButton),{size:m.value,"aria-label":`重置`,onClick:(0,d.unref)(V)},{icon:(0,d.withCtx)(()=>[...n[6]||=[(0,d.createElementVNode)(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:(0,d.withCtx)(()=>[n[7]||=(0,d.createTextVNode)(` 重置 `,-1)]),_:1}),(0,d.unref)(R)?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NTooltip),{key:0,trigger:`hover`},{trigger:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NButton),{size:m.value,"aria-label":(0,d.unref)(w)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":(0,d.unref)(w),onClick:(0,d.unref)(U)},{icon:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{class:(0,d.normalizeClass)((0,d.unref)(w)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:(0,d.withCtx)(()=>[(0,d.createTextVNode)(` `+(0,d.toDisplayString)((0,d.unref)(w)?`收起`:`展开`),1)]),_:1})):(0,d.createCommentVNode)(`v-if`,!0)]),_:1},8,[`size`]),(0,d.unref)(C)?((0,d.openBlock)(),(0,d.createElementBlock)(`span`,ne,(0,d.toDisplayString)((0,d.unref)(C))+` 项隐藏条件生效 `,1)):(0,d.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show-label`])])]),_:3},8,[`class`,`style`,`model`,`size`,`label-placement`,`label-width`,`onSubmit`])],512)]),_:3},8,[`class`,`style`,`bordered`]))}});var L=a.t(I,[[`__scopeId`,`data-v-4e8be665`]]);function R(e,t,r={}){let i=new Set;t.forEach(e=>{e.type!==`spacer`&&(e.query?.keys??[e.query?.name??e.prop]).forEach(e=>{if(n.o(e),i.has(e))throw TypeError(`Duplicate search query key: ${e}`);i.add(e)})});let a=n.t(e),o=r.omitEmpty??!0,s=(e,t)=>{n.o(e),o&&v(t)?delete a[e]:a[e]=n.t(t)};return t.forEach(t=>{if(t.type===`spacer`)return;let r=t.query,i=n.t(e[t.prop]),o=r?.serialize?r.serialize(i):i;if(r?.keys){delete a[t.prop];let[e,n]=r.keys,i=Array.isArray(o)?o:[null,null];s(e,i[0]),s(n,i[1]);return}let c=r?.name??t.prop;c!==t.prop&&delete a[t.prop],s(c,o)}),a}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return R}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./density.js";import{t}from"./observer.js";import{a as n,o as r,t as i}from"./data2.js";import{t as a}from"./useComponentLocale.js";import{t as o}from"./feedback.js";import{t as s}from"./export-helper.js";import{t as c}from"./useActionTask.js";import{o as l}from"./useFormConfig.js";import{i as u,t as d}from"./storage.js";import{t as f}from"./useGridWidth.js";import{t as ee}from"./useDictionary.js";import{Fragment as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createSlots as y,createTextVNode as b,createVNode as x,defineAsyncComponent as S,defineComponent as C,getCurrentScope as w,mergeProps as T,nextTick as te,normalizeClass as E,normalizeStyle as D,onMounted as ne,onScopeDispose as O,openBlock as k,readonly as A,ref as j,renderList as M,renderSlot as re,toDisplayString as N,toValue as P,unref as F,vShow as ie,watch as I,withCtx as L,withDirectives as ae,withModifiers as R}from"vue";import{NButton as z,NCard as oe,NForm as se,NFormItem as ce,NIcon as le,NInput as ue,NInputNumber as de,NSelect as B,NSpace as V,NTooltip as H}from"naive-ui";function U(e,t){return e.show!==!1&&e.type!==`spacer`&&!G(e)&&![`pageNum`,`pageSize`].includes(e.prop)&&Object.prototype.hasOwnProperty.call(t,e.prop)}function fe(e,t,n){if(!n||typeof n!=`object`||Array.isArray(n))throw TypeError(`搜索预设必须是字段值对象`);let a=i(e),o=a;for(let e of t)U(e,n)&&(r(e.prop),o[e.prop]=i(me(e,n[e.prop],o[e.prop])));return a}const pe=e=>e.type===`select`&&e.attrs?.multiple===!0,W=e=>[`select`,`number`].includes(e.type)&&e.attrs?.clearable===!1;function G(e){return!!(e.fixed||e.disabled||e.readonly||e.attrs?.disabled===!0||e.attrs?.readonly===!0)}function K(e){return e==null||e===``||Array.isArray(e)&&e.every(K)}function q(e,t){return e.fixed?i(t):e.defaultValue===void 0?e.type===`input`?``:pe(e)?[]:W(e)?i(t):null:i(e.defaultValue)}function me(e,t,n){return t??(e.type===`input`?``:pe(e)?[]:W(e)||e.type===`custom`?q(e,n):null)}function he(e,t,n={}){let r=()=>P(n),i=m(()=>!!r().storageKey),a=t=>e.value.find(e=>e.prop===t),o=()=>{let{storageKey:t}=r();t&&u(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},s=()=>{let{storageKey:e}=r();if(!e)return;let t=d(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=a(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},c=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},l=e=>{let t=a(e);!t||G(t)||(s(),c(e))},f=()=>c(),ee=(e,n)=>{let r=a(n);r?.type!==`input`||G(r)||(t.value[n]=e,f())},p=(e,t)=>{let n=a(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),o())},h=e=>{let t=a(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,o())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:l,closeAllPanels:f,selectHistoryItem:ee,deleteHistoryItem:p,clearAllHistory:h,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=a(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),o())},restoreFromStorage:s}}function ge(e,r){let s=m(()=>P(r.config)??{}),l=o(()=>s.value.feedback),{t:u}=a(()=>s.value.locale),d=j(null),f=m(()=>s.value.foldThreshold??7),ee=m(()=>s.value.requireValue??!0),p=j(i(r.formItemList)),h=j(i(r.formParams)),g=j(null),_=m(()=>g.value===null||!n(h.value,g.value)),v=j(!1),y=0,b=c(),x=m(()=>b.isRunning(`search`)),S=!0;w()&&O(()=>{S=!1});let C=he(p,h,r.historyOptions),T=m(()=>p.value.filter(e=>e.show!==!1)),E=m(()=>T.value.filter((e,t)=>v.value||t<f.value)),D=m(()=>T.value.length>f.value),k=m(()=>{let e=new Set(E.value.map(e=>e.prop));return p.value.filter(t=>t.type!==`spacer`&&!e.has(t.prop)&&!K(h.value[t.prop])).length}),A=()=>{let e=h.value;p.value.forEach(t=>{t.isFocus=!1,t.show!==!1&&(t.type===`select`&&!t.placeholder&&(t.placeholder=`请选择`),t.type!==`spacer`&&e[t.prop]===void 0&&(e[t.prop]=t.defaultValue===void 0?q(t,e[t.prop]):i(t.defaultValue)))})},M=async()=>{try{return await d.value?.validate(),!0}catch{return D.value&&(v.value=!0),!1}},re=e=>S&&!P(r.loading)&&n(h.value,e),N=e=>{if(!ee.value)return!0;let t=Object.entries(e).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!K(e));return t||l.warning(u(`search.valueRequired`)),t},F=(e,t)=>S&&t===y&&p.value.filter(e=>e.fixed).every(t=>n(h.value[t.prop],e[t.prop])),ie=e=>{S&&l.error(u(`search.failed`),e)},L=async()=>{let n=i(h.value),a=y;if(!await M()||!re(n)||!N(n)||(C.saveCurrentInputs(),e(`search`,i(n)),!re(n)))return!1;let o=s.value.onSearch;if(!o)return!0;try{if(await o(i(n))===!1)return!1}catch(e){return ie(e),!1}return F(n,a)?(g.value=i(n),t(()=>r.onApplied?.(i(n))),!0):!1},ae=async()=>{let e=await b.run(`search`,L,()=>!P(r.loading));return e.executed&&e.value},R=t=>{e(`change-params`,i(t)),e(`update:modelValue`,i(t))},z=()=>{B=!0;let e=++V;te(()=>{e===V&&(B=!1)})},oe=()=>{d.value?.restoreValidation();let t=i(h.value),n=t;p.value.forEach(e=>{e.show===!1||e.fixed||e.type===`spacer`||e.prop===`pageNum`||e.prop===`pageSize`||(n[e.prop]=q(e,n[e.prop]))}),z(),h.value=t,R(t),e(`reset`,i(t))},se=e=>{if(!S)return!1;try{let t=fe(h.value,p.value,e);return n(t,h.value)?!0:(z(),h.value=t,R(t),!0)}catch(e){return t(()=>ie(e)),!1}},ce=()=>{v.value=!v.value},le=e=>{let t=new Map(p.value.map(e=>[e.prop,e]));p.value=i(e).map(e=>{let n=t.get(e.prop);return n&&e.hisList===void 0?{...e,hisList:n.hisList,isFocus:!1}:e}),A()},ue=e=>{n(e,h.value)||(z(),h.value=i(e),A())},de=(e,t)=>{ue(t),le(e)},B=!1,V=0;return A(),I(()=>p.value.filter(e=>e.fixed).map(e=>[e.prop,i(h.value[e.prop])]),(e,t)=>{n(e,t)||(y++,g.value=null)},{deep:!0,flush:`sync`}),I(h,e=>{B||R(e)},{deep:!0}),ne(()=>{C.restoreFromStorage()}),{formRef:d,fields:p,formParams:h,appliedParams:g,hasUnappliedChanges:_,hiddenActiveCount:k,expanded:v,searching:x,visibleFields:E,availableFields:T,foldThreshold:f,hasExpandButton:D,history:C,searchFn:ae,resetFn:oe,applyPreset:se,toggleFold:ce,syncFromProps:de,syncFields:le,syncModel:ue}}const _e=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},ve={date:{type:`date`,format:`yyyy-MM-dd`},month:{type:`month`,format:`yyyy-MM`},"date-range":{type:`datetimerange`,format:`yyyy-MM-dd HH:mm`}},ye=e=>typeof e==`string`?{mode:`formatted`,value:e}:{mode:`timestamp`,value:typeof e==`number`&&Number.isFinite(e)?e:null};function be(e,t){let n=e.type===`date`||e.type===`month`?e.type:`date-range`,r=n===`date-range`?_e(t):ye(t),i=e.valueMode??r.mode,a=ve[n];return i===`formatted`?{...a,mode:i,value:r.mode===`formatted`?r.value:null}:{...a,mode:i,value:r.mode===`timestamp`?r.value:null}}function xe(e,t){let n=e?.map(e=>e.value===void 0?e.label??e.labelDefault:e.value),r=Array.isArray(t)?t:[t],i=new Set([...n??[],...r]),a=new Map;for(let e of[!1,!0]){let t=`__c_form_search_boolean_${e}__`;for(;i.has(t);)t+=`_`;a.set(e,t),i.add(t)}let o=e=>typeof e==`boolean`?a.get(e):typeof e==`string`||typeof e==`number`?e:null,s=e=>e===a.get(!1)?!1:e===a.get(!0)?!0:e;return{options:e?.map((e,t)=>({...e,label:e.label??e.labelDefault??``,value:o(n[t])??void 0})),value:Array.isArray(t)?t.map(o).filter(e=>e!==null):o(t),decode:e=>Array.isArray(e)?e.map(s):e===null?null:s(e)}}function Se(e){let t=j(null),n=f(t,()=>e().enabled),r=m(()=>{let{minWidth:t,gap:r,columns:i}=e(),a=Number.isFinite(t)?Math.max(1,t):208,o=n.value>0?Math.max(1,Math.floor((n.value+r)/(a+r))):1;return i!==void 0&&Number.isFinite(i)?Math.min(o,Math.max(1,Math.floor(i))):o});return{root:t,style:m(()=>e().enabled?{gridTemplateColumns:`repeat(${r.value}, minmax(0, 1fr))`,columnGap:`${e().gap}px`}:void 0),fieldStyle:t=>{if(!e().enabled)return;let i=(n.value+e().gap)/r.value,a=t.minWidth&&i>0?Math.ceil((t.minWidth+e().gap)/i):1,o=Number.isFinite(t.span)?Math.floor(t.span??1):1;return{gridColumn:`span ${Math.min(r.value,Math.max(1,o,a))}`}}}}var Ce=C({name:`SearchCustomField`,props:{render:{type:Function,required:!0},context:{type:Object,required:!0}},setup:e=>()=>e.render(e.context)});const we={key:0,class:`form-search-input-control`},Te=[`onClick`],Ee={class:`history-text`},De={key:0,class:`history-footer`},Oe=[`onClick`],ke={role:`alert`,class:`form-search-option-error`},Ae={key:3,class:`form-search-number-range`},je={class:`form-search-item-box form-search-actions`},Me={key:0,class:`form-search-hidden-count`,role:`status`};var Ne=s(C({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`,`applied`],setup(t,{expose:n,emit:r}){let i=S(()=>import(`./date-picker.js`)),a=t,o=r,s=l(),c=m(()=>a.config?.density??s.density),u=m(()=>e(c.value)),d=m(()=>a.size??u.value.size),f=m(()=>{if(c.value===void 0)return;let{gap:e,rowGap:t,padding:n}=u.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`,"--c-search-field-width":c.value===`compact`?`208px`:void 0}}),{formRef:C,formParams:w,appliedParams:te,hasUnappliedChanges:ne,hiddenActiveCount:O,expanded:j,searching:P,availableFields:U,foldThreshold:fe,hasExpandButton:pe,history:W,searchFn:K,resetFn:q,applyPreset:he,toggleFold:_e,syncFields:ve,syncModel:ye}=ge(o,{formItemList:a.formItemList,formParams:a.modelValue??a.formParams,config:()=>a.config,loading:()=>a.loading,onApplied:e=>o(`applied`,e),historyOptions:()=>({storageKey:a.formSearchInputHistoryString,maxItems:a.config?.historyMaxItems})}),Ne=m(()=>a.config?.layout===`grid`),Pe=m(()=>a.config?.labelPlacement!==`left`&&U.value.some(e=>!!e.label)),{root:Fe,style:Ie,fieldStyle:Le}=Se(()=>({enabled:Ne.value,minWidth:a.config?.fieldMinWidth??(c.value===`compact`?208:260),gap:c.value?u.value.gap:32,columns:a.config?.columns})),J=ee(()=>new Map(a.formItemList.filter(e=>e.type===`select`&&e.show!==!1&&e.list===void 0&&!Array.isArray(e.attrs?.options)).map(e=>[e.prop,e.dictionary]))),Re=e=>Array.isArray(e.attrs?.options)?e.attrs.options:e.list===void 0?e.dictionary?J.getOptions(e.prop).map(e=>({...e})):void 0:e.list,ze=m(()=>new Map(U.value.filter(e=>e.type===`select`).map(e=>[e.prop,xe(Re(e),w.value[e.prop])]))),Be=e=>{let t=w.value[e];return typeof t==`string`?t:null},Ve=(e,t)=>{Y(e,ze.value.get(e)?.decode(t)??null)},Y=(e,t)=>{let n=U.value.find(t=>t.prop===e),r=w.value;n&&!G(n)&&(r[e]=me(n,t,r[e]))},He=e=>{let t=w.value[e];return typeof t==`number`&&Number.isFinite(t)?t:null},X=(e,t)=>{let n=w.value[e],r=Array.isArray(n)?n[t]:null;return typeof r==`number`&&Number.isFinite(r)?r:null},Ue=(e,t,n)=>{let r=[X(e,0),X(e,1)];r[t]=n,Y(e,r.every(e=>e===null)?null:r)},Z=e=>!!(e.fixed||e.disabled||e.attrs?.disabled===!0),Q=e=>!!(e.readonly||e.attrs?.readonly===!0),We=e=>{if(J.getError(e.prop))return`error`;let t=e.attrs?.status;return t===`error`||t===`warning`?t:void 0},Ge=(e,t)=>{let n=e.attrs?.inputProps,r=n&&typeof n==`object`?n:{};return{"aria-label":`${e.label||e.prop}${t===0?`起始值`:`结束值`}`,...r}},$=e=>{let t=e.attrs?.size;return t===`small`||t===`medium`||t===`large`?t:d.value},Ke=e=>({value:A(w.value)[e.prop],model:A(w.value),prop:e.prop,disabled:Z(e),readonly:Q(e),size:$(e),updateValue:t=>Y(e.prop,t)}),qe=e=>e.render,Je=e=>{let t=e.prop,n=be(e,w.value[t]),r=n.mode===`formatted`?{formattedValue:n.value,"onUpdate:formattedValue":e=>Y(t,e)}:{value:n.value,"onUpdate:value":e=>Y(t,e)};return{type:n.type,format:n.format,valueFormat:n.format,startPlaceholder:`开始时间`,endPlaceholder:`结束时间`,clearable:!0,...e.attrs,...r,disabled:Z(e),readonly:Q(e)}};return I(()=>a.formItemList,ve,{deep:!0}),I(()=>a.modelValue??a.formParams,ye,{deep:!0}),n({formRef:C,formParams:w,appliedParams:te,hasUnappliedChanges:ne,hiddenActiveCount:O,searchFn:K,cleanFn:q,applyPreset:he,changeFoldState:_e}),(e,n)=>(k(),h(F(oe),{class:E([`form-search-card custom-card`,c.value&&`form-search-card--${c.value}`]),style:D(f.value),bordered:t.bordered},{default:L(()=>[v(`div`,{ref_key:`layoutRoot`,ref:Fe,class:`form-search-layout`},[x(F(se),{class:E([`form-search`,{"form-search--grid":Ne.value}]),style:D(F(Ie)),model:F(w),ref_key:`formRef`,ref:C,size:d.value,"label-placement":t.config?.labelPlacement||`top`,"label-width":t.config?.labelWidth,onSubmit:R(F(K),[`prevent`])},{default:L(()=>[(k(!0),_(p,null,M(F(U),(t,r)=>ae((k(),_(`div`,{class:`form-search-item-box`,key:t.prop||r,style:D(F(Le)(t))},[t.type===`spacer`?g(`v-if`,!0):(k(),h(F(ce),{key:0,class:`form-item-input`,path:t.prop,rule:t.rules,"show-feedback":!1,label:t.label,"show-label":!!t.label},{default:L(()=>[t.type===`input`?(k(),_(`div`,we,[x(F(ue),T({ref_for:!0},t.attrs,{clearable:t.attrs?.clearable!==!1,size:$(t),value:Be(t.prop),"onUpdate:value":e=>Y(t.prop,e),placeholder:t.placeholder,disabled:Z(t),readonly:Q(t),onFocus:e=>F(W).handleFocus(t.prop),onBlur:F(W).closeAllPanels}),null,16,[`clearable`,`size`,`value`,`onUpdate:value`,`placeholder`,`disabled`,`readonly`,`onFocus`,`onBlur`]),t.isFocus?(k(),_(`div`,{key:0,class:`input-history`,onMousedown:n[0]||=R(()=>{},[`prevent`])},[(k(!0),_(p,null,M(t.hisList,(e,r)=>(k(),_(`div`,{class:`history-item`,onClick:n=>F(W).selectHistoryItem(e,t.prop),key:e},[v(`span`,Ee,N(e),1),x(F(le),{class:`delete-icon`,size:`14`,onClick:R(e=>F(W).deleteHistoryItem(t.prop,r),[`stop`])},{default:L(()=>[...n[1]||=[v(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,Te))),128)),t.hisList&&t.hisList.length>0?(k(),_(`div`,De,[v(`span`,{class:`clear-all`,onClick:R(e=>F(W).clearAllHistory(t.prop),[`stop`])},` 清空历史记录 `,8,Oe)])):g(`v-if`,!0)],32)):g(`v-if`,!0)])):g(`v-if`,!0),t.type===`select`?(k(),h(F(B),T({key:1,ref_for:!0},t.attrs,{value:ze.value.get(t.prop)?.value,"onUpdate:value":e=>Ve(t.prop,e),placeholder:t.placeholder||`请选择`,clearable:t.attrs?.clearable!==!1,size:$(t),options:ze.value.get(t.prop)?.options,loading:F(J).isLoading(t.prop)||t.attrs?.loading===!0,disabled:Z(t)||Q(t),status:We(t)}),y({_:2},[F(J).getError(t.prop)?{name:`empty`,fn:L(()=>[v(`div`,ke,[n[3]||=b(` 选项加载失败 `,-1),x(F(z),{text:``,size:`small`,onClick:e=>F(J).reload(t.prop)},{default:L(()=>[...n[2]||=[b(`重试`,-1)]]),_:1},8,[`onClick`])])]),key:`0`}:void 0]),1040,[`value`,`onUpdate:value`,`placeholder`,`clearable`,`size`,`options`,`loading`,`disabled`,`status`])):g(`v-if`,!0),t.type===`number`?(k(),h(F(de),T({key:2,ref_for:!0},t.attrs,{value:He(t.prop),"onUpdate:value":e=>Y(t.prop,e),size:$(t),placeholder:t.placeholder,"show-button":t.attrs?.showButton===void 0?c.value!==`compact`:t.attrs.showButton===!0,disabled:Z(t),readonly:Q(t)}),null,16,[`value`,`onUpdate:value`,`size`,`placeholder`,`show-button`,`disabled`,`readonly`])):g(`v-if`,!0),t.type===`number-range`?(k(),_(`div`,Ae,[(k(),_(p,null,M([0,1],e=>x(F(de),T({key:e},{ref_for:!0},t.attrs,{value:X(t.prop,e),"onUpdate:value":n=>Ue(t.prop,e,n),size:$(t),placeholder:t.placeholder,"show-button":!1,disabled:Z(t),readonly:Q(t),"input-props":Ge(t,e)}),null,16,[`value`,`onUpdate:value`,`size`,`placeholder`,`disabled`,`readonly`,`input-props`])),64))])):g(`v-if`,!0),t.type===`date-range`||t.type===`date`||t.type===`month`?(k(),h(F(i),T({key:4,size:d.value},{ref_for:!0},Je(t)),null,16,[`size`])):g(`v-if`,!0),t.type===`custom`?re(e.$slots,t.slot||t.prop,T({ref_for:!0},Ke(t)),()=>[t.render?(k(),h(F(Ce),{key:0,render:qe(t),context:Ke(t)},null,8,[`render`,`context`])):g(`v-if`,!0)],!0,5):g(`v-if`,!0)]),_:2},1032,[`path`,`rule`,`label`,`show-label`]))],4)),[[ie,F(j)||r<F(fe)]])),128)),v(`div`,je,[x(F(ce),{class:`form-item-input`,"show-feedback":!1,"show-label":Pe.value,label:` `},{default:L(()=>[x(F(V),{size:c.value?u.value.gap:8},{default:L(()=>[x(F(H),{trigger:`hover`},{trigger:L(()=>[x(F(z),{type:`primary`,size:d.value,"aria-label":`搜索`,"attr-type":`submit`,loading:t.loading||F(P)},{icon:L(()=>[...n[4]||=[v(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`loading`])]),default:L(()=>[n[5]||=b(` 搜索 `,-1)]),_:1}),x(F(H),{trigger:`hover`},{trigger:L(()=>[x(F(z),{size:d.value,"aria-label":`重置`,onClick:F(q)},{icon:L(()=>[...n[6]||=[v(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:L(()=>[n[7]||=b(` 重置 `,-1)]),_:1}),F(pe)?(k(),h(F(H),{key:0,trigger:`hover`},{trigger:L(()=>[x(F(z),{size:d.value,"aria-label":F(j)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":F(j),onClick:F(_e)},{icon:L(()=>[v(`div`,{class:E(F(j)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:L(()=>[b(` `+N(F(j)?`收起`:`展开`),1)]),_:1})):g(`v-if`,!0)]),_:1},8,[`size`]),F(O)?(k(),_(`span`,Me,N(F(O))+` 项隐藏条件生效 `,1)):g(`v-if`,!0)]),_:1},8,[`show-label`])])]),_:3},8,[`class`,`style`,`model`,`size`,`label-placement`,`label-width`,`onSubmit`])],512)]),_:3},8,[`class`,`style`,`bordered`]))}}),[[`__scopeId`,`data-v-4e8be665`]]);function Pe(e,t,n={}){let a=new Set;t.forEach(e=>{e.type!==`spacer`&&(e.query?.keys??[e.query?.name??e.prop]).forEach(e=>{if(r(e),a.has(e))throw TypeError(`Duplicate search query key: ${e}`);a.add(e)})});let o=i(e),s=n.omitEmpty??!0,c=(e,t)=>{r(e),s&&K(t)?delete o[e]:o[e]=i(t)};return t.forEach(t=>{if(t.type===`spacer`)return;let n=t.query,r=i(e[t.prop]),a=n?.serialize?n.serialize(r):r;if(n?.keys){delete o[t.prop];let[e,r]=n.keys,i=Array.isArray(a)?a:[null,null];c(e,i[0]),c(r,i[1]);return}let s=n?.name??t.prop;s!==t.prop&&delete o[t.prop],c(s,a)}),o}export{he as i,Ne as n,ge as r,Pe as t};
|