cabloy 5.1.69 → 5.1.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/cabloy-docs/.vitepress/config.mjs +4 -0
- package/cabloy-docs/frontend/api-schema-guide.md +20 -0
- package/cabloy-docs/frontend/command-scene-authoring.md +2 -0
- package/cabloy-docs/frontend/form-guide.md +12 -0
- package/cabloy-docs/frontend/frontend-source-reading-roadmap.md +2 -0
- package/cabloy-docs/frontend/schema-driven-field-effects-guide.md +252 -0
- package/cabloy-docs/frontend/table-guide.md +8 -0
- package/cabloy-docs/frontend/zova-form-source-reading-map.md +2 -0
- package/cabloy-docs/frontend/zova-form-under-the-hood.md +4 -0
- package/lint-staged.config.mjs +37 -29
- package/package.json +2 -2
- package/scripts/run-oxfmt-safe.mjs +53 -0
- package/vona/packages-cli/cabloy-cli/package.json +1 -1
- package/vona/packages-cli/cli/package.json +1 -1
- package/vona/packages-cli/cli-set-api/package.json +1 -1
- package/vona/packages-utils/module-glob/package.json +1 -1
- package/vona/packages-utils/utils/package.json +1 -1
- package/vona/packages-utils/utils/src/celjs/base.ts +25 -0
- package/vona/packages-vona/vona/package.json +1 -1
- package/vona/packages-vona/vona-core/package.json +1 -1
- package/vona/packages-vona/vona-mock/package.json +1 -1
- package/vona/pnpm-lock.yaml +40 -40
- package/vona/src/suite/a-training/modules/training-record/src/entity/record.tsx +44 -3
- package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/package.json +1 -1
- package/zova/packages-cli/cli/package.json +3 -3
- package/zova/packages-cli/cli-set-front/package.json +4 -4
- package/zova/packages-utils/zova-jsx/package.json +3 -3
- package/zova/packages-utils/zova-vite/package.json +2 -2
- package/zova/packages-zova/zova/package.json +3 -3
- package/zova/packages-zova/zova-core/package.json +2 -2
- package/zova/pnpm-lock.yaml +46 -46
- package/zova/src/suite-vendor/a-zova/modules/a-form/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-form/src/component/form/controller.tsx +3 -0
- package/zova/src/suite-vendor/a-zova/modules/a-form/src/component/formField/controller.tsx +10 -8
- package/zova/src/suite-vendor/a-zova/modules/a-table/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx +4 -1
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +4 -4
- package/zova/src/suite-vendor/a-zova/package.json +4 -4
|
@@ -21,11 +21,20 @@ celEnvBase.registerFunction('join(list):string', list => {
|
|
|
21
21
|
celEnvBase.registerFunction('join(list,string):string', (list, sep) => {
|
|
22
22
|
return _join(list, sep);
|
|
23
23
|
});
|
|
24
|
+
celEnvBase.registerFunction('sum(list):int', list => {
|
|
25
|
+
return _sum(list);
|
|
26
|
+
});
|
|
24
27
|
|
|
25
28
|
// string
|
|
26
29
|
celEnvBase.registerFunction('string(null):string', value => {
|
|
27
30
|
return String(value);
|
|
28
31
|
});
|
|
32
|
+
celEnvBase.registerFunction('toFixed(double,int):string', (value, precision) => {
|
|
33
|
+
return _toFixed(value, precision);
|
|
34
|
+
});
|
|
35
|
+
celEnvBase.registerFunction('toFixed(int,int):string', (value, precision) => {
|
|
36
|
+
return _toFixed(value, precision);
|
|
37
|
+
});
|
|
29
38
|
|
|
30
39
|
// operator: +
|
|
31
40
|
celEnvBase.registerOperator('string + int', (str, n) => str + String(n));
|
|
@@ -83,3 +92,19 @@ function _join(list?: [], sep?: string): string {
|
|
|
83
92
|
if (!list) return '';
|
|
84
93
|
return list.join(sep);
|
|
85
94
|
}
|
|
95
|
+
|
|
96
|
+
function _sum(list?: []): bigint {
|
|
97
|
+
if (!list || list.length === 0) return 0n;
|
|
98
|
+
return list.reduce((acc, item) => {
|
|
99
|
+
if (item === null || item === undefined) return acc;
|
|
100
|
+
return acc + BigInt(item as number | string | bigint);
|
|
101
|
+
}, 0n);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function _toFixed(value: number | bigint, precision: number | bigint): string {
|
|
105
|
+
const precisionInt = Number(precision);
|
|
106
|
+
if (typeof value === 'bigint') {
|
|
107
|
+
return precisionInt > 0 ? `${value}.${'0'.repeat(precisionInt)}` : String(value);
|
|
108
|
+
}
|
|
109
|
+
return value.toFixed(precisionInt);
|
|
110
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.59",
|
|
4
4
|
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
5
5
|
"description": "Vona is an intuitive, elegant and powerful Node.js framework for rapidly developing enterprise applications of any size",
|
|
6
6
|
"keywords": [
|
package/vona/pnpm-lock.yaml
CHANGED
|
@@ -7382,11 +7382,11 @@ packages:
|
|
|
7382
7382
|
peerDependencies:
|
|
7383
7383
|
zod: ^3.25.28 || ^4
|
|
7384
7384
|
|
|
7385
|
-
zova-core@5.1.
|
|
7386
|
-
resolution: {integrity: sha512-
|
|
7385
|
+
zova-core@5.1.58:
|
|
7386
|
+
resolution: {integrity: sha512-lHJLbyyXV01jOPCazId5tup2Sz2b2ejRCvclvHnkiRQeGhbF55AAKZVN3dsCv4QE4hpxrIaVV2/rhRaPtfWjUQ==}
|
|
7387
7387
|
|
|
7388
|
-
zova-jsx@1.1.
|
|
7389
|
-
resolution: {integrity: sha512-
|
|
7388
|
+
zova-jsx@1.1.64:
|
|
7389
|
+
resolution: {integrity: sha512-zQcf3INkOxwYEREz4ZRsU191gvCPa6EsuBwRG/dJOivxT6gUh613H/vtq71JL+gsI7sw3Bu+USce43xZmbTXVw==}
|
|
7390
7390
|
|
|
7391
7391
|
zova-module-a-api@5.1.21:
|
|
7392
7392
|
resolution: {integrity: sha512-qjm/hfjC4/+7Ap/uzJfBzV0PwRlp2idEmEKwCZYxquaXq6QtJBbTWTznw1iukT4lkJZip2KFkjOvXTzdvZA2UA==}
|
|
@@ -7412,8 +7412,8 @@ packages:
|
|
|
7412
7412
|
zova-module-a-fetch@5.1.23:
|
|
7413
7413
|
resolution: {integrity: sha512-druyz1WsNTnSuuXVuScRfkA7yv9oNWAEJuf+3PuuHH5Cv4Q2XYqf5i4DWKevc+Ewct6ls5QXPj4Z1X6D2HYrSQ==}
|
|
7414
7414
|
|
|
7415
|
-
zova-module-a-form@5.1.
|
|
7416
|
-
resolution: {integrity: sha512-
|
|
7415
|
+
zova-module-a-form@5.1.41:
|
|
7416
|
+
resolution: {integrity: sha512-QXA45De667qJhcuJLpavSNoA3yAq2EReGp1D7ggPz1MUrhvP+9MdM5HhOdW6p1w+SqLaDmyyQSbWwOmK8af1iQ==}
|
|
7417
7417
|
|
|
7418
7418
|
zova-module-a-icon@5.1.26:
|
|
7419
7419
|
resolution: {integrity: sha512-zV7hWilh3p+XfzvwPiWf2temW71kZNwqAyTs4RSHIoTJDO9XqjDFbuo39rfbDacgp0CLrbUp5yaCskRkG3lIbg==}
|
|
@@ -7430,8 +7430,8 @@ packages:
|
|
|
7430
7430
|
zova-module-a-model@5.1.30:
|
|
7431
7431
|
resolution: {integrity: sha512-DrOXf0ZPe0ZW/ZlXeBCmletEuxCD55MMs/1AHmGavXLridqNvbhkwhHpFHah+hM69+F2VeU05ToJc0PLjN5gmA==}
|
|
7432
7432
|
|
|
7433
|
-
zova-module-a-openapi@5.1.
|
|
7434
|
-
resolution: {integrity: sha512-
|
|
7433
|
+
zova-module-a-openapi@5.1.41:
|
|
7434
|
+
resolution: {integrity: sha512-a4A+Zt6GBo8ARCkyo4vuN/0b1PMLQ8mnoD0eRsj1np4u3I9Qc/2WjL2Ao24yAc7LlnNZoylFgccaYuTKxVO25A==}
|
|
7435
7435
|
|
|
7436
7436
|
zova-module-a-router@5.1.29:
|
|
7437
7437
|
resolution: {integrity: sha512-7vIXOf0aPUXvZAFC9hM1JQyNwmQAG+EtSbQ1et8+iP6roff8yUhhq50Dw8PFU5eb7hjk1TTxpUFhCTvev5JZqQ==}
|
|
@@ -7457,11 +7457,11 @@ packages:
|
|
|
7457
7457
|
zova-module-a-table@5.1.36:
|
|
7458
7458
|
resolution: {integrity: sha512-tbz2gEtjr2QfBxrmgcGDW2fuX3S9vFu0T3I0NHCmqGnQKSHVx9bMMn5PHjrqbiGf+HtYt7AtPJ7iInaPhkuW8A==}
|
|
7459
7459
|
|
|
7460
|
-
zova-module-a-zod@5.1.
|
|
7461
|
-
resolution: {integrity: sha512-
|
|
7460
|
+
zova-module-a-zod@5.1.34:
|
|
7461
|
+
resolution: {integrity: sha512-CURvuDMIID7iyIG3cP6RefJ53e7fMM8TPY/hvjMxJsfCphILK3ZG8DjPN3L1fAjhR1m9OOuXmkYUwrPaoRbtUw==}
|
|
7462
7462
|
|
|
7463
|
-
zova-module-a-zova@5.1.
|
|
7464
|
-
resolution: {integrity: sha512-
|
|
7463
|
+
zova-module-a-zova@5.1.78:
|
|
7464
|
+
resolution: {integrity: sha512-QiACszaljC5y/oyIFLbr4bmVfxt2vLkYCBzm+L5I+K9oO2HeJSzjpjCytY9wdvDvKywCS7k91a3paFRD2QJc4w==}
|
|
7465
7465
|
|
|
7466
7466
|
zova-module-rest-resource@5.1.40:
|
|
7467
7467
|
resolution: {integrity: sha512-rMqZaXSK6nJ4LW2O1yO/jZqxI7joCiWylzjutMTKpx7EfNmtK1t1nVoWFd+gCTxqgbbv9uXh0vfFaSFA7GKYFg==}
|
|
@@ -7472,11 +7472,11 @@ packages:
|
|
|
7472
7472
|
zova-rest-cabloy-basic-web@file:.zova-rest/cabloy-basic-web:
|
|
7473
7473
|
resolution: {directory: .zova-rest/cabloy-basic-web, type: directory}
|
|
7474
7474
|
|
|
7475
|
-
zova-suite-a-zova@5.1.
|
|
7476
|
-
resolution: {integrity: sha512-
|
|
7475
|
+
zova-suite-a-zova@5.1.114:
|
|
7476
|
+
resolution: {integrity: sha512-aHSb6mTaGyZTWgkL7XzQVYpk4Krw3EGrE6YwjzcquAQrqcICCGHpDDRVwp03k0RkRVIGwz9bY4JtHKcxZSIJWg==}
|
|
7477
7477
|
|
|
7478
|
-
zova@5.1.
|
|
7479
|
-
resolution: {integrity: sha512-
|
|
7478
|
+
zova@5.1.115:
|
|
7479
|
+
resolution: {integrity: sha512-tCwoUShcn2O6JqdawsuUI0U8elvwCHuoEdy5c4fIBmSgeCwajVV3PlLX1eYXGhAyBb9TyBGeJZyS2gsIygyAVQ==}
|
|
7480
7480
|
|
|
7481
7481
|
zwitch@1.0.5:
|
|
7482
7482
|
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
|
|
@@ -12945,7 +12945,7 @@ snapshots:
|
|
|
12945
12945
|
dependencies:
|
|
12946
12946
|
zod: '@cabloy/zod@4.3.8'
|
|
12947
12947
|
|
|
12948
|
-
zova-core@5.1.
|
|
12948
|
+
zova-core@5.1.58(typescript@5.9.3):
|
|
12949
12949
|
dependencies:
|
|
12950
12950
|
'@cabloy/compose': link:packages-utils/compose
|
|
12951
12951
|
'@cabloy/extend': link:packages-utils/extend
|
|
@@ -12974,14 +12974,14 @@ snapshots:
|
|
|
12974
12974
|
transitivePeerDependencies:
|
|
12975
12975
|
- typescript
|
|
12976
12976
|
|
|
12977
|
-
zova-jsx@1.1.
|
|
12977
|
+
zova-jsx@1.1.64(typescript@5.9.3):
|
|
12978
12978
|
dependencies:
|
|
12979
12979
|
'@cabloy/compose': link:packages-utils/compose
|
|
12980
12980
|
'@cabloy/utils': link:packages-utils/utils
|
|
12981
12981
|
'@cabloy/word-utils': 2.1.14
|
|
12982
12982
|
typestyle: 2.4.0
|
|
12983
12983
|
vue: 3.5.39(typescript@5.9.3)
|
|
12984
|
-
zova-core: 5.1.
|
|
12984
|
+
zova-core: 5.1.58(typescript@5.9.3)
|
|
12985
12985
|
transitivePeerDependencies:
|
|
12986
12986
|
- typescript
|
|
12987
12987
|
|
|
@@ -13008,7 +13008,7 @@ snapshots:
|
|
|
13008
13008
|
- debug
|
|
13009
13009
|
- supports-color
|
|
13010
13010
|
|
|
13011
|
-
zova-module-a-form@5.1.
|
|
13011
|
+
zova-module-a-form@5.1.41(vue@3.5.39(typescript@5.9.3)):
|
|
13012
13012
|
dependencies:
|
|
13013
13013
|
'@tanstack/vue-form': 1.33.0(vue@3.5.39(typescript@5.9.3))
|
|
13014
13014
|
transitivePeerDependencies:
|
|
@@ -13037,7 +13037,7 @@ snapshots:
|
|
|
13037
13037
|
- '@vue/composition-api'
|
|
13038
13038
|
- vue
|
|
13039
13039
|
|
|
13040
|
-
zova-module-a-openapi@5.1.
|
|
13040
|
+
zova-module-a-openapi@5.1.41:
|
|
13041
13041
|
dependencies:
|
|
13042
13042
|
'@cabloy/json-schema-to-zod': 2.6.5
|
|
13043
13043
|
openapi3-ts: 4.6.0
|
|
@@ -13075,14 +13075,14 @@ snapshots:
|
|
|
13075
13075
|
transitivePeerDependencies:
|
|
13076
13076
|
- vue
|
|
13077
13077
|
|
|
13078
|
-
zova-module-a-zod@5.1.
|
|
13078
|
+
zova-module-a-zod@5.1.34:
|
|
13079
13079
|
dependencies:
|
|
13080
13080
|
'@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
|
|
13081
13081
|
'@cabloy/zod-openapi': link:packages-utils/zod-openapi
|
|
13082
13082
|
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
13083
13083
|
zod: '@cabloy/zod@4.3.8'
|
|
13084
13084
|
|
|
13085
|
-
zova-module-a-zova@5.1.
|
|
13085
|
+
zova-module-a-zova@5.1.78(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
13086
13086
|
dependencies:
|
|
13087
13087
|
'@cabloy/compose': link:packages-utils/compose
|
|
13088
13088
|
'@cabloy/deps': link:packages-utils/deps
|
|
@@ -13093,7 +13093,7 @@ snapshots:
|
|
|
13093
13093
|
'@cabloy/word-utils': 2.1.14
|
|
13094
13094
|
defu: 6.1.7
|
|
13095
13095
|
luxon: 3.7.2
|
|
13096
|
-
zova-jsx: 1.1.
|
|
13096
|
+
zova-jsx: 1.1.64(typescript@5.9.3)
|
|
13097
13097
|
transitivePeerDependencies:
|
|
13098
13098
|
- typescript
|
|
13099
13099
|
- vue
|
|
@@ -13108,17 +13108,17 @@ snapshots:
|
|
|
13108
13108
|
table-identity: link:packages-utils/table-identity
|
|
13109
13109
|
vue: 3.5.39(typescript@5.9.3)
|
|
13110
13110
|
zod: '@cabloy/zod@4.3.8'
|
|
13111
|
-
zova: 5.1.
|
|
13112
|
-
zova-jsx: 1.1.
|
|
13111
|
+
zova: 5.1.115(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
13112
|
+
zova-jsx: 1.1.64(typescript@5.9.3)
|
|
13113
13113
|
zova-module-a-api: 5.1.21
|
|
13114
13114
|
zova-module-a-bean: 5.1.31
|
|
13115
13115
|
zova-module-a-behavior: 5.1.25
|
|
13116
13116
|
zova-module-a-command: 5.1.33
|
|
13117
|
-
zova-module-a-form: 5.1.
|
|
13117
|
+
zova-module-a-form: 5.1.41(vue@3.5.39(typescript@5.9.3))
|
|
13118
13118
|
zova-module-a-icon: 5.1.26
|
|
13119
13119
|
zova-module-a-interceptor: 5.1.29
|
|
13120
13120
|
zova-module-a-model: 5.1.30(vue@3.5.39(typescript@5.9.3))
|
|
13121
|
-
zova-module-a-openapi: 5.1.
|
|
13121
|
+
zova-module-a-openapi: 5.1.41
|
|
13122
13122
|
zova-module-a-router: 5.1.29
|
|
13123
13123
|
zova-module-a-routertabs: 5.1.32
|
|
13124
13124
|
zova-module-a-ssr: 5.1.26
|
|
@@ -13139,17 +13139,17 @@ snapshots:
|
|
|
13139
13139
|
table-identity: link:packages-utils/table-identity
|
|
13140
13140
|
vue: 3.5.39(typescript@5.9.3)
|
|
13141
13141
|
zod: '@cabloy/zod@4.3.8'
|
|
13142
|
-
zova: 5.1.
|
|
13143
|
-
zova-jsx: 1.1.
|
|
13142
|
+
zova: 5.1.115(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
13143
|
+
zova-jsx: 1.1.64(typescript@5.9.3)
|
|
13144
13144
|
zova-module-a-api: 5.1.21
|
|
13145
13145
|
zova-module-a-bean: 5.1.31
|
|
13146
13146
|
zova-module-a-behavior: 5.1.25
|
|
13147
13147
|
zova-module-a-command: 5.1.33
|
|
13148
|
-
zova-module-a-form: 5.1.
|
|
13148
|
+
zova-module-a-form: 5.1.41(vue@3.5.39(typescript@5.9.3))
|
|
13149
13149
|
zova-module-a-icon: 5.1.26
|
|
13150
13150
|
zova-module-a-interceptor: 5.1.29
|
|
13151
13151
|
zova-module-a-model: 5.1.30(vue@3.5.39(typescript@5.9.3))
|
|
13152
|
-
zova-module-a-openapi: 5.1.
|
|
13152
|
+
zova-module-a-openapi: 5.1.41
|
|
13153
13153
|
zova-module-a-router: 5.1.29
|
|
13154
13154
|
zova-module-a-routertabs: 5.1.32
|
|
13155
13155
|
zova-module-a-ssr: 5.1.26
|
|
@@ -13162,7 +13162,7 @@ snapshots:
|
|
|
13162
13162
|
- supports-color
|
|
13163
13163
|
- typescript
|
|
13164
13164
|
|
|
13165
|
-
zova-suite-a-zova@5.1.
|
|
13165
|
+
zova-suite-a-zova@5.1.114(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
13166
13166
|
dependencies:
|
|
13167
13167
|
zova-module-a-api: 5.1.21
|
|
13168
13168
|
zova-module-a-app: 5.1.24
|
|
@@ -13172,13 +13172,13 @@ snapshots:
|
|
|
13172
13172
|
zova-module-a-boundary: 5.1.21
|
|
13173
13173
|
zova-module-a-command: 5.1.33
|
|
13174
13174
|
zova-module-a-fetch: 5.1.23
|
|
13175
|
-
zova-module-a-form: 5.1.
|
|
13175
|
+
zova-module-a-form: 5.1.41(vue@3.5.39(typescript@5.9.3))
|
|
13176
13176
|
zova-module-a-icon: 5.1.26
|
|
13177
13177
|
zova-module-a-interceptor: 5.1.29
|
|
13178
13178
|
zova-module-a-logger: 5.1.26
|
|
13179
13179
|
zova-module-a-meta: 5.1.21
|
|
13180
13180
|
zova-module-a-model: 5.1.30(vue@3.5.39(typescript@5.9.3))
|
|
13181
|
-
zova-module-a-openapi: 5.1.
|
|
13181
|
+
zova-module-a-openapi: 5.1.41
|
|
13182
13182
|
zova-module-a-router: 5.1.29
|
|
13183
13183
|
zova-module-a-routerstack: 5.1.26
|
|
13184
13184
|
zova-module-a-routertabs: 5.1.32
|
|
@@ -13187,8 +13187,8 @@ snapshots:
|
|
|
13187
13187
|
zova-module-a-ssrserver: 5.1.22
|
|
13188
13188
|
zova-module-a-style: 5.1.32
|
|
13189
13189
|
zova-module-a-table: 5.1.36(vue@3.5.39(typescript@5.9.3))
|
|
13190
|
-
zova-module-a-zod: 5.1.
|
|
13191
|
-
zova-module-a-zova: 5.1.
|
|
13190
|
+
zova-module-a-zod: 5.1.34
|
|
13191
|
+
zova-module-a-zova: 5.1.78(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
13192
13192
|
transitivePeerDependencies:
|
|
13193
13193
|
- '@vue/composition-api'
|
|
13194
13194
|
- debug
|
|
@@ -13196,10 +13196,10 @@ snapshots:
|
|
|
13196
13196
|
- typescript
|
|
13197
13197
|
- vue
|
|
13198
13198
|
|
|
13199
|
-
zova@5.1.
|
|
13199
|
+
zova@5.1.115(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
13200
13200
|
dependencies:
|
|
13201
|
-
zova-core: 5.1.
|
|
13202
|
-
zova-suite-a-zova: 5.1.
|
|
13201
|
+
zova-core: 5.1.58(typescript@5.9.3)
|
|
13202
|
+
zova-suite-a-zova: 5.1.114(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
13203
13203
|
transitivePeerDependencies:
|
|
13204
13204
|
- '@vue/composition-api'
|
|
13205
13205
|
- debug
|
|
@@ -1,14 +1,43 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
3
3
|
|
|
4
|
+
import { cel } from '@cabloy/utils';
|
|
5
|
+
import React from 'react';
|
|
4
6
|
import { $makeMetadata, $resourceName, Api, v } from 'vona-module-a-openapiutils';
|
|
5
7
|
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
6
|
-
import
|
|
8
|
+
import z from 'zod';
|
|
9
|
+
import { ZovaCommand, ZovaEvent, ZovaRender } from 'zova-rest-cabloy-basic-admin';
|
|
7
10
|
|
|
8
11
|
import { $locale } from '../.metadata/locales.ts';
|
|
9
12
|
|
|
10
13
|
export interface IEntityOptionsRecord extends IDecoratorEntityOptions {}
|
|
11
14
|
|
|
15
|
+
const onEffectForAverageScore = (
|
|
16
|
+
<ZovaEvent>
|
|
17
|
+
<ZovaCommand
|
|
18
|
+
name="basic-commandssync:expr"
|
|
19
|
+
res="subjectCount"
|
|
20
|
+
options={{
|
|
21
|
+
expression: cel('int(getValue("subjectCount",0))'),
|
|
22
|
+
}}
|
|
23
|
+
></ZovaCommand>
|
|
24
|
+
<ZovaCommand
|
|
25
|
+
name="basic-commandssync:expr"
|
|
26
|
+
res="totalScore"
|
|
27
|
+
options={{
|
|
28
|
+
expression: cel('int(getValue("totalScore",0))'),
|
|
29
|
+
}}
|
|
30
|
+
></ZovaCommand>
|
|
31
|
+
<ZovaCommand
|
|
32
|
+
name="basic-commands:setValue"
|
|
33
|
+
options={{
|
|
34
|
+
name: 'averageScore',
|
|
35
|
+
value: cel('subjectCount==0 ? "" : toFixed(double(totalScore) / double(subjectCount), 2)'),
|
|
36
|
+
}}
|
|
37
|
+
></ZovaCommand>
|
|
38
|
+
</ZovaEvent>
|
|
39
|
+
);
|
|
40
|
+
|
|
12
41
|
@Entity<IEntityOptionsRecord>('trainingRecord', {
|
|
13
42
|
openapi: { title: $locale('TrainingRecord') },
|
|
14
43
|
fields: {
|
|
@@ -51,10 +80,22 @@ export class EntityRecord extends EntityBase {
|
|
|
51
80
|
)
|
|
52
81
|
studentId: TableIdentity;
|
|
53
82
|
|
|
54
|
-
@Api.field(
|
|
83
|
+
@Api.field(
|
|
84
|
+
v.title($locale('SubjectCount')),
|
|
85
|
+
v.optional(),
|
|
86
|
+
ZovaRender.order(3),
|
|
87
|
+
ZovaRender.onEffect(onEffectForAverageScore),
|
|
88
|
+
z.int(),
|
|
89
|
+
)
|
|
55
90
|
subjectCount?: number;
|
|
56
91
|
|
|
57
|
-
@Api.field(
|
|
92
|
+
@Api.field(
|
|
93
|
+
v.title($locale('TotalScore')),
|
|
94
|
+
v.optional(),
|
|
95
|
+
ZovaRender.order(4),
|
|
96
|
+
ZovaRender.onEffect(onEffectForAverageScore),
|
|
97
|
+
z.int(),
|
|
98
|
+
)
|
|
58
99
|
totalScore?: number;
|
|
59
100
|
|
|
60
101
|
@Api.field(v.title($locale('AverageScore')), v.optional(), ZovaRender.order(5))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.92",
|
|
4
4
|
"gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
|
|
5
5
|
"description": "zova cli",
|
|
6
6
|
"keywords": [
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"postpack": "clean-package restore"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@cabloy/cli": "^3.1.
|
|
43
|
+
"@cabloy/cli": "^3.1.25",
|
|
44
44
|
"@cabloy/process-helper": "^3.1.8",
|
|
45
45
|
"fs-extra": "^11.3.5",
|
|
46
46
|
"semver": "^7.6.2",
|
|
47
|
-
"zova-cli-set-front": "^1.2.
|
|
47
|
+
"zova-cli-set-front": "^1.2.90"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-cli-set-front",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.90",
|
|
4
4
|
"gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
|
|
5
5
|
"description": "zova cli-set-front",
|
|
6
6
|
"keywords": [
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"@babel/plugin-proposal-decorators": "^7.29.0",
|
|
42
42
|
"@babel/plugin-transform-class-properties": "^7.28.6",
|
|
43
43
|
"@babel/plugin-transform-typescript": "^7.28.6",
|
|
44
|
-
"@cabloy/cli": "^3.1.
|
|
44
|
+
"@cabloy/cli": "^3.1.25",
|
|
45
45
|
"@cabloy/extend": "^3.2.8",
|
|
46
46
|
"@cabloy/module-info": "^2.0.0",
|
|
47
47
|
"@cabloy/openapi-typescript": "^7.9.2",
|
|
48
|
-
"@cabloy/utils": "^2.1.
|
|
48
|
+
"@cabloy/utils": "^2.1.24",
|
|
49
49
|
"@cabloy/vite-plugin-babel": "^1.3.3",
|
|
50
50
|
"@cabloy/vue-babel-plugin-jsx": "^2.0.1",
|
|
51
51
|
"@cabloy/word-utils": "^2.1.14",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"vite": "^8.0.14",
|
|
71
71
|
"yaml": "^2.8.3",
|
|
72
72
|
"zova-openapi": "^1.1.17",
|
|
73
|
-
"zova-vite": "^1.1.
|
|
73
|
+
"zova-vite": "^1.1.41"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-jsx",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.66",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "Zova JSX",
|
|
6
6
|
"keywords": [
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@cabloy/compose": "^2.1.8",
|
|
49
|
-
"@cabloy/utils": "^2.1.
|
|
49
|
+
"@cabloy/utils": "^2.1.24",
|
|
50
50
|
"@cabloy/word-utils": "^2.1.14",
|
|
51
51
|
"typestyle": "^2.4.0",
|
|
52
52
|
"vue": "^3.5.38",
|
|
53
|
-
"zova-core": "^5.1.
|
|
53
|
+
"zova-core": "^5.1.60"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-vite",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.41",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "zova vite",
|
|
6
6
|
"keywords": [
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@babel/plugin-transform-typescript": "^7.28.6",
|
|
43
43
|
"@cabloy/dotenv": "^1.2.8",
|
|
44
44
|
"@cabloy/extend": "^3.2.8",
|
|
45
|
-
"@cabloy/module-glob": "^5.3.
|
|
45
|
+
"@cabloy/module-glob": "^5.3.15",
|
|
46
46
|
"@cabloy/module-info": "^2.0.0",
|
|
47
47
|
"@cabloy/vite-plugin-babel": "^1.3.3",
|
|
48
48
|
"@cabloy/vue-babel-plugin-jsx": "^2.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.117",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A vue3 framework with ioc",
|
|
6
6
|
"keywords": [
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"postpack": "clean-package restore"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"zova-core": "^5.1.
|
|
49
|
-
"zova-suite-a-zova": "^5.1.
|
|
48
|
+
"zova-core": "^5.1.60",
|
|
49
|
+
"zova-suite-a-zova": "^5.1.116"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-core",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.60",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A vue3 framework with ioc",
|
|
6
6
|
"keywords": [
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@cabloy/localeutil": "^2.1.8",
|
|
53
53
|
"@cabloy/logger": "^1.1.24",
|
|
54
54
|
"@cabloy/module-info": "^2.0.0",
|
|
55
|
-
"@cabloy/utils": "^2.1.
|
|
55
|
+
"@cabloy/utils": "^2.1.24",
|
|
56
56
|
"@cabloy/vue-compiler-sfc": "^3.5.14",
|
|
57
57
|
"@cabloy/vue-reactivity": "^3.5.16",
|
|
58
58
|
"@cabloy/vue-router": "^4.4.16",
|