ngx-histaff-alpha 6.5.0 → 6.5.2

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 (65) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CHgQSi0p.mjs → ngx-histaff-alpha-ai-hint-for-table.component-DDvbg8O8.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CHgQSi0p.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-DDvbg8O8.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-CTrNNE7-.mjs → ngx-histaff-alpha-core-form-design.component-CgBi436L.mjs} +8 -8
  4. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-CTrNNE7-.mjs.map → ngx-histaff-alpha-core-form-design.component-CgBi436L.mjs.map} +1 -1
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-GIciqrnf.mjs → ngx-histaff-alpha-core-sys-action.component-DVZeWcQb.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-GIciqrnf.mjs.map → ngx-histaff-alpha-core-sys-action.component-DVZeWcQb.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-XwgAdRVH.mjs → ngx-histaff-alpha-core-template-editor.component-BRcSdxK_.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-XwgAdRVH.mjs.map → ngx-histaff-alpha-core-template-editor.component-BRcSdxK_.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Dx9YYqpG.mjs → ngx-histaff-alpha-core-toast-loading.component-YX2KrBiL.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Dx9YYqpG.mjs.map → ngx-histaff-alpha-core-toast-loading.component-YX2KrBiL.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BP8zuxYQ.mjs → ngx-histaff-alpha-core-workflow-consume.component-s093KfBI.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BP8zuxYQ.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-s093KfBI.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-aOgA1qSq.mjs → ngx-histaff-alpha-db-settings.component-Cu2fEPKk.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-aOgA1qSq.mjs.map → ngx-histaff-alpha-db-settings.component-Cu2fEPKk.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-hBUaZceS.mjs → ngx-histaff-alpha-design-wrapper.component-DlCeXrOT.mjs} +6 -6
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-hBUaZceS.mjs.map → ngx-histaff-alpha-design-wrapper.component-DlCeXrOT.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs → ngx-histaff-alpha-design-wrapper.route-Bpdjq0kz.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs.map → ngx-histaff-alpha-design-wrapper.route-Bpdjq0kz.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs → ngx-histaff-alpha-hrm-schema.component-C448wZ6F.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs.map → ngx-histaff-alpha-hrm-schema.component-C448wZ6F.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-x08G6uI3.mjs → ngx-histaff-alpha-live-form.component-CNy_G74n.mjs} +2 -2
  22. package/fesm2022/{ngx-histaff-alpha-live-form.component-x08G6uI3.mjs.map → ngx-histaff-alpha-live-form.component-CNy_G74n.mjs.map} +1 -1
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs → ngx-histaff-alpha-ngx-histaff-alpha-D4Zg0nBV.mjs} +1291 -438
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-D4Zg0nBV.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CtnJMX2M.mjs → ngx-histaff-alpha-simple-chat.component-Bg2rS7wL.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CtnJMX2M.mjs.map → ngx-histaff-alpha-simple-chat.component-Bg2rS7wL.mjs.map} +1 -1
  27. package/fesm2022/ngx-histaff-alpha-sys-smtp-client-edit.component-DQP2QX4z.mjs +214 -0
  28. package/fesm2022/ngx-histaff-alpha-sys-smtp-client-edit.component-DQP2QX4z.mjs.map +1 -0
  29. package/fesm2022/ngx-histaff-alpha-sys-smtp-client.component-xTuHp7MI.mjs +100 -0
  30. package/fesm2022/ngx-histaff-alpha-sys-smtp-client.component-xTuHp7MI.mjs.map +1 -0
  31. package/fesm2022/{ngx-histaff-alpha-template-list.component-BysOT_8n.mjs → ngx-histaff-alpha-template-list.component-CC4egsUj.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-template-list.component-BysOT_8n.mjs.map → ngx-histaff-alpha-template-list.component-CC4egsUj.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D9L1y1k0.mjs → ngx-histaff-alpha-tracker-studio.component-Cssn665S.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D9L1y1k0.mjs.map → ngx-histaff-alpha-tracker-studio.component-Cssn665S.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BACGd2Yk.mjs → ngx-histaff-alpha-wf-form-assign.component-CLHZB2lN.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BACGd2Yk.mjs.map → ngx-histaff-alpha-wf-form-assign.component-CLHZB2lN.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs → ngx-histaff-alpha-wf-global-config.component-BxVnI1su.mjs} +2 -2
  38. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs.map → ngx-histaff-alpha-wf-global-config.component-BxVnI1su.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs → ngx-histaff-alpha-wf-instance-status.component-CkuuIl_T.mjs} +4 -4
  40. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs.map → ngx-histaff-alpha-wf-instance-status.component-CkuuIl_T.mjs.map} +1 -1
  41. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs → ngx-histaff-alpha-wf-instance-step-react.component-CTH5pEfa.mjs} +3 -3
  42. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-CTH5pEfa.mjs.map} +1 -1
  43. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs → ngx-histaff-alpha-wf-lab.component-Cci9VXWf.mjs} +2 -2
  44. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs.map → ngx-histaff-alpha-wf-lab.component-Cci9VXWf.mjs.map} +1 -1
  45. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  46. package/lib/app/directives/html-tooltip.directive.d.ts +2 -1
  47. package/lib/app/directives/image-error-resolver.directive.d.ts +5 -2
  48. package/lib/app/libraries/core-orgchartflex/core-orgchartflex/core-orgchartflex.component.d.ts +7 -1
  49. package/lib/app/libraries/core-orgchartflex-wrapper/IOrgPosition.d.ts +24 -0
  50. package/lib/app/libraries/core-orgchartflex-wrapper/IOrgRawItem.d.ts +15 -0
  51. package/lib/app/libraries/core-orgchartflex-wrapper/ITenmaTreeItem.d.ts +8 -0
  52. package/lib/app/libraries/core-orgchartflex-wrapper/core-orgchartflex-wrapper.component.d.ts +160 -0
  53. package/lib/app/libraries/core-orgchartflex-wrapper/core-orgchartflex-wrapper.routes.d.ts +2 -0
  54. package/lib/app/libraries/core-orgchartflex-wrapper/tenma-card/tenma-card.component.d.ts +59 -0
  55. package/lib/app/libraries/core-page-list/core-page-list.component.d.ts +2 -1
  56. package/lib/app/libraries/core-sticker-collection/core-sticker-collection.component.d.ts +5 -1
  57. package/lib/app/libraries/core-table/core-table.component.d.ts +22 -2
  58. package/lib/app/root/sys-smtp-client/sys-smtp-client-edit/sys-smtp-client-edit.component.d.ts +20 -0
  59. package/lib/app/root/sys-smtp-client/sys-smtp-client.component.d.ts +20 -0
  60. package/lib/app/root/sys-smtp-client/sys-smtp-client.routes.d.ts +2 -0
  61. package/lib/app/services/app-config.service.d.ts +2 -0
  62. package/lib/app/services/core-local-storage.service.d.ts +13 -0
  63. package/package.json +2 -2
  64. package/public-api.d.ts +4 -0
  65. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-global-config/wf-global-config.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-global-config/wf-global-config.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\r\nimport { CorePageEditComponent } from '../../core-page-edit/core-page-edit.component';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { DialogService } from '../../../services/dialog.service';\r\nimport { BaseEditComponent } from '../../base-edit/base-edit/base-edit.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ICorePageEditCRUD } from '../../core-page-edit/ICorePageEditCRUD';\r\nimport { ICoreFormSection } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { CoreFormService } from '../../core-form/core-form.service';\r\n\r\n@Component({\r\n selector: 'wf-global-config',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CorePageEditComponent,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './wf-global-config.component.html',\r\n styleUrl: './wf-global-config.component.scss'\r\n})\r\nexport class WfGlobalConfigComponent extends BaseEditComponent {\r\n\r\n captionCode!: string;\r\n public wfs = inject(CoreWorkflowService);\r\n alertService = inject(AlertService);\r\n cfs = inject(CoreFormService);\r\n\r\n constructor(\r\n public override dialogService: DialogService\r\n ) {\r\n\r\n super(dialogService);\r\n\r\n if (!this.captionCode) {\r\n this.captionCode = \"UI_COMPONENT_TITLE_WF_GLOBAL_CONFIG\";\r\n }\r\n\r\n this.crud = {\r\n c: '', // No creation\r\n r: '/api/WfGlobalConfig/GetById',\r\n u: '/api/WfGlobalConfig/Update',\r\n d: '', // No deletion\r\n };\r\n\r\n }\r\n\r\n router = inject(Router);\r\n route = inject(ActivatedRoute);\r\n\r\n loading: boolean = false;\r\n override entityTable = \"WF_GLOBAL_CONFIG\";\r\n subscriptions: Subscription[] = [];\r\n\r\n crud!: ICorePageEditCRUD;\r\n sections: ICoreFormSection[] =\r\n [\r\n {\r\n rows: [\r\n [\r\n {\r\n flexSize: 0,\r\n label: \"UI_ENTITY_FIELD_CAPTION_COMMON_ID\",\r\n field: 'id',\r\n value: null,\r\n hidden: true,\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_EMAIL_DISPLAY_NAME\",\r\n field: 'emailDisplayName',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_USE_WATCHDOG_BCC\",\r\n field: 'useWatchdogBcc',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_WATCHDOG_BCC_EMAILS\",\r\n field: 'watchdogBccEmails',\r\n value: '',\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.TEXTAREA,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'pattern',\r\n validator: Validators.pattern(\r\n /^(\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*;)*\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*$/\r\n ),\r\n errorMessage: \"Please enter a list of email addresses separated by semicolons (;)\"\r\n }\r\n ]\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_WATCHDOG_BCC_EVENTS_JSON\",\r\n field: 'watchdogBccEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'VoterNotified' },\r\n { name: 'VoterReacted' },\r\n { name: 'CcByDesign' },\r\n { name: 'FullyApproved' },\r\n { name: 'Rejected' },\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_CUSTOM_CC_EVENTS_JSON\",\r\n field: 'customCcEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'VoterReacted' },\r\n { name: 'VoterNotified' },\r\n { name: 'CcByDesign' },\r\n { name: 'FullyApproved' },\r\n { name: 'Rejected' },\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_NON_APPROVAL_FLOW_EVENTS_JSON\",\r\n field: 'nonApprovalFlowEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'FullyApproved' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_TO_LINE_MANAGER_INJECT_EVENTS_JSON\",\r\n field: 'toLineManagerInjectEventsJson',\r\n value: [],\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ], \r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_INSTANCE_STATUS_HIDE_MORE\",\r\n field: 'instanceStatusHideMore',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_INSTANCE_STATUS_HIDE_LOGS\",\r\n field: 'instanceStatusHideLogs',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_SEND_SELF_NOTIFICATION_AFTER_ACTION\",\r\n field: 'sendSelfNotificationAfterAction',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n ]\r\n }\r\n ];\r\n\r\n private toggleWatchdogBccEmailsVisibility(useWatchdogBcc: boolean): void {\r\n const watchdogBccEmails = this.form.get('watchdogBccEmails');\r\n if (watchdogBccEmails) {\r\n if (useWatchdogBcc) {\r\n watchdogBccEmails.enable();\r\n } else {\r\n watchdogBccEmails.disable();\r\n }\r\n\r\n }\r\n }\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n e.get('useWatchdogBcc')?.valueChanges.subscribe(x => {\r\n this.toggleWatchdogBccEmailsVisibility(x);\r\n })\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.wfs.$initialBasicInfoJson.set(e);\r\n this.formInitStringValue = e;\r\n }\r\n\r\n onGotById(e: any): void {\r\n this.toggleWatchdogBccEmailsVisibility(!!e.useWatchdogBcc)\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.map(x => x?.unsubscribe())\r\n }\r\n}","<div class=\"wf-global-config-container\">\r\n\r\n <div class=\"container container-fluid\">\r\n\r\n <core-page-edit\r\n [normalMode]=\"true\"\r\n [captionCode]=\"captionCode\"\r\n [sections]=\"sections\"\r\n [crud]=\"crud\"\r\n [entityTable]=\"entityTable\"\r\n [idAsInput]=\"true\"\r\n [id]=\"1\"\r\n [stayAfterSubmit]=\"true\" \r\n [disableCancelButton]=\"true\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onGotById)=\"onGotById($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\" />\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n@if (loading) {\r\n<app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n}"],"names":["i1.DialogService"],"mappings":";;;;;;AAyBM,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAO5D,IAAA,WAAA,CACkB,aAA4B,EAAA;QAG5C,KAAK,CAAC,aAAa,CAAC;QAHJ,IAAa,CAAA,aAAA,GAAb,aAAa;AALxB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;AAqB7B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;QAE9B,IAAO,CAAA,OAAA,GAAY,KAAK;QACf,IAAW,CAAA,WAAA,GAAG,kBAAkB;QACzC,IAAa,CAAA,aAAA,GAAmB,EAAE;AAGlC,QAAA,IAAA,CAAA,QAAQ,GACN;AACE,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,CAAC;AACX,4BAAA,KAAK,EAAE,mCAAmC;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,MAAM,EAAE,IAAI;4BACZ,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC5C,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,6DAA6D;AACpE,4BAAA,KAAK,EAAE,kBAAkB;AACzB,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,2DAA2D;AAClE,4BAAA,KAAK,EAAE,gBAAgB;AACvB,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,YAAY;AAChD,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,8DAA8D;AACrE,4BAAA,KAAK,EAAE,mBAAmB;AAC1B,4BAAA,KAAK,EAAE,EAAE;AACT,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,sBAAsB,CAAC,QAAQ;AAC5C,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,IAAI,EAAE,SAAS;AACf,oCAAA,SAAS,EAAE,UAAU,CAAC,OAAO,CAC3B,gHAAgH,CACjH;AACD,oCAAA,YAAY,EAAE;AACf;AACF;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,mEAAmE;AAC1E,4BAAA,KAAK,EAAE,mBAAmB;AAC1B,4BAAA,KAAK,EAAE,EAAE;AACT,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,sBAAsB,CAAC,kBAAkB;AACtD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,sBAAsB,EAAE;gCACtB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,eAAe,EAAE;gCACzB,EAAE,IAAI,EAAE,cAAc,EAAE;gCACxB,EAAE,IAAI,EAAE,YAAY,EAAE;gCACtB,EAAE,IAAI,EAAE,eAAe,EAAE;gCACzB,EAAE,IAAI,EAAE,UAAU,EAAE;gCACpB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,YAAY,EAAE;gCACtB,EAAE,IAAI,EAAE,SAAS,EAAE;AACpB,6BAAA;AACD,4BAAA,0BAA0B,EAAE;AAC7B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,gEAAgE;AACvE,4BAAA,KAAK,EAAE,gBAAgB;AACvB,4BAAA,KAAK,EAAE,EAAE;AACT,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,sBAAsB,CAAC,kBAAkB;AACtD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,sBAAsB,EAAE;gCACtB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,cAAc,EAAE;gCACxB,EAAE,IAAI,EAAE,eAAe,EAAE;gCACzB,EAAE,IAAI,EAAE,YAAY,EAAE;gCACtB,EAAE,IAAI,EAAE,eAAe,EAAE;gCACzB,EAAE,IAAI,EAAE,UAAU,EAAE;gCACpB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,YAAY,EAAE;gCACtB,EAAE,IAAI,EAAE,SAAS,EAAE;AACpB,6BAAA;AACD,4BAAA,0BAA0B,EAAE;AAC7B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,wEAAwE;AAC/E,4BAAA,KAAK,EAAE,uBAAuB;AAC9B,4BAAA,KAAK,EAAE,EAAE;AACT,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,sBAAsB,CAAC,kBAAkB;AACtD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,sBAAsB,EAAE;gCACtB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,eAAe,EAAE;AAC1B,6BAAA;AACD,4BAAA,0BAA0B,EAAE;AAC7B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,6EAA6E;AACpF,4BAAA,KAAK,EAAE,+BAA+B;AACtC,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,kBAAkB;AACtD,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,sBAAsB,EAAE;gCACtB,EAAE,IAAI,EAAE,WAAW,EAAE;gCACrB,EAAE,IAAI,EAAE,YAAY,EAAE;gCACtB,EAAE,IAAI,EAAE,SAAS,EAAE;AACpB,6BAAA;AACD,4BAAA,0BAA0B,EAAE;AAC7B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,oEAAoE;AAC3E,4BAAA,KAAK,EAAE,wBAAwB;AAC/B,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,YAAY;AAChD,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,oEAAoE;AAC3E,4BAAA,KAAK,EAAE,wBAAwB;AAC/B,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,YAAY;AAChD,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,8EAA8E;AACrF,4BAAA,KAAK,EAAE,iCAAiC;AACxC,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,YAAY;AAChD,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACF;AACF;SACF;AA7LD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,GAAG,qCAAqC;;QAG1D,IAAI,CAAC,IAAI,GAAG;YACV,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,6BAA6B;AAChC,YAAA,CAAC,EAAE,4BAA4B;YAC/B,CAAC,EAAE,EAAE;SACN;;AAsLK,IAAA,iCAAiC,CAAC,cAAuB,EAAA;QAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC5D,IAAI,iBAAiB,EAAE;YACrB,IAAI,cAAc,EAAE;gBAClB,iBAAiB,CAAC,MAAM,EAAE;;iBACrB;gBACL,iBAAiB,CAAC,OAAO,EAAE;;;;AAMjC,IAAA,aAAa,CAAC,CAAY,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,IAAG;AAClD,YAAA,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAC3C,SAAC,CAAC;;AAGJ,IAAA,YAAY,CAAC,CAAS,EAAA;QACpB,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;;AAG9B,IAAA,SAAS,CAAC,CAAM,EAAA;QACd,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;;IAG5D,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;;8GAzOpC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,ECzBpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wwBAwBC,EDLG,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,4rBACrB,8BAA8B,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKrB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACX,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,qBAAqB;wBACrB;AACD,qBAAA,EAAA,QAAA,EAAA,wwBAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-global-config.component-BxVnI1su.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-global-config/wf-global-config.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-global-config/wf-global-config.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\r\nimport { CorePageEditComponent } from '../../core-page-edit/core-page-edit.component';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { DialogService } from '../../../services/dialog.service';\r\nimport { BaseEditComponent } from '../../base-edit/base-edit/base-edit.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ICorePageEditCRUD } from '../../core-page-edit/ICorePageEditCRUD';\r\nimport { ICoreFormSection } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { CoreFormService } from '../../core-form/core-form.service';\r\n\r\n@Component({\r\n selector: 'wf-global-config',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CorePageEditComponent,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './wf-global-config.component.html',\r\n styleUrl: './wf-global-config.component.scss'\r\n})\r\nexport class WfGlobalConfigComponent extends BaseEditComponent {\r\n\r\n captionCode!: string;\r\n public wfs = inject(CoreWorkflowService);\r\n alertService = inject(AlertService);\r\n cfs = inject(CoreFormService);\r\n\r\n constructor(\r\n public override dialogService: DialogService\r\n ) {\r\n\r\n super(dialogService);\r\n\r\n if (!this.captionCode) {\r\n this.captionCode = \"UI_COMPONENT_TITLE_WF_GLOBAL_CONFIG\";\r\n }\r\n\r\n this.crud = {\r\n c: '', // No creation\r\n r: '/api/WfGlobalConfig/GetById',\r\n u: '/api/WfGlobalConfig/Update',\r\n d: '', // No deletion\r\n };\r\n\r\n }\r\n\r\n router = inject(Router);\r\n route = inject(ActivatedRoute);\r\n\r\n loading: boolean = false;\r\n override entityTable = \"WF_GLOBAL_CONFIG\";\r\n subscriptions: Subscription[] = [];\r\n\r\n crud!: ICorePageEditCRUD;\r\n sections: ICoreFormSection[] =\r\n [\r\n {\r\n rows: [\r\n [\r\n {\r\n flexSize: 0,\r\n label: \"UI_ENTITY_FIELD_CAPTION_COMMON_ID\",\r\n field: 'id',\r\n value: null,\r\n hidden: true,\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_EMAIL_DISPLAY_NAME\",\r\n field: 'emailDisplayName',\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_USE_WATCHDOG_BCC\",\r\n field: 'useWatchdogBcc',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_WATCHDOG_BCC_EMAILS\",\r\n field: 'watchdogBccEmails',\r\n value: '',\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.TEXTAREA,\r\n type: 'string',\r\n validators: [\r\n {\r\n name: 'pattern',\r\n validator: Validators.pattern(\r\n /^(\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*;)*\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*$/\r\n ),\r\n errorMessage: \"Please enter a list of email addresses separated by semicolons (;)\"\r\n }\r\n ]\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_WATCHDOG_BCC_EVENTS_JSON\",\r\n field: 'watchdogBccEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'VoterNotified' },\r\n { name: 'VoterReacted' },\r\n { name: 'CcByDesign' },\r\n { name: 'FullyApproved' },\r\n { name: 'Rejected' },\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_CUSTOM_CC_EVENTS_JSON\",\r\n field: 'customCcEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'VoterReacted' },\r\n { name: 'VoterNotified' },\r\n { name: 'CcByDesign' },\r\n { name: 'FullyApproved' },\r\n { name: 'Rejected' },\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_NON_APPROVAL_FLOW_EVENTS_JSON\",\r\n field: 'nonApprovalFlowEvents',\r\n value: [],\r\n disabled: true,\r\n textareaRows: 3,\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Submitted' },\r\n { name: 'FullyApproved' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_TO_LINE_MANAGER_INJECT_EVENTS_JSON\",\r\n field: 'toLineManagerInjectEventsJson',\r\n value: [],\r\n controlType: EnumFormBaseContolType.STICKER_COLLECTION,\r\n type: 'object',\r\n stickerCollectionItems: [\r\n { name: 'Cancelled' },\r\n { name: 'Terminated' },\r\n { name: 'Revoked' },\r\n ],\r\n stickerCollectionShownFrom: 'name'\r\n },\r\n ], \r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_INSTANCE_STATUS_HIDE_MORE\",\r\n field: 'instanceStatusHideMore',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_INSTANCE_STATUS_HIDE_LOGS\",\r\n field: 'instanceStatusHideLogs',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n [\r\n {\r\n flexSize: 12,\r\n label: \"UI_ENTITY_FIELD_CAPTION_WF_GLOBAL_CONFIG_SEND_SELF_NOTIFICATION_AFTER_ACTION\",\r\n field: 'sendSelfNotificationAfterAction',\r\n value: '',\r\n controlType: EnumFormBaseContolType.IOS_SWITCHER,\r\n type: 'boolean',\r\n },\r\n ],\r\n ]\r\n }\r\n ];\r\n\r\n private toggleWatchdogBccEmailsVisibility(useWatchdogBcc: boolean): void {\r\n const watchdogBccEmails = this.form.get('watchdogBccEmails');\r\n if (watchdogBccEmails) {\r\n if (useWatchdogBcc) {\r\n watchdogBccEmails.enable();\r\n } else {\r\n watchdogBccEmails.disable();\r\n }\r\n\r\n }\r\n }\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n e.get('useWatchdogBcc')?.valueChanges.subscribe(x => {\r\n this.toggleWatchdogBccEmailsVisibility(x);\r\n })\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.wfs.$initialBasicInfoJson.set(e);\r\n this.formInitStringValue = e;\r\n }\r\n\r\n onGotById(e: any): void {\r\n this.toggleWatchdogBccEmailsVisibility(!!e.useWatchdogBcc)\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.map(x => x?.unsubscribe())\r\n }\r\n}","<div class=\"wf-global-config-container\">\r\n\r\n <div class=\"container container-fluid\">\r\n\r\n <core-page-edit\r\n [normalMode]=\"true\"\r\n [captionCode]=\"captionCode\"\r\n [sections]=\"sections\"\r\n [crud]=\"crud\"\r\n [entityTable]=\"entityTable\"\r\n [idAsInput]=\"true\"\r\n [id]=\"1\"\r\n [stayAfterSubmit]=\"true\" \r\n [disableCancelButton]=\"true\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onGotById)=\"onGotById($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\" />\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n@if (loading) {\r\n<app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n}"],"names":["i1.DialogService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, inject, computed, ChangeDetectionStrategy, Component, signal, effect } from '@angular/core';
3
3
  import { ActivatedRoute } from '@angular/router';
4
- import { B as BaseComponent, b as AlertService, M as MultiLanguageService, I as ImageErrorResolverDirective, t as TableCellPipe, u as MapAvatarToServerPipe, A as AppService, m as CoreWorkflowService, v as alertOptions, w as SocketService, d as CorePageHeaderComponent, c as CoreTerminalSpinnerComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
4
+ import { B as BaseComponent, b as AlertService, M as MultiLanguageService, I as ImageErrorResolverDirective, u as TableCellPipe, v as MapAvatarToServerPipe, A as AppService, n as CoreWorkflowService, w as alertOptions, x as SocketService, d as CorePageHeaderComponent, c as CoreTerminalSpinnerComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-D4Zg0nBV.mjs';
5
5
  import { catchError, of, tap, finalize } from 'rxjs';
6
6
  import { NgClass, JsonPipe } from '@angular/common';
7
7
 
@@ -33,7 +33,7 @@ class RuntimeRoutingComponent extends BaseComponent {
33
33
  });
34
34
  }
35
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: RuntimeRoutingComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: RuntimeRoutingComponent, isStandalone: true, selector: "runtime-routing", inputs: { $instance: { classPropertyName: "$instance", publicName: "$instance", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '\u2014' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'Pending' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">\u26A0 No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".runtime-routing-container{--card-height: 180px;font-size:13px}.runtime-routing-container .workflow-wrapper{display:flex;flex-direction:row;gap:64px;padding:24px;background:#f5f5f5;overflow-x:auto;min-width:576px;min-height:200px}.runtime-routing-container .workflow-wrapper .step-column{width:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;min-height:100%}.runtime-routing-container .workflow-wrapper .step-header{position:relative;font-weight:600;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:6px 10px;margin-bottom:10px;width:100%;color:#fff;height:38.5px}.runtime-routing-container .workflow-wrapper .step-header.submit{background-color:#00bcd4}.runtime-routing-container .workflow-wrapper .step-header.approval{background-color:#f80}.runtime-routing-container .workflow-wrapper .step-header.cc{background-color:#3370ff}.runtime-routing-container .workflow-wrapper .step-header.handle{background-color:#935af6}.runtime-routing-container .workflow-wrapper .step-header.end{background-color:#673ab7}.runtime-routing-container .workflow-wrapper .step-header.resolved{box-shadow:0 0 0 3px #4caf50 inset}.runtime-routing-container .workflow-wrapper .step-header.empty{box-shadow:0 0 0 3px #ff9800 inset}.runtime-routing-container .workflow-wrapper .step-header.fallback{box-shadow:0 0 0 3px #03a9f4 inset}.runtime-routing-container .workflow-wrapper .step-header.error{box-shadow:0 0 0 3px #f44336 inset}.runtime-routing-container .workflow-wrapper .actor-card-aux{position:relative}.runtime-routing-container .workflow-wrapper .actor-card.d-flex{display:flex;align-items:center;justify-content:flex-start;width:240px;height:var(--card-height);font-size:13px;border:1px solid #ccc;padding:0 12px;margin:8px auto;box-shadow:0 1px 3px #0000001a;position:relative;background-color:#fff;border-radius:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span{font-weight:700;width:140px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span.actor-full-name{color:#000}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper{flex-shrink:0;margin-right:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon{width:40px;height:40px;border-radius:50%;font-family:feather;font-size:40px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.pending:after{content:\"\\e939\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.wait:after{content:\"\\e98a\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.sent:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.approved:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.skipped:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.completed:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.rejected:after{content:\"\\e9d0\";color:red}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card:before{content:\"\";position:absolute;top:50%;left:-20px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card-aux:not(:last-child) .actor-card:after{content:\"\";position:absolute;top:50%;left:-20px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:before{content:\"\";position:absolute;top:50%;right:-16px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:not(:last-child):after{content:\"\";position:absolute;top:50%;right:-16px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column-aux{position:relative}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .step-column-aux:after{content:\"\";position:absolute;top:calc(50% + 20.25px);right:-48px;width:32px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .actor-card.submit{background-color:#e0f7fa;border-left:4px solid #00bcd4}.runtime-routing-container .workflow-wrapper .actor-card.approval{background-color:#fff3e0;border-left:4px solid #f80}.runtime-routing-container .workflow-wrapper .actor-card.cc{background-color:#e6ecff;border-left:4px solid #3370ff}.runtime-routing-container .workflow-wrapper .actor-card.handle{background-color:#f3e6ff;border-left:4px solid #935af6}.runtime-routing-container .workflow-wrapper .actor-card.end{background-color:#ede7f6;border-left:4px solid #673ab7}.runtime-routing-container .workflow-wrapper .actor-line{display:flex;align-items:center;gap:6px;margin:2px 0;height:23.5px}.runtime-routing-container .workflow-wrapper .actor-line i{width:16px;height:16px;font-size:16px;color:#848484}.runtime-routing-container .workflow-wrapper .actor-line input.email-debug-input{border:1px dashed #00bcd4;background-color:#e0f7fa;width:140px;padding:0 8px}.runtime-routing-container .workflow-wrapper .actor-card span{display:block;color:#555;margin:2px 0}@media (max-width: 576px){.runtime-routing-container .workflow-wrapper .workflow-wrapper{flex-direction:column;align-items:center;gap:24px}.runtime-routing-container .workflow-wrapper .step-column{width:90vw}.runtime-routing-container .workflow-wrapper .actor-card{width:100%}}.runtime-routing-container .p-relative{position:relative}.runtime-routing-container .routing-preview-header{display:flex;align-items:center;justify-content:space-between;height:35px;margin-bottom:15px}.runtime-routing-container .routing-preview-header .button-group{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:35px}.runtime-routing-container .routing-preview-header .button-group button{border-radius:0;color:#fff;height:35px;font-size:13px}.runtime-routing-container .routing-preview-header .debug-group{display:flex;align-items:center;justify-content:flex-start;height:35px}.runtime-routing-container .routing-preview-header .debug-group label{-webkit-user-select:none;user-select:none;margin-right:8px}.runtime-routing-container h5{padding:15px;color:#848484}.runtime-routing-container .resolved-steps pre{padding:15px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ImageErrorResolverDirective, selector: "[appImageErrorResolver]", inputs: ["type", "isFemale"] }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: RuntimeRoutingComponent, isStandalone: true, selector: "runtime-routing", inputs: { $instance: { classPropertyName: "$instance", publicName: "$instance", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '\u2014' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'PENDING' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">\u26A0 No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".runtime-routing-container{--card-height: 180px;font-size:13px}.runtime-routing-container .workflow-wrapper{display:flex;flex-direction:row;gap:64px;padding:24px;background:#f5f5f5;overflow-x:auto;min-width:576px;min-height:200px}.runtime-routing-container .workflow-wrapper .step-column{width:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;min-height:100%}.runtime-routing-container .workflow-wrapper .step-header{position:relative;font-weight:600;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:6px 10px;margin-bottom:10px;width:100%;color:#fff;height:38.5px}.runtime-routing-container .workflow-wrapper .step-header.submit{background-color:#00bcd4}.runtime-routing-container .workflow-wrapper .step-header.approval{background-color:#f80}.runtime-routing-container .workflow-wrapper .step-header.cc{background-color:#3370ff}.runtime-routing-container .workflow-wrapper .step-header.handle{background-color:#935af6}.runtime-routing-container .workflow-wrapper .step-header.end{background-color:#673ab7}.runtime-routing-container .workflow-wrapper .step-header.resolved{box-shadow:0 0 0 3px #4caf50 inset}.runtime-routing-container .workflow-wrapper .step-header.empty{box-shadow:0 0 0 3px #ff9800 inset}.runtime-routing-container .workflow-wrapper .step-header.fallback{box-shadow:0 0 0 3px #03a9f4 inset}.runtime-routing-container .workflow-wrapper .step-header.error{box-shadow:0 0 0 3px #f44336 inset}.runtime-routing-container .workflow-wrapper .actor-card-aux{position:relative}.runtime-routing-container .workflow-wrapper .actor-card.d-flex{display:flex;align-items:center;justify-content:flex-start;width:240px;height:var(--card-height);font-size:13px;border:1px solid #ccc;padding:0 12px;margin:8px auto;box-shadow:0 1px 3px #0000001a;position:relative;background-color:#fff;border-radius:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span{font-weight:700;width:140px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span.actor-full-name{color:#000}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper{flex-shrink:0;margin-right:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon{width:40px;height:40px;border-radius:50%;font-family:feather;font-size:40px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.pending:after{content:\"\\e939\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.wait:after{content:\"\\e98a\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.sent:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.approved:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.skipped:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.completed:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.rejected:after{content:\"\\e9d0\";color:red}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card:before{content:\"\";position:absolute;top:50%;left:-20px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card-aux:not(:last-child) .actor-card:after{content:\"\";position:absolute;top:50%;left:-20px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:before{content:\"\";position:absolute;top:50%;right:-16px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:not(:last-child):after{content:\"\";position:absolute;top:50%;right:-16px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column-aux{position:relative}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .step-column-aux:after{content:\"\";position:absolute;top:calc(50% + 20.25px);right:-48px;width:32px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .actor-card.submit{background-color:#e0f7fa;border-left:4px solid #00bcd4}.runtime-routing-container .workflow-wrapper .actor-card.approval{background-color:#fff3e0;border-left:4px solid #f80}.runtime-routing-container .workflow-wrapper .actor-card.cc{background-color:#e6ecff;border-left:4px solid #3370ff}.runtime-routing-container .workflow-wrapper .actor-card.handle{background-color:#f3e6ff;border-left:4px solid #935af6}.runtime-routing-container .workflow-wrapper .actor-card.end{background-color:#ede7f6;border-left:4px solid #673ab7}.runtime-routing-container .workflow-wrapper .actor-line{display:flex;align-items:center;gap:6px;margin:2px 0;height:23.5px}.runtime-routing-container .workflow-wrapper .actor-line i{width:16px;height:16px;font-size:16px;color:#848484}.runtime-routing-container .workflow-wrapper .actor-line input.email-debug-input{border:1px dashed #00bcd4;background-color:#e0f7fa;width:140px;padding:0 8px}.runtime-routing-container .workflow-wrapper .actor-card span{display:block;color:#555;margin:2px 0}@media (max-width: 576px){.runtime-routing-container .workflow-wrapper .workflow-wrapper{flex-direction:column;align-items:center;gap:24px}.runtime-routing-container .workflow-wrapper .step-column{width:90vw}.runtime-routing-container .workflow-wrapper .actor-card{width:100%}}.runtime-routing-container .p-relative{position:relative}.runtime-routing-container .routing-preview-header{display:flex;align-items:center;justify-content:space-between;height:35px;margin-bottom:15px}.runtime-routing-container .routing-preview-header .button-group{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:35px}.runtime-routing-container .routing-preview-header .button-group button{border-radius:0;color:#fff;height:35px;font-size:13px}.runtime-routing-container .routing-preview-header .debug-group{display:flex;align-items:center;justify-content:flex-start;height:35px}.runtime-routing-container .routing-preview-header .debug-group label{-webkit-user-select:none;user-select:none;margin-right:8px}.runtime-routing-container h5{padding:15px;color:#848484}.runtime-routing-container .resolved-steps pre{padding:15px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ImageErrorResolverDirective, selector: "[appImageErrorResolver]", inputs: ["type", "isFemale"] }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: RuntimeRoutingComponent, decorators: [{
39
39
  type: Component,
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
43
43
  MapAvatarToServerPipe,
44
44
  TableCellPipe,
45
45
  JsonPipe,
46
- ], template: "<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '\u2014' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'Pending' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">\u26A0 No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".runtime-routing-container{--card-height: 180px;font-size:13px}.runtime-routing-container .workflow-wrapper{display:flex;flex-direction:row;gap:64px;padding:24px;background:#f5f5f5;overflow-x:auto;min-width:576px;min-height:200px}.runtime-routing-container .workflow-wrapper .step-column{width:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;min-height:100%}.runtime-routing-container .workflow-wrapper .step-header{position:relative;font-weight:600;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:6px 10px;margin-bottom:10px;width:100%;color:#fff;height:38.5px}.runtime-routing-container .workflow-wrapper .step-header.submit{background-color:#00bcd4}.runtime-routing-container .workflow-wrapper .step-header.approval{background-color:#f80}.runtime-routing-container .workflow-wrapper .step-header.cc{background-color:#3370ff}.runtime-routing-container .workflow-wrapper .step-header.handle{background-color:#935af6}.runtime-routing-container .workflow-wrapper .step-header.end{background-color:#673ab7}.runtime-routing-container .workflow-wrapper .step-header.resolved{box-shadow:0 0 0 3px #4caf50 inset}.runtime-routing-container .workflow-wrapper .step-header.empty{box-shadow:0 0 0 3px #ff9800 inset}.runtime-routing-container .workflow-wrapper .step-header.fallback{box-shadow:0 0 0 3px #03a9f4 inset}.runtime-routing-container .workflow-wrapper .step-header.error{box-shadow:0 0 0 3px #f44336 inset}.runtime-routing-container .workflow-wrapper .actor-card-aux{position:relative}.runtime-routing-container .workflow-wrapper .actor-card.d-flex{display:flex;align-items:center;justify-content:flex-start;width:240px;height:var(--card-height);font-size:13px;border:1px solid #ccc;padding:0 12px;margin:8px auto;box-shadow:0 1px 3px #0000001a;position:relative;background-color:#fff;border-radius:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span{font-weight:700;width:140px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span.actor-full-name{color:#000}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper{flex-shrink:0;margin-right:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon{width:40px;height:40px;border-radius:50%;font-family:feather;font-size:40px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.pending:after{content:\"\\e939\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.wait:after{content:\"\\e98a\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.sent:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.approved:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.skipped:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.completed:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.rejected:after{content:\"\\e9d0\";color:red}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card:before{content:\"\";position:absolute;top:50%;left:-20px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card-aux:not(:last-child) .actor-card:after{content:\"\";position:absolute;top:50%;left:-20px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:before{content:\"\";position:absolute;top:50%;right:-16px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:not(:last-child):after{content:\"\";position:absolute;top:50%;right:-16px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column-aux{position:relative}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .step-column-aux:after{content:\"\";position:absolute;top:calc(50% + 20.25px);right:-48px;width:32px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .actor-card.submit{background-color:#e0f7fa;border-left:4px solid #00bcd4}.runtime-routing-container .workflow-wrapper .actor-card.approval{background-color:#fff3e0;border-left:4px solid #f80}.runtime-routing-container .workflow-wrapper .actor-card.cc{background-color:#e6ecff;border-left:4px solid #3370ff}.runtime-routing-container .workflow-wrapper .actor-card.handle{background-color:#f3e6ff;border-left:4px solid #935af6}.runtime-routing-container .workflow-wrapper .actor-card.end{background-color:#ede7f6;border-left:4px solid #673ab7}.runtime-routing-container .workflow-wrapper .actor-line{display:flex;align-items:center;gap:6px;margin:2px 0;height:23.5px}.runtime-routing-container .workflow-wrapper .actor-line i{width:16px;height:16px;font-size:16px;color:#848484}.runtime-routing-container .workflow-wrapper .actor-line input.email-debug-input{border:1px dashed #00bcd4;background-color:#e0f7fa;width:140px;padding:0 8px}.runtime-routing-container .workflow-wrapper .actor-card span{display:block;color:#555;margin:2px 0}@media (max-width: 576px){.runtime-routing-container .workflow-wrapper .workflow-wrapper{flex-direction:column;align-items:center;gap:24px}.runtime-routing-container .workflow-wrapper .step-column{width:90vw}.runtime-routing-container .workflow-wrapper .actor-card{width:100%}}.runtime-routing-container .p-relative{position:relative}.runtime-routing-container .routing-preview-header{display:flex;align-items:center;justify-content:space-between;height:35px;margin-bottom:15px}.runtime-routing-container .routing-preview-header .button-group{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:35px}.runtime-routing-container .routing-preview-header .button-group button{border-radius:0;color:#fff;height:35px;font-size:13px}.runtime-routing-container .routing-preview-header .debug-group{display:flex;align-items:center;justify-content:flex-start;height:35px}.runtime-routing-container .routing-preview-header .debug-group label{-webkit-user-select:none;user-select:none;margin-right:8px}.runtime-routing-container h5{padding:15px;color:#848484}.runtime-routing-container .resolved-steps pre{padding:15px}\n"] }]
46
+ ], template: "<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '\u2014' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'PENDING' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">\u26A0 No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".runtime-routing-container{--card-height: 180px;font-size:13px}.runtime-routing-container .workflow-wrapper{display:flex;flex-direction:row;gap:64px;padding:24px;background:#f5f5f5;overflow-x:auto;min-width:576px;min-height:200px}.runtime-routing-container .workflow-wrapper .step-column{width:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;min-height:100%}.runtime-routing-container .workflow-wrapper .step-header{position:relative;font-weight:600;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:6px 10px;margin-bottom:10px;width:100%;color:#fff;height:38.5px}.runtime-routing-container .workflow-wrapper .step-header.submit{background-color:#00bcd4}.runtime-routing-container .workflow-wrapper .step-header.approval{background-color:#f80}.runtime-routing-container .workflow-wrapper .step-header.cc{background-color:#3370ff}.runtime-routing-container .workflow-wrapper .step-header.handle{background-color:#935af6}.runtime-routing-container .workflow-wrapper .step-header.end{background-color:#673ab7}.runtime-routing-container .workflow-wrapper .step-header.resolved{box-shadow:0 0 0 3px #4caf50 inset}.runtime-routing-container .workflow-wrapper .step-header.empty{box-shadow:0 0 0 3px #ff9800 inset}.runtime-routing-container .workflow-wrapper .step-header.fallback{box-shadow:0 0 0 3px #03a9f4 inset}.runtime-routing-container .workflow-wrapper .step-header.error{box-shadow:0 0 0 3px #f44336 inset}.runtime-routing-container .workflow-wrapper .actor-card-aux{position:relative}.runtime-routing-container .workflow-wrapper .actor-card.d-flex{display:flex;align-items:center;justify-content:flex-start;width:240px;height:var(--card-height);font-size:13px;border:1px solid #ccc;padding:0 12px;margin:8px auto;box-shadow:0 1px 3px #0000001a;position:relative;background-color:#fff;border-radius:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span{font-weight:700;width:140px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-details .actor-line>span.actor-full-name{color:#000}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper{flex-shrink:0;margin-right:8px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon{width:40px;height:40px;border-radius:50%;font-family:feather;font-size:40px}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.pending:after{content:\"\\e939\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.wait:after{content:\"\\e98a\";color:#848484}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.sent:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.approved:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.skipped:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.completed:after{content:\"\\e92c\";color:#4caf50}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .avatar-wrapper .status-icon.rejected:after{content:\"\\e9d0\";color:red}.runtime-routing-container .workflow-wrapper .actor-card.d-flex .actor-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card:before{content:\"\";position:absolute;top:50%;left:-20px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:first-child) .actor-card-aux:not(:last-child) .actor-card:after{content:\"\";position:absolute;top:50%;left:-20px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:before{content:\"\";position:absolute;top:50%;right:-16px;width:16px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .actor-card-aux:not(:last-child):after{content:\"\";position:absolute;top:50%;right:-16px;width:2px;height:calc(100% + 10px);background-color:#ccc}.runtime-routing-container .workflow-wrapper .step-column-aux{position:relative}.runtime-routing-container .workflow-wrapper .step-column:not(:last-child) .step-column-aux:after{content:\"\";position:absolute;top:calc(50% + 20.25px);right:-48px;width:32px;height:2px;background-color:#ccc}.runtime-routing-container .workflow-wrapper .actor-card.submit{background-color:#e0f7fa;border-left:4px solid #00bcd4}.runtime-routing-container .workflow-wrapper .actor-card.approval{background-color:#fff3e0;border-left:4px solid #f80}.runtime-routing-container .workflow-wrapper .actor-card.cc{background-color:#e6ecff;border-left:4px solid #3370ff}.runtime-routing-container .workflow-wrapper .actor-card.handle{background-color:#f3e6ff;border-left:4px solid #935af6}.runtime-routing-container .workflow-wrapper .actor-card.end{background-color:#ede7f6;border-left:4px solid #673ab7}.runtime-routing-container .workflow-wrapper .actor-line{display:flex;align-items:center;gap:6px;margin:2px 0;height:23.5px}.runtime-routing-container .workflow-wrapper .actor-line i{width:16px;height:16px;font-size:16px;color:#848484}.runtime-routing-container .workflow-wrapper .actor-line input.email-debug-input{border:1px dashed #00bcd4;background-color:#e0f7fa;width:140px;padding:0 8px}.runtime-routing-container .workflow-wrapper .actor-card span{display:block;color:#555;margin:2px 0}@media (max-width: 576px){.runtime-routing-container .workflow-wrapper .workflow-wrapper{flex-direction:column;align-items:center;gap:24px}.runtime-routing-container .workflow-wrapper .step-column{width:90vw}.runtime-routing-container .workflow-wrapper .actor-card{width:100%}}.runtime-routing-container .p-relative{position:relative}.runtime-routing-container .routing-preview-header{display:flex;align-items:center;justify-content:space-between;height:35px;margin-bottom:15px}.runtime-routing-container .routing-preview-header .button-group{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:35px}.runtime-routing-container .routing-preview-header .button-group button{border-radius:0;color:#fff;height:35px;font-size:13px}.runtime-routing-container .routing-preview-header .debug-group{display:flex;align-items:center;justify-content:flex-start;height:35px}.runtime-routing-container .routing-preview-header .debug-group label{-webkit-user-select:none;user-select:none;margin-right:8px}.runtime-routing-container h5{padding:15px;color:#848484}.runtime-routing-container .resolved-steps pre{padding:15px}\n"] }]
47
47
  }], ctorParameters: () => [{ type: MultiLanguageService }] });
