@shwfed/nuxt 0.11.24 → 0.11.26
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
CHANGED
|
@@ -5,14 +5,15 @@ const fieldIdC = z.uuid().describe("\u5B57\u6BB5\u552F\u4E00\u6807\u8BC6\uFF0C\u
|
|
|
5
5
|
const inheritedFieldContext = {
|
|
6
6
|
form: "map<string, dyn>",
|
|
7
7
|
row: "map<string, dyn>",
|
|
8
|
-
index: "int"
|
|
8
|
+
index: "int",
|
|
9
|
+
id: "string"
|
|
9
10
|
};
|
|
10
11
|
export const KIND = "shwfed.component.fields";
|
|
11
12
|
export const CURRENT_COMPATIBILITY_DATE = "2026-03-20";
|
|
12
13
|
export const SUPPORTED_COMPATIBILITY_DATES = [CURRENT_COMPATIBILITY_DATE];
|
|
13
14
|
export const ValidationRuleC = z.object({
|
|
14
|
-
expression: expressionC(["bool", "dyn"], { value: "dyn", ...inheritedFieldContext }).describe("\u8FD4\u56DE\u5E03\u5C14\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u53EF\u4F7F\u7528 value\u3001form\u3001row \u548C
|
|
15
|
-
message: z.string().describe("\u6821\u9A8C\u5931\u8D25\u65F6\u5C55\u793A\u7684 Markdown \u6D88\u606F\uFF0C\u53EF\u5728 {{ expression }} \u4E2D\u4F7F\u7528 value\u3001form\u3001row \u548C
|
|
15
|
+
expression: expressionC(["bool", "dyn"], { value: "dyn", ...inheritedFieldContext }).describe("\u8FD4\u56DE\u5E03\u5C14\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u53EF\u4F7F\u7528 value\u3001form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
16
|
+
message: z.string().describe("\u6821\u9A8C\u5931\u8D25\u65F6\u5C55\u793A\u7684 Markdown \u6D88\u606F\uFF0C\u53EF\u5728 {{ expression }} \u4E2D\u4F7F\u7528 value\u3001form\u3001row\u3001index \u548C id \u53D8\u91CF")
|
|
16
17
|
}).readonly();
|
|
17
18
|
export const validationC = z.array(ValidationRuleC).readonly().optional().describe("\u5B57\u6BB5\u5931\u7126\u65F6\u6309\u987A\u5E8F\u6267\u884C\u7684\u6821\u9A8C\u89C4\u5219\uFF0C\u547D\u4E2D\u7B2C\u4E00\u4E2A\u5931\u8D25\u89C4\u5219\u540E\u505C\u6B62");
|
|
18
19
|
export const StringFieldC = z.object({
|
|
@@ -24,10 +25,10 @@ export const StringFieldC = z.object({
|
|
|
24
25
|
icon: z.string().optional().describe("Iconify \u56FE\u6807\u6807\u8BC6\u7B26\uFF0C\u663E\u793A\u5728\u8F93\u5165\u6846\u5185\u4FA7"),
|
|
25
26
|
style: z.string().optional().describe("CSS \u6837\u5F0F\u5BF9\u8C61\u8868\u8FBE\u5F0F\uFF0C\u63A7\u5236\u5B57\u6BB5\u7684\u5E03\u5C40\u4E0E\u5916\u89C2"),
|
|
26
27
|
discardEmptyString: z.boolean().optional().describe("\u4E3A true \u65F6\uFF0C\u7A7A\u5B57\u7B26\u4E32\u4F5C\u4E3A\u6709\u6548\u503C\u5B58\u50A8\uFF1B\u5426\u5219\u6E05\u7A7A\u8F93\u5165\u5C06\u5220\u9664\u5BF9\u5E94\u5C5E\u6027"),
|
|
27
|
-
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
28
|
+
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
28
29
|
maxLength: expressionC("int").optional().describe('\u8FD4\u56DE\u6574\u6570\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u9650\u5236\u8F93\u5165\u7684\u6700\u5927\u5B57\u7B26\u6570\uFF0C\u5982 "100"'),
|
|
29
|
-
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
30
|
-
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
30
|
+
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
31
|
+
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
31
32
|
validation: validationC
|
|
32
33
|
});
|
|
33
34
|
export const TextareaFieldC = z.object({
|
|
@@ -39,10 +40,10 @@ export const TextareaFieldC = z.object({
|
|
|
39
40
|
icon: z.string().optional().describe("Iconify \u56FE\u6807\u6807\u8BC6\u7B26\uFF0C\u663E\u793A\u5728\u8F93\u5165\u6846\u5185\u4FA7"),
|
|
40
41
|
style: z.string().optional().describe("CSS \u6837\u5F0F\u5BF9\u8C61\u8868\u8FBE\u5F0F\uFF0C\u63A7\u5236\u5B57\u6BB5\u7684\u5E03\u5C40\u4E0E\u5916\u89C2"),
|
|
41
42
|
discardEmptyString: z.boolean().optional().describe("\u4E3A true \u65F6\uFF0C\u7A7A\u5B57\u7B26\u4E32\u4F5C\u4E3A\u6709\u6548\u503C\u5B58\u50A8\uFF1B\u5426\u5219\u6E05\u7A7A\u8F93\u5165\u5C06\u5220\u9664\u5BF9\u5E94\u5C5E\u6027"),
|
|
42
|
-
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
43
|
+
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
43
44
|
maxLength: expressionC("int").optional().describe('\u8FD4\u56DE\u6574\u6570\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u9650\u5236\u8F93\u5165\u7684\u6700\u5927\u5B57\u7B26\u6570\uFF0C\u5982 "100"'),
|
|
44
|
-
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
45
|
-
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
45
|
+
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
46
|
+
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
46
47
|
validation: validationC
|
|
47
48
|
});
|
|
48
49
|
export const NumberFieldC = z.object({
|
|
@@ -53,12 +54,12 @@ export const NumberFieldC = z.object({
|
|
|
53
54
|
required: z.boolean().optional().describe("\u4E3A true \u65F6\uFF0C\u4EC5\u5728\u5B57\u6BB5\u6807\u7B7E\u540E\u663E\u793A\u5FC5\u586B\u63D0\u793A\u661F\u53F7\uFF0C\u4E0D\u5F71\u54CD\u5B9E\u9645\u6821\u9A8C\u903B\u8F91"),
|
|
54
55
|
icon: z.string().optional().describe("Iconify \u56FE\u6807\u6807\u8BC6\u7B26\uFF0C\u663E\u793A\u5728\u8F93\u5165\u6846\u5185\u4FA7"),
|
|
55
56
|
style: z.string().optional().describe("CSS \u6837\u5F0F\u5BF9\u8C61\u8868\u8FBE\u5F0F\uFF0C\u63A7\u5236\u5B57\u6BB5\u7684\u5E03\u5C40\u4E0E\u5916\u89C2"),
|
|
56
|
-
initialValue: expressionC(["int", "double", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE number \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
57
|
+
initialValue: expressionC(["int", "double", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE number \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
57
58
|
min: expressionC("double").optional().describe('\u8FD4\u56DE\u6D6E\u70B9\u6570\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u9650\u5236\u5141\u8BB8\u7684\u6700\u5C0F\u503C\uFF0C\u5982 "0.0"'),
|
|
58
59
|
max: expressionC("double").optional().describe('\u8FD4\u56DE\u6D6E\u70B9\u6570\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u9650\u5236\u5141\u8BB8\u7684\u6700\u5927\u503C\uFF0C\u5982 "100.0"'),
|
|
59
60
|
step: expressionC("double").optional().describe('\u8FD4\u56DE\u6D6E\u70B9\u6570\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u63A7\u5236\u6570\u503C\u9012\u589E\u6B65\u957F\uFF0C\u5982 "0.5"'),
|
|
60
|
-
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
61
|
-
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
61
|
+
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
62
|
+
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
62
63
|
validation: validationC
|
|
63
64
|
});
|
|
64
65
|
export const SelectFieldC = z.object({
|
|
@@ -73,9 +74,9 @@ export const SelectFieldC = z.object({
|
|
|
73
74
|
value: expressionC(/.+/, { option: "dyn" }).describe("\u8FD4\u56DE\u4EFB\u610F\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u63D0\u4F9B option \u53D8\u91CF\uFF0C\u8FD4\u56DE\u503C\u5C06\u88AB\u5199\u5165\u7ED1\u5B9A\u5B57\u6BB5"),
|
|
74
75
|
key: expressionC("string", { option: "dyn" }).describe("\u8FD4\u56DE\u5B57\u7B26\u4E32\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u63D0\u4F9B option \u53D8\u91CF\uFF0C\u8FD4\u56DE\u503C\u4E0E\u9009\u9879\u6784\u6210\u5168\u6620\u5C04"),
|
|
75
76
|
style: z.string().optional().describe("CSS \u6837\u5F0F\u5BF9\u8C61\u8868\u8FBE\u5F0F\uFF0C\u63A7\u5236\u5B57\u6BB5\u7684\u5E03\u5C40\u4E0E\u5916\u89C2"),
|
|
76
|
-
initialValue: expressionC(/.+/, inheritedFieldContext).optional().describe("\u8FD4\u56DE\u4EFB\u610F\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
77
|
-
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
78
|
-
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
77
|
+
initialValue: expressionC(/.+/, inheritedFieldContext).optional().describe("\u8FD4\u56DE\u4EFB\u610F\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
78
|
+
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
79
|
+
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
79
80
|
validation: validationC
|
|
80
81
|
});
|
|
81
82
|
export const CalendarFieldC = z.object({
|
|
@@ -89,10 +90,10 @@ export const CalendarFieldC = z.object({
|
|
|
89
90
|
mode: z.enum(["year", "month", "date"]).describe("\u65E5\u5386\u9009\u62E9\u7CBE\u5EA6\uFF1Ayear \u4EC5\u9009\u5E74\uFF0Cmonth \u9009\u5E74\u6708\uFF0Cdate \u9009\u5E74\u6708\u65E5"),
|
|
90
91
|
display: z.string().optional().describe('date-fns \u683C\u5F0F\u5B57\u7B26\u4E32\uFF0C\u63A7\u5236\u8F93\u5165\u6846\u4E2D\u7684\u5C55\u793A\u683C\u5F0F\uFF0C\u5982 "yyyy\u5E74MM\u6708dd\u65E5"\uFF1B\u7559\u7A7A\u5219\u663E\u793A\u539F\u59CB\u5B58\u50A8\u503C'),
|
|
91
92
|
value: z.string().describe('date-fns \u683C\u5F0F\u5B57\u7B26\u4E32\uFF0C\u5B9A\u4E49\u65E5\u671F\u5728 model \u4E2D\u7684\u5B58\u50A8\u683C\u5F0F\uFF0C\u5982 "yyyy-MM-dd"'),
|
|
92
|
-
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
93
|
+
initialValue: expressionC(["string", "dyn"], inheritedFieldContext).optional().describe("\u8FD4\u56DE string \u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5728\u5B57\u6BB5\u9996\u6B21\u521D\u59CB\u5316\u4E14 path \u4E0D\u5B58\u5728\u65F6\u5199\u5165\u521D\u59CB\u503C\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
93
94
|
disableDate: expressionC(["bool", "dyn"], { date: "Date" }).optional().describe("\u8FD4\u56DE\u5E03\u5C14\u503C\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u4EE5 date\uFF08Date \u7C7B\u578B\uFF09\u4E3A\u53D8\u91CF\uFF0C\u8FD4\u56DE true \u65F6\u8BE5\u65E5\u671F\u5728\u65E5\u5386\u4E2D\u88AB\u7981\u7528"),
|
|
94
|
-
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
95
|
-
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
95
|
+
hidden: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u9690\u85CF\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
96
|
+
disabled: expressionC(["bool", "dyn"], inheritedFieldContext).optional().describe("\u4E3A true \u65F6\uFF0C\u7981\u7528\u8FD9\u4E2A\u5B57\u6BB5\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF"),
|
|
96
97
|
validation: validationC
|
|
97
98
|
});
|
|
98
99
|
export const SlotFieldC = z.strictObject({
|
|
@@ -117,7 +118,7 @@ export const FieldC = z.discriminatedUnion("type", [
|
|
|
117
118
|
export const FieldsOrientationC = z.enum(["horizontal", "vertical", "floating"]);
|
|
118
119
|
export const FieldsStyleC = expressionC([/^map/, "dyn"], {
|
|
119
120
|
...inheritedFieldContext
|
|
120
|
-
}).optional().describe("\u8FD4\u56DE\u5B57\u6BB5\u96C6\u5408\u5BB9\u5668\u6837\u5F0F\u5BF9\u8C61\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u53EF\u4F7F\u7528 form\u3001row \u548C
|
|
121
|
+
}).optional().describe("\u8FD4\u56DE\u5B57\u6BB5\u96C6\u5408\u5BB9\u5668\u6837\u5F0F\u5BF9\u8C61\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u53EF\u4F7F\u7528 form\u3001row\u3001index \u548C id \u53D8\u91CF\u3002");
|
|
121
122
|
const FieldsBodyObjectC = z.object({
|
|
122
123
|
orientation: FieldsOrientationC.optional().describe("\u5B57\u6BB5\u5E03\u5C40\u65B9\u5411\uFF0C\u53EF\u9009 horizontal\u3001vertical \u6216 floating\uFF1B\u7559\u7A7A\u65F6\u9ED8\u8BA4 horizontal"),
|
|
123
124
|
style: FieldsStyleC,
|
|
@@ -79,10 +79,11 @@ function getColumnTitle(column) {
|
|
|
79
79
|
function getColumnTooltip(column) {
|
|
80
80
|
return getLocalizedText(column.tooltip, locale.value);
|
|
81
81
|
}
|
|
82
|
-
function getRowDslContext(row, index) {
|
|
82
|
+
function getRowDslContext(row, index, id) {
|
|
83
83
|
return mergeDslContexts({
|
|
84
84
|
row,
|
|
85
|
-
index: BigInt(index)
|
|
85
|
+
index: BigInt(index),
|
|
86
|
+
id
|
|
86
87
|
}, inheritedDslContext);
|
|
87
88
|
}
|
|
88
89
|
function translate(column) {
|
|
@@ -114,7 +115,7 @@ function translate(column) {
|
|
|
114
115
|
}
|
|
115
116
|
return renderer.cell({
|
|
116
117
|
ctx,
|
|
117
|
-
dslContext: getRowDslContext(ctx.row.original, ctx.row.index),
|
|
118
|
+
dslContext: getRowDslContext(ctx.row.original, ctx.row.index, ctx.row.id),
|
|
118
119
|
options
|
|
119
120
|
});
|
|
120
121
|
},
|
|
@@ -147,7 +148,8 @@ function translate(column) {
|
|
|
147
148
|
}
|
|
148
149
|
const columns = computed(() => currentConfig.value?.columns.map((column) => translate(column)) ?? []);
|
|
149
150
|
const data = computed(() => props.data);
|
|
150
|
-
const
|
|
151
|
+
const isPaginationEnabled = computed(() => currentConfig.value?.props?.initialState?.pagination?.pageSize !== void 0);
|
|
152
|
+
const isManualPagination = computed(() => isPaginationEnabled.value && props.rowCount !== void 0);
|
|
151
153
|
const totalItems = computed(() => props.rowCount ?? data.value.length);
|
|
152
154
|
const paginationLeft = computed(() => currentConfig.value?.paginationLeft ?? "");
|
|
153
155
|
const paginationRight = computed(() => currentConfig.value?.paginationRight ?? "");
|
|
@@ -162,12 +164,17 @@ const TableRowCELContext = defineComponent({
|
|
|
162
164
|
index: {
|
|
163
165
|
type: Number,
|
|
164
166
|
required: true
|
|
167
|
+
},
|
|
168
|
+
id: {
|
|
169
|
+
type: String,
|
|
170
|
+
default: void 0
|
|
165
171
|
}
|
|
166
172
|
},
|
|
167
173
|
setup(props2, { slots: slots2 }) {
|
|
168
174
|
provideCELContext({
|
|
169
175
|
row: props2.row,
|
|
170
|
-
index: BigInt(props2.index)
|
|
176
|
+
index: BigInt(props2.index),
|
|
177
|
+
id: props2.id
|
|
171
178
|
});
|
|
172
179
|
return () => slots2.default?.();
|
|
173
180
|
}
|
|
@@ -184,6 +191,9 @@ function handlePaginationPageSizeChange(value) {
|
|
|
184
191
|
tableApi.setPageSize(nextPageSize);
|
|
185
192
|
}
|
|
186
193
|
function syncPaginationPageSize() {
|
|
194
|
+
if (!isPaginationEnabled.value) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
187
197
|
const nextPageSize = resolvePaginationPageSize(
|
|
188
198
|
tableApi.getState().pagination.pageSize,
|
|
189
199
|
resolvedPaginationPageSizes.value
|
|
@@ -277,7 +287,7 @@ const baseTableOptions = {
|
|
|
277
287
|
return isManualPagination.value;
|
|
278
288
|
},
|
|
279
289
|
get rowCount() {
|
|
280
|
-
return props.rowCount;
|
|
290
|
+
return isPaginationEnabled.value ? props.rowCount : void 0;
|
|
281
291
|
},
|
|
282
292
|
get getRowId() {
|
|
283
293
|
return currentConfig.value?.getRowId ? getRowId : void 0;
|
|
@@ -352,9 +362,11 @@ watch(currentConfig, (config) => {
|
|
|
352
362
|
syncPaginationPageSize();
|
|
353
363
|
}, { immediate: true });
|
|
354
364
|
defineExpose(tableApi);
|
|
365
|
+
const rows = computed(() => isPaginationEnabled.value ? tableApi.getRowModel().rows : tableApi.getPrePaginationRowModel().rows);
|
|
366
|
+
const maxPage = computed(() => isPaginationEnabled.value ? Math.max(tableApi.getPageCount(), 1) : 1);
|
|
355
367
|
const rowVirtualizer = useVirtualizer(
|
|
356
368
|
computed(() => ({
|
|
357
|
-
count:
|
|
369
|
+
count: rows.value.length,
|
|
358
370
|
estimateSize: () => 35,
|
|
359
371
|
getScrollElement: () => containerRef.value,
|
|
360
372
|
overscan: 30
|
|
@@ -367,8 +379,6 @@ function measureRow(el) {
|
|
|
367
379
|
return;
|
|
368
380
|
rowVirtualizer.value.measureElement(el);
|
|
369
381
|
}
|
|
370
|
-
const rows = computed(() => tableApi.getRowModel().rows);
|
|
371
|
-
const maxPage = computed(() => Math.max(tableApi.getPageCount(), 1));
|
|
372
382
|
function isStyleRecord(x) {
|
|
373
383
|
return typeof x === "object" && x !== null && !Array.isArray(x);
|
|
374
384
|
}
|
|
@@ -763,6 +773,7 @@ export {
|
|
|
763
773
|
}"
|
|
764
774
|
>
|
|
765
775
|
<TableRowCELContext
|
|
776
|
+
:id="cell.row.id"
|
|
766
777
|
:row="cell.row.original"
|
|
767
778
|
:index="cell.row.index"
|
|
768
779
|
>
|
|
@@ -835,7 +846,7 @@ export {
|
|
|
835
846
|
</template>
|
|
836
847
|
</i18n-t>
|
|
837
848
|
<label
|
|
838
|
-
v-if="resolvedPaginationPageSizes"
|
|
849
|
+
v-if="isPaginationEnabled && resolvedPaginationPageSizes"
|
|
839
850
|
data-slot="table-pagination-page-size"
|
|
840
851
|
class="items-center gap-2 text-xs text-zinc-500 hidden @lg:flex"
|
|
841
852
|
>
|
|
@@ -855,103 +866,105 @@ export {
|
|
|
855
866
|
</NativeSelectOption>
|
|
856
867
|
</NativeSelect>
|
|
857
868
|
</label>
|
|
858
|
-
<
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
<Pagination.List
|
|
866
|
-
v-slot="{ items }"
|
|
867
|
-
class="flex items-center gap-1"
|
|
869
|
+
<template v-if="isPaginationEnabled">
|
|
870
|
+
<Pagination.Root
|
|
871
|
+
show-edges
|
|
872
|
+
:total="totalItems"
|
|
873
|
+
:items-per-page="tableApi.getState().pagination.pageSize"
|
|
874
|
+
:page="tableApi.getState().pagination.pageIndex + 1"
|
|
875
|
+
@update:page="(page2) => tableApi.setPageIndex(page2 - 1)"
|
|
868
876
|
>
|
|
869
|
-
<Pagination.
|
|
870
|
-
|
|
877
|
+
<Pagination.List
|
|
878
|
+
v-slot="{ items }"
|
|
879
|
+
class="flex items-center gap-1"
|
|
880
|
+
>
|
|
881
|
+
<Pagination.First
|
|
882
|
+
:class="[
|
|
871
883
|
'w-7 h-7 flex items-center justify-center bg-transparent hover:bg-zinc-100 transition disabled:opacity-50 rounded text-zinc-600',
|
|
872
884
|
'data-disabled:opacity-50 data-disabled:cursor-not-allowed cursor-pointer'
|
|
873
885
|
]"
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
886
|
+
>
|
|
887
|
+
<Icon
|
|
888
|
+
icon="radix-icons:double-arrow-left"
|
|
889
|
+
class="w-4 h-4"
|
|
890
|
+
/>
|
|
891
|
+
</Pagination.First>
|
|
892
|
+
<Pagination.Prev
|
|
893
|
+
:class="[
|
|
882
894
|
'w-7 h-7 flex items-center justify-center bg-transparent hover:bg-zinc-100 transition disabled:opacity-50 rounded text-zinc-600',
|
|
883
895
|
'data-disabled:opacity-50 data-disabled:cursor-not-allowed cursor-pointer'
|
|
884
896
|
]"
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
897
|
+
>
|
|
898
|
+
<Icon
|
|
899
|
+
icon="radix-icons:chevron-left"
|
|
900
|
+
class="w-4 h-4"
|
|
901
|
+
/>
|
|
902
|
+
</Pagination.Prev>
|
|
891
903
|
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
904
|
+
<template
|
|
905
|
+
v-for="(page, pageItemIndex) in items"
|
|
906
|
+
:key="page.type === 'page' ? `${page.type}-${page.value}` : `${page.type}-${pageItemIndex}`"
|
|
907
|
+
>
|
|
908
|
+
<Pagination.ListItem
|
|
909
|
+
v-if="page.type === 'page'"
|
|
910
|
+
:class="[
|
|
899
911
|
'w-7 h-7 items-center justify-center rounded text-xs bg-transparent',
|
|
900
912
|
'data-selected:text-(--primary) hover:bg-zinc-100 transition cursor-pointer',
|
|
901
913
|
page.value - 1 === tableApi.getState().pagination.pageIndex ? '' : 'hidden @md:flex'
|
|
902
914
|
]"
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
915
|
+
:value="page.value"
|
|
916
|
+
>
|
|
917
|
+
{{ page.value }}
|
|
918
|
+
</Pagination.ListItem>
|
|
919
|
+
<Pagination.Ellipsis
|
|
920
|
+
v-else
|
|
921
|
+
class="w-7 h-7 items-center justify-center text-zinc-400 hidden @md:flex"
|
|
922
|
+
>
|
|
923
|
+
…
|
|
924
|
+
</Pagination.Ellipsis>
|
|
925
|
+
</template>
|
|
914
926
|
|
|
915
|
-
|
|
916
|
-
|
|
927
|
+
<Pagination.Next
|
|
928
|
+
:class="[
|
|
917
929
|
'w-7 h-7 flex items-center justify-center bg-transparent hover:bg-zinc-100 transition disabled:opacity-50 rounded text-zinc-600',
|
|
918
930
|
'data-disabled:opacity-50 data-disabled:cursor-not-allowed cursor-pointer'
|
|
919
931
|
]"
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
932
|
+
>
|
|
933
|
+
<Icon
|
|
934
|
+
icon="radix-icons:chevron-right"
|
|
935
|
+
class="w-4 h-4"
|
|
936
|
+
/>
|
|
937
|
+
</Pagination.Next>
|
|
938
|
+
<Pagination.Last
|
|
939
|
+
:class="[
|
|
928
940
|
'w-7 h-7 flex items-center justify-center bg-transparent hover:bg-zinc-100 transition disabled:opacity-50 rounded text-zinc-600',
|
|
929
941
|
'data-disabled:opacity-50 data-disabled:cursor-not-allowed cursor-pointer'
|
|
930
942
|
]"
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
943
|
+
>
|
|
944
|
+
<Icon
|
|
945
|
+
icon="radix-icons:double-arrow-right"
|
|
946
|
+
class="w-4 h-4"
|
|
947
|
+
/>
|
|
948
|
+
</Pagination.Last>
|
|
949
|
+
</Pagination.List>
|
|
950
|
+
</Pagination.Root>
|
|
951
|
+
<i18n-t
|
|
952
|
+
keypath="goto"
|
|
953
|
+
tag="div"
|
|
954
|
+
class="text-xs items-center gap-2 hidden @lg:flex"
|
|
955
|
+
>
|
|
956
|
+
<template #page>
|
|
957
|
+
<NumberField
|
|
958
|
+
:model-value="tableApi.getState().pagination.pageIndex + 1"
|
|
959
|
+
:min="1"
|
|
960
|
+
:max="maxPage"
|
|
961
|
+
@update:model-value="(value) => tableApi.setPageIndex(value - 1)"
|
|
962
|
+
>
|
|
963
|
+
<NumberFieldInput class="h-6 w-16 text-xs" />
|
|
964
|
+
</NumberField>
|
|
965
|
+
</template>
|
|
966
|
+
</i18n-t>
|
|
967
|
+
</template>
|
|
955
968
|
</div>
|
|
956
969
|
<div
|
|
957
970
|
:class="[
|
|
@@ -577,6 +577,7 @@ function initializeInitialStateGroups(config) {
|
|
|
577
577
|
}
|
|
578
578
|
function resetDraftState(config) {
|
|
579
579
|
const nextPaginationPageSizes = getInitialPaginationPageSizes(config);
|
|
580
|
+
const initialPageSize = getInitialPageSize(config);
|
|
580
581
|
draftBaseConfig.value = config;
|
|
581
582
|
draftColumnTree.value = buildTableConfiguratorColumnTree(config.columns);
|
|
582
583
|
draftGetRowId.value = config.getRowId;
|
|
@@ -586,7 +587,7 @@ function resetDraftState(config) {
|
|
|
586
587
|
draftCellStyles.value = config.cellStyles;
|
|
587
588
|
draftPaginationLeft.value = config.paginationLeft;
|
|
588
589
|
draftPaginationRight.value = config.paginationRight;
|
|
589
|
-
draftPageSize.value = resolvePaginationPageSize(
|
|
590
|
+
draftPageSize.value = initialPageSize === void 0 ? void 0 : resolvePaginationPageSize(initialPageSize, nextPaginationPageSizes);
|
|
590
591
|
draftPaginationPageSizes.value = createPaginationPageSizeItems(nextPaginationPageSizes);
|
|
591
592
|
initializeInitialStateGroups(config);
|
|
592
593
|
syncDraftColumnTreeRootOrder();
|
|
@@ -1238,9 +1239,12 @@ function buildNextPaginationPageSizes() {
|
|
|
1238
1239
|
}
|
|
1239
1240
|
function buildNextPaginationState() {
|
|
1240
1241
|
const currentPagination = draftBaseConfig.value.props?.initialState?.pagination;
|
|
1242
|
+
if (draftPageSize.value === void 0) {
|
|
1243
|
+
return void 0;
|
|
1244
|
+
}
|
|
1241
1245
|
const nextPaginationPageSizes = buildNextPaginationPageSizes();
|
|
1242
1246
|
const nextPageSize = resolvePaginationPageSize(draftPageSize.value, nextPaginationPageSizes);
|
|
1243
|
-
if (
|
|
1247
|
+
if (nextPageSize === void 0) {
|
|
1244
1248
|
return void 0;
|
|
1245
1249
|
}
|
|
1246
1250
|
return {
|
|
@@ -1249,6 +1253,27 @@ function buildNextPaginationState() {
|
|
|
1249
1253
|
};
|
|
1250
1254
|
}
|
|
1251
1255
|
function buildDraftConfig() {
|
|
1256
|
+
const baseInitialState = draftBaseConfig.value.props?.initialState;
|
|
1257
|
+
const nextPaginationState = buildNextPaginationState();
|
|
1258
|
+
const nextInitialState = {
|
|
1259
|
+
columnPinning: {
|
|
1260
|
+
...baseInitialState?.columnPinning,
|
|
1261
|
+
left: buildInitialStateLeafColumnIds(leftPinnedRootItemIds.value),
|
|
1262
|
+
right: buildInitialStateLeafColumnIds(rightPinnedRootItemIds.value)
|
|
1263
|
+
},
|
|
1264
|
+
columnOrder: buildInitialStateLeafColumnIds(centerRootItemIds.value),
|
|
1265
|
+
...baseInitialState?.columnVisibility ? { columnVisibility: baseInitialState.columnVisibility } : {},
|
|
1266
|
+
...baseInitialState?.rowPinning ? { rowPinning: baseInitialState.rowPinning } : {},
|
|
1267
|
+
...baseInitialState?.columnFilters ? { columnFilters: baseInitialState.columnFilters } : {},
|
|
1268
|
+
...baseInitialState?.globalFilter !== void 0 ? { globalFilter: baseInitialState.globalFilter } : {},
|
|
1269
|
+
...baseInitialState?.sorting ? { sorting: baseInitialState.sorting } : {},
|
|
1270
|
+
...baseInitialState?.expanded !== void 0 ? { expanded: baseInitialState.expanded } : {},
|
|
1271
|
+
...baseInitialState?.grouping ? { grouping: baseInitialState.grouping } : {},
|
|
1272
|
+
...baseInitialState?.columnSizing ? { columnSizing: baseInitialState.columnSizing } : {},
|
|
1273
|
+
...baseInitialState?.columnSizingInfo ? { columnSizingInfo: baseInitialState.columnSizingInfo } : {},
|
|
1274
|
+
...baseInitialState?.rowSelection ? { rowSelection: baseInitialState.rowSelection } : {},
|
|
1275
|
+
...nextPaginationState ? { pagination: nextPaginationState } : {}
|
|
1276
|
+
};
|
|
1252
1277
|
return TableConfigC.safeParse({
|
|
1253
1278
|
...draftBaseConfig.value,
|
|
1254
1279
|
getRowId: draftGetRowId.value,
|
|
@@ -1262,16 +1287,7 @@ function buildDraftConfig() {
|
|
|
1262
1287
|
columns: materializeTableConfiguratorColumnTree(draftColumnTree.value).map(normalizeColumn),
|
|
1263
1288
|
props: {
|
|
1264
1289
|
...draftBaseConfig.value.props,
|
|
1265
|
-
initialState:
|
|
1266
|
-
...draftBaseConfig.value.props?.initialState,
|
|
1267
|
-
columnPinning: {
|
|
1268
|
-
...draftBaseConfig.value.props?.initialState?.columnPinning,
|
|
1269
|
-
left: buildInitialStateLeafColumnIds(leftPinnedRootItemIds.value),
|
|
1270
|
-
right: buildInitialStateLeafColumnIds(rightPinnedRootItemIds.value)
|
|
1271
|
-
},
|
|
1272
|
-
columnOrder: buildInitialStateLeafColumnIds(centerRootItemIds.value),
|
|
1273
|
-
pagination: buildNextPaginationState()
|
|
1274
|
-
}
|
|
1290
|
+
initialState: nextInitialState
|
|
1275
1291
|
}
|
|
1276
1292
|
});
|
|
1277
1293
|
}
|