@firestitch/filter 18.2.13 → 18.2.14
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 +2 -5
- package/app/components/filter-chips/filter-chips.component.d.ts +1 -0
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -1
- package/app/fs-filter.module.d.ts +8 -10
- package/app/helpers/create-filter-item.d.ts +1 -1
- package/app/models/items/base-item.d.ts +5 -2
- package/app/services/focus-controller.service.d.ts +0 -1
- package/esm2022/app/components/filter/filter.component.mjs +5 -14
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +7 -7
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +9 -7
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +3 -3
- package/esm2022/app/fs-filter.module.mjs +1 -8
- package/esm2022/app/models/items/base-item.mjs +21 -12
- package/esm2022/app/services/filter-controller.service.mjs +2 -2
- package/esm2022/app/services/focus-controller.service.mjs +2 -3
- package/fesm2022/firestitch-filter.mjs +64 -209
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/app/components/filter-chip/filter-chip.component.d.ts +0 -37
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +0 -18
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +0 -84
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +0 -71
package/package.json
CHANGED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { IFilterConfigItem } from '../../interfaces/config.interface';
|
|
4
|
-
import { BaseItem } from '../../models/items/base-item';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class FsFilterChipComponent implements OnInit, OnDestroy {
|
|
7
|
-
item: BaseItem<IFilterConfigItem>;
|
|
8
|
-
removable: boolean;
|
|
9
|
-
chips: {
|
|
10
|
-
name?: string;
|
|
11
|
-
value: string;
|
|
12
|
-
label: string;
|
|
13
|
-
}[];
|
|
14
|
-
clickable: boolean;
|
|
15
|
-
rangeItem: boolean;
|
|
16
|
-
chipDelayedRender$: Observable<boolean>;
|
|
17
|
-
private _chipRenderTimer$;
|
|
18
|
-
private _destroy$;
|
|
19
|
-
private _cdRef;
|
|
20
|
-
private _focusController;
|
|
21
|
-
ngOnInit(): void;
|
|
22
|
-
ngOnDestroy(): void;
|
|
23
|
-
click(chip: {
|
|
24
|
-
name?: string;
|
|
25
|
-
value: string;
|
|
26
|
-
label: string;
|
|
27
|
-
}): void;
|
|
28
|
-
remove(chip: {
|
|
29
|
-
name?: string;
|
|
30
|
-
value: string;
|
|
31
|
-
label: string;
|
|
32
|
-
}): void;
|
|
33
|
-
listenValueChangesForRanges(): void;
|
|
34
|
-
private _initDelayRender;
|
|
35
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FsFilterChipComponent, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFilterChipComponent, "fs-filter-chip", never, { "item": { "alias": "item"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "chips": { "alias": "chips"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; }, {}, never, never, true, never>;
|
|
37
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { IFilterConfigItem } from '../../interfaces/config.interface';
|
|
3
|
-
import { BaseItem } from '../../models/items/base-item';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FsFilterChipContentComponent implements OnInit, OnDestroy {
|
|
6
|
-
private _cdRef;
|
|
7
|
-
item: BaseItem<IFilterConfigItem>;
|
|
8
|
-
type: 'from' | 'to';
|
|
9
|
-
content: any;
|
|
10
|
-
private _destroy$;
|
|
11
|
-
constructor(_cdRef: ChangeDetectorRef);
|
|
12
|
-
ngOnInit(): void;
|
|
13
|
-
ngOnDestroy(): void;
|
|
14
|
-
listenValueChangesForRanges(): void;
|
|
15
|
-
private _getContent;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FsFilterChipContentComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFilterChipContentComponent, "fs-filter-chip-content", never, { "item": { "alias": "item"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, never, true, never>;
|
|
18
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, inject, Input, } from '@angular/core';
|
|
3
|
-
import { FsChipModule } from '@firestitch/chip';
|
|
4
|
-
import { combineLatest, Subject, timer } from 'rxjs';
|
|
5
|
-
import { map, mapTo, startWith } from 'rxjs/operators';
|
|
6
|
-
import { BaseItem } from '../../models/items/base-item';
|
|
7
|
-
import { FocusControllerService } from '../../services/focus-controller.service';
|
|
8
|
-
import { FsFilterChipContentComponent } from '../filter-chip-content/filter-chip-content.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@firestitch/chip";
|
|
11
|
-
export class FsFilterChipComponent {
|
|
12
|
-
item;
|
|
13
|
-
removable = false;
|
|
14
|
-
chips;
|
|
15
|
-
clickable = false;
|
|
16
|
-
rangeItem;
|
|
17
|
-
chipDelayedRender$;
|
|
18
|
-
_chipRenderTimer$ = timer(500)
|
|
19
|
-
.pipe(mapTo(true));
|
|
20
|
-
_destroy$ = new Subject();
|
|
21
|
-
_cdRef = inject(ChangeDetectorRef);
|
|
22
|
-
_focusController = inject(FocusControllerService);
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
// this.rangeItem = this.item.isTypeDateRange
|
|
25
|
-
// || this.item.isTypeRange
|
|
26
|
-
// || this.item.isTypeDateTimeRange;
|
|
27
|
-
// this.listenValueChangesForRanges();
|
|
28
|
-
// this._initDelayRender();
|
|
29
|
-
// }
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
this._destroy$.next(null);
|
|
33
|
-
this._destroy$.complete();
|
|
34
|
-
}
|
|
35
|
-
click(chip) {
|
|
36
|
-
if (this.clickable) {
|
|
37
|
-
this._focusController.click(this.item, chip.name);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
remove(chip) {
|
|
41
|
-
this.item.clear(chip.name);
|
|
42
|
-
}
|
|
43
|
-
listenValueChangesForRanges() {
|
|
44
|
-
// this.item.valueChange$
|
|
45
|
-
// .pipe(
|
|
46
|
-
// takeUntil(this._destroy$),
|
|
47
|
-
// )
|
|
48
|
-
// .subscribe(() => {
|
|
49
|
-
// this._cdRef.markForCheck();
|
|
50
|
-
// });
|
|
51
|
-
}
|
|
52
|
-
_initDelayRender() {
|
|
53
|
-
this.chipDelayedRender$ = combineLatest([
|
|
54
|
-
this.item.values$,
|
|
55
|
-
this._chipRenderTimer$.pipe(startWith(false)),
|
|
56
|
-
])
|
|
57
|
-
.pipe(map(([values, timerValue]) => {
|
|
58
|
-
return !!values || timerValue;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FsFilterChipComponent, isStandalone: true, selector: "fs-filter-chip", inputs: { item: "item", removable: "removable", chips: "chips", clickable: "clickable" }, host: { properties: { "class.clickable": "this.clickable" } }, ngImport: i0, template: "@for (chip of chips; track chip) {\n <fs-chip\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click(chip)\"\n (removed)=\"remove(chip)\">\n {{ chip.label }}: {{ chip.value }}\n </fs-chip>\n}\n<!-- {{ item.name }}\n@if ((chipDelayedRender$ | async)) {\n @if (rangeItem) {\n @if (item.value?.min || item.value?.from) {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n [removable]=\"removable\"\n (click)=\"click('from')\"\n (removed)=\"removeItem($event, 'from')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'from' }\">\n </ng-template>\n </fs-chip>\n }\n @if (item.value?.max || item.value?.to) {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click('to')\"\n (removed)=\"removeItem($event, 'to')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'to' }\">\n </ng-template>\n </fs-chip>\n }\n } @else {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click()\"\n (removed)=\"removeItem($event)\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </fs-chip>\n }\n <ng-template\n #chipContent\n let-item=\"item\"\n let-type=\"type\">\n @if (!item.hasPendingValues && !item.loading) {\n <fs-filter-chip-content\n [item]=\"item\"\n [type]=\"type\">\n </fs-filter-chip-content>\n } @else {\n Loading...\n }\n </ng-template>\n} -->", styles: [":host{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}:host.clickable fs-chip{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FsChipModule }, { kind: "component", type: i1.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "maxWidth", "width", "backgroundColor", "borderColor", "color", "shape", "outlined", "icon", "image", "selected", "padding", "contrastColor", "size"], outputs: ["selectedToggled", "removed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterChipComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{ selector: 'fs-filter-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
67
|
-
FsChipModule,
|
|
68
|
-
NgTemplateOutlet,
|
|
69
|
-
FsFilterChipContentComponent,
|
|
70
|
-
AsyncPipe,
|
|
71
|
-
], template: "@for (chip of chips; track chip) {\n <fs-chip\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click(chip)\"\n (removed)=\"remove(chip)\">\n {{ chip.label }}: {{ chip.value }}\n </fs-chip>\n}\n<!-- {{ item.name }}\n@if ((chipDelayedRender$ | async)) {\n @if (rangeItem) {\n @if (item.value?.min || item.value?.from) {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n [removable]=\"removable\"\n (click)=\"click('from')\"\n (removed)=\"removeItem($event, 'from')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'from' }\">\n </ng-template>\n </fs-chip>\n }\n @if (item.value?.max || item.value?.to) {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click('to')\"\n (removed)=\"removeItem($event, 'to')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'to' }\">\n </ng-template>\n </fs-chip>\n }\n } @else {\n <fs-chip\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear && removable\"\n size=\"small\"\n (click)=\"click()\"\n (removed)=\"removeItem($event)\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </fs-chip>\n }\n <ng-template\n #chipContent\n let-item=\"item\"\n let-type=\"type\">\n @if (!item.hasPendingValues && !item.loading) {\n <fs-filter-chip-content\n [item]=\"item\"\n [type]=\"type\">\n </fs-filter-chip-content>\n } @else {\n Loading...\n }\n </ng-template>\n} -->", styles: [":host{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}:host.clickable fs-chip{cursor:pointer}\n"] }]
|
|
72
|
-
}], propDecorators: { item: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], removable: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], chips: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], clickable: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}, {
|
|
81
|
-
type: HostBinding,
|
|
82
|
-
args: ['class.clickable']
|
|
83
|
-
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlci1jaGlwL2ZpbHRlci1jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC9maWx0ZXItY2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0RBQXNELENBQUM7OztBQWdCcEcsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQixJQUFJLENBQThCO0lBRWxDLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFFM0IsS0FBSyxDQUFvRDtJQUlsRSxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRTNCLFNBQVMsQ0FBVTtJQUVuQixrQkFBa0IsQ0FBc0I7SUFFdkMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNuQyxJQUFJLENBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNaLENBQUM7SUFFSSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFbkQsUUFBUTtRQUNiLDZDQUE2QztRQUM3Qyw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBRXRDLHNDQUFzQztRQUN0Qyw2QkFBNkI7UUFDN0IsSUFBSTtJQUNOLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFxRDtRQUNoRSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQXFEO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLHlCQUF5QjtRQUN6QixXQUFXO1FBQ1gsaUNBQWlDO1FBQ2pDLE1BQU07UUFDTix1QkFBdUI7UUFDdkIsa0NBQWtDO1FBQ2xDLFFBQVE7SUFDVixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO3dHQXRFVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixtT0NsQ2xDLDJnRUFxRUssMkpEekNELFlBQVk7OzRGQU1ILHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsU0FBUztxQkFDVjs4QkFJZSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFJQyxTQUFTO3NCQUZmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCwgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc0NoaXBNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9jaGlwJztcblxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWFwVG8sIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDaGlwQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlci1jaGlwLWNvbnRlbnQvZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1jaGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGc0NoaXBNb2R1bGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBGc0ZpbHRlckNoaXBDb250ZW50Q29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT47XG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGlwczogeyBuYW1lPzogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXTtcblxuICBASW5wdXQoKSBcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jbGlja2FibGUnKSBcbiAgcHVibGljIGNsaWNrYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyByYW5nZUl0ZW06IGJvb2xlYW47XG5cbiAgcHVibGljIGNoaXBEZWxheWVkUmVuZGVyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIF9jaGlwUmVuZGVyVGltZXIkID0gdGltZXIoNTAwKVxuICAgIC5waXBlKFxuICAgICAgbWFwVG8odHJ1ZSksXG4gICAgKTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfZm9jdXNDb250cm9sbGVyID0gaW5qZWN0KEZvY3VzQ29udHJvbGxlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAvLyB0aGlzLnJhbmdlSXRlbSA9IHRoaXMuaXRlbS5pc1R5cGVEYXRlUmFuZ2VcbiAgICAvLyAgIHx8IHRoaXMuaXRlbS5pc1R5cGVSYW5nZVxuICAgIC8vICAgfHwgdGhpcy5pdGVtLmlzVHlwZURhdGVUaW1lUmFuZ2U7XG5cbiAgICAvLyB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlc0ZvclJhbmdlcygpO1xuICAgIC8vICAgdGhpcy5faW5pdERlbGF5UmVuZGVyKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGljayhjaGlwOiB7IG5hbWU/OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSkge1xuICAgIGlmICh0aGlzLmNsaWNrYWJsZSkge1xuICAgICAgdGhpcy5fZm9jdXNDb250cm9sbGVyLmNsaWNrKHRoaXMuaXRlbSwgY2hpcC5uYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGNoaXA6IHsgbmFtZT86IHN0cmluZywgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5pdGVtLmNsZWFyKGNoaXAubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCkge1xuICAgIC8vIHRoaXMuaXRlbS52YWx1ZUNoYW5nZSRcbiAgICAvLyAgIC5waXBlKFxuICAgIC8vICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgIC8vICAgKVxuICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgLy8gICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIC8vICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0RGVsYXlSZW5kZXIoKSB7XG4gICAgdGhpcy5jaGlwRGVsYXllZFJlbmRlciQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZXMkLFxuICAgICAgdGhpcy5fY2hpcFJlbmRlclRpbWVyJC5waXBlKHN0YXJ0V2l0aChmYWxzZSkpLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbdmFsdWVzLCB0aW1lclZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJldHVybiAhIXZhbHVlcyB8fCB0aW1lclZhbHVlO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbn1cbiIsIkBmb3IgKGNoaXAgb2YgY2hpcHM7IHRyYWNrIGNoaXApIHtcbiAgPGZzLWNoaXBcbiAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgIFtyZW1vdmFibGVdPVwiaXRlbS5zaG93Q2xlYXIgJiYgcmVtb3ZhYmxlXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiY2xpY2soY2hpcClcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlKGNoaXApXCI+XG4gICAge3sgY2hpcC5sYWJlbCB9fToge3sgY2hpcC52YWx1ZSB9fVxuICA8L2ZzLWNoaXA+XG59XG48IS0tIHt7IGl0ZW0ubmFtZSB9fVxuQGlmICgoY2hpcERlbGF5ZWRSZW5kZXIkIHwgYXN5bmMpKSB7XG4gIEBpZiAocmFuZ2VJdGVtKSB7XG4gICAgQGlmIChpdGVtLnZhbHVlPy5taW4gfHwgaXRlbS52YWx1ZT8uZnJvbSkge1xuICAgICAgPGZzLWNoaXBcbiAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtyZW1vdmFibGVdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCJyZW1vdmFibGVcIlxuICAgICAgICAgIChjbGljayk9XCJjbGljaygnZnJvbScpXCJcbiAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudCwgJ2Zyb20nKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgdHlwZTogJ2Zyb20nIH1cIj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZnMtY2hpcD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnZhbHVlPy5tYXggfHwgaXRlbS52YWx1ZT8udG8pIHtcbiAgICAgIDxmcy1jaGlwXG4gICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyICYmIHJlbW92YWJsZVwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xpY2soJ3RvJylcIlxuICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUl0ZW0oJGV2ZW50LCAndG8nKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgdHlwZTogJ3RvJyB9XCI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2ZzLWNoaXA+XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICA8ZnMtY2hpcFxuICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW3JlbW92YWJsZV09XCJpdGVtLnNob3dDbGVhciAmJiByZW1vdmFibGVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2soKVwiXG4gICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUl0ZW0oJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaXBDb250ZW50XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZnMtY2hpcD5cbiAgfVxuICA8bmctdGVtcGxhdGVcbiAgICAgICNjaGlwQ29udGVudFxuICAgICAgbGV0LWl0ZW09XCJpdGVtXCJcbiAgICAgIGxldC10eXBlPVwidHlwZVwiPlxuICAgIEBpZiAoIWl0ZW0uaGFzUGVuZGluZ1ZhbHVlcyAmJiAhaXRlbS5sb2FkaW5nKSB7XG4gICAgICA8ZnMtZmlsdGVyLWNoaXAtY29udGVudFxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgW3R5cGVdPVwidHlwZVwiPlxuICAgICAgPC9mcy1maWx0ZXItY2hpcC1jb250ZW50PlxuICAgIH0gQGVsc2Uge1xuICAgICAgTG9hZGluZy4uLlxuICAgIH1cbiAgPC9uZy10ZW1wbGF0ZT5cbn0gLS0+Il19
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseItem } from '../../models/items/base-item';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FsFilterChipContentComponent {
|
|
7
|
-
_cdRef;
|
|
8
|
-
item;
|
|
9
|
-
type;
|
|
10
|
-
content;
|
|
11
|
-
_destroy$ = new Subject();
|
|
12
|
-
constructor(_cdRef) {
|
|
13
|
-
this._cdRef = _cdRef;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.listenValueChangesForRanges();
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
this._destroy$.next(null);
|
|
20
|
-
this._destroy$.complete();
|
|
21
|
-
}
|
|
22
|
-
listenValueChangesForRanges() {
|
|
23
|
-
this.item.value$
|
|
24
|
-
.pipe(takeUntil(this._destroy$))
|
|
25
|
-
.subscribe(() => {
|
|
26
|
-
this.content = this._getContent();
|
|
27
|
-
this._cdRef.detectChanges();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
_getContent() {
|
|
31
|
-
const result = this.item.chips;
|
|
32
|
-
if (this.item.chipLabel !== undefined) {
|
|
33
|
-
if (this.item.chipLabel === '') {
|
|
34
|
-
return `${result}`;
|
|
35
|
-
}
|
|
36
|
-
if (Array.isArray(this.item.chipLabel)) {
|
|
37
|
-
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
38
|
-
return `${label}: ${result}`;
|
|
39
|
-
}
|
|
40
|
-
return `${this.item.chipLabel}: ${result}`;
|
|
41
|
-
}
|
|
42
|
-
if (Array.isArray(this.item.label)) {
|
|
43
|
-
const label = getLabelFromArray(this.item.label, this.type);
|
|
44
|
-
return `${label}: ${result}`;
|
|
45
|
-
}
|
|
46
|
-
if (this.item.isTypeCheckbox) {
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
return `${this.item.label}: ${result}`;
|
|
50
|
-
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterChipContentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FsFilterChipContentComponent, isStandalone: true, selector: "fs-filter-chip-content", inputs: { item: "item", type: "type" }, ngImport: i0, template: "{{ content }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterChipContentComponent, decorators: [{
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{ selector: 'fs-filter-chip-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "{{ content }}\n" }]
|
|
57
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], type: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}] } });
|
|
62
|
-
function getLabelFromArray(labelArr, type) {
|
|
63
|
-
if (type === 'from' && labelArr[0]) {
|
|
64
|
-
return `${labelArr[0]}`;
|
|
65
|
-
}
|
|
66
|
-
else if (type === 'to' && labelArr[1]) {
|
|
67
|
-
return `${labelArr[1]}`;
|
|
68
|
-
}
|
|
69
|
-
return '';
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWNoaXAtY29udGVudC9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC1jb250ZW50L2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVXhELE1BQU0sT0FBTyw0QkFBNEI7SUFTbkI7SUFQSixJQUFJLENBQThCO0lBQ2xDLElBQUksQ0FBZ0I7SUFFN0IsT0FBTyxDQUFDO0lBRVAsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFbEMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFDN0MsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVoRSxPQUFPLEdBQUcsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9CLENBQUM7WUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7UUFHN0MsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTVELE9BQU8sR0FBRyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBR3pDLENBQUM7d0dBN0RVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLDBIQ3ZCekMsaUJBQ0E7OzRGRHNCYSw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7c0ZBSUEsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLOztBQTZEUixTQUFTLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJO0lBQ3ZDLElBQUksSUFBSSxLQUFLLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUIsQ0FBQztTQUFNLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBRVosQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElGaWx0ZXJDb25maWdJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZmlsdGVyLWNoaXAtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDaGlwQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ2Zyb20nIHwgJ3RvJztcblxuICBwdWJsaWMgY29udGVudDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuX2dldENvbnRlbnQoKTtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb250ZW50KCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaXRlbS5jaGlwcztcblxuICAgIGlmICh0aGlzLml0ZW0uY2hpcExhYmVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLml0ZW0uY2hpcExhYmVsID09PSAnJykge1xuICAgICAgICByZXR1cm4gYCR7cmVzdWx0fWA7XG4gICAgICB9IFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtLmNoaXBMYWJlbCkpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0uY2hpcExhYmVsLCB0aGlzLnR5cGUpO1xuXG4gICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICB9XG4gXG4gICAgICByZXR1cm4gYCR7dGhpcy5pdGVtLmNoaXBMYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICAgIFxuICAgICAgXG4gICAgfSBcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW0ubGFiZWwpKSB7XG4gICAgICBjb25zdCBsYWJlbCA9IGdldExhYmVsRnJvbUFycmF5KHRoaXMuaXRlbS5sYWJlbCwgdGhpcy50eXBlKTtcblxuICAgICAgcmV0dXJuIGAke2xhYmVsfTogJHtyZXN1bHR9YDtcbiAgICB9IFxuICAgIGlmICh0aGlzLml0ZW0uaXNUeXBlQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuIFxuICAgIHJldHVybiBgJHt0aGlzLml0ZW0ubGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgXG4gICAgXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TGFiZWxGcm9tQXJyYXkobGFiZWxBcnIsIHR5cGUpIHtcbiAgaWYgKHR5cGUgPT09ICdmcm9tJyAmJiBsYWJlbEFyclswXSkge1xuICAgIHJldHVybiBgJHtsYWJlbEFyclswXX1gO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycgJiYgbGFiZWxBcnJbMV0pIHtcbiAgICByZXR1cm4gYCR7bGFiZWxBcnJbMV19YDtcbiAgfVxuIFxuICByZXR1cm4gJyc7XG4gIFxufVxuIiwie3sgY29udGVudCB9fVxuIl19
|