48
48
 
49
49
  class RuntimeLogsComponent extends BaseComponent {
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
185
185
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: SocketService }, { type: AlertService }] });
186
186
 
187
187
  export { WfInstanceStatusComponent };
188
- //# sourceMappingURL=ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs.map
188
+ //# sourceMappingURL=ngx-histaff-alpha-wf-instance-status.component-CkuuIl_T.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, inject, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe, NgClass } from '@angular/common';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\n\r\n@Component({\r\n selector: 'runtime-routing',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgClass,\r\n ImageErrorResolverDirective,\r\n MapAvatarToServerPipe,\r\n TableCellPipe,\r\n JsonPipe,\r\n ],\r\n templateUrl: './runtime-routing.component.html',\r\n styleUrl: './runtime-routing.component.scss'\r\n})\r\nexport class RuntimeRoutingComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>();\r\n\r\n as = inject(AlertService);\r\n\r\n $steps = computed(() => {\r\n const stepProgresses = this.$instance()?.stepProgresses ?? [];\r\n stepProgresses.forEach(s => {\r\n if (!!s.exeConfigJson) {\r\n s.exeConfig = JSON.parse(s.exeConfigJson);\r\n } else {\r\n s.exeConfig = {};\r\n }\r\n \r\n })\r\n stepProgresses.sort((a, b) => a.stepOrder - b.stepOrder);\r\n return [...stepProgresses];\r\n })\r\n\r\n getStepStatusClass(step: IWorkflowStepProgress): string {\r\n if (step.passed === true) return 'resolved';\r\n if (step.passed === false) return 'error';\r\n return 'empty';\r\n }\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n}\r\n","<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'Pending' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">⚠ No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'runtime-logs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe // usage: value | tableCell : 'DATE_TIME' : lang\r\n ],\r\n templateUrl: './runtime-logs.component.html',\r\n styleUrl: './runtime-logs.component.scss'\r\n})\r\nexport class RuntimeLogsComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>(null);\r\n\r\n $logs = computed(() => this.$instance()?.workflowLogs);\r\n}\r\n","<div class=\"runtime-logs-wrapper\">\r\n <h4><i class=\"feather-list\"></i> Logs</h4>\r\n\r\n @if (!$logs()?.length) {\r\n <div class=\"empty-log\">\r\n <i class=\"feather-info\"></i> No logs available.\r\n </div>\r\n } @else {\r\n <ul class=\"log-list\">\r\n @for (log of $logs(); track log.id) {\r\n <li class=\"log-item\">\r\n <div class=\"log-icon\"><i class=\"feather-clock\"></i></div>\r\n <div class=\"log-content\">\r\n <div class=\"log-time\">{{ log.occurredAt | tableCell : 'DATE_TIME' : lang }}</div>\r\n <div class=\"log-text\">{{ log.logText }}</div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, 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 { catchError, finalize, of, tap } from 'rxjs';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTerminalSpinnerComponent } from '../../core-terminal-spinner/core-terminal-spinner.component';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { RuntimeRoutingComponent } from '../runtime-routing/runtime-routing.component';\r\nimport { IRoutingStep } from '../interfaces/IRoutingStep';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { RuntimeLogsComponent } from '../runtime-logs/runtime-logs.component';\r\nimport { NgClass } from '@angular/common';\r\nimport { EnumCoreButtonCode } from '../../core-button-group/core-button/EnumButtonCaptionCode';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-status',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe,\r\n NgClass,\r\n CorePageHeaderComponent,\r\n CoreTerminalSpinnerComponent,\r\n RuntimeRoutingComponent,\r\n RuntimeLogsComponent,\r\n ],\r\n templateUrl: './wf-instance-status.component.html',\r\n styleUrl: './wf-instance-status.component.scss'\r\n})\r\n\r\nexport class WfInstanceStatusComponent extends BaseComponent {\r\n route = inject(ActivatedRoute);\r\n appService = inject(AppService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n $loading = signal(true);\r\n $instance = signal<IWorkflowInstance | null>(null);\r\n $error = signal<string | null>(null);\r\n $correlationId = signal<string | null>(null);\r\n\r\n $attributesBeauty = computed(() => {\r\n return JSON.stringify((this.$instance()?.attributes ?? {}), null, 2);\r\n })\r\n\r\n $isExpanded = signal(false);\r\n\r\n onCorePageHeaderButtonClicked(e: any) {\r\n if (e.code === \"HEADER_TERMINATE\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"TERMINATED\", \"Random Terminate Test\").pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n } else if (e.code === \"HEADER_DEBUG\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"REVOKED\", \"Random Revoke Test\", 10678).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n refresh(): void {\r\n const correlationId = this.$correlationId();\r\n if (!!correlationId) {\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetStatus?correlationId=${correlationId}&usehub=true`).pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n this.$loading.set(false);\r\n const msg =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS/HttpErrorResponse\r\n err?.statusText || // Fallback text\r\n 'An unknown error occurred.';\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode: msg,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false); \r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n const raw: IWorkflowInstance = x.body.innerBody;\r\n raw.attributes = JSON.parse(raw.attributesJson);\r\n\r\n raw.stepProgresses.forEach(step => {\r\n if (!!step.exeConfigJson) {\r\n step.exeConfig = JSON.parse(step.exeConfigJson);\r\n } else {\r\n step.exeConfig = {};\r\n }\r\n })\r\n\r\n this.$instance.set(raw);\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private ss: SocketService,\r\n private as: AlertService,\r\n ) {\r\n super(mls);\r\n\r\n effect(() => {\r\n const status = ss.$workflowTicket();\r\n if (status?.correlationId.toLocaleLowerCase() === this.$correlationId()?.toLocaleLowerCase()) {\r\n this.as.info(\"The status has been changed\", alertOptions);\r\n this.refresh();\r\n }\r\n })\r\n\r\n this.subscriptions.push(\r\n this.route.paramMap.subscribe(p => {\r\n const correlationId = p.get('id');\r\n this.$correlationId.set(correlationId);\r\n })\r\n )\r\n\r\n effect(() => {\r\n const _ = this.$correlationId();\r\n this.refresh();\r\n })\r\n }\r\n\r\n toggleAccordion(): void {\r\n this.$isExpanded.set(!this.$isExpanded());\r\n }\r\n\r\n copy(value: string | number | undefined | null): void {\r\n if (!value) return;\r\n navigator.clipboard.writeText(value.toString()).then(() => {\r\n this.as.success('Copied!', alertOptions);\r\n });\r\n }\r\n\r\n\r\n}\r\n","<div class=\"wf-instance-status-container\">\r\n <core-page-header [title]=\"'Workflow Instance Status'\" (buttonClick)=\"onCorePageHeaderButtonClicked($event)\"/>\r\n\r\n <div class=\"status-parts\">\r\n <div class=\"saga\">\r\n @if ($loading()) {\r\n <p class=\"wf-status-loading\">\r\n <core-terminal-spinner />\r\n </p>\r\n } @else if ($error()) {\r\n <p class=\"wf-status-error\">⚠️ {{ $error() }}</p>\r\n } @else if (!$instance()) {\r\n <p class=\"wf-status-empty\">No instance data found.</p>\r\n } @else {\r\n <div class=\"wf-status-card\">\r\n\r\n <!-- Workflow Info -->\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Workflow Name:</label>\r\n <span>{{ $instance()!.workflowName }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current State:</label>\r\n <span class=\"wf-status-badge1 wf-status-{{ $instance()!.currentState.toLowerCase() }}\">\r\n {{ $instance()!.currentState }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current Step:</label>\r\n <span>{{ $instance()!.currentStepName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Action At:</label>\r\n <span>{{ $instance()!.lastActionAt | tableCell : 'DATE_TIME' : lang }}</span>\r\n </div>\r\n\r\n <!-- First Actor Info -->\r\n <div class=\"wf-status-subtitle\">📌 First Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.firstActorFullname }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.firstActorEmail }}</span>\r\n </div>\r\n\r\n <!-- Last Actor Info -->\r\n <div class=\"wf-status-subtitle\">🔍 Last Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.lastActorFullname || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.lastActorEmail || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee Code:</label>\r\n <span>{{ $instance()!.lastActorEmployeeCode || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Position Name:</label>\r\n <span>{{ $instance()!.lastActorPositionName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Job Name:</label>\r\n <span>{{ $instance()!.lastActorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>System Messages:</label>\r\n <span>{{ $instance()!.systemMessages || '—' }}</span>\r\n </div>\r\n\r\n <!-- Show More Section -->\r\n\r\n @if (!$instance()?.globalConfig.instanceStatusHideMore) {\r\n\r\n <div class=\"wf-status-accordion\">\r\n <button class=\"accordion-summary\" (click)=\"toggleAccordion()\">\r\n <span><i [ngClass]=\"$isExpanded() ? 'feather-minus' : 'feather-plus'\"></i></span> {{ $isExpanded() ? 'Hide Details' : 'Show More' }}\r\n </button>\r\n\r\n <div class=\"accordion-body\" [style.maxHeight]=\"$isExpanded() ? '1000px' : '0'\"\r\n [style.opacity]=\"$isExpanded() ? '1' : '0'\" [style.pointerEvents]=\"$isExpanded() ? 'auto' : 'none'\">\r\n <div class=\"wf-status-row\">\r\n <label>Workflow ID:</label>\r\n <span>\r\n {{ $instance()!.workflowId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.workflowId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee ID:</label>\r\n <span>\r\n {{ $instance()!.lastActorEmployeeId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.lastActorEmployeeId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Triggered Step ID:</label>\r\n <span>\r\n {{ $instance()!.lastTriggeredStepId || '—' }}\r\n </span>\r\n @if ($instance()!.lastTriggeredStepId) {\r\n <button type=\"button\" (click)=\"copy($instance()!.lastTriggeredStepId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n }\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Attributes JSON:</label>\r\n <span>\r\n <code>{{ $attributesBeauty() }}</code>\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.attributesJson)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Debug Mode:</label>\r\n <span>{{ $instance()!.isDebug ? '✔ Enabled' : '❌ Disabled' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n @if (!$instance()?.globalConfig.instanceStatusHideLogs) {\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>"],"names":["i1.MultiLanguageService","i2.SocketService","i3.AlertService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-instance-status.component-CkuuIl_T.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, inject, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe, NgClass } from '@angular/common';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\n\r\n@Component({\r\n selector: 'runtime-routing',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgClass,\r\n ImageErrorResolverDirective,\r\n MapAvatarToServerPipe,\r\n TableCellPipe,\r\n JsonPipe,\r\n ],\r\n templateUrl: './runtime-routing.component.html',\r\n styleUrl: './runtime-routing.component.scss'\r\n})\r\nexport class RuntimeRoutingComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>();\r\n\r\n as = inject(AlertService);\r\n\r\n $steps = computed(() => {\r\n const stepProgresses = this.$instance()?.stepProgresses ?? [];\r\n stepProgresses.forEach(s => {\r\n if (!!s.exeConfigJson) {\r\n s.exeConfig = JSON.parse(s.exeConfigJson);\r\n } else {\r\n s.exeConfig = {};\r\n }\r\n \r\n })\r\n stepProgresses.sort((a, b) => a.stepOrder - b.stepOrder);\r\n return [...stepProgresses];\r\n })\r\n\r\n getStepStatusClass(step: IWorkflowStepProgress): string {\r\n if (step.passed === true) return 'resolved';\r\n if (step.passed === false) return 'error';\r\n return 'empty';\r\n }\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n}\r\n","<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'PENDING' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">⚠ No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'runtime-logs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe // usage: value | tableCell : 'DATE_TIME' : lang\r\n ],\r\n templateUrl: './runtime-logs.component.html',\r\n styleUrl: './runtime-logs.component.scss'\r\n})\r\nexport class RuntimeLogsComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>(null);\r\n\r\n $logs = computed(() => this.$instance()?.workflowLogs);\r\n}\r\n","<div class=\"runtime-logs-wrapper\">\r\n <h4><i class=\"feather-list\"></i> Logs</h4>\r\n\r\n @if (!$logs()?.length) {\r\n <div class=\"empty-log\">\r\n <i class=\"feather-info\"></i> No logs available.\r\n </div>\r\n } @else {\r\n <ul class=\"log-list\">\r\n @for (log of $logs(); track log.id) {\r\n <li class=\"log-item\">\r\n <div class=\"log-icon\"><i class=\"feather-clock\"></i></div>\r\n <div class=\"log-content\">\r\n <div class=\"log-time\">{{ log.occurredAt | tableCell : 'DATE_TIME' : lang }}</div>\r\n <div class=\"log-text\">{{ log.logText }}</div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, 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 { catchError, finalize, of, tap } from 'rxjs';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTerminalSpinnerComponent } from '../../core-terminal-spinner/core-terminal-spinner.component';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { RuntimeRoutingComponent } from '../runtime-routing/runtime-routing.component';\r\nimport { IRoutingStep } from '../interfaces/IRoutingStep';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { RuntimeLogsComponent } from '../runtime-logs/runtime-logs.component';\r\nimport { NgClass } from '@angular/common';\r\nimport { EnumCoreButtonCode } from '../../core-button-group/core-button/EnumButtonCaptionCode';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-status',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe,\r\n NgClass,\r\n CorePageHeaderComponent,\r\n CoreTerminalSpinnerComponent,\r\n RuntimeRoutingComponent,\r\n RuntimeLogsComponent,\r\n ],\r\n templateUrl: './wf-instance-status.component.html',\r\n styleUrl: './wf-instance-status.component.scss'\r\n})\r\n\r\nexport class WfInstanceStatusComponent extends BaseComponent {\r\n route = inject(ActivatedRoute);\r\n appService = inject(AppService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n $loading = signal(true);\r\n $instance = signal<IWorkflowInstance | null>(null);\r\n $error = signal<string | null>(null);\r\n $correlationId = signal<string | null>(null);\r\n\r\n $attributesBeauty = computed(() => {\r\n return JSON.stringify((this.$instance()?.attributes ?? {}), null, 2);\r\n })\r\n\r\n $isExpanded = signal(false);\r\n\r\n onCorePageHeaderButtonClicked(e: any) {\r\n if (e.code === \"HEADER_TERMINATE\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"TERMINATED\", \"Random Terminate Test\").pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n } else if (e.code === \"HEADER_DEBUG\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"REVOKED\", \"Random Revoke Test\", 10678).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n refresh(): void {\r\n const correlationId = this.$correlationId();\r\n if (!!correlationId) {\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetStatus?correlationId=${correlationId}&usehub=true`).pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n this.$loading.set(false);\r\n const msg =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS/HttpErrorResponse\r\n err?.statusText || // Fallback text\r\n 'An unknown error occurred.';\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode: msg,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false); \r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n const raw: IWorkflowInstance = x.body.innerBody;\r\n raw.attributes = JSON.parse(raw.attributesJson);\r\n\r\n raw.stepProgresses.forEach(step => {\r\n if (!!step.exeConfigJson) {\r\n step.exeConfig = JSON.parse(step.exeConfigJson);\r\n } else {\r\n step.exeConfig = {};\r\n }\r\n })\r\n\r\n this.$instance.set(raw);\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private ss: SocketService,\r\n private as: AlertService,\r\n ) {\r\n super(mls);\r\n\r\n effect(() => {\r\n const status = ss.$workflowTicket();\r\n if (status?.correlationId.toLocaleLowerCase() === this.$correlationId()?.toLocaleLowerCase()) {\r\n this.as.info(\"The status has been changed\", alertOptions);\r\n this.refresh();\r\n }\r\n })\r\n\r\n this.subscriptions.push(\r\n this.route.paramMap.subscribe(p => {\r\n const correlationId = p.get('id');\r\n this.$correlationId.set(correlationId);\r\n })\r\n )\r\n\r\n effect(() => {\r\n const _ = this.$correlationId();\r\n this.refresh();\r\n })\r\n }\r\n\r\n toggleAccordion(): void {\r\n this.$isExpanded.set(!this.$isExpanded());\r\n }\r\n\r\n copy(value: string | number | undefined | null): void {\r\n if (!value) return;\r\n navigator.clipboard.writeText(value.toString()).then(() => {\r\n this.as.success('Copied!', alertOptions);\r\n });\r\n }\r\n\r\n\r\n}\r\n","<div class=\"wf-instance-status-container\">\r\n <core-page-header [title]=\"'Workflow Instance Status'\" (buttonClick)=\"onCorePageHeaderButtonClicked($event)\"/>\r\n\r\n <div class=\"status-parts\">\r\n <div class=\"saga\">\r\n @if ($loading()) {\r\n <p class=\"wf-status-loading\">\r\n <core-terminal-spinner />\r\n </p>\r\n } @else if ($error()) {\r\n <p class=\"wf-status-error\">⚠️ {{ $error() }}</p>\r\n } @else if (!$instance()) {\r\n <p class=\"wf-status-empty\">No instance data found.</p>\r\n } @else {\r\n <div class=\"wf-status-card\">\r\n\r\n <!-- Workflow Info -->\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Workflow Name:</label>\r\n <span>{{ $instance()!.workflowName }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current State:</label>\r\n <span class=\"wf-status-badge1 wf-status-{{ $instance()!.currentState.toLowerCase() }}\">\r\n {{ $instance()!.currentState }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current Step:</label>\r\n <span>{{ $instance()!.currentStepName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Action At:</label>\r\n <span>{{ $instance()!.lastActionAt | tableCell : 'DATE_TIME' : lang }}</span>\r\n </div>\r\n\r\n <!-- First Actor Info -->\r\n <div class=\"wf-status-subtitle\">📌 First Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.firstActorFullname }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.firstActorEmail }}</span>\r\n </div>\r\n\r\n <!-- Last Actor Info -->\r\n <div class=\"wf-status-subtitle\">🔍 Last Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.lastActorFullname || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.lastActorEmail || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee Code:</label>\r\n <span>{{ $instance()!.lastActorEmployeeCode || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Position Name:</label>\r\n <span>{{ $instance()!.lastActorPositionName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Job Name:</label>\r\n <span>{{ $instance()!.lastActorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>System Messages:</label>\r\n <span>{{ $instance()!.systemMessages || '—' }}</span>\r\n </div>\r\n\r\n <!-- Show More Section -->\r\n\r\n @if (!$instance()?.globalConfig.instanceStatusHideMore) {\r\n\r\n <div class=\"wf-status-accordion\">\r\n <button class=\"accordion-summary\" (click)=\"toggleAccordion()\">\r\n <span><i [ngClass]=\"$isExpanded() ? 'feather-minus' : 'feather-plus'\"></i></span> {{ $isExpanded() ? 'Hide Details' : 'Show More' }}\r\n </button>\r\n\r\n <div class=\"accordion-body\" [style.maxHeight]=\"$isExpanded() ? '1000px' : '0'\"\r\n [style.opacity]=\"$isExpanded() ? '1' : '0'\" [style.pointerEvents]=\"$isExpanded() ? 'auto' : 'none'\">\r\n <div class=\"wf-status-row\">\r\n <label>Workflow ID:</label>\r\n <span>\r\n {{ $instance()!.workflowId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.workflowId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee ID:</label>\r\n <span>\r\n {{ $instance()!.lastActorEmployeeId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.lastActorEmployeeId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Triggered Step ID:</label>\r\n <span>\r\n {{ $instance()!.lastTriggeredStepId || '—' }}\r\n </span>\r\n @if ($instance()!.lastTriggeredStepId) {\r\n <button type=\"button\" (click)=\"copy($instance()!.lastTriggeredStepId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n }\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Attributes JSON:</label>\r\n <span>\r\n <code>{{ $attributesBeauty() }}</code>\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.attributesJson)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Debug Mode:</label>\r\n <span>{{ $instance()!.isDebug ? '✔ Enabled' : '❌ Disabled' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n @if (!$instance()?.globalConfig.instanceStatusHideLogs) {\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>"],"names":["i1.MultiLanguageService","i2.SocketService","i3.AlertService"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, inject, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { B as BaseComponent, m as CoreWorkflowService, i as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
3
+ import { B as BaseComponent, n as CoreWorkflowService, E as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-D4Zg0nBV.mjs';
4
4
  import { BehaviorSubject, tap, catchError, of, finalize } from 'rxjs';
5
- import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-x08G6uI3.mjs';
5
+ import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-CNy_G74n.mjs';
6
6
  import { Validators } from '@angular/forms';
7
7
  import { EnumTranslateKey } from 'alpha-global-constants';
8
8
  import * as i1 from '@angular/router';
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
81
81
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: i1.ActivatedRoute }, { type: AppService }] });
82
82
 
