monkey-front-components 0.0.787 → 0.0.788
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/esm2020/lib/components/shared/filter/options/value-range/value-range.component.mjs +7 -10
- package/fesm2015/monkey-front-components.mjs +6 -9
- package/fesm2015/monkey-front-components.mjs.map +1 -1
- package/fesm2020/monkey-front-components.mjs +6 -9
- package/fesm2020/monkey-front-components.mjs.map +1 -1
- package/monkey-front-components-0.0.788.tgz +0 -0
- package/package.json +1 -1
- package/monkey-front-components-0.0.787.tgz +0 -0
|
@@ -84,13 +84,10 @@ export class MECXFilterOptionsValueRangeComponent extends BaseComponent {
|
|
|
84
84
|
let { max, min } = value;
|
|
85
85
|
try {
|
|
86
86
|
if (!!min && !!max && Number(min) > Number(max)) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
return;
|
|
87
|
+
const oldMax = max;
|
|
88
|
+
const oldMin = min;
|
|
89
|
+
max = oldMin;
|
|
90
|
+
min = oldMax;
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
93
|
catch (e) {
|
|
@@ -112,13 +109,13 @@ export class MECXFilterOptionsValueRangeComponent extends BaseComponent {
|
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
111
|
MECXFilterOptionsValueRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterOptionsValueRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
MECXFilterOptionsValueRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXFilterOptionsValueRangeComponent, selector: "mecx-filter-options-value-range", inputs: { option: "option" }, outputs: { onSubmit: "onSubmit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px
|
|
112
|
+
MECXFilterOptionsValueRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXFilterOptionsValueRangeComponent, selector: "mecx-filter-options-value-range", inputs: { option: "option" }, outputs: { onSubmit: "onSubmit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep mecx-form-field-footer{height:12px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input{background-color:#fff;width:77px;height:32px;border:2px solid #bdc1c7!important;margin:0;border-radius:4px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep input:-webkit-autofill:hover,:host .form .inputs-container ::ng-deep input:-webkit-autofill:active,:host .form .inputs-container ::ng-deep input:-webkit-autofill:focus{background-color:#fff!important;box-shadow:0 0 0 1000px #f5f5f5 inset!important;width:77px;height:32px}:host .separator{width:100%;height:0px;border:1px solid #d6d6d6}:host .error{display:flex;padding:0 16px;font-size:12px;line-height:16px;color:var(--mecx-color-error-main);text-align:left}:host .buttons-container{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px 12px}:host ::ng-deep monkey-button button{width:103px}\n"], components: [{ type: i1.MonkeyRadioButtonComponent, selector: "monkey-radiobutton", inputs: ["label", "helperMessage", "placeholder", "icon", "infoMessage", "errorMessage", "value"], outputs: ["onChange"] }, { type: i1.MonkeyOptionComponent, selector: "monkey-option", inputs: ["type", "label", "value", "selectAll", "selected", "enableClick"], outputs: ["onSelectOption"] }, { type: i1.MonkeyInputComponent, selector: "monkey-input", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "type", "infoMessage", "errorMessage", "mask", "prefix", "maxLength", "onlyNumber", "onlyAlphaNumeric", "upperCase", "lowerCase", "capitalize", "currency", "useSymbol", "percent", "maxDateToday", "minYears", "value"], outputs: ["onChange"] }, { type: i1.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
116
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterOptionsValueRangeComponent, decorators: [{
|
|
117
114
|
type: Component,
|
|
118
|
-
args: [{ selector: 'mecx-filter-options-value-range', template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px
|
|
115
|
+
args: [{ selector: 'mecx-filter-options-value-range', template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep mecx-form-field-footer{height:12px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input{background-color:#fff;width:77px;height:32px;border:2px solid #bdc1c7!important;margin:0;border-radius:4px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep input:-webkit-autofill:hover,:host .form .inputs-container ::ng-deep input:-webkit-autofill:active,:host .form .inputs-container ::ng-deep input:-webkit-autofill:focus{background-color:#fff!important;box-shadow:0 0 0 1000px #f5f5f5 inset!important;width:77px;height:32px}:host .separator{width:100%;height:0px;border:1px solid #d6d6d6}:host .error{display:flex;padding:0 16px;font-size:12px;line-height:16px;color:var(--mecx-color-error-main);text-align:left}:host .buttons-container{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px 12px}:host ::ng-deep monkey-button button{width:103px}\n"] }]
|
|
119
116
|
}], ctorParameters: function () { return []; }, propDecorators: { option: [{
|
|
120
117
|
type: Input
|
|
121
118
|
}], onSubmit: [{
|
|
122
119
|
type: Output
|
|
123
120
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC9maWx0ZXIvb3B0aW9ucy92YWx1ZS1yYW5nZS92YWx1ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL2ZpbHRlci9vcHRpb25zL3ZhbHVlLXJhbmdlL3ZhbHVlLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxJQUFJLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU85RCxNQUFNLE9BQU8sb0NBQ1gsU0FBUSxhQUFhO0lBc0JyQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEJELFdBQU0sR0FBd0IsSUFBSSxDQUFDO1FBRWxDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsVUFBSyxHQUFjLElBQUksU0FBUyxDQUFDO1lBQy9CLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztT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TUFBTSxFQUFFO1lBQzdCLEdBQUcsR0FBRyxHQUFHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsR0FBRyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O2lJQXBJVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyxvTENuQmpELGk1RUFrRUE7MkZEL0NhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxpQ0FBaUM7MEVBUWxDLE1BQU07c0JBQWQsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgYXMgVmFsaWRhdG9yc18gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hGaWx0ZXJNZW51LCBNb25rZXlFY3hGaWx0ZXJNZW51VmFsaWRhdG9ycyB9IGZyb20gJ21vbmtleS1mcm9udC1jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9iYXNlL2Jhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IHZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9iYXNlL2Jhc2UtdmFsaWRhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21lY3gtZmlsdGVyLW9wdGlvbnMtdmFsdWUtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmFsdWUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWx1ZS1yYW5nZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1FQ1hGaWx0ZXJPcHRpb25zVmFsdWVSYW5nZUNvbXBvbmVudFxuICBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXNcbntcbiAgQElucHV0KCkgb3B0aW9uOiBNb25rZXlFY3hGaWx0ZXJNZW51ID0gbnVsbDtcblxuICBAT3V0cHV0KCkgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfbWF4ID0gJyc7XG5cbiAgX21pbiA9ICcnO1xuXG4gIF9mb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBtYXg6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgbWluOiBuZXcgRm9ybUNvbnRyb2woJycpXG4gIH0pO1xuXG4gIF9zZWxlY3RlZCA9ICd3aXRoJztcblxuICBfaGFzVmFsdWU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgZXZlbnRIYW5kbGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IE1vbmtleUVjeEZpbHRlck1lbnVWYWxpZGF0b3JzW10pIHtcbiAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdmFsaWRMaXN0OiBhbnlbXSA9IFtdO1xuICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCgodmFsaWQ6IE1vbmtleUVjeEZpbHRlck1lbnVWYWxpZGF0b3JzKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkLnBhcmFtXG4gICAgICAgICAgPyB2YWxpZGF0b3JzW3ZhbGlkLm5hbWVdKHZhbGlkLnBhcmFtKVxuICAgICAgICAgIDogdmFsaWRhdG9yc1t2YWxpZC5uYW1lXTtcbiAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWRhdGVkKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFZhbGlkYXRvcnNfLmNvbXBvc2UodmFsaWRMaXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBvcHRpb24gfSA9IHRoaXM7XG5cbiAgICB0aGlzLl9mb3JtLmdldCgnbWF4Jykuc2V0VmFsaWRhdG9ycyhbdGhpcy5iaW5kVmFsaWRhdGlvbnMob3B0aW9uLnZhbGlkYXRvcnMgfHwgW10pXSk7XG4gICAgdGhpcy5fZm9ybS5nZXQoJ21heCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLl9mb3JtLmdldCgnbWluJykuc2V0VmFsaWRhdG9ycyhbdGhpcy5iaW5kVmFsaWRhdGlvbnMob3B0aW9uLnZhbGlkYXRvcnMgfHwgW10pXSk7XG4gICAgdGhpcy5fZm9ybS5nZXQoJ21pbicpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCByYXdWYWx1ZSA9IGNoYW5nZXMub3B0aW9uPy5jdXJyZW50VmFsdWU/LnZhbHVlO1xuXG4gICAgaWYgKCFyYXdWYWx1ZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSAnd2l0aCc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShyYXdWYWx1ZSk7XG5cbiAgICBjb25zdCBoYXNDb250ZW50ID0gb2JqPy5taW4gfHwgb2JqPy5tYXg7XG5cbiAgICB0aGlzLl9zZWxlY3RlZCA9IGhhc0NvbnRlbnQgPyAnd2l0aCcgOiAnd2l0aG91dCc7XG5cbiAgICBpZiAoaGFzQ29udGVudCkge1xuICAgICAgdGhpcy5fZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgbWF4OiBvYmo/Lm1heCA/PyAnJyxcbiAgICAgICAgbWluOiBvYmo/Lm1pbiA/PyAnJ1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hhc1ZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DaG9vc2VPcHRpb24odmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSA9PT0gJ3dpdGgnKSB7XG4gICAgICB0aGlzLl9oYXNWYWx1ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSAnd2l0aG91dCcpIHtcbiAgICAgIHRoaXMuX2hhc1ZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGVhckFsbElucHV0cygpIHtcbiAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBvbkFwcGx5RmlsdGVyKCkge1xuICAgIGNvbnN0IHsgX2Zvcm0gfSA9IHRoaXM7XG4gICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSBudWxsO1xuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRm9ybShfZm9ybSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IHZhbHVlIH0gPSBfZm9ybTtcbiAgICBsZXQgeyBtYXgsIG1pbiB9ID0gdmFsdWU7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKCEhbWluICYmICEhbWF4ICYmIE51bWJlcihtaW4pID4gTnVtYmVyKG1heCkpIHtcbiAgICAgICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSB7XG4gICAgICAgICAgbWluOiB7XG4gICAgICAgICAgICBmaXJzdE1lc3NhZ2U6ICdFUlJPUlMuTUlOLUdSRUFUSEVSLVRIQU4tTUFYJyxcbiAgICAgICAgICAgIGxhc3RNZXNzYWdlOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVZhbGlkYXRvcnMgPSAocGFyYW06IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9wdGlvbi52YWxpZGF0b3JzLmZpbmQoKHsgbmFtZSB9KSA9PiB7XG4gICAgICAgIHJldHVybiBuYW1lID09PSBwYXJhbTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZm91bmQucGFyYW0gfHwgMDtcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkID09PSAnd2l0aCcpIHtcbiAgICAgIG1pbiA9IG1pbiB8fCBoYW5kbGVWYWxpZGF0b3JzKCdtaW4nKTtcbiAgICAgIG1heCA9IG1heCB8fCBoYW5kbGVWYWxpZGF0b3JzKCdtYXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB7IG1pbiwgbWF4IH07XG5cbiAgICB0aGlzLm9uU3VibWl0Lm5leHQoeyBbdGhpcy5vcHRpb24uZmllbGRdOiBKU09OLnN0cmluZ2lmeSh2YWx1ZXMpIH0pO1xuICAgIHRoaXMuZXZlbnRIYW5kbGUubmV4dCh7IFt0aGlzLm9wdGlvbi5maWVsZF06IEpTT04uc3RyaW5naWZ5KHZhbHVlcykgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgPG1vbmtleS1yYWRpb2J1dHRvblxuICAgICAgICAob25DaGFuZ2UpPVwib25DaG9vc2VPcHRpb24oJGV2ZW50KVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiX3NlbGVjdGVkXCJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgb3Agb2Ygb3B0aW9uPy5yb2xlc1wiXG4gICAgICA+XG4gICAgICAgIDxtb25rZXktb3B0aW9uIFtsYWJlbF09XCJvcD8ubGFiZWwgfCB0cmFuc2xhdGVcIiBbdmFsdWVdPVwib3A/LnR5cGVcIj4gPC9tb25rZXktb3B0aW9uPlxuICAgICAgPC9tb25rZXktcmFkaW9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGZvcm0gbmFtZT1cInZhbHVlUmFuZ2VGb3JtXCIgW2Zvcm1Hcm91cF09XCJfZm9ybVwiIGNsYXNzPVwiZm9ybVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0cy1jb250YWluZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIV9oYXNWYWx1ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgIDxtb25rZXktaW5wdXRcbiAgICAgICAgICAgIFtpbmZvTWVzc2FnZV09XCJvcHRpb24/LnZhbHVlcz8uWzBdLmluZm9NZXNzYWdlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9ubHlOdW1iZXI9XCJ0cnVlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJfbWluXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1pblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9uPy52YWx1ZXM/LlswXS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbW9ua2V5LWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtbXV0ZWQgZm9udC1zaXplLXh4cyBtdC0yXCI+IHt7ICdGSUVMRC5VTlRJTCcgfCB0cmFuc2xhdGUgfX0gPC9zcGFuPlxuICAgICAgICAgIDxtb25rZXktaW5wdXRcbiAgICAgICAgICAgIFtpbmZvTWVzc2FnZV09XCJvcHRpb24/LnZhbHVlcz8uWzFdLmluZm9NZXNzYWdlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9ubHlOdW1iZXI9XCJ0cnVlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJfbWF4XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1heFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9uPy52YWx1ZXM/LlsxXS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbW9ua2V5LWlucHV0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJlcnJvciBtdC0yXCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIF9fbW9ua2V5ZWN4Rm9ybUVycm9ycz8ubWluPy5maXJzdE1lc3NhZ2VcbiAgICAgICAgICA/IChfX21vbmtleWVjeEZvcm1FcnJvcnM/Lm1pbj8uZmlyc3RNZXNzYWdlIHwgdHJhbnNsYXRlKSArXG4gICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgX19tb25rZXllY3hGb3JtRXJyb3JzPy5taW4/Lmxhc3RNZXNzYWdlXG4gICAgICAgICAgOiBfX21vbmtleWVjeEZvcm1FcnJvcnM/Lm1heD8uZmlyc3RNZXNzYWdlXG4gICAgICAgICAgPyAoX19tb25rZXllY3hGb3JtRXJyb3JzPy5tYXg/LmZpcnN0TWVzc2FnZSB8IHRyYW5zbGF0ZSkgK1xuICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgIF9fbW9ua2V5ZWN4Rm9ybUVycm9ycz8ubWF4Py5sYXN0TWVzc2FnZVxuICAgICAgICAgIDogJycgYXMgZXJyb3JcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgZXJyb3IgfX1cbiAgICA8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBtdC0yXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCI+XG4gICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwic2Vjb25kYXJ5XCIgY29sb3I9XCJ0aGVtZVwiIChjbGljayk9XCJvbkNsZWFyQWxsSW5wdXRzKClcIiBzaXplPVwic21cIj5cbiAgICAgICAge3sgJ0JVVFRPTlMuQ0xFQVInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21vbmtleS1idXR0b24+XG4gICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGNvbG9yPVwidGhlbWVcIiAoY2xpY2spPVwib25BcHBseUZpbHRlcigpXCIgc2l6ZT1cInNtXCI+XG4gICAgICAgIHt7ICdCVVRUT05TLkFQUExZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tb25rZXktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC9maWx0ZXIvb3B0aW9ucy92YWx1ZS1yYW5nZS92YWx1ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL2ZpbHRlci9vcHRpb25zL3ZhbHVlLXJhbmdlL3ZhbHVlLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxJQUFJLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU85RCxNQUFNLE9BQU8sb0NBQ1gsU0FBUSxhQUFhO0lBc0JyQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEJELFdBQU0sR0FBd0IsSUFBSSxDQUFDO1FBRWxDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsVUFBSyxHQUFjLElBQUksU0FBUyxDQUFDO1lBQy9CLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztT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TSxFQUFFO1lBQzdCLEdBQUcsR0FBRyxHQUFHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsR0FBRyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O2lJQWpJVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyxvTENuQmpELGk1RUFrRUE7MkZEL0NhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxpQ0FBaUM7MEVBUWxDLE1BQU07c0JBQWQsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgYXMgVmFsaWRhdG9yc18gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hGaWx0ZXJNZW51LCBNb25rZXlFY3hGaWx0ZXJNZW51VmFsaWRhdG9ycyB9IGZyb20gJ21vbmtleS1mcm9udC1jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9iYXNlL2Jhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IHZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9iYXNlL2Jhc2UtdmFsaWRhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21lY3gtZmlsdGVyLW9wdGlvbnMtdmFsdWUtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmFsdWUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWx1ZS1yYW5nZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1FQ1hGaWx0ZXJPcHRpb25zVmFsdWVSYW5nZUNvbXBvbmVudFxuICBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXNcbntcbiAgQElucHV0KCkgb3B0aW9uOiBNb25rZXlFY3hGaWx0ZXJNZW51ID0gbnVsbDtcblxuICBAT3V0cHV0KCkgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfbWF4ID0gJyc7XG5cbiAgX21pbiA9ICcnO1xuXG4gIF9mb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBtYXg6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgbWluOiBuZXcgRm9ybUNvbnRyb2woJycpXG4gIH0pO1xuXG4gIF9zZWxlY3RlZCA9ICd3aXRoJztcblxuICBfaGFzVmFsdWU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgZXZlbnRIYW5kbGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IE1vbmtleUVjeEZpbHRlck1lbnVWYWxpZGF0b3JzW10pIHtcbiAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdmFsaWRMaXN0OiBhbnlbXSA9IFtdO1xuICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCgodmFsaWQ6IE1vbmtleUVjeEZpbHRlck1lbnVWYWxpZGF0b3JzKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkLnBhcmFtXG4gICAgICAgICAgPyB2YWxpZGF0b3JzW3ZhbGlkLm5hbWVdKHZhbGlkLnBhcmFtKVxuICAgICAgICAgIDogdmFsaWRhdG9yc1t2YWxpZC5uYW1lXTtcbiAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWRhdGVkKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFZhbGlkYXRvcnNfLmNvbXBvc2UodmFsaWRMaXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBvcHRpb24gfSA9IHRoaXM7XG5cbiAgICB0aGlzLl9mb3JtLmdldCgnbWF4Jykuc2V0VmFsaWRhdG9ycyhbdGhpcy5iaW5kVmFsaWRhdGlvbnMob3B0aW9uLnZhbGlkYXRvcnMgfHwgW10pXSk7XG4gICAgdGhpcy5fZm9ybS5nZXQoJ21heCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLl9mb3JtLmdldCgnbWluJykuc2V0VmFsaWRhdG9ycyhbdGhpcy5iaW5kVmFsaWRhdGlvbnMob3B0aW9uLnZhbGlkYXRvcnMgfHwgW10pXSk7XG4gICAgdGhpcy5fZm9ybS5nZXQoJ21pbicpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCByYXdWYWx1ZSA9IGNoYW5nZXMub3B0aW9uPy5jdXJyZW50VmFsdWU/LnZhbHVlO1xuXG4gICAgaWYgKCFyYXdWYWx1ZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSAnd2l0aCc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShyYXdWYWx1ZSk7XG5cbiAgICBjb25zdCBoYXNDb250ZW50ID0gb2JqPy5taW4gfHwgb2JqPy5tYXg7XG5cbiAgICB0aGlzLl9zZWxlY3RlZCA9IGhhc0NvbnRlbnQgPyAnd2l0aCcgOiAnd2l0aG91dCc7XG5cbiAgICBpZiAoaGFzQ29udGVudCkge1xuICAgICAgdGhpcy5fZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgbWF4OiBvYmo/Lm1heCA/PyAnJyxcbiAgICAgICAgbWluOiBvYmo/Lm1pbiA/PyAnJ1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hhc1ZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DaG9vc2VPcHRpb24odmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSA9PT0gJ3dpdGgnKSB7XG4gICAgICB0aGlzLl9oYXNWYWx1ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSAnd2l0aG91dCcpIHtcbiAgICAgIHRoaXMuX2hhc1ZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGVhckFsbElucHV0cygpIHtcbiAgICB0aGlzLl9mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBvbkFwcGx5RmlsdGVyKCkge1xuICAgIGNvbnN0IHsgX2Zvcm0gfSA9IHRoaXM7XG4gICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSBudWxsO1xuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRm9ybShfZm9ybSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IHZhbHVlIH0gPSBfZm9ybTtcbiAgICBsZXQgeyBtYXgsIG1pbiB9ID0gdmFsdWU7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKCEhbWluICYmICEhbWF4ICYmIE51bWJlcihtaW4pID4gTnVtYmVyKG1heCkpIHtcbiAgICAgICAgY29uc3Qgb2xkTWF4ID0gbWF4O1xuICAgICAgICBjb25zdCBvbGRNaW4gPSBtaW47XG4gICAgICAgIG1heCA9IG9sZE1pbjtcbiAgICAgICAgbWluID0gb2xkTWF4O1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVZhbGlkYXRvcnMgPSAocGFyYW06IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9wdGlvbi52YWxpZGF0b3JzLmZpbmQoKHsgbmFtZSB9KSA9PiB7XG4gICAgICAgIHJldHVybiBuYW1lID09PSBwYXJhbTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZm91bmQucGFyYW0gfHwgMDtcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkID09PSAnd2l0aCcpIHtcbiAgICAgIG1pbiA9IG1pbiB8fCBoYW5kbGVWYWxpZGF0b3JzKCdtaW4nKTtcbiAgICAgIG1heCA9IG1heCB8fCBoYW5kbGVWYWxpZGF0b3JzKCdtYXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB7IG1pbiwgbWF4IH07XG5cbiAgICB0aGlzLm9uU3VibWl0Lm5leHQoeyBbdGhpcy5vcHRpb24uZmllbGRdOiBKU09OLnN0cmluZ2lmeSh2YWx1ZXMpIH0pO1xuICAgIHRoaXMuZXZlbnRIYW5kbGUubmV4dCh7IFt0aGlzLm9wdGlvbi5maWVsZF06IEpTT04uc3RyaW5naWZ5KHZhbHVlcykgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgPG1vbmtleS1yYWRpb2J1dHRvblxuICAgICAgICAob25DaGFuZ2UpPVwib25DaG9vc2VPcHRpb24oJGV2ZW50KVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiX3NlbGVjdGVkXCJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgb3Agb2Ygb3B0aW9uPy5yb2xlc1wiXG4gICAgICA+XG4gICAgICAgIDxtb25rZXktb3B0aW9uIFtsYWJlbF09XCJvcD8ubGFiZWwgfCB0cmFuc2xhdGVcIiBbdmFsdWVdPVwib3A/LnR5cGVcIj4gPC9tb25rZXktb3B0aW9uPlxuICAgICAgPC9tb25rZXktcmFkaW9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGZvcm0gbmFtZT1cInZhbHVlUmFuZ2VGb3JtXCIgW2Zvcm1Hcm91cF09XCJfZm9ybVwiIGNsYXNzPVwiZm9ybVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0cy1jb250YWluZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIV9oYXNWYWx1ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgIDxtb25rZXktaW5wdXRcbiAgICAgICAgICAgIFtpbmZvTWVzc2FnZV09XCJvcHRpb24/LnZhbHVlcz8uWzBdLmluZm9NZXNzYWdlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9ubHlOdW1iZXI9XCJ0cnVlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJfbWluXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1pblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9uPy52YWx1ZXM/LlswXS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbW9ua2V5LWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtbXV0ZWQgZm9udC1zaXplLXh4cyBtdC0yXCI+IHt7ICdGSUVMRC5VTlRJTCcgfCB0cmFuc2xhdGUgfX0gPC9zcGFuPlxuICAgICAgICAgIDxtb25rZXktaW5wdXRcbiAgICAgICAgICAgIFtpbmZvTWVzc2FnZV09XCJvcHRpb24/LnZhbHVlcz8uWzFdLmluZm9NZXNzYWdlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9ubHlOdW1iZXI9XCJ0cnVlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJfbWF4XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1heFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9uPy52YWx1ZXM/LlsxXS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbW9ua2V5LWlucHV0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJlcnJvciBtdC0yXCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIF9fbW9ua2V5ZWN4Rm9ybUVycm9ycz8ubWluPy5maXJzdE1lc3NhZ2VcbiAgICAgICAgICA/IChfX21vbmtleWVjeEZvcm1FcnJvcnM/Lm1pbj8uZmlyc3RNZXNzYWdlIHwgdHJhbnNsYXRlKSArXG4gICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgX19tb25rZXllY3hGb3JtRXJyb3JzPy5taW4/Lmxhc3RNZXNzYWdlXG4gICAgICAgICAgOiBfX21vbmtleWVjeEZvcm1FcnJvcnM/Lm1heD8uZmlyc3RNZXNzYWdlXG4gICAgICAgICAgPyAoX19tb25rZXllY3hGb3JtRXJyb3JzPy5tYXg/LmZpcnN0TWVzc2FnZSB8IHRyYW5zbGF0ZSkgK1xuICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgIF9fbW9ua2V5ZWN4Rm9ybUVycm9ycz8ubWF4Py5sYXN0TWVzc2FnZVxuICAgICAgICAgIDogJycgYXMgZXJyb3JcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgZXJyb3IgfX1cbiAgICA8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBtdC0yXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCI+XG4gICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwic2Vjb25kYXJ5XCIgY29sb3I9XCJ0aGVtZVwiIChjbGljayk9XCJvbkNsZWFyQWxsSW5wdXRzKClcIiBzaXplPVwic21cIj5cbiAgICAgICAge3sgJ0JVVFRPTlMuQ0xFQVInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21vbmtleS1idXR0b24+XG4gICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGNvbG9yPVwidGhlbWVcIiAoY2xpY2spPVwib25BcHBseUZpbHRlcigpXCIgc2l6ZT1cInNtXCI+XG4gICAgICAgIHt7ICdCVVRUT05TLkFQUExZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tb25rZXktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -2115,13 +2115,10 @@ class MECXFilterOptionsValueRangeComponent extends BaseComponent {
|
|
|
2115
2115
|
let { max, min } = value;
|
|
2116
2116
|
try {
|
|
2117
2117
|
if (!!min && !!max && Number(min) > Number(max)) {
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
}
|
|
2123
|
-
};
|
|
2124
|
-
return;
|
|
2118
|
+
const oldMax = max;
|
|
2119
|
+
const oldMin = min;
|
|
2120
|
+
max = oldMin;
|
|
2121
|
+
min = oldMax;
|
|
2125
2122
|
}
|
|
2126
2123
|
}
|
|
2127
2124
|
catch (e) {
|
|
@@ -2143,10 +2140,10 @@ class MECXFilterOptionsValueRangeComponent extends BaseComponent {
|
|
|
2143
2140
|
}
|
|
2144
2141
|
}
|
|
2145
2142
|
MECXFilterOptionsValueRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterOptionsValueRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2146
|
-
MECXFilterOptionsValueRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXFilterOptionsValueRangeComponent, selector: "mecx-filter-options-value-range", inputs: { option: "option" }, outputs: { onSubmit: "onSubmit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px
|
|
2143
|
+
MECXFilterOptionsValueRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXFilterOptionsValueRangeComponent, selector: "mecx-filter-options-value-range", inputs: { option: "option" }, outputs: { onSubmit: "onSubmit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep mecx-form-field-footer{height:12px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input{background-color:#fff;width:77px;height:32px;border:2px solid #bdc1c7!important;margin:0;border-radius:4px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep input:-webkit-autofill:hover,:host .form .inputs-container ::ng-deep input:-webkit-autofill:active,:host .form .inputs-container ::ng-deep input:-webkit-autofill:focus{background-color:#fff!important;box-shadow:0 0 0 1000px #f5f5f5 inset!important;width:77px;height:32px}:host .separator{width:100%;height:0px;border:1px solid #d6d6d6}:host .error{display:flex;padding:0 16px;font-size:12px;line-height:16px;color:var(--mecx-color-error-main);text-align:left}:host .buttons-container{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px 12px}:host ::ng-deep monkey-button button{width:103px}\n"], components: [{ type: i1$2.MonkeyRadioButtonComponent, selector: "monkey-radiobutton", inputs: ["label", "helperMessage", "placeholder", "icon", "infoMessage", "errorMessage", "value"], outputs: ["onChange"] }, { type: i1$2.MonkeyOptionComponent, selector: "monkey-option", inputs: ["type", "label", "value", "selectAll", "selected", "enableClick"], outputs: ["onSelectOption"] }, { type: i1$2.MonkeyInputComponent, selector: "monkey-input", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "type", "infoMessage", "errorMessage", "mask", "prefix", "maxLength", "onlyNumber", "onlyAlphaNumeric", "upperCase", "lowerCase", "capitalize", "currency", "useSymbol", "percent", "maxDateToday", "minYears", "value"], outputs: ["onChange"] }, { type: i1$2.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$3.TranslatePipe } });
|
|
2147
2144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterOptionsValueRangeComponent, decorators: [{
|
|
2148
2145
|
type: Component,
|
|
2149
|
-
args: [{ selector: 'mecx-filter-options-value-range', template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px
|
|
2146
|
+
args: [{ selector: 'mecx-filter-options-value-range', template: "<ng-container>\n <div class=\"content\">\n <div class=\"checkbox-container\">\n <monkey-radiobutton\n (onChange)=\"onChooseOption($event)\"\n [(ngModel)]=\"_selected\"\n class=\"d-flex\"\n *ngFor=\"let op of option?.roles\"\n >\n <monkey-option [label]=\"op?.label | translate\" [value]=\"op?.type\"> </monkey-option>\n </monkey-radiobutton>\n </div>\n <form name=\"valueRangeForm\" [formGroup]=\"_form\" class=\"form\">\n <div class=\"inputs-container\" [class.disabled]=\"!_hasValue\">\n <ng-container>\n <monkey-input\n [infoMessage]=\"option?.values?.[0].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_min\"\n formControlName=\"min\"\n [placeholder]=\"option?.values?.[0].description | translate\"\n >\n </monkey-input>\n <span class=\"title-muted font-size-xxs mt-2\"> {{ 'FIELD.UNTIL' | translate }} </span>\n <monkey-input\n [infoMessage]=\"option?.values?.[1].infoMessage | translate\"\n type=\"text\"\n onlyNumber=\"true\"\n [maxLength]=\"4\"\n [(value)]=\"_max\"\n formControlName=\"max\"\n [placeholder]=\"option?.values?.[1].description | translate\"\n >\n </monkey-input>\n </ng-container>\n </div>\n </form>\n <span\n class=\"error mt-2\"\n *ngIf=\"\n __monkeyecxFormErrors?.min?.firstMessage\n ? (__monkeyecxFormErrors?.min?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.min?.lastMessage\n : __monkeyecxFormErrors?.max?.firstMessage\n ? (__monkeyecxFormErrors?.max?.firstMessage | translate) +\n ' ' +\n __monkeyecxFormErrors?.max?.lastMessage\n : '' as error\n \"\n >\n {{ error }}\n </span>\n <div class=\"separator mt-2\"></div>\n <div class=\"buttons-container\">\n <monkey-button type=\"secondary\" color=\"theme\" (click)=\"onClearAllInputs()\" size=\"sm\">\n {{ 'BUTTONS.CLEAR' | translate }}\n </monkey-button>\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onApplyFilter()\" size=\"sm\">\n {{ 'BUTTONS.APPLY' | translate }}\n </monkey-button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;flex-direction:column;width:246px;max-height:232px;color:#72717e}:host .content{width:100%}:host .checkbox-container{display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px 8px 0}:host .checkbox-container ::ng-deep monkey-radiobutton{height:30px!important;margin:0}:host .form{width:100%;display:flex;align-items:center;justify-content:center}:host .form .inputs-container{width:100%;display:flex;align-items:start;justify-content:space-between;padding:0 16px 4px}:host .form .inputs-container.disabled{pointer-events:none;opacity:.5;cursor:not-allowed}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body{background-color:#fff;width:77px;height:32px}:host .form .inputs-container ::ng-deep monkey-input mecx-form-field mecx-form-field-body:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep mecx-form-field-footer{height:12px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input{background-color:#fff;width:77px;height:32px;border:2px solid #bdc1c7!important;margin:0;border-radius:4px}:host .form .inputs-container ::ng-deep mecx-form-field mecx-form-field-body input:focus-within{border:2px solid #1f2024!important}:host .form .inputs-container ::ng-deep input:-webkit-autofill:hover,:host .form .inputs-container ::ng-deep input:-webkit-autofill:active,:host .form .inputs-container ::ng-deep input:-webkit-autofill:focus{background-color:#fff!important;box-shadow:0 0 0 1000px #f5f5f5 inset!important;width:77px;height:32px}:host .separator{width:100%;height:0px;border:1px solid #d6d6d6}:host .error{display:flex;padding:0 16px;font-size:12px;line-height:16px;color:var(--mecx-color-error-main);text-align:left}:host .buttons-container{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px 12px}:host ::ng-deep monkey-button button{width:103px}\n"] }]
|
|
2150
2147
|
}], ctorParameters: function () { return []; }, propDecorators: { option: [{
|
|
2151
2148
|
type: Input
|
|
2152
2149
|
}], onSubmit: [{
|