{"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\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 { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXValidationModule } from '@acorex/core/validation';\n\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXPContextChangeEvent } from '@acorex/platform/contracts';\nimport { AXPComponentSlotModule, AXPContextStore, AXPExpressionEvaluatorService, AXPGridLayoutDirective } from '@acorex/platform/core';\nimport { AXPEntityMasterCreateViewModel } from '@acorex/platform/layout/entity';\nimport {\n  AXPWidgetContainerComponent,\n  AXPWidgetCoreModule,\n} from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { get } from 'lodash-es';\n\n@Component({\n  templateUrl: './entity-master-create-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    AXTranslationModule,\n    //\n    AXPWidgetCoreModule,\n    AXPComponentSlotModule,\n    AXPWidgetsModule,\n    AXPGridLayoutDirective,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [AXPContextStore],\n})\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n  protected vm!: AXPEntityMasterCreateViewModel;\n\n  private container = viewChild(AXPWidgetContainerComponent);\n  private evaluator = inject(AXPExpressionEvaluatorService);\n  private toastService = inject(AXToastService);\n  private translationService = inject(AXTranslationService);\n\n  protected workflow = inject(AXPWorkflowService);\n\n  ngAfterViewInit() {\n    this.vm.builder = this.container()!.builderService;\n  }\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  protected handleCloseClick() {\n    this.close();\n  }\n\n  protected async handleBackClick() {\n    //await this.vm.executeCommand('back');\n  }\n\n  protected async handleNextClick(form: AXFormComponent) {\n    // const formResult = await form.validate();\n    // if (formResult.result) {\n    //   await this.vm.executeCommand('next');\n    // }\n  }\n\n  protected async handleSaveClick(form: AXFormComponent) {\n    const formResult = await form.validate();\n    if (formResult.result) {\n      try {\n        const record = await this.vm.save();\n\n        this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n      } catch (error: any) {\n        const errorMessage =\n          error?.message ||\n          error?.toString() ||\n          (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n        // this.toastService.show({\n        //   color: 'danger',\n        //   title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n        //   content: errorMessage,\n        //   location: 'bottom-center',\n        //   closeButton: true,\n        //   timeOut: 5000,\n        //   timeOutProgress: true,\n        // });\n      }\n    }\n  }\n\n  protected async handleSaveAndNewClick(form: AXFormComponent) {\n    const formResult = await form.validate();\n    if (formResult.result) {\n      try {\n        const record = await this.vm.save();\n        this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n        await this.vm.createNewOne();\n      } catch (error: any) {\n        const errorMessage =\n          error?.message ||\n          error?.toString() ||\n          (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n        // this.toastService.show({\n        //   color: 'danger',\n        //   title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n        //   content: errorMessage,\n        //   location: 'bottom-center',\n        //   closeButton: true,\n        //   timeOut: 5000,\n        //   timeOutProgress: true,\n        // });\n      }\n    }\n  }\n\n  protected async handleContextChange(e: AXPContextChangeEvent) {\n    this.vm.context.set(e.data);\n  }\n}\n","<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n  <ax-form\n    id=\"axp-entity-form-create\"\n    class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n    #form\n    [messageStyle]=\"'bottom'\"\n    [updateOn]=\"'blur'\"\n  >\n    <!-- Begin Sections -->\n    <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n      @for (section of vm.sections(); track section.name()) {\n        <div [axp-grid-layout]=\"section.layout()\">\n          <ax-form #form>\n            @if (vm.sections().length > 1 && !section.description()) {\n              <div class=\"ax-pb-4\">\n                <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n                @if (section.description()) {\n                  <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n                }\n              </div>\n            }\n            <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n              @for (attr of section.elements(); track $index) {\n                <ax-form-field\n                  [attr.id]=\"'axp-field-' + attr.name()\"\n                  class=\"ax-flex ax-flex-col ax-gap-1\"\n                  [axp-grid-layout]=\"attr.layout()\"\n                  [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\"\n                >\n                  @if (attr.layout().label?.visible != false) {\n                    <ax-label class=\"ax-font-semibold ax-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\n                    axp-widget-renderer\n                    [node]=\"attr.node()\"\n                    [mode]=\"'edit'\"\n                    #widget=\"widgetRenderer\"\n                  ></ng-container>\n                  @if (attr.description()) {\n                    <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-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-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n  <ax-footer id=\"axp-entity-footer-create\">\n    <ax-prefix>\n      <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n    </ax-prefix>\n    <ax-suffix>\n      <ax-button\n        id=\"axp-btn-cancel\"\n        look=\"solid\"\n        [color]=\"'default'\"\n        [text]=\"'@general:actions.cancel.title' | translate | async\"\n        (onClick)=\"handleCloseClick()\"\n      >\n      </ax-button>\n      @if (vm.canCreateNewOne()) {\n        <ax-dropdown-button\n          id=\"axp-btn-save\"\n          [disabled]=\"vm.isInProgress()\"\n          color=\"primary\"\n          [text]=\"'@general:actions.save.title' | translate | async\"\n          look=\"solid\"\n          (onClick)=\"handleSaveClick(form)\"\n        >\n          @if (vm.isInProgress()) {\n            <ax-loading></ax-loading>\n          }\n          <ax-button-item-list>\n            <ax-button-item\n              id=\"axp-btn-save-and-new\"\n              [text]=\"('@general:actions.save-and-new.title' | translate | async) ?? ''\"\n              (onClick)=\"handleSaveAndNewClick(form)\"\n            >\n            </ax-button-item>\n          </ax-button-item-list>\n        </ax-dropdown-button>\n      } @else {\n        <ax-button\n          id=\"axp-btn-save\"\n          look=\"solid\"\n          color=\"primary\"\n          [text]=\"'@general:actions.save.title' | translate | async\"\n          (onClick)=\"handleSaveClick(form)\"\n        >\n          @if (vm.isInProgress()) {\n            <ax-loading></ax-loading>\n          }\n        </ax-button>\n      }\n      <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n    </ax-suffix>\n  </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n"],"names":["i8","i9","i10"],"mappings":"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"}