@acorex-platform/module-application-management-client 0.0.32 → 0.0.37

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 (43) hide show
  1. package/fesm2022/acorex-platform-module-application-management-client-application-status.provider-Bz6cknzi.mjs.map +1 -1
  2. package/fesm2022/{acorex-platform-module-application-management-client-assign-features.command-CcVvmbTe.mjs → acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs} +2 -2
  3. package/fesm2022/{acorex-platform-module-application-management-client-assign-features.command-CcVvmbTe.mjs.map → acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs.map} +1 -1
  4. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-term.mjs +523 -0
  5. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-term.mjs.map +1 -0
  6. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-version.mjs +378 -0
  7. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-version.mjs.map +1 -0
  8. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-application.mjs +946 -0
  9. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-application.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-edition.mjs +365 -0
  11. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-edition.mjs.map +1 -0
  12. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-joJGmPZP.mjs +79 -0
  13. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-joJGmPZP.mjs.map +1 -0
  14. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-BfVDQrrt.mjs +466 -0
  15. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-BfVDQrrt.mjs.map +1 -0
  16. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-BVuFZBZ0.mjs +321 -0
  17. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-BVuFZBZ0.mjs.map +1 -0
  18. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BYn6bLjH.mjs +889 -0
  19. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BYn6bLjH.mjs.map +1 -0
  20. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-DOhvvPnU.mjs +308 -0
  21. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-DOhvvPnU.mjs.map +1 -0
  22. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog.mjs +2 -0
  23. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-module-application-management-client-contracts.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-module-application-management-client-feature-definition.provider-V-wfUEZf.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-module-application-management-client-features-editor.component-D9Tfh0gb.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-module-application-management-client-features-widget-column.component-C2OEG0LL.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-module-application-management-client-features-widget-designer.component-CMJwcY5f.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-module-application-management-client-features-widget-edit.component-B9YJsZFp.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-module-application-management-client-features-widget-print.component-CkTEfzcY.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-module-application-management-client-features-widget-view.component-yKbBTqym.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-module-application-management-client-local-entities.mjs +32 -0
  33. package/fesm2022/acorex-platform-module-application-management-client-local-entities.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-module-application-management-client-permission-definition.provider-MTs9VAE_.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-module-application-management-client.mjs +5 -5
  36. package/fesm2022/acorex-platform-module-application-management-client.mjs.map +1 -1
  37. package/package.json +25 -1
  38. package/types/acorex-platform-module-application-management-client-contracts-entities-app-term.d.ts +5 -0
  39. package/types/acorex-platform-module-application-management-client-contracts-entities-app-version.d.ts +5 -0
  40. package/types/acorex-platform-module-application-management-client-contracts-entities-application.d.ts +5 -0
  41. package/types/acorex-platform-module-application-management-client-contracts-entities-edition.d.ts +5 -0
  42. package/types/acorex-platform-module-application-management-client-contracts-entity-catalog.d.ts +10 -0
  43. package/types/acorex-platform-module-application-management-client-local-entities.d.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-application-management-client-application-status.provider-Bz6cknzi.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/application-status.provider.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Application Status Provider ----\n\n/**\n * Application status provider defining lifecycle states for applications.\n * Used by the status plugin to manage application status transitions and metadata.\n */\n@Injectable()\nexport class AXMApplicationStatusProvider extends AXPStatusProvider {\n readonly key = 'application-management.status.application';\n\n readonly defaultStatus = AXPSystemStatusType.Active;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Active, {\n title: '@application-management:applications.states.active',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Inactive, {\n title: '@application-management:applications.states.inactive',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Suspended, {\n title: '@application-management:applications.states.suspended',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@application-management:applications.states.pending',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.activate',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Inactive,\n title: '@application-management:applications.transitions.deactivate',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Suspended,\n title: '@application-management:applications.transitions.suspend',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.resume',\n },\n {\n from: AXPSystemStatusType.Inactive,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.activate',\n },\n ];\n}\n\n//#endregion\n\n"],"names":[],"mappings":";;;;AAAA;AAKA;AAEA;AAEA;;;AAGG;AAEG,MAAO,4BAA6B,SAAQ,iBAAiB,CAAA;AADnE,IAAA,WAAA,GAAA;;QAEa,IAAA,CAAA,GAAG,GAAG,2CAA2C;AAEjD,QAAA,IAAA,CAAA,aAAa,GAAG,mBAAmB,CAAC,MAAM;AAE1C,QAAA,IAAA,CAAA,QAAQ,GAAG;AAChB,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,MAAM,EAAE;AACjD,gBAAA,KAAK,EAAE,oDAAoD;AAC3D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,QAAQ,EAAE;AACnD,gBAAA,KAAK,EAAE,sDAAsD;AAC7D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,SAAS,EAAE;AACpD,gBAAA,KAAK,EAAE,uDAAuD;AAC9D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAClD,gBAAA,KAAK,EAAE,qDAAqD;AAC5D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;SACL;AAEQ,QAAA,IAAA,CAAA,WAAW,GAA0B;AAC1C,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,OAAO;gBACjC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,2DAA2D;AACrE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,EAAE,EAAE,mBAAmB,CAAC,QAAQ;AAChC,gBAAA,KAAK,EAAE,6DAA6D;AACvE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,EAAE,EAAE,mBAAmB,CAAC,SAAS;AACjC,gBAAA,KAAK,EAAE,0DAA0D;AACpE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,SAAS;gBACnC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,yDAAyD;AACnE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,QAAQ;gBAClC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,2DAA2D;AACrE,aAAA;SACJ;AACJ,IAAA;8GAnDY,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-application-management-client-application-status.provider-Bz6cknzi.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/application-status.provider.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Application Status Provider ----\n\n/**\n * Application status provider defining lifecycle states for applications.\n * Used by the status plugin to manage application status transitions and metadata.\n */\n@Injectable()\nexport class AXMApplicationStatusProvider extends AXPStatusProvider {\n readonly key = 'application-management.status.application';\n\n readonly defaultStatus = AXPSystemStatusType.Active;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Active, {\n title: '@application-management:applications.states.active',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Inactive, {\n title: '@application-management:applications.states.inactive',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Suspended, {\n title: '@application-management:applications.states.suspended',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@application-management:applications.states.pending',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.activate',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Inactive,\n title: '@application-management:applications.transitions.deactivate',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Suspended,\n title: '@application-management:applications.transitions.suspend',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.resume',\n },\n {\n from: AXPSystemStatusType.Inactive,\n to: AXPSystemStatusType.Active,\n title: '@application-management:applications.transitions.activate',\n },\n ];\n}\n\n//#endregion\n\n"],"names":[],"mappings":";;;;AAAA;AAKA;AAEA;AAEA;;;AAGG;AAEG,MAAO,4BAA6B,SAAQ,iBAAiB,CAAA;AADnE,IAAA,WAAA,GAAA;;QAEa,IAAA,CAAA,GAAG,GAAG,2CAA2C;AAEjD,QAAA,IAAA,CAAA,aAAa,GAAG,mBAAmB,CAAC,MAAM;AAE1C,QAAA,IAAA,CAAA,QAAQ,GAAG;AAChB,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,MAAM,EAAE;AACjD,gBAAA,KAAK,EAAE,oDAAoD;AAC3D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,QAAQ,EAAE;AACnD,gBAAA,KAAK,EAAE,sDAAsD;AAC7D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,SAAS,EAAE;AACpD,gBAAA,KAAK,EAAE,uDAAuD;AAC9D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;AACF,YAAA,wBAAwB,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAClD,gBAAA,KAAK,EAAE,qDAAqD;AAC5D,gBAAA,YAAY,EAAE,IAAI;aACrB,CAAC;SACL;AAEQ,QAAA,IAAA,CAAA,WAAW,GAA0B;AAC1C,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,OAAO;gBACjC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,2DAA2D;AACrE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,EAAE,EAAE,mBAAmB,CAAC,QAAQ;AAChC,gBAAA,KAAK,EAAE,6DAA6D;AACvE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,EAAE,EAAE,mBAAmB,CAAC,SAAS;AACjC,gBAAA,KAAK,EAAE,0DAA0D;AACpE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,SAAS;gBACnC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,yDAAyD;AACnE,aAAA;AACD,YAAA;gBACI,IAAI,EAAE,mBAAmB,CAAC,QAAQ;gBAClC,EAAE,EAAE,mBAAmB,CAAC,MAAM;AAC9B,gBAAA,KAAK,EAAE,2DAA2D;AACrE,aAAA;SACJ;AACJ,IAAA;8GAnDY,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC;;;"}
@@ -56,7 +56,7 @@ class AXPFeaturesEditorPopupComponent extends AXBasePageComponent {
56
56
  </ax-suffix>
57
57
  </ax-footer>
58
58
  </div>
59
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXPFeaturesEditorComponent, selector: "axm-features-editor", inputs: ["initialValue", "readOnly"], outputs: ["valueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
59
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXPFeaturesEditorComponent, selector: "axm-features-editor", inputs: ["initialValue", "readOnly"], outputs: ["valueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPFeaturesEditorPopupComponent, decorators: [{
62
62
  type: Component,
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
150
150
  }] });
