zova-module-rest-resource 5.1.54 → 5.1.56

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.
@@ -9,5 +9,9 @@ export declare namespace NSControllerPageEntry {
9
9
  type ParamsInput = z.input<typeof ControllerPageEntrySchemaParams>;
10
10
  type ParamsOutput = z.output<typeof ControllerPageEntrySchemaParams>;
11
11
  }
12
- export declare const ZPageEntry: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
12
+ export declare const ZPageEntry: import("vue").DefineSetupFnComponent<Record<string, any>, import("vue").EmitsOptions, import("vue").SlotsType<Record<string, any>>, Record<string, any> & ({
13
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
14
+ } | {
15
+ [x: `on${Capitalize<string>}`]: ((...args: never) => any) | undefined;
16
+ }), import("vue").PublicProps>;
13
17
  //# sourceMappingURL=entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,YAAY;;;;qBAAkC,CAAC;IAC5D,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC1E,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;CAC7E;AAED,eAAO,MAAM,UAAU,wHAAqE,CAAC"}
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,YAAY;;;;qBAAkC,CAAC;IAC5D,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC1E,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;CAC7E;AAED,eAAO,MAAM,UAAU;;;;8BAAqE,CAAC"}
@@ -9,5 +9,9 @@ export declare namespace NSControllerPageEntryCreate {
9
9
  type ParamsInput = z.input<typeof ControllerPageEntryCreateSchemaParams>;
10
10
  type ParamsOutput = z.output<typeof ControllerPageEntryCreateSchemaParams>;
11
11
  }
12
- export declare const ZPageEntryCreate: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
12
+ export declare const ZPageEntryCreate: import("vue").DefineSetupFnComponent<Record<string, any>, import("vue").EmitsOptions, import("vue").SlotsType<Record<string, any>>, Record<string, any> & ({
13
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
14
+ } | {
15
+ [x: `on${Capitalize<string>}`]: ((...args: never) => any) | undefined;
16
+ }), import("vue").PublicProps>;
13
17
  //# sourceMappingURL=entryCreate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entryCreate.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/entryCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,yBAAiB,2BAA2B,CAAC;IACpC,MAAM,YAAY;;;;qBAAwC,CAAC;IAClE,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAChF,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qCAAqC,CAAC,CAAC;CACnF;AAED,eAAO,MAAM,gBAAgB,wHAI5B,CAAC"}
1
+ {"version":3,"file":"entryCreate.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/entryCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,yBAAiB,2BAA2B,CAAC;IACpC,MAAM,YAAY;;;;qBAAwC,CAAC;IAClE,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAChF,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qCAAqC,CAAC,CAAC;CACnF;AAED,eAAO,MAAM,gBAAgB;;;;8BAI5B,CAAC"}
@@ -7,5 +7,9 @@ export declare namespace NSControllerPageResource {
7
7
  type ParamsInput = z.input<typeof ControllerPageResourceSchemaParams>;
8
8
  type ParamsOutput = z.output<typeof ControllerPageResourceSchemaParams>;
9
9
  }
10
- export declare const ZPageResource: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
10
+ export declare const ZPageResource: import("vue").DefineSetupFnComponent<Record<string, any>, import("vue").EmitsOptions, import("vue").SlotsType<Record<string, any>>, Record<string, any> & ({
11
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
12
+ } | {
13
+ [x: `on${Capitalize<string>}`]: ((...args: never) => any) | undefined;
14
+ }), import("vue").PublicProps>;
11
15
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,yBAAiB,wBAAwB,CAAC;IACjC,MAAM,YAAY;;qBAAqC,CAAC;IAC/D,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;IAC7E,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;CAChF;AAED,eAAO,MAAM,aAAa,wHAAwE,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,yBAAiB,wBAAwB,CAAC;IACjC,MAAM,YAAY;;qBAAqC,CAAC;IAC/D,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;IAC7E,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;CAChF;AAED,eAAO,MAAM,aAAa;;;;8BAKzB,CAAC"}
@@ -7,5 +7,9 @@ export declare namespace NSControllerPageResourcePicker {
7
7
  type ParamsInput = z.input<typeof ControllerPageResourcePickerSchemaParams>;
8
8
  type ParamsOutput = z.output<typeof ControllerPageResourcePickerSchemaParams>;
9
9
  }
10
- export declare const ZPageResourcePicker: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
10
+ export declare const ZPageResourcePicker: import("vue").DefineSetupFnComponent<Record<string, any>, import("vue").EmitsOptions, import("vue").SlotsType<Record<string, any>>, Record<string, any> & ({
11
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
12
+ } | {
13
+ [x: `on${Capitalize<string>}`]: ((...args: never) => any) | undefined;
14
+ }), import("vue").PublicProps>;
11
15
  //# sourceMappingURL=resourcePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resourcePicker.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/resourcePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,wCAAwC,EAAE,MAAM,0CAA0C,CAAC;AACpG,yBAAiB,8BAA8B,CAAC;IACvC,MAAM,YAAY;;qBAA2C,CAAC;IACrE,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,CAAC;IACnF,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wCAAwC,CAAC,CAAC;CACtF;AAED,eAAO,MAAM,mBAAmB,wHAI/B,CAAC"}
