@shwfed/config 2.3.22 → 2.3.23
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/mcp.mjs +1073 -624
- package/dist/module.json +1 -1
- package/dist/preview/assets/{config-B3mv60t8.js → config-5rB9Rnmf.js} +1 -1
- package/dist/preview/assets/{config-DY7n8WvE.js → config-BLxl7ROb.js} +1 -1
- package/dist/preview/assets/{config-CpvkgqGg.js → config-BWMtPN22.js} +1 -1
- package/dist/preview/assets/{config-DX6QxjI7.js → config-C-EOrL-v.js} +1 -1
- package/dist/preview/assets/{config-Cb9lQXQG.js → config-CJADmi-_.js} +1 -1
- package/dist/preview/assets/{config-D4fS9GYw.js → config-DUNvg-mJ.js} +1 -1
- package/dist/preview/assets/{config-CLjwrQXG.js → config-EtlOM9yx.js} +1 -1
- package/dist/preview/assets/{config-BiFAbTJq.js → config-f66PEpZ5.js} +1 -1
- package/dist/preview/assets/{config-DhwLB2Ee.js → config-pVNUrcvS.js} +1 -1
- package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-Hx2iV358.js → definition.vue_vue_type_script_setup_true_lang-DUu-CoTZ.js} +1 -1
- package/dist/preview/assets/index-B4xolIUJ.js +643 -0
- package/dist/preview/assets/{index-CDhwf1Dw.css → index-CJMxrUKZ.css} +1 -1
- package/dist/preview/assets/index-DFYLO8qf.js +1 -0
- package/dist/preview/assets/{runtime-CShAGyQk.js → runtime-B9GkQToM.js} +1 -1
- package/dist/preview/assets/{runtime-DIcMvC6H.js → runtime-C0v-S40R.js} +1 -1
- package/dist/preview/assets/{runtime-usxovPqT.js → runtime-CFPeFbAB.js} +1 -1
- package/dist/preview/assets/{runtime-ECoXJ0-J.js → runtime-CI38ypkY.js} +1 -1
- package/dist/preview/assets/{runtime-HQv4w652.js → runtime-CUBGWRtC.js} +1 -1
- package/dist/preview/assets/{runtime-Dl0d8KFj.js → runtime-DcqfhaaX.js} +1 -1
- package/dist/preview/assets/{runtime-BXZROm-z.js → runtime-DoLJtHV2.js} +1 -1
- package/dist/preview/assets/{runtime-BarNw942.js → runtime-P99-0gRD.js} +1 -1
- package/dist/preview/assets/{runtime-BazV3vOW.js → runtime-qQ5mJdRv.js} +1 -1
- package/dist/preview/index.html +2 -2
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +99 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue +329 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +99 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.vue +265 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +79 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.js +71 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +133 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue +533 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +133 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue +247 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +124 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.js +94 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +109 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue +426 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +109 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.vue +356 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +85 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.js +147 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +137 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue +586 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +137 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.vue +287 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +126 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.js +125 -0
- package/package.json +1 -1
- package/dist/preview/assets/index-B2gp2q3H.js +0 -643
- package/dist/preview/assets/index-Jytc_ICm.js +0 -1
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import { Icon } from "@iconify/vue";
|
|
4
|
+
import { ExpressionEditor } from "../../../../ui/expression-editor";
|
|
5
|
+
import { Switch } from "../../../../ui/switch";
|
|
6
|
+
import { Separator } from "../../../../ui/separator";
|
|
7
|
+
import { Field, FieldLabel } from "../../../../ui/field";
|
|
8
|
+
import { Locale } from "../../../../ui/locale";
|
|
9
|
+
import {
|
|
10
|
+
InputGroup,
|
|
11
|
+
InputGroupAddon,
|
|
12
|
+
InputGroupButton,
|
|
13
|
+
InputGroupNumberField
|
|
14
|
+
} from "../../../../ui/input-group";
|
|
15
|
+
import { getStructFieldDescription, getStructFieldTitle } from "../../../utils/schema-meta";
|
|
16
|
+
import { Markdown } from "../../../../ui/markdown";
|
|
17
|
+
import TriggersField from "../../../../actions/components/triggers-field.vue";
|
|
18
|
+
import { schema } from "./schema";
|
|
19
|
+
defineOptions({ name: "ShwfedTableComboboxMultiRemoteOptionsRemoteConfig" });
|
|
20
|
+
const value = defineModel({ type: null, ...{ required: true } });
|
|
21
|
+
const fieldSchema = schema(() => {
|
|
22
|
+
});
|
|
23
|
+
const fieldTitle = (field) => getStructFieldTitle(fieldSchema, field) ?? field;
|
|
24
|
+
const fieldDescription = (field) => getStructFieldDescription(fieldSchema, field);
|
|
25
|
+
const ROW_VARS = {
|
|
26
|
+
row: { type: "dyn", label: "\u5F53\u524D\u884C\u6570\u636E" },
|
|
27
|
+
index: { type: "number", label: "\u884C\u7D22\u5F15" }
|
|
28
|
+
};
|
|
29
|
+
const ROW_JSON_VARS = {
|
|
30
|
+
...ROW_VARS,
|
|
31
|
+
json: { type: "dyn", label: "HTTP \u54CD\u5E94\u4F53\uFF08\u5DF2\u89E3\u6790 JSON\uFF09" }
|
|
32
|
+
};
|
|
33
|
+
const ROW_OPTION_VARS = {
|
|
34
|
+
...ROW_VARS,
|
|
35
|
+
option: { type: "dyn", label: "\u5F53\u524D\u9009\u9879" }
|
|
36
|
+
};
|
|
37
|
+
const ROW_VALUE_VARS = {
|
|
38
|
+
...ROW_VARS,
|
|
39
|
+
value: { type: "dyn", label: "\u7528\u6237\u5F53\u524D\u9009\u4E2D\u9879 `value` \u7EC4\u6210\u7684\u6570\u7EC4\uFF08\u6E05\u7A7A\u65F6\u4E3A\u7A7A\u6570\u7EC4\uFF09" }
|
|
40
|
+
};
|
|
41
|
+
const JSON_VARS = {
|
|
42
|
+
json: { type: "dyn", label: "HTTP \u54CD\u5E94\u4F53" }
|
|
43
|
+
};
|
|
44
|
+
function celModel(field) {
|
|
45
|
+
return computed({
|
|
46
|
+
get: () => value.value[field] ?? "",
|
|
47
|
+
set: (v) => {
|
|
48
|
+
if (v === "") {
|
|
49
|
+
const { [field]: _omit, ...rest } = value.value;
|
|
50
|
+
value.value = rest;
|
|
51
|
+
} else {
|
|
52
|
+
value.value = { ...value.value, [field]: v };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const hiddenModel = celModel("hidden");
|
|
58
|
+
const disabledModel = celModel("disabled");
|
|
59
|
+
const readonlyModel = celModel("readonly");
|
|
60
|
+
const onChangeModel = celModel("onChange");
|
|
61
|
+
const successMessageModel = celModel("successMessage");
|
|
62
|
+
const triggers = computed(() => value.value.triggers ?? []);
|
|
63
|
+
function updateTriggers(next) {
|
|
64
|
+
if (next.length === 0) {
|
|
65
|
+
const { triggers: _omit, ...rest } = value.value;
|
|
66
|
+
value.value = rest;
|
|
67
|
+
} else {
|
|
68
|
+
value.value = { ...value.value, triggers: [...next] };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
</script>
|
|
72
|
+
|
|
73
|
+
<template>
|
|
74
|
+
<div class="space-y-5">
|
|
75
|
+
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
76
|
+
<Field orientation="vertical">
|
|
77
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
78
|
+
<template
|
|
79
|
+
v-if="fieldDescription('title')"
|
|
80
|
+
#tooltip
|
|
81
|
+
>
|
|
82
|
+
<Markdown
|
|
83
|
+
:source="fieldDescription('title')"
|
|
84
|
+
block
|
|
85
|
+
class="prose prose-sm prose-zinc"
|
|
86
|
+
/>
|
|
87
|
+
</template>
|
|
88
|
+
{{ fieldTitle("title") }}
|
|
89
|
+
</FieldLabel>
|
|
90
|
+
<Locale v-model="value.title" />
|
|
91
|
+
</Field>
|
|
92
|
+
<Field orientation="vertical">
|
|
93
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
94
|
+
<template
|
|
95
|
+
v-if="fieldDescription('tooltip')"
|
|
96
|
+
#tooltip
|
|
97
|
+
>
|
|
98
|
+
<Markdown
|
|
99
|
+
:source="fieldDescription('tooltip')"
|
|
100
|
+
block
|
|
101
|
+
class="prose prose-sm prose-zinc"
|
|
102
|
+
/>
|
|
103
|
+
</template>
|
|
104
|
+
{{ fieldTitle("tooltip") }}
|
|
105
|
+
</FieldLabel>
|
|
106
|
+
<Locale
|
|
107
|
+
v-model="value.tooltip"
|
|
108
|
+
markdown
|
|
109
|
+
/>
|
|
110
|
+
</Field>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
113
|
+
<Field orientation="vertical">
|
|
114
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
115
|
+
<template
|
|
116
|
+
v-if="fieldDescription('accessor')"
|
|
117
|
+
#tooltip
|
|
118
|
+
>
|
|
119
|
+
<Markdown
|
|
120
|
+
:source="fieldDescription('accessor')"
|
|
121
|
+
block
|
|
122
|
+
class="prose prose-sm prose-zinc"
|
|
123
|
+
/>
|
|
124
|
+
</template>
|
|
125
|
+
{{ fieldTitle("accessor") }}
|
|
126
|
+
</FieldLabel>
|
|
127
|
+
<ExpressionEditor
|
|
128
|
+
v-model="value.accessor"
|
|
129
|
+
placeholder="如 row.roles"
|
|
130
|
+
result-type="dyn"
|
|
131
|
+
:extra-vars="ROW_VARS"
|
|
132
|
+
/>
|
|
133
|
+
</Field>
|
|
134
|
+
<Field orientation="vertical">
|
|
135
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
136
|
+
<template
|
|
137
|
+
v-if="fieldDescription('placeholder')"
|
|
138
|
+
#tooltip
|
|
139
|
+
>
|
|
140
|
+
<Markdown
|
|
141
|
+
:source="fieldDescription('placeholder')"
|
|
142
|
+
block
|
|
143
|
+
class="prose prose-sm prose-zinc"
|
|
144
|
+
/>
|
|
145
|
+
</template>
|
|
146
|
+
{{ fieldTitle("placeholder") }}
|
|
147
|
+
</FieldLabel>
|
|
148
|
+
<Locale v-model="value.placeholder" />
|
|
149
|
+
</Field>
|
|
150
|
+
<Field orientation="vertical">
|
|
151
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
152
|
+
<template
|
|
153
|
+
v-if="fieldDescription('size')"
|
|
154
|
+
#tooltip
|
|
155
|
+
>
|
|
156
|
+
<Markdown
|
|
157
|
+
:source="fieldDescription('size')"
|
|
158
|
+
block
|
|
159
|
+
class="prose prose-sm prose-zinc"
|
|
160
|
+
/>
|
|
161
|
+
</template>
|
|
162
|
+
{{ fieldTitle("size") }}
|
|
163
|
+
</FieldLabel>
|
|
164
|
+
<InputGroup>
|
|
165
|
+
<InputGroupNumberField
|
|
166
|
+
:model-value="value.size"
|
|
167
|
+
:disabled="value.grow"
|
|
168
|
+
:min="0"
|
|
169
|
+
@update:model-value="(v) => value = { ...value, size: v }"
|
|
170
|
+
/>
|
|
171
|
+
<InputGroupAddon align="inline-end">
|
|
172
|
+
<InputGroupButton
|
|
173
|
+
:variant="value.grow ? 'primary' : 'ghost'"
|
|
174
|
+
size="xs"
|
|
175
|
+
@click="value = { ...value, grow: !value.grow }"
|
|
176
|
+
>
|
|
177
|
+
<Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
|
|
178
|
+
{{ fieldTitle("grow") }}
|
|
179
|
+
</InputGroupButton>
|
|
180
|
+
</InputGroupAddon>
|
|
181
|
+
</InputGroup>
|
|
182
|
+
</Field>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
186
|
+
<Field orientation="vertical">
|
|
187
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
188
|
+
<template
|
|
189
|
+
v-if="fieldDescription('request')"
|
|
190
|
+
#tooltip
|
|
191
|
+
>
|
|
192
|
+
<Markdown
|
|
193
|
+
:source="fieldDescription('request')"
|
|
194
|
+
block
|
|
195
|
+
class="prose prose-sm prose-zinc"
|
|
196
|
+
/>
|
|
197
|
+
</template>
|
|
198
|
+
{{ fieldTitle("request") }}
|
|
199
|
+
</FieldLabel>
|
|
200
|
+
<ExpressionEditor
|
|
201
|
+
v-model="value.request"
|
|
202
|
+
placeholder="如 http.get('/api/roles')"
|
|
203
|
+
result-type="HttpRequest"
|
|
204
|
+
:extra-vars="ROW_VARS"
|
|
205
|
+
multiline
|
|
206
|
+
/>
|
|
207
|
+
</Field>
|
|
208
|
+
<Field orientation="vertical">
|
|
209
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
210
|
+
<template
|
|
211
|
+
v-if="fieldDescription('options')"
|
|
212
|
+
#tooltip
|
|
213
|
+
>
|
|
214
|
+
<Markdown
|
|
215
|
+
:source="fieldDescription('options')"
|
|
216
|
+
block
|
|
217
|
+
class="prose prose-sm prose-zinc"
|
|
218
|
+
/>
|
|
219
|
+
</template>
|
|
220
|
+
{{ fieldTitle("options") }}
|
|
221
|
+
</FieldLabel>
|
|
222
|
+
<ExpressionEditor
|
|
223
|
+
v-model="value.options"
|
|
224
|
+
placeholder="如 json.data"
|
|
225
|
+
result-type="dyn"
|
|
226
|
+
:extra-vars="ROW_JSON_VARS"
|
|
227
|
+
multiline
|
|
228
|
+
/>
|
|
229
|
+
</Field>
|
|
230
|
+
<Field orientation="vertical">
|
|
231
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
232
|
+
<template
|
|
233
|
+
v-if="fieldDescription('optionValue')"
|
|
234
|
+
#tooltip
|
|
235
|
+
>
|
|
236
|
+
<Markdown
|
|
237
|
+
:source="fieldDescription('optionValue')"
|
|
238
|
+
block
|
|
239
|
+
class="prose prose-sm prose-zinc"
|
|
240
|
+
/>
|
|
241
|
+
</template>
|
|
242
|
+
{{ fieldTitle("optionValue") }}
|
|
243
|
+
</FieldLabel>
|
|
244
|
+
<ExpressionEditor
|
|
245
|
+
v-model="value.optionValue"
|
|
246
|
+
placeholder="如 option.id"
|
|
247
|
+
result-type="dyn"
|
|
248
|
+
:extra-vars="ROW_OPTION_VARS"
|
|
249
|
+
/>
|
|
250
|
+
</Field>
|
|
251
|
+
<Field orientation="vertical">
|
|
252
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
253
|
+
<template
|
|
254
|
+
v-if="fieldDescription('optionLabel')"
|
|
255
|
+
#tooltip
|
|
256
|
+
>
|
|
257
|
+
<Markdown
|
|
258
|
+
:source="fieldDescription('optionLabel')"
|
|
259
|
+
block
|
|
260
|
+
class="prose prose-sm prose-zinc"
|
|
261
|
+
/>
|
|
262
|
+
</template>
|
|
263
|
+
{{ fieldTitle("optionLabel") }}
|
|
264
|
+
</FieldLabel>
|
|
265
|
+
<Locale
|
|
266
|
+
v-model="value.optionLabel"
|
|
267
|
+
markdown
|
|
268
|
+
translate-hint="combobox option label"
|
|
269
|
+
/>
|
|
270
|
+
</Field>
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
274
|
+
<Field orientation="vertical">
|
|
275
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
276
|
+
<template
|
|
277
|
+
v-if="fieldDescription('hidden')"
|
|
278
|
+
#tooltip
|
|
279
|
+
>
|
|
280
|
+
<Markdown
|
|
281
|
+
:source="fieldDescription('hidden')"
|
|
282
|
+
block
|
|
283
|
+
class="prose prose-sm prose-zinc"
|
|
284
|
+
/>
|
|
285
|
+
</template>
|
|
286
|
+
{{ fieldTitle("hidden") }}
|
|
287
|
+
</FieldLabel>
|
|
288
|
+
<ExpressionEditor
|
|
289
|
+
v-model="hiddenModel"
|
|
290
|
+
placeholder="例:row.archived"
|
|
291
|
+
result-type="bool"
|
|
292
|
+
:extra-vars="ROW_VARS"
|
|
293
|
+
/>
|
|
294
|
+
</Field>
|
|
295
|
+
<Field orientation="vertical">
|
|
296
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
297
|
+
<template
|
|
298
|
+
v-if="fieldDescription('disabled')"
|
|
299
|
+
#tooltip
|
|
300
|
+
>
|
|
301
|
+
<Markdown
|
|
302
|
+
:source="fieldDescription('disabled')"
|
|
303
|
+
block
|
|
304
|
+
class="prose prose-sm prose-zinc"
|
|
305
|
+
/>
|
|
306
|
+
</template>
|
|
307
|
+
{{ fieldTitle("disabled") }}
|
|
308
|
+
</FieldLabel>
|
|
309
|
+
<ExpressionEditor
|
|
310
|
+
v-model="disabledModel"
|
|
311
|
+
placeholder="例:row.locked"
|
|
312
|
+
result-type="bool"
|
|
313
|
+
:extra-vars="ROW_VARS"
|
|
314
|
+
/>
|
|
315
|
+
</Field>
|
|
316
|
+
<Field orientation="vertical">
|
|
317
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
318
|
+
<template
|
|
319
|
+
v-if="fieldDescription('readonly')"
|
|
320
|
+
#tooltip
|
|
321
|
+
>
|
|
322
|
+
<Markdown
|
|
323
|
+
:source="fieldDescription('readonly')"
|
|
324
|
+
block
|
|
325
|
+
class="prose prose-sm prose-zinc"
|
|
326
|
+
/>
|
|
327
|
+
</template>
|
|
328
|
+
{{ fieldTitle("readonly") }}
|
|
329
|
+
</FieldLabel>
|
|
330
|
+
<ExpressionEditor
|
|
331
|
+
v-model="readonlyModel"
|
|
332
|
+
placeholder="例:row.id == null"
|
|
333
|
+
result-type="bool"
|
|
334
|
+
:extra-vars="ROW_VARS"
|
|
335
|
+
/>
|
|
336
|
+
</Field>
|
|
337
|
+
<Field orientation="vertical">
|
|
338
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
339
|
+
<template
|
|
340
|
+
v-if="fieldDescription('onChange')"
|
|
341
|
+
#tooltip
|
|
342
|
+
>
|
|
343
|
+
<Markdown
|
|
344
|
+
:source="fieldDescription('onChange')"
|
|
345
|
+
block
|
|
346
|
+
class="prose prose-sm prose-zinc"
|
|
347
|
+
/>
|
|
348
|
+
</template>
|
|
349
|
+
{{ fieldTitle("onChange") }}
|
|
350
|
+
</FieldLabel>
|
|
351
|
+
<ExpressionEditor
|
|
352
|
+
v-model="onChangeModel"
|
|
353
|
+
placeholder="如 http.patch('/api/items/' + row.id).body({ roles: value })"
|
|
354
|
+
result-type="HttpRequest"
|
|
355
|
+
:extra-vars="ROW_VALUE_VARS"
|
|
356
|
+
multiline
|
|
357
|
+
/>
|
|
358
|
+
</Field>
|
|
359
|
+
<Field orientation="vertical">
|
|
360
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
361
|
+
<template
|
|
362
|
+
v-if="fieldDescription('successMessage')"
|
|
363
|
+
#tooltip
|
|
364
|
+
>
|
|
365
|
+
<Markdown
|
|
366
|
+
:source="fieldDescription('successMessage')"
|
|
367
|
+
block
|
|
368
|
+
class="prose prose-sm prose-zinc"
|
|
369
|
+
/>
|
|
370
|
+
</template>
|
|
371
|
+
{{ fieldTitle("successMessage") }}
|
|
372
|
+
</FieldLabel>
|
|
373
|
+
<ExpressionEditor
|
|
374
|
+
v-model="successMessageModel"
|
|
375
|
+
placeholder="如 '已更新'"
|
|
376
|
+
result-type="string"
|
|
377
|
+
:extra-vars="JSON_VARS"
|
|
378
|
+
/>
|
|
379
|
+
</Field>
|
|
380
|
+
<Field orientation="vertical">
|
|
381
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
382
|
+
<template
|
|
383
|
+
v-if="fieldDescription('triggers')"
|
|
384
|
+
#tooltip
|
|
385
|
+
>
|
|
386
|
+
<Markdown
|
|
387
|
+
:source="fieldDescription('triggers')"
|
|
388
|
+
block
|
|
389
|
+
class="prose prose-sm prose-zinc"
|
|
390
|
+
/>
|
|
391
|
+
</template>
|
|
392
|
+
{{ fieldTitle("triggers") }}
|
|
393
|
+
</FieldLabel>
|
|
394
|
+
<TriggersField
|
|
395
|
+
:triggers="triggers"
|
|
396
|
+
@update:triggers="updateTriggers"
|
|
397
|
+
/>
|
|
398
|
+
</Field>
|
|
399
|
+
</div>
|
|
400
|
+
<Separator />
|
|
401
|
+
<div class="flex flex-wrap gap-x-8 gap-y-3">
|
|
402
|
+
<Field
|
|
403
|
+
orientation="horizontal"
|
|
404
|
+
class="w-auto gap-2"
|
|
405
|
+
>
|
|
406
|
+
<Switch
|
|
407
|
+
:model-value="value.enableSorting ?? false"
|
|
408
|
+
@update:model-value="(v) => value = { ...value, enableSorting: v }"
|
|
409
|
+
/>
|
|
410
|
+
<FieldLabel class="text-sm text-zinc-600">
|
|
411
|
+
<template
|
|
412
|
+
v-if="fieldDescription('enableSorting')"
|
|
413
|
+
#tooltip
|
|
414
|
+
>
|
|
415
|
+
<Markdown
|
|
416
|
+
:source="fieldDescription('enableSorting')"
|
|
417
|
+
block
|
|
418
|
+
class="prose prose-sm prose-zinc"
|
|
419
|
+
/>
|
|
420
|
+
</template>
|
|
421
|
+
{{ fieldTitle("enableSorting") }}
|
|
422
|
+
</FieldLabel>
|
|
423
|
+
</Field>
|
|
424
|
+
</div>
|
|
425
|
+
</div>
|
|
426
|
+
</template>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { type Value } from './schema.js';
|
|
2
|
+
type __VLS_ModelProps = {
|
|
3
|
+
modelValue: Value;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
"update:modelValue": (value: {
|
|
7
|
+
readonly size?: number | undefined;
|
|
8
|
+
readonly onChange?: string | undefined;
|
|
9
|
+
readonly disabled?: string | undefined;
|
|
10
|
+
readonly type: "com.shwfed.table.column.combobox-multi.remote.options-remote";
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly title: readonly [{
|
|
13
|
+
readonly locale: "zh";
|
|
14
|
+
readonly message: string;
|
|
15
|
+
}, ...{
|
|
16
|
+
readonly locale: "en" | "ja" | "ko";
|
|
17
|
+
readonly message: string;
|
|
18
|
+
}[]];
|
|
19
|
+
readonly hidden?: string | undefined;
|
|
20
|
+
readonly tooltip?: readonly [{
|
|
21
|
+
readonly locale: "zh";
|
|
22
|
+
readonly message: string;
|
|
23
|
+
}, ...{
|
|
24
|
+
readonly locale: "en" | "ja" | "ko";
|
|
25
|
+
readonly message: string;
|
|
26
|
+
}[]] | undefined;
|
|
27
|
+
readonly compatibilityDate: "2026-05-25";
|
|
28
|
+
readonly triggers?: readonly {
|
|
29
|
+
readonly target: string;
|
|
30
|
+
readonly operation: string;
|
|
31
|
+
}[] | undefined;
|
|
32
|
+
readonly groupId?: string | undefined;
|
|
33
|
+
readonly placeholder?: readonly [{
|
|
34
|
+
readonly locale: "zh";
|
|
35
|
+
readonly message: string;
|
|
36
|
+
}, ...{
|
|
37
|
+
readonly locale: "en" | "ja" | "ko";
|
|
38
|
+
readonly message: string;
|
|
39
|
+
}[]] | undefined;
|
|
40
|
+
readonly readonly?: string | undefined;
|
|
41
|
+
readonly request: string;
|
|
42
|
+
readonly grow?: boolean | undefined;
|
|
43
|
+
readonly accessor: string;
|
|
44
|
+
readonly enableSorting?: boolean | undefined;
|
|
45
|
+
readonly options: string;
|
|
46
|
+
readonly optionValue: string;
|
|
47
|
+
readonly optionLabel: readonly [{
|
|
48
|
+
readonly locale: "zh";
|
|
49
|
+
readonly message: string;
|
|
50
|
+
}, ...{
|
|
51
|
+
readonly locale: "en" | "ja" | "ko";
|
|
52
|
+
readonly message: string;
|
|
53
|
+
}[]];
|
|
54
|
+
readonly successMessage?: string | undefined;
|
|
55
|
+
}) => any;
|
|
56
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
57
|
+
"onUpdate:modelValue"?: ((value: {
|
|
58
|
+
readonly size?: number | undefined;
|
|
59
|
+
readonly onChange?: string | undefined;
|
|
60
|
+
readonly disabled?: string | undefined;
|
|
61
|
+
readonly type: "com.shwfed.table.column.combobox-multi.remote.options-remote";
|
|
62
|
+
readonly id: string;
|
|
63
|
+
readonly title: readonly [{
|
|
64
|
+
readonly locale: "zh";
|
|
65
|
+
readonly message: string;
|
|
66
|
+
}, ...{
|
|
67
|
+
readonly locale: "en" | "ja" | "ko";
|
|
68
|
+
readonly message: string;
|
|
69
|
+
}[]];
|
|
70
|
+
readonly hidden?: string | undefined;
|
|
71
|
+
readonly tooltip?: readonly [{
|
|
72
|
+
readonly locale: "zh";
|
|
73
|
+
readonly message: string;
|
|
74
|
+
}, ...{
|
|
75
|
+
readonly locale: "en" | "ja" | "ko";
|
|
76
|
+
readonly message: string;
|
|
77
|
+
}[]] | undefined;
|
|
78
|
+
readonly compatibilityDate: "2026-05-25";
|
|
79
|
+
readonly triggers?: readonly {
|
|
80
|
+
readonly target: string;
|
|
81
|
+
readonly operation: string;
|
|
82
|
+
}[] | undefined;
|
|
83
|
+
readonly groupId?: string | undefined;
|
|
84
|
+
readonly placeholder?: readonly [{
|
|
85
|
+
readonly locale: "zh";
|
|
86
|
+
readonly message: string;
|
|
87
|
+
}, ...{
|
|
88
|
+
readonly locale: "en" | "ja" | "ko";
|
|
89
|
+
readonly message: string;
|
|
90
|
+
}[]] | undefined;
|
|
91
|
+
readonly readonly?: string | undefined;
|
|
92
|
+
readonly request: string;
|
|
93
|
+
readonly grow?: boolean | undefined;
|
|
94
|
+
readonly accessor: string;
|
|
95
|
+
readonly enableSorting?: boolean | undefined;
|
|
96
|
+
readonly options: string;
|
|
97
|
+
readonly optionValue: string;
|
|
98
|
+
readonly optionLabel: readonly [{
|
|
99
|
+
readonly locale: "zh";
|
|
100
|
+
readonly message: string;
|
|
101
|
+
}, ...{
|
|
102
|
+
readonly locale: "en" | "ja" | "ko";
|
|
103
|
+
readonly message: string;
|
|
104
|
+
}[]];
|
|
105
|
+
readonly successMessage?: string | undefined;
|
|
106
|
+
}) => any) | undefined;
|
|
107
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
108
|
+
declare const _default: typeof __VLS_export;
|
|
109
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CellContext } from '@tanstack/vue-table';
|
|
2
|
+
import type { Value } from './schema.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
column: Value;
|
|
5
|
+
ctx: CellContext<unknown, unknown>;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|