{"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-BwfEguRl.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.html"],"sourcesContent":["import { Component, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { BehaviorSubject, catchError, finalize, of, tap } from 'rxjs';\r\nimport { LiveFormComponent } from '../../core-form-design/live-form/live-form.component';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\nimport { IFormBaseControl } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { Validators } from '@angular/forms';\r\nimport { EnumTranslateKey } from 'alpha-global-constants';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IWorkflowReactContext } from '../interfaces/IWorkflowReactContext';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n  selector: 'wf-instance-step-react',\r\n  imports: [\r\n    LiveFormComponent,\r\n    FullscreenModalLoaderComponent\r\n  ],\r\n  templateUrl: './wf-instance-step-react.component.html',\r\n  styleUrl: './wf-instance-step-react.component.scss'\r\n})\r\nexport class WfInstanceStepReactComponent extends BaseComponent {\r\n  $id = signal<string>('');\r\n  $delegationId = signal<string | undefined>(undefined);\r\n  $loading = signal(false);\r\n  $context = signal<IWorkflowReactContext | null>(null); // May be improved with interface\r\n\r\n  $reactMode = signal(false);\r\n\r\n  wfs = inject(CoreWorkflowService);\r\n\r\n  injectedFields$ = new BehaviorSubject<IFormBaseControl[]>(\r\n    [\r\n      {\r\n        field: \"___reason\",\r\n        type: \"text\",\r\n        value: '',\r\n        label: \"UI_FORM_CONTROL_LABEL.REASON\",\r\n        flexSize: 12,\r\n        controlType: EnumFormBaseContolType.TEXTAREA,\r\n        textareaRows: 5,\r\n        validators: [\r\n          {\r\n            name: 'required',\r\n            validator: Validators.required,\r\n            errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED\r\n          }\r\n        ],\r\n      }\r\n    ]\r\n  )\r\n\r\n  constructor(\r\n    public override mls: MultiLanguageService,\r\n    private route: ActivatedRoute,\r\n    private appService: AppService,\r\n  ) {\r\n    super(mls);\r\n\r\n    this.route.params.subscribe(p => {\r\n      this.$id.set(p['id']);\r\n    });\r\n\r\n    this.route.queryParams.subscribe(q => {\r\n      this.$delegationId.set(q['delegationId'] ?? null);\r\n    });\r\n\r\n    effect(() => {\r\n      const id = this.$id();\r\n      const delegationId = this.$delegationId();\r\n\r\n      if (!id || !id.length) return;\r\n\r\n      let endPoint = `/api/WorkflowEngine/GetReactContext?unitedCorrelationIds=${encodeURIComponent(id)}`\r\n\r\n      if (delegationId) {\r\n        endPoint = endPoint + `&delegationId=${encodeURIComponent(delegationId)}`\r\n      }\r\n\r\n      this.subscriptions.push(\r\n        this.appService.get(`${endPoint}`)\r\n          .pipe(\r\n            tap(_ => this.$loading.set(true)),\r\n            catchError(err => {\r\n              const messageCode =\r\n                err?.error?.message ||       // API-defined message\r\n                err?.message ||              // Native JS or HttpErrorResponse\r\n                err?.statusText ||           // Fallback\r\n                'An unknown error occurred.';\r\n\r\n              return of({\r\n                ok: false,\r\n                status: 500,\r\n                body: {\r\n                  messageCode,\r\n                  errorType: 2,\r\n                  statusCode: 500,\r\n                  innerBody: null\r\n                } as IFormatedResponse\r\n              });\r\n            }),\r\n            finalize(() => this.$loading.set(false))\r\n          )\r\n          .subscribe(x => {\r\n            if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n              const context: IWorkflowReactContext | null = x.body.innerBody;\r\n\r\n\r\n              if (context) {\r\n                context.delegationId = this.$delegationId();\r\n                if (!!context.actingActor) {\r\n                  context.actor.actorEmployeeId = context.actingActor.employeeId;\r\n                  context.actor.actorEmployeeCode = context.actingActor.employeeCode;\r\n                  context.actor.actorAvatar = context.actingActor.avatar;\r\n                  context.actor.actorEmail = context.actingActor.email;\r\n                  context.actor.actorPositionName = context.actingActor.positionName;\r\n                  context.actor.actorOrgName = context.actingActor.orgName;\r\n                  context.actor.actorFullname = context.actingActor.fullname;\r\n                }\r\n              }\r\n              console.log(\"workflowReactContext changed\", context);\r\n              this.$context.set(context);\r\n            }\r\n          })\r\n      )\r\n\r\n    });\r\n  }\r\n}\r\n","<live-form [$workflowReactContext]=\"$context()\" [$forKickOff]=\"false\" />\r\n\r\n@if ($loading()) {\r\n    <app-fullscreen-modal-loader />\r\n}\r\n"],"names":["i1.MultiLanguageService","i2","i3.AppService"],"mappings":"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"}