cabloy 5.1.133 → 5.1.135
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/.claude/scheduled_tasks.lock +1 -0
- package/CHANGELOG.md +25 -0
- package/cabloy-docs/frontend/ioc-and-beans.md +20 -0
- package/e2e/specs/a-commerce/commerce.spec.ts +61 -36
- package/package.json +1 -1
- package/vona/patches/{zova-core@5.1.82.patch → zova-core@5.1.84.patch} +2 -2
- package/vona/pnpm-lock.yaml +412 -85
- package/vona/pnpm-workspace.yaml +1 -1
- package/zova/packages-utils/zova-jsx/package.json +2 -2
- package/zova/packages-zova/zova/package.json +3 -3
- package/zova/packages-zova/zova-core/package.json +2 -1
- package/zova/packages-zova/zova-core/src/core/sys/config.ts +2 -2
- package/zova/pnpm-lock.yaml +32 -29
- package/zova/src/suite/a-home/modules/home-layoutadmin/src/component/layoutAdmin/controller.tsx +1 -1
- package/zova/src/suite/a-home/modules/home-layoutempty/src/component/layoutEmpty/controller.tsx +1 -1
- package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/controller.tsx +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.persister.ts +28 -1
- 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/model/sdk.ts +1 -1
- 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 +23 -0
- package/zova/src/suite-vendor/a-zova/modules/a-router/src/monkeySys.ts +1 -1
- 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/monkey.ts +7 -3
- package/zova/src/suite-vendor/a-zova/modules/a-style/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-style/src/bean/bean.theme.ts +21 -2
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +2 -2
- package/zova/src/suite-vendor/a-zova/package.json +7 -7
package/vona/pnpm-workspace.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-jsx",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.84",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "Zova JSX",
|
|
6
6
|
"keywords": [
|
|
@@ -50,7 +50,7 @@
|
|
|
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.84"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.147",
|
|
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.84",
|
|
49
|
+
"zova-suite-a-zova": "^5.1.146"
|
|
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.84",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A vue3 framework with ioc",
|
|
6
6
|
"keywords": [
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"@cabloy/zod-openapi": "^1.1.10",
|
|
65
65
|
"@cabloy/zod-query": "^2.1.13",
|
|
66
66
|
"@types/js-cookie": "^3.0.6",
|
|
67
|
+
"@types/ms": "^2.1.0",
|
|
67
68
|
"@vue/shared": "^3.5.32",
|
|
68
69
|
"deep-equal": "^2.2.3",
|
|
69
70
|
"ms": "^2.1.3",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ZovaConfigMeta } from '@cabloy/module-info';
|
|
2
|
-
import type
|
|
2
|
+
import type ms from 'ms';
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
5
|
ILayoutRecord,
|
|
@@ -25,7 +25,7 @@ export function configDefault(env: ZovaConfigEnv): PowerPartial<ZovaConfig> {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export interface ZovaConfigSsrResponseCachePolicy {
|
|
28
|
-
expires?: number | StringValue;
|
|
28
|
+
expires?: number | ms.StringValue;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export interface ZovaConfigSsrProfile {
|
package/zova/pnpm-lock.yaml
CHANGED
|
@@ -77,7 +77,7 @@ importers:
|
|
|
77
77
|
version: 10.5.2(postcss@8.5.15)
|
|
78
78
|
axios:
|
|
79
79
|
specifier: ^1.18.1
|
|
80
|
-
version: 1.18.1
|
|
80
|
+
version: 1.18.1
|
|
81
81
|
compression:
|
|
82
82
|
specifier: ^1.8.1
|
|
83
83
|
version: 1.8.1
|
|
@@ -136,7 +136,7 @@ importers:
|
|
|
136
136
|
specifier: workspace:^
|
|
137
137
|
version: link:packages-zova/zova
|
|
138
138
|
zova-jsx:
|
|
139
|
-
specifier: ^1.1.
|
|
139
|
+
specifier: ^1.1.84
|
|
140
140
|
version: link:packages-utils/zova-jsx
|
|
141
141
|
zova-module-a-api:
|
|
142
142
|
specifier: workspace:^
|
|
@@ -354,7 +354,7 @@ importers:
|
|
|
354
354
|
devDependencies:
|
|
355
355
|
'@cabloy/cli':
|
|
356
356
|
specifier: ^3.1.29
|
|
357
|
-
version: 3.1.29(
|
|
357
|
+
version: 3.1.29(vue@3.5.38(typescript@5.9.3))
|
|
358
358
|
'@cabloy/lint':
|
|
359
359
|
specifier: ^5.1.31
|
|
360
360
|
version: 5.1.31(@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/rule-tester@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.1(typescript@5.9.3))(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(oxfmt@0.62.0)(oxlint@1.77.0)(supports-color@10.2.2)(typescript@5.9.3)(vue-eslint-parser@10.4.1(eslint@10.6.0(jiti@2.7.0)))
|
|
@@ -429,7 +429,7 @@ importers:
|
|
|
429
429
|
dependencies:
|
|
430
430
|
'@cabloy/cli':
|
|
431
431
|
specifier: ^3.1.29
|
|
432
|
-
version: 3.1.29(
|
|
432
|
+
version: 3.1.29(vue@3.5.38(typescript@5.9.3))
|
|
433
433
|
'@cabloy/process-helper':
|
|
434
434
|
specifier: ^3.1.8
|
|
435
435
|
version: 3.1.8
|
|
@@ -463,7 +463,7 @@ importers:
|
|
|
463
463
|
version: 7.29.7(@babel/core@7.29.7)
|
|
464
464
|
'@cabloy/cli':
|
|
465
465
|
specifier: ^3.1.29
|
|
466
|
-
version: 3.1.29(
|
|
466
|
+
version: 3.1.29(vue@3.5.38(typescript@5.9.3))
|
|
467
467
|
'@cabloy/extend':
|
|
468
468
|
specifier: ^3.2.8
|
|
469
469
|
version: 3.2.8
|
|
@@ -717,7 +717,7 @@ importers:
|
|
|
717
717
|
specifier: ^3.5.38
|
|
718
718
|
version: 3.5.38(typescript@5.9.3)
|
|
719
719
|
zova-core:
|
|
720
|
-
specifier: ^5.1.
|
|
720
|
+
specifier: ^5.1.84
|
|
721
721
|
version: link:../../packages-zova/zova-core
|
|
722
722
|
devDependencies:
|
|
723
723
|
clean-package:
|
|
@@ -858,10 +858,10 @@ importers:
|
|
|
858
858
|
packages-zova/zova:
|
|
859
859
|
dependencies:
|
|
860
860
|
zova-core:
|
|
861
|
-
specifier: ^5.1.
|
|
861
|
+
specifier: ^5.1.84
|
|
862
862
|
version: link:../zova-core
|
|
863
863
|
zova-suite-a-zova:
|
|
864
|
-
specifier: ^5.1.
|
|
864
|
+
specifier: ^5.1.146
|
|
865
865
|
version: link:../../src/suite-vendor/a-zova
|
|
866
866
|
devDependencies:
|
|
867
867
|
clean-package:
|
|
@@ -927,6 +927,9 @@ importers:
|
|
|
927
927
|
'@types/js-cookie':
|
|
928
928
|
specifier: ^3.0.6
|
|
929
929
|
version: 3.0.6
|
|
930
|
+
'@types/ms':
|
|
931
|
+
specifier: ^2.1.0
|
|
932
|
+
version: 2.1.0
|
|
930
933
|
'@vue/shared':
|
|
931
934
|
specifier: 3.5.13
|
|
932
935
|
version: 3.5.13
|
|
@@ -962,7 +965,7 @@ importers:
|
|
|
962
965
|
src/suite-vendor/a-cabloy:
|
|
963
966
|
dependencies:
|
|
964
967
|
zova-module-rest-resource:
|
|
965
|
-
specifier: ^5.1.
|
|
968
|
+
specifier: ^5.1.43
|
|
966
969
|
version: link:modules/rest-resource
|
|
967
970
|
|
|
968
971
|
src/suite-vendor/a-cabloy/modules/rest-resource:
|
|
@@ -977,7 +980,7 @@ importers:
|
|
|
977
980
|
src/suite-vendor/a-pay:
|
|
978
981
|
dependencies:
|
|
979
982
|
zova-module-a-pay:
|
|
980
|
-
specifier: ^5.0.
|
|
983
|
+
specifier: ^5.0.4
|
|
981
984
|
version: link:modules/a-pay
|
|
982
985
|
zova-module-pay-mock:
|
|
983
986
|
specifier: ^5.0.2
|
|
@@ -1058,7 +1061,7 @@ importers:
|
|
|
1058
1061
|
specifier: ^5.1.26
|
|
1059
1062
|
version: link:modules/a-icon
|
|
1060
1063
|
zova-module-a-interceptor:
|
|
1061
|
-
specifier: ^5.1.
|
|
1064
|
+
specifier: ^5.1.30
|
|
1062
1065
|
version: link:modules/a-interceptor
|
|
1063
1066
|
zova-module-a-logger:
|
|
1064
1067
|
specifier: ^5.1.26
|
|
@@ -1067,13 +1070,13 @@ importers:
|
|
|
1067
1070
|
specifier: ^5.1.21
|
|
1068
1071
|
version: link:modules/a-meta
|
|
1069
1072
|
zova-module-a-model:
|
|
1070
|
-
specifier: ^5.1.
|
|
1073
|
+
specifier: ^5.1.34
|
|
1071
1074
|
version: link:modules/a-model
|
|
1072
1075
|
zova-module-a-openapi:
|
|
1073
|
-
specifier: ^5.1.
|
|
1076
|
+
specifier: ^5.1.49
|
|
1074
1077
|
version: link:modules/a-openapi
|
|
1075
1078
|
zova-module-a-router:
|
|
1076
|
-
specifier: ^5.1.
|
|
1079
|
+
specifier: ^5.1.32
|
|
1077
1080
|
version: link:modules/a-router
|
|
1078
1081
|
zova-module-a-routerstack:
|
|
1079
1082
|
specifier: ^5.1.26
|
|
@@ -1082,16 +1085,16 @@ importers:
|
|
|
1082
1085
|
specifier: ^5.1.33
|
|
1083
1086
|
version: link:modules/a-routertabs
|
|
1084
1087
|
zova-module-a-ssr:
|
|
1085
|
-
specifier: ^5.1.
|
|
1088
|
+
specifier: ^5.1.34
|
|
1086
1089
|
version: link:modules/a-ssr
|
|
1087
1090
|
zova-module-a-ssrhmr:
|
|
1088
1091
|
specifier: ^5.1.22
|
|
1089
1092
|
version: link:modules/a-ssrhmr
|
|
1090
1093
|
zova-module-a-ssrserver:
|
|
1091
|
-
specifier: ^5.1.
|
|
1094
|
+
specifier: ^5.1.24
|
|
1092
1095
|
version: link:modules/a-ssrserver
|
|
1093
1096
|
zova-module-a-style:
|
|
1094
|
-
specifier: ^5.1.
|
|
1097
|
+
specifier: ^5.1.34
|
|
1095
1098
|
version: link:modules/a-style
|
|
1096
1099
|
zova-module-a-table:
|
|
1097
1100
|
specifier: ^5.1.37
|
|
@@ -1100,7 +1103,7 @@ importers:
|
|
|
1100
1103
|
specifier: ^5.1.36
|
|
1101
1104
|
version: link:modules/a-zod
|
|
1102
1105
|
zova-module-a-zova:
|
|
1103
|
-
specifier: ^5.1.
|
|
1106
|
+
specifier: ^5.1.99
|
|
1104
1107
|
version: link:modules/a-zova
|
|
1105
1108
|
|
|
1106
1109
|
src/suite-vendor/a-zova/modules/a-api:
|
|
@@ -1174,7 +1177,7 @@ importers:
|
|
|
1174
1177
|
dependencies:
|
|
1175
1178
|
axios:
|
|
1176
1179
|
specifier: ^1.18.1
|
|
1177
|
-
version: 1.18.1
|
|
1180
|
+
version: 1.18.1
|
|
1178
1181
|
devDependencies:
|
|
1179
1182
|
clean-package:
|
|
1180
1183
|
specifier: ^2.2.0
|
|
@@ -1442,12 +1445,12 @@ importers:
|
|
|
1442
1445
|
specifier: ^3.7.2
|
|
1443
1446
|
version: 3.7.2
|
|
1444
1447
|
zova-jsx:
|
|
1445
|
-
specifier: ^1.1.
|
|
1448
|
+
specifier: ^1.1.84
|
|
1446
1449
|
version: link:../../../../../packages-utils/zova-jsx
|
|
1447
1450
|
devDependencies:
|
|
1448
1451
|
'@cabloy/cli':
|
|
1449
1452
|
specifier: ^3.1.29
|
|
1450
|
-
version: 3.1.29(
|
|
1453
|
+
version: 3.1.29(vue@3.5.38(typescript@5.9.3))
|
|
1451
1454
|
'@types/luxon':
|
|
1452
1455
|
specifier: ^3.7.1
|
|
1453
1456
|
version: 3.7.2
|
|
@@ -8430,7 +8433,7 @@ snapshots:
|
|
|
8430
8433
|
|
|
8431
8434
|
'@bufbuild/protobuf@2.12.1': {}
|
|
8432
8435
|
|
|
8433
|
-
'@cabloy/cli@3.1.29(
|
|
8436
|
+
'@cabloy/cli@3.1.29(vue@3.5.38(typescript@5.9.3))':
|
|
8434
8437
|
dependencies:
|
|
8435
8438
|
'@babel/parser': 7.29.7
|
|
8436
8439
|
'@cabloy/module-glob': 5.3.18
|
|
@@ -8439,7 +8442,7 @@ snapshots:
|
|
|
8439
8442
|
'@cabloy/utils': 2.1.27
|
|
8440
8443
|
'@cabloy/word-utils': link:packages-utils/word-utils
|
|
8441
8444
|
'@npmcli/config': 10.11.0
|
|
8442
|
-
'@zhennann/common-bin': 4.0.1
|
|
8445
|
+
'@zhennann/common-bin': 4.0.1
|
|
8443
8446
|
'@zhennann/ejs': 3.0.1
|
|
8444
8447
|
boxen: 4.2.0
|
|
8445
8448
|
chalk: 3.0.0
|
|
@@ -10465,7 +10468,7 @@ snapshots:
|
|
|
10465
10468
|
|
|
10466
10469
|
'@vue/shared@3.5.13': {}
|
|
10467
10470
|
|
|
10468
|
-
'@zhennann/common-bin@4.0.1
|
|
10471
|
+
'@zhennann/common-bin@4.0.1':
|
|
10469
10472
|
dependencies:
|
|
10470
10473
|
chalk: 4.1.2
|
|
10471
10474
|
change-case: 4.1.2
|
|
@@ -10499,7 +10502,7 @@ snapshots:
|
|
|
10499
10502
|
|
|
10500
10503
|
acorn@8.17.0: {}
|
|
10501
10504
|
|
|
10502
|
-
agent-base@6.0.2
|
|
10505
|
+
agent-base@6.0.2:
|
|
10503
10506
|
dependencies:
|
|
10504
10507
|
debug: 4.4.3(supports-color@10.2.2)
|
|
10505
10508
|
transitivePeerDependencies:
|
|
@@ -10611,11 +10614,11 @@ snapshots:
|
|
|
10611
10614
|
dependencies:
|
|
10612
10615
|
possible-typed-array-names: 1.1.0
|
|
10613
10616
|
|
|
10614
|
-
axios@1.18.1
|
|
10617
|
+
axios@1.18.1:
|
|
10615
10618
|
dependencies:
|
|
10616
10619
|
follow-redirects: 1.16.0
|
|
10617
10620
|
form-data: 4.0.6
|
|
10618
|
-
https-proxy-agent: 5.0.1
|
|
10621
|
+
https-proxy-agent: 5.0.1
|
|
10619
10622
|
proxy-from-env: 2.1.0
|
|
10620
10623
|
transitivePeerDependencies:
|
|
10621
10624
|
- debug
|
|
@@ -12026,9 +12029,9 @@ snapshots:
|
|
|
12026
12029
|
statuses: 2.0.2
|
|
12027
12030
|
toidentifier: 1.0.1
|
|
12028
12031
|
|
|
12029
|
-
https-proxy-agent@5.0.1
|
|
12032
|
+
https-proxy-agent@5.0.1:
|
|
12030
12033
|
dependencies:
|
|
12031
|
-
agent-base: 6.0.2
|
|
12034
|
+
agent-base: 6.0.2
|
|
12032
12035
|
debug: 4.4.3(supports-color@10.2.2)
|
|
12033
12036
|
transitivePeerDependencies:
|
|
12034
12037
|
- supports-color
|
package/zova/src/suite/a-home/modules/home-layoutadmin/src/component/layoutAdmin/controller.tsx
CHANGED
|
@@ -22,7 +22,7 @@ export class ControllerLayoutAdmin extends BeanControllerBase {
|
|
|
22
22
|
@Use()
|
|
23
23
|
$$modelLayout: ModelLayout;
|
|
24
24
|
|
|
25
|
-
@Use()
|
|
25
|
+
@Use({ beanFullName: 'home-base.service.ssrLayout' })
|
|
26
26
|
get $$serviceSsrLayout(): ServiceSsrLayout {
|
|
27
27
|
const sidebar = this.scope.config.layout.sidebar;
|
|
28
28
|
return usePrepareArg({
|
package/zova/src/suite/a-home/modules/home-layoutempty/src/component/layoutEmpty/controller.tsx
CHANGED
|
@@ -9,7 +9,7 @@ export interface ControllerLayoutEmptyProps {}
|
|
|
9
9
|
export class ControllerLayoutEmpty extends BeanControllerBase {
|
|
10
10
|
static $propsDefault = {};
|
|
11
11
|
|
|
12
|
-
@Use()
|
|
12
|
+
@Use({ beanFullName: 'home-base.service.ssrLayout' })
|
|
13
13
|
get $$serviceSsrLayout(): ServiceSsrLayout {
|
|
14
14
|
const sidebar = this.scope.config.layout.sidebar;
|
|
15
15
|
return usePrepareArg({
|
|
@@ -21,7 +21,7 @@ export class ControllerLayoutWeb extends BeanControllerBase {
|
|
|
21
21
|
@Use()
|
|
22
22
|
$$modelLayout: ModelLayout;
|
|
23
23
|
|
|
24
|
-
@Use()
|
|
24
|
+
@Use({ beanFullName: 'home-base.service.ssrLayout' })
|
|
25
25
|
get $$serviceSsrLayout(): ServiceSsrLayout {
|
|
26
26
|
const sidebar = this.scope.config.layout.sidebar;
|
|
27
27
|
return usePrepareArg({
|
package/zova/src/suite-vendor/a-zova/modules/a-model/src/bean/bean.model/bean.model.persister.ts
CHANGED
|
@@ -75,11 +75,38 @@ export class BeanModelPersister extends BeanModelLast {
|
|
|
75
75
|
if (!query) return;
|
|
76
76
|
const options = this._adjustPersisterOptions(query.meta?.persister);
|
|
77
77
|
if (!options) return;
|
|
78
|
+
this._persisterSave(query, options);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
$persisterSaveTo(queryKey: QueryKey, storageTarget: 'cookie' | 'local', value?: unknown) {
|
|
82
|
+
const query = this.self.$queryFind({ queryKey });
|
|
83
|
+
if (!query) {
|
|
84
|
+
if (process.env.DEV) {
|
|
85
|
+
console.warn('Cannot save persisted query because it was not found', queryKey);
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const persister =
|
|
90
|
+
query.meta?.persister && typeof query.meta.persister === 'object' ? query.meta.persister : {};
|
|
91
|
+
const options = this._adjustPersisterOptions({
|
|
92
|
+
...persister,
|
|
93
|
+
storage: storageTarget,
|
|
94
|
+
sync: true,
|
|
95
|
+
serializeDefault: (obj?: Query) =>
|
|
96
|
+
storageTarget === 'cookie'
|
|
97
|
+
? String(obj?.state?.data ?? '')
|
|
98
|
+
: JSON.stringify(obj?.state?.data),
|
|
99
|
+
});
|
|
100
|
+
if (!options) return;
|
|
101
|
+
this._persisterSave(query, options, value);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
private _persisterSave(query: Query, options: QueryMetaPersister, value?: unknown) {
|
|
78
105
|
const storage = this._getPersisterStorage(options, query);
|
|
79
106
|
if (!storage) return;
|
|
80
107
|
const storageKey = this._getPersisterStorageKey(options, query);
|
|
81
108
|
const params = {
|
|
82
|
-
state: query.state,
|
|
109
|
+
state: value === undefined ? query.state : { ...query.state, data: value },
|
|
83
110
|
queryKey: query.queryKey,
|
|
84
111
|
queryHash: query.queryHash,
|
|
85
112
|
buster: options.buster,
|
|
@@ -65,7 +65,7 @@ export class ModelSdk extends BeanModelBase {
|
|
|
65
65
|
const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);
|
|
66
66
|
if (!bootstrap) throw new Error('load bootstrap error');
|
|
67
67
|
if (process.env.SERVER) {
|
|
68
|
-
if (!this.$ssr.cookieDisabledOnServer) {
|
|
68
|
+
if (!this.ctx.meta.$ssr.cookieDisabledOnServer) {
|
|
69
69
|
await $QueryEnsureLoaded(() => this.getPermissions(resource));
|
|
70
70
|
}
|
|
71
71
|
} else {
|
|
@@ -22,6 +22,7 @@ import { shallowReactive } from 'vue';
|
|
|
22
22
|
import { BeanControllerPageBase, BeanSimple, cast, useComputed } from 'zova';
|
|
23
23
|
|
|
24
24
|
import type { BeanRouter } from './bean/bean.router.js';
|
|
25
|
+
import type { SysRouter } from './bean/sys.router.js';
|
|
25
26
|
import type { TypePageSchema } from './types/router.js';
|
|
26
27
|
|
|
27
28
|
import { routerViewKey } from './lib/const.js';
|
|
@@ -40,8 +41,16 @@ export class Monkey
|
|
|
40
41
|
IMonkeyController
|
|
41
42
|
{
|
|
42
43
|
private _beanRouter: BeanRouter;
|
|
44
|
+
private _sysRouter: SysRouter;
|
|
43
45
|
serviceRouterGuards: ServiceRouterGuards;
|
|
44
46
|
|
|
47
|
+
private async _getSysRouter() {
|
|
48
|
+
if (!this._sysRouter) {
|
|
49
|
+
this._sysRouter = (await this.sys.bean._getBean('a-router.sys.router', false)) as SysRouter;
|
|
50
|
+
}
|
|
51
|
+
return this._sysRouter;
|
|
52
|
+
}
|
|
53
|
+
|
|
45
54
|
async getBeanRouter() {
|
|
46
55
|
if (!this._beanRouter) {
|
|
47
56
|
// markReactive: true
|
|
@@ -55,6 +64,20 @@ export class Monkey
|
|
|
55
64
|
}
|
|
56
65
|
|
|
57
66
|
async appInitialize() {
|
|
67
|
+
const ssrState = this.ctx.meta.$ssr.state;
|
|
68
|
+
if (
|
|
69
|
+
process.env.SERVER &&
|
|
70
|
+
(ssrState.ssrProfile === undefined || ssrState.ssrProfileOptions === undefined)
|
|
71
|
+
) {
|
|
72
|
+
const pagePathFull = this.app.$getCurrentPagePath();
|
|
73
|
+
if (pagePathFull) {
|
|
74
|
+
const sysRouter = await this._getSysRouter();
|
|
75
|
+
const route = await sysRouter.resolveRoute(pagePathFull, true, false);
|
|
76
|
+
if (route) {
|
|
77
|
+
this.ctx.meta.$ssr._setProfile(route.meta.ssrProfile, route.meta.ssrProfileOptions);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
58
81
|
// router
|
|
59
82
|
this.serviceRouterGuards = await this.bean._newBean(ServiceRouterGuards, false);
|
|
60
83
|
// ssr errorHandler
|
|
@@ -22,7 +22,7 @@ export class MonkeySys
|
|
|
22
22
|
|
|
23
23
|
async getSysRouter() {
|
|
24
24
|
if (!this._sysRouter) {
|
|
25
|
-
this._sysRouter = (await this.bean._getBean('a-router.sys.router', false)) as SysRouter;
|
|
25
|
+
this._sysRouter = (await this.sys.bean._getBean('a-router.sys.router', false)) as SysRouter;
|
|
26
26
|
}
|
|
27
27
|
return this._sysRouter;
|
|
28
28
|
}
|
|
@@ -30,9 +30,13 @@ export class Monkey
|
|
|
30
30
|
async appInitialize() {
|
|
31
31
|
this.app.meta.event.on('a-router:routerGuards', async (router, next) => {
|
|
32
32
|
if (process.env.CLIENT) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
// Server profile state is prepared before appInitialize; this synchronizes client navigation.
|
|
34
|
+
router.beforeEach(to => {
|
|
35
|
+
this.ctx.meta.$ssr._setProfile(to.meta.ssrProfile, to.meta.ssrProfileOptions);
|
|
36
|
+
});
|
|
37
|
+
router.afterEach((_to, from, failure) => {
|
|
38
|
+
if (failure) {
|
|
39
|
+
this.ctx.meta.$ssr._setProfile(from.meta.ssrProfile, from.meta.ssrProfileOptions);
|
|
36
40
|
}
|
|
37
41
|
});
|
|
38
42
|
}
|
|
@@ -18,6 +18,7 @@ export class BeanTheme extends BeanModelBase {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
token: unknown;
|
|
21
|
+
private _cookieTheme: boolean;
|
|
21
22
|
private _mediaDark?: MediaQueryList;
|
|
22
23
|
private _onMediaDarkChange?;
|
|
23
24
|
|
|
@@ -25,8 +26,13 @@ export class BeanTheme extends BeanModelBase {
|
|
|
25
26
|
$$scopeSsr: ScopeModuleASsr;
|
|
26
27
|
|
|
27
28
|
protected async __init__() {
|
|
28
|
-
const cookieTheme = this.$ssr.profileOptions.useCookie;
|
|
29
|
+
const cookieTheme = (this._cookieTheme = this.$ssr.profileOptions.useCookie);
|
|
29
30
|
const cookieThemeDarkDefault = this.$$scopeSsr.config.cookieThemeDarkDefault;
|
|
31
|
+
const darkModeDefault = cookieTheme
|
|
32
|
+
? cookieThemeDarkDefault
|
|
33
|
+
: process.env.CLIENT
|
|
34
|
+
? (window.ssr_load_local<ThemeDarkMode>('themedark') ?? 'auto')
|
|
35
|
+
: 'auto';
|
|
30
36
|
// support admin
|
|
31
37
|
this.name = this.$useState(cookieTheme ? 'cookie' : 'local', {
|
|
32
38
|
queryKey: ['themename'],
|
|
@@ -47,7 +53,7 @@ export class BeanTheme extends BeanModelBase {
|
|
|
47
53
|
return deserializeDefault(value);
|
|
48
54
|
},
|
|
49
55
|
},
|
|
50
|
-
defaultData:
|
|
56
|
+
defaultData: darkModeDefault,
|
|
51
57
|
},
|
|
52
58
|
});
|
|
53
59
|
this._updateDark();
|
|
@@ -67,6 +73,7 @@ export class BeanTheme extends BeanModelBase {
|
|
|
67
73
|
|
|
68
74
|
// not use watch.immediate for await done
|
|
69
75
|
await this._applyInitialThemeAndSsrDualOutput();
|
|
76
|
+
this._syncDarkModePersistence();
|
|
70
77
|
}
|
|
71
78
|
|
|
72
79
|
protected __dispose__() {
|
|
@@ -75,6 +82,7 @@ export class BeanTheme extends BeanModelBase {
|
|
|
75
82
|
|
|
76
83
|
private _updateDark() {
|
|
77
84
|
this._dark = this._getDarkFromDarkMode(this.darkMode);
|
|
85
|
+
this._syncDarkModePersistence();
|
|
78
86
|
}
|
|
79
87
|
|
|
80
88
|
async _applyInitialThemeAndSsrDualOutput() {
|
|
@@ -119,6 +127,17 @@ export class BeanTheme extends BeanModelBase {
|
|
|
119
127
|
return (await this.bean._getBean(beanFullNameFromOnionName(name, 'theme'), true)) as IThemeBase;
|
|
120
128
|
}
|
|
121
129
|
|
|
130
|
+
private _syncDarkModePersistence() {
|
|
131
|
+
if (!process.env.CLIENT || this._dark === undefined) return;
|
|
132
|
+
const queryKey = ['themedark'];
|
|
133
|
+
const target = this._cookieTheme ? 'local' : 'cookie';
|
|
134
|
+
try {
|
|
135
|
+
this.$persisterSaveTo(queryKey, target, this._dark);
|
|
136
|
+
} catch (err) {
|
|
137
|
+
if (process.env.DEV) console.warn('Failed to mirror themedark persistence', err);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
122
141
|
toggleDark() {
|
|
123
142
|
this.darkMode = !this._dark;
|
|
124
143
|
this._updateDark(); // immediate
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-module-a-zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.99",
|
|
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.84"
|
|
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.146",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "zova",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
"zova-module-a-interceptor": "^5.1.30",
|
|
22
22
|
"zova-module-a-logger": "^5.1.26",
|
|
23
23
|
"zova-module-a-meta": "^5.1.21",
|
|
24
|
-
"zova-module-a-model": "^5.1.
|
|
25
|
-
"zova-module-a-openapi": "^5.1.
|
|
26
|
-
"zova-module-a-router": "^5.1.
|
|
24
|
+
"zova-module-a-model": "^5.1.34",
|
|
25
|
+
"zova-module-a-openapi": "^5.1.49",
|
|
26
|
+
"zova-module-a-router": "^5.1.32",
|
|
27
27
|
"zova-module-a-routerstack": "^5.1.26",
|
|
28
28
|
"zova-module-a-routertabs": "^5.1.33",
|
|
29
|
-
"zova-module-a-ssr": "^5.1.
|
|
29
|
+
"zova-module-a-ssr": "^5.1.34",
|
|
30
30
|
"zova-module-a-ssrhmr": "^5.1.22",
|
|
31
31
|
"zova-module-a-ssrserver": "^5.1.24",
|
|
32
|
-
"zova-module-a-style": "^5.1.
|
|
32
|
+
"zova-module-a-style": "^5.1.34",
|
|
33
33
|
"zova-module-a-table": "^5.1.37",
|
|
34
34
|
"zova-module-a-zod": "^5.1.36",
|
|
35
|
-
"zova-module-a-zova": "^5.1.
|
|
35
|
+
"zova-module-a-zova": "^5.1.99"
|
|
36
36
|
},
|
|
37
37
|
"title": "a-zova"
|
|
38
38
|
}
|