ngx-histaff-alpha 5.9.0 → 5.9.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 (43) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-BEJPXipC.mjs → ngx-histaff-alpha-ai-hint-for-table.component-BO_Ci77l.mjs} +3 -3
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-BEJPXipC.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-BO_Ci77l.mjs.map} +1 -1
  3. package/fesm2022/ngx-histaff-alpha-core-form-design.component-CGf-jOqR.mjs +3279 -0
  4. package/fesm2022/ngx-histaff-alpha-core-form-design.component-CGf-jOqR.mjs.map +1 -0
  5. package/fesm2022/{ngx-histaff-alpha-core-sticker-collection.component-0ugr1j-a.mjs → ngx-histaff-alpha-core-sticker-collection.component-zkrmzfmx.mjs} +3 -3
  6. package/fesm2022/{ngx-histaff-alpha-core-sticker-collection.component-0ugr1j-a.mjs.map → ngx-histaff-alpha-core-sticker-collection.component-zkrmzfmx.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BWihKjC_.mjs → ngx-histaff-alpha-core-toast-loading.component-BLGPX2ov.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BWihKjC_.mjs.map → ngx-histaff-alpha-core-toast-loading.component-BLGPX2ov.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-DrQHJfwa.mjs → ngx-histaff-alpha-core-workflow-consume.component-DKYtFwki.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-DrQHJfwa.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-DKYtFwki.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-db-settings.component-HZpqrGn1.mjs → ngx-histaff-alpha-db-settings.component-CBB_Ahf3.mjs} +5 -5
  12. package/fesm2022/{ngx-histaff-alpha-db-settings.component-HZpqrGn1.mjs.map → ngx-histaff-alpha-db-settings.component-CBB_Ahf3.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DOWaBKbT.mjs → ngx-histaff-alpha-design-wrapper.component-DaSrXARH.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DOWaBKbT.mjs.map → ngx-histaff-alpha-design-wrapper.component-DaSrXARH.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-pj-38Cdb.mjs → ngx-histaff-alpha-design-wrapper.route-RgR94c12.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-pj-38Cdb.mjs.map → ngx-histaff-alpha-design-wrapper.route-RgR94c12.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-form-array-props.component-Df_gc4y9.mjs → ngx-histaff-alpha-form-array-props.component-CCccglL5.mjs} +4 -3
  18. package/fesm2022/ngx-histaff-alpha-form-array-props.component-CCccglL5.mjs.map +1 -0
  19. package/fesm2022/{ngx-histaff-alpha-live-form.component-awOXOZCF.mjs → ngx-histaff-alpha-live-form.component-Df56ufkx.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-live-form.component-awOXOZCF.mjs.map → ngx-histaff-alpha-live-form.component-Df56ufkx.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs → ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs} +41 -15
  22. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs.map +1 -0
  23. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BmhaBTLn.mjs → ngx-histaff-alpha-tracker-studio.component-h4r8nXvw.mjs} +2 -2
  24. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BmhaBTLn.mjs.map → ngx-histaff-alpha-tracker-studio.component-h4r8nXvw.mjs.map} +1 -1
  25. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BR4s070F.mjs → ngx-histaff-alpha-wf-form-assign.component-Dcwd8mdT.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BR4s070F.mjs.map → ngx-histaff-alpha-wf-form-assign.component-Dcwd8mdT.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BsIAEqxC.mjs → ngx-histaff-alpha-wf-instance-status.component-BEucf9x7.mjs} +4 -4
  28. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BsIAEqxC.mjs.map → ngx-histaff-alpha-wf-instance-status.component-BEucf9x7.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BUDlrylJ.mjs → ngx-histaff-alpha-wf-instance-step-react.component-CR-UUVFi.mjs} +3 -3
  30. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BUDlrylJ.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-CR-UUVFi.mjs.map} +1 -1
  31. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  32. package/lib/app/enum/EnumFormBaseContolType.d.ts +1 -0
  33. package/lib/app/libraries/core-form-design/core-form-array-control-palette/core-form-array-control-palette.component.d.ts +6 -0
  34. package/lib/app/libraries/core-form-design/core-form-array-layout-editor/core-form-array-layout-editor.component.d.ts +1 -1
  35. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -2
  36. package/lib/app/libraries/core-form-design/core-form-design.service.d.ts +13 -2
  37. package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +104 -0
  38. package/lib/app/libraries/core-form-design/field-setting/field-setting.component.d.ts +2 -1
  39. package/package.json +1 -1
  40. package/fesm2022/ngx-histaff-alpha-core-form-design.component-PXmIWw_y.mjs +0 -2214
  41. package/fesm2022/ngx-histaff-alpha-core-form-design.component-PXmIWw_y.mjs.map +0 -1
  42. package/fesm2022/ngx-histaff-alpha-form-array-props.component-Df_gc4y9.mjs.map +0 -1
  43. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { C as CorePageHeaderComponent, a as CoreTabsComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs';
3
+ import { C as CorePageHeaderComponent, a as CoreTabsComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs';
4
4
 
5
5
  class TrackerStudioComponent {
6
6
  constructor() {
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
21
21
  }] });
22
22
 
23
23
  export { TrackerStudioComponent };
