@acorex-platform/framework-client 0.0.48 → 0.0.49

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 (31) hide show
  1. package/fesm2022/acorex-platform-framework-client-core.mjs +4 -0
  2. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +1 -4
  4. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  5. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-UkQsf84C.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CkqVHcl9.mjs} +10 -31
  6. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-UkQsf84C.mjs.map → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CkqVHcl9.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DmmiDLZw.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-CEtWy70B.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DmmiDLZw.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-CEtWy70B.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BOFTb66c.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BOFTb66c.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Bg-cMOlQ.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-COjqVu_3.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Bg-cMOlQ.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-COjqVu_3.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  14. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +4 -0
  15. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  16. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-DJNSBNVe.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BwwxqHzR.mjs} +7 -7
  17. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-DJNSBNVe.mjs.map → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BwwxqHzR.mjs.map} +1 -1
  18. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CKtGsWPI.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DYpd-XXJ.mjs} +2 -2
  19. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CKtGsWPI.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DYpd-XXJ.mjs.map} +1 -1
  20. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DYxgwR2E.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DfgIxNyy.mjs} +2 -2
  21. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DYxgwR2E.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DfgIxNyy.mjs.map} +1 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  23. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-DlS4v_zb.mjs → acorex-platform-framework-client-themes-default-entity-master-create-view.component-Dh_hRxZX.mjs} +3 -3
  24. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-DlS4v_zb.mjs.map → acorex-platform-framework-client-themes-default-entity-master-create-view.component-Dh_hRxZX.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DBmdBKBL.mjs → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-bC_uPN9l.mjs} +3 -3
  26. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DBmdBKBL.mjs.map → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-bC_uPN9l.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs} +3 -3
  28. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs.map → acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs.map} +1 -1
  29. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +6 -6
  30. package/package.json +2 -2
  31. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DBmdBKBL.mjs","sources":["../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.html"],"sourcesContent":["import { AXPPageStatus } from '@acorex-platform/framework-shared/widget-core';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPContextChangeEvent } from '@acorex-platform/framework-shared/core';\nimport { AXPComponentSlotModule, AXPContextStore, AXPExpressionEvaluatorService, AXPGridLayoutDirective } from '@acorex-platform/framework-client/core';\nimport { AXPEntityMasterUpdateViewModel } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\n\n@Component({\n templateUrl: './entity-master-modify-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXTranslationModule,\n AXPComponentSlotModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPContextStore],\n})\nexport class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterUpdateViewModel;\n\n private evaluator = inject(AXPExpressionEvaluatorService);\n\n private container = viewChild(AXPWidgetContainerComponent);\n protected hiddenProperties = signal<string[]>([]);\n\n #visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path: string) => get(formContext, path),\n },\n });\n\n const hiddenElementNames = evaluatedElements\n .filter((element: { name: string; visible: boolean }) => element.visible == false)\n .map((element: { name: string; visible: boolean }) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n });\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n await this.vm.save();\n\n this.close({ result: true, context: this.vm.context() });\n } catch (error: any) {\n this.vm.builder.setStatus(AXPPageStatus.Error);\n }\n }\n }\n\n protected async handleSectionDiscard(form: AXFormComponent) {\n this.close({ result: false });\n }\n\n protected async handleSectionReset(form: AXFormComponent) {\n this.vm.reset();\n }\n\n protected async handleContextChange(e: AXPContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n\n override ngOnDestroy(): void {}\n}\n","<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"flex flex-col gap-6 p-4 pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"grid grid-cols-12 gap-4 @container\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"pb-4\">\n <span class=\"font-bold text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"text-sm text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"card-body grid! grid-cols-12! gap-4! @container\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"font-semibold text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n <ax-validation-summary [displayMode]=\"'toast'\" [autoHide]=\"true\"></ax-validation-summary>\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>"],"names":["i8","i9","i10"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-framework-client-themes-default-entity-master-modify-view.component-bC_uPN9l.mjs","sources":["../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.html"],"sourcesContent":["import { AXPPageStatus } from '@acorex-platform/framework-shared/widget-core';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPContextChangeEvent } from '@acorex-platform/framework-shared/core';\nimport { AXPComponentSlotModule, AXPContextStore, AXPExpressionEvaluatorService, AXPGridLayoutDirective } from '@acorex-platform/framework-client/core';\nimport { AXPEntityMasterUpdateViewModel } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\n\n@Component({\n templateUrl: './entity-master-modify-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXTranslationModule,\n AXPComponentSlotModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPContextStore],\n})\nexport class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterUpdateViewModel;\n\n private evaluator = inject(AXPExpressionEvaluatorService);\n\n private container = viewChild(AXPWidgetContainerComponent);\n protected hiddenProperties = signal<string[]>([]);\n\n #visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path: string) => get(formContext, path),\n },\n });\n\n const hiddenElementNames = evaluatedElements\n .filter((element: { name: string; visible: boolean }) => element.visible == false)\n .map((element: { name: string; visible: boolean }) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n });\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n await this.vm.save();\n\n this.close({ result: true, context: this.vm.context() });\n } catch (error: any) {\n this.vm.builder.setStatus(AXPPageStatus.Error);\n }\n }\n }\n\n protected async handleSectionDiscard(form: AXFormComponent) {\n this.close({ result: false });\n }\n\n protected async handleSectionReset(form: AXFormComponent) {\n this.vm.reset();\n }\n\n protected async handleContextChange(e: AXPContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n\n override ngOnDestroy(): void {}\n}\n","<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"flex flex-col gap-6 p-4 pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"@container grid grid-cols-12 gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"pb-4\">\n <span class=\"font-bold text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"text-sm text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"card-body @container grid! grid-cols-12! gap-4!\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"font-semibold text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n <ax-validation-summary [displayMode]=\"'toast'\" [autoHide]=\"true\"></ax-validation-summary>\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>"],"names":["i8","i9","i10"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDM,MAAO,kCAAmC,SAAQ,mBAAmB,CAAA;AA3B3E,IAAA,WAAA,GAAA;;AA8BU,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,6BAA6B,CAAC;QAEjD,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,2BAA2B;sFAAC;QAChD,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAW,EAAE;6FAAC;AAEjD,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,YAAW;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/E,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AACrD,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;AACpB,gBAAA,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;AAC7B,aAAA,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AACxE,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,IAAY,KAAK,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;AAC/C,iBAAA;AACF,aAAA,CAAC;YAEF,MAAM,kBAAkB,GAAG;iBACxB,MAAM,CAAC,CAAC,OAA2C,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK;iBAChF,GAAG,CAAC,CAAC,OAA2C,KAAK,OAAO,CAAC,IAAI,CAAC;AACrE,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/C,CAAC;8FAAC;AAoCH,IAAA;AAtDC,IAAA,iBAAiB;IAoBjB,eAAe,GAAA;QACb,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,cAAc;IACpD;IAEU,gBAAgB,GAAA;QACxB,IAAI,CAAC,KAAK,EAAE;IACd;IAEU,MAAM,eAAe,CAAC,IAAqB,EAAA;AACnD,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AACxC,QAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,YAAA,IAAI;AACF,gBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;AAEpB,gBAAA,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D;YAAE,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;YAChD;QACF;IACF;IAEU,MAAM,oBAAoB,CAAC,IAAqB,EAAA;QACxD,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/B;IAEU,MAAM,kBAAkB,CAAC,IAAqB,EAAA;AACtD,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;IACjB;IAEU,MAAM,mBAAmB,CAAC,CAAwB,EAAA;QAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7B;AAES,IAAA,WAAW,KAAU;8GA7DnB,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAFlC,CAAC,eAAe,CAAC,qEAOE,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxD3D,ijHA6E2G,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlDvG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,UAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,eAAe,8KACf,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,gBAAgB,8BAChB,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;AAEtB,gBAAA,mBAAmB,waACnB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACtB,mBAAmB,8BACnB,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKb,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBA3B9C,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,iBAAiB;wBACjB,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,YAAY;wBACZ,eAAe;wBACf,kBAAkB;wBAClB,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;;wBAEtB,mBAAmB;wBACnB,gBAAgB;wBAChB,sBAAsB;wBACtB,mBAAmB;wBACnB,sBAAsB;AACvB,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,ijHAAA,EAAA;2FAOE,2BAA2B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;"}
