@firestitch/filter 18.2.11 → 18.2.13
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/app/components/filter/filter.component.d.ts +40 -64
- package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
- package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
- package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
- package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
- package/app/components/filters-item/chips/chips.component.d.ts +6 -5
- package/app/components/filters-item/date/date.component.d.ts +4 -4
- package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
- package/app/components/filters-item/filter-item.component.d.ts +2 -2
- package/app/components/filters-item/range/range.component.d.ts +6 -7
- package/app/components/filters-item/select/select.component.d.ts +17 -20
- package/app/components/filters-item/text/text.component.d.ts +6 -7
- package/app/components/filters-item/week/week.component.d.ts +5 -5
- package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
- package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
- package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
- package/app/fs-filter.module.d.ts +20 -24
- package/app/helpers/create-filter-item.d.ts +2 -1
- package/app/interfaces/items/date.interface.d.ts +1 -1
- package/app/models/filter-config.d.ts +2 -2
- package/app/models/items/autocomplete-chips-item.d.ts +11 -8
- package/app/models/items/autocomplete-item.d.ts +7 -5
- package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
- package/app/models/items/base-date-item.d.ts +13 -0
- package/app/models/items/base-date-range-item.d.ts +17 -0
- package/app/models/items/base-item.d.ts +26 -40
- package/app/models/items/checkbox-item.d.ts +10 -9
- package/app/models/items/chips-item.d.ts +12 -9
- package/app/models/items/date-item.d.ts +7 -3
- package/app/models/items/date-range-item.d.ts +1 -1
- package/app/models/items/date-time-item.d.ts +6 -3
- package/app/models/items/date-time-range-item.d.ts +1 -1
- package/app/models/items/index.d.ts +0 -4
- package/app/models/items/range-item.d.ts +19 -8
- package/app/models/items/select-item.d.ts +29 -6
- package/app/models/items/text-item.d.ts +7 -6
- package/app/models/items/week-item.d.ts +7 -7
- package/app/services/filter-controller.service.d.ts +47 -0
- package/app/services/focus-controller.service.d.ts +4 -4
- package/app/services/index.d.ts +4 -2
- package/app/services/keyword-controller.service.d.ts +20 -0
- package/app/services/persistance-controller.service.d.ts +10 -4
- package/app/services/query-param-controller.service.d.ts +10 -12
- package/app/services/root-filter-overlay.service.d.ts +6 -0
- package/app/services/saved-filter-controller.service.d.ts +4 -4
- package/app/services/sort-controller.service.d.ts +21 -0
- package/esm2022/app/components/filter/filter.component.mjs +150 -294
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +7 -14
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
- package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
- package/esm2022/app/components/filters-item/filter-item.component.mjs +5 -5
- package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
- package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
- package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
- package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
- package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
- package/esm2022/app/fs-filter.module.mjs +1 -16
- package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
- package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2022/app/models/action.model.mjs +2 -2
- package/esm2022/app/models/filter-config.mjs +2 -3
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
- package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
- package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
- package/esm2022/app/models/items/base-date-item.mjs +28 -0
- package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
- package/esm2022/app/models/items/base-item.mjs +58 -138
- package/esm2022/app/models/items/checkbox-item.mjs +35 -26
- package/esm2022/app/models/items/chips-item.mjs +50 -59
- package/esm2022/app/models/items/date-item.mjs +21 -8
- package/esm2022/app/models/items/date-range-item.mjs +2 -2
- package/esm2022/app/models/items/date-time-item.mjs +4 -7
- package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
- package/esm2022/app/models/items/index.mjs +1 -5
- package/esm2022/app/models/items/range-item.mjs +48 -44
- package/esm2022/app/models/items/select-item.mjs +104 -9
- package/esm2022/app/models/items/text-item.mjs +17 -15
- package/esm2022/app/models/items/week-item.mjs +22 -38
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
- package/esm2022/app/services/filter-controller.service.mjs +209 -0
- package/esm2022/app/services/filter-overlay.service.mjs +3 -3
- package/esm2022/app/services/focus-controller.service.mjs +3 -3
- package/esm2022/app/services/index.mjs +5 -3
- package/esm2022/app/services/keyword-controller.service.mjs +49 -0
- package/esm2022/app/services/persistance-controller.service.mjs +24 -6
- package/esm2022/app/services/query-param-controller.service.mjs +44 -34
- package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
- package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
- package/esm2022/app/services/sort-controller.service.mjs +60 -0
- package/esm2022/public_api.mjs +1 -2
- package/fesm2022/firestitch-filter.mjs +2593 -3243
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -1
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
- package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
- package/app/helpers/build-query-params.d.ts +0 -4
- package/app/helpers/compare.d.ts +0 -2
- package/app/helpers/find-value.d.ts +0 -1
- package/app/models/items/autocomplete/index.d.ts +0 -1
- package/app/models/items/date/base-date-item.d.ts +0 -17
- package/app/models/items/date/index.d.ts +0 -1
- package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
- package/app/models/items/date-range/index.d.ts +0 -1
- package/app/models/items/select/base-select-item.d.ts +0 -16
- package/app/models/items/select/index.d.ts +0 -3
- package/app/models/items/select/multiple-select-item.d.ts +0 -14
- package/app/models/items/select/simple-select-item.d.ts +0 -14
- package/app/providers/filter-meta.d.ts +0 -5
- package/app/services/item-store.service.d.ts +0 -63
- package/app/services/param-controller.service.d.ts +0 -30
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
- package/esm2022/app/helpers/build-query-params.mjs +0 -38
- package/esm2022/app/helpers/compare.mjs +0 -38
- package/esm2022/app/helpers/find-value.mjs +0 -13
- package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
- package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
- package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
- package/esm2022/app/models/items/date/index.mjs +0 -2
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
- package/esm2022/app/models/items/date-range/index.mjs +0 -2
- package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
- package/esm2022/app/models/items/select/index.mjs +0 -4
- package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
- package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
- package/esm2022/app/providers/filter-meta.mjs +0 -10
- package/esm2022/app/services/item-store.service.mjs +0 -333
- package/esm2022/app/services/param-controller.service.mjs +0 -151
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
|
2
|
-
import {
|
|
3
|
-
import { ItemType } from '../../../enums/item-type.enum';
|
|
4
|
-
import { PickerViewType } from '../../../enums/picker-view-type.enum';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
5
3
|
import { MatFormField, MatLabel } from '@angular/material/form-field';
|
|
6
4
|
import { MatInput } from '@angular/material/input';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
|
|
9
5
|
import { FsDatePickerModule } from '@firestitch/datepicker';
|
|
10
6
|
import { FsFormModule } from '@firestitch/form';
|
|
7
|
+
import { takeUntil } from 'rxjs/operators';
|
|
8
|
+
import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
|
|
9
|
+
import { ItemType } from '../../../enums/item-type.enum';
|
|
10
|
+
import { PickerViewType } from '../../../enums/picker-view-type.enum';
|
|
11
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/forms";
|
|
13
14
|
import * as i2 from "@firestitch/datepicker";
|
|
14
15
|
import * as i3 from "@firestitch/form";
|
|
15
16
|
export class DateRangeComponent extends BaseItemComponent {
|
|
16
|
-
_kvDiffers;
|
|
17
|
-
_cd;
|
|
18
17
|
viewType = PickerViewType.Date;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this._cd = _cd;
|
|
23
|
-
}
|
|
18
|
+
from;
|
|
19
|
+
to;
|
|
20
|
+
_cdRef = inject(ChangeDetectorRef);
|
|
24
21
|
ngOnInit() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.
|
|
30
|
-
|
|
22
|
+
this.viewType = this.item.type === ItemType.DateTimeRange ? PickerViewType.DateTime : PickerViewType.Date;
|
|
23
|
+
this.item.value$
|
|
24
|
+
.pipe(takeUntil(this.destroy$))
|
|
25
|
+
.subscribe((value) => {
|
|
26
|
+
this.from = value?.from;
|
|
27
|
+
this.to = value?.to;
|
|
28
|
+
this._cdRef.detectChanges();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
change() {
|
|
32
|
+
this.item.value = {
|
|
33
|
+
from: this.from,
|
|
34
|
+
to: this.to,
|
|
35
|
+
};
|
|
31
36
|
}
|
|
32
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, deps:
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangeComponent, isStandalone: true, selector: "filter-item-date-range", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangeComponent, isStandalone: true, selector: "filter-item-date-range", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"from\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n (ngModelChange)=\"change()\"\n name=\"date_from\">\n</mat-form-field>\n<mat-form-field>\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"to\"\n (ngModelChange)=\"change()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsDatePickerModule }, { kind: "component", type: i2.DateRangePickerFromComponent, selector: "[fsDateRangeFrom],[fsDateRangeFromPicker]", inputs: ["fsDateRangeFrom", "fsDateRangeFromPicker"] }, { kind: "component", type: i2.DateRangePickerToComponent, selector: "[fsDateRangeTo],[fsDateRangeToPicker]", inputs: ["fsDateRangeTo", "fsDateRangeToPicker"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i3.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
39
|
}
|
|
35
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
36
41
|
type: Component,
|
|
@@ -42,6 +47,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
42
47
|
FocusToItemDirective,
|
|
43
48
|
FsDatePickerModule,
|
|
44
49
|
FsFormModule,
|
|
45
|
-
], template: "<mat-form-field>\n <mat-label
|
|
46
|
-
}]
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
], template: "<mat-form-field>\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"from\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n (ngModelChange)=\"change()\"\n name=\"date_from\">\n</mat-form-field>\n<mat-form-field>\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"to\"\n (ngModelChange)=\"change()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>" }]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBa0JyRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQW9EO0lBRW5GLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQy9CLElBQUksQ0FBTztJQUNYLEVBQUUsQ0FBTztJQUVSLE1BQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVwQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRTFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ1osQ0FBQztJQUNKLENBQUM7d0dBM0JVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHlHQ3hDL0Isc3RCQTZCaUIsNENERWIsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFFBQVEsZ1VBQ1IsV0FBVywrbUJBQ1gsb0JBQW9CLHVIQUNwQixrQkFBa0IsMFdBQ2xCLFlBQVk7OzRGQUdILGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFDRSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBGc0RhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlcGlja2VyJztcbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvY3VzVG9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy10by1pdGVtL2ZvY3VzLXRvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGlja2VyVmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9waWNrZXItdmlldy10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgQmFzZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWl0ZW0vYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0SW5wdXQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgRnNEYXRlUGlja2VyTW9kdWxlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8RGF0ZVJhbmdlSXRlbSB8IERhdGVUaW1lUmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZTtcbiAgcHVibGljIGZyb206IERhdGU7XG4gIHB1YmxpYyB0bzogRGF0ZTtcblxuICBwcml2YXRlIF9jZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlld1R5cGUgPSB0aGlzLml0ZW0udHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWVSYW5nZSA/IFBpY2tlclZpZXdUeXBlLkRhdGVUaW1lIDogUGlja2VyVmlld1R5cGUuRGF0ZTtcblxuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZyb20gPSB2YWx1ZT8uZnJvbTtcbiAgICAgICAgdGhpcy50byA9IHZhbHVlPy50bztcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSA9IHtcbiAgICAgIGZyb206IHRoaXMuZnJvbSxcbiAgICAgIHRvOiB0aGlzLnRvLFxuICAgIH07XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1sYWJlbD5cbiAgICB7eyBpdGVtLmxhYmVsWzBdIH19XG4gIDwvbWF0LWxhYmVsPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIidmcm9tJ1wiXG4gICAgW2ZzRGF0ZVJhbmdlRnJvbV09XCJpdGVtLm5hbWVcIlxuICAgIFsobmdNb2RlbCldPVwiZnJvbVwiXG4gICAgW2NsZWFyXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICBbdmlld109XCJ2aWV3VHlwZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKClcIlxuICAgIG5hbWU9XCJkYXRlX2Zyb21cIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG48bWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbFsxXSB9fVxuICA8L21hdC1sYWJlbD5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXRcbiAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCIndG8nXCJcbiAgICBbZnNEYXRlUmFuZ2VUb109XCJpdGVtLm5hbWVcIlxuICAgIFsobmdNb2RlbCldPVwidG9cIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgpXCJcbiAgICBbY2xlYXJdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgIFt2aWV3XT1cInZpZXdUeXBlXCJcbiAgICBuYW1lPVwiZGF0ZV90b1wiPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -21,10 +21,10 @@ export class FilterItemComponent {
|
|
|
21
21
|
get textItem() {
|
|
22
22
|
return this.item;
|
|
23
23
|
}
|
|
24
|
-
get
|
|
24
|
+
get selectItem() {
|
|
25
25
|
return this.item;
|
|
26
26
|
}
|
|
27
|
-
get
|
|
27
|
+
get chipsItem() {
|
|
28
28
|
return this.item;
|
|
29
29
|
}
|
|
30
30
|
get rangeItem() {
|
|
@@ -70,7 +70,7 @@ export class FilterItemComponent {
|
|
|
70
70
|
this._destroy$.complete();
|
|
71
71
|
}
|
|
72
72
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { item: "item" }, ngImport: i0, template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"
|
|
73
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { item: "item" }, ngImport: i0, template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"selectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "filter-item-text" }, { kind: "component", type: SelectComponent, selector: "filter-item-select", inputs: ["item"] }, { kind: "component", type: ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: RangeComponent, selector: "filter-item-range" }, { kind: "component", type: AutocompleteComponent, selector: "filter-item-autocomplete" }, { kind: "component", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips" }, { kind: "component", type: DateComponent, selector: "filter-item-date" }, { kind: "component", type: DateRangeComponent, selector: "filter-item-date-range" }, { kind: "component", type: WeekComponent, selector: "filter-item-week" }, { kind: "component", type: CheckboxComponent, selector: "filter-item-checkbox" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
74
74
|
}
|
|
75
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
@@ -86,8 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
86
86
|
WeekComponent,
|
|
87
87
|
CheckboxComponent,
|
|
88
88
|
AsyncPipe,
|
|
89
|
-
], template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"
|
|
89
|
+
], template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n class=\"interface\"\n [item]=\"textItem\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n class=\"interface\"\n [item]=\"selectItem\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n class=\"interface interface-range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n class=\"interface\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n class=\"interface\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateItem\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n class=\"interface\"\n [item]=\"weekItem\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
|
|
90
90
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
91
91
|
type: Input
|
|
92
92
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF1QnRELE1BQU0sT0FBTyxtQkFBbUI7SUF3RFY7SUF0REosSUFBSSxDQUFnQjtJQUU3QixRQUFRLEdBQUcsUUFBUSxDQUFDO0lBRTNCLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQXNCLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUE2QixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVPLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQUksQ0FBQztJQUUzQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBdkVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGlHQzVEaEMsc3dFQTZFQyw0akJEOUJHLGFBQWEsNkRBQ2IsZUFBZSwrREFDZixjQUFjLDhEQUNkLGNBQWMsOERBQ2QscUJBQXFCLHFFQUNyQiwwQkFBMEIsMEVBQzFCLGFBQWEsNkRBQ2Isa0JBQWtCLG1FQUNsQixhQUFhLDZEQUNiLGlCQUFpQiw0REFDakIsU0FBUzs7NEZBR0EsbUJBQW1CO2tCQXBCL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsU0FBUztxQkFDVjtzRkFJZSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IEJhc2VTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC9iYXNlLXNlbGVjdC1pdGVtJztcbmltcG9ydCB0eXBlIHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB0eXBlIHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVjaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlY2hpcHMvYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi93ZWVrL3dlZWsuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgUmFuZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZWNoaXBzQ29tcG9uZW50LFxuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlQ29tcG9uZW50LFxuICAgIFdlZWtDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxhbnk+O1xuXG4gIHB1YmxpYyBpdGVtVHlwZSA9IEl0ZW1UeXBlO1xuXG4gIHB1YmxpYyBnZXQgdGV4dEl0ZW0oKTogVGV4dEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgVGV4dEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzSXRlbSgpOiBDaGlwc0l0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQ2hpcHNJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBiYXNlU2VsZWN0SXRlbSgpOiBCYXNlU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBCYXNlU2VsZWN0SXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VJdGVtKCk6IFJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUl0ZW0oKTogQXV0b2NvbXBsZXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVDaGlwc0l0ZW0oKTogQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUNoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUl0ZW0oKTogRGF0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVSYW5nZUl0ZW0oKTogRGF0ZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZUl0ZW0oKTogRGF0ZVRpbWVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVSYW5nZUl0ZW0oKTogRGF0ZVRpbWVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdlZWtJdGVtKCk6IFdlZWtJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFdlZWtJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveEl0ZW0oKTogQ2hlY2tib3hJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoZWNrYm94SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCJAaWYgKGl0ZW0udmlzaWJsZSQgfCBhc3luYykge1xuICA8ZGl2IGNsYXNzPVwiZmlsdGVyIGZpbHRlci17eyBpdGVtLnR5cGUgfX1cIj5cbiAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgIEBjYXNlIChpdGVtVHlwZS5UZXh0KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS10ZXh0XG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cInRleHRJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tdGV4dD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5TZWxlY3QpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJiYXNlU2VsZWN0SXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5DaGlwcykge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tY2hpcHNcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hpcHNJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tY2hpcHM+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXJhbmdlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLXJhbmdlXCJcbiAgICAgICAgICBbaXRlbV09XCJyYW5nZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5BdXRvQ29tcGxldGUpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZVxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJhdXRvY29tcGxldGVJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkF1dG9Db21wbGV0ZUNoaXBzKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwc1xuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJhdXRvY29tcGxldGVDaGlwc0l0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwcz5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlVGltZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tZGF0ZVxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICAgICBbaXRlbV09XCJkYXRlVGltZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVSYW5nZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZVxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICAgICBbaXRlbV09XCJkYXRlUmFuZ2VJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlVGltZVJhbmdlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVUaW1lUmFuZ2VJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5XZWVrKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS13ZWVrXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cIndlZWtJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0td2Vlaz5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5DaGVja2JveCkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tY2hlY2tib3hcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtY2hlY2tib3hcIlxuICAgICAgICAgIFtpdGVtXT1cImNoZWNrYm94SXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWNoZWNrYm94PlxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG59Il19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF1QnRELE1BQU0sT0FBTyxtQkFBbUI7SUF3RFY7SUF0REosSUFBSSxDQUFnQjtJQUU3QixRQUFRLEdBQUcsUUFBUSxDQUFDO0lBRTNCLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUE2QixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVPLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQUksQ0FBQztJQUUzQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBdkVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGlHQzVEaEMsa3dFQTZFQyw0akJEOUJHLGFBQWEsNkRBQ2IsZUFBZSxpRkFDZixjQUFjLDhEQUNkLGNBQWMsOERBQ2QscUJBQXFCLHFFQUNyQiwwQkFBMEIsMEVBQzFCLGFBQWEsNkRBQ2Isa0JBQWtCLG1FQUNsQixhQUFhLDZEQUNiLGlCQUFpQiw0REFDakIsU0FBUzs7NEZBR0EsbUJBQW1CO2tCQXBCL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsU0FBUztxQkFDVjtzRkFJZSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC1pdGVtJztcbmltcG9ydCB0eXBlIHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB0eXBlIHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVjaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlY2hpcHMvYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi93ZWVrL3dlZWsuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgUmFuZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZWNoaXBzQ29tcG9uZW50LFxuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlQ29tcG9uZW50LFxuICAgIFdlZWtDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxhbnk+O1xuXG4gIHB1YmxpYyBpdGVtVHlwZSA9IEl0ZW1UeXBlO1xuXG4gIHB1YmxpYyBnZXQgdGV4dEl0ZW0oKTogVGV4dEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgVGV4dEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdEl0ZW0oKTogU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBTZWxlY3RJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwc0l0ZW0oKTogQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VJdGVtKCk6IFJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUl0ZW0oKTogQXV0b2NvbXBsZXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVDaGlwc0l0ZW0oKTogQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUNoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUl0ZW0oKTogRGF0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVSYW5nZUl0ZW0oKTogRGF0ZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZUl0ZW0oKTogRGF0ZVRpbWVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVSYW5nZUl0ZW0oKTogRGF0ZVRpbWVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdlZWtJdGVtKCk6IFdlZWtJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFdlZWtJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveEl0ZW0oKTogQ2hlY2tib3hJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoZWNrYm94SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCJAaWYgKGl0ZW0udmlzaWJsZSQgfCBhc3luYykge1xuICA8ZGl2IGNsYXNzPVwiZmlsdGVyIGZpbHRlci17eyBpdGVtLnR5cGUgfX1cIj5cbiAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgIEBjYXNlIChpdGVtVHlwZS5UZXh0KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS10ZXh0XG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cInRleHRJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tdGV4dD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5TZWxlY3QpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJzZWxlY3RJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tc2VsZWN0PlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkNoaXBzKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1jaGlwc1xuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJjaGlwc0l0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1jaGlwcz5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5SYW5nZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tcmFuZ2VcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtcmFuZ2VcIlxuICAgICAgICAgIFtpdGVtXT1cInJhbmdlSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkF1dG9Db21wbGV0ZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGU+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHMpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZWNoaXBzXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUNoaXBzSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZWNoaXBzPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGUpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGVcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVUaW1lSXRlbVwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWRhdGU+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuRGF0ZVJhbmdlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVSYW5nZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGUtcmFuZ2VcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZVRpbWVSYW5nZUl0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLldlZWspIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXdlZWtcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwid2Vla0l0ZW1cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS13ZWVrPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkNoZWNrYm94KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1jaGVja2JveFxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1jaGVja2JveFwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hlY2tib3hJdGVtXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tY2hlY2tib3g+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbn0iXX0=
|
|
@@ -1,41 +1,43 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
|
2
|
-
import {
|
|
3
|
-
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
5
3
|
import { MatFormField, MatLabel, MatPrefix, MatSuffix } from '@angular/material/form-field';
|
|
6
4
|
import { MatInput } from '@angular/material/input';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
|
|
9
5
|
import { FsFormModule } from '@firestitch/form';
|
|
6
|
+
import { debounceTime, Subject, takeUntil } from 'rxjs';
|
|
7
|
+
import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
|
|
8
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@angular/forms";
|
|
12
11
|
import * as i2 from "@firestitch/form";
|
|
13
12
|
export class RangeComponent extends BaseItemComponent {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
constructor(_kvDiffers, _cd) {
|
|
19
|
-
super(_kvDiffers, _cd);
|
|
20
|
-
this._kvDiffers = _kvDiffers;
|
|
21
|
-
this._cd = _cd;
|
|
22
|
-
}
|
|
13
|
+
min;
|
|
14
|
+
max;
|
|
15
|
+
_change$ = new Subject();
|
|
16
|
+
_cdRef = inject(ChangeDetectorRef);
|
|
23
17
|
ngOnInit() {
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const fromListener = fromEvent(this.from.nativeElement, 'keyup')
|
|
28
|
-
.pipe(distinctUntilChanged());
|
|
29
|
-
const toListener = fromEvent(this.to.nativeElement, 'keyup')
|
|
30
|
-
.pipe(distinctUntilChanged());
|
|
31
|
-
merge(fromListener, toListener)
|
|
18
|
+
this.min = this.item.value?.min;
|
|
19
|
+
this.max = this.item.value?.max;
|
|
20
|
+
this.item.value$
|
|
32
21
|
.pipe(takeUntil(this.destroy$))
|
|
22
|
+
.subscribe((value) => {
|
|
23
|
+
this.min = value?.min;
|
|
24
|
+
this.max = value?.max;
|
|
25
|
+
this._cdRef.detectChanges();
|
|
26
|
+
});
|
|
27
|
+
this._change$
|
|
28
|
+
.pipe(debounceTime(300), takeUntil(this.destroy$))
|
|
33
29
|
.subscribe(() => {
|
|
34
|
-
this.
|
|
30
|
+
this.item.value = {
|
|
31
|
+
min: this.min,
|
|
32
|
+
max: this.max,
|
|
33
|
+
};
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
change() {
|
|
37
|
+
this._change$.next();
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RangeComponent, isStandalone: true, selector: "filter-item-range", usesInheritance: true, ngImport: i0, template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"number\"\n [(ngModel)]=\"min\"\n (ngModelChange)=\"change()\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"number\"\n [(ngModel)]=\"max\"\n (ngModelChange)=\"change()\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
41
|
}
|
|
40
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeComponent, decorators: [{
|
|
41
43
|
type: Component,
|
|
@@ -48,12 +50,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
48
50
|
FocusToItemDirective,
|
|
49
51
|
FsFormModule,
|
|
50
52
|
MatSuffix,
|
|
51
|
-
], template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"
|
|
52
|
-
}]
|
|
53
|
-
|
|
54
|
-
args: ['from', { static: true }]
|
|
55
|
-
}], to: [{
|
|
56
|
-
type: ViewChild,
|
|
57
|
-
args: ['to', { static: true }]
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9yYW5nZS9yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLGVBQWUsRUFBVSxTQUFTLEdBQ25DLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFvQmhELE1BQU0sT0FBTyxjQUFlLFNBQVEsaUJBQTRCO0lBU2xEO0lBQ0E7SUFQTCxJQUFJLENBQWE7SUFHakIsRUFBRSxDQUFDO0lBRVYsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUM3RCxJQUFJLENBQ0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVKLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDekQsSUFBSSxDQUNILG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFSixLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzthQUM1QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FyQ1UsY0FBYzs0RkFBZCxjQUFjLHlTQ3BDM0Isc3hDQXVETSx1TEQ3QkUsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFNBQVMscUhBQ1QsUUFBUSxnVUFDUixXQUFXLCttQkFDWCxvQkFBb0IsdUhBQ3BCLFlBQVksMGdCQUNaLFNBQVM7OzRGQUdKLGNBQWM7a0JBakIxQixTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLFNBQVM7cUJBQ1o7b0hBS0ksSUFBSTtzQkFEVixTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLEVBQUU7c0JBRFIsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEtleVZhbHVlRGlmZmVycywgT25Jbml0LCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwsIE1hdFByZWZpeCwgTWF0U3VmZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLXRvLWl0ZW0vZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRGb3JtRmllbGQsXG4gICAgICAgIE1hdExhYmVsLFxuICAgICAgICBNYXRQcmVmaXgsXG4gICAgICAgIE1hdElucHV0LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1vZHVsZSxcbiAgICAgICAgTWF0U3VmZml4LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8UmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnZnJvbScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBmcm9tOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RvJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHRvO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuQ2hhbmdlcygpIHtcbiAgICBjb25zdCBmcm9tTGlzdGVuZXIgPSBmcm9tRXZlbnQodGhpcy5mcm9tLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG5cbiAgICBjb25zdCB0b0xpc3RlbmVyID0gZnJvbUV2ZW50KHRoaXMudG8ubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcblxuICAgIG1lcmdlKGZyb21MaXN0ZW5lciwgdG9MaXN0ZW5lcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmlsdGVyLXJhbmdlLW1pblwiPlxuICAgIDxtYXQtbGFiZWw+XG4gICAgICB7eyBpdGVtLmxhYmVsWzBdIH19XG4gICAgPC9tYXQtbGFiZWw+XG4gICAgQGlmIChpdGVtLnByZWZpeCkge1xuICAgICAgPHNwYW5cbiAgICAgICAgbWF0VGV4dFByZWZpeFxuICAgICAgICBjbGFzcz1cInRleHQtcHJlZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnByZWZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgICBbZm9jdXNUYXJnZXRUeXBlXT1cIidmcm9tJ1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBpbnB1dG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbC5taW5cIlxuICAgICAgI2Zyb20+XG4gICAgQGlmIChpdGVtLnN1ZmZpeCkge1xuICAgICAgPHNwYW5cbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgIGNsYXNzPVwidGV4dC1zdWZmaXhcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uc3VmZml4XCI+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmaWx0ZXItcmFuZ2UtbWF4XCI+XG4gICAgPG1hdC1sYWJlbD5cbiAgICAgIHt7IGl0ZW0ubGFiZWxbMV0gfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICBAaWYgKGl0ZW0ucHJlZml4KSB7XG4gICAgICA8c3BhblxuICAgICAgICBtYXRUZXh0UHJlZml4XG4gICAgICAgIGNsYXNzPVwidGV4dC1wcmVmaXhcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0ucHJlZml4XCI+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICAgIFtmb2N1c1RhcmdldFR5cGVdPVwiJ3RvJ1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBpbnB1dG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbC5tYXhcIlxuICAgICAgI3RvPlxuICAgIEBpZiAoaXRlbS5zdWZmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBjbGFzcz1cInRleHQtc3VmZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnN1ZmZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PiJdfQ==
|
|
53
|
+
], template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>\n {{ item.label[0] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"number\"\n [(ngModel)]=\"min\"\n (ngModelChange)=\"change()\"\n #from>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\">\n <mat-label>\n {{ item.label[1] }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n class=\"text-prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"number\"\n [(ngModel)]=\"max\"\n (ngModelChange)=\"change()\"\n #to>\n @if (item.suffix) {\n <span\n matSuffix\n class=\"text-suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n }\n </mat-form-field>\n</div>", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"] }]
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9yYW5nZS9yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQW9CckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBNEI7SUFFdkQsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBRVgsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXBDLFFBQVE7UUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsUUFBUTthQUNWLElBQUksQ0FDSCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2FBQ2QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBckNVLGNBQWM7NEZBQWQsY0FBYyxvR0N2QzNCLGt4Q0F1RE0sdUxEMUJGLFlBQVksNExBQ1osUUFBUSxzREFDUixTQUFTLHFIQUNULFFBQVEsZ1VBQ1IsV0FBVyxpeEJBQ1gsb0JBQW9CLHVIQUNwQixZQUFZLDBnQkFDWixTQUFTOzs0RkFHQSxjQUFjO2tCQWpCMUIsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXgsIE1hdFN1ZmZpeCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuXG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvY3VzVG9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy10by1pdGVtL2ZvY3VzLXRvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvY3VzVG9JdGVtRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgICBNYXRTdWZmaXgsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8UmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIG1pbjogbnVtYmVyO1xuICBwdWJsaWMgbWF4OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5taW4gPSB0aGlzLml0ZW0udmFsdWU/Lm1pbjtcbiAgICB0aGlzLm1heCA9IHRoaXMuaXRlbS52YWx1ZT8ubWF4O1xuXG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMubWluID0gdmFsdWU/Lm1pbjtcbiAgICAgICAgdGhpcy5tYXggPSB2YWx1ZT8ubWF4O1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHtcbiAgICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICAgIG1heDogdGhpcy5tYXgsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1taW5cIj5cbiAgICA8bWF0LWxhYmVsPlxuICAgICAge3sgaXRlbS5sYWJlbFswXSB9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIEBpZiAoaXRlbS5wcmVmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFRleHRQcmVmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByZWZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5wcmVmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCInZnJvbSdcIlxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm1pblwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoKVwiXG4gICAgICAjZnJvbT5cbiAgICBAaWYgKGl0ZW0uc3VmZml4KSB7XG4gICAgICA8c3BhblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXN1ZmZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5zdWZmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1tYXhcIj5cbiAgICA8bWF0LWxhYmVsPlxuICAgICAge3sgaXRlbS5sYWJlbFsxXSB9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIEBpZiAoaXRlbS5wcmVmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFRleHRQcmVmaXhcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByZWZpeFwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5wcmVmaXhcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCIndG8nXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJtYXhcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKClcIlxuICAgICAgI3RvPlxuICAgIEBpZiAoaXRlbS5zdWZmaXgpIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBjbGFzcz1cInRleHQtc3VmZml4XCJcbiAgICAgICAgW2lubmVySHRtbF09XCJpdGVtLnN1ZmZpeFwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PiJdfQ==
|
|
@@ -1,63 +1,75 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
|
3
|
-
import {
|
|
1
|
+
import { AsyncPipe, NgClass } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, inject, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatCheckbox } from '@angular/material/checkbox';
|
|
5
|
+
import { MatOptgroup, MatOption } from '@angular/material/core';
|
|
6
|
+
import { MatFormField, MatHint, MatLabel } from '@angular/material/form-field';
|
|
4
7
|
import { MatSelect } from '@angular/material/select';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
8
|
+
import { FsFormModule } from '@firestitch/form';
|
|
9
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
10
|
+
import { FocusToItemDirective } from '../../../directives/focus-to-item/focus-to-item.directive';
|
|
11
|
+
import { SelectItem } from '../../../models/items/select-item';
|
|
12
|
+
import { FsFilterIsolateValues } from '../../../pipes/remove-isolate-value.pipe';
|
|
9
13
|
import * as i0 from "@angular/core";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
import * as i1 from "@angular/forms";
|
|
15
|
+
import * as i2 from "@firestitch/form";
|
|
16
|
+
export class SelectComponent {
|
|
17
|
+
item;
|
|
18
|
+
select;
|
|
19
|
+
value;
|
|
20
|
+
isolated;
|
|
21
|
+
_cdRef = inject(ChangeDetectorRef);
|
|
22
|
+
_destroyRef = inject(DestroyRef);
|
|
23
|
+
changed() {
|
|
24
|
+
this.item.value = this.value;
|
|
25
|
+
this.isolated = false;
|
|
19
26
|
}
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.item.value$
|
|
29
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
30
|
+
.subscribe((value) => {
|
|
31
|
+
this.value = value;
|
|
32
|
+
this._cdRef.detectChanges();
|
|
33
|
+
});
|
|
22
34
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
super(_kvDiffers, _cd);
|
|
26
|
-
this._kvDiffers = _kvDiffers;
|
|
27
|
-
this._cd = _cd;
|
|
35
|
+
close() {
|
|
36
|
+
this.select.close();
|
|
28
37
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.values$ = this.item.values$;
|
|
32
|
-
}
|
|
38
|
+
markForCheck() {
|
|
39
|
+
this._cdRef.markForCheck();
|
|
33
40
|
}
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this.selectedItem.markForCheck();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
41
|
+
isolateChange(event) {
|
|
42
|
+
if (event.checked) {
|
|
43
|
+
this.item.value = this.item.multiple ? this.item.isolateValues : this.item.isolateValues[0];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.item.value = this.item.multiple ? [] : null;
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectComponent, isStandalone: true, selector: "filter-item-select", viewQueries: [{ propertyName: "
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectComponent, isStandalone: true, selector: "filter-item-select", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @if (item.children) {\n @for (option of item.values$ | async; track option) {\n <mat-optgroup [label]=\"option.name\">\n @for (childOption of option[item.children] | fsFilterIsolateValues: item.isolate; track childOption.value) {\n <mat-option [value]=\"childOption.value\">\n {{ childOption.name }}\n </mat-option>\n }\n </mat-optgroup>\n }\n } @else {\n @for (option of item.values$ | async | fsFilterIsolateValues: item.isolate; track option) {\n <mat-option [value]=\"option.value\">\n {{ option.name }}\n </mat-option>\n }\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange($event)\"\n [(ngModel)]=\"isolated\">\n <span class=\"checkbox-label\">\n {{ item.isolateLabel }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: FsFilterIsolateValues, name: "fsFilterIsolateValues" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
51
|
}
|
|
48
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, decorators: [{
|
|
49
53
|
type: Component,
|
|
50
54
|
args: [{ selector: 'filter-item-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
51
55
|
MatFormField,
|
|
56
|
+
NgClass,
|
|
52
57
|
MatLabel,
|
|
53
58
|
MatSelect,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
FocusToItemDirective,
|
|
60
|
+
FormsModule,
|
|
61
|
+
FsFormModule,
|
|
62
|
+
MatOption,
|
|
63
|
+
MatOptgroup,
|
|
64
|
+
MatHint,
|
|
65
|
+
MatCheckbox,
|
|
66
|
+
FsFilterIsolateValues,
|
|
57
67
|
AsyncPipe,
|
|
58
|
-
], template: "
|
|
59
|
-
}],
|
|
68
|
+
], template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @if (item.children) {\n @for (option of item.values$ | async; track option) {\n <mat-optgroup [label]=\"option.name\">\n @for (childOption of option[item.children] | fsFilterIsolateValues: item.isolate; track childOption.value) {\n <mat-option [value]=\"childOption.value\">\n {{ childOption.name }}\n </mat-option>\n }\n </mat-optgroup>\n }\n } @else {\n @for (option of item.values$ | async | fsFilterIsolateValues: item.isolate; track option) {\n <mat-option [value]=\"option.value\">\n {{ option.name }}\n </mat-option>\n }\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange($event)\"\n [(ngModel)]=\"isolated\">\n <span class=\"checkbox-label\">\n {{ item.isolateLabel }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>", styles: [":host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper{padding-left:0;padding-right:0;padding-top:8px}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field{position:relative}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-checkbox{position:absolute}:host ::ng-deep .isolate .mat-mdc-form-field-hint-wrapper mat-hint .mat-internal-form-field .mdc-label{margin-left:32px;font-size:smaller;line-height:normal}\n"] }]
|
|
69
|
+
}], propDecorators: { item: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], select: [{
|
|
60
72
|
type: ViewChild,
|
|
61
|
-
args: [
|
|
73
|
+
args: [MatSelect, { static: true }]
|
|
62
74
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7QUF5QmpGLE1BQU0sT0FBTyxlQUFlO0lBR25CLElBQUksQ0FBYTtJQUdqQixNQUFNLENBQVk7SUFFbEIsS0FBSyxDQUFNO0lBQ1gsUUFBUSxDQUFVO0lBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxDLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckM7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxJQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO3dHQTVDVSxlQUFlOzRGQUFmLGVBQWUsZ0pBS2YsU0FBUyw4REN0RHRCLHV0Q0FzQ2lCLDRpQkRKYixZQUFZLDRMQUNaLE9BQU8sb0ZBQ1AsUUFBUSxzREFDUixTQUFTLHdlQUNULG9CQUFvQix1SEFDcEIsV0FBVyw4VkFDWCxZQUFZLDBnQkFDWixTQUFTLHFKQUNULFdBQVcsbUhBQ1gsT0FBTyw4RUFDUCxXQUFXLG1WQUNYLHFCQUFxQix5REFDckIsU0FBUzs7NEZBR0EsZUFBZTtrQkF0QjNCLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLFNBQVM7cUJBQ1Y7OEJBS00sSUFBSTtzQkFEVixLQUFLO2dCQUlDLE1BQU07c0JBRFosU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Q2hlY2tib3gsIE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0T3B0Z3JvdXAsIE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRIaW50LCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLXRvLWl0ZW0vZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9yZW1vdmUtaXNvbGF0ZS12YWx1ZS5waXBlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE5nQ2xhc3MsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0U2VsZWN0LFxuICAgIEZvY3VzVG9JdGVtRGlyZWN0aXZlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgICBNYXRPcHRpb24sXG4gICAgTWF0T3B0Z3JvdXAsXG4gICAgTWF0SGludCxcbiAgICBNYXRDaGVja2JveCxcbiAgICBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMsXG4gICAgQXN5bmNQaXBlLCAgXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW06IFNlbGVjdEl0ZW07XG5cbiAgQFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgcHVibGljIGlzb2xhdGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgY2hhbmdlZCgpIHtcbiAgICB0aGlzLml0ZW0udmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuaXNvbGF0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBpc29sYXRlQ2hhbmdlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIGlmKGV2ZW50LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMuaXRlbS5tdWx0aXBsZSA/IHRoaXMuaXRlbS5pc29sYXRlVmFsdWVzIDogdGhpcy5pdGVtLmlzb2xhdGVWYWx1ZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMuaXRlbS5tdWx0aXBsZSA/IFtdIDogbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7IGlzb2xhdGU6IGl0ZW0uaXNvbGF0ZSB9XCI+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbCB9fVxuICA8L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3RcbiAgICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpXCJcbiAgICAgIFttdWx0aXBsZV09XCJpdGVtLm11bHRpcGxlXCI+XG4gICAgQGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICBAZm9yIChvcHRpb24gb2YgaXRlbS52YWx1ZXMkIHwgYXN5bmM7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8bWF0LW9wdGdyb3VwIFtsYWJlbF09XCJvcHRpb24ubmFtZVwiPlxuICAgICAgICAgIEBmb3IgKGNoaWxkT3B0aW9uIG9mIG9wdGlvbltpdGVtLmNoaWxkcmVuXSB8IGZzRmlsdGVySXNvbGF0ZVZhbHVlczogaXRlbS5pc29sYXRlOyB0cmFjayBjaGlsZE9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImNoaWxkT3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICAgIHt7IGNoaWxkT3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGZvciAob3B0aW9uIG9mIGl0ZW0udmFsdWVzJCB8IGFzeW5jIHwgZnNGaWx0ZXJJc29sYXRlVmFsdWVzOiBpdGVtLmlzb2xhdGU7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIH1cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWhpbnQ+XG4gICAgQGlmIChpdGVtLmlzb2xhdGUpIHtcbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAoY2hhbmdlKT1cImlzb2xhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpc29sYXRlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LWxhYmVsXCI+XG4gICAgICAgICAge3sgaXRlbS5pc29sYXRlTGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgfVxuICA8L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|