24
- //# sourceMappingURL=ngx-histaff-alpha-tracker-studio.component-BmhaBTLn.mjs.map
24
+ //# sourceMappingURL=ngx-histaff-alpha-tracker-studio.component-h4r8nXvw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-tracker-studio.component-BmhaBTLn.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-navigation-tracker/tracker-studio/tracker-studio.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-navigation-tracker/tracker-studio/tracker-studio.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTabsComponent } from '../../core-tabs/core-tabs/core-tabs.component';\r\n\r\n@Component({\r\n selector: 'tracker-studio',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CorePageHeaderComponent,\r\n CoreTabsComponent\r\n ],\r\n templateUrl: './tracker-studio.component.html',\r\n styleUrl: './tracker-studio.component.scss'\r\n})\r\nexport class TrackerStudioComponent {\r\n\r\n $tabIndex = signal(0);\r\n\r\n onTabHeaderClick(e: any): void {\r\n this.$tabIndex.set(e.index);\r\n }\r\n\r\n}\r\n","<core-page-header [title]=\"'Tracker Studio'\" />\r\n\r\n<core-tabs [headers]=\"['Tab1','Tab2']\" [height]=\"46\" (onHeaderClick)=\"onTabHeaderClick($event)\"/>\r\n\r\n@if ($tabIndex()===0) {\r\n\r\n <div data-scope-code=\"salary\">\r\n\r\n <form>\r\n <input type=\"text\" data-field-code=\"value\" />\r\n </form>\r\n\r\n <button data-action-code=\"view\">View</button>\r\n <button data-action-code=\"edit\">Edit</button>\r\n\r\n </div>\r\n\r\n}\r\n\r\n@if ($tabIndex()===1) {\r\n\r\n <div data-scope-code=\"attendance\">\r\n <button data-action-code=\"print\">Print</button>\r\n <button data-action-code=\"delete\">Delete</button>\r\n </div>\r\n \r\n}"],"names":[],"mappings":";;;;MAca,sBAAsB,CAAA;AAVnC,IAAA,WAAA,GAAA;AAYE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;AAMtB;AAJC,IAAA,gBAAgB,CAAC,CAAM,EAAA;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;;8GALlB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ECdnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ktBA0BC,EDlBG,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,+KACvB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKR,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,uBAAuB;wBACvB;AACD,qBAAA,EAAA,QAAA,EAAA,ktBAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-tracker-studio.component-h4r8nXvw.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-navigation-tracker/tracker-studio/tracker-studio.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-navigation-tracker/tracker-studio/tracker-studio.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTabsComponent } from '../../core-tabs/core-tabs/core-tabs.component';\r\n\r\n@Component({\r\n selector: 'tracker-studio',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CorePageHeaderComponent,\r\n CoreTabsComponent\r\n ],\r\n templateUrl: './tracker-studio.component.html',\r\n styleUrl: './tracker-studio.component.scss'\r\n})\r\nexport class TrackerStudioComponent {\r\n\r\n $tabIndex = signal(0);\r\n\r\n onTabHeaderClick(e: any): void {\r\n this.$tabIndex.set(e.index);\r\n }\r\n\r\n}\r\n","<core-page-header [title]=\"'Tracker Studio'\" />\r\n\r\n<core-tabs [headers]=\"['Tab1','Tab2']\" [height]=\"46\" (onHeaderClick)=\"onTabHeaderClick($event)\"/>\r\n\r\n@if ($tabIndex()===0) {\r\n\r\n <div data-scope-code=\"salary\">\r\n\r\n <form>\r\n <input type=\"text\" data-field-code=\"value\" />\r\n </form>\r\n\r\n <button data-action-code=\"view\">View</button>\r\n <button data-action-code=\"edit\">Edit</button>\r\n\r\n </div>\r\n\r\n}\r\n\r\n@if ($tabIndex()===1) {\r\n\r\n <div data-scope-code=\"attendance\">\r\n <button data-action-code=\"print\">Print</button>\r\n <button data-action-code=\"delete\">Delete</button>\r\n </div>\r\n \r\n}"],"names":[],"mappings":";;;;MAca,sBAAsB,CAAA;AAVnC,IAAA,WAAA,GAAA;AAYE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;AAMtB;AAJC,IAAA,gBAAgB,CAAC,CAAM,EAAA;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;;8GALlB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ECdnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ktBA0BC,EDlBG,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,+KACvB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKR,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,uBAAuB;wBACvB;AACD,qBAAA,EAAA,QAAA,EAAA,ktBAAA,EAAA;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component } from '@angular/core';
3
- import { B as BaseEditComponent, b as CoreWorkflowService, E as EnumFormBaseContolType, c as EnumCoreFormControlSeekerSourceType, d as CorePageEditComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs';
3
+ import { B as BaseEditComponent, b as CoreWorkflowService, E as EnumFormBaseContolType, c as EnumCoreFormControlSeekerSourceType, d as CorePageEditComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { AsyncPipe } from '@angular/common';
6
6
 
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
61
61
  }] });
62
62
 
63
63
  export { WfFormAssignComponent };