83
83
  export { WfInstanceStepReactComponent };
84
- //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs.map
84
+ //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-CTH5pEfa.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.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 { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.OnPush,\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 $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 this.route.params.subscribe(p => {\r\n this.$id.set(p['id']);\r\n });\r\n\r\n effect(() => {\r\n const id = this.$id();\r\n if (!id || !id.length) return;\r\n\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetReactContext?unitedCorrelationIds=${id}`)\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 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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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-CTH5pEfa.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 { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.OnPush,\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 $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 this.route.params.subscribe(p => {\r\n this.$id.set(p['id']);\r\n });\r\n\r\n effect(() => {\r\n const id = this.$id();\r\n if (!id || !id.length) return;\r\n\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetReactContext?unitedCorrelationIds=${id}`)\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 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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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, signal, computed, effect, Component } from '@angular/core';
3
3
  import { Router } from '@angular/router';
4
- import { m as CoreWorkflowService } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
4
+ import { n as CoreWorkflowService } from './ngx-histaff-alpha-ngx-histaff-alpha-D4Zg0nBV.mjs';
5
5
  import * as i1 from '@angular/material/form-field';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
7
  import * as i2 from '@angular/material/input';
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
127
127
  }], ctorParameters: () => [] });
128
128
 
129
129
  export { WfLabComponent };
