cabloy 5.1.172 → 5.1.174
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/.cabloy-version +1 -1
- package/CHANGELOG.md +12 -0
- package/package.json +2 -2
- package/repo-docs/frontend/component-guide.md +33 -0
- package/repo-docs/frontend/model-resource-cookbook.md +0 -8
- package/repo-docs/frontend/model-resource-usage-guide.md +0 -4
- package/repo-e2e/specs/cabloy-basic.spec.ts +158 -0
- package/repo-e2e/specs/controller-boundary.spec.ts +261 -0
- package/test-results/.last-run.json +1 -1
- package/vona/packages-utils/lint/package.json +1 -1
- package/vona/packages-utils/lint/src/oxc/lint.ts +1 -1
- package/vona/packages-utils/lint/src/oxc/lintVue.ts +1 -1
- package/vona/pnpm-lock.yaml +238 -46
- package/vona/pnpm-workspace.yaml +1 -1
- package/zova/package.original.json +1 -1
- package/zova/packages-cli/cli/package.json +2 -2
- package/zova/packages-cli/cli-set-front/package.json +3 -3
- package/zova/packages-utils/babel-plugin-zova-behavior/package.json +2 -1
- package/zova/packages-utils/babel-plugin-zova-behavior/src/index.ts +21 -8
- package/zova/packages-utils/babel-plugin-zova-behavior/test/behaviorSlots.test.ts +111 -0
- package/zova/packages-utils/zova-jsx/package.json +2 -2
- 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 +1 -1
- package/zova/packages-zova/zova-core/src/bean/beanBase.ts +1 -1
- package/zova/packages-zova/zova-core/src/bean/beanContainer.ts +95 -39
- package/zova/packages-zova/zova-core/src/bean/resource/error/type.ts +9 -0
- package/zova/packages-zova/zova-core/src/bean/type.ts +18 -0
- package/zova/packages-zova/zova-core/src/components/component.ts +2 -1
- package/zova/packages-zova/zova-core/src/composables/useController.ts +155 -25
- package/zova/packages-zova/zova-core/src/core/component/error.ts +62 -5
- package/zova/packages-zova/zova-core/src/core/context/component.ts +37 -2
- package/zova/packages-zova/zova-core/src/core/context/hooks.ts +13 -2
- package/zova/packages-zova/zova-core/src/core/context/meta.ts +1 -0
- package/zova/packages-zova/zova-core/src/core/context/state.ts +161 -0
- package/zova/packages-zova/zova-core/src/core/sys/config.ts +32 -7
- package/zova/packages-zova/zova-core/src/types/interface/monkey.ts +15 -0
- package/zova/packages-zova/zova-core/src/types/utils/powerPartial.ts +1 -1
- package/zova/pnpm-lock.yaml +40 -25
- package/zova/src/front/config/config/config.ts +11 -0
- package/zova/src/front/config/config/render.tsx +79 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +0 -1
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/component/controllerBoundaryProbe.ts +31 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/component/controllerBoundaryProbeInline.ts +34 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/component/controllerBoundaryProbeOverride.ts +34 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/index.ts +58 -1
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/page/controllerBoundary.ts +23 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/component/controllerBoundaryProbe/controller.tsx +36 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/component/controllerBoundaryProbeInline/controller.tsx +34 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/component/controllerBoundaryProbeOverride/controller.tsx +46 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/page/controllerBoundary/controller.tsx +185 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/routes.ts +6 -0
- package/zova/src/suite/a-home/modules/home-base/src/config/locale/en-us.ts +1 -0
- package/zova/src/suite/a-home/modules/home-base/src/config/locale/zh-cn.ts +1 -0
- package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +0 -3
- package/zova/src/suite/cabloy-basic/modules/basic-button/package.json +58 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/.metadata/component/button.ts +31 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/.metadata/index.ts +122 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/.metadata/this.ts +2 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/bean/behavior.perform.tsx +103 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/component/button/controller.tsx +39 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/src/index.ts +1 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/tsconfig.build.json +13 -0
- package/zova/src/suite/cabloy-basic/modules/basic-button/tsconfig.json +5 -0
- package/zova/src/suite/cabloy-basic/modules/basic-details/package.json +2 -1
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionDelete.tsx +4 -4
- package/zova/src/suite/cabloy-basic/modules/basic-page/src/component/blockPage/controller.tsx +5 -1
- package/zova/src/suite/cabloy-basic/modules/basic-pageentry/src/component/blockPageEntry/controller.tsx +5 -1
- package/zova/src/suite/cabloy-basic/modules/basic-table/package.json +2 -1
- package/zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionDelete.tsx +4 -4
- package/zova/src/suite/cabloy-basic/modules/basic-table/src/component/actionRefresh/controller.tsx +10 -8
- package/zova/src/suite/cabloy-basic/package.json +1 -0
- package/zova/src/suite-vendor/a-cabloy/modules/a-layoutprofile/package.json +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/a-layoutprofile/src/model/layoutprofile.ts +0 -3
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/package.json +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/.metadata/page/resource.ts +6 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/model/resource.ts +0 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/page/resource/controller.tsx +5 -1
- package/zova/src/suite-vendor/a-cabloy/package.json +3 -3
- package/zova/src/suite-vendor/a-zova/modules/a-bean/cli/controller/metadata/generateFilePage.ts +3 -1
- package/zova/src/suite-vendor/a-zova/modules/a-bean/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-model/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-model/src/bean/bean.model/bean.model.useMutation.ts +1 -11
- package/zova/src/suite-vendor/a-zova/modules/a-model/src/bean/bean.model/bean.model.useQuery.ts +1 -17
- package/zova/src/suite-vendor/a-zova/modules/a-model/src/lib/utils.ts +2 -1
- package/zova/src/suite-vendor/a-zova/modules/a-model/src/types/query.ts +2 -7
- package/zova/src/suite-vendor/a-zova/modules/a-model/test/lib/mutation.types.ts +14 -0
- package/zova/src/suite-vendor/a-zova/modules/a-model/test/lib/queryEnsureLoaded.test.ts +56 -0
- package/zova/src/suite-vendor/a-zova/modules/a-router/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-router/src/monkey.ts +8 -0
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/lib/ssr.ts +85 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/monkey.ts +25 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/types/ssr.ts +15 -1
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +2 -2
- package/zova/src/suite-vendor/a-zova/package.json +6 -6
- /package/vona/patches/{zova-core@5.1.89.patch → zova-core@5.1.90.patch} +0 -0
|
@@ -2,6 +2,7 @@ import type { IModule } from '@cabloy/module-info';
|
|
|
2
2
|
import type {
|
|
3
3
|
BeanBase,
|
|
4
4
|
BeanContainer,
|
|
5
|
+
IControllerLoadEvent,
|
|
5
6
|
IMonkeyAppContextInitialize,
|
|
6
7
|
IMonkeyAppInitialize,
|
|
7
8
|
IMonkeyBeanInit,
|
|
@@ -23,11 +24,22 @@ export class Monkey
|
|
|
23
24
|
{
|
|
24
25
|
appContextInitialize(ctx: ZovaContext): void {
|
|
25
26
|
ctx.meta.$ssr = ctx.app.ctx.meta.$ssr;
|
|
27
|
+
if (process.env.CLIENT) {
|
|
28
|
+
ctx.meta.$ssr.handleDirectOrOnHydrated(() => {
|
|
29
|
+
if (!ctx.disposed) {
|
|
30
|
+
ctx.meta.hooks.invokeHook('hydrated');
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
26
34
|
if (process.env.SERVER) {
|
|
27
35
|
ctx.meta.$ssr._registerServerContext(ctx);
|
|
28
36
|
}
|
|
29
37
|
}
|
|
30
38
|
|
|
39
|
+
controllerLoad(event: IControllerLoadEvent) {
|
|
40
|
+
event.ctx.meta.$ssr.controllerLoad(event);
|
|
41
|
+
}
|
|
42
|
+
|
|
31
43
|
async appInitialize() {
|
|
32
44
|
this.app.meta.event.on('a-router:routerGuards', async (router, next) => {
|
|
33
45
|
if (process.env.CLIENT) {
|
|
@@ -104,8 +116,16 @@ export class Monkey
|
|
|
104
116
|
|
|
105
117
|
private _ssrErrorHandler() {
|
|
106
118
|
if (!process.env.SERVER) return;
|
|
107
|
-
const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (
|
|
119
|
+
const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (data, next) => {
|
|
108
120
|
const err = next();
|
|
121
|
+
if (data.load?.kind === 'controller-load') {
|
|
122
|
+
if (_isLoadErrorHandledServer(data.err)) {
|
|
123
|
+
data.load.disposition = 'handled';
|
|
124
|
+
if (!err || !(err instanceof Error)) return err;
|
|
125
|
+
return this._errorHandlerDefaultServer(err);
|
|
126
|
+
}
|
|
127
|
+
return err;
|
|
128
|
+
}
|
|
109
129
|
if (!err || !(err instanceof Error)) return err;
|
|
110
130
|
return this._errorHandlerDefaultServer(err);
|
|
111
131
|
});
|
|
@@ -133,3 +153,7 @@ export class Monkey
|
|
|
133
153
|
return undefined;
|
|
134
154
|
}
|
|
135
155
|
}
|
|
156
|
+
|
|
157
|
+
function _isLoadErrorHandledServer(err: Error) {
|
|
158
|
+
return isNavigationFailure(err) || [301, 302, 401].includes(Number((err as any).code));
|
|
159
|
+
}
|
|
@@ -66,7 +66,21 @@ export interface SSRContextState {
|
|
|
66
66
|
ssrProfile?: TypeSsrProfile;
|
|
67
67
|
ssrProfileOptions?: Readonly<ISsrProfileOptions>;
|
|
68
68
|
}
|
|
69
|
-
export interface
|
|
69
|
+
export interface SSRControllerLoadErrorSnapshot {
|
|
70
|
+
version: 1;
|
|
71
|
+
controllerBeanName?: string;
|
|
72
|
+
name: string;
|
|
73
|
+
message: string;
|
|
74
|
+
code?: number | string;
|
|
75
|
+
status?: number | string;
|
|
76
|
+
pagePath?: string;
|
|
77
|
+
url?: string;
|
|
78
|
+
controllerRecorded: boolean;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface SSRContextStateDefer {
|
|
82
|
+
controllerLoad?: Record<string, SSRControllerLoadErrorSnapshot>;
|
|
83
|
+
}
|
|
70
84
|
|
|
71
85
|
// from: quasar/dist/types/meta.d.ts
|
|
72
86
|
// Cannot use `Record<string, string>` as TS would error out about `template` signature
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-module-a-zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.105",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "zova",
|
|
6
6
|
"keywords": [
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@cabloy/word-utils": "^2.1.14",
|
|
44
44
|
"defu": "^6.1.7",
|
|
45
45
|
"luxon": "^3.7.2",
|
|
46
|
-
"zova-jsx": "^1.1.
|
|
46
|
+
"zova-jsx": "^1.1.90"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@cabloy/cli": "^3.1.29",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-suite-a-zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.162",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "zova",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"zova-module-a-api": "^5.1.22",
|
|
12
12
|
"zova-module-a-app": "^5.1.26",
|
|
13
|
-
"zova-module-a-bean": "^5.1.
|
|
13
|
+
"zova-module-a-bean": "^5.1.36",
|
|
14
14
|
"zova-module-a-behavior": "^5.1.26",
|
|
15
15
|
"zova-module-a-behaviors": "^5.1.22",
|
|
16
16
|
"zova-module-a-boundary": "^5.1.22",
|
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
"zova-module-a-interceptor": "^5.1.31",
|
|
22
22
|
"zova-module-a-logger": "^5.1.28",
|
|
23
23
|
"zova-module-a-meta": "^5.1.22",
|
|
24
|
-
"zova-module-a-model": "^5.1.
|
|
24
|
+
"zova-module-a-model": "^5.1.37",
|
|
25
25
|
"zova-module-a-openapi": "^5.1.54",
|
|
26
|
-
"zova-module-a-router": "^5.1.
|
|
26
|
+
"zova-module-a-router": "^5.1.38",
|
|
27
27
|
"zova-module-a-routerstack": "^5.1.29",
|
|
28
28
|
"zova-module-a-routertabs": "^5.1.34",
|
|
29
|
-
"zova-module-a-ssr": "^5.1.
|
|
29
|
+
"zova-module-a-ssr": "^5.1.40",
|
|
30
30
|
"zova-module-a-ssrhmr": "^5.1.23",
|
|
31
31
|
"zova-module-a-ssrserver": "^5.1.26",
|
|
32
32
|
"zova-module-a-style": "^5.1.35",
|
|
33
33
|
"zova-module-a-table": "^5.1.43",
|
|
34
34
|
"zova-module-a-zod": "^5.1.37",
|
|
35
|
-
"zova-module-a-zova": "^5.1.
|
|
35
|
+
"zova-module-a-zova": "^5.1.105"
|
|
36
36
|
},
|
|
37
37
|
"title": "a-zova"
|
|
38
38
|
}
|
|
File without changes
|