ngx-histaff-alpha 5.2.2 → 5.2.4

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 (51) hide show
  1. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DkGU3mLc.mjs → ngx-histaff-alpha-core-form-design.component-BvvY3YNR.mjs} +44 -45
  2. package/fesm2022/ngx-histaff-alpha-core-form-design.component-BvvY3YNR.mjs.map +1 -0
  3. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-xvjWl_uY.mjs +67 -0
  4. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-xvjWl_uY.mjs.map +1 -0
  5. package/fesm2022/ngx-histaff-alpha-live-form.component-hbLKXrLP.mjs +40 -0
  6. package/fesm2022/ngx-histaff-alpha-live-form.component-hbLKXrLP.mjs.map +1 -0
  7. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-DG1v69l1.mjs → ngx-histaff-alpha-ngx-histaff-alpha-vsUjoOkD.mjs} +388 -149
  8. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-vsUjoOkD.mjs.map +1 -0
  9. package/fesm2022/{ngx-histaff-alpha-wf-basic-info.component-GP8my3qI.mjs → ngx-histaff-alpha-wf-basic-info.component-CriyG8RZ.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-wf-basic-info.component-GP8my3qI.mjs.map → ngx-histaff-alpha-wf-basic-info.component-CriyG8RZ.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BuqyHWhW.mjs → ngx-histaff-alpha-wf-form-assign.component-wKm3cPEV.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BuqyHWhW.mjs.map → ngx-histaff-alpha-wf-form-assign.component-wKm3cPEV.mjs.map} +1 -1
  13. package/fesm2022/ngx-histaff-alpha-wf-process-design.component-CvtTyN4b.mjs +1439 -0
  14. package/fesm2022/ngx-histaff-alpha-wf-process-design.component-CvtTyN4b.mjs.map +1 -0
  15. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  16. package/lib/app/libraries/core-button-group-vns/core-button-group-vns/EnumCoreButtonVNSCode.d.ts +2 -1
  17. package/lib/app/libraries/core-form/core-form/core-form.component.d.ts +4 -3
  18. package/lib/app/libraries/core-form-control-seeker/core-form-control-seeker/core-form-control-seeker.component.d.ts +3 -2
  19. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +3 -1
  20. package/lib/app/libraries/core-form-design/core-form-design.service.d.ts +10 -0
  21. package/lib/app/libraries/core-form-design/field-setting/mandatory-props/mandatory-props.component.d.ts +2 -0
  22. package/lib/app/libraries/core-form-design/form-metadata/form-metadata.component.d.ts +3 -1
  23. package/lib/app/libraries/core-form-design/interfaces.d.ts +3 -1
  24. package/lib/app/libraries/core-form-design/live-form/live-form.component.d.ts +20 -0
  25. package/lib/app/libraries/core-header-params/enum-and-interfaces.d.ts +1 -1
  26. package/lib/app/libraries/core-radio-group/core-radio-group/core-radio-group.component.d.ts +8 -3
  27. package/lib/app/libraries/core-rule-tree/core-rule-tree.component.d.ts +1 -1
  28. package/lib/app/libraries/core-workflow-builder/constants/INITIAL_PROCESS_DEFINITION.d.ts +2 -0
  29. package/lib/app/libraries/core-workflow-builder/core-workflow-consume/core-workflow-consume.component.d.ts +9 -0
  30. package/lib/app/libraries/core-workflow-builder/core-workflow-list/core-workflow-list.component.d.ts +6 -4
  31. package/lib/app/libraries/core-workflow-builder/core-workflow.service.d.ts +13 -2
  32. package/lib/app/libraries/core-workflow-builder/enums/EnumActorSourceType.d.ts +10 -0
  33. package/lib/app/libraries/core-workflow-builder/interfaces/IActorAssignment.d.ts +7 -0
  34. package/lib/app/libraries/core-workflow-builder/interfaces/IStepConfig.d.ts +37 -4
  35. package/lib/app/libraries/core-workflow-builder/interfaces/IWfWorkflow.d.ts +3 -0
  36. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-node/wf-node.component.d.ts +3 -1
  37. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-process-design.component.d.ts +12 -3
  38. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-actor-selector/wf-actor-selector.component.d.ts +40 -0
  39. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-approver-config/wf-approver-config.component.d.ts +5 -0
  40. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-cc-config/wf-cc-config.component.d.ts +5 -0
  41. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-end-config/wf-end-config.component.d.ts +5 -0
  42. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-handler-config/wf-handler-config.component.d.ts +5 -0
  43. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-step-config-shell.component.d.ts +4 -5
  44. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-submit-config/wf-submit-config.component.d.ts +5 -0
  45. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-steps-preview/wf-steps-preview.component.d.ts +8 -0
  46. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-workflow-canvas.component.d.ts +32 -3
  47. package/package.json +1 -1
  48. package/fesm2022/ngx-histaff-alpha-core-form-design.component-DkGU3mLc.mjs.map +0 -1
  49. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-DG1v69l1.mjs.map +0 -1
  50. package/fesm2022/ngx-histaff-alpha-wf-process-design.component-D9Ba7Fkx.mjs +0 -1068
  51. package/fesm2022/ngx-histaff-alpha-wf-process-design.component-D9Ba7Fkx.mjs.map +0 -1
@@ -903,6 +903,7 @@ var EnumCoreButtonVNSCode;
903
903
  EnumCoreButtonVNSCode["NONE_HEADER_RECRUIT"] = "NONE_HEADER_RECRUIT";
904
904
  EnumCoreButtonVNSCode["NONE_HEADER_APPROVE"] = "NONE_HEADER_APPROVE";
905
905
  EnumCoreButtonVNSCode["NONE_HEADER_REJECT"] = "NONE_HEADER_REJECT";
906
+ EnumCoreButtonVNSCode["NONE_HEADER_SEND"] = "NONE_HEADER_SEND";
906
907
  })(EnumCoreButtonVNSCode || (EnumCoreButtonVNSCode = {}));
907
908
 
908
909
  const CORE_VNS_BUTTONS = [
@@ -1398,6 +1399,12 @@ const CORE_VNS_BUTTONS = [
1398
1399
  caption: EnumTranslateKey.UI_ENTITY_FIELD_CAPTION_BUTTON_COMMON_REJECT,
1399
1400
  isHeader: false
1400
1401
  },
1402
+ {
1403
+ code: EnumCoreButtonVNSCode.NONE_HEADER_SEND,
1404
+ styleClass: EnumStyleButtonClass.NONE_HEADER_CANCEL,
1405
+ caption: 'NONE_HEADER_SEND',
1406
+ isHeader: false
1407
+ },
1401
1408
  ];
1402
1409
 
1403
1410
  const defaultPaging = {
@@ -14869,10 +14876,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
14869
14876
  }] } });
14870
14877
 
14871
14878
  class CoreRadioGroupComponent extends CoreFormControlBaseComponent {
14872
- constructor(mls, alertService) {
14879
+ constructor(mls, alertService, cdr) {
14873
14880
  super();
14874
14881
  this.mls = mls;
14875
14882
  this.alertService = alertService;
14883
+ this.cdr = cdr;
14884
+ this.columnCount = 1;
14885
+ this.gapY = 0; // in pixels (default to 8px)
14876
14886
  this.subscriptions = [];
14877
14887
  this.disabledMessage = EnumTranslateKey.UI_CONTROL_DISABLED;
14878
14888
  }
@@ -14908,17 +14918,26 @@ class CoreRadioGroupComponent extends CoreFormControlBaseComponent {
14908
14918
  }
14909
14919
  this.onChange(e.value);
14910
14920
  }
14921
+ get useMultiColumn() {
14922
+ return this.columnCount > 1;
14923
+ }
14924
+ get containerStyle() {
14925
+ return {
14926
+ 'grid-template-columns': this.useMultiColumn ? `repeat(${this.columnCount}, 1fr)` : null,
14927
+ 'row-gap.px': this.gapY,
14928
+ };
14929
+ }
14911
14930
  ngOnDestroy() {
14912
14931
  this.subscriptions.map(x => x?.unsubscribe());
14913
14932
  }
14914
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRadioGroupComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
14915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CoreRadioGroupComponent, isStandalone: true, selector: "core-radio-group", inputs: { options$: "options$", vertical: "vertical" }, providers: [
14933
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRadioGroupComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
14934
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CoreRadioGroupComponent, isStandalone: true, selector: "core-radio-group", inputs: { options$: "options$", vertical: "vertical", columnCount: "columnCount", gapY: "gapY" }, providers: [
14916
14935
  {
14917
14936
  provide: NG_VALUE_ACCESSOR,
14918
14937
  multi: true,
14919
14938
  useExisting: CoreRadioGroupComponent
14920
14939
  }
14921
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"core-radio-group-container\">\r\n\r\n <div class=\"flex-container\" [class.vertical]=\"!!vertical\">\r\n\r\n <label *ngFor=\"let option of options\" class=\"core-radio-item\" (click)=\"onLabelClick(option)\"\r\n [class.form-control-disabled]=\"disabled\" [class.checked]=\"option.value===value\">\r\n <a class=\"checkmark\"></a>\r\n {{ option.text | translate: lang}}\r\n </label>\r\n\r\n </div>\r\n</div>", styles: [".core-radio-group-container .flex-container.vertical{flex-direction:column}.core-radio-group-container .flex-container.vertical label{width:100%;transform:translate(20px)}.core-radio-group-container .flex-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around}.core-radio-group-container .flex-container .core-radio-item{--radio-size: 18px;--radio-border-color: #B9B9B9;--radio-hover-bg: #B9B9B9;--radio-bg: transparent;--radio-checked-bg: var(--color-basic-orange);--radio-color: #FFFFFF;--radio-border-radius: 50%;--font-size: 15px;--text-color: gray;display:flex;align-items:center;justify-content:flex-start;position:relative;font-size:var(--font-size);font-weight:400;color:var(--text-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.core-radio-group-container .flex-container .core-radio-item .checkmark{position:absolute;left:calc(var(--radio-size) * -1.2);height:var(--radio-size);width:var(--radio-size);margin-right:.5em;border:1px solid var(--radio-border-color);border-radius:var(--radio-border-radius);background-color:var(--radio-bg)}.core-radio-group-container .flex-container .core-radio-item:hover .checkmark{background-color:var(--radio-hover-bg)}.core-radio-group-container .flex-container .checked .checkmark{background-color:var(--radio-checked-bg);border-color:var(--radio-checked-bg);display:flex;align-items:center;justify-content:center}.core-radio-group-container .flex-container .checkmark:after{content:\"\";position:absolute;display:none}.core-radio-group-container .flex-container input:checked~label .checkmark:after{display:block}.core-radio-group-container .flex-container .core-radio-item .checkmark:after{width:12px;height:6px;border-left:3px solid var(--radio-color);border-bottom:3px solid var(--radio-color);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg) translate(1px,-1px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
14940
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"core-radio-group-container\">\r\n <div class=\"flex-container\" \r\n [class.vertical]=\"!!vertical\"\r\n [class.multi-column]=\"useMultiColumn\"\r\n [ngStyle]=\"containerStyle\" \r\n >\r\n\r\n <label *ngFor=\"let option of options\" \r\n class=\"core-radio-item\" \r\n (click)=\"onLabelClick(option)\"\r\n [ngStyle]=\"useMultiColumn ? { 'width.%': 100 / columnCount } : {}\"\r\n [class.form-control-disabled]=\"disabled\" \r\n [class.checked]=\"option.value===value\">\r\n <a class=\"checkmark\"></a>\r\n {{ option.text | translate: lang}}\r\n </label>\r\n\r\n </div>\r\n</div>", styles: [".core-radio-group-container .flex-container.vertical.multi-column{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));column-gap:16px;row-gap:8px}.core-radio-group-container .flex-container.vertical.multi-column label.core-radio-item{position:relative;width:100%;transform:none}.core-radio-group-container .flex-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around}.core-radio-group-container .flex-container.vertical{flex-direction:column;flex-wrap:nowrap}.core-radio-group-container .flex-container.vertical label{width:100%;transform:translate(20px)}.core-radio-group-container .flex-container .core-radio-item{--radio-size: 18px;--radio-border-color: #B9B9B9;--radio-hover-bg: #B9B9B9;--radio-bg: transparent;--radio-checked-bg: var(--color-basic-orange);--radio-color: #FFFFFF;--radio-border-radius: 50%;--font-size: 13px;--text-color: gray;display:flex;align-items:center;justify-content:flex-start;position:relative;font-size:var(--font-size);font-weight:400;color:var(--text-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.core-radio-group-container .flex-container .core-radio-item .checkmark{position:absolute;left:calc(var(--radio-size) * -1.2);height:var(--radio-size);width:var(--radio-size);margin-right:.5em;border:1px solid var(--radio-border-color);border-radius:var(--radio-border-radius);background-color:var(--radio-bg)}.core-radio-group-container .flex-container .core-radio-item:not(.checked):hover .checkmark{background-color:var(--radio-hover-bg)}.core-radio-group-container .flex-container .checked .checkmark{background-color:var(--radio-checked-bg);border-color:var(--radio-checked-bg);display:flex;align-items:center;justify-content:center}.core-radio-group-container .flex-container .checkmark:after{content:\"\";position:absolute;display:none}.core-radio-group-container .flex-container input:checked~label .checkmark:after{display:block}.core-radio-group-container .flex-container .core-radio-item .checkmark:after{width:12px;height:6px;border-left:3px solid var(--radio-color);border-bottom:3px solid var(--radio-color);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg) translate(1px,-1px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
14922
14941
  }
14923
14942
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRadioGroupComponent, decorators: [{
14924
14943
  type: Component,
@@ -14931,11 +14950,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
14931
14950
  multi: true,
14932
14951
  useExisting: CoreRadioGroupComponent
14933
14952
  }
14934
- ], template: "<div class=\"core-radio-group-container\">\r\n\r\n <div class=\"flex-container\" [class.vertical]=\"!!vertical\">\r\n\r\n <label *ngFor=\"let option of options\" class=\"core-radio-item\" (click)=\"onLabelClick(option)\"\r\n [class.form-control-disabled]=\"disabled\" [class.checked]=\"option.value===value\">\r\n <a class=\"checkmark\"></a>\r\n {{ option.text | translate: lang}}\r\n </label>\r\n\r\n </div>\r\n</div>", styles: [".core-radio-group-container .flex-container.vertical{flex-direction:column}.core-radio-group-container .flex-container.vertical label{width:100%;transform:translate(20px)}.core-radio-group-container .flex-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around}.core-radio-group-container .flex-container .core-radio-item{--radio-size: 18px;--radio-border-color: #B9B9B9;--radio-hover-bg: #B9B9B9;--radio-bg: transparent;--radio-checked-bg: var(--color-basic-orange);--radio-color: #FFFFFF;--radio-border-radius: 50%;--font-size: 15px;--text-color: gray;display:flex;align-items:center;justify-content:flex-start;position:relative;font-size:var(--font-size);font-weight:400;color:var(--text-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.core-radio-group-container .flex-container .core-radio-item .checkmark{position:absolute;left:calc(var(--radio-size) * -1.2);height:var(--radio-size);width:var(--radio-size);margin-right:.5em;border:1px solid var(--radio-border-color);border-radius:var(--radio-border-radius);background-color:var(--radio-bg)}.core-radio-group-container .flex-container .core-radio-item:hover .checkmark{background-color:var(--radio-hover-bg)}.core-radio-group-container .flex-container .checked .checkmark{background-color:var(--radio-checked-bg);border-color:var(--radio-checked-bg);display:flex;align-items:center;justify-content:center}.core-radio-group-container .flex-container .checkmark:after{content:\"\";position:absolute;display:none}.core-radio-group-container .flex-container input:checked~label .checkmark:after{display:block}.core-radio-group-container .flex-container .core-radio-item .checkmark:after{width:12px;height:6px;border-left:3px solid var(--radio-color);border-bottom:3px solid var(--radio-color);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg) translate(1px,-1px)}\n"] }]
14935
- }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { options$: [{
14953
+ ], template: "<div class=\"core-radio-group-container\">\r\n <div class=\"flex-container\" \r\n [class.vertical]=\"!!vertical\"\r\n [class.multi-column]=\"useMultiColumn\"\r\n [ngStyle]=\"containerStyle\" \r\n >\r\n\r\n <label *ngFor=\"let option of options\" \r\n class=\"core-radio-item\" \r\n (click)=\"onLabelClick(option)\"\r\n [ngStyle]=\"useMultiColumn ? { 'width.%': 100 / columnCount } : {}\"\r\n [class.form-control-disabled]=\"disabled\" \r\n [class.checked]=\"option.value===value\">\r\n <a class=\"checkmark\"></a>\r\n {{ option.text | translate: lang}}\r\n </label>\r\n\r\n </div>\r\n</div>", styles: [".core-radio-group-container .flex-container.vertical.multi-column{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));column-gap:16px;row-gap:8px}.core-radio-group-container .flex-container.vertical.multi-column label.core-radio-item{position:relative;width:100%;transform:none}.core-radio-group-container .flex-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around}.core-radio-group-container .flex-container.vertical{flex-direction:column;flex-wrap:nowrap}.core-radio-group-container .flex-container.vertical label{width:100%;transform:translate(20px)}.core-radio-group-container .flex-container .core-radio-item{--radio-size: 18px;--radio-border-color: #B9B9B9;--radio-hover-bg: #B9B9B9;--radio-bg: transparent;--radio-checked-bg: var(--color-basic-orange);--radio-color: #FFFFFF;--radio-border-radius: 50%;--font-size: 13px;--text-color: gray;display:flex;align-items:center;justify-content:flex-start;position:relative;font-size:var(--font-size);font-weight:400;color:var(--text-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.core-radio-group-container .flex-container .core-radio-item .checkmark{position:absolute;left:calc(var(--radio-size) * -1.2);height:var(--radio-size);width:var(--radio-size);margin-right:.5em;border:1px solid var(--radio-border-color);border-radius:var(--radio-border-radius);background-color:var(--radio-bg)}.core-radio-group-container .flex-container .core-radio-item:not(.checked):hover .checkmark{background-color:var(--radio-hover-bg)}.core-radio-group-container .flex-container .checked .checkmark{background-color:var(--radio-checked-bg);border-color:var(--radio-checked-bg);display:flex;align-items:center;justify-content:center}.core-radio-group-container .flex-container .checkmark:after{content:\"\";position:absolute;display:none}.core-radio-group-container .flex-container input:checked~label .checkmark:after{display:block}.core-radio-group-container .flex-container .core-radio-item .checkmark:after{width:12px;height:6px;border-left:3px solid var(--radio-color);border-bottom:3px solid var(--radio-color);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg) translate(1px,-1px)}\n"] }]
14954
+ }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }, { type: i0.ChangeDetectorRef }], propDecorators: { options$: [{
14936
14955
  type: Input
14937
14956
  }], vertical: [{
14938
14957
  type: Input
14958
+ }], columnCount: [{
14959
+ type: Input
14960
+ }], gapY: [{
14961
+ type: Input
14939
14962
  }] } });