64
- //# sourceMappingURL=ngx-histaff-alpha-wf-form-assign.component-BR4s070F.mjs.map
64
+ //# sourceMappingURL=ngx-histaff-alpha-wf-form-assign.component-Dcwd8mdT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-form-assign.component-BR4s070F.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-form-assign/wf-form-assign.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-form-assign/wf-form-assign.component.html"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { ICorePageEditCRUD } from '../../core-page-edit/ICorePageEditCRUD';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { EnumCoreFormControlSeekerSourceType } from '../../core-form-control-seeker/EnumCoreFormControlSeekerSourceType';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ICoreFormSection } from '../../core-form/core-form/enum-interfaces';\r\nimport { CorePageEditComponent } from '../../core-page-edit/core-page-edit.component';\r\nimport { BaseEditComponent } from '../../base-edit/base-edit/base-edit.component';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'wf-form-assign',\r\n imports: [\r\n AsyncPipe,\r\n CorePageEditComponent\r\n ],\r\n templateUrl: './wf-form-assign.component.html',\r\n styleUrl: './wf-form-assign.component.scss'\r\n})\r\nexport class WfFormAssignComponent extends BaseEditComponent {\r\n\r\n public coreWorkflowService = inject(CoreWorkflowService);\r\n \r\n crud: ICorePageEditCRUD = {\r\n r: \"/api/WfWorkflow/GetById\",\r\n u: \"/api/WfWorkflow/Update\"\r\n }\r\n\r\n sections: ICoreFormSection[] = [\r\n {\r\n rows: [\r\n [\r\n {\r\n field: 'id',\r\n label: 'Workflow id',\r\n flexSize: 12,\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n readonly: true,\r\n },\r\n ],\r\n [\r\n {\r\n field: 'afInstanceId',\r\n label: 'Form template',\r\n flexSize: 12,\r\n value: '',\r\n controlType: EnumFormBaseContolType.SEEKER,\r\n seekerSourceType: EnumCoreFormControlSeekerSourceType.FORM_SEEK,\r\n getByIdObject$: new BehaviorSubject<any>(null),\r\n getByIdApi: '/api/AfInstance/GetById',\r\n shownFrom: 'name',\r\n boundFrom: 'id'\r\n }\r\n ]\r\n ]\r\n }\r\n ]\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.formInitStringValue = e;\r\n }\r\n\r\n}\r\n","<core-page-edit\r\n [width]=\"800\"\r\n [entityTable]=\"'WF_WORKFLOW'\"\r\n [hasIdOfStringType]=\"true\"\r\n [captionCode]=\"coreWorkflowService.$currentFlow()?.name ?? 'UNKNOWN WORKFLOW'\"\r\n [sections]=\"sections\"\r\n [crud]=\"crud\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"\r\n></core-page-edit>"],"names":[],"mappings":";;;;;;AAqBM,MAAO,qBAAsB,SAAQ,iBAAiB,CAAA;AAT5D,IAAA,WAAA,GAAA;;AAWS,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAExD,QAAA,IAAA,CAAA,IAAI,GAAsB;AACxB,YAAA,CAAC,EAAE,yBAAyB;AAC5B,YAAA,CAAC,EAAE;SACJ;AAED,QAAA,IAAA,CAAA,QAAQ,GAAuB;AAC7B,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA;AACE,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,KAAK,EAAE,aAAa;AACpB,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,KAAK,EAAE,cAAc;AACrB,4BAAA,KAAK,EAAE,eAAe;AACtB,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,MAAM;4BAC1C,gBAAgB,EAAE,mCAAmC,CAAC,SAAS;AAC/D,4BAAA,cAAc,EAAE,IAAI,eAAe,CAAM,IAAI,CAAC;AAC9C,4BAAA,UAAU,EAAE,yBAAyB;AACrC,4BAAA,SAAS,EAAE,MAAM;AACjB,4BAAA,SAAS,EAAE;AACZ;AACF;AACF;AACF;SACF;AAUF;AARC,IAAA,aAAa,CAAC,CAAY,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;AAGf,IAAA,YAAY,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;;8GA7CnB,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBlC,oYASkB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDOd,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKZ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACjB,OAAA,EAAA;wBACP,SAAS;wBACT;AACD,qBAAA,EAAA,QAAA,EAAA,oYAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-form-assign.component-Dcwd8mdT.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-form-assign/wf-form-assign.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-form-assign/wf-form-assign.component.html"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { ICorePageEditCRUD } from '../../core-page-edit/ICorePageEditCRUD';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { EnumCoreFormControlSeekerSourceType } from '../../core-form-control-seeker/EnumCoreFormControlSeekerSourceType';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ICoreFormSection } from '../../core-form/core-form/enum-interfaces';\r\nimport { CorePageEditComponent } from '../../core-page-edit/core-page-edit.component';\r\nimport { BaseEditComponent } from '../../base-edit/base-edit/base-edit.component';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'wf-form-assign',\r\n imports: [\r\n AsyncPipe,\r\n CorePageEditComponent\r\n ],\r\n templateUrl: './wf-form-assign.component.html',\r\n styleUrl: './wf-form-assign.component.scss'\r\n})\r\nexport class WfFormAssignComponent extends BaseEditComponent {\r\n\r\n public coreWorkflowService = inject(CoreWorkflowService);\r\n \r\n crud: ICorePageEditCRUD = {\r\n r: \"/api/WfWorkflow/GetById\",\r\n u: \"/api/WfWorkflow/Update\"\r\n }\r\n\r\n sections: ICoreFormSection[] = [\r\n {\r\n rows: [\r\n [\r\n {\r\n field: 'id',\r\n label: 'Workflow id',\r\n flexSize: 12,\r\n value: '',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n readonly: true,\r\n },\r\n ],\r\n [\r\n {\r\n field: 'afInstanceId',\r\n label: 'Form template',\r\n flexSize: 12,\r\n value: '',\r\n controlType: EnumFormBaseContolType.SEEKER,\r\n seekerSourceType: EnumCoreFormControlSeekerSourceType.FORM_SEEK,\r\n getByIdObject$: new BehaviorSubject<any>(null),\r\n getByIdApi: '/api/AfInstance/GetById',\r\n shownFrom: 'name',\r\n boundFrom: 'id'\r\n }\r\n ]\r\n ]\r\n }\r\n ]\r\n\r\n onFormCreated(e: FormGroup): void {\r\n this.form = e;\r\n }\r\n\r\n onFormReinit(e: string): void {\r\n this.formInitStringValue = e;\r\n }\r\n\r\n}\r\n","<core-page-edit\r\n [width]=\"800\"\r\n [entityTable]=\"'WF_WORKFLOW'\"\r\n [hasIdOfStringType]=\"true\"\r\n [captionCode]=\"coreWorkflowService.$currentFlow()?.name ?? 'UNKNOWN WORKFLOW'\"\r\n [sections]=\"sections\"\r\n [crud]=\"crud\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"\r\n></core-page-edit>"],"names":[],"mappings":";;;;;;AAqBM,MAAO,qBAAsB,SAAQ,iBAAiB,CAAA;AAT5D,IAAA,WAAA,GAAA;;AAWS,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAExD,QAAA,IAAA,CAAA,IAAI,GAAsB;AACxB,YAAA,CAAC,EAAE,yBAAyB;AAC5B,YAAA,CAAC,EAAE;SACJ;AAED,QAAA,IAAA,CAAA,QAAQ,GAAuB;AAC7B,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA;AACE,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,KAAK,EAAE,aAAa;AACpB,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,OAAO;AAC3C,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA;AACE,4BAAA,KAAK,EAAE,cAAc;AACrB,4BAAA,KAAK,EAAE,eAAe;AACtB,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,sBAAsB,CAAC,MAAM;4BAC1C,gBAAgB,EAAE,mCAAmC,CAAC,SAAS;AAC/D,4BAAA,cAAc,EAAE,IAAI,eAAe,CAAM,IAAI,CAAC;AAC9C,4BAAA,UAAU,EAAE,yBAAyB;AACrC,4BAAA,SAAS,EAAE,MAAM;AACjB,4BAAA,SAAS,EAAE;AACZ;AACF;AACF;AACF;SACF;AAUF;AARC,IAAA,aAAa,CAAC,CAAY,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;AAGf,IAAA,YAAY,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;;8GA7CnB,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBlC,oYASkB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDOd,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKZ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACjB,OAAA,EAAA;wBACP,SAAS;wBACT;AACD,qBAAA,EAAA,QAAA,EAAA,oYAAA,EAAA;;;;;"}
@@ -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 { e as BaseComponent, i as AlertService, M as MultiLanguageService, I as ImageErrorResolverDirective, j as TableCellPipe, k as MapAvatarToServerPipe, A as AppService, l as alertOptions, S as SocketService, C as CorePageHeaderComponent, m as CoreTerminalSpinnerComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs';
4
+ import { e as BaseComponent, i as AlertService, M as MultiLanguageService, I as ImageErrorResolverDirective, j as TableCellPipe, k as MapAvatarToServerPipe, A as AppService, l as alertOptions, S as SocketService, C as CorePageHeaderComponent, m as CoreTerminalSpinnerComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs';
5
5
  import { tap, catchError, of } 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}.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.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% + 18.5px);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}.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% + 18.5px);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}.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.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% + 18.5px);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}.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% + 18.5px);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 {
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
150
150
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: SocketService }, { type: AlertService }] });
151
151
 
152
152
  export { WfInstanceStatusComponent };
153
- //# sourceMappingURL=ngx-histaff-alpha-wf-instance-status.component-BsIAEqxC.mjs.map
153
+ //# sourceMappingURL=ngx-histaff-alpha-wf-instance-status.component-BEucf9x7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-status.component-BsIAEqxC.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, 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\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\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 // $inputSteps = signal<IRoutingStep[]>([]);\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 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 or HttpErrorResponse\r\n err?.statusText || // Fallback\r\n 'An unknown error occurred.';\r\n return of({ ok: false, status: 500, body: { messageCode: msg } });\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 this.as.info(\"The status has been changed\", alertOptions);\r\n if (status?.correlationId === this.$correlationId()) {\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'\" />\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 <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 </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n </div>\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-BEucf9x7.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, 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\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\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 // $inputSteps = signal<IRoutingStep[]>([]);\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 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 or HttpErrorResponse\r\n err?.statusText || // Fallback\r\n 'An unknown error occurred.';\r\n return of({ ok: false, status: 500, body: { messageCode: msg } });\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 this.as.info(\"The status has been changed\", alertOptions);\r\n if (status?.correlationId === this.$correlationId()) {\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'\" />\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 <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 </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n </div>\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 { e as BaseComponent, b as CoreWorkflowService, E as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs';
3
+ import { e as BaseComponent, b as CoreWorkflowService, E as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs';
4
4
  import { BehaviorSubject, tap, catchError, of } from 'rxjs';
5
- import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-awOXOZCF.mjs';
5
+ import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-Df56ufkx.mjs';
6
6
  import { Validators } from '@angular/forms';
7
7
  import { EnumTranslateKey } from 'alpha-global-constants';
8
8
  import * as i1 from '@angular/router';
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
73
73
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: i1.ActivatedRoute }, { type: AppService }] });
74
74
 
