@acorex-platform/module-application-management-client 0.0.15

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 (27) hide show
  1. package/fesm2022/acorex-platform-module-application-management-client-application-status.provider-DqPlbWuW.mjs +71 -0
  2. package/fesm2022/acorex-platform-module-application-management-client-application-status.provider-DqPlbWuW.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-application-management-client-assign-features.command-BheloAKT.mjs +151 -0
  4. package/fesm2022/acorex-platform-module-application-management-client-assign-features.command-BheloAKT.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-application-management-client-contracts.mjs +2027 -0
  6. package/fesm2022/acorex-platform-module-application-management-client-contracts.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-application-management-client-feature-definition.provider-Depetn50.mjs +22 -0
  8. package/fesm2022/acorex-platform-module-application-management-client-feature-definition.provider-Depetn50.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-application-management-client-features-editor.component-DNc_GH0v.mjs +548 -0
  10. package/fesm2022/acorex-platform-module-application-management-client-features-editor.component-DNc_GH0v.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-application-management-client-features-widget-column.component-CiBGmw6I.mjs +46 -0
  12. package/fesm2022/acorex-platform-module-application-management-client-features-widget-column.component-CiBGmw6I.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-application-management-client-features-widget-designer.component-nStj9BAw.mjs +20 -0
  14. package/fesm2022/acorex-platform-module-application-management-client-features-widget-designer.component-nStj9BAw.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-application-management-client-features-widget-edit.component-D1MzYI_s.mjs +42 -0
  16. package/fesm2022/acorex-platform-module-application-management-client-features-widget-edit.component-D1MzYI_s.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-application-management-client-features-widget-print.component-C6Z9uzRr.mjs +21 -0
  18. package/fesm2022/acorex-platform-module-application-management-client-features-widget-print.component-C6Z9uzRr.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-application-management-client-features-widget-view.component-ysM1jD08.mjs +128 -0
  20. package/fesm2022/acorex-platform-module-application-management-client-features-widget-view.component-ysM1jD08.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-application-management-client-permission-definition.provider-Dn5WiubC.mjs +32 -0
  22. package/fesm2022/acorex-platform-module-application-management-client-permission-definition.provider-Dn5WiubC.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-application-management-client.mjs +1030 -0
  24. package/fesm2022/acorex-platform-module-application-management-client.mjs.map +1 -0
  25. package/package.json +28 -0
  26. package/types/acorex-platform-module-application-management-client-contracts.d.ts +161 -0
  27. package/types/acorex-platform-module-application-management-client.d.ts +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-application-management-client.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/application-info/components/notify-app-term/notify-app-term.component.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/notify-app-term/notify-app-term.component.html","../../../../libs/modules/application-management/client/src/lib/features/application-info/commands/new-term.command.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/commands/new-term.command.definition.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/commands/show-release-notes.command.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/commands/show-release-notes.command.definition.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/notify-app-version/notify-app-version.component.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/notify-app-version/notify-app-version.component.html","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/list-versions/list-version.component.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/list-versions/list-version.component.html","../../../../libs/modules/application-management/client/src/lib/features/application-info/components/slots/application-info-slot.component.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/pages/list/list-terms.component.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/pages/list/list-terms.component.html","../../../../libs/modules/application-management/client/src/lib/features/application-info/settings.provider.ts","../../../../libs/modules/application-management/client/src/lib/features/application-info/check-terms.service.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/features-widget.config.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/widget-definition.provider.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/features.module.ts","../../../../libs/modules/application-management/client/src/lib/manifest.ts","../../../../libs/modules/application-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/application-management/client/src/lib/context-definition.provider.ts","../../../../libs/modules/application-management/client/src/lib/application-management.module.ts","../../../../libs/modules/application-management/client/src/lib/entity.provider.ts","../../../../libs/modules/application-management/client/src/lib/menu.provider.ts","../../../../libs/modules/application-management/client/src/acorex-platform-module-application-management-client.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSafePipe } from '@acorex/core/pipes';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXMAppTermEntityModel } from '@acorex-platform/module-application-management-client/contracts';\n\n@Component({\n selector: 'axm-notify-app-term',\n imports: [\n CommonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXSafePipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './notify-app-term.component.html',\n})\nexport class AXMNotifyAppTermComponent extends AXBasePageComponent {\n data: AXMAppTermEntityModel[];\n safeData: SafeHtml | null;\n isConfirm: boolean = false;\n\n i18n = RootConfig.config.i18n;\n\n transformContent(content: string): string {\n return content.replace(/\\n/g, '<br>');\n }\n\n send(): void {\n this.close({ data: this.data });\n }\n}\n\n","@for (item of data; track $index) {\n <ax-content class=\"block px-4 py-4 font-bold\">{{ item.title }}</ax-content>\n <ax-content\n class=\"block px-4 pb-4 text-base/6\"\n [innerHTML]=\"transformContent(item.content) | safe: 'html'\"\n ></ax-content>\n}\n<ax-footer class=\"flex items-center justify-between p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate: { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button\n (click)=\"send()\"\n [text]=\"'@general:actions.ok.title' | translate | async\"\n [disabled]=\"!isConfirm\"\n color=\"primary\"\n ></ax-button>\n</ax-footer>\n\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPCommand } from '@acorex-platform/framework-shared/runtime';\nimport { AXPExecuteCommandResult, AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { Injectable, inject } from '@angular/core';\nimport { AXMAppTermEntityModel } from '@acorex-platform/module-application-management-client/contracts';\n\nimport { AXMNotifyAppTermComponent } from '../components/notify-app-term/notify-app-term.component';\n\n//#region ---- Types ----\n\nexport type AXMNewTermCommandInput = AXMAppTermEntityModel[] | { terms?: AXMAppTermEntityModel[] };\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveTerms(input?: AXMNewTermCommandInput | null): AXMAppTermEntityModel[] {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n return input.terms ?? [];\n}\n\n//#endregion\n\n//#region ---- New term command ----\n\n/**\n * Shows the terms confirmation popup, then marks each term as confirmed in user settings.\n * Replaces the former `new-term` workflow (popup step + settings step).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMNewTermCommand implements AXPCommand<AXMNewTermCommandInput, AXPExecuteCommandResult> {\n private readonly popupService = inject(AXPopupService);\n private readonly settingsService = inject(AXPSettingsService);\n\n async execute(input: AXMNewTermCommandInput = []): Promise<AXPExecuteCommandResult> {\n const dataList = resolveTerms(input);\n if (dataList.length === 0) {\n return { success: true };\n }\n\n await this.popupService.open(AXMNotifyAppTermComponent, {\n title: 'New Terms And Conditions',\n data: { data: dataList },\n closeButton: false,\n });\n\n for (const term of dataList) {\n await this.settingsService.scope(AXPPlatformScope.User).set(`is-confirm-term-${term.id}`, true);\n }\n\n return { success: true };\n }\n}\n\n//#endregion\n","/**\n * Build-time only. Do not import from Angular modules.\n */\n\nimport { AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM, defineCommand } from '@acorex-platform/framework-shared/runtime';\n\nexport const axmNewTermCommandDefinition = defineCommand({\n key: 'new-term',\n title: 'Confirm new terms and conditions',\n description:\n 'AXMNewTermCommand opens AXMNotifyAppTermComponent for unconfirmed terms, then sets is-confirm-term-{id} in user settings.',\n executionMode: 'frontend',\n inputs: [\n {\n name: 'terms',\n title: 'Terms',\n description: 'AXMAppTermEntityModel[] (or pass the array as root input from startup).',\n interface: { name: 'text-editor' },\n },\n ],\n outcomes: {\n mode: 'static',\n values: ['success', 'failure'],\n },\n ai: {\n tags: ['application-management', 'terms', 'popup'],\n },\n categories: [AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM],\n});\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPCommand } from '@acorex-platform/framework-shared/runtime';\nimport { AXPExecuteCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, inject } from '@angular/core';\n\n//#region ---- Show release notes command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMShowReleaseNotesCommand implements AXPCommand<Record<string, never>, AXPExecuteCommandResult> {\n private readonly popupService = inject(AXPopupService);\n private readonly translateService = inject(AXTranslationService);\n\n async execute(): Promise<AXPExecuteCommandResult> {\n const comp = (await import('../components/list-versions/list-version.component')).AXMListVersionComponent;\n await this.popupService.open(comp, {\n title: await this.translateService.translateAsync(\n '@application-management:application-info.menus.release-notes.title',\n ),\n });\n return { success: true };\n }\n}\n\n//#endregion\n","/**\n * Build-time only. Do not import from Angular modules.\n */\n\nimport { AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM, defineCommand } from '@acorex-platform/framework-shared/runtime';\n\nexport const axmShowReleaseNotesCommandDefinition = defineCommand({\n key: 'show-release-notes',\n title: 'Show release notes',\n description: 'AXMShowReleaseNotesCommand opens AXMListVersionComponent in a popup (version timeline).',\n executionMode: 'frontend',\n inputs: [],\n outcomes: {\n mode: 'static',\n values: ['success', 'failure'],\n },\n ai: {\n tags: ['application-management', 'release-notes', 'popup'],\n },\n categories: [AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM],\n});\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { AXMAppVersionEntityModel } from '@acorex-platform/module-application-management-client/contracts';\n\n@Component({\n selector: 'axm-notify-app-version',\n imports: [CommonModule, AXLabelModule, AXCheckBoxModule, AXDecoratorModule, AXButtonModule, AXTranslationModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './notify-app-version.component.html',\n})\nexport class AXMNotifyAppVersionComponent extends AXBasePageComponent {\n data: AXMAppVersionEntityModel;\n safeData: SafeHtml | null;\n isShowAgain: boolean = true;\n sanitize = inject(DomSanitizer);\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.safeData = this.sanitize.bypassSecurityTrustHtml(this.data.changeLog);\n }\n send(): void {\n this.close({ data: this.data, isShowAgain: !this.isShowAgain });\n }\n}\n\n","<ax-content class=\"block px-4 py-4 text-base/6\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"flex items-center justify-between p-2\">\n <ax-check-box [(value)]=\"isShowAgain\">\n <ax-label>Don't Show Again</ax-label>\n </ax-check-box>\n <ax-button color=\"primary\" (click)=\"send()\" [text]=\"'@general:actions.ok.title' | translate | async\"></ax-button>\n</ax-footer>\n\n","import { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTimeLineModule } from '@acorex/components/time-line';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule, AXFormatService } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, WritableSignal } from '@angular/core';\nimport { AXMAppVersionListComponentModel } from '@acorex-platform/module-application-management-client/contracts';\nimport { DomSanitizer } from '@angular/platform-browser';\n@Component({\n selector: 'axm-list-version',\n imports: [\n CommonModule,\n AXTimeLineModule,\n AXDecoratorModule,\n AXFormatModule,\n AXDateTimeModule,\n AXButtonModule,\n AXTranslationModule,\n ],\n templateUrl: './list-version.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMListVersionComponent extends AXBasePageComponent {\n private readonly entityService = inject(AXPEntityService);\n private appVersionService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.appVersion.name).data<any, any>();\n private formatService = inject(AXFormatService);\n sanitize = inject(DomSanitizer);\n versions: WritableSignal<AXMAppVersionListComponentModel[]> = signal([]);\n\n protected override async ngOnInit(): Promise<void> {\n const result = await this.appVersionService.query({\n take: 1000,\n skip: 0,\n });\n const mappedItems = result.items.map<AXMAppVersionListComponentModel>((item) => ({\n id: item.id,\n //TODO to translate\n title: `Version ${item.versionNumber} Published at ${this.formatService.format(item.publishDate, 'datetime', {\n format: 'date',\n })}`,\n content: this.sanitize.bypassSecurityTrustHtml(item.changeLog) ?? '',\n }));\n this.versions.set(mappedItems);\n }\n}\n\n","<div class=\"px-12 min-h-96\">\n <ax-time-line>\n @for (version of versions(); track version.id) {\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"px-8 py-2 text-base/6\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n</div>\n<ax-footer class=\"flex justify-end!\"\n ><ax-button\n [text]=\"'@general:actions.ok.title' | translate | async\"\n color=\"primary\"\n (onClick)=\"this.close()\"\n ></ax-button\n></ax-footer>\n\n","import { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n//#region ---- Imports ----\n\nimport { AXP_APP_VERSION_PROVIDER, AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { ChangeDetectionStrategy, Component, inject, OnInit, signal } from '@angular/core';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXMApplicationManagementApplicationEntityModel } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXMApplicationManagementEditionEntityModel } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPApplicationInfoSettings } from '@acorex-platform/module-application-management-client/contracts';\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n template: ` <small class=\"text-sm cursor-pointer\" (click)=\"openPopup()\">{{ displayText() }}</small> `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMApplicationInfoSlotComponent implements OnInit {\n private readonly entityService = inject(AXPEntityService);\n //#region ---- Services & Dependencies ----\n\n private readonly versionProvider = inject(AXP_APP_VERSION_PROVIDER);\n private readonly commandService = inject(AXPCommandService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly editionService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.edition.name).data<any, any>();\n private readonly applicationService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.application.name).data<any, any>();\n\n //#endregion\n\n //#region ---- Properties ----\n\n protected displayText = signal<string>('');\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n async ngOnInit(): Promise<void> {\n await this.loadDisplayText();\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n openPopup(): void {\n void this.commandService.execute('show-release-notes', {});\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadDisplayText(): Promise<void> {\n const application = this.sessionService.application;\n if (!application) {\n this.displayText.set('');\n return;\n }\n\n // Get version\n const versionInfo = await this.versionProvider.provider();\n const version = versionInfo.version;\n\n // Get application title\n const appTitle = application.title || application.name || '';\n\n // Check if application has multiple editions\n let editionName = '';\n const hasMultipleEditions = await this.checkMultipleEditions(application.id);\n if (hasMultipleEditions && application.edition?.title) {\n editionName = application.edition.title;\n }\n\n // Get display pattern from settings\n const pattern = await this.settingsService\n .scope(AXPPlatformScope.Platform)\n .get(AXPApplicationInfoSettings.DisplayPattern);\n\n const displayPattern = (pattern as string) || '{appTitle} {[editionName]} v{version}';\n\n // Replace placeholders\n this.displayText.set(displayPattern\n .replace(/\\{appTitle\\}/g, appTitle)\n .replace(/\\{\\[editionName\\]\\}/g, editionName ? `[${editionName}]` : '')\n .replace(/\\{editionName\\}/g, editionName)\n .replace(/\\{version\\}/g, version)\n .trim());\n }\n\n private async checkMultipleEditions(applicationId: string): Promise<boolean> {\n try {\n // Get full application entity to access editionIds\n const application = await this.applicationService.byKey(applicationId) as AXMApplicationManagementApplicationEntityModel | null;\n if (!application || !application.editionIds || application.editionIds.length === 0) {\n return false;\n }\n\n // Query editions that belong to this application\n const editionsResult = await this.editionService.query({\n skip: 0,\n take: 2, // We only need to know if there are more than 1\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'in' },\n value: application.editionIds,\n },\n ],\n },\n }) as { items: AXMApplicationManagementEditionEntityModel[] };\n\n return editionsResult.items.length > 1;\n } catch (error) {\n console.error('Error checking multiple editions:', error);\n return false;\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXOutlineContainerDirective } from '@acorex/cdk/outline';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXOutlineSideMenuDirective, AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXSafePipe } from '@acorex/core/pipes';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPThemeLayoutBlockComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex-platform/framework-client/layout/views';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject, signal } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXMAppTermViewModel } from '@acorex-platform/module-application-management-client/contracts';\n@Component({\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXPThemeLayoutBlockComponent,\n AXTranslationModule,\n AXSideMenuModule,\n AXPPageLayoutComponent,\n AXSafePipe,\n AXOutlineContainerDirective,\n AXOutlineSideMenuDirective,\n ],\n templateUrl: './list-terms.component.html',\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMListTermsComponent,\n },\n ],\n})\nexport class AXMListTermsComponent extends AXPPageLayoutBaseComponent {\n private readonly entityService = inject(AXPEntityService);\n private service = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.appTerm.name).data<any, any>();\n\n protected terms: AXMAppTermViewModel[] = [];\n protected loaded = signal(false);\n protected showScrollSide = signal(true);\n\n ngAfterViewInit() {\n this.checkScroll();\n }\n\n @HostListener('window:resize')\n onResize() {\n this.checkScroll();\n }\n\n checkScroll() {\n const contentElement = document.getElementById('contentDiv');\n if (contentElement != null) {\n this.showScrollSide.set(contentElement!.offsetHeight > window.innerHeight - 140);\n }\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n const result = await this.service.query({\n skip: 0,\n take: 1000,\n });\n this.terms = result.items.map<AXMAppTermViewModel>((term) => {\n return {\n ...term,\n content: term.content.replace(/\\n/g, '<br>'),\n };\n });\n this.loaded.set(true);\n\n setTimeout(() => this.checkScroll(), 50);\n }\n\n protected override getPageTitle(): string | Promise<string> {\n return `t(\"app-term.page-title\", {scope:\"${RootConfig.config.i18n}\"})`;\n }\n\n protected override getPageDescription(): string | Promise<string> {\n return `t(\"app-term.page-description\", {scope:\"${RootConfig.config.i18n}\"})`;\n }\n}\n\n","<axp-page-layout *translate=\"let t\">\n @if(loaded()){\n <axp-page-content id=\"contentDiv\" axOutlineContainer target=\"h2\" [scrollableElementId]=\"'axp-page-layout'\"\n [activationOffset]=\"120\" class=\"flex flex-row\">\n <div class=\"flex flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"flex flex-col\">\n <h2 class=\"px-4 font-semibold text-xl\">{{ term.title }}</h2>\n <p class=\"px-4 text-sm leading-5 opacity-65\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"pt-3 pb-6 px-4 text-base/6\" [innerHTML]=\"term.content | safe:'html'\"></div>\n </div>\n }\n </div>\n @if(showScrollSide()){\n <div class=\"hidden lg:block min-w-60\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"w-full sticky top-24\"></ax-side-menu>\n </div>\n }\n </axp-page-content>\n }\n</axp-page-layout>\n\n","//#region ---- Imports ----\n\nimport { AXPPlatformScope, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\n\nimport { Injectable } from '@angular/core';\n\nimport { objectKeyValueTransforms } from '@acorex-platform/framework-client/core';\nimport { AXPApplicationInfoSettings } from '@acorex-platform/module-application-management-client/contracts';\n\n//#endregion\n\n//#region ---- Setting Provider ----\n\nconst I18N_APP = '@application-management:application-info.settings';\nconst I18N_GENERAL = '@general:settings';\n\n@Injectable()\nexport class AXPApplicationInfoSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Find the 'Experience' settings group\n const group = context.group('experience');\n if (!group) {\n return;\n }\n\n // Find the 'Startup' section\n const section = group.section('startup');\n if (!section) {\n return;\n }\n\n // Add the 'Application Info Display Pattern' setting\n section.addSetting({\n key: AXPApplicationInfoSettings.DisplayPattern,\n title: `${I18N_APP}.display-pattern.title`,\n scope: AXPPlatformScope.Platform,\n overridableAt: [],\n isInherited: false,\n defaultValue: '{appTitle} {[editionName]} v{version}',\n widget: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: `${I18N_APP}.display-pattern.placeholder`,\n },\n },\n description: `${I18N_APP}.display-pattern.description`,\n });\n\n // Add the 'Application Terms' setting\n section.addSetting({\n key: AXPApplicationInfoSettings.ApplicationTerms,\n title: `${I18N_GENERAL}.experience.startup.application-terms.title`,\n scope: AXPPlatformScope.Platform,\n overridableAt: [],\n isInherited: false,\n defaultValue: false,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N_GENERAL}.experience.startup.application-terms.description`,\n });\n\n // Add the 'Release Notes' setting\n section.addSetting({\n key: AXPApplicationInfoSettings.ReleaseNotes,\n title: `${I18N_GENERAL}.experience.startup.release-notes.title`,\n scope: AXPPlatformScope.User,\n overridableAt: [],\n isInherited: true,\n defaultValue: false,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N_GENERAL}.experience.startup.release-notes.description`,\n });\n\n section.endSection();\n }\n}\n\n//#endregion\n","import { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXPAppStartUpService } from '@acorex-platform/framework-client/core';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMAppTermEntityModel } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPApplicationInfoSettings } from '@acorex-platform/module-application-management-client/contracts';\n@Injectable()\nexport class AXMAppTermsCheckService {\n private readonly entityService = inject(AXPEntityService);\n private settingsService = inject(AXPSettingsService);\n private readonly commandService = inject(AXPCommandService);\n private appTermService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.appTerm.name).data<any, any>();\n private appInitService = inject(AXPAppStartUpService);\n private sessionService = inject(AXPSessionService);\n\n constructor() {\n this.appInitService.registerTask({\n name: 'Terms',\n statusText: '@application-management:app-startup.checking-terms',\n priority: 6,\n run: async () => {\n this.sessionService.application$.subscribe(async (app) => {\n if (app != null) {\n const filterTerms: AXMAppTermEntityModel[] = [];\n const terms = await this.appTermService.query();\n for (const term of terms.items) {\n const isConfirm = await this.settingsService\n .scope(AXPPlatformScope.User)\n .get(`is-confirm-term-${term.id}`);\n const isEnableToShow = await this.settingsService\n .scope(AXPPlatformScope.Platform)\n .get(AXPApplicationInfoSettings.ApplicationTerms);\n if (!isConfirm && isEnableToShow) {\n filterTerms.push(term);\n }\n }\n\n if (filterTerms.length > 0) {\n setTimeout(() => {\n void this.commandService.execute('new-term', filterTerms);\n }, 500);\n }\n }\n });\n },\n });\n }\n}\n","\nimport { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXPModuleFeatureEditorWidget: AXPWidgetConfig = {\n name: 'module-feature-editor',\n title: 'Module & Features Editor',\n description: 'Widget for managing module selection and their features with full editor interface',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: 'fa-light fa-star',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./features-widget-view.component').then((c) => c.AXPFeaturesWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./features-widget-edit.component').then((c) => c.AXPModuleFeatureEditorWidgetEditComponent),\n },\n column: {\n component: () =>\n import('./features-widget-column.component').then((c) => c.AXPFeaturesWidgetColumnComponent),\n },\n print: {\n component: () =>\n import('./features-widget-print.component').then((c) => c.AXPFeaturesWidgetPrintComponent),\n },\n designer: {\n component: () =>\n import('./features-widget-designer.component').then((c) => c.AXPFeaturesWidgetDesignerComponent),\n },\n },\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXPModuleFeatureEditorWidget } from './features-widget.config';\n\n//#endregion\n\n//#region ---- Features Widgets Provider ----\n\nconst WIDGETS = [AXPModuleFeatureEditorWidget];\n\n@Injectable()\nexport class AXPFeaturesWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WIDGETS;\n }\n}\n\n//#endregion\n","import { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { NgModule } from '@angular/core';\nimport { AXPFeaturesWidgetsProvider } from './widget-definition.provider';\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n ],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPFeaturesWidgetsProvider, multi: true },\n ],\n})\nexport class AXMFeaturesModule {}\n\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Application Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const ApplicationManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n required: true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\n\n@Injectable()\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-application',\n group: 'command',\n title: RootConfig.entities.application.title,\n icon: RootConfig.entities.application.icon,\n description: RootConfig.entities.application.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.application.name}`,\n {\n name: RootConfig.entities.application.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.application.title,\n }\n ),\n },\n },\n ];\n}\n","import { Injectable } from '@angular/core';\nimport type { AXPContextDefinition, AXPContextDefinitionProvider } from '@acorex-platform/framework-client/core';\n\n//#region ---- Application context definitions ----\n\n@Injectable()\nexport class AXMApplicationManagementContextDefinitionProvider implements AXPContextDefinitionProvider {\n async items(): Promise<AXPContextDefinition[]> {\n return [\n {\n name: 'applicationId',\n title: 'Application ID',\n description:\n 'Identifier of the application edition currently selected in the session. Narrows features, menus, and permissions.',\n ai: {\n promptLabel: 'Application id',\n usageHint: 'Scope product-specific behavior to this application unless the user names another app.',\n valueKind: 'string',\n order: 30,\n },\n },\n {\n name: 'applicationTitle',\n title: 'Application title',\n description: 'Display name of the active application from the session (title or name).',\n ai: {\n promptLabel: 'Application title',\n usageHint: 'Use when referring to the product or app shell the user is working in.',\n valueKind: 'string',\n order: 31,\n },\n },\n ];\n }\n}\n\n//#endregion\n","import { AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_SETTING_DEFINITION_PROVIDER, AXP_STATUS_PROVIDERS, AXP_SEARCH_PROVIDER, AXPFooterTextSlotComponent, AXPNavBarSlotComponent, AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXP_CONTEXT_DEFINITION_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex-platform/framework-client/core';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex-platform/framework-client/layout/entity';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { inject, NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { AXMApplicationInfoSlotComponent, AXPApplicationInfoSettingProvider, AXMAppTermsCheckService } from './features/application-info';\n// Entity Modules\n\n// Features Modules\nimport { AXMFeaturesModule } from './features/features-widget/features.module';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\n\nimport { ApplicationManagementManifest } from './manifest';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMApplicationManagementContextDefinitionProvider } from './context-definition.provider';\n@NgModule({\n imports: [\n // Entity Modules\n // Features Modules\n AXMFeaturesModule,\n AXPComponentSlotModule.forRoot({\n 'root-footer-start': [\n {\n name: 'application-info',\n component: AXMApplicationInfoSlotComponent,\n priority: 1,\n },\n {\n name: 'copyright',\n component: AXPFooterTextSlotComponent,\n options: async () => {\n const platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n const settingsService = inject(AXPSettingsService);\n const copyrightText = await settingsService\n .scope(AXPPlatformScope.Tenant)\n .get('organization:copyright-text');\n return { text: copyrightText ?? platformConfig.copyright };\n },\n priority: 2,\n },\n ],\n 'auth-footer-links': [\n {\n name: 'links',\n component: AXPNavBarSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: () => {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n path: ':app/terms',\n loadComponent: () => {\n return config.viewers.root();\n },\n data: { rootLayout: true },\n children: [\n {\n path: '',\n loadComponent: () =>\n import('./features/application-info/pages/list/list-terms.component').then((c) => c.AXMListTermsComponent),\n },\n ],\n },\n ];\n return routes;\n },\n },\n // Module-specific providers (not part of manifest system)\n // Provide edition service using interface token for platform/core to avoid circular dependency\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPApplicationInfoSettingProvider,\n multi: true,\n },\n AXMAppTermsCheckService,\n provideCommandSetups([\n {\n key: 'new-term',\n command: () => import('./features/application-info/commands/new-term.command').then((c) => c.AXMNewTermCommand),\n },\n {\n key: 'show-release-notes',\n command: () =>\n import('./features/application-info/commands/show-release-notes.command').then((c) => c.AXMShowReleaseNotesCommand),\n },\n {\n key: 'assign-features',\n command: () =>\n import('./features/features-widget/commands/assign-features.command').then((c) => c.AXMAssignFeaturesCommand),\n },\n ]),\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: ApplicationManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n provideLazyProvider(\n AXP_STATUS_PROVIDERS,\n () => import('./features/application-status.provider').then(m => m.AXMApplicationStatusProvider)\n ),\n provideLazyProvider(\n AXP_FEATURE_DEFINITION_PROVIDER,\n () => import('./feature-definition.provider').then(m => m.AXPApplicationManagementFeatureDefinitionProvider)\n ),\n provideLazyProvider(\n AXP_PERMISSION_DEFINITION_PROVIDER,\n () => import('./permission-definition.provider').then(m => m.AXMPermissionDefinitionProvider)\n ),\n provideLazyProvider(\n AXP_MENU_PROVIDER,\n () => import('./menu.provider').then(m => m.AXMApplicationManagmentModuleMenuProvider)\n ),\n provideLazyProvider(\n AXP_ENTITY_DEFINITION_LOADER,\n () => import('./entity.provider').then(m => m.AXMEntityProvider)\n ),\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_CONTEXT_DEFINITION_PROVIDER,\n useClass: AXMApplicationManagementContextDefinitionProvider,\n multi: true,\n },\n ],\n})\nexport class AXMApplicationManagementModule {\n constructor(appTermsCheck: AXMAppTermsCheckService) { }\n}\n","\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader {\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.application.name: {\n const entity = (await import('@acorex-platform/module-application-management-client/contracts')).applicationEntityFactory;\n return entity();\n }\n case RootConfig.entities.edition.name: {\n const entity = (await import('@acorex-platform/module-application-management-client/contracts')).editionEntityFactory;\n return entity();\n }\n case RootConfig.entities.appVersion.name: {\n const entity = (await import('@acorex-platform/module-application-management-client/contracts')).appVersionEntityEntityFactory;\n return entity();\n }\n case RootConfig.entities.appTerm.name: {\n const entity = (await import('@acorex-platform/module-application-management-client/contracts')).appTermEntityEntityFactory;\n return entity();\n }\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n","import { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXPApplicationManagementMenuKeys } from '@acorex-platform/module-application-management-client/contracts';\nimport { AXMPermissionsKeys } from '@acorex-platform/module-application-management-client/contracts';\n\n@Injectable()\nexport class AXMApplicationManagmentModuleMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n const appName = this.sessionService.application?.name;\n\n context.find('Common:Menu:Platform').addItems([\n {\n name: AXPApplicationManagementMenuKeys.Applications,\n text: RootConfig.entities.application.title,\n path: this.entityService.withEntity(module.name, RootConfig.entities.application.name).createPath(),\n icon: RootConfig.entities.application.icon,\n priority: 1,\n policy: {\n features: [module.name],\n permissions: [AXMPermissionsKeys.ApplicationManagement.Applications],\n },\n },\n {\n name: AXPApplicationManagementMenuKeys.ReleaseNotes,\n priority: 2,\n text: `@${scope}:release-notes.menus.release-notes.title`,\n path: this.entityService.withEntity(module.name, RootConfig.entities.appVersion.name).createPath(),\n icon: RootConfig.entities.appVersion.icon,\n policy: {\n features: [module.name],\n permissions: [AXMPermissionsKeys.ApplicationManagement.ReleaseNotes],\n },\n },\n { name: `${AXPApplicationManagementMenuKeys.Root}:divider1`, text: '', type: 'break', priority: 3 },\n ]);\n\n //#region ---- Help Menu Extensions ----\n\n // Help menu is created by common module's menu provider\n context.find('Common:Menu:Help').addItems([\n {\n name: AXPApplicationManagementMenuKeys.HelpReleaseNotes,\n text: `@${scope}:help.menus.release-notes.title`,\n icon: 'fa-light fa-memo-pad',\n command: {\n name: 'show-release-notes',\n },\n priority: 900003,\n },\n {\n name: AXPApplicationManagementMenuKeys.HelpTerms,\n text: `@${scope}:module.menus.terms-page.title`,\n icon: 'fa-light fa-file-contract',\n path: `${appName}/terms`,\n priority: 900004,\n },\n ]);\n\n //#endregion\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i1","i2","i4","i1.AXMAppTermsCheckService"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@acorex-platform/module-application-management-client",
3
+ "version": "0.0.15",
4
+ "sideEffects": false,
5
+ "peerDependencies": {
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "module": "fesm2022/acorex-platform-module-application-management-client.mjs",
13
+ "typings": "types/acorex-platform-module-application-management-client.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/acorex-platform-module-application-management-client.d.ts",
20
+ "default": "./fesm2022/acorex-platform-module-application-management-client.mjs"
21
+ },
22
+ "./contracts": {
23
+ "types": "./types/acorex-platform-module-application-management-client-contracts.d.ts",
24
+ "default": "./fesm2022/acorex-platform-module-application-management-client-contracts.mjs"
25
+ }
26
+ },
27
+ "type": "module"
28
+ }
@@ -0,0 +1,161 @@
1
+ import { AXPEntity, AXPEntityModel } from '@acorex-platform/framework-shared/entity';
2
+ import { AXPCategoryListItem, AXPSystemStatusType } from '@acorex-platform/framework-shared/core';
3
+
4
+ declare const AXMApplicationManagementFeatureKeys: {};
5
+
6
+ declare const AXPApplicationManagementMenuKeys: {
7
+ readonly Root: "ApplicationManagement:Menu";
8
+ readonly Applications: "ApplicationManagement:Menu:Applications";
9
+ readonly AppTerms: "ApplicationManagement:Menu:AppTerms";
10
+ readonly ReleaseNotes: "ApplicationManagement:Menu:ReleaseNotes";
11
+ readonly HelpRoot: "ApplicationManagement:Menu:Help";
12
+ readonly HelpReleaseNotes: "ApplicationManagement:Menu:Help.ReleaseNotes";
13
+ readonly HelpTerms: "ApplicationManagement:Menu:Help.Terms";
14
+ };
15
+
16
+ declare const AXMPermissionsKeys: {
17
+ ApplicationManagement: {
18
+ Root: string;
19
+ Applications: string;
20
+ ReleaseNotes: string;
21
+ AppTerms: string;
22
+ };
23
+ };
24
+
25
+ declare enum AXPApplicationInfoSettings {
26
+ DisplayPattern = "ApplicationManagement:Setting:ApplicationInfo.DisplayPattern",
27
+ ApplicationTerms = "ApplicationManagement:Setting:Startup.ApplicationTerms",
28
+ InitVersion = "ApplicationManagement:Setting:AppVersion.InitVersion",
29
+ ReleaseNotes = "ApplicationManagement:Setting:Startup.ReleaseNotes"
30
+ }
31
+ /**
32
+ * Get the setting key for tracking if a specific version has been seen
33
+ * @param versionNumber The version number to check
34
+ * @returns The setting key for that version
35
+ */
36
+ declare function getAppVersionSeenKey(versionNumber: string): string;
37
+
38
+ declare const RootConfig: {
39
+ config: {
40
+ i18n: string;
41
+ module: string;
42
+ };
43
+ module: {
44
+ route: string;
45
+ name: string;
46
+ title: string;
47
+ icon: string;
48
+ };
49
+ entities: {
50
+ application: {
51
+ name: string;
52
+ title: string;
53
+ titlePlural: string;
54
+ icon: string;
55
+ };
56
+ edition: {
57
+ name: string;
58
+ title: string;
59
+ titlePlural: string;
60
+ icon: string;
61
+ };
62
+ appVersion: {
63
+ name: string;
64
+ title: string;
65
+ titlePlural: string;
66
+ icon: string;
67
+ };
68
+ appTerm: {
69
+ name: string;
70
+ title: string;
71
+ titlePlural: string;
72
+ pageTitle: string;
73
+ pageDescription: string;
74
+ icon: string;
75
+ };
76
+ };
77
+ };
78
+ declare const AXMApplicationManagementModuleConst: {
79
+ readonly moduleName: "ApplicationManagement";
80
+ readonly moduleRoute: "application-management";
81
+ readonly i18n: "platform-management";
82
+ };
83
+
84
+ declare function appTermEntityEntityFactory(): Promise<AXPEntity | null>;
85
+
86
+ declare function applicationEntityFactory(): Promise<AXPEntity | null>;
87
+
88
+ declare function editionEntityFactory(): Promise<AXPEntity | null>;
89
+
90
+ interface AXMApplicationManagementEditionEntityModel extends AXPEntityModel<string> {
91
+ title: string;
92
+ description?: string;
93
+ /**
94
+ * Modules and features configuration for this edition.
95
+ * Format: { modules: string[], features: Record<string, any> }
96
+ */
97
+ modulesAndFeatures?: {
98
+ modules: string[];
99
+ features: Record<string, any>;
100
+ };
101
+ }
102
+
103
+ interface AXMApplicationManagementApplicationEntityModel extends AXPEntityModel<string> {
104
+ code?: string;
105
+ title: string;
106
+ description?: string;
107
+ version?: string;
108
+ /** Assigned by the category plugin (`categoryIds`). */
109
+ categoryIds?: string[];
110
+ categories?: AXPCategoryListItem[];
111
+ tags?: string[];
112
+ statusId?: AXPSystemStatusType;
113
+ icon?: string;
114
+ logo?: string;
115
+ color?: string;
116
+ url?: string;
117
+ documentationUrl?: string;
118
+ supportEmail?: string;
119
+ releaseDate?: Date;
120
+ isPublic?: boolean;
121
+ editionIds: string[];
122
+ editions: AXMApplicationManagementEditionEntityModel[];
123
+ }
124
+
125
+ interface AXMAppTermEntityModel extends AXPEntityModel<string> {
126
+ type: string;
127
+ title: string;
128
+ content: string;
129
+ version: number;
130
+ effectiveDate: string;
131
+ notifyUser: boolean;
132
+ applicationId?: string;
133
+ application?: AXMApplicationManagementApplicationEntityModel;
134
+ }
135
+ interface AXMAppTermViewModel {
136
+ id?: string;
137
+ type: string;
138
+ title: string;
139
+ content: string;
140
+ version: number;
141
+ effectiveDate: string;
142
+ notifyUser: boolean;
143
+ applicationId?: string;
144
+ }
145
+
146
+ declare function appVersionEntityEntityFactory(): Promise<AXPEntity | null>;
147
+
148
+ interface AXMAppVersionEntityModel extends AXPEntityModel<string> {
149
+ versionNumber: string;
150
+ publishDate: string;
151
+ changeLog: string;
152
+ showFirstTimePopup: boolean;
153
+ }
154
+ interface AXMAppVersionListComponentModel {
155
+ id: string | undefined;
156
+ title: string;
157
+ content: any;
158
+ }
159
+
160
+ export { AXMApplicationManagementFeatureKeys, AXMApplicationManagementModuleConst, AXMPermissionsKeys, AXPApplicationInfoSettings, AXPApplicationManagementMenuKeys, RootConfig, appTermEntityEntityFactory, appVersionEntityEntityFactory, applicationEntityFactory, editionEntityFactory, getAppVersionSeenKey };
161
+ export type { AXMAppTermEntityModel, AXMAppTermViewModel, AXMAppVersionEntityModel, AXMAppVersionListComponentModel, AXMApplicationManagementApplicationEntityModel, AXMApplicationManagementEditionEntityModel };
@@ -0,0 +1,57 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@acorex-platform/framework-client/layout/widget-core';
3
+ import * as i2 from '@acorex-platform/framework-client/core';
4
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
5
+ import { AXPEntityDefinitionLoader } from '@acorex-platform/framework-client/layout/entity';
6
+ import { AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSearchResult } from '@acorex-platform/framework-client/common';
7
+
8
+ declare class AXMAppTermsCheckService {
9
+ private readonly entityService;
10
+ private settingsService;
11
+ private readonly commandService;
12
+ private appTermService;
13
+ private appInitService;
14
+ private sessionService;
15
+ constructor();
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMAppTermsCheckService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMAppTermsCheckService>;
18
+ }
19
+
20
+ declare class AXMFeaturesModule {
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMFeaturesModule, never>;
22
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMFeaturesModule, never, [typeof i1.AXPWidgetCoreModule], never>;
23
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMFeaturesModule>;
24
+ }
25
+
26
+ declare class AXMApplicationManagementModule {
27
+ constructor(appTermsCheck: AXMAppTermsCheckService);
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMApplicationManagementModule, never>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMApplicationManagementModule, never, [typeof AXMFeaturesModule, typeof i2.AXPComponentSlotModule], never>;
30
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMApplicationManagementModule>;
31
+ }
32
+
33
+ declare class AXMEntityProvider implements AXPEntityDefinitionLoader {
34
+ get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
35
+ list(): Promise<{
36
+ name: string;
37
+ module: string;
38
+ }[]>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMEntityProvider, never>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMEntityProvider>;
41
+ }
42
+
43
+ declare class AXMApplicationManagmentModuleMenuProvider implements AXPMenuProvider {
44
+ private entityService;
45
+ private sessionService;
46
+ provide(context: AXPMenuProviderContext): Promise<void>;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMApplicationManagmentModuleMenuProvider, never>;
48
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMApplicationManagmentModuleMenuProvider>;
49
+ }
50
+
51
+ declare class AXMSearchCommandProvider extends AXPSearchCommandProvider {
52
+ commands: AXPSearchResult[];
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMSearchCommandProvider, never>;
54
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMSearchCommandProvider>;
55
+ }
56
+
57
+ export { AXMApplicationManagementModule, AXMApplicationManagmentModuleMenuProvider, AXMEntityProvider, AXMSearchCommandProvider };