@@ -92,7 +92,7 @@ class AXPEntitySingleOverviewComponent {
92
92
  this.fieldStylingClassByName.set(fieldClasses);
93
93
  }
94
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"grid grid-cols-12 gap-4 @container\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body grid! grid-cols-12! gap-4! @container\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n", styles: [":host{display:block}.primary,.secondary,.success,.warning,.danger,.accent1,.accent2,.accent3{border-radius:var(--radius-md, .375rem)}.primary{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.secondary{background:rgb(var(--ax-sys-color-secondary-lightest-surface))}.success{background:rgb(var(--ax-sys-color-success-lightest-surface))}.warning{background:rgb(var(--ax-sys-color-warning-lightest-surface))}.danger{background:rgb(var(--ax-sys-color-danger-lightest-surface))}.accent1{background:rgb(var(--ax-sys-color-accent1-lightest-surface))}.accent2{background:rgb(var(--ax-sys-color-accent2-lightest-surface))}.accent3{background:rgb(var(--ax-sys-color-accent3-lightest-surface))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1$1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.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: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"@container grid grid-cols-12 gap-4\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body @container grid! grid-cols-12! gap-4!\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n", styles: [":host{display:block}.primary,.secondary,.success,.warning,.danger,.accent1,.accent2,.accent3{border-radius:var(--radius-md, .375rem)}.primary{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.secondary{background:rgb(var(--ax-sys-color-secondary-lightest-surface))}.success{background:rgb(var(--ax-sys-color-success-lightest-surface))}.warning{background:rgb(var(--ax-sys-color-warning-lightest-surface))}.danger{background:rgb(var(--ax-sys-color-danger-lightest-surface))}.accent1{background:rgb(var(--ax-sys-color-accent1-lightest-surface))}.accent2{background:rgb(var(--ax-sys-color-accent2-lightest-surface))}.accent3{background:rgb(var(--ax-sys-color-accent3-lightest-surface))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1$1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.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: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
96
96
  //
97
97
  AXPWidgetCoreModule }, { kind: "component", type: i7.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "component", type: AXPEntityDetailListViewComponent, selector: "axp-entity-detail-list-view", inputs: ["viewModel"] }, { kind: "ngmodule", type:
98
98
  //
@@ -121,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
121
121
  AXPEntityDetailListViewComponent,
122
122
  //
123
123
  AXTranslationModule,
124
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"grid grid-cols-12 gap-4 @container\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body grid! grid-cols-12! gap-4! @container\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n", styles: [":host{display:block}.primary,.secondary,.success,.warning,.danger,.accent1,.accent2,.accent3{border-radius:var(--radius-md, .375rem)}.primary{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.secondary{background:rgb(var(--ax-sys-color-secondary-lightest-surface))}.success{background:rgb(var(--ax-sys-color-success-lightest-surface))}.warning{background:rgb(var(--ax-sys-color-warning-lightest-surface))}.danger{background:rgb(var(--ax-sys-color-danger-lightest-surface))}.accent1{background:rgb(var(--ax-sys-color-accent1-lightest-surface))}.accent2{background:rgb(var(--ax-sys-color-accent2-lightest-surface))}.accent3{background:rgb(var(--ax-sys-color-accent3-lightest-surface))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
124
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"@container grid grid-cols-12 gap-4\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body @container grid! grid-cols-12! gap-4!\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n", styles: [":host{display:block}.primary,.secondary,.success,.warning,.danger,.accent1,.accent2,.accent3{border-radius:var(--radius-md, .375rem)}.primary{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.secondary{background:rgb(var(--ax-sys-color-secondary-lightest-surface))}.success{background:rgb(var(--ax-sys-color-success-lightest-surface))}.warning{background:rgb(var(--ax-sys-color-warning-lightest-surface))}.danger{background:rgb(var(--ax-sys-color-danger-lightest-surface))}.accent1{background:rgb(var(--ax-sys-color-accent1-lightest-surface))}.accent2{background:rgb(var(--ax-sys-color-accent2-lightest-surface))}.accent3{background:rgb(var(--ax-sys-color-accent3-lightest-surface))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
125
125
  }], propDecorators: { widgetContainer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
126
126
 
127
127
  class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {
@@ -273,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
273
273
  }] });
274
274
 
275
275
  export { AXPEntityMasterSingleViewComponent };
276
- //# sourceMappingURL=acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs.map
276
+ //# sourceMappingURL=acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs","sources":["../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.html","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.html"],"sourcesContent":["import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule, AXPWidgetContainerComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXPEntityMasterSingleViewGroupViewModel,\n AXPEntityMasterSingleViewModel,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, untracked, viewChild } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPEntityDetailListViewComponent } from '../../entity-detail-list-view/entity-detail-list-view.component';\nimport { AXPGridLayoutDirective } from '@acorex-platform/framework-client/core';\n\n@Component({\n templateUrl: './entity-single-overview.component.html',\n styleUrl: './entity-single-overview.component.css',\n selector: 'axp-entity-single-overview',\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXPEntityDetailListViewComponent,\n //\n AXTranslationModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntitySingleOverviewComponent {\n //#region ----- Services & Dependencies -----\n\n private activeRoute = inject(ActivatedRoute);\n\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n\n private widgetContainer = viewChild(AXPWidgetContainerComponent);\n\n //#endregion\n\n //#region ----- State Signals -----\n\n protected selectedRelatedIEntityTabIndex = signal(0);\n\n protected recordStylingClass = signal<string | undefined>(undefined);\n\n protected fieldStylingClassByName = signal<Record<string, string>>({});\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n #refresh = effect(() => {\n if (this.vm.updateTrigger()) {\n this.widgetContainer()?.refresh();\n }\n });\n\n #styling = effect(() => {\n const data = this.vm.context();\n const sections = this.vm.sections();\n untracked(() => {\n void this.refreshStyling(data, sections);\n });\n });\n\n //#endregion\n\n //#region ----- Event Handlers -----\n\n handleActiveRelatedEntityChanged(e: AXTabStripChangedEvent) {\n this.selectedRelatedIEntityTabIndex.set(e.index);\n }\n\n //#endregion\n\n //#region ----- Styling -----\n\n protected fieldStylingClass(name: string): string | undefined {\n return this.fieldStylingClassByName()[name];\n }\n\n private async refreshStyling(data: unknown, sections: AXPEntityMasterSingleViewGroupViewModel[]): Promise<void> {\n this.recordStylingClass.set(await this.vm.resolveRecordStylingClass(data));\n\n const fieldNames = sections.flatMap((section) => section.props().map((attr) => attr.name()));\n const fieldClasses: Record<string, string> = {};\n await Promise.all(\n fieldNames.map(async (name) => {\n const fieldClass = await this.vm.resolveFieldStylingClass(name, data);\n if (fieldClass) {\n fieldClasses[name] = fieldClass;\n }\n }),\n );\n this.fieldStylingClassByName.set(fieldClasses);\n }\n\n //#endregion\n}\n","<div class=\"grid grid-cols-12 gap-4 @container\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body grid! grid-cols-12! gap-4! @container\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n","\nimport { AXPActionMenuItem, AXPBackButton, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex-platform/framework-shared/core';\nimport { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex-platform/framework-client/auth';\n\nimport { AXPContextStore, AXPEntityBroadcastService } from '@acorex-platform/framework-client/core';\nimport { AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityMasterSingleViewModel, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex-platform/framework-client/layout/views';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/themes/shared';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\n\nimport { ChangeDetectionStrategy, Component, effect, inject, untracked } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntitySingleOverviewComponent } from './overview/entity-single-overview.component';\n\n@Component({\n templateUrl: './entity-master-single-view.component.html',\n imports: [\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXPAuthModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPEntitySingleOverviewComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPComponentSlotModule\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ],\n})\nexport class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {\n private activeRoute = inject(ActivatedRoute);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n protected store = inject(AXPLayoutThemeService);\n protected contextStore = inject(AXPContextStore);\n protected entityEvents = inject(AXPEntityBroadcastService);\n protected entityService = inject(AXPEntityService);\n\n private readonly destroyed = new Subject<void>();\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n this.entityEvents\n .listenDataReload()\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (event.data.name == `${this.vm.entityDef.module}.${this.vm.entityDef.name}`) {\n const fn = this.vm.entityDef.queries?.byKey?.execute as Function;\n if (fn) {\n const data = await fn(this.vm.context().id);\n this.vm.context.set(data);\n }\n if (this.vm.entityDef.relatedEntities?.length) {\n for (const relatedEntity of this.vm.entityDef.relatedEntities) {\n this.entityEvents.publishLayoutRefresh(relatedEntity.entity);\n }\n }\n }\n });\n }\n\n #syncContext = effect(() => {\n // TODO: this is a hack to sync the context with the vm\n untracked(() => {\n this.contextStore.patch({\n entity: this.vm.context(),\n });\n });\n });\n\n override getPageTitle(): string {\n return this.vm.title();\n }\n\n override getPageDescription(): string {\n return this.vm.description() ?? '';\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] {\n return this.vm.beardcrumbs();\n }\n\n override getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.primaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.secondaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n separated: tr.separated,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override execute(command: AXPExecuteCommand): void {\n if (command) {\n this.vm.execute(command);\n }\n }\n override async getBackButton(): Promise<AXPBackButton | null> {\n return {\n title: await this.translateService.translateAsync(this.vm.title()),\n };\n }\n override onBackButtonClick(): void {\n this.vm.navigateToUp();\n }\n\n ngOnDestroy(): void {\n this.vm.destroy();\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n <axp-entity-single-overview></axp-entity-single-overview>\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>"],"names":["i3","i6","i7","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs","sources":["../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.html","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.ts","../../../../../libs/framework/client/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.html"],"sourcesContent":["import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule, AXPWidgetContainerComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXPEntityMasterSingleViewGroupViewModel,\n AXPEntityMasterSingleViewModel,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, untracked, viewChild } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPEntityDetailListViewComponent } from '../../entity-detail-list-view/entity-detail-list-view.component';\nimport { AXPGridLayoutDirective } from '@acorex-platform/framework-client/core';\n\n@Component({\n templateUrl: './entity-single-overview.component.html',\n styleUrl: './entity-single-overview.component.css',\n selector: 'axp-entity-single-overview',\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXPEntityDetailListViewComponent,\n //\n AXTranslationModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntitySingleOverviewComponent {\n //#region ----- Services & Dependencies -----\n\n private activeRoute = inject(ActivatedRoute);\n\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n\n private widgetContainer = viewChild(AXPWidgetContainerComponent);\n\n //#endregion\n\n //#region ----- State Signals -----\n\n protected selectedRelatedIEntityTabIndex = signal(0);\n\n protected recordStylingClass = signal<string | undefined>(undefined);\n\n protected fieldStylingClassByName = signal<Record<string, string>>({});\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n #refresh = effect(() => {\n if (this.vm.updateTrigger()) {\n this.widgetContainer()?.refresh();\n }\n });\n\n #styling = effect(() => {\n const data = this.vm.context();\n const sections = this.vm.sections();\n untracked(() => {\n void this.refreshStyling(data, sections);\n });\n });\n\n //#endregion\n\n //#region ----- Event Handlers -----\n\n handleActiveRelatedEntityChanged(e: AXTabStripChangedEvent) {\n this.selectedRelatedIEntityTabIndex.set(e.index);\n }\n\n //#endregion\n\n //#region ----- Styling -----\n\n protected fieldStylingClass(name: string): string | undefined {\n return this.fieldStylingClassByName()[name];\n }\n\n private async refreshStyling(data: unknown, sections: AXPEntityMasterSingleViewGroupViewModel[]): Promise<void> {\n this.recordStylingClass.set(await this.vm.resolveRecordStylingClass(data));\n\n const fieldNames = sections.flatMap((section) => section.props().map((attr) => attr.name()));\n const fieldClasses: Record<string, string> = {};\n await Promise.all(\n fieldNames.map(async (name) => {\n const fieldClass = await this.vm.resolveFieldStylingClass(name, data);\n if (fieldClass) {\n fieldClasses[name] = fieldClass;\n }\n }),\n );\n this.fieldStylingClassByName.set(fieldClasses);\n }\n\n //#endregion\n}\n","<div class=\"@container grid grid-cols-12 gap-4\" [ngClass]=\"recordStylingClass()\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"card mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"card-header py-2! px-4!\">\n <p>\n <span class=\"text-lg! font-semibold\">{{\n section.title() | translate | async\n }}</span>\n <br />\n @if (section.description()) {\n <span class=\"text-sm font-normal opacity-75\">{{\n section.description()\n }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-sm\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"card-body @container grid! grid-cols-12! gap-4!\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"flex flex-col gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [ngClass]=\"fieldStylingClass(attr.name())\"\n [class.hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"font-semibold mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"text-sm mt-1 font-normal opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"mt-4 font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item\n [text]=\"(e.title() | translate | async)!\"\n [key]=\"index.toString()\"\n >\n </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view\n [viewModel]=\"e\"\n ></axp-entity-detail-list-view>\n </div>\n }\n}\n","\nimport { AXPActionMenuItem, AXPBackButton, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex-platform/framework-shared/core';\nimport { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex-platform/framework-client/auth';\n\nimport { AXPContextStore, AXPEntityBroadcastService } from '@acorex-platform/framework-client/core';\nimport { AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityMasterSingleViewModel, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex-platform/framework-client/layout/views';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/themes/shared';\nimport { AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';\n\nimport { ChangeDetectionStrategy, Component, effect, inject, untracked } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntitySingleOverviewComponent } from './overview/entity-single-overview.component';\n\n@Component({\n templateUrl: './entity-master-single-view.component.html',\n imports: [\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXPAuthModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPEntitySingleOverviewComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPComponentSlotModule\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ],\n})\nexport class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {\n private activeRoute = inject(ActivatedRoute);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n protected store = inject(AXPLayoutThemeService);\n protected contextStore = inject(AXPContextStore);\n protected entityEvents = inject(AXPEntityBroadcastService);\n protected entityService = inject(AXPEntityService);\n\n private readonly destroyed = new Subject<void>();\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n this.entityEvents\n .listenDataReload()\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (event.data.name == `${this.vm.entityDef.module}.${this.vm.entityDef.name}`) {\n const fn = this.vm.entityDef.queries?.byKey?.execute as Function;\n if (fn) {\n const data = await fn(this.vm.context().id);\n this.vm.context.set(data);\n }\n if (this.vm.entityDef.relatedEntities?.length) {\n for (const relatedEntity of this.vm.entityDef.relatedEntities) {\n this.entityEvents.publishLayoutRefresh(relatedEntity.entity);\n }\n }\n }\n });\n }\n\n #syncContext = effect(() => {\n // TODO: this is a hack to sync the context with the vm\n untracked(() => {\n this.contextStore.patch({\n entity: this.vm.context(),\n });\n });\n });\n\n override getPageTitle(): string {\n return this.vm.title();\n }\n\n override getPageDescription(): string {\n return this.vm.description() ?? '';\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] {\n return this.vm.beardcrumbs();\n }\n\n override getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.primaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.secondaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n separated: tr.separated,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override execute(command: AXPExecuteCommand): void {\n if (command) {\n this.vm.execute(command);\n }\n }\n override async getBackButton(): Promise<AXPBackButton | null> {\n return {\n title: await this.translateService.translateAsync(this.vm.title()),\n };\n }\n override onBackButtonClick(): void {\n this.vm.navigateToUp();\n }\n\n ngOnDestroy(): void {\n this.vm.destroy();\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n <axp-entity-single-overview></axp-entity-single-overview>\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>"],"names":["i3","i6","i7","i2"],"mappings":"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"}
@@ -4701,12 +4701,12 @@ class AXPDefaultThemeModule {
4701
4701
  viewers: {
4702
4702
  root: () => Promise.resolve().then(function () { return rootLayout_component; }).then((c) => c.AXPRootLayoutComponent),
4703
4703
  master: {
4704
- single: () => import('./acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
4704
+ single: () => import('./acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
4705
4705
  details: () => import('@acorex-platform/framework-client/layout/views').then((c) => c.AXPLayoutDetailsViewComponent),
4706
4706
  ///
4707
- create: () => import('./acorex-platform-framework-client-themes-default-entity-master-create-view.component-DlS4v_zb.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
4707
+ create: () => import('./acorex-platform-framework-client-themes-default-entity-master-create-view.component-Dh_hRxZX.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
4708
4708
  ///
4709
- modify: () => import('./acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DBmdBKBL.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
4709
+ modify: () => import('./acorex-platform-framework-client-themes-default-entity-master-modify-view.component-bC_uPN9l.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
4710
4710
  //
4711
4711
  list: () => Promise.resolve().then(function () { return entityMasterListView_component; }).then((c) => c.AXPEntityMasterListViewComponent),
4712
4712
  },
@@ -4738,12 +4738,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
4738
4738
  viewers: {
4739
4739
  root: () => Promise.resolve().then(function () { return rootLayout_component; }).then((c) => c.AXPRootLayoutComponent),
4740
4740
  master: {
4741
- single: () => import('./acorex-platform-framework-client-themes-default-entity-master-single-view.component-CkpRT1a9.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
4741
+ single: () => import('./acorex-platform-framework-client-themes-default-entity-master-single-view.component-CDzBgDt7.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
4742
4742
  details: () => import('@acorex-platform/framework-client/layout/views').then((c) => c.AXPLayoutDetailsViewComponent),
4743
4743
  ///
4744
- create: () => import('./acorex-platform-framework-client-themes-default-entity-master-create-view.component-DlS4v_zb.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
4744
+ create: () => import('./acorex-platform-framework-client-themes-default-entity-master-create-view.component-Dh_hRxZX.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
4745
4745
  ///
4746
- modify: () => import('./acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DBmdBKBL.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
4746
+ modify: () => import('./acorex-platform-framework-client-themes-default-entity-master-modify-view.component-bC_uPN9l.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
4747
4747
  //
4748
4748
  list: () => Promise.resolve().then(function () { return entityMasterListView_component; }).then((c) => c.AXPEntityMasterListViewComponent),
4749
4749
  },
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@acorex-platform/framework-client",
3
- "version": "0.0.48",
3
+ "version": "0.0.49",
4
4
  "peerDependencies": {
5
- "@acorex-platform/framework-shared": "0.0.48",
5
+ "@acorex-platform/framework-shared": "0.0.49",
6
6
  "@acorex/cdk": "^21.0.0 || ^22.0.0 || ^22.0.0-next.0 || ^22.1.0-next.0 || ^22.1.0-next.0",
7
7
  "@acorex/charts": "^21.0.0 || ^22.0.0 || ^22.0.0-next.0 || ^22.1.0-next.0 || ^22.1.0-next.0",
8
8
  "@acorex/components": "^21.0.0 || ^22.0.0 || ^22.0.0-next.0 || ^22.1.0-next.0 || ^22.1.0-next.0",
@@ -376,9 +376,9 @@ interface AXPGridItemBoxString {
376
376
  rowStart?: string | number;
377
377
  rowEnd?: string | number;
378
378
  order?: string | number;
379
+ positions?: AXPGridLayoutOptions['positions'];
379
380
  alignSelf?: 'start' | 'end' | 'center' | 'stretch';
380
381
  justifySelf?: 'start' | 'end' | 'center' | 'stretch';
381
- positions?: AXPGridLayoutOptions['positions'];
382
382
  }
383
383
  type AXPGridBreakpointValues = AXPBreakpointValues<AXPGridBoxString>;
384
384
  type AXPBreakpoints = 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';