@acorex/modules 19.1.6 → 19.1.8

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.
Files changed (41) hide show
  1. package/fesm2022/{acorex-modules-form-template-management-template.entity-CGhbmYel.mjs → acorex-modules-form-template-management-template.entity-CrFYszl6.mjs} +2 -2
  2. package/fesm2022/acorex-modules-form-template-management-template.entity-CrFYszl6.mjs.map +1 -0
  3. package/fesm2022/acorex-modules-form-template-management.mjs +647 -594
  4. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  5. package/fesm2022/acorex-modules-notification-management.mjs +52 -28
  6. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  7. package/fesm2022/acorex-modules-platform-management.mjs +23 -1
  8. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  9. package/fesm2022/acorex-modules-text-template-management.mjs +32 -1
  10. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  11. package/form-template-management/lib/entity.provider.d.ts +3 -2
  12. package/form-template-management/lib/search.provider.d.ts +4 -0
  13. package/notification-management/lib/entity.loader.d.ts +3 -2
  14. package/package.json +4 -8
  15. package/platform-management/index.d.ts +1 -0
  16. package/platform-management/lib/const.d.ts +1 -0
  17. package/platform-management/lib/text-search/index.d.ts +2 -0
  18. package/platform-management/lib/text-search/text-search.service.d.ts +10 -0
  19. package/platform-management/lib/text-search/text-search.types.d.ts +9 -0
  20. package/text-template-management/lib/entity.provider.d.ts +3 -2
  21. package/text-template-management/lib/search-definition.provider.d.ts +4 -0
  22. package/backend/README.md +0 -4
  23. package/backend/index.d.ts +0 -4
  24. package/backend/lib/auth/oidc/application.loader.d.ts +0 -16
  25. package/backend/lib/auth/oidc/configuration.service.d.ts +0 -60
  26. package/backend/lib/auth/oidc/feature.loader.d.ts +0 -6
  27. package/backend/lib/auth/oidc/index.d.ts +0 -6
  28. package/backend/lib/auth/oidc/oidc.strategy.d.ts +0 -50
  29. package/backend/lib/auth/oidc/permission.loader.d.ts +0 -14
  30. package/backend/lib/auth/oidc/signincallback.component.d.ts +0 -12
  31. package/backend/lib/auth/oidc/tenant.loader.d.ts +0 -16
  32. package/backend/lib/backend.configs.d.ts +0 -94
  33. package/backend/lib/backend.module.d.ts +0 -9
  34. package/backend/lib/data/api/comment.service.d.ts +0 -16
  35. package/backend/lib/data/api/data-provider.d.ts +0 -26
  36. package/backend/lib/data/api/file.service.d.ts +0 -16
  37. package/backend/lib/data/api/module-designer.service.d.ts +0 -43
  38. package/backend/lib/data/index.d.ts +0 -4
  39. package/fesm2022/acorex-modules-backend.mjs +0 -943
  40. package/fesm2022/acorex-modules-backend.mjs.map +0 -1
  41. package/fesm2022/acorex-modules-form-template-management-template.entity-CGhbmYel.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-form-template-management.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/const.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.types.ts","../../../../libs/modules/form-template-management/src/lib/entity.provider.ts","../../../../libs/modules/form-template-management/src/lib/menu.provider.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-designer/template-designer-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-designer/template-designer-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/workflows/create-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/services/designer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/workflows/design-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/services/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-picker/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget-designer.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/setting.provider.ts","../../../../libs/modules/form-template-management/src/lib/form-template-management.module.ts","../../../../libs/modules/form-template-management/src/acorex-modules-form-template-management.ts"],"sourcesContent":["export const AXMFormTemplateManagementModuleConst = {\n moduleName: 'FormTemplateManagement',\n moduleRoute: 'form-template-management',\n i18n: 'form-template-management',\n categoryEntity: 'Category',\n templateEntity: 'Template',\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityModel } from './category.types';\n\nexport abstract class AXMFormTemplateManagementCategoryEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementCategoryEntityModel\n> {}\n\n@Injectable()\nexport class AXMFormTemplateManagementCategoryEntityServiceImpl extends AXMFormTemplateManagementCategoryEntityService {\n constructor() {\n super(`${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementCategoryEntityService, AXMFormTemplateManagementCategoryEntityServiceImpl } from './category.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementCategoryEntityService,\n useClass: AXMFormTemplateManagementCategoryEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementCategoryEntityModule {\n}\n ","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from '../../const';\nimport { AXMFormTemplateManagementTemplateEntityModel } from './template.types';\n\nexport abstract class AXMFormTemplateManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementTemplateEntityModel\n> { }\n\n@Injectable()\nexport class AXMFormTemplateManagementTemplateEntityServiceImpl extends AXMFormTemplateManagementTemplateEntityService {\n constructor() {\n super(`${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateManagementTemplateEntityServiceImpl } from './template.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementTemplateEntityService,\n useClass: AXMFormTemplateManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementTemplateEntityModule {\n}\n ","import { AXPEntityModel } from '@acorex/platform/common';\n\nexport interface AXMFormTemplateManagementTemplateEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n template: string;\n description?: string;\n type: number,\n categoryId: string\n}\n\n\nexport const AXMFormTemplateTypes = {\n Form: { id: 10, title: 'Form Template' },\n Widget: { id: 20, title: 'Widget Template' },\n} ","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from './const';\n\n@Injectable()\nexport class AXMFormTemplateManagementModuleEntityProvider implements AXPEntityDefinitionLoader {\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == AXMFormTemplateManagementModuleConst.moduleName) {\n switch (entityName) {\n case AXMFormTemplateManagementModuleConst.categoryEntity:\n return (await import('./entities/category/category.entity')).factory(this.injector);\n case AXMFormTemplateManagementModuleConst.templateEntity:\n return (await import('./entities/template/template.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from './const';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = AXMFormTemplateManagementModuleConst.i18n;\n const moduleName = AXMFormTemplateManagementModuleConst.moduleName;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('module-name', {scope:\"${scope}\"})`,\n icon: 'fa-solid fa-file-invoice',\n children: [\n {\n text: `t(\"categories\", { scope: \"common\" })`,\n path: this.entityService.createPath(moduleName, AXMFormTemplateManagementModuleConst.categoryEntity),\n priority: 1,\n },\n {\n text: `t('templates', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(moduleName, AXMFormTemplateManagementModuleConst.templateEntity),\n priority: 2,\n },\n ],\n },\n ]);\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: `\n <span\n class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 hover:ax-text-primary-500 ax-cursor-pointer\"\n (click)=\"handleClick()\"\n >\n {{ 't(\"edit-template\",{ scope:\"form-template-management\" })' | translate | async }}\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXTranslationModule]\n})\nexport class AXPTemplateDesignerWidgetViewComponent extends AXPWidgetComponent<any> {\n private workflow = inject(AXPWorkflowService);\n\n protected async handleClick() {\n await this.workflow.execute('design-form-template', { data: { id: this.extractValue('id') } });\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateDesignerWidget: AXPWidgetConfig = {\n name: \"template-designer\",\n title: \"Template Designer\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n visible: false,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n }\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n templateDesigner: 'template-designer';\n }\n}","import { AXPWorkflow } from \"@acorex/platform/workflow\";\nimport { AXMFormTemplateManagementModuleConst } from \"../const\";\n\n\nexport const AXMCreateFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'create-form-template',\n steps: {\n \"create-form-template\": {\n action: 'start-workflow',\n input: {\n workflow: \"create-entity\",\n context: {\n redirect: true,\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`,\n }\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'get-template-confirmaton',\n },\n ],\n },\n \"get-template-confirmaton\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Confirm Action',\n message: `Would you like to proceed with starting template design?`,\n type: 'primary',\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'template-design',\n },\n ],\n },\n \"template-design\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXPDesignerConnector, AXPDesignerContent } from '@acorex/platform/layout/designer';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateTypes } from '../entities/template';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXMFormTemplateManagementModuleConst } from '../const';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../entities/category';\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXPDesignerConnectorImpl\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXPDesignerConnectorImpl\" class.\n\nexport class AXPDesignerConnectorImpl extends AXPDesignerConnector {\n\n\n\n private workflow = inject(AXPWorkflowService);\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService)\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService)\n\n //#region Save and load Widgets\n\n public override async save(id: string, content: AXPDesignerContent): Promise<boolean> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n await this.templateEntityService.updateOne(id, { template: content.json })\n return true;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n public override async saveAs(content: AXPDesignerContent): Promise<boolean> {\n const result = await this.workflow.execute('create-entity', {\n redirect: false,\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`,\n canCreateNewOne: false,\n data: {\n name: AXPDataGenerator.alphanumeric(10),\n type: AXMFormTemplateTypes.Widget,\n template: content.json,\n categoryId: (await this.categoryEntityService.query()).items[0]?.id\n }\n });\n return result.getOutput('result');\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n return item.template;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n //#endregion\n}\n","import { AXPWorkflowNavigateAction } from \"@acorex/platform/common\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class AXMOpenFormTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { id } = context.getVariable('data');\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n }\n}\n\nexport const AXMDesignFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'open-design-designer',\n steps: {\n \"open-design-designer\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXPQueryRequest } from '@acorex/platform/common';\nimport { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../entities/template';\nimport { inject } from '@angular/core';\nimport { AXPTemplateWidgetItem, AXPTemplateWidgetListItem, AXPTemplateWidgetProvider } from '../components/widgets/template';\nimport { get } from 'lodash-es';\n\nexport class AXPTemplateWidgetProviderImpl implements AXPTemplateWidgetProvider {\n private service = inject(AXMFormTemplateManagementTemplateEntityService)\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n const result = ((await this.service.query(query)).items).map(c => ({\n id: c.id,\n title: c.title,\n group: {\n name: c.categoryId,\n order: 2,\n title: get(c, 'category.title') ?? 'Custom'\n },\n description: c.description\n } as AXPTemplateWidgetListItem))\n return result;\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n const item = await this.service.getOne(id)\n if (item) {\n const document = JSON.parse(item.template) as AXPWidgetNode;\n const page = document?.children?.[0];\n\n return {\n id: item.id as string,\n nodes: page?.children ?? [],\n title: item.title,\n }\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPQueryRequest } from '@acorex/platform/common';\nimport { AXPWidgetGroup, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { sortBy } from 'lodash-es';\n\n\nexport interface AXPTemplateWidgetListItem {\n id: string,\n title: string,\n description?: string,\n icon?: string,\n group: AXPWidgetGroup,\n}\n\nexport interface AXPTemplateWidgetItem {\n id: string,\n title: string,\n nodes: AXPWidgetNode[],\n}\n\n\n\nexport interface AXPTemplateWidgetProvider {\n items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]>;\n get(id: string): Promise<AXPTemplateWidgetItem | null>;\n}\n\nexport const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken<AXPTemplateWidgetProvider[]>('AXP_TEMPLATE_WIDGET_PROVIDER');\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTemplateWidgetProviderService implements AXPTemplateWidgetProvider {\n\n private popupService = inject(AXPopupService);\n\n private providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n if (Array.isArray(this.providers)) {\n const result: AXPTemplateWidgetListItem[] = []\n for (const provider of this.providers) {\n const items = await provider.items(query);\n if (items) {\n result.push(...items);\n }\n }\n return result;\n }\n else {\n return [];\n }\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n const node = await provider.get(id);\n if (node) {\n return node;\n }\n }\n }\n return null;\n }\n\n async chooseTemplate(): Promise<AXPTemplateWidgetListItem | null> {\n const com = await import('./template-picker.component').then(\n (c) => c.AXPTemplateWidgetPickerComponent\n );\n const widgets = await this.items({\n skip: 0,\n take: 100,\n filter: {\n field: 'type.id',\n value: 20,\n operator: {\n type: 'equal',\n }\n }\n });\n const result = await this.popupService.open(com, {\n title: 'Widget Template Gallery',\n size: 'md',\n closeButton: true,\n data: {\n widgets: sortBy(widgets, (c) => c.title),\n },\n });\n if (result.data) {\n const selected = result.data?.widgets as AXPTemplateWidgetListItem[];\n return selected[0];\n }\n return null\n }\n}\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPWidgetComponent, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\n\n@Component({\n selector: 'axp-template-widget-view',\n template: `\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n >\n </ng-container>\n }\n @empty {\n <span class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 ax-text-gray-400\">\n {{ 'empty-template' | translate : { scope: 'form-template-management' } | async }}\n </span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXTranslationModule]\n})\nexport class AXPTemplateWidgetViewComponent extends AXPWidgetComponent<any> {\n private metaKey = '__meta__';\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n const value = this.getValue();\n const templateId = get(value, `${this.metaKey}.templateId`) ?? this.templateId();\n if (templateId) {\n const item = await this.templateProvider.get(templateId);\n if (item) {\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n}\n","import { AXPWidgetComponent, AXPLayoutBuilderModule, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPDesignerService,\n AXPDesignerWidgetComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, signal } from '@angular/core';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\nimport { AXMenuItem } from '@acorex/components/menu';\n\nexport const AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU: AXMenuItem = {\n text: 'Choose Template',\n name: 'choose',\n icon: 'fa-solid fa-folder-open',\n};\n\n\n@Component({\n selector: 'axp-template-widget-designer',\n template: `\n @if(nodes().length) {\n <div class=\"ax-relative ax-block ax-w-full ax-pointer-events-none\">\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-designer-renderer [locked]=\"true\" [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n <div\n class=\"ax-absolute ax-top-0 ax-bottom-0 ax-left-0 ax-right-0 ax-bg-blue-400 ax-opacity-30 ax-flex ax-justify-center ax-items-center ax-z-[400]\"\n >\n <span class=\"ax-capitalize ax-font-semibold ax-text-primary-700\"> {{ title() }}</span>\n </div>\n </div>\n } @else {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n (onClick)=\"handleChooseWidget()\"\n >\n </axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPTemplateWidgetDesignerComponent,\n useExisting: AXPWidgetComponent,\n },\n ]\n})\nexport class AXPTemplateWidgetDesignerComponent extends AXPWidgetComponent<any> implements AXPDesignerWidgetComponent {\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n private designerService = inject(AXPDesignerService);\n\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n protected title = signal<string | null>(null);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n if (this.templateId()) {\n const item = await this.templateProvider.get(this.templateId());\n if (item && item.nodes?.length > 0) {\n this.title.set(item.title);\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n\n\n // override async ngOnInit() {\n // super.ngOnInit();\n // if (!this.templateId()) {\n // this.handleChooseWidget();\n // }\n // }\n\n\n async handleChooseWidget() {\n const result = await this.templateProvider.chooseTemplate();\n if (result) {\n this.designerService.update({\n mode: 'update',\n values: { options: { templateId: result.id } },\n widget: this.node,\n });\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-block`] = true;\n return cls;\n }\n\n onContextMenu(context: { items: AXMenuItem[]; }): void {\n const items: AXMenuItem[] = [\n AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU\n ]\n items[items.length - 1].break = true;\n context.items.unshift(...items)\n }\n\n async executeCommand(command: { name: string; data?: any; handled: boolean; }): Promise<void> {\n switch (command.name) {\n case AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU.name:\n await this.handleChooseWidget();\n break;\n }\n return Promise.resolve();\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'template',\n title: 'Template',\n type: 'container',\n icon: 'fa-solid fa-file-invoice',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n visible: true,\n options: {\n canInsert: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n createStringProperty({\n name: 'options.templateId',\n title: 'Template',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n visible: false,\n }),\n ],\n components: {\n view: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-widget-edit.component').then((c) => c.AXPTemplateWidgetEditComponent),\n },\n print: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n designer: {\n component: () => import('./template-widget-designer.component').then((c) => c.AXPTemplateWidgetDesignerComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n};\n\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n // Add Form Template Group\n .addGroup('form-template', 'Form Template', 'Settings related to form templates.', 'fa-solid fa-file-invoice')\n\n // Start Interface Section\n .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n .addSetting({\n key: 'history-panel',\n title: 'Show History Panel',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Enable or disable the history panel for forms.',\n validationRules: [\n {\n rule: 'required',\n },\n ],\n })\n .endSection()\n\n // Start Saving Section\n .addSection('saving', 'Saving', 'Settings related to saving form data.')\n .addSetting({\n key: 'auto-save',\n title: 'Auto Save',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Automatically save form data at regular intervals.',\n })\n .addSetting({\n key: 'auto-save-interval',\n title: 'Auto Save Interval',\n scope: 'U',\n isInherited: true,\n defaultValue: 1,\n widget: {\n type: AXPWidgetsCatalog.number,\n options: {\n visibility: `{{ context.eval('auto-save') }}`,\n hasClearButton: false,\n minValue: 1,\n maxValue: 60,\n }\n },\n\n description: 'Set the time interval (in minites) for auto-saving form data.',\n })\n .endSection()\n\n // End Form Template Group\n .endGroup();\n }\n}\n","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { AXMFormTemplateManagementCategoryEntityModule } from './entities/category';\nimport { AXMFormTemplateManagementTemplateEntityModule } from './entities/template';\nimport { AXMFormTemplateManagementModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPTemplateDesignerWidget } from './components/widgets/template-designer';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMCreateFormTemplateWorkflow } from './workflows/create-template.workflow';\nimport { AXPDesignerConnector } from '@acorex/platform/layout/designer';\nimport { AXPDesignerConnectorImpl } from './services/designer-connector.service';\nimport { AXMOpenFormTemplateDesignerAction, AXMDesignFormTemplateWorkflow } from './workflows/design-template.workflow';\nimport { AXPTemplateWidgetProviderImpl } from './services/template.provider';\nimport { AXP_TEMPLATE_WIDGET_PROVIDER, AXPTemplateWidget } from './components/widgets/template';\nimport { AXMSettingProvider } from './setting.provider';\n\n\n\nfunction routesFacory() {\n const routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () =>\n import('./pages/designer/designer.page').then((c) => c.AXMFormTemplateManagementModuleDesignerPage),\n },\n {\n path: 'preview',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewComponent),\n },\n {\n path: 'viewer',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewViewerComponent),\n },\n ],\n },\n ]\n return routes;\n}\n\n@NgModule({\n imports: [\n AXPWidgetsModule,\n AXMFormTemplateManagementCategoryEntityModule,\n AXMFormTemplateManagementTemplateEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPTemplateDesignerWidget,\n AXPTemplateWidget\n ]\n }),\n AXPWorkflowModule.forChild({\n actions: {\n 'open-form-template-designer': AXMOpenFormTemplateDesignerAction\n },\n workflows: {\n 'create-form-template': AXMCreateFormTemplateWorkflow,\n 'design-form-template': AXMDesignFormTemplateWorkflow\n }\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMFormTemplateManagementModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXPDesignerConnector,\n useClass: AXPDesignerConnectorImpl\n },\n {\n provide: AXP_TEMPLATE_WIDGET_PROVIDER,\n useClass: AXPTemplateWidgetProviderImpl,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n }\n ],\n})\nexport class AXMFormTemplateManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-form-template-management.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/components/widgets/template-picker/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget-designer.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template/template-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-designer/template-designer-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-designer/template-designer-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/const.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.types.ts","../../../../libs/modules/form-template-management/src/lib/entity.provider.ts","../../../../libs/modules/form-template-management/src/lib/menu.provider.ts","../../../../libs/modules/form-template-management/src/lib/search.provider.ts","../../../../libs/modules/form-template-management/src/lib/services/designer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/services/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/setting.provider.ts","../../../../libs/modules/form-template-management/src/lib/workflows/create-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/workflows/design-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/form-template-management.module.ts","../../../../libs/modules/form-template-management/src/acorex-modules-form-template-management.ts"],"sourcesContent":["import { AXPopupService } from '@acorex/components/popup';\nimport { AXPQueryRequest } from '@acorex/platform/common';\nimport { AXPWidgetGroup, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { sortBy } from 'lodash-es';\n\n\nexport interface AXPTemplateWidgetListItem {\n id: string,\n title: string,\n description?: string,\n icon?: string,\n group: AXPWidgetGroup,\n}\n\nexport interface AXPTemplateWidgetItem {\n id: string,\n title: string,\n nodes: AXPWidgetNode[],\n}\n\n\n\nexport interface AXPTemplateWidgetProvider {\n items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]>;\n get(id: string): Promise<AXPTemplateWidgetItem | null>;\n}\n\nexport const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken<AXPTemplateWidgetProvider[]>('AXP_TEMPLATE_WIDGET_PROVIDER');\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTemplateWidgetProviderService implements AXPTemplateWidgetProvider {\n\n private popupService = inject(AXPopupService);\n\n private providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n if (Array.isArray(this.providers)) {\n const result: AXPTemplateWidgetListItem[] = []\n for (const provider of this.providers) {\n const items = await provider.items(query);\n if (items) {\n result.push(...items);\n }\n }\n return result;\n }\n else {\n return [];\n }\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n const node = await provider.get(id);\n if (node) {\n return node;\n }\n }\n }\n return null;\n }\n\n async chooseTemplate(): Promise<AXPTemplateWidgetListItem | null> {\n const com = await import('./template-picker.component').then(\n (c) => c.AXPTemplateWidgetPickerComponent\n );\n const widgets = await this.items({\n skip: 0,\n take: 100,\n filter: {\n field: 'type.id',\n value: 20,\n operator: {\n type: 'equal',\n }\n }\n });\n const result = await this.popupService.open(com, {\n title: 'Widget Template Gallery',\n size: 'md',\n closeButton: true,\n data: {\n widgets: sortBy(widgets, (c) => c.title),\n },\n });\n if (result.data) {\n const selected = result.data?.widgets as AXPTemplateWidgetListItem[];\n return selected[0];\n }\n return null\n }\n}\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPWidgetComponent, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\n\n@Component({\n selector: 'axp-template-widget-view',\n template: `\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n >\n </ng-container>\n }\n @empty {\n <span class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 ax-text-gray-400\">\n {{ 'empty-template' | translate : { scope: 'form-template-management' } | async }}\n </span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXTranslationModule]\n})\nexport class AXPTemplateWidgetViewComponent extends AXPWidgetComponent<any> {\n private metaKey = '__meta__';\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n const value = this.getValue();\n const templateId = get(value, `${this.metaKey}.templateId`) ?? this.templateId();\n if (templateId) {\n const item = await this.templateProvider.get(templateId);\n if (item) {\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n}\n","import { AXPWidgetComponent, AXPLayoutBuilderModule, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPDesignerService,\n AXPDesignerWidgetComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, signal } from '@angular/core';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\nimport { AXMenuItem } from '@acorex/components/menu';\n\nexport const AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU: AXMenuItem = {\n text: 'Choose Template',\n name: 'choose',\n icon: 'fa-solid fa-folder-open',\n};\n\n\n@Component({\n selector: 'axp-template-widget-designer',\n template: `\n @if(nodes().length) {\n <div class=\"ax-relative ax-block ax-w-full ax-pointer-events-none\">\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-designer-renderer [locked]=\"true\" [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n <div\n class=\"ax-absolute ax-top-0 ax-bottom-0 ax-left-0 ax-right-0 ax-bg-blue-400 ax-opacity-30 ax-flex ax-justify-center ax-items-center ax-z-[400]\"\n >\n <span class=\"ax-capitalize ax-font-semibold ax-text-primary-700\"> {{ title() }}</span>\n </div>\n </div>\n } @else {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n (onClick)=\"handleChooseWidget()\"\n >\n </axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPTemplateWidgetDesignerComponent,\n useExisting: AXPWidgetComponent,\n },\n ]\n})\nexport class AXPTemplateWidgetDesignerComponent extends AXPWidgetComponent<any> implements AXPDesignerWidgetComponent {\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n private designerService = inject(AXPDesignerService);\n\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n protected title = signal<string | null>(null);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n if (this.templateId()) {\n const item = await this.templateProvider.get(this.templateId());\n if (item && item.nodes?.length > 0) {\n this.title.set(item.title);\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n\n\n // override async ngOnInit() {\n // super.ngOnInit();\n // if (!this.templateId()) {\n // this.handleChooseWidget();\n // }\n // }\n\n\n async handleChooseWidget() {\n const result = await this.templateProvider.chooseTemplate();\n if (result) {\n this.designerService.update({\n mode: 'update',\n values: { options: { templateId: result.id } },\n widget: this.node,\n });\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-block`] = true;\n return cls;\n }\n\n onContextMenu(context: { items: AXMenuItem[]; }): void {\n const items: AXMenuItem[] = [\n AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU\n ]\n items[items.length - 1].break = true;\n context.items.unshift(...items)\n }\n\n async executeCommand(command: { name: string; data?: any; handled: boolean; }): Promise<void> {\n switch (command.name) {\n case AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU.name:\n await this.handleChooseWidget();\n break;\n }\n return Promise.resolve();\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'template',\n title: 'Template',\n type: 'container',\n icon: 'fa-solid fa-file-invoice',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n visible: true,\n options: {\n canInsert: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n createStringProperty({\n name: 'options.templateId',\n title: 'Template',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n visible: false,\n }),\n ],\n components: {\n view: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-widget-edit.component').then((c) => c.AXPTemplateWidgetEditComponent),\n },\n print: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n designer: {\n component: () => import('./template-widget-designer.component').then((c) => c.AXPTemplateWidgetDesignerComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n};\n\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: `\n <span\n class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 hover:ax-text-primary-500 ax-cursor-pointer\"\n (click)=\"handleClick()\"\n >\n {{ 't(\"edit-template\",{ scope:\"form-template-management\" })' | translate | async }}\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXTranslationModule]\n})\nexport class AXPTemplateDesignerWidgetViewComponent extends AXPWidgetComponent<any> {\n private workflow = inject(AXPWorkflowService);\n\n protected async handleClick() {\n await this.workflow.execute('design-form-template', { data: { id: this.extractValue('id') } });\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateDesignerWidget: AXPWidgetConfig = {\n name: \"template-designer\",\n title: \"Template Designer\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n visible: false,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n }\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n templateDesigner: 'template-designer';\n }\n}","export const AXMFormTemplateManagementModuleConst = {\n moduleName: 'FormTemplateManagement',\n moduleRoute: 'form-template-management',\n i18n: 'form-template-management',\n categoryEntity: 'Category',\n templateEntity: 'Template',\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityModel } from './category.types';\n\nexport abstract class AXMFormTemplateManagementCategoryEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementCategoryEntityModel\n> {}\n\n@Injectable()\nexport class AXMFormTemplateManagementCategoryEntityServiceImpl extends AXMFormTemplateManagementCategoryEntityService {\n constructor() {\n super(`${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementCategoryEntityService, AXMFormTemplateManagementCategoryEntityServiceImpl } from './category.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementCategoryEntityService,\n useClass: AXMFormTemplateManagementCategoryEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementCategoryEntityModule {\n}\n ","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from '../../const';\nimport { AXMFormTemplateManagementTemplateEntityModel } from './template.types';\n\nexport abstract class AXMFormTemplateManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementTemplateEntityModel\n> { }\n\n@Injectable()\nexport class AXMFormTemplateManagementTemplateEntityServiceImpl extends AXMFormTemplateManagementTemplateEntityService {\n constructor() {\n super(`${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateManagementTemplateEntityServiceImpl } from './template.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementTemplateEntityService,\n useClass: AXMFormTemplateManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementTemplateEntityModule {\n}\n ","import { AXPEntityModel } from '@acorex/platform/common';\n\nexport interface AXMFormTemplateManagementTemplateEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n template: string;\n description?: string;\n type: number,\n categoryId: string\n}\n\n\nexport const AXMFormTemplateTypes = {\n Form: { id: 10, title: 'Form Template' },\n Widget: { id: 20, title: 'Widget Template' },\n} ","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from './const';\n\n@Injectable()\nexport class AXMFormTemplateManagementModuleEntityProvider\n implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader\n{\n public preload(): AXPEntityPreloadEntity[] {\n const { categoryEntity, templateEntity } = AXMFormTemplateManagementModuleConst;\n const module = AXMFormTemplateManagementModuleConst.moduleName;\n return [categoryEntity, templateEntity].map((entity) => ({ module, entity }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == AXMFormTemplateManagementModuleConst.moduleName) {\n switch (entityName) {\n case AXMFormTemplateManagementModuleConst.categoryEntity:\n return (await import('./entities/category/category.entity')).factory(this.injector);\n case AXMFormTemplateManagementModuleConst.templateEntity:\n return (await import('./entities/template/template.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXMFormTemplateManagementModuleConst } from './const';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = AXMFormTemplateManagementModuleConst.i18n;\n const moduleName = AXMFormTemplateManagementModuleConst.moduleName;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('module-name', {scope:\"${scope}\"})`,\n icon: 'fa-solid fa-file-invoice',\n children: [\n {\n text: `t(\"categories\", { scope: \"common\" })`,\n path: this.entityService.createPath(moduleName, AXMFormTemplateManagementModuleConst.categoryEntity),\n priority: 1,\n },\n {\n text: `t('templates', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(moduleName, AXMFormTemplateManagementModuleConst.templateEntity),\n priority: 2,\n },\n ],\n },\n ]);\n }\n}\n","import { AXPCommandSearchProvider, AXPSearchResult } from '@acorex/platform/common';\nimport { AXMFormTemplateManagementModuleConst } from './const';\n\nexport class AXMFormTemplateManagementSearchProvider extends AXPCommandSearchProvider {\n commands: AXPSearchResult[] = [\n {\n name: 'command',\n title: 'Create New Form Template',\n icon: 'fa-solid fa-plus',\n data: {\n command: {\n name: 'create-entity',\n options: {\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`,\n },\n },\n },\n },\n {\n name: 'command',\n title: 'Create form template category',\n icon: 'fa-solid fa-plus',\n data: {\n command: {\n name: 'create-entity',\n options: {\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`,\n },\n },\n },\n },\n ];\n}\n","import { AXPDesignerConnector, AXPDesignerContent } from '@acorex/platform/layout/designer';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateTypes } from '../entities/template';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXMFormTemplateManagementModuleConst } from '../const';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../entities/category';\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXPDesignerConnectorImpl\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXPDesignerConnectorImpl\" class.\n\nexport class AXPDesignerConnectorImpl extends AXPDesignerConnector {\n\n\n\n private workflow = inject(AXPWorkflowService);\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService)\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService)\n\n //#region Save and load Widgets\n\n public override async save(id: string, content: AXPDesignerContent): Promise<boolean> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n await this.templateEntityService.updateOne(id, { template: content.json })\n return true;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n public override async saveAs(content: AXPDesignerContent): Promise<boolean> {\n const result = await this.workflow.execute('create-entity', {\n redirect: false,\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`,\n canCreateNewOne: false,\n data: {\n name: AXPDataGenerator.alphanumeric(10),\n type: AXMFormTemplateTypes.Widget,\n template: content.json,\n categoryId: (await this.categoryEntityService.query()).items[0]?.id\n }\n });\n return result.getOutput('result');\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n return item.template;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n //#endregion\n}\n","import { AXPQueryRequest } from '@acorex/platform/common';\nimport { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../entities/template';\nimport { inject } from '@angular/core';\nimport { AXPTemplateWidgetItem, AXPTemplateWidgetListItem, AXPTemplateWidgetProvider } from '../components/widgets/template';\nimport { get } from 'lodash-es';\n\nexport class AXPTemplateWidgetProviderImpl implements AXPTemplateWidgetProvider {\n private service = inject(AXMFormTemplateManagementTemplateEntityService)\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n const result = ((await this.service.query(query)).items).map(c => ({\n id: c.id,\n title: c.title,\n group: {\n name: c.categoryId,\n order: 2,\n title: get(c, 'category.title') ?? 'Custom'\n },\n description: c.description\n } as AXPTemplateWidgetListItem))\n return result;\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n const item = await this.service.getOne(id)\n if (item) {\n const document = JSON.parse(item.template) as AXPWidgetNode;\n const page = document?.children?.[0];\n\n return {\n id: item.id as string,\n nodes: page?.children ?? [],\n title: item.title,\n }\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n // Add Form Template Group\n .addGroup('form-template', 'Form Template', 'Settings related to form templates.', 'fa-solid fa-file-invoice')\n\n // Start Interface Section\n .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n .addSetting({\n key: 'history-panel',\n title: 'Show History Panel',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Enable or disable the history panel for forms.',\n validationRules: [\n {\n rule: 'required',\n },\n ],\n })\n .endSection()\n\n // Start Saving Section\n .addSection('saving', 'Saving', 'Settings related to saving form data.')\n .addSetting({\n key: 'auto-save',\n title: 'Auto Save',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Automatically save form data at regular intervals.',\n })\n .addSetting({\n key: 'auto-save-interval',\n title: 'Auto Save Interval',\n scope: 'U',\n isInherited: true,\n defaultValue: 1,\n widget: {\n type: AXPWidgetsCatalog.number,\n options: {\n visibility: `{{ context.eval('auto-save') }}`,\n hasClearButton: false,\n minValue: 1,\n maxValue: 60,\n }\n },\n\n description: 'Set the time interval (in minites) for auto-saving form data.',\n })\n .endSection()\n\n // End Form Template Group\n .endGroup();\n }\n}\n","import { AXPWorkflow } from \"@acorex/platform/workflow\";\nimport { AXMFormTemplateManagementModuleConst } from \"../const\";\n\n\nexport const AXMCreateFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'create-form-template',\n steps: {\n \"create-form-template\": {\n action: 'start-workflow',\n input: {\n workflow: \"create-entity\",\n context: {\n redirect: true,\n entity: `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.templateEntity}`,\n }\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'get-template-confirmaton',\n },\n ],\n },\n \"get-template-confirmaton\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Confirm Action',\n message: `Would you like to proceed with starting template design?`,\n type: 'primary',\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'template-design',\n },\n ],\n },\n \"template-design\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXPWorkflowNavigateAction } from \"@acorex/platform/common\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class AXMOpenFormTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { id } = context.getVariable('data');\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n }\n}\n\nexport const AXMDesignFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'open-design-designer',\n steps: {\n \"open-design-designer\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerConnector } from '@acorex/platform/layout/designer';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { AXP_TEMPLATE_WIDGET_PROVIDER, AXPTemplateWidget } from './components/widgets/template';\nimport { AXPTemplateDesignerWidget } from './components/widgets/template-designer';\nimport { AXMFormTemplateManagementCategoryEntityModule } from './entities/category';\nimport { AXMFormTemplateManagementTemplateEntityModule } from './entities/template';\nimport { AXMFormTemplateManagementModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMFormTemplateManagementSearchProvider } from './search.provider';\nimport { AXPDesignerConnectorImpl } from './services/designer-connector.service';\nimport { AXPTemplateWidgetProviderImpl } from './services/template.provider';\nimport { AXMSettingProvider } from './setting.provider';\nimport { AXMCreateFormTemplateWorkflow } from './workflows/create-template.workflow';\nimport { AXMDesignFormTemplateWorkflow, AXMOpenFormTemplateDesignerAction } from './workflows/design-template.workflow';\n\nfunction routesFacory() {\n const routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () =>\n import('./pages/designer/designer.page').then((c) => c.AXMFormTemplateManagementModuleDesignerPage),\n },\n {\n path: 'preview',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewComponent),\n },\n {\n path: 'viewer',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewViewerComponent),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n AXPWidgetsModule,\n AXMFormTemplateManagementCategoryEntityModule,\n AXMFormTemplateManagementTemplateEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [AXPTemplateDesignerWidget, AXPTemplateWidget],\n }),\n AXPWorkflowModule.forChild({\n actions: {\n 'open-form-template-designer': AXMOpenFormTemplateDesignerAction,\n },\n workflows: {\n 'create-form-template': AXMCreateFormTemplateWorkflow,\n 'design-form-template': AXMDesignFormTemplateWorkflow,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMFormTemplateManagementModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXPDesignerConnector,\n useClass: AXPDesignerConnectorImpl,\n },\n {\n provide: AXP_TEMPLATE_WIDGET_PROVIDER,\n useClass: AXPTemplateWidgetProviderImpl,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMFormTemplateManagementSearchProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXMFormTemplateManagementModuleSearchProvider,\n // multi: true,\n // },\n ],\n})\nexport class AXMFormTemplateManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i1$2 from '@acorex/platform/common';
2
- import { AXP_MENU_PROVIDER, AXPComponentSlotModule, AXMEntityCrudServiceImpl, AXPDataGenerator, AXPEntityQueryType, AXPEntityCommandScope, AXPEntityStorageService, AXPEntityDataProviderImpl } from '@acorex/platform/common';
2
+ import { AXMEntityCrudServiceImpl, AXP_MENU_PROVIDER, AXPComponentSlotModule, AXPDataGenerator, AXPEntityQueryType, AXPEntityCommandScope, AXPEntityStorageService, AXPEntityDataProviderImpl } from '@acorex/platform/common';
3
3
  import { AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
4
4
  import * as i0 from '@angular/core';
5
- import { input, output, computed, Component, ChangeDetectionStrategy, inject, signal, effect, Injector, Injectable, NgModule } from '@angular/core';
5
+ import { input, output, computed, Component, ChangeDetectionStrategy, inject, signal, effect, Injectable, Injector, NgModule } from '@angular/core';
6
6
  import * as i4$1 from '@acorex/components/badge';
7
7
  import { AXBadgeModule } from '@acorex/components/badge';
8
8
  import * as i1$1 from '@acorex/components/button';
@@ -223,10 +223,44 @@ const AXMNotificationManagementModuleConst = {
223
223
  notificationEntity: 'Notifications',
224
224
  };
225
225
 
226
+ class AXMNotificationManagementChannelEntityService extends AXMEntityCrudServiceImpl {
227
+ }
228
+ class AXMNotificationManagementChannelEntityServiceImpl extends AXMNotificationManagementChannelEntityService {
229
+ constructor() {
230
+ super(`${AXMNotificationManagementModuleConst.moduleName}.${AXMNotificationManagementModuleConst.notificationChannelEntity}`);
231
+ }
232
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
233
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl }); }
234
+ }
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl, decorators: [{
236
+ type: Injectable
237
+ }], ctorParameters: () => [] });
238
+
239
+ class AXMNotificationManagementTemplateEntityService extends AXMEntityCrudServiceImpl {
240
+ }
241
+ class AXMNotificationManagementTemplateEntityServiceImpl extends AXMNotificationManagementTemplateEntityService {
242
+ constructor() {
243
+ super(`${AXMNotificationManagementModuleConst.moduleName}.${AXMNotificationManagementModuleConst.notificationTemplateEntity}`);
244
+ }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
246
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl }); }
247
+ }
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl, decorators: [{
249
+ type: Injectable
250
+ }], ctorParameters: () => [] });
251
+
226
252
  class AXMNotificationModuleEntityLoader {
227
253
  constructor() {
228
254
  this.injector = inject(Injector);
229
255
  }
256
+ preload() {
257
+ const { notificationEntity, notificationTemplateEntity, notificationChannelEntity } = AXMNotificationManagementModuleConst;
258
+ const module = AXMNotificationManagementModuleConst.moduleName;
259
+ return [notificationEntity, notificationTemplateEntity, notificationChannelEntity].map((entity) => ({
260
+ module,
261
+ entity,
262
+ }));
263
+ }
230
264
  async get(moduleName, entityName) {
231
265
  return new Promise(async (resolve) => {
232
266
  switch (entityName) {
@@ -318,6 +352,14 @@ class AXMNotificationManagementModule {
318
352
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
319
353
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementModule, imports: [i1$2.AXPComponentSlotModule] }); }
320
354
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementModule, providers: [
355
+ {
356
+ provide: AXMNotificationManagementTemplateEntityService,
357
+ useClass: AXMNotificationManagementTemplateEntityServiceImpl,
358
+ },
359
+ {
360
+ provide: AXMNotificationManagementChannelEntityService,
361
+ useClass: AXMNotificationManagementChannelEntityServiceImpl,
362
+ },
321
363
  {
322
364
  provide: AXP_ENTITY_DEFINITION_LOADER,
323
365
  useClass: AXMNotificationModuleEntityLoader,
@@ -353,6 +395,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
353
395
  exports: [],
354
396
  declarations: [],
355
397
  providers: [
398
+ {
399
+ provide: AXMNotificationManagementTemplateEntityService,
400
+ useClass: AXMNotificationManagementTemplateEntityServiceImpl,
401
+ },
402
+ {
403
+ provide: AXMNotificationManagementChannelEntityService,
404
+ useClass: AXMNotificationManagementChannelEntityServiceImpl,
405
+ },
356
406
  {
357
407
  provide: AXP_ENTITY_DEFINITION_LOADER,
358
408
  useClass: AXMNotificationModuleEntityLoader,
@@ -367,19 +417,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
367
417
  }]
368
418
  }] });
369
419
 
370
- class AXMNotificationManagementChannelEntityService extends AXMEntityCrudServiceImpl {
371
- }
372
- class AXMNotificationManagementChannelEntityServiceImpl extends AXMNotificationManagementChannelEntityService {
373
- constructor() {
374
- super(`${AXMNotificationManagementModuleConst.moduleName}.${AXMNotificationManagementModuleConst.notificationChannelEntity}`);
375
- }
376
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
377
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl }); }
378
- }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementChannelEntityServiceImpl, decorators: [{
380
- type: Injectable
381
- }], ctorParameters: () => [] });
382
-
383
420
  async function notificationChannelEntityFactory(injector) {
384
421
  const dataService = injector.get(AXMNotificationManagementChannelEntityService);
385
422
  const entityDef = {
@@ -1345,19 +1382,6 @@ var notification_entity = /*#__PURE__*/Object.freeze({
1345
1382
  notificationEntityFactory: notificationEntityFactory
1346
1383
  });
1347
1384
 
1348
- class AXMNotificationManagementTemplateEntityService extends AXMEntityCrudServiceImpl {
1349
- }
1350
- class AXMNotificationManagementTemplateEntityServiceImpl extends AXMNotificationManagementTemplateEntityService {
1351
- constructor() {
1352
- super(`${AXMNotificationManagementModuleConst.moduleName}.${AXMNotificationManagementModuleConst.notificationTemplateEntity}`);
1353
- }
1354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1355
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl }); }
1356
- }
1357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotificationManagementTemplateEntityServiceImpl, decorators: [{
1358
- type: Injectable
1359
- }], ctorParameters: () => [] });
1360
-
1361
1385
  async function notificationTemplateEntityFactory(injector) {
1362
1386
  const dataService = injector.get(AXMNotificationManagementTemplateEntityService);
1363
1387
  const entityDef = {