@shwfed/config 2.10.12 → 2.11.0
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 +46 -49
- package/dist/module.json +1 -1
- package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-BeqytPDr.js → FieldGroup.vue_vue_type_script_setup_true_lang-UfhMyymD.js} +1 -1
- package/dist/preview/assets/{badge-DkHwLDps.js → badge-CJ9IQ3Jx.js} +1 -1
- package/dist/preview/assets/{config-Cft-srKd.js → config--Vx4fL61.js} +1 -1
- package/dist/preview/assets/{config-DJQ2LOWo.js → config-5PPug5mk.js} +1 -1
- package/dist/preview/assets/{config-Dx1SXsSf.js → config-7V1qHjUk.js} +1 -1
- package/dist/preview/assets/{config-Cedm-E2H.js → config-BYktCefJ.js} +1 -1
- package/dist/preview/assets/{config-DAZ2Uj6B.js → config-BeRYF_cz.js} +1 -1
- package/dist/preview/assets/{config-DCANpbtq.js → config-BldsYfGM.js} +1 -1
- package/dist/preview/assets/{config-Uw4cvZGX.js → config-CQrDCzYN.js} +1 -1
- package/dist/preview/assets/{config-7KeAl8UU.js → config-C_g-FYCR.js} +1 -1
- package/dist/preview/assets/{config-CZ1e9utV.js → config-DIsAIc7H.js} +1 -1
- package/dist/preview/assets/{config-OPQWANCx.js → config-DPX7vGqV.js} +1 -1
- package/dist/preview/assets/{config-DQVKd54J.js → config-DpLMetys.js} +1 -1
- package/dist/preview/assets/{config-CVPVYMuh.js → config-IMd4FZi8.js} +1 -1
- package/dist/preview/assets/{config-Cy6Eix27.js → config-N-FdgfwK.js} +1 -1
- package/dist/preview/assets/{config-DbV3RlZz.js → config-uUF-UHPt.js} +1 -1
- package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-D4Gh9PzS.js → definition.vue_vue_type_script_setup_true_lang-B_PKfe3G.js} +1 -1
- package/dist/preview/assets/index-8Ph-sFDI.css +1 -0
- package/dist/preview/assets/index-BCl1NN6k.js +763 -0
- package/dist/preview/assets/index-Core7vRW.js +1 -0
- package/dist/preview/assets/{index-Cum0oK9u.js → index-DKWp47QP.js} +1 -1
- package/dist/preview/assets/{item-H4QeOpnC.js → item-XsW7swFt.js} +1 -1
- package/dist/preview/assets/{runtime-CTnwTJlw.js → runtime-B-ABO0r0.js} +1 -1
- package/dist/preview/assets/{runtime-C3532B0Y.js → runtime-BeHohaOZ.js} +1 -1
- package/dist/preview/assets/{runtime-CNMjRr9Y.js → runtime-BiFFwOIl.js} +1 -1
- package/dist/preview/assets/{runtime-ibuFFD1K.js → runtime-ByArW-jJ.js} +1 -1
- package/dist/preview/assets/{runtime-DvCHNIPq.js → runtime-CpVTGNFZ.js} +1 -1
- package/dist/preview/assets/{runtime-sPGVp7yA.js → runtime-DQ1TnQ7n.js} +1 -1
- package/dist/preview/assets/{runtime-CwgX0PuH.js → runtime-DY7hr7v1.js} +1 -1
- package/dist/preview/assets/{runtime-BotFX6qJ.js → runtime-Dn172S7t.js} +1 -1
- package/dist/preview/assets/{runtime-D5HcLLLR.js → runtime-JxBzvGnw.js} +1 -1
- package/dist/preview/assets/{runtime-cKOD2A6u.js → runtime-bq0hmEXY.js} +1 -1
- package/dist/preview/assets/{schema-meta-DtZNwp3h.js → schema-meta-CZ9yXnsa.js} +1 -1
- package/dist/preview/index.html +2 -2
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +23 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/config.vue +30 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/config.vue +30 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.js +7 -4
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/config.vue +30 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/config.vue +30 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/config.vue +30 -0
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +2 -1
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.js +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +60 -32
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/runtime.vue +7 -9
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +2 -5
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +67 -32
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/runtime.vue +6 -9
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +2 -5
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +66 -31
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/runtime.vue +7 -9
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +2 -5
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.d.ts +1 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +61 -22
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue +6 -9
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.js +3 -4
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +61 -22
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue +6 -9
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.js +3 -4
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +67 -23
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +6 -9
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +2 -4
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +67 -23
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +4 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +6 -9
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +2 -4
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +67 -32
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.vue +7 -9
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +2 -5
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/config.vue +66 -31
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/runtime.vue +5 -8
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +4 -1
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +2 -5
- package/dist/runtime/components/table/index.vue +46 -7
- package/dist/runtime/components/table/utils/runtime.d.ts +1 -0
- package/dist/runtime/components/table/utils/runtime.js +5 -0
- package/dist/runtime/components/table/utils/shared.d.ts +3 -1
- package/dist/runtime/components/table/utils/shared.js +17 -5
- package/package.json +1 -1
- package/dist/preview/assets/index-B3HnlKis.js +0 -763
- package/dist/preview/assets/index-BAY6NLoo.css +0 -1
- package/dist/preview/assets/index-CxUuhfsO.js +0 -1
|
@@ -10,6 +10,12 @@ import {
|
|
|
10
10
|
InputGroupInput,
|
|
11
11
|
InputGroupNumberField
|
|
12
12
|
} from "../../../../ui/input-group";
|
|
13
|
+
import {
|
|
14
|
+
DropdownMenu,
|
|
15
|
+
DropdownMenuContent,
|
|
16
|
+
DropdownMenuItem,
|
|
17
|
+
DropdownMenuTrigger
|
|
18
|
+
} from "../../../../ui/dropdown-menu";
|
|
13
19
|
import { Locale as LocaleField } from "../../../../ui/locale";
|
|
14
20
|
import { Markdown } from "../../../../ui/markdown";
|
|
15
21
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../../../ui/select";
|
|
@@ -29,6 +35,14 @@ const dataSourceSchema = DataSource(() => {
|
|
|
29
35
|
});
|
|
30
36
|
const dataSourceFieldTitle = (f) => getStructFieldTitle(dataSourceSchema, f) ?? f;
|
|
31
37
|
const dataSourceFieldDescription = (f) => getStructFieldDescription(dataSourceSchema, f);
|
|
38
|
+
const ALIGN_OPTIONS = [
|
|
39
|
+
{ value: "left", label: "\u5DE6\u5BF9\u9F50", icon: "fluent:text-align-left-20-regular" },
|
|
40
|
+
{ value: "center", label: "\u5C45\u4E2D", icon: "fluent:text-align-center-20-regular" },
|
|
41
|
+
{ value: "right", label: "\u53F3\u5BF9\u9F50", icon: "fluent:text-align-right-20-regular" }
|
|
42
|
+
];
|
|
43
|
+
const currentAlignIcon = computed(
|
|
44
|
+
() => (ALIGN_OPTIONS.find((o) => o.value === (value.value.align ?? "left")) ?? ALIGN_OPTIONS[0]).icon
|
|
45
|
+
);
|
|
32
46
|
const ROW_VARS = {
|
|
33
47
|
row: { type: "dyn", label: "\u5F53\u524D\u884C\u6570\u636E" },
|
|
34
48
|
index: { type: "number", label: "\u884C\u7D22\u5F15" }
|
|
@@ -112,6 +126,14 @@ function setDataSourceRequest(next) {
|
|
|
112
126
|
};
|
|
113
127
|
}
|
|
114
128
|
}
|
|
129
|
+
function onHiddenChange(v) {
|
|
130
|
+
if (v) {
|
|
131
|
+
value.value = { ...value.value, hidden: true };
|
|
132
|
+
} else {
|
|
133
|
+
const { hidden: _drop, ...rest } = value.value;
|
|
134
|
+
value.value = rest;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
115
137
|
const derivedModel = computed({
|
|
116
138
|
get: () => value.value.derived,
|
|
117
139
|
set: (v) => {
|
|
@@ -219,6 +241,29 @@ const derivedModel = computed({
|
|
|
219
241
|
{{ fieldTitle("size") }}
|
|
220
242
|
</FieldLabel>
|
|
221
243
|
<InputGroup>
|
|
244
|
+
<InputGroupAddon align="inline-start">
|
|
245
|
+
<DropdownMenu>
|
|
246
|
+
<DropdownMenuTrigger as-child>
|
|
247
|
+
<InputGroupButton
|
|
248
|
+
variant="ghost"
|
|
249
|
+
size="xs"
|
|
250
|
+
:title="fieldTitle('align')"
|
|
251
|
+
>
|
|
252
|
+
<Icon :icon="currentAlignIcon" />
|
|
253
|
+
</InputGroupButton>
|
|
254
|
+
</DropdownMenuTrigger>
|
|
255
|
+
<DropdownMenuContent align="start">
|
|
256
|
+
<DropdownMenuItem
|
|
257
|
+
v-for="opt in ALIGN_OPTIONS"
|
|
258
|
+
:key="opt.value"
|
|
259
|
+
@select="value = { ...value, align: opt.value }"
|
|
260
|
+
>
|
|
261
|
+
<Icon :icon="opt.icon" />
|
|
262
|
+
{{ opt.label }}
|
|
263
|
+
</DropdownMenuItem>
|
|
264
|
+
</DropdownMenuContent>
|
|
265
|
+
</DropdownMenu>
|
|
266
|
+
</InputGroupAddon>
|
|
222
267
|
<InputGroupNumberField
|
|
223
268
|
:model-value="value.size"
|
|
224
269
|
:disabled="value.grow"
|
|
@@ -511,30 +556,8 @@ const derivedModel = computed({
|
|
|
511
556
|
</Field>
|
|
512
557
|
</div>
|
|
513
558
|
|
|
514
|
-
<!-- 通用:
|
|
559
|
+
<!-- 通用: 禁用 / 只读 + 派生值 -->
|
|
515
560
|
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
516
|
-
<Field orientation="vertical">
|
|
517
|
-
<FieldLabel class="text-xs text-zinc-500">
|
|
518
|
-
<template
|
|
519
|
-
v-if="fieldDescription('hidden')"
|
|
520
|
-
#tooltip
|
|
521
|
-
>
|
|
522
|
-
<Markdown
|
|
523
|
-
:source="fieldDescription('hidden')"
|
|
524
|
-
block
|
|
525
|
-
class="prose prose-sm prose-zinc"
|
|
526
|
-
/>
|
|
527
|
-
</template>
|
|
528
|
-
{{ fieldTitle("hidden") }}
|
|
529
|
-
</FieldLabel>
|
|
530
|
-
<ExpressionEditor
|
|
531
|
-
:model-value="value.hidden ?? ''"
|
|
532
|
-
placeholder="例:row.archived"
|
|
533
|
-
result-type="bool"
|
|
534
|
-
:extra-vars="ROW_VARS"
|
|
535
|
-
@update:model-value="(v) => setOptionalExpression('hidden', v)"
|
|
536
|
-
/>
|
|
537
|
-
</Field>
|
|
538
561
|
<Field orientation="vertical">
|
|
539
562
|
<FieldLabel class="text-xs text-zinc-500">
|
|
540
563
|
<template
|
|
@@ -641,6 +664,27 @@ const derivedModel = computed({
|
|
|
641
664
|
</InputGroupAddon>
|
|
642
665
|
</InputGroup>
|
|
643
666
|
</Field>
|
|
667
|
+
<Field orientation="vertical">
|
|
668
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
669
|
+
<template
|
|
670
|
+
v-if="fieldDescription('hidden')"
|
|
671
|
+
#tooltip
|
|
672
|
+
>
|
|
673
|
+
<Markdown
|
|
674
|
+
:source="fieldDescription('hidden')"
|
|
675
|
+
block
|
|
676
|
+
class="prose prose-sm prose-zinc"
|
|
677
|
+
/>
|
|
678
|
+
</template>
|
|
679
|
+
{{ fieldTitle("hidden") }}
|
|
680
|
+
</FieldLabel>
|
|
681
|
+
<div>
|
|
682
|
+
<Switch
|
|
683
|
+
:model-value="value.hidden ?? false"
|
|
684
|
+
@update:model-value="onHiddenChange"
|
|
685
|
+
/>
|
|
686
|
+
</div>
|
|
687
|
+
</Field>
|
|
644
688
|
</div>
|
|
645
689
|
</div>
|
|
646
690
|
</template>
|
|
@@ -15,7 +15,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
15
15
|
readonly locale: "en" | "ja" | "ko";
|
|
16
16
|
readonly message: string;
|
|
17
17
|
}[]];
|
|
18
|
-
readonly hidden?:
|
|
18
|
+
readonly hidden?: boolean | undefined;
|
|
19
19
|
readonly tooltip?: readonly [{
|
|
20
20
|
readonly locale: "zh";
|
|
21
21
|
readonly message: string;
|
|
@@ -23,6 +23,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
23
23
|
readonly locale: "en" | "ja" | "ko";
|
|
24
24
|
readonly message: string;
|
|
25
25
|
}[]] | undefined;
|
|
26
|
+
readonly align: "center" | "left" | "right";
|
|
26
27
|
readonly compatibilityDate: "2026-06-14";
|
|
27
28
|
readonly grow?: boolean | undefined;
|
|
28
29
|
readonly groupId?: string | undefined;
|
|
@@ -73,7 +74,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
73
74
|
readonly locale: "en" | "ja" | "ko";
|
|
74
75
|
readonly message: string;
|
|
75
76
|
}[]];
|
|
76
|
-
readonly hidden?:
|
|
77
|
+
readonly hidden?: boolean | undefined;
|
|
77
78
|
readonly tooltip?: readonly [{
|
|
78
79
|
readonly locale: "zh";
|
|
79
80
|
readonly message: string;
|
|
@@ -81,6 +82,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
81
82
|
readonly locale: "en" | "ja" | "ko";
|
|
82
83
|
readonly message: string;
|
|
83
84
|
}[]] | undefined;
|
|
85
|
+
readonly align: "center" | "left" | "right";
|
|
84
86
|
readonly compatibilityDate: "2026-06-14";
|
|
85
87
|
readonly grow?: boolean | undefined;
|
|
86
88
|
readonly groupId?: string | undefined;
|
|
@@ -15,7 +15,7 @@ import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../..
|
|
|
15
15
|
import { Skeleton } from "../../../../ui/skeleton";
|
|
16
16
|
import { Tree as UiTree } from "../../../../ui/tree";
|
|
17
17
|
import { useFormState } from "../../../../form/utils/state";
|
|
18
|
-
import { interpolateMarkdown } from "../../../utils/runtime";
|
|
18
|
+
import { JUSTIFY_CLASS, TEXT_ALIGN_CLASS, interpolateMarkdown } from "../../../utils/runtime";
|
|
19
19
|
import { useSharedFetchLayer } from "../../../utils/shared-fetch";
|
|
20
20
|
import {
|
|
21
21
|
findWrappedPath,
|
|
@@ -71,7 +71,6 @@ function evalBool(expression, label) {
|
|
|
71
71
|
return false;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
75
74
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
76
75
|
const formReadonly = useFormReadonly();
|
|
77
76
|
const isReadonly = computed(
|
|
@@ -80,6 +79,8 @@ const isReadonly = computed(
|
|
|
80
79
|
const effectiveReadonly = computed(
|
|
81
80
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
82
81
|
);
|
|
82
|
+
const justifyClass = computed(() => JUSTIFY_CLASS[props.column.align ?? "left"] ?? JUSTIFY_CLASS.left);
|
|
83
|
+
const textAlignClass = computed(() => TEXT_ALIGN_CLASS[props.column.align ?? "left"] ?? TEXT_ALIGN_CLASS.left);
|
|
83
84
|
const committedKeys = computed(() => {
|
|
84
85
|
const raw = formState.getAt(props.column.binding);
|
|
85
86
|
return Array.isArray(raw) ? raw.map((v) => String(v)) : [];
|
|
@@ -325,10 +326,6 @@ const hoveredTooltip = computed(() => {
|
|
|
325
326
|
|
|
326
327
|
<template>
|
|
327
328
|
<div class="p-[0.125rem] w-full">
|
|
328
|
-
<span
|
|
329
|
-
v-if="isHidden"
|
|
330
|
-
class="block h-7 w-full"
|
|
331
|
-
/>
|
|
332
329
|
<!--
|
|
333
330
|
Readonly empty state mirrors the `text` column exactly: a centered,
|
|
334
331
|
faded, non-selectable `-` in `font-mono`, so a readonly grid reads
|
|
@@ -336,10 +333,10 @@ const hoveredTooltip = computed(() => {
|
|
|
336
333
|
left-aligned dark text.
|
|
337
334
|
-->
|
|
338
335
|
<span
|
|
339
|
-
v-
|
|
336
|
+
v-if="effectiveReadonly"
|
|
340
337
|
:class="[
|
|
341
338
|
'flex items-center h-7 w-full px-2 text-[0.75rem] truncate',
|
|
342
|
-
readonlyLabel ? 'text-zinc-700' : 'justify-center font-mono text-zinc-300 select-none'
|
|
339
|
+
readonlyLabel ? ['text-zinc-700', justifyClass] : 'justify-center font-mono text-zinc-300 select-none'
|
|
343
340
|
]"
|
|
344
341
|
>
|
|
345
342
|
{{ readonlyLabel || "-" }}
|
|
@@ -358,7 +355,7 @@ const hoveredTooltip = computed(() => {
|
|
|
358
355
|
:model-value="triggerLabel"
|
|
359
356
|
:disabled="isDisabled"
|
|
360
357
|
:placeholder="placeholderText"
|
|
361
|
-
class="h-7 text-[0.75rem] md:text-[0.75rem] px-2 cursor-pointer
|
|
358
|
+
:class="['h-7 text-[0.75rem] md:text-[0.75rem] px-2 cursor-pointer', textAlignClass]"
|
|
362
359
|
readonly
|
|
363
360
|
/>
|
|
364
361
|
</PopoverTrigger>
|
|
@@ -10,6 +10,9 @@ export declare const metadata: {
|
|
|
10
10
|
readonly selection: true;
|
|
11
11
|
};
|
|
12
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
13
|
+
align: Schema.optionalWith<Schema.Literal<["left", "center", "right"]>, {
|
|
14
|
+
default: () => "left";
|
|
15
|
+
}>;
|
|
13
16
|
placeholder: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
|
|
14
17
|
locale: Schema.Literal<["zh"]>;
|
|
15
18
|
message: Schema.SchemaClass<string, string, never>;
|
|
@@ -17,7 +20,6 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
17
20
|
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
18
21
|
message: Schema.SchemaClass<string, string, never>;
|
|
19
22
|
}>]>>;
|
|
20
|
-
hidden: Schema.optional<Schema.Schema<string, string, never>>;
|
|
21
23
|
disabled: Schema.optional<Schema.Schema<string, string, never>>;
|
|
22
24
|
readonly: Schema.optional<Schema.Schema<string, string, never>>;
|
|
23
25
|
derived: Schema.optional<Schema.Struct<{
|
|
@@ -71,6 +73,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
71
73
|
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
72
74
|
message: Schema.SchemaClass<string, string, never>;
|
|
73
75
|
}>]>>;
|
|
76
|
+
hidden: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
74
77
|
id: Schema.refine<string, typeof Schema.String>;
|
|
75
78
|
groupId: Schema.optional<typeof Schema.UUID>;
|
|
76
79
|
type: Schema.Literal<["com.shwfed.table.column.tree-combobox-multi"]>;
|
|
@@ -4,6 +4,7 @@ import { Locale } from "../../../../../share/locale.js";
|
|
|
4
4
|
import { Expression, HttpRequestResult, LocaleMarkdown } from "../../../../../share/expression.js";
|
|
5
5
|
import { registerNodeVariableIfAbsent } from "../../../../../share/tree-node-var.js";
|
|
6
6
|
import {
|
|
7
|
+
Align,
|
|
7
8
|
CelRowAccess,
|
|
8
9
|
derivedRowField,
|
|
9
10
|
editableColumnFields,
|
|
@@ -67,14 +68,11 @@ export function schema(configure) {
|
|
|
67
68
|
type: Schema.Literal(type),
|
|
68
69
|
compatibilityDate: Schema.Literal(compatibilityDate),
|
|
69
70
|
...editableColumnFields(),
|
|
71
|
+
align: Schema.optionalWith(Align.annotations({ title: "\u5BF9\u9F50" }), { default: () => "left" }),
|
|
70
72
|
placeholder: Schema.optional(Locale.annotations({
|
|
71
73
|
title: "\u5360\u4F4D\u7B26",
|
|
72
74
|
description: "\u672A\u9009\u4E2D\u4EFB\u4F55\u9009\u9879\u65F6\u8F93\u5165\u6846\u4E2D\u7684\u5360\u4F4D\u6587\u672C"
|
|
73
75
|
})),
|
|
74
|
-
hidden: Schema.optional(CelBool.annotations({
|
|
75
|
-
title: "\u9690\u85CF\u6761\u4EF6",
|
|
76
|
-
description: "\u8FD4\u56DE `true` \u65F6\u8BE5\u884C\u7684\u4E0B\u62C9\u6811\u4E0D\u6E32\u67D3\uFF08\u5176\u4F59\u884C\u4E0D\u53D7\u5F71\u54CD\uFF09"
|
|
77
|
-
})),
|
|
78
76
|
disabled: Schema.optional(CelBool.annotations({
|
|
79
77
|
title: "\u7981\u7528\u6761\u4EF6",
|
|
80
78
|
description: "\u8FD4\u56DE `true` \u65F6\u4E0B\u62C9\u6811\u4ECD\u7136\u6E32\u67D3\u4F46\u4E0D\u53EF\u9009\u62E9"
|
|
@@ -15,7 +15,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
15
15
|
readonly locale: "en" | "ja" | "ko";
|
|
16
16
|
readonly message: string;
|
|
17
17
|
}[]];
|
|
18
|
-
readonly hidden?:
|
|
18
|
+
readonly hidden?: boolean | undefined;
|
|
19
19
|
readonly tooltip?: readonly [{
|
|
20
20
|
readonly locale: "zh";
|
|
21
21
|
readonly message: string;
|
|
@@ -23,6 +23,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
23
23
|
readonly locale: "en" | "ja" | "ko";
|
|
24
24
|
readonly message: string;
|
|
25
25
|
}[]] | undefined;
|
|
26
|
+
readonly align: "center" | "left" | "right";
|
|
26
27
|
readonly compatibilityDate: "2026-06-14";
|
|
27
28
|
readonly grow?: boolean | undefined;
|
|
28
29
|
readonly groupId?: string | undefined;
|
|
@@ -72,7 +73,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
72
73
|
readonly locale: "en" | "ja" | "ko";
|
|
73
74
|
readonly message: string;
|
|
74
75
|
}[]];
|
|
75
|
-
readonly hidden?:
|
|
76
|
+
readonly hidden?: boolean | undefined;
|
|
76
77
|
readonly tooltip?: readonly [{
|
|
77
78
|
readonly locale: "zh";
|
|
78
79
|
readonly message: string;
|
|
@@ -80,6 +81,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
80
81
|
readonly locale: "en" | "ja" | "ko";
|
|
81
82
|
readonly message: string;
|
|
82
83
|
}[]] | undefined;
|
|
84
|
+
readonly align: "center" | "left" | "right";
|
|
83
85
|
readonly compatibilityDate: "2026-06-14";
|
|
84
86
|
readonly grow?: boolean | undefined;
|
|
85
87
|
readonly groupId?: string | undefined;
|
|
@@ -10,6 +10,12 @@ import {
|
|
|
10
10
|
InputGroupInput,
|
|
11
11
|
InputGroupNumberField
|
|
12
12
|
} from "../../../../ui/input-group";
|
|
13
|
+
import {
|
|
14
|
+
DropdownMenu,
|
|
15
|
+
DropdownMenuContent,
|
|
16
|
+
DropdownMenuItem,
|
|
17
|
+
DropdownMenuTrigger
|
|
18
|
+
} from "../../../../ui/dropdown-menu";
|
|
13
19
|
import { Locale as LocaleField } from "../../../../ui/locale";
|
|
14
20
|
import { Markdown } from "../../../../ui/markdown";
|
|
15
21
|
import { Separator } from "../../../../ui/separator";
|
|
@@ -28,6 +34,14 @@ const dataSourceSchema = DataSource(() => {
|
|
|
28
34
|
});
|
|
29
35
|
const dataSourceFieldTitle = (f) => getStructFieldTitle(dataSourceSchema, f) ?? f;
|
|
30
36
|
const dataSourceFieldDescription = (f) => getStructFieldDescription(dataSourceSchema, f);
|
|
37
|
+
const ALIGN_OPTIONS = [
|
|
38
|
+
{ value: "left", label: "\u5DE6\u5BF9\u9F50", icon: "fluent:text-align-left-20-regular" },
|
|
39
|
+
{ value: "center", label: "\u5C45\u4E2D", icon: "fluent:text-align-center-20-regular" },
|
|
40
|
+
{ value: "right", label: "\u53F3\u5BF9\u9F50", icon: "fluent:text-align-right-20-regular" }
|
|
41
|
+
];
|
|
42
|
+
const currentAlignIcon = computed(
|
|
43
|
+
() => (ALIGN_OPTIONS.find((o) => o.value === (value.value.align ?? "left")) ?? ALIGN_OPTIONS[0]).icon
|
|
44
|
+
);
|
|
31
45
|
const ROW_VARS = {
|
|
32
46
|
row: { type: "dyn", label: "\u5F53\u524D\u884C\u6570\u636E" },
|
|
33
47
|
index: { type: "number", label: "\u884C\u7D22\u5F15" }
|
|
@@ -68,6 +82,14 @@ function setOptionalExpression(key, next) {
|
|
|
68
82
|
value.value = { ...value.value, [key]: next };
|
|
69
83
|
}
|
|
70
84
|
}
|
|
85
|
+
function onHiddenChange(v) {
|
|
86
|
+
if (v) {
|
|
87
|
+
value.value = { ...value.value, hidden: true };
|
|
88
|
+
} else {
|
|
89
|
+
const { hidden: _drop, ...rest } = value.value;
|
|
90
|
+
value.value = rest;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
71
93
|
function setDataSourceData(next) {
|
|
72
94
|
value.value = {
|
|
73
95
|
...value.value,
|
|
@@ -193,6 +215,29 @@ const derivedModel = computed({
|
|
|
193
215
|
{{ fieldTitle("size") }}
|
|
194
216
|
</FieldLabel>
|
|
195
217
|
<InputGroup>
|
|
218
|
+
<InputGroupAddon align="inline-start">
|
|
219
|
+
<DropdownMenu>
|
|
220
|
+
<DropdownMenuTrigger as-child>
|
|
221
|
+
<InputGroupButton
|
|
222
|
+
variant="ghost"
|
|
223
|
+
size="xs"
|
|
224
|
+
:title="fieldTitle('align')"
|
|
225
|
+
>
|
|
226
|
+
<Icon :icon="currentAlignIcon" />
|
|
227
|
+
</InputGroupButton>
|
|
228
|
+
</DropdownMenuTrigger>
|
|
229
|
+
<DropdownMenuContent align="start">
|
|
230
|
+
<DropdownMenuItem
|
|
231
|
+
v-for="opt in ALIGN_OPTIONS"
|
|
232
|
+
:key="opt.value"
|
|
233
|
+
@select="value = { ...value, align: opt.value }"
|
|
234
|
+
>
|
|
235
|
+
<Icon :icon="opt.icon" />
|
|
236
|
+
{{ opt.label }}
|
|
237
|
+
</DropdownMenuItem>
|
|
238
|
+
</DropdownMenuContent>
|
|
239
|
+
</DropdownMenu>
|
|
240
|
+
</InputGroupAddon>
|
|
196
241
|
<InputGroupNumberField
|
|
197
242
|
:model-value="value.size"
|
|
198
243
|
:disabled="value.grow"
|
|
@@ -442,30 +487,8 @@ const derivedModel = computed({
|
|
|
442
487
|
</Field>
|
|
443
488
|
</div>
|
|
444
489
|
|
|
445
|
-
<!-- 通用:
|
|
490
|
+
<!-- 通用: 禁用 / 只读 + 派生值 -->
|
|
446
491
|
<div class="grid grid-cols-2 gap-x-6 gap-y-4">
|
|
447
|
-
<Field orientation="vertical">
|
|
448
|
-
<FieldLabel class="text-xs text-zinc-500">
|
|
449
|
-
<template
|
|
450
|
-
v-if="fieldDescription('hidden')"
|
|
451
|
-
#tooltip
|
|
452
|
-
>
|
|
453
|
-
<Markdown
|
|
454
|
-
:source="fieldDescription('hidden')"
|
|
455
|
-
block
|
|
456
|
-
class="prose prose-sm prose-zinc"
|
|
457
|
-
/>
|
|
458
|
-
</template>
|
|
459
|
-
{{ fieldTitle("hidden") }}
|
|
460
|
-
</FieldLabel>
|
|
461
|
-
<ExpressionEditor
|
|
462
|
-
:model-value="value.hidden ?? ''"
|
|
463
|
-
placeholder="例:row.archived"
|
|
464
|
-
result-type="bool"
|
|
465
|
-
:extra-vars="ROW_VARS"
|
|
466
|
-
@update:model-value="(v) => setOptionalExpression('hidden', v)"
|
|
467
|
-
/>
|
|
468
|
-
</Field>
|
|
469
492
|
<Field orientation="vertical">
|
|
470
493
|
<FieldLabel class="text-xs text-zinc-500">
|
|
471
494
|
<template
|
|
@@ -572,6 +595,27 @@ const derivedModel = computed({
|
|
|
572
595
|
</InputGroupAddon>
|
|
573
596
|
</InputGroup>
|
|
574
597
|
</Field>
|
|
598
|
+
<Field orientation="vertical">
|
|
599
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
600
|
+
<template
|
|
601
|
+
v-if="fieldDescription('hidden')"
|
|
602
|
+
#tooltip
|
|
603
|
+
>
|
|
604
|
+
<Markdown
|
|
605
|
+
:source="fieldDescription('hidden')"
|
|
606
|
+
block
|
|
607
|
+
class="prose prose-sm prose-zinc"
|
|
608
|
+
/>
|
|
609
|
+
</template>
|
|
610
|
+
{{ fieldTitle("hidden") }}
|
|
611
|
+
</FieldLabel>
|
|
612
|
+
<div>
|
|
613
|
+
<Switch
|
|
614
|
+
:model-value="value.hidden ?? false"
|
|
615
|
+
@update:model-value="onHiddenChange"
|
|
616
|
+
/>
|
|
617
|
+
</div>
|
|
618
|
+
</Field>
|
|
575
619
|
</div>
|
|
576
620
|
</div>
|
|
577
621
|
</template>
|
|
@@ -15,7 +15,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
15
15
|
readonly locale: "en" | "ja" | "ko";
|
|
16
16
|
readonly message: string;
|
|
17
17
|
}[]];
|
|
18
|
-
readonly hidden?:
|
|
18
|
+
readonly hidden?: boolean | undefined;
|
|
19
19
|
readonly tooltip?: readonly [{
|
|
20
20
|
readonly locale: "zh";
|
|
21
21
|
readonly message: string;
|
|
@@ -23,6 +23,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
23
23
|
readonly locale: "en" | "ja" | "ko";
|
|
24
24
|
readonly message: string;
|
|
25
25
|
}[]] | undefined;
|
|
26
|
+
readonly align: "center" | "left" | "right";
|
|
26
27
|
readonly compatibilityDate: "2026-06-14";
|
|
27
28
|
readonly grow?: boolean | undefined;
|
|
28
29
|
readonly groupId?: string | undefined;
|
|
@@ -72,7 +73,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
72
73
|
readonly locale: "en" | "ja" | "ko";
|
|
73
74
|
readonly message: string;
|
|
74
75
|
}[]];
|
|
75
|
-
readonly hidden?:
|
|
76
|
+
readonly hidden?: boolean | undefined;
|
|
76
77
|
readonly tooltip?: readonly [{
|
|
77
78
|
readonly locale: "zh";
|
|
78
79
|
readonly message: string;
|
|
@@ -80,6 +81,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
80
81
|
readonly locale: "en" | "ja" | "ko";
|
|
81
82
|
readonly message: string;
|
|
82
83
|
}[]] | undefined;
|
|
84
|
+
readonly align: "center" | "left" | "right";
|
|
83
85
|
readonly compatibilityDate: "2026-06-14";
|
|
84
86
|
readonly grow?: boolean | undefined;
|
|
85
87
|
readonly groupId?: string | undefined;
|
|
@@ -15,7 +15,7 @@ import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../..
|
|
|
15
15
|
import { Skeleton } from "../../../../ui/skeleton";
|
|
16
16
|
import { Tree as UiTree } from "../../../../ui/tree";
|
|
17
17
|
import { useFormState } from "../../../../form/utils/state";
|
|
18
|
-
import { interpolateMarkdown } from "../../../utils/runtime";
|
|
18
|
+
import { JUSTIFY_CLASS, TEXT_ALIGN_CLASS, interpolateMarkdown } from "../../../utils/runtime";
|
|
19
19
|
import { useSharedFetchLayer } from "../../../utils/shared-fetch";
|
|
20
20
|
import {
|
|
21
21
|
findWrappedPath,
|
|
@@ -71,7 +71,6 @@ function evalBool(expression, label) {
|
|
|
71
71
|
return false;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
75
74
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
76
75
|
const formReadonly = useFormReadonly();
|
|
77
76
|
const isReadonly = computed(
|
|
@@ -80,6 +79,8 @@ const isReadonly = computed(
|
|
|
80
79
|
const effectiveReadonly = computed(
|
|
81
80
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
82
81
|
);
|
|
82
|
+
const justifyClass = computed(() => JUSTIFY_CLASS[props.column.align ?? "left"] ?? JUSTIFY_CLASS.left);
|
|
83
|
+
const textAlignClass = computed(() => TEXT_ALIGN_CLASS[props.column.align ?? "left"] ?? TEXT_ALIGN_CLASS.left);
|
|
83
84
|
const model = computed({
|
|
84
85
|
get: () => {
|
|
85
86
|
const raw = formState.getAt(props.column.binding);
|
|
@@ -291,10 +292,6 @@ const hoveredTooltip = computed(() => {
|
|
|
291
292
|
|
|
292
293
|
<template>
|
|
293
294
|
<div class="p-[0.125rem] w-full">
|
|
294
|
-
<span
|
|
295
|
-
v-if="isHidden"
|
|
296
|
-
class="block h-7 w-full"
|
|
297
|
-
/>
|
|
298
295
|
<!--
|
|
299
296
|
Readonly empty state mirrors the `text` column exactly: a centered,
|
|
300
297
|
faded, non-selectable `-` in `font-mono`, so a readonly grid reads
|
|
@@ -302,10 +299,10 @@ const hoveredTooltip = computed(() => {
|
|
|
302
299
|
left-aligned dark text.
|
|
303
300
|
-->
|
|
304
301
|
<span
|
|
305
|
-
v-
|
|
302
|
+
v-if="effectiveReadonly"
|
|
306
303
|
:class="[
|
|
307
304
|
'flex items-center h-7 w-full px-2 text-[0.75rem] truncate',
|
|
308
|
-
triggerLabel ? 'text-zinc-700' : 'justify-center font-mono text-zinc-300 select-none'
|
|
305
|
+
triggerLabel ? ['text-zinc-700', justifyClass] : 'justify-center font-mono text-zinc-300 select-none'
|
|
309
306
|
]"
|
|
310
307
|
>
|
|
311
308
|
{{ triggerLabel || "-" }}
|
|
@@ -324,7 +321,7 @@ const hoveredTooltip = computed(() => {
|
|
|
324
321
|
:model-value="triggerLabel"
|
|
325
322
|
:disabled="isDisabled"
|
|
326
323
|
:placeholder="placeholderText"
|
|
327
|
-
class="h-7 text-[0.75rem] md:text-[0.75rem] px-2 cursor-pointer
|
|
324
|
+
:class="['h-7 text-[0.75rem] md:text-[0.75rem] px-2 cursor-pointer', textAlignClass]"
|
|
328
325
|
readonly
|
|
329
326
|
/>
|
|
330
327
|
</PopoverTrigger>
|
|
@@ -10,6 +10,9 @@ export declare const metadata: {
|
|
|
10
10
|
readonly selection: true;
|
|
11
11
|
};
|
|
12
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
13
|
+
align: Schema.optionalWith<Schema.Literal<["left", "center", "right"]>, {
|
|
14
|
+
default: () => "left";
|
|
15
|
+
}>;
|
|
13
16
|
placeholder: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
|
|
14
17
|
locale: Schema.Literal<["zh"]>;
|
|
15
18
|
message: Schema.SchemaClass<string, string, never>;
|
|
@@ -17,7 +20,6 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
17
20
|
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
18
21
|
message: Schema.SchemaClass<string, string, never>;
|
|
19
22
|
}>]>>;
|
|
20
|
-
hidden: Schema.optional<Schema.Schema<string, string, never>>;
|
|
21
23
|
disabled: Schema.optional<Schema.Schema<string, string, never>>;
|
|
22
24
|
readonly: Schema.optional<Schema.Schema<string, string, never>>;
|
|
23
25
|
derived: Schema.optional<Schema.Struct<{
|
|
@@ -68,6 +70,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
68
70
|
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
69
71
|
message: Schema.SchemaClass<string, string, never>;
|
|
70
72
|
}>]>>;
|
|
73
|
+
hidden: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
71
74
|
id: Schema.refine<string, typeof Schema.String>;
|
|
72
75
|
groupId: Schema.optional<typeof Schema.UUID>;
|
|
73
76
|
type: Schema.Literal<["com.shwfed.table.column.tree-combobox-single"]>;
|
|
@@ -4,6 +4,7 @@ import { Locale } from "../../../../../share/locale.js";
|
|
|
4
4
|
import { Expression, HttpRequestResult, LocaleMarkdown } from "../../../../../share/expression.js";
|
|
5
5
|
import { registerNodeVariableIfAbsent } from "../../../../../share/tree-node-var.js";
|
|
6
6
|
import {
|
|
7
|
+
Align,
|
|
7
8
|
CelRowAccess,
|
|
8
9
|
derivedRowField,
|
|
9
10
|
editableColumnFields,
|
|
@@ -67,14 +68,11 @@ export function schema(configure) {
|
|
|
67
68
|
type: Schema.Literal(type),
|
|
68
69
|
compatibilityDate: Schema.Literal(compatibilityDate),
|
|
69
70
|
...editableColumnFields(),
|
|
71
|
+
align: Schema.optionalWith(Align.annotations({ title: "\u5BF9\u9F50" }), { default: () => "left" }),
|
|
70
72
|
placeholder: Schema.optional(Locale.annotations({
|
|
71
73
|
title: "\u5360\u4F4D\u7B26",
|
|
72
74
|
description: "\u672A\u9009\u4E2D\u4EFB\u4F55\u9009\u9879\u65F6\u8F93\u5165\u6846\u4E2D\u7684\u5360\u4F4D\u6587\u672C"
|
|
73
75
|
})),
|
|
74
|
-
hidden: Schema.optional(CelBool.annotations({
|
|
75
|
-
title: "\u9690\u85CF\u6761\u4EF6",
|
|
76
|
-
description: "\u8FD4\u56DE `true` \u65F6\u8BE5\u884C\u7684\u4E0B\u62C9\u6811\u4E0D\u6E32\u67D3\uFF08\u5176\u4F59\u884C\u4E0D\u53D7\u5F71\u54CD\uFF09"
|
|
77
|
-
})),
|
|
78
76
|
disabled: Schema.optional(CelBool.annotations({
|
|
79
77
|
title: "\u7981\u7528\u6761\u4EF6",
|
|
80
78
|
description: "\u8FD4\u56DE `true` \u65F6\u4E0B\u62C9\u6811\u4ECD\u7136\u6E32\u67D3\u4F46\u4E0D\u53EF\u9009\u62E9"
|