ngx-histaff-alpha 6.7.2 → 6.7.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 (59) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-C6gNt7ID.mjs → ngx-histaff-alpha-ai-hint-for-table.component-Dkf1D2TC.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-C6gNt7ID.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-Dkf1D2TC.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs → ngx-histaff-alpha-core-form-design.component-DaeaSWxa.mjs} +12 -11
  4. package/fesm2022/ngx-histaff-alpha-core-form-design.component-DaeaSWxa.mjs.map +1 -0
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-TvSEbkRY.mjs → ngx-histaff-alpha-core-sys-action.component-DR5tSCyi.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-TvSEbkRY.mjs.map → ngx-histaff-alpha-core-sys-action.component-DR5tSCyi.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BO2iHdtr.mjs → ngx-histaff-alpha-core-template-editor.component-CIiEq5e3.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BO2iHdtr.mjs.map → ngx-histaff-alpha-core-template-editor.component-CIiEq5e3.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-D6L2vvEy.mjs → ngx-histaff-alpha-core-toast-loading.component-Dh04x1Gk.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-D6L2vvEy.mjs.map → ngx-histaff-alpha-core-toast-loading.component-Dh04x1Gk.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-B60KkHBd.mjs → ngx-histaff-alpha-core-workflow-consume.component-CmfVtO9m.mjs} +5 -5
  12. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-CmfVtO9m.mjs.map +1 -0
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-7YXahcx6.mjs → ngx-histaff-alpha-db-settings.component-BZSA6NAu.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-7YXahcx6.mjs.map → ngx-histaff-alpha-db-settings.component-BZSA6NAu.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-afSKU7r-.mjs → ngx-histaff-alpha-design-wrapper.component-CafimL_U.mjs} +8 -6
  16. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-CafimL_U.mjs.map +1 -0
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-g5HQJs3l.mjs → ngx-histaff-alpha-design-wrapper.route-CbYLenS2.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-g5HQJs3l.mjs.map → ngx-histaff-alpha-design-wrapper.route-CbYLenS2.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-DOjUVwDx.mjs → ngx-histaff-alpha-hrm-schema.component-C4oLeqK7.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-DOjUVwDx.mjs.map → ngx-histaff-alpha-hrm-schema.component-C4oLeqK7.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-ClikowUy.mjs → ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs} +11 -5
  22. package/fesm2022/ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs.map +1 -0
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.mjs → ngx-histaff-alpha-ngx-histaff-alpha-Bq_o4nyJ.mjs} +97 -57
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Bq_o4nyJ.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CyXzjXRl.mjs → ngx-histaff-alpha-simple-chat.component-Ds96N3a5.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-CyXzjXRl.mjs.map → ngx-histaff-alpha-simple-chat.component-Ds96N3a5.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-CPtDVzH6.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-BZtKL2E-.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-CPtDVzH6.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-BZtKL2E-.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-D-eR59PP.mjs → ngx-histaff-alpha-sys-smtp-client.component-9xQoCvkB.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-D-eR59PP.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-9xQoCvkB.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-template-list.component-D3y6Ikg6.mjs → ngx-histaff-alpha-template-list.component-Dd-mVFgx.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-template-list.component-D3y6Ikg6.mjs.map → ngx-histaff-alpha-template-list.component-Dd-mVFgx.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-B33444ca.mjs → ngx-histaff-alpha-tracker-studio.component-BusMbkyJ.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-B33444ca.mjs.map → ngx-histaff-alpha-tracker-studio.component-BusMbkyJ.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-CjUVdHfA.mjs → ngx-histaff-alpha-wf-form-assign.component-CGJwS5vg.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-CjUVdHfA.mjs.map → ngx-histaff-alpha-wf-form-assign.component-CGJwS5vg.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-C6E99R89.mjs → ngx-histaff-alpha-wf-global-config.component-DGR0BF1z.mjs} +2 -2
  38. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-C6E99R89.mjs.map → ngx-histaff-alpha-wf-global-config.component-DGR0BF1z.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-inD8KWzd.mjs → ngx-histaff-alpha-wf-instance-status.component-BIn7CoGJ.mjs} +2 -2
  40. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-inD8KWzd.mjs.map → ngx-histaff-alpha-wf-instance-status.component-BIn7CoGJ.mjs.map} +1 -1
  41. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BwozfTka.mjs → ngx-histaff-alpha-wf-instance-step-react.component-CZ1lYz2B.mjs} +3 -3
  42. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BwozfTka.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-CZ1lYz2B.mjs.map} +1 -1
  43. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Ifhq99S9.mjs → ngx-histaff-alpha-wf-lab.component-C62MAOIe.mjs} +2 -2
  44. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Ifhq99S9.mjs.map → ngx-histaff-alpha-wf-lab.component-C62MAOIe.mjs.map} +1 -1
  45. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  46. package/lib/app/libraries/core-dom-decision-editor/core-dom-decision-editor.component.d.ts +2 -0
  47. package/lib/app/libraries/core-dom-decision-editor/dom-decision-context.service.d.ts +2 -0
  48. package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/intent-descriptor.model.d.ts +1 -1
  49. package/lib/app/libraries/core-dom-decision-editor/intent-composer/intent-composer.component.d.ts +5 -3
  50. package/lib/app/libraries/core-form-design/field-setting/type-specific/datepicker-props/datepicker-props.component.d.ts +3 -3
  51. package/lib/app/libraries/core-form-design/live-form/live-form.component.d.ts +1 -0
  52. package/lib/app/libraries/core-header-params/enum-and-interfaces.d.ts +1 -0
  53. package/lib/app/libraries/core-workflow-builder/interfaces/IWfWorkflow.d.ts +2 -0
  54. package/package.json +2 -2
  55. package/fesm2022/ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs.map +0 -1
  56. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-B60KkHBd.mjs.map +0 -1
  57. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-afSKU7r-.mjs.map +0 -1
  58. package/fesm2022/ngx-histaff-alpha-live-form.component-ClikowUy.mjs.map +0 -1
  59. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.mjs.map +0 -1
@@ -7939,6 +7939,7 @@ class CoreFormDesignService {
7939
7939
  rangeLimit: control.rangeLimit,
7940
7940
  popupAlign: control.popupAlign,
7941
7941
  showPlaceholder: control.showPlaceholder,
7942
+ $rangePoint: control.$rangePoint
7942
7943
  };
7943
7944
  break;
7944
7945
  // … thêm MCC, GRIDBUFFER, etc nếu cần
@@ -22142,7 +22143,7 @@ class CoreControlNoSeekerComponent extends BaseComponent {
22142
22143
  this.control.click$?.next(e);
22143
22144
  }
22144
22145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlNoSeekerComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
22145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlNoSeekerComponent, isStandalone: true, selector: "core-control-no-seeker", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-control-no-seeker-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\">\r\n {{control.controlType!=='CHECKBOX' ? (control.label | translate: lang) : ''}}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case ('TEXTBOX') {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\">\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\"></textarea>\r\n\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 ('DATEPICKER') {\r\n <core-date-picker [formControlName]=\"control.field\"></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 [shownFrom]=\"control.shownFrom!\" [getByIdObject$]=\"control.getByIdObject$!\"></core-dropdown>\r\n }\r\n }\r\n @case ('LIST') {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></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!\"></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!\"></core-file-uploader>\r\n } \r\n }\r\n }\r\n </ng-container>\r\n\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\">{{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-no-seeker-container>div.hidden{display:none}.core-control-no-seeker-container label{color:#464646}.core-control-no-seeker-container label.required:after{content:\"*\";color:#ff040b}.core-control-no-seeker-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\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.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: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }] }); }
22146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlNoSeekerComponent, isStandalone: true, selector: "core-control-no-seeker", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-control-no-seeker-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\">\r\n {{control.controlType!=='CHECKBOX' ? (control.label | translate: lang) : ''}}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case ('TEXTBOX') {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\">\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\"></textarea>\r\n\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 ('DATEPICKER') {\r\n <core-date-picker \r\n [$rangePoint]=\"control.$rangePoint\"\r\n [formControlName]=\"control.field\"\r\n ></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 [shownFrom]=\"control.shownFrom!\" [getByIdObject$]=\"control.getByIdObject$!\"></core-dropdown>\r\n }\r\n }\r\n @case ('LIST') {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></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!\"></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!\"></core-file-uploader>\r\n } \r\n }\r\n }\r\n </ng-container>\r\n\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\">{{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-no-seeker-container>div.hidden{display:none}.core-control-no-seeker-container label{color:#464646}.core-control-no-seeker-container label.required:after{content:\"*\";color:#ff040b}.core-control-no-seeker-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\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.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: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }] }); }
22146
22147
  }
22147
22148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlNoSeekerComponent, decorators: [{
22148
22149
  type: Component,
@@ -22158,7 +22159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
22158
22159
  CoreChecklistComponent,
22159
22160
  CoreFormControlSeekerComponent,
22160
22161
  CoreFileUploaderComponent
22161
- ], template: "<div class=\"core-control-no-seeker-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\">\r\n {{control.controlType!=='CHECKBOX' ? (control.label | translate: lang) : ''}}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case ('TEXTBOX') {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\">\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\"></textarea>\r\n\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 ('DATEPICKER') {\r\n <core-date-picker [formControlName]=\"control.field\"></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 [shownFrom]=\"control.shownFrom!\" [getByIdObject$]=\"control.getByIdObject$!\"></core-dropdown>\r\n }\r\n }\r\n @case ('LIST') {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></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!\"></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!\"></core-file-uploader>\r\n } \r\n }\r\n }\r\n </ng-container>\r\n\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\">{{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-no-seeker-container>div.hidden{display:none}.core-control-no-seeker-container label{color:#464646}.core-control-no-seeker-container label.required:after{content:\"*\";color:#ff040b}.core-control-no-seeker-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\n"] }]
22162
+ ], template: "<div class=\"core-control-no-seeker-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\">\r\n {{control.controlType!=='CHECKBOX' ? (control.label | translate: lang) : ''}}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case ('TEXTBOX') {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\">\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\"></textarea>\r\n\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 ('DATEPICKER') {\r\n <core-date-picker \r\n [$rangePoint]=\"control.$rangePoint\"\r\n [formControlName]=\"control.field\"\r\n ></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 [shownFrom]=\"control.shownFrom!\" [getByIdObject$]=\"control.getByIdObject$!\"></core-dropdown>\r\n }\r\n }\r\n @case ('LIST') {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></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!\"></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!\"></core-file-uploader>\r\n } \r\n }\r\n }\r\n </ng-container>\r\n\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\">{{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-no-seeker-container>div.hidden{display:none}.core-control-no-seeker-container label{color:#464646}.core-control-no-seeker-container label.required:after{content:\"*\";color:#ff040b}.core-control-no-seeker-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\n"] }]
22162
22163
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
22163
22164
  type: Input