14940
14963
 
14941
14964
  class EvaluateDialogComponent extends BaseComponent {
@@ -15037,7 +15060,7 @@ class EvaluateDialogComponent extends BaseComponent {
15037
15060
  this.evaluateDialogService.numberInput = e;
15038
15061
  }
15039
15062
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EvaluateDialogComponent, deps: [{ token: MultiLanguageService }, { token: EvaluateDialogService }, { token: RoutingService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
15040
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: EvaluateDialogComponent, isStandalone: true, selector: "app-evaluate-dialog", inputs: { showingUp: "showingUp", buttonItems: "buttonItems" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-evaluate-dialog-container roboto-font\">\r\n <div class=\"modal-container\" *ngIf=\"show\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal fade show\" style=\"display: block;\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n\r\n <core-page-header [title]=\"title\" [hideButtonGroup]=\"true\"></core-page-header>\r\n\r\n <button type=\"button\" class=\"close\">\r\n <span (click)=\"close()\">\u00D7</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">{{ body | translate: lang }}</div>\r\n <ul *ngIf=\"!!informationLines?.length\">\r\n <li *ngFor=\"let line of informationLines\">\r\n {{ line }}\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!!shownBtn\">\r\n <core-radio-group [options$]=\"options$\"\r\n [(ngModel)]=\"evaluateDialogService.formType\"></core-radio-group>\r\n </div>\r\n <div [ngStyle]=\"{padding: 16 + 'px'}\" *ngIf=\"!!shownInput\">\r\n <label>{{dateWage | translate: lang}}</label>\r\n <core-date-picker [(ngModel)]=\"dateInput\" (ngModelChange)=\"onDateInputChange($event)\"></core-date-picker>\r\n <label class=\"mt-3\">{{reasonLable | translate: lang}}</label>\r\n <textarea [(ngModel)]=\"reason\" (ngModelChange)=\"onReasonEvent($event)\" class=\"form-control\"[rows]=\"'12'\" [ngStyle]=\"{ height: 'unset' }\"></textarea>\r\n </div>\r\n <div *ngIf=\"!!showInputNumber\">\r\n <input [ngModel]=\"inputNumber\" (ngModelChange)=\"onInputNumberChange($event)\" class=\"input-number\" type=\"number\">\r\n </div>\r\n <div *ngIf=\"!!shownBtn\" class=\"line mt-5\"></div>\r\n <div class=\"d-flex justify-content-center py-3\">\r\n <core-button-group-vns [showCaption]=\"true\" (buttonClick)=\"onButtonClick($event)\"\r\n [shownItems]=\"buttonItems\" class=\"buttonGroupCustom\"></core-button-group-vns>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".core-evaluate-dialog-container{--z-index: 9999999999;position:absolute;z-index:var(--z-index);font-size:13px}.core-evaluate-dialog-container .hidden-input{display:none}.core-evaluate-dialog-container .shown{display:block}.core-evaluate-dialog-container .modal-header{padding-top:0;padding-bottom:0}.core-evaluate-dialog-container .line{width:100%;height:1px;background-color:#cccc}.core-evaluate-dialog-container .input-number{width:94%;padding:5px;margin:0 0 0 14px;outline:none;border-radius:5px;border:1px solid #ced4da}.core-evaluate-dialog-container .input-number:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical"] }, { kind: "component", type: CoreButtonGroupVnsComponent, selector: "core-button-group-vns", inputs: ["height", "instanceNumber", "forHeader", "fixedShow", "shownItems", "showCaption", "lastChildEffectOff"], outputs: ["buttonClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled"] }] }); }
15063
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: EvaluateDialogComponent, isStandalone: true, selector: "app-evaluate-dialog", inputs: { showingUp: "showingUp", buttonItems: "buttonItems" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-evaluate-dialog-container roboto-font\">\r\n <div class=\"modal-container\" *ngIf=\"show\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal fade show\" style=\"display: block;\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n\r\n <core-page-header [title]=\"title\" [hideButtonGroup]=\"true\"></core-page-header>\r\n\r\n <button type=\"button\" class=\"close\">\r\n <span (click)=\"close()\">\u00D7</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">{{ body | translate: lang }}</div>\r\n <ul *ngIf=\"!!informationLines?.length\">\r\n <li *ngFor=\"let line of informationLines\">\r\n {{ line }}\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!!shownBtn\">\r\n <core-radio-group [options$]=\"options$\"\r\n [(ngModel)]=\"evaluateDialogService.formType\"></core-radio-group>\r\n </div>\r\n <div [ngStyle]=\"{padding: 16 + 'px'}\" *ngIf=\"!!shownInput\">\r\n <label>{{dateWage | translate: lang}}</label>\r\n <core-date-picker [(ngModel)]=\"dateInput\" (ngModelChange)=\"onDateInputChange($event)\"></core-date-picker>\r\n <label class=\"mt-3\">{{reasonLable | translate: lang}}</label>\r\n <textarea [(ngModel)]=\"reason\" (ngModelChange)=\"onReasonEvent($event)\" class=\"form-control\"[rows]=\"'12'\" [ngStyle]=\"{ height: 'unset' }\"></textarea>\r\n </div>\r\n <div *ngIf=\"!!showInputNumber\">\r\n <input [ngModel]=\"inputNumber\" (ngModelChange)=\"onInputNumberChange($event)\" class=\"input-number\" type=\"number\">\r\n </div>\r\n <div *ngIf=\"!!shownBtn\" class=\"line mt-5\"></div>\r\n <div class=\"d-flex justify-content-center py-3\">\r\n <core-button-group-vns [showCaption]=\"true\" (buttonClick)=\"onButtonClick($event)\"\r\n [shownItems]=\"buttonItems\" class=\"buttonGroupCustom\"></core-button-group-vns>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".core-evaluate-dialog-container{--z-index: 9999999999;position:absolute;z-index:var(--z-index);font-size:13px}.core-evaluate-dialog-container .hidden-input{display:none}.core-evaluate-dialog-container .shown{display:block}.core-evaluate-dialog-container .modal-header{padding-top:0;padding-bottom:0}.core-evaluate-dialog-container .line{width:100%;height:1px;background-color:#cccc}.core-evaluate-dialog-container .input-number{width:94%;padding:5px;margin:0 0 0 14px;outline:none;border-radius:5px;border:1px solid #ced4da}.core-evaluate-dialog-container .input-number:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical", "columnCount", "gapY"] }, { kind: "component", type: CoreButtonGroupVnsComponent, selector: "core-button-group-vns", inputs: ["height", "instanceNumber", "forHeader", "fixedShow", "shownItems", "showCaption", "lastChildEffectOff"], outputs: ["buttonClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled"] }] }); }
15041
15064
  }
15042
15065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EvaluateDialogComponent, decorators: [{
15043
15066
  type: Component,
@@ -16531,7 +16554,7 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
16531
16554
  multi: true,
16532
16555
  useExisting: CoreDropdownComponent,
16533
16556
  },
16534
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <!-- <label type=\"text\" class=\"text form-control\" [class.form-control-disabled]=\"disabled\" (click)=\"toggleExpanded()\">\r\n <span [appTooltip]=\"text\">{{ !!loading ? \"...\" : (text | translate : lang) }}</span>\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </label> -->\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484}.core-dropdown-container label.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.search:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollComponent, selector: "core-scroll", inputs: ["localOptions", "itemTemplate", "itemCount", "height", "childHeight", "renderAhread"] }, { kind: "component", type: ThreedotsComponent, selector: "app-threedots" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
16557
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <!-- <label type=\"text\" class=\"text form-control\" [class.form-control-disabled]=\"disabled\" (click)=\"toggleExpanded()\">\r\n <span [appTooltip]=\"text\">{{ !!loading ? \"...\" : (text | translate : lang) }}</span>\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </label> -->\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484}.core-dropdown-container div.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.search:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollComponent, selector: "core-scroll", inputs: ["localOptions", "itemTemplate", "itemCount", "height", "childHeight", "renderAhread"] }, { kind: "component", type: ThreedotsComponent, selector: "app-threedots" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
16535
16558
  }
16536
16559
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreDropdownComponent, decorators: [{
16537
16560
  type: Component,
@@ -16549,7 +16572,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
16549
16572
  multi: true,
16550
16573
  useExisting: CoreDropdownComponent,
16551
16574
  },
16552
- ], template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <!-- <label type=\"text\" class=\"text form-control\" [class.form-control-disabled]=\"disabled\" (click)=\"toggleExpanded()\">\r\n <span [appTooltip]=\"text\">{{ !!loading ? \"...\" : (text | translate : lang) }}</span>\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </label> -->\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484}.core-dropdown-container label.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.search:focus{outline:none}\n"] }]
16575
+ ], template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <!-- <label type=\"text\" class=\"text form-control\" [class.form-control-disabled]=\"disabled\" (click)=\"toggleExpanded()\">\r\n <span [appTooltip]=\"text\">{{ !!loading ? \"...\" : (text | translate : lang) }}</span>\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </label> -->\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484}.core-dropdown-container div.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.search:focus{outline:none}\n"] }]
16553
16576
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: DomService }, { type: AlertService }, { type: i0.Injector }, { type: MultiLanguageService }], propDecorators: { getByIdObject$: [{
16554
16577
  type: Input
16555
16578
  }], paramMode: [{
@@ -17951,6 +17974,7 @@ class CoreFormControlSeekerComponent extends CoreFormControlBaseComponent {
17951
17974
  this.excludedColumnsPosition = [];
17952
17975
  this.excludedColumnsPositionConcurrent = [];
17953
17976
  this.excludedColumnsAutoForm = [];
17977
+ this.cdr = inject(ChangeDetectorRef);
17954
17978
  this.defaultAvatar = ras.get();
17955
17979
  }
17956
17980
  asignMultiModeColumns() {
@@ -18130,6 +18154,37 @@ class CoreFormControlSeekerComponent extends CoreFormControlBaseComponent {
18130
18154
  console.log("this.multiModeColumns", this.multiModeColumns);
18131
18155
  console.log('To do: Assign api res to the selectedData');
18132
18156
  console.groupEnd();
18157
+ // safe to modify only when paramMode
18158
+ if (!!this.paramMode && Array.isArray(obj)) {
18159
+ let getListApiForValues = '';
18160
+ switch (this.seekerSourceType) {
18161
+ case EnumCoreFormControlSeekerSourceType.EMPLOYEE_SEEK:
18162
+ getListApiForValues = '/api/HuEmployee/ReadAllByIds';
18163
+ break;
18164
+ case EnumCoreFormControlSeekerSourceType.POSITION_SEEK:
18165
+ getListApiForValues = '/api/HuPosition/ReadAllByIds';
18166
+ break;
18167
+ case EnumCoreFormControlSeekerSourceType.CONTRACT_SEEK:
18168
+ break;
18169
+ case EnumCoreFormControlSeekerSourceType.WAGE_SEEK:
18170
+ break;
18171
+ case EnumCoreFormControlSeekerSourceType.JOB_SEEK:
18172
+ break;
18173
+ case EnumCoreFormControlSeekerSourceType.WORKING_SEEK:
18174
+ break;
18175
+ }
18176
+ if (getListApiForValues) {
18177
+ this.subscriptions.push(this.appService.post(getListApiForValues, { ids: obj })
18178
+ .pipe(catchError(err => {
18179
+ return of(err);
18180
+ })).subscribe(x => {
18181
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
18182
+ this.objectList$.next(x.body.innerBody);
18183
+ this.cdr.markForCheck();
18184
+ }
18185
+ }));
18186
+ }
18187
+ }
18133
18188
  }
18134
18189
  if (!!this.paramMode && !this.multiMode && !!obj && typeof (obj) === 'number') {
18135
18190
  if (!!this.getByIdApi) {
@@ -20706,7 +20761,7 @@ class CoreControlComponent extends BaseComponent {
20706
20761
  return typeof pattern === 'string' ? pattern : undefined;
20707
20762
  }
20708
20763
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
20709
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlComponent, isStandalone: true, selector: "core-control", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n\r\n @if (!control.headless!) {\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.d-none]=\"!!control.hidden\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\" [appTooltip]=\"control.tooltip! | translate: lang\" [ngStyle]=\"{\r\n display: 'inline-block'\r\n }\">\r\n {{(control.controlType!=='CHECKBOX' && control.controlType!=='BUTTON') ? (control.label | translate: lang) : ''}}\r\n </label>\r\n\r\n @if (!!control.hint! && control.controlType !== 'CHECKBOX') {\r\n <i class=\"feather-help-circle\" [appTooltip]=\"control.hint!\" [ngStyle]=\"{\r\n display: 'inline-block',\r\n marginLeft: '2px'\r\n }\" [class.d-none]=\"!!control.hidden\"></i>\r\n }\r\n }\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case (\"TEXTBOX\") {\r\n\r\n <input *ngIf=\"control.type === 'date'\"\r\n [formControlName]=\"control.field\"\r\n type=\"date\"\r\n useValueAsDate\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"control.type === 'time'\"\r\n [formControlName]=\"control.field\"\r\n type=\"time\"\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"control.type === 'number'\"\r\n [formControlName]=\"control.field\"\r\n type=\"number\"\r\n step=\"{{ control.step || 1 }}\"\r\n class=\"form-control\"\r\n style=\"text-align: right;\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"['string', 'text', 'email', 'url', 'password'].includes(control.type || 'text')\"\r\n [formControlName]=\"control.field\"\r\n [type]=\"control.type\"\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\"\r\n [attr.pattern]=\"getPattern(control) || null\"\r\n [appTooltip]=\"form.get(control.field)?.value\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [formControlName]=\"control.field\" class=\"form-control\" [readonly]=\"control.readonly\" [placeholder]=\"control.placeholder! || ''\"></textarea>\r\n }\r\n @case (\"CHECKBOX\") {\r\n <core-checkbox [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\"></core-checkbox>\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [formControlName]=\"control.field\" [columns]=\"control.columns!\" [shownFrom]=\"control.shownFrom!\" \r\n [apiDefinition]=\"control.apiDefinition!\" [getByIdApi]=\"control.getByIdApi!\" [selectedRow$]=\"control.selectedRow$!\"\r\n [outerParam$]=\"control.outerParam$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [formControlName]=\"control.field\" [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\" [placeholder]=\"control.placeholder! || ''\"></core-dropdown>\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\" [placeholder]=\"control.placeholder! || ''\"></core-list>\r\n }\r\n @case (\"CHECKLIST\") {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [formControlName]=\"control.field\" [options$]=\"control.checklistOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\" [placeholder]=\"control.placeholder! || ''\"></core-checklist>\r\n }\r\n }\r\n @case (\"FILEUPLOADER\") {\r\n @if (!!control.uploadFileType) {\r\n <core-file-uploader [formControlName]=\"control.field\" [uploadFileType]=\"control.uploadFileType\"\r\n [fileDataControlName]=\"control.fileDataControlName!\"\r\n [fileNameControlName]=\"control.fileNameControlName!\"\r\n [fileTypeControlName]=\"control.fileTypeControlName!\"\r\n [verticalMode]=\"control.verticalMode!\"></core-file-uploader>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [formControlName]=\"control.field\" [assignTo]=\"control.assignTo!\"\r\n [valueToShow]=\"control.valueToShow!\" [placeholder]=\"control.placeholder! || ''\"></core-attachment>\r\n }\r\n @case (\"GRIDBUFFER\") {\r\n @if (!!control.gridBufferFormSections && !!control.gridBufferTableColumns) {\r\n <core-grid-buffer [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n (onBufferFormCreated)=\"!!control.onBufferFormCreated ? control.onBufferFormCreated($event) : null\"></core-grid-buffer>\r\n }\r\n }\r\n @case (\"ORGTREECHECK\") {\r\n <core-org-tree [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [formControlName]=\"control.field\"\r\n [options$]=\"control.radioGroupOptions$!\"\r\n [vertical]=\"control.verticalMode!\"\r\n ></core-radio-group>\r\n }\r\n @case (\"MONTHSELECTOR\") {\r\n <core-month-selector [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [boundFrom]=\"control.boundFrom!\"\r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\" \r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [formControlName]=\"control.field\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [seekerVerifyIgnore]=\"control.seekerVerifyIgnore!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [formControlName]=\"control.field\" [seekerSourceType]=\"control.seekerSourceType!\"\r\n [boundFrom]=\"control.boundFrom!\" [alsoBindTo]=\"control.alsoBindTo!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n }\r\n }\r\n }\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='BUTTON'\">\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n <div *ngIf=\"!!errors!.length\">\r\n <div class=\"form-control-error\" *ngFor=\"let error of errors\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!!errors!.length && !!checkError$.value\">\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-container{font-size:var(--typo-basic-font-size)!important}.core-control-container .control-label{color:#848484}.core-control-container>div.hidden{display:none}.core-control-container label{color:#464646}.core-control-container label.required:after{content:\"*\";color:#ff040b}.core-control-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}.core-control-container input[type=number]{padding-right:12px;position:relative}.core-control-container input[type=number]::-webkit-inner-spin-button{position:absolute;right:.3em;margin-left:.5em}.core-control-container input[type=number]{-moz-appearance:textfield}.core-control-container i.feather-help-circle{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight"] }, { kind: "component", type: CoreListComponent, selector: "core-list", inputs: ["title", "height", "options", "placeholder"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreFormControlSeekerComponent, selector: "core-form-control-seeker", inputs: ["title", "showPageHeader", "preDefinedOuterParam$", "preDefinedOuterFilter$", "click$", "getByIdObject$", "getByIdApi", "paramMode", "multiMode", "objectList$", "useTheseColumns", "hideOrgTree", "excludedColumns", "excludeExistingList", "placeholder", "sourceSpaceHeight", "indirectBinding", "bindGridIdTo", "multiModeExtendedColumns", "multiModeExtendedSections", "editBufferData$", "multiModeTableHeight", "multiModeRowHeight", "seekerSourceType", "boundFrom", "shownFrom", "alsoBindTo", "seekerVerifyIgnore"], outputs: ["onDoubleClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }, { kind: "component", type: CoreAttachmentComponent, selector: "core-attachment", inputs: ["assignTo", "readonly", "valueToShow", "placeholder"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "searchMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance", "excludedIds$", "stateIsolated$"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical"] }, { kind: "component", type: CoreMccComponent, selector: "core-mcc", inputs: ["height", "columns", "shownFrom", "apiDefinition", "getByIdApi", "outerParam$", "selectedRow$", "outerFilterOperators", "outerInOperators", "placeholder"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", inputs: ["align", "placeholder"], outputs: ["onYearClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign", "placeholder"], outputs: ["onLeftFocus"] }, { kind: "component", type: CoreShiftCellComponent, selector: "core-shift-cell", inputs: ["$readOnly", "$hideStarterPlusSign", "$hideStickersWhileDragover", "$backgroundColor"] }, { kind: "component", type: CoreShiftCollectionComponent, selector: "core-shift-collection", inputs: ["height", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }] }); }
20764
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlComponent, isStandalone: true, selector: "core-control", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n\r\n @if (!control.headless!) {\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.d-none]=\"!!control.hidden\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\" [appTooltip]=\"control.tooltip! | translate: lang\" [ngStyle]=\"{\r\n display: 'inline-block'\r\n }\">\r\n {{(control.controlType!=='CHECKBOX' && control.controlType!=='BUTTON') ? (control.label | translate: lang) : ''}}\r\n </label>\r\n\r\n @if (!!control.hint! && control.controlType !== 'CHECKBOX') {\r\n <i class=\"feather-help-circle\" [appTooltip]=\"control.hint!\" [ngStyle]=\"{\r\n display: 'inline-block',\r\n marginLeft: '2px'\r\n }\" [class.d-none]=\"!!control.hidden\"></i>\r\n }\r\n }\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case (\"TEXTBOX\") {\r\n\r\n <input *ngIf=\"control.type === 'date'\"\r\n [formControlName]=\"control.field\"\r\n type=\"date\"\r\n useValueAsDate\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"control.type === 'time'\"\r\n [formControlName]=\"control.field\"\r\n type=\"time\"\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"control.type === 'number'\"\r\n [formControlName]=\"control.field\"\r\n type=\"number\"\r\n step=\"{{ control.step || 1 }}\"\r\n class=\"form-control\"\r\n style=\"text-align: right;\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n \r\n <input *ngIf=\"['string', 'text', 'email', 'url', 'password'].includes(control.type || 'text')\"\r\n [formControlName]=\"control.field\"\r\n [type]=\"control.type\"\r\n class=\"form-control\"\r\n [readonly]=\"control.readonly\"\r\n [placeholder]=\"control.placeholder || ''\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\"\r\n [attr.pattern]=\"getPattern(control) || null\"\r\n [appTooltip]=\"form.get(control.field)?.value\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [formControlName]=\"control.field\" class=\"form-control\" [readonly]=\"control.readonly\" [placeholder]=\"control.placeholder! || ''\"></textarea>\r\n }\r\n @case (\"CHECKBOX\") {\r\n <core-checkbox [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\"></core-checkbox>\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [formControlName]=\"control.field\" [columns]=\"control.columns!\" [shownFrom]=\"control.shownFrom!\" \r\n [apiDefinition]=\"control.apiDefinition!\" [getByIdApi]=\"control.getByIdApi!\" [selectedRow$]=\"control.selectedRow$!\"\r\n [outerParam$]=\"control.outerParam$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [formControlName]=\"control.field\" [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\" [placeholder]=\"control.placeholder! || ''\"></core-dropdown>\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\" [placeholder]=\"control.placeholder! || ''\"></core-list>\r\n }\r\n @case (\"CHECKLIST\") {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [formControlName]=\"control.field\" [options$]=\"control.checklistOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\" [placeholder]=\"control.placeholder! || ''\"></core-checklist>\r\n }\r\n }\r\n @case (\"FILEUPLOADER\") {\r\n @if (!!control.uploadFileType) {\r\n <core-file-uploader [formControlName]=\"control.field\" [uploadFileType]=\"control.uploadFileType\"\r\n [fileDataControlName]=\"control.fileDataControlName!\"\r\n [fileNameControlName]=\"control.fileNameControlName!\"\r\n [fileTypeControlName]=\"control.fileTypeControlName!\"\r\n [verticalMode]=\"control.verticalMode!\"></core-file-uploader>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [formControlName]=\"control.field\" [assignTo]=\"control.assignTo!\"\r\n [valueToShow]=\"control.valueToShow!\" [placeholder]=\"control.placeholder! || ''\"></core-attachment>\r\n }\r\n @case (\"GRIDBUFFER\") {\r\n @if (!!control.gridBufferFormSections && !!control.gridBufferTableColumns) {\r\n <core-grid-buffer [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n (onBufferFormCreated)=\"!!control.onBufferFormCreated ? control.onBufferFormCreated($event) : null\"></core-grid-buffer>\r\n }\r\n }\r\n @case (\"ORGTREECHECK\") {\r\n <core-org-tree [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [formControlName]=\"control.field\"\r\n [options$]=\"control.radioGroupOptions$!\"\r\n [vertical]=\"control.verticalMode!\"\r\n ></core-radio-group>\r\n }\r\n @case (\"MONTHSELECTOR\") {\r\n <core-month-selector [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [boundFrom]=\"control.boundFrom!\"\r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\" \r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [formControlName]=\"control.field\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [seekerVerifyIgnore]=\"control.seekerVerifyIgnore!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [preDefinedOuterFilter$]=\"control.preDefinedOuterFilter$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n [click$]=\"control.click$\"\r\n [useTheseColumns]=\"control.useTheseColumns!\"\r\n [hideOrgTree]=\"control.hideOrgTree!\"\r\n [sourceSpaceHeight]=\"control.sourceSpaceHeight!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [formControlName]=\"control.field\" [seekerSourceType]=\"control.seekerSourceType!\"\r\n [boundFrom]=\"control.boundFrom!\" [alsoBindTo]=\"control.alsoBindTo!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-form-control-seeker>\r\n }\r\n }\r\n }\r\n }\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='BUTTON'\">\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n <div *ngIf=\"!!errors!.length\">\r\n <div class=\"form-control-error\" *ngFor=\"let error of errors\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!!errors!.length && !!checkError$.value\">\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-container{font-size:var(--typo-basic-font-size)!important}.core-control-container .control-label{color:#848484}.core-control-container>div.hidden{display:none}.core-control-container label{color:#464646}.core-control-container label.required:after{content:\"*\";color:#ff040b}.core-control-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}.core-control-container input[type=number]{padding-right:12px;position:relative}.core-control-container input[type=number]::-webkit-inner-spin-button{position:absolute;right:.3em;margin-left:.5em}.core-control-container input[type=number]{-moz-appearance:textfield}.core-control-container i.feather-help-circle{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight"] }, { kind: "component", type: CoreListComponent, selector: "core-list", inputs: ["title", "height", "options", "placeholder"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreFormControlSeekerComponent, selector: "core-form-control-seeker", inputs: ["title", "showPageHeader", "preDefinedOuterParam$", "preDefinedOuterFilter$", "click$", "getByIdObject$", "getByIdApi", "paramMode", "multiMode", "objectList$", "useTheseColumns", "hideOrgTree", "excludedColumns", "excludeExistingList", "placeholder", "sourceSpaceHeight", "indirectBinding", "bindGridIdTo", "multiModeExtendedColumns", "multiModeExtendedSections", "editBufferData$", "multiModeTableHeight", "multiModeRowHeight", "seekerSourceType", "boundFrom", "shownFrom", "alsoBindTo", "seekerVerifyIgnore"], outputs: ["onDoubleClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }, { kind: "component", type: CoreAttachmentComponent, selector: "core-attachment", inputs: ["assignTo", "readonly", "valueToShow", "placeholder"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "searchMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance", "excludedIds$", "stateIsolated$"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical", "columnCount", "gapY"] }, { kind: "component", type: CoreMccComponent, selector: "core-mcc", inputs: ["height", "columns", "shownFrom", "apiDefinition", "getByIdApi", "outerParam$", "selectedRow$", "outerFilterOperators", "outerInOperators", "placeholder"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", inputs: ["align", "placeholder"], outputs: ["onYearClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign", "placeholder"], outputs: ["onLeftFocus"] }, { kind: "component", type: CoreShiftCellComponent, selector: "core-shift-cell", inputs: ["$readOnly", "$hideStarterPlusSign", "$hideStickersWhileDragover", "$backgroundColor"] }, { kind: "component", type: CoreShiftCollectionComponent, selector: "core-shift-collection", inputs: ["height", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }] }); }
20710
20765
  }
20711
20766
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlComponent, decorators: [{
20712
20767
  type: Component,
@@ -20761,6 +20816,7 @@ class CoreFormComponent {
20761
20816
  this.buttonClick = new EventEmitter();
20762
20817
  this.subscriptions = [];
20763
20818
  this.payLoad = '';
20819
+ this.cdr = inject(ChangeDetectorRef);
20764
20820
  this.isDevMode = isDevMode();
20765
20821
  }
20766
20822
  updateSections(newSections) {
@@ -20807,6 +20863,13 @@ class CoreFormComponent {
20807
20863
  formName: this.formName,
20808
20864
  formGroup: this.form,
20809
20865
  });
20866
+ console.log("this.sections before detectChanges()", this.sections);
20867
+ this.cdr.detectChanges();
20868
+ }
20869
+ if (changes['customFormButtonItems']) {
20870
+ this.buttonItems = this.customFormButtonItems;
20871
+ //this.cdr.markForCheck();
20872
+ this.cdr.detectChanges();
20810
20873
  }
20811
20874
  }
20812
20875
  ngOnInit() {
@@ -20860,23 +20923,26 @@ class CoreFormComponent {
20860
20923
  if (isDevMode()) {
20861
20924
  /* START: Check if each field is unique */
20862
20925
  const fields = this.coreFormService.getAllFormBaseControlNames(this.sections);
20863
- fields.reduce((p, c) => {
20864
- if (c === '') {
20865
- this.alertService.error(`Form control name must be definded, '${c}' is invalid form control name!!!`, noneAutoClosedAlertOptions);
20866
- }
20867
- else {
20868
- if (p === c) {
20869
- this.alertService.error(`Duplicate form control name: '${c}'. Consider to predefine one ONLY!!!.`, noneAutoClosedAlertOptions);
20926
+ if (fields.length) {
20927
+ fields.reduce((p, c) => {
20928
+ if (c === '') {
20929
+ this.alertService.error(`Form control name must be definded, '${c}' is invalid form control name!!!`, noneAutoClosedAlertOptions);
20870
20930
  }
20871
- }
20872
- return c;
20873
- });
20931
+ else {
20932
+ if (p === c) {
20933
+ this.alertService.error(`Duplicate form control name: '${c}'. Consider to predefine one ONLY!!!.`, noneAutoClosedAlertOptions);
20934
+ }
20935
+ }
20936
+ return c;
20937
+ });
20938
+ }
20874
20939
  /* END: Check if each field is unique */
20875
20940
  }
20876
20941
  this.subscriptions.push(this.multiLanguageService.lang$.subscribe((x) => (this.lang = x)));
20877
20942
  }
20878
20943
  ngAfterViewInit() {
20879
20944
  this.onFormRefCreated.emit(this.formRef);
20945
+ setTimeout(() => this.cdr.detectChanges());
20880
20946
  }
20881
20947
  onFormSubmit() {
20882
20948
  this.checkError$.next(true);
@@ -30308,6 +30374,7 @@ class CoreFormDesignService {
30308
30374
  entityTable: '',
30309
30375
  captionCode: '',
30310
30376
  formDesignSections: [],
30377
+ sections: [],
30311
30378
  crudRead: '',
30312
30379
  crudUpdate: ''
30313
30380
  });
@@ -30317,6 +30384,9 @@ class CoreFormDesignService {
30317
30384
  rows: [{ cells: [{ flexSize: 12 }] }]
30318
30385
  }
30319
30386
  ]);
30387
+ this.$sectionIndex = signal(null);
30388
+ this.$rowIndex = signal(null);
30389
+ this.$colIndex = signal(null);
30320
30390
  this.$selectedCell = signal(null);
30321
30391
  this.$fieldSettingPanelOpen = signal(false);
30322
30392
  this.$showFormMetadata = signal(false);
@@ -30324,11 +30394,15 @@ class CoreFormDesignService {
30324
30394
  this.$currentControl = signal(null);
30325
30395
  this.$submitText = signal(EnumTranslateKey.UI_EDIT_FORM_BUTTON_ADD);
30326
30396
  this.editMode$ = new BehaviorSubject(EnumCorePageEditMode.CREATE);
30397
+ this.$customFormButtonItems = signal(undefined);
30327
30398
  //$isDragging: WritableSignal<boolean> = signal(false);
30328
30399
  this.$draggingType = signal(null);
30329
30400
  this.$shouldPatchMetadataForm = signal(false);
30330
30401
  this.$currentControlJson = computed(() => JSON.stringify(this.stripRuntimeProps(this.$currentControl()), null, 2).trim());
30331
30402
  this.$mode = signal(EnumFormDesignMode.Default);
30403
+ this.$liveFormNormalMode = signal(false);
30404
+ this.$liveFormSections = signal([]);
30405
+ this.liveFormCrudMode$ = new BehaviorSubject(EnumCorePageEditMode.CREATE);
30332
30406
  this.formDesign = new FormGroup({});
30333
30407
  this.alertService = inject(AlertService);
30334
30408
  this.appService = inject(AppService);
@@ -30408,6 +30482,17 @@ class CoreFormDesignService {
30408
30482
  }));
30409
30483
  }
30410
30484
  });
30485
+ effect(() => {
30486
+ const sections = this.$placeholderSections();
30487
+ // 🔥 Don't read this.$afInstance() directly — use `update()` safely
30488
+ this.$afInstance.update(instance => ({
30489
+ ...instance,
30490
+ formDesignSections: sections
30491
+ }));
30492
+ });
30493
+ effect(() => {
30494
+ this.$liveFormSections.set(this.toCoreFormSections(this.$placeholderSections()));
30495
+ });
30411
30496
  }
30412
30497
  setControlProp(key, value) {
30413
30498
  const control = this.$currentControl();
@@ -30423,7 +30508,15 @@ class CoreFormDesignService {
30423
30508
  rawControl.updateValueAndValidity(); // 🔁 Trigger validation and checkError
30424
30509
  }
30425
30510
  }
30426
- //this.cdr.markForCheck();
30511
+ if (key === 'flexSize') {
30512
+ const currentCell = this.$selectedCell();
30513
+ if (!!currentCell) {
30514
+ currentCell.flexSize = value;
30515
+ this.$selectedCell.set({ ...currentCell });
30516
+ // ✅ Trigger full section update
30517
+ this.updateCellAt({ flexSize: value });
30518
+ }
30519
+ }
30427
30520
  }
