@shwfed/config 3.0.15 → 3.0.17
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/dist/module.json +1 -1
- package/dist/runtime/components/actions/buttons/2026-06-25/com.shwfed.actions.button.state.write/config.d.vue.ts +8 -8
- package/dist/runtime/components/actions/buttons/2026-06-25/com.shwfed.actions.button.state.write/config.vue.d.ts +8 -8
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.d.vue.ts +8 -8
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.vue.d.ts +8 -8
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/runtime.vue +1 -16
- package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/config.d.vue.ts +6 -6
- package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/config.vue.d.ts +6 -6
- package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/runtime.d.vue.ts +6 -6
- package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/runtime.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +8 -8
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +8 -8
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +6 -6
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
- package/dist/runtime/components/form/index.vue +57 -2
- package/dist/runtime/components/form/schema.d.ts +5 -0
- package/dist/runtime/components/form/schema.js +14 -1
- package/dist/runtime/components/form/utils/derived.js +1 -0
- package/dist/runtime/components/form/utils/state-write.d.ts +9 -0
- package/dist/runtime/components/form/utils/state-write.js +16 -0
- package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.d.vue.ts +21 -0
- package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.vue +100 -0
- package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.vue.d.ts +21 -0
- package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/schema.d.ts +18 -0
- package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/schema.js +47 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/config.vue +28 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/config.vue +32 -0
- package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.js +1 -1
- package/dist/runtime/components/table/index.d.vue.ts +1 -0
- package/dist/runtime/components/table/index.vue +12 -1
- package/dist/runtime/components/table/index.vue.d.ts +1 -0
- package/dist/runtime/components/table/utils/shared.d.ts +2 -1
- package/dist/runtime/components/table/utils/shared.js +24 -1
- package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
- package/package.json +1 -1
|
@@ -33,8 +33,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly expression: string;
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly numberOfMonths?: number | undefined;
|
|
36
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
37
36
|
readonly format?: string | undefined;
|
|
37
|
+
readonly valueFormat?: string | undefined;
|
|
38
|
+
readonly disabledDate?: string | undefined;
|
|
39
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
38
40
|
readonly startPlaceholder?: readonly [{
|
|
39
41
|
readonly locale: "zh";
|
|
40
42
|
readonly message: string;
|
|
@@ -49,8 +51,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
49
51
|
readonly locale: "en" | "ja" | "ko";
|
|
50
52
|
readonly message: string;
|
|
51
53
|
}[]] | undefined;
|
|
52
|
-
readonly valueFormat?: string | undefined;
|
|
53
|
-
readonly disabledDate?: string | undefined;
|
|
54
54
|
readonly validations?: readonly {
|
|
55
55
|
readonly message: readonly [{
|
|
56
56
|
readonly locale: "zh";
|
|
@@ -106,8 +106,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
106
106
|
readonly expression: string;
|
|
107
107
|
} | undefined;
|
|
108
108
|
readonly numberOfMonths?: number | undefined;
|
|
109
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
110
109
|
readonly format?: string | undefined;
|
|
110
|
+
readonly valueFormat?: string | undefined;
|
|
111
|
+
readonly disabledDate?: string | undefined;
|
|
112
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
111
113
|
readonly startPlaceholder?: readonly [{
|
|
112
114
|
readonly locale: "zh";
|
|
113
115
|
readonly message: string;
|
|
@@ -122,8 +124,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
122
124
|
readonly locale: "en" | "ja" | "ko";
|
|
123
125
|
readonly message: string;
|
|
124
126
|
}[]] | undefined;
|
|
125
|
-
readonly valueFormat?: string | undefined;
|
|
126
|
-
readonly disabledDate?: string | undefined;
|
|
127
127
|
readonly validations?: readonly {
|
|
128
128
|
readonly message: readonly [{
|
|
129
129
|
readonly locale: "zh";
|
|
@@ -34,8 +34,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly numberOfMonths?: number | undefined;
|
|
36
36
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
37
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
38
37
|
readonly format?: string | undefined;
|
|
38
|
+
readonly valueFormat?: string | undefined;
|
|
39
|
+
readonly disabledDate?: string | undefined;
|
|
40
|
+
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
41
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
39
42
|
readonly startPlaceholder?: readonly [{
|
|
40
43
|
readonly locale: "zh";
|
|
41
44
|
readonly message: string;
|
|
@@ -50,9 +53,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
50
53
|
readonly locale: "en" | "ja" | "ko";
|
|
51
54
|
readonly message: string;
|
|
52
55
|
}[]] | undefined;
|
|
53
|
-
readonly valueFormat?: string | undefined;
|
|
54
|
-
readonly disabledDate?: string | undefined;
|
|
55
|
-
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
56
56
|
readonly validations?: readonly {
|
|
57
57
|
readonly message: readonly [{
|
|
58
58
|
readonly locale: "zh";
|
|
@@ -109,8 +109,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
109
109
|
} | undefined;
|
|
110
110
|
readonly numberOfMonths?: number | undefined;
|
|
111
111
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
112
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
113
112
|
readonly format?: string | undefined;
|
|
113
|
+
readonly valueFormat?: string | undefined;
|
|
114
|
+
readonly disabledDate?: string | undefined;
|
|
115
|
+
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
116
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
114
117
|
readonly startPlaceholder?: readonly [{
|
|
115
118
|
readonly locale: "zh";
|
|
116
119
|
readonly message: string;
|
|
@@ -125,9 +128,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
125
128
|
readonly locale: "en" | "ja" | "ko";
|
|
126
129
|
readonly message: string;
|
|
127
130
|
}[]] | undefined;
|
|
128
|
-
readonly valueFormat?: string | undefined;
|
|
129
|
-
readonly disabledDate?: string | undefined;
|
|
130
|
-
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
131
131
|
readonly validations?: readonly {
|
|
132
132
|
readonly message: readonly [{
|
|
133
133
|
readonly locale: "zh";
|
|
@@ -34,8 +34,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly numberOfMonths?: number | undefined;
|
|
36
36
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
37
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
38
37
|
readonly format?: string | undefined;
|
|
38
|
+
readonly valueFormat?: string | undefined;
|
|
39
|
+
readonly disabledDate?: string | undefined;
|
|
40
|
+
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
41
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
39
42
|
readonly startPlaceholder?: readonly [{
|
|
40
43
|
readonly locale: "zh";
|
|
41
44
|
readonly message: string;
|
|
@@ -50,9 +53,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
50
53
|
readonly locale: "en" | "ja" | "ko";
|
|
51
54
|
readonly message: string;
|
|
52
55
|
}[]] | undefined;
|
|
53
|
-
readonly valueFormat?: string | undefined;
|
|
54
|
-
readonly disabledDate?: string | undefined;
|
|
55
|
-
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
56
56
|
readonly validations?: readonly {
|
|
57
57
|
readonly message: readonly [{
|
|
58
58
|
readonly locale: "zh";
|
|
@@ -109,8 +109,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
109
109
|
} | undefined;
|
|
110
110
|
readonly numberOfMonths?: number | undefined;
|
|
111
111
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
112
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
113
112
|
readonly format?: string | undefined;
|
|
113
|
+
readonly valueFormat?: string | undefined;
|
|
114
|
+
readonly disabledDate?: string | undefined;
|
|
115
|
+
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
116
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
114
117
|
readonly startPlaceholder?: readonly [{
|
|
115
118
|
readonly locale: "zh";
|
|
116
119
|
readonly message: string;
|
|
@@ -125,9 +128,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
125
128
|
readonly locale: "en" | "ja" | "ko";
|
|
126
129
|
readonly message: string;
|
|
127
130
|
}[]] | undefined;
|
|
128
|
-
readonly valueFormat?: string | undefined;
|
|
129
|
-
readonly disabledDate?: string | undefined;
|
|
130
|
-
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
131
131
|
readonly validations?: readonly {
|
|
132
132
|
readonly message: readonly [{
|
|
133
133
|
readonly locale: "zh";
|
|
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly expression: string;
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
36
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
37
36
|
readonly valueFormat?: string | undefined;
|
|
38
37
|
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
39
39
|
readonly validations?: readonly {
|
|
40
40
|
readonly message: readonly [{
|
|
41
41
|
readonly locale: "zh";
|
|
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
79
79
|
readonly expression: string;
|
|
80
80
|
} | undefined;
|
|
81
81
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
82
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
83
82
|
readonly valueFormat?: string | undefined;
|
|
84
83
|
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
84
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
85
85
|
readonly validations?: readonly {
|
|
86
86
|
readonly message: readonly [{
|
|
87
87
|
readonly locale: "zh";
|
|
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly expression: string;
|
|
34
34
|
} | undefined;
|
|
35
35
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
36
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
37
36
|
readonly valueFormat?: string | undefined;
|
|
38
37
|
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
39
39
|
readonly validations?: readonly {
|
|
40
40
|
readonly message: readonly [{
|
|
41
41
|
readonly locale: "zh";
|
|
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
79
79
|
readonly expression: string;
|
|
80
80
|
} | undefined;
|
|
81
81
|
readonly hourCycle?: 12 | 24 | undefined;
|
|
82
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
83
82
|
readonly valueFormat?: string | undefined;
|
|
84
83
|
readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
|
|
84
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
85
85
|
readonly validations?: readonly {
|
|
86
86
|
readonly message: readonly [{
|
|
87
87
|
readonly locale: "zh";
|
|
@@ -41,14 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
41
41
|
readonly mode: "formula" | "prefill";
|
|
42
42
|
readonly expression: string;
|
|
43
43
|
} | undefined;
|
|
44
|
-
readonly optionValue: string;
|
|
45
|
-
readonly optionLabel: readonly [{
|
|
46
|
-
readonly locale: "zh";
|
|
47
|
-
readonly message: string;
|
|
48
|
-
}, ...{
|
|
49
|
-
readonly locale: "en" | "ja" | "ko";
|
|
50
|
-
readonly message: string;
|
|
51
|
-
}[]];
|
|
52
44
|
readonly validations?: readonly {
|
|
53
45
|
readonly message: readonly [{
|
|
54
46
|
readonly locale: "zh";
|
|
@@ -60,6 +52,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
60
52
|
readonly warning?: boolean | undefined;
|
|
61
53
|
readonly when: string;
|
|
62
54
|
}[] | undefined;
|
|
55
|
+
readonly optionValue: string;
|
|
56
|
+
readonly optionLabel: readonly [{
|
|
57
|
+
readonly locale: "zh";
|
|
58
|
+
readonly message: string;
|
|
59
|
+
}, ...{
|
|
60
|
+
readonly locale: "en" | "ja" | "ko";
|
|
61
|
+
readonly message: string;
|
|
62
|
+
}[]];
|
|
63
63
|
}) => any;
|
|
64
64
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
65
65
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -100,14 +100,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
100
100
|
readonly mode: "formula" | "prefill";
|
|
101
101
|
readonly expression: string;
|
|
102
102
|
} | undefined;
|
|
103
|
-
readonly optionValue: string;
|
|
104
|
-
readonly optionLabel: readonly [{
|
|
105
|
-
readonly locale: "zh";
|
|
106
|
-
readonly message: string;
|
|
107
|
-
}, ...{
|
|
108
|
-
readonly locale: "en" | "ja" | "ko";
|
|
109
|
-
readonly message: string;
|
|
110
|
-
}[]];
|
|
111
103
|
readonly validations?: readonly {
|
|
112
104
|
readonly message: readonly [{
|
|
113
105
|
readonly locale: "zh";
|
|
@@ -119,6 +111,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
111
|
readonly warning?: boolean | undefined;
|
|
120
112
|
readonly when: string;
|
|
121
113
|
}[] | undefined;
|
|
114
|
+
readonly optionValue: string;
|
|
115
|
+
readonly optionLabel: readonly [{
|
|
116
|
+
readonly locale: "zh";
|
|
117
|
+
readonly message: string;
|
|
118
|
+
}, ...{
|
|
119
|
+
readonly locale: "en" | "ja" | "ko";
|
|
120
|
+
readonly message: string;
|
|
121
|
+
}[]];
|
|
122
122
|
}) => any) | undefined;
|
|
123
123
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
124
124
|
declare const _default: typeof __VLS_export;
|
|
@@ -41,14 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
41
41
|
readonly mode: "formula" | "prefill";
|
|
42
42
|
readonly expression: string;
|
|
43
43
|
} | undefined;
|
|
44
|
-
readonly optionValue: string;
|
|
45
|
-
readonly optionLabel: readonly [{
|
|
46
|
-
readonly locale: "zh";
|
|
47
|
-
readonly message: string;
|
|
48
|
-
}, ...{
|
|
49
|
-
readonly locale: "en" | "ja" | "ko";
|
|
50
|
-
readonly message: string;
|
|
51
|
-
}[]];
|
|
52
44
|
readonly validations?: readonly {
|
|
53
45
|
readonly message: readonly [{
|
|
54
46
|
readonly locale: "zh";
|
|
@@ -60,6 +52,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
60
52
|
readonly warning?: boolean | undefined;
|
|
61
53
|
readonly when: string;
|
|
62
54
|
}[] | undefined;
|
|
55
|
+
readonly optionValue: string;
|
|
56
|
+
readonly optionLabel: readonly [{
|
|
57
|
+
readonly locale: "zh";
|
|
58
|
+
readonly message: string;
|
|
59
|
+
}, ...{
|
|
60
|
+
readonly locale: "en" | "ja" | "ko";
|
|
61
|
+
readonly message: string;
|
|
62
|
+
}[]];
|
|
63
63
|
}) => any;
|
|
64
64
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
65
65
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -100,14 +100,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
100
100
|
readonly mode: "formula" | "prefill";
|
|
101
101
|
readonly expression: string;
|
|
102
102
|
} | undefined;
|
|
103
|
-
readonly optionValue: string;
|
|
104
|
-
readonly optionLabel: readonly [{
|
|
105
|
-
readonly locale: "zh";
|
|
106
|
-
readonly message: string;
|
|
107
|
-
}, ...{
|
|
108
|
-
readonly locale: "en" | "ja" | "ko";
|
|
109
|
-
readonly message: string;
|
|
110
|
-
}[]];
|
|
111
103
|
readonly validations?: readonly {
|
|
112
104
|
readonly message: readonly [{
|
|
113
105
|
readonly locale: "zh";
|
|
@@ -119,6 +111,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
111
|
readonly warning?: boolean | undefined;
|
|
120
112
|
readonly when: string;
|
|
121
113
|
}[] | undefined;
|
|
114
|
+
readonly optionValue: string;
|
|
115
|
+
readonly optionLabel: readonly [{
|
|
116
|
+
readonly locale: "zh";
|
|
117
|
+
readonly message: string;
|
|
118
|
+
}, ...{
|
|
119
|
+
readonly locale: "en" | "ja" | "ko";
|
|
120
|
+
readonly message: string;
|
|
121
|
+
}[]];
|
|
122
122
|
}) => any) | undefined;
|
|
123
123
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
124
124
|
declare const _default: typeof __VLS_export;
|
|
@@ -32,8 +32,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
32
32
|
readonly mode: "formula" | "prefill";
|
|
33
33
|
readonly expression: string;
|
|
34
34
|
} | undefined;
|
|
35
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
36
35
|
readonly format?: string | undefined;
|
|
36
|
+
readonly valueFormat?: string | undefined;
|
|
37
|
+
readonly disabledDate?: string | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
37
39
|
readonly startPlaceholder?: readonly [{
|
|
38
40
|
readonly locale: "zh";
|
|
39
41
|
readonly message: string;
|
|
@@ -48,8 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
48
50
|
readonly locale: "en" | "ja" | "ko";
|
|
49
51
|
readonly message: string;
|
|
50
52
|
}[]] | undefined;
|
|
51
|
-
readonly valueFormat?: string | undefined;
|
|
52
|
-
readonly disabledDate?: string | undefined;
|
|
53
53
|
readonly validations?: readonly {
|
|
54
54
|
readonly message: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -104,8 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
104
104
|
readonly mode: "formula" | "prefill";
|
|
105
105
|
readonly expression: string;
|
|
106
106
|
} | undefined;
|
|
107
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
108
107
|
readonly format?: string | undefined;
|
|
108
|
+
readonly valueFormat?: string | undefined;
|
|
109
|
+
readonly disabledDate?: string | undefined;
|
|
110
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
109
111
|
readonly startPlaceholder?: readonly [{
|
|
110
112
|
readonly locale: "zh";
|
|
111
113
|
readonly message: string;
|
|
@@ -120,8 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
120
122
|
readonly locale: "en" | "ja" | "ko";
|
|
121
123
|
readonly message: string;
|
|
122
124
|
}[]] | undefined;
|
|
123
|
-
readonly valueFormat?: string | undefined;
|
|
124
|
-
readonly disabledDate?: string | undefined;
|
|
125
125
|
readonly validations?: readonly {
|
|
126
126
|
readonly message: readonly [{
|
|
127
127
|
readonly locale: "zh";
|
|
@@ -32,8 +32,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
32
32
|
readonly mode: "formula" | "prefill";
|
|
33
33
|
readonly expression: string;
|
|
34
34
|
} | undefined;
|
|
35
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
36
35
|
readonly format?: string | undefined;
|
|
36
|
+
readonly valueFormat?: string | undefined;
|
|
37
|
+
readonly disabledDate?: string | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
37
39
|
readonly startPlaceholder?: readonly [{
|
|
38
40
|
readonly locale: "zh";
|
|
39
41
|
readonly message: string;
|
|
@@ -48,8 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
48
50
|
readonly locale: "en" | "ja" | "ko";
|
|
49
51
|
readonly message: string;
|
|
50
52
|
}[]] | undefined;
|
|
51
|
-
readonly valueFormat?: string | undefined;
|
|
52
|
-
readonly disabledDate?: string | undefined;
|
|
53
53
|
readonly validations?: readonly {
|
|
54
54
|
readonly message: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -104,8 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
104
104
|
readonly mode: "formula" | "prefill";
|
|
105
105
|
readonly expression: string;
|
|
106
106
|
} | undefined;
|
|
107
|
-
readonly rangeSeparatorIcon?: string | undefined;
|
|
108
107
|
readonly format?: string | undefined;
|
|
108
|
+
readonly valueFormat?: string | undefined;
|
|
109
|
+
readonly disabledDate?: string | undefined;
|
|
110
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
109
111
|
readonly startPlaceholder?: readonly [{
|
|
110
112
|
readonly locale: "zh";
|
|
111
113
|
readonly message: string;
|
|
@@ -120,8 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
120
122
|
readonly locale: "en" | "ja" | "ko";
|
|
121
123
|
readonly message: string;
|
|
122
124
|
}[]] | undefined;
|
|
123
|
-
readonly valueFormat?: string | undefined;
|
|
124
|
-
readonly disabledDate?: string | undefined;
|
|
125
125
|
readonly validations?: readonly {
|
|
126
126
|
readonly message: readonly [{
|
|
127
127
|
readonly locale: "zh";
|
|
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
40
40
|
readonly mode: "formula" | "prefill";
|
|
41
41
|
readonly expression: string;
|
|
42
42
|
} | undefined;
|
|
43
|
-
readonly optionValue: string;
|
|
44
|
-
readonly optionLabel: readonly [{
|
|
45
|
-
readonly locale: "zh";
|
|
46
|
-
readonly message: string;
|
|
47
|
-
}, ...{
|
|
48
|
-
readonly locale: "en" | "ja" | "ko";
|
|
49
|
-
readonly message: string;
|
|
50
|
-
}[]];
|
|
51
43
|
readonly validations?: readonly {
|
|
52
44
|
readonly message: readonly [{
|
|
53
45
|
readonly locale: "zh";
|
|
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
59
51
|
readonly warning?: boolean | undefined;
|
|
60
52
|
readonly when: string;
|
|
61
53
|
}[] | undefined;
|
|
54
|
+
readonly optionValue: string;
|
|
55
|
+
readonly optionLabel: readonly [{
|
|
56
|
+
readonly locale: "zh";
|
|
57
|
+
readonly message: string;
|
|
58
|
+
}, ...{
|
|
59
|
+
readonly locale: "en" | "ja" | "ko";
|
|
60
|
+
readonly message: string;
|
|
61
|
+
}[]];
|
|
62
62
|
}) => any;
|
|
63
63
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
64
64
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
98
98
|
readonly mode: "formula" | "prefill";
|
|
99
99
|
readonly expression: string;
|
|
100
100
|
} | undefined;
|
|
101
|
-
readonly optionValue: string;
|
|
102
|
-
readonly optionLabel: readonly [{
|
|
103
|
-
readonly locale: "zh";
|
|
104
|
-
readonly message: string;
|
|
105
|
-
}, ...{
|
|
106
|
-
readonly locale: "en" | "ja" | "ko";
|
|
107
|
-
readonly message: string;
|
|
108
|
-
}[]];
|
|
109
101
|
readonly validations?: readonly {
|
|
110
102
|
readonly message: readonly [{
|
|
111
103
|
readonly locale: "zh";
|
|
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
109
|
readonly warning?: boolean | undefined;
|
|
118
110
|
readonly when: string;
|
|
119
111
|
}[] | undefined;
|
|
112
|
+
readonly optionValue: string;
|
|
113
|
+
readonly optionLabel: readonly [{
|
|
114
|
+
readonly locale: "zh";
|
|
115
|
+
readonly message: string;
|
|
116
|
+
}, ...{
|
|
117
|
+
readonly locale: "en" | "ja" | "ko";
|
|
118
|
+
readonly message: string;
|
|
119
|
+
}[]];
|
|
120
120
|
}) => any) | undefined;
|
|
121
121
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
122
122
|
declare const _default: typeof __VLS_export;
|
|
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
40
40
|
readonly mode: "formula" | "prefill";
|
|
41
41
|
readonly expression: string;
|
|
42
42
|
} | undefined;
|
|
43
|
-
readonly optionValue: string;
|
|
44
|
-
readonly optionLabel: readonly [{
|
|
45
|
-
readonly locale: "zh";
|
|
46
|
-
readonly message: string;
|
|
47
|
-
}, ...{
|
|
48
|
-
readonly locale: "en" | "ja" | "ko";
|
|
49
|
-
readonly message: string;
|
|
50
|
-
}[]];
|
|
51
43
|
readonly validations?: readonly {
|
|
52
44
|
readonly message: readonly [{
|
|
53
45
|
readonly locale: "zh";
|
|
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
59
51
|
readonly warning?: boolean | undefined;
|
|
60
52
|
readonly when: string;
|
|
61
53
|
}[] | undefined;
|
|
54
|
+
readonly optionValue: string;
|
|
55
|
+
readonly optionLabel: readonly [{
|
|
56
|
+
readonly locale: "zh";
|
|
57
|
+
readonly message: string;
|
|
58
|
+
}, ...{
|
|
59
|
+
readonly locale: "en" | "ja" | "ko";
|
|
60
|
+
readonly message: string;
|
|
61
|
+
}[]];
|
|
62
62
|
}) => any;
|
|
63
63
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
64
64
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
98
98
|
readonly mode: "formula" | "prefill";
|
|
99
99
|
readonly expression: string;
|
|
100
100
|
} | undefined;
|
|
101
|
-
readonly optionValue: string;
|
|
102
|
-
readonly optionLabel: readonly [{
|
|
103
|
-
readonly locale: "zh";
|
|
104
|
-
readonly message: string;
|
|
105
|
-
}, ...{
|
|
106
|
-
readonly locale: "en" | "ja" | "ko";
|
|
107
|
-
readonly message: string;
|
|
108
|
-
}[]];
|
|
109
101
|
readonly validations?: readonly {
|
|
110
102
|
readonly message: readonly [{
|
|
111
103
|
readonly locale: "zh";
|
|
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
109
|
readonly warning?: boolean | undefined;
|
|
118
110
|
readonly when: string;
|
|
119
111
|
}[] | undefined;
|
|
112
|
+
readonly optionValue: string;
|
|
113
|
+
readonly optionLabel: readonly [{
|
|
114
|
+
readonly locale: "zh";
|
|
115
|
+
readonly message: string;
|
|
116
|
+
}, ...{
|
|
117
|
+
readonly locale: "en" | "ja" | "ko";
|
|
118
|
+
readonly message: string;
|
|
119
|
+
}[]];
|
|
120
120
|
}) => any) | undefined;
|
|
121
121
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
122
122
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { cel as _rawCel } from "../../utils/cel";
|
|
3
3
|
import { TZDate } from "@date-fns/tz";
|
|
4
|
-
import { Effect } from "effect";
|
|
4
|
+
import { Cause, Effect } from "effect";
|
|
5
5
|
import { Fetch } from "fx-fetch";
|
|
6
6
|
import { computed } from "vue";
|
|
7
7
|
import {
|
|
@@ -17,8 +17,10 @@ import { provideDerivedQuiescence, useDerived } from "./utils/derived";
|
|
|
17
17
|
import { useFormHistory } from "./utils/history";
|
|
18
18
|
import { evaluateInitial } from "./utils/initial";
|
|
19
19
|
import { provideEventTarget } from "../../share/event-bus";
|
|
20
|
+
import * as stateWriteOp from "../operations/2026-07-19/com.shwfed.operation.form.state.write/schema";
|
|
20
21
|
import { provideFormReadonly } from "./utils/readonly";
|
|
21
22
|
import { provideFormState } from "./utils/state";
|
|
23
|
+
import { mergeAtPath } from "./utils/state-write";
|
|
22
24
|
import { provideOptionsRegistry, provideSelectionsRegistry } from "../../utils/selections-registry";
|
|
23
25
|
import { provideValidation } from "./utils/validation";
|
|
24
26
|
defineOptions({ name: "ShwfedForm" });
|
|
@@ -116,7 +118,60 @@ provideEventTarget(formInstanceId, {
|
|
|
116
118
|
}),
|
|
117
119
|
"undo": () => Effect.sync(formHistory.undo),
|
|
118
120
|
"redo": () => Effect.sync(formHistory.redo),
|
|
119
|
-
"reset-to-initial": () => Effect.sync(formHistory.reset)
|
|
121
|
+
"reset-to-initial": () => Effect.sync(formHistory.reset),
|
|
122
|
+
// Host-coupled `state.write` op: it writes into THIS form's state bag, which
|
|
123
|
+
// a generic handler can't reach (the bag lives on the Vue inject chain), so
|
|
124
|
+
// like the table's `add-row` it ships no `runtime.ts` and is hand-wired here.
|
|
125
|
+
// It is the button's「写入表单状态」capability lifted out so any trigger list can
|
|
126
|
+
// dispatch it — but, being one step of a chain, it carries no bracketing
|
|
127
|
+
// 写入前/写入后 lists (the surrounding chain is the bracket).
|
|
128
|
+
//
|
|
129
|
+
// Params are decoded with the same loose posture the table uses for
|
|
130
|
+
// `add-row` — a plain cast, tolerating absent/malformed shapes — since the
|
|
131
|
+
// authoritative validation already ran in the trigger editor against the op's
|
|
132
|
+
// schema. Rows commit in LIST ORDER via `setAt` (dirty-marking is intended —
|
|
133
|
+
// an op write is user intent, as with the button and per `state.ts`'s
|
|
134
|
+
// "explicit clear counts as a touch"). Unlike the button there is no
|
|
135
|
+
// "commit out of the form I'm in" walk: the op explicitly targets THIS form,
|
|
136
|
+
// so it writes THIS form's own bag.
|
|
137
|
+
//
|
|
138
|
+
// Each `value` is evaluated with the emit-site evaluator (`cel` — the
|
|
139
|
+
// dispatching button's own scope, where a row action's `row` is live) when
|
|
140
|
+
// present, else the form's own `$cel`; both bind `{ steps }` (the chain's
|
|
141
|
+
// earlier outputs) into the context. A row whose evaluation or write throws
|
|
142
|
+
// logs UNGATED — designers configure inside the production-built app, so an
|
|
143
|
+
// `import.meta.dev`-gated log is one they can never see (see the button
|
|
144
|
+
// runtime's note) — then HALTS the remaining rows and the rest of the trigger
|
|
145
|
+
// chain via a defect, keeping the handler's `void` error channel (the guard
|
|
146
|
+
// shape `validate` uses above). `tapErrorCause` covers both a failed
|
|
147
|
+
// evaluation and a throwing `setAt`.
|
|
148
|
+
[stateWriteOp.type]: (params, cel, step) => {
|
|
149
|
+
const writes = params?.writes ?? [];
|
|
150
|
+
const steps = step?.outputs() ?? {};
|
|
151
|
+
return Effect.forEach(
|
|
152
|
+
writes,
|
|
153
|
+
(write) => {
|
|
154
|
+
const path = write.path?.trim() ?? "";
|
|
155
|
+
if (path.length === 0) return Effect.void;
|
|
156
|
+
const evaluated = cel ? cel(write.value, { steps }) : $cel(write.value, { steps });
|
|
157
|
+
return Effect.map(evaluated, (result) => {
|
|
158
|
+
formState.setAt(path, mergeAtPath(formState.getAt(path), result));
|
|
159
|
+
}).pipe(
|
|
160
|
+
Effect.tapErrorCause((cause) => Effect.sync(() => {
|
|
161
|
+
console.error(
|
|
162
|
+
`[shwfed-form] state.write: failed to write "${path}" for ${formInstanceId}:`,
|
|
163
|
+
Cause.squash(cause)
|
|
164
|
+
);
|
|
165
|
+
})),
|
|
166
|
+
// Re-raise as a defect so the chain halts (later rows + the rest of
|
|
167
|
+
// the trigger list stay skipped) without widening the infallible
|
|
168
|
+
// `void` error channel — same reason `validate` uses `Effect.die`.
|
|
169
|
+
Effect.catchAllCause((cause) => Effect.die(Cause.squash(cause)))
|
|
170
|
+
);
|
|
171
|
+
},
|
|
172
|
+
{ discard: true }
|
|
173
|
+
);
|
|
174
|
+
}
|
|
120
175
|
});
|
|
121
176
|
defineExpose({
|
|
122
177
|
seeded,
|
|
@@ -26,6 +26,11 @@ export declare const metadata: {
|
|
|
26
26
|
readonly id: "reset-to-initial";
|
|
27
27
|
readonly name: "重置为初始值";
|
|
28
28
|
readonly icon: "fluent:arrow-reset-20-regular";
|
|
29
|
+
}, {
|
|
30
|
+
readonly id: "com.shwfed.operation.form.state.write";
|
|
31
|
+
readonly compatibilityDate: "2026-07-19";
|
|
32
|
+
readonly name: "写入表单状态";
|
|
33
|
+
readonly icon: "fluent:document-edit-20-regular";
|
|
29
34
|
}];
|
|
30
35
|
};
|
|
31
36
|
type AnySchema = Schema.Schema<any, any, never>;
|
|
@@ -2,6 +2,7 @@ import { Schema } from "effect";
|
|
|
2
2
|
import { Expression, HttpRequestResult } from "../../share/expression.js";
|
|
3
3
|
import { allFieldSchemas } from "./utils/resolve.js";
|
|
4
4
|
import { registerFormVariablesIfAbsent } from "./utils/form-vars.js";
|
|
5
|
+
import * as stateWriteOp from "../operations/2026-07-19/com.shwfed.operation.form.state.write/schema.js";
|
|
5
6
|
import { md } from "../../share/markdown.js";
|
|
6
7
|
import {
|
|
7
8
|
LayoutSet,
|
|
@@ -23,7 +24,19 @@ export const metadata = {
|
|
|
23
24
|
{ id: "validate", name: "\u6821\u9A8C", icon: "fluent:checkmark-circle-20-regular" },
|
|
24
25
|
{ id: "undo", name: "\u64A4\u9500", icon: "fluent:arrow-undo-20-regular" },
|
|
25
26
|
{ id: "redo", name: "\u91CD\u505A", icon: "fluent:arrow-redo-20-regular" },
|
|
26
|
-
{ id: "reset-to-initial", name: "\u91CD\u7F6E\u4E3A\u521D\u59CB\u503C", icon: "fluent:arrow-reset-20-regular" }
|
|
27
|
+
{ id: "reset-to-initial", name: "\u91CD\u7F6E\u4E3A\u521D\u59CB\u503C", icon: "fluent:arrow-reset-20-regular" },
|
|
28
|
+
// Parameterized (but host-coupled) op: `compatibilityDate` marks it as
|
|
29
|
+
// carrying params, so the trigger editor renders the op's `config.vue` and
|
|
30
|
+
// seeds its `defaults()`. Like the table's `add-row` it ships no
|
|
31
|
+
// `runtime.ts` — the write touches this form instance's private state bag,
|
|
32
|
+
// so the handler is hand-wired in `index.vue`'s `provideEventTarget`. `id`
|
|
33
|
+
// doubles as the operation-block `type`.
|
|
34
|
+
{
|
|
35
|
+
id: stateWriteOp.type,
|
|
36
|
+
compatibilityDate: stateWriteOp.compatibilityDate,
|
|
37
|
+
name: stateWriteOp.metadata.name,
|
|
38
|
+
icon: stateWriteOp.metadata.icon
|
|
39
|
+
}
|
|
27
40
|
]
|
|
28
41
|
};
|
|
29
42
|
function unitFields(configure) {
|
|
@@ -76,6 +76,7 @@ export function useDerived(options) {
|
|
|
76
76
|
(result) => {
|
|
77
77
|
if (gen !== generation) return;
|
|
78
78
|
if (field.mode === "prefill" && isDirty(field.binding)) return;
|
|
79
|
+
if (field.mode === "prefill" && result === void 0) return;
|
|
79
80
|
const normalized = coerce(field.binding, result === void 0 ? null : result);
|
|
80
81
|
if (!deepEqual(getAt(field.binding), normalized)) setAtSilent(field.binding, normalized);
|
|
81
82
|
},
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge one write row's `next` value into the `current` value at its path.
|
|
3
|
+
*
|
|
4
|
+
* Only deep-merge when both sides are records. Otherwise the new value
|
|
5
|
+
* replaces wholesale — scalars, arrays, null, and mixed-type writes all fall
|
|
6
|
+
* through to a plain replace (`setAt(path, next)` at the call site). Arrays
|
|
7
|
+
* nested inside two merged records replace last-write-wins, per `mergeObjects`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mergeAtPath(current: unknown, next: unknown): unknown;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createDefu } from "defu";
|
|
2
|
+
const mergeObjects = createDefu((obj, key, value) => {
|
|
3
|
+
if (Array.isArray(obj[key]) && Array.isArray(value)) {
|
|
4
|
+
obj[key] = value;
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
function isPlainObject(v) {
|
|
9
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
10
|
+
}
|
|
11
|
+
export function mergeAtPath(current, next) {
|
|
12
|
+
if (isPlainObject(current) && isPlainObject(next)) {
|
|
13
|
+
return mergeObjects({ ...next }, current);
|
|
14
|
+
}
|
|
15
|
+
return next;
|
|
16
|
+
}
|