22164
22165
  }], form: [{
@@ -26845,7 +26846,7 @@ class CoreControlNoFormArrayComponent extends BaseComponent {
26845
26846
  }
26846
26847
  }
26847
26848
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlNoFormArrayComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
26848
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlNoFormArrayComponent, isStandalone: true, selector: "core-control-no-form-array", inputs: { control: "control", checkError$: "checkError$", rangeLimit: "rangeLimit", readonly: "readonly", disabled: "disabled" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [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]=\"disabled || !!control.disabled\" />\r\n\r\n <!-- <input *ngIf=\"control.type==='calculated'\"\r\n [formControlName]=\"control.field\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [readonly]=\"true\"\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]=\"true\" /> -->\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea \r\n [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [class.form-control-disabled]=\"disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [disabled]=\"!!disabled || !!control.disabled\" [formControlName]=\"control.field\" />\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 [disabled]=\"!!disabled || !!control.disabled\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"RULE_SET\") {\r\n <core-rule-set \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"\r\n />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\" \r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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 @if (control.controlType==='BUTTON') {\r\n <ng-container>\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n }\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n @if (!!errors!.length) {\r\n <div>\r\n @for (error of errors; track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!errors!.length && !!checkError$.value) {\r\n <div>\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n }\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\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", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { 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", "upFlag$", "downFlag$"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["padding", "placeholder", "tableHeight", "liteMode", "formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { 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", "defaultValue"] }, { 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: ["appTooltip", "showAnyway", "color", "backgroundColor", "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", "disabled", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }, { kind: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreRuleSetComponent, selector: "core-rule-set" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
26849
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlNoFormArrayComponent, isStandalone: true, selector: "core-control-no-form-array", inputs: { control: "control", checkError$: "checkError$", rangeLimit: "rangeLimit", readonly: "readonly", disabled: "disabled" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [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]=\"disabled || !!control.disabled\" />\r\n\r\n <!-- <input *ngIf=\"control.type==='calculated'\"\r\n [formControlName]=\"control.field\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [readonly]=\"true\"\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]=\"true\" /> -->\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea \r\n [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [class.form-control-disabled]=\"disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [disabled]=\"!!disabled || !!control.disabled\" [formControlName]=\"control.field\" />\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 [disabled]=\"!!disabled || !!control.disabled\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"RULE_SET\") {\r\n <core-rule-set \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"\r\n />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\" \r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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 @if (control.controlType==='BUTTON') {\r\n <ng-container>\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n }\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n @if (!!errors!.length) {\r\n <div>\r\n @for (error of errors; track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!errors!.length && !!checkError$.value) {\r\n <div>\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n }\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\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", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { 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", "upFlag$", "downFlag$"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["padding", "placeholder", "tableHeight", "liteMode", "formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { 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", "defaultValue"] }, { 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: ["appTooltip", "showAnyway", "color", "backgroundColor", "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", "disabled", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }, { kind: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreRuleSetComponent, selector: "core-rule-set" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
26849
26850
  }
26850
26851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlNoFormArrayComponent, decorators: [{
26851
26852
  type: Component,
@@ -26877,7 +26878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
26877
26878
  CoreIosSwitcherComponent,
26878
26879
  CoreRuleSetComponent,
26879
26880
  HtmlTooltipDirective
26880
- ], template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [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]=\"disabled || !!control.disabled\" />\r\n\r\n <!-- <input *ngIf=\"control.type==='calculated'\"\r\n [formControlName]=\"control.field\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [readonly]=\"true\"\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]=\"true\" /> -->\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea \r\n [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [class.form-control-disabled]=\"disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [disabled]=\"!!disabled || !!control.disabled\" [formControlName]=\"control.field\" />\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 [disabled]=\"!!disabled || !!control.disabled\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"RULE_SET\") {\r\n <core-rule-set \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"\r\n />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\" \r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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 @if (control.controlType==='BUTTON') {\r\n <ng-container>\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n }\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n @if (!!errors!.length) {\r\n <div>\r\n @for (error of errors; track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!errors!.length && !!checkError$.value) {\r\n <div>\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n }\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\n"] }]
26881
+ ], template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [placeholder]=\"control.placeholder || ''\"\r\n [class.form-control-disabled]=\"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 [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]=\"disabled || !!control.disabled\" />\r\n\r\n <!-- <input *ngIf=\"control.type==='calculated'\"\r\n [formControlName]=\"control.field\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [readonly]=\"true\"\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]=\"true\" /> -->\r\n\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea \r\n [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [class.form-control-disabled]=\"disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [disabled]=\"!!disabled || !!control.disabled\" [formControlName]=\"control.field\" />\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 [disabled]=\"!!disabled || !!control.disabled\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [formControlName]=\"control.field\" [showPlaceholder]=\"control.showPlaceholder!\" [rangeLimit]=\"control.rangeLimit!\" [popupAlign]=\"control.popupAlign!\" [placeholder]=\"control.placeholder! || ''\"></core-date-picker>\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [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 [disabled]=\"!!disabled || !!control.disabled\"\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 \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [placeholder]=\"control.placeholder! || ''\"></core-month-selector>\r\n }\r\n @case (\"SHIFTCELL\") {\r\n <core-shift-cell \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"></core-shift-cell>\r\n }\r\n @case (\"SHIFTCOLLECTION\") {\r\n <core-shift-collection \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [relativeMode]=\"true\" [height]=\"control.height || 800\"></core-shift-collection>\r\n }\r\n @case(\"TOPICPICKER\") {\r\n <core-topic-picker \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"RULE_SET\") {\r\n <core-rule-set \r\n [disabled]=\"!!disabled || !!control.disabled\"\r\n [formControlName]=\"control.field\"\r\n />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\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 [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\" \r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [disabled]=\"!!disabled || !!control.disabled\"\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 @if (control.controlType==='BUTTON') {\r\n <ng-container>\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n }\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n @if (!!errors!.length) {\r\n <div>\r\n @for (error of errors; track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!errors!.length && !!checkError$.value) {\r\n <div>\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n }\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\n"] }]
26881
26882
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
26882
26883
  type: Input
26883
26884
  }], checkError$: [{
@@ -28006,17 +28007,19 @@ const CREATE_TREE = {
28006
28007
  minLength: 3,
28007
28008
  maxLength: 255
28008
28009
  },
28009
- row: 1
28010
+ row: 1,
28011
+ flexSize: 12
28010
28012
  },
28011
28013
  {
28012
28014
  key: 'IS_HR',
28013
- label: 'Là không gian nhân sự chính thống (ngành ngang)',
28015
+ label: 'Là không gian nhân sự chính (ngành ngang)',
28014
28016
  kind: 'boolean',
28015
28017
  defaultValue: true,
28016
28018
  validators: {
28017
28019
  required: true
28018
28020
  },
28019
- row: 2
28021
+ row: 2,
28022
+ flexSize: 12
28020
28023
  },
28021
28024
  ],
28022
28025
  };
@@ -28073,17 +28076,6 @@ const CREATE_O = {
28073
28076
  row: 1,
28074
28077
  flexSize: 4
28075
28078
  },
28076
- {
28077
- key: 'IS_ROOT',
28078
- label: 'Là đơn vị gốc',
28079
- kind: 'boolean',
28080
- defaultValue: false,
28081
- validators: {
28082
- required: true
28083
- },
28084
- row: 2,
28085
- flexSize: 3,
28086
- },
28087
28079
  {
28088
28080
  key: 'AVAILABLE_UTC',
28089
28081
  label: 'Khả dụng từ',
@@ -28096,7 +28088,7 @@ const CREATE_O = {
28096
28088
  },
28097
28089
  {
28098
28090
  key: 'TIMEZONE_ID',
28099
- label: 'Múi giờ',
28091
+ label: 'Theo múi giờ',
28100
28092
  kind: 'timezoneId',
28101
28093
  defaultValue: 'Asia/Saigon',
28102
28094
  validators: {
@@ -28107,7 +28099,18 @@ const CREATE_O = {
28107
28099
  },
28108
28100
  row: 2,
28109
28101
  flexSize: 4
28110
- }
28102
+ },
28103
+ {
28104
+ key: 'IS_ROOT',
28105
+ label: 'Là đơn vị gốc',
28106
+ kind: 'boolean',
28107
+ defaultValue: false,
28108
+ validators: {
28109
+ required: true
28110
+ },
28111
+ row: 2,
28112
+ flexSize: 3,
28113
+ },
28111
28114
  ],
28112
28115
  };
28113
28116
 
@@ -28381,14 +28384,30 @@ const SET_O_ATTR = {
28381
28384
  quickEmoji: '→ 📝🏢',
28382
28385
  inputs: [
28383
28386
  {
28384
- key: 'ID', label: 'Tổ chức', kind: 'reference', validators: {
28387
+ key: 'OBJECT_ID', label: 'Tổ chức', kind: 'orgGardenReference', validators: {
28385
28388
  required: true
28386
- }
28389
+ },
28390
+ row: 1,
28391
+ flexSize: 4
28392
+ },
28393
+ {
28394
+ key: 'OBJECT_TYPE', label: 'Loại đối tượng', kind: 'string',
28395
+ defaultValue: 'O',
28396
+ hidden: true,
28387
28397
  },
28388
28398
  {
28389
28399
  key: 'ATTRIBUTE_NAME', label: 'Thuộc tính', kind: 'orgAttributeName', validators: {
28390
28400
  required: true
28391
- }
28401
+ },
28402
+ row: 1,
28403
+ flexSize: 4
28404
+ },
28405
+ {
28406
+ key: 'VALUE_IN_STRING', label: 'Thuộc tính', kind: 'orgAttributeName', validators: {
28407
+ required: true
28408
+ },
28409
+ row: 1,
28410
+ flexSize: 4
28392
28411
  }
28393
28412
  ],
28394
28413
  };
@@ -28405,6 +28424,11 @@ const SET_S_ATTR = {
28405
28424
  required: true
28406
28425
  }
28407
28426
  },