151
151
 
152
152
  export { AXMAssignFeaturesCommand };
153
- //# sourceMappingURL=acorex-platform-module-application-management-client-assign-features.command-CcVvmbTe.mjs.map
153
+ //# sourceMappingURL=acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-application-management-client-assign-features.command-CcVvmbTe.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/features-widget/features-editor-popup.component.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/commands/assign-features.command.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { Component, input, signal, ChangeDetectionStrategy } from '@angular/core';\n\nimport { AXPFeaturesEditorComponent } from './features-editor.component';\n\n@Component({\n template: `\n <div class=\"flex flex-col h-full\">\n <ax-content class=\"flex-1 overflow-auto p-4\">\n <axm-features-editor\n [initialValue]=\"initialValue()\"\n [readOnly]=\"false\"\n (valueChanged)=\"onValueChanged($event)\"\n />\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Cancel\" (onClick)=\"close()\"></ax-button>\n <ax-button color=\"primary\" text=\"Save\" (onClick)=\"save()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [AXDecoratorModule, AXButtonModule, AXPFeaturesEditorComponent],\n})\nexport class AXPFeaturesEditorPopupComponent extends AXBasePageComponent {\n initialValue = input<{ modules?: string[]; features?: Record<string, unknown> }>({});\n\n private latestValue = signal<{ modules: string[]; features: Record<string, unknown> }>({\n modules: [],\n features: {},\n });\n\n override ngOnInit(): void {\n super.ngOnInit();\n const initial = this.initialValue();\n this.latestValue.set({\n modules: initial.modules ?? [],\n features: initial.features ?? {},\n });\n }\n\n protected onValueChanged(value: { modules: string[]; features: Record<string, unknown> }): void {\n this.latestValue.set(value);\n }\n\n protected save(): void {\n this.close(this.latestValue());\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCommonSettings,\n AXPSettingsService,\n} from '@acorex-platform/framework-client/common';\nimport { AXPEntityDefinitionRegistryService, dispatchEntityModifiedSideEffects } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPEntityBroadcastService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXPFeaturesEditorPopupComponent } from '../features-editor-popup.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssignFeaturesCommandInput {\n data?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Assign features command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMAssignFeaturesCommand implements AXPCommand<AXMAssignFeaturesCommandInput> {\n private readonly popupService = inject(AXPopupService);\n private readonly translationService = inject(AXTranslationService);\n private readonly entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private readonly toastService = inject(AXToastService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly entityEvents = inject(AXPEntityBroadcastService);\n\n async execute(input: AXMAssignFeaturesCommandInput = {}): AXPCommandExecuteResultPromise {\n const row = input.data;\n const id = row?.['id'];\n if (!id) {\n return { success: false, message: { text: 'Edition data with id is required.' } };\n }\n\n const title = await this.translationService.translateAsync(\n '@application-management:features-widget.terms.features',\n );\n const entityTitle = row['title'] ?? row['name'] ?? id;\n\n const modulesAndFeatures = (row['modulesAndFeatures'] as {\n modules?: string[];\n features?: Record<string, unknown>;\n }) ?? { modules: [], features: {} };\n\n const popupResult = await this.popupService.open(AXPFeaturesEditorPopupComponent, {\n title: `${title} - ${entityTitle}`,\n size: 'lg',\n data: {\n initialValue: modulesAndFeatures,\n },\n });\n\n const nextValue = popupResult?.data as { modules?: string[]; features?: Record<string, unknown> } | undefined;\n if (!nextValue) {\n return { success: true, kind: 'object', data: null };\n }\n\n const entityKey = `${RootConfig.module.name}.${RootConfig.entities.edition.name}`;\n const [moduleName, entityName] = entityKey.split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const updatePayload = {\n ...row,\n modulesAndFeatures: nextValue,\n };\n\n const updated = await (entityRef.commands?.update?.execute as (\n data: Record<string, unknown>,\n ) => Promise<Record<string, unknown>>)(updatePayload);\n\n await this.showSuccessToast();\n dispatchEntityModifiedSideEffects(this.entityEvents, entityKey, updated);\n\n return { success: true, kind: 'object', data: nextValue };\n }\n\n private async showSuccessToast(): Promise<void> {\n const enableOperationToasts = await this.settingsService.get<boolean>(AXPCommonSettings.EnableOperationToasts);\n if (!enableOperationToasts) {\n return;\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:workflow.entity-modified-title'),\n content: await this.translationService.translateAsync('@general:workflow.entity-modified-body'),\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n}\n\n//#endregion\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/features-widget/features-editor-popup.component.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/commands/assign-features.command.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { Component, input, signal, ChangeDetectionStrategy } from '@angular/core';\n\nimport { AXPFeaturesEditorComponent } from './features-editor.component';\n\n@Component({\n template: `\n <div class=\"flex flex-col h-full\">\n <ax-content class=\"flex-1 overflow-auto p-4\">\n <axm-features-editor\n [initialValue]=\"initialValue()\"\n [readOnly]=\"false\"\n (valueChanged)=\"onValueChanged($event)\"\n />\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Cancel\" (onClick)=\"close()\"></ax-button>\n <ax-button color=\"primary\" text=\"Save\" (onClick)=\"save()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [AXDecoratorModule, AXButtonModule, AXPFeaturesEditorComponent],\n})\nexport class AXPFeaturesEditorPopupComponent extends AXBasePageComponent {\n initialValue = input<{ modules?: string[]; features?: Record<string, unknown> }>({});\n\n private latestValue = signal<{ modules: string[]; features: Record<string, unknown> }>({\n modules: [],\n features: {},\n });\n\n override ngOnInit(): void {\n super.ngOnInit();\n const initial = this.initialValue();\n this.latestValue.set({\n modules: initial.modules ?? [],\n features: initial.features ?? {},\n });\n }\n\n protected onValueChanged(value: { modules: string[]; features: Record<string, unknown> }): void {\n this.latestValue.set(value);\n }\n\n protected save(): void {\n this.close(this.latestValue());\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCommonSettings,\n AXPSettingsService,\n} from '@acorex-platform/framework-client/common';\nimport { AXPEntityDefinitionRegistryService, dispatchEntityModifiedSideEffects } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPEntityBroadcastService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { RootConfig } from '@acorex-platform/module-application-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXPFeaturesEditorPopupComponent } from '../features-editor-popup.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssignFeaturesCommandInput {\n data?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Assign features command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMAssignFeaturesCommand implements AXPCommand<AXMAssignFeaturesCommandInput> {\n private readonly popupService = inject(AXPopupService);\n private readonly translationService = inject(AXTranslationService);\n private readonly entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private readonly toastService = inject(AXToastService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly entityEvents = inject(AXPEntityBroadcastService);\n\n async execute(input: AXMAssignFeaturesCommandInput = {}): AXPCommandExecuteResultPromise {\n const row = input.data;\n const id = row?.['id'];\n if (!id) {\n return { success: false, message: { text: 'Edition data with id is required.' } };\n }\n\n const title = await this.translationService.translateAsync(\n '@application-management:features-widget.terms.features',\n );\n const entityTitle = row['title'] ?? row['name'] ?? id;\n\n const modulesAndFeatures = (row['modulesAndFeatures'] as {\n modules?: string[];\n features?: Record<string, unknown>;\n }) ?? { modules: [], features: {} };\n\n const popupResult = await this.popupService.open(AXPFeaturesEditorPopupComponent, {\n title: `${title} - ${entityTitle}`,\n size: 'lg',\n data: {\n initialValue: modulesAndFeatures,\n },\n });\n\n const nextValue = popupResult?.data as { modules?: string[]; features?: Record<string, unknown> } | undefined;\n if (!nextValue) {\n return { success: true, kind: 'object', data: null };\n }\n\n const entityKey = `${RootConfig.module.name}.${RootConfig.entities.edition.name}`;\n const [moduleName, entityName] = entityKey.split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const updatePayload = {\n ...row,\n modulesAndFeatures: nextValue,\n };\n\n const updated = await (entityRef.commands?.update?.execute as (\n data: Record<string, unknown>,\n ) => Promise<Record<string, unknown>>)(updatePayload);\n\n await this.showSuccessToast();\n dispatchEntityModifiedSideEffects(this.entityEvents, entityKey, updated);\n\n return { success: true, kind: 'object', data: nextValue };\n }\n\n private async showSuccessToast(): Promise<void> {\n const enableOperationToasts = await this.settingsService.get<boolean>(AXPCommonSettings.EnableOperationToasts);\n if (!enableOperationToasts) {\n return;\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:workflow.entity-modified-title'),\n content: await this.translationService.translateAsync('@general:workflow.entity-modified-body'),\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n}\n\n//#endregion\n"],"names":["i1","i2"],"mappings":"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"}
@@ -0,0 +1,523 @@
1
+ import { AXPWidgetsList, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'application-management',
6
+ module: 'ApplicationManagement',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ route: 'application-management',
12
+ name: config.module,
13
+ title: `@${config.i18n}:module.title`,
14
+ icon: 'fa-light fa-cogs',
15
+ },
16
+ entities: {
17
+ application: {
18
+ name: 'Application',
19
+ title: `@${config.i18n}:applications.entities.application.title`,
20
+ titlePlural: `@${config.i18n}:applications.entities.application.plural`,
21
+ icon: 'fa-light fa-cube',
22
+ },
23
+ edition: {
24
+ name: 'Edition',
25
+ title: `@${config.i18n}:editions.entities.edition.title`,
26
+ titlePlural: `@${config.i18n}:editions.entities.edition.plural`,
27
+ icon: 'fa-light fa-layer-group',
28
+ },
29
+ appVersion: {
30
+ name: 'AppVersion',
31
+ title: `@${config.i18n}:app-versions.entities.app-version.title`,
32
+ titlePlural: `@${config.i18n}:app-versions.entities.app-version.plural`,
33
+ icon: 'fa-light fa-code-branch',
34
+ },
35
+ appTerm: {
36
+ name: 'AppTerm',
37
+ title: `@${config.i18n}:app-terms.entities.app-term.title`,
38
+ titlePlural: `@${config.i18n}:app-terms.entities.app-term.plural`,
39
+ pageTitle: `@${config.i18n}:app-terms.pages.terms-page.title`,
40
+ pageDescription: `@${config.i18n}:app-terms.pages.terms-page.description`,
41
+ icon: 'fa-light fa-scale-balanced',
42
+ },
43
+ },
44
+ queries: {
45
+ reports: {
46
+ getApplicationVersionsTimeline: `${config.module}:Reports:GetApplicationVersionsTimeline`,
47
+ getApplicationVersionsChartData: `${config.module}:Reports:GetApplicationVersionsChartData`,
48
+ },
49
+ },
50
+ };
51
+ // Keep the old export for backward compatibility
52
+ const AXMApplicationManagementModuleConst = {
53
+ moduleName: 'ApplicationManagement',
54
+ moduleRoute: 'application-management',
55
+ i18n: 'platform-management',
56
+ };
57
+
58
+ //#endregion
59
+ //#region ---- App Term Entity Factory ----
60
+ async function appTermEntityEntityFactory() {
61
+ const entityDef = {
62
+ module: RootConfig.module.name,
63
+ name: RootConfig.entities.appTerm.name,
64
+ title: RootConfig.entities.appTerm.title,
65
+ icon: RootConfig.entities.appTerm.icon,
66
+ formats: {
67
+ individual: RootConfig.entities.appTerm.title,
68
+ plural: RootConfig.entities.appTerm.titlePlural,
69
+ searchResult: {
70
+ title: '{{ title }}',
71
+ description: RootConfig.module.title,
72
+ },
73
+ },
74
+ relatedEntities: [],
75
+ groups: [
76
+ {
77
+ id: 'section',
78
+ title: RootConfig.entities.appTerm.title,
79
+ },
80
+ ],
81
+ properties: [
82
+ {
83
+ name: 'applicationId',
84
+ title: `@${RootConfig.config.i18n}:applications.entities.application.title`,
85
+ groupId: 'section',
86
+ options: {
87
+ filter: {
88
+ advance: {
89
+ enabled: true,
90
+ },
91
+ inline: {
92
+ enabled: true,
93
+ },
94
+ },
95
+ sort: {
96
+ enabled: true,
97
+ },
98
+ },
99
+ schema: {
100
+ dataType: 'string',
101
+ interface: {
102
+ type: AXPWidgetsList.Editors.LookupBox,
103
+ options: {
104
+ entity: `${RootConfig.module.name}.${RootConfig.entities.application.name}`,
105
+ textField: 'title',
106
+ valueField: 'id',
107
+ look: 'select',
108
+ columns: ['title', 'code'],
109
+ expose: [
110
+ { source: 'id', target: 'application.id' },
111
+ { source: 'title', target: 'application.title' },
112
+ { source: 'code', target: 'application.code' },
113
+ ],
114
+ },
115
+ },
116
+ },
117
+ validations: [
118
+ {
119
+ rule: 'required',
120
+ },
121
+ ],
122
+ },
123
+ {
124
+ name: 'type',
125
+ title: '@general:terms.common.type',
126
+ groupId: 'section',
127
+ schema: {
128
+ dataType: 'string',
129
+ interface: {
130
+ type: AXPWidgetsCatalog.text,
131
+ },
132
+ },
133
+ validations: [
134
+ {
135
+ rule: 'required',
136
+ },
137
+ ],
138
+ },
139
+ {
140
+ name: 'title',
141
+ title: '@general:terms.common.title',
142
+ groupId: 'section',
143
+ schema: {
144
+ dataType: 'string',
145
+ interface: {
146
+ type: AXPWidgetsCatalog.text,
147
+ },
148
+ },
149
+ options: {
150
+ filter: {
151
+ advance: {
152
+ enabled: true,
153
+ },
154
+ inline: {
155
+ enabled: true,
156
+ },
157
+ },
158
+ sort: {
159
+ enabled: true,
160
+ },
161
+ },
162
+ validations: [
163
+ {
164
+ rule: 'required',
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ name: 'content',
170
+ title: `@${RootConfig.config.i18n}:app-terms.entities.app-term.fields.content.title`,
171
+ groupId: 'section',
172
+ schema: {
173
+ dataType: 'string',
174
+ interface: {
175
+ type: AXPWidgetsCatalog.richText,
176
+ options: {
177
+ minLineCount: 5,
178
+ maxLineCount: 17,
179
+ isFitLine: true,
180
+ },
181
+ },
182
+ },
183
+ validations: [
184
+ {
185
+ rule: 'required',
186
+ },
187
+ ],
188
+ },
189
+ {
190
+ name: 'version',
191
+ title: `@${RootConfig.config.i18n}:app-terms.entities.app-term.fields.version.title`,
192
+ groupId: 'section',
193
+ schema: {
194
+ dataType: 'number',
195
+ interface: {
196
+ type: AXPWidgetsCatalog.number,
197
+ },
198
+ },
199
+ options: {
200
+ filter: {
201
+ advance: {
202
+ enabled: true,
203
+ },
204
+ },
205
+ sort: {
206
+ enabled: true,
207
+ },
208
+ },
209
+ validations: [
210
+ {
211
+ rule: 'required',
212
+ },
213
+ ],
214
+ },
215
+ {
216
+ name: 'effectiveDate',
217
+ title: `@${RootConfig.config.i18n}:app-terms.entities.app-term.fields.effective-date.title`,
218
+ groupId: 'section',
219
+ schema: {
220
+ dataType: 'dateTime',
221
+ interface: {
222
+ type: AXPWidgetsCatalog.dateTime,
223
+ },
224
+ },
225
+ options: {
226
+ filter: {
227
+ advance: {
228
+ enabled: true,
229
+ },
230
+ },
231
+ sort: {
232
+ enabled: true,
233
+ },
234
+ },
235
+ validations: [
236
+ {
237
+ rule: 'required',
238
+ },
239
+ ],
240
+ },
241
+ ],
242
+ columns: [
243
+ { name: 'title' },
244
+ { name: 'applicationId', options: { dataPath: 'application.title' } },
245
+ { name: 'content' },
246
+ { name: 'version' },
247
+ { name: 'effectiveDate' },
248
+ ],
249
+ interfaces: {
250
+ master: {
251
+ create: {
252
+ sections: [
253
+ {
254
+ id: 'section',
255
+ },
256
+ ],
257
+ properties: [
258
+ {
259
+ name: 'applicationId',
260
+ layout: {
261
+ positions: {
262
+ lg: {
263
+ colSpan: 12,
264
+ order: 1,
265
+ },
266
+ },
267
+ },
268
+ },
269
+ {
270
+ name: 'title',
271
+ layout: {
272
+ positions: {
273
+ lg: {
274
+ colSpan: 12,
275
+ order: 2,
276
+ },
277
+ },
278
+ },
279
+ },
280
+ {
281
+ name: 'type',
282
+ layout: {
283
+ positions: {
284
+ lg: {
285
+ colSpan: 4,
286
+ order: 3,
287
+ },
288
+ },
289
+ },
290
+ },
291
+ {
292
+ name: 'version',
293
+ layout: {
294
+ positions: {
295
+ lg: {
296
+ colSpan: 4,
297
+ order: 4,
298
+ },
299
+ },
300
+ },
301
+ },
302
+ {
303
+ name: 'content',
304
+ layout: {
305
+ positions: {
306
+ lg: {
307
+ colSpan: 12,
308
+ order: 10,
309
+ },
310
+ },
311
+ },
312
+ },
313
+ {
314
+ name: 'effectiveDate',
315
+ layout: {
316
+ positions: {
317
+ lg: {
318
+ colSpan: 4,
319
+ order: 5,
320
+ },
321
+ },
322
+ },
323
+ },
324
+ ],
325
+ },
326
+ update: {
327
+ sections: [
328
+ {
329
+ id: 'section',
330
+ },
331
+ ],
332
+ properties: [
333
+ {
334
+ name: 'applicationId',
335
+ layout: {
336
+ positions: {
337
+ lg: {
338
+ colSpan: 12,
339
+ order: 1,
340
+ },
341
+ },
342
+ },
343
+ },
344
+ {
345
+ name: 'title',
346
+ layout: {
347
+ positions: {
348
+ lg: {
349
+ colSpan: 12,
350
+ order: 2,
351
+ },
352
+ },
353
+ },
354
+ },
355
+ {
356
+ name: 'type',
357
+ layout: {
358
+ positions: {
359
+ lg: {
360
+ colSpan: 4,
361
+ order: 3,
362
+ },
363
+ },
364
+ },
365
+ },
366
+ {
367
+ name: 'version',
368
+ layout: {
369
+ positions: {
370
+ lg: {
371
+ colSpan: 4,
372
+ order: 4,
373
+ },
374
+ },
375
+ },
376
+ },
377
+ {
378
+ name: 'content',
379
+ layout: {
380
+ positions: {
381
+ lg: {
382
+ colSpan: 12,
383
+ order: 10,
384
+ },
385
+ },
386
+ },
387
+ },
388
+ {
389
+ name: 'effectiveDate',
390
+ layout: {
391
+ positions: {
392
+ lg: {
393
+ colSpan: 4,
394
+ order: 5,
395
+ },
396
+ },
397
+ },
398
+ },
399
+ ],
400
+ },
401
+ single: {
402
+ title: '{{title}}',
403
+ sections: [
404
+ {
405
+ id: 'section',
406
+ },
407
+ ],
408
+ properties: [
409
+ {
410
+ name: 'title',
411
+ layout: {
412
+ positions: {
413
+ lg: {
414
+ colSpan: 6,
415
+ order: 1,
416
+ },
417
+ },
418
+ },
419
+ },
420
+ {
421
+ name: 'applicationId',
422
+ layout: {
423
+ positions: {
424
+ lg: {
425
+ colSpan: 6,
426
+ order: 2,
427
+ },
428
+ },
429
+ },
430
+ },
431
+ {
432
+ name: 'type',
433
+ layout: {
434
+ positions: {
435
+ lg: {
436
+ colSpan: 6,
437
+ order: 3,
438
+ },
439
+ },
440
+ },
441
+ },
442
+ {
443
+ name: 'version',
444
+ layout: {
445
+ positions: {
446
+ lg: {
447
+ colSpan: 6,
448
+ order: 4,
449
+ },
450
+ },
451
+ },
452
+ },
453
+ {
454
+ name: 'content',
455
+ layout: {
456
+ positions: {
457
+ lg: {
458
+ colSpan: 12,
459
+ order: 10,
460
+ },
461
+ },
462
+ },
463
+ },
464
+ {
465
+ name: 'effectiveDate',
466
+ layout: {
467
+ positions: {
468
+ lg: {
469
+ colSpan: 6,
470
+ order: 5,
471
+ },
472
+ },
473
+ },
474
+ },
475
+ ],
476
+ actions: [],
477
+ },
478
+ list: {
479
+ actions: [
480
+ {
481
+ title: '@general:actions.create.title',
482
+ command: 'Entity:Create',
483
+ priority: 'primary',
484
+ type: 'create',
485
+ scope: AXPEntityCommandScope.TypeLevel,
486
+ },
487
+ {
488
+ title: '@general:actions.delete-items.title',
489
+ command: 'Entity:Remove',
490
+ priority: 'primary',
491
+ type: 'delete',
492
+ scope: AXPEntityCommandScope.Selected,
493
+ },
494
+ {
495
+ title: '@general:actions.detail.title',
496
+ command: 'Entity:OpenDetails',
497
+ priority: 'secondary',
498
+ type: 'view',
499
+ scope: AXPEntityCommandScope.Individual,
500
+ },
501
+ {
502
+ title: '@general:actions.delete.title',
503
+ command: 'Entity:Remove',
504
+ priority: 'secondary',
505
+ type: 'delete',
506
+ scope: AXPEntityCommandScope.Individual,
507
+ },
508
+ ],
509
+ views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],
510
+ },
511
+ },
512
+ },
513
+ };
514
+ return entityDef;
515
+ }
516
+ //#endregion
517
+
518
+ /**
519
+ * Generated bundle index. Do not edit.
520
+ */
521
+
522
+ export { appTermEntityEntityFactory };
523
+ //# sourceMappingURL=acorex-platform-module-application-management-client-contracts-entities-app-term.mjs.map