ngx-histaff-alpha 6.7.5 → 6.7.7

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 (57) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DwX6z2zv.mjs → ngx-histaff-alpha-ai-hint-for-table.component-C4GlK33M.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DwX6z2zv.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-C4GlK33M.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-B7BWL6WV.mjs → ngx-histaff-alpha-core-form-design.component-BrjykzbK.mjs} +4 -4
  4. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-B7BWL6WV.mjs.map → ngx-histaff-alpha-core-form-design.component-BrjykzbK.mjs.map} +1 -1
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-DxlfFjYx.mjs → ngx-histaff-alpha-core-sys-action.component-C-NgdGye.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-DxlfFjYx.mjs.map → ngx-histaff-alpha-core-sys-action.component-C-NgdGye.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-o1melxIr.mjs → ngx-histaff-alpha-core-template-editor.component-CWYV1jld.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-o1melxIr.mjs.map → ngx-histaff-alpha-core-template-editor.component-CWYV1jld.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C1xF9q5m.mjs → ngx-histaff-alpha-core-toast-loading.component-id2TElQn.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C1xF9q5m.mjs.map → ngx-histaff-alpha-core-toast-loading.component-id2TElQn.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-D_FTaqQo.mjs → ngx-histaff-alpha-core-workflow-consume.component-4CQ-jm0m.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-D_FTaqQo.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-4CQ-jm0m.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BHuQH58t.mjs → ngx-histaff-alpha-db-settings.component-BQ9xl200.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BHuQH58t.mjs.map → ngx-histaff-alpha-db-settings.component-BQ9xl200.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BPqt0OZ5.mjs → ngx-histaff-alpha-design-wrapper.component-D88xosQd.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BPqt0OZ5.mjs.map → ngx-histaff-alpha-design-wrapper.component-D88xosQd.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-COuGfx8m.mjs → ngx-histaff-alpha-design-wrapper.route-BeK6tiwQ.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-COuGfx8m.mjs.map → ngx-histaff-alpha-design-wrapper.route-BeK6tiwQ.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-D1uTCDQS.mjs → ngx-histaff-alpha-hrm-schema.component-Coz5KH1Z.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-D1uTCDQS.mjs.map → ngx-histaff-alpha-hrm-schema.component-Coz5KH1Z.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-vNa45nJi.mjs → ngx-histaff-alpha-live-form.component-DTSF49aS.mjs} +2 -2
  22. package/fesm2022/{ngx-histaff-alpha-live-form.component-vNa45nJi.mjs.map → ngx-histaff-alpha-live-form.component-DTSF49aS.mjs.map} +1 -1
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs → ngx-histaff-alpha-ngx-histaff-alpha-Bfddt3DJ.mjs} +415 -199
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Bfddt3DJ.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CEVRHmjv.mjs → ngx-histaff-alpha-simple-chat.component-CmdmeZkn.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CEVRHmjv.mjs.map → ngx-histaff-alpha-simple-chat.component-CmdmeZkn.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-GnVcOm23.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-yahvTLh8.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-GnVcOm23.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-yahvTLh8.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-cHZjBAVj.mjs → ngx-histaff-alpha-sys-smtp-client.component-DJQOWrW_.mjs} +3 -3
  30. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-cHZjBAVj.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-DJQOWrW_.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-template-list.component-Wloctfpt.mjs → ngx-histaff-alpha-template-list.component-CW1wvq-D.mjs} +3 -3
  32. package/fesm2022/{ngx-histaff-alpha-template-list.component-Wloctfpt.mjs.map → ngx-histaff-alpha-template-list.component-CW1wvq-D.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-DMujJuQP.mjs → ngx-histaff-alpha-tracker-studio.component-CuDeN7V9.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-DMujJuQP.mjs.map → ngx-histaff-alpha-tracker-studio.component-CuDeN7V9.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-COVOPuyc.mjs → ngx-histaff-alpha-wf-form-assign.component-BwbYVigV.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-COVOPuyc.mjs.map → ngx-histaff-alpha-wf-form-assign.component-BwbYVigV.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-CakiKMEP.mjs → ngx-histaff-alpha-wf-global-config.component-BYxq7KK5.mjs} +2 -2
  38. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-CakiKMEP.mjs.map → ngx-histaff-alpha-wf-global-config.component-BYxq7KK5.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DdzM44wT.mjs → ngx-histaff-alpha-wf-instance-status.component-CRxpzsUc.mjs} +2 -2
  40. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DdzM44wT.mjs.map → ngx-histaff-alpha-wf-instance-status.component-CRxpzsUc.mjs.map} +1 -1
  41. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs → ngx-histaff-alpha-wf-instance-step-react.component-GtdbtqYU.mjs} +3 -3
  42. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-GtdbtqYU.mjs.map} +1 -1
  43. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs → ngx-histaff-alpha-wf-lab.component-BLleTFyw.mjs} +2 -2
  44. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs.map → ngx-histaff-alpha-wf-lab.component-BLleTFyw.mjs.map} +1 -1
  45. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  46. package/lib/app/directives/core-accordion.directive.d.ts +13 -0
  47. package/lib/app/interfaces/IQueryListRequest.d.ts +5 -0
  48. package/lib/app/libraries/core-employee-seeker/core-employee-seeker/core-employee-seeker.component.d.ts +22 -2
  49. package/lib/app/libraries/core-form-control-seeker/core-form-control-seeker/core-form-control-seeker.component.d.ts +2 -1
  50. package/lib/app/libraries/core-header-params/enum-and-interfaces.d.ts +4 -0
  51. package/lib/app/libraries/core-page-list/core-page-list.component.d.ts +6 -2
  52. package/lib/app/libraries/core-page-list/core-page-list.service.d.ts +2 -1
  53. package/lib/app/root/at-shift-pattern-apply/at-shift-pattern-apply.component.d.ts +1 -0
  54. package/lib/app/services/app-config.service.d.ts +21 -0
  55. package/lib/app/services/dynamic-style.service.d.ts +1 -0
  56. package/package.json +2 -2
  57. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-status.component-DdzM44wT.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.html"],"sourcesContent":["import { Component, computed, inject, input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe, NgClass } from '@angular/common';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { HtmlTooltipDirective } from '../../../directives/html-tooltip.directive';\r\n\r\n@Component({\r\n selector: 'runtime-routing',\r\n imports: [\r\n NgClass,\r\n ImageErrorResolverDirective,\r\n MapAvatarToServerPipe,\r\n HtmlTooltipDirective,\r\n TableCellPipe,\r\n JsonPipe,\r\n ],\r\n templateUrl: './runtime-routing.component.html',\r\n styleUrl: './runtime-routing.component.scss'\r\n})\r\nexport class RuntimeRoutingComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>();\r\n\r\n as = inject(AlertService);\r\n\r\n $steps = computed(() => {\r\n const stepProgresses = this.$instance()?.stepProgresses ?? [];\r\n stepProgresses.forEach(s => {\r\n if (!!s.exeConfigJson) {\r\n s.exeConfig = JSON.parse(s.exeConfigJson);\r\n } else {\r\n s.exeConfig = {};\r\n }\r\n \r\n })\r\n stepProgresses.sort((a, b) => a.stepOrder - b.stepOrder);\r\n return [...stepProgresses];\r\n })\r\n\r\n getStepStatusClass(step: IWorkflowStepProgress): string {\r\n if (step.passed === true) return 'resolved';\r\n if (step.passed === false) return 'error';\r\n return 'empty';\r\n }\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n}\r\n","<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n\r\n\r\n\r\n\r\n <!-- <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n\r\n\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div> -->\r\n\r\n\r\n <div class=\"avatar-wrapper avatar-stack\">\r\n\r\n <!-- Avatar gốc -->\r\n <img\r\n [src]=\"actor.actorAvatar | mapAvatarToServer\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale\"\r\n class=\"actor-avatar base-avatar\"\r\n [alt]=\"actor.actorFullname\" />\r\n\r\n <!-- Avatar acting (chồng lên) -->\r\n @if (actor.actingEmployeeId &&\r\n actor.actingEmployeeId !== actor.actorEmployeeId) {\r\n\r\n <img\r\n [src]=\"actor.actingAvatar | mapAvatarToServer\"\r\n appImageErrorResolver\r\n [htmlTooltip]=\"actingTooltipTpl\"\r\n [tooltipContext]=\"{ actor: actor }\"\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.actingActorIsFemale\"\r\n class=\"actor-avatar acting-avatar\"\r\n [alt]=\"actor.actingActorFullname\" />\r\n }\r\n\r\n <div class=\"status-icon\"\r\n [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'PENDING' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">⚠ No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #actingTooltipTpl let-actor=\"actor\">\r\n <div class=\"delegation-tooltip\">\r\n <div class=\"tooltip-line\">\r\n <strong>Original:</strong> {{ actor.actorFullname }}\r\n </div>\r\n <div class=\"tooltip-line\">\r\n <strong>Acted by:</strong> {{ actor.actingFullname }}\r\n </div>\r\n <div class=\"tooltip-line muted\">\r\n Action performed via delegation\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'runtime-logs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe // usage: value | tableCell : 'DATE_TIME' : lang\r\n ],\r\n templateUrl: './runtime-logs.component.html',\r\n styleUrl: './runtime-logs.component.scss'\r\n})\r\nexport class RuntimeLogsComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>(null);\r\n\r\n $logs = computed(() => this.$instance()?.workflowLogs);\r\n}\r\n","<div class=\"runtime-logs-wrapper\">\r\n <h4><i class=\"feather-list\"></i> Logs</h4>\r\n\r\n @if (!$logs()?.length) {\r\n <div class=\"empty-log\">\r\n <i class=\"feather-info\"></i> No logs available.\r\n </div>\r\n } @else {\r\n <ul class=\"log-list\">\r\n @for (log of $logs(); track log.id) {\r\n <li class=\"log-item\">\r\n <div class=\"log-icon\"><i class=\"feather-clock\"></i></div>\r\n <div class=\"log-content\">\r\n <div class=\"log-time\">{{ log.occurredAt | tableCell : 'DATE_TIME' : lang }}</div>\r\n <div class=\"log-text\">{{ log.logText }}</div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { catchError, finalize, of, tap } from 'rxjs';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTerminalSpinnerComponent } from '../../core-terminal-spinner/core-terminal-spinner.component';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { RuntimeRoutingComponent } from '../runtime-routing/runtime-routing.component';\r\nimport { IRoutingStep } from '../interfaces/IRoutingStep';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { RuntimeLogsComponent } from '../runtime-logs/runtime-logs.component';\r\nimport { NgClass } from '@angular/common';\r\nimport { EnumCoreButtonCode } from '../../core-button-group/core-button/EnumButtonCaptionCode';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-status',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe,\r\n NgClass,\r\n CorePageHeaderComponent,\r\n CoreTerminalSpinnerComponent,\r\n RuntimeRoutingComponent,\r\n RuntimeLogsComponent,\r\n ],\r\n templateUrl: './wf-instance-status.component.html',\r\n styleUrl: './wf-instance-status.component.scss'\r\n})\r\n\r\nexport class WfInstanceStatusComponent extends BaseComponent {\r\n route = inject(ActivatedRoute);\r\n appService = inject(AppService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n $loading = signal(true);\r\n $instance = signal<IWorkflowInstance | null>(null);\r\n $error = signal<string | null>(null);\r\n $correlationId = signal<string | null>(null);\r\n\r\n $attributesBeauty = computed(() => {\r\n return JSON.stringify((this.$instance()?.attributes ?? {}), null, 2);\r\n })\r\n\r\n $isExpanded = signal(false);\r\n\r\n onCorePageHeaderButtonClicked(e: any) {\r\n if (e.code === \"HEADER_TERMINATE\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"TERMINATED\", \"Random Terminate Test\").pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n } else if (e.code === \"HEADER_DEBUG\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"REVOKED\", \"Random Revoke Test\", 10678).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n refresh(): void {\r\n const correlationId = this.$correlationId();\r\n if (!!correlationId) {\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetStatus?correlationId=${correlationId}&usehub=true`).pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n this.$loading.set(false);\r\n const msg =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS/HttpErrorResponse\r\n err?.statusText || // Fallback text\r\n 'An unknown error occurred.';\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode: msg,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false); \r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n const raw: IWorkflowInstance = x.body.innerBody;\r\n raw.attributes = JSON.parse(raw.attributesJson);\r\n\r\n raw.stepProgresses.forEach(step => {\r\n if (!!step.exeConfigJson) {\r\n step.exeConfig = JSON.parse(step.exeConfigJson);\r\n } else {\r\n step.exeConfig = {};\r\n }\r\n })\r\n\r\n this.$instance.set(raw);\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private ss: SocketService,\r\n private as: AlertService,\r\n ) {\r\n super(mls);\r\n\r\n effect(() => {\r\n const status = ss.$workflowTicket();\r\n if (status?.correlationId.toLocaleLowerCase() === this.$correlationId()?.toLocaleLowerCase()) {\r\n this.as.info(\"The status has been changed\", alertOptions);\r\n this.refresh();\r\n }\r\n })\r\n\r\n this.subscriptions.push(\r\n this.route.paramMap.subscribe(p => {\r\n const correlationId = p.get('id');\r\n this.$correlationId.set(correlationId);\r\n })\r\n )\r\n\r\n effect(() => {\r\n const _ = this.$correlationId();\r\n this.refresh();\r\n })\r\n }\r\n\r\n toggleAccordion(): void {\r\n this.$isExpanded.set(!this.$isExpanded());\r\n }\r\n\r\n copy(value: string | number | undefined | null): void {\r\n if (!value) return;\r\n navigator.clipboard.writeText(value.toString()).then(() => {\r\n this.as.success('Copied!', alertOptions);\r\n });\r\n }\r\n\r\n\r\n}\r\n","<div class=\"wf-instance-status-container\">\r\n <core-page-header [title]=\"'Workflow Instance Status'\" (buttonClick)=\"onCorePageHeaderButtonClicked($event)\"/>\r\n\r\n <div class=\"status-parts\">\r\n <div class=\"saga\">\r\n @if ($loading()) {\r\n <p class=\"wf-status-loading\">\r\n <core-terminal-spinner />\r\n </p>\r\n } @else if ($error()) {\r\n <p class=\"wf-status-error\">⚠️ {{ $error() }}</p>\r\n } @else if (!$instance()) {\r\n <p class=\"wf-status-empty\">No instance data found.</p>\r\n } @else {\r\n <div class=\"wf-status-card\">\r\n\r\n <!-- Workflow Info -->\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Workflow Name:</label>\r\n <span>{{ $instance()!.workflowName }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current State:</label>\r\n <span class=\"wf-status-badge1 wf-status-{{ $instance()!.currentState.toLowerCase() }}\">\r\n {{ $instance()!.currentState }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current Step:</label>\r\n <span>{{ $instance()!.currentStepName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Action At:</label>\r\n <span>{{ $instance()!.lastActionAt | tableCell : 'DATE_TIME' : lang }}</span>\r\n </div>\r\n\r\n <!-- First Actor Info -->\r\n <div class=\"wf-status-subtitle\">📌 First Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.firstActorFullname }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.firstActorEmail }}</span>\r\n </div>\r\n\r\n <!-- Last Actor Info -->\r\n <div class=\"wf-status-subtitle\">🔍 Last Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.lastActorFullname || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.lastActorEmail || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee Code:</label>\r\n <span>{{ $instance()!.lastActorEmployeeCode || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Position Name:</label>\r\n <span>{{ $instance()!.lastActorPositionName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Job Name:</label>\r\n <span>{{ $instance()!.lastActorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>System Messages:</label>\r\n <span>{{ $instance()!.systemMessages || '—' }}</span>\r\n </div>\r\n\r\n <!-- Show More Section -->\r\n\r\n @if (!$instance()?.globalConfig.instanceStatusHideMore) {\r\n\r\n <div class=\"wf-status-accordion\">\r\n <button class=\"accordion-summary\" (click)=\"toggleAccordion()\">\r\n <span><i [ngClass]=\"$isExpanded() ? 'feather-minus' : 'feather-plus'\"></i></span> {{ $isExpanded() ? 'Hide Details' : 'Show More' }}\r\n </button>\r\n\r\n <div class=\"accordion-body\" [style.maxHeight]=\"$isExpanded() ? '1000px' : '0'\"\r\n [style.opacity]=\"$isExpanded() ? '1' : '0'\" [style.pointerEvents]=\"$isExpanded() ? 'auto' : 'none'\">\r\n <div class=\"wf-status-row\">\r\n <label>Workflow ID:</label>\r\n <span>\r\n {{ $instance()!.workflowId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.workflowId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee ID:</label>\r\n <span>\r\n {{ $instance()!.lastActorEmployeeId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.lastActorEmployeeId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Triggered Step ID:</label>\r\n <span>\r\n {{ $instance()!.lastTriggeredStepId || '—' }}\r\n </span>\r\n @if ($instance()!.lastTriggeredStepId) {\r\n <button type=\"button\" (click)=\"copy($instance()!.lastTriggeredStepId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n }\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Attributes JSON:</label>\r\n <span>\r\n <code>{{ $attributesBeauty() }}</code>\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.attributesJson)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Debug Mode:</label>\r\n <span>{{ $instance()!.isDebug ? '✔ Enabled' : '❌ Disabled' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n @if (!$instance()?.globalConfig.instanceStatusHideLogs) {\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>"],"names":["i1.MultiLanguageService","i2.SocketService","i3.AlertService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-instance-status.component-CRxpzsUc.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-routing/runtime-routing.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/runtime-logs/runtime-logs.component.html","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-status/wf-instance-status.component.html"],"sourcesContent":["import { Component, computed, inject, input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe, NgClass } from '@angular/common';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { HtmlTooltipDirective } from '../../../directives/html-tooltip.directive';\r\n\r\n@Component({\r\n selector: 'runtime-routing',\r\n imports: [\r\n NgClass,\r\n ImageErrorResolverDirective,\r\n MapAvatarToServerPipe,\r\n HtmlTooltipDirective,\r\n TableCellPipe,\r\n JsonPipe,\r\n ],\r\n templateUrl: './runtime-routing.component.html',\r\n styleUrl: './runtime-routing.component.scss'\r\n})\r\nexport class RuntimeRoutingComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>();\r\n\r\n as = inject(AlertService);\r\n\r\n $steps = computed(() => {\r\n const stepProgresses = this.$instance()?.stepProgresses ?? [];\r\n stepProgresses.forEach(s => {\r\n if (!!s.exeConfigJson) {\r\n s.exeConfig = JSON.parse(s.exeConfigJson);\r\n } else {\r\n s.exeConfig = {};\r\n }\r\n \r\n })\r\n stepProgresses.sort((a, b) => a.stepOrder - b.stepOrder);\r\n return [...stepProgresses];\r\n })\r\n\r\n getStepStatusClass(step: IWorkflowStepProgress): string {\r\n if (step.passed === true) return 'resolved';\r\n if (step.passed === false) return 'error';\r\n return 'empty';\r\n }\r\n\r\n constructor(public override mls: MultiLanguageService) {\r\n super(mls);\r\n }\r\n}\r\n","<div class=\"runtime-routing-container inter-font p-relative\">\r\n @if ($instance() && $steps()?.length) {\r\n <div class=\"workflow-wrapper\">\r\n @for (step of $steps(); track step.id) {\r\n\r\n <div class=\"step-column\" [attr.data-actor-count]=\"step.stepProgressActors?.length\">\r\n\r\n <div class=\"step-column-aux\">\r\n <div [ngClass]=\"step.exeConfig?.routingLogic ?? ''\" class=\"step-header {{ step.stepType.toLowerCase() }} {{ getStepStatusClass(step) }}\">\r\n {{ step.stepName }}\r\n </div>\r\n\r\n @for (actor of step.stepProgressActors; track actor.id) {\r\n <div class=\"actor-card-aux\">\r\n <div class=\"actor-card d-flex d-flex-start {{ step.stepType.toLowerCase() }}\">\r\n\r\n\r\n\r\n\r\n <!-- <div class=\"avatar-wrapper\">\r\n <img [src]=\"actor.actorAvatar\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale!\"\r\n class=\"actor-avatar\" [alt]=\"actor.actorFullname\" />\r\n\r\n\r\n <div class=\"status-icon\" [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n\r\n </div>\r\n </div> -->\r\n\r\n\r\n <div class=\"avatar-wrapper avatar-stack\">\r\n\r\n <!-- Avatar gốc -->\r\n <img\r\n [src]=\"actor.actorAvatar | mapAvatarToServer\"\r\n appImageErrorResolver\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.isFemale\"\r\n class=\"actor-avatar base-avatar\"\r\n [alt]=\"actor.actorFullname\" />\r\n\r\n <!-- Avatar acting (chồng lên) -->\r\n @if (actor.actingEmployeeId &&\r\n actor.actingEmployeeId !== actor.actorEmployeeId) {\r\n\r\n <img\r\n [src]=\"actor.actingAvatar | mapAvatarToServer\"\r\n appImageErrorResolver\r\n [htmlTooltip]=\"actingTooltipTpl\"\r\n [tooltipContext]=\"{ actor: actor }\"\r\n [type]=\"'AVATAR'\"\r\n [isFemale]=\"!!actor.actingActorIsFemale\"\r\n class=\"actor-avatar acting-avatar\"\r\n [alt]=\"actor.actingActorFullname\" />\r\n }\r\n\r\n <div class=\"status-icon\"\r\n [ngClass]=\"(actor.status || 'pending').toLowerCase()\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"actor-details\">\r\n <div class=\"actor-line\">\r\n <i class=\"feather-user\"></i>\r\n <span class=\"actor-full-name\" [title]=\"actor.actorFullname\">{{ actor.actorFullname\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-briefcase\"></i>\r\n <span [title]=\"actor.actorJobName\">{{ actor.actorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-mail\"></i>\r\n <span [title]=\"actor.actorEmail\">{{ actor.actorEmail }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-hash\"></i>\r\n <span [title]=\"actor.actorEmployeeCode\">{{ actor.actorEmployeeCode }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-check-circle\"></i>\r\n <span [title]=\"actor.status\">{{ actor.status || 'PENDING' }}</span>\r\n </div>\r\n\r\n <div class=\"actor-line\">\r\n <i class=\"feather-clock\"></i>\r\n <span [title]=\"actor.votedAt\">{{ actor.votedAt | tableCell: 'DATE_TIME' : lang }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!$steps().length) {\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">No steps</div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"workflow-wrapper\">\r\n <div class=\"step-column\">\r\n <div class=\"step-header empty\">⚠ No steps to display</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #actingTooltipTpl let-actor=\"actor\">\r\n <div class=\"delegation-tooltip\">\r\n <div class=\"tooltip-line\">\r\n <strong>Original:</strong> {{ actor.actorFullname }}\r\n </div>\r\n <div class=\"tooltip-line\">\r\n <strong>Acted by:</strong> {{ actor.actingFullname }}\r\n </div>\r\n <div class=\"tooltip-line muted\">\r\n Action performed via delegation\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { IWorkflowStepProgress } from '../interfaces/IWorkflowStepProgress';\r\nimport { IWorkflowStepProgressActor } from '../interfaces/IWorkflowStepProgressActor';\r\nimport { ImageErrorResolverDirective } from '../../../directives/image-error-resolver.directive';\r\nimport { MapAvatarToServerPipe } from '../../../app-pipes/map-avatar-to-server.pipe';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'runtime-logs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe // usage: value | tableCell : 'DATE_TIME' : lang\r\n ],\r\n templateUrl: './runtime-logs.component.html',\r\n styleUrl: './runtime-logs.component.scss'\r\n})\r\nexport class RuntimeLogsComponent extends BaseComponent {\r\n $instance = input<IWorkflowInstance | null>(null);\r\n\r\n $logs = computed(() => this.$instance()?.workflowLogs);\r\n}\r\n","<div class=\"runtime-logs-wrapper\">\r\n <h4><i class=\"feather-list\"></i> Logs</h4>\r\n\r\n @if (!$logs()?.length) {\r\n <div class=\"empty-log\">\r\n <i class=\"feather-info\"></i> No logs available.\r\n </div>\r\n } @else {\r\n <ul class=\"log-list\">\r\n @for (log of $logs(); track log.id) {\r\n <li class=\"log-item\">\r\n <div class=\"log-icon\"><i class=\"feather-clock\"></i></div>\r\n <div class=\"log-content\">\r\n <div class=\"log-time\">{{ log.occurredAt | tableCell : 'DATE_TIME' : lang }}</div>\r\n <div class=\"log-text\">{{ log.logText }}</div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { catchError, finalize, of, tap } from 'rxjs';\r\nimport { TableCellPipe } from '../../pipes/table-cell.pipe';\r\nimport { SocketService } from '../../../services/socket.service';\r\nimport { CorePageHeaderComponent } from '../../core-page-header/core-page-header/core-page-header.component';\r\nimport { CoreTerminalSpinnerComponent } from '../../core-terminal-spinner/core-terminal-spinner.component';\r\nimport { IWorkflowInstance } from '../interfaces/IWorkflowInstance';\r\nimport { RuntimeRoutingComponent } from '../runtime-routing/runtime-routing.component';\r\nimport { IRoutingStep } from '../interfaces/IRoutingStep';\r\nimport { AlertService } from '../../alert/alert.service';\r\nimport { alertOptions } from '../../../constants/alertOptions';\r\nimport { RuntimeLogsComponent } from '../runtime-logs/runtime-logs.component';\r\nimport { NgClass } from '@angular/common';\r\nimport { EnumCoreButtonCode } from '../../core-button-group/core-button/EnumButtonCaptionCode';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-status',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TableCellPipe,\r\n NgClass,\r\n CorePageHeaderComponent,\r\n CoreTerminalSpinnerComponent,\r\n RuntimeRoutingComponent,\r\n RuntimeLogsComponent,\r\n ],\r\n templateUrl: './wf-instance-status.component.html',\r\n styleUrl: './wf-instance-status.component.scss'\r\n})\r\n\r\nexport class WfInstanceStatusComponent extends BaseComponent {\r\n route = inject(ActivatedRoute);\r\n appService = inject(AppService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n $loading = signal(true);\r\n $instance = signal<IWorkflowInstance | null>(null);\r\n $error = signal<string | null>(null);\r\n $correlationId = signal<string | null>(null);\r\n\r\n $attributesBeauty = computed(() => {\r\n return JSON.stringify((this.$instance()?.attributes ?? {}), null, 2);\r\n })\r\n\r\n $isExpanded = signal(false);\r\n\r\n onCorePageHeaderButtonClicked(e: any) {\r\n if (e.code === \"HEADER_TERMINATE\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"TERMINATED\", \"Random Terminate Test\").pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n } else if (e.code === \"HEADER_DEBUG\") {\r\n this.$loading.set(true);\r\n this.subscriptions.push(\r\n this.wfs.inject(`${this.$instance()?.workflowId}___${this.$correlationId()}`, \"REVOKED\", \"Random Revoke Test\", 10678).pipe(\r\n catchError(err => {\r\n this.$loading.set(false);\r\n return of(err);\r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n refresh(): void {\r\n const correlationId = this.$correlationId();\r\n if (!!correlationId) {\r\n this.subscriptions.push(\r\n this.appService.get(`/api/WorkflowEngine/GetStatus?correlationId=${correlationId}&usehub=true`).pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n this.$loading.set(false);\r\n const msg =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS/HttpErrorResponse\r\n err?.statusText || // Fallback text\r\n 'An unknown error occurred.';\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode: msg,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => {\r\n this.$loading.set(false); \r\n })\r\n ).subscribe(x => {\r\n this.$loading.set(false);\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n\r\n const raw: IWorkflowInstance = x.body.innerBody;\r\n raw.attributes = JSON.parse(raw.attributesJson);\r\n\r\n raw.stepProgresses.forEach(step => {\r\n if (!!step.exeConfigJson) {\r\n step.exeConfig = JSON.parse(step.exeConfigJson);\r\n } else {\r\n step.exeConfig = {};\r\n }\r\n })\r\n\r\n this.$instance.set(raw);\r\n\r\n }\r\n })\r\n )\r\n }\r\n }\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private ss: SocketService,\r\n private as: AlertService,\r\n ) {\r\n super(mls);\r\n\r\n effect(() => {\r\n const status = ss.$workflowTicket();\r\n if (status?.correlationId.toLocaleLowerCase() === this.$correlationId()?.toLocaleLowerCase()) {\r\n this.as.info(\"The status has been changed\", alertOptions);\r\n this.refresh();\r\n }\r\n })\r\n\r\n this.subscriptions.push(\r\n this.route.paramMap.subscribe(p => {\r\n const correlationId = p.get('id');\r\n this.$correlationId.set(correlationId);\r\n })\r\n )\r\n\r\n effect(() => {\r\n const _ = this.$correlationId();\r\n this.refresh();\r\n })\r\n }\r\n\r\n toggleAccordion(): void {\r\n this.$isExpanded.set(!this.$isExpanded());\r\n }\r\n\r\n copy(value: string | number | undefined | null): void {\r\n if (!value) return;\r\n navigator.clipboard.writeText(value.toString()).then(() => {\r\n this.as.success('Copied!', alertOptions);\r\n });\r\n }\r\n\r\n\r\n}\r\n","<div class=\"wf-instance-status-container\">\r\n <core-page-header [title]=\"'Workflow Instance Status'\" (buttonClick)=\"onCorePageHeaderButtonClicked($event)\"/>\r\n\r\n <div class=\"status-parts\">\r\n <div class=\"saga\">\r\n @if ($loading()) {\r\n <p class=\"wf-status-loading\">\r\n <core-terminal-spinner />\r\n </p>\r\n } @else if ($error()) {\r\n <p class=\"wf-status-error\">⚠️ {{ $error() }}</p>\r\n } @else if (!$instance()) {\r\n <p class=\"wf-status-empty\">No instance data found.</p>\r\n } @else {\r\n <div class=\"wf-status-card\">\r\n\r\n <!-- Workflow Info -->\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Workflow Name:</label>\r\n <span>{{ $instance()!.workflowName }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current State:</label>\r\n <span class=\"wf-status-badge1 wf-status-{{ $instance()!.currentState.toLowerCase() }}\">\r\n {{ $instance()!.currentState }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Current Step:</label>\r\n <span>{{ $instance()!.currentStepName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Action At:</label>\r\n <span>{{ $instance()!.lastActionAt | tableCell : 'DATE_TIME' : lang }}</span>\r\n </div>\r\n\r\n <!-- First Actor Info -->\r\n <div class=\"wf-status-subtitle\">📌 First Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.firstActorFullname }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.firstActorEmail }}</span>\r\n </div>\r\n\r\n <!-- Last Actor Info -->\r\n <div class=\"wf-status-subtitle\">🔍 Last Actor</div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Full Name:</label>\r\n <span>{{ $instance()!.lastActorFullname || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Email:</label>\r\n <span>{{ $instance()!.lastActorEmail || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee Code:</label>\r\n <span>{{ $instance()!.lastActorEmployeeCode || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Position Name:</label>\r\n <span>{{ $instance()!.lastActorPositionName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Job Name:</label>\r\n <span>{{ $instance()!.lastActorJobName || '—' }}</span>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>System Messages:</label>\r\n <span>{{ $instance()!.systemMessages || '—' }}</span>\r\n </div>\r\n\r\n <!-- Show More Section -->\r\n\r\n @if (!$instance()?.globalConfig.instanceStatusHideMore) {\r\n\r\n <div class=\"wf-status-accordion\">\r\n <button class=\"accordion-summary\" (click)=\"toggleAccordion()\">\r\n <span><i [ngClass]=\"$isExpanded() ? 'feather-minus' : 'feather-plus'\"></i></span> {{ $isExpanded() ? 'Hide Details' : 'Show More' }}\r\n </button>\r\n\r\n <div class=\"accordion-body\" [style.maxHeight]=\"$isExpanded() ? '1000px' : '0'\"\r\n [style.opacity]=\"$isExpanded() ? '1' : '0'\" [style.pointerEvents]=\"$isExpanded() ? 'auto' : 'none'\">\r\n <div class=\"wf-status-row\">\r\n <label>Workflow ID:</label>\r\n <span>\r\n {{ $instance()!.workflowId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.workflowId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Employee ID:</label>\r\n <span>\r\n {{ $instance()!.lastActorEmployeeId }}\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.lastActorEmployeeId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Last Triggered Step ID:</label>\r\n <span>\r\n {{ $instance()!.lastTriggeredStepId || '—' }}\r\n </span>\r\n @if ($instance()!.lastTriggeredStepId) {\r\n <button type=\"button\" (click)=\"copy($instance()!.lastTriggeredStepId)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n }\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Attributes JSON:</label>\r\n <span>\r\n <code>{{ $attributesBeauty() }}</code>\r\n </span>\r\n <button type=\"button\" (click)=\"copy($instance()!.attributesJson)\" class=\"copy-btn\"><i class=\"feather-clipboard\"></i></button>\r\n </div>\r\n\r\n <div class=\"wf-status-row\">\r\n <label>Debug Mode:</label>\r\n <span>{{ $instance()!.isDebug ? '✔ Enabled' : '❌ Disabled' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"runtime-routing-n-logs\">\r\n <runtime-routing [$instance]=\"$instance()\" />\r\n @if (!$instance()?.globalConfig.instanceStatusHideLogs) {\r\n <div class=\"h15\"></div>\r\n <runtime-logs [$instance]=\"$instance()\" />\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>"],"names":["i1.MultiLanguageService","i2.SocketService","i3.AlertService"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, inject, effect, Component } from '@angular/core';