75
75
  export { WfInstanceStepReactComponent };
76
- //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-BUDlrylJ.mjs.map
76
+ //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-CR-UUVFi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-BUDlrylJ.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, 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\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 this.$loading.set(false);\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({ ok: false, status: 500, body: { messageCode } })\r\n })\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 const context: IWorkflowReactContext | null = x.body.innerBody;\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-CR-UUVFi.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, 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\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 this.$loading.set(false);\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({ ok: false, status: 500, body: { messageCode } })\r\n })\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 const context: IWorkflowReactContext | null = x.body.innerBody;\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,2 +1,2 @@
1
- export { aL as ActionService, cu as ActionSvgEditComponent, cc as AlertComponent, i as AlertService, cg as AnimatedTextComponent, cf as AnimatedTextService, L as AppConfigService, aM as AppInitializationService, A as AppService, z as ApplicationHelpService, bB as AtShiftPatternApplyComponent, bA as AtShiftPatternComponent, bC as AtShiftPatternEditComponent, bD as AtWorksignComponent, bE as AtWorksignService, aN as AuthService, e as BaseComponent, ch as BaseDropdownComponent, B as BaseEditComponent, ck as ButtonGroupComponent, ci as ButtonGroupModule, cj as ButtonGroupService, ah as CORE_VNS_BUTTONS, aO as CacheService, av as CanActivateFunctionUrlMapperGuard, h as CanDeactivateGuard, aQ as CheckForUpdateService, aU as ClientService, aV as CommonHttpRequestService, aX as ConfigService, cD as ConfirmDialogStateComponent, cT as ControlBase, cn as CoreAccordionComponent, co as CoreAccordionService, cp as CoreActiveUserCountComponent, cr as CoreApiProgressComponent, $ as CoreAttachmentComponent, cm as CoreButtonComponent, cs as CoreButtonGroupComponent, cv as CoreButtonGroupService, V as CoreButtonGroupVnsComponent, cw as CoreButtonVnsComponent, J as CoreCheckboxComponent, s as CoreChecklistComponent, cx as CoreCommonParamKitComponent, cy as CoreCompareDbPipelineComponent, cB as CoreCompositionComponent, cA as CoreCompositionService, cz as CoreCompositionState, cC as CoreConfirmDialogComponent, cK as CoreContractSeekerComponent, _ as CoreControlComponent, cL as CoreControlNoGridBufferComponent, cM as CoreControlNoSeekerComponent, cV as CoreControlService, v as CoreCurrencyInputComponent, en as CoreD3Service, t as CoreDatePickerComponent, eJ as CoreDatetimeService, r as CoreDropdownComponent, cN as CoreEmployeeScheduleComponent, cO as CoreEmployeeSeekerComponent, dK as CoreFileFormatPickerComponent, cQ as CoreFileUploaderComponent, cR as CoreFilterHubComponent, cS as CoreFilterHubService, U as CoreFormComponent, c$ as CoreFormControlBaseComponent, u as CoreFormControlSeekerComponent, n as CoreFormDesignService, c_ as CoreFormLiteComponent, a4 as CoreFormService, cZ as CoreFormTabComponent, d9 as CoreGridBufferComponent, da as CoreHeaderParamsComponent, db as CoreHelperComponent, a3 as CoreIosSwitcherComponent, cE as CoreLazyMountComponent, dc as CoreLineComponent, dd as CoreListComponent, de as CoreListLazyComponent, df as CoreLoadingSurfaceComponent, dg as CoreMccComponent, dh as CoreMonthPickerComponent, a0 as CoreMonthSelectorComponent, di as CoreNavigationTrackerComponent, dk as CoreOauthCallbackComponent, dl as CoreOauthCallbackOffice365Component, du as CoreOrgParamComponent, dp as CoreOrgTreeComponent, dr as CoreOrgTreeService, dq as CoreOrgTreeState, ds as CoreOrgUnitSeekerComponent, dt as CoreOrgchartflexComponent, d as CorePageEditComponent, dy as CorePageEditLiteComponent, dx as CorePageEditService, dz as CorePageEditTabComponent, C as CorePageHeaderComponent, dA as CorePageListComponent, dE as CorePageListContentComponent, dC as CorePageListService, dD as CorePageListState, dG as CorePageViewComponent, dH as CorePaginationComponent, dI as CorePaginationFullComponent, dJ as CorePaginationFullService, x as CoreParamControlComponent, dO as CorePermissionActionsComponent, dN as CorePermissionComponent, dL as CorePermissionService, eo as CorePieComponent, dP as CorePositionConcurrentSeekerComponent, dQ as CorePositionSeekerComponent, dR as CoreQrcodeComponent, dT as CoreQueryBuilderComponent, y as CoreRadioGroupComponent, dU as CoreReducerIconComponent, cF as CoreRootMenuItemPickerComponent, cG as CoreRootMenuItemPickerService, dV as CoreRotatingTextComponent, dW as CoreRouteAccumulatorComponent, dX as CoreRoutingHistoryComponent, dY as CoreSalaryPolicyPickerComponent, ep as CoreScatterPlotComponent, dZ as CoreScrollComponent, d_ as CoreScrollLazyComponent, d$ as CoreSeenByComponent, e0 as CoreShiftCardComponent, e1 as CoreShiftCellComponent, e2 as CoreShiftCollectionComponent, e3 as CoreShiftStickerComponent, es as CoreStatisticWidgetComponent, e5 as CoreStatusStickerComponent, e6 as CoreSubFormGroupComponent, e7 as CoreTabListComponent, cJ as CoreTableComponent, aY as CoreTableService, a as CoreTabsComponent, e8 as CoreTagsComponent, m as CoreTerminalSpinnerComponent, e9 as CoreTopicPickerComponent, eb as CoreTopicTreeComponent, ec as CoreTreeComponent, ee as CoreTreeGridComponent, ef as CoreWageSeekerComponent, ei as CoreWorkflowBuilderComponent, ej as CoreWorkflowGroupEditComponent, f as CoreWorkflowListComponent, eg as CoreWorkingSeekerComponent, ek as CoreYearPickerComponent, el as CoreYearSelectorComponent, cW as CustomValidators, am as DATE_VALUE_ACCESSOR, ey as DEFAULT_SVG, aj as DESKTOP_SCREEN_HEDER_HEIGHT, an as DateValueAccessor, et as DecisionComponent, p as DialogService, ab as DialogStateComponent, aZ as DndService, q as DomService, cI as ECoreTableToolClass, cH as ECoreTableToolCode, cd as EnumAlertType, aS as EnumBrowserType, cl as EnumButtonCaptionCode, ea as EnumCoreArticleCategoryTreeaAccessorMode, ct as EnumCoreButtonCode, P as EnumCoreButtonVNSCode, em as EnumCoreD3ScaleType, cP as EnumCoreFileUploaderType, c as EnumCoreFormControlSeekerSourceType, dm as EnumCoreOrgTreeaAccessorMode, dn as EnumCoreOrgTreeaSearchMode, dv as EnumCorePageEditBootstrapClass, dw as EnumCorePageEditFieldType, O as EnumCorePageEditMode, d7 as EnumCoreSeekerColumnAutoForm, d2 as EnumCoreSeekerColumnContract, d0 as EnumCoreSeekerColumnJob, d5 as EnumCoreSeekerColumnPosition, d6 as EnumCoreSeekerColumnPositionConcurrent, d1 as EnumCoreSeekerColumnStaffProfile, d4 as EnumCoreSeekerColumnWage, d3 as EnumCoreSeekerColumnWorking, W as EnumCoreTablePipeType, ed as EnumCoreTreeGridEditMode, dF as EnumCoreViewItemType, aR as EnumDeviceType, ao as EnumDragType, ap as EnumErrorType, dB as EnumExType, aJ as EnumFilterOperator, E as EnumFormBaseContolType, Z as EnumFormDesignMode, eq as EnumHrComparisonCode, er as EnumICoreStatisticWidgetDataType, aq as EnumIconClass, a1 as EnumImageResolverType, bd as EnumNotificationDir, dS as EnumOparator, aT as EnumOsType, dM as EnumPermissionObjectType, ar as EnumProfileInfoSector, eM as EnumRecursiveFields, as as EnumSignalRType, at as EnumSortDirection, bm as EnumSsrsExpressExportFormat, bl as EnumSsrsExpressFileExtension, au as EnumStyleButtonClass, aP as EnumSwUpdateVersionUpdatesEventType, by as EnumWorkScheduleViewMode, eu as EvaluateDialogComponent, bx as EvaluateDialogService, eK as FileService, a_ as FilterKitService, eF as FilterPipe, ac as FooterComponent, F as FullscreenModalLoaderComponent, bF as FunctionComponent, bH as FunctionEditComponent, c6 as FunctionEditService, bI as FunctionIgnoreComponent, bJ as FunctionIgnoreEditComponent, G as GptService, bK as GroupFunctionComponent, bL as GroupFunctionEditComponent, a$ as GrpcService, b0 as HeaderService, b1 as HistoryService, H as HotKeysDirective, X as HtmlTooltipDirective, b2 as HttpErrorHandler, b3 as HubConnectionService, ev as HuconcurrentlyComponent, ce as IAlertOptions, I as ImageErrorResolverDirective, bM as InMemoryComponent, bG as IndividualScheduleApplyComponent, aw as InitializationCanActivateFn, ax as InitializationCanMatchFn, az as InterceptorSkipHeader, b4 as IpServiceService, ez as ItemComponent, ew as JobComponent, K as JsonService, ex as LanguageChangerComponent, bN as LanguageComponent, bO as LanguageEditComponent, b5 as LayoutService, eL as LongTaskService, ak as MOBILE_SCREEN_HEDER_HEIGHT, a6 as MapAppdemoToServerPipePipe, a7 as MapAttachmentToServerPipe, k as MapAvatarToServerPipe, a8 as MapNewsfeedMediaToServerPipe, b6 as MapService, bP as MenuComponent, bQ as MenuEditComponent, b7 as MenuService, b8 as MessageService, b9 as ModalService, M as MultiLanguageService, bR as MutationLogComponent, bS as MutationViewComponent, eA as NavigatorComponent, N as NavigatorService, cq as NewlyCreatedTokenService, a2 as NormalizeHumanNamePipe, be as NotificationActionType, aK as OnlineUsersComponent, ba as OrganizationService, eB as OtpInputComponent, eC as OtpInputService, bT as PaSalaryPolicyComponent, bU as PaSalaryPolicyEditComponent, eD as PageTitleComponent, eE as PaginationComponent, bb as PkceService, bV as PortalRouteComponent, bX as PortalRouteEditComponent, eH as PositionComponent, eI as PositionEditService, bc as PositionTransferService, bf as PushNotificationService, R as READONLY_WORKFLOW_FIELDS, bg as RandomAvatarService, eN as RecursiveService, bh as RequestCache, bi as RequestCacheWithMap, bj as ResponseService, ad as RightchatComponent, bk as RoutingService, e4 as STICKER_COLOR_SCHEMA, bW as ScheduleOverviewComponent, d8 as SeekerService, S as SocketService, bn as SsrsExpressService, eQ as StaffProfileComponent, bp as StatisticAuthService, bo as StatisticService, a9 as StringHtmlPipe, eO as StringService, a5 as SunnyRotatingComponent, c0 as SysActionComponent, c1 as SysActionEditComponent, c2 as SysFunctionActionComponent, c3 as SysFunctionActionEditComponent, c4 as SysFunctionActionMapperComponent, c5 as SysFunctionUrlMapperComponent, bq as SysMenuService, c7 as SysModuleComponent, c8 as SysModuleEditComponent, bY as SysOtherListComponent, bZ as SysOtherListEditComponent, b_ as SysOtherListTypeComponent, b$ as SysOtherListTypeEditComponent, c9 as SysRouteAccessComponent, aW as TLA_CONFIG, j as TableCellPipe, cU as Textbox, eR as ThreedotsComponent, br as TimeSheetService, eS as TooltipComponent, g as TooltipDirective, bs as TopicPermissionService, bt as TopicTreeService, T as TranslatePipe, cX as URL_PATTERN, eP as UnicodeService, bu as UploadedFileService, aa as UploadedFilenameCutoffPipe, bv as UrlService, eT as UserActivityComponent, bw as UserActivityService, eU as WageComponent, ae as WaittingScreenComponent, bz as WorkShiftDndService, l as alertOptions, aA as appTypeInterceptor, ag as attachmentOptions, aC as authInterceptor, aB as baseUrlInterceptor, cb as blob_to_base64_script, aH as cachingInterceptor, cY as coreFormDesignRoutes, dj as coreNavigationTrackerRoutes, eh as coreWorkflowRoutes, ai as defaultPaging, aD as graphInterceptor, ay as httpInterceptorProviders, aI as langInterceptor, ca as liner_to_nested_array_script, af as longAlertOptions, Q as noneAutoClosedAlertOptions, eG as normalizeHumanName, aF as responseInterceptor, al as themeBlue, aG as timeZoneInterceptor, aE as tokenInterceptor } from './ngx-histaff-alpha-ngx-histaff-alpha-Cbe09AO4.mjs';
1
+ export { aL as ActionService, cu as ActionSvgEditComponent, cc as AlertComponent, i as AlertService, cg as AnimatedTextComponent, cf as AnimatedTextService, L as AppConfigService, aM as AppInitializationService, A as AppService, z as ApplicationHelpService, bB as AtShiftPatternApplyComponent, bA as AtShiftPatternComponent, bC as AtShiftPatternEditComponent, bD as AtWorksignComponent, bE as AtWorksignService, aN as AuthService, e as BaseComponent, ch as BaseDropdownComponent, B as BaseEditComponent, ck as ButtonGroupComponent, ci as ButtonGroupModule, cj as ButtonGroupService, ah as CORE_VNS_BUTTONS, aO as CacheService, av as CanActivateFunctionUrlMapperGuard, h as CanDeactivateGuard, aQ as CheckForUpdateService, aU as ClientService, aV as CommonHttpRequestService, aX as ConfigService, cD as ConfirmDialogStateComponent, cT as ControlBase, cn as CoreAccordionComponent, co as CoreAccordionService, cp as CoreActiveUserCountComponent, cr as CoreApiProgressComponent, $ as CoreAttachmentComponent, cm as CoreButtonComponent, cs as CoreButtonGroupComponent, cv as CoreButtonGroupService, V as CoreButtonGroupVnsComponent, cw as CoreButtonVnsComponent, J as CoreCheckboxComponent, s as CoreChecklistComponent, cx as CoreCommonParamKitComponent, cy as CoreCompareDbPipelineComponent, cB as CoreCompositionComponent, cA as CoreCompositionService, cz as CoreCompositionState, cC as CoreConfirmDialogComponent, cK as CoreContractSeekerComponent, _ as CoreControlComponent, cL as CoreControlNoGridBufferComponent, cM as CoreControlNoSeekerComponent, cV as CoreControlService, v as CoreCurrencyInputComponent, en as CoreD3Service, t as CoreDatePickerComponent, eJ as CoreDatetimeService, r as CoreDropdownComponent, cN as CoreEmployeeScheduleComponent, cO as CoreEmployeeSeekerComponent, dK as CoreFileFormatPickerComponent, cQ as CoreFileUploaderComponent, cR as CoreFilterHubComponent, cS as CoreFilterHubService, U as CoreFormComponent, c$ as CoreFormControlBaseComponent, u as CoreFormControlSeekerComponent, n as CoreFormDesignService, c_ as CoreFormLiteComponent, a4 as CoreFormService, cZ as CoreFormTabComponent, d9 as CoreGridBufferComponent, da as CoreHeaderParamsComponent, db as CoreHelperComponent, a3 as CoreIosSwitcherComponent, cE as CoreLazyMountComponent, dc as CoreLineComponent, dd as CoreListComponent, de as CoreListLazyComponent, df as CoreLoadingSurfaceComponent, dg as CoreMccComponent, dh as CoreMonthPickerComponent, a0 as CoreMonthSelectorComponent, di as CoreNavigationTrackerComponent, dk as CoreOauthCallbackComponent, dl as CoreOauthCallbackOffice365Component, du as CoreOrgParamComponent, dp as CoreOrgTreeComponent, dr as CoreOrgTreeService, dq as CoreOrgTreeState, ds as CoreOrgUnitSeekerComponent, dt as CoreOrgchartflexComponent, d as CorePageEditComponent, dy as CorePageEditLiteComponent, dx as CorePageEditService, dz as CorePageEditTabComponent, C as CorePageHeaderComponent, dA as CorePageListComponent, dE as CorePageListContentComponent, dC as CorePageListService, dD as CorePageListState, dG as CorePageViewComponent, dH as CorePaginationComponent, dI as CorePaginationFullComponent, dJ as CorePaginationFullService, x as CoreParamControlComponent, dO as CorePermissionActionsComponent, dN as CorePermissionComponent, dL as CorePermissionService, eo as CorePieComponent, dP as CorePositionConcurrentSeekerComponent, dQ as CorePositionSeekerComponent, dR as CoreQrcodeComponent, dT as CoreQueryBuilderComponent, y as CoreRadioGroupComponent, dU as CoreReducerIconComponent, cF as CoreRootMenuItemPickerComponent, cG as CoreRootMenuItemPickerService, dV as CoreRotatingTextComponent, dW as CoreRouteAccumulatorComponent, dX as CoreRoutingHistoryComponent, dY as CoreSalaryPolicyPickerComponent, ep as CoreScatterPlotComponent, dZ as CoreScrollComponent, d_ as CoreScrollLazyComponent, d$ as CoreSeenByComponent, e0 as CoreShiftCardComponent, e1 as CoreShiftCellComponent, e2 as CoreShiftCollectionComponent, e3 as CoreShiftStickerComponent, es as CoreStatisticWidgetComponent, e5 as CoreStatusStickerComponent, e6 as CoreSubFormGroupComponent, e7 as CoreTabListComponent, cJ as CoreTableComponent, aY as CoreTableService, a as CoreTabsComponent, e8 as CoreTagsComponent, m as CoreTerminalSpinnerComponent, e9 as CoreTopicPickerComponent, eb as CoreTopicTreeComponent, ec as CoreTreeComponent, ee as CoreTreeGridComponent, ef as CoreWageSeekerComponent, ei as CoreWorkflowBuilderComponent, ej as CoreWorkflowGroupEditComponent, f as CoreWorkflowListComponent, eg as CoreWorkingSeekerComponent, ek as CoreYearPickerComponent, el as CoreYearSelectorComponent, cW as CustomValidators, am as DATE_VALUE_ACCESSOR, ey as DEFAULT_SVG, aj as DESKTOP_SCREEN_HEDER_HEIGHT, an as DateValueAccessor, et as DecisionComponent, p as DialogService, ab as DialogStateComponent, aZ as DndService, q as DomService, cI as ECoreTableToolClass, cH as ECoreTableToolCode, cd as EnumAlertType, aS as EnumBrowserType, cl as EnumButtonCaptionCode, ea as EnumCoreArticleCategoryTreeaAccessorMode, ct as EnumCoreButtonCode, P as EnumCoreButtonVNSCode, em as EnumCoreD3ScaleType, cP as EnumCoreFileUploaderType, c as EnumCoreFormControlSeekerSourceType, dm as EnumCoreOrgTreeaAccessorMode, dn as EnumCoreOrgTreeaSearchMode, dv as EnumCorePageEditBootstrapClass, dw as EnumCorePageEditFieldType, O as EnumCorePageEditMode, d7 as EnumCoreSeekerColumnAutoForm, d2 as EnumCoreSeekerColumnContract, d0 as EnumCoreSeekerColumnJob, d5 as EnumCoreSeekerColumnPosition, d6 as EnumCoreSeekerColumnPositionConcurrent, d1 as EnumCoreSeekerColumnStaffProfile, d4 as EnumCoreSeekerColumnWage, d3 as EnumCoreSeekerColumnWorking, W as EnumCoreTablePipeType, ed as EnumCoreTreeGridEditMode, dF as EnumCoreViewItemType, aR as EnumDeviceType, ao as EnumDragType, ap as EnumErrorType, dB as EnumExType, aJ as EnumFilterOperator, E as EnumFormBaseContolType, Z as EnumFormDesignMode, eq as EnumHrComparisonCode, er as EnumICoreStatisticWidgetDataType, aq as EnumIconClass, a1 as EnumImageResolverType, bd as EnumNotificationDir, dS as EnumOparator, aT as EnumOsType, dM as EnumPermissionObjectType, ar as EnumProfileInfoSector, eM as EnumRecursiveFields, as as EnumSignalRType, at as EnumSortDirection, bm as EnumSsrsExpressExportFormat, bl as EnumSsrsExpressFileExtension, au as EnumStyleButtonClass, aP as EnumSwUpdateVersionUpdatesEventType, by as EnumWorkScheduleViewMode, eu as EvaluateDialogComponent, bx as EvaluateDialogService, eK as FileService, a_ as FilterKitService, eF as FilterPipe, ac as FooterComponent, F as FullscreenModalLoaderComponent, bF as FunctionComponent, bH as FunctionEditComponent, c6 as FunctionEditService, bI as FunctionIgnoreComponent, bJ as FunctionIgnoreEditComponent, G as GptService, bK as GroupFunctionComponent, bL as GroupFunctionEditComponent, a$ as GrpcService, b0 as HeaderService, b1 as HistoryService, H as HotKeysDirective, X as HtmlTooltipDirective, b2 as HttpErrorHandler, b3 as HubConnectionService, ev as HuconcurrentlyComponent, ce as IAlertOptions, I as ImageErrorResolverDirective, bM as InMemoryComponent, bG as IndividualScheduleApplyComponent, aw as InitializationCanActivateFn, ax as InitializationCanMatchFn, az as InterceptorSkipHeader, b4 as IpServiceService, ez as ItemComponent, ew as JobComponent, K as JsonService, ex as LanguageChangerComponent, bN as LanguageComponent, bO as LanguageEditComponent, b5 as LayoutService, eL as LongTaskService, ak as MOBILE_SCREEN_HEDER_HEIGHT, a6 as MapAppdemoToServerPipePipe, a7 as MapAttachmentToServerPipe, k as MapAvatarToServerPipe, a8 as MapNewsfeedMediaToServerPipe, b6 as MapService, bP as MenuComponent, bQ as MenuEditComponent, b7 as MenuService, b8 as MessageService, b9 as ModalService, M as MultiLanguageService, bR as MutationLogComponent, bS as MutationViewComponent, eA as NavigatorComponent, N as NavigatorService, cq as NewlyCreatedTokenService, a2 as NormalizeHumanNamePipe, be as NotificationActionType, aK as OnlineUsersComponent, ba as OrganizationService, eB as OtpInputComponent, eC as OtpInputService, bT as PaSalaryPolicyComponent, bU as PaSalaryPolicyEditComponent, eD as PageTitleComponent, eE as PaginationComponent, bb as PkceService, bV as PortalRouteComponent, bX as PortalRouteEditComponent, eH as PositionComponent, eI as PositionEditService, bc as PositionTransferService, bf as PushNotificationService, R as READONLY_WORKFLOW_FIELDS, bg as RandomAvatarService, eN as RecursiveService, bh as RequestCache, bi as RequestCacheWithMap, bj as ResponseService, ad as RightchatComponent, bk as RoutingService, e4 as STICKER_COLOR_SCHEMA, bW as ScheduleOverviewComponent, d8 as SeekerService, S as SocketService, bn as SsrsExpressService, eQ as StaffProfileComponent, bp as StatisticAuthService, bo as StatisticService, a9 as StringHtmlPipe, eO as StringService, a5 as SunnyRotatingComponent, c0 as SysActionComponent, c1 as SysActionEditComponent, c2 as SysFunctionActionComponent, c3 as SysFunctionActionEditComponent, c4 as SysFunctionActionMapperComponent, c5 as SysFunctionUrlMapperComponent, bq as SysMenuService, c7 as SysModuleComponent, c8 as SysModuleEditComponent, bY as SysOtherListComponent, bZ as SysOtherListEditComponent, b_ as SysOtherListTypeComponent, b$ as SysOtherListTypeEditComponent, c9 as SysRouteAccessComponent, aW as TLA_CONFIG, j as TableCellPipe, cU as Textbox, eR as ThreedotsComponent, br as TimeSheetService, eS as TooltipComponent, g as TooltipDirective, bs as TopicPermissionService, bt as TopicTreeService, T as TranslatePipe, cX as URL_PATTERN, eP as UnicodeService, bu as UploadedFileService, aa as UploadedFilenameCutoffPipe, bv as UrlService, eT as UserActivityComponent, bw as UserActivityService, eU as WageComponent, ae as WaittingScreenComponent, bz as WorkShiftDndService, l as alertOptions, aA as appTypeInterceptor, ag as attachmentOptions, aC as authInterceptor, aB as baseUrlInterceptor, cb as blob_to_base64_script, aH as cachingInterceptor, cY as coreFormDesignRoutes, dj as coreNavigationTrackerRoutes, eh as coreWorkflowRoutes, ai as defaultPaging, aD as graphInterceptor, ay as httpInterceptorProviders, aI as langInterceptor, ca as liner_to_nested_array_script, af as longAlertOptions, Q as noneAutoClosedAlertOptions, eG as normalizeHumanName, aF as responseInterceptor, al as themeBlue, aG as timeZoneInterceptor, aE as tokenInterceptor } from './ngx-histaff-alpha-ngx-histaff-alpha-CYQ3j6IP.mjs';
2
2
  //# sourceMappingURL=ngx-histaff-alpha.mjs.map