30428
30521
  replaceControl(oldField, newControl) {
30429
30522
  if (!this.formDesign)
@@ -30813,7 +30906,7 @@ class CoreFormDesignService {
30813
30906
  }));
30814
30907
  }
30815
30908
  toCoreFormSections(placeholderSections) {
30816
- return placeholderSections.map(p => ({
30909
+ const transformed = placeholderSections.map(p => ({
30817
30910
  caption: p.caption,
30818
30911
  rows: p.rows.map(row => row?.cells
30819
30912
  .map(cell => {
@@ -30827,7 +30920,7 @@ class CoreFormDesignService {
30827
30920
  field: original.field ?? 'unknownField',
30828
30921
  label: original.label ?? '',
30829
30922
  value: original.value,
30830
- flexSize: original.hidden ? 0 : (cell.flexSize ?? 3),
30923
+ flexSize: original.hidden ? 0 : (cell.flexSize ?? 0),
30831
30924
  headless: undefined
30832
30925
  };
30833
30926
  // 🧠 Runtime init
@@ -30866,26 +30959,31 @@ class CoreFormDesignService {
30866
30959
  .filter((x) => !!x) // ✅ Type guard to strip voids
30867
30960
  )
30868
30961
  }));
30962
+ // Now check if any field: 'id' within transformed
30963
+ const hasGlobalIdField = transformed.some(section => section.rows.some(row => row.some(control => control.field === 'id')));
30964
+ // If missing, insert into the first available row
30965
+ if (!hasGlobalIdField) {
30966
+ for (const section of transformed) {
30967
+ for (const row of section.rows) {
30968
+ if (row.length > 0) {
30969
+ row.unshift({
30970
+ field: 'id',
30971
+ type: 'any',
30972
+ label: '',
30973
+ controlType: EnumFormBaseContolType.TEXTBOX,
30974
+ hidden: true,
30975
+ flexSize: 0,
30976
+ value: null
30977
+ });
30978
+ break; // Only add once
30979
+ }
30980
+ }
30981
+ if (hasGlobalIdField)
30982
+ break;
30983
+ }
30984
+ }
30985
+ return transformed;
30869
30986
  }
30870
- /*toCoreFormSections(placeholderSections: IFormDesignSection[]): ICoreFormSection[] {
30871
- return placeholderSections.map(section => ({
30872
- caption: section.caption,
30873
- rows: (section.rows ?? [])
30874
- .filter((row): row is IFormDesignRow => !!row)
30875
- .map(row =>
30876
- (row.cells ?? [])
30877
- .map(cell => {
30878
- if (!cell?.control) return undefined;
30879
-
30880
- const sanitized: IFormBaseControl = this.sanitizeControl(cell.control);
30881
- return sanitized;
30882
- })
30883
- .filter((c): c is IFormBaseControl => !!c)
30884
- )
30885
- .filter(r => r.length > 0)
30886
- }));
30887
-
30888
- }*/
30889
30987
  getById(id) {
30890
30988
  return this.appService.get("/api/AfInstance/GetById?id=" + id);
30891
30989
  }
@@ -30933,36 +31031,17 @@ class CoreFormDesignService {
30933
31031
  return value;
30934
31032
  });
30935
31033
  }
30936
- /*mapFromAfInstanceDTO(dto: IAfInstanceDTO): IAfFormInstance {
30937
- return {
30938
- id: dto.id ?? '',
30939
- name: dto.name,
30940
- captionCode: dto.captionCode,
30941
- entityTable: dto.entityTable ?? '',
30942
-
30943
- formDesignSections: JSON.parse(dto.sectionsJson),
30944
- submitApi: dto.submitApi,
30945
-
30946
- customFormButtonItems: JSON.parse(dto.customFormButtonItemsJson ?? '[]'),
30947
- crud: !!dto.crudJson ? JSON.parse(dto.crudJson) : undefined,
30948
- entityUniqueIndexes: !!dto.entityUniqueIndexesJson ? JSON.parse(dto.entityUniqueIndexesJson) : undefined,
30949
-
30950
- postSubmitRoute: dto.postSubmitRoute ?? '',
30951
- postCancelRoute: dto.postCancelRoute ?? '',
30952
- normalMode: dto.normalMode ?? false,
30953
- autoGetByIdOff: dto.autoGetByIdOff ?? false,
30954
- hasIdOfStringType: dto.hasIdOfStringType ?? false,
30955
- width: dto.width
30956
- };
30957
- }*/
30958
31034
  mapFromAfInstanceDTO(dto) {
30959
31035
  const crud = dto.crudJson ? JSON.parse(dto.crudJson) : {};
31036
+ const hydratedFormDesignSections = this.rehydrateSections(JSON.parse(dto.sectionsJson));
31037
+ const hydratedSections = this.toCoreFormSections(hydratedFormDesignSections);
30960
31038
  return {
30961
31039
  id: dto.id ?? '',
30962
31040
  name: dto.name,
30963
31041
  captionCode: dto.captionCode,
30964
31042
  entityTable: dto.entityTable ?? '',
30965
- formDesignSections: this.rehydrateSections(JSON.parse(dto.sectionsJson)),
31043
+ formDesignSections: hydratedFormDesignSections,
31044
+ sections: hydratedSections,
30966
31045
  submitApi: dto.submitApi,
30967
31046
  customFormButtonItems: JSON.parse(dto.customFormButtonItemsJson ?? '[]'),
30968
31047
  crud: Object.keys(crud).length > 0 ? crud : undefined,
@@ -30984,6 +31063,7 @@ class CoreFormDesignService {
30984
31063
  syncPlaceholderSectionsFromInstance() {
30985
31064
  const sections = this.$afInstance().formDesignSections ?? [];
30986
31065
  this.$placeholderSections.set(this.normalizeSections(sections));
31066
+ this.$liveFormSections.set(this.toCoreFormSections(this.$placeholderSections()));
30987
31067
  }
30988
31068
  normalizeSections(sections) {
30989
31069
  return (sections ?? []).map(section => ({
@@ -31079,6 +31159,7 @@ class CoreFormDesignService {
31079
31159
  entityTable: '',
31080
31160
  captionCode: '',
31081
31161
  formDesignSections: [],
31162
+ sections: [],
31082
31163
  crudRead: '',
31083
31164
  crudUpdate: ''
31084
31165
  });
@@ -31123,6 +31204,48 @@ class CoreFormDesignService {
31123
31204
  });
31124
31205
  return sections;
31125
31206
  }
31207
+ rebuildSectionsFromControls() {
31208
+ const original = this.$placeholderSections(); // or cached version
31209
+ const rebuilt = original.map(section => ({
31210
+ ...section,
31211
+ rows: section.rows.map(row => {
31212
+ if (!row)
31213
+ return undefined;
31214
+ return {
31215
+ ...row,
31216
+ cells: row.cells.map(cell => {
31217
+ if (!cell)
31218
+ return { flexSize: 0 }; // or some fallback
31219
+ return {
31220
+ ...cell,
31221
+ control: { ...cell.control }, // clone control object
31222
+ selected: cell.selected ?? false,
31223
+ flexSize: cell.flexSize ?? 0
31224
+ };
31225
+ })
31226
+ };
31227
+ })
31228
+ }));
31229
+ return rebuilt;
31230
+ }
31231
+ updateCellAt(patch) {
31232
+ const sectionIndex = this.$sectionIndex();
31233
+ const rowIndex = this.$rowIndex();
31234
+ const colIndex = this.$colIndex();
31235
+ const sections = this.$placeholderSections();
31236
+ const updated = sections.map((section, si) => si === sectionIndex
31237
+ ? {
31238
+ ...section,
31239
+ rows: section.rows.map((row, ri) => ri === rowIndex && row
31240
+ ? {
31241
+ ...row,
31242
+ cells: row.cells.map((cell, ci) => ci === colIndex ? { ...cell, ...patch } : cell)
31243
+ }
31244
+ : row)
31245
+ }
31246
+ : section);
31247
+ this.$placeholderSections.set(updated);
31248
+ }
31126
31249
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormDesignService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31127
31250
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormDesignService, providedIn: 'root' }); }
31128
31251
  }
@@ -31138,7 +31261,7 @@ const coreFormDesignRoutes = [
31138
31261
  },
31139
31262
  {
31140
31263
  path: ':id',
31141
- loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-DkGU3mLc.mjs').then(m => m.CoreFormDesignComponent)
31264
+ loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-BvvY3YNR.mjs').then(m => m.CoreFormDesignComponent)
31142
31265
  }
31143
31266
  ];
31144
31267
 
@@ -34368,11 +34491,26 @@ const coreWorkflowRoutes = [
34368
34491
  {
34369
34492
  path: 'form-assign/:id',
34370
34493
  outlet: "formAssignAux",
34371
- loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-BuqyHWhW.mjs').then(m => m.WfFormAssignComponent),
34494
+ loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-wKm3cPEV.mjs').then(m => m.WfFormAssignComponent),
34372
34495
  canDeactivate: [CanDeactivateGuard]
34373
34496
  }
34374
34497
  ]
34375
34498
  },
34499
+ {
34500
+ path: 'workflow-consume',
34501
+ loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-xvjWl_uY.mjs').then(m => m.CoreWorkflowConsumeComponent),
34502
+ children: [
34503
+ {
34504
+ path: ':id',
34505
+ outlet: "workflowConsume",
34506
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-hbLKXrLP.mjs').then(m => m.LiveFormComponent),
34507
+ }
34508
+ ]
34509
+ },
34510
+ {
34511
+ path: 'workflow-consume/:id',
34512
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-hbLKXrLP.mjs').then(m => m.LiveFormComponent),
34513
+ },
34376
34514
  {
34377
34515
  path: 'workflow-group-edit/:id',
34378
34516
  loadComponent: () => Promise.resolve().then(function () { return coreWorkflowGroupEdit_component; }).then(m => m.CoreWorkflowGroupEditComponent),
@@ -34381,13 +34519,13 @@ const coreWorkflowRoutes = [
34381
34519
  },
34382
34520
  {
34383
34521
  path: 'workflow-basic-info-edit/:id',
34384
- loadComponent: () => import('./ngx-histaff-alpha-wf-basic-info.component-GP8my3qI.mjs').then(m => m.WfBasicInfoComponent),
34522
+ loadComponent: () => import('./ngx-histaff-alpha-wf-basic-info.component-CriyG8RZ.mjs').then(m => m.WfBasicInfoComponent),
34385
34523
  outlet: "workflowAux",
34386
34524
  canDeactivate: [CanDeactivateGuard]
34387
34525
  },
34388
34526
  {
34389
34527
  path: 'process-design/:id',
34390
- loadComponent: () => import('./ngx-histaff-alpha-wf-process-design.component-D9Ba7Fkx.mjs').then(m => m.WfProcessDesignComponent),
34528
+ loadComponent: () => import('./ngx-histaff-alpha-wf-process-design.component-CvtTyN4b.mjs').then(m => m.WfProcessDesignComponent),
34391
34529
  canDeactivate: [CanDeactivateGuard]
34392
34530
  },
34393
34531
  ]
@@ -34406,6 +34544,80 @@ var EnumWorkflowStepType;
34406
34544
  EnumWorkflowStepType["End"] = "End";
34407
34545
  })(EnumWorkflowStepType || (EnumWorkflowStepType = {}));