3
- import { B as BaseComponent, n as CoreWorkflowService, E as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs';
3
+ import { B as BaseComponent, n as CoreWorkflowService, E as EnumFormBaseContolType, M as MultiLanguageService, A as AppService, F as FullscreenModalLoaderComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Bfddt3DJ.mjs';
4
4
  import { BehaviorSubject, tap, catchError, of, finalize } from 'rxjs';
5
- import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-vNa45nJi.mjs';
5
+ import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-DTSF49aS.mjs';
6
6
  import { Validators } from '@angular/forms';
7
7
  import { EnumTranslateKey } from 'alpha-global-constants';
8
8
  import * as i1 from '@angular/router';
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
102
102
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: i1.ActivatedRoute }, { type: AppService }] });
103
103
 
104
104
  export { WfInstanceStepReactComponent };
105
- //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs.map
105
+ //# sourceMappingURL=ngx-histaff-alpha-wf-instance-step-react.component-GtdbtqYU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.html"],"sourcesContent":["import { Component, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { BehaviorSubject, catchError, finalize, of, tap } from 'rxjs';\r\nimport { LiveFormComponent } from '../../core-form-design/live-form/live-form.component';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\nimport { IFormBaseControl } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { Validators } from '@angular/forms';\r\nimport { EnumTranslateKey } from 'alpha-global-constants';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IWorkflowReactContext } from '../interfaces/IWorkflowReactContext';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-step-react',\r\n imports: [\r\n LiveFormComponent,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './wf-instance-step-react.component.html',\r\n styleUrl: './wf-instance-step-react.component.scss'\r\n})\r\nexport class WfInstanceStepReactComponent extends BaseComponent {\r\n $id = signal<string>('');\r\n $delegationId = signal<string | undefined>(undefined);\r\n $loading = signal(false);\r\n $context = signal<IWorkflowReactContext | null>(null); // May be improved with interface\r\n\r\n $reactMode = signal(false);\r\n\r\n wfs = inject(CoreWorkflowService);\r\n\r\n injectedFields$ = new BehaviorSubject<IFormBaseControl[]>(\r\n [\r\n {\r\n field: \"___reason\",\r\n type: \"text\",\r\n value: '',\r\n label: \"UI_FORM_CONTROL_LABEL.REASON\",\r\n flexSize: 12,\r\n controlType: EnumFormBaseContolType.TEXTAREA,\r\n textareaRows: 5,\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED\r\n }\r\n ],\r\n }\r\n ]\r\n )\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private route: ActivatedRoute,\r\n private appService: AppService,\r\n ) {\r\n super(mls);\r\n\r\n this.route.params.subscribe(p => {\r\n this.$id.set(p['id']);\r\n });\r\n\r\n this.route.queryParams.subscribe(q => {\r\n this.$delegationId.set(q['delegationId'] ?? null);\r\n });\r\n\r\n effect(() => {\r\n const id = this.$id();\r\n const delegationId = this.$delegationId();\r\n\r\n if (!id || !id.length) return;\r\n\r\n let endPoint = `/api/WorkflowEngine/GetReactContext?unitedCorrelationIds=${encodeURIComponent(id)}`\r\n\r\n if (delegationId) {\r\n endPoint = endPoint + `&delegationId=${encodeURIComponent(delegationId)}`\r\n }\r\n\r\n this.subscriptions.push(\r\n this.appService.get(`${endPoint}`)\r\n .pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n const messageCode =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS or HttpErrorResponse\r\n err?.statusText || // Fallback\r\n 'An unknown error occurred.';\r\n\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => this.$loading.set(false))\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const context: IWorkflowReactContext | null = x.body.innerBody;\r\n\r\n\r\n if (context) {\r\n context.delegationId = this.$delegationId();\r\n if (!!context.actingActor) {\r\n context.actor.actorEmployeeId = context.actingActor.employeeId;\r\n context.actor.actorEmployeeCode = context.actingActor.employeeCode;\r\n context.actor.actorAvatar = context.actingActor.avatar;\r\n context.actor.actorEmail = context.actingActor.email;\r\n context.actor.actorPositionName = context.actingActor.positionName;\r\n context.actor.actorOrgName = context.actingActor.orgName;\r\n context.actor.actorFullname = context.actingActor.fullname;\r\n }\r\n }\r\n console.log(\"workflowReactContext changed\", context);\r\n this.$context.set(context);\r\n }\r\n })\r\n )\r\n\r\n });\r\n }\r\n}\r\n","<live-form [$workflowReactContext]=\"$context()\" [$forKickOff]=\"false\" />\r\n\r\n@if ($loading()) {\r\n <app-fullscreen-modal-loader />\r\n}\r\n"],"names":["i1.MultiLanguageService","i2","i3.AppService"],"mappings":";;;;;;;;;AAyBM,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AA+B7D,IAAA,WAAA,CACkB,GAAyB,EACjC,KAAqB,EACrB,UAAsB,EAAA;QAE9B,KAAK,CAAC,GAAG,CAAC;QAJM,IAAG,CAAA,GAAA,GAAH,GAAG;QACX,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAU,CAAA,UAAA,GAAV,UAAU;AAjCpB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAS,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAqB,SAAS,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAA+B,IAAI,CAAC,CAAC;AAEtD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAE1B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAEjC,IAAe,CAAA,eAAA,GAAG,IAAI,eAAe,CACnC;AACE,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,KAAK,EAAE,8BAA8B;AACrC,gBAAA,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,sBAAsB,CAAC,QAAQ;AAC5C,gBAAA,YAAY,EAAE,CAAC;AACf,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,UAAU,CAAC,QAAQ;wBAC9B,YAAY,EAAE,gBAAgB,CAAC;AAChC;AACF,iBAAA;AACF;AACF,SAAA,CACF;QASC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAG;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvB,SAAC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAG;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;AACnD,SAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE;AAEzC,YAAA,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM;gBAAE;YAEvB,IAAI,QAAQ,GAAG,CAA4D,yDAAA,EAAA,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAEnG,IAAI,YAAY,EAAE;gBAChB,QAAQ,GAAG,QAAQ,GAAG,CAAA,cAAA,EAAiB,kBAAkB,CAAC,YAAY,CAAC,CAAA,CAAE;;AAG3E,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAG,EAAA,QAAQ,EAAE;iBAC9B,IAAI,CACH,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EACjC,UAAU,CAAC,GAAG,IAAG;gBACf,MAAM,WAAW,GACf,GAAG,EAAE,KAAK,EAAE,OAAO;oBACnB,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,UAAU;AACf,oBAAA,4BAA4B;AAE9B,gBAAA,OAAO,EAAE,CAAC;AACR,oBAAA,EAAE,EAAE,KAAK;AACT,oBAAA,MAAM,EAAE,GAAG;AACX,oBAAA,IAAI,EAAE;wBACJ,WAAW;AACX,wBAAA,SAAS,EAAE,CAAC;AACZ,wBAAA,UAAU,EAAE,GAAG;AACf,wBAAA,SAAS,EAAE;AACS;AACvB,iBAAA,CAAC;AACJ,aAAC,CAAC,EACF,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAEzC,SAAS,CAAC,CAAC,IAAG;AACb,gBAAA,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,EAAE;AAC1D,oBAAA,MAAM,OAAO,GAAiC,CAAC,CAAC,IAAI,CAAC,SAAS;oBAG9D,IAAI,OAAO,EAAE;AACX,wBAAA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE;AAC3C,wBAAA,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;4BACzB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU;4BAC9D,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY;4BAClE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM;4BACtD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK;4BACpD,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY;4BAClE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO;4BACxD,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ;;;AAG9D,oBAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC;AACpD,oBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;aAE7B,CAAC,CACL;AAEH,SAAC,CAAC;;8GAzGO,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,ECzBzC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wJAKA,EDcI,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,8IACjB,8BAA8B,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKrB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EACzB,OAAA,EAAA;wBACP,iBAAiB;wBACjB;AACD,qBAAA,EAAA,QAAA,EAAA,wJAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-instance-step-react.component-GtdbtqYU.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.html"],"sourcesContent":["import { Component, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { BaseComponent } from '../../base-component/base/base.component';\r\nimport { MultiLanguageService } from '../../../services/multi-language.service';\r\nimport { BehaviorSubject, catchError, finalize, of, tap } from 'rxjs';\r\nimport { LiveFormComponent } from '../../core-form-design/live-form/live-form.component';\r\nimport { FullscreenModalLoaderComponent } from '../../fullscreen-modal-loader/fullscreen-modal-loader.component';\r\nimport { IFormBaseControl } from '../../core-form/core-form/enum-interfaces';\r\nimport { EnumFormBaseContolType } from '../../../enum/EnumFormBaseContolType';\r\nimport { Validators } from '@angular/forms';\r\nimport { EnumTranslateKey } from 'alpha-global-constants';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\nimport { IWorkflowReactContext } from '../interfaces/IWorkflowReactContext';\r\nimport { IFormatedResponse } from '../../../interfaces/IFormatedResponse';\r\n\r\n@Component({\r\n selector: 'wf-instance-step-react',\r\n imports: [\r\n LiveFormComponent,\r\n FullscreenModalLoaderComponent\r\n ],\r\n templateUrl: './wf-instance-step-react.component.html',\r\n styleUrl: './wf-instance-step-react.component.scss'\r\n})\r\nexport class WfInstanceStepReactComponent extends BaseComponent {\r\n $id = signal<string>('');\r\n $delegationId = signal<string | undefined>(undefined);\r\n $loading = signal(false);\r\n $context = signal<IWorkflowReactContext | null>(null); // May be improved with interface\r\n\r\n $reactMode = signal(false);\r\n\r\n wfs = inject(CoreWorkflowService);\r\n\r\n injectedFields$ = new BehaviorSubject<IFormBaseControl[]>(\r\n [\r\n {\r\n field: \"___reason\",\r\n type: \"text\",\r\n value: '',\r\n label: \"UI_FORM_CONTROL_LABEL.REASON\",\r\n flexSize: 12,\r\n controlType: EnumFormBaseContolType.TEXTAREA,\r\n textareaRows: 5,\r\n validators: [\r\n {\r\n name: 'required',\r\n validator: Validators.required,\r\n errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED\r\n }\r\n ],\r\n }\r\n ]\r\n )\r\n\r\n constructor(\r\n public override mls: MultiLanguageService,\r\n private route: ActivatedRoute,\r\n private appService: AppService,\r\n ) {\r\n super(mls);\r\n\r\n this.route.params.subscribe(p => {\r\n this.$id.set(p['id']);\r\n });\r\n\r\n this.route.queryParams.subscribe(q => {\r\n this.$delegationId.set(q['delegationId'] ?? null);\r\n });\r\n\r\n effect(() => {\r\n const id = this.$id();\r\n const delegationId = this.$delegationId();\r\n\r\n if (!id || !id.length) return;\r\n\r\n let endPoint = `/api/WorkflowEngine/GetReactContext?unitedCorrelationIds=${encodeURIComponent(id)}`\r\n\r\n if (delegationId) {\r\n endPoint = endPoint + `&delegationId=${encodeURIComponent(delegationId)}`\r\n }\r\n\r\n this.subscriptions.push(\r\n this.appService.get(`${endPoint}`)\r\n .pipe(\r\n tap(_ => this.$loading.set(true)),\r\n catchError(err => {\r\n const messageCode =\r\n err?.error?.message || // API-defined message\r\n err?.message || // Native JS or HttpErrorResponse\r\n err?.statusText || // Fallback\r\n 'An unknown error occurred.';\r\n\r\n return of({\r\n ok: false,\r\n status: 500,\r\n body: {\r\n messageCode,\r\n errorType: 2,\r\n statusCode: 500,\r\n innerBody: null\r\n } as IFormatedResponse\r\n });\r\n }),\r\n finalize(() => this.$loading.set(false))\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const context: IWorkflowReactContext | null = x.body.innerBody;\r\n\r\n\r\n if (context) {\r\n context.delegationId = this.$delegationId();\r\n if (!!context.actingActor) {\r\n context.actor.actorEmployeeId = context.actingActor.employeeId;\r\n context.actor.actorEmployeeCode = context.actingActor.employeeCode;\r\n context.actor.actorAvatar = context.actingActor.avatar;\r\n context.actor.actorEmail = context.actingActor.email;\r\n context.actor.actorPositionName = context.actingActor.positionName;\r\n context.actor.actorOrgName = context.actingActor.orgName;\r\n context.actor.actorFullname = context.actingActor.fullname;\r\n }\r\n }\r\n console.log(\"workflowReactContext changed\", context);\r\n this.$context.set(context);\r\n }\r\n })\r\n )\r\n\r\n });\r\n }\r\n}\r\n","<live-form [$workflowReactContext]=\"$context()\" [$forKickOff]=\"false\" />\r\n\r\n@if ($loading()) {\r\n <app-fullscreen-modal-loader />\r\n}\r\n"],"names":["i1.MultiLanguageService","i2","i3.AppService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, signal, computed, effect, Component } from '@angular/core';
3
3
  import { Router } from '@angular/router';