130
- //# sourceMappingURL=ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs.map
130
+ //# sourceMappingURL=ngx-histaff-alpha-wf-lab.component-Cci9VXWf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.html"],"sourcesContent":["import { Component, signal, computed, inject, effect } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { IWfWorkflowGroup } from '../interfaces/IWfWorkflowGroup';\r\n\r\n@Component({\r\n selector: 'core-wf-lab',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n ],\r\n templateUrl: './wf-lab.component.html',\r\n styleUrl: './wf-lab.component.scss'\r\n})\r\nexport class WfLabComponent {\r\n\r\n router = inject(Router);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n // Inputs\r\n $workflowId = signal<string>('');\r\n $correlationId = signal<string>('');\r\n $stepId = signal<string>('');\r\n $actorId = signal<string>('');\r\n $reason = signal<string>('LAB reason…');\r\n\r\n // React / Inject\r\n $reactType = signal<string>('APPROVED');\r\n $injectType = signal<string>('CANCELLED');\r\n\r\n // Groups + Workflows\r\n $groups = this.wfs.$allGroups;\r\n $allWorkflows = computed(() => {\r\n return this.$groups().flatMap(g =>\r\n g.wfWorkflows.map(w => ({\r\n id: w.id,\r\n label: `${g.name} / ${w.name}`\r\n }))\r\n );\r\n });\r\n\r\n // Current steps (design-time steps)\r\n $steps = this.wfs.$currentSteps;\r\n\r\n // Auto-build United Correlation IDs\r\n $united = computed(() => {\r\n const w = this.$workflowId();\r\n const c = this.$correlationId();\r\n const s = this.$stepId();\r\n const a = this.$actorId();\r\n return (w && c && s && a)\r\n ? `${w}___${c}___${s}___${a}`\r\n : '';\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const existing = this.wfs.$allGroups();\r\n if (existing.length === 0) {\r\n this.loadGroupsOnce();\r\n }\r\n });\r\n }\r\n\r\n private loadGroupsOnce() {\r\n this.wfs\r\n .refreshObservable(\r\n '/api/WfWorkflowGroup/GetAllWithWorkflows',\r\n '',\r\n undefined,\r\n false\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const groups = (x.body.innerBody as IWfWorkflowGroup[])\r\n .map(g => ({ ...g, orderNum: g.orderNum ?? 999 }))\r\n .sort((a, b) => a.orderNum - b.orderNum);\r\n\r\n this.wfs.$allGroups.set(groups);\r\n } else {\r\n console.warn('⚠️ LAB: GetAllWithWorkflows failed', x.body);\r\n }\r\n });\r\n }\r\n\r\n // Select Workflow\r\n selectWorkflow(id: string) {\r\n this.$workflowId.set(id);\r\n }\r\n\r\n // Select React Type\r\n selectReactType(v: string) {\r\n this.$reactType.set(v);\r\n }\r\n\r\n // Select Inject Type\r\n selectInjectType(v: string) {\r\n this.$injectType.set(v);\r\n }\r\n\r\n // Execute React\r\n doReact() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.react(\r\n uid,\r\n this.$reactType(),\r\n this.$reason(),\r\n {}\r\n ).subscribe();\r\n }\r\n\r\n // Execute Inject\r\n doInject() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.inject(\r\n uid,\r\n this.$injectType(),\r\n this.$reason()\r\n ).subscribe();\r\n }\r\n\r\n // Navigation\r\n openKickoff() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/workflow-consume', this.$workflowId()]);\r\n }\r\n\r\n openReactPage() {\r\n if (!this.$united()) return;\r\n this.router.navigate(['/root/workflow/react', this.$united()]);\r\n }\r\n\r\n openStatus() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/status', this.$workflowId()]);\r\n }\r\n\r\n openPreview() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', this.$workflowId()],\r\n { queryParams: { preview: true } }\r\n );\r\n }\r\n}\r\n","<div class=\"lab-container\">\r\n\r\n <h2>Workflow Engine LAB (Backend-Accurate)</h2>\r\n\r\n <!-- Workflow selector -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Select Workflow</mat-label>\r\n <mat-select\r\n [value]=\"$workflowId()\"\r\n (selectionChange)=\"selectWorkflow($any($event.value))\">\r\n\r\n @for (wf of $allWorkflows(); track wf.id) {\r\n <mat-option [value]=\"wf.id\">{{ wf.label }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <!-- Input Grid -->\r\n <div class=\"input-grid\">\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Workflow ID</mat-label>\r\n <input matInput [value]=\"$workflowId()\"\r\n (input)=\"$workflowId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Correlation ID</mat-label>\r\n <input matInput [value]=\"$correlationId()\"\r\n (input)=\"$correlationId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Step ID</mat-label>\r\n <mat-select\r\n [value]=\"$stepId()\"\r\n (selectionChange)=\"$stepId.set($any($event.value))\">\r\n\r\n @for (s of $steps(); track s.id) {\r\n <mat-option [value]=\"s.id\">{{ s.name }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Actor ID</mat-label>\r\n <input matInput [value]=\"$actorId()\"\r\n (input)=\"$actorId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <!-- Auto United -->\r\n <div class=\"united-display\">\r\n <div class=\"label\">UnitedCorrelationIds:</div>\r\n <div class=\"value\">{{$united()}}</div>\r\n </div>\r\n\r\n <!-- Reason -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Reason</mat-label>\r\n <textarea matInput rows=\"3\"\r\n [value]=\"$reason()\"\r\n (input)=\"$reason.set($any($event.target).value)\">\r\n </textarea>\r\n </mat-form-field>\r\n\r\n <!-- React Actions -->\r\n <div class=\"section-title\">React Actions (Actor)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>React Type</mat-label>\r\n <mat-select [value]=\"$reactType()\"\r\n (selectionChange)=\"selectReactType($any($event.value))\">\r\n\r\n <mat-option value=\"APPROVED\">APPROVED</mat-option>\r\n <mat-option value=\"REJECTED\">REJECTED</mat-option>\r\n <mat-option value=\"CONFIRMED\">CONFIRMED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"primary\" (click)=\"doReact()\">\r\n Run React\r\n </button>\r\n </div>\r\n\r\n <!-- Inject Actions -->\r\n <div class=\"section-title\">Inject Actions (System)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Inject Type</mat-label>\r\n <mat-select [value]=\"$injectType()\"\r\n (selectionChange)=\"selectInjectType($any($event.value))\">\r\n\r\n <mat-option value=\"CANCELLED\">CANCELLED</mat-option>\r\n <mat-option value=\"REVOKED\">REVOKED</mat-option>\r\n <mat-option value=\"TERMINATED\">TERMINATED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"warn\" (click)=\"doInject()\">\r\n Run Inject\r\n </button>\r\n </div>\r\n\r\n <!-- Navigation -->\r\n <div class=\"section-title\">Navigation</div>\r\n\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"openKickoff()\">Open Kickoff</button>\r\n <button mat-raised-button (click)=\"openReactPage()\">Open React Page</button>\r\n <button mat-raised-button (click)=\"openStatus()\">Open Status</button>\r\n <button mat-raised-button (click)=\"openPreview()\">Preview Mode</button>\r\n </div>\r\n\r\n</div>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-lab.component-Cci9VXWf.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.html"],"sourcesContent":["import { Component, signal, computed, inject, effect } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { IWfWorkflowGroup } from '../interfaces/IWfWorkflowGroup';\r\n\r\n@Component({\r\n selector: 'core-wf-lab',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n ],\r\n templateUrl: './wf-lab.component.html',\r\n styleUrl: './wf-lab.component.scss'\r\n})\r\nexport class WfLabComponent {\r\n\r\n router = inject(Router);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n // Inputs\r\n $workflowId = signal<string>('');\r\n $correlationId = signal<string>('');\r\n $stepId = signal<string>('');\r\n $actorId = signal<string>('');\r\n $reason = signal<string>('LAB reason…');\r\n\r\n // React / Inject\r\n $reactType = signal<string>('APPROVED');\r\n $injectType = signal<string>('CANCELLED');\r\n\r\n // Groups + Workflows\r\n $groups = this.wfs.$allGroups;\r\n $allWorkflows = computed(() => {\r\n return this.$groups().flatMap(g =>\r\n g.wfWorkflows.map(w => ({\r\n id: w.id,\r\n label: `${g.name} / ${w.name}`\r\n }))\r\n );\r\n });\r\n\r\n // Current steps (design-time steps)\r\n $steps = this.wfs.$currentSteps;\r\n\r\n // Auto-build United Correlation IDs\r\n $united = computed(() => {\r\n const w = this.$workflowId();\r\n const c = this.$correlationId();\r\n const s = this.$stepId();\r\n const a = this.$actorId();\r\n return (w && c && s && a)\r\n ? `${w}___${c}___${s}___${a}`\r\n : '';\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const existing = this.wfs.$allGroups();\r\n if (existing.length === 0) {\r\n this.loadGroupsOnce();\r\n }\r\n });\r\n }\r\n\r\n private loadGroupsOnce() {\r\n this.wfs\r\n .refreshObservable(\r\n '/api/WfWorkflowGroup/GetAllWithWorkflows',\r\n '',\r\n undefined,\r\n false\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const groups = (x.body.innerBody as IWfWorkflowGroup[])\r\n .map(g => ({ ...g, orderNum: g.orderNum ?? 999 }))\r\n .sort((a, b) => a.orderNum - b.orderNum);\r\n\r\n this.wfs.$allGroups.set(groups);\r\n } else {\r\n console.warn('⚠️ LAB: GetAllWithWorkflows failed', x.body);\r\n }\r\n });\r\n }\r\n\r\n // Select Workflow\r\n selectWorkflow(id: string) {\r\n this.$workflowId.set(id);\r\n }\r\n\r\n // Select React Type\r\n selectReactType(v: string) {\r\n this.$reactType.set(v);\r\n }\r\n\r\n // Select Inject Type\r\n selectInjectType(v: string) {\r\n this.$injectType.set(v);\r\n }\r\n\r\n // Execute React\r\n doReact() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.react(\r\n uid,\r\n this.$reactType(),\r\n this.$reason(),\r\n {}\r\n ).subscribe();\r\n }\r\n\r\n // Execute Inject\r\n doInject() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.inject(\r\n uid,\r\n this.$injectType(),\r\n this.$reason()\r\n ).subscribe();\r\n }\r\n\r\n // Navigation\r\n openKickoff() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/workflow-consume', this.$workflowId()]);\r\n }\r\n\r\n openReactPage() {\r\n if (!this.$united()) return;\r\n this.router.navigate(['/root/workflow/react', this.$united()]);\r\n }\r\n\r\n openStatus() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/status', this.$workflowId()]);\r\n }\r\n\r\n openPreview() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', this.$workflowId()],\r\n { queryParams: { preview: true } }\r\n );\r\n }\r\n}\r\n","<div class=\"lab-container\">\r\n\r\n <h2>Workflow Engine LAB (Backend-Accurate)</h2>\r\n\r\n <!-- Workflow selector -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Select Workflow</mat-label>\r\n <mat-select\r\n [value]=\"$workflowId()\"\r\n (selectionChange)=\"selectWorkflow($any($event.value))\">\r\n\r\n @for (wf of $allWorkflows(); track wf.id) {\r\n <mat-option [value]=\"wf.id\">{{ wf.label }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <!-- Input Grid -->\r\n <div class=\"input-grid\">\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Workflow ID</mat-label>\r\n <input matInput [value]=\"$workflowId()\"\r\n (input)=\"$workflowId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Correlation ID</mat-label>\r\n <input matInput [value]=\"$correlationId()\"\r\n (input)=\"$correlationId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Step ID</mat-label>\r\n <mat-select\r\n [value]=\"$stepId()\"\r\n (selectionChange)=\"$stepId.set($any($event.value))\">\r\n\r\n @for (s of $steps(); track s.id) {\r\n <mat-option [value]=\"s.id\">{{ s.name }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Actor ID</mat-label>\r\n <input matInput [value]=\"$actorId()\"\r\n (input)=\"$actorId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <!-- Auto United -->\r\n <div class=\"united-display\">\r\n <div class=\"label\">UnitedCorrelationIds:</div>\r\n <div class=\"value\">{{$united()}}</div>\r\n </div>\r\n\r\n <!-- Reason -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Reason</mat-label>\r\n <textarea matInput rows=\"3\"\r\n [value]=\"$reason()\"\r\n (input)=\"$reason.set($any($event.target).value)\">\r\n </textarea>\r\n </mat-form-field>\r\n\r\n <!-- React Actions -->\r\n <div class=\"section-title\">React Actions (Actor)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>React Type</mat-label>\r\n <mat-select [value]=\"$reactType()\"\r\n (selectionChange)=\"selectReactType($any($event.value))\">\r\n\r\n <mat-option value=\"APPROVED\">APPROVED</mat-option>\r\n <mat-option value=\"REJECTED\">REJECTED</mat-option>\r\n <mat-option value=\"CONFIRMED\">CONFIRMED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"primary\" (click)=\"doReact()\">\r\n Run React\r\n </button>\r\n </div>\r\n\r\n <!-- Inject Actions -->\r\n <div class=\"section-title\">Inject Actions (System)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Inject Type</mat-label>\r\n <mat-select [value]=\"$injectType()\"\r\n (selectionChange)=\"selectInjectType($any($event.value))\">\r\n\r\n <mat-option value=\"CANCELLED\">CANCELLED</mat-option>\r\n <mat-option value=\"REVOKED\">REVOKED</mat-option>\r\n <mat-option value=\"TERMINATED\">TERMINATED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"warn\" (click)=\"doInject()\">\r\n Run Inject\r\n </button>\r\n </div>\r\n\r\n <!-- Navigation -->\r\n <div class=\"section-title\">Navigation</div>\r\n\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"openKickoff()\">Open Kickoff</button>\r\n <button mat-raised-button (click)=\"openReactPage()\">Open React Page</button>\r\n <button mat-raised-button (click)=\"openStatus()\">Open Status</button>\r\n <button mat-raised-button (click)=\"openPreview()\">Preview Mode</button>\r\n </div>\r\n\r\n</div>\r\n"],"names":[],"mappings":"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"}