cabloy 5.1.62 → 5.1.64
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 +19 -0
- package/cabloy-docs/frontend/form-guide.md +10 -4
- package/cabloy-docs/frontend/table-cell-cookbook.md +4 -1
- package/package.json +1 -1
- package/vona/packages-vona/vona/package.json +1 -1
- package/vona/pnpm-lock.yaml +78 -2
- package/vona/src/suite/a-training/modules/training-record/package.json +53 -0
- package/vona/src/suite/a-training/modules/training-record/src/.metadata/index.ts +198 -0
- package/vona/src/suite/a-training/modules/training-record/src/.metadata/locales.ts +18 -0
- package/vona/src/suite/a-training/modules/training-record/src/.metadata/this.ts +2 -0
- package/vona/src/suite/a-training/modules/training-record/src/bean/meta.index.ts +12 -0
- package/vona/src/suite/a-training/modules/training-record/src/bean/meta.version.ts +21 -0
- package/vona/src/suite/a-training/modules/training-record/src/config/locale/en-us.ts +7 -0
- package/vona/src/suite/a-training/modules/training-record/src/config/locale/zh-cn.ts +7 -0
- package/vona/src/suite/a-training/modules/training-record/src/entity/record.tsx +48 -0
- package/vona/src/suite/a-training/modules/training-record/src/index.ts +2 -0
- package/vona/src/suite/a-training/modules/training-record/src/model/record.ts +10 -0
- package/vona/src/suite/a-training/modules/training-record/tsconfig.build.json +11 -0
- package/vona/src/suite/a-training/modules/training-record/tsconfig.json +7 -0
- package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +39 -3
- package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordBase.tsx +12 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordMutate.tsx +31 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordResItem.tsx +41 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordView.tsx +28 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +16 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +4 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +4 -1
- package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +9 -2
- package/vona/src/suite/a-training/modules/training-student/src/service/student.ts +1 -1
- package/vona/src/suite/a-training/package.json +1 -0
- package/vona/src/suite/a-training/tsconfig.json +3 -0
- package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dto.ts +2 -0
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +3 -3
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoMutate.ts +2 -2
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoGet.ts +3 -0
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoMutate.ts +2 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelGeneral.ts +3 -0
- package/vona/src/suite-vendor/a-vona/package.json +1 -1
- package/zova/packages-cli/cli/package.json +2 -2
- package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateBlockPage/controller.tsx_ +6 -2
- package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateBlockPageEntry/controller.tsx_ +6 -2
- package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateFormActionRow/controller.tsx_ +6 -2
- package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateFormField/controller.tsx_ +2 -1
- package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateTableActionBulk/controller.tsx_ +6 -2
- package/zova/packages-cli/cli-set-front/cli/templates/rest/component.ts +22 -0
- package/zova/packages-cli/cli-set-front/cli/templates/rest/render.ts +4 -0
- package/zova/packages-cli/cli-set-front/package.json +1 -1
- package/zova/packages-zova/zova/package.json +2 -2
- package/zova/pnpm-lock.yaml +32 -2
- package/zova/src/suite/a-demo/modules/demo-basic/src/page/toolOne/render.tsx +5 -3
- package/zova/src/suite/a-home/modules/home-login/src/page/login/render.tsx +5 -3
- package/zova/src/suite/a-training/modules/training-student/package.json +6 -1
- package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionDeleteForce.tsx +13 -11
- package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +1 -1
- package/zova/src/suite/cabloy-basic/modules/basic-app/package.json +60 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/.metadata/index.ts +137 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/.metadata/locales.ts +7 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/.metadata/this.ts +2 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/bean/behavior.appModal.tsx +260 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/config/config.ts +39 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/config/locale/en-us.ts +7 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/config/locale/zh-cn.ts +7 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/index.ts +4 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/lib/appModalItem.ts +16 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/lib/index.ts +1 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/monkey.ts +38 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/monkeySys.ts +14 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/service/appModal.ts +89 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/types/appModal.ts +52 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/src/types/index.ts +1 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/tsconfig.build.json +13 -0
- package/zova/src/suite/cabloy-basic/modules/basic-app/tsconfig.json +5 -0
- package/zova/src/suite/cabloy-basic/modules/basic-commands/package.json +6 -1
- package/zova/src/suite/cabloy-basic/modules/basic-commands/src/.metadata/index.ts +16 -0
- package/zova/src/suite/cabloy-basic/modules/basic-commands/src/bean/command.alert.tsx +8 -14
- package/zova/src/suite/cabloy-basic/modules/basic-commands/src/bean/command.confirm.tsx +10 -7
- package/zova/src/suite/cabloy-basic/modules/basic-commands/src/bean/command.prompt.tsx +30 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/package.json +52 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/component/actionCreate.ts +31 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/component/blockDetails.ts +34 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/component/blockDetailsToolbarBulk.ts +31 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/component/formFieldDetails.ts +31 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/index.ts +116 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/locales.ts +7 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/this.ts +2 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/actionCreate/controller.tsx +42 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockDetails/controller.tsx +114 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockDetailsToolbarBulk/controller.tsx +61 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/formFieldDetails/controller.tsx +105 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/config/locale/en-us.ts +3 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/config/locale/zh-cn.ts +3 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/index.ts +3 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/details.ts +8 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/index.ts +1 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/tsconfig.build.json +13 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/tsconfig.json +5 -0
- package/zova/src/suite/cabloy-basic/modules/basic-pageentry/src/component/blockForm/controller.tsx +5 -3
- package/zova/src/suite/cabloy-basic/modules/basic-table/package.json +6 -1
- package/zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionDelete.tsx +4 -2
- package/zova/src/suite/cabloy-basic/package.json +2 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/action.ts +2 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/details.ts +7 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/detailsActionBulk.ts +24 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/index.ts +2 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/index.ts +1 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/permissions.ts +6 -0
- package/zova/src/suite-vendor/a-zova/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.1.64
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add various updates and feature enhancements across the project.
|
|
8
|
+
|
|
9
|
+
## 5.1.63
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- Add the `basic-app` modal module.
|
|
14
|
+
- Add update functionality.
|
|
15
|
+
|
|
16
|
+
### Improvements
|
|
17
|
+
|
|
18
|
+
- Update the force-delete action modal flow.
|
|
19
|
+
- Unify modal command usage.
|
|
20
|
+
- Migrate remaining confirmation dialogs to `basic-app`.
|
|
21
|
+
|
|
3
22
|
## 5.1.62
|
|
4
23
|
|
|
5
24
|
### Features
|
|
@@ -276,8 +276,11 @@ Use `onShowError` when you want a centralized user-facing error handler.
|
|
|
276
276
|
|
|
277
277
|
```tsx
|
|
278
278
|
<ZForm
|
|
279
|
-
onShowError={({ error }) => {
|
|
280
|
-
|
|
279
|
+
onShowError={async ({ error }) => {
|
|
280
|
+
await this.$performCommand('basic-commands:alert', {
|
|
281
|
+
type: 'error',
|
|
282
|
+
text: error.message,
|
|
283
|
+
});
|
|
281
284
|
}}
|
|
282
285
|
></ZForm>
|
|
283
286
|
```
|
|
@@ -583,8 +586,11 @@ Once the Student model side is prepared, the render side can stay thin:
|
|
|
583
586
|
formMeta={this.studentFormMeta}
|
|
584
587
|
formProvider={this.studentFormProvider}
|
|
585
588
|
onSubmitData={data => this.submitStudent(data)}
|
|
586
|
-
onShowError={({ error }) => {
|
|
587
|
-
|
|
589
|
+
onShowError={async ({ error }) => {
|
|
590
|
+
await this.$performCommand('basic-commands:alert', {
|
|
591
|
+
type: 'error',
|
|
592
|
+
text: error.message,
|
|
593
|
+
});
|
|
588
594
|
}}
|
|
589
595
|
></ZForm>
|
|
590
596
|
```
|
|
@@ -310,7 +310,10 @@ export class TableCellActionDelete extends BeanBase implements ITableCellRender
|
|
|
310
310
|
class={options.class}
|
|
311
311
|
type="button"
|
|
312
312
|
onClick={async () => {
|
|
313
|
-
|
|
313
|
+
const confirmed = await $host.$performCommand('basic-commands:confirm', {
|
|
314
|
+
text: this.scope.locale.DeleteConfirm(),
|
|
315
|
+
});
|
|
316
|
+
if (!confirmed) return;
|
|
314
317
|
await $host.$performCommand('basic-commands:delete', options, renderContext);
|
|
315
318
|
}}
|
|
316
319
|
>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.49",
|
|
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
|
@@ -346,6 +346,9 @@ importers:
|
|
|
346
346
|
vona-module-test-vona:
|
|
347
347
|
specifier: workspace:^
|
|
348
348
|
version: link:src/suite-vendor/a-test/modules/test-vona
|
|
349
|
+
vona-module-training-record:
|
|
350
|
+
specifier: workspace:^
|
|
351
|
+
version: link:src/suite/a-training/modules/training-record
|
|
349
352
|
vona-module-training-student:
|
|
350
353
|
specifier: workspace:^
|
|
351
354
|
version: link:src/suite/a-training/modules/training-student
|
|
@@ -2383,10 +2386,22 @@ importers:
|
|
|
2383
2386
|
|
|
2384
2387
|
src/suite/a-training:
|
|
2385
2388
|
dependencies:
|
|
2389
|
+
vona-module-training-record:
|
|
2390
|
+
specifier: ^5.0.0
|
|
2391
|
+
version: link:modules/training-record
|
|
2386
2392
|
vona-module-training-student:
|
|
2387
2393
|
specifier: ^5.0.0
|
|
2388
2394
|
version: link:modules/training-student
|
|
2389
2395
|
|
|
2396
|
+
src/suite/a-training/modules/training-record:
|
|
2397
|
+
devDependencies:
|
|
2398
|
+
clean-package:
|
|
2399
|
+
specifier: ^2.2.0
|
|
2400
|
+
version: 2.2.0
|
|
2401
|
+
rimraf:
|
|
2402
|
+
specifier: ^6.1.3
|
|
2403
|
+
version: 6.1.3
|
|
2404
|
+
|
|
2390
2405
|
src/suite/a-training/modules/training-student:
|
|
2391
2406
|
devDependencies:
|
|
2392
2407
|
clean-package:
|
|
@@ -7427,6 +7442,9 @@ packages:
|
|
|
7427
7442
|
zova-module-a-table@5.1.31:
|
|
7428
7443
|
resolution: {integrity: sha512-lU3Kx6wPr0VVoPL2YsBEceQ35WenoRGZhyu2rQ0nakslwQ0cjywX4nfevfxUD2AYsQMFqkjYSHBZpZ25337NCA==}
|
|
7429
7444
|
|
|
7445
|
+
zova-module-a-table@5.1.32:
|
|
7446
|
+
resolution: {integrity: sha512-K8DBvJu8ia4OdfLqfBUrdnzMIWgbsL0KbReuUAn/v9Q5UZGJHympPnaxXD/r8r5gE6XazD+0a3xho3DIQAgG2Q==}
|
|
7447
|
+
|
|
7430
7448
|
zova-module-a-zod@5.1.30:
|
|
7431
7449
|
resolution: {integrity: sha512-jQJV9MfJiymestwfljP7hPhlJdKk4+2ysi4geJAebmZ4uxPTzLCCEnqc80Ig7hX5D6m6pIoZs4QaCwG7RwdXwA==}
|
|
7432
7450
|
|
|
@@ -7445,9 +7463,15 @@ packages:
|
|
|
7445
7463
|
zova-suite-a-zova@5.1.102:
|
|
7446
7464
|
resolution: {integrity: sha512-R5HB45pBHN9lZhWRmCuWH0DSMcDb6iBsgCQojxSZNsD8ttSCvWyu2FwNAmCQFguwEuPyZw8ZZndwr/8HAU3IxQ==}
|
|
7447
7465
|
|
|
7466
|
+
zova-suite-a-zova@5.1.103:
|
|
7467
|
+
resolution: {integrity: sha512-8xQLu9mGdTqQlSGl/yzel+NqKpeh9jjL3nf0kphwwm15wzgEy4XjH+s9jLAAit21QekmxgUHArb3j2VmJsrnMw==}
|
|
7468
|
+
|
|
7448
7469
|
zova@5.1.103:
|
|
7449
7470
|
resolution: {integrity: sha512-AR+Pk9hozKvB6/R/fZ4WPtKX4I0TJxmHx8Ao8dpLovlXhacYi50dUHOTxUQDavwspkWjMDinNqjQWo2MpAVc9g==}
|
|
7450
7471
|
|
|
7472
|
+
zova@5.1.104:
|
|
7473
|
+
resolution: {integrity: sha512-a+Ib22pFmhO/0AtuFgZnMIdYbxH3I3ppPW14FmHg4xV7/uTofNBuE4BfOGrIuPxXUUlrSllxYUDdJfPaf/Vzmw==}
|
|
7474
|
+
|
|
7451
7475
|
zwitch@1.0.5:
|
|
7452
7476
|
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
|
|
7453
7477
|
|
|
@@ -13044,6 +13068,13 @@ snapshots:
|
|
|
13044
13068
|
transitivePeerDependencies:
|
|
13045
13069
|
- vue
|
|
13046
13070
|
|
|
13071
|
+
zova-module-a-table@5.1.32(vue@3.5.38(typescript@5.9.3)):
|
|
13072
|
+
dependencies:
|
|
13073
|
+
'@tanstack/table-core': 8.21.3
|
|
13074
|
+
'@tanstack/vue-table': 8.21.3(vue@3.5.38(typescript@5.9.3))
|
|
13075
|
+
transitivePeerDependencies:
|
|
13076
|
+
- vue
|
|
13077
|
+
|
|
13047
13078
|
zova-module-a-zod@5.1.30:
|
|
13048
13079
|
dependencies:
|
|
13049
13080
|
'@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
|
|
@@ -13077,7 +13108,7 @@ snapshots:
|
|
|
13077
13108
|
table-identity: link:packages-utils/table-identity
|
|
13078
13109
|
vue: 3.5.38(typescript@5.9.3)
|
|
13079
13110
|
zod: '@cabloy/zod@4.3.6'
|
|
13080
|
-
zova: 5.1.
|
|
13111
|
+
zova: 5.1.104(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))
|
|
13081
13112
|
zova-jsx: 1.1.63(typescript@5.9.3)
|
|
13082
13113
|
zova-module-a-api: 5.1.18
|
|
13083
13114
|
zova-module-a-bean: 5.1.28
|
|
@@ -13092,7 +13123,7 @@ snapshots:
|
|
|
13092
13123
|
zova-module-a-routertabs: 5.1.29
|
|
13093
13124
|
zova-module-a-ssr: 5.1.23
|
|
13094
13125
|
zova-module-a-style: 5.1.29
|
|
13095
|
-
zova-module-a-table: 5.1.
|
|
13126
|
+
zova-module-a-table: 5.1.32(vue@3.5.38(typescript@5.9.3))
|
|
13096
13127
|
zova-module-rest-resource: 5.1.36
|
|
13097
13128
|
transitivePeerDependencies:
|
|
13098
13129
|
- '@vue/composition-api'
|
|
@@ -13165,6 +13196,40 @@ snapshots:
|
|
|
13165
13196
|
- typescript
|
|
13166
13197
|
- vue
|
|
13167
13198
|
|
|
13199
|
+
zova-suite-a-zova@5.1.103(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3)):
|
|
13200
|
+
dependencies:
|
|
13201
|
+
zova-module-a-api: 5.1.18
|
|
13202
|
+
zova-module-a-app: 5.1.21
|
|
13203
|
+
zova-module-a-bean: 5.1.28
|
|
13204
|
+
zova-module-a-behavior: 5.1.22
|
|
13205
|
+
zova-module-a-behaviors: 5.1.18
|
|
13206
|
+
zova-module-a-boundary: 5.1.18
|
|
13207
|
+
zova-module-a-command: 5.1.29
|
|
13208
|
+
zova-module-a-fetch: 5.1.20
|
|
13209
|
+
zova-module-a-form: 5.1.35(vue@3.5.38(typescript@5.9.3))
|
|
13210
|
+
zova-module-a-icon: 5.1.23
|
|
13211
|
+
zova-module-a-interceptor: 5.1.26
|
|
13212
|
+
zova-module-a-logger: 5.1.23
|
|
13213
|
+
zova-module-a-meta: 5.1.18
|
|
13214
|
+
zova-module-a-model: 5.1.27(vue@3.5.38(typescript@5.9.3))
|
|
13215
|
+
zova-module-a-openapi: 5.1.34
|
|
13216
|
+
zova-module-a-router: 5.1.26
|
|
13217
|
+
zova-module-a-routerstack: 5.1.23
|
|
13218
|
+
zova-module-a-routertabs: 5.1.29
|
|
13219
|
+
zova-module-a-ssr: 5.1.23
|
|
13220
|
+
zova-module-a-ssrhmr: 5.1.19
|
|
13221
|
+
zova-module-a-ssrserver: 5.1.19
|
|
13222
|
+
zova-module-a-style: 5.1.29
|
|
13223
|
+
zova-module-a-table: 5.1.32(vue@3.5.38(typescript@5.9.3))
|
|
13224
|
+
zova-module-a-zod: 5.1.30
|
|
13225
|
+
zova-module-a-zova: 5.1.70(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))
|
|
13226
|
+
transitivePeerDependencies:
|
|
13227
|
+
- '@vue/composition-api'
|
|
13228
|
+
- debug
|
|
13229
|
+
- supports-color
|
|
13230
|
+
- typescript
|
|
13231
|
+
- vue
|
|
13232
|
+
|
|
13168
13233
|
zova@5.1.103(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3)):
|
|
13169
13234
|
dependencies:
|
|
13170
13235
|
zova-core: 5.1.57(typescript@5.9.3)
|
|
@@ -13176,6 +13241,17 @@ snapshots:
|
|
|
13176
13241
|
- typescript
|
|
13177
13242
|
- vue
|
|
13178
13243
|
|
|
13244
|
+
zova@5.1.104(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3)):
|
|
13245
|
+
dependencies:
|
|
13246
|
+
zova-core: 5.1.57(typescript@5.9.3)
|
|
13247
|
+
zova-suite-a-zova: 5.1.103(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))
|
|
13248
|
+
transitivePeerDependencies:
|
|
13249
|
+
- '@vue/composition-api'
|
|
13250
|
+
- debug
|
|
13251
|
+
- supports-color
|
|
13252
|
+
- typescript
|
|
13253
|
+
- vue
|
|
13254
|
+
|
|
13179
13255
|
zwitch@1.0.5: {}
|
|
13180
13256
|
|
|
13181
13257
|
zwitch@2.0.4: {}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vona-module-training-record",
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"Vona Module"
|
|
7
|
+
],
|
|
8
|
+
"author": "",
|
|
9
|
+
"files": [
|
|
10
|
+
"assets",
|
|
11
|
+
"dist",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"type": "module",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": [
|
|
18
|
+
"./src/index.ts",
|
|
19
|
+
"./dist/index.d.ts"
|
|
20
|
+
],
|
|
21
|
+
"import": "./src/index.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./package.json": "./package.json"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
28
|
+
"tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
|
|
29
|
+
"prepublishOnly": "npm run tsc:publish",
|
|
30
|
+
"prepack": "clean-package",
|
|
31
|
+
"postpack": "clean-package restore && npm run clean"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"clean-package": "^2.2.0",
|
|
36
|
+
"rimraf": "^6.1.3"
|
|
37
|
+
},
|
|
38
|
+
"clean-package": {
|
|
39
|
+
"indent": 2,
|
|
40
|
+
"remove": [
|
|
41
|
+
"clean-package",
|
|
42
|
+
"devDependencies",
|
|
43
|
+
"exports.\\..import"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"title": "training-record",
|
|
47
|
+
"vonaModule": {
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"a-vona": "5.0.0"
|
|
50
|
+
},
|
|
51
|
+
"fileVersion": 1
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
// eslint-disable
|
|
2
|
+
import type { TypeEntityMeta,TypeModelsClassLikeGeneral,TypeSymbolKeyFieldsMore } from 'vona-module-a-orm';
|
|
3
|
+
import type { TypeEntityOptionsFields } from 'vona-module-a-openapi';
|
|
4
|
+
import type { TableIdentity } from 'table-identity';
|
|
5
|
+
/** entity: begin */
|
|
6
|
+
export * from '../entity/record.tsx';
|
|
7
|
+
import type { IEntityOptionsRecord } from '../entity/record.tsx';
|
|
8
|
+
import 'vona-module-a-orm';
|
|
9
|
+
declare module 'vona-module-a-orm' {
|
|
10
|
+
|
|
11
|
+
export interface IEntityRecord {
|
|
12
|
+
'training-record:record': IEntityOptionsRecord;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
declare module 'vona-module-training-record' {
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
/** entity: end */
|
|
21
|
+
/** entity: begin */
|
|
22
|
+
import type { EntityRecord } from '../entity/record.tsx';
|
|
23
|
+
export interface IModuleEntity {
|
|
24
|
+
'record': EntityRecordMeta;
|
|
25
|
+
}
|
|
26
|
+
/** entity: end */
|
|
27
|
+
/** entity: begin */
|
|
28
|
+
export type EntityRecordTableName = 'trainingRecord';
|
|
29
|
+
export type EntityRecordMeta=TypeEntityMeta<EntityRecord,EntityRecordTableName>;
|
|
30
|
+
declare module 'vona-module-a-orm' {
|
|
31
|
+
export interface ITableRecord {
|
|
32
|
+
'trainingRecord': EntityRecordMeta;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
declare module 'vona-module-training-record' {
|
|
36
|
+
|
|
37
|
+
export interface IEntityOptionsRecord {
|
|
38
|
+
fields?: TypeEntityOptionsFields<EntityRecord, IEntityOptionsRecord[TypeSymbolKeyFieldsMore]>;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** entity: end */
|
|
42
|
+
/** model: begin */
|
|
43
|
+
export * from '../model/record.ts';
|
|
44
|
+
import type { IModelOptionsRecord } from '../model/record.ts';
|
|
45
|
+
import 'vona-module-a-orm';
|
|
46
|
+
declare module 'vona-module-a-orm' {
|
|
47
|
+
|
|
48
|
+
export interface IModelRecord {
|
|
49
|
+
'training-record:record': IModelOptionsRecord;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
declare module 'vona-module-training-record' {
|
|
55
|
+
|
|
56
|
+
export interface ModelRecord {
|
|
57
|
+
/** @internal */
|
|
58
|
+
get scope(): ScopeModuleTrainingRecord;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface ModelRecord {
|
|
62
|
+
get $beanFullName(): 'training-record.model.record';
|
|
63
|
+
get $onionName(): 'training-record:record';
|
|
64
|
+
get $onionOptions(): IModelOptionsRecord;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** model: end */
|
|
68
|
+
/** model: begin */
|
|
69
|
+
import type { ModelRecord } from '../model/record.ts';
|
|
70
|
+
export interface IModuleModel {
|
|
71
|
+
'record': ModelRecord;
|
|
72
|
+
}
|
|
73
|
+
/** model: end */
|
|
74
|
+
/** model: begin */
|
|
75
|
+
|
|
76
|
+
import 'vona';
|
|
77
|
+
declare module 'vona' {
|
|
78
|
+
export interface IBeanRecordGeneral {
|
|
79
|
+
'training-record.model.record': ModelRecord;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** model: end */
|
|
83
|
+
/** model: begin */
|
|
84
|
+
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
85
|
+
import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
|
|
86
|
+
declare module 'vona-module-training-record' {
|
|
87
|
+
|
|
88
|
+
export interface ModelRecord {
|
|
89
|
+
[SymbolKeyEntity]: EntityRecord;
|
|
90
|
+
[SymbolKeyEntityMeta]: EntityRecordMeta;
|
|
91
|
+
[SymbolKeyModelOptions]: IModelOptionsRecord;
|
|
92
|
+
get<T extends IModelGetOptions<EntityRecord,ModelRecord>>(where: TypeModelWhere<EntityRecord>, options?: T): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T> | undefined>;
|
|
93
|
+
mget<T extends IModelGetOptions<EntityRecord,ModelRecord>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T>[]>;
|
|
94
|
+
selectAndCount<T extends IModelSelectParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityRecord, ModelRecord, T>>;
|
|
95
|
+
select<T extends IModelSelectParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T>[]>;
|
|
96
|
+
insert<T extends IModelInsertOptions<EntityRecord,ModelRecord>>(data?: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T, true>>;
|
|
97
|
+
insertBulk<T extends IModelInsertOptions<EntityRecord,ModelRecord>>(items: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T, true>[]>;
|
|
98
|
+
update<T extends IModelUpdateOptions<EntityRecord,ModelRecord>>(data: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T>>;
|
|
99
|
+
updateBulk<T extends IModelUpdateOptions<EntityRecord,ModelRecord>>(items: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T>[]>;
|
|
100
|
+
delete<T extends IModelDeleteOptions<EntityRecord,ModelRecord>>(where?: TypeModelWhere<EntityRecord>, options?: T): Promise<void>;
|
|
101
|
+
deleteBulk<T extends IModelDeleteOptions<EntityRecord,ModelRecord>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
102
|
+
mutate<T extends IModelMutateOptions<EntityRecord,ModelRecord>>(data?: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T>>;
|
|
103
|
+
mutateBulk<T extends IModelMutateOptions<EntityRecord,ModelRecord>>(items: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T>[]>;
|
|
104
|
+
count<T extends IModelSelectCountParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
105
|
+
increment<T extends IModelIncrementParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
106
|
+
decrement<T extends IModelIncrementParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
107
|
+
aggregate<T extends IModelSelectAggrParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
108
|
+
group<T extends IModelSelectGroupParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityRecord, T>[]>;
|
|
109
|
+
getById<T extends IModelGetOptions<EntityRecord,ModelRecord>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T> | undefined>;
|
|
110
|
+
updateById<T extends IModelUpdateOptions<EntityRecord,ModelRecord>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityRecord,ModelRecord, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRecord,ModelRecord, T>>;
|
|
111
|
+
deleteById<T extends IModelDeleteOptions<EntityRecord,ModelRecord>>(id: TableIdentity, options?: T): Promise<void>;
|
|
112
|
+
getByName<T extends IModelGetOptions<EntityRecord,ModelRecord>>(name?: string, options?: T): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T> | undefined>;
|
|
113
|
+
getByNameEqI<T extends IModelGetOptions<EntityRecord,ModelRecord>>(name?: string, options?: T): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T> | undefined>;
|
|
114
|
+
selectByName<T extends IModelSelectParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(name?: string, params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T>[]>;
|
|
115
|
+
selectByNameEqI<T extends IModelSelectParams<EntityRecord,ModelRecord,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(name?: string, params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityRecord, ModelRecord, T>[]>;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
declare module 'vona-module-a-orm' {
|
|
119
|
+
export interface IModelClassRecord {
|
|
120
|
+
'training-record:record': ModelRecord;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** model: end */
|
|
124
|
+
/** meta: begin */
|
|
125
|
+
export * from '../bean/meta.index.ts';
|
|
126
|
+
export * from '../bean/meta.version.ts';
|
|
127
|
+
import type { IMetaOptionsIndex } from 'vona-module-a-index';
|
|
128
|
+
import 'vona-module-a-meta';
|
|
129
|
+
declare module 'vona-module-a-meta' {
|
|
130
|
+
|
|
131
|
+
export interface IMetaRecord {
|
|
132
|
+
'training-record:index': IMetaOptionsIndex;
|
|
133
|
+
'training-record:version': never;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
}
|
|
138
|
+
declare module 'vona-module-training-record' {
|
|
139
|
+
|
|
140
|
+
export interface MetaIndex {
|
|
141
|
+
/** @internal */
|
|
142
|
+
get scope(): ScopeModuleTrainingRecord;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface MetaIndex {
|
|
146
|
+
get $beanFullName(): 'training-record.meta.index';
|
|
147
|
+
get $onionName(): 'training-record:index';
|
|
148
|
+
get $onionOptions(): IMetaOptionsIndex;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface MetaVersion {
|
|
152
|
+
/** @internal */
|
|
153
|
+
get scope(): ScopeModuleTrainingRecord;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface MetaVersion {
|
|
157
|
+
get $beanFullName(): 'training-record.meta.version';
|
|
158
|
+
get $onionName(): 'training-record:version';
|
|
159
|
+
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** meta: end */
|
|
163
|
+
/** locale: begin */
|
|
164
|
+
import { locales } from './locales.ts';
|
|
165
|
+
/** locale: end */
|
|
166
|
+
/** scope: begin */
|
|
167
|
+
import { BeanScopeBase, type BeanScopeUtil, type TypeModuleLocales, type TypeLocaleBase } from 'vona';
|
|
168
|
+
import { Scope } from 'vona-module-a-bean';
|
|
169
|
+
|
|
170
|
+
@Scope()
|
|
171
|
+
export class ScopeModuleTrainingRecord extends BeanScopeBase {}
|
|
172
|
+
|
|
173
|
+
export interface ScopeModuleTrainingRecord {
|
|
174
|
+
util: BeanScopeUtil;
|
|
175
|
+
locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
|
|
176
|
+
entity: IModuleEntity;
|
|
177
|
+
model: IModuleModel;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
import 'vona';
|
|
181
|
+
declare module 'vona' {
|
|
182
|
+
export interface IBeanScopeRecord {
|
|
183
|
+
'training-record': ScopeModuleTrainingRecord;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface IBeanScopeContainer {
|
|
187
|
+
trainingRecord: ScopeModuleTrainingRecord;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
export interface IBeanScopeLocale {
|
|
193
|
+
'training-record': (typeof locales)[TypeLocaleBase];
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
}
|
|
198
|
+
/** scope: end */
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TypeLocaleBase } from 'vona';
|
|
2
|
+
|
|
3
|
+
import { $makeLocaleMagic } from 'vona';
|
|
4
|
+
|
|
5
|
+
import locale_en_us from '../config/locale/en-us.ts';
|
|
6
|
+
import locale_zh_cn from '../config/locale/zh-cn.ts';
|
|
7
|
+
|
|
8
|
+
export const locales = {
|
|
9
|
+
'en-us': locale_en_us,
|
|
10
|
+
'zh-cn': locale_zh_cn,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(
|
|
14
|
+
key: K,
|
|
15
|
+
...args: any[]
|
|
16
|
+
): any {
|
|
17
|
+
return $makeLocaleMagic(`training-record::${key}`, ...args);
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IMetaOptionsIndex } from 'vona-module-a-index';
|
|
2
|
+
|
|
3
|
+
import { BeanBase } from 'vona';
|
|
4
|
+
import { Meta } from 'vona-module-a-meta';
|
|
5
|
+
import { $tableColumns } from 'vona-module-a-ormutils';
|
|
6
|
+
|
|
7
|
+
@Meta<IMetaOptionsIndex>({
|
|
8
|
+
indexes: {
|
|
9
|
+
...$tableColumns('trainingRecord', 'studentId'),
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class MetaIndex extends BeanBase {}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IMetaVersionUpdate, IMetaVersionUpdateOptions } from 'vona-module-a-version';
|
|
2
|
+
|
|
3
|
+
import { BeanBase } from 'vona';
|
|
4
|
+
import { Meta } from 'vona-module-a-meta';
|
|
5
|
+
|
|
6
|
+
@Meta()
|
|
7
|
+
export class MetaVersion extends BeanBase implements IMetaVersionUpdate {
|
|
8
|
+
async update(options: IMetaVersionUpdateOptions) {
|
|
9
|
+
if (options.version === 1) {
|
|
10
|
+
const entityRecord = this.scope.entity.record;
|
|
11
|
+
await this.bean.model.createTable(entityRecord.$table, table => {
|
|
12
|
+
table.comment(entityRecord.$comment.$table);
|
|
13
|
+
table.basicFields();
|
|
14
|
+
table.tableIdentity(entityRecord.studentId).comment(entityRecord.$comment.studentId);
|
|
15
|
+
table.string(entityRecord.name, 50).comment(entityRecord.$comment.name);
|
|
16
|
+
table.integer(entityRecord.score).comment(entityRecord.$comment.score);
|
|
17
|
+
table.string(entityRecord.description, 255).comment(entityRecord.$comment.description);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
3
|
+
|
|
4
|
+
import { $makeMetadata, Api, v } from 'vona-module-a-openapiutils';
|
|
5
|
+
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
6
|
+
import { ZovaRender } from 'zova-rest-cabloy-basic-admin';
|
|
7
|
+
|
|
8
|
+
import { $locale } from '../.metadata/locales.ts';
|
|
9
|
+
|
|
10
|
+
export interface IEntityOptionsRecord extends IDecoratorEntityOptions {}
|
|
11
|
+
|
|
12
|
+
@Entity<IEntityOptionsRecord>('trainingRecord', {
|
|
13
|
+
openapi: { title: $locale('TrainingRecord') },
|
|
14
|
+
fields: {
|
|
15
|
+
id: $makeMetadata(ZovaRender.order(1, 'core')),
|
|
16
|
+
iid: $makeMetadata(ZovaRender.visible(false)),
|
|
17
|
+
deleted: $makeMetadata(ZovaRender.visible(false)),
|
|
18
|
+
createdAt: $makeMetadata(
|
|
19
|
+
ZovaRender.order(-2, 'max'),
|
|
20
|
+
ZovaRender.field('basic-date:formFieldDate'),
|
|
21
|
+
ZovaRender.cell('basic-date:date'),
|
|
22
|
+
),
|
|
23
|
+
updatedAt: $makeMetadata(
|
|
24
|
+
ZovaRender.order(-1, 'max'),
|
|
25
|
+
ZovaRender.field('basic-date:formFieldDate'),
|
|
26
|
+
ZovaRender.cell('basic-date:date'),
|
|
27
|
+
),
|
|
28
|
+
},
|
|
29
|
+
})
|
|
30
|
+
export class EntityRecord extends EntityBase {
|
|
31
|
+
@Api.field(v.required(), ZovaRender.visible(false))
|
|
32
|
+
studentId: TableIdentity;
|
|
33
|
+
|
|
34
|
+
@Api.field(
|
|
35
|
+
v.title($locale('Name')),
|
|
36
|
+
v.required(),
|
|
37
|
+
v.min(2),
|
|
38
|
+
ZovaRender.order(1),
|
|
39
|
+
ZovaRender.cell('basic-table:actionView'),
|
|
40
|
+
)
|
|
41
|
+
name: string;
|
|
42
|
+
|
|
43
|
+
@Api.field(v.title($locale('Score')), v.optional(), ZovaRender.order(2))
|
|
44
|
+
score?: number;
|
|
45
|
+
|
|
46
|
+
@Api.field(v.title($locale('Description')), v.optional(), ZovaRender.order(3))
|
|
47
|
+
description?: string;
|
|
48
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
|
+
|
|
3
|
+
import { BeanModelBase, Model } from 'vona-module-a-orm';
|
|
4
|
+
|
|
5
|
+
import { EntityRecord } from '../entity/record.tsx';
|
|
6
|
+
|
|
7
|
+
export interface IModelOptionsRecord extends IDecoratorModelOptions<EntityRecord> {}
|
|
8
|
+
|
|
9
|
+
@Model<IModelOptionsRecord>({ entity: EntityRecord })
|
|
10
|
+
export class ModelRecord extends BeanModelBase<EntityRecord> {}
|