ngx-histaff-alpha 6.6.2 → 6.6.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.
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DbeU8RbE.mjs → ngx-histaff-alpha-ai-hint-for-table.component-JXH8uW2J.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DbeU8RbE.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-JXH8uW2J.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-Q7Mkj3Sw.mjs → ngx-histaff-alpha-core-form-design.component-Cy_mOM1n.mjs} +4 -4
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-Q7Mkj3Sw.mjs.map → ngx-histaff-alpha-core-form-design.component-Cy_mOM1n.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-sdc_nA__.mjs → ngx-histaff-alpha-core-sys-action.component-DSjGTh1K.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-sdc_nA__.mjs.map → ngx-histaff-alpha-core-sys-action.component-DSjGTh1K.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-KuEdnw6J.mjs → ngx-histaff-alpha-core-template-editor.component-D1XlpSNr.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-KuEdnw6J.mjs.map → ngx-histaff-alpha-core-template-editor.component-D1XlpSNr.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-CQpoTAyX.mjs → ngx-histaff-alpha-core-toast-loading.component-ClmryTzj.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-CQpoTAyX.mjs.map → ngx-histaff-alpha-core-toast-loading.component-ClmryTzj.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BX_Z-pZt.mjs → ngx-histaff-alpha-core-workflow-consume.component-DV84nxOo.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BX_Z-pZt.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-DV84nxOo.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-DET37h-d.mjs → ngx-histaff-alpha-db-settings.component-AwS6B8Ne.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-DET37h-d.mjs.map → ngx-histaff-alpha-db-settings.component-AwS6B8Ne.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-Duk6i0JF.mjs → ngx-histaff-alpha-design-wrapper.component-C_EM0bEs.mjs} +324 -446
- package/fesm2022/ngx-histaff-alpha-design-wrapper.component-C_EM0bEs.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-C6VCPmmi.mjs → ngx-histaff-alpha-design-wrapper.route-DIZLQKWJ.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-C6VCPmmi.mjs.map → ngx-histaff-alpha-design-wrapper.route-DIZLQKWJ.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CkXimjGa.mjs → ngx-histaff-alpha-hrm-schema.component-DPqZBYnx.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CkXimjGa.mjs.map → ngx-histaff-alpha-hrm-schema.component-DPqZBYnx.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-live-form.component-C-d4utoe.mjs → ngx-histaff-alpha-live-form.component-CatM7zte.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-live-form.component-C-d4utoe.mjs.map → ngx-histaff-alpha-live-form.component-CatM7zte.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-q6N_damo.mjs → ngx-histaff-alpha-ngx-histaff-alpha-BZdzGBj5.mjs} +536 -30
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-BZdzGBj5.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-oUfod5Lj.mjs → ngx-histaff-alpha-simple-chat.component-CQvQzfwA.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-oUfod5Lj.mjs.map → ngx-histaff-alpha-simple-chat.component-CQvQzfwA.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-Ry4FeUPi.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-DQyeSL3y.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-Ry4FeUPi.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-DQyeSL3y.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-B7BhlGDm.mjs → ngx-histaff-alpha-sys-smtp-client.component-5f4Hm6sZ.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-B7BhlGDm.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-5f4Hm6sZ.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-template-list.component-wXg-VmYD.mjs → ngx-histaff-alpha-template-list.component-Hxk1mvGh.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-template-list.component-wXg-VmYD.mjs.map → ngx-histaff-alpha-template-list.component-Hxk1mvGh.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BanWB1v7.mjs → ngx-histaff-alpha-tracker-studio.component-Dhp9w826.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BanWB1v7.mjs.map → ngx-histaff-alpha-tracker-studio.component-Dhp9w826.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BXbhksfX.mjs → ngx-histaff-alpha-wf-form-assign.component-ClY5trbS.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-BXbhksfX.mjs.map → ngx-histaff-alpha-wf-form-assign.component-ClY5trbS.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-DtSoCMp9.mjs → ngx-histaff-alpha-wf-global-config.component-Cr5x7Ejg.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-DtSoCMp9.mjs.map → ngx-histaff-alpha-wf-global-config.component-Cr5x7Ejg.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BgR1sAaE.mjs → ngx-histaff-alpha-wf-instance-status.component-BIvdd1YN.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BgR1sAaE.mjs.map → ngx-histaff-alpha-wf-instance-status.component-BIvdd1YN.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-xdLSFaSv.mjs → ngx-histaff-alpha-wf-instance-step-react.component-1yYa-SfK.mjs} +3 -3
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-xdLSFaSv.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-1yYa-SfK.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-BZAQ2s5T.mjs → ngx-histaff-alpha-wf-lab.component-mbJjrJ6v.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-BZAQ2s5T.mjs.map → ngx-histaff-alpha-wf-lab.component-mbJjrJ6v.mjs.map} +1 -1
- package/fesm2022/ngx-histaff-alpha.mjs +1 -1
- package/lib/app/enum/EnumFormBaseContolType.d.ts +2 -1
- package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
- package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
- package/lib/app/libraries/core-rule-set/core-rule-set.component.d.ts +16 -0
- package/lib/app/libraries/core-rule-tree/core-rule-tree.component.d.ts +6 -6
- package/lib/app/libraries/core-rule-tree/core-rule-tree.service.d.ts +2 -0
- package/lib/app/libraries/core-workflow-builder/core-workflow.service.d.ts +5 -0
- package/lib/app/libraries/core-workflow-builder/interfaces/IUiDelegation.d.ts +14 -0
- package/lib/app/libraries/core-workflow-builder/interfaces/IWfWorkflow.d.ts +3 -0
- package/lib/app/libraries/core-workflow-builder/wf-delegation/wf-delegation.component.d.ts +45 -0
- package/lib/app/libraries/core-workflow-builder/wf-process-design/current-header/current-header.component.d.ts +2 -0
- package/lib/app/libraries/services/core-datetime.service.d.ts +2 -0
- package/package.json +2 -2
- package/fesm2022/ngx-histaff-alpha-design-wrapper.component-Duk6i0JF.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-q6N_damo.mjs.map +0 -1
|
@@ -1883,6 +1883,7 @@ var EnumFormBaseContolType;
|
|
|
1883
1883
|
EnumFormBaseContolType["TOPICPICKER"] = "TOPICPICKER";
|
|
1884
1884
|
EnumFormBaseContolType["LIQUID_WYSIWYG"] = "LIQUID_WYSIWYG";
|
|
1885
1885
|
EnumFormBaseContolType["STICKER_COLLECTION"] = "STICKER_COLLECTION";
|
|
1886
|
+
EnumFormBaseContolType["RULE_SET"] = "RULE_SET";
|
|
1886
1887
|
})(EnumFormBaseContolType || (EnumFormBaseContolType = {}));
|
|
1887
1888
|
|
|
1888
1889
|
class HubConnectionService {
|
|
@@ -8878,10 +8879,12 @@ class CoreWorkflowService {
|
|
|
8878
8879
|
this.$initialBasicInfoJson = signal('{}');
|
|
8879
8880
|
this.$initialFormDesignJson = signal('{}');
|
|
8880
8881
|
this.$initialProcessDesignJson = signal('{}');
|
|
8882
|
+
this.$initialDelegationJson = signal('{}');
|
|
8881
8883
|
this.$initialEmailTemplatesJson = signal('{}');
|
|
8882
8884
|
this.$currentBasicInfoJson = signal('{}');
|
|
8883
8885
|
this.$currentFormDesignJson = computed(() => this.fds.$saveLiveJson());
|
|
8884
8886
|
this.$currentProcessDesignJson = computed(() => this.$stepsJsonPreview());
|
|
8887
|
+
this.$currentDelegationJson = signal('{}');
|
|
8885
8888
|
this.$basicInfoChanged = computed(() => {
|
|
8886
8889
|
return !!this.js.findFirstStringDifference(this.$initialBasicInfoJson(), this.$currentBasicInfoJson());
|
|
8887
8890
|
});
|
|
@@ -8889,7 +8892,10 @@ class CoreWorkflowService {
|
|
|
8889
8892
|
return !!this.js.findFirstStringDifference(this.$initialFormDesignJson(), this.$currentFormDesignJson(), ['selected']);
|
|
8890
8893
|
});
|
|
8891
8894
|
this.$processDesignChanged = computed(() => {
|
|
8892
|
-
return this.$initialProcessDesignJson() !== this.$currentProcessDesignJson();
|
|
8895
|
+
return this.$initialProcessDesignJson() !== this.$currentProcessDesignJson();
|
|
8896
|
+
});
|
|
8897
|
+
this.$delegationChanged = computed(() => {
|
|
8898
|
+
return this.$initialDelegationJson() !== this.$currentDelegationJson();
|
|
8893
8899
|
});
|
|
8894
8900
|
this.$moreChanged = computed(() => {
|
|
8895
8901
|
return false; // to do
|
|
@@ -8904,6 +8910,7 @@ class CoreWorkflowService {
|
|
|
8904
8910
|
this.jsonService = inject(JsonService);
|
|
8905
8911
|
this.$routingSteps = signal([]);
|
|
8906
8912
|
this.basicInfoFormCheckError$ = new BehaviorSubject(false);
|
|
8913
|
+
this.delegationFormCheckError$ = new BehaviorSubject(false);
|
|
8907
8914
|
this.emailTemplatesFormCheckError$ = new BehaviorSubject(false);
|
|
8908
8915
|
this.liveFormCheckError$ = new BehaviorSubject(false);
|
|
8909
8916
|
//requesterSeekerClick$ = new BehaviorSubject<number>(0);
|
|
@@ -8995,7 +9002,7 @@ class CoreWorkflowService {
|
|
|
8995
9002
|
if (Array.isArray(condition.filters) && condition.filters.length > 0)
|
|
8996
9003
|
return true;
|
|
8997
9004
|
if (Array.isArray(condition.rules)) {
|
|
8998
|
-
return condition.rules.some(rule => typeof rule === 'object' &&
|
|
9005
|
+
return condition.rules.some((rule) => typeof rule === 'object' &&
|
|
8999
9006
|
(rule.logicalOperator || hasNestedOperatorOrFilters(rule)));
|
|
9000
9007
|
}
|
|
9001
9008
|
return false;
|
|
@@ -9693,6 +9700,7 @@ const MONTHS = {
|
|
|
9693
9700
|
};
|
|
9694
9701
|
class CoreDatetimeService {
|
|
9695
9702
|
constructor() {
|
|
9703
|
+
this.$timeZones = signal([]);
|
|
9696
9704
|
/*
|
|
9697
9705
|
Creates a new Date object representing the current date and time in the client's local timezone.
|
|
9698
9706
|
Returns the difference, in minutes, between the UTC time and the local time of the Date object.
|
|
@@ -9701,6 +9709,14 @@ class CoreDatetimeService {
|
|
|
9701
9709
|
Negative: If the local timezone is ahead of UTC (e.g., UTC+7 returns -420).
|
|
9702
9710
|
*/
|
|
9703
9711
|
this.timeZoneOffset = (new Date()).getTimezoneOffset();
|
|
9712
|
+
this.loadFullTimezones();
|
|
9713
|
+
}
|
|
9714
|
+
//Load full IANA time zones (browser-supported)
|
|
9715
|
+
loadFullTimezones() {
|
|
9716
|
+
const result = [];
|
|
9717
|
+
// 1. Load full IANA time zones (browser-supported)
|
|
9718
|
+
const timeZones = Intl.supportedValuesOf("timeZone");
|
|
9719
|
+
this.$timeZones.set(timeZones);
|
|
9704
9720
|
}
|
|
9705
9721
|
getMonthText(lang, monthIndex) {
|
|
9706
9722
|
/*
|
|
@@ -25981,6 +25997,494 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
25981
25997
|
}]
|
|
25982
25998
|
}] });
|
|
25983
25999
|
|
|
26000
|
+
class CoreControlValueOnlyComponent {
|
|
26001
|
+
constructor() {
|
|
26002
|
+
this.$control = input.required();
|
|
26003
|
+
this.$form = input.required();
|
|
26004
|
+
this.$fieldName = input();
|
|
26005
|
+
this.as = inject(AlertService);
|
|
26006
|
+
effect(() => {
|
|
26007
|
+
const control = this.$control();
|
|
26008
|
+
const form = this.$form();
|
|
26009
|
+
form.get(control?.field)?.valueChanges.subscribe(x => {
|
|
26010
|
+
this.coerceControlValue();
|
|
26011
|
+
});
|
|
26012
|
+
});
|
|
26013
|
+
}
|
|
26014
|
+
coerceControlValue() {
|
|
26015
|
+
const controlType = this.$control()?.controlType;
|
|
26016
|
+
switch (controlType) {
|
|
26017
|
+
case EnumFormBaseContolType.TEXTBOX:
|
|
26018
|
+
this.coerceNumber();
|
|
26019
|
+
break;
|
|
26020
|
+
case EnumFormBaseContolType.DATEPICKER:
|
|
26021
|
+
this.coerceDate();
|
|
26022
|
+
break;
|
|
26023
|
+
}
|
|
26024
|
+
}
|
|
26025
|
+
coerceDate() {
|
|
26026
|
+
const field = this.$fieldName() || this.$control().field;
|
|
26027
|
+
const control = this.$form().get(field);
|
|
26028
|
+
const value = control?.value;
|
|
26029
|
+
if (this.$control()?.type === 'date') {
|
|
26030
|
+
if (value instanceof Date) {
|
|
26031
|
+
const normalized = this.formatDateOnly(value);
|
|
26032
|
+
control?.setValue(normalized, { emitEvent: false });
|
|
26033
|
+
}
|
|
26034
|
+
else if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(value)) {
|
|
26035
|
+
const normalized = value.split('T')[0];
|
|
26036
|
+
control?.setValue(normalized, { emitEvent: false });
|
|
26037
|
+
}
|
|
26038
|
+
}
|
|
26039
|
+
}
|
|
26040
|
+
formatDateOnly(date) {
|
|
26041
|
+
const y = date.getFullYear();
|
|
26042
|
+
const m = String(date.getMonth() + 1).padStart(2, '0');
|
|
26043
|
+
const d = String(date.getDate()).padStart(2, '0');
|
|
26044
|
+
return `${y}-${m}-${d}`;
|
|
26045
|
+
}
|
|
26046
|
+
coerceNumber() {
|
|
26047
|
+
const field = this.$fieldName() || this.$control().field;
|
|
26048
|
+
const control = this.$form().get(field);
|
|
26049
|
+
const value = control?.value;
|
|
26050
|
+
if (this.$control()?.type === 'number' && typeof value === 'string') {
|
|
26051
|
+
const trimmed = value.trim();
|
|
26052
|
+
if (trimmed === '') {
|
|
26053
|
+
control?.setValue(null, { emitEvent: false }); // ✅ treat empty string as null
|
|
26054
|
+
return;
|
|
26055
|
+
}
|
|
26056
|
+
if (!isNaN(+trimmed)) {
|
|
26057
|
+
control?.setValue(Number(trimmed), { emitEvent: false });
|
|
26058
|
+
}
|
|
26059
|
+
}
|
|
26060
|
+
}
|
|
26061
|
+
ngOnInit() {
|
|
26062
|
+
const field = this.$fieldName() || this.$control().field;
|
|
26063
|
+
const control = this.$form().get(field);
|
|
26064
|
+
if (!control) {
|
|
26065
|
+
if (isDevMode()) {
|
|
26066
|
+
this.as.error("control is undefined|null", alertOptions);
|
|
26067
|
+
}
|
|
26068
|
+
return;
|
|
26069
|
+
}
|
|
26070
|
+
this.coerceControlValue(); // Run once on init
|
|
26071
|
+
control.valueChanges.subscribe(() => {
|
|
26072
|
+
this.coerceControlValue(); // Run on every input change
|
|
26073
|
+
});
|
|
26074
|
+
}
|
|
26075
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlValueOnlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26076
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreControlValueOnlyComponent, isStandalone: true, selector: "core-control-value-only", inputs: { $control: { classPropertyName: "$control", publicName: "$control", isSignal: true, isRequired: true, transformFunction: null }, $form: { classPropertyName: "$form", publicName: "$form", isSignal: true, isRequired: true, transformFunction: null }, $fieldName: { classPropertyName: "$fieldName", publicName: "$fieldName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [formGroup]=\"$form()\">\r\n @switch ($control()?.controlType) {\r\n @case ('TEXTBOX') {\r\n <input class=\"form-control\" [formControlName]=\"$fieldName() || $control()?.field || ''\" [type]=\"$control()?.type || 'text'\"\r\n [placeholder]=\"$control()?.placeholder || ''\" [readonly]=\"$control()?.readonly\" />\r\n }\r\n @case ('CURRENCY') {\r\n <core-currency-input [formControlName]=\"$fieldName() || $control()?.field || ''\"\r\n [placeholder]=\"$control()?.placeholder || ''\">\r\n </core-currency-input>\r\n }\r\n @case ('DROPDOWN') {\r\n @if ($control()?.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"$fieldName() || $control()?.field || ''\" \r\n [options$]=\"$control()?.dropdownOptions$!\"\r\n [getByIdObject$]=\"$control()?.getByIdObject$!\"\r\n [shownFrom]=\"$control()?.shownFrom!\"\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 >\r\n </core-dropdown>\r\n }\r\n }\r\n @case ('CHECKLIST') {\r\n @if ($control()?.checklistOptions$) {\r\n <core-checklist [formControlName]=\"$fieldName() || $control()?.field || ''\" [options$]=\"$control()?.checklistOptions$!\">\r\n </core-checklist>\r\n }\r\n }\r\n @case ('DATEPICKER') {\r\n <core-date-picker [formControlName]=\"$fieldName() || $control()?.field || ''\" [rangeLimit]=\"$control()?.rangeLimit!\"\r\n [popupAlign]=\"$control()?.popupAlign!\" [placeholder]=\"$control()?.placeholder || ''\"\r\n [readonly]=\"$control()?.readonly!\">\r\n </core-date-picker>\r\n }\r\n @case ('SEEKER') {\r\n <core-form-control-seeker [formControlName]=\"$fieldName() || $control()?.field || ''\"\r\n [seekerSourceType]=\"$control()?.seekerSourceType!\" [shownFrom]=\"$control()?.shownFrom!\"\r\n [multiMode]=\"$control()?.multiMode!\"\r\n [boundFrom]=\"$control()?.boundFrom!\" [objectList$]=\"$control()?.objectList$!\">\r\n </core-form-control-seeker>\r\n }\r\n @default {\r\n <input class=\"form-control\" [formControlName]=\"$fieldName() || $control()?.field || ''\" type=\"text\"\r\n [placeholder]=\"$control()?.placeholder || ''\" [readonly]=\"$control()?.readonly\" />\r\n }\r\n }\r\n</div>", styles: [":host{display:block}input.form-control,core-dropdown,core-checklist,core-date-picker,core-currency-input,core-form-control-seeker{width:100%}\n"], dependencies: [{ 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: "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: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "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: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign", "placeholder"], outputs: ["onLeftFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26077
|
+
}
|
|
26078
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlValueOnlyComponent, decorators: [{
|
|
26079
|
+
type: Component,
|
|
26080
|
+
args: [{ selector: 'core-control-value-only', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
26081
|
+
ReactiveFormsModule,
|
|
26082
|
+
CoreDropdownComponent,
|
|
26083
|
+
CoreChecklistComponent,
|
|
26084
|
+
CoreDatePickerComponent,
|
|
26085
|
+
CoreFormControlSeekerComponent,
|
|
26086
|
+
CoreCurrencyInputComponent
|
|
26087
|
+
], template: "<div [formGroup]=\"$form()\">\r\n @switch ($control()?.controlType) {\r\n @case ('TEXTBOX') {\r\n <input class=\"form-control\" [formControlName]=\"$fieldName() || $control()?.field || ''\" [type]=\"$control()?.type || 'text'\"\r\n [placeholder]=\"$control()?.placeholder || ''\" [readonly]=\"$control()?.readonly\" />\r\n }\r\n @case ('CURRENCY') {\r\n <core-currency-input [formControlName]=\"$fieldName() || $control()?.field || ''\"\r\n [placeholder]=\"$control()?.placeholder || ''\">\r\n </core-currency-input>\r\n }\r\n @case ('DROPDOWN') {\r\n @if ($control()?.dropdownOptions$) {\r\n <core-dropdown \r\n [formControlName]=\"$fieldName() || $control()?.field || ''\" \r\n [options$]=\"$control()?.dropdownOptions$!\"\r\n [getByIdObject$]=\"$control()?.getByIdObject$!\"\r\n [shownFrom]=\"$control()?.shownFrom!\"\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 >\r\n </core-dropdown>\r\n }\r\n }\r\n @case ('CHECKLIST') {\r\n @if ($control()?.checklistOptions$) {\r\n <core-checklist [formControlName]=\"$fieldName() || $control()?.field || ''\" [options$]=\"$control()?.checklistOptions$!\">\r\n </core-checklist>\r\n }\r\n }\r\n @case ('DATEPICKER') {\r\n <core-date-picker [formControlName]=\"$fieldName() || $control()?.field || ''\" [rangeLimit]=\"$control()?.rangeLimit!\"\r\n [popupAlign]=\"$control()?.popupAlign!\" [placeholder]=\"$control()?.placeholder || ''\"\r\n [readonly]=\"$control()?.readonly!\">\r\n </core-date-picker>\r\n }\r\n @case ('SEEKER') {\r\n <core-form-control-seeker [formControlName]=\"$fieldName() || $control()?.field || ''\"\r\n [seekerSourceType]=\"$control()?.seekerSourceType!\" [shownFrom]=\"$control()?.shownFrom!\"\r\n [multiMode]=\"$control()?.multiMode!\"\r\n [boundFrom]=\"$control()?.boundFrom!\" [objectList$]=\"$control()?.objectList$!\">\r\n </core-form-control-seeker>\r\n }\r\n @default {\r\n <input class=\"form-control\" [formControlName]=\"$fieldName() || $control()?.field || ''\" type=\"text\"\r\n [placeholder]=\"$control()?.placeholder || ''\" [readonly]=\"$control()?.readonly\" />\r\n }\r\n }\r\n</div>", styles: [":host{display:block}input.form-control,core-dropdown,core-checklist,core-date-picker,core-currency-input,core-form-control-seeker{width:100%}\n"] }]
|
|
26088
|
+
}], ctorParameters: () => [] });
|
|
26089
|
+
|
|
26090
|
+
class CoreRuleTreeService {
|
|
26091
|
+
constructor() {
|
|
26092
|
+
this.$formValue = signal(null); // Manual form value signal
|
|
26093
|
+
this.$filterFormJsonString = signal('{}');
|
|
26094
|
+
this.$filterString = computed(() => {
|
|
26095
|
+
const json = this.$filterFormJsonString();
|
|
26096
|
+
if (!json)
|
|
26097
|
+
return '()';
|
|
26098
|
+
try {
|
|
26099
|
+
const cleaned = JSON.parse(json);
|
|
26100
|
+
return this.getFilterString(cleaned);
|
|
26101
|
+
}
|
|
26102
|
+
catch {
|
|
26103
|
+
return '()';
|
|
26104
|
+
}
|
|
26105
|
+
});
|
|
26106
|
+
}
|
|
26107
|
+
cleanEmptyFilters(node) {
|
|
26108
|
+
if (!node || typeof node !== 'object')
|
|
26109
|
+
return node;
|
|
26110
|
+
// If it's a group with filters
|
|
26111
|
+
if (Array.isArray(node.filters)) {
|
|
26112
|
+
node.filters = node.filters
|
|
26113
|
+
.map(f => this.cleanEmptyFilters(f))
|
|
26114
|
+
.filter(f => f !== null); // optional: skip nulls
|
|
26115
|
+
if (node.filters.length === 0) {
|
|
26116
|
+
delete node.filters; // ← Clean!
|
|
26117
|
+
}
|
|
26118
|
+
}
|
|
26119
|
+
return node;
|
|
26120
|
+
}
|
|
26121
|
+
getFilterString(filter) {
|
|
26122
|
+
if (!filter || Object.keys(filter).length === 0)
|
|
26123
|
+
return '()';
|
|
26124
|
+
let str = '(';
|
|
26125
|
+
for (let i = 0; i < filter.filters?.length; i++) {
|
|
26126
|
+
if (i > 0)
|
|
26127
|
+
str += ` ${filter.logicalOperator} `;
|
|
26128
|
+
const f = filter.filters[i];
|
|
26129
|
+
if (f?.filters?.length) {
|
|
26130
|
+
str += this.getFilterString(f);
|
|
26131
|
+
}
|
|
26132
|
+
else {
|
|
26133
|
+
const rawVal = f.value;
|
|
26134
|
+
let formattedVal = rawVal;
|
|
26135
|
+
if (rawVal instanceof Date) {
|
|
26136
|
+
formattedVal = this.formatDateToYMD(rawVal);
|
|
26137
|
+
}
|
|
26138
|
+
else if (typeof rawVal === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(rawVal)) {
|
|
26139
|
+
// parse ISO string if needed
|
|
26140
|
+
try {
|
|
26141
|
+
formattedVal = this.formatDateToYMD(new Date(rawVal));
|
|
26142
|
+
}
|
|
26143
|
+
catch { }
|
|
26144
|
+
}
|
|
26145
|
+
str += `${f.name} ${f.relationalOperator} '${formattedVal}'`;
|
|
26146
|
+
}
|
|
26147
|
+
}
|
|
26148
|
+
return str + ')';
|
|
26149
|
+
}
|
|
26150
|
+
formatDateToYMD(date) {
|
|
26151
|
+
const yyyy = date.getFullYear();
|
|
26152
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-based
|
|
26153
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
26154
|
+
return `${yyyy}-${mm}-${dd}`;
|
|
26155
|
+
}
|
|
26156
|
+
buildFormGroupFromStep(config) {
|
|
26157
|
+
const logicalOperator = config?.logicalOperator ?? 'AND';
|
|
26158
|
+
const buildFilter = (f) => {
|
|
26159
|
+
// If it has logicalOperator and filters → it's a nested group
|
|
26160
|
+
if (f?.logicalOperator && Array.isArray(f.filters)) {
|
|
26161
|
+
return this.buildFormGroupFromStep(f);
|
|
26162
|
+
}
|
|
26163
|
+
return new FormGroup({
|
|
26164
|
+
name: new FormControl(f?.name ?? null),
|
|
26165
|
+
value: new FormControl(f?.value ?? null),
|
|
26166
|
+
relationalOperator: new FormControl(f?.relationalOperator ?? 'EQUAL'),
|
|
26167
|
+
defaultMessage: new FormControl(f?.defaultMessage ?? ''),
|
|
26168
|
+
englishMessage: new FormControl(f?.englishMessage ?? '')
|
|
26169
|
+
});
|
|
26170
|
+
};
|
|
26171
|
+
const filters = Array.isArray(config?.filters)
|
|
26172
|
+
? config.filters.map(buildFilter)
|
|
26173
|
+
: [];
|
|
26174
|
+
const form = new FormGroup({
|
|
26175
|
+
logicalOperator: new FormControl(logicalOperator),
|
|
26176
|
+
filters: new FormArray(filters)
|
|
26177
|
+
});
|
|
26178
|
+
// Only once all controls exist
|
|
26179
|
+
setTimeout(() => this.$formValue.set(form.getRawValue()));
|
|
26180
|
+
return form;
|
|
26181
|
+
}
|
|
26182
|
+
createGroupForm(config) {
|
|
26183
|
+
const logicalOperator = config?.logicalOperator ?? 'AND';
|
|
26184
|
+
const filters = Array.isArray(config?.filters)
|
|
26185
|
+
? config.filters.map(f => f?.logicalOperator
|
|
26186
|
+
? this.createGroupForm(f)
|
|
26187
|
+
: this.createConditionForm(f))
|
|
26188
|
+
: [];
|
|
26189
|
+
return new FormGroup({
|
|
26190
|
+
logicalOperator: new FormControl(logicalOperator),
|
|
26191
|
+
filters: new FormArray(filters)
|
|
26192
|
+
});
|
|
26193
|
+
}
|
|
26194
|
+
createConditionForm(f) {
|
|
26195
|
+
return new FormGroup({
|
|
26196
|
+
name: new FormControl(f?.name ?? null),
|
|
26197
|
+
value: new FormControl(f?.value ?? null),
|
|
26198
|
+
relationalOperator: new FormControl(f?.relationalOperator ?? 'EQUAL'),
|
|
26199
|
+
defaultMessage: new FormControl(f?.defaultMessage ?? ''),
|
|
26200
|
+
englishMessage: new FormControl(f?.englishMessage ?? '')
|
|
26201
|
+
});
|
|
26202
|
+
}
|
|
26203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26204
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleTreeService, providedIn: 'root' }); }
|
|
26205
|
+
}
|
|
26206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleTreeService, decorators: [{
|
|
26207
|
+
type: Injectable,
|
|
26208
|
+
args: [{
|
|
26209
|
+
providedIn: 'root'
|
|
26210
|
+
}]
|
|
26211
|
+
}], ctorParameters: () => [] });
|
|
26212
|
+
|
|
26213
|
+
var EnumCoreRuleTreeOparator;
|
|
26214
|
+
(function (EnumCoreRuleTreeOparator) {
|
|
26215
|
+
EnumCoreRuleTreeOparator["EQUAL"] = "EQUAL";
|
|
26216
|
+
EnumCoreRuleTreeOparator["GREATER_THAN"] = "GREATER_THAN";
|
|
26217
|
+
EnumCoreRuleTreeOparator["LESS_THAN"] = "LESS_THAN";
|
|
26218
|
+
EnumCoreRuleTreeOparator["GREATER_OR_EQUAL_THAN"] = "GREATER_OR_EQUAL_THAN";
|
|
26219
|
+
EnumCoreRuleTreeOparator["LESS_OR_EQUAL_THAN"] = "LESS_OR_EQUAL_THAN";
|
|
26220
|
+
EnumCoreRuleTreeOparator["STARTS_WITH"] = "STARTS_WITH";
|
|
26221
|
+
EnumCoreRuleTreeOparator["ENDS_WITH"] = "ENDS_WITH";
|
|
26222
|
+
EnumCoreRuleTreeOparator["CONTAINS"] = "CONTAINS";
|
|
26223
|
+
EnumCoreRuleTreeOparator["IN"] = "IN";
|
|
26224
|
+
EnumCoreRuleTreeOparator["NOT_EQUAL"] = "NOT_EQUAL";
|
|
26225
|
+
EnumCoreRuleTreeOparator["NOT_STARTS_WITH"] = "NOT_STARTS_WITH";
|
|
26226
|
+
EnumCoreRuleTreeOparator["NOT_ENDS_WITH"] = "NOT_ENDS_WITH";
|
|
26227
|
+
EnumCoreRuleTreeOparator["NOT_CONTAINS"] = "NOT_CONTAINS";
|
|
26228
|
+
EnumCoreRuleTreeOparator["NOT_IN"] = "NOT_IN";
|
|
26229
|
+
EnumCoreRuleTreeOparator["IS_NULL"] = "IS_NULL";
|
|
26230
|
+
EnumCoreRuleTreeOparator["IS_NOT_NULL"] = "IS_NOT_NULL";
|
|
26231
|
+
})(EnumCoreRuleTreeOparator || (EnumCoreRuleTreeOparator = {}));
|
|
26232
|
+
|
|
26233
|
+
class CoreRuleTreeComponent extends BaseComponent {
|
|
26234
|
+
getColLabelTooltip(filterGroup) {
|
|
26235
|
+
const selectedField = filterGroup.get('name')?.value;
|
|
26236
|
+
if (!selectedField)
|
|
26237
|
+
return;
|
|
26238
|
+
const match = this.$totalCols().find(col => col.field === selectedField);
|
|
26239
|
+
return match?.label || selectedField;
|
|
26240
|
+
}
|
|
26241
|
+
shouldShowValueControl(operator) {
|
|
26242
|
+
return operator !== 'IS_NULL' && operator !== 'IS_NOT_NULL';
|
|
26243
|
+
}
|
|
26244
|
+
toggleCollapse(group) {
|
|
26245
|
+
const current = this.collapsedGroups.get(group) || false;
|
|
26246
|
+
this.collapsedGroups.set(group, !current);
|
|
26247
|
+
}
|
|
26248
|
+
isCollapsed(group) {
|
|
26249
|
+
return this.collapsedGroups.get(group) || false;
|
|
26250
|
+
}
|
|
26251
|
+
field() {
|
|
26252
|
+
return new FormGroup({
|
|
26253
|
+
name: new FormControl(null),
|
|
26254
|
+
value: new FormControl(null),
|
|
26255
|
+
relationalOperator: new FormControl('EQUAL'),
|
|
26256
|
+
defaultMessage: new FormControl(''),
|
|
26257
|
+
englishMessage: new FormControl('')
|
|
26258
|
+
});
|
|
26259
|
+
}
|
|
26260
|
+
filter() {
|
|
26261
|
+
return new FormGroup({
|
|
26262
|
+
logicalOperator: new FormControl('AND'),
|
|
26263
|
+
filters: new FormArray([])
|
|
26264
|
+
});
|
|
26265
|
+
}
|
|
26266
|
+
constructor(mls) {
|
|
26267
|
+
super(mls);
|
|
26268
|
+
this.mls = mls;
|
|
26269
|
+
// Inputs
|
|
26270
|
+
this.$totalCols = input([]);
|
|
26271
|
+
this.$mainForm = input(new FormGroup({
|
|
26272
|
+
logicalOperator: new FormControl('AND')
|
|
26273
|
+
}));
|
|
26274
|
+
this.$filterStringInput = input();
|
|
26275
|
+
this.$expressionInput = input();
|
|
26276
|
+
// ===== NEW – REACTIVE FORM MODE (OPTIONAL) =====
|
|
26277
|
+
this.$form = input(null);
|
|
26278
|
+
this.$field = input(null);
|
|
26279
|
+
// Outputs
|
|
26280
|
+
this.$jsonEmitter = output();
|
|
26281
|
+
this.crts = inject(CoreRuleTreeService);
|
|
26282
|
+
this.$rawValue = computed(() => JSON.stringify(this.$mainForm().getRawValue(), null, 2));
|
|
26283
|
+
// Track collapsed groups manually
|
|
26284
|
+
this.collapsedGroups = new WeakMap();
|
|
26285
|
+
this.operatorFriendlyMap = {
|
|
26286
|
+
[EnumCoreRuleTreeOparator.EQUAL]: 'Equals (=)',
|
|
26287
|
+
[EnumCoreRuleTreeOparator.NOT_EQUAL]: 'Does not equal (≠)',
|
|
26288
|
+
[EnumCoreRuleTreeOparator.STARTS_WITH]: 'Starts with (→)',
|
|
26289
|
+
[EnumCoreRuleTreeOparator.ENDS_WITH]: 'Ends with (←)',
|
|
26290
|
+
[EnumCoreRuleTreeOparator.CONTAINS]: 'Contains (∈)',
|
|
26291
|
+
[EnumCoreRuleTreeOparator.NOT_STARTS_WITH]: 'Does NOT start with (↛)',
|
|
26292
|
+
[EnumCoreRuleTreeOparator.NOT_ENDS_WITH]: 'Does NOT end with (↚)',
|
|
26293
|
+
[EnumCoreRuleTreeOparator.NOT_CONTAINS]: 'Does NOT contain (∉)',
|
|
26294
|
+
[EnumCoreRuleTreeOparator.GREATER_THAN]: 'Greater than (>)',
|
|
26295
|
+
[EnumCoreRuleTreeOparator.LESS_THAN]: 'Less than (<)',
|
|
26296
|
+
[EnumCoreRuleTreeOparator.GREATER_OR_EQUAL_THAN]: 'Greater or equal (≥)',
|
|
26297
|
+
[EnumCoreRuleTreeOparator.LESS_OR_EQUAL_THAN]: 'Less or equal (≤)',
|
|
26298
|
+
[EnumCoreRuleTreeOparator.IN]: 'In list (∈)',
|
|
26299
|
+
[EnumCoreRuleTreeOparator.NOT_IN]: 'Not in list (∉)',
|
|
26300
|
+
[EnumCoreRuleTreeOparator.IS_NULL]: 'Is null',
|
|
26301
|
+
[EnumCoreRuleTreeOparator.IS_NOT_NULL]: 'Is not null',
|
|
26302
|
+
};
|
|
26303
|
+
this.relationalOperator = Object.values(EnumCoreRuleTreeOparator);
|
|
26304
|
+
this.prevJson = signal('{}');
|
|
26305
|
+
effect((onCleanup) => {
|
|
26306
|
+
const form = this.$mainForm();
|
|
26307
|
+
if (!!form) {
|
|
26308
|
+
const sub = form.valueChanges.subscribe(value => {
|
|
26309
|
+
const updateOperators = (group) => {
|
|
26310
|
+
const filters = group.get('filters');
|
|
26311
|
+
if (!filters)
|
|
26312
|
+
return;
|
|
26313
|
+
filters.controls.forEach(control => {
|
|
26314
|
+
if (!(control instanceof FormGroup))
|
|
26315
|
+
return;
|
|
26316
|
+
const operator = control.get('relationalOperator')?.value;
|
|
26317
|
+
const valueControl = control.get('value');
|
|
26318
|
+
if (operator === 'IS_NULL' || operator === 'IS_NOT_NULL') {
|
|
26319
|
+
valueControl?.setValue(null, { emitEvent: false });
|
|
26320
|
+
valueControl?.disable({ emitEvent: false });
|
|
26321
|
+
}
|
|
26322
|
+
else {
|
|
26323
|
+
valueControl?.enable({ emitEvent: false });
|
|
26324
|
+
}
|
|
26325
|
+
// 🌀 Recurse safely if this nested control has subfilters
|
|
26326
|
+
const subFilters = control.get('filters');
|
|
26327
|
+
if (subFilters && control instanceof FormGroup) {
|
|
26328
|
+
updateOperators(control);
|
|
26329
|
+
}
|
|
26330
|
+
});
|
|
26331
|
+
};
|
|
26332
|
+
updateOperators(form);
|
|
26333
|
+
// 🔁 Now that the form has been normalized, update the signal
|
|
26334
|
+
this.crts.$formValue.set(form.getRawValue());
|
|
26335
|
+
});
|
|
26336
|
+
onCleanup(() => sub.unsubscribe());
|
|
26337
|
+
}
|
|
26338
|
+
});
|
|
26339
|
+
// ➡️ Separate reaction effect for serialization
|
|
26340
|
+
effect(() => {
|
|
26341
|
+
const formValue = this.crts.$formValue();
|
|
26342
|
+
if (!formValue)
|
|
26343
|
+
return;
|
|
26344
|
+
const cleaned = this.crts.cleanEmptyFilters(formValue); // 👈 apply cleaning here
|
|
26345
|
+
const json = JSON.stringify(cleaned, null, 2);
|
|
26346
|
+
if (json !== this.prevJson()) {
|
|
26347
|
+
this.crts.$filterFormJsonString.set(json.trim());
|
|
26348
|
+
this.$jsonEmitter.emit(json);
|
|
26349
|
+
this.prevJson.set(json);
|
|
26350
|
+
}
|
|
26351
|
+
});
|
|
26352
|
+
effect(() => {
|
|
26353
|
+
const _ = this.$mainForm().getRawValue();
|
|
26354
|
+
const updateAll = (formGroup) => {
|
|
26355
|
+
const filters = formGroup.get('filters');
|
|
26356
|
+
if (!filters)
|
|
26357
|
+
return;
|
|
26358
|
+
filters.controls.forEach(control => {
|
|
26359
|
+
// Handle nested groups
|
|
26360
|
+
const subFilters = control.get('filters');
|
|
26361
|
+
if (subFilters)
|
|
26362
|
+
updateAll(control);
|
|
26363
|
+
});
|
|
26364
|
+
};
|
|
26365
|
+
updateAll(this.$mainForm());
|
|
26366
|
+
});
|
|
26367
|
+
// Initialize immediately based on initial form
|
|
26368
|
+
this.crts.$formValue.set(this.$mainForm().getRawValue());
|
|
26369
|
+
}
|
|
26370
|
+
addGroup(groupForm) {
|
|
26371
|
+
const filtersArray = groupForm.get('filters');
|
|
26372
|
+
if (filtersArray) {
|
|
26373
|
+
const newGroup = this.filter(); // 🛠 use your existing filter() factory method
|
|
26374
|
+
filtersArray.push(newGroup);
|
|
26375
|
+
}
|
|
26376
|
+
}
|
|
26377
|
+
removeGroup(groupForm, index) {
|
|
26378
|
+
const filtersArray = groupForm.get('filters');
|
|
26379
|
+
if (filtersArray && filtersArray.length > index) {
|
|
26380
|
+
setTimeout(() => filtersArray.removeAt(index));
|
|
26381
|
+
}
|
|
26382
|
+
}
|
|
26383
|
+
addCondition(groupForm) {
|
|
26384
|
+
const filtersArray = groupForm.get('filters');
|
|
26385
|
+
if (filtersArray) {
|
|
26386
|
+
const newCondition = this.field();
|
|
26387
|
+
filtersArray.push(newCondition);
|
|
26388
|
+
}
|
|
26389
|
+
}
|
|
26390
|
+
removeCondition(filterGroup, index) {
|
|
26391
|
+
const filtersArray = filterGroup.get('filters');
|
|
26392
|
+
if (filtersArray && filtersArray.length > index) {
|
|
26393
|
+
setTimeout(() => filtersArray.removeAt(index));
|
|
26394
|
+
}
|
|
26395
|
+
}
|
|
26396
|
+
resolveControl(fieldName) {
|
|
26397
|
+
const cols = this.$totalCols();
|
|
26398
|
+
if (!cols || !fieldName)
|
|
26399
|
+
return undefined;
|
|
26400
|
+
const tryfind = cols.find(x => x.field === fieldName);
|
|
26401
|
+
return tryfind;
|
|
26402
|
+
}
|
|
26403
|
+
safeStringify(obj) {
|
|
26404
|
+
const seen = new WeakSet();
|
|
26405
|
+
return JSON.stringify(obj, (key, value) => {
|
|
26406
|
+
if (typeof value === 'object' && value !== null) {
|
|
26407
|
+
if (seen.has(value)) {
|
|
26408
|
+
return undefined; // ✋ Skip circular reference
|
|
26409
|
+
}
|
|
26410
|
+
seen.add(value);
|
|
26411
|
+
}
|
|
26412
|
+
return value;
|
|
26413
|
+
});
|
|
26414
|
+
}
|
|
26415
|
+
isCalculatedField(fieldName) {
|
|
26416
|
+
const control = this.resolveControl(fieldName);
|
|
26417
|
+
return control?.controlType === 'CALCULATED';
|
|
26418
|
+
}
|
|
26419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleTreeComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreRuleTreeComponent, isStandalone: true, selector: "core-rule-tree", inputs: { $totalCols: { classPropertyName: "$totalCols", publicName: "$totalCols", isSignal: true, isRequired: false, transformFunction: null }, $mainForm: { classPropertyName: "$mainForm", publicName: "$mainForm", isSignal: true, isRequired: false, transformFunction: null }, $filterStringInput: { classPropertyName: "$filterStringInput", publicName: "$filterStringInput", isSignal: true, isRequired: false, transformFunction: null }, $expressionInput: { classPropertyName: "$expressionInput", publicName: "$expressionInput", isSignal: true, isRequired: false, transformFunction: null }, $form: { classPropertyName: "$form", publicName: "$form", isSignal: true, isRequired: false, transformFunction: null }, $field: { classPropertyName: "$field", publicName: "$field", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $jsonEmitter: "$jsonEmitter" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-rule-tree-container\">\r\n\r\n <form [formGroup]=\"$mainForm()\" (ngSubmit)=\"null\" class=\"core-rule-tree-form\">\r\n\r\n <div class=\"top-bar\">\r\n <div class=\"expression-box\">\r\n Expression = {{ crts.$filterString() || '()' }}\r\n </div>\r\n \r\n </div>\r\n \r\n <div class=\"query-builder\">\r\n <ng-template #queryTemplate let-filter=\"filter\" let-groupToRemove=\"groupToRemove\">\r\n \r\n <div class=\"group-card\">\r\n\r\n <div class=\"group-header\">\r\n\r\n <div class=\"logical-operator\">\r\n\r\n <select class=\"form-control pointer\" [formControl]=\"filter.get('logicalOperator')\">\r\n <option value=\"AND\">AND</option>\r\n <option value=\"OR\">OR</option>\r\n </select>\r\n\r\n <!-- Collapse/Expand Button -->\r\n @if (!!filter.value.filters?.length) {\r\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\"\r\n (click)=\"toggleCollapse(filter)\"\r\n [appTooltip]=\"isCollapsed(filter) ? 'Expand Group' : 'Collapse Group'\">\r\n <i class=\"feather\" [class.feather-plus]=\"isCollapsed(filter)\" [class.feather-minus]=\"!isCollapsed(filter)\"></i>\r\n </button>\r\n }\r\n <div class=\"local-action-buttons\">\r\n <button type=\"button\" class=\"btn btn-success feather-file-plus\"\r\n (click)=\"addCondition(filter)\"\r\n [appTooltip]=\"'Add Condition to this Group'\" [position]=\"'above'\">\r\n </button>\r\n <button type=\"button\" class=\"btn btn-success feather-folder-plus\"\r\n (click)=\"addGroup(filter)\"\r\n [appTooltip]=\"'Add Subgroup to this Group'\" [position]=\"'above'\">\r\n </button>\r\n @if (!!groupToRemove) {\r\n <button type=\"button\" class=\"btn btn-danger feather-trash\"\r\n (click)=\"removeGroup(groupToRemove.group, groupToRemove.index)\"\r\n [appTooltip]=\"'Remove Group'\" [position]=\"'above'\">\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-content\">\r\n \r\n @if (!isCollapsed(filter)) {\r\n\r\n @if (!!filter.value.filters?.length) {\r\n <div class=\"filter-list\" formArrayName=\"filters\">\r\n @for (childFilter of filter.get('filters').controls; track $index; let idx = $index) {\r\n <div class=\"filter-row\" [formGroup]=\"childFilter\">\r\n \r\n @if (!childFilter.value.logicalOperator) {\r\n\r\n <div class=\"filter-raw\">\r\n\r\n <div class=\"field-cell\">\r\n <select class=\"form-control\"\r\n [appTooltip]=\"getColLabelTooltip(childFilter)\"\r\n [showAnyway]=\"true\"\r\n formControlName=\"name\">\r\n @for (col of $totalCols(); track $index) {\r\n <option [value]=\"col.field\">{{ col.label || col.field }}</option>\r\n }\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"operator-cell\">\r\n <select class=\"form-control\" formControlName=\"relationalOperator\">\r\n @for (op of relationalOperator; track $index) {\r\n <option [value]=\"op\">{{ operatorFriendlyMap[op] || op }}</option>\r\n }\r\n </select>\r\n </div> \r\n\r\n <div class=\"value-cell\">\r\n @if (shouldShowValueControl(childFilter.value.relationalOperator)) {\r\n <core-control-value-only\r\n @fadeSwitch\r\n [$control]=\"resolveControl(childFilter.value.name)!\"\r\n [$form]=\"childFilter\"\r\n [$fieldName]=\"'value'\"\r\n >\r\n </core-control-value-only>\r\n }\r\n </div>\r\n\r\n <div class=\"action-cell\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\"\r\n (click)=\"removeCondition(filter, idx)\"\r\n [appTooltip]=\"'Remove Condition'\">\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"filter-message default\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Default message...\"\r\n formControlName=\"defaultMessage\" />\r\n </div>\r\n\r\n <div class=\"filter-message english\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"English message...\"\r\n formControlName=\"englishMessage\" />\r\n </div>\r\n\r\n } @else {\r\n <!-- Recursive nested groups -->\r\n <ng-container *ngTemplateOutlet=\"queryTemplate; context: { filter: childFilter, groupToRemove: { group: filter, index: idx } }\"></ng-container>\r\n }\r\n \r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n \r\n </ng-template>\r\n \r\n <ng-container\r\n *ngTemplateOutlet=\"queryTemplate; context: { filter: $mainForm(), groupToRemove: null }\">\r\n </ng-container>\r\n \r\n </div>\r\n \r\n </form>\r\n \r\n <div class=\"dev-json-view\">\r\n <pre class=\"json-preview\">{{ crts.$filterFormJsonString() }}</pre>\r\n </div>\r\n \r\n </div>\r\n", styles: [".core-rule-tree-container{display:flex;flex-direction:column;width:100%;overflow-y:auto}.core-rule-tree-container button{border-radius:0}.expression-box{background:#e0f2fe;padding:6px 12px;font-weight:500;font-size:14px}.top-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px}.expression-display{background-color:#e0f2fe;padding:8px 16px;font-family:monospace;font-size:14px;color:#0369a1}.query-builder{flex-grow:1;overflow-y:visible}.json-preview{background-color:#fff;color:#333;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 2px 6px #00000014;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;overflow-x:auto;line-height:1.5;margin-top:15px}.core-rule-tree-form{display:flex;flex-direction:column;gap:16px}.top-bar{display:flex;justify-content:space-between;align-items:center}.expression-box{background:#e0f2fe;padding:6px 12px;font-weight:500;font-size:14px;margin-right:8px}.query-builder{display:flex;flex-direction:column;gap:16px}.group-card{padding:15px;background:#f9f9f9;display:flex;flex-direction:column;gap:8px;position:relative}.group-card .group-header{display:block;position:relative}.group-card .logical-operator{display:flex;align-items:center;align-self:flex-start;gap:8px}.group-card .logical-operator select{width:57px;background-color:#fff4ce}.group-card .logical-operator .local-action-buttons{margin-left:auto;display:flex;gap:4px}.group-card .logical-operator:hover .local-action-buttons{display:flex}.filter-list{display:flex;flex-direction:column;gap:8px}.filter-row{margin:8px 0}.filter-row .filter-raw{display:flex;align-items:center;gap:8px}.field-cell,.operator-cell,.value-cell{flex:1}.field-cell select{width:136px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.filter-message{margin-top:8px}.action-cell{flex-shrink:0}.btn-xs{padding:2px 6px;font-size:10px}.rule-group-container:hover{background-color:#f9f9f9}.group-content{pointer-events:none}.group-content>*{pointer-events:auto}.logical-operator-label{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border:1px solid #ced4da;background-color:#fff4ce;color:#495057;font-size:14px;font-weight:500;min-width:100px;width:57px;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["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: "directive", type: i1$4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: CoreControlValueOnlyComponent, selector: "core-control-value-only", inputs: ["$control", "$form", "$fieldName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }], animations: [
|
|
26421
|
+
trigger('fadeSwitch', [
|
|
26422
|
+
state('visible', style({ opacity: 1 })),
|
|
26423
|
+
state('hidden', style({ opacity: 0 })),
|
|
26424
|
+
transition('hidden => visible', [animate('250ms ease-in')]),
|
|
26425
|
+
transition('visible => hidden', [animate('150ms ease-out')]),
|
|
26426
|
+
])
|
|
26427
|
+
] }); }
|
|
26428
|
+
}
|
|
26429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleTreeComponent, decorators: [{
|
|
26430
|
+
type: Component,
|
|
26431
|
+
args: [{ selector: 'core-rule-tree', imports: [
|
|
26432
|
+
FormsModule,
|
|
26433
|
+
ReactiveFormsModule,
|
|
26434
|
+
CoreControlValueOnlyComponent,
|
|
26435
|
+
NgTemplateOutlet,
|
|
26436
|
+
CoreDropdownComponent,
|
|
26437
|
+
TooltipDirective,
|
|
26438
|
+
TranslatePipe
|
|
26439
|
+
], animations: [
|
|
26440
|
+
trigger('fadeSwitch', [
|
|
26441
|
+
state('visible', style({ opacity: 1 })),
|
|
26442
|
+
state('hidden', style({ opacity: 0 })),
|
|
26443
|
+
transition('hidden => visible', [animate('250ms ease-in')]),
|
|
26444
|
+
transition('visible => hidden', [animate('150ms ease-out')]),
|
|
26445
|
+
])
|
|
26446
|
+
], template: "<div class=\"core-rule-tree-container\">\r\n\r\n <form [formGroup]=\"$mainForm()\" (ngSubmit)=\"null\" class=\"core-rule-tree-form\">\r\n\r\n <div class=\"top-bar\">\r\n <div class=\"expression-box\">\r\n Expression = {{ crts.$filterString() || '()' }}\r\n </div>\r\n \r\n </div>\r\n \r\n <div class=\"query-builder\">\r\n <ng-template #queryTemplate let-filter=\"filter\" let-groupToRemove=\"groupToRemove\">\r\n \r\n <div class=\"group-card\">\r\n\r\n <div class=\"group-header\">\r\n\r\n <div class=\"logical-operator\">\r\n\r\n <select class=\"form-control pointer\" [formControl]=\"filter.get('logicalOperator')\">\r\n <option value=\"AND\">AND</option>\r\n <option value=\"OR\">OR</option>\r\n </select>\r\n\r\n <!-- Collapse/Expand Button -->\r\n @if (!!filter.value.filters?.length) {\r\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\"\r\n (click)=\"toggleCollapse(filter)\"\r\n [appTooltip]=\"isCollapsed(filter) ? 'Expand Group' : 'Collapse Group'\">\r\n <i class=\"feather\" [class.feather-plus]=\"isCollapsed(filter)\" [class.feather-minus]=\"!isCollapsed(filter)\"></i>\r\n </button>\r\n }\r\n <div class=\"local-action-buttons\">\r\n <button type=\"button\" class=\"btn btn-success feather-file-plus\"\r\n (click)=\"addCondition(filter)\"\r\n [appTooltip]=\"'Add Condition to this Group'\" [position]=\"'above'\">\r\n </button>\r\n <button type=\"button\" class=\"btn btn-success feather-folder-plus\"\r\n (click)=\"addGroup(filter)\"\r\n [appTooltip]=\"'Add Subgroup to this Group'\" [position]=\"'above'\">\r\n </button>\r\n @if (!!groupToRemove) {\r\n <button type=\"button\" class=\"btn btn-danger feather-trash\"\r\n (click)=\"removeGroup(groupToRemove.group, groupToRemove.index)\"\r\n [appTooltip]=\"'Remove Group'\" [position]=\"'above'\">\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-content\">\r\n \r\n @if (!isCollapsed(filter)) {\r\n\r\n @if (!!filter.value.filters?.length) {\r\n <div class=\"filter-list\" formArrayName=\"filters\">\r\n @for (childFilter of filter.get('filters').controls; track $index; let idx = $index) {\r\n <div class=\"filter-row\" [formGroup]=\"childFilter\">\r\n \r\n @if (!childFilter.value.logicalOperator) {\r\n\r\n <div class=\"filter-raw\">\r\n\r\n <div class=\"field-cell\">\r\n <select class=\"form-control\"\r\n [appTooltip]=\"getColLabelTooltip(childFilter)\"\r\n [showAnyway]=\"true\"\r\n formControlName=\"name\">\r\n @for (col of $totalCols(); track $index) {\r\n <option [value]=\"col.field\">{{ col.label || col.field }}</option>\r\n }\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"operator-cell\">\r\n <select class=\"form-control\" formControlName=\"relationalOperator\">\r\n @for (op of relationalOperator; track $index) {\r\n <option [value]=\"op\">{{ operatorFriendlyMap[op] || op }}</option>\r\n }\r\n </select>\r\n </div> \r\n\r\n <div class=\"value-cell\">\r\n @if (shouldShowValueControl(childFilter.value.relationalOperator)) {\r\n <core-control-value-only\r\n @fadeSwitch\r\n [$control]=\"resolveControl(childFilter.value.name)!\"\r\n [$form]=\"childFilter\"\r\n [$fieldName]=\"'value'\"\r\n >\r\n </core-control-value-only>\r\n }\r\n </div>\r\n\r\n <div class=\"action-cell\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\"\r\n (click)=\"removeCondition(filter, idx)\"\r\n [appTooltip]=\"'Remove Condition'\">\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"filter-message default\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Default message...\"\r\n formControlName=\"defaultMessage\" />\r\n </div>\r\n\r\n <div class=\"filter-message english\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"English message...\"\r\n formControlName=\"englishMessage\" />\r\n </div>\r\n\r\n } @else {\r\n <!-- Recursive nested groups -->\r\n <ng-container *ngTemplateOutlet=\"queryTemplate; context: { filter: childFilter, groupToRemove: { group: filter, index: idx } }\"></ng-container>\r\n }\r\n \r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n \r\n </ng-template>\r\n \r\n <ng-container\r\n *ngTemplateOutlet=\"queryTemplate; context: { filter: $mainForm(), groupToRemove: null }\">\r\n </ng-container>\r\n \r\n </div>\r\n \r\n </form>\r\n \r\n <div class=\"dev-json-view\">\r\n <pre class=\"json-preview\">{{ crts.$filterFormJsonString() }}</pre>\r\n </div>\r\n \r\n </div>\r\n", styles: [".core-rule-tree-container{display:flex;flex-direction:column;width:100%;overflow-y:auto}.core-rule-tree-container button{border-radius:0}.expression-box{background:#e0f2fe;padding:6px 12px;font-weight:500;font-size:14px}.top-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px}.expression-display{background-color:#e0f2fe;padding:8px 16px;font-family:monospace;font-size:14px;color:#0369a1}.query-builder{flex-grow:1;overflow-y:visible}.json-preview{background-color:#fff;color:#333;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 2px 6px #00000014;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;overflow-x:auto;line-height:1.5;margin-top:15px}.core-rule-tree-form{display:flex;flex-direction:column;gap:16px}.top-bar{display:flex;justify-content:space-between;align-items:center}.expression-box{background:#e0f2fe;padding:6px 12px;font-weight:500;font-size:14px;margin-right:8px}.query-builder{display:flex;flex-direction:column;gap:16px}.group-card{padding:15px;background:#f9f9f9;display:flex;flex-direction:column;gap:8px;position:relative}.group-card .group-header{display:block;position:relative}.group-card .logical-operator{display:flex;align-items:center;align-self:flex-start;gap:8px}.group-card .logical-operator select{width:57px;background-color:#fff4ce}.group-card .logical-operator .local-action-buttons{margin-left:auto;display:flex;gap:4px}.group-card .logical-operator:hover .local-action-buttons{display:flex}.filter-list{display:flex;flex-direction:column;gap:8px}.filter-row{margin:8px 0}.filter-row .filter-raw{display:flex;align-items:center;gap:8px}.field-cell,.operator-cell,.value-cell{flex:1}.field-cell select{width:136px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.filter-message{margin-top:8px}.action-cell{flex-shrink:0}.btn-xs{padding:2px 6px;font-size:10px}.rule-group-container:hover{background-color:#f9f9f9}.group-content{pointer-events:none}.group-content>*{pointer-events:auto}.logical-operator-label{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border:1px solid #ced4da;background-color:#fff4ce;color:#495057;font-size:14px;font-weight:500;min-width:100px;width:57px;-webkit-user-select:none;user-select:none}\n"] }]
|
|
26447
|
+
}], ctorParameters: () => [{ type: MultiLanguageService }] });
|
|
26448
|
+
|
|
26449
|
+
class CoreRuleSetComponent extends CoreFormControlBaseComponent {
|
|
26450
|
+
constructor() {
|
|
26451
|
+
super();
|
|
26452
|
+
this.value = null;
|
|
26453
|
+
this.$open = signal(false);
|
|
26454
|
+
this.crts = inject(CoreRuleTreeService);
|
|
26455
|
+
this.ruleTreeForm = this.crts.createGroupForm();
|
|
26456
|
+
this.wfs = inject(CoreWorkflowService);
|
|
26457
|
+
}
|
|
26458
|
+
onToggleOpen() {
|
|
26459
|
+
this.$open.update(x => !x);
|
|
26460
|
+
}
|
|
26461
|
+
onRuleTreeJsonChange(e) {
|
|
26462
|
+
this.writeValue(e);
|
|
26463
|
+
this.onChange(e);
|
|
26464
|
+
this.markAsTouched();
|
|
26465
|
+
}
|
|
26466
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26467
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CoreRuleSetComponent, isStandalone: true, selector: "core-rule-set", providers: [
|
|
26468
|
+
{
|
|
26469
|
+
provide: NG_VALUE_ACCESSOR,
|
|
26470
|
+
multi: true,
|
|
26471
|
+
useExisting: forwardRef(() => CoreRuleSetComponent)
|
|
26472
|
+
}
|
|
26473
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"core-rule-set-container\">\r\n <button type=\"button\" class=\"btn btn-primary form-control\" (click)=\"onToggleOpen()\">Rule set</button>\r\n <div class=\"rule-set-popup\" [class.open]=\"$open()\">\r\n <core-rule-tree \r\n [$totalCols]=\"wfs.$availableCols()\"\r\n [$mainForm]=\"ruleTreeForm\"\r\n ($jsonEmitter)=\"onRuleTreeJsonChange($event)\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [".core-rule-set-container{position:relative}.core-rule-set-container .rule-set-popup{display:none;background-color:#fff;position:absolute;left:0;top:100%;width:360px;height:fit-content;box-shadow:.4rem 0 2rem #0000002e;padding:15px 15px 0}.core-rule-set-container .rule-set-popup.open{display:block}\n"], dependencies: [{ kind: "component", type: CoreRuleTreeComponent, selector: "core-rule-tree", inputs: ["$totalCols", "$mainForm", "$filterStringInput", "$expressionInput", "$form", "$field"], outputs: ["$jsonEmitter"] }] }); }
|
|
26474
|
+
}
|
|
26475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreRuleSetComponent, decorators: [{
|
|
26476
|
+
type: Component,
|
|
26477
|
+
args: [{ selector: 'core-rule-set', imports: [
|
|
26478
|
+
CoreRuleTreeComponent
|
|
26479
|
+
], providers: [
|
|
26480
|
+
{
|
|
26481
|
+
provide: NG_VALUE_ACCESSOR,
|
|
26482
|
+
multi: true,
|
|
26483
|
+
useExisting: forwardRef(() => CoreRuleSetComponent)
|
|
26484
|
+
}
|
|
26485
|
+
], template: "<div class=\"core-rule-set-container\">\r\n <button type=\"button\" class=\"btn btn-primary form-control\" (click)=\"onToggleOpen()\">Rule set</button>\r\n <div class=\"rule-set-popup\" [class.open]=\"$open()\">\r\n <core-rule-tree \r\n [$totalCols]=\"wfs.$availableCols()\"\r\n [$mainForm]=\"ruleTreeForm\"\r\n ($jsonEmitter)=\"onRuleTreeJsonChange($event)\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [".core-rule-set-container{position:relative}.core-rule-set-container .rule-set-popup{display:none;background-color:#fff;position:absolute;left:0;top:100%;width:360px;height:fit-content;box-shadow:.4rem 0 2rem #0000002e;padding:15px 15px 0}.core-rule-set-container .rule-set-popup.open{display:block}\n"] }]
|
|
26486
|
+
}], ctorParameters: () => [] });
|
|
26487
|
+
|
|
25984
26488
|
class CoreControlNoFormArrayComponent extends BaseComponent {
|
|
25985
26489
|
constructor(mls, alertService) {
|
|
25986
26490
|
super(mls);
|
|
@@ -26106,7 +26610,7 @@ class CoreControlNoFormArrayComponent extends BaseComponent {
|
|
|
26106
26610
|
}
|
|
26107
26611
|
}
|
|
26108
26612
|
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 }); }
|
|
26109
|
-
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 (\"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 {{ ' ' }}\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"] }, { 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: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
|
|
26613
|
+
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 {{ ' ' }}\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"] }, { 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$"] }] }); }
|
|
26110
26614
|
}
|
|
26111
26615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreControlNoFormArrayComponent, decorators: [{
|
|
26112
26616
|
type: Component,
|
|
@@ -26136,8 +26640,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
26136
26640
|
CoreShiftCollectionComponent,
|
|
26137
26641
|
CoreTopicPickerComponent,
|
|
26138
26642
|
CoreIosSwitcherComponent,
|
|
26643
|
+
CoreRuleSetComponent,
|
|
26139
26644
|
HtmlTooltipDirective
|
|
26140
|
-
], 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 (\"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 {{ ' ' }}\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"] }]
|
|
26645
|
+
], 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 {{ ' ' }}\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"] }]
|
|
26141
26646
|
}], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
|
|
26142
26647
|
type: Input
|
|
26143
26648
|
}], checkError$: [{
|
|
@@ -26219,7 +26724,7 @@ class CoreFormArrayComponent extends CoreFormControlBaseComponent {
|
|
|
26219
26724
|
multi: true,
|
|
26220
26725
|
useExisting: forwardRef(() => CoreFormArrayComponent),
|
|
26221
26726
|
}
|
|
26222
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-form-array-container\">\r\n\r\n\r\n @for (group of controlGroups(); track $index; let i = $index) {\r\n <!-- \u2705 Parent owns the formGroup context -->\r\n <div class=\"form-array-item\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-array-content\">\r\n @for (section of config; track $index) {\r\n @if (!section.hidden) {\r\n <div class=\"section\">\r\n <!-- @if (section.caption) {\r\n <div class=\"section-caption\">{{ section.caption }}</div>\r\n } -->\r\n\r\n @for (row of section.rows; track $index) {\r\n <div class=\"row mb15\">\r\n @for (col of row; track $index) {\r\n <div [class]=\"'col-md-' + col.flexSize\">\r\n <!-- no [form] needed -->\r\n <core-control-no-form-array \r\n [control]=\"col\" \r\n [readonly]=\"!!disabled || !!col.readonly\"\r\n [disabled]=\"!!disabled || !!col.disabled\"\r\n [checkError$]=\"checkError$\">\r\n </core-control-no-form-array>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-toolbar\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\" (click)=\"removeItem(i)\"\r\n [appTooltip]=\"'Remove group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-footer\">\r\n <button type=\"button\" class=\"btn btn-success btn-sm feather-file-plus\" (click)=\"addItem()\"\r\n [appTooltip]=\"'Add group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n</div>", styles: [".core-form-array-container{padding:15px;border:1px solid #ced4da}.core-form-array-container .form-array-item{display:flex;align-items:flex-start}.core-form-array-container .form-array-item>*{display:inline-block!important}.core-form-array-container .form-array-item .form-array-content{width:calc(100% - 46px)}.core-form-array-container .form-array-item .form-array-toolbar{width:14px;padding-left:12px;transform:translateY(25px)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "component", type: CoreControlNoFormArrayComponent, selector: "core-control-no-form-array", inputs: ["control", "checkError$", "rangeLimit", "readonly", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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"] }] }); }
|
|
26727
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-form-array-container\">\r\n\r\n\r\n @for (group of controlGroups(); track $index; let i = $index) {\r\n <!-- \u2705 Parent owns the formGroup context -->\r\n <div class=\"form-array-item\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-array-content\">\r\n @for (section of config; track $index) {\r\n @if (!section.hidden) {\r\n <div class=\"section\">\r\n <!-- @if (section.caption) {\r\n <div class=\"section-caption\">{{ section.caption }}</div>\r\n } -->\r\n\r\n @for (row of section.rows; track $index) {\r\n <div class=\"row mb15\">\r\n @for (col of row; track $index) {\r\n <div [class]=\"'col-md-' + col.flexSize\" [class.d-none]=\"col.flexSize === 0\">\r\n <!-- no [form] needed -->\r\n <core-control-no-form-array \r\n [control]=\"col\" \r\n [readonly]=\"!!disabled || !!col.readonly\"\r\n [disabled]=\"!!disabled || !!col.disabled\"\r\n [checkError$]=\"checkError$\">\r\n </core-control-no-form-array>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-toolbar\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\" (click)=\"removeItem(i)\"\r\n [appTooltip]=\"'Remove group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-footer\">\r\n <button type=\"button\" class=\"btn btn-success btn-sm feather-file-plus\" (click)=\"addItem()\"\r\n [appTooltip]=\"'Add group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n</div>", styles: [".core-form-array-container{padding:15px;border:1px solid #ced4da}.core-form-array-container .form-array-item{display:flex;align-items:flex-start}.core-form-array-container .form-array-item>*{display:inline-block!important}.core-form-array-container .form-array-item .form-array-content{width:calc(100% - 46px)}.core-form-array-container .form-array-item .form-array-toolbar{width:14px;padding-left:12px;transform:translateY(25px)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "component", type: CoreControlNoFormArrayComponent, selector: "core-control-no-form-array", inputs: ["control", "checkError$", "rangeLimit", "readonly", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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"] }] }); }
|
|
26223
26728
|
}
|
|
26224
26729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormArrayComponent, decorators: [{
|
|
26225
26730
|
type: Component,
|
|
@@ -26235,7 +26740,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
26235
26740
|
TooltipDirective,
|
|
26236
26741
|
CoreControlNoFormArrayComponent,
|
|
26237
26742
|
ReactiveFormsModule
|
|
26238
|
-
], template: "<div class=\"core-form-array-container\">\r\n\r\n\r\n @for (group of controlGroups(); track $index; let i = $index) {\r\n <!-- \u2705 Parent owns the formGroup context -->\r\n <div class=\"form-array-item\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-array-content\">\r\n @for (section of config; track $index) {\r\n @if (!section.hidden) {\r\n <div class=\"section\">\r\n <!-- @if (section.caption) {\r\n <div class=\"section-caption\">{{ section.caption }}</div>\r\n } -->\r\n\r\n @for (row of section.rows; track $index) {\r\n <div class=\"row mb15\">\r\n @for (col of row; track $index) {\r\n <div [class]=\"'col-md-' + col.flexSize\">\r\n <!-- no [form] needed -->\r\n <core-control-no-form-array \r\n [control]=\"col\" \r\n [readonly]=\"!!disabled || !!col.readonly\"\r\n [disabled]=\"!!disabled || !!col.disabled\"\r\n [checkError$]=\"checkError$\">\r\n </core-control-no-form-array>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-toolbar\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\" (click)=\"removeItem(i)\"\r\n [appTooltip]=\"'Remove group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-footer\">\r\n <button type=\"button\" class=\"btn btn-success btn-sm feather-file-plus\" (click)=\"addItem()\"\r\n [appTooltip]=\"'Add group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n</div>", styles: [".core-form-array-container{padding:15px;border:1px solid #ced4da}.core-form-array-container .form-array-item{display:flex;align-items:flex-start}.core-form-array-container .form-array-item>*{display:inline-block!important}.core-form-array-container .form-array-item .form-array-content{width:calc(100% - 46px)}.core-form-array-container .form-array-item .form-array-toolbar{width:14px;padding-left:12px;transform:translateY(25px)}\n"] }]
|
|
26743
|
+
], template: "<div class=\"core-form-array-container\">\r\n\r\n\r\n @for (group of controlGroups(); track $index; let i = $index) {\r\n <!-- \u2705 Parent owns the formGroup context -->\r\n <div class=\"form-array-item\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-array-content\">\r\n @for (section of config; track $index) {\r\n @if (!section.hidden) {\r\n <div class=\"section\">\r\n <!-- @if (section.caption) {\r\n <div class=\"section-caption\">{{ section.caption }}</div>\r\n } -->\r\n\r\n @for (row of section.rows; track $index) {\r\n <div class=\"row mb15\">\r\n @for (col of row; track $index) {\r\n <div [class]=\"'col-md-' + col.flexSize\" [class.d-none]=\"col.flexSize === 0\">\r\n <!-- no [form] needed -->\r\n <core-control-no-form-array \r\n [control]=\"col\" \r\n [readonly]=\"!!disabled || !!col.readonly\"\r\n [disabled]=\"!!disabled || !!col.disabled\"\r\n [checkError$]=\"checkError$\">\r\n </core-control-no-form-array>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-toolbar\">\r\n <button type=\"button\" class=\"btn btn-danger btn-sm feather-trash-2\" (click)=\"removeItem(i)\"\r\n [appTooltip]=\"'Remove group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (!disabled && !readonly) {\r\n <div class=\"form-array-footer\">\r\n <button type=\"button\" class=\"btn btn-success btn-sm feather-file-plus\" (click)=\"addItem()\"\r\n [appTooltip]=\"'Add group'\" [showAnyway]=\"true\"></button>\r\n </div>\r\n }\r\n</div>", styles: [".core-form-array-container{padding:15px;border:1px solid #ced4da}.core-form-array-container .form-array-item{display:flex;align-items:flex-start}.core-form-array-container .form-array-item>*{display:inline-block!important}.core-form-array-container .form-array-item .form-array-content{width:calc(100% - 46px)}.core-form-array-container .form-array-item .form-array-toolbar{width:14px;padding-left:12px;transform:translateY(25px)}\n"] }]
|
|
26239
26744
|
}], ctorParameters: () => [], propDecorators: { formArrayName: [{
|
|
26240
26745
|
type: Input,
|
|
26241
26746
|
args: [{ required: true }]
|
|
@@ -27554,7 +28059,7 @@ class CoreFormComponent {
|
|
|
27554
28059
|
Object.keys(this.form.controls).forEach((key) => {
|
|
27555
28060
|
const control = this.form.get(key);
|
|
27556
28061
|
const errors = [];
|
|
27557
|
-
if (!!control.invalid) {
|
|
28062
|
+
if (!!control.invalid && !!control.errors) {
|
|
27558
28063
|
Object.keys(control.errors).forEach((key) => {
|
|
27559
28064
|
errors.push(key);
|
|
27560
28065
|
});
|
|
@@ -27872,6 +28377,7 @@ class CorePageEditComponent {
|
|
|
27872
28377
|
if (!!changes['id'] && !!changes['id'].currentValue) {
|
|
27873
28378
|
this.idStream$.next(changes['id'].currentValue);
|
|
27874
28379
|
}
|
|
28380
|
+
this.cdr.markForCheck();
|
|
27875
28381
|
}
|
|
27876
28382
|
sendSignal(data) {
|
|
27877
28383
|
const connection = this.hubConnectionService.hubConnection$.value;
|
|
@@ -30080,7 +30586,7 @@ class CoreParamControlComponent extends BaseComponent {
|
|
|
30080
30586
|
this.ngModelSubscription?.unsubscribe();
|
|
30081
30587
|
}
|
|
30082
30588
|
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 }); }
|
|
30083
|
-
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
|
|
30589
|
+
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"] }, { 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"] }] }); }
|
|
30084
30590
|
}
|
|
30085
30591
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreParamControlComponent, decorators: [{
|
|
30086
30592
|
type: Component,
|
|
@@ -30099,7 +30605,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
30099
30605
|
CoreFormControlSeekerComponent,
|
|
30100
30606
|
CoreFileFormatPickerComponent,
|
|
30101
30607
|
CoreCurrencyInputComponent
|
|
30102
|
-
], template: "<div class=\"core-param-control-container\">\r\n\r\n
|
|
30608
|
+
], 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"] }]
|
|
30103
30609
|
}], ctorParameters: () => [{ type: MultiLanguageService }, { type: AlertService }], propDecorators: { control: [{
|
|
30104
30610
|
type: Input
|
|
30105
30611
|
}], enableTimeZoneConverterForDateTimePeriodParameters: [{
|
|
@@ -32220,7 +32726,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
32220
32726
|
const hrmSchemaRoutes = [
|
|
32221
32727
|
{
|
|
32222
32728
|
path: '',
|
|
32223
|
-
loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-
|
|
32729
|
+
loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-DPqZBYnx.mjs').then(m => m.HrmSchemaComponent)
|
|
32224
32730
|
}
|
|
32225
32731
|
];
|
|
32226
32732
|
|
|
@@ -34393,7 +34899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
34393
34899
|
const simpleChatRoutes = [
|
|
34394
34900
|
{
|
|
34395
34901
|
path: '',
|
|
34396
|
-
loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-
|
|
34902
|
+
loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-CQvQzfwA.mjs').then(m => m.SimpleChatComponent)
|
|
34397
34903
|
}
|
|
34398
34904
|
];
|
|
34399
34905
|
|
|
@@ -35059,7 +35565,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
35059
35565
|
const coreSysActionRoutes = [
|
|
35060
35566
|
{
|
|
35061
35567
|
path: "",
|
|
35062
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-
|
|
35568
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-DSjGTh1K.mjs').then(m => m.CoreSysActionComponent),
|
|
35063
35569
|
children: [
|
|
35064
35570
|
{
|
|
35065
35571
|
path: ":id",
|
|
@@ -36452,11 +36958,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
36452
36958
|
const sysSmtpClientRoutes = [
|
|
36453
36959
|
{
|
|
36454
36960
|
path: '',
|
|
36455
|
-
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-
|
|
36961
|
+
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-5f4Hm6sZ.mjs').then(m => m.SysSmtpClientComponent),
|
|
36456
36962
|
children: [
|
|
36457
36963
|
{
|
|
36458
36964
|
path: ':id',
|
|
36459
|
-
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-
|
|
36965
|
+
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-DQyeSL3y.mjs').then(m => m.SysSmtpClientEditComponent),
|
|
36460
36966
|
outlet: 'corePageListAux'
|
|
36461
36967
|
}
|
|
36462
36968
|
]
|
|
@@ -37642,11 +38148,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
37642
38148
|
const coreDocGenRoutes = [
|
|
37643
38149
|
{
|
|
37644
38150
|
path: 'template-list',
|
|
37645
|
-
loadComponent: () => import('./ngx-histaff-alpha-template-list.component-
|
|
38151
|
+
loadComponent: () => import('./ngx-histaff-alpha-template-list.component-Hxk1mvGh.mjs').then(m => m.TemplateListComponent),
|
|
37646
38152
|
},
|
|
37647
38153
|
{
|
|
37648
38154
|
path: ":id",
|
|
37649
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-
|
|
38155
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-D1XlpSNr.mjs').then(m => m.CoreTemplateEditorComponent),
|
|
37650
38156
|
canDeactivate: [CanDeactivateGuard]
|
|
37651
38157
|
},
|
|
37652
38158
|
{
|
|
@@ -37675,7 +38181,7 @@ const coreFormDesignRoutes = [
|
|
|
37675
38181
|
},
|
|
37676
38182
|
{
|
|
37677
38183
|
path: ':id',
|
|
37678
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-
|
|
38184
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-Cy_mOM1n.mjs').then(m => m.CoreFormDesignComponent)
|
|
37679
38185
|
}
|
|
37680
38186
|
];
|
|
37681
38187
|
|
|
@@ -38586,7 +39092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
38586
39092
|
const coreNavigationTrackerRoutes = [
|
|
38587
39093
|
{
|
|
38588
39094
|
path: '',
|
|
38589
|
-
loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-
|
|
39095
|
+
loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-Dhp9w826.mjs').then(m => m.TrackerStudioComponent)
|
|
38590
39096
|
}
|
|
38591
39097
|
];
|
|
38592
39098
|
|
|
@@ -41689,33 +42195,33 @@ const coreWorkflowRoutes = [
|
|
|
41689
42195
|
{
|
|
41690
42196
|
path: 'form-assign/:id',
|
|
41691
42197
|
outlet: "formAssignAux",
|
|
41692
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-
|
|
42198
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-ClY5trbS.mjs').then(m => m.WfFormAssignComponent),
|
|
41693
42199
|
canDeactivate: [CanDeactivateGuard]
|
|
41694
42200
|
}
|
|
41695
42201
|
]
|
|
41696
42202
|
},
|
|
41697
42203
|
{
|
|
41698
42204
|
path: 'global-config',
|
|
41699
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-
|
|
42205
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-Cr5x7Ejg.mjs').then(m => m.WfGlobalConfigComponent)
|
|
41700
42206
|
},
|
|
41701
42207
|
{
|
|
41702
42208
|
path: 'db-settings',
|
|
41703
|
-
loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-
|
|
42209
|
+
loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-AwS6B8Ne.mjs').then(m => m.DbSettingsComponent)
|
|
41704
42210
|
},
|
|
41705
42211
|
{
|
|
41706
42212
|
path: 'workflow-consume',
|
|
41707
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-
|
|
42213
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-DV84nxOo.mjs').then(m => m.CoreWorkflowConsumeComponent),
|
|
41708
42214
|
children: [
|
|
41709
42215
|
{
|
|
41710
42216
|
path: ':id',
|
|
41711
42217
|
outlet: "workflowConsume",
|
|
41712
|
-
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-
|
|
42218
|
+
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-CatM7zte.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
|
|
41713
42219
|
}
|
|
41714
42220
|
]
|
|
41715
42221
|
},
|
|
41716
42222
|
{
|
|
41717
42223
|
path: 'workflow-consume/:id',
|
|
41718
|
-
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-
|
|
42224
|
+
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-CatM7zte.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
|
|
41719
42225
|
},
|
|
41720
42226
|
{
|
|
41721
42227
|
path: 'workflow-group-edit/:id',
|
|
@@ -41725,21 +42231,21 @@ const coreWorkflowRoutes = [
|
|
|
41725
42231
|
},
|
|
41726
42232
|
{
|
|
41727
42233
|
path: 'design/:id',
|
|
41728
|
-
loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-
|
|
42234
|
+
loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-DIZLQKWJ.mjs').then(m => m.wfDesignWrapperRoutes),
|
|
41729
42235
|
},
|
|
41730
42236
|
]
|
|
41731
42237
|
},
|
|
41732
42238
|
{
|
|
41733
42239
|
path: 'react/:id',
|
|
41734
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-
|
|
42240
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-1yYa-SfK.mjs').then(m => m.WfInstanceStepReactComponent)
|
|
41735
42241
|
},
|
|
41736
42242
|
{
|
|
41737
42243
|
path: 'status/:id',
|
|
41738
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-
|
|
42244
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-BIvdd1YN.mjs').then(m => m.WfInstanceStatusComponent)
|
|
41739
42245
|
},
|
|
41740
42246
|
{
|
|
41741
42247
|
path: 'lab',
|
|
41742
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-
|
|
42248
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-mbJjrJ6v.mjs').then(m => m.WfLabComponent)
|
|
41743
42249
|
}
|
|
41744
42250
|
];
|
|
41745
42251
|
|
|
@@ -44347,5 +44853,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
44347
44853
|
* Generated bundle index. Do not edit.
|
|
44348
44854
|
*/
|
|
44349
44855
|
|
|
44350
|
-
export { EnumCoreButtonVNSCode as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumFormBaseContolType as E, FullscreenModalLoaderComponent as F, DomService as G, CoreDropdownComponent as H, ImageErrorResolverDirective as I, CoreChecklistComponent as J, CoreDatePickerComponent as K, CoreFormControlSeekerComponent as L, MultiLanguageService as M, CoreCurrencyInputComponent as N, EnumActorSourceType as O, CoreParamControlComponent as P, CoreRadioGroupComponent as Q, GptService as R, StringHtmlPipe as S, TooltipDirective as T, CoreStickerCollectionComponent as U, ApplicationHelpService as V, HotKeysDirective as W, EnumCorePageEditMode as X, CoreFormComponent as Y, NavigatorService as Z, JsonService as _, AppConfigService as a, ClientService as a$, READONLY_WORKFLOW_FIELDS as a0, noneAutoClosedAlertOptions as a1, CoreButtonGroupVnsComponent as a2, EnumFilterOperator as a3, HtmlTooltipDirective as a4, CoreControlNoFormArrayComponent as a5, EnumFormDesignMode as a6, CoreControlComponent as a7, JsonSafePipe as a8, CoreAttachmentComponent as a9, EnumSignalRType as aA, EnumSortDirection as aB, EnumStyleButtonClass as aC, CanActivateFunctionUrlMapperGuard as aD, InitializationCanActivateFn as aE, InitializationCanMatchFn as aF, httpInterceptorProviders as aG, InterceptorSkipHeader as aH, appTypeInterceptor as aI, baseUrlInterceptor as aJ, authInterceptor as aK, graphInterceptor as aL, tokenInterceptor as aM, responseInterceptor as aN, timeZoneInterceptor as aO, cachingInterceptor as aP, langInterceptor as aQ, OnlineUsersComponent as aR, ActionService as aS, AppInitializationService as aT, AuthService as aU, CacheService as aV, EnumSwUpdateVersionUpdatesEventType as aW, CheckForUpdateService as aX, EnumDeviceType as aY, EnumBrowserType as aZ, EnumOsType as a_, CoreMonthSelectorComponent as aa, EnumImageResolverType as ab, NormalizeHumanNamePipe as ac, CoreIosSwitcherComponent as ad, SunnyRotatingComponent as ae, MapAppdemoToServerPipePipe as af, MapAttachmentToServerPipe as ag, MapNewsfeedMediaToServerPipe as ah, UploadedFilenameCutoffPipe as ai, DialogStateComponent as aj, FooterComponent as ak, RightchatComponent as al, WaittingScreenComponent as am, longAlertOptions as an, attachmentOptions as ao, CORE_VNS_BUTTONS as ap, defaultPaging as aq, DESKTOP_SCREEN_HEDER_HEIGHT as ar, MOBILE_SCREEN_HEDER_HEIGHT as as, themeBlue as at, DATE_VALUE_ACCESSOR as au, DateValueAccessor as av, EnumDragType as aw, EnumErrorType as ax, EnumIconClass as ay, EnumProfileInfoSector as az, AlertService as b, MenuEditComponent as b$, CommonHttpRequestService as b0, TLA_CONFIG as b1, ConfigService as b2, CoreLocalStorageService as b3, CoreTableService as b4, DndService as b5, DocxMergeService as b6, FilterKitService as b7, GrpcService as b8, HeaderService as b9, SysMenuService as bA, TimeSheetService as bB, TopicPermissionService as bC, TopicTreeService as bD, UploadedFileService as bE, UrlService as bF, UserActivityService as bG, EvaluateDialogService as bH, EnumWorkScheduleViewMode as bI, WorkShiftDndService as bJ, AtShiftPatternComponent as bK, AtShiftPatternApplyComponent as bL, AtShiftPatternEditComponent as bM, AtWorksignComponent as bN, AtWorksignService as bO, FunctionComponent as bP, IndividualScheduleApplyComponent as bQ, FunctionEditComponent as bR, FunctionIgnoreComponent as bS, FunctionIgnoreEditComponent as bT, GroupFunctionComponent as bU, GroupFunctionEditComponent as bV, hrmSchemaRoutes as bW, InMemoryComponent as bX, LanguageComponent as bY, LanguageEditComponent as bZ, MenuComponent as b_, HistoryService as ba, HttpErrorHandler as bb, HubConnectionService as bc, IpServiceService as bd, LayoutService as be, LiquidJsService as bf, MapService as bg, MenuService as bh, MessageService as bi, ModalService as bj, OrganizationService as bk, PkceService as bl, PositionTransferService as bm, EnumNotificationDir as bn, NotificationActionType as bo, PushNotificationService as bp, RandomAvatarService as bq, RequestCache as br, RequestCacheWithMap as bs, ResponseService as bt, RoutingService as bu, EnumSsrsExpressFileExtension as bv, EnumSsrsExpressExportFormat as bw, SsrsExpressService as bx, StatisticService as by, StatisticAuthService as bz, CoreTerminalSpinnerComponent as c, coreDocGenRoutes as c$, MutationLogComponent as c0, MutationViewComponent as c1, PaSalaryPolicyComponent as c2, PaSalaryPolicyEditComponent as c3, PortalRouteComponent as c4, ScheduleOverviewComponent as c5, simpleChatRoutes as c6, PortalRouteEditComponent as c7, SysOtherListComponent as c8, SysOtherListEditComponent as c9, CoreButtonComponent as cA, CoreAccordionComponent as cB, CoreAccordionService as cC, CoreActiveUserCountComponent as cD, NewlyCreatedTokenService as cE, CoreApiProgressComponent as cF, CoreButtonGroupComponent as cG, EnumCoreButtonCode as cH, ActionSvgEditComponent as cI, CoreButtonGroupService as cJ, CoreButtonVnsComponent as cK, CoreCommonParamKitComponent as cL, CoreCompareDbPipelineComponent as cM, CoreCompositionState as cN, CoreCompositionService as cO, CoreCompositionComponent as cP, CoreConfirmDialogComponent as cQ, ConfirmDialogStateComponent as cR, CoreLazyMountComponent as cS, CoreRootMenuItemPickerComponent as cT, CoreRootMenuItemPickerService as cU, ECoreTableToolCode as cV, ECoreTableToolClass as cW, CoreTableComponent as cX, CoreContractSeekerComponent as cY, CoreControlNoGridBufferComponent as cZ, CoreControlNoSeekerComponent as c_, SysOtherListTypeComponent as ca, SysOtherListTypeEditComponent as cb, coreSysActionRoutes as cc, SysActionComponent as cd, SysActionEditComponent as ce, SysFunctionActionComponent as cf, SysFunctionActionEditComponent as cg, SysFunctionActionMapperComponent as ch, SysFunctionUrlMapperComponent as ci, FunctionEditService as cj, SysModuleComponent as ck, SysModuleEditComponent as cl, SysRouteAccessComponent as cm, sysSmtpClientRoutes as cn, liner_to_nested_array_script as co, blob_to_base64_script as cp, AlertComponent as cq, EnumAlertType as cr, IAlertOptions as cs, AnimatedTextService as ct, AnimatedTextComponent as cu, BaseDropdownComponent as cv, ButtonGroupModule as cw, ButtonGroupService as cx, ButtonGroupComponent as cy, EnumButtonCaptionCode as cz, CorePageHeaderComponent as d, CorePaginationFullComponent as d$, CoreDocgenToolbarComponent as d0, CoreEmployeeScheduleComponent as d1, CoreEmployeeSeekerComponent as d2, EnumCoreFileUploaderType as d3, CoreFileUploaderComponent as d4, CoreFilterHubComponent as d5, CoreFilterHubService as d6, ControlBase as d7, Textbox as d8, CoreControlService as d9, CoreNavigationTrackerComponent as dA, coreNavigationTrackerRoutes as dB, CoreOauthCallbackComponent as dC, CoreOauthCallbackOffice365Component as dD, EnumCoreOrgTreeaAccessorMode as dE, EnumCoreOrgTreeaSearchMode as dF, CoreOrgTreeComponent as dG, CoreOrgTreeState as dH, CoreOrgTreeService as dI, CoreOrgUnitSeekerComponent as dJ, CoreOrgchartflexComponent as dK, CARD_COLORS as dL, CoreOrgchartflexWrapperComponent as dM, coreOrgchartflexRoutes as dN, CoreOrgParamComponent as dO, EnumCorePageEditBootstrapClass as dP, EnumCorePageEditFieldType as dQ, CorePageEditService as dR, CorePageEditLiteComponent as dS, CorePageEditTabComponent as dT, EnumExType as dU, CorePageListService as dV, CorePageListState as dW, CorePageListContentComponent as dX, EnumCoreViewItemType as dY, CorePageViewComponent as dZ, CorePaginationComponent as d_, CustomValidators as da, URL_PATTERN as db, coreFormDesignRoutes as dc, CoreFormTabComponent as dd, CoreFormLiteComponent as de, CoreFormControlBaseComponent as df, EnumCoreSeekerColumnJob as dg, EnumCoreSeekerColumnStaffProfile as dh, EnumCoreSeekerColumnContract as di, EnumCoreSeekerColumnWorking as dj, EnumCoreSeekerColumnWage as dk, EnumCoreSeekerColumnPosition as dl, EnumCoreSeekerColumnPositionConcurrent as dm, EnumCoreSeekerColumnAutoForm as dn, SeekerService as dp, CoreGridBufferComponent as dq, CoreHeaderParamsComponent as dr, CoreHelperComponent as ds, CoreLineComponent as dt, CoreLiquidWysiwygComponent as du, CoreListComponent as dv, CoreListLazyComponent as dw, CoreLoadingSurfaceComponent as dx, CoreMccComponent as dy, CoreMonthPickerComponent as dz, TranslatePipe as e, CoreDatetimeService as e$, CorePaginationFullService as e0, CoreFileFormatPickerComponent as e1, CorePermissionService as e2, EnumPermissionObjectType as e3, CorePermissionComponent as e4, CorePermissionActionsComponent as e5, CorePositionConcurrentSeekerComponent as e6, CorePositionSeekerComponent as e7, CoreQrcodeComponent as e8, EnumOparator as e9, CoreWorkflowBuilderComponent as eA, CoreWorkflowGroupEditComponent as eB, CoreYearPickerComponent as eC, CoreYearSelectorComponent as eD, EnumCoreD3ScaleType as eE, CoreD3Service as eF, CorePieComponent as eG, CoreScatterPlotComponent as eH, EnumHrComparisonCode as eI, EnumICoreStatisticWidgetDataType as eJ, CoreStatisticWidgetComponent as eK, DecisionComponent as eL, EvaluateDialogComponent as eM, HuconcurrentlyComponent as eN, JobComponent as eO, LanguageChangerComponent as eP, DEFAULT_SVG as eQ, ItemComponent as eR, NavigatorComponent as eS, OtpInputComponent as eT, OtpInputService as eU, PageTitleComponent as eV, PaginationComponent as eW, FilterPipe as eX, normalizeHumanName as eY, PositionComponent as eZ, PositionEditService as e_, CoreQueryBuilderComponent as ea, CoreReducerIconComponent as eb, CoreRotatingTextComponent as ec, CoreRouteAccumulatorComponent as ed, CoreRoutingHistoryComponent as ee, CoreSalaryPolicyPickerComponent as ef, CoreScrollComponent as eg, CoreScrollLazyComponent as eh, CoreSeenByComponent as ei, CoreShiftCardComponent as ej, CoreShiftCellComponent as ek, CoreShiftCollectionComponent as el, CoreShiftStickerComponent as em, STICKER_COLOR_SCHEMA as en, CoreSubFormGroupComponent as eo, CoreTabListComponent as ep, CoreTagsComponent as eq, CoreTopicPickerComponent as er, EnumCoreArticleCategoryTreeaAccessorMode as es, CoreTopicTreeComponent as et, CoreTreeComponent as eu, EnumCoreTreeGridEditMode as ev, CoreTreeGridComponent as ew, CoreWageSeekerComponent as ex, CoreWorkingSeekerComponent as ey, coreWorkflowRoutes as ez, CorePageListComponent as f, FileService as f0, LongTaskService as f1, EnumRecursiveFields as f2, RecursiveService as f3, StringService as f4, UnicodeService as f5, StaffProfileComponent as f6, ThreedotsComponent as f7, TooltipComponent as f8, UserActivityComponent as f9, WageComponent as fa, tooltip_directive as fb, coreStickerCollection_component as fc, dragReorder_directive as fd, 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, TableCellPipe as u, MapAvatarToServerPipe as v, alertOptions as w, SocketService as x, CoreFormDesignService as y, EnumWorkflowStepType as z };
|
|
44351
|
-
//# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-
|
|
44856
|
+
export { noneAutoClosedAlertOptions as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumFormBaseContolType as E, FullscreenModalLoaderComponent as F, DomService as G, EnumActorSourceType as H, ImageErrorResolverDirective as I, CoreParamControlComponent as J, CoreRadioGroupComponent as K, GptService as L, MultiLanguageService as M, CoreRuleTreeService as N, CoreRuleTreeComponent as O, CoreStickerCollectionComponent as P, ApplicationHelpService as Q, HotKeysDirective as R, StringHtmlPipe as S, TooltipDirective as T, CoreDatetimeService as U, EnumCorePageEditMode as V, CoreFormComponent as W, NavigatorService as X, JsonService as Y, EnumCoreButtonVNSCode as Z, READONLY_WORKFLOW_FIELDS as _, AppConfigService as a, EnumDeviceType as a$, CoreButtonGroupVnsComponent as a0, CoreDropdownComponent as a1, EnumFilterOperator as a2, HtmlTooltipDirective as a3, CoreControlNoFormArrayComponent as a4, EnumFormDesignMode as a5, CoreControlComponent as a6, JsonSafePipe as a7, CoreChecklistComponent as a8, CoreFormControlSeekerComponent as a9, EnumErrorType as aA, EnumIconClass as aB, EnumProfileInfoSector as aC, EnumSignalRType as aD, EnumSortDirection as aE, EnumStyleButtonClass as aF, CanActivateFunctionUrlMapperGuard as aG, InitializationCanActivateFn as aH, InitializationCanMatchFn as aI, httpInterceptorProviders as aJ, InterceptorSkipHeader as aK, appTypeInterceptor as aL, baseUrlInterceptor as aM, authInterceptor as aN, graphInterceptor as aO, tokenInterceptor as aP, responseInterceptor as aQ, timeZoneInterceptor as aR, cachingInterceptor as aS, langInterceptor as aT, OnlineUsersComponent as aU, ActionService as aV, AppInitializationService as aW, AuthService as aX, CacheService as aY, EnumSwUpdateVersionUpdatesEventType as aZ, CheckForUpdateService as a_, CoreAttachmentComponent as aa, CoreDatePickerComponent as ab, CoreMonthSelectorComponent as ac, CoreCurrencyInputComponent as ad, EnumImageResolverType as ae, NormalizeHumanNamePipe as af, CoreIosSwitcherComponent as ag, SunnyRotatingComponent as ah, MapAppdemoToServerPipePipe as ai, MapAttachmentToServerPipe as aj, MapNewsfeedMediaToServerPipe as ak, UploadedFilenameCutoffPipe as al, DialogStateComponent as am, FooterComponent as an, RightchatComponent as ao, WaittingScreenComponent as ap, longAlertOptions as aq, attachmentOptions as ar, CORE_VNS_BUTTONS as as, defaultPaging as at, DESKTOP_SCREEN_HEDER_HEIGHT as au, MOBILE_SCREEN_HEDER_HEIGHT as av, themeBlue as aw, DATE_VALUE_ACCESSOR as ax, DateValueAccessor as ay, EnumDragType as az, AlertService as b, LanguageComponent as b$, EnumBrowserType as b0, EnumOsType as b1, ClientService as b2, CommonHttpRequestService as b3, TLA_CONFIG as b4, ConfigService as b5, CoreLocalStorageService as b6, CoreTableService as b7, DndService as b8, DocxMergeService as b9, SsrsExpressService as bA, StatisticService as bB, StatisticAuthService as bC, SysMenuService as bD, TimeSheetService as bE, TopicPermissionService as bF, TopicTreeService as bG, UploadedFileService as bH, UrlService as bI, UserActivityService as bJ, EvaluateDialogService as bK, EnumWorkScheduleViewMode as bL, WorkShiftDndService as bM, AtShiftPatternComponent as bN, AtShiftPatternApplyComponent as bO, AtShiftPatternEditComponent as bP, AtWorksignComponent as bQ, AtWorksignService as bR, FunctionComponent as bS, IndividualScheduleApplyComponent as bT, FunctionEditComponent as bU, FunctionIgnoreComponent as bV, FunctionIgnoreEditComponent as bW, GroupFunctionComponent as bX, GroupFunctionEditComponent as bY, hrmSchemaRoutes as bZ, InMemoryComponent as b_, FilterKitService as ba, GrpcService as bb, HeaderService as bc, HistoryService as bd, HttpErrorHandler as be, HubConnectionService as bf, IpServiceService as bg, LayoutService as bh, LiquidJsService as bi, MapService as bj, MenuService as bk, MessageService as bl, ModalService as bm, OrganizationService as bn, PkceService as bo, PositionTransferService as bp, EnumNotificationDir as bq, NotificationActionType as br, PushNotificationService as bs, RandomAvatarService as bt, RequestCache as bu, RequestCacheWithMap as bv, ResponseService as bw, RoutingService as bx, EnumSsrsExpressFileExtension as by, EnumSsrsExpressExportFormat as bz, CoreTerminalSpinnerComponent as c, CoreContractSeekerComponent as c$, LanguageEditComponent as c0, MenuComponent as c1, MenuEditComponent as c2, MutationLogComponent as c3, MutationViewComponent as c4, PaSalaryPolicyComponent as c5, PaSalaryPolicyEditComponent as c6, PortalRouteComponent as c7, ScheduleOverviewComponent as c8, simpleChatRoutes as c9, ButtonGroupService as cA, ButtonGroupComponent as cB, EnumButtonCaptionCode as cC, CoreButtonComponent as cD, CoreAccordionComponent as cE, CoreAccordionService as cF, CoreActiveUserCountComponent as cG, NewlyCreatedTokenService as cH, CoreApiProgressComponent as cI, CoreButtonGroupComponent as cJ, EnumCoreButtonCode as cK, ActionSvgEditComponent as cL, CoreButtonGroupService as cM, CoreButtonVnsComponent as cN, CoreCommonParamKitComponent as cO, CoreCompareDbPipelineComponent as cP, CoreCompositionState as cQ, CoreCompositionService as cR, CoreCompositionComponent as cS, CoreConfirmDialogComponent as cT, ConfirmDialogStateComponent as cU, CoreLazyMountComponent as cV, CoreRootMenuItemPickerComponent as cW, CoreRootMenuItemPickerService as cX, ECoreTableToolCode as cY, ECoreTableToolClass as cZ, CoreTableComponent as c_, PortalRouteEditComponent as ca, SysOtherListComponent as cb, SysOtherListEditComponent as cc, SysOtherListTypeComponent as cd, SysOtherListTypeEditComponent as ce, coreSysActionRoutes as cf, SysActionComponent as cg, SysActionEditComponent as ch, SysFunctionActionComponent as ci, SysFunctionActionEditComponent as cj, SysFunctionActionMapperComponent as ck, SysFunctionUrlMapperComponent as cl, FunctionEditService as cm, SysModuleComponent as cn, SysModuleEditComponent as co, SysRouteAccessComponent as cp, sysSmtpClientRoutes as cq, liner_to_nested_array_script as cr, blob_to_base64_script as cs, AlertComponent as ct, EnumAlertType as cu, IAlertOptions as cv, AnimatedTextService as cw, AnimatedTextComponent as cx, BaseDropdownComponent as cy, ButtonGroupModule as cz, CorePageHeaderComponent as d, EnumCoreViewItemType as d$, CoreControlNoGridBufferComponent as d0, CoreControlNoSeekerComponent as d1, coreDocGenRoutes as d2, CoreDocgenToolbarComponent as d3, CoreEmployeeScheduleComponent as d4, CoreEmployeeSeekerComponent as d5, EnumCoreFileUploaderType as d6, CoreFileUploaderComponent as d7, CoreFilterHubComponent as d8, CoreFilterHubService as d9, CoreLoadingSurfaceComponent as dA, CoreMccComponent as dB, CoreMonthPickerComponent as dC, CoreNavigationTrackerComponent as dD, coreNavigationTrackerRoutes as dE, CoreOauthCallbackComponent as dF, CoreOauthCallbackOffice365Component as dG, EnumCoreOrgTreeaAccessorMode as dH, EnumCoreOrgTreeaSearchMode as dI, CoreOrgTreeComponent as dJ, CoreOrgTreeState as dK, CoreOrgTreeService as dL, CoreOrgUnitSeekerComponent as dM, CoreOrgchartflexComponent as dN, CARD_COLORS as dO, CoreOrgchartflexWrapperComponent as dP, coreOrgchartflexRoutes as dQ, CoreOrgParamComponent as dR, EnumCorePageEditBootstrapClass as dS, EnumCorePageEditFieldType as dT, CorePageEditService as dU, CorePageEditLiteComponent as dV, CorePageEditTabComponent as dW, EnumExType as dX, CorePageListService as dY, CorePageListState as dZ, CorePageListContentComponent as d_, ControlBase as da, Textbox as db, CoreControlService as dc, CustomValidators as dd, URL_PATTERN as de, coreFormDesignRoutes as df, CoreFormTabComponent as dg, CoreFormLiteComponent as dh, CoreFormControlBaseComponent as di, EnumCoreSeekerColumnJob as dj, EnumCoreSeekerColumnStaffProfile as dk, EnumCoreSeekerColumnContract as dl, EnumCoreSeekerColumnWorking as dm, EnumCoreSeekerColumnWage as dn, EnumCoreSeekerColumnPosition as dp, EnumCoreSeekerColumnPositionConcurrent as dq, EnumCoreSeekerColumnAutoForm as dr, SeekerService as ds, CoreGridBufferComponent as dt, CoreHeaderParamsComponent as du, CoreHelperComponent as dv, CoreLineComponent as dw, CoreLiquidWysiwygComponent as dx, CoreListComponent as dy, CoreListLazyComponent as dz, TranslatePipe as e, normalizeHumanName as e$, CorePageViewComponent as e0, CorePaginationComponent as e1, CorePaginationFullComponent as e2, CorePaginationFullService as e3, CoreFileFormatPickerComponent as e4, CorePermissionService as e5, EnumPermissionObjectType as e6, CorePermissionComponent as e7, CorePermissionActionsComponent as e8, CorePositionConcurrentSeekerComponent as e9, CoreWageSeekerComponent as eA, CoreWorkingSeekerComponent as eB, coreWorkflowRoutes as eC, CoreWorkflowBuilderComponent as eD, CoreWorkflowGroupEditComponent as eE, CoreYearPickerComponent as eF, CoreYearSelectorComponent as eG, EnumCoreD3ScaleType as eH, CoreD3Service as eI, CorePieComponent as eJ, CoreScatterPlotComponent as eK, EnumHrComparisonCode as eL, EnumICoreStatisticWidgetDataType as eM, CoreStatisticWidgetComponent as eN, DecisionComponent as eO, EvaluateDialogComponent as eP, HuconcurrentlyComponent as eQ, JobComponent as eR, LanguageChangerComponent as eS, DEFAULT_SVG as eT, ItemComponent as eU, NavigatorComponent as eV, OtpInputComponent as eW, OtpInputService as eX, PageTitleComponent as eY, PaginationComponent as eZ, FilterPipe as e_, CorePositionSeekerComponent as ea, CoreQrcodeComponent as eb, EnumOparator as ec, CoreQueryBuilderComponent as ed, CoreReducerIconComponent as ee, CoreRotatingTextComponent as ef, CoreRouteAccumulatorComponent as eg, CoreRoutingHistoryComponent as eh, CoreSalaryPolicyPickerComponent as ei, CoreScrollComponent as ej, CoreScrollLazyComponent as ek, CoreSeenByComponent as el, CoreShiftCardComponent as em, CoreShiftCellComponent as en, CoreShiftCollectionComponent as eo, CoreShiftStickerComponent as ep, STICKER_COLOR_SCHEMA as eq, CoreSubFormGroupComponent as er, CoreTabListComponent as es, CoreTagsComponent as et, CoreTopicPickerComponent as eu, EnumCoreArticleCategoryTreeaAccessorMode as ev, CoreTopicTreeComponent as ew, CoreTreeComponent as ex, EnumCoreTreeGridEditMode as ey, CoreTreeGridComponent as ez, CorePageListComponent as f, PositionComponent as f0, PositionEditService as f1, FileService as f2, LongTaskService as f3, EnumRecursiveFields as f4, RecursiveService as f5, StringService as f6, UnicodeService as f7, StaffProfileComponent as f8, ThreedotsComponent as f9, TooltipComponent as fa, UserActivityComponent as fb, WageComponent as fc, tooltip_directive as fd, coreStickerCollection_component as fe, dragReorder_directive as ff, 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, TableCellPipe as u, MapAvatarToServerPipe as v, alertOptions as w, SocketService as x, CoreFormDesignService as y, EnumWorkflowStepType as z };
|
|
44857
|
+
//# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-BZdzGBj5.mjs.map
|