28427
+ {
28428
+ key: 'OBJECT_TYPE', label: 'Loại đối tượng', kind: 'string',
28429
+ defaultValue: 'S',
28430
+ hidden: true,
28431
+ },
28408
28432
  {
28409
28433
  key: 'ATTRIBUTE_NAME', label: 'Thuộc tính', kind: 'seatAttributeName', validators: {
28410
28434
  required: true
@@ -28425,6 +28449,11 @@ const SET_P_ATTR = {
28425
28449
  required: true
28426
28450
  }
28427
28451
  },
28452
+ {
28453
+ key: 'OBJECT_TYPE', label: 'Loại đối tượng', kind: 'string',
28454
+ defaultValue: 'P',
28455
+ hidden: true,
28456
+ },
28428
28457
  {
28429
28458
  key: 'ATTRIBUTE_NAME', label: 'Thuộc tính', kind: 'personAttributeName', validators: {
28430
28459
  required: true
@@ -28739,6 +28768,7 @@ class DomDecisionContextService {
28739
28768
  constructor() {
28740
28769
  // Omega được cấp từ Editor
28741
28770
  this.$omega = signal(null);
28771
+ this.$selectedIntentDescriptor = signal(null);
28742
28772
  // Derived – không lưu state
28743
28773
  this.$availableTokens = computed(() => {
28744
28774
  const omega = this.$omega();
@@ -28871,8 +28901,8 @@ class IntentComposerComponent extends BaseComponent {
28871
28901
  this.MOCK_DATA = MOCK_DATA;
28872
28902
  // ===== Inputs / Outputs =====
28873
28903
  this.$descriptor = input.required();
28874
- this.$intentComposed = output();
28875
- this.$cancelled = output();
28904
+ this.intentComposed = output();
28905
+ this.cancelled = output();
28876
28906
  // ===== Local UI-only state =====
28877
28907
  this.$draftInput = signal({});
28878
28908
  this.$errors = signal([]);
@@ -28881,6 +28911,7 @@ class IntentComposerComponent extends BaseComponent {
28881
28911
  // ===== Services =====
28882
28912
  this.fb = inject(FormBuilder);
28883
28913
  this.as = inject(AlertService);
28914
+ this.ctx = inject(DomDecisionContextService);
28884
28915
  this.form = this.fb.group({});
28885
28916
  this.$rowableInputs = computed(() => {
28886
28917
  const inputs = this.$descriptor().inputs ?? [];
@@ -28955,13 +28986,15 @@ class IntentComposerComponent extends BaseComponent {
28955
28986
  if (this.$errors().length > 0) {
28956
28987
  return;
28957
28988
  }
28958
- this.$intentComposed.emit({
28989
+ this.intentComposed.emit({
28959
28990
  actionCode: this.$descriptor().actionCode,
28960
28991
  input: this.form.getRawValue()
28961
28992
  });
28993
+ this.ctx.$selectedIntentDescriptor.set(null);
28962
28994
  }
28963
28995
  onCancel() {
28964
- this.$cancelled.emit();
28996
+ this.cancelled.emit();
28997
+ this.ctx.$selectedIntentDescriptor.set(null);
28965
28998
  }
28966
28999
  buildValidators(schema) {
28967
29000
  if (!schema)
@@ -29055,7 +29088,7 @@ class IntentComposerComponent extends BaseComponent {
29055
29088
  shortCodeCtrl.setValue(code.substring(0, 8).toUpperCase(), { emitEvent: false });
29056
29089
  }
29057
29090
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IntentComposerComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
29058
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: IntentComposerComponent, isStandalone: true, selector: "intent-composer", inputs: { $descriptor: { classPropertyName: "$descriptor", publicName: "$descriptor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $intentComposed: "$intentComposed", $cancelled: "$cancelled" }, viewQueries: [{ propertyName: "$defaultOrgItemTpl", first: true, predicate: ["defaultOrgItemTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row-grid\">\r\n @for (input of row.inputs; track $index) {\r\n <div\r\n class=\"intent-cell\"\r\n [class.hidden]=\"input.hidden\"\r\n [style.gridColumn]=\"'span ' + (input.flexSize ?? 1)\"\r\n >\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input\r\n class=\"form-control\"\r\n [formControlName]=\"input.key\"\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown\r\n [options$]=\"treeIdOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input\r\n [formControlName]=\"input.key\"\r\n type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <!-- <core-tree-reference \r\n [formControlName]=\"input.key\"\r\n [$data]=\"MOCK_DATA\"\r\n [$itemTemplateRef]=\"$defaultOrgItemTpl()\"\r\n /> -->\r\n <dom-oid-factory \r\n [formControlName]=\"input.key\"\r\n /> \r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown\r\n [options$]=\"rCodeOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown\r\n [options$]=\"roleOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('reference') {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline\"\r\n (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea\r\n [formControlName]=\"input.key\"\r\n rows=\"3\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div>&nbsp;</div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div> \r\n\r\n </div>\r\n }\r\n </div> \r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n >\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:12px}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell{box-sizing:border-box;min-width:0}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row-grid .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { kind: "component", type: CoreTimezoneComponent, selector: "core-timezone" }, { kind: "component", type: DomOIdFactoryComponent, selector: "dom-oid-factory" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
29091
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: IntentComposerComponent, isStandalone: true, selector: "intent-composer", inputs: { $descriptor: { classPropertyName: "$descriptor", publicName: "$descriptor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { intentComposed: "intentComposed", cancelled: "cancelled" }, viewQueries: [{ propertyName: "$defaultOrgItemTpl", first: true, predicate: ["defaultOrgItemTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form class=\"intent-composer-container\" [formGroup]=\"form\" (ngSubmit)=\"onConfirm()\" autocomplete=\"off\">\r\n\r\n <!-- Header -->\r\n <div class=\"composer-header\">\r\n <core-page-header [hideButtonGroup]=\"true\" [title]=\"$descriptor().label\" />\r\n </div>\r\n\r\n <div class=\"composer-body\">\r\n\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row-grid\">\r\n @for (input of row.inputs; track $index) {\r\n <div class=\"intent-cell\" [class.hidden]=\"input.hidden\" [style.gridColumn]=\"'span ' + (input.flexSize ?? 1)\">\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input class=\"form-control\" [formControlName]=\"input.key\" type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown [options$]=\"treeIdOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input [formControlName]=\"input.key\" type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker [formControlName]=\"input.key\" [$rangePoint]=\"'start'\" />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <dom-oid-factory [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown [options$]=\"rCodeOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown [options$]=\"roleOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('reference') {\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea [formControlName]=\"input.key\" rows=\"3\" (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div>&nbsp;</div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button type=\"submit\" class=\"btn btn-primary\">\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:12px}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell{box-sizing:border-box;min-width:0}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row-grid .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { kind: "component", type: CoreTimezoneComponent, selector: "core-timezone" }, { kind: "component", type: DomOIdFactoryComponent, selector: "dom-oid-factory" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup", "htmlTooltipRef"], outputs: ["buttonClick"] }] }); }
29059
29092
  }
29060
29093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IntentComposerComponent, decorators: [{
29061
29094
  type: Component,
@@ -29068,7 +29101,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
29068
29101
  CoreTimezoneComponent,
29069
29102
  DomOIdFactoryComponent,
29070
29103
  TranslatePipe,
29071
- ], template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row-grid\">\r\n @for (input of row.inputs; track $index) {\r\n <div\r\n class=\"intent-cell\"\r\n [class.hidden]=\"input.hidden\"\r\n [style.gridColumn]=\"'span ' + (input.flexSize ?? 1)\"\r\n >\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input\r\n class=\"form-control\"\r\n [formControlName]=\"input.key\"\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown\r\n [options$]=\"treeIdOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input\r\n [formControlName]=\"input.key\"\r\n type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <!-- <core-tree-reference \r\n [formControlName]=\"input.key\"\r\n [$data]=\"MOCK_DATA\"\r\n [$itemTemplateRef]=\"$defaultOrgItemTpl()\"\r\n /> -->\r\n <dom-oid-factory \r\n [formControlName]=\"input.key\"\r\n /> \r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown\r\n [options$]=\"rCodeOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown\r\n [options$]=\"roleOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('reference') {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline\"\r\n (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea\r\n [formControlName]=\"input.key\"\r\n rows=\"3\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div>&nbsp;</div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div> \r\n\r\n </div>\r\n }\r\n </div> \r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n >\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:12px}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell{box-sizing:border-box;min-width:0}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row-grid .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"] }]
29104
+ CorePageHeaderComponent
29105
+ ], template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form class=\"intent-composer-container\" [formGroup]=\"form\" (ngSubmit)=\"onConfirm()\" autocomplete=\"off\">\r\n\r\n <!-- Header -->\r\n <div class=\"composer-header\">\r\n <core-page-header [hideButtonGroup]=\"true\" [title]=\"$descriptor().label\" />\r\n </div>\r\n\r\n <div class=\"composer-body\">\r\n\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row-grid\">\r\n @for (input of row.inputs; track $index) {\r\n <div class=\"intent-cell\" [class.hidden]=\"input.hidden\" [style.gridColumn]=\"'span ' + (input.flexSize ?? 1)\">\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input class=\"form-control\" [formControlName]=\"input.key\" type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown [options$]=\"treeIdOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input [formControlName]=\"input.key\" type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker [formControlName]=\"input.key\" [$rangePoint]=\"'start'\" />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <dom-oid-factory [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown [options$]=\"rCodeOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown [options$]=\"roleOptions$\" [warningDisable]=\"true\" [formControlName]=\"input.key\" />\r\n }\r\n\r\n @case ('reference') {\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea [formControlName]=\"input.key\" rows=\"3\" (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div>&nbsp;</div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button type=\"submit\" class=\"btn btn-primary\">\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:12px}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell{box-sizing:border-box;min-width:0}.intent-composer-container .intent-inputs .intent-row-grid .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row-grid .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row-grid .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"] }]
29072
29106
  }], ctorParameters: () => [{ type: MultiLanguageService }] });
29073
29107
 
29074
29108
  /**
@@ -29087,6 +29121,7 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
29087
29121
  constructor() {
29088
29122
  super();
29089
29123
  this.ctx = inject(DomDecisionContextService);
29124
+ this.js = inject(JsonService);
29090
29125
  this.$omega = signal({
29091
29126
  omegaVersion: '1.0',
29092
29127
  inputChain: []
@@ -29095,7 +29130,7 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
29095
29130
  this.INTENT_DESCRIPTOR_REGISTRY = INTENT_DESCRIPTOR_REGISTRY;
29096
29131
  // UI-only popup flag
29097
29132
  this.$showIntentComposer = signal(false);
29098
- this.$selectedIntentDescriptor = signal(null);
29133
+ this.$selectedIntentDescriptor = this.ctx.$selectedIntentDescriptor;
29099
29134
  this.$projection = computed(() => {
29100
29135
  const omega = this.$omega();
29101
29136
  // Trường hợp cực đoan (chỉ khi anh vẫn cho omega nullable)
@@ -29131,10 +29166,15 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
29131
29166
  }
29132
29167
  return Array.from(map.values());
29133
29168
  });
29134
- // Bind omega → context
29169
+ // 1️⃣ Sync omega → context
29135
29170
  effect(() => {
29136
29171
  this.ctx.$omega.set(this.$omega());
29137
29172
  });
29173
+ // 2️⃣ Emit omega → outer form
29174
+ effect(() => {
29175
+ const omega = this.$omega();
29176
+ this.onChange(JSON.stringify(omega));
29177
+ });
29138
29178
  }
29139
29179
  writeValue(omega) {
29140
29180
  this.value = omega ?? '';
@@ -29224,7 +29264,7 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
29224
29264
  multi: true,
29225
29265
  useExisting: forwardRef(() => CoreDomDecisionEditorComponent),
29226
29266
  },
29227
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"core-dom-decision-editor-container\">\r\n\r\n <!-- ========================= -->\r\n <!-- Decision Overview / Header -->\r\n <!-- ========================= -->\r\n <header class=\"editor-header\">\r\n <div class=\"editor-title\">\r\n <h2>Quy\u1EBFt \u0111\u1ECBnh t\u1ED5 ch\u1EE9c</h2>\r\n <p class=\"editor-subtitle\">\r\n So\u1EA1n th\u1EA3o m\u1ED9t quy\u1EBFt \u0111\u1ECBnh OM b\u1EA5t bi\u1EBFn (Omega)\r\n </p>\r\n </div>\r\n\r\n <div class=\"editor-meta\">\r\n <!-- read-only meta derived from Omega -->\r\n <span class=\"meta-item\">\r\n Intent count:\r\n <strong>{{ $projection().intentCount }}</strong>\r\n </span>\r\n\r\n <span class=\"meta-item\">\r\n Tr\u1EA1ng th\u00E1i:\r\n <strong>{{ $projection().validityLabel }}</strong>\r\n </span>\r\n </div>\r\n </header>\r\n\r\n <!-- ========================= -->\r\n <!-- Intent Chain Projection -->\r\n <!-- ========================= -->\r\n <section class=\"intent-chain\">\r\n\r\n <h3>Chu\u1ED7i \u00FD \u0111\u1ECBnh (Intent Chain)</h3>\r\n\r\n @if ($projection().intents.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 intent n\u00E0o trong quy\u1EBFt \u0111\u1ECBnh n\u00E0y.</p>\r\n <p class=\"hint\">\r\n B\u1EAFt \u0111\u1EA7u b\u1EB1ng c\u00E1ch th\u00EAm intent \u0111\u1EA7u ti\u00EAn.\r\n </p>\r\n </div>\r\n } @else {\r\n <ol class=\"intent-list\">\r\n @for (intent of $projection().intents; track $index) {\r\n <li class=\"intent-item\">\r\n <div class=\"intent-card\">\r\n\r\n <!-- Header -->\r\n <div class=\"intent-header\">\r\n <span class=\"intent-seq\">#{{ intent.seq }}</span>\r\n <span class=\"intent-label\">{{ intent.actionLabel }}</span>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"intent-body\">\r\n @if (intent.summary) {\r\n <div class=\"intent-summary\">\r\n {{ intent.summary }}\r\n </div>\r\n } @else {\r\n <div class=\"intent-summary muted\">\r\n (Ch\u01B0a c\u00F3 di\u1EC5n gi\u1EA3i chi ti\u1EBFt)\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"intent-footer\">\r\n <button type=\"button\" class=\"btn btn-ghost\">\r\n Xem\r\n </button>\r\n <button type=\"button\" class=\"btn btn-danger-ghost\" (click)=\"onRemoveIntent(intent.seq)\">\r\n G\u1EE1\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </li>\r\n }\r\n </ol>\r\n\r\n }\r\n\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Add Intent Entry Point -->\r\n <!-- ========================= -->\r\n <section class=\"intent-actions-panel\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onAddIntent()\">\r\n + Th\u00EAm Intent\r\n </button>\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Output Preview (Derived) -->\r\n <!-- ========================= -->\r\n <section class=\"output-preview\">\r\n <h3>K\u1EBFt qu\u1EA3 d\u1EF1 ki\u1EBFn (Preview)</h3>\r\n\r\n <p class=\"hint\">\r\n K\u1EBFt qu\u1EA3 n\u00E0y \u0111\u01B0\u1EE3c suy ra t\u1EEB Intent Chain, kh\u00F4ng th\u1EC3 ch\u1EC9nh s\u1EEDa.\r\n </p>\r\n\r\n @if ($projection().outputs.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 output n\u00E0o \u0111\u01B0\u1EE3c sinh ra.</p>\r\n </div>\r\n } @else {\r\n <ul class=\"output-list\">\r\n @for (output of $projection().outputs; track $index) {\r\n <li class=\"output-item\">\r\n <span class=\"output-key\">{{ output.key }}</span>\r\n <span class=\"output-desc\">{{ output.description }}</span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Raw Omega (Optional / Debug) -->\r\n <!-- ========================= -->\r\n <details class=\"omega-raw\">\r\n <summary>Xem Omega (raw)</summary>\r\n <pre>{{ $omega() | json }}</pre>\r\n </details>\r\n\r\n @if ($showIntentComposer()) {\r\n <!--\r\n Intent Composer Popup\r\n Purpose: Enter intent composition mode only.\r\n MUST NOT:\r\n - Mutate Omega\r\n - Mutate projection\r\n - Execute OM logic\r\n -->\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"intent-composer-entry\">\r\n <p><strong>So\u1EA1n th\u1EA3o Intent m\u1EDBi</strong></p>\r\n\r\n @if ($selectedIntentDescriptor()) {\r\n\r\n <intent-composer\r\n [$descriptor]=\"$selectedIntentDescriptor()!\"\r\n ($intentComposed)=\"onIntentDrafted($event)\"\r\n ($cancelled)=\"onCancelIntentCompose()\">\r\n </intent-composer>\r\n\r\n } @else {\r\n\r\n <!-- N\u1ED9i dung composer s\u1EBD \u0111\u01B0\u1EE3c c\u1EAFm sau -->\r\n <ul class=\"intent-item-registry\">\r\n @for (intent of INTENT_DESCRIPTOR_REGISTRY; track $index) {\r\n <li class=\"intent-item-point\">\r\n <div class=\"intent-item\"\r\n (click)=\"onSelectIntent(intent)\">\r\n <object>{{ intent.actionCode }} | {{ intent.quickEmoji }}</object>\r\n <strong>{{ intent.label }}</strong>\r\n <p>{{ intent.description }}</p>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n\r\n }\r\n <hr />\r\n <div class=\"popup-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCloseIntentComposer()\">\r\n H\u1EE7y\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".core-dom-decision-editor-container .modal-container{overflow:scroll}.core-dom-decision-editor-container .modal-container .modal-content-root{overflow:visible;max-height:unset}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry{padding-left:0;overflow-y:scroll;height:60vh}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point{cursor:pointer;padding:8px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point:hover{color:#fff;background-color:#09f}.core-dom-decision-editor-container .intent-chain .intent-list{list-style:none;padding:0;margin:0}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item{margin-bottom:12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card{border:1px solid #d0d7de;border-radius:4px;background:#fff;padding:10px 12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-seq{background:#e6f0ff;color:#084298;border-radius:3px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-label{color:#212529}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body{padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary{color:#495057}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary.muted{color:#adb5bd;font-style:italic}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer{display:flex;gap:8px;margin-top:8px;padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn{border:none;background:none;cursor:pointer;font-size:13px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost{color:#0d6efd}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost:hover{text-decoration:underline}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost{color:#dc3545}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost:hover{text-decoration:underline}\n"], dependencies: [{ kind: "component", type: IntentComposerComponent, selector: "intent-composer", inputs: ["$descriptor"], outputs: ["$intentComposed", "$cancelled"] }, { kind: "pipe", type: JsonPipe, name: "json" }] }); }
29267
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"core-dom-decision-editor-container\">\r\n\r\n <!-- ========================= -->\r\n <!-- Decision Overview / Header -->\r\n <!-- ========================= -->\r\n <header class=\"editor-header\">\r\n <div class=\"editor-meta\">\r\n <!-- read-only meta derived from Omega -->\r\n <span class=\"meta-item\">\r\n Intent count:\r\n <strong>{{ $projection().intentCount }}</strong>\r\n </span>\r\n\r\n <span class=\"meta-item\">\r\n Tr\u1EA1ng th\u00E1i:\r\n <strong>{{ $projection().validityLabel }}</strong>\r\n </span>\r\n </div>\r\n </header>\r\n\r\n <!-- ========================= -->\r\n <!-- Intent Chain Projection -->\r\n <!-- ========================= -->\r\n <section class=\"intent-chain\">\r\n\r\n <object>Chu\u1ED7i \u00FD \u0111\u1ECBnh</object>\r\n\r\n @if ($projection().intents.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 \u00FD \u0111\u1ECBnh n\u00E0o trong chu\u1ED7i n\u00E0y.</p>\r\n </div>\r\n } @else {\r\n <ol class=\"intent-list\">\r\n @for (intent of $projection().intents; track $index) {\r\n <li class=\"intent-item\">\r\n <div class=\"intent-card\">\r\n\r\n <!-- Header -->\r\n <div class=\"intent-header\">\r\n <span class=\"intent-seq\">#{{ intent.seq }}</span>\r\n <span class=\"intent-label\">{{ intent.actionLabel }}</span>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"intent-body\">\r\n @if (intent.summary) {\r\n <div class=\"intent-summary\">\r\n {{ intent.summary }}\r\n </div>\r\n } @else {\r\n <div class=\"intent-summary muted\">\r\n (Ch\u01B0a c\u00F3 di\u1EC5n gi\u1EA3i chi ti\u1EBFt)\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"intent-footer\">\r\n <button type=\"button\" class=\"btn btn-ghost\">\r\n Xem\r\n </button>\r\n <button type=\"button\" class=\"btn btn-danger-ghost\" (click)=\"onRemoveIntent(intent.seq)\">\r\n G\u1EE1\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </li>\r\n }\r\n </ol>\r\n }\r\n\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Add Intent Entry Point -->\r\n <!-- ========================= -->\r\n <section class=\"intent-actions-panel\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onAddIntent()\">\r\n + Th\u00EAm Intent\r\n </button>\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Output Preview (Derived) -->\r\n <!-- ========================= -->\r\n <section class=\"output-preview\">\r\n <p>K\u1EBFt qu\u1EA3 d\u1EF1 ki\u1EBFn</p>\r\n\r\n @if ($projection().outputs.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 output n\u00E0o \u0111\u01B0\u1EE3c sinh ra.</p>\r\n </div>\r\n } @else {\r\n <ul class=\"output-list\">\r\n @for (output of $projection().outputs; track $index) {\r\n <li class=\"output-item\">\r\n <span class=\"output-key\">{{ output.key }}</span>\r\n <span class=\"output-desc\">{{ output.description }}</span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Raw Omega (Optional / Debug) -->\r\n <!-- ========================= -->\r\n <details class=\"omega-raw\">\r\n <summary>Xem Omega (raw)</summary>\r\n <pre>{{ $omega() | json }}</pre>\r\n </details>\r\n\r\n @if ($showIntentComposer()) {\r\n <!--\r\n Intent Composer Popup\r\n Purpose: Enter intent composition mode only.\r\n MUST NOT:\r\n - Mutate Omega\r\n - Mutate projection\r\n - Execute OM logic\r\n -->\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"intent-composer-entry\">\r\n\r\n @if ($selectedIntentDescriptor()) {\r\n\r\n <intent-composer\r\n [$descriptor]=\"$selectedIntentDescriptor()!\"\r\n (intentComposed)=\"onIntentDrafted($event)\"\r\n (cancelled)=\"onCancelIntentCompose()\">\r\n </intent-composer>\r\n\r\n } @else {\r\n\r\n <!-- N\u1ED9i dung composer s\u1EBD \u0111\u01B0\u1EE3c c\u1EAFm sau -->\r\n <ul class=\"intent-item-registry\">\r\n @for (intent of INTENT_DESCRIPTOR_REGISTRY; track $index) {\r\n <li class=\"intent-item-point\">\r\n <div class=\"intent-item\"\r\n (click)=\"onSelectIntent(intent)\">\r\n <object>{{ intent.actionCode }} | {{ intent.quickEmoji }}</object>\r\n <strong>{{ intent.label }}</strong>\r\n <p>{{ intent.description }}</p>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n\r\n }\r\n <hr />\r\n <div class=\"popup-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCloseIntentComposer()\">\r\n H\u1EE7y\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".core-dom-decision-editor-container .modal-container{overflow:scroll}.core-dom-decision-editor-container .modal-container .modal-content-root{overflow:visible;max-height:unset;padding:0}.core-dom-decision-editor-container .modal-container .modal-content-root .intent-composer-entry{padding:0 15px 15px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry{margin-top:15px;padding-top:15px;padding-left:0;overflow-y:scroll;height:60vh}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point{cursor:pointer;padding:8px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point:hover{color:#fff;background-color:#09f}.core-dom-decision-editor-container .intent-chain .intent-list{list-style:none;padding:0;margin:0}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item{margin-bottom:12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card{border:1px solid #d0d7de;border-radius:4px;background:#fff;padding:10px 12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-seq{background:#e6f0ff;color:#084298;border-radius:3px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-label{color:#212529}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body{padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary{color:#495057}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary.muted{color:#adb5bd;font-style:italic}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer{display:flex;gap:8px;margin-top:8px;padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn{border:none;background:none;cursor:pointer;font-size:13px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost{color:#0d6efd}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost:hover{text-decoration:underline}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost{color:#dc3545}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost:hover{text-decoration:underline}\n"], dependencies: [{ kind: "component", type: IntentComposerComponent, selector: "intent-composer", inputs: ["$descriptor"], outputs: ["intentComposed", "cancelled"] }, { kind: "pipe", type: JsonPipe, name: "json" }] }); }
29228
29268
  }
29229
29269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreDomDecisionEditorComponent, decorators: [{
29230
29270
  type: Component,
@@ -29243,7 +29283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
29243
29283
  multi: true,
29244
29284
  useExisting: forwardRef(() => CoreDomDecisionEditorComponent),
29245
29285
  },
29246
- ], template: "<div class=\"core-dom-decision-editor-container\">\r\n\r\n <!-- ========================= -->\r\n <!-- Decision Overview / Header -->\r\n <!-- ========================= -->\r\n <header class=\"editor-header\">\r\n <div class=\"editor-title\">\r\n <h2>Quy\u1EBFt \u0111\u1ECBnh t\u1ED5 ch\u1EE9c</h2>\r\n <p class=\"editor-subtitle\">\r\n So\u1EA1n th\u1EA3o m\u1ED9t quy\u1EBFt \u0111\u1ECBnh OM b\u1EA5t bi\u1EBFn (Omega)\r\n </p>\r\n </div>\r\n\r\n <div class=\"editor-meta\">\r\n <!-- read-only meta derived from Omega -->\r\n <span class=\"meta-item\">\r\n Intent count:\r\n <strong>{{ $projection().intentCount }}</strong>\r\n </span>\r\n\r\n <span class=\"meta-item\">\r\n Tr\u1EA1ng th\u00E1i:\r\n <strong>{{ $projection().validityLabel }}</strong>\r\n </span>\r\n </div>\r\n </header>\r\n\r\n <!-- ========================= -->\r\n <!-- Intent Chain Projection -->\r\n <!-- ========================= -->\r\n <section class=\"intent-chain\">\r\n\r\n <h3>Chu\u1ED7i \u00FD \u0111\u1ECBnh (Intent Chain)</h3>\r\n\r\n @if ($projection().intents.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 intent n\u00E0o trong quy\u1EBFt \u0111\u1ECBnh n\u00E0y.</p>\r\n <p class=\"hint\">\r\n B\u1EAFt \u0111\u1EA7u b\u1EB1ng c\u00E1ch th\u00EAm intent \u0111\u1EA7u ti\u00EAn.\r\n </p>\r\n </div>\r\n } @else {\r\n <ol class=\"intent-list\">\r\n @for (intent of $projection().intents; track $index) {\r\n <li class=\"intent-item\">\r\n <div class=\"intent-card\">\r\n\r\n <!-- Header -->\r\n <div class=\"intent-header\">\r\n <span class=\"intent-seq\">#{{ intent.seq }}</span>\r\n <span class=\"intent-label\">{{ intent.actionLabel }}</span>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"intent-body\">\r\n @if (intent.summary) {\r\n <div class=\"intent-summary\">\r\n {{ intent.summary }}\r\n </div>\r\n } @else {\r\n <div class=\"intent-summary muted\">\r\n (Ch\u01B0a c\u00F3 di\u1EC5n gi\u1EA3i chi ti\u1EBFt)\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"intent-footer\">\r\n <button type=\"button\" class=\"btn btn-ghost\">\r\n Xem\r\n </button>\r\n <button type=\"button\" class=\"btn btn-danger-ghost\" (click)=\"onRemoveIntent(intent.seq)\">\r\n G\u1EE1\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </li>\r\n }\r\n </ol>\r\n\r\n }\r\n\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Add Intent Entry Point -->\r\n <!-- ========================= -->\r\n <section class=\"intent-actions-panel\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onAddIntent()\">\r\n + Th\u00EAm Intent\r\n </button>\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Output Preview (Derived) -->\r\n <!-- ========================= -->\r\n <section class=\"output-preview\">\r\n <h3>K\u1EBFt qu\u1EA3 d\u1EF1 ki\u1EBFn (Preview)</h3>\r\n\r\n <p class=\"hint\">\r\n K\u1EBFt qu\u1EA3 n\u00E0y \u0111\u01B0\u1EE3c suy ra t\u1EEB Intent Chain, kh\u00F4ng th\u1EC3 ch\u1EC9nh s\u1EEDa.\r\n </p>\r\n\r\n @if ($projection().outputs.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 output n\u00E0o \u0111\u01B0\u1EE3c sinh ra.</p>\r\n </div>\r\n } @else {\r\n <ul class=\"output-list\">\r\n @for (output of $projection().outputs; track $index) {\r\n <li class=\"output-item\">\r\n <span class=\"output-key\">{{ output.key }}</span>\r\n <span class=\"output-desc\">{{ output.description }}</span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Raw Omega (Optional / Debug) -->\r\n <!-- ========================= -->\r\n <details class=\"omega-raw\">\r\n <summary>Xem Omega (raw)</summary>\r\n <pre>{{ $omega() | json }}</pre>\r\n </details>\r\n\r\n @if ($showIntentComposer()) {\r\n <!--\r\n Intent Composer Popup\r\n Purpose: Enter intent composition mode only.\r\n MUST NOT:\r\n - Mutate Omega\r\n - Mutate projection\r\n - Execute OM logic\r\n -->\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"intent-composer-entry\">\r\n <p><strong>So\u1EA1n th\u1EA3o Intent m\u1EDBi</strong></p>\r\n\r\n @if ($selectedIntentDescriptor()) {\r\n\r\n <intent-composer\r\n [$descriptor]=\"$selectedIntentDescriptor()!\"\r\n ($intentComposed)=\"onIntentDrafted($event)\"\r\n ($cancelled)=\"onCancelIntentCompose()\">\r\n </intent-composer>\r\n\r\n } @else {\r\n\r\n <!-- N\u1ED9i dung composer s\u1EBD \u0111\u01B0\u1EE3c c\u1EAFm sau -->\r\n <ul class=\"intent-item-registry\">\r\n @for (intent of INTENT_DESCRIPTOR_REGISTRY; track $index) {\r\n <li class=\"intent-item-point\">\r\n <div class=\"intent-item\"\r\n (click)=\"onSelectIntent(intent)\">\r\n <object>{{ intent.actionCode }} | {{ intent.quickEmoji }}</object>\r\n <strong>{{ intent.label }}</strong>\r\n <p>{{ intent.description }}</p>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n\r\n }\r\n <hr />\r\n <div class=\"popup-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCloseIntentComposer()\">\r\n H\u1EE7y\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".core-dom-decision-editor-container .modal-container{overflow:scroll}.core-dom-decision-editor-container .modal-container .modal-content-root{overflow:visible;max-height:unset}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry{padding-left:0;overflow-y:scroll;height:60vh}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point{cursor:pointer;padding:8px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point:hover{color:#fff;background-color:#09f}.core-dom-decision-editor-container .intent-chain .intent-list{list-style:none;padding:0;margin:0}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item{margin-bottom:12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card{border:1px solid #d0d7de;border-radius:4px;background:#fff;padding:10px 12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-seq{background:#e6f0ff;color:#084298;border-radius:3px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-label{color:#212529}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body{padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary{color:#495057}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary.muted{color:#adb5bd;font-style:italic}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer{display:flex;gap:8px;margin-top:8px;padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn{border:none;background:none;cursor:pointer;font-size:13px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost{color:#0d6efd}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost:hover{text-decoration:underline}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost{color:#dc3545}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost:hover{text-decoration:underline}\n"] }]
29286
+ ], template: "<div class=\"core-dom-decision-editor-container\">\r\n\r\n <!-- ========================= -->\r\n <!-- Decision Overview / Header -->\r\n <!-- ========================= -->\r\n <header class=\"editor-header\">\r\n <div class=\"editor-meta\">\r\n <!-- read-only meta derived from Omega -->\r\n <span class=\"meta-item\">\r\n Intent count:\r\n <strong>{{ $projection().intentCount }}</strong>\r\n </span>\r\n\r\n <span class=\"meta-item\">\r\n Tr\u1EA1ng th\u00E1i:\r\n <strong>{{ $projection().validityLabel }}</strong>\r\n </span>\r\n </div>\r\n </header>\r\n\r\n <!-- ========================= -->\r\n <!-- Intent Chain Projection -->\r\n <!-- ========================= -->\r\n <section class=\"intent-chain\">\r\n\r\n <object>Chu\u1ED7i \u00FD \u0111\u1ECBnh</object>\r\n\r\n @if ($projection().intents.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 \u00FD \u0111\u1ECBnh n\u00E0o trong chu\u1ED7i n\u00E0y.</p>\r\n </div>\r\n } @else {\r\n <ol class=\"intent-list\">\r\n @for (intent of $projection().intents; track $index) {\r\n <li class=\"intent-item\">\r\n <div class=\"intent-card\">\r\n\r\n <!-- Header -->\r\n <div class=\"intent-header\">\r\n <span class=\"intent-seq\">#{{ intent.seq }}</span>\r\n <span class=\"intent-label\">{{ intent.actionLabel }}</span>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"intent-body\">\r\n @if (intent.summary) {\r\n <div class=\"intent-summary\">\r\n {{ intent.summary }}\r\n </div>\r\n } @else {\r\n <div class=\"intent-summary muted\">\r\n (Ch\u01B0a c\u00F3 di\u1EC5n gi\u1EA3i chi ti\u1EBFt)\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"intent-footer\">\r\n <button type=\"button\" class=\"btn btn-ghost\">\r\n Xem\r\n </button>\r\n <button type=\"button\" class=\"btn btn-danger-ghost\" (click)=\"onRemoveIntent(intent.seq)\">\r\n G\u1EE1\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </li>\r\n }\r\n </ol>\r\n }\r\n\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Add Intent Entry Point -->\r\n <!-- ========================= -->\r\n <section class=\"intent-actions-panel\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onAddIntent()\">\r\n + Th\u00EAm Intent\r\n </button>\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Output Preview (Derived) -->\r\n <!-- ========================= -->\r\n <section class=\"output-preview\">\r\n <p>K\u1EBFt qu\u1EA3 d\u1EF1 ki\u1EBFn</p>\r\n\r\n @if ($projection().outputs.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 output n\u00E0o \u0111\u01B0\u1EE3c sinh ra.</p>\r\n </div>\r\n } @else {\r\n <ul class=\"output-list\">\r\n @for (output of $projection().outputs; track $index) {\r\n <li class=\"output-item\">\r\n <span class=\"output-key\">{{ output.key }}</span>\r\n <span class=\"output-desc\">{{ output.description }}</span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Raw Omega (Optional / Debug) -->\r\n <!-- ========================= -->\r\n <details class=\"omega-raw\">\r\n <summary>Xem Omega (raw)</summary>\r\n <pre>{{ $omega() | json }}</pre>\r\n </details>\r\n\r\n @if ($showIntentComposer()) {\r\n <!--\r\n Intent Composer Popup\r\n Purpose: Enter intent composition mode only.\r\n MUST NOT:\r\n - Mutate Omega\r\n - Mutate projection\r\n - Execute OM logic\r\n -->\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"intent-composer-entry\">\r\n\r\n @if ($selectedIntentDescriptor()) {\r\n\r\n <intent-composer\r\n [$descriptor]=\"$selectedIntentDescriptor()!\"\r\n (intentComposed)=\"onIntentDrafted($event)\"\r\n (cancelled)=\"onCancelIntentCompose()\">\r\n </intent-composer>\r\n\r\n } @else {\r\n\r\n <!-- N\u1ED9i dung composer s\u1EBD \u0111\u01B0\u1EE3c c\u1EAFm sau -->\r\n <ul class=\"intent-item-registry\">\r\n @for (intent of INTENT_DESCRIPTOR_REGISTRY; track $index) {\r\n <li class=\"intent-item-point\">\r\n <div class=\"intent-item\"\r\n (click)=\"onSelectIntent(intent)\">\r\n <object>{{ intent.actionCode }} | {{ intent.quickEmoji }}</object>\r\n <strong>{{ intent.label }}</strong>\r\n <p>{{ intent.description }}</p>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n\r\n }\r\n <hr />\r\n <div class=\"popup-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCloseIntentComposer()\">\r\n H\u1EE7y\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".core-dom-decision-editor-container .modal-container{overflow:scroll}.core-dom-decision-editor-container .modal-container .modal-content-root{overflow:visible;max-height:unset;padding:0}.core-dom-decision-editor-container .modal-container .modal-content-root .intent-composer-entry{padding:0 15px 15px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry{margin-top:15px;padding-top:15px;padding-left:0;overflow-y:scroll;height:60vh}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point{cursor:pointer;padding:8px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point:hover{color:#fff;background-color:#09f}.core-dom-decision-editor-container .intent-chain .intent-list{list-style:none;padding:0;margin:0}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item{margin-bottom:12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card{border:1px solid #d0d7de;border-radius:4px;background:#fff;padding:10px 12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-seq{background:#e6f0ff;color:#084298;border-radius:3px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-label{color:#212529}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body{padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary{color:#495057}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary.muted{color:#adb5bd;font-style:italic}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer{display:flex;gap:8px;margin-top:8px;padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn{border:none;background:none;cursor:pointer;font-size:13px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost{color:#0d6efd}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost:hover{text-decoration:underline}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost{color:#dc3545}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost:hover{text-decoration:underline}\n"] }]
29247
29287
  }], ctorParameters: () => [] });
29248
29288
 
29249
29289
  class CoreControlComponent extends BaseComponent {
@@ -29383,7 +29423,7 @@ class CoreControlComponent extends BaseComponent {
29383
29423
  }
29384
29424
  }
29385
29425
  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 }); }
29386
- 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" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"FORM_ARRAY\") {\r\n <core-form-array\r\n [formArrayName]=\"control.field!\"\r\n [parentFormGroup]=\"form\"\r\n [formArray]=\"formArray\"\r\n [formArrayIdentityField]=\"control.formArrayIdentityField ?? 'id'\"\r\n [config]=\"control.formArraySections! ?? []\"\r\n [disabled]=\"control.disabled!\"\r\n [readonly]=\"control.readonly!\"\r\n [addNewMode$]=\"control.addNewMode$!\"\r\n [removeDisabledIf]=\"control.removeDisabledIf!\"\r\n [removeDisabledIfMessage]=\"control.removeDisabledIfMessage!\"\r\n [checkError$]=\"checkError$\"\r\n >\r\n </core-form-array>\r\n }\r\n @case (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [required]=\"required\" [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 [class.required-highlight]=\"!!required\"\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\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [formControlName]=\"control.field\" />\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [required]=\"required\" [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\r\n <!-- * DATEPICKER\r\n *\r\n * Generic date picker without civil-time semantics.\r\n *\r\n * \u26A0\uFE0F Intended for legacy or technical forms only.\r\n * \u26A0\uFE0F Business forms SHOULD prefer:\r\n * - CIVIL_DATE_PICKER_START\r\n * - CIVIL_DATE_PICKER_INCLUSIVE_END\r\n *\r\n * This variant does NOT normalize time boundaries. -->\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [showPlaceholder]=\"control.showPlaceholder!\" \r\n [rangeLimit]=\"control.rangeLimit!\" \r\n [popupAlign]=\"control.popupAlign!\" \r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [placeholder]=\"control.placeholder! || ''\" \r\n />\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$ || !!control.optionApiDriven) {\r\n <core-dropdown \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ | optionApiDriven detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [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 } @else {\r\n <div class=\"dev-declaration\">Please add uploadFileType</div>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [tableHeight]=\"control.tableHeight ?? 300\"\r\n [liteMode]=\"control.liteMode ?? false\"\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 [required]=\"required\" [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"STICKER_COLLECTION\") {\r\n <core-sticker-collection\r\n [formControlName]=\"control.field\"\r\n [required]=\"required\"\r\n [$items]=\"control.stickerCollectionItems!\"\r\n [$shownFrom]=\"control.stickerCollectionShownFrom!\"\r\n [$tooltipFrom]=\"control.stickerCollectionTooltipFrom!\"\r\n [$initialChecked]=\"control.stickerCollectionInitialChecked!\"\r\n >\r\n </core-sticker-collection>\r\n }\r\n @case (\"DOM_DECISION_EDITOR\") {\r\n <core-dom-decision-editor />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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 @case (\"LIQUID_WYSIWYG\") {\r\n <core-liquid-wysiwyg\r\n [formControlName]=\"control.field\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [$liquidOptions]=\"control.liquidOptions!\"\r\n [$textareaRows]=\"control.textareaRows!\"\r\n [$showLiquidSourceOnly]=\"control.showLiquidSourceOnly!\"\r\n [$isForWorkflowEmail]=\"control.isForWorkflowEmail!\"\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\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i1$4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreFormArrayComponent, selector: "core-form-array", inputs: ["formArrayName", "parentFormGroup", "formArray", "config", "checkError$", "formArrayIdentityField", "addNewMode$", "readonly", "disabled", "removeDisabledIf", "removeDisabledIfMessage"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { 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", "upFlag$", "downFlag$"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["padding", "placeholder", "tableHeight", "liteMode", "formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { 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", "defaultValue"] }, { 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: ["appTooltip", "showAnyway", "color", "backgroundColor", "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", "disabled", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }, { kind: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreLiquidWysiwygComponent, selector: "core-liquid-wysiwyg", inputs: ["$liquidOptions", "$textareaRows", "$height", "$readonly", "$showLiquidSourceOnly", "$isForWorkflowEmail", "getByIdObject$", "placeholder"] }, { kind: "component", type: CoreStickerCollectionComponent, selector: "core-sticker-collection", inputs: ["$items", "$shownFrom", "$translateShownFrom", "$tooltipFrom", "$initialChecked", "$showMore", "$showMoreTooltip", "$hideShowMoreIfNotSelected", "$enableFilter", "$enableQuickCheck"], outputs: ["$checkedChange", "$onShowMore"] }, { kind: "component", type: CoreDomDecisionEditorComponent, selector: "core-dom-decision-editor" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
29426
+ 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" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"FORM_ARRAY\") {\r\n <core-form-array\r\n [formArrayName]=\"control.field!\"\r\n [parentFormGroup]=\"form\"\r\n [formArray]=\"formArray\"\r\n [formArrayIdentityField]=\"control.formArrayIdentityField ?? 'id'\"\r\n [config]=\"control.formArraySections! ?? []\"\r\n [disabled]=\"control.disabled!\"\r\n [readonly]=\"control.readonly!\"\r\n [addNewMode$]=\"control.addNewMode$!\"\r\n [removeDisabledIf]=\"control.removeDisabledIf!\"\r\n [removeDisabledIfMessage]=\"control.removeDisabledIfMessage!\"\r\n [checkError$]=\"checkError$\"\r\n >\r\n </core-form-array>\r\n }\r\n @case (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [required]=\"required\" [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 [class.required-highlight]=\"!!required\"\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\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [formControlName]=\"control.field\" />\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [required]=\"required\" [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\r\n <!-- * DATEPICKER\r\n *\r\n * Generic date picker without civil-time semantics.\r\n *\r\n * \u26A0\uFE0F Intended for legacy or technical forms only.\r\n * \u26A0\uFE0F Business forms SHOULD prefer:\r\n * - CIVIL_DATE_PICKER_START\r\n * - CIVIL_DATE_PICKER_INCLUSIVE_END\r\n *\r\n * This variant does NOT normalize time boundaries. -->\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [showPlaceholder]=\"control.showPlaceholder!\" \r\n [rangeLimit]=\"control.rangeLimit!\" \r\n [popupAlign]=\"control.popupAlign!\" \r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [placeholder]=\"control.placeholder! || ''\" \r\n />\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$ || !!control.optionApiDriven) {\r\n <core-dropdown \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ | optionApiDriven detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [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 } @else {\r\n <div class=\"dev-declaration\">Please add uploadFileType</div>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [tableHeight]=\"control.tableHeight ?? 300\"\r\n [liteMode]=\"control.liteMode ?? false\"\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 [required]=\"required\" [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"STICKER_COLLECTION\") {\r\n <core-sticker-collection\r\n [formControlName]=\"control.field\"\r\n [required]=\"required\"\r\n [$items]=\"control.stickerCollectionItems!\"\r\n [$shownFrom]=\"control.stickerCollectionShownFrom!\"\r\n [$tooltipFrom]=\"control.stickerCollectionTooltipFrom!\"\r\n [$initialChecked]=\"control.stickerCollectionInitialChecked!\"\r\n >\r\n </core-sticker-collection>\r\n }\r\n @case (\"DOM_DECISION_EDITOR\") {\r\n <core-dom-decision-editor [required]=\"required\" [formControlName]=\"control.field\" />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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 @case (\"LIQUID_WYSIWYG\") {\r\n <core-liquid-wysiwyg\r\n [formControlName]=\"control.field\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [$liquidOptions]=\"control.liquidOptions!\"\r\n [$textareaRows]=\"control.textareaRows!\"\r\n [$showLiquidSourceOnly]=\"control.showLiquidSourceOnly!\"\r\n [$isForWorkflowEmail]=\"control.isForWorkflowEmail!\"\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\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i1$4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreFormArrayComponent, selector: "core-form-array", inputs: ["formArrayName", "parentFormGroup", "formArray", "config", "checkError$", "formArrayIdentityField", "addNewMode$", "readonly", "disabled", "removeDisabledIf", "removeDisabledIfMessage"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { 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", "upFlag$", "downFlag$"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["padding", "placeholder", "tableHeight", "liteMode", "formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { 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", "defaultValue"] }, { 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: ["appTooltip", "showAnyway", "color", "backgroundColor", "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", "disabled", "relativeMode"] }, { kind: "component", type: CoreTopicPickerComponent, selector: "core-topic-picker", inputs: ["popupHeight", "getByIdApi"] }, { kind: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreLiquidWysiwygComponent, selector: "core-liquid-wysiwyg", inputs: ["$liquidOptions", "$textareaRows", "$height", "$readonly", "$showLiquidSourceOnly", "$isForWorkflowEmail", "getByIdObject$", "placeholder"] }, { kind: "component", type: CoreStickerCollectionComponent, selector: "core-sticker-collection", inputs: ["$items", "$shownFrom", "$translateShownFrom", "$tooltipFrom", "$initialChecked", "$showMore", "$showMoreTooltip", "$hideShowMoreIfNotSelected", "$enableFilter", "$enableQuickCheck"], outputs: ["$checkedChange", "$onShowMore"] }, { kind: "component", type: CoreDomDecisionEditorComponent, selector: "core-dom-decision-editor" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
29387
29427
  }
29388
29428
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlComponent, decorators: [{
29389
29429
  type: Component,
@@ -29418,7 +29458,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
29418
29458
  CoreStickerCollectionComponent,
29419
29459
  CoreDomDecisionEditorComponent,
29420
29460
  HtmlTooltipDirective
29421
- ], template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"FORM_ARRAY\") {\r\n <core-form-array\r\n [formArrayName]=\"control.field!\"\r\n [parentFormGroup]=\"form\"\r\n [formArray]=\"formArray\"\r\n [formArrayIdentityField]=\"control.formArrayIdentityField ?? 'id'\"\r\n [config]=\"control.formArraySections! ?? []\"\r\n [disabled]=\"control.disabled!\"\r\n [readonly]=\"control.readonly!\"\r\n [addNewMode$]=\"control.addNewMode$!\"\r\n [removeDisabledIf]=\"control.removeDisabledIf!\"\r\n [removeDisabledIfMessage]=\"control.removeDisabledIfMessage!\"\r\n [checkError$]=\"checkError$\"\r\n >\r\n </core-form-array>\r\n }\r\n @case (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [required]=\"required\" [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 [class.required-highlight]=\"!!required\"\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\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [formControlName]=\"control.field\" />\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [required]=\"required\" [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\r\n <!-- * DATEPICKER\r\n *\r\n * Generic date picker without civil-time semantics.\r\n *\r\n * \u26A0\uFE0F Intended for legacy or technical forms only.\r\n * \u26A0\uFE0F Business forms SHOULD prefer:\r\n * - CIVIL_DATE_PICKER_START\r\n * - CIVIL_DATE_PICKER_INCLUSIVE_END\r\n *\r\n * This variant does NOT normalize time boundaries. -->\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [showPlaceholder]=\"control.showPlaceholder!\" \r\n [rangeLimit]=\"control.rangeLimit!\" \r\n [popupAlign]=\"control.popupAlign!\" \r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [placeholder]=\"control.placeholder! || ''\" \r\n />\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$ || !!control.optionApiDriven) {\r\n <core-dropdown \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ | optionApiDriven detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [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 } @else {\r\n <div class=\"dev-declaration\">Please add uploadFileType</div>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [tableHeight]=\"control.tableHeight ?? 300\"\r\n [liteMode]=\"control.liteMode ?? false\"\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 [required]=\"required\" [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"STICKER_COLLECTION\") {\r\n <core-sticker-collection\r\n [formControlName]=\"control.field\"\r\n [required]=\"required\"\r\n [$items]=\"control.stickerCollectionItems!\"\r\n [$shownFrom]=\"control.stickerCollectionShownFrom!\"\r\n [$tooltipFrom]=\"control.stickerCollectionTooltipFrom!\"\r\n [$initialChecked]=\"control.stickerCollectionInitialChecked!\"\r\n >\r\n </core-sticker-collection>\r\n }\r\n @case (\"DOM_DECISION_EDITOR\") {\r\n <core-dom-decision-editor />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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 @case (\"LIQUID_WYSIWYG\") {\r\n <core-liquid-wysiwyg\r\n [formControlName]=\"control.field\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [$liquidOptions]=\"control.liquidOptions!\"\r\n [$textareaRows]=\"control.textareaRows!\"\r\n [$showLiquidSourceOnly]=\"control.showLiquidSourceOnly!\"\r\n [$isForWorkflowEmail]=\"control.isForWorkflowEmail!\"\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\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\n"] }]
29461
+ ], template: "<div class=\"core-control-container\">\r\n\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\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\" \r\n [htmlTooltip]=\"control.htmlTooltip!\"\r\n [backgroundColor]=\"'white'\"\r\n [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!\" [showAnyway]=\"true\" [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 (\"FORM_ARRAY\") {\r\n <core-form-array\r\n [formArrayName]=\"control.field!\"\r\n [parentFormGroup]=\"form\"\r\n [formArray]=\"formArray\"\r\n [formArrayIdentityField]=\"control.formArrayIdentityField ?? 'id'\"\r\n [config]=\"control.formArraySections! ?? []\"\r\n [disabled]=\"control.disabled!\"\r\n [readonly]=\"control.readonly!\"\r\n [addNewMode$]=\"control.addNewMode$!\"\r\n [removeDisabledIf]=\"control.removeDisabledIf!\"\r\n [removeDisabledIfMessage]=\"control.removeDisabledIfMessage!\"\r\n [checkError$]=\"checkError$\"\r\n >\r\n </core-form-array>\r\n }\r\n @case (\"CALCULATED\") {\r\n <div class=\"calculated-view\" [htmlTooltip]=\"calculatedControlInfo\" [tooltipContext]=\"{control: control}\" [backgroundColor]=\"'#fff'\">\r\n <i class=\"feather-box\"></i><span>{{ control.field! }}</span>\r\n </div>\r\n }\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\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.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"!!control.disabled\" />\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [required]=\"required\" [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 [class.required-highlight]=\"!!required\"\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\" [tooltip]=\"control.hint!\"></core-checkbox>\r\n }\r\n @case (\"IOS_SWITCHER\") {\r\n <div class=\"gap-for-ios-switcher\"></div>\r\n <core-ios-switcher [formControlName]=\"control.field\" />\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [required]=\"required\" [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\r\n <!-- * DATEPICKER\r\n *\r\n * Generic date picker without civil-time semantics.\r\n *\r\n * \u26A0\uFE0F Intended for legacy or technical forms only.\r\n * \u26A0\uFE0F Business forms SHOULD prefer:\r\n * - CIVIL_DATE_PICKER_START\r\n * - CIVIL_DATE_PICKER_INCLUSIVE_END\r\n *\r\n * This variant does NOT normalize time boundaries. -->\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [showPlaceholder]=\"control.showPlaceholder!\" \r\n [rangeLimit]=\"control.rangeLimit!\" \r\n [popupAlign]=\"control.popupAlign!\" \r\n [$rangePoint]=\"control.$rangePoint!\"\r\n [placeholder]=\"control.placeholder! || ''\" \r\n />\r\n }\r\n\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$ || !!control.optionApiDriven) {\r\n <core-dropdown \r\n [required]=\"required\" \r\n [formControlName]=\"control.field\" \r\n [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" \r\n [shownFrom]=\"control.shownFrom!\" \r\n [placeholder]=\"control.placeholder! || ''\"\r\n\r\n [optionApiDriven]=\"control.optionApiDriven!\"\r\n [optionApi]=\"control.optionApi!\"\r\n [optionHttpVerb]=\"control.optionHttpVerb!\"\r\n [optionHttpPayload]=\"control.optionHttpPayload!\"\r\n [optionValueFrom]=\"control.optionValueFrom!\"\r\n [optionTextFrom]=\"control.optionTextFrom!\"\r\n ></core-dropdown>\r\n } @else {\r\n No dropdownOptions$ | optionApiDriven detected\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [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 } @else {\r\n <div class=\"dev-declaration\">Please add uploadFileType</div>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment ngDefaultControl [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [tableHeight]=\"control.tableHeight ?? 300\"\r\n [liteMode]=\"control.liteMode ?? false\"\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 [required]=\"required\" [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\" [height]=\"control.height!\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [required]=\"required\" [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 [required]=\"required\" [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 [required]=\"required\" [formControlName]=\"control.field\" [popupHeight]=\"control.popupHeight!\" [getByIdApi]=\"control.getByIdApi!\"></core-topic-picker>\r\n }\r\n @case(\"STICKER_COLLECTION\") {\r\n <core-sticker-collection\r\n [formControlName]=\"control.field\"\r\n [required]=\"required\"\r\n [$items]=\"control.stickerCollectionItems!\"\r\n [$shownFrom]=\"control.stickerCollectionShownFrom!\"\r\n [$tooltipFrom]=\"control.stickerCollectionTooltipFrom!\"\r\n [$initialChecked]=\"control.stickerCollectionInitialChecked!\"\r\n >\r\n </core-sticker-collection>\r\n }\r\n @case (\"DOM_DECISION_EDITOR\") {\r\n <core-dom-decision-editor [required]=\"required\" [formControlName]=\"control.field\" />\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"FORM_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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\r\n [selfEnrichmentApiDriven]=\"control.selfEnrichmentApiDriven!\"\r\n [selfEnrichmentApi]=\"control.selfEnrichmentApi!\"\r\n [selfEnrichmentHttpVerb]=\"control.selfEnrichmentHttpVerb!\"\r\n [selfEnrichmentHttpPayload]=\"control.selfEnrichmentHttpPayload!\"\r\n [selfEnrichmentShownFrom]=\"control.selfEnrichmentShownFrom!\"\r\n\r\n (selectedDataChange)=\"selectedDataChange($event)\"\r\n (fullValueRowChange)=\"fullValueRowChange($event)\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [required]=\"required\" \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 @case (\"LIQUID_WYSIWYG\") {\r\n <core-liquid-wysiwyg\r\n [formControlName]=\"control.field\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [placeholder]=\"control.placeholder! || ''\"\r\n [$liquidOptions]=\"control.liquidOptions!\"\r\n [$textareaRows]=\"control.textareaRows!\"\r\n [$showLiquidSourceOnly]=\"control.showLiquidSourceOnly!\"\r\n [$isForWorkflowEmail]=\"control.isForWorkflowEmail!\"\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\r\n\r\n</div>\r\n\r\n<ng-template #calculatedControlInfo let-control=\"control\">\r\n <div class=\"calculated-tooltip-container\">\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Name:</span>\r\n <span class=\"value\">{{ control?.field || 'N/A' }}</span>\r\n </div> \r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Evaluation Mode:</span>\r\n <span class=\"value\">{{ control?.evaluationMode || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Return Type:</span>\r\n <span class=\"value\">{{ control?.returnType || 'N/A' }}</span>\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Depends On:</span>\r\n <span class=\"value\" *ngIf=\"control?.dependsOn?.length > 0; else noDepends\">\r\n <code *ngFor=\"let dep of control?.dependsOn; let last = last\">{{ dep }}<span *ngIf=\"!last\">, </span></code>\r\n </span>\r\n <ng-template #noDepends><em class=\"no-depends\">None</em></ng-template>\r\n </div>\r\n <div *ngIf=\"!!control?.isUnsafe\" class=\"warning\">\r\n \u26A0\uFE0F This script is marked as <strong>unsafe</strong> and will not be executed.\r\n </div>\r\n <div class=\"calculated-field-row\">\r\n <span class=\"label\">Script:</span>\r\n <pre class=\"code-block\">{{ control?.script || 'No script provided.' }}</pre>\r\n </div>\r\n </div>\r\n</ng-template>", 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}.core-control-container .gap-for-ios-switcher{height:5px}.core-control-container .calculated-view{-webkit-user-select:none;user-select:none;cursor:pointer;height:35px;width:160px;background-color:#d8f3dc;color:#1b4332;border:1px solid #95d5b2;border-radius:50px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;font-family:Segoe UI,sans-serif;letter-spacing:.5px;padding:8px}.core-control-container .calculated-view i{font-size:18px;width:18px;height:18px;margin-right:8px}.core-control-container .calculated-view span{width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.calculated-tooltip-container{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:6px;font-size:14px;color:#333;box-shadow:0 4px 10px #0000000d;max-width:360px}.calculated-tooltip-container .calculated-field-row{margin-bottom:.75rem}.calculated-tooltip-container .label{font-weight:500;color:#555!important;display:inline-block;min-width:140px}.calculated-tooltip-container .value{color:#222!important}.calculated-tooltip-container .warning{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:13px}.calculated-tooltip-container .code-block{background:#f8f9fa;border:1px solid #ddd;padding:.75rem;font-family:monospace;font-size:12px;white-space:pre-wrap;color:#111!important;border-radius:4px;overflow-x:auto}.calculated-tooltip-container .no-depends{color:#888;font-style:italic}.calculated-tooltip-container pre{overflow:hidden}.calculated-tooltip-container label.required~input:not([disabled]),.calculated-tooltip-container label.required~textarea:not([disabled]),.calculated-tooltip-container label.required~select:not([disabled]){background-color:#ff0!important}\n"] }]
29422
29462
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
29423
29463
  type: Input
29424
29464
  }], form: [{
@@ -32183,7 +32223,7 @@ class CoreParamControlComponent extends BaseComponent {
32183
32223
  this.ngModelSubscription?.unsubscribe();
32184
32224
  }
32185
32225
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreParamControlComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
32186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreParamControlComponent, isStandalone: true, selector: "core-param-control", inputs: { control: "control", enableTimeZoneConverterForDateTimePeriodParameters: "enableTimeZoneConverterForDateTimePeriodParameters" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER' && control.controlType!=='REPORT_FORMAT'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n @else {\r\n <!-- This code works,\r\n To do: Avoid hard-coding such as 'id', 'contractNo' and 300 etc -->\r\n <core-form-control-seeker \r\n [paramMode]=\"true\"\r\n [boundFrom]=\"control.boundFrom || 'id'\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [multiMode]=\"control.multiMode!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [getByIdApi]=\"control.getByIdApi!\"\r\n [excludeExistingList]=\"true\"\r\n [multiModeTableHeight]=\"300\" \r\n [placeholder]=\"control.placeholder!\"\r\n [click$]=\"control.click$!\"\r\n [disabledDoubleClick]=\"control.disabledDoubleClick!\"\r\n [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\">\r\n </core-form-control-seeker>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CURRENCY') {\r\n <core-currency-input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\"></core-currency-input>\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\" [disabled]=\"!!control.disabled!\"\r\n [popupAlign]=\"control.popupAlign!\"></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\"\r\n [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n\r\n @case ('YEARSELECTOR') {\r\n <core-year-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-year-selector>\r\n }\r\n\r\n @case ('REPORT_FORMAT') {\r\n <core-file-format-picker [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-file-format-picker>\r\n }\r\n\r\n }\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreOrgParamComponent, selector: "core-org-param", inputs: ["accessorMode"] }, { kind: "component", type: CoreOrgParamDropdownComponent, selector: "core-org-param-dropdown", inputs: ["accessorMode", "dropdownHeight"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", inputs: ["align", "placeholder"], outputs: ["onYearClick"] }, { kind: "component", type: CoreYearSelectorComponent, selector: "core-year-selector", inputs: ["align"], outputs: ["onYearClick"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { kind: "component", type: CoreFileFormatPickerComponent, selector: "core-file-format-picker" }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign", "placeholder"], outputs: ["onLeftFocus"] }] }); }
32226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreParamControlComponent, isStandalone: true, selector: "core-param-control", inputs: { control: "control", enableTimeZoneConverterForDateTimePeriodParameters: "enableTimeZoneConverterForDateTimePeriodParameters" }, host: { listeners: { "window:click": "onWindowClick()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER' && control.controlType!=='REPORT_FORMAT'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n @else {\r\n <!-- This code works,\r\n To do: Avoid hard-coding such as 'id', 'contractNo' and 300 etc -->\r\n <core-form-control-seeker \r\n [paramMode]=\"true\"\r\n [boundFrom]=\"control.boundFrom || 'id'\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [multiMode]=\"control.multiMode!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [getByIdApi]=\"control.getByIdApi!\"\r\n [excludeExistingList]=\"true\"\r\n [multiModeTableHeight]=\"300\" \r\n [placeholder]=\"control.placeholder!\"\r\n [click$]=\"control.click$!\"\r\n [disabledDoubleClick]=\"control.disabledDoubleClick!\"\r\n [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\">\r\n </core-form-control-seeker>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CURRENCY') {\r\n <core-currency-input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\"></core-currency-input>\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\" [disabled]=\"!!control.disabled!\"\r\n [popupAlign]=\"control.popupAlign!\"\r\n [$rangePoint]=\"control.$rangePoint!\"\r\n ></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\"\r\n [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n\r\n @case ('YEARSELECTOR') {\r\n <core-year-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-year-selector>\r\n }\r\n\r\n @case ('REPORT_FORMAT') {\r\n <core-file-format-picker [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-file-format-picker>\r\n }\r\n\r\n }\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled", "$rangePoint"] }, { kind: "component", type: CoreOrgParamComponent, selector: "core-org-param", inputs: ["accessorMode"] }, { kind: "component", type: CoreOrgParamDropdownComponent, selector: "core-org-param-dropdown", inputs: ["accessorMode", "dropdownHeight"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", inputs: ["align", "placeholder"], outputs: ["onYearClick"] }, { kind: "component", type: CoreYearSelectorComponent, selector: "core-year-selector", inputs: ["align"], outputs: ["onYearClick"] }, { 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", "disabledDoubleClick", "selfEnrichmentApiDriven", "selfEnrichmentApi", "selfEnrichmentHttpVerb", "selfEnrichmentHttpPayload", "selfEnrichmentShownFrom"], outputs: ["onDoubleClick", "selectedDataChange", "fullValueRowChange"] }, { kind: "component", type: CoreFileFormatPickerComponent, selector: "core-file-format-picker" }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign", "placeholder"], outputs: ["onLeftFocus"] }] }); }
32187
32227
  }
32188
32228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreParamControlComponent, decorators: [{
32189
32229
  type: Component,
@@ -32202,7 +32242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
32202
32242
  CoreFormControlSeekerComponent,
32203
32243
  CoreFileFormatPickerComponent,
32204
32244
  CoreCurrencyInputComponent
32205
- ], template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER' && control.controlType!=='REPORT_FORMAT'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n @else {\r\n <!-- This code works,\r\n To do: Avoid hard-coding such as 'id', 'contractNo' and 300 etc -->\r\n <core-form-control-seeker \r\n [paramMode]=\"true\"\r\n [boundFrom]=\"control.boundFrom || 'id'\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [multiMode]=\"control.multiMode!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [getByIdApi]=\"control.getByIdApi!\"\r\n [excludeExistingList]=\"true\"\r\n [multiModeTableHeight]=\"300\" \r\n [placeholder]=\"control.placeholder!\"\r\n [click$]=\"control.click$!\"\r\n [disabledDoubleClick]=\"control.disabledDoubleClick!\"\r\n [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\">\r\n </core-form-control-seeker>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CURRENCY') {\r\n <core-currency-input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\"></core-currency-input>\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\" [disabled]=\"!!control.disabled!\"\r\n [popupAlign]=\"control.popupAlign!\"></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\"\r\n [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n\r\n @case ('YEARSELECTOR') {\r\n <core-year-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-year-selector>\r\n }\r\n\r\n @case ('REPORT_FORMAT') {\r\n <core-file-format-picker [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-file-format-picker>\r\n }\r\n\r\n }\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"] }]
32245
+ ], template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER' && control.controlType!=='REPORT_FORMAT'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n @else {\r\n <!-- This code works,\r\n To do: Avoid hard-coding such as 'id', 'contractNo' and 300 etc -->\r\n <core-form-control-seeker \r\n [paramMode]=\"true\"\r\n [boundFrom]=\"control.boundFrom || 'id'\"\r\n [shownFrom]=\"control.shownFrom!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" \r\n [multiMode]=\"control.multiMode!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [getByIdApi]=\"control.getByIdApi!\"\r\n [excludeExistingList]=\"true\"\r\n [multiModeTableHeight]=\"300\" \r\n [placeholder]=\"control.placeholder!\"\r\n [click$]=\"control.click$!\"\r\n [disabledDoubleClick]=\"control.disabledDoubleClick!\"\r\n [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\">\r\n </core-form-control-seeker>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [type]=\"control.type\" [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CURRENCY') {\r\n <core-currency-input [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\"></core-currency-input>\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\" [disabled]=\"!!control.disabled!\"\r\n [popupAlign]=\"control.popupAlign!\"\r\n [$rangePoint]=\"control.$rangePoint!\"\r\n ></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\"\r\n [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n\r\n @case ('YEARSELECTOR') {\r\n <core-year-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-year-selector>\r\n }\r\n\r\n @case ('REPORT_FORMAT') {\r\n <core-file-format-picker [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-file-format-picker>\r\n }\r\n\r\n }\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"] }]
32206
32246
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
32207
32247
  type: Input
32208
32248
  }], enableTimeZoneConverterForDateTimePeriodParameters: [{
@@ -34323,7 +34363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
34323
34363
  const hrmSchemaRoutes = [
34324
34364
  {
34325
34365
  path: '',
34326
- loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-DOjUVwDx.mjs').then(m => m.HrmSchemaComponent)
34366
+ loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-C4oLeqK7.mjs').then(m => m.HrmSchemaComponent)
34327
34367
  }
34328
34368
  ];
34329
34369
 
@@ -36496,7 +36536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
36496
36536
  const simpleChatRoutes = [
36497
36537
  {
36498
36538
  path: '',
36499
- loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-CyXzjXRl.mjs').then(m => m.SimpleChatComponent)
36539
+ loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-Ds96N3a5.mjs').then(m => m.SimpleChatComponent)
36500
36540
  }
36501
36541
  ];
36502
36542
 
@@ -37162,7 +37202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
37162
37202
  const coreSysActionRoutes = [
37163
37203
  {
37164
37204
  path: "",
37165
- loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-TvSEbkRY.mjs').then(m => m.CoreSysActionComponent),
37205
+ loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-DR5tSCyi.mjs').then(m => m.CoreSysActionComponent),
37166
37206
  children: [
37167
37207
  {
37168
37208
  path: ":id",
@@ -38555,11 +38595,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
38555
38595
  const sysSmtpClientRoutes = [
38556
38596
  {
38557
38597
  path: '',
38558
- loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-D-eR59PP.mjs').then(m => m.SysSmtpClientComponent),
38598
+ loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-9xQoCvkB.mjs').then(m => m.SysSmtpClientComponent),
38559
38599
  children: [
38560
38600
  {
38561
38601
  path: ':id',
38562
- loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-CPtDVzH6.mjs').then(m => m.SysSmtpClientEditComponent),
38602
+ loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-BZtKL2E-.mjs').then(m => m.SysSmtpClientEditComponent),
38563
38603
  outlet: 'corePageListAux'
38564
38604
  }
38565
38605
  ]
@@ -39745,11 +39785,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
39745
39785
  const coreDocGenRoutes = [
39746
39786
  {
39747
39787
  path: 'template-list',
39748
- loadComponent: () => import('./ngx-histaff-alpha-template-list.component-D3y6Ikg6.mjs').then(m => m.TemplateListComponent),
39788
+ loadComponent: () => import('./ngx-histaff-alpha-template-list.component-Dd-mVFgx.mjs').then(m => m.TemplateListComponent),
39749
39789
  },
39750
39790
  {
39751
39791
  path: ":id",
39752
- loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-BO2iHdtr.mjs').then(m => m.CoreTemplateEditorComponent),
39792
+ loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-CIiEq5e3.mjs').then(m => m.CoreTemplateEditorComponent),
39753
39793
  canDeactivate: [CanDeactivateGuard]
39754
39794
  },
39755
39795
  {
@@ -39778,7 +39818,7 @@ const coreFormDesignRoutes = [
39778
39818
  },
39779
39819
  {
39780
39820
  path: ':id',
39781
- loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs').then(m => m.CoreFormDesignComponent)
39821
+ loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-DaeaSWxa.mjs').then(m => m.CoreFormDesignComponent)
39782
39822
  }
39783
39823
  ];
39784
39824
 
@@ -40689,7 +40729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
40689
40729
  const coreNavigationTrackerRoutes = [
40690
40730
  {
40691
40731
  path: '',
40692
- loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-B33444ca.mjs').then(m => m.TrackerStudioComponent)
40732
+ loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-BusMbkyJ.mjs').then(m => m.TrackerStudioComponent)
40693
40733
  }
40694
40734
  ];
40695
40735
 
@@ -43792,33 +43832,33 @@ const coreWorkflowRoutes = [
43792
43832
  {
43793
43833
  path: 'form-assign/:id',
43794
43834
  outlet: "formAssignAux",
43795
- loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-CjUVdHfA.mjs').then(m => m.WfFormAssignComponent),
43835
+ loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-CGJwS5vg.mjs').then(m => m.WfFormAssignComponent),
43796
43836
  canDeactivate: [CanDeactivateGuard]
43797
43837
  }
43798
43838
  ]
43799
43839
  },
43800
43840
  {
43801
43841
  path: 'global-config',
43802
- loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-C6E99R89.mjs').then(m => m.WfGlobalConfigComponent)
43842
+ loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-DGR0BF1z.mjs').then(m => m.WfGlobalConfigComponent)
43803
43843
  },
43804
43844
  {
43805
43845
  path: 'db-settings',
43806
- loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-7YXahcx6.mjs').then(m => m.DbSettingsComponent)
43846
+ loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-BZSA6NAu.mjs').then(m => m.DbSettingsComponent)
43807
43847
  },
43808
43848
  {
43809
43849
  path: 'workflow-consume',
43810
- loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-B60KkHBd.mjs').then(m => m.CoreWorkflowConsumeComponent),
43850
+ loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-CmfVtO9m.mjs').then(m => m.CoreWorkflowConsumeComponent),
43811
43851
  children: [
43812
43852
  {
43813
43853
  path: ':id',
43814
43854
  outlet: "workflowConsume",
43815
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-ClikowUy.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
43855
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
43816
43856
  }
43817
43857
  ]
43818
43858
  },
43819
43859
  {
43820
43860
  path: 'workflow-consume/:id',
43821
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-ClikowUy.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
43861
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
43822
43862
  },
43823
43863
  {
43824
43864
  path: 'workflow-group-edit/:id',
@@ -43828,21 +43868,21 @@ const coreWorkflowRoutes = [
43828
43868
  },
43829
43869
  {
43830
43870
  path: 'design/:id',
43831
- loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-g5HQJs3l.mjs').then(m => m.wfDesignWrapperRoutes),
43871
+ loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-CbYLenS2.mjs').then(m => m.wfDesignWrapperRoutes),
43832
43872
  },
43833
43873
  ]
43834
43874
  },
43835
43875
  {
43836
43876
  path: 'react/:id',
43837
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-BwozfTka.mjs').then(m => m.WfInstanceStepReactComponent)
43877
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-CZ1lYz2B.mjs').then(m => m.WfInstanceStepReactComponent)
43838
43878
  },
43839
43879
  {
43840
43880
  path: 'status/:id',
43841
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-inD8KWzd.mjs').then(m => m.WfInstanceStatusComponent)
43881
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-BIn7CoGJ.mjs').then(m => m.WfInstanceStatusComponent)
43842
43882
  },
43843
43883
  {
43844
43884
  path: 'lab',
43845
- loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-Ifhq99S9.mjs').then(m => m.WfLabComponent)
43885
+ loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-C62MAOIe.mjs').then(m => m.WfLabComponent)
43846
43886
  }
43847
43887
  ];
43848
43888
 
@@ -46451,4 +46491,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
46451
46491
  */
46452
46492
 
46453
46493
  export { READONLY_WORKFLOW_FIELDS as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumFormBaseContolType as E, FullscreenModalLoaderComponent as F, DomService as G, HtmlTooltipDirective as H, ImageErrorResolverDirective as I, EnumActorSourceType as J, CoreParamControlComponent as K, CoreRadioGroupComponent as L, MultiLanguageService as M, GptService as N, CoreRuleTreeService as O, CoreRuleTreeComponent as P, CoreStickerCollectionComponent as Q, ApplicationHelpService as R, StringHtmlPipe as S, TooltipDirective as T, HotKeysDirective as U, CoreDatetimeService as V, EnumCorePageEditMode as W, CoreFormComponent as X, NavigatorService as Y, JsonService as Z, EnumCoreButtonVNSCode as _, AppConfigService as a, CheckForUpdateService as a$, noneAutoClosedAlertOptions as a0, CoreButtonGroupVnsComponent as a1, CoreDropdownComponent as a2, EnumFilterOperator as a3, CoreDomDecisionEditorComponent as a4, CoreControlNoFormArrayComponent as a5, EnumFormDesignMode as a6, CoreControlComponent as a7, JsonSafePipe as a8, CoreChecklistComponent as a9, EnumDragType as aA, EnumErrorType as aB, EnumIconClass as aC, EnumProfileInfoSector as aD, EnumSignalRType as aE, EnumSortDirection as aF, EnumStyleButtonClass as aG, CanActivateFunctionUrlMapperGuard as aH, InitializationCanActivateFn as aI, InitializationCanMatchFn as aJ, httpInterceptorProviders as aK, InterceptorSkipHeader as aL, appTypeInterceptor as aM, baseUrlInterceptor as aN, authInterceptor as aO, graphInterceptor as aP, tokenInterceptor as aQ, responseInterceptor as aR, timeZoneInterceptor as aS, cachingInterceptor as aT, langInterceptor as aU, OnlineUsersComponent as aV, ActionService as aW, AppInitializationService as aX, AuthService as aY, CacheService as aZ, EnumSwUpdateVersionUpdatesEventType as a_, CoreFormControlSeekerComponent as aa, CoreAttachmentComponent as ab, CoreDatePickerComponent as ac, CoreMonthSelectorComponent as ad, CoreCurrencyInputComponent as ae, EnumImageResolverType as af, NormalizeHumanNamePipe as ag, CoreIosSwitcherComponent as ah, SunnyRotatingComponent as ai, MapAppdemoToServerPipePipe as aj, MapAttachmentToServerPipe as ak, MapNewsfeedMediaToServerPipe as al, UploadedFilenameCutoffPipe as am, DialogStateComponent as an, FooterComponent as ao, RightchatComponent as ap, WaittingScreenComponent as aq, longAlertOptions as ar, attachmentOptions as as, CORE_VNS_BUTTONS as at, defaultPaging as au, DESKTOP_SCREEN_HEDER_HEIGHT as av, MOBILE_SCREEN_HEDER_HEIGHT as aw, themeBlue as ax, DATE_VALUE_ACCESSOR as ay, DateValueAccessor as az, AlertService as b, InMemoryComponent as b$, EnumDeviceType as b0, EnumBrowserType as b1, EnumOsType as b2, ClientService as b3, CommonHttpRequestService as b4, TLA_CONFIG as b5, ConfigService as b6, CoreLocalStorageService as b7, CoreTableService as b8, DndService as b9, EnumSsrsExpressExportFormat as bA, SsrsExpressService as bB, StatisticService as bC, StatisticAuthService as bD, SysMenuService as bE, TimeSheetService as bF, TopicPermissionService as bG, TopicTreeService as bH, UploadedFileService as bI, UrlService as bJ, UserActivityService as bK, EvaluateDialogService as bL, EnumWorkScheduleViewMode as bM, WorkShiftDndService as bN, AtShiftPatternComponent as bO, AtShiftPatternApplyComponent as bP, AtShiftPatternEditComponent as bQ, AtWorksignComponent as bR, AtWorksignService as bS, FunctionComponent as bT, IndividualScheduleApplyComponent as bU, FunctionEditComponent as bV, FunctionIgnoreComponent as bW, FunctionIgnoreEditComponent as bX, GroupFunctionComponent as bY, GroupFunctionEditComponent as bZ, hrmSchemaRoutes as b_, DocxMergeService as ba, FilterKitService as bb, GrpcService as bc, HeaderService as bd, HistoryService as be, HttpErrorHandler as bf, HubConnectionService as bg, IpServiceService as bh, LayoutService as bi, LiquidJsService as bj, MapService as bk, MenuService as bl, MessageService as bm, ModalService as bn, OrganizationService as bo, PkceService as bp, PositionTransferService as bq, EnumNotificationDir as br, NotificationActionType as bs, PushNotificationService as bt, RandomAvatarService as bu, RequestCache as bv, RequestCacheWithMap as bw, ResponseService as bx, RoutingService as by, EnumSsrsExpressFileExtension as bz, CoreTerminalSpinnerComponent as c, CoreTableComponent as c$, LanguageComponent as c0, LanguageEditComponent as c1, MenuComponent as c2, MenuEditComponent as c3, MutationLogComponent as c4, MutationViewComponent as c5, PaSalaryPolicyComponent as c6, PaSalaryPolicyEditComponent as c7, PortalRouteComponent as c8, ScheduleOverviewComponent as c9, ButtonGroupModule as cA, ButtonGroupService as cB, ButtonGroupComponent as cC, EnumButtonCaptionCode as cD, CoreButtonComponent as cE, CoreAccordionComponent as cF, CoreAccordionService as cG, CoreActiveUserCountComponent as cH, NewlyCreatedTokenService as cI, CoreApiProgressComponent as cJ, CoreButtonGroupComponent as cK, EnumCoreButtonCode as cL, ActionSvgEditComponent as cM, CoreButtonGroupService as cN, CoreButtonVnsComponent as cO, CoreCommonParamKitComponent as cP, CoreCompareDbPipelineComponent as cQ, CoreCompositionState as cR, CoreCompositionService as cS, CoreCompositionComponent as cT, CoreConfirmDialogComponent as cU, ConfirmDialogStateComponent as cV, CoreLazyMountComponent as cW, CoreRootMenuItemPickerComponent as cX, CoreRootMenuItemPickerService as cY, ECoreTableToolCode as cZ, ECoreTableToolClass as c_, simpleChatRoutes as ca, PortalRouteEditComponent as cb, SysOtherListComponent as cc, SysOtherListEditComponent as cd, SysOtherListTypeComponent as ce, SysOtherListTypeEditComponent as cf, coreSysActionRoutes as cg, SysActionComponent as ch, SysActionEditComponent as ci, SysFunctionActionComponent as cj, SysFunctionActionEditComponent as ck, SysFunctionActionMapperComponent as cl, SysFunctionUrlMapperComponent as cm, FunctionEditService as cn, SysModuleComponent as co, SysModuleEditComponent as cp, SysRouteAccessComponent as cq, sysSmtpClientRoutes as cr, liner_to_nested_array_script as cs, blob_to_base64_script as ct, AlertComponent as cu, EnumAlertType as cv, IAlertOptions as cw, AnimatedTextService as cx, AnimatedTextComponent as cy, BaseDropdownComponent as cz, CorePageHeaderComponent as d, CorePageListContentComponent as d$, CoreContractSeekerComponent as d0, CoreControlNoGridBufferComponent as d1, CoreControlNoSeekerComponent as d2, coreDocGenRoutes as d3, CoreDocgenToolbarComponent as d4, CoreEmployeeScheduleComponent as d5, CoreEmployeeSeekerComponent as d6, EnumCoreFileUploaderType as d7, CoreFileUploaderComponent as d8, CoreFilterHubComponent as d9, CoreListLazyComponent as dA, CoreLoadingSurfaceComponent as dB, CoreMccComponent as dC, CoreMonthPickerComponent as dD, CoreNavigationTrackerComponent as dE, coreNavigationTrackerRoutes as dF, CoreOauthCallbackComponent as dG, CoreOauthCallbackOffice365Component as dH, EnumCoreOrgTreeaAccessorMode as dI, EnumCoreOrgTreeaSearchMode as dJ, CoreOrgTreeComponent as dK, CoreOrgTreeState as dL, CoreOrgTreeService as dM, CoreOrgUnitSeekerComponent as dN, CoreOrgchartflexComponent as dO, CARD_COLORS as dP, CoreOrgchartflexWrapperComponent as dQ, coreOrgchartflexRoutes as dR, CoreOrgParamComponent as dS, EnumCorePageEditBootstrapClass as dT, EnumCorePageEditFieldType as dU, CorePageEditService as dV, CorePageEditLiteComponent as dW, CorePageEditTabComponent as dX, EnumExType as dY, CorePageListService as dZ, CorePageListState as d_, CoreFilterHubService as da, ControlBase as db, Textbox as dc, CoreControlService as dd, CustomValidators as de, URL_PATTERN as df, coreFormDesignRoutes as dg, CoreFormTabComponent as dh, CoreFormLiteComponent as di, CoreFormControlBaseComponent as dj, EnumCoreSeekerColumnJob as dk, EnumCoreSeekerColumnStaffProfile as dl, EnumCoreSeekerColumnContract as dm, EnumCoreSeekerColumnWorking as dn, EnumCoreSeekerColumnWage as dp, EnumCoreSeekerColumnPosition as dq, EnumCoreSeekerColumnPositionConcurrent as dr, EnumCoreSeekerColumnAutoForm as ds, SeekerService as dt, CoreGridBufferComponent as du, CoreHeaderParamsComponent as dv, CoreHelperComponent as dw, CoreLineComponent as dx, CoreLiquidWysiwygComponent as dy, CoreListComponent as dz, TranslatePipe as e, PageTitleComponent as e$, EnumCoreViewItemType as e0, CorePageViewComponent as e1, CorePaginationComponent as e2, CorePaginationFullComponent as e3, CorePaginationFullService as e4, CoreFileFormatPickerComponent as e5, CorePermissionService as e6, EnumPermissionObjectType as e7, CorePermissionComponent as e8, CorePermissionActionsComponent as e9, EnumCoreTreeGridEditMode as eA, CoreTreeGridComponent as eB, CoreTreeReferenceComponent as eC, CoreWageSeekerComponent as eD, CoreWorkingSeekerComponent as eE, coreWorkflowRoutes as eF, CoreWorkflowBuilderComponent as eG, CoreWorkflowGroupEditComponent as eH, CoreYearPickerComponent as eI, CoreYearSelectorComponent as eJ, EnumCoreD3ScaleType as eK, CoreD3Service as eL, CorePieComponent as eM, CoreScatterPlotComponent as eN, EnumHrComparisonCode as eO, EnumICoreStatisticWidgetDataType as eP, CoreStatisticWidgetComponent as eQ, DecisionComponent as eR, EvaluateDialogComponent as eS, HuconcurrentlyComponent as eT, JobComponent as eU, LanguageChangerComponent as eV, DEFAULT_SVG as eW, ItemComponent as eX, NavigatorComponent as eY, OtpInputComponent as eZ, OtpInputService as e_, CorePositionConcurrentSeekerComponent as ea, CorePositionSeekerComponent as eb, CoreQrcodeComponent as ec, EnumOparator as ed, CoreQueryBuilderComponent as ee, CoreReducerIconComponent as ef, CoreRotatingTextComponent as eg, CoreRouteAccumulatorComponent as eh, CoreRoutingHistoryComponent as ei, CoreSalaryPolicyPickerComponent as ej, CoreScrollComponent as ek, CoreScrollLazyComponent as el, CoreSeenByComponent as em, CoreShiftCardComponent as en, CoreShiftCellComponent as eo, CoreShiftCollectionComponent as ep, CoreShiftStickerComponent as eq, STICKER_COLOR_SCHEMA as er, CoreSubFormGroupComponent as es, CoreTabListComponent as et, CoreTagsComponent as eu, CoreTopicPickerComponent as ev, EnumCoreArticleCategoryTreeaAccessorMode as ew, CoreTopicTreeComponent as ex, CoreTimezoneComponent as ey, CoreTreeComponent as ez, CorePageListComponent as f, PaginationComponent as f0, FilterPipe as f1, normalizeHumanName as f2, PositionComponent as f3, PositionEditService as f4, FileService as f5, LongTaskService as f6, EnumRecursiveFields as f7, RecursiveService as f8, StringService as f9, UnicodeService as fa, StaffProfileComponent as fb, ThreedotsComponent as fc, TooltipComponent as fd, UserActivityComponent as fe, WageComponent as ff, tooltip_directive as fg, coreStickerCollection_component as fh, dragReorder_directive as fi, CoreStatusStickerComponent as g, BaseEditComponent as h, DialogService as i, CorePageEditComponent as j, EnumCoreTablePipeType as k, CoreCheckboxComponent as l, CoreTabsComponent as m, CoreWorkflowService as n, EnumCoreFormControlSeekerSourceType as o, CoreFormService as p, DbService as q, AiHintForColumnComponent as r, CoreWorkflowListComponent as s, CanDeactivateGuard as t, MapAvatarToServerPipe as u, TableCellPipe as v, alertOptions as w, SocketService as x, CoreFormDesignService as y, EnumWorkflowStepType as z };
46454
- //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.mjs.map
46494
+ //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-Bq_o4nyJ.mjs.map