1
+ {"version":3,"file":"resourcePicker.d.ts","sourceRoot":"","sources":["../../../src/.metadata/page/resourcePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,wCAAwC,EAAE,MAAM,0CAA0C,CAAC;AACpG,yBAAiB,8BAA8B,CAAC;IACvC,MAAM,YAAY;;qBAA2C,CAAC;IACrE,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,CAAC;IACnF,KAAY,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wCAAwC,CAAC,CAAC;CACtF;AAED,eAAO,MAAM,mBAAmB;;;;8BAI/B,CAAC"}
package/dist/index.js CHANGED
@@ -353,6 +353,7 @@ var ControllerPageEntry = (_dec$4 = Controller(), _dec2$4 = BeanInfo({ module: "
353
353
  this.formProvider = void 0;
354
354
  this.formSchema = void 0;
355
355
  this.jsxZova = void 0;
356
+ this._blocks = void 0;
356
357
  }
357
358
  get $$modelResource() {
358
359
  return usePrepareArg(this.$params.resource, true);
@@ -383,7 +384,9 @@ var ControllerPageEntry = (_dec$4 = Controller(), _dec2$4 = BeanInfo({ module: "
383
384
  this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false, this.formProvider.components);
384
385
  }
385
386
  render() {
386
- const blocks = this.formSchema?.rest?.blocks;
387
+ const schema = this.formSchema;
388
+ if (schema) this._blocks = schema.rest?.blocks;
389
+ const blocks = this._blocks;
387
390
  if (!blocks || blocks.length === 0) return;
388
391
  const domBlocks = [];
389
392
  blocks.forEach((block, index) => {
@@ -421,6 +424,7 @@ var _dec4$1;
421
424
  var _dec5$1;
422
425
  var _class$2;
423
426
  var _class2$1;
427
+ var _ControllerPageResource;
424
428
  function _applyDecoratedDescriptor$1(i, e, r, n, l) {
425
429
  var a = {};
426
430
  return Object.keys(n).forEach(function(i) {
@@ -434,7 +438,7 @@ function _isSlot$1(s) {
434
438
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
435
439
  }
436
440
  var ControllerPageResourceSchemaParams = z.object({ resource: z.string() });
437
- var ControllerPageResource = (_dec$2 = Controller(), _dec2$2 = BeanInfo({ module: "rest-resource" }), _dec3$1 = Use({ beanFullName: "rest-resource.model.resource" }), _dec4$1 = Reflect.metadata("design:type", Function), _dec5$1 = Reflect.metadata("design:paramtypes", []), _dec$2(_class$2 = _dec2$2(_class$2 = (_class2$1 = class ControllerPageResource extends BeanControllerPageBase {
441
+ var ControllerPageResource = (_dec$2 = Controller(), _dec2$2 = BeanInfo({ module: "rest-resource" }), _dec3$1 = Use({ beanFullName: "rest-resource.model.resource" }), _dec4$1 = Reflect.metadata("design:type", Function), _dec5$1 = Reflect.metadata("design:paramtypes", []), _dec$2(_class$2 = _dec2$2(_class$2 = (_class2$1 = (_ControllerPageResource = class ControllerPageResource extends BeanControllerPageBase {
438
442
  constructor(...args) {
439
443
  super(...args);
440
444
  this.jsxZova = void 0;
@@ -468,7 +472,7 @@ var ControllerPageResource = (_dec$2 = Controller(), _dec2$2 = BeanInfo({ module
468
472
  });
469
473
  return createVNode(ZPage$1, null, _isSlot$1(domBlocks) ? domBlocks : { default: () => [domBlocks] });
470
474
  }
471
- }, _applyDecoratedDescriptor$1(_class2$1.prototype, "$$modelResource", [
475
+ }, _ControllerPageResource.$componentOptions = { boundary: { retry: true } }, _ControllerPageResource), _applyDecoratedDescriptor$1(_class2$1.prototype, "$$modelResource", [
472
476
  _dec3$1,
473
477
  _dec4$1,
474
478
  _dec5$1
@@ -590,7 +594,7 @@ var NSControllerPageResource;
590
594
  (function(_NSControllerPageResource) {
591
595
  _NSControllerPageResource.paramsSchema = ControllerPageResourceSchemaParams;
592
596
  })(NSControllerPageResource || (NSControllerPageResource = {}));
593
- var ZPageResource = createZovaComponentPage(ControllerPageResource, void 0, void 0);
597
+ var ZPageResource = createZovaComponentPage(ControllerPageResource, void 0, void 0, ControllerPageResource.$componentOptions);
594
598
  //#endregion
595
599
  //#region src/.metadata/page/resourcePicker.ts
596
600
  var NSControllerPageResourcePicker;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BeanControllerBase","Controller","resourcePickerPageContextKey","ControllerResourcePickerContext","_dec","_dec2","__z_BeanInfo","module","_class","_ControllerResourcePickerContext","__init__","bean","_setBean","$props","context","render","$slotDefault","$propsDefault","isNil","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","formMetaFromFormScene","$QueryEnsureLoaded","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageEntrySchemaParams","object","resource","string","id","optional","formScene","ControllerPageEntry","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_class","_class2","constructor","args","formMeta","formProvider","formSchema","jsxZova","$$modelResource","$params","entryId","__init__","$computed","getFormSchema","_prepareJsx","getFormApiSchemas","sdk","bean","_newBeanSimple","components","render","blocks","rest","length","domBlocks","forEach","block","index","options","key","domBlock","Array","isArray","push","_createVNode","ZPage","default","_applyDecoratedDescriptor","getOwnPropertyDescriptor","Virtual","Controller","ControllerPageEntry","ControllerPageEntrySchemaParams","ControllerPageEntryCreateSchemaParams","ControllerPageEntryCreate","_dec","_dec2","_dec3","__z_BeanInfo","module","_class","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","$QueryEnsureLoaded","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageResourceSchemaParams","object","resource","string","ControllerPageResource","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_class","_class2","constructor","args","jsxZova","$$modelResource","$params","__init__","_prepareJsx","apiSchemasSelect","sdk","bean","_newBeanSimple","schemaRow","render","blocks","rest","length","domBlocks","forEach","block","index","options","key","domBlock","Array","isArray","push","_createVNode","ZPage","default","_applyDecoratedDescriptor","getOwnPropertyDescriptor","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","$QueryEnsureLoaded","ZResourcePickerContext","resourcePickerPageHostKey","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageResourcePickerSchemaParams","object","resource","string","ControllerPageResourcePicker","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_dec6","name","injectionScope","_dec7","IResourcePickerPageHost","_class","_class2","constructor","args","jsxZova","_initializerDefineProperty","_descriptor","$$modelResource","$params","pickerContext","host","$$pickerHost","Error","options","session","dialog","__init__","bean","_newBeanSimple","apiSchemasSelect","sdk","schemaRow","render","blocks","prepareBlocks","rest","length","domBlocks","forEach","block","index","key","domBlock","Array","isArray","push","_createVNode","default","ZPage","_applyDecoratedDescriptor","getOwnPropertyDescriptor","configurable","enumerable","writable","initializer"],"sources":["../src/lib/deleteRequest.ts","../src/lib/mutationSuccess.ts","../src/lib/selectedIds.ts","../src/model/resource.ts","../src/lib/resourcePicker.ts","../src/component/resourcePickerContext/controller.tsx","../src/page/entry/controller.tsx","../src/page/entryCreate/controller.tsx","../src/page/resource/controller.tsx","../src/.metadata/component/resourcePickerContext.ts","../src/page/resourcePicker/controller.tsx","../src/.metadata/page/entry.ts","../src/.metadata/page/entryCreate.ts","../src/.metadata/page/resource.ts","../src/.metadata/page/resourcePicker.ts","../src/lib/resourceRouteMeta.ts","../src/routes.ts","../src/.metadata/index.ts"],"sourcesContent":["export function prepareDeleteRequestConfig(config, body) {\n if (body === undefined) return config;\n return {\n ...config,\n data: body\n };\n}","export async function runMutationSuccess(options) {\n await options.invalidateSelect?.();\n await options.invalidateItem?.();\n await options.onSuccess?.();\n}","import { isNil } from '@cabloy/utils';\nexport function validateSelectedIds(ids) {\n if (ids.length === 0) throw new Error('selected ids cannot empty');\n const keys = new Set();\n for (const id of ids) {\n if (isNil(id) || id === '') throw new Error('selected row id cannot empty');\n const key = String(id);\n if (keys.has(key)) throw new Error(`duplicate selected row id: ${key}`);\n keys.add(key);\n }\n return [...ids];\n}","var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor;\nfunction _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }\nfunction _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }\nfunction _initializerWarningHelper(r, e) { throw Error(\"Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.\"); }\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { hashkey, isNil } from '@cabloy/utils';\nimport { UseScope } from 'zova';\nimport { formSceneFromFormMeta } from 'zova-module-a-form';\nimport { $QueryEnsureLoaded, BeanModelBase, Model } from 'zova-module-a-model';\nimport { SymbolOpenapiSchemaName } from 'zova-module-a-openapi';\nimport { prepareDeleteRequestConfig } from '../lib/deleteRequest.js';\nimport { runMutationSuccess } from '../lib/mutationSuccess.js';\nimport { validateSelectedIds } from '../lib/selectedIds.js';\nexport let ModelResource = (_dec = Model({\n enableSelector: true\n}), _dec2 = __z_BeanInfo({\n module: \"rest-resource\"\n}), _dec3 = UseScope(\"a-openapi\"), _dec4 = Reflect.metadata(\"design:type\", typeof ScopeModuleAOpenapi === \"undefined\" ? Object : ScopeModuleAOpenapi), _dec(_class = _dec2(_class = (_class2 = class ModelResource extends BeanModelBase {\n constructor(...args) {\n super(...args);\n this.resource = void 0;\n this.resourceApi = void 0;\n this.permissions = void 0;\n this.formProvider = void 0;\n this.schemaView = void 0;\n this.schemaCreate = void 0;\n this.schemaUpdate = void 0;\n this.schemaFilter = void 0;\n this.schemaOrder = void 0;\n this.schemaRow = void 0;\n this.schemaPages = void 0;\n _initializerDefineProperty(this, \"$$scopeOpenapi\", _descriptor, this);\n }\n async __init__(resource) {\n if (!resource) throw new Error('resource not specified');\n await super.__init__(resource);\n this.resource = resource;\n this.permissions = this.$computed(() => {\n if (this.$ssr.cookieDisabledOnServer) return;\n const permissions = this.$sdk.getPermissions(this.resource);\n return permissions.data;\n });\n this.formProvider = this.$computed(() => {\n return this.$$scopeOpenapi.config.formProvider;\n });\n this.schemaView = this.$computed(() => {\n return this.apiSchemasView.responseBody;\n });\n this.schemaCreate = this.$computed(() => {\n return this.apiSchemasCreate.requestBody;\n });\n this.schemaUpdate = this.$computed(() => {\n return this.apiSchemasUpdate.requestBody;\n });\n this.schemaFilter = this.$computed(() => {\n return this.apiSchemasSelect.filter;\n });\n this.schemaOrder = this.$computed(() => {\n return this.apiSchemasSelect.order;\n });\n this.schemaRow = this.$computed(() => {\n return this.apiSchemasSelect.row;\n });\n this.schemaPages = this.$computed(() => {\n return this.apiSchemasSelect.paged;\n });\n // bootstrap\n await this._bootstrap();\n }\n selectGeneral(actionPath, query) {\n return this.$useStateData({\n queryKey: this.keySelect(actionPath, query),\n queryFn: async () => {\n const apiPath = actionPath ? `${this.resourceApi}/${actionPath}` : this.resourceApi;\n return this.$fetch.get(this.sys.util.apiActionPathTranslate(apiPath), this.sys.util.apiActionConfigPrepare(undefined, {\n query\n }));\n }\n });\n }\n select(query) {\n return this.selectGeneral(undefined, query);\n }\n query(action, queryFn) {\n return this.$useStateData({\n queryKey: this.keySelect(action),\n queryFn\n });\n }\n queryItem(options) {\n const {\n id,\n action,\n queryFn,\n meta\n } = options;\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useStateData({\n queryKey: this.keyItem(id, action),\n queryFn,\n meta\n });\n }\n view(id) {\n return this.queryItem({\n id,\n action: 'view',\n queryFn: async () => {\n const res = await this.$fetch.get(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n }), this.sys.util.apiActionConfigPrepare());\n return res ?? null;\n }\n });\n }\n create() {\n return this.$useMutationData({\n mutationKey: ['create'],\n mutationFn: async params => {\n return this.$fetch.post(this.sys.util.apiActionPathTranslate(this.resourceApi), params, this.sys.util.apiActionConfigPrepare());\n },\n onSuccess: async () => {\n await runMutationSuccess({\n invalidateSelect: () => this.$invalidateQueries({\n queryKey: ['select']\n })\n });\n }\n });\n }\n mutationItem(options) {\n const {\n id,\n action,\n mutationFn,\n onSuccess,\n invalidateSelect = true\n } = options;\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useMutationData({\n mutationKey: [...this.keyItem(id, action), 'mutation'],\n mutationFn,\n onSuccess: async (data, variables, context) => {\n await runMutationSuccess({\n invalidateSelect: invalidateSelect ? () => this.$invalidateQueries({\n queryKey: ['select']\n }) : undefined,\n invalidateItem: () => this.$invalidateQueries({\n queryKey: this.keyItemRoot(id)\n }),\n onSuccess: () => onSuccess?.(data, variables, context)\n });\n }\n });\n }\n mutationSelected(options) {\n const {\n action,\n getIds,\n mutationFn,\n onSuccess,\n invalidateSelect = true\n } = options;\n return this.$useMutationData({\n mutationKey: ['selected', action, 'mutation'],\n mutationFn: async variables => {\n this._getMutationSelectedIds(getIds, variables);\n return await mutationFn(variables);\n },\n onSuccess: async (data, variables, context) => {\n const ids = this._getMutationSelectedIds(getIds, variables);\n await runMutationSuccess({\n invalidateSelect: invalidateSelect ? () => this.$invalidateQueries({\n queryKey: ['select']\n }) : undefined,\n invalidateItem: async () => {\n await Promise.all(ids.map(id => this.$invalidateQueries({\n queryKey: this.keyItemRoot(id)\n })));\n },\n onSuccess: () => onSuccess?.(data, variables, context)\n });\n }\n });\n }\n deleteBulk() {\n return this.mutationSelected({\n action: 'delete',\n getIds: body => body.ids,\n mutationFn: async body => {\n return this.$fetch.post(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/bulk/delete`), body, this.sys.util.apiActionConfigPrepare());\n }\n });\n }\n update(id) {\n return this.mutationItem({\n id,\n action: 'update',\n mutationFn: async params => {\n return this.$fetch.patch(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n }), params, this.sys.util.apiActionConfigPrepare());\n }\n });\n }\n delete(id) {\n return this.mutationItem({\n id,\n action: 'delete',\n mutationFn: async body => {\n const apiPath = this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n });\n const apiConfig = prepareDeleteRequestConfig(this.sys.util.apiActionConfigPrepare(), body);\n return this.$fetch.delete(apiPath, apiConfig);\n }\n });\n }\n get apiSchemasSelect() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'get');\n }\n get apiSchemasView() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'get');\n }\n get apiSchemasCreate() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'post');\n }\n get apiSchemasUpdate() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'patch');\n }\n get apiSchemasDelete() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'delete');\n }\n getFormSchema(formMeta) {\n const formScene = formMeta.formScene ?? formSceneFromFormMeta(formMeta);\n if (formScene === 'view') return this.schemaView;\n if (formScene === 'create') return this.schemaCreate;\n if (formScene === 'edit') return this.schemaUpdate;\n }\n getFormApiSchemas(formMeta) {\n const formScene = formMeta.formScene ?? formSceneFromFormMeta(formMeta);\n if (formScene === 'view') return this.apiSchemasView;\n if (formScene === 'create') return this.apiSchemasCreate;\n if (formScene === 'edit') return this.apiSchemasUpdate;\n throw new Error('invalid parameters');\n }\n getFormMutationSubmit(formMeta, id) {\n if (formMeta.formMode !== 'edit') return;\n if (formMeta.editMode === 'create') {\n return this.create();\n } else if (formMeta.editMode === 'update') {\n return this.update(id);\n }\n }\n getFormData(formMeta, id) {\n if (formMeta.formMode === 'edit' && formMeta.editMode === 'create') {\n return this.getQueryDataDefaultValue(this.schemaCreate);\n }\n if (isNil(id)) return undefined;\n return this.view(id).data;\n }\n getQueryDataDefaultValue(schemaName) {\n if (!schemaName) return;\n if (typeof schemaName === 'object') {\n schemaName = schemaName[SymbolOpenapiSchemaName];\n }\n return this.$sdk.getSchemaDefaultValue(schemaName);\n }\n _getMutationSelectedIds(getIds, variables) {\n return validateSelectedIds(getIds(variables));\n }\n keySelect(actionPath, query) {\n return ['select', actionPath ?? '', hashkey(query)];\n }\n keyItemRoot(id) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return ['item', id];\n }\n keyItem(id, action) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return ['item', id, action];\n }\n async _bootstrap() {\n const queryBootstrap = await $QueryEnsureLoaded(() => this.$sdk.getBootstrap(this.resource));\n if (!queryBootstrap?.data) {\n throw new Error(`not found sdk of resource: ${this.resource}`);\n }\n this.resourceApi = this.sys.util.parseResourceApi(this.resource, queryBootstrap.data.apiPath);\n }\n}, _descriptor = _applyDecoratedDescriptor(_class2.prototype, \"$$scopeOpenapi\", [_dec3, _dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _class2)) || _class) || _class);","export const resourcePickerPageContextKey = '$resourcePickerPageContext';\nexport const resourcePickerPageHostKey = '$resourcePickerPageHost';","import { BeanControllerBase } from 'zova';\nimport { Controller } from 'zova-module-a-bean';\n\nimport type { IResourcePickerPageContext } from '../../page/resourcePicker/controller.js';\n\nimport { resourcePickerPageContextKey } from '../../lib/resourcePicker.js';\n\nexport interface ControllerResourcePickerContextProps {\n context: IResourcePickerPageContext;\n}\n\n@Controller()\nexport class ControllerResourcePickerContext extends BeanControllerBase {\n static $propsDefault = {};\n\n protected async __init__() {\n this.bean._setBean(\n resourcePickerPageContextKey,\n (this.$props as ControllerResourcePickerContextProps).context,\n );\n }\n\n protected render() {\n return this.$slotDefault?.();\n }\n}\n","import type {\n IFormMeta,\n IFormProvider,\n ISchemaObjectExtensionField,\n TypeFormScene,\n} from 'zova-module-a-openapi';\n\nimport { isNil } from '@cabloy/utils';\nimport { VNode } from 'vue';\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { formMetaFromFormScene } from 'zova-module-a-form';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type { ModelResource } from '../../model/resource.js';\n\nexport const ControllerPageEntrySchemaParams = z.object({\n resource: z.string(),\n id: z.string().optional(),\n formScene: z.string().optional(),\n});\n\n@Controller()\nexport class ControllerPageEntry extends BeanControllerPageBase {\n formMeta: IFormMeta;\n formProvider: IFormProvider;\n formSchema?: ISchemaObjectExtensionField;\n jsxZova: ZovaJsx;\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.$params.resource, true);\n }\n\n get resource() {\n return this.$params.resource;\n }\n\n get entryId() {\n return this.$params.id;\n }\n\n get formScene() {\n return (\n (this.$params.formScene as TypeFormScene | undefined) ??\n (isNil(this.entryId) ? 'create' : 'view')\n );\n }\n\n protected async __init__() {\n this.formMeta = this.$computed(() => {\n return formMetaFromFormScene(this.formScene);\n });\n this.formProvider = this.$computed(() => {\n return this.$$modelResource.formProvider;\n });\n this.formSchema = this.$computed(() => {\n return this.$$modelResource.getFormSchema(this.formMeta);\n });\n // jsx\n this._prepareJsx();\n // load schema\n await $QueryEnsureLoaded(() => this.$$modelResource.getFormApiSchemas(this.formMeta)?.sdk);\n }\n\n private _prepareJsx() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false, this.formProvider.components);\n }\n\n protected render() {\n const blocks = this.formSchema?.rest?.blocks;\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend(\n { key: index },\n {\n resource: this.resource,\n id: this.entryId,\n formScene: this.formScene,\n },\n block.options,\n );\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) {\n domBlocks.push(...domBlock);\n } else {\n domBlocks.push(domBlock);\n }\n });\n return <ZPage>{domBlocks}</ZPage>;\n }\n}\n","import { Virtual } from 'zova-core';\nimport { Controller } from 'zova-module-a-bean';\n\nimport { ControllerPageEntry, ControllerPageEntrySchemaParams } from '../entry/controller.jsx';\n\nexport const ControllerPageEntryCreateSchemaParams = ControllerPageEntrySchemaParams;\n\n@Controller()\n@Virtual()\nexport class ControllerPageEntryCreate extends ControllerPageEntry {}\n","import { VNode } from 'vue';\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type { ModelResource } from '../../model/resource.js';\n\nexport const ControllerPageResourceSchemaParams = z.object({\n resource: z.string(),\n});\n\n@Controller()\nexport class ControllerPageResource extends BeanControllerPageBase {\n jsxZova: ZovaJsx;\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.$params.resource, true);\n }\n\n get resource() {\n return this.$params.resource;\n }\n\n protected async __init__() {\n // jsx\n this._prepareJsx();\n // load schema/data\n await $QueryEnsureLoaded(() => this.$$modelResource.apiSchemasSelect.sdk);\n }\n\n private _prepareJsx() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);\n }\n\n get schemaRow() {\n return this.$$modelResource.schemaRow;\n }\n\n public render() {\n const blocks = this.schemaRow?.rest?.blocks;\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend(\n { key: index },\n {\n resource: this.resource,\n },\n block.options,\n );\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) {\n domBlocks.push(...domBlock);\n } else {\n domBlocks.push(domBlock);\n }\n });\n return <ZPage>{domBlocks}</ZPage>;\n }\n}\n","import { defineComponent } from 'vue';\nimport { prepareComponentOptions, useController } from 'zova';\nimport { ControllerResourcePickerContext } from '../../component/resourcePickerContext/controller.jsx';\nexport const ZResourcePickerContext = defineComponent(_props => {\n useController(ControllerResourcePickerContext, undefined, undefined);\n return () => {};\n}, prepareComponentOptions());","import type { VNode } from 'vue';\n\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type {\n IResourcePickerPageContext,\n IResourcePickerPageHost,\n} from '../../lib/resourcePicker.js';\nimport type { ModelResource } from '../../model/resource.js';\n\nimport { ZResourcePickerContext } from '../../.metadata/component/resourcePickerContext.js';\nimport { resourcePickerPageHostKey } from '../../lib/resourcePicker.js';\n\nexport const ControllerPageResourcePickerSchemaParams = z.object({\n resource: z.string(),\n});\n\n@Controller()\nexport class ControllerPageResourcePicker extends BeanControllerPageBase {\n jsxZova: ZovaJsx;\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.resource, true);\n }\n\n @Use({ name: resourcePickerPageHostKey, injectionScope: 'host' })\n $$pickerHost: IResourcePickerPageHost | undefined;\n\n get resource() {\n return this.$params.resource;\n }\n\n get pickerContext(): IResourcePickerPageContext {\n const host = this.$$pickerHost;\n if (!host) {\n throw new Error('resource picker requires a page host');\n }\n const options = host.options;\n const session = host.session;\n if (options.resource !== this.resource) {\n throw new Error('resource picker context does not match route resource');\n }\n return {\n options,\n session,\n dialog: host,\n };\n }\n\n protected async __init__() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);\n await $QueryEnsureLoaded(() => this.$$modelResource.apiSchemasSelect.sdk);\n }\n\n get schemaRow() {\n return this.$$modelResource.schemaRow;\n }\n\n public render() {\n const pickerContext = this.pickerContext;\n const blocks = this.$$pickerHost!.prepareBlocks(this.schemaRow?.rest?.blocks, pickerContext);\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend({ key: index }, { resource: this.resource }, block.options);\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) domBlocks.push(...domBlock);\n else domBlocks.push(domBlock);\n });\n return (\n <ZResourcePickerContext context={pickerContext}>\n <ZPage>{domBlocks}</ZPage>\n </ZResourcePickerContext>\n );\n }\n}\n\nexport type { IResourcePickerPageContext } from '../../lib/resourcePicker.js';\n","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageEntry } from '../../page/entry/controller.jsx';\nimport { ControllerPageEntrySchemaParams } from '../../page/entry/controller.jsx';\nexport let NSControllerPageEntry;\n(function (_NSControllerPageEntry) {\n const paramsSchema = _NSControllerPageEntry.paramsSchema = ControllerPageEntrySchemaParams;\n})(NSControllerPageEntry || (NSControllerPageEntry = {}));\nexport const ZPageEntry = createZovaComponentPage(ControllerPageEntry, undefined, undefined);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageEntryCreate } from '../../page/entryCreate/controller.jsx';\nimport { ControllerPageEntryCreateSchemaParams } from '../../page/entryCreate/controller.jsx';\nexport let NSControllerPageEntryCreate;\n(function (_NSControllerPageEntryCreate) {\n const paramsSchema = _NSControllerPageEntryCreate.paramsSchema = ControllerPageEntryCreateSchemaParams;\n})(NSControllerPageEntryCreate || (NSControllerPageEntryCreate = {}));\nexport const ZPageEntryCreate = createZovaComponentPage(ControllerPageEntryCreate, undefined, undefined);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageResource } from '../../page/resource/controller.jsx';\nimport { ControllerPageResourceSchemaParams } from '../../page/resource/controller.jsx';\nexport let NSControllerPageResource;\n(function (_NSControllerPageResource) {\n const paramsSchema = _NSControllerPageResource.paramsSchema = ControllerPageResourceSchemaParams;\n})(NSControllerPageResource || (NSControllerPageResource = {}));\nexport const ZPageResource = createZovaComponentPage(ControllerPageResource, undefined, undefined);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageResourcePicker } from '../../page/resourcePicker/controller.jsx';\nimport { ControllerPageResourcePickerSchemaParams } from '../../page/resourcePicker/controller.jsx';\nexport let NSControllerPageResourcePicker;\n(function (_NSControllerPageResourcePicker) {\n const paramsSchema = _NSControllerPageResourcePicker.paramsSchema = ControllerPageResourcePickerSchemaParams;\n})(NSControllerPageResourcePicker || (NSControllerPageResourcePicker = {}));\nexport const ZPageResourcePicker = createZovaComponentPage(ControllerPageResourcePicker, undefined, undefined);","export const resourceRouteMeta = {\n tabKey: resourceTabKey,\n componentKey: resourceTabKey,\n ssrProfile: 'session'\n};\nexport function resourceTabKey(route) {\n return `/rest/resource/${encodeURIComponent(route.params.resource)}`;\n}","import { ZPageEntry } from './.metadata/page/entry.js';\nimport { ZPageEntryCreate } from './.metadata/page/entryCreate.js';\nimport { ZPageResource } from './.metadata/page/resource.js';\nimport { ZPageResourcePicker } from './.metadata/page/resourcePicker.js';\nimport { resourceRouteMeta, resourceTabKey } from './lib/resourceRouteMeta.js';\nexport const routes = [{\n name: 'resource',\n path: ':resource',\n component: ZPageResource,\n meta: resourceRouteMeta\n}, {\n name: 'entryCreate',\n path: ':resource/create',\n component: ZPageEntryCreate,\n meta: {\n tabKey: resourceTabKey,\n ssrProfile: 'session'\n }\n}, {\n name: 'resourcePicker',\n path: ':resource/picker',\n component: ZPageResourcePicker,\n meta: {\n ssrProfile: 'session'\n }\n}, {\n name: 'entry',\n path: ':resource/:id/:formScene?',\n component: ZPageEntry,\n meta: {\n tabKey: resourceTabKey,\n ssrProfile: 'session'\n }\n}];","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** model: begin */\nexport * from '../model/resource.js';\nimport 'zova-module-a-model';\n/** model: end */\n/** model: begin */\n\nimport 'zova';\n/** model: end */\n/** controller: begin */\nexport * from '../component/resourcePickerContext/controller.jsx';\nexport * from '../page/entry/controller.jsx';\nexport * from '../page/entryCreate/controller.jsx';\nexport * from '../page/resource/controller.jsx';\nexport * from '../page/resourcePicker/controller.jsx';\nimport 'zova';\n/** controller: end */\n/** controller: begin */\n\nimport 'zova';\n/** controller: end */\n/** pages: begin */\nexport * from './page/entry.js';\nimport { NSControllerPageEntry } from './page/entry.js';\nexport * from './page/entryCreate.js';\nimport { NSControllerPageEntryCreate } from './page/entryCreate.js';\nexport * from './page/resource.js';\nimport { NSControllerPageResource } from './page/resource.js';\nexport * from './page/resourcePicker.js';\nimport { NSControllerPageResourcePicker } from './page/resourcePicker.js';\nexport * from '../routes.js';\nimport 'zova';\nexport const pagePathSchemas = {};\nexport const pageNameSchemas = {\n 'rest-resource:entry': {\n params: NSControllerPageEntry.paramsSchema\n },\n 'rest-resource:entryCreate': {\n params: NSControllerPageEntryCreate.paramsSchema\n },\n 'rest-resource:resource': {\n params: NSControllerPageResource.paramsSchema\n },\n 'rest-resource:resourcePicker': {\n params: NSControllerPageResourcePicker.paramsSchema\n }\n};\n/** pages: end */\n\n/** components: begin */\nexport * from './component/resourcePickerContext.js';\nimport { ZResourcePickerContext } from './component/resourcePickerContext.js';\nexport const components = {\n 'resourcePickerContext': ZResourcePickerContext\n};\nimport 'zova';\n/** components: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleRestResource = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"rest-resource\"\n}), _dec(_class = _dec2(_class = class ScopeModuleRestResource extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */"],"mappings":";;;;;;;;;;;AAAA,SAAgB,2BAA2B,QAAQ,MAAM;CACvD,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,OAAO;EACL,GAAG;EACH,MAAM;CACR;AACF;;;ACNA,eAAsB,mBAAmB,SAAS;CAChD,MAAM,QAAQ,mBAAmB;CACjC,MAAM,QAAQ,iBAAiB;CAC/B,MAAM,QAAQ,YAAY;AAC5B;;;ACHA,SAAgB,oBAAoB,KAAK;CACvC,IAAI,IAAI,WAAW,GAAG,MAAM,IAAI,MAAM,2BAA2B;CACjE,MAAM,uBAAO,IAAI,IAAI;CACrB,KAAK,MAAM,MAAM,KAAK;EACpB,IAAI,MAAM,EAAE,KAAK,OAAO,IAAI,MAAM,IAAI,MAAM,8BAA8B;EAC1E,MAAM,MAAM,OAAO,EAAE;EACrB,IAAI,KAAK,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,8BAA8B,KAAK;EACtE,KAAK,IAAI,GAAG;CACd;CACA,OAAO,CAAC,GAAG,GAAG;AAChB;;;ACXA,IAAI;AAAM,IAAA;AAAO,IAAA;AAAO,IAAA;AAAO,IAAA;AAAQ,IAAA;AAAS,IAAA;AAChD,SAAS,6BAA2B,GAAG,GAAG,GAAG,GAAG;CAAE,KAAK,OAAO,eAAe,GAAG,GAAG;EAAE,YAAY,EAAE;EAAY,cAAc,EAAE;EAAc,UAAU,EAAE;EAAU,OAAO,EAAE,cAAc,EAAE,YAAY,KAAK,CAAC,IAAI,KAAK;CAAE,CAAC;AAAG;AAC7N,SAAS,4BAA0B,GAAG,GAAG,GAAG,GAAG,GAAG;CAAE,IAAI,IAAI,CAAC;CAAG,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,SAAU,GAAG;EAAE,EAAE,KAAK,EAAE;CAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,eAAe,WAAW,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,SAAU,GAAG,GAAG;EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK;CAAG,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,cAAc,KAAK,IAAI,KAAK,MAAM,EAAE,eAAe,OAAO,eAAe,GAAG,GAAG,CAAC,GAAG,QAAQ;AAAG;AAWlgB,IAAW,iBAAiB,SAAO,MAAM,EACvC,gBAAgB,KAClB,CAAC,GAAG,UAAQ,SAAa,EACvB,QAAQ,gBACV,CAAC,GAAG,UAAQ,SAAS,WAAW,GAAG,UAAQ,QAAQ,SAAS,eAAe,OAAO,wBAAwB,cAAc,SAAS,mBAAmB,GAAG,OAAK,WAAS,QAAM,YAAU,YAAU,MAAM,sBAAsB,cAAc;CACvO,YAAY,GAAG,MAAM;EACnB,MAAM,GAAG,IAAI;EACb,KAAK,WAAW,KAAK;EACrB,KAAK,cAAc,KAAK;EACxB,KAAK,cAAc,KAAK;EACxB,KAAK,eAAe,KAAK;EACzB,KAAK,aAAa,KAAK;EACvB,KAAK,eAAe,KAAK;EACzB,KAAK,eAAe,KAAK;EACzB,KAAK,eAAe,KAAK;EACzB,KAAK,cAAc,KAAK;EACxB,KAAK,YAAY,KAAK;EACtB,KAAK,cAAc,KAAK;EACxB,6BAA2B,MAAM,kBAAkB,eAAa,IAAI;CACtE;CACA,MAAM,SAAS,UAAU;EACvB,IAAI,CAAC,UAAU,MAAM,IAAI,MAAM,wBAAwB;EACvD,MAAM,MAAM,SAAS,QAAQ;EAC7B,KAAK,WAAW;EAChB,KAAK,cAAc,KAAK,gBAAgB;GACtC,IAAI,KAAK,KAAK,wBAAwB;GAEtC,OADoB,KAAK,KAAK,eAAe,KAAK,QAC3C,CAAA,CAAY;EACrB,CAAC;EACD,KAAK,eAAe,KAAK,gBAAgB;GACvC,OAAO,KAAK,eAAe,OAAO;EACpC,CAAC;EACD,KAAK,aAAa,KAAK,gBAAgB;GACrC,OAAO,KAAK,eAAe;EAC7B,CAAC;EACD,KAAK,eAAe,KAAK,gBAAgB;GACvC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EACD,KAAK,eAAe,KAAK,gBAAgB;GACvC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EACD,KAAK,eAAe,KAAK,gBAAgB;GACvC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EACD,KAAK,cAAc,KAAK,gBAAgB;GACtC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EACD,KAAK,YAAY,KAAK,gBAAgB;GACpC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EACD,KAAK,cAAc,KAAK,gBAAgB;GACtC,OAAO,KAAK,iBAAiB;EAC/B,CAAC;EAED,MAAM,KAAK,WAAW;CACxB;CACA,cAAc,YAAY,OAAO;EAC/B,OAAO,KAAK,cAAc;GACxB,UAAU,KAAK,UAAU,YAAY,KAAK;GAC1C,SAAS,YAAY;IACnB,MAAM,UAAU,aAAa,GAAG,KAAK,YAAY,GAAG,eAAe,KAAK;IACxE,OAAO,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,uBAAuB,OAAO,GAAG,KAAK,IAAI,KAAK,uBAAuB,KAAA,GAAW,EACpH,MACF,CAAC,CAAC;GACJ;EACF,CAAC;CACH;CACA,OAAO,OAAO;EACZ,OAAO,KAAK,cAAc,KAAA,GAAW,KAAK;CAC5C;CACA,MAAM,QAAQ,SAAS;EACrB,OAAO,KAAK,cAAc;GACxB,UAAU,KAAK,UAAU,MAAM;GAC/B;EACF,CAAC;CACH;CACA,UAAU,SAAS;EACjB,MAAM,EACJ,IACA,QACA,SACA,SACE;EACJ,IAAI,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,qBAAqB;EACpD,OAAO,KAAK,cAAc;GACxB,UAAU,KAAK,QAAQ,IAAI,MAAM;GACjC;GACA;EACF,CAAC;CACH;CACA,KAAK,IAAI;EACP,OAAO,KAAK,UAAU;GACpB;GACA,QAAQ;GACR,SAAS,YAAY;IAInB,OAAO,MAHW,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,uBAAuB,GAAG,KAAK,YAAY,OAAO,EAChG,GACF,CAAC,GAAG,KAAK,IAAI,KAAK,uBAAuB,CAAC,KAC5B;GAChB;EACF,CAAC;CACH;CACA,SAAS;EACP,OAAO,KAAK,iBAAiB;GAC3B,aAAa,CAAC,QAAQ;GACtB,YAAY,OAAM,WAAU;IAC1B,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK,uBAAuB,KAAK,WAAW,GAAG,QAAQ,KAAK,IAAI,KAAK,uBAAuB,CAAC;GAChI;GACA,WAAW,YAAY;IACrB,MAAM,mBAAmB,EACvB,wBAAwB,KAAK,mBAAmB,EAC9C,UAAU,CAAC,QAAQ,EACrB,CAAC,EACH,CAAC;GACH;EACF,CAAC;CACH;CACA,aAAa,SAAS;EACpB,MAAM,EACJ,IACA,QACA,YACA,WACA,mBAAmB,SACjB;EACJ,IAAI,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,qBAAqB;EACpD,OAAO,KAAK,iBAAiB;GAC3B,aAAa,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,GAAG,UAAU;GACrD;GACA,WAAW,OAAO,MAAM,WAAW,YAAY;IAC7C,MAAM,mBAAmB;KACvB,kBAAkB,yBAAyB,KAAK,mBAAmB,EACjE,UAAU,CAAC,QAAQ,EACrB,CAAC,IAAI,KAAA;KACL,sBAAsB,KAAK,mBAAmB,EAC5C,UAAU,KAAK,YAAY,EAAE,EAC/B,CAAC;KACD,iBAAiB,YAAY,MAAM,WAAW,OAAO;IACvD,CAAC;GACH;EACF,CAAC;CACH;CACA,iBAAiB,SAAS;EACxB,MAAM,EACJ,QACA,QACA,YACA,WACA,mBAAmB,SACjB;EACJ,OAAO,KAAK,iBAAiB;GAC3B,aAAa;IAAC;IAAY;IAAQ;GAAU;GAC5C,YAAY,OAAM,cAAa;IAC7B,KAAK,wBAAwB,QAAQ,SAAS;IAC9C,OAAO,MAAM,WAAW,SAAS;GACnC;GACA,WAAW,OAAO,MAAM,WAAW,YAAY;IAC7C,MAAM,MAAM,KAAK,wBAAwB,QAAQ,SAAS;IAC1D,MAAM,mBAAmB;KACvB,kBAAkB,yBAAyB,KAAK,mBAAmB,EACjE,UAAU,CAAC,QAAQ,EACrB,CAAC,IAAI,KAAA;KACL,gBAAgB,YAAY;MAC1B,MAAM,QAAQ,IAAI,IAAI,KAAI,OAAM,KAAK,mBAAmB,EACtD,UAAU,KAAK,YAAY,EAAE,EAC/B,CAAC,CAAC,CAAC;KACL;KACA,iBAAiB,YAAY,MAAM,WAAW,OAAO;IACvD,CAAC;GACH;EACF,CAAC;CACH;CACA,aAAa;EACX,OAAO,KAAK,iBAAiB;GAC3B,QAAQ;GACR,SAAQ,SAAQ,KAAK;GACrB,YAAY,OAAM,SAAQ;IACxB,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK,uBAAuB,GAAG,KAAK,YAAY,aAAa,GAAG,MAAM,KAAK,IAAI,KAAK,uBAAuB,CAAC;GAC/I;EACF,CAAC;CACH;CACA,OAAO,IAAI;EACT,OAAO,KAAK,aAAa;GACvB;GACA,QAAQ;GACR,YAAY,OAAM,WAAU;IAC1B,OAAO,KAAK,OAAO,MAAM,KAAK,IAAI,KAAK,uBAAuB,GAAG,KAAK,YAAY,OAAO,EACvF,GACF,CAAC,GAAG,QAAQ,KAAK,IAAI,KAAK,uBAAuB,CAAC;GACpD;EACF,CAAC;CACH;CACA,OAAO,IAAI;EACT,OAAO,KAAK,aAAa;GACvB;GACA,QAAQ;GACR,YAAY,OAAM,SAAQ;IACxB,MAAM,UAAU,KAAK,IAAI,KAAK,uBAAuB,GAAG,KAAK,YAAY,OAAO,EAC9E,GACF,CAAC;IACD,MAAM,YAAY,2BAA2B,KAAK,IAAI,KAAK,uBAAuB,GAAG,IAAI;IACzF,OAAO,KAAK,OAAO,OAAO,SAAS,SAAS;GAC9C;EACF,CAAC;CACH;CACA,IAAI,mBAAmB;EACrB,OAAO,KAAK,KAAK,iBAAiB,KAAK,aAAa,KAAK;CAC3D;CACA,IAAI,iBAAiB;EACnB,OAAO,KAAK,KAAK,iBAAiB,GAAG,KAAK,YAAY,OAAO,KAAK;CACpE;CACA,IAAI,mBAAmB;EACrB,OAAO,KAAK,KAAK,iBAAiB,KAAK,aAAa,MAAM;CAC5D;CACA,IAAI,mBAAmB;EACrB,OAAO,KAAK,KAAK,iBAAiB,GAAG,KAAK,YAAY,OAAO,OAAO;CACtE;CACA,IAAI,mBAAmB;EACrB,OAAO,KAAK,KAAK,iBAAiB,GAAG,KAAK,YAAY,OAAO,QAAQ;CACvE;CACA,cAAc,UAAU;EACtB,MAAM,YAAY,SAAS,aAAa,sBAAsB,QAAQ;EACtE,IAAI,cAAc,QAAQ,OAAO,KAAK;EACtC,IAAI,cAAc,UAAU,OAAO,KAAK;EACxC,IAAI,cAAc,QAAQ,OAAO,KAAK;CACxC;CACA,kBAAkB,UAAU;EAC1B,MAAM,YAAY,SAAS,aAAa,sBAAsB,QAAQ;EACtE,IAAI,cAAc,QAAQ,OAAO,KAAK;EACtC,IAAI,cAAc,UAAU,OAAO,KAAK;EACxC,IAAI,cAAc,QAAQ,OAAO,KAAK;EACtC,MAAM,IAAI,MAAM,oBAAoB;CACtC;CACA,sBAAsB,UAAU,IAAI;EAClC,IAAI,SAAS,aAAa,QAAQ;EAClC,IAAI,SAAS,aAAa,UACxB,OAAO,KAAK,OAAO;OACd,IAAI,SAAS,aAAa,UAC/B,OAAO,KAAK,OAAO,EAAE;CAEzB;CACA,YAAY,UAAU,IAAI;EACxB,IAAI,SAAS,aAAa,UAAU,SAAS,aAAa,UACxD,OAAO,KAAK,yBAAyB,KAAK,YAAY;EAExD,IAAI,MAAM,EAAE,GAAG,OAAO,KAAA;EACtB,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;CACvB;CACA,yBAAyB,YAAY;EACnC,IAAI,CAAC,YAAY;EACjB,IAAI,OAAO,eAAe,UACxB,aAAa,WAAW;EAE1B,OAAO,KAAK,KAAK,sBAAsB,UAAU;CACnD;CACA,wBAAwB,QAAQ,WAAW;EACzC,OAAO,oBAAoB,OAAO,SAAS,CAAC;CAC9C;CACA,UAAU,YAAY,OAAO;EAC3B,OAAO;GAAC;GAAU,cAAc;GAAI,QAAQ,KAAK;EAAC;CACpD;CACA,YAAY,IAAI;EACd,IAAI,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,qBAAqB;EACpD,OAAO,CAAC,QAAQ,EAAE;CACpB;CACA,QAAQ,IAAI,QAAQ;EAClB,IAAI,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,qBAAqB;EACpD,OAAO;GAAC;GAAQ;GAAI;EAAM;CAC5B;CACA,MAAM,aAAa;EACjB,MAAM,iBAAiB,MAAM,yBAAyB,KAAK,KAAK,aAAa,KAAK,QAAQ,CAAC;EAC3F,IAAI,CAAC,gBAAgB,MACnB,MAAM,IAAI,MAAM,8BAA8B,KAAK,UAAU;EAE/D,KAAK,cAAc,KAAK,IAAI,KAAK,iBAAiB,KAAK,UAAU,eAAe,KAAK,OAAO;CAC9F;AACF,GAAG,gBAAc,4BAA0B,UAAQ,WAAW,kBAAkB,CAAC,SAAO,OAAK,GAAG;CAC9F,cAAc;CACd,YAAY;CACZ,UAAU;CACV,aAAa;AACf,CAAC,GAAG,UAAQ,KAAK,QAAM,KAAK;;;ACtS5B,IAAa,+BAA+B;AAC5C,IAAa,4BAA4B;;;;;;;ACUzC,IACaG,mCAA+BC,SAD3CH,WAAW,GAACI,UAAAC,SAAA,EAAAC,QAAA,gBAAA,CAAA,GAAAH,OAAAI,WAAAH,QAAAG,YAAAC,mCAAb,MACaN,wCAAwCH,mBAAmB;CAGtE,MAAgBU,WAAW;EACzB,KAAKC,KAAKC,SAAAA,8BAEP,KAAKC,OAAgDC,OACxD;CACF;CAEUC,SAAS;EACjB,OAAO,KAAKC,eAAe;CAC7B;AACF,GAACP,iCAZQQ,gBAAgB,CAAC,GAACR,iCAAA,KAAAD,QAAA,KAAAA;;;;;;;;;;;;;;;;;;;ACC8B,SAAAoB,UAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAA,qBAAA,CAAAK,QAAAL,CAAA;AAAA;AAKzD,IAAaM,kCAAkChB,EAAEiB,OAAO;CACtDC,UAAUlB,EAAEmB,OAAO;CACnBC,IAAIpB,EAAEmB,OAAO,CAAC,CAACE,SAAS;CACxBC,WAAWtB,EAAEmB,OAAO,CAAC,CAACE,SAAS;AACjC,CAAC;AAED,IACaE,uBAAmBC,SAD/BlB,WAAW,GAACmB,UAAAC,SAAA,EAAAC,QAAA,gBAAA,CAAA,GAAAC,UAOVzB,IAAI,EAAE0B,cAAc,+BAA+B,CAAC,GAACC,UAAAC,QAAAC,SAAA,eAAAC,QAAA,GAAAC,UAAAH,QAAAC,SAAA,qBAAA,CAAA,CAAA,GAAAR,OAAAW,WAAAV,QAAAU,YAAAC,YAPxD,MACab,4BAA4BtB,uBAAuB;CAAAoC,YAAA,GAAAC,MAAA;EAAA,MAAA,GAAAA,IAAA;EAAA,KAC9DC,WAAQ,KAAA;EAAA,KACRC,eAAY,KAAA;EAAA,KACZC,aAAU,KAAA;EAAA,KACVC,UAAO,KAAA;CAAA;CAEP,IACIC,kBAAiC;EACnC,OAAOvC,cAAc,KAAKwC,QAAQ1B,UAAU,IAAI;CAClD;CAEA,IAAIA,WAAW;EACb,OAAO,KAAK0B,QAAQ1B;CACtB;CAEA,IAAI2B,UAAU;EACZ,OAAO,KAAKD,QAAQxB;CACtB;CAEA,IAAIE,YAAY;EACd,OACG,KAAKsB,QAAQtB,cACbvB,MAAM,KAAK8C,OAAO,IAAI,WAAW;CAEtC;CAEA,MAAgBC,WAAW;EACzB,KAAKP,WAAW,KAAKQ,gBAAgB;GACnC,OAAOxC,sBAAsB,KAAKe,SAAS;EAC7C,CAAC;EACD,KAAKkB,eAAe,KAAKO,gBAAgB;GACvC,OAAO,KAAKJ,gBAAgBH;EAC9B,CAAC;EACD,KAAKC,aAAa,KAAKM,gBAAgB;GACrC,OAAO,KAAKJ,gBAAgBK,cAAc,KAAKT,QAAQ;EACzD,CAAC;EAED,KAAKU,YAAY;EAEjB,MAAMzC,yBAAyB,KAAKmC,gBAAgBO,kBAAkB,KAAKX,QAAQ,CAAC,EAAEY,GAAG;CAC3F;CAEQF,cAAc;EACpB,KAAKP,UAAU,KAAKU,KAAKC,eAAehD,SAAS,OAAO,KAAKmC,aAAac,UAAU;CACtF;CAEUC,SAAS;EACjB,MAAMC,SAAS,KAAKf,YAAYgB,MAAMD;EACtC,IAAI,CAACA,UAAUA,OAAOE,WAAW,GAAG;EACpC,MAAMC,YAAqB,CAAA;EAC3BH,OAAOI,SAASC,OAAOC,UAAU;GAC/B,MAAMC,UAAU7D,WACd,EAAE8D,KAAKF,MAAM,GACb;IACE5C,UAAU,KAAKA;IACfE,IAAI,KAAKyB;IACTvB,WAAW,KAAKA;GAClB,GACAuC,MAAME,OACR;GACA,MAAME,WAAW,KAAKvB,QAAQa,OAAOM,MAAMN,QAASQ,OAAO;GAC3D,IAAI,CAACE,UAAU;GACf,IAAIC,MAAMC,QAAQF,QAAQ,GACxBN,UAAUS,KAAK,GAAGH,QAAQ;QAE1BN,UAAUS,KAAKH,QAAQ;EAE3B,CAAC;EACD,OAAAI,YAAAC,SAAA,MAAA7D,UAAekD,SAAS,IAATA,YAAS,EAAAY,eAAA,CAATZ,SAAS,EAAA,CAAA;CAC1B;AACF,GAACa,4BAAApC,UAAAxB,WAAA,mBAAA;CAAAgB;CAAAE;CAAAI;AAAA,GAAAvB,OAAA8D,yBAAArC,UAAAxB,WAAA,iBAAA,GAAAwB,UAAAxB,SAAA,GAAAwB,UAAA,KAAAD,QAAA,KAAAA;;;;;;;AC3FD,IAAa2C,wCAAwCD;AAErD,IAEaE,6BAAyBC,SAFrCL,WAAW,GAACM,UACZP,QAAQ,GAACQ,UAAAC,SAAA,EAAAC,QAAA,gBAAA,CAAA,GAAAJ,OAAAK,WAAAJ,QAAAI,WAAAH,QAAAG,WADV,MAEaN,kCAAkCH,oBAAoB,CAAA,CAAE,KAAAS,QAAA,KAAAA,QAAA,KAAAA;;;;;;;;;;;;;;;;;;;ACJZ,SAAAS,UAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAA,qBAAA,CAAAK,QAAAL,CAAA;AAAA;AAKzD,IAAaM,qCAAqCf,EAAEgB,OAAO,EACzDC,UAAUjB,EAAEkB,OAAO,EACrB,CAAC;AAED,IACaC,0BAAsBC,SADlCd,WAAW,GAACe,UAAAC,SAAA,EAAAC,QAAA,gBAAA,CAAA,GAAAC,UAIVrB,IAAI,EAAEsB,cAAc,+BAA+B,CAAC,GAACC,UAAAC,QAAAC,SAAA,eAAAC,QAAA,GAAAC,UAAAH,QAAAC,SAAA,qBAAA,CAAA,CAAA,GAAAR,OAAAW,WAAAV,QAAAU,YAAAC,YAJxD,MACab,+BAA+BlB,uBAAuB;CAAAgC,YAAA,GAAAC,MAAA;EAAA,MAAA,GAAAA,IAAA;EAAA,KACjEC,UAAO,KAAA;CAAA;CAEP,IACIC,kBAAiC;EACnC,OAAOhC,cAAc,KAAKiC,QAAQpB,UAAU,IAAI;CAClD;CAEA,IAAIA,WAAW;EACb,OAAO,KAAKoB,QAAQpB;CACtB;CAEA,MAAgBqB,WAAW;EAEzB,KAAKC,YAAY;EAEjB,MAAMhC,yBAAyB,KAAK6B,gBAAgBI,iBAAiBC,GAAG;CAC1E;CAEQF,cAAc;EACpB,KAAKJ,UAAU,KAAKO,KAAKC,eAAetC,SAAS,KAAK;CACxD;CAEA,IAAIuC,YAAY;EACd,OAAO,KAAKR,gBAAgBQ;CAC9B;CAEOC,SAAS;EACd,MAAMC,SAAS,KAAKF,WAAWG,MAAMD;EACrC,IAAI,CAACA,UAAUA,OAAOE,WAAW,GAAG;EACpC,MAAMC,YAAqB,CAAA;EAC3BH,OAAOI,SAASC,OAAOC,UAAU;GAC/B,MAAMC,UAAUnD,WACd,EAAEoD,KAAKF,MAAM,GACb,EACEnC,UAAU,KAAKA,SACjB,GACAkC,MAAME,OACR;GACA,MAAME,WAAW,KAAKpB,QAAQU,OAAOM,MAAMN,QAASQ,OAAO;GAC3D,IAAI,CAACE,UAAU;GACf,IAAIC,MAAMC,QAAQF,QAAQ,GACxBN,UAAUS,KAAK,GAAGH,QAAQ;QAE1BN,UAAUS,KAAKH,QAAQ;EAE3B,CAAC;EACD,OAAAI,YAAAC,SAAA,MAAApD,UAAeyC,SAAS,IAATA,YAAS,EAAAY,eAAA,CAATZ,SAAS,EAAA,CAAA;CAC1B;AACF,GAACa,4BAAA9B,UAAArB,WAAA,mBAAA;CAAAa;CAAAE;CAAAI;AAAA,GAAApB,OAAAqD,yBAAA/B,UAAArB,WAAA,iBAAA,GAAAqB,UAAArB,SAAA,GAAAqB,UAAA,KAAAD,QAAA,KAAAA;;;AC7DD,IAAa,yBAAyB,iBAAgB,WAAU;CAC9D,cAAc,iCAAiC,KAAA,GAAW,KAAA,CAAS;CACnE,aAAa,CAAC;AAChB,GAAG,wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACU4C,SAAA2C,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAA,qBAAA,CAAAK,QAAAL,CAAA;AAAA;AAExE,IAAaM,2CAA2CjB,EAAEkB,OAAO,EAC/DC,UAAUnB,EAAEoB,OAAO,EACrB,CAAC;AAED,IACaC,gCAA4BC,SADxChB,WAAW,GAACiB,UAAAC,SAAA,EAAAC,QAAA,gBAAA,CAAA,GAAAC,QAIVvB,IAAI,EAAEwB,cAAc,+BAA+B,CAAC,GAACC,QAAAC,QAAAC,SAAA,eAAAC,QAAA,GAAAC,QAAAH,QAAAC,SAAA,qBAAA,CAAA,CAAA,GAAAG,QAKrD9B,IAAI;CAAE+B,MAAMzB;CAA2B0B,gBAAgB;AAAO,CAAC,GAACC,QAAAP,QAAAC,SAAA,eAAA,OAAAO,4BAAA,cAAAzB,SAAAyB,uBAAA,GAAAf,OAAAgB,WAAAf,QAAAe,YAAAC,UATnE,MACalB,qCAAqCpB,uBAAuB;CAAAuC,YAAA,GAAAC,MAAA;EAAA,MAAA,GAAAA,IAAA;EAAA,KACvEC,UAAO,KAAA;EAAAC,2BAAA,MAAA,gBAAAC,aAAA,IAAA;CAAA;CAEP,IACIC,kBAAiC;EACnC,OAAOzC,cAAc,KAAKe,UAAU,IAAI;CAC1C;CAKA,IAAIA,WAAW;EACb,OAAO,KAAK2B,QAAQ3B;CACtB;CAEA,IAAI4B,gBAA4C;EAC9C,MAAMC,OAAO,KAAKC;EAClB,IAAI,CAACD,MACH,MAAM,IAAIE,MAAM,sCAAsC;EAExD,MAAMC,UAAUH,KAAKG;EACrB,MAAMC,UAAUJ,KAAKI;EACrB,IAAID,QAAQhC,aAAa,KAAKA,UAC5B,MAAM,IAAI+B,MAAM,uDAAuD;EAEzE,OAAO;GACLC;GACAC;GACAC,QAAQL;EACV;CACF;CAEA,MAAgBM,WAAW;EACzB,KAAKZ,UAAU,KAAKa,KAAKC,eAAenD,SAAS,KAAK;EACtD,MAAME,yBAAyB,KAAKsC,gBAAgBY,iBAAiBC,GAAG;CAC1E;CAEA,IAAIC,YAAY;EACd,OAAO,KAAKd,gBAAgBc;CAC9B;CAEOC,SAAS;EACd,MAAMb,gBAAgB,KAAKA;EAC3B,MAAMc,SAAS,KAAKZ,aAAca,cAAc,KAAKH,WAAWI,MAAMF,QAAQd,aAAa;EAC3F,IAAI,CAACc,UAAUA,OAAOG,WAAW,GAAG;EACpC,MAAMC,YAAqB,CAAA;EAC3BJ,OAAOK,SAASC,OAAOC,UAAU;GAC/B,MAAMjB,UAAUjD,WAAW,EAAEmE,KAAKD,MAAM,GAAG,EAAEjD,UAAU,KAAKA,SAAS,GAAGgD,MAAMhB,OAAO;GACrF,MAAMmB,WAAW,KAAK5B,QAAQkB,OAAOO,MAAMP,QAAST,OAAO;GAC3D,IAAI,CAACmB,UAAU;GACf,IAAIC,MAAMC,QAAQF,QAAQ,GAAGL,UAAUQ,KAAK,GAAGH,QAAQ;QAClDL,UAAUQ,KAAKH,QAAQ;EAC9B,CAAC;EACD,OAAAI,YAAAlE,wBAAA,EAAA,WACmCuC,cAAa,GAAA,EAAA4B,eAAA,CAAAD,YAAAE,OAAA,MAAAlE,QACpCuD,SAAS,IAATA,YAAS,EAAAU,eAAA,CAATV,SAAS,EAAA,CAAA,CAAA,EAAA,CAAA;CAGvB;AACF,GAACY,0BAAAtC,QAAA1B,WAAA,mBAAA;CAAAa;CAAAE;CAAAI;AAAA,GAAApB,OAAAkE,yBAAAvC,QAAA1B,WAAA,iBAAA,GAAA0B,QAAA1B,SAAA,GAAA+B,cAAAiC,0BAAAtC,QAAA1B,WAAA,gBAAA,CAAAoB,OAAAG,KAAA,GAAA;CAAA2C,cAAA;CAAAC,YAAA;CAAAC,UAAA;CAAAC,aAAA;AAAA,CAAA,GAAA3C,QAAA,KAAAD,QAAA,KAAAA;;;AC/ED,IAAW;CACV,SAAU,wBAAwB;CACZ,uBAAuB,eAAe;AAC7D,EAAA,CAAG,0BAA0B,wBAAwB,CAAC,EAAE;AACxD,IAAa,aAAa,wBAAwB,qBAAqB,KAAA,GAAW,KAAA,CAAS;;;ACJ3F,IAAW;CACV,SAAU,8BAA8B;CAClB,6BAA6B,eAAe;AACnE,EAAA,CAAG,gCAAgC,8BAA8B,CAAC,EAAE;AACpE,IAAa,mBAAmB,wBAAwB,2BAA2B,KAAA,GAAW,KAAA,CAAS;;;ACJvG,IAAW;CACV,SAAU,2BAA2B;CACf,0BAA0B,eAAe;AAChE,EAAA,CAAG,6BAA6B,2BAA2B,CAAC,EAAE;AAC9D,IAAa,gBAAgB,wBAAwB,wBAAwB,KAAA,GAAW,KAAA,CAAS;;;ACJjG,IAAW;CACV,SAAU,iCAAiC;CACrB,gCAAgC,eAAe;AACtE,EAAA,CAAG,mCAAmC,iCAAiC,CAAC,EAAE;AAC1E,IAAa,sBAAsB,wBAAwB,8BAA8B,KAAA,GAAW,KAAA,CAAS;;;ACP7G,IAAa,oBAAoB;CAC/B,QAAQ;CACR,cAAc;CACd,YAAY;AACd;AACA,SAAgB,eAAe,OAAO;CACpC,OAAO,kBAAkB,mBAAmB,MAAM,OAAO,QAAQ;AACnE;;;ACFA,IAAa,SAAS;CAAC;EACrB,MAAM;EACN,MAAM;EACN,WAAW;EACX,MAAM;CACR;CAAG;EACD,MAAM;EACN,MAAM;EACN,WAAW;EACX,MAAM;GACJ,QAAQ;GACR,YAAY;EACd;CACF;CAAG;EACD,MAAM;EACN,MAAM;EACN,WAAW;EACX,MAAM,EACJ,YAAY,UACd;CACF;CAAG;EACD,MAAM;EACN,MAAM;EACN,WAAW;EACX,MAAM;GACJ,QAAQ;GACR,YAAY;EACd;CACF;AAAC;;;;;ACjCD,IAAI;AAAM,IAAA;AAAO,IAAA;AAkCjB,IAAa,kBAAkB,CAAC;AAChC,IAAa,kBAAkB;CAC7B,uBAAuB,EACrB,QAAQ,sBAAsB,aAChC;CACA,6BAA6B,EAC3B,QAAQ,4BAA4B,aACtC;CACA,0BAA0B,EACxB,QAAQ,yBAAyB,aACnC;CACA,gCAAgC,EAC9B,QAAQ,+BAA+B,aACzC;AACF;AAMA,IAAa,aAAa,EACxB,yBAAyB,uBAC3B;AAMA,IAAW,2BAA2B,OAAO,MAAM,GAAG,QAAQ,SAAa,EACzE,QAAQ,gBACV,CAAC,GAAG,KAAK,SAAS,MAAM,SAAS,MAAM,gCAAgC,cAAc,CAAC,CAAC,KAAK,MAAM,KAAK"}
1
+ {"version":3,"file":"index.js","names":["BeanControllerBase","Controller","resourcePickerPageContextKey","ControllerResourcePickerContext","_dec","_dec2","__z_BeanInfo","module","_class","_ControllerResourcePickerContext","__init__","bean","_setBean","$props","context","render","$slotDefault","$propsDefault","isNil","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","formMetaFromFormScene","$QueryEnsureLoaded","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageEntrySchemaParams","object","resource","string","id","optional","formScene","ControllerPageEntry","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_class","_class2","constructor","args","formMeta","formProvider","formSchema","jsxZova","_blocks","$$modelResource","$params","entryId","__init__","$computed","getFormSchema","_prepareJsx","getFormApiSchemas","sdk","bean","_newBeanSimple","components","render","schema","rest","blocks","length","domBlocks","forEach","block","index","options","key","domBlock","Array","isArray","push","_createVNode","ZPage","default","_applyDecoratedDescriptor","getOwnPropertyDescriptor","Virtual","Controller","ControllerPageEntry","ControllerPageEntrySchemaParams","ControllerPageEntryCreateSchemaParams","ControllerPageEntryCreate","_dec","_dec2","_dec3","__z_BeanInfo","module","_class","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","$QueryEnsureLoaded","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageResourceSchemaParams","object","resource","string","ControllerPageResource","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_class","_class2","_ControllerPageResource","constructor","args","jsxZova","$$modelResource","$params","__init__","_prepareJsx","apiSchemasSelect","sdk","bean","_newBeanSimple","schemaRow","render","blocks","rest","length","domBlocks","forEach","block","index","options","key","domBlock","Array","isArray","push","_createVNode","ZPage","default","$componentOptions","boundary","retry","_applyDecoratedDescriptor","getOwnPropertyDescriptor","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","$QueryEnsureLoaded","ZResourcePickerContext","resourcePickerPageHostKey","_isSlot","s","Object","prototype","toString","call","_isVNode","ControllerPageResourcePickerSchemaParams","object","resource","string","ControllerPageResourcePicker","_dec","_dec2","__z_BeanInfo","module","_dec3","beanFullName","_dec4","Reflect","metadata","Function","_dec5","_dec6","name","injectionScope","_dec7","IResourcePickerPageHost","_class","_class2","constructor","args","jsxZova","_initializerDefineProperty","_descriptor","$$modelResource","$params","pickerContext","host","$$pickerHost","Error","options","session","dialog","__init__","bean","_newBeanSimple","apiSchemasSelect","sdk","schemaRow","render","blocks","prepareBlocks","rest","length","domBlocks","forEach","block","index","key","domBlock","Array","isArray","push","_createVNode","default","ZPage","_applyDecoratedDescriptor","getOwnPropertyDescriptor","configurable","enumerable","writable","initializer"],"sources":["../src/lib/deleteRequest.ts","../src/lib/mutationSuccess.ts","../src/lib/selectedIds.ts","../src/model/resource.ts","../src/lib/resourcePicker.ts","../src/component/resourcePickerContext/controller.tsx","../src/page/entry/controller.tsx","../src/page/entryCreate/controller.tsx","../src/page/resource/controller.tsx","../src/.metadata/component/resourcePickerContext.ts","../src/page/resourcePicker/controller.tsx","../src/.metadata/page/entry.ts","../src/.metadata/page/entryCreate.ts","../src/.metadata/page/resource.ts","../src/.metadata/page/resourcePicker.ts","../src/lib/resourceRouteMeta.ts","../src/routes.ts","../src/.metadata/index.ts"],"sourcesContent":["export function prepareDeleteRequestConfig(config, body) {\n if (body === undefined) return config;\n return {\n ...config,\n data: body\n };\n}","export async function runMutationSuccess(options) {\n await options.invalidateSelect?.();\n await options.invalidateItem?.();\n await options.onSuccess?.();\n}","import { isNil } from '@cabloy/utils';\nexport function validateSelectedIds(ids) {\n if (ids.length === 0) throw new Error('selected ids cannot empty');\n const keys = new Set();\n for (const id of ids) {\n if (isNil(id) || id === '') throw new Error('selected row id cannot empty');\n const key = String(id);\n if (keys.has(key)) throw new Error(`duplicate selected row id: ${key}`);\n keys.add(key);\n }\n return [...ids];\n}","var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor;\nfunction _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }\nfunction _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }\nfunction _initializerWarningHelper(r, e) { throw Error(\"Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.\"); }\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { hashkey, isNil } from '@cabloy/utils';\nimport { UseScope } from 'zova';\nimport { formSceneFromFormMeta } from 'zova-module-a-form';\nimport { $QueryEnsureLoaded, BeanModelBase, Model } from 'zova-module-a-model';\nimport { SymbolOpenapiSchemaName } from 'zova-module-a-openapi';\nimport { prepareDeleteRequestConfig } from '../lib/deleteRequest.js';\nimport { runMutationSuccess } from '../lib/mutationSuccess.js';\nimport { validateSelectedIds } from '../lib/selectedIds.js';\nexport let ModelResource = (_dec = Model({\n enableSelector: true\n}), _dec2 = __z_BeanInfo({\n module: \"rest-resource\"\n}), _dec3 = UseScope(\"a-openapi\"), _dec4 = Reflect.metadata(\"design:type\", typeof ScopeModuleAOpenapi === \"undefined\" ? Object : ScopeModuleAOpenapi), _dec(_class = _dec2(_class = (_class2 = class ModelResource extends BeanModelBase {\n constructor(...args) {\n super(...args);\n this.resource = void 0;\n this.resourceApi = void 0;\n this.permissions = void 0;\n this.formProvider = void 0;\n this.schemaView = void 0;\n this.schemaCreate = void 0;\n this.schemaUpdate = void 0;\n this.schemaFilter = void 0;\n this.schemaOrder = void 0;\n this.schemaRow = void 0;\n this.schemaPages = void 0;\n _initializerDefineProperty(this, \"$$scopeOpenapi\", _descriptor, this);\n }\n async __init__(resource) {\n if (!resource) throw new Error('resource not specified');\n await super.__init__(resource);\n this.resource = resource;\n this.permissions = this.$computed(() => {\n if (this.$ssr.cookieDisabledOnServer) return;\n const permissions = this.$sdk.getPermissions(this.resource);\n return permissions.data;\n });\n this.formProvider = this.$computed(() => {\n return this.$$scopeOpenapi.config.formProvider;\n });\n this.schemaView = this.$computed(() => {\n return this.apiSchemasView.responseBody;\n });\n this.schemaCreate = this.$computed(() => {\n return this.apiSchemasCreate.requestBody;\n });\n this.schemaUpdate = this.$computed(() => {\n return this.apiSchemasUpdate.requestBody;\n });\n this.schemaFilter = this.$computed(() => {\n return this.apiSchemasSelect.filter;\n });\n this.schemaOrder = this.$computed(() => {\n return this.apiSchemasSelect.order;\n });\n this.schemaRow = this.$computed(() => {\n return this.apiSchemasSelect.row;\n });\n this.schemaPages = this.$computed(() => {\n return this.apiSchemasSelect.paged;\n });\n // bootstrap\n await this._bootstrap();\n }\n selectGeneral(actionPath, query) {\n return this.$useStateData({\n queryKey: this.keySelect(actionPath, query),\n queryFn: async () => {\n const apiPath = actionPath ? `${this.resourceApi}/${actionPath}` : this.resourceApi;\n return this.$fetch.get(this.sys.util.apiActionPathTranslate(apiPath), this.sys.util.apiActionConfigPrepare(undefined, {\n query\n }));\n }\n });\n }\n select(query) {\n return this.selectGeneral(undefined, query);\n }\n query(action, queryFn) {\n return this.$useStateData({\n queryKey: this.keySelect(action),\n queryFn\n });\n }\n queryItem(options) {\n const {\n id,\n action,\n queryFn,\n meta\n } = options;\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useStateData({\n queryKey: this.keyItem(id, action),\n queryFn,\n meta\n });\n }\n view(id) {\n return this.queryItem({\n id,\n action: 'view',\n queryFn: async () => {\n const res = await this.$fetch.get(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n }), this.sys.util.apiActionConfigPrepare());\n return res ?? null;\n }\n });\n }\n create() {\n return this.$useMutationData({\n mutationKey: ['create'],\n mutationFn: async params => {\n return this.$fetch.post(this.sys.util.apiActionPathTranslate(this.resourceApi), params, this.sys.util.apiActionConfigPrepare());\n },\n onSuccess: async () => {\n await runMutationSuccess({\n invalidateSelect: () => this.$invalidateQueries({\n queryKey: ['select']\n })\n });\n }\n });\n }\n mutationItem(options) {\n const {\n id,\n action,\n mutationFn,\n onSuccess,\n invalidateSelect = true\n } = options;\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useMutationData({\n mutationKey: [...this.keyItem(id, action), 'mutation'],\n mutationFn,\n onSuccess: async (data, variables, context) => {\n await runMutationSuccess({\n invalidateSelect: invalidateSelect ? () => this.$invalidateQueries({\n queryKey: ['select']\n }) : undefined,\n invalidateItem: () => this.$invalidateQueries({\n queryKey: this.keyItemRoot(id)\n }),\n onSuccess: () => onSuccess?.(data, variables, context)\n });\n }\n });\n }\n mutationSelected(options) {\n const {\n action,\n getIds,\n mutationFn,\n onSuccess,\n invalidateSelect = true\n } = options;\n return this.$useMutationData({\n mutationKey: ['selected', action, 'mutation'],\n mutationFn: async variables => {\n this._getMutationSelectedIds(getIds, variables);\n return await mutationFn(variables);\n },\n onSuccess: async (data, variables, context) => {\n const ids = this._getMutationSelectedIds(getIds, variables);\n await runMutationSuccess({\n invalidateSelect: invalidateSelect ? () => this.$invalidateQueries({\n queryKey: ['select']\n }) : undefined,\n invalidateItem: async () => {\n await Promise.all(ids.map(id => this.$invalidateQueries({\n queryKey: this.keyItemRoot(id)\n })));\n },\n onSuccess: () => onSuccess?.(data, variables, context)\n });\n }\n });\n }\n deleteBulk() {\n return this.mutationSelected({\n action: 'delete',\n getIds: body => body.ids,\n mutationFn: async body => {\n return this.$fetch.post(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/bulk/delete`), body, this.sys.util.apiActionConfigPrepare());\n }\n });\n }\n update(id) {\n return this.mutationItem({\n id,\n action: 'update',\n mutationFn: async params => {\n return this.$fetch.patch(this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n }), params, this.sys.util.apiActionConfigPrepare());\n }\n });\n }\n delete(id) {\n return this.mutationItem({\n id,\n action: 'delete',\n mutationFn: async body => {\n const apiPath = this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, {\n id\n });\n const apiConfig = prepareDeleteRequestConfig(this.sys.util.apiActionConfigPrepare(), body);\n return this.$fetch.delete(apiPath, apiConfig);\n }\n });\n }\n get apiSchemasSelect() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'get');\n }\n get apiSchemasView() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'get');\n }\n get apiSchemasCreate() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'post');\n }\n get apiSchemasUpdate() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'patch');\n }\n get apiSchemasDelete() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'delete');\n }\n getFormSchema(formMeta) {\n const formScene = formMeta.formScene ?? formSceneFromFormMeta(formMeta);\n if (formScene === 'view') return this.schemaView;\n if (formScene === 'create') return this.schemaCreate;\n if (formScene === 'edit') return this.schemaUpdate;\n }\n getFormApiSchemas(formMeta) {\n const formScene = formMeta.formScene ?? formSceneFromFormMeta(formMeta);\n if (formScene === 'view') return this.apiSchemasView;\n if (formScene === 'create') return this.apiSchemasCreate;\n if (formScene === 'edit') return this.apiSchemasUpdate;\n throw new Error('invalid parameters');\n }\n getFormMutationSubmit(formMeta, id) {\n if (formMeta.formMode !== 'edit') return;\n if (formMeta.editMode === 'create') {\n return this.create();\n } else if (formMeta.editMode === 'update') {\n return this.update(id);\n }\n }\n getFormData(formMeta, id) {\n if (formMeta.formMode === 'edit' && formMeta.editMode === 'create') {\n return this.getQueryDataDefaultValue(this.schemaCreate);\n }\n if (isNil(id)) return undefined;\n return this.view(id).data;\n }\n getQueryDataDefaultValue(schemaName) {\n if (!schemaName) return;\n if (typeof schemaName === 'object') {\n schemaName = schemaName[SymbolOpenapiSchemaName];\n }\n return this.$sdk.getSchemaDefaultValue(schemaName);\n }\n _getMutationSelectedIds(getIds, variables) {\n return validateSelectedIds(getIds(variables));\n }\n keySelect(actionPath, query) {\n return ['select', actionPath ?? '', hashkey(query)];\n }\n keyItemRoot(id) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return ['item', id];\n }\n keyItem(id, action) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return ['item', id, action];\n }\n async _bootstrap() {\n const queryBootstrap = await $QueryEnsureLoaded(() => this.$sdk.getBootstrap(this.resource));\n if (!queryBootstrap?.data) {\n throw new Error(`not found sdk of resource: ${this.resource}`);\n }\n this.resourceApi = this.sys.util.parseResourceApi(this.resource, queryBootstrap.data.apiPath);\n }\n}, _descriptor = _applyDecoratedDescriptor(_class2.prototype, \"$$scopeOpenapi\", [_dec3, _dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _class2)) || _class) || _class);","export const resourcePickerPageContextKey = '$resourcePickerPageContext';\nexport const resourcePickerPageHostKey = '$resourcePickerPageHost';","import { BeanControllerBase } from 'zova';\nimport { Controller } from 'zova-module-a-bean';\n\nimport type { IResourcePickerPageContext } from '../../page/resourcePicker/controller.js';\n\nimport { resourcePickerPageContextKey } from '../../lib/resourcePicker.js';\n\nexport interface ControllerResourcePickerContextProps {\n context: IResourcePickerPageContext;\n}\n\n@Controller()\nexport class ControllerResourcePickerContext extends BeanControllerBase {\n static $propsDefault = {};\n\n protected async __init__() {\n this.bean._setBean(\n resourcePickerPageContextKey,\n (this.$props as ControllerResourcePickerContextProps).context,\n );\n }\n\n protected render() {\n return this.$slotDefault?.();\n }\n}\n","import type {\n IFormMeta,\n IFormProvider,\n ISchemaObjectExtensionField,\n IResourceRenderBlockOptionsBlock,\n TypeFormScene,\n} from 'zova-module-a-openapi';\n\nimport { isNil } from '@cabloy/utils';\nimport { VNode } from 'vue';\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { formMetaFromFormScene } from 'zova-module-a-form';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type { ModelResource } from '../../model/resource.js';\n\nexport const ControllerPageEntrySchemaParams = z.object({\n resource: z.string(),\n id: z.string().optional(),\n formScene: z.string().optional(),\n});\n\n@Controller()\nexport class ControllerPageEntry extends BeanControllerPageBase {\n formMeta: IFormMeta;\n formProvider: IFormProvider;\n formSchema?: ISchemaObjectExtensionField;\n jsxZova: ZovaJsx;\n private _blocks?: IResourceRenderBlockOptionsBlock[];\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.$params.resource, true);\n }\n\n get resource() {\n return this.$params.resource;\n }\n\n get entryId() {\n return this.$params.id;\n }\n\n get formScene() {\n return (\n (this.$params.formScene as TypeFormScene | undefined) ??\n (isNil(this.entryId) ? 'create' : 'view')\n );\n }\n\n protected async __init__() {\n this.formMeta = this.$computed(() => {\n return formMetaFromFormScene(this.formScene);\n });\n this.formProvider = this.$computed(() => {\n return this.$$modelResource.formProvider;\n });\n this.formSchema = this.$computed(() => {\n return this.$$modelResource.getFormSchema(this.formMeta);\n });\n // jsx\n this._prepareJsx();\n // load schema\n await $QueryEnsureLoaded(() => this.$$modelResource.getFormApiSchemas(this.formMeta)?.sdk);\n }\n\n private _prepareJsx() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false, this.formProvider.components);\n }\n\n protected render() {\n const schema = this.formSchema;\n // Keep the mounted editor while the current locale's schema is loading.\n if (schema) this._blocks = schema.rest?.blocks;\n const blocks = this._blocks;\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend(\n { key: index },\n {\n resource: this.resource,\n id: this.entryId,\n formScene: this.formScene,\n },\n block.options,\n );\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) {\n domBlocks.push(...domBlock);\n } else {\n domBlocks.push(domBlock);\n }\n });\n return <ZPage>{domBlocks}</ZPage>;\n }\n}\n","import { Virtual } from 'zova-core';\nimport { Controller } from 'zova-module-a-bean';\n\nimport { ControllerPageEntry, ControllerPageEntrySchemaParams } from '../entry/controller.jsx';\n\nexport const ControllerPageEntryCreateSchemaParams = ControllerPageEntrySchemaParams;\n\n@Controller()\n@Virtual()\nexport class ControllerPageEntryCreate extends ControllerPageEntry {}\n","import { VNode } from 'vue';\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, IComponentOptions, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type { ModelResource } from '../../model/resource.js';\n\nexport const ControllerPageResourceSchemaParams = z.object({\n resource: z.string(),\n});\n\n@Controller()\nexport class ControllerPageResource extends BeanControllerPageBase {\n static $componentOptions: IComponentOptions = {\n boundary: { retry: true },\n };\n\n jsxZova: ZovaJsx;\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.$params.resource, true);\n }\n\n get resource() {\n return this.$params.resource;\n }\n\n protected async __init__() {\n // jsx\n this._prepareJsx();\n // load schema/data\n await $QueryEnsureLoaded(() => this.$$modelResource.apiSchemasSelect.sdk);\n }\n\n private _prepareJsx() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);\n }\n\n get schemaRow() {\n return this.$$modelResource.schemaRow;\n }\n\n public render() {\n const blocks = this.schemaRow?.rest?.blocks;\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend(\n { key: index },\n {\n resource: this.resource,\n },\n block.options,\n );\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) {\n domBlocks.push(...domBlock);\n } else {\n domBlocks.push(domBlock);\n }\n });\n return <ZPage>{domBlocks}</ZPage>;\n }\n}\n","import { defineComponent } from 'vue';\nimport { prepareComponentOptions, useController } from 'zova';\nimport { ControllerResourcePickerContext } from '../../component/resourcePickerContext/controller.jsx';\nexport const ZResourcePickerContext = defineComponent(_props => {\n useController(ControllerResourcePickerContext, undefined, undefined);\n return () => {};\n}, prepareComponentOptions());","import type { VNode } from 'vue';\n\nimport { z } from 'zod';\nimport { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';\nimport { ZovaJsx } from 'zova-jsx';\nimport { Controller } from 'zova-module-a-bean';\nimport { $QueryEnsureLoaded } from 'zova-module-a-model';\nimport { ZPage } from 'zova-module-home-base';\n\nimport type {\n IResourcePickerPageContext,\n IResourcePickerPageHost,\n} from '../../lib/resourcePicker.js';\nimport type { ModelResource } from '../../model/resource.js';\n\nimport { ZResourcePickerContext } from '../../.metadata/component/resourcePickerContext.js';\nimport { resourcePickerPageHostKey } from '../../lib/resourcePicker.js';\n\nexport const ControllerPageResourcePickerSchemaParams = z.object({\n resource: z.string(),\n});\n\n@Controller()\nexport class ControllerPageResourcePicker extends BeanControllerPageBase {\n jsxZova: ZovaJsx;\n\n @Use({ beanFullName: 'rest-resource.model.resource' })\n get $$modelResource(): ModelResource {\n return usePrepareArg(this.resource, true);\n }\n\n @Use({ name: resourcePickerPageHostKey, injectionScope: 'host' })\n $$pickerHost: IResourcePickerPageHost | undefined;\n\n get resource() {\n return this.$params.resource;\n }\n\n get pickerContext(): IResourcePickerPageContext {\n const host = this.$$pickerHost;\n if (!host) {\n throw new Error('resource picker requires a page host');\n }\n const options = host.options;\n const session = host.session;\n if (options.resource !== this.resource) {\n throw new Error('resource picker context does not match route resource');\n }\n return {\n options,\n session,\n dialog: host,\n };\n }\n\n protected async __init__() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);\n await $QueryEnsureLoaded(() => this.$$modelResource.apiSchemasSelect.sdk);\n }\n\n get schemaRow() {\n return this.$$modelResource.schemaRow;\n }\n\n public render() {\n const pickerContext = this.pickerContext;\n const blocks = this.$$pickerHost!.prepareBlocks(this.schemaRow?.rest?.blocks, pickerContext);\n if (!blocks || blocks.length === 0) return;\n const domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend({ key: index }, { resource: this.resource }, block.options);\n const domBlock = this.jsxZova.render(block.render!, options);\n if (!domBlock) return;\n if (Array.isArray(domBlock)) domBlocks.push(...domBlock);\n else domBlocks.push(domBlock);\n });\n return (\n <ZResourcePickerContext context={pickerContext}>\n <ZPage>{domBlocks}</ZPage>\n </ZResourcePickerContext>\n );\n }\n}\n\nexport type { IResourcePickerPageContext } from '../../lib/resourcePicker.js';\n","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageEntry } from '../../page/entry/controller.jsx';\nimport { ControllerPageEntrySchemaParams } from '../../page/entry/controller.jsx';\nexport let NSControllerPageEntry;\n(function (_NSControllerPageEntry) {\n const paramsSchema = _NSControllerPageEntry.paramsSchema = ControllerPageEntrySchemaParams;\n})(NSControllerPageEntry || (NSControllerPageEntry = {}));\nexport const ZPageEntry = createZovaComponentPage(ControllerPageEntry, undefined, undefined);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageEntryCreate } from '../../page/entryCreate/controller.jsx';\nimport { ControllerPageEntryCreateSchemaParams } from '../../page/entryCreate/controller.jsx';\nexport let NSControllerPageEntryCreate;\n(function (_NSControllerPageEntryCreate) {\n const paramsSchema = _NSControllerPageEntryCreate.paramsSchema = ControllerPageEntryCreateSchemaParams;\n})(NSControllerPageEntryCreate || (NSControllerPageEntryCreate = {}));\nexport const ZPageEntryCreate = createZovaComponentPage(ControllerPageEntryCreate, undefined, undefined);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageResource } from '../../page/resource/controller.jsx';\nimport { ControllerPageResourceSchemaParams } from '../../page/resource/controller.jsx';\nexport let NSControllerPageResource;\n(function (_NSControllerPageResource) {\n const paramsSchema = _NSControllerPageResource.paramsSchema = ControllerPageResourceSchemaParams;\n})(NSControllerPageResource || (NSControllerPageResource = {}));\nexport const ZPageResource = createZovaComponentPage(ControllerPageResource, undefined, undefined, ControllerPageResource.$componentOptions);","import { createZovaComponentPage } from 'zova';\nimport { ControllerPageResourcePicker } from '../../page/resourcePicker/controller.jsx';\nimport { ControllerPageResourcePickerSchemaParams } from '../../page/resourcePicker/controller.jsx';\nexport let NSControllerPageResourcePicker;\n(function (_NSControllerPageResourcePicker) {\n const paramsSchema = _NSControllerPageResourcePicker.paramsSchema = ControllerPageResourcePickerSchemaParams;\n})(NSControllerPageResourcePicker || (NSControllerPageResourcePicker = {}));\nexport const ZPageResourcePicker = createZovaComponentPage(ControllerPageResourcePicker, undefined, undefined);","export const resourceRouteMeta = {\n tabKey: resourceTabKey,\n componentKey: resourceTabKey,\n ssrProfile: 'session'\n};\nexport function resourceTabKey(route) {\n return `/rest/resource/${encodeURIComponent(route.params.resource)}`;\n}","import { ZPageEntry } from './.metadata/page/entry.js';\nimport { ZPageEntryCreate } from './.metadata/page/entryCreate.js';\nimport { ZPageResource } from './.metadata/page/resource.js';\nimport { ZPageResourcePicker } from './.metadata/page/resourcePicker.js';\nimport { resourceRouteMeta, resourceTabKey } from './lib/resourceRouteMeta.js';\nexport const routes = [{\n name: 'resource',\n path: ':resource',\n component: ZPageResource,\n meta: resourceRouteMeta\n}, {\n name: 'entryCreate',\n path: ':resource/create',\n component: ZPageEntryCreate,\n meta: {\n tabKey: resourceTabKey,\n ssrProfile: 'session'\n }\n}, {\n name: 'resourcePicker',\n path: ':resource/picker',\n component: ZPageResourcePicker,\n meta: {\n ssrProfile: 'session'\n }\n}, {\n name: 'entry',\n path: ':resource/:id/:formScene?',\n component: ZPageEntry,\n meta: {\n tabKey: resourceTabKey,\n ssrProfile: 'session'\n }\n}];","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** model: begin */\nexport * from '../model/resource.js';\nimport 'zova-module-a-model';\n/** model: end */\n/** model: begin */\n\nimport 'zova';\n/** model: end */\n/** controller: begin */\nexport * from '../component/resourcePickerContext/controller.jsx';\nexport * from '../page/entry/controller.jsx';\nexport * from '../page/entryCreate/controller.jsx';\nexport * from '../page/resource/controller.jsx';\nexport * from '../page/resourcePicker/controller.jsx';\nimport 'zova';\n/** controller: end */\n/** controller: begin */\n\nimport 'zova';\n/** controller: end */\n/** pages: begin */\nexport * from './page/entry.js';\nimport { NSControllerPageEntry } from './page/entry.js';\nexport * from './page/entryCreate.js';\nimport { NSControllerPageEntryCreate } from './page/entryCreate.js';\nexport * from './page/resource.js';\nimport { NSControllerPageResource } from './page/resource.js';\nexport * from './page/resourcePicker.js';\nimport { NSControllerPageResourcePicker } from './page/resourcePicker.js';\nexport * from '../routes.js';\nimport 'zova';\nexport const pagePathSchemas = {};\nexport const pageNameSchemas = {\n 'rest-resource:entry': {\n params: NSControllerPageEntry.paramsSchema\n },\n 'rest-resource:entryCreate': {\n params: NSControllerPageEntryCreate.paramsSchema\n },\n 'rest-resource:resource': {\n params: NSControllerPageResource.paramsSchema\n },\n 'rest-resource:resourcePicker': {\n params: NSControllerPageResourcePicker.paramsSchema\n }\n};\n/** pages: end */\n\n/** components: begin */\nexport * from './component/resourcePickerContext.js';\nimport { ZResourcePickerContext } from './component/resourcePickerContext.js';\nexport const components = {\n 'resourcePickerContext': ZResourcePickerContext\n};\nimport 'zova';\n/** components: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleRestResource = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"rest-resource\"\n}), _dec(_class = _dec2(_class = class ScopeModuleRestResource extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */"],"mappings":"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"}
@@ -12,7 +12,6 @@ interface IModelResourceQueryItemOptions<TData> {
12
12
  queryFn: () => Promise<TData>;
13
13
  meta?: {
14
14
  disableSuspenseOnInit?: boolean;
15
- disableErrorEffect?: boolean;
16
15
  persister?: QueryMetaPersister | boolean;
17
16
  };
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/model/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/model/resource.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class ControllerPageEntry extends BeanControllerPageBase {
13
13
  formProvider: IFormProvider;
14
14
  formSchema?: ISchemaObjectExtensionField;
15
15
  jsxZova: ZovaJsx;
16
+ private _blocks?;
16
17
  get $$modelResource(): ModelResource;
17
18
  get resource(): string;
18
19
  get entryId(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/entry/controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,2BAA2B,EAC3B,aAAa,EACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAkC,MAAM,MAAM,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,qBACa,mBAAoB,SAAQ,sBAAsB;IAC7D,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IAEjB,IACI,eAAe,IAAI,aAAa,CAEnC;IAED,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,SAAS,kBAKZ;cAEe,QAAQ;IAgBxB,OAAO,CAAC,WAAW;IAInB,SAAS,CAAC,MAAM;CAwBjB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/entry/controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,2BAA2B,EAE3B,aAAa,EACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAkC,MAAM,MAAM,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,qBACa,mBAAoB,SAAQ,sBAAsB;IAC7D,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,CAAqC;IAErD,IACI,eAAe,IAAI,aAAa,CAEnC;IAED,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,SAAS,kBAKZ;cAEe,QAAQ;IAgBxB,OAAO,CAAC,WAAW;IAInB,SAAS,CAAC,MAAM;CA2BjB"}
@@ -1,11 +1,12 @@
1
1
  import { z } from 'zod';
2
- import { BeanControllerPageBase } from 'zova';
2
+ import { BeanControllerPageBase, IComponentOptions } from 'zova';
3
3
  import { ZovaJsx } from 'zova-jsx';
4
4
  import type { ModelResource } from '../../model/resource.js';
5
5
  export declare const ControllerPageResourceSchemaParams: z.ZodObject<{
6
6
  resource: z.ZodString;
7
7
  }, z.core.$strip>;
8
8
  export declare class ControllerPageResource extends BeanControllerPageBase {
9
+ static $componentOptions: IComponentOptions;
9
10
  jsxZova: ZovaJsx;
10
11
  get $$modelResource(): ModelResource;
11
12
  get resource(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/resource/controller.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAkC,MAAM,MAAM,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,qBACa,sBAAuB,SAAQ,sBAAsB;IAChE,OAAO,EAAE,OAAO,CAAC;IAEjB,IACI,eAAe,IAAI,aAAa,CAEnC;IAED,IAAI,QAAQ,WAEX;cAEe,QAAQ;IAOxB,OAAO,CAAC,WAAW;IAInB,IAAI,SAAS,4EAEZ;IAEM,MAAM;CAsBd"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/resource/controller.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAc,iBAAiB,EAAsB,MAAM,MAAM,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,qBACa,sBAAuB,SAAQ,sBAAsB;IAChE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAEzC;IAEF,OAAO,EAAE,OAAO,CAAC;IAEjB,IACI,eAAe,IAAI,aAAa,CAEnC;IAED,IAAI,QAAQ,WAEX;cAEe,QAAQ;IAOxB,OAAO,CAAC,WAAW;IAInB,IAAI,SAAS,4EAEZ;IAEM,MAAM;CAsBd"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-module-rest-resource",
3
- "version": "5.1.54",
4
- "gitHead": "8b6fc2eac777e5ce3dc5d02d160c002ff0528c0d",
3
+ "version": "5.1.56",
4
+ "gitHead": "6293b79d977b9e40695262a5ca11cd98dfaa9241",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Zova Module"
@@ -9,4 +9,9 @@ export namespace NSControllerPageResource {
9
9
  export type ParamsOutput = z.output<typeof ControllerPageResourceSchemaParams>;
10
10
  }
11
11
 
12
- export const ZPageResource = createZovaComponentPage(ControllerPageResource, undefined, undefined);
12
+ export const ZPageResource = createZovaComponentPage(
13
+ ControllerPageResource,
14
+ undefined,
15
+ undefined,
16
+ ControllerPageResource.$componentOptions,
17
+ );
@@ -28,7 +28,6 @@ interface IModelResourceQueryItemOptions<TData> {
28
28
  queryFn: () => Promise<TData>;
29
29
  meta?: {
30
30
  disableSuspenseOnInit?: boolean;
31
- disableErrorEffect?: boolean;
32
31
  persister?: QueryMetaPersister | boolean;
33
32
  };
34
33
  }
@@ -2,6 +2,7 @@ import type {
2
2
  IFormMeta,
3
3
  IFormProvider,
4
4
  ISchemaObjectExtensionField,
5
+ IResourceRenderBlockOptionsBlock,
5
6
  TypeFormScene,
6
7
  } from 'zova-module-a-openapi';
7
8
 
@@ -29,6 +30,7 @@ export class ControllerPageEntry extends BeanControllerPageBase {
29
30
  formProvider: IFormProvider;
30
31
  formSchema?: ISchemaObjectExtensionField;
31
32
  jsxZova: ZovaJsx;
33
+ private _blocks?: IResourceRenderBlockOptionsBlock[];
32
34
 
33
35
  @Use({ beanFullName: 'rest-resource.model.resource' })
34
36
  get $$modelResource(): ModelResource {
@@ -71,7 +73,10 @@ export class ControllerPageEntry extends BeanControllerPageBase {
71
73
  }
72
74
 
73
75
  protected render() {
74
- const blocks = this.formSchema?.rest?.blocks;
76
+ const schema = this.formSchema;
77
+ // Keep the mounted editor while the current locale's schema is loading.
78
+ if (schema) this._blocks = schema.rest?.blocks;
79
+ const blocks = this._blocks;
75
80
  if (!blocks || blocks.length === 0) return;
76
81
  const domBlocks: VNode[] = [];
77
82
  blocks.forEach((block, index) => {
@@ -1,6 +1,6 @@
1
1
  import { VNode } from 'vue';
2
2
  import { z } from 'zod';
3
- import { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';
3
+ import { BeanControllerPageBase, deepExtend, IComponentOptions, Use, usePrepareArg } from 'zova';
4
4
  import { ZovaJsx } from 'zova-jsx';
5
5
  import { Controller } from 'zova-module-a-bean';
6
6
  import { $QueryEnsureLoaded } from 'zova-module-a-model';
@@ -14,6 +14,10 @@ export const ControllerPageResourceSchemaParams = z.object({
14
14
 
15
15
  @Controller()
16
16
  export class ControllerPageResource extends BeanControllerPageBase {
17
+ static $componentOptions: IComponentOptions = {
18
+ boundary: { retry: true },
19
+ };
20
+
17
21
  jsxZova: ZovaJsx;
18
22
 
19
23
  @Use({ beanFullName: 'rest-resource.model.resource' })