@robot-admin/naive-ui-components 0.24.2 → 0.24.4
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 +20 -0
- package/README.md +4 -2
- package/README_EN.md +4 -2
- package/SECURITY.md +12 -2
- package/dist/C_AntV2.cjs +1 -1
- package/dist/C_AntV2.js +3 -3
- package/dist/C_Form.base.css +40 -40
- package/dist/C_Form.css +40 -40
- package/dist/C_Map2.cjs +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Table.base.css +150 -150
- package/dist/C_Table.css +110 -110
- package/dist/C_Table2.cjs +2 -2
- package/dist/C_Table2.js +2 -2
- package/dist/C_Upload2.cjs +1 -1
- package/dist/C_Upload2.js +1 -1
- package/dist/C_VideoPlayer.css +30 -20
- package/dist/C_VideoPlayer2.cjs +2 -2
- package/dist/C_VideoPlayer2.js +3 -3
- 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/constants2.d.cts +3 -3
- package/dist/constants2.d.ts +3 -3
- package/dist/constants3.d.cts +4 -4
- package/dist/constants3.d.ts +4 -4
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +4 -4
- package/dist/data2.d.ts +4 -4
- package/dist/data2.js +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index10.vue.d.ts +2 -2
- package/dist/index11.vue.d.cts +2 -2
- package/dist/index15.vue.d.ts +5 -5
- package/dist/index16.vue.d.cts +5 -5
- package/dist/index16.vue.d.ts +1 -1
- package/dist/index17.vue.d.cts +1 -1
- package/dist/index17.vue.d.ts +2 -2
- package/dist/index18.vue.d.cts +2 -2
- package/dist/index18.vue.d.ts +1 -1
- package/dist/index19.vue.d.cts +1 -1
- package/dist/index19.vue.d.ts +1 -1
- package/dist/index2.vue.d.cts +1 -1
- package/dist/index2.vue.d.ts +1 -1
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index22.vue.d.ts +1 -1
- package/dist/index23.vue.d.cts +1 -1
- package/dist/index23.vue.d.ts +2 -2
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index26.vue.d.cts +2 -2
- package/dist/index26.vue.d.ts +2 -2
- package/dist/index29.vue.d.cts +2 -2
- package/dist/index29.vue.d.ts +2 -2
- package/dist/index3.vue.d.cts +3 -3
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index5.vue.d.cts +2 -2
- package/dist/index7.vue.d.ts +2 -2
- package/dist/index8.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +3 -3
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/serializeSearch.cjs +1 -1
- package/dist/serializeSearch.js +1 -1
- package/dist/style.css +180 -170
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +6 -6
- package/dist/useCropperCore.d.ts +6 -6
- package/dist/useDictionary.cjs +1 -1
- package/dist/useDictionary.js +1 -1
- package/dist/useDynamicFormState.d.cts +10 -10
- package/dist/useDynamicFormState.d.ts +10 -10
- package/dist/useEdgeInteraction.d.cts +1 -1
- package/dist/useEdgeInteraction.d.ts +1 -1
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useQRCode.d.cts +3 -3
- package/dist/useQRCode.d.ts +3 -3
- package/dist/useSignatureHistory.d.cts +3 -3
- package/dist/useSignatureHistory.d.ts +3 -3
- package/dist/useSplitResize.d.cts +5 -5
- package/dist/useSplitResize.d.ts +5 -5
- package/dist/useWorkflowValidation.d.cts +32 -32
- package/dist/useWorkflowValidation.d.ts +32 -32
- package/dist/verification.d.cts +4 -4
- package/dist/verification.d.ts +4 -4
- package/docs/engineering.en.md +1 -1
- package/docs/engineering.md +1 -1
- package/docs/stability-review-20261031.md +46 -0
- package/package.json +4 -2
package/dist/index23.vue.d.cts
CHANGED
|
@@ -61,11 +61,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
61
61
|
"onAuto-save"?: ((text: string) => any) | undefined;
|
|
62
62
|
"onMax-length-exceeded"?: ((currentLength: number, maxLength: number) => any) | undefined;
|
|
63
63
|
}>, {
|
|
64
|
+
mode: "edit" | "editable" | "preview";
|
|
64
65
|
modelValue: string;
|
|
65
66
|
placeholder: string;
|
|
66
67
|
disabled: boolean;
|
|
67
68
|
height: string | number;
|
|
68
|
-
mode: "edit" | "editable" | "preview";
|
|
69
69
|
tocNavPosition: "left" | "right";
|
|
70
70
|
defaultFullscreen: boolean;
|
|
71
71
|
autofocus: boolean;
|
package/dist/index23.vue.d.ts
CHANGED
|
@@ -55,9 +55,9 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
55
55
|
props: vue.PublicProps & __VLS_PrettifyLocal<MenuProps<Options> & {
|
|
56
56
|
"onUpdate:modelValue"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
57
57
|
onSelect?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
58
|
+
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
58
59
|
onIntent?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
59
60
|
"onUpdate:value"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
60
|
-
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
61
61
|
}> & (typeof globalThis extends {
|
|
62
62
|
__VLS_PROPS_FALLBACK: infer P;
|
|
63
63
|
} ? P : {});
|
|
@@ -67,7 +67,7 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
67
67
|
}>) => void;
|
|
68
68
|
attrs: any;
|
|
69
69
|
slots: {};
|
|
70
|
-
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "
|
|
70
|
+
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "update:expandedKeys", keys: MenuSelectionKey<Options>[]) => void) & ((evt: "intent", key: MenuSelectionKey<Options>) => void) & ((evt: "update:value", key: MenuSelectionKey<Options> | null) => void);
|
|
71
71
|
}>) => vue.VNode & {
|
|
72
72
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
73
73
|
};
|
package/dist/index24.vue.d.cts
CHANGED
|
@@ -85,10 +85,10 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
|
|
|
85
85
|
onClose?: ((fallbackPath: string) => any) | undefined;
|
|
86
86
|
onCloseAll?: (() => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
|
+
persistKey: string;
|
|
88
89
|
homePath: string;
|
|
89
90
|
homeTitle: string;
|
|
90
91
|
homeIcon: string;
|
|
91
|
-
persistKey: string;
|
|
92
92
|
contextMenuLabels: LegacyContextMenuLabels;
|
|
93
93
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
94
94
|
declare const _default: typeof __VLS_export;
|
package/dist/index24.vue.d.ts
CHANGED
|
@@ -85,10 +85,10 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
|
|
|
85
85
|
onClose?: ((fallbackPath: string) => any) | undefined;
|
|
86
86
|
onCloseAll?: (() => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
|
+
persistKey: string;
|
|
88
89
|
homePath: string;
|
|
89
90
|
homeTitle: string;
|
|
90
91
|
homeIcon: string;
|
|
91
|
-
persistKey: string;
|
|
92
92
|
contextMenuLabels: LegacyContextMenuLabels;
|
|
93
93
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
94
94
|
declare const _default: typeof __VLS_export;
|
package/dist/index26.vue.d.cts
CHANGED
|
@@ -91,11 +91,11 @@ declare const __VLS_base: vue.DefineComponent<TimelineProps, {
|
|
|
91
91
|
"onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
|
|
92
92
|
}>, {
|
|
93
93
|
reverse: boolean;
|
|
94
|
+
mode: "vertical" | "horizontal";
|
|
94
95
|
size: "small" | "medium" | "large";
|
|
95
96
|
items: TimelineItem[];
|
|
96
|
-
labelPlacement: "left" | "right" | "alternate";
|
|
97
|
-
mode: "vertical" | "horizontal";
|
|
98
97
|
pending: boolean;
|
|
98
|
+
labelPlacement: "left" | "right" | "alternate";
|
|
99
99
|
lineType: "solid" | "dashed" | "dotted";
|
|
100
100
|
showTime: boolean;
|
|
101
101
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/index26.vue.d.ts
CHANGED
|
@@ -91,11 +91,11 @@ declare const __VLS_base: vue.DefineComponent<TimelineProps, {
|
|
|
91
91
|
"onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
|
|
92
92
|
}>, {
|
|
93
93
|
reverse: boolean;
|
|
94
|
+
mode: "vertical" | "horizontal";
|
|
94
95
|
size: "small" | "medium" | "large";
|
|
95
96
|
items: TimelineItem[];
|
|
96
|
-
labelPlacement: "left" | "right" | "alternate";
|
|
97
|
-
mode: "vertical" | "horizontal";
|
|
98
97
|
pending: boolean;
|
|
98
|
+
labelPlacement: "left" | "right" | "alternate";
|
|
99
99
|
lineType: "solid" | "dashed" | "dotted";
|
|
100
100
|
showTime: boolean;
|
|
101
101
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/index29.vue.d.cts
CHANGED
|
@@ -81,10 +81,9 @@ declare const __VLS_base: vue.DefineComponent<OrgChartProps, {
|
|
|
81
81
|
"onNode-collapse"?: ((node: OrgChartNode) => any) | undefined;
|
|
82
82
|
}>, {
|
|
83
83
|
direction: OrgChartDirection;
|
|
84
|
-
|
|
84
|
+
lineStyle: OrgChartLineStyle;
|
|
85
85
|
lineColor: string;
|
|
86
86
|
lineWidth: number;
|
|
87
|
-
lineStyle: OrgChartLineStyle;
|
|
88
87
|
nodeSpacing: number;
|
|
89
88
|
levelSpacing: number;
|
|
90
89
|
zoomable: boolean;
|
|
@@ -93,6 +92,7 @@ declare const __VLS_base: vue.DefineComponent<OrgChartProps, {
|
|
|
93
92
|
fitOnInit: boolean;
|
|
94
93
|
minZoom: number;
|
|
95
94
|
maxZoom: number;
|
|
95
|
+
collapsible: boolean;
|
|
96
96
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
97
97
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
98
98
|
declare const _default: typeof __VLS_export;
|
package/dist/index29.vue.d.ts
CHANGED
|
@@ -81,10 +81,9 @@ declare const __VLS_base: vue.DefineComponent<OrgChartProps, {
|
|
|
81
81
|
"onNode-collapse"?: ((node: OrgChartNode) => any) | undefined;
|
|
82
82
|
}>, {
|
|
83
83
|
direction: OrgChartDirection;
|
|
84
|
-
|
|
84
|
+
lineStyle: OrgChartLineStyle;
|
|
85
85
|
lineColor: string;
|
|
86
86
|
lineWidth: number;
|
|
87
|
-
lineStyle: OrgChartLineStyle;
|
|
88
87
|
nodeSpacing: number;
|
|
89
88
|
levelSpacing: number;
|
|
90
89
|
zoomable: boolean;
|
|
@@ -93,6 +92,7 @@ declare const __VLS_base: vue.DefineComponent<OrgChartProps, {
|
|
|
93
92
|
fitOnInit: boolean;
|
|
94
93
|
minZoom: number;
|
|
95
94
|
maxZoom: number;
|
|
95
|
+
collapsible: boolean;
|
|
96
96
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
97
97
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
98
98
|
declare const _default: typeof __VLS_export;
|
package/dist/index3.vue.d.cts
CHANGED
|
@@ -20,14 +20,14 @@ declare const __VLS_export: vue.DefineComponent<Props, {}, {}, {}, {}, vue.Compo
|
|
|
20
20
|
}, string, vue.PublicProps, Readonly<Props> & Readonly<{
|
|
21
21
|
onError?: ((error: Error) => any) | undefined;
|
|
22
22
|
}>, {
|
|
23
|
-
label: string;
|
|
24
23
|
width: number;
|
|
24
|
+
label: string;
|
|
25
25
|
height: number;
|
|
26
26
|
fontSize: number;
|
|
27
|
+
lineColor: string;
|
|
27
28
|
showBorder: boolean;
|
|
28
|
-
format: "CODE128" | "CODE39" | "EAN13" | "EAN8" | "UPC" | "ITF14" | "MSI" | "pharmacode";
|
|
29
29
|
showLabel: boolean;
|
|
30
|
-
|
|
30
|
+
format: "CODE128" | "CODE39" | "EAN13" | "EAN8" | "UPC" | "ITF14" | "MSI" | "pharmacode";
|
|
31
31
|
showText: boolean;
|
|
32
32
|
textPosition: "bottom" | "top";
|
|
33
33
|
background: string;
|
package/dist/index3.vue.d.ts
CHANGED
|
@@ -20,14 +20,14 @@ declare const __VLS_export: vue.DefineComponent<Props, {}, {}, {}, {}, vue.Compo
|
|
|
20
20
|
}, string, vue.PublicProps, Readonly<Props> & Readonly<{
|
|
21
21
|
onError?: ((error: Error) => any) | undefined;
|
|
22
22
|
}>, {
|
|
23
|
-
label: string;
|
|
24
23
|
width: number;
|
|
24
|
+
label: string;
|
|
25
25
|
height: number;
|
|
26
26
|
fontSize: number;
|
|
27
|
+
lineColor: string;
|
|
27
28
|
showBorder: boolean;
|
|
28
|
-
format: "CODE128" | "CODE39" | "EAN13" | "EAN8" | "UPC" | "ITF14" | "MSI" | "pharmacode";
|
|
29
29
|
showLabel: boolean;
|
|
30
|
-
|
|
30
|
+
format: "CODE128" | "CODE39" | "EAN13" | "EAN8" | "UPC" | "ITF14" | "MSI" | "pharmacode";
|
|
31
31
|
showText: boolean;
|
|
32
32
|
textPosition: "bottom" | "top";
|
|
33
33
|
background: string;
|
package/dist/index5.vue.d.cts
CHANGED
|
@@ -113,9 +113,9 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
113
113
|
props: vue.PublicProps & __VLS_PrettifyLocal<MenuProps<Options> & {
|
|
114
114
|
"onUpdate:modelValue"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
115
115
|
onSelect?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
116
|
+
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
116
117
|
onIntent?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
117
118
|
"onUpdate:value"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
118
|
-
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
119
119
|
}> & (typeof globalThis extends {
|
|
120
120
|
__VLS_PROPS_FALLBACK: infer P;
|
|
121
121
|
} ? P : {});
|
|
@@ -125,7 +125,7 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
125
125
|
}>) => void;
|
|
126
126
|
attrs: any;
|
|
127
127
|
slots: {};
|
|
128
|
-
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "
|
|
128
|
+
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "update:expandedKeys", keys: MenuSelectionKey<Options>[]) => void) & ((evt: "intent", key: MenuSelectionKey<Options>) => void) & ((evt: "update:value", key: MenuSelectionKey<Options> | null) => void);
|
|
129
129
|
}>) => vue.VNode & {
|
|
130
130
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
131
131
|
};
|
package/dist/index7.vue.d.ts
CHANGED
|
@@ -88,18 +88,18 @@ type __VLS_Slots = {} & {
|
|
|
88
88
|
declare const __VLS_base: vue.DefineComponent<ChatProps, {
|
|
89
89
|
scrollToBottom: () => void;
|
|
90
90
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
91
|
-
"load-more": () => any;
|
|
92
91
|
send: (content: string) => any;
|
|
93
92
|
"select-contact": (id: string) => any;
|
|
93
|
+
"load-more": () => any;
|
|
94
94
|
"image-preview": (url: string) => any;
|
|
95
95
|
"file-click": (msg: ChatMessage) => any;
|
|
96
96
|
"file-upload": () => any;
|
|
97
97
|
"emoji-click": () => any;
|
|
98
98
|
resend: (msg: ChatMessage) => any;
|
|
99
99
|
}, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
|
|
100
|
-
"onLoad-more"?: (() => any) | undefined;
|
|
101
100
|
onSend?: ((content: string) => any) | undefined;
|
|
102
101
|
"onSelect-contact"?: ((id: string) => any) | undefined;
|
|
102
|
+
"onLoad-more"?: (() => any) | undefined;
|
|
103
103
|
"onImage-preview"?: ((url: string) => any) | undefined;
|
|
104
104
|
"onFile-click"?: ((msg: ChatMessage) => any) | undefined;
|
|
105
105
|
"onFile-upload"?: (() => any) | undefined;
|
package/dist/index8.vue.d.cts
CHANGED
|
@@ -88,18 +88,18 @@ type __VLS_Slots = {} & {
|
|
|
88
88
|
declare const __VLS_base: vue.DefineComponent<ChatProps, {
|
|
89
89
|
scrollToBottom: () => void;
|
|
90
90
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
91
|
-
"load-more": () => any;
|
|
92
91
|
send: (content: string) => any;
|
|
93
92
|
"select-contact": (id: string) => any;
|
|
93
|
+
"load-more": () => any;
|
|
94
94
|
"image-preview": (url: string) => any;
|
|
95
95
|
"file-click": (msg: ChatMessage) => any;
|
|
96
96
|
"file-upload": () => any;
|
|
97
97
|
"emoji-click": () => any;
|
|
98
98
|
resend: (msg: ChatMessage) => any;
|
|
99
99
|
}, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
|
|
100
|
-
"onLoad-more"?: (() => any) | undefined;
|
|
101
100
|
onSend?: ((content: string) => any) | undefined;
|
|
102
101
|
"onSelect-contact"?: ((id: string) => any) | undefined;
|
|
102
|
+
"onLoad-more"?: (() => any) | undefined;
|
|
103
103
|
"onImage-preview"?: ((url: string) => any) | undefined;
|
|
104
104
|
"onFile-click"?: ((msg: ChatMessage) => any) | undefined;
|
|
105
105
|
"onFile-upload"?: (() => any) | undefined;
|
package/dist/index9.vue.d.ts
CHANGED
|
@@ -23,18 +23,18 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
23
23
|
copyCode: typeof copyCode;
|
|
24
24
|
toggleFullscreen: typeof toggleFullscreen;
|
|
25
25
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
26
|
-
click: (event: MouseEvent) => any;
|
|
27
26
|
fullscreen: (isFullscreen: boolean) => any;
|
|
27
|
+
click: (event: MouseEvent) => any;
|
|
28
28
|
copy: (code: string) => any;
|
|
29
29
|
}, string, vue.PublicProps, Readonly<Props> & Readonly<{
|
|
30
|
-
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
31
30
|
onFullscreen?: ((isFullscreen: boolean) => any) | undefined;
|
|
31
|
+
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
32
32
|
onCopy?: ((code: string) => any) | undefined;
|
|
33
33
|
}>, {
|
|
34
34
|
trim: boolean;
|
|
35
|
-
code: string;
|
|
36
35
|
language: string;
|
|
37
36
|
showHeader: boolean;
|
|
37
|
+
code: string;
|
|
38
38
|
showLineNumbers: boolean;
|
|
39
39
|
wordWrap: boolean;
|
|
40
40
|
showFullscreen: boolean;
|
package/dist/mapUtils.d.cts
CHANGED
|
@@ -94,8 +94,8 @@ declare const __VLS_export: vue.DefineComponent<MapProps, MapExpose, {}, {}, {},
|
|
|
94
94
|
height: string;
|
|
95
95
|
center: MapCoordinate;
|
|
96
96
|
zoom: number;
|
|
97
|
-
mapType: MapType;
|
|
98
97
|
ariaLabel: string;
|
|
98
|
+
mapType: MapType;
|
|
99
99
|
markers: MapMarker[];
|
|
100
100
|
amapKey: string;
|
|
101
101
|
amapLoadTimeout: number;
|
package/dist/mapUtils.d.ts
CHANGED
|
@@ -94,8 +94,8 @@ declare const __VLS_export: vue.DefineComponent<MapProps, MapExpose, {}, {}, {},
|
|
|
94
94
|
height: string;
|
|
95
95
|
center: MapCoordinate;
|
|
96
96
|
zoom: number;
|
|
97
|
-
mapType: MapType;
|
|
98
97
|
ariaLabel: string;
|
|
98
|
+
mapType: MapType;
|
|
99
99
|
markers: MapMarker[];
|
|
100
100
|
amapKey: string;
|
|
101
101
|
amapLoadTimeout: number;
|
package/dist/presets.d.cts
CHANGED
|
@@ -15,8 +15,8 @@ declare const __VLS_base: vue.DefineComponent<TableActionsProps, {}, {}, {}, {},
|
|
|
15
15
|
"onDropdown-click"?: ((item: ActionDropdownItem, action: ActionItem) => any) | undefined;
|
|
16
16
|
"onAction-click"?: ((action: ActionItem) => any) | undefined;
|
|
17
17
|
}>, {
|
|
18
|
-
config: ActionBarConfig;
|
|
19
18
|
actions: ActionItem[];
|
|
19
|
+
config: ActionBarConfig;
|
|
20
20
|
leftActions: ActionItem[];
|
|
21
21
|
rightActions: ActionItem[];
|
|
22
22
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/presets.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ declare const __VLS_base: vue.DefineComponent<TableActionsProps, {}, {}, {}, {},
|
|
|
15
15
|
"onDropdown-click"?: ((item: ActionDropdownItem, action: ActionItem) => any) | undefined;
|
|
16
16
|
"onAction-click"?: ((action: ActionItem) => any) | undefined;
|
|
17
17
|
}>, {
|
|
18
|
-
config: ActionBarConfig;
|
|
19
18
|
actions: ActionItem[];
|
|
19
|
+
config: ActionBarConfig;
|
|
20
20
|
leftActions: ActionItem[];
|
|
21
21
|
rightActions: ActionItem[];
|
|
22
22
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/serializeSearch.cjs
CHANGED
|
@@ -1 +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}});
|
|
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=()=>{let e=r().maxItems;return e!==void 0&&Number.isFinite(e)?Math.max(1,Math.trunc(e)):5},o=t=>e.value.find(e=>e.prop===t),s=()=>{let{storageKey:t}=r();t&&c.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=c.t(e);!t||typeof t!=`object`||(Array.isArray(t)?t.flatMap(e=>e&&typeof e==`object`&&typeof e.prop==`string`?[[e.prop,e.hisList]]:[]):Object.entries(t)).forEach(([e,t])=>{let n=o(e);if(!n||!Array.isArray(t))return;let r=[],i=a();for(let e of t)if(typeof e==`string`&&r.push(e),r.length===i)break;n.hisList=r})},u=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{let t=o(e);!t||_(t)||(l(),u(e))},p=()=>u(),m=(e,n)=>{let r=o(n);r?.type!==`input`||_(r)||(t.value[n]=e,p())},h=(e,t)=>{let n=o(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),s())},g=e=>{let t=o(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,s())},v=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let r=a();return e.length>r&&(e.length=r),e};return{enabled:i,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:h,clearAllHistory:g,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=o(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&v(r.hisList,i)}),p(),s())},restoreFromStorage:l}}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}});
|
package/dist/serializeSearch.js
CHANGED
|
@@ -1 +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};
|
|
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 p}from"./useDictionary.js";import{Fragment as m,computed as h,createBlock as g,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createSlots as b,createTextVNode as x,createVNode as S,defineAsyncComponent as C,defineComponent as w,getCurrentScope as T,mergeProps as E,nextTick as ee,normalizeClass as D,normalizeStyle as O,onMounted as te,onScopeDispose as k,openBlock as A,readonly as j,ref as M,renderList as N,renderSlot as ne,toDisplayString as P,toValue as F,unref as I,vShow as re,watch as L,withCtx as R,withDirectives as ie,withModifiers as z}from"vue";import{NButton as B,NCard as ae,NForm as oe,NFormItem as V,NIcon as H,NInput as se,NInputNumber as ce,NSelect as U,NSpace as le,NTooltip as ue}from"naive-ui";function W(e,t){return e.show!==!1&&e.type!==`spacer`&&!K(e)&&![`pageNum`,`pageSize`].includes(e.prop)&&Object.prototype.hasOwnProperty.call(t,e.prop)}function de(e,t,n){if(!n||typeof n!=`object`||Array.isArray(n))throw TypeError(`搜索预设必须是字段值对象`);let a=i(e),o=a;for(let e of t)W(e,n)&&(r(e.prop),o[e.prop]=i(pe(e,n[e.prop],o[e.prop])));return a}const fe=e=>e.type===`select`&&e.attrs?.multiple===!0,G=e=>[`select`,`number`].includes(e.type)&&e.attrs?.clearable===!1;function K(e){return!!(e.fixed||e.disabled||e.readonly||e.attrs?.disabled===!0||e.attrs?.readonly===!0)}function q(e){return e==null||e===``||Array.isArray(e)&&e.every(q)}function J(e,t){return e.fixed?i(t):e.defaultValue===void 0?e.type===`input`?``:fe(e)?[]:G(e)?i(t):null:i(e.defaultValue)}function pe(e,t,n){return t??(e.type===`input`?``:fe(e)?[]:G(e)||e.type===`custom`?J(e,n):null)}function me(e,t,n={}){let r=()=>F(n),i=h(()=>!!r().storageKey),a=()=>{let e=r().maxItems;return e!==void 0&&Number.isFinite(e)?Math.max(1,Math.trunc(e)):5},o=t=>e.value.find(e=>e.prop===t),s=()=>{let{storageKey:t}=r();t&&u(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},c=()=>{let{storageKey:e}=r();if(!e)return;let t=d(e);!t||typeof t!=`object`||(Array.isArray(t)?t.flatMap(e=>e&&typeof e==`object`&&typeof e.prop==`string`?[[e.prop,e.hisList]]:[]):Object.entries(t)).forEach(([e,t])=>{let n=o(e);if(!n||!Array.isArray(t))return;let r=[],i=a();for(let e of t)if(typeof e==`string`&&r.push(e),r.length===i)break;n.hisList=r})},l=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{let t=o(e);!t||K(t)||(c(),l(e))},p=()=>l(),m=(e,n)=>{let r=o(n);r?.type!==`input`||K(r)||(t.value[n]=e,p())},g=(e,t)=>{let n=o(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),s())},_=e=>{let t=o(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,s())},v=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let r=a();return e.length>r&&(e.length=r),e};return{enabled:i,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:g,clearAllHistory:_,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=o(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&v(r.hisList,i)}),p(),s())},restoreFromStorage:c}}function he(e,r){let s=h(()=>F(r.config)??{}),l=o(()=>s.value.feedback),{t:u}=a(()=>s.value.locale),d=M(null),f=h(()=>s.value.foldThreshold??7),p=h(()=>s.value.requireValue??!0),m=M(i(r.formItemList)),g=M(i(r.formParams)),_=M(null),v=h(()=>_.value===null||!n(g.value,_.value)),y=M(!1),b=0,x=c(),S=h(()=>x.isRunning(`search`)),C=!0;T()&&k(()=>{C=!1});let w=me(m,g,r.historyOptions),E=h(()=>m.value.filter(e=>e.show!==!1)),D=h(()=>E.value.filter((e,t)=>y.value||t<f.value)),O=h(()=>E.value.length>f.value),A=h(()=>{let e=new Set(D.value.map(e=>e.prop));return m.value.filter(t=>t.type!==`spacer`&&!e.has(t.prop)&&!q(g.value[t.prop])).length}),j=()=>{let e=g.value;m.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?J(t,e[t.prop]):i(t.defaultValue)))})},N=async()=>{try{return await d.value?.validate(),!0}catch{return O.value&&(y.value=!0),!1}},ne=e=>C&&!F(r.loading)&&n(g.value,e),P=e=>{if(!p.value)return!0;let t=Object.entries(e).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!q(e));return t||l.warning(u(`search.valueRequired`)),t},I=(e,t)=>C&&t===b&&m.value.filter(e=>e.fixed).every(t=>n(g.value[t.prop],e[t.prop])),re=e=>{C&&l.error(u(`search.failed`),e)},R=async()=>{let n=i(g.value),a=b;if(!await N()||!ne(n)||!P(n)||(w.saveCurrentInputs(),e(`search`,i(n)),!ne(n)))return!1;let o=s.value.onSearch;if(!o)return!0;try{if(await o(i(n))===!1)return!1}catch(e){return re(e),!1}return I(n,a)?(_.value=i(n),t(()=>r.onApplied?.(i(n))),!0):!1},ie=async()=>{let e=await x.run(`search`,R,()=>!F(r.loading));return e.executed&&e.value},z=t=>{e(`change-params`,i(t)),e(`update:modelValue`,i(t))},B=()=>{U=!0;let e=++le;ee(()=>{e===le&&(U=!1)})},ae=()=>{d.value?.restoreValidation();let t=i(g.value),n=t;m.value.forEach(e=>{e.show===!1||e.fixed||e.type===`spacer`||e.prop===`pageNum`||e.prop===`pageSize`||(n[e.prop]=J(e,n[e.prop]))}),B(),g.value=t,z(t),e(`reset`,i(t))},oe=e=>{if(!C)return!1;try{let t=de(g.value,m.value,e);return n(t,g.value)?!0:(B(),g.value=t,z(t),!0)}catch(e){return t(()=>re(e)),!1}},V=()=>{y.value=!y.value},H=e=>{let t=new Map(m.value.map(e=>[e.prop,e]));m.value=i(e).map(e=>{let n=t.get(e.prop);return n&&e.hisList===void 0?{...e,hisList:n.hisList,isFocus:!1}:e}),j()},se=e=>{n(e,g.value)||(B(),g.value=i(e),j())},ce=(e,t)=>{se(t),H(e)},U=!1,le=0;return j(),L(()=>m.value.filter(e=>e.fixed).map(e=>[e.prop,i(g.value[e.prop])]),(e,t)=>{n(e,t)||(b++,_.value=null)},{deep:!0,flush:`sync`}),L(g,e=>{U||z(e)},{deep:!0}),te(()=>{w.restoreFromStorage()}),{formRef:d,fields:m,formParams:g,appliedParams:_,hasUnappliedChanges:v,hiddenActiveCount:A,expanded:y,searching:S,visibleFields:D,availableFields:E,foldThreshold:f,hasExpandButton:O,history:w,searchFn:ie,resetFn:ae,applyPreset:oe,toggleFold:V,syncFromProps:ce,syncFields:H,syncModel:se}}const ge=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}},_e={date:{type:`date`,format:`yyyy-MM-dd`},month:{type:`month`,format:`yyyy-MM`},"date-range":{type:`datetimerange`,format:`yyyy-MM-dd HH:mm`}},ve=e=>typeof e==`string`?{mode:`formatted`,value:e}:{mode:`timestamp`,value:typeof e==`number`&&Number.isFinite(e)?e:null};function ye(e,t){let n=e.type===`date`||e.type===`month`?e.type:`date-range`,r=n===`date-range`?ge(t):ve(t),i=e.valueMode??r.mode,a=_e[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 be(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 xe(e){let t=M(null),n=f(t,()=>e().enabled),r=h(()=>{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:h(()=>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 Se=w({name:`SearchCustomField`,props:{render:{type:Function,required:!0},context:{type:Object,required:!0}},setup:e=>()=>e.render(e.context)});const Ce={key:0,class:`form-search-input-control`},we=[`onClick`],Te={class:`history-text`},Ee={key:0,class:`history-footer`},De=[`onClick`],Oe={role:`alert`,class:`form-search-option-error`},ke={key:3,class:`form-search-number-range`},Ae={class:`form-search-item-box form-search-actions`},je={key:0,class:`form-search-hidden-count`,role:`status`};var Me=s(w({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=C(()=>import(`./date-picker.js`)),a=t,o=r,s=l(),c=h(()=>a.config?.density??s.density),u=h(()=>e(c.value)),d=h(()=>a.size??u.value.size),f=h(()=>{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:w,formParams:T,appliedParams:ee,hasUnappliedChanges:te,hiddenActiveCount:k,expanded:M,searching:F,availableFields:W,foldThreshold:de,hasExpandButton:fe,history:G,searchFn:q,resetFn:J,applyPreset:me,toggleFold:ge,syncFields:_e,syncModel:ve}=he(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})}),Me=h(()=>a.config?.layout===`grid`),Ne=h(()=>a.config?.labelPlacement!==`left`&&W.value.some(e=>!!e.label)),{root:Pe,style:Fe,fieldStyle:Ie}=xe(()=>({enabled:Me.value,minWidth:a.config?.fieldMinWidth??(c.value===`compact`?208:260),gap:c.value?u.value.gap:32,columns:a.config?.columns})),Y=p(()=>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]))),Le=e=>Array.isArray(e.attrs?.options)?e.attrs.options:e.list===void 0?e.dictionary?Y.getOptions(e.prop).map(e=>({...e})):void 0:e.list,Re=h(()=>new Map(W.value.filter(e=>e.type===`select`).map(e=>[e.prop,be(Le(e),T.value[e.prop])]))),ze=e=>{let t=T.value[e];return typeof t==`string`?t:null},Be=(e,t)=>{X(e,Re.value.get(e)?.decode(t)??null)},X=(e,t)=>{let n=W.value.find(t=>t.prop===e),r=T.value;n&&!K(n)&&(r[e]=pe(n,t,r[e]))},Ve=e=>{let t=T.value[e];return typeof t==`number`&&Number.isFinite(t)?t:null},He=(e,t)=>{let n=T.value[e],r=Array.isArray(n)?n[t]:null;return typeof r==`number`&&Number.isFinite(r)?r:null},Ue=(e,t,n)=>{let r=[He(e,0),He(e,1)];r[t]=n,X(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(Y.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:j(T.value)[e.prop],model:j(T.value),prop:e.prop,disabled:Z(e),readonly:Q(e),size:$(e),updateValue:t=>X(e.prop,t)}),qe=e=>e.render,Je=e=>{let t=e.prop,n=ye(e,T.value[t]),r=n.mode===`formatted`?{formattedValue:n.value,"onUpdate:formattedValue":e=>X(t,e)}:{value:n.value,"onUpdate:value":e=>X(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 L(()=>a.formItemList,_e,{deep:!0}),L(()=>a.modelValue??a.formParams,ve,{deep:!0}),n({formRef:w,formParams:T,appliedParams:ee,hasUnappliedChanges:te,hiddenActiveCount:k,searchFn:q,cleanFn:J,applyPreset:me,changeFoldState:ge}),(e,n)=>(A(),g(I(ae),{class:D([`form-search-card custom-card`,c.value&&`form-search-card--${c.value}`]),style:O(f.value),bordered:t.bordered},{default:R(()=>[y(`div`,{ref_key:`layoutRoot`,ref:Pe,class:`form-search-layout`},[S(I(oe),{class:D([`form-search`,{"form-search--grid":Me.value}]),style:O(I(Fe)),model:I(T),ref_key:`formRef`,ref:w,size:d.value,"label-placement":t.config?.labelPlacement||`top`,"label-width":t.config?.labelWidth,onSubmit:z(I(q),[`prevent`])},{default:R(()=>[(A(!0),v(m,null,N(I(W),(t,r)=>ie((A(),v(`div`,{class:`form-search-item-box`,key:t.prop||r,style:O(I(Ie)(t))},[t.type===`spacer`?_(`v-if`,!0):(A(),g(I(V),{key:0,class:`form-item-input`,path:t.prop,rule:t.rules,"show-feedback":!1,label:t.label,"show-label":!!t.label},{default:R(()=>[t.type===`input`?(A(),v(`div`,Ce,[S(I(se),E({ref_for:!0},t.attrs,{clearable:t.attrs?.clearable!==!1,size:$(t),value:ze(t.prop),"onUpdate:value":e=>X(t.prop,e),placeholder:t.placeholder,disabled:Z(t),readonly:Q(t),onFocus:e=>I(G).handleFocus(t.prop),onBlur:I(G).closeAllPanels}),null,16,[`clearable`,`size`,`value`,`onUpdate:value`,`placeholder`,`disabled`,`readonly`,`onFocus`,`onBlur`]),t.isFocus?(A(),v(`div`,{key:0,class:`input-history`,onMousedown:n[0]||=z(()=>{},[`prevent`])},[(A(!0),v(m,null,N(t.hisList,(e,r)=>(A(),v(`div`,{class:`history-item`,onClick:n=>I(G).selectHistoryItem(e,t.prop),key:e},[y(`span`,Te,P(e),1),S(I(H),{class:`delete-icon`,size:`14`,onClick:z(e=>I(G).deleteHistoryItem(t.prop,r),[`stop`])},{default:R(()=>[...n[1]||=[y(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,we))),128)),t.hisList&&t.hisList.length>0?(A(),v(`div`,Ee,[y(`span`,{class:`clear-all`,onClick:z(e=>I(G).clearAllHistory(t.prop),[`stop`])},` 清空历史记录 `,8,De)])):_(`v-if`,!0)],32)):_(`v-if`,!0)])):_(`v-if`,!0),t.type===`select`?(A(),g(I(U),E({key:1,ref_for:!0},t.attrs,{value:Re.value.get(t.prop)?.value,"onUpdate:value":e=>Be(t.prop,e),placeholder:t.placeholder||`请选择`,clearable:t.attrs?.clearable!==!1,size:$(t),options:Re.value.get(t.prop)?.options,loading:I(Y).isLoading(t.prop)||t.attrs?.loading===!0,disabled:Z(t)||Q(t),status:We(t)}),b({_:2},[I(Y).getError(t.prop)?{name:`empty`,fn:R(()=>[y(`div`,Oe,[n[3]||=x(` 选项加载失败 `,-1),S(I(B),{text:``,size:`small`,onClick:e=>I(Y).reload(t.prop)},{default:R(()=>[...n[2]||=[x(`重试`,-1)]]),_:1},8,[`onClick`])])]),key:`0`}:void 0]),1040,[`value`,`onUpdate:value`,`placeholder`,`clearable`,`size`,`options`,`loading`,`disabled`,`status`])):_(`v-if`,!0),t.type===`number`?(A(),g(I(ce),E({key:2,ref_for:!0},t.attrs,{value:Ve(t.prop),"onUpdate:value":e=>X(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`])):_(`v-if`,!0),t.type===`number-range`?(A(),v(`div`,ke,[(A(),v(m,null,N([0,1],e=>S(I(ce),E({key:e},{ref_for:!0},t.attrs,{value:He(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))])):_(`v-if`,!0),t.type===`date-range`||t.type===`date`||t.type===`month`?(A(),g(I(i),E({key:4,size:d.value},{ref_for:!0},Je(t)),null,16,[`size`])):_(`v-if`,!0),t.type===`custom`?ne(e.$slots,t.slot||t.prop,E({ref_for:!0},Ke(t)),()=>[t.render?(A(),g(I(Se),{key:0,render:qe(t),context:Ke(t)},null,8,[`render`,`context`])):_(`v-if`,!0)],!0,5):_(`v-if`,!0)]),_:2},1032,[`path`,`rule`,`label`,`show-label`]))],4)),[[re,I(M)||r<I(de)]])),128)),y(`div`,Ae,[S(I(V),{class:`form-item-input`,"show-feedback":!1,"show-label":Ne.value,label:` `},{default:R(()=>[S(I(le),{size:c.value?u.value.gap:8},{default:R(()=>[S(I(ue),{trigger:`hover`},{trigger:R(()=>[S(I(B),{type:`primary`,size:d.value,"aria-label":`搜索`,"attr-type":`submit`,loading:t.loading||I(F)},{icon:R(()=>[...n[4]||=[y(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`loading`])]),default:R(()=>[n[5]||=x(` 搜索 `,-1)]),_:1}),S(I(ue),{trigger:`hover`},{trigger:R(()=>[S(I(B),{size:d.value,"aria-label":`重置`,onClick:I(J)},{icon:R(()=>[...n[6]||=[y(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:R(()=>[n[7]||=x(` 重置 `,-1)]),_:1}),I(fe)?(A(),g(I(ue),{key:0,trigger:`hover`},{trigger:R(()=>[S(I(B),{size:d.value,"aria-label":I(M)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":I(M),onClick:I(ge)},{icon:R(()=>[y(`div`,{class:D(I(M)?`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:R(()=>[x(` `+P(I(M)?`收起`:`展开`),1)]),_:1})):_(`v-if`,!0)]),_:1},8,[`size`]),I(k)?(A(),v(`span`,je,P(I(k))+` 项隐藏条件生效 `,1)):_(`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 Ne(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&&q(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{me as i,Me as n,he as r,Ne as t};
|