34408
34546
 
34547
+ const INITIAL_PROCESS_DEFINITION = [
34548
+ {
34549
+ id: 'submit',
34550
+ name: 'Submit',
34551
+ branchId: 'root',
34552
+ type: EnumWorkflowStepType.Submit,
34553
+ label: 'Submitted by: All members',
34554
+ },
34555
+ {
34556
+ id: 'brancher',
34557
+ name: 'brancher',
34558
+ branchId: 'root',
34559
+ type: EnumWorkflowStepType.ConditionalBranch,
34560
+ label: 'Set branch logic',
34561
+ branches: [
34562
+ {
34563
+ id: 'b1',
34564
+ name: 'Condition 1',
34565
+ priority: 1,
34566
+ steps: [
34567
+ {
34568
+ id: 'pseudo-b1',
34569
+ name: 'pseudo-b1',
34570
+ branchId: 'b1',
34571
+ type: EnumWorkflowStepType.BranchCard,
34572
+ label: 'Condition 1',
34573
+ isPseudo: true
34574
+ },
34575
+ {
34576
+ id: 'a1',
34577
+ name: 'Approval',
34578
+ branchId: 'b1',
34579
+ type: EnumWorkflowStepType.Approval,
34580
+ label: 'Set approver'
34581
+ }
34582
+ ]
34583
+ },
34584
+ {
34585
+ id: 'b2',
34586
+ isFallback: true,
34587
+ name: 'Fallback',
34588
+ priority: 2,
34589
+ steps: [
34590
+ {
34591
+ id: 'pseudo-b2',
34592
+ name: 'Alternative branch',
34593
+ branchId: 'b2',
34594
+ type: EnumWorkflowStepType.BranchCard,
34595
+ label: '[Fallback Branch]',
34596
+ config: { isFallback: true },
34597
+ isInFallbackBranch: true,
34598
+ isPseudo: true
34599
+ },
34600
+ {
34601
+ id: 'a2',
34602
+ name: 'Approval',
34603
+ branchId: 'b2',
34604
+ type: EnumWorkflowStepType.Approval,
34605
+ label: 'Set approver',
34606
+ isInFallbackBranch: true
34607
+ }
34608
+ ]
34609
+ }
34610
+ ]
34611
+ },
34612
+ {
34613
+ id: 'end',
34614
+ name: 'End',
34615
+ branchId: 'root',
34616
+ type: EnumWorkflowStepType.End,
34617
+ label: 'Workflow completed',
34618
+ }
34619
+ ];
34620
+
34409
34621
  class CoreWorkflowService {
34410
34622
  constructor(appService) {
34411
34623
  this.appService = appService;
@@ -34416,86 +34628,53 @@ class CoreWorkflowService {
34416
34628
  this.$currentStep = signal(null);
34417
34629
  this.$availableCols = signal([]);
34418
34630
  this.$showStepConfig = signal(false);
34631
+ this.$stepUpdated = signal(0); // force trigger for watchers
34419
34632
  this.standardConnectorHeight = 90;
34420
- this.$currentSteps = signal([
34421
- {
34422
- id: 'submit',
34423
- name: 'Submit',
34424
- branchId: 'root',
34425
- type: EnumWorkflowStepType.Submit,
34426
- label: 'Submitted by: All members',
34427
- },
34428
- {
34429
- id: 'brancher',
34430
- name: 'brancher',
34431
- branchId: 'root',
34432
- type: EnumWorkflowStepType.ConditionalBranch,
34433
- label: 'Set branch logic',
34434
- branches: [
34435
- {
34436
- id: 'b1',
34437
- name: 'Condition 1',
34438
- priority: 1,
34439
- steps: [
34440
- {
34441
- id: 'pseudo-b1',
34442
- name: 'pseudo-b1',
34443
- branchId: 'b1',
34444
- type: EnumWorkflowStepType.BranchCard,
34445
- label: 'Condition 1',
34446
- isPseudo: true
34447
- },
34448
- {
34449
- id: 'a1',
34450
- name: 'Approval',
34451
- branchId: 'b1',
34452
- type: EnumWorkflowStepType.Approval,
34453
- label: 'Set approver'
34454
- }
34455
- ]
34456
- },
34457
- {
34458
- id: 'b2',
34459
- isFallback: true,
34460
- name: 'Fallback',
34461
- priority: 2,
34462
- steps: [
34463
- {
34464
- id: 'pseudo-b2',
34465
- name: 'Alternative branch',
34466
- branchId: 'b2',
34467
- type: EnumWorkflowStepType.BranchCard,
34468
- label: '[Fallback Branch]',
34469
- config: { isFallback: true },
34470
- isInFallbackBranch: true,
34471
- isPseudo: true
34472
- },
34473
- {
34474
- id: 'a2',
34475
- name: 'Approval',
34476
- branchId: 'b2',
34477
- type: EnumWorkflowStepType.Approval,
34478
- label: 'Set approver',
34479
- isInFallbackBranch: true
34480
- }
34481
- ]
34482
- }
34483
- ]
34484
- },
34485
- {
34486
- id: 'end',
34487
- name: 'End',
34488
- branchId: 'root',
34489
- type: EnumWorkflowStepType.End,
34490
- label: 'Workflow completed',
34491
- }
34492
- ]);
34633
+ this.$currentSteps = signal([]);
34634
+ this.$showCurrentStepsPreview = signal(false);
34635
+ this.$selectedActorAssignment = signal(null);
34493
34636
  this.insertContext$ = new BehaviorSubject(null);
34494
34637
  this.insertAnchorPoint$ = new BehaviorSubject(null);
34638
+ this.subscriptions = [];
34639
+ this.$stepsJsonPreview = computed(() => {
34640
+ const removeSignalKeysDeep = (obj) => {
34641
+ if (Array.isArray(obj)) {
34642
+ return obj.map(removeSignalKeysDeep);
34643
+ }
34644
+ if (obj && typeof obj === 'object') {
34645
+ const result = {};
34646
+ for (const [key, value] of Object.entries(obj)) {
34647
+ if (!key.endsWith('$')) {
34648
+ // 👇 force unwrap if it's a signal
34649
+ result[key] = typeof value === 'function' ? removeSignalKeysDeep(value()) : removeSignalKeysDeep(value);
34650
+ }
34651
+ }
34652
+ return result;
34653
+ }
34654
+ return obj;
34655
+ };
34656
+ const instance = this.$currentSteps();
34657
+ //const instance = this.wfs.$currentFlow();
34658
+ const cleanedInstance = removeSignalKeysDeep(instance);
34659
+ return JSON.stringify(cleanedInstance, null, 2);
34660
+ });
34661
+ effect(() => {
34662
+ const currentStep = this.$currentStep();
34663
+ this.$selectedActorAssignment.set(this.extractActorAssignment(currentStep));
34664
+ });
34665
+ }
34666
+ updateStep(updatedStep) {
34667
+ const steps = this.$currentSteps();
34668
+ const index = steps.findIndex(s => s.id === updatedStep.id);
34669
+ if (index !== -1) {
34670
+ steps[index] = { ...updatedStep }; // immutable update
34671
+ this.$currentSteps.set([...steps]); // notify step update
34672
+ this.$stepUpdated.set(this.$stepUpdated() + 1); // trigger downstream computations if needed
34673
+ }
34495
34674
  }
34496
- refresh() {
34675
+ refresh(endpoint = '/api/WfWorkflowGroup/GetAllWithWorkflows') {
34497
34676
  this.$loading.set(true);
34498
- this.appService.get('/api/WfWorkflowGroup/GetAllWithWorkflows')
34677
+ this.appService.get(endpoint)
34499
34678
  .pipe(finalize$1(() => {
34500
34679
  this.$loading.set(false);
34501
34680
  })).subscribe(x => {
@@ -34684,6 +34863,62 @@ class CoreWorkflowService {
34684
34863
  updateGroupOrder(newOrder) {
34685
34864
  return this.appService.post('/api/WfWorkflowGroup/UpdateOrder', newOrder);
34686
34865
  }
34866
+ updateStepsSignalAfterNestedChange(signal, mutate) {
34867
+ const current = signal();
34868
+ const deepCopy = structuredClone(current); // Full deep clone to avoid mutation side-effects
34869
+ mutate(deepCopy);
34870
+ signal.set(deepCopy);
34871
+ }
34872
+ saveCurrentSteps() {
34873
+ const currentFlow = this.$currentFlow();
34874
+ if (!!currentFlow) {
34875
+ currentFlow.processDefinition = this.$stepsJsonPreview();
34876
+ }
34877
+ this.subscriptions.push(this.appService.post('/api/WfWorkflow/SaveDefinition', this.$currentFlow())
34878
+ .pipe(catchError(err => {
34879
+ this.$loading.set(false);
34880
+ return of(err);
34881
+ })).subscribe(x => {
34882
+ this.$loading.set(false);
34883
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
34884
+ // Do nothing for now
34885
+ }
34886
+ }));
34887
+ }
34888
+ getById(id) {
34889
+ this.$loading.set(true);
34890
+ this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetById?id=${id}`).pipe(catchError(err => {
34891
+ this.$loading.set(false);
34892
+ return of(err);
34893
+ })).subscribe(x => {
34894
+ this.$loading.set(false);
34895
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
34896
+ const workflow = x.body.innerBody;
34897
+ this.$currentFlow.set(workflow);
34898
+ const rawSteps = workflow.processDefinition
34899
+ ? JSON.parse(workflow.processDefinition)
34900
+ : INITIAL_PROCESS_DEFINITION;
34901
+ this.$currentSteps.set(rawSteps);
34902
+ }
34903
+ }));
34904
+ }
34905
+ extractActorAssignment(step) {
34906
+ if (!step)
34907
+ return null;
34908
+ const config = step?.config;
34909
+ switch (config?.stepType) {
34910
+ case EnumWorkflowStepType.Approval:
34911
+ return config.approvers?.[0] ?? null;
34912
+ case EnumWorkflowStepType.Submit:
34913
+ return config.allowedSubmitters?.[0] ?? null;
34914
+ case EnumWorkflowStepType.CC:
34915
+ return config.recipients?.[0] ?? null;
34916
+ case EnumWorkflowStepType.Handle:
34917
+ return config.handler ?? null;
34918
+ default:
34919
+ return null;
34920
+ }
34921
+ }
34687
34922
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreWorkflowService, deps: [{ token: AppService }], target: i0.ɵɵFactoryTarget.Injectable }); }
34688
34923
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreWorkflowService, providedIn: 'root' }); }
34689
34924
  }
@@ -34879,11 +35114,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
34879
35114
  }] } });
34880
35115
 
34881
35116
  class CoreWorkflowListComponent extends BaseComponent {
34882
- constructor(router, route, coreWorkflowService, appService, alertService, mls) {
35117
+ constructor(router, route, coreWorkflowService, coreFormDesignService, appService, alertService, mls) {
34883
35118
  super(mls);
34884
35119
  this.router = router;
34885
35120
  this.route = route;
34886
35121
  this.coreWorkflowService = coreWorkflowService;
35122
+ this.coreFormDesignService = coreFormDesignService;
34887
35123
  this.appService = appService;
34888
35124
  this.alertService = alertService;
34889
35125
  this.mls = mls;
@@ -34974,6 +35210,9 @@ class CoreWorkflowListComponent extends BaseComponent {
34974
35210
  }
34975
35211
  });
34976
35212
  }
35213
+ if (!!flow.processDefinition) {
35214
+ this.coreWorkflowService.$currentSteps.set(JSON.parse(flow.processDefinition));
35215
+ }
34977
35216
  this.router.navigate(['process-design', btoa(flow.id)], { relativeTo: this.route.parent });
34978
35217
  }
34979
35218
  else {
@@ -35023,7 +35262,7 @@ class CoreWorkflowListComponent extends BaseComponent {
35023
35262
  }));
35024
35263
  });
35025
35264
  }
35026
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreWorkflowListComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: CoreWorkflowService }, { token: AppService }, { token: AlertService }, { token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
35265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreWorkflowListComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: CoreWorkflowService }, { token: CoreFormDesignService }, { token: AppService }, { token: AlertService }, { token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
35027
35266
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreWorkflowListComponent, isStandalone: true, selector: "core-workflow-list", usesInheritance: true, ngImport: i0, template: "<div class=\"core-workflow-list-container\">\r\n\r\n <core-page-header title=\"\" [hideButtonGroup]=\"true\"></core-page-header>\r\n <div class=\"container-fluid\">\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"WorkflowList_operations d-flex d-flex-between\">\r\n <div class=\"WorkflowList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\">\r\n </div>\r\n <div class=\"WorkflowList_operationsRight\">\r\n <button class=\"btn btn-secondary\" (click)=\"createWorkflowGroup()\"\r\n [class.d-none]=\"$sortMode()\">Create Group</button>\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' : 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"group-list p-relative\">\r\n\r\n @for (group of coreWorkflowService.$allGroups(); track group.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <div class=\"WorkflowGroup card sort-mode\"\r\n [attr.data-id]=\"group.id\"\r\n dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\"\r\n >\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n } @else {\r\n\r\n <div class=\"WorkflowGroup card\">\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-edit\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_itemEditI18n pointer\">\r\n <i class=\"feather-globe\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_deleteButton pointer\">\r\n <i class=\"feather-trash-2\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_creatWorkflowButton pointer\">\r\n <i class=\"feather-plus\" (click)=\"createWorkflow(group?.id)\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n \r\n <div class=\"Workflows\">\r\n @for (flow of group.wfWorkflows; track $index) {\r\n <div class=\"Workflow\">\r\n <div class=\"Workflow_code\">\r\n <i class=\"feather-sidebar pointer\" [class.af-form-assigned]=\"!!flow.afInstanceId\"\r\n [appTooltip]=\"'Assign Form'\" [position]=\"'left'\"\r\n (click)=\"showFormSeekerDialog(flow)\"></i>\r\n <span [appTooltip]=\"flow.description\" [position]=\"'right'\" [showAnyway]=\"true\">{{ flow.name\r\n }}</span>\r\n </div>\r\n <div class=\"Workflow_operationsRight\">\r\n <div class=\"Workflow_basicInfoEdit pointer\" (click)=\"editWorkflow(flow)\"\r\n [appTooltip]=\"'Edit Basic Info'\">\r\n <i class=\"feather-edit-2\"></i>\r\n </div>\r\n <div class=\"Workflow_processDesignEdit pointer\" (click)=\"processDesign(flow)\"\r\n [appTooltip]=\"'Process Design'\">\r\n <i class=\"feather-git-pull-request\"></i>\r\n </div>\r\n <div class=\"Workflow_processDesignDelete pointer\">\r\n <i class=\"feather-trash\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <router-outlet name=\"formAssignAux\"></router-outlet>\r\n\r\n</div>", styles: [".core-workflow-list-container .container-fluid{max-width:1000px}.core-workflow-list-container .row.sort-mode{--bs-gutter-y: 1rem}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsLeft{width:50%}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsLeft input{width:100%}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsRight button{margin-left:12px;border-radius:0}.core-workflow-list-container .WorkflowGroup{padding-left:0!important;padding-right:0!important;border-radius:0;margin-bottom:15px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header{height:50px;color:#fff;background-color:gray}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_headerTitle{padding-left:15px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_nameOperations>div{width:25px;height:25px;margin-left:8px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_nameOperations>div>i{font-size:18px;color:#fff}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow{display:flex;align-items:center;justify-content:space-between;height:50px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow:hover{background-color:#d3d3d3}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code{display:flex;align-items:center;justify-content:flex-start;padding-left:15px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code i{display:inline-block;color:gray;font-size:18px;margin-right:8px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code i.af-form-assigned{color:#dd5f2a}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight{display:flex;align-items:center;justify-content:flex-end;color:gray}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight>div{width:25px;height:25px;margin-left:8px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight>div>i{font-size:18px}.core-workflow-list-container .WorkflowGroup.sort-mode{height:50px;cursor:grab}.core-workflow-list-container .WorkflowGroup.sort-mode .WorkflowGroup_header{background-color:#fff;color:gray}.core-workflow-list-container .pointer-none{pointer-events:none}.core-workflow-list-container .p-relative{position:relative}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }, { kind: "directive", type: DragReorderDirective, selector: "[dragReorder]", inputs: ["item"], outputs: ["updateList"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35028
35267
  }
35029
35268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreWorkflowListComponent, decorators: [{
@@ -35034,7 +35273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
35034
35273
  TooltipDirective,
35035
35274
  DragReorderDirective,
35036
35275
  ], template: "<div class=\"core-workflow-list-container\">\r\n\r\n <core-page-header title=\"\" [hideButtonGroup]=\"true\"></core-page-header>\r\n <div class=\"container-fluid\">\r\n <div class=\"row gx-5 gy-5\" [class.sort-mode]=\"$sortMode()\">\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"WorkflowList_operations d-flex d-flex-between\">\r\n <div class=\"WorkflowList_operationsLeft\">\r\n <input type=\"text\" placeholder=\"Search\" class=\"form-control\" [class.d-none]=\"$sortMode()\">\r\n </div>\r\n <div class=\"WorkflowList_operationsRight\">\r\n <button class=\"btn btn-secondary\" (click)=\"createWorkflowGroup()\"\r\n [class.d-none]=\"$sortMode()\">Create Group</button>\r\n <button class=\"btn btn-secondary\" (click)=\"togglerSortMode()\">{{ $sortMode() ? 'Expand' : 'Sort'\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"group-list p-relative\">\r\n\r\n @for (group of coreWorkflowService.$allGroups(); track group.id) {\r\n\r\n @if ($sortMode()) {\r\n\r\n <div class=\"WorkflowGroup card sort-mode\"\r\n [attr.data-id]=\"group.id\"\r\n dragReorder\r\n (updateList)=\"onListReorderUpdate($event)\"\r\n >\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-move\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n } @else {\r\n\r\n <div class=\"WorkflowGroup card\">\r\n \r\n <div class=\"WorkflowGroup_header d-flex d-flex-between\">\r\n\r\n <div class=\"WorkflowGroup_headerTitle\">\r\n {{ group?.name }}\r\n </div>\r\n \r\n <div class=\"WorkflowGroup_nameOperations d-flex d-flex-end\">\r\n \r\n <div class=\"WorkflowGroup_itemEdit pointer\">\r\n <i class=\"feather-edit\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_itemEditI18n pointer\">\r\n <i class=\"feather-globe\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_deleteButton pointer\">\r\n <i class=\"feather-trash-2\"></i>\r\n </div>\r\n <div class=\"WorkflowGroup_creatWorkflowButton pointer\">\r\n <i class=\"feather-plus\" (click)=\"createWorkflow(group?.id)\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n \r\n <div class=\"Workflows\">\r\n @for (flow of group.wfWorkflows; track $index) {\r\n <div class=\"Workflow\">\r\n <div class=\"Workflow_code\">\r\n <i class=\"feather-sidebar pointer\" [class.af-form-assigned]=\"!!flow.afInstanceId\"\r\n [appTooltip]=\"'Assign Form'\" [position]=\"'left'\"\r\n (click)=\"showFormSeekerDialog(flow)\"></i>\r\n <span [appTooltip]=\"flow.description\" [position]=\"'right'\" [showAnyway]=\"true\">{{ flow.name\r\n }}</span>\r\n </div>\r\n <div class=\"Workflow_operationsRight\">\r\n <div class=\"Workflow_basicInfoEdit pointer\" (click)=\"editWorkflow(flow)\"\r\n [appTooltip]=\"'Edit Basic Info'\">\r\n <i class=\"feather-edit-2\"></i>\r\n </div>\r\n <div class=\"Workflow_processDesignEdit pointer\" (click)=\"processDesign(flow)\"\r\n [appTooltip]=\"'Process Design'\">\r\n <i class=\"feather-git-pull-request\"></i>\r\n </div>\r\n <div class=\"Workflow_processDesignDelete pointer\">\r\n <i class=\"feather-trash\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <router-outlet name=\"formAssignAux\"></router-outlet>\r\n\r\n</div>", styles: [".core-workflow-list-container .container-fluid{max-width:1000px}.core-workflow-list-container .row.sort-mode{--bs-gutter-y: 1rem}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsLeft{width:50%}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsLeft input{width:100%}.core-workflow-list-container .WorkflowList_operations .WorkflowList_operationsRight button{margin-left:12px;border-radius:0}.core-workflow-list-container .WorkflowGroup{padding-left:0!important;padding-right:0!important;border-radius:0;margin-bottom:15px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header{height:50px;color:#fff;background-color:gray}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_headerTitle{padding-left:15px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_nameOperations>div{width:25px;height:25px;margin-left:8px}.core-workflow-list-container .WorkflowGroup .WorkflowGroup_header .WorkflowGroup_nameOperations>div>i{font-size:18px;color:#fff}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow{display:flex;align-items:center;justify-content:space-between;height:50px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow:hover{background-color:#d3d3d3}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code{display:flex;align-items:center;justify-content:flex-start;padding-left:15px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code i{display:inline-block;color:gray;font-size:18px;margin-right:8px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_code i.af-form-assigned{color:#dd5f2a}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight{display:flex;align-items:center;justify-content:flex-end;color:gray}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight>div{width:25px;height:25px;margin-left:8px}.core-workflow-list-container .WorkflowGroup .Workflows .Workflow .Workflow_operationsRight>div>i{font-size:18px}.core-workflow-list-container .WorkflowGroup.sort-mode{height:50px;cursor:grab}.core-workflow-list-container .WorkflowGroup.sort-mode .WorkflowGroup_header{background-color:#fff;color:gray}.core-workflow-list-container .pointer-none{pointer-events:none}.core-workflow-list-container .p-relative{position:relative}\n"] }]
35037
- }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: CoreWorkflowService }, { type: AppService }, { type: AlertService }, { type: MultiLanguageService }] });
35276
+ }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: CoreWorkflowService }, { type: CoreFormDesignService }, { type: AppService }, { type: AlertService }, { type: MultiLanguageService }] });
35038
35277
 
35039
35278
  var coreWorkflowList_component = /*#__PURE__*/Object.freeze({
35040
35279
  __proto__: null,
@@ -37237,5 +37476,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
37237
37476
  * Generated bundle index. Do not edit.
37238
37477
  */
37239
37478
 
37240
- export { themeBlue as $, AlertService as A, BaseEditComponent as B, CoreFormDesignService as C, DialogService as D, EnumCorePageEditMode as E, FullscreenModalLoaderComponent as F, DomService as G, MapAppdemoToServerPipePipe as H, MapAttachmentToServerPipe as I, MapAvatarToServerPipe as J, MapNewsfeedMediaToServerPipe as K, StringHtmlPipe as L, MultiLanguageService as M, DialogStateComponent as N, FooterComponent as O, alertOptions as P, longAlertOptions as Q, RightchatComponent as R, SunnyRotatingComponent as S, TranslatePipe as T, UploadedFilenameCutoffPipe as U, attachmentOptions as V, WaittingScreenComponent as W, CORE_VNS_BUTTONS as X, defaultPaging as Y, DESKTOP_SCREEN_HEDER_HEIGHT as Z, MOBILE_SCREEN_HEDER_HEIGHT as _, EnumFormBaseContolType as a, NotificationActionType as a$, DATE_VALUE_ACCESSOR as a0, DateValueAccessor as a1, EnumImageResolverType as a2, ImageErrorResolverDirective as a3, EnumDragType as a4, EnumErrorType as a5, EnumIconClass as a6, EnumProfileInfoSector as a7, EnumSignalRType as a8, EnumSortDirection as a9, EnumDeviceType as aA, EnumBrowserType as aB, EnumOsType as aC, ClientService as aD, CommonHttpRequestService as aE, TLA_CONFIG as aF, ConfigService as aG, CoreTableService as aH, DndService as aI, FilterKitService as aJ, GrpcService as aK, HeaderService as aL, HistoryService as aM, HttpErrorHandler as aN, HubConnectionService as aO, IpServiceService as aP, JsonService as aQ, LayoutService as aR, MapService as aS, MenuService as aT, MessageService as aU, ModalService as aV, NavigatorService as aW, OrganizationService as aX, PkceService as aY, PositionTransferService as aZ, EnumNotificationDir as a_, EnumStyleButtonClass as aa, CanActivateFunctionUrlMapperGuard as ab, CanDeactivateGuard as ac, InitializationCanActivateFn as ad, InitializationCanMatchFn as ae, httpInterceptorProviders as af, InterceptorSkipHeader as ag, appTypeInterceptor as ah, baseUrlInterceptor as ai, authInterceptor as aj, graphInterceptor as ak, tokenInterceptor as al, responseInterceptor as am, timeZoneInterceptor as an, cachingInterceptor as ao, langInterceptor as ap, EnumFilterOperator as aq, OnlineUsersComponent as ar, ActionService as as, AppConfigService as at, ApplicationHelpService as au, AppInitializationService as av, AuthService as aw, CacheService as ax, EnumSwUpdateVersionUpdatesEventType as ay, CheckForUpdateService as az, EnumCoreButtonVNSCode as b, EnumAlertType as b$, PushNotificationService as b0, RandomAvatarService as b1, RequestCache as b2, RequestCacheWithMap as b3, ResponseService as b4, RoutingService as b5, SocketService as b6, EnumSsrsExpressFileExtension as b7, EnumSsrsExpressExportFormat as b8, SsrsExpressService as b9, LanguageEditComponent as bA, MenuComponent as bB, MenuEditComponent as bC, MutationLogComponent as bD, MutationViewComponent as bE, PaSalaryPolicyComponent as bF, PaSalaryPolicyEditComponent as bG, PortalRouteComponent as bH, ScheduleOverviewComponent as bI, PortalRouteEditComponent as bJ, SysOtherListComponent as bK, SysOtherListEditComponent as bL, SysOtherListTypeComponent as bM, SysOtherListTypeEditComponent as bN, SysActionComponent as bO, SysActionEditComponent as bP, SysFunctionActionComponent as bQ, SysFunctionActionEditComponent as bR, SysFunctionActionMapperComponent as bS, SysFunctionUrlMapperComponent as bT, FunctionEditService as bU, SysModuleComponent as bV, SysModuleEditComponent as bW, SysRouteAccessComponent as bX, liner_to_nested_array_script as bY, blob_to_base64_script as bZ, AlertComponent as b_, StatisticService as ba, StatisticAuthService as bb, SysMenuService as bc, TimeSheetService as bd, TopicPermissionService as be, TopicTreeService as bf, UploadedFileService as bg, UrlService as bh, UserActivityService as bi, EvaluateDialogService as bj, EnumWorkScheduleViewMode as bk, WorkShiftDndService as bl, AtShiftPatternComponent as bm, AtShiftPatternApplyComponent as bn, AtShiftPatternEditComponent as bo, AtWorksignComponent as bp, AtWorksignService as bq, FunctionComponent as br, IndividualScheduleApplyComponent as bs, FunctionEditComponent as bt, FunctionIgnoreComponent as bu, FunctionIgnoreEditComponent as bv, GroupFunctionComponent as bw, GroupFunctionEditComponent as bx, InMemoryComponent as by, LanguageComponent as bz, CorePageHeaderComponent as c, CoreListComponent as c$, IAlertOptions as c0, AnimatedTextService as c1, AnimatedTextComponent as c2, BaseDropdownComponent as c3, ButtonGroupModule as c4, ButtonGroupService as c5, ButtonGroupComponent as c6, EnumButtonCaptionCode as c7, CoreButtonComponent as c8, CoreAccordionComponent as c9, EnumCoreFileUploaderType as cA, CoreFileUploaderComponent as cB, CoreFilterHubComponent as cC, CoreFilterHubService as cD, ControlBase as cE, Textbox as cF, CoreControlService as cG, CustomValidators as cH, CoreFormService as cI, coreFormDesignRoutes as cJ, CoreFormTabComponent as cK, CoreFormLiteComponent as cL, CoreFormControlBaseComponent as cM, EnumCoreSeekerColumnJob as cN, EnumCoreSeekerColumnStaffProfile as cO, EnumCoreSeekerColumnContract as cP, EnumCoreSeekerColumnWorking as cQ, EnumCoreSeekerColumnWage as cR, EnumCoreSeekerColumnPosition as cS, EnumCoreSeekerColumnPositionConcurrent as cT, EnumCoreSeekerColumnAutoForm as cU, SeekerService as cV, CoreGridBufferComponent as cW, CoreHeaderParamsComponent as cX, CoreHelperComponent as cY, CoreIosSwitcherComponent as cZ, CoreLineComponent as c_, CoreAccordionService as ca, CoreActiveUserCountComponent as cb, NewlyCreatedTokenService as cc, CoreApiProgressComponent as cd, CoreButtonGroupComponent as ce, EnumCoreButtonCode as cf, ActionSvgEditComponent as cg, CoreButtonGroupService as ch, CoreButtonVnsComponent as ci, CoreCommonParamKitComponent as cj, CoreCompareDbPipelineComponent as ck, CoreCompositionState as cl, CoreCompositionService as cm, CoreCompositionComponent as cn, CoreConfirmDialogComponent as co, ConfirmDialogStateComponent as cp, CoreRootMenuItemPickerComponent as cq, CoreRootMenuItemPickerService as cr, ECoreTableToolCode as cs, ECoreTableToolClass as ct, CoreTableComponent as cu, CoreContractSeekerComponent as cv, CoreControlNoGridBufferComponent as cw, CoreControlNoSeekerComponent as cx, CoreEmployeeScheduleComponent as cy, CoreEmployeeSeekerComponent as cz, CoreFormComponent as d, CoreTreeComponent as d$, CoreListLazyComponent as d0, CoreLoadingSurfaceComponent as d1, CoreMccComponent as d2, CoreMonthPickerComponent as d3, CoreNavigationTrackerComponent as d4, CoreOauthCallbackComponent as d5, CoreOauthCallbackOffice365Component as d6, EnumCoreOrgTreeaAccessorMode as d7, EnumCoreOrgTreeaSearchMode as d8, CoreOrgTreeComponent as d9, CorePermissionActionsComponent as dA, CorePositionConcurrentSeekerComponent as dB, CorePositionSeekerComponent as dC, CoreQrcodeComponent as dD, EnumOparator as dE, CoreQueryBuilderComponent as dF, CoreReducerIconComponent as dG, CoreRotatingTextComponent as dH, CoreRouteAccumulatorComponent as dI, CoreRoutingHistoryComponent as dJ, CoreSalaryPolicyPickerComponent as dK, CoreScrollComponent as dL, CoreScrollLazyComponent as dM, CoreSeenByComponent as dN, CoreShiftCardComponent as dO, CoreShiftCellComponent as dP, CoreShiftCollectionComponent as dQ, CoreShiftStickerComponent as dR, STICKER_COLOR_SCHEMA as dS, CoreStatusStickerComponent as dT, CoreSubFormGroupComponent as dU, CoreTabListComponent as dV, CoreTabsComponent as dW, CoreTagsComponent as dX, CoreTopicPickerComponent as dY, EnumCoreArticleCategoryTreeaAccessorMode as dZ, CoreTopicTreeComponent as d_, CoreOrgTreeState as da, CoreOrgTreeService as db, CoreOrgUnitSeekerComponent as dc, CoreOrgchartflexComponent as dd, CoreOrgParamComponent as de, EnumCorePageEditBootstrapClass as df, EnumCorePageEditFieldType as dg, CorePageEditService as dh, CorePageEditLiteComponent as di, CorePageEditTabComponent as dj, CorePageListComponent as dk, EnumExType as dl, CorePageListService as dm, CorePageListState as dn, CorePageListContentComponent as dp, EnumCoreViewItemType as dq, CorePageViewComponent as dr, CorePaginationComponent as ds, CorePaginationFullComponent as dt, CorePaginationFullService as du, CoreParamControlComponent as dv, CoreFileFormatPickerComponent as dw, CorePermissionService as dx, EnumPermissionObjectType as dy, CorePermissionComponent as dz, CoreButtonGroupVnsComponent as e, EnumCoreTreeGridEditMode as e0, CoreTreeGridComponent as e1, CoreWageSeekerComponent as e2, CoreWorkingSeekerComponent as e3, coreWorkflowRoutes as e4, CoreWorkflowBuilderComponent as e5, CoreWorkflowListComponent as e6, CoreWorkflowGroupEditComponent as e7, CoreYearPickerComponent as e8, CoreYearSelectorComponent as e9, LongTaskService as eA, EnumRecursiveFields as eB, RecursiveService as eC, StringService as eD, UnicodeService as eE, StaffProfileComponent as eF, ThreedotsComponent as eG, TooltipComponent as eH, HotKeysDirective as eI, UserActivityComponent as eJ, WageComponent as eK, EnumCoreD3ScaleType as ea, CoreD3Service as eb, CorePieComponent as ec, CoreScatterPlotComponent as ed, EnumHrComparisonCode as ee, EnumICoreStatisticWidgetDataType as ef, CoreStatisticWidgetComponent as eg, DecisionComponent as eh, EvaluateDialogComponent as ei, HuconcurrentlyComponent as ej, JobComponent as ek, LanguageChangerComponent as el, DEFAULT_SVG as em, ItemComponent as en, NavigatorComponent as eo, OtpInputComponent as ep, OtpInputService as eq, PageTitleComponent as er, PaginationComponent as es, FilterPipe as et, normalizeHumanName as eu, NormalizeHumanNamePipe as ev, PositionComponent as ew, PositionEditService as ex, CoreDatetimeService as ey, FileService as ez, BaseComponent as f, EnumCoreTablePipeType as g, CoreCheckboxComponent as h, CoreDropdownComponent as i, TooltipDirective as j, EnumFormDesignMode as k, EnumCoreFormControlSeekerSourceType as l, TableCellPipe as m, noneAutoClosedAlertOptions as n, CoreControlComponent as o, CoreChecklistComponent as p, CoreFormControlSeekerComponent as q, CoreAttachmentComponent as r, CoreDatePickerComponent as s, CoreRadioGroupComponent as t, CoreMonthSelectorComponent as u, CoreCurrencyInputComponent as v, CoreWorkflowService as w, CorePageEditComponent as x, AppService as y, EnumWorkflowStepType as z };
37241
- //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-DG1v69l1.mjs.map
37479
+ export { longAlertOptions as $, AlertService as A, BaseEditComponent as B, CoreFormDesignService as C, DialogService as D, EnumCorePageEditMode as E, FullscreenModalLoaderComponent as F, AppService as G, EnumWorkflowStepType as H, DomService as I, CoreParamControlComponent as J, ApplicationHelpService as K, HotKeysDirective as L, MultiLanguageService as M, INITIAL_PROCESS_DEFINITION as N, MapAppdemoToServerPipePipe as O, MapAttachmentToServerPipe as P, MapAvatarToServerPipe as Q, MapNewsfeedMediaToServerPipe as R, SunnyRotatingComponent as S, TranslatePipe as T, StringHtmlPipe as U, UploadedFilenameCutoffPipe as V, DialogStateComponent as W, FooterComponent as X, RightchatComponent as Y, WaittingScreenComponent as Z, alertOptions as _, EnumFormBaseContolType as a, NavigatorService as a$, attachmentOptions as a0, CORE_VNS_BUTTONS as a1, defaultPaging as a2, DESKTOP_SCREEN_HEDER_HEIGHT as a3, MOBILE_SCREEN_HEDER_HEIGHT as a4, themeBlue as a5, DATE_VALUE_ACCESSOR as a6, DateValueAccessor as a7, EnumImageResolverType as a8, ImageErrorResolverDirective as a9, AppInitializationService as aA, AuthService as aB, CacheService as aC, EnumSwUpdateVersionUpdatesEventType as aD, CheckForUpdateService as aE, EnumDeviceType as aF, EnumBrowserType as aG, EnumOsType as aH, ClientService as aI, CommonHttpRequestService as aJ, TLA_CONFIG as aK, ConfigService as aL, CoreTableService as aM, DndService as aN, FilterKitService as aO, GrpcService as aP, HeaderService as aQ, HistoryService as aR, HttpErrorHandler as aS, HubConnectionService as aT, IpServiceService as aU, JsonService as aV, LayoutService as aW, MapService as aX, MenuService as aY, MessageService as aZ, ModalService as a_, EnumDragType as aa, EnumErrorType as ab, EnumIconClass as ac, EnumProfileInfoSector as ad, EnumSignalRType as ae, EnumSortDirection as af, EnumStyleButtonClass as ag, CanActivateFunctionUrlMapperGuard as ah, CanDeactivateGuard as ai, InitializationCanActivateFn as aj, InitializationCanMatchFn as ak, httpInterceptorProviders as al, InterceptorSkipHeader as am, appTypeInterceptor as an, baseUrlInterceptor as ao, authInterceptor as ap, graphInterceptor as aq, tokenInterceptor as ar, responseInterceptor as as, timeZoneInterceptor as at, cachingInterceptor as au, langInterceptor as av, EnumFilterOperator as aw, OnlineUsersComponent as ax, ActionService as ay, AppConfigService as az, EnumCoreButtonVNSCode as b, SysModuleEditComponent as b$, OrganizationService as b0, PkceService as b1, PositionTransferService as b2, EnumNotificationDir as b3, NotificationActionType as b4, PushNotificationService as b5, RandomAvatarService as b6, RequestCache as b7, RequestCacheWithMap as b8, ResponseService as b9, FunctionIgnoreEditComponent as bA, GroupFunctionComponent as bB, GroupFunctionEditComponent as bC, InMemoryComponent as bD, LanguageComponent as bE, LanguageEditComponent as bF, MenuComponent as bG, MenuEditComponent as bH, MutationLogComponent as bI, MutationViewComponent as bJ, PaSalaryPolicyComponent as bK, PaSalaryPolicyEditComponent as bL, PortalRouteComponent as bM, ScheduleOverviewComponent as bN, PortalRouteEditComponent as bO, SysOtherListComponent as bP, SysOtherListEditComponent as bQ, SysOtherListTypeComponent as bR, SysOtherListTypeEditComponent as bS, SysActionComponent as bT, SysActionEditComponent as bU, SysFunctionActionComponent as bV, SysFunctionActionEditComponent as bW, SysFunctionActionMapperComponent as bX, SysFunctionUrlMapperComponent as bY, FunctionEditService as bZ, SysModuleComponent as b_, RoutingService as ba, SocketService as bb, EnumSsrsExpressFileExtension as bc, EnumSsrsExpressExportFormat as bd, SsrsExpressService as be, StatisticService as bf, StatisticAuthService as bg, SysMenuService as bh, TimeSheetService as bi, TopicPermissionService as bj, TopicTreeService as bk, UploadedFileService as bl, UrlService as bm, UserActivityService as bn, EvaluateDialogService as bo, EnumWorkScheduleViewMode as bp, WorkShiftDndService as bq, AtShiftPatternComponent as br, AtShiftPatternApplyComponent as bs, AtShiftPatternEditComponent as bt, AtWorksignComponent as bu, AtWorksignService as bv, FunctionComponent as bw, IndividualScheduleApplyComponent as bx, FunctionEditComponent as by, FunctionIgnoreComponent as bz, CorePageHeaderComponent as c, CoreGridBufferComponent as c$, SysRouteAccessComponent as c0, liner_to_nested_array_script as c1, blob_to_base64_script as c2, AlertComponent as c3, EnumAlertType as c4, IAlertOptions as c5, AnimatedTextService as c6, AnimatedTextComponent as c7, BaseDropdownComponent as c8, ButtonGroupModule as c9, CoreContractSeekerComponent as cA, CoreControlNoGridBufferComponent as cB, CoreControlNoSeekerComponent as cC, CoreEmployeeScheduleComponent as cD, CoreEmployeeSeekerComponent as cE, EnumCoreFileUploaderType as cF, CoreFileUploaderComponent as cG, CoreFilterHubComponent as cH, CoreFilterHubService as cI, ControlBase as cJ, Textbox as cK, CoreControlService as cL, CustomValidators as cM, CoreFormService as cN, coreFormDesignRoutes as cO, CoreFormTabComponent as cP, CoreFormLiteComponent as cQ, CoreFormControlBaseComponent as cR, EnumCoreSeekerColumnJob as cS, EnumCoreSeekerColumnStaffProfile as cT, EnumCoreSeekerColumnContract as cU, EnumCoreSeekerColumnWorking as cV, EnumCoreSeekerColumnWage as cW, EnumCoreSeekerColumnPosition as cX, EnumCoreSeekerColumnPositionConcurrent as cY, EnumCoreSeekerColumnAutoForm as cZ, SeekerService as c_, ButtonGroupService as ca, ButtonGroupComponent as cb, EnumButtonCaptionCode as cc, CoreButtonComponent as cd, CoreAccordionComponent as ce, CoreAccordionService as cf, CoreActiveUserCountComponent as cg, NewlyCreatedTokenService as ch, CoreApiProgressComponent as ci, CoreButtonGroupComponent as cj, EnumCoreButtonCode as ck, ActionSvgEditComponent as cl, CoreButtonGroupService as cm, CoreButtonVnsComponent as cn, CoreCommonParamKitComponent as co, CoreCompareDbPipelineComponent as cp, CoreCompositionState as cq, CoreCompositionService as cr, CoreCompositionComponent as cs, CoreConfirmDialogComponent as ct, ConfirmDialogStateComponent as cu, CoreRootMenuItemPickerComponent as cv, CoreRootMenuItemPickerService as cw, ECoreTableToolCode as cx, ECoreTableToolClass as cy, CoreTableComponent as cz, CoreFormComponent as d, CoreTagsComponent as d$, CoreHeaderParamsComponent as d0, CoreHelperComponent as d1, CoreIosSwitcherComponent as d2, CoreLineComponent as d3, CoreListComponent as d4, CoreListLazyComponent as d5, CoreLoadingSurfaceComponent as d6, CoreMccComponent as d7, CoreMonthPickerComponent as d8, CoreNavigationTrackerComponent as d9, CoreFileFormatPickerComponent as dA, CorePermissionService as dB, EnumPermissionObjectType as dC, CorePermissionComponent as dD, CorePermissionActionsComponent as dE, CorePositionConcurrentSeekerComponent as dF, CorePositionSeekerComponent as dG, CoreQrcodeComponent as dH, EnumOparator as dI, CoreQueryBuilderComponent as dJ, CoreReducerIconComponent as dK, CoreRotatingTextComponent as dL, CoreRouteAccumulatorComponent as dM, CoreRoutingHistoryComponent as dN, CoreSalaryPolicyPickerComponent as dO, CoreScrollComponent as dP, CoreScrollLazyComponent as dQ, CoreSeenByComponent as dR, CoreShiftCardComponent as dS, CoreShiftCellComponent as dT, CoreShiftCollectionComponent as dU, CoreShiftStickerComponent as dV, STICKER_COLOR_SCHEMA as dW, CoreStatusStickerComponent as dX, CoreSubFormGroupComponent as dY, CoreTabListComponent as dZ, CoreTabsComponent as d_, CoreOauthCallbackComponent as da, CoreOauthCallbackOffice365Component as db, EnumCoreOrgTreeaAccessorMode as dc, EnumCoreOrgTreeaSearchMode as dd, CoreOrgTreeComponent as de, CoreOrgTreeState as df, CoreOrgTreeService as dg, CoreOrgUnitSeekerComponent as dh, CoreOrgchartflexComponent as di, CoreOrgParamComponent as dj, EnumCorePageEditBootstrapClass as dk, EnumCorePageEditFieldType as dl, CorePageEditService as dm, CorePageEditLiteComponent as dn, CorePageEditTabComponent as dp, CorePageListComponent as dq, EnumExType as dr, CorePageListService as ds, CorePageListState as dt, CorePageListContentComponent as du, EnumCoreViewItemType as dv, CorePageViewComponent as dw, CorePaginationComponent as dx, CorePaginationFullComponent as dy, CorePaginationFullService as dz, CoreButtonGroupVnsComponent as e, CoreTopicPickerComponent as e0, EnumCoreArticleCategoryTreeaAccessorMode as e1, CoreTopicTreeComponent as e2, CoreTreeComponent as e3, EnumCoreTreeGridEditMode as e4, CoreTreeGridComponent as e5, CoreWageSeekerComponent as e6, CoreWorkingSeekerComponent as e7, coreWorkflowRoutes as e8, CoreWorkflowBuilderComponent as e9, PositionEditService as eA, CoreDatetimeService as eB, FileService as eC, LongTaskService as eD, EnumRecursiveFields as eE, RecursiveService as eF, StringService as eG, UnicodeService as eH, StaffProfileComponent as eI, ThreedotsComponent as eJ, TooltipComponent as eK, UserActivityComponent as eL, WageComponent as eM, CoreWorkflowGroupEditComponent as ea, CoreYearPickerComponent as eb, CoreYearSelectorComponent as ec, EnumCoreD3ScaleType as ed, CoreD3Service as ee, CorePieComponent as ef, CoreScatterPlotComponent as eg, EnumHrComparisonCode as eh, EnumICoreStatisticWidgetDataType as ei, CoreStatisticWidgetComponent as ej, DecisionComponent as ek, EvaluateDialogComponent as el, HuconcurrentlyComponent as em, JobComponent as en, LanguageChangerComponent as eo, DEFAULT_SVG as ep, ItemComponent as eq, NavigatorComponent as er, OtpInputComponent as es, OtpInputService as et, PageTitleComponent as eu, PaginationComponent as ev, FilterPipe as ew, normalizeHumanName as ex, NormalizeHumanNamePipe as ey, PositionComponent as ez, BaseComponent as f, EnumCoreTablePipeType as g, CoreCheckboxComponent as h, CoreDropdownComponent as i, TooltipDirective as j, EnumFormDesignMode as k, EnumCoreFormControlSeekerSourceType as l, TableCellPipe as m, noneAutoClosedAlertOptions as n, CoreControlComponent as o, CoreChecklistComponent as p, CoreFormControlSeekerComponent as q, CoreAttachmentComponent as r, CoreDatePickerComponent as s, CoreRadioGroupComponent as t, CoreMonthSelectorComponent as u, CoreCurrencyInputComponent as v, CoreWorkflowService as w, CorePageEditComponent as x, CoreWorkflowListComponent as y, DragReorderDirective as z };
37480
+ //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-vsUjoOkD.mjs.map