ngx-histaff-alpha 6.4.9 → 6.5.0

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 (45) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs → ngx-histaff-alpha-ai-hint-for-table.component-CHgQSi0p.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-CHgQSi0p.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs → ngx-histaff-alpha-core-form-design.component-CTrNNE7-.mjs} +4 -4
  4. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs.map → ngx-histaff-alpha-core-form-design.component-CTrNNE7-.mjs.map} +1 -1
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs → ngx-histaff-alpha-core-sys-action.component-GIciqrnf.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs.map → ngx-histaff-alpha-core-sys-action.component-GIciqrnf.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs → ngx-histaff-alpha-core-template-editor.component-XwgAdRVH.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs.map → ngx-histaff-alpha-core-template-editor.component-XwgAdRVH.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs → ngx-histaff-alpha-core-toast-loading.component-Dx9YYqpG.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs.map → ngx-histaff-alpha-core-toast-loading.component-Dx9YYqpG.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs → ngx-histaff-alpha-core-workflow-consume.component-BP8zuxYQ.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-BP8zuxYQ.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs → ngx-histaff-alpha-db-settings.component-aOgA1qSq.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs.map → ngx-histaff-alpha-db-settings.component-aOgA1qSq.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs → ngx-histaff-alpha-design-wrapper.component-hBUaZceS.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs.map → ngx-histaff-alpha-design-wrapper.component-hBUaZceS.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs → ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs.map → ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs → ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs.map → ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-LdFysTvc.mjs → ngx-histaff-alpha-live-form.component-x08G6uI3.mjs} +17 -9
  22. package/fesm2022/ngx-histaff-alpha-live-form.component-x08G6uI3.mjs.map +1 -0
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs → ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs} +20 -18
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs → ngx-histaff-alpha-simple-chat.component-CtnJMX2M.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs.map → ngx-histaff-alpha-simple-chat.component-CtnJMX2M.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs → ngx-histaff-alpha-template-list.component-BysOT_8n.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs.map → ngx-histaff-alpha-template-list.component-BysOT_8n.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs → ngx-histaff-alpha-tracker-studio.component-D9L1y1k0.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs.map → ngx-histaff-alpha-tracker-studio.component-D9L1y1k0.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs → ngx-histaff-alpha-wf-form-assign.component-BACGd2Yk.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs.map → ngx-histaff-alpha-wf-form-assign.component-BACGd2Yk.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs → ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs.map → ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs → ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs.map → ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs → ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs} +3 -3
  38. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs → ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs} +2 -2
  40. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs.map → ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs.map} +1 -1
  41. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  42. package/lib/app/libraries/core-workflow-builder/interfaces/IWorkflowReactContext.d.ts +2 -0
  43. package/package.json +2 -2
  44. package/fesm2022/ngx-histaff-alpha-live-form.component-LdFysTvc.mjs.map +0 -1
  45. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs.map +0 -1
@@ -1,23 +1,23 @@
1
- import { s as CanDeactivateGuard } from './ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs';
1
+ import { s as CanDeactivateGuard } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
2
2
 
3
3
  const wfDesignWrapperRoutes = [
4
4
  {
5
5
  path: '',
6
- loadComponent: () => import('./ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs').then(m => m.DesignWrapperComponent),
6
+ loadComponent: () => import('./ngx-histaff-alpha-design-wrapper.component-hBUaZceS.mjs').then(m => m.DesignWrapperComponent),
7
7
  canDeactivate: [CanDeactivateGuard],
8
8
  children: [
9
9
  {
10
10
  path: ':id',
11
11
  outlet: 'preview',
12
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent)
12
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-x08G6uI3.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent)
13
13
  },
14
14
  ]
15
15
  },
16
16
  {
17
17
  path: ':id',
18
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent)
18
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-x08G6uI3.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent)
19
19
  }
20
20
  ];
21
21
 
22
22
  export { wfDesignWrapperRoutes };
23
- //# sourceMappingURL=ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs.map
23
+ //# sourceMappingURL=ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/design-wrapper/design-wrapper.route.ts"],"sourcesContent":["import { Routes } from '@angular/router';\r\nimport { CanDeactivateGuard } from '../../../guards/can-deactivate.guard';\r\n\r\nexport const wfDesignWrapperRoutes: Routes = [\r\n {\r\n path: '',\r\n loadComponent: () => import('./design-wrapper.component').then(m => m.DesignWrapperComponent),\r\n canDeactivate: [CanDeactivateGuard],\r\n children: [\r\n {\r\n path: ':id',\r\n outlet: 'preview',\r\n loadComponent: () => import('../../core-form-design/live-form/live-form.component').then(m => m.LiveFormComponent)\r\n },\r\n ]\r\n },\r\n {\r\n path: ':id',\r\n loadComponent: () => import('../../core-form-design/live-form/live-form.component').then(m => m.LiveFormComponent)\r\n }\r\n]"],"names":[],"mappings":";;AAGa,MAAA,qBAAqB,GAAW;AACzC,IAAA;AACI,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MAAM,OAAO,2DAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;QAC7F,aAAa,EAAE,CAAC,kBAAkB,CAAC;AACnC,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,aAAa,EAAE,MAAM,OAAO,sDAAsD,oCAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;AACpH,aAAA;AACJ;AACJ,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,aAAa,EAAE,MAAM,OAAO,sDAAsD,oCAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;AACpH;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/design-wrapper/design-wrapper.route.ts"],"sourcesContent":["import { Routes } from '@angular/router';\r\nimport { CanDeactivateGuard } from '../../../guards/can-deactivate.guard';\r\n\r\nexport const wfDesignWrapperRoutes: Routes = [\r\n {\r\n path: '',\r\n loadComponent: () => import('./design-wrapper.component').then(m => m.DesignWrapperComponent),\r\n canDeactivate: [CanDeactivateGuard],\r\n children: [\r\n {\r\n path: ':id',\r\n outlet: 'preview',\r\n loadComponent: () => import('../../core-form-design/live-form/live-form.component').then(m => m.LiveFormComponent)\r\n },\r\n ]\r\n },\r\n {\r\n path: ':id',\r\n loadComponent: () => import('../../core-form-design/live-form/live-form.component').then(m => m.LiveFormComponent)\r\n }\r\n]"],"names":[],"mappings":";;AAGa,MAAA,qBAAqB,GAAW;AACzC,IAAA;AACI,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MAAM,OAAO,2DAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;QAC7F,aAAa,EAAE,CAAC,kBAAkB,CAAC;AACnC,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,aAAa,EAAE,MAAM,OAAO,sDAAsD,oCAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;AACpH,aAAA;AACJ;AACJ,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,aAAa,EAAE,MAAM,OAAO,sDAAsD,oCAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;AACpH;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component } from '@angular/core';
3
- import { B as BaseComponent, A as AppService } from './ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs';
3
+ import { B as BaseComponent, A as AppService } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
4
4
  import { finalize } from 'rxjs';
5
5
 
6
6
  class HrmSchemaComponent extends BaseComponent {
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
36
36
  }] });
37
37
 
38
38
  export { HrmSchemaComponent };
39
- //# sourceMappingURL=ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs.map
39
+ //# sourceMappingURL=ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/root/hrm-schema/hrm-schema.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/root/hrm-schema/hrm-schema.component.html"],"sourcesContent":["import { AfterViewInit, Component, inject } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { BaseComponent } from '../../libraries/base-component/base/base.component';\r\nimport { finalize } from 'rxjs';\r\n\r\ninterface SchemaReport {\r\n name: string;\r\n success: boolean;\r\n durationMs: number;\r\n logs: string[];\r\n errors: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'hrm-schema',\r\n imports: [],\r\n templateUrl: './hrm-schema.component.html',\r\n styleUrl: './hrm-schema.component.scss'\r\n})\r\nexport class HrmSchemaComponent extends BaseComponent implements AfterViewInit {\r\n reports: SchemaReport[] = [];\r\n loading: boolean = false;\r\n appService = inject(AppService)\r\n\r\n get maxDuration(): number {\r\n return this.reports.length ? Math.max(...this.reports.map(r => r.durationMs)) : 1;\r\n }\r\n\r\n // Scale bar width as percentage\r\n getWidth(report: SchemaReport): string {\r\n return `${(report.durationMs / this.maxDuration) * 100}%`;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.loading = true;\r\n this.subscriptions.push(\r\n this.appService.get('/api/HrmSchemaEssential/SchemaCheck').pipe(\r\n finalize(() => this.loading = false)\r\n ).subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n this.reports = x.body.innerBody;\r\n }\r\n })\r\n )\r\n })\r\n }\r\n}\r\n","\r\n<div class=\"container-fluid\">\r\n <div class=\"schema-bar-chart\">\r\n @for (r of reports; track $index) {\r\n <div class=\"schema-bar-row\">\r\n <div class=\"schema-label\">{{ r.name }}</div>\r\n <div class=\"schema-bar-wrapper\">\r\n <div class=\"schema-bar\" [class.success]=\"r.success\" [class.fail]=\"!r.success\" [style.width]=\"getWidth(r)\"\r\n [title]=\"r.durationMs + ' ms\\n' + (r.errors.length ? r.errors.join('; ') : 'OK')\">\r\n {{ r.durationMs }} ms\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>"],"names":[],"mappings":";;;;;AAmBM,MAAO,kBAAmB,SAAQ,aAAa,CAAA;AANrD,IAAA,WAAA,GAAA;;QAOE,IAAO,CAAA,OAAA,GAAmB,EAAE;QAC5B,IAAO,CAAA,OAAA,GAAY,KAAK;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAyBhC;AAvBC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;;;AAInF,IAAA,QAAQ,CAAC,MAAoB,EAAA;AAC3B,QAAA,OAAO,CAAG,EAAA,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG;;IAG3D,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAC7D,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CACrC,CAAC,SAAS,CAAC,CAAC,IAAG;AACd,gBAAA,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,EAAE;oBAC1D,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS;;aAElC,CAAC,CACH;AACH,SAAC,CAAC;;8GA1BO,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,6FCnB/B,4pBAeM,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,CAAA,CAAA;;2FDIO,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,EAAE,EAAA,QAAA,EAAA,4pBAAA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/root/hrm-schema/hrm-schema.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/root/hrm-schema/hrm-schema.component.html"],"sourcesContent":["import { AfterViewInit, Component, inject } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { BaseComponent } from '../../libraries/base-component/base/base.component';\r\nimport { finalize } from 'rxjs';\r\n\r\ninterface SchemaReport {\r\n name: string;\r\n success: boolean;\r\n durationMs: number;\r\n logs: string[];\r\n errors: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'hrm-schema',\r\n imports: [],\r\n templateUrl: './hrm-schema.component.html',\r\n styleUrl: './hrm-schema.component.scss'\r\n})\r\nexport class HrmSchemaComponent extends BaseComponent implements AfterViewInit {\r\n reports: SchemaReport[] = [];\r\n loading: boolean = false;\r\n appService = inject(AppService)\r\n\r\n get maxDuration(): number {\r\n return this.reports.length ? Math.max(...this.reports.map(r => r.durationMs)) : 1;\r\n }\r\n\r\n // Scale bar width as percentage\r\n getWidth(report: SchemaReport): string {\r\n return `${(report.durationMs / this.maxDuration) * 100}%`;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.loading = true;\r\n this.subscriptions.push(\r\n this.appService.get('/api/HrmSchemaEssential/SchemaCheck').pipe(\r\n finalize(() => this.loading = false)\r\n ).subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n this.reports = x.body.innerBody;\r\n }\r\n })\r\n )\r\n })\r\n }\r\n}\r\n","\r\n<div class=\"container-fluid\">\r\n <div class=\"schema-bar-chart\">\r\n @for (r of reports; track $index) {\r\n <div class=\"schema-bar-row\">\r\n <div class=\"schema-label\">{{ r.name }}</div>\r\n <div class=\"schema-bar-wrapper\">\r\n <div class=\"schema-bar\" [class.success]=\"r.success\" [class.fail]=\"!r.success\" [style.width]=\"getWidth(r)\"\r\n [title]=\"r.durationMs + ' ms\\n' + (r.errors.length ? r.errors.join('; ') : 'OK')\">\r\n {{ r.durationMs }} ms\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>"],"names":[],"mappings":";;;;;AAmBM,MAAO,kBAAmB,SAAQ,aAAa,CAAA;AANrD,IAAA,WAAA,GAAA;;QAOE,IAAO,CAAA,OAAA,GAAmB,EAAE;QAC5B,IAAO,CAAA,OAAA,GAAY,KAAK;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAyBhC;AAvBC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;;;AAInF,IAAA,QAAQ,CAAC,MAAoB,EAAA;AAC3B,QAAA,OAAO,CAAG,EAAA,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG;;IAG3D,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAC7D,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CACrC,CAAC,SAAS,CAAC,CAAC,IAAG;AACd,gBAAA,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,EAAE;oBAC1D,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS;;aAElC,CAAC,CACH;AACH,SAAC,CAAC;;8GA1BO,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,6FCnB/B,4pBAeM,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,CAAA,CAAA;;2FDIO,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,EAAE,EAAA,QAAA,EAAA,4pBAAA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, signal, computed, isDevMode, inject, HostListener, ChangeDetectionStrategy, Component, output, ChangeDetectorRef, Injector, effect } from '@angular/core';
3
- import { B as BaseComponent, aa as EnumImageResolverType, m as CoreWorkflowService, o as CoreFormService, b as AlertService, a as AppConfigService, v as alertOptions, M as MultiLanguageService, e as TranslatePipe, I as ImageErrorResolverDirective, ab as NormalizeHumanNamePipe, T as TooltipDirective, ac as CoreIosSwitcherComponent, c as CoreTerminalSpinnerComponent, d as CorePageHeaderComponent, z as DomService, O as CoreParamControlComponent, x as CoreFormDesignService, U as ApplicationHelpService, Z as JsonService, A as AppService, i as EnumFormBaseContolType, W as EnumCorePageEditMode, _ as EnumCoreButtonVNSCode, n as EnumCoreFormControlSeekerSourceType, V as HotKeysDirective, X as CoreFormComponent, a7 as JsonSafePipe } from './ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs';
3
+ import { B as BaseComponent, aa as EnumImageResolverType, m as CoreWorkflowService, o as CoreFormService, b as AlertService, a as AppConfigService, v as alertOptions, M as MultiLanguageService, e as TranslatePipe, I as ImageErrorResolverDirective, ab as NormalizeHumanNamePipe, T as TooltipDirective, ac as CoreIosSwitcherComponent, c as CoreTerminalSpinnerComponent, d as CorePageHeaderComponent, z as DomService, O as CoreParamControlComponent, x as CoreFormDesignService, U as ApplicationHelpService, Z as JsonService, A as AppService, i as EnumFormBaseContolType, W as EnumCorePageEditMode, _ as EnumCoreButtonVNSCode, n as EnumCoreFormControlSeekerSourceType, V as HotKeysDirective, X as CoreFormComponent, a7 as JsonSafePipe } from './ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs';
4
4
  import { catchError, of, finalize, BehaviorSubject, filter, distinctUntilChanged, tap } from 'rxjs';