@@ -1,4 +1,5 @@
1
1
  export declare enum EnumFormBaseContolType {
2
+ PLACEHOLDER = "PLACEHOLDER",
2
3
  FORM_ARRAY = "FORM_ARRAY",
3
4
  CALCULATED = "CALCULATED",
4
5
  HIDDEN = "HIDDEN",
@@ -1,7 +1,13 @@
1
1
  import { IFormBaseControl } from '../../core-form/core-form/enum-interfaces';
2
+ import { CoreFormDesignService } from '../core-form-design.service';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { FormGroup } from '@angular/forms';
2
5
  import * as i0 from "@angular/core";
3
6
  export declare class CoreFormArrayControlPaletteComponent {
7
+ coreFormDesignService: CoreFormDesignService;
4
8
  controlOptions: IFormBaseControl[];
9
+ form: FormGroup;
10
+ checkError$: BehaviorSubject<boolean>;
5
11
  onDragStart(event: DragEvent, control: IFormBaseControl): void;
6
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreFormArrayControlPaletteComponent, never>;
7
13
  static ɵcmp: i0.ɵɵComponentDeclaration<CoreFormArrayControlPaletteComponent, "core-form-array-control-palette", never, {}, {}, never, never, true, never>;
@@ -7,7 +7,7 @@ export declare class CoreFormArrayLayoutEditorComponent {
7
7
  $sections: import("@angular/core").WritableSignal<import("ngx-histaff-alpha").ICoreFormSection[] | null>;
8
8
  form: import("@angular/forms").FormGroup<any>;
9
9
  onClose(): void;
10
- onMiniDrop(event: DragEvent, index: number, sectionIndex: number, rowIndex: number, colIndex: number): void;
10
+ onMiniDrop(event: any, sectionIndex: number, rowIndex: number, colIndex: number): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreFormArrayLayoutEditorComponent, never>;
12
12
  static ɵcmp: i0.ɵɵComponentDeclaration<CoreFormArrayLayoutEditorComponent, "core-form-array-layout-editor", never, {}, {}, never, never, true, never>;
13
13
  }
@@ -64,7 +64,6 @@ export declare class CoreFormDesignComponent extends BaseComponent implements Af
64
64
  onDragOver(event: DragEvent, section: IFormDesignSection, control: Partial<IFormBaseControl>): void;
65
65
  onDragEnter(placeholderId: string): void;
66
66
  onDragLeave(placeholderId: string): void;
67
- onDropIntoCell(event: DragEvent, sectionIndex: number, rowIndex: number, colIndex: number): void;
68
67
  generateFieldNameFor: (control: Partial<IFormBaseControl>) => string;
69
68
  generateLabelNameFor: (control: Partial<IFormBaseControl>) => string;
70
69
  getAllControlsFromSections: () => IFormBaseControl[];
@@ -94,7 +93,7 @@ export declare class CoreFormDesignComponent extends BaseComponent implements Af
94
93
  triggerUpdateSections(): void;
95
94
  syncFormDesignWithSections(): void;
96
95
  isRequired(control: IFormBaseControl | undefined | null): boolean;
97
- filteredCells(row: IFormDesignRow | undefined): IFormDesignCell[];
96
+ filteredCells: (row: IFormDesignRow | undefined) => IFormDesignCell[];
98
97
  onFormDesignCreated(e: any): void;
99
98
  onLiveFormCreated(e: any): void;
100
99
  showMetadata(): void;
@@ -1,6 +1,6 @@
1
1
  import { WritableSignal } from '@angular/core';
2
2
  import { BehaviorSubject, Observable } from 'rxjs';
3
- import { IAfInstance, IFormDesignCell, IFormDesignSection } from './interfaces';
3
+ import { IAfInstance, IFormDesignCell, IFormDesignRow, IFormDesignSection } from './interfaces';
4
4
  import { ICoreFormSection, IFormBaseControl, IValidator } from '../core-form/core-form/enum-interfaces';
5
5
  import { ICoreChecklistOption } from '../core-checklist/core-checklist/core-checklist.component';
6
6
  import { FormArray, FormGroup, ValidatorFn } from '@angular/forms';
@@ -19,15 +19,23 @@ export declare const READONLY_WORKFLOW_FIELDS: string[];
19
19
  export declare class CoreFormDesignService {
20
20
  $afInstance: WritableSignal<IAfInstance>;
21
21
  $placeholderSections: WritableSignal<IFormDesignSection[]>;
22
+ $nestedPlaceholderSections: WritableSignal<IFormDesignSection[]>;
22
23
  $sectionIndex: WritableSignal<number | null>;
23
24
  $rowIndex: WritableSignal<number | null>;
24
25
  $colIndex: WritableSignal<number | null>;
26
+ $nestedSectionIndex: WritableSignal<number | null>;
27
+ $nestedRowIndex: WritableSignal<number | null>;
28
+ $nestedColIndex: WritableSignal<number | null>;
25
29
  $selectedCell: WritableSignal<IFormDesignCell | null>;
30
+ $nestedSelectedCell: WritableSignal<IFormDesignCell | null>;
26
31
  $fieldSettingPanelOpen: WritableSignal<boolean>;
32
+ $nestedFieldSettingPanelOpen: WritableSignal<boolean>;
27
33
  $showFormMetadata: WritableSignal<boolean>;
34
+ $showFormArrayDesign: WritableSignal<boolean>;
28
35
  $currentControlTemplate: WritableSignal<Partial<IFormBaseControl> | null>;
29
36
  $currentControl: WritableSignal<IFormBaseControl | null>;
30
- $nestedDesignSections: WritableSignal<ICoreFormSection[] | null>;
37
+ $nestedCurrentControlTemplate: WritableSignal<Partial<IFormBaseControl> | null>;
38
+ $nestedCurrentControl: WritableSignal<IFormBaseControl | null>;
31
39
  $calculatedField: WritableSignal<ICalculatedField | null>;
32
40
  $submitText: WritableSignal<EnumTranslateKey>;
33
41
  editMode$: BehaviorSubject<EnumCorePageEditMode>;
@@ -35,6 +43,7 @@ export declare class CoreFormDesignService {
35
43
  $draggingControl: WritableSignal<Partial<IFormBaseControl> | null>;
36
44
  $shouldPatchMetadataForm: WritableSignal<boolean>;
37
45
  $currentControlJson: import("@angular/core").Signal<string>;
46
+ $nestedCurrentControlJson: import("@angular/core").Signal<string>;
38
47
  $isInWorkflowDesign: WritableSignal<boolean>;
39
48
  $saveLiveJson: import("@angular/core").Signal<string>;
40
49
  $mode: WritableSignal<EnumFormDesignMode>;
@@ -48,10 +57,12 @@ export declare class CoreFormDesignService {
48
57
  appService: AppService;
49
58
  formMetadataCustomButtonChecklistOptions$: BehaviorSubject<ICoreChecklistOption[]>;
50
59
  $formMetadataSections: WritableSignal<ICoreFormSection[]>;
60
+ $nestedDesignSections: WritableSignal<ICoreFormSection[] | null>;
51
61
  buildFormArrayFromLayout(layout: ICoreFormSection[], repeatCount?: number): FormArray;
52
62
  private stripRuntimeProps;
53
63
  constructor();
54
64
  $formContext: import("@angular/core").Signal<IFormBaseControl[]>;
65
+ filteredCells(row: IFormDesignRow | undefined): IFormDesignCell[];
55
66
  setControlProp<K extends keyof IFormBaseControl>(key: K, value: IFormBaseControl[K]): void;
56
67
  replaceControl(oldField: string | null, newControl: IFormBaseControl): void;
57
68
  setControlPropDirectly<K extends keyof IFormBaseControl>(key: K, value: IFormBaseControl[K], directControl?: IFormBaseControl): void;