@firestitch/filter 18.0.46 → 18.2.0
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/action-button/action-button.component.d.ts +1 -1
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +1 -1
- package/app/components/actions/actions.component.d.ts +1 -1
- package/app/components/filter/filter.component.d.ts +17 -25
- package/app/components/filter-chip/filter-chip.component.d.ts +7 -7
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +1 -1
- package/app/components/filter-chips/filter-chips.component.d.ts +1 -1
- package/app/components/filter-drawer/filter-drawer.component.d.ts +18 -12
- package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +5 -1
- package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +1 -1
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +1 -1
- package/app/components/filters-item/base-item/base-item.component.d.ts +1 -1
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +1 -1
- package/app/components/filters-item/chips/chips.component.d.ts +2 -3
- package/app/components/filters-item/date/date.component.d.ts +1 -1
- package/app/components/filters-item/date-range/date-range.component.d.ts +1 -1
- package/app/components/filters-item/filter-item.component.d.ts +1 -1
- package/app/components/filters-item/range/range.component.d.ts +1 -1
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +1 -1
- package/app/components/filters-item/select/groups/groups.component.d.ts +1 -1
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +1 -1
- package/app/components/filters-item/select/select.component.d.ts +1 -1
- package/app/components/filters-item/select/simple/simple.component.d.ts +1 -1
- package/app/components/filters-item/text/text.component.d.ts +1 -1
- package/app/components/filters-item/week/week.component.d.ts +1 -1
- package/app/components/saved-filter/index.d.ts +1 -2
- package/app/components/saved-filter/saved-filter-autocomplete-chips/index.d.ts +1 -0
- package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +32 -0
- package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/index.d.ts +1 -0
- package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +13 -0
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +17 -10
- package/app/consts/filter-icon.d.ts +1 -0
- package/app/consts/index.d.ts +2 -0
- package/app/directives/focus-to-item/focus-to-item.directive.d.ts +1 -1
- package/app/directives/status-bar/status-bar.directive.d.ts +1 -1
- package/app/fs-filter.module.d.ts +30 -62
- package/app/helpers/build-query-params.d.ts +2 -1
- package/app/helpers/create-filter-item.d.ts +1 -1
- package/app/injectors/filter-drawer-overlay.d.ts +2 -1
- package/app/interfaces/external-params.interface.d.ts +2 -2
- package/app/interfaces/saved-filters.interface.d.ts +11 -6
- package/app/models/items/autocomplete/index.d.ts +1 -0
- package/app/models/items/autocomplete-chips-item.d.ts +1 -1
- package/app/models/items/base-item.d.ts +1 -1
- package/app/models/items/chips-item.d.ts +1 -1
- package/app/models/items/date/base-date-item.d.ts +1 -1
- package/app/models/items/date/index.d.ts +1 -0
- package/app/models/items/date-range/base-date-range-item.d.ts +1 -1
- package/app/models/items/date-range/index.d.ts +1 -0
- package/app/models/items/index.d.ts +17 -0
- package/app/models/items/select/index.d.ts +3 -0
- package/app/models/items/select/multiple-select-item.d.ts +3 -3
- package/app/models/items/select/simple-select-item.d.ts +2 -2
- package/app/models/items/week-item.d.ts +1 -1
- package/app/pipes/remove-isolate-value.pipe.d.ts +1 -1
- package/app/services/filter-overlay.service.d.ts +7 -11
- package/app/services/index.d.ts +7 -0
- package/app/services/{items-store.service.d.ts → item-store.service.d.ts} +9 -7
- package/app/services/param-controller.service.d.ts +30 -0
- package/app/services/{external-params/query-persistance-controller.service.d.ts → persistance-controller.service.d.ts} +4 -4
- package/app/services/query-param-controller.service.d.ts +21 -0
- package/app/services/{external-params/saved-filters-controller.service.d.ts → saved-filter-controller.service.d.ts} +17 -15
- package/esm2022/app/components/action-button/action-button.component.mjs +22 -7
- package/esm2022/app/components/action-kebab-actions/action-kebab-actions.component.mjs +13 -7
- package/esm2022/app/components/actions/actions.component.mjs +35 -15
- package/esm2022/app/components/filter/filter.component.mjs +111 -119
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +30 -18
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +3 -3
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +5 -5
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +70 -36
- package/esm2022/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +27 -7
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +14 -6
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +14 -6
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +3 -2
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +15 -7
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +19 -14
- package/esm2022/app/components/filters-item/date/date.component.mjs +19 -8
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +19 -8
- package/esm2022/app/components/filters-item/filter-item.component.mjs +24 -14
- package/esm2022/app/components/filters-item/range/range.component.mjs +19 -9
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +3 -3
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +21 -10
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +25 -12
- package/esm2022/app/components/filters-item/select/select.component.mjs +17 -9
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +24 -12
- package/esm2022/app/components/filters-item/text/text.component.mjs +17 -9
- package/esm2022/app/components/filters-item/week/week.component.mjs +19 -8
- package/esm2022/app/components/saved-filter/index.mjs +2 -3
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/index.mjs +2 -0
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +120 -0
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/index.mjs +2 -0
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +28 -0
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +46 -31
- package/esm2022/app/consts/filter-icon.mjs +2 -0
- package/esm2022/app/consts/index.mjs +3 -0
- package/esm2022/app/directives/focus-to-item/focus-to-item.directive.mjs +3 -2
- package/esm2022/app/directives/status-bar/status-bar.directive.mjs +3 -2
- package/esm2022/app/fs-filter.module.mjs +31 -141
- package/esm2022/app/helpers/build-query-params.mjs +8 -3
- package/esm2022/app/helpers/compare.mjs +2 -2
- package/esm2022/app/injectors/filter-drawer-overlay.mjs +1 -1
- package/esm2022/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2022/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2022/app/models/items/autocomplete/index.mjs +2 -0
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +4 -4
- package/esm2022/app/models/items/base-item.mjs +4 -4
- package/esm2022/app/models/items/chips-item.mjs +5 -5
- package/esm2022/app/models/items/date/base-date-item.mjs +9 -9
- package/esm2022/app/models/items/date/index.mjs +2 -0
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +12 -12
- package/esm2022/app/models/items/date-range/index.mjs +2 -0
- package/esm2022/app/models/items/index.mjs +18 -0
- package/esm2022/app/models/items/select/index.mjs +4 -0
- package/esm2022/app/models/items/select/multiple-select-item.mjs +17 -17
- package/esm2022/app/models/items/select/simple-select-item.mjs +10 -10
- package/esm2022/app/models/items/week-item.mjs +11 -9
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +3 -2
- package/esm2022/app/services/filter-overlay.service.mjs +10 -21
- package/esm2022/app/services/index.mjs +8 -0
- package/esm2022/app/services/item-store.service.mjs +356 -0
- package/esm2022/app/services/param-controller.service.mjs +149 -0
- package/esm2022/app/services/persistance-controller.service.mjs +65 -0
- package/esm2022/app/services/query-param-controller.service.mjs +65 -0
- package/esm2022/app/services/saved-filter-controller.service.mjs +169 -0
- package/esm2022/public_api.mjs +2 -4
- package/fesm2022/firestitch-filter.mjs +1962 -1810
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -3
- package/app/components/saved-filter/saved-filter-edit/index.d.ts +0 -1
- package/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +0 -18
- package/app/components/saved-filter/saved-filters-menu/index.d.ts +0 -1
- package/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +0 -24
- package/app/services/external-params/index.d.ts +0 -3
- package/app/services/external-params/query-params-controller.service.d.ts +0 -21
- package/app/services/external-params-controller.service.d.ts +0 -38
- package/esm2022/app/components/saved-filter/saved-filter-edit/index.mjs +0 -2
- package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +0 -55
- package/esm2022/app/components/saved-filter/saved-filters-menu/index.mjs +0 -2
- package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +0 -61
- package/esm2022/app/services/external-params/index.mjs +0 -4
- package/esm2022/app/services/external-params/query-params-controller.service.mjs +0 -65
- package/esm2022/app/services/external-params/query-persistance-controller.service.mjs +0 -65
- package/esm2022/app/services/external-params/saved-filters-controller.service.mjs +0 -165
- package/esm2022/app/services/external-params-controller.service.mjs +0 -183
- package/esm2022/app/services/items-store.service.mjs +0 -345
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { SavedFiltersController } from './app/services/external-params/saved-filters-controller.service';
|
|
1
|
+
export { SavedFilterController } from './app/services/saved-filter-controller.service';
|
|
3
2
|
export { FsFilterModule } from './app/fs-filter.module';
|
|
4
3
|
export { FilterComponent } from './app/components/filter/filter.component';
|
|
5
4
|
export { FilterItemComponent } from './app/components/filters-item/filter-item.component';
|
|
6
|
-
export { FsSavedFiltersMenuComponent } from './app/components/saved-filter/saved-filters-menu/saved-filters-menu.component';
|
|
7
5
|
export { FilterStatusBarDirective } from './app/directives/status-bar/status-bar.directive';
|
|
8
6
|
export { FsFilterAction, FsFilterActionClickFn, FsFilterActionDisabledFn, FsFilterActionShowFn, FsFilterAutoReload, FsFilterFileActionErrorFn, FsFilterFileActionSelectFn, IFsFilterButtonAction, IFsFilterFileAction, IFsFilterMenuAction, IFsFilterMenuActionFileItem, IFsFilterMenuActionGroupItem, IFsFilterMenuActionItem, IFsFilterMenuActionLink, } from './app/interfaces';
|
|
9
7
|
export { IFilterConfigAutocompleteChipsItem } from './app/interfaces/items/autocomplete-chips.interface';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './saved-filter-edit.component';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import { IFilterExternalParams } from '../../../interfaces/external-params.interface';
|
|
3
|
-
import { IFilterSavedFilter } from '../../../interfaces/saved-filters.interface';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FsFilterSavedFilterEditComponent {
|
|
6
|
-
data: any;
|
|
7
|
-
private _dialogRef;
|
|
8
|
-
filterParams: IFilterExternalParams;
|
|
9
|
-
saveAsFilter: IFilterSavedFilter | 'new';
|
|
10
|
-
savedFilters: IFilterSavedFilter[];
|
|
11
|
-
savedFilterName: string;
|
|
12
|
-
private _saveCallback;
|
|
13
|
-
private _destroy$;
|
|
14
|
-
constructor(data: any, _dialogRef: MatDialogRef<FsFilterSavedFilterEditComponent>);
|
|
15
|
-
save: () => import("rxjs").Observable<IFilterSavedFilter>;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FsFilterSavedFilterEditComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFilterSavedFilterEditComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
18
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './saved-filters-menu.component';
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import { IFilterSavedFilter } from '../../../interfaces/saved-filters.interface';
|
|
5
|
-
import { ExternalParamsController } from '../../../services/external-params-controller.service';
|
|
6
|
-
import { SavedFiltersController } from '../../../services/external-params/saved-filters-controller.service';
|
|
7
|
-
import { FsFilterItemsStore } from '../../../services/items-store.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class FsSavedFiltersMenuComponent {
|
|
10
|
-
private _itemsStore;
|
|
11
|
-
private _externalParams;
|
|
12
|
-
private _savedFilters;
|
|
13
|
-
private _dialog;
|
|
14
|
-
clear: EventEmitter<void>;
|
|
15
|
-
constructor(_itemsStore: FsFilterItemsStore, _externalParams: ExternalParamsController, _savedFilters: SavedFiltersController, _dialog: MatDialog);
|
|
16
|
-
get filters$(): Observable<IFilterSavedFilter[]>;
|
|
17
|
-
get activeFilter$(): Observable<IFilterSavedFilter>;
|
|
18
|
-
selectFilter(savedFilter: IFilterSavedFilter): void;
|
|
19
|
-
removeActiveFilter(): void;
|
|
20
|
-
saveFilters(): void;
|
|
21
|
-
manageFilters(): void;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FsSavedFiltersMenuComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsSavedFiltersMenuComponent, "fs-filter-saved-filters-menu", never, {}, { "clear": "clear"; }, never, never, false, never>;
|
|
24
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ActivatedRoute } from '@angular/router';
|
|
2
|
-
import { FsFilterItemsStore } from '../items-store.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class QueryParamsController {
|
|
5
|
-
private _route;
|
|
6
|
-
private _itemsStore;
|
|
7
|
-
private _enabled;
|
|
8
|
-
private _fetchedParams;
|
|
9
|
-
constructor(_route: ActivatedRoute, _itemsStore: FsFilterItemsStore);
|
|
10
|
-
get enabled(): boolean;
|
|
11
|
-
get fetchedParams(): Record<string, any>;
|
|
12
|
-
init(enabled: boolean): void;
|
|
13
|
-
writeStateToQueryParams(params: any): void;
|
|
14
|
-
/**
|
|
15
|
-
* Parse query and update filter values
|
|
16
|
-
*/
|
|
17
|
-
fetchFromQueryParams(): void;
|
|
18
|
-
private _replaceState;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<QueryParamsController, never>;
|
|
20
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<QueryParamsController>;
|
|
21
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { IFilterExternalParams, IFilterSavedFilter } from '../interfaces';
|
|
4
|
-
import { QueryParamsController, QueryPersistanceController, SavedFiltersController } from './external-params';
|
|
5
|
-
import { FsFilterItemsStore } from './items-store.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class ExternalParamsController implements OnDestroy {
|
|
8
|
-
private _itemsStore;
|
|
9
|
-
private _persistanceStore;
|
|
10
|
-
private _queryParams;
|
|
11
|
-
private _savedFilters;
|
|
12
|
-
protected _init: any;
|
|
13
|
-
private _pending$;
|
|
14
|
-
private _shouldResetSavedFilters;
|
|
15
|
-
private _config;
|
|
16
|
-
private _destroy$;
|
|
17
|
-
constructor(_itemsStore: FsFilterItemsStore, _persistanceStore: QueryPersistanceController, _queryParams: QueryParamsController, _savedFilters: SavedFiltersController);
|
|
18
|
-
get params(): IFilterExternalParams;
|
|
19
|
-
get pending(): boolean;
|
|
20
|
-
get pending$(): Observable<boolean>;
|
|
21
|
-
get savedFiltersController(): SavedFiltersController;
|
|
22
|
-
get savedFiltersEnabled(): boolean;
|
|
23
|
-
ngOnDestroy(): void;
|
|
24
|
-
setConfig(config: any): void;
|
|
25
|
-
setActiveSavedFilter(savedFilter: IFilterSavedFilter): void;
|
|
26
|
-
reloadFiltersWithValues(params: IFilterExternalParams, shouldResetSavedFilters?: boolean): void;
|
|
27
|
-
initItems(): void;
|
|
28
|
-
_initItemsValues(): void;
|
|
29
|
-
fetchQueryParams(): void;
|
|
30
|
-
private _initQueryParams;
|
|
31
|
-
private _initSavedFilters;
|
|
32
|
-
private _listenItemsChange;
|
|
33
|
-
private _listenAndResetSavedFilters;
|
|
34
|
-
private _saveQueryParams;
|
|
35
|
-
private _savePersistedParams;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ExternalParamsController, never>;
|
|
37
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ExternalParamsController>;
|
|
38
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './saved-filter-edit.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1lZGl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NhdmVkLWZpbHRlci1lZGl0LmNvbXBvbmVudCc7XG4iXX0=
|
package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil, tap } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/dialog";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "@angular/material/input";
|
|
10
|
-
import * as i5 from "@angular/material/form-field";
|
|
11
|
-
import * as i6 from "@angular/material/select";
|
|
12
|
-
import * as i7 from "@angular/material/core";
|
|
13
|
-
import * as i8 from "@angular/material/button";
|
|
14
|
-
import * as i9 from "@firestitch/form";
|
|
15
|
-
export class FsFilterSavedFilterEditComponent {
|
|
16
|
-
data;
|
|
17
|
-
_dialogRef;
|
|
18
|
-
filterParams;
|
|
19
|
-
saveAsFilter = 'new';
|
|
20
|
-
savedFilters;
|
|
21
|
-
savedFilterName = '';
|
|
22
|
-
_saveCallback;
|
|
23
|
-
_destroy$ = new Subject();
|
|
24
|
-
constructor(data, _dialogRef) {
|
|
25
|
-
this.data = data;
|
|
26
|
-
this._dialogRef = _dialogRef;
|
|
27
|
-
this.savedFilters = this.data.savedFilters;
|
|
28
|
-
this._saveCallback = this.data.saveCallback;
|
|
29
|
-
}
|
|
30
|
-
save = () => {
|
|
31
|
-
const savedFilter = this.saveAsFilter === 'new' ?
|
|
32
|
-
{
|
|
33
|
-
name: this.savedFilterName,
|
|
34
|
-
active: true,
|
|
35
|
-
filters: this.data.params,
|
|
36
|
-
} : {
|
|
37
|
-
...this.saveAsFilter,
|
|
38
|
-
filters: this.data.params,
|
|
39
|
-
};
|
|
40
|
-
return this._saveCallback(savedFilter)
|
|
41
|
-
.pipe(tap((filter) => {
|
|
42
|
-
this._dialogRef.close(filter);
|
|
43
|
-
}), takeUntil(this._destroy$));
|
|
44
|
-
};
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterSavedFilterEditComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FsFilterSavedFilterEditComponent, selector: "ng-component", ngImport: i0, template: "<form fsForm [submit]=\"save\">\n <h1 mat-dialog-title>\n Save filter\n </h1>\n <div mat-dialog-content>\n <mat-form-field>\n <mat-label>Save as</mat-label>\n <mat-select [(ngModel)]=\"saveAsFilter\" name=\"saveAs\">\n <mat-option value=\"new\">New filter</mat-option>\n <ng-container *ngIf=\"savedFilters.length\">\n <mat-optgroup label=\"Saved filters\">\n <ng-container *ngFor=\"let filter of savedFilters\">\n <mat-option [value]=\"filter\">{{ filter.name }}</mat-option>\n </ng-container>\n </mat-optgroup>\n </ng-container>\n </mat-select>\n </mat-form-field>\n <br>\n <mat-form-field *ngIf=\"saveAsFilter === 'new'\">\n <mat-label>Name</mat-label>\n <input matInput name=\"filter-name\" [(ngModel)]=\"savedFilterName\" required>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button \n mat-button\n type=\"submit\"\n color=\"primary\">\n {{ saveAsFilter === 'new' ? 'Create' : 'Save' }}\n </button>\n\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.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: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i9.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { kind: "directive", type: i9.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: i9.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterSavedFilterEditComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form fsForm [submit]=\"save\">\n <h1 mat-dialog-title>\n Save filter\n </h1>\n <div mat-dialog-content>\n <mat-form-field>\n <mat-label>Save as</mat-label>\n <mat-select [(ngModel)]=\"saveAsFilter\" name=\"saveAs\">\n <mat-option value=\"new\">New filter</mat-option>\n <ng-container *ngIf=\"savedFilters.length\">\n <mat-optgroup label=\"Saved filters\">\n <ng-container *ngFor=\"let filter of savedFilters\">\n <mat-option [value]=\"filter\">{{ filter.name }}</mat-option>\n </ng-container>\n </mat-optgroup>\n </ng-container>\n </mat-select>\n </mat-form-field>\n <br>\n <mat-form-field *ngIf=\"saveAsFilter === 'new'\">\n <mat-label>Name</mat-label>\n <input matInput name=\"filter-name\" [(ngModel)]=\"savedFilterName\" required>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button \n mat-button\n type=\"submit\"\n color=\"primary\">\n {{ saveAsFilter === 'new' ? 'Create' : 'Save' }}\n </button>\n\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </div>\n</form>\n" }]
|
|
51
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
52
|
-
type: Inject,
|
|
53
|
-
args: [MAT_DIALOG_DATA]
|
|
54
|
-
}] }, { type: i1.MatDialogRef }] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3NhdmVkLWZpbHRlci9zYXZlZC1maWx0ZXItZWRpdC9zYXZlZC1maWx0ZXItZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1lZGl0L3NhdmVkLWZpbHRlci1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFhaEQsTUFBTSxPQUFPLGdDQUFnQztJQVdUO0lBQ3hCO0lBVkgsWUFBWSxDQUF3QjtJQUNwQyxZQUFZLEdBQStCLEtBQUssQ0FBQztJQUNqRCxZQUFZLENBQXVCO0lBQ25DLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFFcEIsYUFBYSxDQUFtQjtJQUNoQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV4QyxZQUNrQyxJQUFJLEVBQzVCLFVBQTBEO1FBRGxDLFNBQUksR0FBSixJQUFJLENBQUE7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0Q7UUFFbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7SUFFTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLE1BQU0sV0FBVyxHQUF1QixJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ25FO2dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDMUIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTthQUMxQixDQUFDLENBQUMsQ0FBQztZQUNGLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtTQUMxQixDQUFDO1FBRUosT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQzthQUNuQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDO0lBQ04sQ0FBQyxDQUFDO3dHQXBDUyxnQ0FBZ0Msa0JBV2pDLGVBQWU7NEZBWGQsZ0NBQWdDLG9EQ3RCN0Msc3NDQXdDQTs7NEZEbEJhLGdDQUFnQztrQkFKNUMsU0FBUztzQ0FFUyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUZpbHRlckV4dGVybmFsUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9leHRlcm5hbC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEZpbHRlclJlbW90ZVNhdmUsXG4gIElGaWx0ZXJTYXZlZEZpbHRlcixcbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlZC1maWx0ZXItZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlclNhdmVkRmlsdGVyRWRpdENvbXBvbmVudCB7XG5cbiAgcHVibGljIGZpbHRlclBhcmFtczogSUZpbHRlckV4dGVybmFsUGFyYW1zO1xuICBwdWJsaWMgc2F2ZUFzRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIgfCAnbmV3JyA9ICduZXcnO1xuICBwdWJsaWMgc2F2ZWRGaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXTtcbiAgcHVibGljIHNhdmVkRmlsdGVyTmFtZSA9ICcnO1xuXG4gIHByaXZhdGUgX3NhdmVDYWxsYmFjazogRmlsdGVyUmVtb3RlU2F2ZTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGc0ZpbHRlclNhdmVkRmlsdGVyRWRpdENvbXBvbmVudD4sXG4gICkge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gdGhpcy5kYXRhLnNhdmVkRmlsdGVycztcbiAgICB0aGlzLl9zYXZlQ2FsbGJhY2sgPSB0aGlzLmRhdGEuc2F2ZUNhbGxiYWNrO1xuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlciA9IHRoaXMuc2F2ZUFzRmlsdGVyID09PSAnbmV3JyA/IFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnNhdmVkRmlsdGVyTmFtZSxcbiAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICBmaWx0ZXJzOiB0aGlzLmRhdGEucGFyYW1zLFxuICAgICAgfSA6IHtcbiAgICAgICAgLi4udGhpcy5zYXZlQXNGaWx0ZXIsXG4gICAgICAgIGZpbHRlcnM6IHRoaXMuZGF0YS5wYXJhbXMsXG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX3NhdmVDYWxsYmFjayhzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGZpbHRlcikgPT4ge1xuICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShmaWx0ZXIpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICk7XG4gIH07XG5cbn1cbiIsIjxmb3JtIGZzRm9ybSBbc3VibWl0XT1cInNhdmVcIj5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgU2F2ZSBmaWx0ZXJcbiAgPC9oMT5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5TYXZlIGFzPC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInNhdmVBc0ZpbHRlclwiIG5hbWU9XCJzYXZlQXNcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJuZXdcIj5OZXcgZmlsdGVyPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXAgbGFiZWw9XCJTYXZlZCBmaWx0ZXJzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2Ygc2F2ZWRGaWx0ZXJzXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJmaWx0ZXJcIj57eyBmaWx0ZXIubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxicj5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJzYXZlQXNGaWx0ZXIgPT09ICduZXcnXCI+XG4gICAgICA8bWF0LWxhYmVsPk5hbWU8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyLW5hbWVcIiBbKG5nTW9kZWwpXT1cInNhdmVkRmlsdGVyTmFtZVwiIHJlcXVpcmVkPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgIHt7IHNhdmVBc0ZpbHRlciA9PT0gJ25ldycgPyAnQ3JlYXRlJyA6ICdTYXZlJyB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './saved-filters-menu.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlcnMtbWVudS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYXZlZC1maWx0ZXJzLW1lbnUuY29tcG9uZW50JztcbiJdfQ==
|
package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Output, } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { ExternalParamsController } from '../../../services/external-params-controller.service';
|
|
4
|
-
import { SavedFiltersController } from '../../../services/external-params/saved-filters-controller.service';
|
|
5
|
-
import { FsFilterItemsStore } from '../../../services/items-store.service';
|
|
6
|
-
import { FsFilterSavedFilterManageComponent } from '../saved-filter-manage';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../services/items-store.service";
|
|
9
|
-
import * as i2 from "../../../services/external-params-controller.service";
|
|
10
|
-
import * as i3 from "../../../services/external-params/saved-filters-controller.service";
|
|
11
|
-
import * as i4 from "@angular/material/dialog";
|
|
12
|
-
import * as i5 from "@angular/common";
|
|
13
|
-
import * as i6 from "@firestitch/menu";
|
|
14
|
-
export class FsSavedFiltersMenuComponent {
|
|
15
|
-
_itemsStore;
|
|
16
|
-
_externalParams;
|
|
17
|
-
_savedFilters;
|
|
18
|
-
_dialog;
|
|
19
|
-
clear = new EventEmitter();
|
|
20
|
-
constructor(_itemsStore, _externalParams, _savedFilters, _dialog) {
|
|
21
|
-
this._itemsStore = _itemsStore;
|
|
22
|
-
this._externalParams = _externalParams;
|
|
23
|
-
this._savedFilters = _savedFilters;
|
|
24
|
-
this._dialog = _dialog;
|
|
25
|
-
}
|
|
26
|
-
get filters$() {
|
|
27
|
-
return this._savedFilters.savedFilters$;
|
|
28
|
-
}
|
|
29
|
-
get activeFilter$() {
|
|
30
|
-
return this._savedFilters.activeFilter$;
|
|
31
|
-
}
|
|
32
|
-
selectFilter(savedFilter) {
|
|
33
|
-
this._externalParams.setActiveSavedFilter(savedFilter);
|
|
34
|
-
}
|
|
35
|
-
removeActiveFilter() {
|
|
36
|
-
this._itemsStore.filtersClear();
|
|
37
|
-
this._externalParams.setActiveSavedFilter(null);
|
|
38
|
-
this.clear.emit();
|
|
39
|
-
}
|
|
40
|
-
saveFilters() {
|
|
41
|
-
this._externalParams
|
|
42
|
-
.savedFiltersController
|
|
43
|
-
.openSavedFilterEditDialog();
|
|
44
|
-
}
|
|
45
|
-
manageFilters() {
|
|
46
|
-
this._dialog.open(FsFilterSavedFilterManageComponent, {
|
|
47
|
-
data: {
|
|
48
|
-
savedFiltersController: this._savedFilters,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsSavedFiltersMenuComponent, deps: [{ token: i1.FsFilterItemsStore }, { token: i2.ExternalParamsController }, { token: i3.SavedFiltersController }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: { clear: "clear" }, ngImport: i0, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'None' }}</a>\n\n<fs-menu #menu>\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n\n <ng-template \n fs-menu-item \n (click)=\"saveFilters()\">\n Save\n </ng-template>\n \n <ng-template \n fs-menu-item \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i6.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i6.FsMenuDividerItemDirective, selector: "[fs-menu-divider-item]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsSavedFiltersMenuComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'fs-filter-saved-filters-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'None' }}</a>\n\n<fs-menu #menu>\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n\n <ng-template \n fs-menu-item \n (click)=\"saveFilters()\">\n Save\n </ng-template>\n \n <ng-template \n fs-menu-item \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"] }]
|
|
58
|
-
}], ctorParameters: () => [{ type: i1.FsFilterItemsStore }, { type: i2.ExternalParamsController }, { type: i3.SavedFiltersController }, { type: i4.MatDialog }], propDecorators: { clear: [{
|
|
59
|
-
type: Output
|
|
60
|
-
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVycy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXIvc2F2ZWQtZmlsdGVycy1tZW51L3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlcnMtbWVudS9zYXZlZC1maWx0ZXJzLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBUzVFLE1BQU0sT0FBTywyQkFBMkI7SUFNNUI7SUFDQTtJQUNBO0lBQ0E7SUFOSCxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV4QyxZQUNVLFdBQStCLEVBQy9CLGVBQXlDLEVBQ3pDLGFBQXFDLEVBQ3JDLE9BQWtCO1FBSGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVc7SUFDekIsQ0FBQztJQUVKLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQStCO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZTthQUNqQixzQkFBc0I7YUFDdEIseUJBQXlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBR00sYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtZQUNwRCxJQUFJLEVBQUU7Z0JBQ0osc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWE7YUFDM0M7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTVDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixpR0N4QnhDLDh2QkEyQkE7OzRGREhhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07MkxBS3hDLEtBQUs7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZzRmlsdGVyU2F2ZWRGaWx0ZXJNYW5hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXZlZC1maWx0ZXItbWFuYWdlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItc2F2ZWQtZmlsdGVycy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNTYXZlZEZpbHRlcnNNZW51Q29tcG9uZW50IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZSxcbiAgICBwcml2YXRlIF9leHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX3NhdmVkRmlsdGVyczogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlcixcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVycyQoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMuc2F2ZWRGaWx0ZXJzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMuYWN0aXZlRmlsdGVyJDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWx0ZXIoc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2V4dGVybmFsUGFyYW1zLnNldEFjdGl2ZVNhdmVkRmlsdGVyKHNhdmVkRmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBY3RpdmVGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbXNTdG9yZS5maWx0ZXJzQ2xlYXIoKTtcbiAgICB0aGlzLl9leHRlcm5hbFBhcmFtcy5zZXRBY3RpdmVTYXZlZEZpbHRlcihudWxsKTtcblxuICAgIHRoaXMuY2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIHNhdmVGaWx0ZXJzKCkge1xuICAgIHRoaXMuX2V4dGVybmFsUGFyYW1zXG4gICAgICAuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlclxuICAgICAgLm9wZW5TYXZlZEZpbHRlckVkaXREaWFsb2coKTtcbiAgfVxuXG5cbiAgcHVibGljIG1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oRnNGaWx0ZXJTYXZlZEZpbHRlck1hbmFnZUNvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBzYXZlZEZpbHRlcnNDb250cm9sbGVyOiB0aGlzLl9zYXZlZEZpbHRlcnMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJzZWxlY3RvclwiPnt7IChhY3RpdmVGaWx0ZXIkIHwgYXN5bmMpPy5uYW1lIHx8ICdOb25lJyB9fTwvYT5cblxuPGZzLW1lbnUgI21lbnU+XG4gIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInJlbW92ZUFjdGl2ZUZpbHRlcigpXCI+XG4gICAgTm9uZVxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGZpbHRlcnMkIHwgYXN5bmMpLmxlbmd0aCAhPT0wXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnMkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNlbGVjdEZpbHRlcihmaWx0ZXIpXCI+XG4gICAgICAgIHt7IGZpbHRlci5uYW1lIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWRpdmlkZXItaXRlbT48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgXG4gICAgICBmcy1tZW51LWl0ZW0gXG4gICAgICAoY2xpY2spPVwic2F2ZUZpbHRlcnMoKVwiPlxuICAgIFNhdmVcbiAgPC9uZy10ZW1wbGF0ZT5cbiAgXG4gIDxuZy10ZW1wbGF0ZSBcbiAgICAgIGZzLW1lbnUtaXRlbSBcbiAgICAgIChjbGljayk9XCJtYW5hZ2VGaWx0ZXJzKClcIj5cbiAgICBNYW5hZ2VcbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtbWVudT5cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './query-params-controller.service';
|
|
2
|
-
export * from './query-persistance-controller.service';
|
|
3
|
-
export * from './saved-filters-controller.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXBlcnNpc3RhbmNlLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NhdmVkLWZpbHRlcnMtY29udHJvbGxlci5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { restoreItems } from '../../helpers/restore-items';
|
|
4
|
-
import { FsFilterItemsStore } from '../items-store.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
import * as i2 from "../items-store.service";
|
|
8
|
-
export class QueryParamsController {
|
|
9
|
-
_route;
|
|
10
|
-
_itemsStore;
|
|
11
|
-
_enabled = false;
|
|
12
|
-
_fetchedParams;
|
|
13
|
-
constructor(_route, _itemsStore) {
|
|
14
|
-
this._route = _route;
|
|
15
|
-
this._itemsStore = _itemsStore;
|
|
16
|
-
}
|
|
17
|
-
get enabled() {
|
|
18
|
-
return this._enabled;
|
|
19
|
-
}
|
|
20
|
-
get fetchedParams() {
|
|
21
|
-
return this._fetchedParams;
|
|
22
|
-
}
|
|
23
|
-
init(enabled) {
|
|
24
|
-
this._enabled = enabled;
|
|
25
|
-
if (this.enabled) {
|
|
26
|
-
this.fetchFromQueryParams();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
writeStateToQueryParams(params) {
|
|
30
|
-
if (this._enabled) {
|
|
31
|
-
this._replaceState(params);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Parse query and update filter values
|
|
36
|
-
*/
|
|
37
|
-
fetchFromQueryParams() {
|
|
38
|
-
const items = [
|
|
39
|
-
...this._itemsStore.items,
|
|
40
|
-
this._itemsStore.sortByItem,
|
|
41
|
-
this._itemsStore.sortDirectionItem,
|
|
42
|
-
]
|
|
43
|
-
.filter((item) => !!item);
|
|
44
|
-
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items);
|
|
45
|
-
}
|
|
46
|
-
_replaceState(data) {
|
|
47
|
-
const url = new URL(window.location.href);
|
|
48
|
-
Object.keys(data)
|
|
49
|
-
.forEach((name) => {
|
|
50
|
-
if (data[name] === undefined || data[name] === null) {
|
|
51
|
-
url.searchParams.delete(name);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
url.searchParams.set(name, data[name]);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
history.replaceState({}, null, url.pathname + url.search);
|
|
58
|
-
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamsController });
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamsController, decorators: [{
|
|
63
|
-
type: Injectable
|
|
64
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSTVELE1BQU0sT0FBTyxxQkFBcUI7SUFNdEI7SUFDQTtJQUxGLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxDQUFzQjtJQUU1QyxZQUNVLE1BQXNCLEVBQ3RCLFdBQStCO1FBRC9CLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUN0QyxDQUFDO0lBRUosSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsTUFBTTtRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUc7WUFDWixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7U0FDbkM7YUFDRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUNoQyxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBSTtRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbkQsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0E5RFUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNDb250cm9sbGVyIHtcblxuICBwcml2YXRlIF9lbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2ZldGNoZWRQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmV0Y2hlZFBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmV0Y2hlZFBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gZW5hYmxlZDtcblxuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZmV0Y2hGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgd3JpdGVTdGF0ZVRvUXVlcnlQYXJhbXMocGFyYW1zKSB7XG4gICAgaWYgKHRoaXMuX2VuYWJsZWQpIHsgXG4gICAgICB0aGlzLl9yZXBsYWNlU3RhdGUocGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgcXVlcnkgYW5kIHVwZGF0ZSBmaWx0ZXIgdmFsdWVzXG4gICAqL1xuICBwdWJsaWMgZmV0Y2hGcm9tUXVlcnlQYXJhbXMoKSB7XG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi50aGlzLl9pdGVtc1N0b3JlLml0ZW1zLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbSxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuXG4gICAgdGhpcy5fZmV0Y2hlZFBhcmFtcyA9IHJlc3RvcmVJdGVtcyhcbiAgICAgIHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgaXRlbXMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VTdGF0ZShkYXRhKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYoZGF0YVtuYW1lXSA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbbmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChuYW1lLGRhdGFbbmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsLCB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Location } from '@angular/common';
|
|
2
|
-
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { getNormalizedPath } from '@firestitch/common';
|
|
4
|
-
import { FsStore } from '@firestitch/store';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class QueryPersistanceController {
|
|
7
|
-
queryEnabled = false;
|
|
8
|
-
_store = inject(FsStore);
|
|
9
|
-
_name;
|
|
10
|
-
_data = {};
|
|
11
|
-
_location = inject(Location);
|
|
12
|
-
_storeKey = 'fs-filter-persist';
|
|
13
|
-
setConfig(filterConfig, inDialog) {
|
|
14
|
-
const config = this._initConfig(filterConfig.persist, inDialog);
|
|
15
|
-
if (config) {
|
|
16
|
-
this.queryEnabled = config.persistQuery;
|
|
17
|
-
this._name = config.name;
|
|
18
|
-
this._data = this._get() || {};
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
setQuery(value) {
|
|
22
|
-
this._set('query', value);
|
|
23
|
-
}
|
|
24
|
-
getQuery() {
|
|
25
|
-
return this._data.query || {};
|
|
26
|
-
}
|
|
27
|
-
_set(key, value) {
|
|
28
|
-
this._data[key] = value;
|
|
29
|
-
const storeData = this._store.get(this._storeKey) || {};
|
|
30
|
-
storeData[this._name] = this._data;
|
|
31
|
-
this._store.set(this._storeKey, storeData);
|
|
32
|
-
}
|
|
33
|
-
_get() {
|
|
34
|
-
const storeData = this._store.get(this._storeKey);
|
|
35
|
-
if (storeData) {
|
|
36
|
-
return storeData[this._name];
|
|
37
|
-
}
|
|
38
|
-
return {};
|
|
39
|
-
}
|
|
40
|
-
_initConfig(config, inDialog) {
|
|
41
|
-
let persistanceConfig = this._getConfig(config);
|
|
42
|
-
if (persistanceConfig) {
|
|
43
|
-
persistanceConfig = {
|
|
44
|
-
name: persistanceConfig.name || getNormalizedPath(this._location),
|
|
45
|
-
persistQuery: !inDialog || !!persistanceConfig.name,
|
|
46
|
-
...persistanceConfig,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return persistanceConfig;
|
|
50
|
-
}
|
|
51
|
-
_getConfig(config) {
|
|
52
|
-
if (config) {
|
|
53
|
-
return {
|
|
54
|
-
...(config === true ? {} : config),
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController });
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController, decorators: [{
|
|
63
|
-
type: Injectable
|
|
64
|
-
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvcXVlcnktcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTzVDLE1BQU0sT0FBTywwQkFBMEI7SUFFOUIsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVwQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBUztJQUNkLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDaEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixTQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFFMUMsU0FBUyxDQUFDLFlBQTRCLEVBQUUsUUFBaUI7UUFDOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLElBQUcsTUFBTSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLElBQUksQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxJQUFJO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWxELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUEyQixFQUFFLFFBQWlCO1FBQ2hFLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRCxJQUFHLGlCQUFpQixFQUFFLENBQUM7WUFDckIsaUJBQWlCLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakUsWUFBWSxFQUFFLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNuRCxHQUFHLGlCQUFpQjthQUNyQixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxNQUEyQjtRQUM1QyxJQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTztnQkFDTCxHQUFHLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDbkMsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7d0dBcEVVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRQYXRoIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IEZzU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5cbmltcG9ydCB7IEZzRmlsdGVyUGVyc2lzdGFuY2UsIEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeVBlcnNpc3RhbmNlQ29udHJvbGxlciB7XG5cbiAgcHVibGljIHF1ZXJ5RW5hYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3N0b3JlID0gaW5qZWN0KEZzU3RvcmUpO1xuICBwcml2YXRlIF9uYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IGFueSA9IHt9O1xuICBwcml2YXRlIF9sb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlS2V5ID0gJ2ZzLWZpbHRlci1wZXJzaXN0JztcblxuICBwdWJsaWMgc2V0Q29uZmlnKGZpbHRlckNvbmZpZzogRnNGaWx0ZXJDb25maWcsIGluRGlhbG9nOiBib29sZWFuKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5faW5pdENvbmZpZyhmaWx0ZXJDb25maWcucGVyc2lzdCwgaW5EaWFsb2cpO1xuXG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnF1ZXJ5RW5hYmxlZCA9IGNvbmZpZy5wZXJzaXN0UXVlcnk7XG4gICAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5fZ2V0KCkgfHwge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9zZXQoJ3F1ZXJ5JywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnF1ZXJ5IHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fZGF0YVtrZXldID0gdmFsdWU7XG4gICAgY29uc3Qgc3RvcmVEYXRhID0gdGhpcy5fc3RvcmUuZ2V0KHRoaXMuX3N0b3JlS2V5KSB8fCB7fTtcbiAgICBzdG9yZURhdGFbdGhpcy5fbmFtZV0gPSB0aGlzLl9kYXRhO1xuXG4gICAgdGhpcy5fc3RvcmUuc2V0KHRoaXMuX3N0b3JlS2V5LCBzdG9yZURhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0KCkge1xuICAgIGNvbnN0IHN0b3JlRGF0YSA9IHRoaXMuX3N0b3JlLmdldCh0aGlzLl9zdG9yZUtleSk7XG5cbiAgICBpZiAoc3RvcmVEYXRhKSB7XG4gICAgICByZXR1cm4gc3RvcmVEYXRhW3RoaXMuX25hbWVdO1xuICAgIH1cbiBcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSwgaW5EaWFsb2c6IGJvb2xlYW4pOiBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgICBsZXQgcGVyc2lzdGFuY2VDb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcblxuICAgIGlmKHBlcnNpc3RhbmNlQ29uZmlnKSB7XG4gICAgICBwZXJzaXN0YW5jZUNvbmZpZyA9IHtcbiAgICAgICAgbmFtZTogcGVyc2lzdGFuY2VDb25maWcubmFtZSB8fCBnZXROb3JtYWxpemVkUGF0aCh0aGlzLl9sb2NhdGlvbiksXG4gICAgICAgIHBlcnNpc3RRdWVyeTogIWluRGlhbG9nIHx8ICEhcGVyc2lzdGFuY2VDb25maWcubmFtZSxcbiAgICAgICAgLi4ucGVyc2lzdGFuY2VDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIHBlcnNpc3RhbmNlQ29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSk6IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICAgIGlmKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKGNvbmZpZyA9PT0gdHJ1ZSA/IHt9IDogY29uZmlnKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxufVxuXG4iXX0=
|