4
- import { n as CoreWorkflowService } from './ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs';
4
+ import { n as CoreWorkflowService } from './ngx-histaff-alpha-ngx-histaff-alpha-Bfddt3DJ.mjs';
5
5
  import * as i1 from '@angular/material/form-field';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
7
  import * as i2 from '@angular/material/input';
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
127
127
  }], ctorParameters: () => [] });
128
128
 
129
129
  export { WfLabComponent };
130
- //# sourceMappingURL=ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs.map
130
+ //# sourceMappingURL=ngx-histaff-alpha-wf-lab.component-BLleTFyw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.html"],"sourcesContent":["import { Component, signal, computed, inject, effect } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { IWfWorkflowGroup } from '../interfaces/IWfWorkflowGroup';\r\n\r\n@Component({\r\n selector: 'core-wf-lab',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n ],\r\n templateUrl: './wf-lab.component.html',\r\n styleUrl: './wf-lab.component.scss'\r\n})\r\nexport class WfLabComponent {\r\n\r\n router = inject(Router);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n // Inputs\r\n $workflowId = signal<string>('');\r\n $correlationId = signal<string>('');\r\n $stepId = signal<string>('');\r\n $actorId = signal<string>('');\r\n $reason = signal<string>('LAB reason…');\r\n\r\n // React / Inject\r\n $reactType = signal<string>('APPROVED');\r\n $injectType = signal<string>('CANCELLED');\r\n\r\n // Groups + Workflows\r\n $groups = this.wfs.$allGroups;\r\n $allWorkflows = computed(() => {\r\n return this.$groups().flatMap(g =>\r\n g.wfWorkflows.map(w => ({\r\n id: w.id,\r\n label: `${g.name} / ${w.name}`\r\n }))\r\n );\r\n });\r\n\r\n // Current steps (design-time steps)\r\n $steps = this.wfs.$currentSteps;\r\n\r\n // Auto-build United Correlation IDs\r\n $united = computed(() => {\r\n const w = this.$workflowId();\r\n const c = this.$correlationId();\r\n const s = this.$stepId();\r\n const a = this.$actorId();\r\n return (w && c && s && a)\r\n ? `${w}___${c}___${s}___${a}`\r\n : '';\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const existing = this.wfs.$allGroups();\r\n if (existing.length === 0) {\r\n this.loadGroupsOnce();\r\n }\r\n });\r\n }\r\n\r\n private loadGroupsOnce() {\r\n this.wfs\r\n .refreshObservable(\r\n '/api/WfWorkflowGroup/GetAllWithWorkflows',\r\n '',\r\n undefined,\r\n false\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const groups = (x.body.innerBody as IWfWorkflowGroup[])\r\n .map(g => ({ ...g, orderNum: g.orderNum ?? 999 }))\r\n .sort((a, b) => a.orderNum - b.orderNum);\r\n\r\n this.wfs.$allGroups.set(groups);\r\n } else {\r\n console.warn('⚠️ LAB: GetAllWithWorkflows failed', x.body);\r\n }\r\n });\r\n }\r\n\r\n // Select Workflow\r\n selectWorkflow(id: string) {\r\n this.$workflowId.set(id);\r\n }\r\n\r\n // Select React Type\r\n selectReactType(v: string) {\r\n this.$reactType.set(v);\r\n }\r\n\r\n // Select Inject Type\r\n selectInjectType(v: string) {\r\n this.$injectType.set(v);\r\n }\r\n\r\n // Execute React\r\n doReact() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.react(\r\n uid,\r\n this.$reactType(),\r\n this.$reason(),\r\n {}, \"\"\r\n ).subscribe();\r\n }\r\n\r\n // Execute Inject\r\n doInject() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.inject(\r\n uid,\r\n this.$injectType(),\r\n this.$reason()\r\n ).subscribe();\r\n }\r\n\r\n // Navigation\r\n openKickoff() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/workflow-consume', this.$workflowId()]);\r\n }\r\n\r\n openReactPage() {\r\n if (!this.$united()) return;\r\n this.router.navigate(['/root/workflow/react', this.$united()]);\r\n }\r\n\r\n openStatus() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/status', this.$workflowId()]);\r\n }\r\n\r\n openPreview() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', this.$workflowId()],\r\n { queryParams: { preview: true } }\r\n );\r\n }\r\n}\r\n","<div class=\"lab-container\">\r\n\r\n <h2>Workflow Engine LAB (Backend-Accurate)</h2>\r\n\r\n <!-- Workflow selector -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Select Workflow</mat-label>\r\n <mat-select\r\n [value]=\"$workflowId()\"\r\n (selectionChange)=\"selectWorkflow($any($event.value))\">\r\n\r\n @for (wf of $allWorkflows(); track wf.id) {\r\n <mat-option [value]=\"wf.id\">{{ wf.label }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <!-- Input Grid -->\r\n <div class=\"input-grid\">\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Workflow ID</mat-label>\r\n <input matInput [value]=\"$workflowId()\"\r\n (input)=\"$workflowId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Correlation ID</mat-label>\r\n <input matInput [value]=\"$correlationId()\"\r\n (input)=\"$correlationId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Step ID</mat-label>\r\n <mat-select\r\n [value]=\"$stepId()\"\r\n (selectionChange)=\"$stepId.set($any($event.value))\">\r\n\r\n @for (s of $steps(); track s.id) {\r\n <mat-option [value]=\"s.id\">{{ s.name }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Actor ID</mat-label>\r\n <input matInput [value]=\"$actorId()\"\r\n (input)=\"$actorId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <!-- Auto United -->\r\n <div class=\"united-display\">\r\n <div class=\"label\">UnitedCorrelationIds:</div>\r\n <div class=\"value\">{{$united()}}</div>\r\n </div>\r\n\r\n <!-- Reason -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Reason</mat-label>\r\n <textarea matInput rows=\"3\"\r\n [value]=\"$reason()\"\r\n (input)=\"$reason.set($any($event.target).value)\">\r\n </textarea>\r\n </mat-form-field>\r\n\r\n <!-- React Actions -->\r\n <div class=\"section-title\">React Actions (Actor)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>React Type</mat-label>\r\n <mat-select [value]=\"$reactType()\"\r\n (selectionChange)=\"selectReactType($any($event.value))\">\r\n\r\n <mat-option value=\"APPROVED\">APPROVED</mat-option>\r\n <mat-option value=\"REJECTED\">REJECTED</mat-option>\r\n <mat-option value=\"CONFIRMED\">CONFIRMED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"primary\" (click)=\"doReact()\">\r\n Run React\r\n </button>\r\n </div>\r\n\r\n <!-- Inject Actions -->\r\n <div class=\"section-title\">Inject Actions (System)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Inject Type</mat-label>\r\n <mat-select [value]=\"$injectType()\"\r\n (selectionChange)=\"selectInjectType($any($event.value))\">\r\n\r\n <mat-option value=\"CANCELLED\">CANCELLED</mat-option>\r\n <mat-option value=\"REVOKED\">REVOKED</mat-option>\r\n <mat-option value=\"TERMINATED\">TERMINATED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"warn\" (click)=\"doInject()\">\r\n Run Inject\r\n </button>\r\n </div>\r\n\r\n <!-- Navigation -->\r\n <div class=\"section-title\">Navigation</div>\r\n\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"openKickoff()\">Open Kickoff</button>\r\n <button mat-raised-button (click)=\"openReactPage()\">Open React Page</button>\r\n <button mat-raised-button (click)=\"openStatus()\">Open Status</button>\r\n <button mat-raised-button (click)=\"openPreview()\">Preview Mode</button>\r\n </div>\r\n\r\n</div>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-wf-lab.component-BLleTFyw.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.html"],"sourcesContent":["import { Component, signal, computed, inject, effect } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CoreWorkflowService } from '../core-workflow.service';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { IWfWorkflowGroup } from '../interfaces/IWfWorkflowGroup';\r\n\r\n@Component({\r\n selector: 'core-wf-lab',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n ],\r\n templateUrl: './wf-lab.component.html',\r\n styleUrl: './wf-lab.component.scss'\r\n})\r\nexport class WfLabComponent {\r\n\r\n router = inject(Router);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n // Inputs\r\n $workflowId = signal<string>('');\r\n $correlationId = signal<string>('');\r\n $stepId = signal<string>('');\r\n $actorId = signal<string>('');\r\n $reason = signal<string>('LAB reason…');\r\n\r\n // React / Inject\r\n $reactType = signal<string>('APPROVED');\r\n $injectType = signal<string>('CANCELLED');\r\n\r\n // Groups + Workflows\r\n $groups = this.wfs.$allGroups;\r\n $allWorkflows = computed(() => {\r\n return this.$groups().flatMap(g =>\r\n g.wfWorkflows.map(w => ({\r\n id: w.id,\r\n label: `${g.name} / ${w.name}`\r\n }))\r\n );\r\n });\r\n\r\n // Current steps (design-time steps)\r\n $steps = this.wfs.$currentSteps;\r\n\r\n // Auto-build United Correlation IDs\r\n $united = computed(() => {\r\n const w = this.$workflowId();\r\n const c = this.$correlationId();\r\n const s = this.$stepId();\r\n const a = this.$actorId();\r\n return (w && c && s && a)\r\n ? `${w}___${c}___${s}___${a}`\r\n : '';\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const existing = this.wfs.$allGroups();\r\n if (existing.length === 0) {\r\n this.loadGroupsOnce();\r\n }\r\n });\r\n }\r\n\r\n private loadGroupsOnce() {\r\n this.wfs\r\n .refreshObservable(\r\n '/api/WfWorkflowGroup/GetAllWithWorkflows',\r\n '',\r\n undefined,\r\n false\r\n )\r\n .subscribe(x => {\r\n if (x.ok && x.status === 200 && x.body?.statusCode === 200) {\r\n const groups = (x.body.innerBody as IWfWorkflowGroup[])\r\n .map(g => ({ ...g, orderNum: g.orderNum ?? 999 }))\r\n .sort((a, b) => a.orderNum - b.orderNum);\r\n\r\n this.wfs.$allGroups.set(groups);\r\n } else {\r\n console.warn('⚠️ LAB: GetAllWithWorkflows failed', x.body);\r\n }\r\n });\r\n }\r\n\r\n // Select Workflow\r\n selectWorkflow(id: string) {\r\n this.$workflowId.set(id);\r\n }\r\n\r\n // Select React Type\r\n selectReactType(v: string) {\r\n this.$reactType.set(v);\r\n }\r\n\r\n // Select Inject Type\r\n selectInjectType(v: string) {\r\n this.$injectType.set(v);\r\n }\r\n\r\n // Execute React\r\n doReact() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.react(\r\n uid,\r\n this.$reactType(),\r\n this.$reason(),\r\n {}, \"\"\r\n ).subscribe();\r\n }\r\n\r\n // Execute Inject\r\n doInject() {\r\n const uid = this.$united();\r\n if (!uid) return;\r\n\r\n this.wfs.inject(\r\n uid,\r\n this.$injectType(),\r\n this.$reason()\r\n ).subscribe();\r\n }\r\n\r\n // Navigation\r\n openKickoff() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/workflow-consume', this.$workflowId()]);\r\n }\r\n\r\n openReactPage() {\r\n if (!this.$united()) return;\r\n this.router.navigate(['/root/workflow/react', this.$united()]);\r\n }\r\n\r\n openStatus() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(['/root/workflow/status', this.$workflowId()]);\r\n }\r\n\r\n openPreview() {\r\n if (!this.$workflowId()) return;\r\n this.router.navigate(\r\n ['/root/workflow/workflow-consume', this.$workflowId()],\r\n { queryParams: { preview: true } }\r\n );\r\n }\r\n}\r\n","<div class=\"lab-container\">\r\n\r\n <h2>Workflow Engine LAB (Backend-Accurate)</h2>\r\n\r\n <!-- Workflow selector -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Select Workflow</mat-label>\r\n <mat-select\r\n [value]=\"$workflowId()\"\r\n (selectionChange)=\"selectWorkflow($any($event.value))\">\r\n\r\n @for (wf of $allWorkflows(); track wf.id) {\r\n <mat-option [value]=\"wf.id\">{{ wf.label }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <!-- Input Grid -->\r\n <div class=\"input-grid\">\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Workflow ID</mat-label>\r\n <input matInput [value]=\"$workflowId()\"\r\n (input)=\"$workflowId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Correlation ID</mat-label>\r\n <input matInput [value]=\"$correlationId()\"\r\n (input)=\"$correlationId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Step ID</mat-label>\r\n <mat-select\r\n [value]=\"$stepId()\"\r\n (selectionChange)=\"$stepId.set($any($event.value))\">\r\n\r\n @for (s of $steps(); track s.id) {\r\n <mat-option [value]=\"s.id\">{{ s.name }}</mat-option>\r\n }\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Actor ID</mat-label>\r\n <input matInput [value]=\"$actorId()\"\r\n (input)=\"$actorId.set($any($event.target).value)\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <!-- Auto United -->\r\n <div class=\"united-display\">\r\n <div class=\"label\">UnitedCorrelationIds:</div>\r\n <div class=\"value\">{{$united()}}</div>\r\n </div>\r\n\r\n <!-- Reason -->\r\n <mat-form-field appearance=\"outline\" class=\"w100\">\r\n <mat-label>Reason</mat-label>\r\n <textarea matInput rows=\"3\"\r\n [value]=\"$reason()\"\r\n (input)=\"$reason.set($any($event.target).value)\">\r\n </textarea>\r\n </mat-form-field>\r\n\r\n <!-- React Actions -->\r\n <div class=\"section-title\">React Actions (Actor)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>React Type</mat-label>\r\n <mat-select [value]=\"$reactType()\"\r\n (selectionChange)=\"selectReactType($any($event.value))\">\r\n\r\n <mat-option value=\"APPROVED\">APPROVED</mat-option>\r\n <mat-option value=\"REJECTED\">REJECTED</mat-option>\r\n <mat-option value=\"CONFIRMED\">CONFIRMED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"primary\" (click)=\"doReact()\">\r\n Run React\r\n </button>\r\n </div>\r\n\r\n <!-- Inject Actions -->\r\n <div class=\"section-title\">Inject Actions (System)</div>\r\n\r\n <div class=\"action-row\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Inject Type</mat-label>\r\n <mat-select [value]=\"$injectType()\"\r\n (selectionChange)=\"selectInjectType($any($event.value))\">\r\n\r\n <mat-option value=\"CANCELLED\">CANCELLED</mat-option>\r\n <mat-option value=\"REVOKED\">REVOKED</mat-option>\r\n <mat-option value=\"TERMINATED\">TERMINATED</mat-option>\r\n\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button color=\"warn\" (click)=\"doInject()\">\r\n Run Inject\r\n </button>\r\n </div>\r\n\r\n <!-- Navigation -->\r\n <div class=\"section-title\">Navigation</div>\r\n\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"openKickoff()\">Open Kickoff</button>\r\n <button mat-raised-button (click)=\"openReactPage()\">Open React Page</button>\r\n <button mat-raised-button (click)=\"openStatus()\">Open Status</button>\r\n <button mat-raised-button (click)=\"openPreview()\">Preview Mode</button>\r\n </div>\r\n\r\n</div>\r\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { aW as ActionService, cM as ActionSvgEditComponent, cu as AlertComponent, b as AlertService, cy as AnimatedTextComponent, cx as AnimatedTextService, a as AppConfigService, aX as AppInitializationService, A as AppService, R as ApplicationHelpService, bP as AtShiftPatternApplyComponent, bO as AtShiftPatternComponent, bQ as AtShiftPatternEditComponent, bR as AtWorksignComponent, bS as AtWorksignService, aY as AuthService, B as BaseComponent, cz as BaseDropdownComponent, h as BaseEditComponent, cC as ButtonGroupComponent, cA as ButtonGroupModule, cB as ButtonGroupService, dP as CARD_COLORS, at as CORE_VNS_BUTTONS, aZ as CacheService, aH as CanActivateFunctionUrlMapperGuard, t as CanDeactivateGuard, C as ChatService, a$ as CheckForUpdateService, b3 as ClientService, b4 as CommonHttpRequestService, b6 as ConfigService, cV as ConfirmDialogStateComponent, db as ControlBase, cF as CoreAccordionComponent, cG as CoreAccordionService, cH as CoreActiveUserCountComponent, cJ as CoreApiProgressComponent, ab as CoreAttachmentComponent, cE as CoreButtonComponent, cK as CoreButtonGroupComponent, cN as CoreButtonGroupService, a1 as CoreButtonGroupVnsComponent, cO as CoreButtonVnsComponent, l as CoreCheckboxComponent, a9 as CoreChecklistComponent, cP as CoreCommonParamKitComponent, cQ as CoreCompareDbPipelineComponent, cT as CoreCompositionComponent, cS as CoreCompositionService, cR as CoreCompositionState, cU as CoreConfirmDialogComponent, d0 as CoreContractSeekerComponent, a7 as CoreControlComponent, d1 as CoreControlNoGridBufferComponent, d2 as CoreControlNoSeekerComponent, dd as CoreControlService, ae as CoreCurrencyInputComponent, eL as CoreD3Service, ac as CoreDatePickerComponent, V as CoreDatetimeService, d4 as CoreDocgenToolbarComponent, a2 as CoreDropdownComponent, d5 as CoreEmployeeScheduleComponent, d6 as CoreEmployeeSeekerComponent, e5 as CoreFileFormatPickerComponent, d8 as CoreFileUploaderComponent, d9 as CoreFilterHubComponent, da as CoreFilterHubService, X as CoreFormComponent, dj as CoreFormControlBaseComponent, aa as CoreFormControlSeekerComponent, y as CoreFormDesignService, di as CoreFormLiteComponent, p as CoreFormService, dh as CoreFormTabComponent, du as CoreGridBufferComponent, dv as CoreHeaderParamsComponent, dw as CoreHelperComponent, ah as CoreIosSwitcherComponent, cW as CoreLazyMountComponent, dx as CoreLineComponent, dy as CoreLiquidWysiwygComponent, dz as CoreListComponent, dA as CoreListLazyComponent, dB as CoreLoadingSurfaceComponent, b7 as CoreLocalStorageService, dC as CoreMccComponent, dD as CoreMonthPickerComponent, ad as CoreMonthSelectorComponent, dE as CoreNavigationTrackerComponent, dG as CoreOauthCallbackComponent, dH as CoreOauthCallbackOffice365Component, dS as CoreOrgParamComponent, dK as CoreOrgTreeComponent, dM as CoreOrgTreeService, dL as CoreOrgTreeState, dN as CoreOrgUnitSeekerComponent, dO as CoreOrgchartflexComponent, dQ as CoreOrgchartflexWrapperComponent, j as CorePageEditComponent, dW as CorePageEditLiteComponent, dV as CorePageEditService, dX as CorePageEditTabComponent, d as CorePageHeaderComponent, f as CorePageListComponent, d$ as CorePageListContentComponent, dZ as CorePageListService, d_ as CorePageListState, e1 as CorePageViewComponent, e2 as CorePaginationComponent, e3 as CorePaginationFullComponent, e4 as CorePaginationFullService, K as CoreParamControlComponent, e9 as CorePermissionActionsComponent, e8 as CorePermissionComponent, e6 as CorePermissionService, eM as CorePieComponent, ea as CorePositionConcurrentSeekerComponent, eb as CorePositionSeekerComponent, ec as CoreQrcodeComponent, ee as CoreQueryBuilderComponent, L as CoreRadioGroupComponent, ef as CoreReducerIconComponent, cX as CoreRootMenuItemPickerComponent, cY as CoreRootMenuItemPickerService, eg as CoreRotatingTextComponent, eh as CoreRouteAccumulatorComponent, ei as CoreRoutingHistoryComponent, ej as CoreSalaryPolicyPickerComponent, eN as CoreScatterPlotComponent, ek as CoreScrollComponent, el as CoreScrollLazyComponent, em as CoreSeenByComponent, en as CoreShiftCardComponent, eo as CoreShiftCellComponent, ep as CoreShiftCollectionComponent, eq as CoreShiftStickerComponent, eQ as CoreStatisticWidgetComponent, g as CoreStatusStickerComponent, es as CoreSubFormGroupComponent, et as CoreTabListComponent, c$ as CoreTableComponent, b8 as CoreTableService, m as CoreTabsComponent, eu as CoreTagsComponent, c as CoreTerminalSpinnerComponent, ey as CoreTimezoneComponent, ev as CoreTopicPickerComponent, ex as CoreTopicTreeComponent, ez as CoreTreeComponent, eB as CoreTreeGridComponent, eC as CoreTreeReferenceComponent, eD as CoreWageSeekerComponent, eG as CoreWorkflowBuilderComponent, eH as CoreWorkflowGroupEditComponent, s as CoreWorkflowListComponent, eE as CoreWorkingSeekerComponent, eI as CoreYearPickerComponent, eJ as CoreYearSelectorComponent, de as CustomValidators, ay as DATE_VALUE_ACCESSOR, eW as DEFAULT_SVG, av as DESKTOP_SCREEN_HEDER_HEIGHT, az as DateValueAccessor, eR as DecisionComponent, i as DialogService, an as DialogStateComponent, b9 as DndService, ba as DocxMergeService, G as DomService, c_ as ECoreTableToolClass, cZ as ECoreTableToolCode, cv as EnumAlertType, b1 as EnumBrowserType, cD as EnumButtonCaptionCode, ew as EnumCoreArticleCategoryTreeaAccessorMode, cL as EnumCoreButtonCode, _ as EnumCoreButtonVNSCode, eK as EnumCoreD3ScaleType, d7 as EnumCoreFileUploaderType, o as EnumCoreFormControlSeekerSourceType, dI as EnumCoreOrgTreeaAccessorMode, dJ as EnumCoreOrgTreeaSearchMode, dT as EnumCorePageEditBootstrapClass, dU as EnumCorePageEditFieldType, W as EnumCorePageEditMode, ds as EnumCoreSeekerColumnAutoForm, dm as EnumCoreSeekerColumnContract, dk as EnumCoreSeekerColumnJob, dq as EnumCoreSeekerColumnPosition, dr as EnumCoreSeekerColumnPositionConcurrent, dl as EnumCoreSeekerColumnStaffProfile, dp as EnumCoreSeekerColumnWage, dn as EnumCoreSeekerColumnWorking, k as EnumCoreTablePipeType, eA as EnumCoreTreeGridEditMode, e0 as EnumCoreViewItemType, b0 as EnumDeviceType, aA as EnumDragType, aB as EnumErrorType, dY as EnumExType, a3 as EnumFilterOperator, E as EnumFormBaseContolType, a6 as EnumFormDesignMode, eO as EnumHrComparisonCode, eP as EnumICoreStatisticWidgetDataType, aC as EnumIconClass, af as EnumImageResolverType, br as EnumNotificationDir, ed as EnumOparator, b2 as EnumOsType, e7 as EnumPermissionObjectType, aD as EnumProfileInfoSector, f7 as EnumRecursiveFields, aE as EnumSignalRType, aF as EnumSortDirection, bA as EnumSsrsExpressExportFormat, bz as EnumSsrsExpressFileExtension, aG as EnumStyleButtonClass, a_ as EnumSwUpdateVersionUpdatesEventType, bM as EnumWorkScheduleViewMode, eS as EvaluateDialogComponent, bL as EvaluateDialogService, f5 as FileService, bb as FilterKitService, f1 as FilterPipe, ao as FooterComponent, F as FullscreenModalLoaderComponent, bT as FunctionComponent, bV as FunctionEditComponent, cn as FunctionEditService, bW as FunctionIgnoreComponent, bX as FunctionIgnoreEditComponent, N as GptService, bY as GroupFunctionComponent, bZ as GroupFunctionEditComponent, bc as GrpcService, bd as HeaderService, be as HistoryService, U as HotKeysDirective, H as HtmlTooltipDirective, bf as HttpErrorHandler, bg as HubConnectionService, eT as HuconcurrentlyComponent, cw as IAlertOptions, I as ImageErrorResolverDirective, b$ as InMemoryComponent, bU as IndividualScheduleApplyComponent, aI as InitializationCanActivateFn, aJ as InitializationCanMatchFn, aL as InterceptorSkipHeader, bh as IpServiceService, eX as ItemComponent, eU as JobComponent, Z as JsonService, eV as LanguageChangerComponent, c0 as LanguageComponent, c1 as LanguageEditComponent, bi as LayoutService, bj as LiquidJsService, f6 as LongTaskService, aw as MOBILE_SCREEN_HEDER_HEIGHT, aj as MapAppdemoToServerPipePipe, ak as MapAttachmentToServerPipe, u as MapAvatarToServerPipe, al as MapNewsfeedMediaToServerPipe, bk as MapService, c2 as MenuComponent, c3 as MenuEditComponent, bl as MenuService, bm as MessageService, bn as ModalService, M as MultiLanguageService, c4 as MutationLogComponent, c5 as MutationViewComponent, eY as NavigatorComponent, Y as NavigatorService, cI as NewlyCreatedTokenService, ag as NormalizeHumanNamePipe, bs as NotificationActionType, aV as OnlineUsersComponent, bo as OrganizationService, eZ as OtpInputComponent, e_ as OtpInputService, c6 as PaSalaryPolicyComponent, c7 as PaSalaryPolicyEditComponent, e$ as PageTitleComponent, f0 as PaginationComponent, bp as PkceService, c8 as PortalRouteComponent, cb as PortalRouteEditComponent, f3 as PositionComponent, f4 as PositionEditService, bq as PositionTransferService, bt as PushNotificationService, $ as READONLY_WORKFLOW_FIELDS, bu as RandomAvatarService, f8 as RecursiveService, bv as RequestCache, bw as RequestCacheWithMap, bx as ResponseService, ap as RightchatComponent, by as RoutingService, er as STICKER_COLOR_SCHEMA, c9 as ScheduleOverviewComponent, dt as SeekerService, x as SocketService, bB as SsrsExpressService, fb as StaffProfileComponent, bD as StatisticAuthService, bC as StatisticService, S as StringHtmlPipe, f9 as StringService, ai as SunnyRotatingComponent, ch as SysActionComponent, ci as SysActionEditComponent, cj as SysFunctionActionComponent, ck as SysFunctionActionEditComponent, cl as SysFunctionActionMapperComponent, cm as SysFunctionUrlMapperComponent, bE as SysMenuService, co as SysModuleComponent, cp as SysModuleEditComponent, cc as SysOtherListComponent, cd as SysOtherListEditComponent, ce as SysOtherListTypeComponent, cf as SysOtherListTypeEditComponent, cq as SysRouteAccessComponent, b5 as TLA_CONFIG, v as TableCellPipe, dc as Textbox, fc as ThreedotsComponent, bF as TimeSheetService, fd as TooltipComponent, T as TooltipDirective, bG as TopicPermissionService, bH as TopicTreeService, e as TranslatePipe, df as URL_PATTERN, fa as UnicodeService, bI as UploadedFileService, am as UploadedFilenameCutoffPipe, bJ as UrlService, fe as UserActivityComponent, bK as UserActivityService, ff as WageComponent, aq as WaittingScreenComponent, bN as WorkShiftDndService, w as alertOptions, aM as appTypeInterceptor, as as attachmentOptions, aO as authInterceptor, aN as baseUrlInterceptor, ct as blob_to_base64_script, aT as cachingInterceptor, d3 as coreDocGenRoutes, dg as coreFormDesignRoutes, dF as coreNavigationTrackerRoutes, dR as coreOrgchartflexRoutes, cg as coreSysActionRoutes, eF as coreWorkflowRoutes, au as defaultPaging, aP as graphInterceptor, b_ as hrmSchemaRoutes, aK as httpInterceptorProviders, aU as langInterceptor, cs as liner_to_nested_array_script, ar as longAlertOptions, a0 as noneAutoClosedAlertOptions, f2 as normalizeHumanName, aR as responseInterceptor, ca as simpleChatRoutes, cr as sysSmtpClientRoutes, ax as themeBlue, aS as timeZoneInterceptor, aQ as tokenInterceptor } from './ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs';
1
+ export { aW as ActionService, cM as ActionSvgEditComponent, cu as AlertComponent, b as AlertService, cy as AnimatedTextComponent, cx as AnimatedTextService, a as AppConfigService, aX as AppInitializationService, A as AppService, R as ApplicationHelpService, bP as AtShiftPatternApplyComponent, bO as AtShiftPatternComponent, bQ as AtShiftPatternEditComponent, bR as AtWorksignComponent, bS as AtWorksignService, aY as AuthService, B as BaseComponent, cz as BaseDropdownComponent, h as BaseEditComponent, cC as ButtonGroupComponent, cA as ButtonGroupModule, cB as ButtonGroupService, dP as CARD_COLORS, at as CORE_VNS_BUTTONS, aZ as CacheService, aH as CanActivateFunctionUrlMapperGuard, t as CanDeactivateGuard, C as ChatService, a$ as CheckForUpdateService, b3 as ClientService, b4 as CommonHttpRequestService, b6 as ConfigService, cV as ConfirmDialogStateComponent, db as ControlBase, cF as CoreAccordionComponent, cG as CoreAccordionService, cH as CoreActiveUserCountComponent, cJ as CoreApiProgressComponent, ab as CoreAttachmentComponent, cE as CoreButtonComponent, cK as CoreButtonGroupComponent, cN as CoreButtonGroupService, a1 as CoreButtonGroupVnsComponent, cO as CoreButtonVnsComponent, l as CoreCheckboxComponent, a9 as CoreChecklistComponent, cP as CoreCommonParamKitComponent, cQ as CoreCompareDbPipelineComponent, cT as CoreCompositionComponent, cS as CoreCompositionService, cR as CoreCompositionState, cU as CoreConfirmDialogComponent, d0 as CoreContractSeekerComponent, a7 as CoreControlComponent, d1 as CoreControlNoGridBufferComponent, d2 as CoreControlNoSeekerComponent, dd as CoreControlService, ae as CoreCurrencyInputComponent, eL as CoreD3Service, ac as CoreDatePickerComponent, V as CoreDatetimeService, d4 as CoreDocgenToolbarComponent, a2 as CoreDropdownComponent, d5 as CoreEmployeeScheduleComponent, d6 as CoreEmployeeSeekerComponent, e5 as CoreFileFormatPickerComponent, d8 as CoreFileUploaderComponent, d9 as CoreFilterHubComponent, da as CoreFilterHubService, X as CoreFormComponent, dj as CoreFormControlBaseComponent, aa as CoreFormControlSeekerComponent, y as CoreFormDesignService, di as CoreFormLiteComponent, p as CoreFormService, dh as CoreFormTabComponent, du as CoreGridBufferComponent, dv as CoreHeaderParamsComponent, dw as CoreHelperComponent, ah as CoreIosSwitcherComponent, cW as CoreLazyMountComponent, dx as CoreLineComponent, dy as CoreLiquidWysiwygComponent, dz as CoreListComponent, dA as CoreListLazyComponent, dB as CoreLoadingSurfaceComponent, b7 as CoreLocalStorageService, dC as CoreMccComponent, dD as CoreMonthPickerComponent, ad as CoreMonthSelectorComponent, dE as CoreNavigationTrackerComponent, dG as CoreOauthCallbackComponent, dH as CoreOauthCallbackOffice365Component, dS as CoreOrgParamComponent, dK as CoreOrgTreeComponent, dM as CoreOrgTreeService, dL as CoreOrgTreeState, dN as CoreOrgUnitSeekerComponent, dO as CoreOrgchartflexComponent, dQ as CoreOrgchartflexWrapperComponent, j as CorePageEditComponent, dW as CorePageEditLiteComponent, dV as CorePageEditService, dX as CorePageEditTabComponent, d as CorePageHeaderComponent, f as CorePageListComponent, d$ as CorePageListContentComponent, dZ as CorePageListService, d_ as CorePageListState, e1 as CorePageViewComponent, e2 as CorePaginationComponent, e3 as CorePaginationFullComponent, e4 as CorePaginationFullService, K as CoreParamControlComponent, e9 as CorePermissionActionsComponent, e8 as CorePermissionComponent, e6 as CorePermissionService, eM as CorePieComponent, ea as CorePositionConcurrentSeekerComponent, eb as CorePositionSeekerComponent, ec as CoreQrcodeComponent, ee as CoreQueryBuilderComponent, L as CoreRadioGroupComponent, ef as CoreReducerIconComponent, cX as CoreRootMenuItemPickerComponent, cY as CoreRootMenuItemPickerService, eg as CoreRotatingTextComponent, eh as CoreRouteAccumulatorComponent, ei as CoreRoutingHistoryComponent, ej as CoreSalaryPolicyPickerComponent, eN as CoreScatterPlotComponent, ek as CoreScrollComponent, el as CoreScrollLazyComponent, em as CoreSeenByComponent, en as CoreShiftCardComponent, eo as CoreShiftCellComponent, ep as CoreShiftCollectionComponent, eq as CoreShiftStickerComponent, eQ as CoreStatisticWidgetComponent, g as CoreStatusStickerComponent, es as CoreSubFormGroupComponent, et as CoreTabListComponent, c$ as CoreTableComponent, b8 as CoreTableService, m as CoreTabsComponent, eu as CoreTagsComponent, c as CoreTerminalSpinnerComponent, ey as CoreTimezoneComponent, ev as CoreTopicPickerComponent, ex as CoreTopicTreeComponent, ez as CoreTreeComponent, eB as CoreTreeGridComponent, eC as CoreTreeReferenceComponent, eD as CoreWageSeekerComponent, eG as CoreWorkflowBuilderComponent, eH as CoreWorkflowGroupEditComponent, s as CoreWorkflowListComponent, eE as CoreWorkingSeekerComponent, eI as CoreYearPickerComponent, eJ as CoreYearSelectorComponent, de as CustomValidators, ay as DATE_VALUE_ACCESSOR, eW as DEFAULT_SVG, av as DESKTOP_SCREEN_HEDER_HEIGHT, az as DateValueAccessor, eR as DecisionComponent, i as DialogService, an as DialogStateComponent, b9 as DndService, ba as DocxMergeService, G as DomService, c_ as ECoreTableToolClass, cZ as ECoreTableToolCode, cv as EnumAlertType, b1 as EnumBrowserType, cD as EnumButtonCaptionCode, ew as EnumCoreArticleCategoryTreeaAccessorMode, cL as EnumCoreButtonCode, _ as EnumCoreButtonVNSCode, eK as EnumCoreD3ScaleType, d7 as EnumCoreFileUploaderType, o as EnumCoreFormControlSeekerSourceType, dI as EnumCoreOrgTreeaAccessorMode, dJ as EnumCoreOrgTreeaSearchMode, dT as EnumCorePageEditBootstrapClass, dU as EnumCorePageEditFieldType, W as EnumCorePageEditMode, ds as EnumCoreSeekerColumnAutoForm, dm as EnumCoreSeekerColumnContract, dk as EnumCoreSeekerColumnJob, dq as EnumCoreSeekerColumnPosition, dr as EnumCoreSeekerColumnPositionConcurrent, dl as EnumCoreSeekerColumnStaffProfile, dp as EnumCoreSeekerColumnWage, dn as EnumCoreSeekerColumnWorking, k as EnumCoreTablePipeType, eA as EnumCoreTreeGridEditMode, e0 as EnumCoreViewItemType, b0 as EnumDeviceType, aA as EnumDragType, aB as EnumErrorType, dY as EnumExType, a3 as EnumFilterOperator, E as EnumFormBaseContolType, a6 as EnumFormDesignMode, eO as EnumHrComparisonCode, eP as EnumICoreStatisticWidgetDataType, aC as EnumIconClass, af as EnumImageResolverType, br as EnumNotificationDir, ed as EnumOparator, b2 as EnumOsType, e7 as EnumPermissionObjectType, aD as EnumProfileInfoSector, f7 as EnumRecursiveFields, aE as EnumSignalRType, aF as EnumSortDirection, bA as EnumSsrsExpressExportFormat, bz as EnumSsrsExpressFileExtension, aG as EnumStyleButtonClass, a_ as EnumSwUpdateVersionUpdatesEventType, bM as EnumWorkScheduleViewMode, eS as EvaluateDialogComponent, bL as EvaluateDialogService, f5 as FileService, bb as FilterKitService, f1 as FilterPipe, ao as FooterComponent, F as FullscreenModalLoaderComponent, bT as FunctionComponent, bV as FunctionEditComponent, cn as FunctionEditService, bW as FunctionIgnoreComponent, bX as FunctionIgnoreEditComponent, N as GptService, bY as GroupFunctionComponent, bZ as GroupFunctionEditComponent, bc as GrpcService, bd as HeaderService, be as HistoryService, U as HotKeysDirective, H as HtmlTooltipDirective, bf as HttpErrorHandler, bg as HubConnectionService, eT as HuconcurrentlyComponent, cw as IAlertOptions, I as ImageErrorResolverDirective, b$ as InMemoryComponent, bU as IndividualScheduleApplyComponent, aI as InitializationCanActivateFn, aJ as InitializationCanMatchFn, aL as InterceptorSkipHeader, bh as IpServiceService, eX as ItemComponent, eU as JobComponent, Z as JsonService, eV as LanguageChangerComponent, c0 as LanguageComponent, c1 as LanguageEditComponent, bi as LayoutService, bj as LiquidJsService, f6 as LongTaskService, aw as MOBILE_SCREEN_HEDER_HEIGHT, aj as MapAppdemoToServerPipePipe, ak as MapAttachmentToServerPipe, u as MapAvatarToServerPipe, al as MapNewsfeedMediaToServerPipe, bk as MapService, c2 as MenuComponent, c3 as MenuEditComponent, bl as MenuService, bm as MessageService, bn as ModalService, M as MultiLanguageService, c4 as MutationLogComponent, c5 as MutationViewComponent, eY as NavigatorComponent, Y as NavigatorService, cI as NewlyCreatedTokenService, ag as NormalizeHumanNamePipe, bs as NotificationActionType, aV as OnlineUsersComponent, bo as OrganizationService, eZ as OtpInputComponent, e_ as OtpInputService, c6 as PaSalaryPolicyComponent, c7 as PaSalaryPolicyEditComponent, e$ as PageTitleComponent, f0 as PaginationComponent, bp as PkceService, c8 as PortalRouteComponent, cb as PortalRouteEditComponent, f3 as PositionComponent, f4 as PositionEditService, bq as PositionTransferService, bt as PushNotificationService, $ as READONLY_WORKFLOW_FIELDS, bu as RandomAvatarService, f8 as RecursiveService, bv as RequestCache, bw as RequestCacheWithMap, bx as ResponseService, ap as RightchatComponent, by as RoutingService, er as STICKER_COLOR_SCHEMA, c9 as ScheduleOverviewComponent, dt as SeekerService, x as SocketService, bB as SsrsExpressService, fb as StaffProfileComponent, bD as StatisticAuthService, bC as StatisticService, S as StringHtmlPipe, f9 as StringService, ai as SunnyRotatingComponent, ch as SysActionComponent, ci as SysActionEditComponent, cj as SysFunctionActionComponent, ck as SysFunctionActionEditComponent, cl as SysFunctionActionMapperComponent, cm as SysFunctionUrlMapperComponent, bE as SysMenuService, co as SysModuleComponent, cp as SysModuleEditComponent, cc as SysOtherListComponent, cd as SysOtherListEditComponent, ce as SysOtherListTypeComponent, cf as SysOtherListTypeEditComponent, cq as SysRouteAccessComponent, b5 as TLA_CONFIG, v as TableCellPipe, dc as Textbox, fc as ThreedotsComponent, bF as TimeSheetService, fd as TooltipComponent, T as TooltipDirective, bG as TopicPermissionService, bH as TopicTreeService, e as TranslatePipe, df as URL_PATTERN, fa as UnicodeService, bI as UploadedFileService, am as UploadedFilenameCutoffPipe, bJ as UrlService, fe as UserActivityComponent, bK as UserActivityService, ff as WageComponent, aq as WaittingScreenComponent, bN as WorkShiftDndService, w as alertOptions, aM as appTypeInterceptor, as as attachmentOptions, aO as authInterceptor, aN as baseUrlInterceptor, ct as blob_to_base64_script, aT as cachingInterceptor, d3 as coreDocGenRoutes, dg as coreFormDesignRoutes, dF as coreNavigationTrackerRoutes, dR as coreOrgchartflexRoutes, cg as coreSysActionRoutes, eF as coreWorkflowRoutes, au as defaultPaging, aP as graphInterceptor, b_ as hrmSchemaRoutes, aK as httpInterceptorProviders, aU as langInterceptor, cs as liner_to_nested_array_script, ar as longAlertOptions, a0 as noneAutoClosedAlertOptions, f2 as normalizeHumanName, aR as responseInterceptor, ca as simpleChatRoutes, cr as sysSmtpClientRoutes, ax as themeBlue, aS as timeZoneInterceptor, aQ as tokenInterceptor } from './ngx-histaff-alpha-ngx-histaff-alpha-Bfddt3DJ.mjs';
2
2
  //# sourceMappingURL=ngx-histaff-alpha.mjs.map