5
5
  import { NgClass, JsonPipe, NgStyle } from '@angular/common';
6
6
  import { RouterLink, Router, ActivatedRoute } from '@angular/router';
@@ -358,13 +358,15 @@ class LiveFormComponent extends BaseComponent {
358
358
  this.$effectiveSections = computed(() => {
359
359
  const raw = this.$inputSections();
360
360
  // CHÌA KHÓA VÀNG
361
- const steps = this.wfs.$currentSteps();
362
- const step = steps?.[0]; // Kickoff & React đều đúng
363
- if (!step)
364
- return raw;
365
- const formUi = step.config?.formUi;
366
- if (!formUi)
361
+ //const steps = this.wfs.$currentSteps();
362
+ //const step = steps?.[0]; // Kickoff & React đều đúng
363
+ //if (!step) return raw;
364
+ const formUi = this.$workflowReactContext()?.stepFormConfig?.formUi;
365
+ if (!formUi) {
366
+ console.log("[$effectiveSections computed]: formUi was undefined");
367
367
  return raw;
368
+ }
369
+ console.log("[$effectiveSections computed]: Calling applyFormUi()", raw, formUi);
368
370
  return this.applyFormUi(raw, formUi);
369
371
  });
370
372
  // 🔁 Reactive bindings
@@ -615,6 +617,7 @@ class LiveFormComponent extends BaseComponent {
615
617
  const instance = this.coreFormDesignService.mapFromAfInstanceDTO(afInstanceDto);
616
618
  instance.sections = this.coreFormDesignService.toCoreFormSections(instance.formDesignSections);
617
619
  this.$afInstance.set(instance);
620
+ console.log("this.$inputSections being merged wuth:", instance.sections);
618
621
  this.$inputSections.set([...instance.sections, ...this.$inputSections()]);
619
622
  this.$normalMode.set(instance.normalMode);
620
623
  this.$submitApi.set(instance.submitApi);
@@ -848,7 +851,10 @@ class LiveFormComponent extends BaseComponent {
848
851
  const hidden = formUi.hidden ?? {};
849
852
  const readonly = formUi.readonly ?? {};
850
853
  const required = formUi.required ?? {};
851
- return sections.map(sec => ({
854
+ console.log("[applyFormUi] hidden", hidden);
855
+ console.log("[applyFormUi] readonly", readonly);
856
+ console.log("[applyFormUi] required", required);
857
+ const sectionsTransformed = sections.map(sec => ({
852
858
  ...sec,
853
859
  rows: sec.rows.map(row => row.map(ctrl => {
854
860
  const c = { ...ctrl };
@@ -881,6 +887,8 @@ class LiveFormComponent extends BaseComponent {
881
887
  return c;
882
888
  }))
883
889
  }));
890
+ console.log("[applyFormUi] sectionsTransformed", sectionsTransformed);
891
+ return sectionsTransformed;
884
892
  }
885
893
  ngOnDestroy() {
886
894
  this.subscriptions.forEach(x => x?.unsubscribe());
@@ -908,4 +916,4 @@ var liveForm_component = /*#__PURE__*/Object.freeze({
908
916
  });
909
917
 
910
918
  export { LiveFormComponent as L, RoutingPreviewPanelComponent as R, liveForm_component as l };
911
- //# sourceMappingURL=ngx-histaff-alpha-live-form.component-LdFysTvc.mjs.map
919
+ //# sourceMappingURL=ngx-histaff-alpha-live-form.component-x08G6uI3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-histaff-alpha-live-form.component-x08G6uI3.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/routing-preview/routing-preview.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/routing-preview/routing-preview.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/routing-preview-panel/routing-preview-panel.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/routing-preview-panel/routing-preview-panel.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-form-design/live-form/live-form.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-form-design/live-form/live-form.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, HostListener, inject, input, isDevMode, signal, WritableSignal } from '@angular/core';\r\nimport { IRoutingResult } from '../interfaces/IRoutingResult';\r\nimport { TranslatePipe } from '../../../app-pipes/translate.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { EnumImageResolverType, ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { IGenerateWorkflowRoutingRequest } from '../interfaces/IGenerateWorkflowRoutingRequest';\r\nimport { catchError, of, tap, finalize } from 'rxjs';\r\nimport { NormalizeHumanNamePipe } from '../../pipes/normalize-human-name.pipe';\r\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { CoreIosSwitcherComponent } from '../../core-ios-switcher/core-ios-switcher/core-ios-switcher.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { JsonPipe, NgClass } from '@angular/common';\r\nimport { AppConfigService } from '../../../services/app-config.service';\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate\r\n} from '@angular/animations';\r\nimport { IInitialDebugSubmitRequest } from '../interfaces/IInitialDebugSubmitRequest';\r\nimport { IRenderWorkflowEmailRequest } from '../interfaces/IRenderWorkflowEmailRequest';\r\nimport { IPlannedActor } from '../interfaces/IPlannedActor';\r\nimport { CoreTerminalSpinnerComponent } from '../../core-terminal-spinner/core-terminal-spinner.component';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { RouterLink } from '@angular/router';\r\nimport { ISubmitResult } from '../interfaces/ISubmitResult';\r\nimport { CoreFormService } from '../../core-form/core-form.service';\r\nimport { IRoutingStep } from '../interfaces/IRoutingStep';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'routing-preview',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n FormsModule,\r\n RouterLink,\r\n NgClass,\r\n JsonPipe,\r\n TranslatePipe,\r\n ImageErrorResolverDirective,\r\n NormalizeHumanNamePipe,\r\n TooltipDirective,\r\n CoreIosSwitcherComponent,\r\n CoreTerminalSpinnerComponent,\r\n CorePageHeaderComponent\r\n ],\r\n templateUrl: './routing-preview.component.html',\r\n styleUrl: './routing-preview.component.scss',\r\n animations: [\r\n trigger('fadeToggle', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate('200ms ease-out', style({ opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n animate('150ms ease-in', style({ opacity: 0 }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class RoutingPreviewComponent extends BaseComponent {\r\n\r\n $previewMode = input<boolean>(true);\r\n $loading = signal(false);\r\n $loadingMessage = signal('');\r\n $backendMessage = signal('');\r\n $submitResult = signal<ISubmitResult | null>(null);\r\n\r\n $submitErrors = computed(() => {\r\n const submitResult = this.$submitResult();\r\n return submitResult?.items.map(x => x.error)\r\n })\r\n\r\n $results: WritableSignal<IRoutingResult[]> = signal([]);\r\n $logExpandedStates: WritableSignal<boolean[]> = signal([]);\r\n $logs: WritableSignal<string[]> = signal([]);\r\n imageResolverType = EnumImageResolverType.AVATAR;\r\n\r\n isDevMode = isDevMode();\r\n\r\n $isDebugMode = signal(false);\r\n $showResolvedSteps = signal(false);\r\n $showEmailPreview = signal(false);\r\n $emailSubject = signal('');\r\n $emailBody = signal('');\r\n\r\n //$resolvedStepsJson = computed(() => JSON.stringify(this.$steps(), null, 2));\r\n\r\n wfs = inject(CoreWorkflowService);\r\n cfs = inject(CoreFormService);\r\n as = inject(AlertService);\r\n public appConfigService = inject(AppConfigService);\r\n\r\n liveForm = this.wfs.liveForm;\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n handleKeyDown(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.wfs.$showLiveRouting.set(false);\r\n }\r\n }\r\n\r\n getGroupSubmitErrors(index: number): string[] {\r\n if (!this.$submitResult()) return [];\r\n return this.$submitResult()!.items.filter(x => !!x.error && !!x.error.length).map(x => x.error!)\r\n }\r\n\r\n generateRouting(): void {\r\n\r\n const steps = this.wfs.$currentSteps();\r\n\r\n const nameMap = new Map<string, number>();\r\n\r\n for (const step of steps) {\r\n const name = step.name?.trim();\r\n if (!name) continue;\r\n\r\n nameMap.set(name, (nameMap.get(name) ?? 0) + 1);\r\n }\r\n\r\n const duplicateNames = [...nameMap.entries()]\r\n .filter(([_, count]) => count > 1)\r\n .map(([name]) => name);\r\n\r\n if (duplicateNames.length > 0) {\r\n this.as.warn(\r\n `Duplicate step name(s) found: ${duplicateNames.join(\", \")}`,\r\n alertOptions\r\n );\r\n this.wfs.$designActiveTab.set(3);\r\n return;\r\n }\r\n\r\n\r\n if (!this.liveForm.valid) {\r\n this.wfs.liveFormCheckError$.next(true);\r\n setTimeout(() => this.wfs.liveFormCheckError$.next(false), 5000);\r\n this.as.info(\"Please fill required fields\", alertOptions);\r\n return;\r\n }\r\n\r\n if (!this.wfs.$currentFlow()) {\r\n this.as.info(\"No flow detected\", alertOptions);\r\n return;\r\n }\r\n\r\n const request: IGenerateWorkflowRoutingRequest = {\r\n workflowId: this.wfs.$currentFlow()?.id!,\r\n attributes: this.cfs.getAttributesWithWys(this.liveForm),\r\n ___targetEmployees: this.liveForm.get('___targetEmployees')?.getRawValue()\r\n };\r\n\r\n this.$backendMessage.set('');\r\n this.$loading.set(true);\r\n this.$loadingMessage.set(\"Generating routes...\")\r\n\r\n this.wfs.generateRouting(request).pipe(\r\n catchError(err => {\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 this.$backendMessage.set(msg);\r\n return of({ ok: false, status: 500, body: { messageCode: msg } as IFormatedResponse});\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false);\r\n this.$loadingMessage.set('');\r\n })\r\n ).subscribe(x => {\r\n\r\n if (x.ok && x.status === 200) {\r\n const body = x.body;\r\n\r\n if (body?.statusCode === 200) {\r\n const inner = body.innerBody;\r\n\r\n this.$logs.set(inner.logs ?? []);\r\n\r\n const backendResults = inner.results as IRoutingResult[];\r\n\r\n const validResults: IRoutingResult[] = [];\r\n const allErrors: string[] = [];\r\n\r\n for (const result of backendResults) {\r\n const { targetEmployeeId, targetEmployeeFullName, error, response } = result;\r\n\r\n if (error || !response) {\r\n allErrors.push(`🚫 Employee ${targetEmployeeId} (${targetEmployeeFullName}): ${error || 'Unknown error'}`);\r\n continue;\r\n }\r\n\r\n // Ensure deep cloning or normalization if needed\r\n response.steps = response.steps.map(step => ({\r\n id: step.id,\r\n workflowId: step.workflowId,\r\n name: step.name,\r\n type: step.type,\r\n config: step.config,\r\n resolvedActors: step.resolvedActors\r\n }));\r\n\r\n validResults.push(result);\r\n\r\n // Patch latest attributes (or collect per-employee if needed)\r\n this.liveForm.patchValue(response.attributes);\r\n }\r\n\r\n this.$results.set(validResults);\r\n this.$logExpandedStates.set(new Array(validResults.length).fill(false));\r\n this.$backendMessage.set(allErrors.join('\\n'));\r\n\r\n } else {\r\n this.$backendMessage.set(body?.messageCode || 'UNEXPECTED_ERROR');\r\n }\r\n\r\n } else {\r\n this.$backendMessage.set('API_ERROR');\r\n }\r\n });\r\n\r\n }\r\n\r\n initialDebugSubmit(): void {\r\n const request: IInitialDebugSubmitRequest = {\r\n workflowId: this.wfs.$currentFlow()?.id!,\r\n attributes: this.cfs.getAttributesWithWys(this.liveForm), //this.liveForm.getRawValue(),\r\n results: this.$results()\r\n };\r\n\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.initialDebugSubmit(request)\r\n .pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of({ ok: false, status: 500, body: { messageCode: \"Error\" } });\r\n }),\r\n finalize(() => this.$loading.set(false))\r\n )\r\n .subscribe(x => {\r\n\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n this.$submitResult.set(x.body.innerBody);\r\n }\r\n })\r\n );\r\n }\r\n\r\n\r\n backToLiveForm(): void {\r\n this.wfs.$showLiveRouting.set(false);\r\n }\r\n\r\n onIsDebugModeChange(value: boolean): void {\r\n this.$isDebugMode.set(value);\r\n }\r\n\r\n toggleResolvedSteps(): void {\r\n this.$showResolvedSteps.set(!this.$showResolvedSteps());\r\n }\r\n\r\n\r\n onEmailChange(actor: IPlannedActor, email: string): void {\r\n this.$results.update(current => {\r\n current.forEach(stepGroup => {\r\n stepGroup.response?.steps.forEach(step => {\r\n step.resolvedActors\r\n .filter(a => a.employeeId === actor.employeeId)\r\n .forEach(a => a.email = email);\r\n });\r\n });\r\n return current;\r\n });\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 toggleLog(index: number): void {\r\n this.$logExpandedStates.update(arr => {\r\n const newArr = [...arr];\r\n newArr[index] = !newArr[index];\r\n return newArr;\r\n });\r\n }\r\n\r\n isLogVisible(index: number): boolean {\r\n return this.$logExpandedStates()?.[index] ?? false;\r\n }\r\n\r\n onActorToolClick(step: IRoutingStep,actor: IPlannedActor): void {\r\n const results = this.$results();\r\n results.forEach(r => {\r\n r.response.steps.forEach(s => {\r\n s.resolvedActors.forEach(a => {\r\n if (!(s.id === step.id && a.employeeId === actor.employeeId)) {\r\n a.debugToolOpen = false;\r\n } else {\r\n a.debugToolOpen = !a.debugToolOpen;\r\n }\r\n })\r\n })\r\n })\r\n this.$results.set(results);\r\n }\r\n\r\n getLogLinesFor(index: number): string[] {\r\n const logs = this.$logs();\r\n const prefix = `on behalf of`;\r\n const match = `#${index}`;\r\n return logs.filter(line => line.includes(prefix) ? line.includes(match) : true);\r\n }\r\n\r\n getCorrelationId(result: IRoutingResult): string | null {\r\n const filter = this.$submitResult()?.items?.filter(i => i.employeeId == result.targetEmployeeId);\r\n if (!!filter && !!filter.length) {\r\n return filter[0].correlationId;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n previewEmail(templateType: 'SUBMIT' | 'REACT' | 'FULLY_APPROVE' | 'REJECT' | 'CANCEL' | 'TERMINATE' | 'REVOKE' | 'CC', correlationId: string, actorFullName: string): void {\r\n if (!this.wfs.$currentFlow()) {\r\n return;\r\n }\r\n const request: IRenderWorkflowEmailRequest = {\r\n workflowId: this.wfs.$currentFlow()!.id,\r\n templateType,\r\n correlationId,\r\n actorFullName\r\n }\r\n\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.generatePreviewEmail(request)\r\n .pipe(\r\n finalize(() => this.$loading.set(false))\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.body?.statusCode === 200) {\r\n this.$emailSubject.set(x.body.innerBody.subject)\r\n this.$emailBody.set(x.body.innerBody.body)\r\n this.$showEmailPreview.set(true);\r\n }\r\n })\r\n )\r\n }\r\n\r\n onCloseEmailPreview(): void {\r\n this.$showEmailPreview.set(false);\r\n }\r\n\r\n}","<div class=\"routing-preview-container inter-font p-relative\">\r\n\r\n <div class=\"correlation-id\">\r\n </div>\r\n\r\n <div class=\"routing-preview-header\">\r\n\r\n <div class=\"button-group\">\r\n <button type=\"button\" class=\"btn btn-primary h35\" (click)=\"backToLiveForm()\">Back to Form (ESC)</button>\r\n <button type=\"button\" class=\"btn btn-secondary h35\" (click)=\"generateRouting()\">Generate</button>\r\n <button @fadeToggle type=\"button\" class=\"btn btn-primary h35\" (click)=\"initialDebugSubmit()\">Submit</button>\r\n </div>\r\n\r\n @if (!!appConfigService.WORKFLOW_ENABLE_DEBUG_MODE) {\r\n <div class=\"debug-group\">\r\n <label>Debug mode</label>\r\n <core-ios-switcher [width]=\"45\" [showOnOffText]=\"false\" [ngModel]=\"$isDebugMode()\"\r\n (ngModelChange)=\"onIsDebugModeChange($event)\"></core-ios-switcher>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"workflows-wrapper\">\r\n @if ($loading()) {\r\n <core-terminal-spinner /><span>Generating...</span>\r\n } @else {\r\n\r\n\r\n @if (!!$results().length) {\r\n\r\n @for (result of $results(); track $index; let resultIndex = $index) {\r\n\r\n <div class=\"result-group mb-8 p-4 rounded bg-white shadow-sm\">\r\n\r\n <div class=\"flex items-center justify-between mb-3\">\r\n <h6 class=\"text-base font-semibold text-sky-700\">Routing for {{ result.targetEmployeeFullName }}</h6>\r\n <div class=\"d-flex d-flex-between\">\r\n <button type=\"button\" class=\"text-xs text-blue-500 underline btn btn-secondary\" (click)=\"toggleLog($index)\">\r\n {{ $logExpandedStates()[ $index ] ? 'Hide log' : 'Show log' }}\r\n </button>\r\n @if ($loading()) {\r\n <core-terminal-spinner />\r\n }\r\n @for (result of $submitResult()?.items || []; track result.employeeId) {\r\n <div class=\"saga-link d-flex d-flex-start\">\r\n <label>{{ result.employeeFullName }}:</label>\r\n\r\n @if (result.correlationId) {\r\n <a class=\"external-link\" [routerLink]=\"['/root/workflow/status', result.correlationId]\">\r\n ✅ Click to see status\r\n </a>\r\n } @else {\r\n <span class=\"text-danger d-flex flex-column\">\r\n @for (line of (result.error?.split('\\n') || []); track line) {\r\n <div>❌ {{ line }}</div>\r\n }\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"workflow-wrapper\">\r\n\r\n @for (step of result.response.steps! ?? []; track step.id) {\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.resolvedActors?.length || 0\">\r\n\r\n <div class=\"step-column-aux\">\r\n\r\n <div class=\"step-header {{ step.type.toLowerCase() }}\"\r\n [ngClass]=\"(step.actorResolvedStatus ?? 'RESOLVED').toLowerCase()\">\r\n {{ step.name | translate : lang }} {{ step.config?.routingLogic }}\r\n </div>\r\n\r\n @for (actor of step.resolvedActors; track $index) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.type.toLowerCase() }}\">\r\n <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.avatar\" appImageErrorResolver [type]=\"imageResolverType\"\r\n [isFemale]=\"!!actor.isFemale!\" class=\"actor-avatar\" alt=\"{{ actor.fullName }}\" />\r\n @if ($isDebugMode() && !!$submitResult() && !!$submitResult()?.items) {\r\n <div @fadeToggle class=\"actor-tool\" [appTooltip]=\"!actor.debugToolOpen ? 'Dubug tool' : ''\" [position]=\"'right'\" (click)=\"onActorToolClick(step, actor)\">\r\n <i class=\"feather-more-horizontal\"></i>\r\n @if (!!actor.debugToolOpen) {\r\n <ul class=\"actor-tool-list\">\r\n @switch (step.type) {\r\n @case ('Submit') {\r\n <li (click)=\"previewEmail('SUBMIT', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview Submit email</li>\r\n }\r\n @case ('CC') {\r\n <li (click)=\"previewEmail('CC', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview CC email</li>\r\n }\r\n @case ('Approval') {\r\n <li (click)=\"previewEmail('REACT', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview React email</li>\r\n }\r\n @case ('End') {\r\n <li (click)=\"previewEmail('FULLY_APPROVE', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview FullyAppoved email</li>\r\n <li (click)=\"previewEmail('REJECT', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview Rejected email</li>\r\n <li (click)=\"previewEmail('CANCEL', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview Cancelled email</li>\r\n <li (click)=\"previewEmail('TERMINATE', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview Terminated email</li>\r\n <li (click)=\"previewEmail('REVOKE', $submitResult()?.items?.[resultIndex]?.correlationId!, actor.fullName)\">Preview Revoked email</li>\r\n }\r\n }\r\n </ul>\r\n }\r\n </div>\r\n }\r\n </div>\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\" [appTooltip]=\"actor.fullName\">{{ actor.fullName | normalizeHumanName\r\n }}</span>\r\n </div>\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [appTooltip]=\"actor.jobName\">{{ actor.jobName }}</span>\r\n </div>\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n @if ($isDebugMode()) {\r\n <input @fadeToggle class=\"email-debug-input\" type=\"email\" [(ngModel)]=\"actor.email\"\r\n (ngModelChange)=\"onEmailChange(actor, $event)\" placeholder=\"Enter demo email\" />\r\n } @else {\r\n <span [appTooltip]=\"actor.email\">{{ actor.email }}</span>\r\n }\r\n </div>\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span @fadeToggle [appTooltip]=\"actor.employeeCode\">{{ actor.employeeCode }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!!$submitErrors() && !!$submitErrors()!.length) {\r\n <pre>\r\n <span>{{ $submitErrors()![$index] }}</span>\r\n </pre>\r\n }\r\n\r\n @if (isLogVisible($index)) {\r\n <pre class=\"employee-log mt-4 bg-gray-50 p-3 rounded text-xs font-mono text-gray-800\">\r\n @for (line of getLogLinesFor($index); track $index) {\r\n {{ line }}\r\n }\r\n </pre>\r\n }\r\n\r\n </div>\r\n\r\n }\r\n\r\n } @else if (!!$backendMessage()) {\r\n\r\n <div class=\"backend-message error-list bg-red-50 rounded p-4 text-sm text-red-800 leading-relaxed\">\r\n @for (line of $backendMessage().split('\\n'); track $index) {\r\n <div class=\"error-item flex items-start gap-2\">\r\n <i class=\"feather-alert-circle text-red-600 mt-0.5\"></i>\r\n <span [innerText]=\"line\"></span>\r\n </div>\r\n }\r\n </div>\r\n\r\n } @else {\r\n No routing steps found.\r\n }\r\n\r\n\r\n }\r\n\r\n </div>\r\n\r\n @if ($showResolvedSteps()) {\r\n <h5>Resolved steps</h5>\r\n <div class=\"resolved-steps\">\r\n <!-- <pre>{{ $resolvedStepsJson() }}</pre> -->\r\n </div>\r\n }\r\n\r\n @if ($showEmailPreview()) {\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"email-preview\">\r\n <div class=\"email-header\">\r\n PREVIEW\r\n <div class=\"close-wrapper\">\r\n <i class=\"feather-x\" (click)=\"onCloseEmailPreview()\"></i>\r\n </div>\r\n </div>\r\n <div class=\"email-subject\" [innerHtml]=\"$emailSubject()\"></div>\r\n <div class=\"email-body\" [innerHtml]=\"$emailBody()\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>","import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { CoreParamControlComponent } from '../../core-param-control/core-param-control/core-param-control.component';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { DomService } from '../../services/dom.service';\r\nimport { NgStyle } from '@angular/common';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { RoutingPreviewComponent } from '../routing-preview/routing-preview.component';\r\n\r\n@Component({\r\n selector: 'routing-preview-panel',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle,\r\n CoreParamControlComponent,\r\n RoutingPreviewComponent\r\n ],\r\n templateUrl: './routing-preview-panel.component.html',\r\n styleUrl: './routing-preview-panel.component.scss'\r\n})\r\nexport class RoutingPreviewPanelComponent extends BaseComponent {\r\n\r\n $minWidth = input<number | undefined>();\r\n\r\n public wfs = inject(CoreWorkflowService);\r\n ds = inject(DomService);\r\n as = inject(AlertService);\r\n\r\n employeeId: number | undefined = undefined;\r\n\r\n seekerClick$ = new BehaviorSubject<any>(0);\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n this.subscriptions.forEach(x => x?.unsubscribe());\r\n }\r\n\r\n}\r\n","<div class=\"routing-preview-panel-container\" [ngStyle]=\"{\r\n minWidth: $minWidth() ? $minWidth() + 'px' : 'unset'\r\n}\">\r\n \r\n <!-- <div class=\"param-wrapper\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"generateRouting()\">Generate Routing</button>\r\n </div> -->\r\n\r\n <routing-preview />\r\n \r\n\r\n <!-- <div class=\"graph-wrapper\">\r\n <svg id=\"routing-graph\" width=\"100%\"></svg>\r\n </div> -->\r\n\r\n</div>","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, Injector, inject, input, isDevMode, output, signal, effect, WritableSignal } from '@angular/core';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreFormComponent } from '../../core-form/core-form/core-form.component';\r\nimport { BehaviorSubject, catchError, distinctUntilChanged, filter, finalize, of, tap } from 'rxjs';\r\nimport { EnumCorePageEditMode } from '../../core-page-edit/EnumCorePageEditMode';\r\nimport { CoreFormDesignService } from '../core-form-design.service';\r\nimport { TranslatePipe } from '../../../app-pipes/translate.pipe';\r\nimport { NgStyle } from '@angular/common';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CoreWorkflowService } from '../../core-workflow-builder/core-workflow.service';\r\nimport { IAfInstance } from '../interfaces';\r\nimport { ICoreFormSection, IFormBaseControl, IValidator } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { HotKeysDirective } from '../../../directives/hot-keys.directive';\r\nimport { ApplicationHelpService } from '../../../services/application-help.service';\r\nimport { IWfWorkflow } from '../../core-workflow-builder/interfaces/IWfWorkflow';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { RoutingPreviewPanelComponent } from '../../core-workflow-builder/routing-preview-panel/routing-preview-panel.component';\r\nimport { DomService } from '../../services/dom.service';\r\nimport { CoreFormService } from '../../core-form/core-form.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { AppConfigService } from '../../../services/app-config.service';\r\nimport { JsonService } from '../../../services/json.service';\r\nimport { EnumCoreFormControlSeekerSourceType } from '../../core-form-control-seeker/EnumCoreFormControlSeekerSourceType';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { EnumCoreButtonVNSCode } from '../../core-button-group-vns/core-button-group-vns/EnumCoreButtonVNSCode';\r\nimport { IWorkflowReactContext } from '../../core-workflow-builder/interfaces/IWorkflowReactContext';\r\nimport { ISubmitResult } from '../../core-workflow-builder/interfaces/ISubmitResult';\r\nimport { IGenerateWorkflowRoutingRequest } from '../../core-workflow-builder/interfaces/IGenerateWorkflowRoutingRequest';\r\nimport { IRoutingResult } from '../../core-workflow-builder/interfaces/IRoutingResult';\r\nimport { ISubmitResponseItem } from '../../core-workflow-builder/interfaces/ISubmitResponseItem';\r\nimport { JsonSafePipe } from '../json-safe.pipe';\r\nimport { FormUi, IStepFormConfig } from '../../core-workflow-builder/interfaces/IStepConfig';\r\nimport { EnumTranslateKey } from 'alpha-global-constants';\r\n\r\n@Component({\r\n selector: 'live-form',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle,\r\n JsonSafePipe,\r\n HotKeysDirective,\r\n RoutingPreviewPanelComponent,\r\n CorePageHeaderComponent,\r\n CoreFormComponent,\r\n TranslatePipe,\r\n\r\n ],\r\n templateUrl: './live-form.component.html',\r\n styleUrl: './live-form.component.scss'\r\n})\r\nexport class LiveFormComponent extends BaseComponent implements AfterViewInit {\r\n\r\n $designMode = input<boolean>(false);\r\n $forKickOff = input<boolean>();\r\n\r\n $workflowReactContext = input<IWorkflowReactContext | null>(null);\r\n $form = signal<FormGroup | null>(null);\r\n\r\n\r\n $onClose = output();\r\n $loading = signal<boolean>(false);\r\n $showAfInstanceJson = signal<boolean>(false);\r\n $showWfWorkflowJson = signal<boolean>(false);\r\n $logExpandedStates: WritableSignal<boolean[]> = signal([]);\r\n\r\n $backendMessage = signal('');\r\n $loadingMessage = signal('');\r\n $logs = signal<string[]>([]);\r\n $results: WritableSignal<IRoutingResult[]> = signal([]);\r\n\r\n workflowId: string | undefined;\r\n\r\n public coreFormDesignService = inject(CoreFormDesignService);\r\n applicationHelpService = inject(ApplicationHelpService);\r\n ds = inject(DomService);\r\n public wfs = inject(CoreWorkflowService);\r\n fds = inject(CoreFormDesignService);\r\n js = inject(JsonService);\r\n cdr = inject(ChangeDetectorRef);\r\n router = inject(Router);\r\n route = inject(ActivatedRoute);\r\n alertService = inject(AlertService);\r\n appService = inject(AppService);\r\n cfs = inject(CoreFormService);\r\n appConfigService = inject(AppConfigService);\r\n injector = inject(Injector);\r\n\r\n isDevMode = isDevMode();\r\n $previewMode = signal(false);\r\n\r\n $employeeSubmiterId = signal(0);\r\n\r\n simulatedEmployee$ = new BehaviorSubject<any>(null);\r\n\r\n $showLiveRouting = this.wfs.$showLiveRouting;\r\n\r\n\r\n $zIndex = signal(0);\r\n\r\n $reactMode = signal(false);\r\n\r\n $onBehalfMode = computed(() => this.$workflow()?.allowOnBehalf)\r\n\r\n $reactInjectedFieldsAdded = signal(false);\r\n\r\n $effectiveSections = computed<ICoreFormSection[]>(() => {\r\n const raw = this.$inputSections();\r\n\r\n // CHÌA KHÓA VÀNG\r\n //const steps = this.wfs.$currentSteps();\r\n //const step = steps?.[0]; // Kickoff & React đều đúng\r\n\r\n //if (!step) return raw;\r\n\r\n const formUi = this.$workflowReactContext()?.stepFormConfig?.formUi;\r\n if (!formUi) {\r\n console.log(\"[$effectiveSections computed]: formUi was undefined\"); \r\n return raw;\r\n }\r\n\r\n console.log(\"[$effectiveSections computed]: Calling applyFormUi()\", raw, formUi);\r\n return this.applyFormUi(raw, formUi);\r\n\r\n });\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private coreFormService: CoreFormService\r\n ) {\r\n super(mls);\r\n\r\n effect(() => {\r\n const context = this.$workflowReactContext();\r\n const form = this.$form();\r\n\r\n if (!context || !form) return;\r\n\r\n try {\r\n\r\n const attributesJson = context.instance.attributesJson;\r\n const formValue = JSON.parse(attributesJson);\r\n\r\n // 🔑 Ensure FormArrays have correct length BEFORE patching\r\n this.cfs.ensureFormArraysMatch(\r\n this.wfs.liveForm,\r\n formValue,\r\n this.cfs.formArrayConfigMap\r\n );\r\n\r\n console.log(\"this.wfs.liveForm.patchValue(formValue)\", formValue);\r\n this.wfs.liveForm.patchValue(formValue);\r\n\r\n\r\n } catch (err: any) {\r\n if (isDevMode()) {\r\n this.alertService.error(err?.message || \"Error while set value for the context\");\r\n }\r\n }\r\n })\r\n\r\n const navigation = this.router.getCurrentNavigation();\r\n const previewMode = navigation?.extras?.state?.['previewMode'];\r\n this.$previewMode.set(previewMode ?? false);\r\n\r\n this.subscriptions.push(\r\n this.simulatedEmployee$.pipe(\r\n filter(x => !!x)\r\n ).subscribe(x => {\r\n this.wfs.$simulatedEmployee.set(x);\r\n })\r\n )\r\n\r\n this.subscriptions.push(\r\n this.route.params.subscribe(p => {\r\n const rawId = p['id'];\r\n\r\n if (rawId && rawId.includes('___')) {\r\n const parts = rawId.split('___');\r\n\r\n if (parts.length === 4) {\r\n const [workflowId] = parts;\r\n this.workflowId = workflowId;\r\n this.$customButtons.set([\r\n EnumCoreButtonVNSCode.NONE_HEADER_CANCEL,\r\n EnumCoreButtonVNSCode.NONE_HEADER_REJECT,\r\n EnumCoreButtonVNSCode.NONE_HEADER_APPROVE\r\n ])\r\n this.$reactMode.set(true);\r\n this.clearInjectedFields();\r\n // this.makeOriginReadonly();\r\n //this.addReactInjectedFields();\r\n }\r\n } else {\r\n\r\n this.$reactMode.set(false);\r\n\r\n this.$customButtons.set([\r\n EnumCoreButtonVNSCode.NONE_HEADER_CANCEL,\r\n EnumCoreButtonVNSCode.NONE_HEADER_SEND\r\n ])\r\n\r\n const preview = this.route.snapshot.queryParamMap.get('preview');\r\n const isPreviewMode = preview === 'true';\r\n if (isPreviewMode) {\r\n // This route is inside the (preview:) outlet\r\n this.workflowId = this.route.parent?.snapshot.params['id'];\r\n } else {\r\n // Not preview mode → Get workflowId from parent route\r\n const id = this.route.snapshot.params['id'];\r\n this.workflowId = id;\r\n }\r\n }\r\n })\r\n );\r\n\r\n }\r\n\r\n generateSubmitDto(): any {\r\n return {};\r\n }\r\n\r\n toggleShowRouting(): void {\r\n if (!this.$showLiveRouting() && !!this.wfs.liveForm.invalid) {\r\n this.alertService.info(\"The form value is invalid\", alertOptions);\r\n this.wfs.liveFormCheckError$.next(true);\r\n setTimeout(() => this.wfs.liveFormCheckError$.next(false), 5000);\r\n return;\r\n }\r\n this.$showLiveRouting.set(!this.$showLiveRouting())\r\n }\r\n\r\n initialSubmit(): void {\r\n const steps = this.wfs.$currentSteps();\r\n\r\n const nameMap = new Map<string, number>();\r\n\r\n for (const step of steps) {\r\n const name = step.name?.trim();\r\n if (!name) continue;\r\n\r\n nameMap.set(name, (nameMap.get(name) ?? 0) + 1);\r\n }\r\n\r\n const duplicateNames = [...nameMap.entries()]\r\n .filter(([_, count]) => count > 1)\r\n .map(([name]) => name);\r\n\r\n if (duplicateNames.length > 0) {\r\n this.alertService.warn(\r\n `Duplicate step name(s) found: ${duplicateNames.join(\", \")}`,\r\n alertOptions\r\n );\r\n this.wfs.$designActiveTab.set(3);\r\n return;\r\n }\r\n\r\n\r\n const form = this.$form();\r\n if (!form || !form.valid) {\r\n const controls = form?.controls ?? {};\r\n const entries = Object.entries(controls);\r\n\r\n const filteredInvalids = entries.filter(([key, ctrl]) => {\r\n if (key === '___submitterEmployeeId') return false; // skip check\r\n return ctrl.invalid;\r\n });\r\n\r\n if (filteredInvalids.length > 0) {\r\n this.wfs.liveFormCheckError$.next(true);\r\n setTimeout(() => this.wfs.liveFormCheckError$.next(false), 5000);\r\n this.alertService.info(\"Please fill required fields\", alertOptions);\r\n return;\r\n }\r\n }\r\n\r\n if (!this.wfs.$currentFlow()) {\r\n this.alertService.info(\"No flow detected\", alertOptions);\r\n return;\r\n }\r\n\r\n const request: IGenerateWorkflowRoutingRequest = {\r\n workflowId: this.wfs.$currentFlow()?.id!,\r\n attributes: this.cfs.getAttributesWithWys(this.$form()!),\r\n ___targetEmployees: this.$form()?.get('___targetEmployees')?.getRawValue()\r\n };\r\n\r\n this.$backendMessage.set('');\r\n this.$loading.set(true);\r\n this.$loadingMessage.set(\"Generating routes...\")\r\n\r\n this.wfs.initialSubmit(request).pipe(\r\n catchError(err => {\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 this.$backendMessage.set(msg);\r\n return of({ ok: false, status: 500, body: { messageCode: msg } });\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false);\r\n this.$loadingMessage.set('');\r\n })\r\n ).subscribe(x => {\r\n\r\n if (x.ok && x.status === 200) {\r\n const body = x.body;\r\n\r\n if (body?.statusCode === 200) {\r\n const inner: ISubmitResult = body.innerBody;\r\n\r\n if (!!inner.violations.length) {\r\n if (this.lang === 'en') {\r\n this.alertService.error(inner.violations[0].messageEnglish);\r\n } else {\r\n this.alertService.error(inner.violations[0].messageDefault);\r\n }\r\n }\r\n\r\n this.$logs.set(inner.logs ?? []);\r\n\r\n const backendResults = inner.items as ISubmitResponseItem[];\r\n\r\n const allErrors: string[] = [];\r\n\r\n for (const result of backendResults) {\r\n\r\n const { employeeId, employeeFullName, correlationId, error } = result;\r\n\r\n if (error || !correlationId) {\r\n allErrors.push(`🚫 Employee ${employeeId} (${employeeFullName}): ${error || 'Unknown error'}`);\r\n continue;\r\n }\r\n\r\n }\r\n\r\n this.$backendMessage.set(allErrors.join('\\n'));\r\n\r\n if (!!allErrors.length) {\r\n this.alertService.error(allErrors[0]);\r\n }\r\n\r\n } else {\r\n this.$backendMessage.set(body?.messageCode || 'UNEXPECTED_ERROR');\r\n }\r\n\r\n } else {\r\n this.$backendMessage.set('API_ERROR');\r\n }\r\n });\r\n }\r\n\r\n\r\n // 🔁 Reactive bindings\r\n $inputSections = signal<ICoreFormSection[]>([\r\n {\r\n rows: [\r\n [\r\n {\r\n field: 'id',\r\n controlType: EnumFormBaseContolType.TEXTBOX,\r\n type: 'string',\r\n flexSize: 0,\r\n hidden: true,\r\n label: '',\r\n value: ''\r\n }\r\n ]\r\n ]\r\n }\r\n ]);\r\n $workflow = this.wfs.$currentFlow;\r\n $afInstance = signal<IAfInstance | undefined>(undefined);\r\n $customButtons = signal<string[] | undefined>(undefined);\r\n $normalMode = signal<boolean | undefined>(undefined);\r\n $submitApi = signal<string | undefined>(undefined);\r\n\r\n $inputSectionsJson = computed(() => {\r\n const clean = this.js.safeTransform(this.$inputSections()).obj;\r\n return JSON.stringify(clean, null, 2);\r\n })\r\n\r\n //removeSignalKeysDeep = this.coreFormDesignService.removeSignalKeysDeep;\r\n\r\n $afInstanceJson = computed(() => {\r\n const instance = this.$afInstance();\r\n //const cleanedInstance = this.removeSignalKeysDeep(instance).obj; // Remove signals or $ fields\r\n const cleanedInstance = this.js.safeTransform(instance).obj; // Remove signals or $ fields\r\n return JSON.stringify(cleanedInstance, null, 2);\r\n\r\n });\r\n\r\n $wfWorkflowJson = computed(() => {\r\n const workflow = this.$workflow();\r\n //const cleanedInstance = this.removeSignalKeysDeep(workflow).obj; // Remove signals or $ fields\r\n const cleanedInstance = this.js.safeTransform(workflow).obj; // Remove signals or $ fields\r\n return JSON.stringify(cleanedInstance, null, 2);\r\n\r\n });\r\n\r\n mode$: BehaviorSubject<EnumCorePageEditMode> = new BehaviorSubject<EnumCorePageEditMode>(EnumCorePageEditMode.CREATE);\r\n\r\n checkError$ = this.wfs.liveFormCheckError$;\r\n\r\n override ngOnInit(): void {\r\n this.subscriptions.push(\r\n this.mls.lang$.subscribe(x => this.lang = x)\r\n )\r\n\r\n // Get query param ?preview=true\r\n const preview = this.route.snapshot.queryParamMap.get('preview');\r\n const isPreviewMode = preview === 'true';\r\n this.$previewMode.set(isPreviewMode);\r\n\r\n if (isDevMode()) {\r\n this.applicationHelpService.activeKey$.pipe(\r\n distinctUntilChanged()\r\n ).subscribe(x => {\r\n switch (x) {\r\n case 'F3':\r\n this.$showAfInstanceJson.set(true);\r\n break;\r\n case 'F6':\r\n this.$showWfWorkflowJson.set(true);\r\n break\r\n case 'Escape':\r\n this.$showAfInstanceJson.set(false);\r\n this.$showWfWorkflowJson.set(false);\r\n break;\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n if (!this.$designMode() && !this.$previewMode()) {\r\n\r\n if (!!this.workflowId) {\r\n setTimeout(() => {\r\n\r\n this.subscriptions.push(\r\n this.wfs.loadWorkflowWithAfInstance(this.workflowId!).pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n return of(err)\r\n }),\r\n finalize(() => this.$loading.set(false))\r\n\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const workflow: IWfWorkflow = x.body.innerBody;\r\n\r\n this.$workflow.set(workflow);\r\n\r\n if (workflow.afInstanceDTO) {\r\n const afInstanceDto = workflow.afInstanceDTO;\r\n const instance = this.coreFormDesignService.mapFromAfInstanceDTO(afInstanceDto);\r\n\r\n instance.sections = this.coreFormDesignService.toCoreFormSections(instance.formDesignSections)\r\n\r\n this.$afInstance.set(instance);\r\n\r\n console.log(\"this.$inputSections being merged wuth:\", instance.sections);\r\n\r\n this.$inputSections.set([...instance.sections, ...this.$inputSections()]);\r\n\r\n this.$normalMode.set(instance.normalMode);\r\n this.$submitApi.set(instance.submitApi);\r\n\r\n this.coreFormDesignService.$afInstance.set(instance);\r\n\r\n this.clearInjectedFields();\r\n\r\n if (!this.$reactMode()) {\r\n this.addKickOffInjectedFields();\r\n }\r\n\r\n }\r\n\r\n }\r\n })\r\n )\r\n\r\n })\r\n }\r\n\r\n } else {\r\n\r\n this.$afInstance.set(this.coreFormDesignService.$afInstance());\r\n console.log(\"sections in ngAfterViewInit when !this.workflowId, being set\", this.coreFormDesignService.$afInstance().sections)\r\n this.$inputSections.set(this.coreFormDesignService.$afInstance().sections ?? []);\r\n this.$customButtons.set(this.coreFormDesignService.$afInstance().customFormButtonItems ?? []);\r\n this.$normalMode.set(this.coreFormDesignService.$afInstance().normalMode);\r\n this.$submitApi.set(this.coreFormDesignService.$afInstance().submitApi);\r\n\r\n this.clearInjectedFields();\r\n if (this.$reactMode()) {\r\n //this.addReactInjectedFields();\r\n } else {\r\n this.addKickOffInjectedFields();\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n onLiveFormCreated(e: any): void {\r\n const form: FormGroup = e.formGroup;\r\n this.$form.set(form);\r\n this.wfs.liveForm = form;\r\n\r\n if (!this.$reactMode()) {\r\n this.wfs.liveForm.get('___submitOnBehalf')?.valueChanges.subscribe(x => {\r\n const inputSections = this.$inputSections();\r\n const targetCtrl = this.coreFormService.getFormBaseControlByName(inputSections, '___targetEmployees');\r\n\r\n if (targetCtrl) {\r\n targetCtrl.hidden = !x;\r\n this.$inputSections.set([...inputSections]);\r\n\r\n // Optional: restore current form values without triggering another valueChanges loop\r\n const currentValue = this.cfs.getAttributesWithWys(this.wfs.liveForm);\r\n console.log(\"onLiveFormCreated\", currentValue)\r\n setTimeout(() => {\r\n this.wfs.liveForm.patchValue({\r\n ___submitOnBehalf: x // ensure value stays intact\r\n }, { emitEvent: false });\r\n if (!x && targetCtrl) {\r\n this.wfs.liveForm.patchValue({ ___targetEmployees: null }, { emitEvent: false });\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n onLiveSubmit(e: any): void {\r\n\r\n if (!this.wfs.liveForm.valid) {\r\n this.checkError$.next(true);\r\n return;\r\n }\r\n\r\n if (!!this.$submitApi()) {\r\n const payload = this.generateSubmitDto();\r\n\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.appService.postFullUrl(this.$submitApi()!, payload).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n // MILESTONE!\r\n }\r\n })\r\n )\r\n\r\n }\r\n }\r\n\r\n onClose(): void {\r\n if (this.$designMode()) {\r\n this.$onClose.emit();\r\n } else {\r\n if (!!this.$afInstance()?.normalMode) {\r\n\r\n } else {\r\n if (this.$previewMode()) {\r\n this.router.navigate(\r\n [\r\n {\r\n outlets: { preview: null }\r\n }\r\n ],\r\n { relativeTo: this.route.parent }\r\n );\r\n } else {\r\n this.router.navigate([\r\n '/root/workflow/workflow-consume',\r\n { outlets: { workflowConsume: null } }\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n addKickOffInjectedFields(): void {\r\n\r\n const workflow = this.$workflow();\r\n const current = this.$inputSections();\r\n const sections = [...current];\r\n\r\n sections.push({\r\n rows: [\r\n [\r\n {\r\n field: '___submitterEmployeeId',\r\n flexSize: 12,\r\n type: 'number',\r\n controlType: EnumFormBaseContolType.SEEKER,\r\n seekerSourceType: EnumCoreFormControlSeekerSourceType.EMPLOYEE_SEEK,\r\n getByIdApi: '',\r\n getByIdObject$: new BehaviorSubject<any>({}),\r\n label: 'Simulated Requester',\r\n boundFrom: 'id',\r\n shownFrom: 'fullname',\r\n value: null,\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: 'Simulated ___submitterEmployeeId required'\r\n }\r\n ]\r\n },]\r\n ]\r\n })\r\n\r\n if (!!workflow && !!workflow.allowCustomCc) {\r\n sections.push({\r\n rows:\r\n [\r\n [\r\n {\r\n field: \"___customCcs\",\r\n type: \"text\",\r\n value: '',\r\n label: \"UI_FORM_CONTROL_LABEL.CUSTOM_CCS\",\r\n flexSize: 12,\r\n controlType: EnumFormBaseContolType.TEXTAREA,\r\n textareaRows: 3,\r\n validators: [\r\n {\r\n name: 'pattern',\r\n validator: Validators.pattern(\r\n /^(\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*;)*\\s*[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\s*$/\r\n ),\r\n errorMessage: \"Please enter a list of email addresses separated by semicolons (;)\"\r\n }\r\n ]\r\n }\r\n ]\r\n\r\n ]\r\n })\r\n }\r\n\r\n if (!!this.$onBehalfMode()) {\r\n\r\n sections.push({\r\n rows:\r\n [\r\n [\r\n {\r\n field: \"___submitOnBehalf\",\r\n type: \"boolean\",\r\n hint: 'If enabled, users can submit this workflow request on behalf of other employees.',\r\n value: '',\r\n label: \"UI_FORM_CONTROL_LABEL.SUBMIT_ON_BEHALF\",\r\n flexSize: 12,\r\n controlType: EnumFormBaseContolType.CHECKBOX,\r\n }\r\n ],\r\n [\r\n {\r\n field: \"___targetEmployees\",\r\n type: \"object\",\r\n value: null,\r\n label: \"UI_FORM_CONTROL_LABEL.TARGET_EMPLOYEES\",\r\n hidden: true,\r\n flexSize: 12,\r\n controlType: EnumFormBaseContolType.SEEKER,\r\n seekerSourceType: EnumCoreFormControlSeekerSourceType.EMPLOYEE_SEEK,\r\n multiMode: true,\r\n }\r\n ],\r\n ]\r\n })\r\n\r\n }\r\n\r\n this.$inputSections.set(sections);\r\n\r\n }\r\n\r\n clearInjectedFields(): void {\r\n const original = this.$inputSections();\r\n if (!original || !original.length) return;\r\n\r\n // Tạo bản sao deep để tránh mutate sai\r\n const cleaned = original\r\n .map(section => {\r\n\r\n // deep clone rows\r\n const newRows = (section.rows || [])\r\n .map(row =>\r\n row.filter(ctrl => !ctrl.field.startsWith('___')) // remove injected\r\n )\r\n .filter(row => row.length > 0); // remove empty rows\r\n\r\n // Nếu rows rỗng → bỏ luôn section\r\n if (!newRows.length) return null;\r\n\r\n return {\r\n ...section,\r\n rows: newRows\r\n };\r\n })\r\n .filter(x => x !== null) as any[];\r\n\r\n this.$inputSections.set(cleaned);\r\n }\r\n\r\n react(reactType: string): void {\r\n const context = this.$workflowReactContext();\r\n if (!context) {\r\n this.alertService.error(\"NO_CONTEXT_FOUND\");\r\n return;\r\n }\r\n const { workflow, instance, step, actor } = context;\r\n const unitedCorrelationIds = `${workflow.id}___${instance.correlationId}___${step.id}___${actor.id}`;\r\n const updatedAttributes = this.cfs.getAttributesWithWys(this.$form()!);\r\n\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.react(unitedCorrelationIds, reactType, \"\", updatedAttributes).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n }\r\n\r\n applyFormUi(\r\n sections: ICoreFormSection[],\r\n formUi: IStepFormConfig[\"formUi\"]\r\n ): ICoreFormSection[] {\r\n if (!sections || !formUi) return sections;\r\n\r\n const hidden = formUi.hidden ?? {};\r\n const readonly = formUi.readonly ?? {};\r\n const required = formUi.required ?? {};\r\n\r\n console.log(\"[applyFormUi] hidden\", hidden);\r\n console.log(\"[applyFormUi] readonly\", readonly);\r\n console.log(\"[applyFormUi] required\", required);\r\n\r\n const sectionsTransformed = sections.map(sec => ({\r\n ...sec,\r\n rows: sec.rows.map(row =>\r\n row.map(ctrl => {\r\n const c = { ...ctrl };\r\n const key = c.field;\r\n\r\n // 1) Hidden\r\n if (hidden[key]) {\r\n c.hidden = true;\r\n return c;\r\n }\r\n\r\n // 2) Readonly\r\n if (readonly[key]) {\r\n c.readonly = true;\r\n c.disabled = true;\r\n }\r\n\r\n // 3) Required\r\n if (required[key]) {\r\n c.validators = [\r\n ...(c.validators ?? []),\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: `${c.label ?? c.field} is required`\r\n }\r\n ];\r\n } else {\r\n // remove required if exists (optional)\r\n c.validators = (c.validators ?? []).filter(v => v.name !== 'required');\r\n }\r\n\r\n return c;\r\n })\r\n )\r\n }));\r\n\r\n console.log(\"[applyFormUi] sectionsTransformed\", sectionsTransformed);\r\n\r\n return sectionsTransformed;\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n this.subscriptions.forEach(x => x?.unsubscribe());\r\n this.clearInjectedFields()\r\n }\r\n\r\n\r\n}\r\n","<div class=\"live-form-container\" [hotKeys]=\"['F3', 'F6', 'Escape']\">\r\n\r\n @if ($normalMode()) {\r\n <div class=\"form-wrapper live-form\" [ngStyle]=\"{\r\n width: !!coreFormDesignService.$afInstance().width ? coreFormDesignService.$afInstance().width + 'px' : 'unset'\r\n }\">\r\n <div class=\"live-form-header\">\r\n <core-page-header [title]=\"coreFormDesignService.$afInstance().captionCode | translate : lang\" [hideButtonGroup]=\"true\"></core-page-header>\r\n </div>\r\n\r\n <core-form\r\n [inputSections]=\"$effectiveSections()\"\r\n [customFormButtonItems]=\"$customButtons()!\"\r\n [forceCreateNewForm]=\"true\"\r\n [mode$]=\"mode$\"\r\n [hideButtons]=\"$previewMode()\"\r\n [hideCalculatedSection]=\"true\"\r\n [hideDevSector]=\"true\"\r\n [bottomTemplateRef]=\"bottomTemplateRef\"\r\n [buttonGroupTemplateRef]=\"buttonGroupTemplateRef\"\r\n [checkError$]=\"checkError$\"\r\n (onSubmit)=\"onLiveSubmit($event)\"\r\n (onFormCreated)=\"onLiveFormCreated($event)\"\r\n (onCancal)=\"onClose()\"\r\n />\r\n\r\n @if ($previewMode()) {\r\n <div class=\"show-routing-wrapper\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"toggleShowRouting()\">\r\n {{ $showLiveRouting() ? 'Hide Routing' : 'Show Routing' }}\r\n </button>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"routing-preview-wrapper\" [class.visible]=\"$showLiveRouting()\">\r\n @if ($showLiveRouting()) {\r\n <routing-preview-panel />\r\n }\r\n </div>\r\n\r\n\r\n } @else {\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root no-padding\">\r\n\r\n <div class=\"form-wrapper live-form\" [class.d-none]=\"$showLiveRouting()\" [ngStyle]=\"{\r\n width: !!coreFormDesignService.$afInstance().width ? coreFormDesignService.$afInstance().width + 'px' : 'unset'\r\n }\">\r\n\r\n <div class=\"live-form-header\">\r\n <core-page-header [title]=\"coreFormDesignService.$afInstance().captionCode | translate : lang\" [hideButtonGroup]=\"true\" />\r\n <div class=\"preview-close-icon\" (click)=\"onClose()\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n\r\n <core-form\r\n [inputSections]=\"$effectiveSections()\"\r\n [customFormButtonItems]=\"$customButtons()!\"\r\n [forceCreateNewForm]=\"true\"\r\n [hideCalculatedSection]=\"true\"\r\n [mode$]=\"mode$\"\r\n [hideButtons]=\"$previewMode()\"\r\n [bottomTemplateRef]=\"bottomTemplateRef\"\r\n [buttonGroupTemplateRef]=\"buttonGroupTemplateRef\"\r\n [hideDevSector]=\"false\"\r\n [checkError$]=\"checkError$\"\r\n (onSubmit)=\"onLiveSubmit($event)\"\r\n (onFormCreated)=\"onLiveFormCreated($event)\"\r\n (onCancal)=\"onClose()\"\r\n />\r\n\r\n <div class=\"submition-wrapper\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"toggleShowRouting()\">\r\n {{ $showLiveRouting() ? 'Hide Routing' : 'Show Routing' }}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"initialSubmit()\">\r\n Submit \r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"routing-preview-wrapper\" [class.visible]=\"$showLiveRouting()\">\r\n @if ($showLiveRouting()) {\r\n <div class=\"h50\"></div>\r\n <routing-preview-panel [$minWidth]=\"coreFormDesignService.$afInstance().width\"/>\r\n <div class=\"h50\"></div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <ng-template #bottomTemplateRef>\r\n <!-- <pre [ngStyle]=\"{ maxWidth: !!$afInstance()?.width ? $afInstance()?.width! + 'px' : 'unset'}\">{{ $inputSectionsJson() }}</pre> -->\r\n <!-- @if (isDevMode) {\r\n <p class=\"dev-hint\">F3/ESC: Show/Hide afInstance | F6/ESC: Show/Hide Workflow</p>\r\n } -->\r\n @if ($showAfInstanceJson()) {\r\n <pre [ngStyle]=\"{ maxWidth: !!$afInstance()?.width ? $afInstance()?.width! + 'px' : 'unset'}\">{{ $afInstanceJson() }}</pre>\r\n }\r\n @if ($showWfWorkflowJson()) {\r\n <pre [ngStyle]=\"{ maxWidth: !!$afInstance()?.width ? $afInstance()?.width! + 'px' : 'unset'}\">{{ $wfWorkflowJson() }}</pre>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #buttonGroupTemplateRef>\r\n <div class=\"button-group\">\r\n <div class=\"button-group-left\"></div>\r\n <div class=\"button-group-right\">\r\n @if ($reactMode()) {\r\n @if (true) {\r\n <button type=\"button\" class=\"btn btn-secondary\">Cancel</button> \r\n }\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"react('REJECTED')\">Reject</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"react('APPROVED')\">Approve</button>\r\n } @else {\r\n <button type=\"button\" class=\"btn btn-secondary\">Cancel</button>\r\n <button type=\"button\" class=\"btn btn-primary\">Send Request</button>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</div>"],"names":["i1.MultiLanguageService","i2.CoreFormService"],"mappings":"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"}
@@ -9261,6 +9261,7 @@ class CoreWorkflowService {
9261
9261
  this.$currentSteps.set(steps);
9262
9262
  }
9263
9263
  loadByIdWithAfInstance(workflowId) {
9264
+ console.log("loadByIdWithAfInstance...");
9264
9265
  if (workflowId !== '0') {
9265
9266
  this.$loading.set(true);
9266
9267
  this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetByIdWithAfInstance?id=${workflowId}`).pipe(filter(_ => workflowId !== '0'), catchError$1(err => {
@@ -9270,6 +9271,7 @@ class CoreWorkflowService {
9270
9271
  this.$loading.set(false);
9271
9272
  if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
9272
9273
  const workflow = x.body.innerBody;
9274
+ console.log("loadByIdWithAfInstance", workflow);
9273
9275
  this.$currentFlow.set(workflow);
9274
9276
  this.basicInfoForm.patchValue(workflow);
9275
9277
  this.emailTemplatesForm.patchValue(workflow);
@@ -31883,7 +31885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
31883
31885
  const hrmSchemaRoutes = [
31884
31886
  {
31885
31887
  path: '',
31886
- loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs').then(m => m.HrmSchemaComponent)
31888
+ loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-BJZOW5Wi.mjs').then(m => m.HrmSchemaComponent)
31887
31889
  }
31888
31890
  ];
31889
31891
 
@@ -34056,7 +34058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
34056
34058
  const simpleChatRoutes = [
34057
34059
  {
34058
34060
  path: '',
34059
- loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs').then(m => m.SimpleChatComponent)
34061
+ loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-CtnJMX2M.mjs').then(m => m.SimpleChatComponent)
34060
34062
  }
34061
34063
  ];
34062
34064
 
@@ -34722,7 +34724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
34722
34724
  const coreSysActionRoutes = [
34723
34725
  {
34724
34726
  path: "",
34725
- loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs').then(m => m.CoreSysActionComponent),
34727
+ loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-GIciqrnf.mjs').then(m => m.CoreSysActionComponent),
34726
34728
  children: [
34727
34729
  {
34728
34730
  path: ":id",
@@ -38426,11 +38428,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
38426
38428
  const coreDocGenRoutes = [
38427
38429
  {
38428
38430
  path: 'template-list',
38429
- loadComponent: () => import('./ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs').then(m => m.TemplateListComponent),
38431
+ loadComponent: () => import('./ngx-histaff-alpha-template-list.component-BysOT_8n.mjs').then(m => m.TemplateListComponent),
38430
38432
  },
38431
38433
  {
38432
38434
  path: ":id",
38433
- loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs').then(m => m.CoreTemplateEditorComponent),
38435
+ loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-XwgAdRVH.mjs').then(m => m.CoreTemplateEditorComponent),
38434
38436
  canDeactivate: [CanDeactivateGuard]
38435
38437
  },
38436
38438
  {
@@ -38459,7 +38461,7 @@ const coreFormDesignRoutes = [
38459
38461
  },
38460
38462
  {
38461
38463
  path: ':id',
38462
- loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs').then(m => m.CoreFormDesignComponent)
38464
+ loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-CTrNNE7-.mjs').then(m => m.CoreFormDesignComponent)
38463
38465
  }
38464
38466
  ];
38465
38467
 
@@ -39370,7 +39372,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
39370
39372
  const coreNavigationTrackerRoutes = [
39371
39373
  {
39372
39374
  path: '',
39373
- loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs').then(m => m.TrackerStudioComponent)
39375
+ loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-D9L1y1k0.mjs').then(m => m.TrackerStudioComponent)
39374
39376
  }
39375
39377
  ];
39376
39378
 
@@ -41738,33 +41740,33 @@ const coreWorkflowRoutes = [
41738
41740
  {
41739
41741
  path: 'form-assign/:id',
41740
41742
  outlet: "formAssignAux",
41741
- loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs').then(m => m.WfFormAssignComponent),
41743
+ loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-BACGd2Yk.mjs').then(m => m.WfFormAssignComponent),
41742
41744
  canDeactivate: [CanDeactivateGuard]
41743
41745
  }
41744
41746
  ]
41745
41747
  },
41746
41748
  {
41747
41749
  path: 'global-config',
41748
- loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs').then(m => m.WfGlobalConfigComponent)
41750
+ loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-ABO46891.mjs').then(m => m.WfGlobalConfigComponent)
41749
41751
  },
41750
41752
  {
41751
41753
  path: 'db-settings',
41752
- loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs').then(m => m.DbSettingsComponent)
41754
+ loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-aOgA1qSq.mjs').then(m => m.DbSettingsComponent)
41753
41755
  },
41754
41756
  {
41755
41757
  path: 'workflow-consume',
41756
- loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs').then(m => m.CoreWorkflowConsumeComponent),
41758
+ loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-BP8zuxYQ.mjs').then(m => m.CoreWorkflowConsumeComponent),
41757
41759
  children: [
41758
41760
  {
41759
41761
  path: ':id',
41760
41762
  outlet: "workflowConsume",
41761
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41763
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-x08G6uI3.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41762
41764
  }
41763
41765
  ]
41764
41766
  },
41765
41767
  {
41766
41768
  path: 'workflow-consume/:id',
41767
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41769
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-x08G6uI3.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41768
41770
  },
41769
41771
  {
41770
41772
  path: 'workflow-group-edit/:id',
@@ -41774,21 +41776,21 @@ const coreWorkflowRoutes = [
41774
41776
  },
41775
41777
  {
41776
41778
  path: 'design/:id',
41777
- loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs').then(m => m.wfDesignWrapperRoutes),
41779
+ loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-DQoOPQge.mjs').then(m => m.wfDesignWrapperRoutes),
41778
41780
  },
41779
41781
  ]
41780
41782
  },
41781
41783
  {
41782
41784
  path: 'react/:id',
41783
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs').then(m => m.WfInstanceStepReactComponent)
41785
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-D2FW3Uk6.mjs').then(m => m.WfInstanceStepReactComponent)
41784
41786
  },
41785
41787
  {
41786
41788
  path: 'status/:id',
41787
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs').then(m => m.WfInstanceStatusComponent)
41789
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-CJj_SSmd.mjs').then(m => m.WfInstanceStatusComponent)
41788
41790
  },
41789
41791
  {
41790
41792
  path: 'lab',
41791
- loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs').then(m => m.WfLabComponent)
41793
+ loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-Ci9x7286.mjs').then(m => m.WfLabComponent)
41792
41794
  }
41793
41795
  ];
41794
41796
 
@@ -44414,4 +44416,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
44414
44416
  */
44415
44417
 
44416
44418
  export { READONLY_WORKFLOW_FIELDS as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumCoreTablePipeType as E, FullscreenModalLoaderComponent as F, CoreDropdownComponent as G, CoreChecklistComponent as H, ImageErrorResolverDirective as I, CoreDatePickerComponent as J, CoreFormControlSeekerComponent as K, CoreCurrencyInputComponent as L, MultiLanguageService as M, EnumActorSourceType as N, CoreParamControlComponent as O, CoreRadioGroupComponent as P, GptService as Q, CoreStickerCollectionComponent as R, StringHtmlPipe as S, TooltipDirective as T, ApplicationHelpService as U, HotKeysDirective as V, EnumCorePageEditMode as W, CoreFormComponent as X, NavigatorService as Y, JsonService as Z, EnumCoreButtonVNSCode as _, AppConfigService as a, CommonHttpRequestService as a$, noneAutoClosedAlertOptions as a0, CoreButtonGroupVnsComponent as a1, EnumFilterOperator as a2, HtmlTooltipDirective as a3, CoreControlNoFormArrayComponent as a4, EnumFormDesignMode as a5, CoreControlComponent as a6, JsonSafePipe as a7, CoreAttachmentComponent as a8, CoreMonthSelectorComponent as a9, EnumSortDirection as aA, EnumStyleButtonClass as aB, CanActivateFunctionUrlMapperGuard as aC, InitializationCanActivateFn as aD, InitializationCanMatchFn as aE, httpInterceptorProviders as aF, InterceptorSkipHeader as aG, appTypeInterceptor as aH, baseUrlInterceptor as aI, authInterceptor as aJ, graphInterceptor as aK, tokenInterceptor as aL, responseInterceptor as aM, timeZoneInterceptor as aN, cachingInterceptor as aO, langInterceptor as aP, OnlineUsersComponent as aQ, ActionService as aR, AppInitializationService as aS, AuthService as aT, CacheService as aU, EnumSwUpdateVersionUpdatesEventType as aV, CheckForUpdateService as aW, EnumDeviceType as aX, EnumBrowserType as aY, EnumOsType as aZ, ClientService as a_, EnumImageResolverType as aa, NormalizeHumanNamePipe as ab, CoreIosSwitcherComponent as ac, SunnyRotatingComponent as ad, MapAppdemoToServerPipePipe as ae, MapAttachmentToServerPipe as af, MapNewsfeedMediaToServerPipe as ag, UploadedFilenameCutoffPipe as ah, DialogStateComponent as ai, FooterComponent as aj, RightchatComponent as ak, WaittingScreenComponent as al, longAlertOptions as am, attachmentOptions as an, CORE_VNS_BUTTONS as ao, defaultPaging as ap, DESKTOP_SCREEN_HEDER_HEIGHT as aq, MOBILE_SCREEN_HEDER_HEIGHT as ar, themeBlue as as, DATE_VALUE_ACCESSOR as at, DateValueAccessor as au, EnumDragType as av, EnumErrorType as aw, EnumIconClass as ax, EnumProfileInfoSector as ay, EnumSignalRType as az, AlertService as b, MutationViewComponent as b$, TLA_CONFIG as b0, ConfigService as b1, CoreTableService as b2, DndService as b3, DocxMergeService as b4, FilterKitService as b5, GrpcService as b6, HeaderService as b7, HistoryService as b8, HttpErrorHandler as b9, TopicPermissionService as bA, TopicTreeService as bB, UploadedFileService as bC, UrlService as bD, UserActivityService as bE, EvaluateDialogService as bF, EnumWorkScheduleViewMode as bG, WorkShiftDndService as bH, AtShiftPatternComponent as bI, AtShiftPatternApplyComponent as bJ, AtShiftPatternEditComponent as bK, AtWorksignComponent as bL, AtWorksignService as bM, FunctionComponent as bN, IndividualScheduleApplyComponent as bO, FunctionEditComponent as bP, FunctionIgnoreComponent as bQ, FunctionIgnoreEditComponent as bR, GroupFunctionComponent as bS, GroupFunctionEditComponent as bT, hrmSchemaRoutes as bU, InMemoryComponent as bV, LanguageComponent as bW, LanguageEditComponent as bX, MenuComponent as bY, MenuEditComponent as bZ, MutationLogComponent as b_, HubConnectionService as ba, IpServiceService as bb, LayoutService as bc, LiquidJsService as bd, MapService as be, MenuService as bf, MessageService as bg, ModalService as bh, OrganizationService as bi, PkceService as bj, PositionTransferService as bk, EnumNotificationDir as bl, NotificationActionType as bm, PushNotificationService as bn, RandomAvatarService as bo, RequestCache as bp, RequestCacheWithMap as bq, ResponseService as br, RoutingService as bs, EnumSsrsExpressFileExtension as bt, EnumSsrsExpressExportFormat as bu, SsrsExpressService as bv, StatisticService as bw, StatisticAuthService as bx, SysMenuService as by, TimeSheetService as bz, CoreTerminalSpinnerComponent as c, coreDocGenRoutes as c$, PaSalaryPolicyComponent as c0, PaSalaryPolicyEditComponent as c1, PortalRouteComponent as c2, ScheduleOverviewComponent as c3, simpleChatRoutes as c4, PortalRouteEditComponent as c5, SysOtherListComponent as c6, SysOtherListEditComponent as c7, SysOtherListTypeComponent as c8, SysOtherListTypeEditComponent as c9, CoreActiveUserCountComponent as cA, NewlyCreatedTokenService as cB, CoreApiProgressComponent as cC, CoreButtonGroupComponent as cD, EnumCoreButtonCode as cE, ActionSvgEditComponent as cF, CoreButtonGroupService as cG, CoreButtonVnsComponent as cH, CoreComTreeComponent as cI, ComPartyService as cJ, CoreCommonParamKitComponent as cK, CoreCompareDbPipelineComponent as cL, CoreCompositionState as cM, CoreCompositionService as cN, CoreCompositionComponent as cO, CoreConfirmDialogComponent as cP, ConfirmDialogStateComponent as cQ, CoreLazyMountComponent as cR, CoreRootMenuItemPickerComponent as cS, CoreRootMenuItemPickerService as cT, ECoreTableToolCode as cU, ECoreTableToolClass as cV, CoreTableComponent as cW, CoreComProfileComponent as cX, CoreContractSeekerComponent as cY, CoreControlNoGridBufferComponent as cZ, CoreControlNoSeekerComponent as c_, coreSysActionRoutes as ca, SysActionComponent as cb, SysActionEditComponent as cc, SysFunctionActionComponent as cd, SysFunctionActionEditComponent as ce, SysFunctionActionMapperComponent as cf, SysFunctionUrlMapperComponent as cg, FunctionEditService as ch, SysModuleComponent as ci, SysModuleEditComponent as cj, SysRouteAccessComponent as ck, liner_to_nested_array_script as cl, blob_to_base64_script as cm, AlertComponent as cn, EnumAlertType as co, IAlertOptions as cp, AnimatedTextService as cq, AnimatedTextComponent as cr, BaseDropdownComponent as cs, ButtonGroupModule as ct, ButtonGroupService as cu, ButtonGroupComponent as cv, EnumButtonCaptionCode as cw, CoreButtonComponent as cx, CoreAccordionComponent as cy, CoreAccordionService as cz, CorePageHeaderComponent as d, CorePermissionService as d$, CoreDocgenToolbarComponent as d0, CoreEmployeeScheduleComponent as d1, CoreEmployeeSeekerComponent as d2, EnumCoreFileUploaderType as d3, CoreFileUploaderComponent as d4, CoreFilterHubComponent as d5, CoreFilterHubService as d6, ControlBase as d7, Textbox as d8, CoreControlService as d9, CoreNavigationTrackerComponent as dA, coreNavigationTrackerRoutes as dB, CoreOauthCallbackComponent as dC, CoreOauthCallbackOffice365Component as dD, EnumCoreOrgTreeaAccessorMode as dE, EnumCoreOrgTreeaSearchMode as dF, CoreOrgTreeComponent as dG, CoreOrgTreeState as dH, CoreOrgTreeService as dI, CoreOrgUnitSeekerComponent as dJ, CoreOrgchartflexComponent as dK, CoreOrgParamComponent as dL, EnumCorePageEditBootstrapClass as dM, EnumCorePageEditFieldType as dN, CorePageEditService as dO, CorePageEditLiteComponent as dP, CorePageEditTabComponent as dQ, EnumExType as dR, CorePageListService as dS, CorePageListState as dT, CorePageListContentComponent as dU, EnumCoreViewItemType as dV, CorePageViewComponent as dW, CorePaginationComponent as dX, CorePaginationFullComponent as dY, CorePaginationFullService as dZ, CoreFileFormatPickerComponent as d_, CustomValidators as da, URL_PATTERN as db, coreFormDesignRoutes as dc, CoreFormTabComponent as dd, CoreFormLiteComponent as de, CoreFormControlBaseComponent as df, EnumCoreSeekerColumnJob as dg, EnumCoreSeekerColumnStaffProfile as dh, EnumCoreSeekerColumnContract as di, EnumCoreSeekerColumnWorking as dj, EnumCoreSeekerColumnWage as dk, EnumCoreSeekerColumnPosition as dl, EnumCoreSeekerColumnPositionConcurrent as dm, EnumCoreSeekerColumnAutoForm as dn, SeekerService as dp, CoreGridBufferComponent as dq, CoreHeaderParamsComponent as dr, CoreHelperComponent as ds, CoreLineComponent as dt, CoreLiquidWysiwygComponent as du, CoreListComponent as dv, CoreListLazyComponent as dw, CoreLoadingSurfaceComponent as dx, CoreMccComponent as dy, CoreMonthPickerComponent as dz, TranslatePipe as e, LongTaskService as e$, EnumPermissionObjectType as e0, CorePermissionComponent as e1, CorePermissionActionsComponent as e2, CorePositionConcurrentSeekerComponent as e3, CorePositionSeekerComponent as e4, CoreQrcodeComponent as e5, EnumOparator as e6, CoreQueryBuilderComponent as e7, CoreReducerIconComponent as e8, CoreRotatingTextComponent as e9, CoreYearPickerComponent as eA, CoreYearSelectorComponent as eB, EnumCoreD3ScaleType as eC, CoreD3Service as eD, CorePieComponent as eE, CoreScatterPlotComponent as eF, EnumHrComparisonCode as eG, EnumICoreStatisticWidgetDataType as eH, CoreStatisticWidgetComponent as eI, DecisionComponent as eJ, EvaluateDialogComponent as eK, HuconcurrentlyComponent as eL, JobComponent as eM, LanguageChangerComponent as eN, DEFAULT_SVG as eO, ItemComponent as eP, NavigatorComponent as eQ, OtpInputComponent as eR, OtpInputService as eS, PageTitleComponent as eT, PaginationComponent as eU, FilterPipe as eV, normalizeHumanName as eW, PositionComponent as eX, PositionEditService as eY, CoreDatetimeService as eZ, FileService as e_, CoreRouteAccumulatorComponent as ea, CoreRoutingHistoryComponent as eb, CoreSalaryPolicyPickerComponent as ec, CoreScrollComponent as ed, CoreScrollLazyComponent as ee, CoreSeenByComponent as ef, CoreShiftCardComponent as eg, CoreShiftCellComponent as eh, CoreShiftCollectionComponent as ei, CoreShiftStickerComponent as ej, STICKER_COLOR_SCHEMA as ek, CoreStatusStickerComponent as el, CoreSubFormGroupComponent as em, CoreTabListComponent as en, CoreTagsComponent as eo, CoreTopicPickerComponent as ep, EnumCoreArticleCategoryTreeaAccessorMode as eq, CoreTopicTreeComponent as er, CoreTreeComponent as es, EnumCoreTreeGridEditMode as et, CoreTreeGridComponent as eu, CoreWageSeekerComponent as ev, CoreWorkingSeekerComponent as ew, coreWorkflowRoutes as ex, CoreWorkflowBuilderComponent as ey, CoreWorkflowGroupEditComponent as ez, CorePageListComponent as f, EnumRecursiveFields as f0, RecursiveService as f1, StringService as f2, UnicodeService as f3, StaffProfileComponent as f4, ThreedotsComponent as f5, TooltipComponent as f6, UserActivityComponent as f7, WageComponent as f8, tooltip_directive as f9, coreStickerCollection_component as fa, dragReorder_directive as fb, CoreCheckboxComponent as g, BaseEditComponent as h, EnumFormBaseContolType as i, DialogService as j, CorePageEditComponent as k, CoreTabsComponent as l, CoreWorkflowService as m, EnumCoreFormControlSeekerSourceType as n, CoreFormService as o, DbService as p, AiHintForColumnComponent as q, CoreWorkflowListComponent as r, CanDeactivateGuard as s, TableCellPipe as t, MapAvatarToServerPipe as u, alertOptions as v, SocketService as w, CoreFormDesignService as x, EnumWorkflowStepType as y, DomService as z };
44417
- //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs.map
44419
+ //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-B4dw5BXZ.mjs.map