zova-module-rest-resource 5.1.16 → 5.1.18
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/dist/index.js +6 -14
- package/dist/index.js.map +1 -1
- package/dist/model/resource.d.ts +10 -11
- package/dist/model/resource.d.ts.map +1 -1
- package/dist/page/entry/controller.d.ts +2 -3
- package/dist/page/entry/controller.d.ts.map +1 -1
- package/dist/page/resource/controller.d.ts +1 -3
- package/dist/page/resource/controller.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/model/resource.ts +12 -16
- package/src/page/entry/controller.tsx +3 -5
- package/src/page/resource/controller.tsx +2 -9
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BeanControllerPageBase, BeanInfo, BeanScopeBase, Use, createZovaComponentAsync, createZovaComponentPage, deepExtend, usePrepareArg } from "zova";
|
|
1
|
+
import { BeanControllerPageBase, BeanInfo, BeanScopeBase, Use, UseScope, createZovaComponentAsync, createZovaComponentPage, deepExtend, usePrepareArg } from "zova";
|
|
2
2
|
import { hashkey, isNil } from "@cabloy/utils";
|
|
3
3
|
import { formMetaFromFormScene, formSceneFromFormMeta } from "zova-module-a-form";
|
|
4
4
|
import { $QueryAutoLoad, BeanModelBase, Model } from "zova-module-a-model";
|
|
@@ -26,21 +26,20 @@ function _applyDecoratedDescriptor$2(i, e, r, n, l) {
|
|
|
26
26
|
return n(i, e, r) || r;
|
|
27
27
|
}, 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;
|
|
28
28
|
}
|
|
29
|
-
var ModelResource = (_dec$4 = Model({ enableSelector: true }), _dec2$4 = BeanInfo({ module: "rest-resource" }), _dec3$3 =
|
|
29
|
+
var ModelResource = (_dec$4 = Model({ enableSelector: true }), _dec2$4 = BeanInfo({ module: "rest-resource" }), _dec3$3 = UseScope("a-openapi"), _dec4$2 = Reflect.metadata("design:type", typeof ScopeModuleAOpenapi === "undefined" ? Object : ScopeModuleAOpenapi), _dec$4(_class$4 = _dec2$4(_class$4 = (_class2$2 = class ModelResource extends BeanModelBase {
|
|
30
30
|
constructor(...args) {
|
|
31
31
|
super(...args);
|
|
32
32
|
this.resource = void 0;
|
|
33
33
|
this.resourceApi = void 0;
|
|
34
34
|
this.permissions = void 0;
|
|
35
35
|
this.formProvider = void 0;
|
|
36
|
-
this.tableProvider = void 0;
|
|
37
36
|
this.schemaView = void 0;
|
|
38
37
|
this.schemaCreate = void 0;
|
|
39
38
|
this.schemaUpdate = void 0;
|
|
40
39
|
this.schemaFilter = void 0;
|
|
41
40
|
this.schemaRow = void 0;
|
|
42
41
|
this.schemaPages = void 0;
|
|
43
|
-
_initializerDefineProperty(this, "$$
|
|
42
|
+
_initializerDefineProperty(this, "$$scopeOpenapi", _descriptor, this);
|
|
44
43
|
}
|
|
45
44
|
async __init__(resource) {
|
|
46
45
|
if (!resource) throw new Error("resource not specified");
|
|
@@ -50,10 +49,7 @@ var ModelResource = (_dec$4 = Model({ enableSelector: true }), _dec2$4 = BeanInf
|
|
|
50
49
|
return this.$sdk.getPermissions(this.resource).data;
|
|
51
50
|
});
|
|
52
51
|
this.formProvider = this.$computed(() => {
|
|
53
|
-
return this.$$
|
|
54
|
-
});
|
|
55
|
-
this.tableProvider = this.$computed(() => {
|
|
56
|
-
return this.$$beanResourceProviders.tableProvider;
|
|
52
|
+
return this.$$scopeOpenapi.config.formProvider;
|
|
57
53
|
});
|
|
58
54
|
this.schemaView = this.$computed(() => {
|
|
59
55
|
return this.apiSchemasView.responseBody;
|
|
@@ -181,7 +177,7 @@ var ModelResource = (_dec$4 = Model({ enableSelector: true }), _dec2$4 = BeanInf
|
|
|
181
177
|
if (!queryBootstrap?.data) throw new Error(`not found sdk of resource: ${this.resource}`);
|
|
182
178
|
this.resourceApi = this.sys.util.parseResourceApi(this.resource, queryBootstrap.data.apiPath);
|
|
183
179
|
}
|
|
184
|
-
}, _descriptor = _applyDecoratedDescriptor$2(_class2$2.prototype, "$$
|
|
180
|
+
}, _descriptor = _applyDecoratedDescriptor$2(_class2$2.prototype, "$$scopeOpenapi", [_dec3$3, _dec4$2], {
|
|
185
181
|
configurable: true,
|
|
186
182
|
enumerable: true,
|
|
187
183
|
writable: true,
|
|
@@ -293,7 +289,6 @@ var ControllerPageResourceSchemaParams = z.object({ resource: z.string() });
|
|
|
293
289
|
var ControllerPageResource = (_dec$1 = Controller(), _dec2$1 = BeanInfo({ module: "rest-resource" }), _dec3 = Use({ beanFullName: "rest-resource.model.resource" }), _dec4 = Reflect.metadata("design:type", Function), _dec5 = Reflect.metadata("design:paramtypes", []), _dec$1(_class$1 = _dec2$1(_class$1 = (_class2 = class ControllerPageResource extends BeanControllerPageBase {
|
|
294
290
|
constructor(...args) {
|
|
295
291
|
super(...args);
|
|
296
|
-
this.tableProvider = void 0;
|
|
297
292
|
this.jsxZova = void 0;
|
|
298
293
|
}
|
|
299
294
|
get $$modelResource() {
|
|
@@ -303,14 +298,11 @@ var ControllerPageResource = (_dec$1 = Controller(), _dec2$1 = BeanInfo({ module
|
|
|
303
298
|
return this.$params.resource;
|
|
304
299
|
}
|
|
305
300
|
async __init__() {
|
|
306
|
-
this.tableProvider = this.$computed(() => {
|
|
307
|
-
return this.$$modelResource.tableProvider;
|
|
308
|
-
});
|
|
309
301
|
this._prepareJsx();
|
|
310
302
|
await $QueryAutoLoad(() => this.$$modelResource.apiSchemasSelect.sdk);
|
|
311
303
|
}
|
|
312
304
|
_prepareJsx() {
|
|
313
|
-
this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false
|
|
305
|
+
this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);
|
|
314
306
|
}
|
|
315
307
|
get schemaRow() {
|
|
316
308
|
return this.$$modelResource.schemaRow;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isNil","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","formMetaFromFormScene","$QueryAutoLoad","_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","$QueryAutoLoad","_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","tableProvider","jsxZova","$$modelResource","$params","__init__","$computed","_prepareJsx","apiSchemasSelect","sdk","bean","_newBeanSimple","components","schemaRow","render","blocks","rest","length","domBlocks","forEach","block","index","options","key","domBlock","Array","isArray","push","_createVNode","ZPage","default","_applyDecoratedDescriptor","getOwnPropertyDescriptor"],"sources":["../src/model/resource.ts","../src/page/entry/controller.tsx","../src/page/entryCreate/controller.tsx","../src/page/resource/controller.tsx","../src/.metadata/page/entry.ts","../src/.metadata/page/entryCreate.ts","../src/.metadata/page/resource.ts","../src/routes.ts","../src/.metadata/index.ts"],"sourcesContent":["import type { TableIdentity } from 'table-identity';\nimport type { DataMutation, IDecoratorModelOptions } from 'zova-module-a-model';\nimport type { IFormMeta, IFormProvider, ITableProvider, ITableQuery, ITableRes, TypeOpenapiPermissions } from 'zova-module-a-openapi';\n\nimport { hashkey, isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\nimport { Use } from 'zova';\nimport { formSceneFromFormMeta } from 'zova-module-a-form';\nimport { $QueryAutoLoad, BeanModelBase, Model } from 'zova-module-a-model';\nimport { BeanResourceProviders, SymbolOpenapiSchemaName } from 'zova-module-a-openapi';\n\nexport interface IModelOptionsResource extends IDecoratorModelOptions {}\n\n@Model<IModelOptionsResource>({\n enableSelector: true,\n})\nexport class ModelResource<Entity = any, EntityCreate = Partial<Entity>, EntityUpdate = Partial<Entity>> extends BeanModelBase {\n public resource: string;\n public resourceApi: string;\n public permissions?: TypeOpenapiPermissions;\n public formProvider: IFormProvider;\n public tableProvider: ITableProvider;\n public schemaView?: SchemaObject;\n public schemaCreate?: SchemaObject;\n public schemaUpdate?: SchemaObject;\n public schemaFilter?: SchemaObject;\n public schemaRow?: SchemaObject;\n public schemaPages?: SchemaObject;\n\n @Use()\n $$beanResourceProviders: BeanResourceProviders;\n\n protected async __init__(resource: string) {\n if (!resource) throw new Error('resource not specified');\n await super.__init__(resource);\n this.resource = resource;\n this.permissions = this.$computed(() => {\n const permissions = this.$sdk.getPermissions(this.resource);\n return permissions.data;\n });\n this.formProvider = this.$computed(() => {\n return this.$$beanResourceProviders.formProvider;\n });\n this.tableProvider = this.$computed(() => {\n return this.$$beanResourceProviders.tableProvider;\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.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\n selectGeneral(actionPath?: string, query?: ITableQuery) {\n const queryHash = hashkey(query);\n return this.$useStateData({\n queryKey: ['select', actionPath ?? '', queryHash],\n queryFn: async () => {\n const apiPath = actionPath ? `${this.resourceApi}/${actionPath}` : this.resourceApi;\n return this.$fetch.get<any, ITableRes<Entity>>(\n this.sys.util.apiActionPathTranslate(apiPath),\n this.sys.util.apiActionConfigPrepare(undefined, { query }),\n );\n },\n });\n }\n\n select(query?: ITableQuery) {\n return this.selectGeneral(undefined, query);\n }\n\n view(id: TableIdentity) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useStateData({\n queryKey: ['get', id],\n queryFn: async () => {\n const res = await this.$fetch.get<any, Entity>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n this.sys.util.apiActionConfigPrepare(),\n );\n return res ?? null;\n },\n });\n }\n\n create() {\n return this.$useMutationData<void, EntityCreate>({\n mutationKey: ['create'],\n mutationFn: async params => {\n return this.$fetch.post<any, void, EntityCreate>(\n this.sys.util.apiActionPathTranslate(this.resourceApi),\n params,\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n },\n });\n }\n\n update(id: TableIdentity) {\n return this.$useMutationData<void, EntityUpdate>({\n mutationKey: ['update', id],\n mutationFn: async params => {\n return this.$fetch.patch<any, void, EntityUpdate>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n params,\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n this.$invalidateQueries({ queryKey: ['get', id] });\n },\n });\n }\n\n delete(id: TableIdentity) {\n return this.$useMutationData<void, void>({\n mutationKey: ['delete', id],\n mutationFn: async () => {\n return this.$fetch.delete<any, void, void>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n this.$invalidateQueries({ queryKey: ['get', id] });\n },\n });\n }\n\n public get apiSchemasSelect() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'get');\n }\n\n public get apiSchemasView() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'get');\n }\n\n public get apiSchemasCreate() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'post');\n }\n\n public get apiSchemasUpdate() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'patch');\n }\n\n public getFormSchema(formMeta: IFormMeta) {\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\n public getFormApiSchemas(formMeta: IFormMeta) {\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\n public getFormMutationSubmit(formMeta: IFormMeta, id?: TableIdentity): DataMutation | undefined {\n if (formMeta.formMode !== 'edit') return;\n if (formMeta.editMode === 'create') {\n return this.create() as any;\n } else if (formMeta.editMode === 'update') {\n return this.update(id!) as any;\n }\n }\n\n public getFormData(formMeta: IFormMeta, id?: TableIdentity): Entity | EntityCreate | EntityUpdate | undefined {\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 as Entity | EntityUpdate | undefined;\n }\n\n public getQueryDataDefaultValue(schemaName?: SchemaObject | string): EntityCreate | undefined {\n if (!schemaName) return;\n if (typeof schemaName === 'object') {\n schemaName = schemaName[SymbolOpenapiSchemaName] as string;\n }\n return this.$sdk.getSchemaDefaultValue(schemaName) as EntityCreate | undefined;\n }\n\n private async _bootstrap() {\n const queryBootstrap = await $QueryAutoLoad(() => 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}\n","import type { IFormMeta, IFormProvider, TypeFormScene } from 'zova-module-a-openapi';\n\nimport { isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\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 { $QueryAutoLoad } from 'zova-module-a-model';\nimport { IResourceBlockOptionsPageEntry } from 'zova-module-basic-openapi';\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?: SchemaObject;\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 (this.$params.formScene as TypeFormScene | undefined) ?? (isNil(this.entryId) ? 'create' : 'view');\n }\n\n protected async __init__() {\n this.formMeta = this.$computed(() => {\n const formScene = this.formScene;\n return { ...formMetaFromFormScene(formScene), 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 $QueryAutoLoad(() => 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 let 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 } satisfies IResourceBlockOptionsPageEntry,\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 { $QueryAutoLoad } from 'zova-module-a-model';\nimport { ITableProvider } from 'zova-module-a-openapi';\nimport { IResourceBlockOptionsPage } from 'zova-module-basic-openapi';\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 tableProvider: ITableProvider;\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 this.tableProvider = this.$computed(() => {\n return this.$$modelResource.tableProvider;\n });\n // jsx\n this._prepareJsx();\n // load schema/data\n await $QueryAutoLoad(() => this.$$modelResource.apiSchemasSelect.sdk);\n }\n\n private _prepareJsx() {\n this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false, this.tableProvider.components);\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 let domBlocks: VNode[] = [];\n blocks.forEach((block, index) => {\n const options = deepExtend(\n { key: index },\n {\n resource: this.resource,\n } satisfies IResourceBlockOptionsPage,\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 { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageEntry } from '../../page/entry/controller.jsx';\nimport { ControllerPageEntrySchemaParams } from '../../page/entry/controller.jsx';\nexport namespace NSControllerPageEntry {\n export const paramsSchema = ControllerPageEntrySchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageEntrySchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageEntrySchemaParams>;\n}\n\nexport const ZPageEntry = createZovaComponentPage(ControllerPageEntry, undefined, undefined);\n","import { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageEntryCreate } from '../../page/entryCreate/controller.jsx';\nimport { ControllerPageEntryCreateSchemaParams } from '../../page/entryCreate/controller.jsx';\nexport namespace NSControllerPageEntryCreate {\n export const paramsSchema = ControllerPageEntryCreateSchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageEntryCreateSchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageEntryCreateSchemaParams>;\n}\n\nexport const ZPageEntryCreate = createZovaComponentPage(\n ControllerPageEntryCreate,\n undefined,\n undefined,\n);\n","import { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageResource } from '../../page/resource/controller.jsx';\nimport { ControllerPageResourceSchemaParams } from '../../page/resource/controller.jsx';\nexport namespace NSControllerPageResource {\n export const paramsSchema = ControllerPageResourceSchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageResourceSchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageResourceSchemaParams>;\n}\n\nexport const ZPageResource = createZovaComponentPage(ControllerPageResource, undefined, undefined);\n","import type { IModuleRoute } from 'zova-module-a-router';\n\nimport { ZPageEntry } from './.metadata/page/entry.js';\nimport { ZPageEntryCreate } from './.metadata/page/entryCreate.js';\nimport { ZPageResource } from './.metadata/page/resource.js';\n\nexport const routes: IModuleRoute[] = [\n {\n name: 'resource',\n path: ':resource',\n component: ZPageResource,\n meta: {\n tabKey,\n },\n },\n {\n name: 'entryCreate',\n path: ':resource/create',\n component: ZPageEntryCreate,\n meta: {\n tabKey,\n },\n },\n {\n name: 'entry',\n path: ':resource/:id/:formScene?',\n component: ZPageEntry,\n meta: {\n tabKey,\n },\n },\n];\n\nfunction tabKey(route) {\n return `/rest/resource/${encodeURIComponent(route.params.resource)}`;\n}\n","// eslint-disable\n/** model: begin */\nexport * from '../model/resource.js';\nimport { IModelOptionsResource } from '../model/resource.js';\nimport 'zova-module-a-model';\ndeclare module 'zova-module-a-model' {\n \n export interface IModelRecord {\n 'rest-resource:resource': IModelOptionsResource;\n }\n\n \n}\ndeclare module 'zova-module-rest-resource' {\n \n export interface ModelResource {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n }\n\n export interface ModelResource {\n get $beanFullName(): 'rest-resource.model.resource';\n get $onionName(): 'rest-resource:resource';\n get $onionOptions(): IModelOptionsResource;\n } \n}\n/** model: end */\n/** model: begin */\nimport { ModelResource } from '../model/resource.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'rest-resource.model.resource': ModelResource;\n }\n}\n/** model: end */\n/** controller: begin */\nexport * from '../page/entry/controller.jsx';\nexport * from '../page/entryCreate/controller.jsx';\nexport * from '../page/resource/controller.jsx';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-rest-resource' {\n \n export interface ControllerPageEntry {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n }\n\n export interface ControllerPageResource {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n } \n}\n/** controller: end */\n/** controller: begin */\nimport { ControllerPageEntry } from '../page/entry/controller.jsx';\nimport { ControllerPageEntryCreate } from '../page/entryCreate/controller.jsx';\nimport { ControllerPageResource } from '../page/resource/controller.jsx';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordLocal {\n 'rest-resource.controller.pageEntry': ControllerPageEntry;\n'rest-resource.controller.pageEntryCreate': ControllerPageEntryCreate;\n'rest-resource.controller.pageResource': ControllerPageResource;\n }\n}\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 '../routes.js';\nimport { TypePagePathSchema } from 'zova-module-a-router';\nimport 'zova';\ndeclare module 'zova-module-a-router' {\nexport interface IPagePathRecord {\n '/rest/resource/:resource/:id/:formScene?': TypePagePathSchema<NSControllerPageEntry.ParamsInput,undefined>;\n'/rest/resource/:resource/create': TypePagePathSchema<NSControllerPageEntryCreate.ParamsInput,undefined>;\n'/rest/resource/:resource': TypePagePathSchema<NSControllerPageResource.ParamsInput,undefined>;\n}\nexport interface IPageNameRecord {\n 'rest-resource:entry': undefined;\n'rest-resource:entryCreate': undefined;\n'rest-resource:resource': undefined;\n}\n}\nexport const pagePathSchemas = {\n\n};\nexport const pageNameSchemas = {\n'rest-resource:entry': {\n params: NSControllerPageEntry.paramsSchema,\n \n },\n'rest-resource:entryCreate': {\n params: NSControllerPageEntryCreate.paramsSchema,\n \n },\n'rest-resource:resource': {\n params: NSControllerPageResource.paramsSchema,\n \n },\n};\ndeclare module 'zova-module-rest-resource' {\n export interface ControllerPageEntry {\n $params: NSControllerPageEntry.ParamsOutput;\n }\nexport interface ControllerPageEntryCreate {\n $params: NSControllerPageEntryCreate.ParamsOutput;\n }\nexport interface ControllerPageResource {\n $params: NSControllerPageResource.ParamsOutput;\n }\n}\n/** pages: end */\n\n/** scope: begin */\nimport { BeanScopeBase, type BeanScopeUtil } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\n\n@Scope()\nexport class ScopeModuleRestResource extends BeanScopeBase {}\n\nexport interface ScopeModuleRestResource {\n util: BeanScopeUtil;\n}\n\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanScopeRecord {\n 'rest-resource': ScopeModuleRestResource;\n }\n \n \n\n \n\n \n}\n \n/** scope: end */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["isNil","z","BeanControllerPageBase","deepExtend","Use","usePrepareArg","ZovaJsx","Controller","formMetaFromFormScene","$QueryAutoLoad","_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","$QueryAutoLoad","_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"],"sources":["../src/model/resource.ts","../src/page/entry/controller.tsx","../src/page/entryCreate/controller.tsx","../src/page/resource/controller.tsx","../src/.metadata/page/entry.ts","../src/.metadata/page/entryCreate.ts","../src/.metadata/page/resource.ts","../src/routes.ts","../src/.metadata/index.ts"],"sourcesContent":["import type { TableIdentity } from 'table-identity';\nimport type { DataMutation, IDecoratorModelOptions } from 'zova-module-a-model';\nimport type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, ITableQuery, ITableRes, TypeOpenapiPermissions } from 'zova-module-a-openapi';\n\nimport { hashkey, isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\nimport { UseScope } from 'zova';\nimport { formSceneFromFormMeta } from 'zova-module-a-form';\nimport { $QueryAutoLoad, BeanModelBase, Model } from 'zova-module-a-model';\nimport { SymbolOpenapiSchemaName, ScopeModuleAOpenapi } from 'zova-module-a-openapi';\n\nexport interface IModelOptionsResource extends IDecoratorModelOptions {}\n\n@Model<IModelOptionsResource>({\n enableSelector: true,\n})\nexport class ModelResource<Entity = any, EntityCreate = Partial<Entity>, EntityUpdate = Partial<Entity>> extends BeanModelBase {\n public resource: string;\n public resourceApi: string;\n public permissions?: TypeOpenapiPermissions;\n public formProvider: IFormProvider;\n public schemaView?: ISchemaObjectExtensionField;\n public schemaCreate?: ISchemaObjectExtensionField;\n public schemaUpdate?: ISchemaObjectExtensionField;\n public schemaFilter?: ISchemaObjectExtensionField;\n public schemaRow?: ISchemaObjectExtensionField;\n public schemaPages?: ISchemaObjectExtensionField;\n\n @UseScope()\n $$scopeOpenapi: ScopeModuleAOpenapi;\n\n protected async __init__(resource: string) {\n if (!resource) throw new Error('resource not specified');\n await super.__init__(resource);\n this.resource = resource;\n this.permissions = this.$computed(() => {\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.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\n selectGeneral(actionPath?: string, query?: ITableQuery) {\n const queryHash = hashkey(query);\n return this.$useStateData({\n queryKey: ['select', actionPath ?? '', queryHash],\n queryFn: async () => {\n const apiPath = actionPath ? `${this.resourceApi}/${actionPath}` : this.resourceApi;\n return this.$fetch.get<any, ITableRes<Entity>>(\n this.sys.util.apiActionPathTranslate(apiPath),\n this.sys.util.apiActionConfigPrepare(undefined, { query }),\n );\n },\n });\n }\n\n select(query?: ITableQuery) {\n return this.selectGeneral(undefined, query);\n }\n\n view(id: TableIdentity) {\n if (isNil(id)) throw new Error('row id cannot empty');\n return this.$useStateData({\n queryKey: ['get', id],\n queryFn: async () => {\n const res = await this.$fetch.get<any, Entity>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n this.sys.util.apiActionConfigPrepare(),\n );\n return res ?? null;\n },\n });\n }\n\n create() {\n return this.$useMutationData<void, EntityCreate>({\n mutationKey: ['create'],\n mutationFn: async params => {\n return this.$fetch.post<any, void, EntityCreate>(\n this.sys.util.apiActionPathTranslate(this.resourceApi),\n params,\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n },\n });\n }\n\n update(id: TableIdentity) {\n return this.$useMutationData<void, EntityUpdate>({\n mutationKey: ['update', id],\n mutationFn: async params => {\n return this.$fetch.patch<any, void, EntityUpdate>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n params,\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n this.$invalidateQueries({ queryKey: ['get', id] });\n },\n });\n }\n\n delete(id: TableIdentity) {\n return this.$useMutationData<void, void>({\n mutationKey: ['delete', id],\n mutationFn: async () => {\n return this.$fetch.delete<any, void, void>(\n this.sys.util.apiActionPathTranslate(`${this.resourceApi}/:id`, { id }),\n this.sys.util.apiActionConfigPrepare(),\n );\n },\n onSuccess: () => {\n this.$invalidateQueries({ queryKey: ['select'] });\n this.$invalidateQueries({ queryKey: ['get', id] });\n },\n });\n }\n\n public get apiSchemasSelect() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'get');\n }\n\n public get apiSchemasView() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'get');\n }\n\n public get apiSchemasCreate() {\n return this.$sdk.createApiSchemas(this.resourceApi, 'post');\n }\n\n public get apiSchemasUpdate() {\n return this.$sdk.createApiSchemas(`${this.resourceApi}/:id`, 'patch');\n }\n\n public getFormSchema(formMeta: IFormMeta) {\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\n public getFormApiSchemas(formMeta: IFormMeta) {\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\n public getFormMutationSubmit(formMeta: IFormMeta, id?: TableIdentity): DataMutation | undefined {\n if (formMeta.formMode !== 'edit') return;\n if (formMeta.editMode === 'create') {\n return this.create() as any;\n } else if (formMeta.editMode === 'update') {\n return this.update(id!) as any;\n }\n }\n\n public getFormData(formMeta: IFormMeta, id?: TableIdentity): Entity | EntityCreate | EntityUpdate | undefined {\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 as Entity | EntityUpdate | undefined;\n }\n\n public getQueryDataDefaultValue(schemaName?: SchemaObject | string): EntityCreate | undefined {\n if (!schemaName) return;\n if (typeof schemaName === 'object') {\n schemaName = schemaName[SymbolOpenapiSchemaName] as string;\n }\n return this.$sdk.getSchemaDefaultValue(schemaName) as EntityCreate | undefined;\n }\n\n private async _bootstrap() {\n const queryBootstrap = await $QueryAutoLoad(() => 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}\n","import type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, TypeFormScene } 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 { $QueryAutoLoad } 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 (this.$params.formScene as TypeFormScene | undefined) ?? (isNil(this.entryId) ? 'create' : 'view');\n }\n\n protected async __init__() {\n this.formMeta = this.$computed(() => {\n const formScene = this.formScene;\n return { ...formMetaFromFormScene(formScene), 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 $QueryAutoLoad(() => 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 let 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 { $QueryAutoLoad } 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 $QueryAutoLoad(() => 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 let 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 { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageEntry } from '../../page/entry/controller.jsx';\nimport { ControllerPageEntrySchemaParams } from '../../page/entry/controller.jsx';\nexport namespace NSControllerPageEntry {\n export const paramsSchema = ControllerPageEntrySchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageEntrySchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageEntrySchemaParams>;\n}\n\nexport const ZPageEntry = createZovaComponentPage(ControllerPageEntry, undefined, undefined);\n","import { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageEntryCreate } from '../../page/entryCreate/controller.jsx';\nimport { ControllerPageEntryCreateSchemaParams } from '../../page/entryCreate/controller.jsx';\nexport namespace NSControllerPageEntryCreate {\n export const paramsSchema = ControllerPageEntryCreateSchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageEntryCreateSchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageEntryCreateSchemaParams>;\n}\n\nexport const ZPageEntryCreate = createZovaComponentPage(\n ControllerPageEntryCreate,\n undefined,\n undefined,\n);\n","import { z } from 'zod';\nimport { createZovaComponentPage } from 'zova';\n\nimport { ControllerPageResource } from '../../page/resource/controller.jsx';\nimport { ControllerPageResourceSchemaParams } from '../../page/resource/controller.jsx';\nexport namespace NSControllerPageResource {\n export const paramsSchema = ControllerPageResourceSchemaParams;\n export type ParamsInput = z.input<typeof ControllerPageResourceSchemaParams>;\n export type ParamsOutput = z.output<typeof ControllerPageResourceSchemaParams>;\n}\n\nexport const ZPageResource = createZovaComponentPage(ControllerPageResource, undefined, undefined);\n","import type { IModuleRoute } from 'zova-module-a-router';\n\nimport { ZPageEntry } from './.metadata/page/entry.js';\nimport { ZPageEntryCreate } from './.metadata/page/entryCreate.js';\nimport { ZPageResource } from './.metadata/page/resource.js';\n\nexport const routes: IModuleRoute[] = [\n {\n name: 'resource',\n path: ':resource',\n component: ZPageResource,\n meta: {\n tabKey,\n },\n },\n {\n name: 'entryCreate',\n path: ':resource/create',\n component: ZPageEntryCreate,\n meta: {\n tabKey,\n },\n },\n {\n name: 'entry',\n path: ':resource/:id/:formScene?',\n component: ZPageEntry,\n meta: {\n tabKey,\n },\n },\n];\n\nfunction tabKey(route) {\n return `/rest/resource/${encodeURIComponent(route.params.resource)}`;\n}\n","// eslint-disable\n/** model: begin */\nexport * from '../model/resource.js';\nimport { IModelOptionsResource } from '../model/resource.js';\nimport 'zova-module-a-model';\ndeclare module 'zova-module-a-model' {\n \n export interface IModelRecord {\n 'rest-resource:resource': IModelOptionsResource;\n }\n\n \n}\ndeclare module 'zova-module-rest-resource' {\n \n export interface ModelResource {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n }\n\n export interface ModelResource {\n get $beanFullName(): 'rest-resource.model.resource';\n get $onionName(): 'rest-resource:resource';\n get $onionOptions(): IModelOptionsResource;\n } \n}\n/** model: end */\n/** model: begin */\nimport { ModelResource } from '../model/resource.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'rest-resource.model.resource': ModelResource;\n }\n}\n/** model: end */\n/** controller: begin */\nexport * from '../page/entry/controller.jsx';\nexport * from '../page/entryCreate/controller.jsx';\nexport * from '../page/resource/controller.jsx';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-rest-resource' {\n \n export interface ControllerPageEntry {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n }\n\n export interface ControllerPageResource {\n /** @internal */\n get scope(): ScopeModuleRestResource;\n } \n}\n/** controller: end */\n/** controller: begin */\nimport { ControllerPageEntry } from '../page/entry/controller.jsx';\nimport { ControllerPageEntryCreate } from '../page/entryCreate/controller.jsx';\nimport { ControllerPageResource } from '../page/resource/controller.jsx';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordLocal {\n 'rest-resource.controller.pageEntry': ControllerPageEntry;\n'rest-resource.controller.pageEntryCreate': ControllerPageEntryCreate;\n'rest-resource.controller.pageResource': ControllerPageResource;\n }\n}\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 '../routes.js';\nimport { TypePagePathSchema } from 'zova-module-a-router';\nimport 'zova';\ndeclare module 'zova-module-a-router' {\nexport interface IPagePathRecord {\n '/rest/resource/:resource/:id/:formScene?': TypePagePathSchema<NSControllerPageEntry.ParamsInput,undefined>;\n'/rest/resource/:resource/create': TypePagePathSchema<NSControllerPageEntryCreate.ParamsInput,undefined>;\n'/rest/resource/:resource': TypePagePathSchema<NSControllerPageResource.ParamsInput,undefined>;\n}\nexport interface IPageNameRecord {\n 'rest-resource:entry': undefined;\n'rest-resource:entryCreate': undefined;\n'rest-resource:resource': undefined;\n}\n}\nexport const pagePathSchemas = {\n\n};\nexport const pageNameSchemas = {\n'rest-resource:entry': {\n params: NSControllerPageEntry.paramsSchema,\n \n },\n'rest-resource:entryCreate': {\n params: NSControllerPageEntryCreate.paramsSchema,\n \n },\n'rest-resource:resource': {\n params: NSControllerPageResource.paramsSchema,\n \n },\n};\ndeclare module 'zova-module-rest-resource' {\n export interface ControllerPageEntry {\n $params: NSControllerPageEntry.ParamsOutput;\n }\nexport interface ControllerPageEntryCreate {\n $params: NSControllerPageEntryCreate.ParamsOutput;\n }\nexport interface ControllerPageResource {\n $params: NSControllerPageResource.ParamsOutput;\n }\n}\n/** pages: end */\n\n/** scope: begin */\nimport { BeanScopeBase, type BeanScopeUtil } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\n\n@Scope()\nexport class ScopeModuleRestResource extends BeanScopeBase {}\n\nexport interface ScopeModuleRestResource {\n util: BeanScopeUtil;\n}\n\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanScopeRecord {\n 'rest-resource': ScopeModuleRestResource;\n }\n \n \n\n \n\n \n}\n \n/** scope: end */\n"],"mappings":"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"}
|
package/dist/model/resource.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { DataMutation, IDecoratorModelOptions } from 'zova-module-a-model';
|
|
3
|
-
import type { IFormMeta, IFormProvider,
|
|
3
|
+
import type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, ITableQuery, ITableRes, TypeOpenapiPermissions } from 'zova-module-a-openapi';
|
|
4
4
|
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
5
5
|
import { BeanModelBase } from 'zova-module-a-model';
|
|
6
|
-
import {
|
|
6
|
+
import { ScopeModuleAOpenapi } from 'zova-module-a-openapi';
|
|
7
7
|
export interface IModelOptionsResource extends IDecoratorModelOptions {
|
|
8
8
|
}
|
|
9
9
|
export declare class ModelResource<Entity = any, EntityCreate = Partial<Entity>, EntityUpdate = Partial<Entity>> extends BeanModelBase {
|
|
@@ -11,14 +11,13 @@ export declare class ModelResource<Entity = any, EntityCreate = Partial<Entity>,
|
|
|
11
11
|
resourceApi: string;
|
|
12
12
|
permissions?: TypeOpenapiPermissions;
|
|
13
13
|
formProvider: IFormProvider;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
$$beanResourceProviders: BeanResourceProviders;
|
|
14
|
+
schemaView?: ISchemaObjectExtensionField;
|
|
15
|
+
schemaCreate?: ISchemaObjectExtensionField;
|
|
16
|
+
schemaUpdate?: ISchemaObjectExtensionField;
|
|
17
|
+
schemaFilter?: ISchemaObjectExtensionField;
|
|
18
|
+
schemaRow?: ISchemaObjectExtensionField;
|
|
19
|
+
schemaPages?: ISchemaObjectExtensionField;
|
|
20
|
+
$$scopeOpenapi: ScopeModuleAOpenapi;
|
|
22
21
|
protected __init__(resource: string): Promise<void>;
|
|
23
22
|
selectGeneral(actionPath?: string, query?: ITableQuery): import("vue").UnwrapNestedRefs<import("@tanstack/vue-query").UseQueryReturnType<ITableRes<Entity>, Error>>;
|
|
24
23
|
select(query?: ITableQuery): import("vue").UnwrapNestedRefs<import("@tanstack/vue-query").UseQueryReturnType<ITableRes<Entity>, Error>>;
|
|
@@ -30,7 +29,7 @@ export declare class ModelResource<Entity = any, EntityCreate = Partial<Entity>,
|
|
|
30
29
|
get apiSchemasView(): import("zova-module-a-openapi").IOpenapiSchemas;
|
|
31
30
|
get apiSchemasCreate(): import("zova-module-a-openapi").IOpenapiSchemas;
|
|
32
31
|
get apiSchemasUpdate(): import("zova-module-a-openapi").IOpenapiSchemas;
|
|
33
|
-
getFormSchema(formMeta: IFormMeta):
|
|
32
|
+
getFormSchema(formMeta: IFormMeta): ISchemaObjectExtensionField | undefined;
|
|
34
33
|
getFormApiSchemas(formMeta: IFormMeta): import("zova-module-a-openapi").IOpenapiSchemas;
|
|
35
34
|
getFormMutationSubmit(formMeta: IFormMeta, id?: TableIdentity): DataMutation | undefined;
|
|
36
35
|
getFormData(formMeta: IFormMeta, id?: TableIdentity): Entity | EntityCreate | EntityUpdate | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/model/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/model/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,2BAA2B,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGnJ,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAkB,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAA2B,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAErF,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;CAAG;AAExE,qBAGa,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAE,SAAQ,aAAa;IACrH,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAGjD,cAAc,EAAE,mBAAmB,CAAC;cAEpB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAiCzC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW;IActD,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW;IAI1B,IAAI,CAAC,EAAE,EAAE,aAAa;IActB,MAAM;IAgBN,MAAM,CAAC,EAAE,EAAE,aAAa;IAiBxB,MAAM,CAAC,EAAE,EAAE,aAAa;IAgBxB,IAAW,gBAAgB,oDAE1B;IAED,IAAW,cAAc,oDAExB;IAED,IAAW,gBAAgB,oDAE1B;IAED,IAAW,gBAAgB,oDAE1B;IAEM,aAAa,CAAC,QAAQ,EAAE,SAAS;IAOjC,iBAAiB,CAAC,QAAQ,EAAE,SAAS;IAQrC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS;IASxF,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS;IAQtG,wBAAwB,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS;YAQ/E,UAAU;CAOzB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { IFormMeta, IFormProvider, TypeFormScene } from 'zova-module-a-openapi';
|
|
2
|
-
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
1
|
+
import type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, TypeFormScene } from 'zova-module-a-openapi';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
import { BeanControllerPageBase } from 'zova';
|
|
5
4
|
import { ZovaJsx } from 'zova-jsx';
|
|
@@ -12,7 +11,7 @@ export declare const ControllerPageEntrySchemaParams: z.ZodObject<{
|
|
|
12
11
|
export declare class ControllerPageEntry extends BeanControllerPageBase {
|
|
13
12
|
formMeta: IFormMeta;
|
|
14
13
|
formProvider: IFormProvider;
|
|
15
|
-
formSchema?:
|
|
14
|
+
formSchema?: ISchemaObjectExtensionField;
|
|
16
15
|
jsxZova: ZovaJsx;
|
|
17
16
|
get $$modelResource(): ModelResource;
|
|
18
17
|
get resource(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/entry/controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/page/entry/controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIlH,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,kBAEZ;cAEe,QAAQ;IAiBxB,OAAO,CAAC,WAAW;IAInB,SAAS,CAAC,MAAM;CAwBjB"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BeanControllerPageBase } from 'zova';
|
|
3
3
|
import { ZovaJsx } from 'zova-jsx';
|
|
4
|
-
import { ITableProvider } from 'zova-module-a-openapi';
|
|
5
4
|
import type { ModelResource } from '../../model/resource.js';
|
|
6
5
|
export declare const ControllerPageResourceSchemaParams: z.ZodObject<{
|
|
7
6
|
resource: z.ZodString;
|
|
8
7
|
}, z.core.$strip>;
|
|
9
8
|
export declare class ControllerPageResource extends BeanControllerPageBase {
|
|
10
|
-
tableProvider: ITableProvider;
|
|
11
9
|
jsxZova: ZovaJsx;
|
|
12
10
|
get $$modelResource(): ModelResource;
|
|
13
11
|
get resource(): string;
|
|
14
12
|
protected __init__(): Promise<void>;
|
|
15
13
|
private _prepareJsx;
|
|
16
|
-
get schemaRow(): import("
|
|
14
|
+
get schemaRow(): import("zova-module-a-openapi").ISchemaObjectExtensionField | undefined;
|
|
17
15
|
render(): import("vue/jsx-runtime").JSX.Element | undefined;
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -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;
|
|
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"}
|
package/package.json
CHANGED
package/src/model/resource.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { DataMutation, IDecoratorModelOptions } from 'zova-module-a-model';
|
|
3
|
-
import type { IFormMeta, IFormProvider,
|
|
3
|
+
import type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, ITableQuery, ITableRes, TypeOpenapiPermissions } from 'zova-module-a-openapi';
|
|
4
4
|
|
|
5
5
|
import { hashkey, isNil } from '@cabloy/utils';
|
|
6
6
|
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
7
|
-
import {
|
|
7
|
+
import { UseScope } from 'zova';
|
|
8
8
|
import { formSceneFromFormMeta } from 'zova-module-a-form';
|
|
9
9
|
import { $QueryAutoLoad, BeanModelBase, Model } from 'zova-module-a-model';
|
|
10
|
-
import {
|
|
10
|
+
import { SymbolOpenapiSchemaName, ScopeModuleAOpenapi } from 'zova-module-a-openapi';
|
|
11
11
|
|
|
12
12
|
export interface IModelOptionsResource extends IDecoratorModelOptions {}
|
|
13
13
|
|
|
@@ -19,16 +19,15 @@ export class ModelResource<Entity = any, EntityCreate = Partial<Entity>, EntityU
|
|
|
19
19
|
public resourceApi: string;
|
|
20
20
|
public permissions?: TypeOpenapiPermissions;
|
|
21
21
|
public formProvider: IFormProvider;
|
|
22
|
-
public
|
|
23
|
-
public
|
|
24
|
-
public
|
|
25
|
-
public
|
|
26
|
-
public
|
|
27
|
-
public
|
|
28
|
-
public schemaPages?: SchemaObject;
|
|
22
|
+
public schemaView?: ISchemaObjectExtensionField;
|
|
23
|
+
public schemaCreate?: ISchemaObjectExtensionField;
|
|
24
|
+
public schemaUpdate?: ISchemaObjectExtensionField;
|
|
25
|
+
public schemaFilter?: ISchemaObjectExtensionField;
|
|
26
|
+
public schemaRow?: ISchemaObjectExtensionField;
|
|
27
|
+
public schemaPages?: ISchemaObjectExtensionField;
|
|
29
28
|
|
|
30
|
-
@
|
|
31
|
-
$$
|
|
29
|
+
@UseScope()
|
|
30
|
+
$$scopeOpenapi: ScopeModuleAOpenapi;
|
|
32
31
|
|
|
33
32
|
protected async __init__(resource: string) {
|
|
34
33
|
if (!resource) throw new Error('resource not specified');
|
|
@@ -39,10 +38,7 @@ export class ModelResource<Entity = any, EntityCreate = Partial<Entity>, EntityU
|
|
|
39
38
|
return permissions.data;
|
|
40
39
|
});
|
|
41
40
|
this.formProvider = this.$computed(() => {
|
|
42
|
-
return this.$$
|
|
43
|
-
});
|
|
44
|
-
this.tableProvider = this.$computed(() => {
|
|
45
|
-
return this.$$beanResourceProviders.tableProvider;
|
|
41
|
+
return this.$$scopeOpenapi.config.formProvider;
|
|
46
42
|
});
|
|
47
43
|
this.schemaView = this.$computed(() => {
|
|
48
44
|
return this.apiSchemasView.responseBody;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { IFormMeta, IFormProvider, TypeFormScene } from 'zova-module-a-openapi';
|
|
1
|
+
import type { IFormMeta, IFormProvider, ISchemaObjectExtensionField, TypeFormScene } from 'zova-module-a-openapi';
|
|
2
2
|
|
|
3
3
|
import { isNil } from '@cabloy/utils';
|
|
4
|
-
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
5
4
|
import { VNode } from 'vue';
|
|
6
5
|
import { z } from 'zod';
|
|
7
6
|
import { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';
|
|
@@ -9,7 +8,6 @@ import { ZovaJsx } from 'zova-jsx';
|
|
|
9
8
|
import { Controller } from 'zova-module-a-bean';
|
|
10
9
|
import { formMetaFromFormScene } from 'zova-module-a-form';
|
|
11
10
|
import { $QueryAutoLoad } from 'zova-module-a-model';
|
|
12
|
-
import { IResourceBlockOptionsPageEntry } from 'zova-module-basic-openapi';
|
|
13
11
|
import { ZPage } from 'zova-module-home-base';
|
|
14
12
|
|
|
15
13
|
import type { ModelResource } from '../../model/resource.js';
|
|
@@ -24,7 +22,7 @@ export const ControllerPageEntrySchemaParams = z.object({
|
|
|
24
22
|
export class ControllerPageEntry extends BeanControllerPageBase {
|
|
25
23
|
formMeta: IFormMeta;
|
|
26
24
|
formProvider: IFormProvider;
|
|
27
|
-
formSchema?:
|
|
25
|
+
formSchema?: ISchemaObjectExtensionField;
|
|
28
26
|
jsxZova: ZovaJsx;
|
|
29
27
|
|
|
30
28
|
@Use({ beanFullName: 'rest-resource.model.resource' })
|
|
@@ -76,7 +74,7 @@ export class ControllerPageEntry extends BeanControllerPageBase {
|
|
|
76
74
|
resource: this.resource,
|
|
77
75
|
id: this.entryId,
|
|
78
76
|
formScene: this.formScene,
|
|
79
|
-
}
|
|
77
|
+
},
|
|
80
78
|
block.options,
|
|
81
79
|
);
|
|
82
80
|
const domBlock = this.jsxZova.render(block.render!, options);
|
|
@@ -4,8 +4,6 @@ import { BeanControllerPageBase, deepExtend, Use, usePrepareArg } from 'zova';
|
|
|
4
4
|
import { ZovaJsx } from 'zova-jsx';
|
|
5
5
|
import { Controller } from 'zova-module-a-bean';
|
|
6
6
|
import { $QueryAutoLoad } from 'zova-module-a-model';
|
|
7
|
-
import { ITableProvider } from 'zova-module-a-openapi';
|
|
8
|
-
import { IResourceBlockOptionsPage } from 'zova-module-basic-openapi';
|
|
9
7
|
import { ZPage } from 'zova-module-home-base';
|
|
10
8
|
|
|
11
9
|
import type { ModelResource } from '../../model/resource.js';
|
|
@@ -16,8 +14,6 @@ export const ControllerPageResourceSchemaParams = z.object({
|
|
|
16
14
|
|
|
17
15
|
@Controller()
|
|
18
16
|
export class ControllerPageResource extends BeanControllerPageBase {
|
|
19
|
-
tableProvider: ITableProvider;
|
|
20
|
-
|
|
21
17
|
jsxZova: ZovaJsx;
|
|
22
18
|
|
|
23
19
|
@Use({ beanFullName: 'rest-resource.model.resource' })
|
|
@@ -30,9 +26,6 @@ export class ControllerPageResource extends BeanControllerPageBase {
|
|
|
30
26
|
}
|
|
31
27
|
|
|
32
28
|
protected async __init__() {
|
|
33
|
-
this.tableProvider = this.$computed(() => {
|
|
34
|
-
return this.$$modelResource.tableProvider;
|
|
35
|
-
});
|
|
36
29
|
// jsx
|
|
37
30
|
this._prepareJsx();
|
|
38
31
|
// load schema/data
|
|
@@ -40,7 +33,7 @@ export class ControllerPageResource extends BeanControllerPageBase {
|
|
|
40
33
|
}
|
|
41
34
|
|
|
42
35
|
private _prepareJsx() {
|
|
43
|
-
this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false
|
|
36
|
+
this.jsxZova = this.bean._newBeanSimple(ZovaJsx, false);
|
|
44
37
|
}
|
|
45
38
|
|
|
46
39
|
get schemaRow() {
|
|
@@ -56,7 +49,7 @@ export class ControllerPageResource extends BeanControllerPageBase {
|
|
|
56
49
|
{ key: index },
|
|
57
50
|
{
|
|
58
51
|
resource: this.resource,
|
|
59
|
-
}
|
|
52
|
+
},
|
|
60
53
|
block.options,
|
|
61
54
|
);
|
|
62
55
|
const domBlock = this.jsxZova.render(block.render!, options);
|