@@ -0,0 +1,13 @@
1
+ import { WritableSignal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CoreAccordionDirective {
4
+ $externalOpen: import("@angular/core").InputSignal<boolean | null>;
5
+ private styleSvc;
6
+ private host;
7
+ /** internal open state */
8
+ readonly $open: WritableSignal<boolean>;
9
+ constructor();
10
+ toggle(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoreAccordionDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CoreAccordionDirective, "[coreAccordion]", ["coreAccordion"], { "$externalOpen": { "alias": "$externalOpen"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
@@ -21,6 +21,10 @@ export interface IInOperator {
21
21
  field: string;
22
22
  values?: number[];
23
23
  }
24
+ export interface INotInOperator {
25
+ field: string;
26
+ values?: number[];
27
+ }
24
28
  export interface IDropdownFilter {
25
29
  index: number;
26
30
  conditionFilters: IDropdownDetailFilter[];
@@ -52,6 +56,7 @@ export interface IQueryListRequest {
52
56
  filter?: any;
53
57
  filterOperators?: IFilterOperator[];
54
58
  inOperators?: IInOperator[];
59
+ notInOperators?: INotInOperator[];
55
60
  search?: ISearchItem[];
56
61
  id?: number | string | null;
57
62
  forceReloadingFlag?: boolean;
@@ -5,10 +5,27 @@ import { EnumTranslateKey } from "alpha-global-constants";
5
5
  import { StaffProfileComponent } from '../../staffprofile/staffprofile.component';
6
6
  import { EnumCoreOrgTreeaAccessorMode } from '../../core-org-tree/core-org-tree/core-org-tree.component';
7
7
  import { EnumCoreSeekerColumnStaffProfile } from '../../core-form-control-seeker/EnumCoreSeekerColumn';
8
- import { IFilterOperator } from '../../../interfaces/IQueryListRequest';
8
+ import { IFilterOperator, INotInOperator } from '../../../interfaces/IQueryListRequest';
9
+ import { MultiLanguageService } from '../../../services/multi-language.service';
10
+ import { AppConfigService } from '../../../services/app-config.service';
11
+ import { RandomAvatarService } from '../../../services/random-avatar.service';
12
+ import { ActivatedRoute, Router } from '@angular/router';
13
+ import { OrganizationService } from '../../../services/organization.service';
14
+ import { HttpClient } from '@angular/common/http';
15
+ import { LayoutService } from '../../../services/layout.service';
16
+ import { AlertService } from '../../alert/alert.service';
9
17
  import * as i0 from "@angular/core";
10
18
  export declare class CoreEmployeeSeekerComponent extends StaffProfileComponent implements OnChanges, AfterViewInit {
19
+ mls: MultiLanguageService;
20
+ ras: RandomAvatarService;
21
+ router: Router;
22
+ route: ActivatedRoute;
23
+ organizationService: OrganizationService;
24
+ http: HttpClient;
25
+ layoutService: LayoutService;
26
+ alertService: AlertService;
11
27
  preDefinedOuterFilter$: BehaviorSubject<IFilterOperator[]>;
28
+ $hideTerminatedEmployees: import("@angular/core").InputSignal<boolean>;
12
29
  useTheseColumns: string[];
13
30
  hideOrgTree: boolean;
14
31
  excludedColumns: EnumCoreSeekerColumnStaffProfile[];
@@ -22,10 +39,13 @@ export declare class CoreEmployeeSeekerComponent extends StaffProfileComponent i
22
39
  columnsInit: EventEmitter<any>;
23
40
  listChange: EventEmitter<any[]>;
24
41
  isDevMode: boolean;
42
+ appConfigService: AppConfigService;
43
+ notInOperators: INotInOperator[];
25
44
  title: EnumTranslateKey;
26
45
  corePageListHeight: number;
27
46
  orgTreeMode: EnumCoreOrgTreeaAccessorMode;
28
47
  orgTreeHeight: number;
48
+ constructor(mls: MultiLanguageService, ras: RandomAvatarService, router: Router, route: ActivatedRoute, organizationService: OrganizationService, http: HttpClient, layoutService: LayoutService, alertService: AlertService);
29
49
  ngOnChanges(changes: SimpleChanges): void;
30
50
  columns: ICoreTableColumnItem[];
31
51
  ngOnInit(): void;
@@ -36,5 +56,5 @@ export declare class CoreEmployeeSeekerComponent extends StaffProfileComponent i
36
56
  onRowSingleClick(e: any): void;
37
57
  onListChange(e: any[]): void;
38
58
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreEmployeeSeekerComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<CoreEmployeeSeekerComponent, "core-employee-seeker", never, { "preDefinedOuterFilter$": { "alias": "preDefinedOuterFilter$"; "required": false; }; "useTheseColumns": { "alias": "useTheseColumns"; "required": false; }; "hideOrgTree": { "alias": "hideOrgTree"; "required": false; }; "excludedColumns": { "alias": "excludedColumns"; "required": false; }; "multiMode": { "alias": "multiMode"; "required": false; }; "preDefinedOuterParam$": { "alias": "preDefinedOuterParam$"; "required": false; }; "excludedIds$": { "alias": "excludedIds$"; "required": false; }; }, { "rowDoubleClick": "rowDoubleClick"; "rowClick": "rowClick"; "selectedIdsChange": "selectedIdsChange"; "selectedDataChange": "selectedDataChange"; "columnsInit": "columnsInit"; "listChange": "listChange"; }, never, never, true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoreEmployeeSeekerComponent, "core-employee-seeker", never, { "preDefinedOuterFilter$": { "alias": "preDefinedOuterFilter$"; "required": false; }; "$hideTerminatedEmployees": { "alias": "$hideTerminatedEmployees"; "required": false; "isSignal": true; }; "useTheseColumns": { "alias": "useTheseColumns"; "required": false; }; "hideOrgTree": { "alias": "hideOrgTree"; "required": false; }; "excludedColumns": { "alias": "excludedColumns"; "required": false; }; "multiMode": { "alias": "multiMode"; "required": false; }; "preDefinedOuterParam$": { "alias": "preDefinedOuterParam$"; "required": false; }; "excludedIds$": { "alias": "excludedIds$"; "required": false; }; }, { "rowDoubleClick": "rowDoubleClick"; "rowClick": "rowClick"; "selectedIdsChange": "selectedIdsChange"; "selectedDataChange": "selectedDataChange"; "columnsInit": "columnsInit"; "listChange": "listChange"; }, never, never, true, never>;
40
60
  }
@@ -53,6 +53,7 @@ export declare class CoreFormControlSeekerComponent extends CoreFormControlBaseC
53
53
  showPageHeader: boolean;
54
54
  preDefinedOuterParam$: BehaviorSubject<any>;
55
55
  preDefinedOuterFilter$: BehaviorSubject<IFilterOperator[]>;
56
+ $hideTerminatedEmployees: import("@angular/core").InputSignal<boolean>;
56
57
  click$: BehaviorSubject<any> | undefined;
57
58
  getByIdObject$: BehaviorSubject<any>;
58
59
  getByIdApi: api | string;
@@ -146,5 +147,5 @@ export declare class CoreFormControlSeekerComponent extends CoreFormControlBaseC
146
147
  clickedItemIsInTheList(): boolean;
147
148
  onListChange(e: any[]): void;
148
149
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreFormControlSeekerComponent, never>;
149
- static ɵcmp: i0.ɵɵComponentDeclaration<CoreFormControlSeekerComponent, "core-form-control-seeker", never, { "title": { "alias": "title"; "required": false; }; "showPageHeader": { "alias": "showPageHeader"; "required": false; }; "preDefinedOuterParam$": { "alias": "preDefinedOuterParam$"; "required": false; }; "preDefinedOuterFilter$": { "alias": "preDefinedOuterFilter$"; "required": false; }; "click$": { "alias": "click$"; "required": false; }; "getByIdObject$": { "alias": "getByIdObject$"; "required": false; }; "getByIdApi": { "alias": "getByIdApi"; "required": false; }; "paramMode": { "alias": "paramMode"; "required": false; }; "multiMode": { "alias": "multiMode"; "required": false; }; "objectList$": { "alias": "objectList$"; "required": false; }; "useTheseColumns": { "alias": "useTheseColumns"; "required": false; }; "hideOrgTree": { "alias": "hideOrgTree"; "required": false; }; "excludedColumns": { "alias": "excludedColumns"; "required": false; }; "excludeExistingList": { "alias": "excludeExistingList"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sourceSpaceHeight": { "alias": "sourceSpaceHeight"; "required": false; }; "indirectBinding": { "alias": "indirectBinding"; "required": false; }; "bindGridIdTo": { "alias": "bindGridIdTo"; "required": false; }; "multiModeExtendedColumns": { "alias": "multiModeExtendedColumns"; "required": false; }; "multiModeExtendedSections": { "alias": "multiModeExtendedSections"; "required": false; }; "editBufferData$": { "alias": "editBufferData$"; "required": false; }; "multiModeTableHeight": { "alias": "multiModeTableHeight"; "required": false; }; "multiModeRowHeight": { "alias": "multiModeRowHeight"; "required": false; }; "seekerSourceType": { "alias": "seekerSourceType"; "required": true; }; "boundFrom": { "alias": "boundFrom"; "required": false; }; "shownFrom": { "alias": "shownFrom"; "required": false; }; "alsoBindTo": { "alias": "alsoBindTo"; "required": false; }; "seekerVerifyIgnore": { "alias": "seekerVerifyIgnore"; "required": false; }; "disabledDoubleClick": { "alias": "disabledDoubleClick"; "required": false; }; "selfEnrichmentApiDriven": { "alias": "selfEnrichmentApiDriven"; "required": false; }; "selfEnrichmentApi": { "alias": "selfEnrichmentApi"; "required": false; }; "selfEnrichmentHttpVerb": { "alias": "selfEnrichmentHttpVerb"; "required": false; }; "selfEnrichmentHttpPayload": { "alias": "selfEnrichmentHttpPayload"; "required": false; }; "selfEnrichmentShownFrom": { "alias": "selfEnrichmentShownFrom"; "required": false; }; }, { "onDoubleClick": "onDoubleClick"; "selectedDataChange": "selectedDataChange"; "fullValueRowChange": "fullValueRowChange"; }, never, never, true, never>;
150
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoreFormControlSeekerComponent, "core-form-control-seeker", never, { "title": { "alias": "title"; "required": false; }; "showPageHeader": { "alias": "showPageHeader"; "required": false; }; "preDefinedOuterParam$": { "alias": "preDefinedOuterParam$"; "required": false; }; "preDefinedOuterFilter$": { "alias": "preDefinedOuterFilter$"; "required": false; }; "$hideTerminatedEmployees": { "alias": "$hideTerminatedEmployees"; "required": false; "isSignal": true; }; "click$": { "alias": "click$"; "required": false; }; "getByIdObject$": { "alias": "getByIdObject$"; "required": false; }; "getByIdApi": { "alias": "getByIdApi"; "required": false; }; "paramMode": { "alias": "paramMode"; "required": false; }; "multiMode": { "alias": "multiMode"; "required": false; }; "objectList$": { "alias": "objectList$"; "required": false; }; "useTheseColumns": { "alias": "useTheseColumns"; "required": false; }; "hideOrgTree": { "alias": "hideOrgTree"; "required": false; }; "excludedColumns": { "alias": "excludedColumns"; "required": false; }; "excludeExistingList": { "alias": "excludeExistingList"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sourceSpaceHeight": { "alias": "sourceSpaceHeight"; "required": false; }; "indirectBinding": { "alias": "indirectBinding"; "required": false; }; "bindGridIdTo": { "alias": "bindGridIdTo"; "required": false; }; "multiModeExtendedColumns": { "alias": "multiModeExtendedColumns"; "required": false; }; "multiModeExtendedSections": { "alias": "multiModeExtendedSections"; "required": false; }; "editBufferData$": { "alias": "editBufferData$"; "required": false; }; "multiModeTableHeight": { "alias": "multiModeTableHeight"; "required": false; }; "multiModeRowHeight": { "alias": "multiModeRowHeight"; "required": false; }; "seekerSourceType": { "alias": "seekerSourceType"; "required": true; }; "boundFrom": { "alias": "boundFrom"; "required": false; }; "shownFrom": { "alias": "shownFrom"; "required": false; }; "alsoBindTo": { "alias": "alsoBindTo"; "required": false; }; "seekerVerifyIgnore": { "alias": "seekerVerifyIgnore"; "required": false; }; "disabledDoubleClick": { "alias": "disabledDoubleClick"; "required": false; }; "selfEnrichmentApiDriven": { "alias": "selfEnrichmentApiDriven"; "required": false; }; "selfEnrichmentApi": { "alias": "selfEnrichmentApi"; "required": false; }; "selfEnrichmentHttpVerb": { "alias": "selfEnrichmentHttpVerb"; "required": false; }; "selfEnrichmentHttpPayload": { "alias": "selfEnrichmentHttpPayload"; "required": false; }; "selfEnrichmentShownFrom": { "alias": "selfEnrichmentShownFrom"; "required": false; }; }, { "onDoubleClick": "onDoubleClick"; "selectedDataChange": "selectedDataChange"; "fullValueRowChange": "fullValueRowChange"; }, never, never, true, never>;
150
151
  }
@@ -9,6 +9,7 @@ import { IFilterOperator, IInOperator } from "../../interfaces/IQueryListRequest
9
9
  import { api } from "alpha-global-constants";
10
10
  import { ICoreDatePickerRange } from "../core-date-picker/core-date-picker/core-date-picker.component";
11
11
  import { EnumCoreOrgTreeaAccessorMode } from "../core-org-tree/core-org-tree/core-org-tree.component";
12
+ import { Signal } from "@angular/core";
12
13
  export interface ICoreParamControl {
13
14
  name: string;
14
15
  ngModel: any;
@@ -32,6 +33,9 @@ export interface ICoreParamControl {
32
33
  dropdownOptions$?: BehaviorSubject<ICoreDropdownOption[]>;
33
34
  checklistOptions$?: BehaviorSubject<ICoreChecklistOption[]>;
34
35
  hidden?: boolean;
36
+ preDefinedOuterParam$?: BehaviorSubject<any>;
37
+ preDefinedOuterFilter$?: BehaviorSubject<IFilterOperator[]>;
38
+ $hideTerminatedEmployees?: Signal<boolean>;
35
39
  accessorMode?: EnumCoreOrgTreeaAccessorMode | string;
36
40
  popupAlign?: string;
37
41
  $rangePoint?: 'start' | 'inclusive-end';