@firestitch/filter 12.11.0 → 12.11.2
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/classes/actions-controller.d.ts +38 -38
- package/app/components/action-button/action-button.component.d.ts +7 -7
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +8 -8
- package/app/components/filter/filter.component.d.ts +195 -195
- package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
- package/app/components/filter-chips/filter-chips.component.d.ts +10 -10
- package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
- package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
- package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +13 -13
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +20 -20
- package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
- package/app/components/filters-item/chips/chips.component.d.ts +13 -13
- package/app/components/filters-item/date/date.component.d.ts +20 -20
- package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
- package/app/components/filters-item/filter-item.component.d.ts +39 -39
- package/app/components/filters-item/range/range.component.d.ts +15 -15
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
- package/app/components/filters-item/select/select.component.d.ts +23 -23
- package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
- package/app/components/filters-item/text/text.component.d.ts +19 -19
- package/app/components/filters-item/week/week.component.d.ts +12 -12
- package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
- package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
- package/app/consts/query-param-delimiter.d.ts +1 -1
- package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
- package/app/directives/status-bar/status-bar.directive.d.ts +5 -5
- package/app/enums/action-mode.enum.d.ts +5 -5
- package/app/enums/action-type.enum.d.ts +7 -7
- package/app/enums/index.d.ts +5 -5
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/enums/picker-view-type.enum.d.ts +7 -7
- package/app/fs-filter.module.d.ts +64 -65
- package/app/helpers/build-query-params.d.ts +3 -3
- package/app/helpers/compare.d.ts +2 -2
- package/app/helpers/create-filter-item.d.ts +13 -13
- package/app/helpers/find-value.d.ts +1 -1
- package/app/helpers/get-range-name.d.ts +1 -1
- package/app/helpers/parse-date.d.ts +1 -1
- package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
- package/app/helpers/query-param-transformers.d.ts +2 -2
- package/app/helpers/restore-items.d.ts +12 -12
- package/app/helpers/try-convert-to-number.d.ts +1 -1
- package/app/injectors/filter-config.d.ts +2 -2
- package/app/injectors/filter-drawer-data.d.ts +2 -2
- package/app/injectors/filter-drawer-overlay.d.ts +2 -2
- package/app/interfaces/action.interface.d.ts +70 -70
- package/app/interfaces/config.interface.d.ts +61 -61
- package/app/interfaces/external-params.interface.d.ts +3 -3
- package/app/interfaces/filter.interface.d.ts +4 -4
- package/app/interfaces/items/autocomplete-chips.interface.d.ts +12 -12
- package/app/interfaces/items/autocomplete.interface.d.ts +6 -6
- package/app/interfaces/items/base.interface.d.ts +27 -27
- package/app/interfaces/items/checkbox.interface.d.ts +7 -7
- package/app/interfaces/items/chips.interface.d.ts +6 -6
- package/app/interfaces/items/date-range.interface.d.ts +8 -8
- package/app/interfaces/items/date.interface.d.ts +7 -7
- package/app/interfaces/items/range.interface.d.ts +13 -13
- package/app/interfaces/items/select.interface.d.ts +20 -20
- package/app/interfaces/items/text.interface.d.ts +9 -9
- package/app/interfaces/items/week.interface.d.ts +7 -7
- package/app/interfaces/saved-filters.interface.d.ts +18 -18
- package/app/interfaces/update-filter-item.interface.d.ts +4 -4
- package/app/models/action-menu-item.model.d.ts +23 -23
- package/app/models/action.model.d.ts +46 -46
- package/app/models/filter-config.d.ts +30 -30
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/app/models/items/autocomplete-chips-item.d.ts +19 -19
- package/app/models/items/autocomplete-item.d.ts +10 -10
- package/app/models/items/base-item.d.ts +75 -75
- package/app/models/items/checkbox-item.d.ts +16 -16
- package/app/models/items/chips-item.d.ts +17 -17
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +7 -7
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +5 -5
- package/app/models/items/date-time-item.d.ts +6 -6
- package/app/models/items/date-time-range-item.d.ts +5 -5
- package/app/models/items/range-item.d.ts +22 -22
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +13 -13
- package/app/models/items/select/simple-select-item.d.ts +13 -13
- package/app/models/items/select-item.d.ts +7 -7
- package/app/models/items/text-item.d.ts +14 -14
- package/app/models/items/week-item.d.ts +17 -17
- package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
- package/app/providers/filter-meta.d.ts +5 -5
- package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
- package/app/services/external-params/query-params-controller.service.d.ts +24 -24
- package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
- package/app/services/external-params-controller.service.d.ts +42 -42
- package/app/services/filter-overlay.service.d.ts +34 -34
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +65 -65
- package/bundles/firestitch-filter.umd.js +5533 -5535
- package/bundles/firestitch-filter.umd.js.map +1 -1
- package/esm2015/app/classes/actions-controller.js +122 -122
- package/esm2015/app/components/action-button/action-button.component.js +23 -23
- package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +21 -21
- package/esm2015/app/components/actions/actions.component.js +30 -30
- package/esm2015/app/components/filter/filter.component.js +628 -626
- package/esm2015/app/components/filter-chip/filter-chip.component.js +90 -90
- package/esm2015/app/components/filter-chip-content/filter-chip-content.component.js +83 -83
- package/esm2015/app/components/filter-chips/filter-chips.component.js +26 -26
- package/esm2015/app/components/filter-drawer/filter-drawer.component.js +75 -75
- package/esm2015/app/components/filter-drawer-actions/filter-drawer-actions.component.js +42 -42
- package/esm2015/app/components/filters-item/autocomplete/autocomplete.component.js +29 -29
- package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js +51 -51
- package/esm2015/app/components/filters-item/base-item/base-item.component.js +68 -68
- package/esm2015/app/components/filters-item/checkbox/checkbox.component.js +24 -24
- package/esm2015/app/components/filters-item/chips/chips.component.js +31 -31
- package/esm2015/app/components/filters-item/date/date.component.js +45 -45
- package/esm2015/app/components/filters-item/date-range/date-range.component.js +36 -36
- package/esm2015/app/components/filters-item/filter-item.component.js +83 -83
- package/esm2015/app/components/filters-item/range/range.component.js +48 -49
- package/esm2015/app/components/filters-item/select/backdrop/backdrop.component.js +16 -16
- package/esm2015/app/components/filters-item/select/groups/groups.component.js +32 -32
- package/esm2015/app/components/filters-item/select/multiple/multiple.component.js +60 -60
- package/esm2015/app/components/filters-item/select/select.component.js +54 -54
- package/esm2015/app/components/filters-item/select/simple/simple.component.js +46 -46
- package/esm2015/app/components/filters-item/text/text.component.js +53 -53
- package/esm2015/app/components/filters-item/week/week.component.js +27 -27
- package/esm2015/app/components/saved-filter-edit/saved-filter-edit.component.js +54 -54
- package/esm2015/app/components/saved-filters-menu/saved-filters-menu.component.js +57 -57
- package/esm2015/app/consts/query-param-delimiter.js +1 -1
- package/esm2015/app/directives/focus-to-item/focus-to-item.directive.js +129 -129
- package/esm2015/app/directives/status-bar/status-bar.directive.js +12 -12
- package/esm2015/app/enums/action-mode.enum.js +6 -6
- package/esm2015/app/enums/action-type.enum.js +8 -8
- package/esm2015/app/enums/index.js +5 -5
- package/esm2015/app/enums/item-date-mode.enum.js +6 -6
- package/esm2015/app/enums/item-type.enum.js +16 -16
- package/esm2015/app/enums/picker-view-type.enum.js +8 -8
- package/esm2015/app/fs-filter.module.js +235 -239
- package/esm2015/app/helpers/build-query-params.js +31 -31
- package/esm2015/app/helpers/compare.js +37 -37
- package/esm2015/app/helpers/create-filter-item.js +54 -54
- package/esm2015/app/helpers/find-value.js +12 -12
- package/esm2015/app/helpers/get-range-name.js +8 -8
- package/esm2015/app/helpers/parse-date.js +7 -7
- package/esm2015/app/helpers/parse-item-value-from-stored.js +81 -81
- package/esm2015/app/helpers/query-param-transformers.js +8 -8
- package/esm2015/app/helpers/restore-items.js +48 -48
- package/esm2015/app/helpers/try-convert-to-number.js +5 -5
- package/esm2015/app/injectors/filter-config.js +2 -2
- package/esm2015/app/injectors/filter-drawer-data.js +2 -2
- package/esm2015/app/injectors/filter-drawer-overlay.js +2 -2
- package/esm2015/app/interfaces/action.interface.js +1 -1
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/esm2015/app/interfaces/external-params.interface.js +1 -1
- package/esm2015/app/interfaces/filter.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
- package/esm2015/app/interfaces/items/base.interface.js +1 -1
- package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
- package/esm2015/app/interfaces/items/chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/date-range.interface.js +1 -1
- package/esm2015/app/interfaces/items/date.interface.js +1 -1
- package/esm2015/app/interfaces/items/range.interface.js +1 -1
- package/esm2015/app/interfaces/items/select.interface.js +1 -1
- package/esm2015/app/interfaces/items/text.interface.js +1 -1
- package/esm2015/app/interfaces/items/week.interface.js +1 -1
- package/esm2015/app/interfaces/saved-filters.interface.js +1 -1
- package/esm2015/app/interfaces/update-filter-item.interface.js +1 -1
- package/esm2015/app/models/action-menu-item.model.js +66 -66
- package/esm2015/app/models/action.model.js +103 -103
- package/esm2015/app/models/filter-config.js +65 -65
- package/esm2015/app/models/items/autocomplete/base-autocomplete-item.js +13 -13
- package/esm2015/app/models/items/autocomplete-chips-item.js +61 -61
- package/esm2015/app/models/items/autocomplete-item.js +30 -30
- package/esm2015/app/models/items/base-item.js +233 -233
- package/esm2015/app/models/items/checkbox-item.js +47 -47
- package/esm2015/app/models/items/chips-item.js +83 -83
- package/esm2015/app/models/items/date/base-date-item.js +47 -47
- package/esm2015/app/models/items/date-item.js +18 -18
- package/esm2015/app/models/items/date-range/base-date-range-item.js +136 -136
- package/esm2015/app/models/items/date-range-item.js +6 -6
- package/esm2015/app/models/items/date-time-item.js +9 -9
- package/esm2015/app/models/items/date-time-range-item.js +6 -6
- package/esm2015/app/models/items/range-item.js +88 -88
- package/esm2015/app/models/items/select/base-select-item.js +33 -33
- package/esm2015/app/models/items/select/multiple-select-item.js +90 -90
- package/esm2015/app/models/items/select/simple-select-item.js +67 -67
- package/esm2015/app/models/items/select-item.js +12 -12
- package/esm2015/app/models/items/text-item.js +29 -29
- package/esm2015/app/models/items/week-item.js +98 -98
- package/esm2015/app/pipes/remove-isolate-value.pipe.js +22 -22
- package/esm2015/app/providers/filter-meta.js +9 -9
- package/esm2015/app/services/external-params/persistance-params-controller.service.js +57 -57
- package/esm2015/app/services/external-params/query-params-controller.service.js +66 -66
- package/esm2015/app/services/external-params/saved-filters-controller.service.js +164 -164
- package/esm2015/app/services/external-params-controller.service.js +162 -162
- package/esm2015/app/services/filter-overlay.service.js +115 -115
- package/esm2015/app/services/focus-controller.service.js +29 -29
- package/esm2015/app/services/items-store.service.js +340 -340
- package/esm2015/firestitch-filter.js +4 -4
- package/esm2015/public_api.js +36 -36
- package/fesm2015/firestitch-filter.js +4372 -4375
- package/fesm2015/firestitch-filter.js.map +1 -1
- package/firestitch-filter.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +40 -40
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Inject, HostListener } from '@angular/core';
|
|
2
|
-
import { OverlayRef } from '@angular/cdk/overlay';
|
|
3
|
-
import { FILTER_DRAWER_DATA } from '../../injectors/filter-drawer-data';
|
|
4
|
-
import { FILTER_DRAWER_OVERLAY } from '../../injectors/filter-drawer-overlay';
|
|
5
|
-
import { FsFilterItemsStore } from '../../services/items-store.service';
|
|
6
|
-
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../services/external-params-controller.service";
|
|
9
|
-
import * as i2 from "../../services/items-store.service";
|
|
10
|
-
import * as i3 from "@angular/material/icon";
|
|
11
|
-
import * as i4 from "../filters-item/filter-item.component";
|
|
12
|
-
import * as i5 from "../filter-drawer-actions/filter-drawer-actions.component";
|
|
13
|
-
import * as i6 from "@firestitch/skeleton";
|
|
14
|
-
import * as i7 from "@angular/common";
|
|
15
|
-
import * as i8 from "@angular/cdk/overlay";
|
|
16
|
-
export class FilterDrawerComponent {
|
|
17
|
-
constructor(externalParams, _cd, _itemsStore, overlayRef, data) {
|
|
18
|
-
this.externalParams = externalParams;
|
|
19
|
-
this._cd = _cd;
|
|
20
|
-
this._itemsStore = _itemsStore;
|
|
21
|
-
this.overlayRef = overlayRef;
|
|
22
|
-
this.data = data;
|
|
23
|
-
this.inline = false;
|
|
24
|
-
this.windowDesktop = false;
|
|
25
|
-
this._itemsStore.prepareItems();
|
|
26
|
-
this._clear = data.clear;
|
|
27
|
-
this._done = data.done;
|
|
28
|
-
this.updateWindowWidth();
|
|
29
|
-
}
|
|
30
|
-
updateWindowWidth() {
|
|
31
|
-
this.windowDesktop = window.innerWidth > 1200;
|
|
32
|
-
}
|
|
33
|
-
get items$() {
|
|
34
|
-
return this._itemsStore.visibleItems$;
|
|
35
|
-
}
|
|
36
|
-
get sortItem() {
|
|
37
|
-
return this._itemsStore.sortByItem;
|
|
38
|
-
}
|
|
39
|
-
get sortDirectionItem() {
|
|
40
|
-
return this._itemsStore.sortDirectionItem;
|
|
41
|
-
}
|
|
42
|
-
clear() {
|
|
43
|
-
this._clear();
|
|
44
|
-
// this.overlayRef.detach();
|
|
45
|
-
}
|
|
46
|
-
done() {
|
|
47
|
-
this._done();
|
|
48
|
-
this.overlayRef.detach();
|
|
49
|
-
}
|
|
50
|
-
backdropClick() {
|
|
51
|
-
this.done();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
FilterDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, deps: [{ token: i1.ExternalParamsController }, { token: i0.ChangeDetectorRef }, { token: i2.FsFilterItemsStore }, { token: FILTER_DRAWER_OVERLAY }, { token: FILTER_DRAWER_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
FilterDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDrawerComponent, selector: "ng-component", inputs: { inline: "inline" }, host: { listeners: { "window:resize": "updateWindowWidth()" } }, ngImport: i0, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%;padding-top:calc(env(safe-area-inset-top))}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper{text-align:center}.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:900;outline:none}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.FilterItemComponent, selector: "filter-item", inputs: ["item"] }, { type: i5.FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: ["clear", "done"] }], directives: [{ type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{
|
|
59
|
-
templateUrl: './filter-drawer.component.html',
|
|
60
|
-
styleUrls: ['filter-drawer.component.scss'],
|
|
61
|
-
// Commented out because filter items are not updating with a delayed observable. Need to figure this out.
|
|
62
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
63
|
-
}]
|
|
64
|
-
}], ctorParameters: function () { return [{ type: i1.ExternalParamsController }, { type: i0.ChangeDetectorRef }, { type: i2.FsFilterItemsStore }, { type: i8.OverlayRef, decorators: [{
|
|
65
|
-
type: Inject,
|
|
66
|
-
args: [FILTER_DRAWER_OVERLAY]
|
|
67
|
-
}] }, { type: undefined, decorators: [{
|
|
68
|
-
type: Inject,
|
|
69
|
-
args: [FILTER_DRAWER_DATA]
|
|
70
|
-
}] }]; }, propDecorators: { updateWindowWidth: [{
|
|
71
|
-
type: HostListener,
|
|
72
|
-
args: ['window:resize']
|
|
73
|
-
}], inline: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}] } });
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Inject, HostListener } from '@angular/core';
|
|
2
|
+
import { OverlayRef } from '@angular/cdk/overlay';
|
|
3
|
+
import { FILTER_DRAWER_DATA } from '../../injectors/filter-drawer-data';
|
|
4
|
+
import { FILTER_DRAWER_OVERLAY } from '../../injectors/filter-drawer-overlay';
|
|
5
|
+
import { FsFilterItemsStore } from '../../services/items-store.service';
|
|
6
|
+
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../services/external-params-controller.service";
|
|
9
|
+
import * as i2 from "../../services/items-store.service";
|
|
10
|
+
import * as i3 from "@angular/material/icon";
|
|
11
|
+
import * as i4 from "../filters-item/filter-item.component";
|
|
12
|
+
import * as i5 from "../filter-drawer-actions/filter-drawer-actions.component";
|
|
13
|
+
import * as i6 from "@firestitch/skeleton";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
import * as i8 from "@angular/cdk/overlay";
|
|
16
|
+
export class FilterDrawerComponent {
|
|
17
|
+
constructor(externalParams, _cd, _itemsStore, overlayRef, data) {
|
|
18
|
+
this.externalParams = externalParams;
|
|
19
|
+
this._cd = _cd;
|
|
20
|
+
this._itemsStore = _itemsStore;
|
|
21
|
+
this.overlayRef = overlayRef;
|
|
22
|
+
this.data = data;
|
|
23
|
+
this.inline = false;
|
|
24
|
+
this.windowDesktop = false;
|
|
25
|
+
this._itemsStore.prepareItems();
|
|
26
|
+
this._clear = data.clear;
|
|
27
|
+
this._done = data.done;
|
|
28
|
+
this.updateWindowWidth();
|
|
29
|
+
}
|
|
30
|
+
updateWindowWidth() {
|
|
31
|
+
this.windowDesktop = window.innerWidth > 1200;
|
|
32
|
+
}
|
|
33
|
+
get items$() {
|
|
34
|
+
return this._itemsStore.visibleItems$;
|
|
35
|
+
}
|
|
36
|
+
get sortItem() {
|
|
37
|
+
return this._itemsStore.sortByItem;
|
|
38
|
+
}
|
|
39
|
+
get sortDirectionItem() {
|
|
40
|
+
return this._itemsStore.sortDirectionItem;
|
|
41
|
+
}
|
|
42
|
+
clear() {
|
|
43
|
+
this._clear();
|
|
44
|
+
// this.overlayRef.detach();
|
|
45
|
+
}
|
|
46
|
+
done() {
|
|
47
|
+
this._done();
|
|
48
|
+
this.overlayRef.detach();
|
|
49
|
+
}
|
|
50
|
+
backdropClick() {
|
|
51
|
+
this.done();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
FilterDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, deps: [{ token: i1.ExternalParamsController }, { token: i0.ChangeDetectorRef }, { token: i2.FsFilterItemsStore }, { token: FILTER_DRAWER_OVERLAY }, { token: FILTER_DRAWER_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
FilterDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDrawerComponent, selector: "ng-component", inputs: { inline: "inline" }, host: { listeners: { "window:resize": "updateWindowWidth()" } }, ngImport: i0, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%;padding-top:calc(env(safe-area-inset-top))}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper{text-align:center}.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:900;outline:none}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.FilterItemComponent, selector: "filter-item", inputs: ["item"] }, { type: i5.FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: ["clear", "done"] }], directives: [{ type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{
|
|
59
|
+
templateUrl: './filter-drawer.component.html',
|
|
60
|
+
styleUrls: ['filter-drawer.component.scss'],
|
|
61
|
+
// Commented out because filter items are not updating with a delayed observable. Need to figure this out.
|
|
62
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.ExternalParamsController }, { type: i0.ChangeDetectorRef }, { type: i2.FsFilterItemsStore }, { type: i8.OverlayRef, decorators: [{
|
|
65
|
+
type: Inject,
|
|
66
|
+
args: [FILTER_DRAWER_OVERLAY]
|
|
67
|
+
}] }, { type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [FILTER_DRAWER_DATA]
|
|
70
|
+
}] }]; }, propDecorators: { updateWindowWidth: [{
|
|
71
|
+
type: HostListener,
|
|
72
|
+
args: ['window:resize']
|
|
73
|
+
}], inline: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
76
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7Ozs7OztBQVU3RixNQUFNLE9BQU8scUJBQXFCO0lBY2hDLFlBQ1MsY0FBd0MsRUFDckMsR0FBc0IsRUFDdEIsV0FBK0IsRUFDRixVQUFzQixFQUN6QixJQUFJO1FBSmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUNyQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQUE7UUFaMUIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUt4QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQXhCRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUF3QkQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztJQUM1QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLDRCQUE0QjtJQUM5QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7bUhBckRVLHFCQUFxQiw2SEFrQnRCLHFCQUFxQixhQUNyQixrQkFBa0I7dUdBbkJqQixxQkFBcUIsbUpDM0JsQywwMUNBb0NBOzRGRFRhLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsMEdBQTBHO29CQUMxRyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQW1CSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsa0JBQWtCOzRDQWhCNUIsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGVBQWU7Z0JBS2IsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBJbnB1dCxcbiAgSW5qZWN0LFxuICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfREFUQSB9IGZyb20gJy4uLy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLWRhdGEnO1xuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9PVkVSTEFZIH0gZnJvbSAnLi4vLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItb3ZlcmxheSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaXRlbXMtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxudHlwZSBJdGVtID0gQmFzZUl0ZW08YW55PjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gQ29tbWVudGVkIG91dCBiZWNhdXNlIGZpbHRlciBpdGVtcyBhcmUgbm90IHVwZGF0aW5nIHdpdGggYSBkZWxheWVkIG9ic2VydmFibGUuIE5lZWQgdG8gZmlndXJlIHRoaXMgb3V0LlxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRHJhd2VyQ29tcG9uZW50IHtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgdXBkYXRlV2luZG93V2lkdGgoKSB7XG4gICAgdGhpcy53aW5kb3dEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPiAxMjAwO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIGlubGluZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBfY2xlYXI6IEZ1bmN0aW9uO1xuICBwcm90ZWN0ZWQgX2RvbmU6IEZ1bmN0aW9uO1xuXG4gIHB1YmxpYyB3aW5kb3dEZXNrdG9wID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgQEluamVjdChGSUxURVJfRFJBV0VSX09WRVJMQVkpIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBASW5qZWN0KEZJTFRFUl9EUkFXRVJfREFUQSkgcHJpdmF0ZSBkYXRhLFxuICApIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLnByZXBhcmVJdGVtcygpO1xuXG4gICAgdGhpcy5fY2xlYXIgPSBkYXRhLmNsZWFyO1xuICAgIHRoaXMuX2RvbmUgPSBkYXRhLmRvbmU7XG5cbiAgICB0aGlzLnVwZGF0ZVdpbmRvd1dpZHRoKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPEl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnZpc2libGVJdGVtcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRJdGVtKCk6IEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnREaXJlY3Rpb25JdGVtKCk6IEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMuX2NsZWFyKCk7XG4gICAgLy8gdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICB9XG5cbiAgcHVibGljIGRvbmUoKSB7XG4gICAgdGhpcy5fZG9uZSgpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBiYWNrZHJvcENsaWNrKCkge1xuICAgIHRoaXMuZG9uZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyc1wiPlxuICA8ZGl2IGNsYXNzPVwiZmlsdGVycy13cmFwXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ5XCI+XG4gICAgICA8bWF0LWljb24+dHVuZTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5GaWx0ZXJzPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LXNoYWRvdyBmaWx0ZXItaXRlbXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1zaGFkb3ctY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpmc1NrZWxldG9uPVwiKGV4dGVybmFsUGFyYW1zLnBlbmRpbmckIHwgYXN5bmMpICE9PSB0cnVlXCI+XG4gICAgICAgICAgPGZpbHRlci1pdGVtICpuZ0Zvcj1cImxldCBmaWx0ZXJJdGVtIG9mIGl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJmaWx0ZXJJdGVtXCI+XG4gICAgICAgICAgPC9maWx0ZXItaXRlbT5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0SXRlbSAmJiBzb3J0SXRlbS52YWx1ZXMgJiYgc29ydEl0ZW0udmFsdWVzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxmaWx0ZXItaXRlbSBjbGFzcz1cImZpbHRlci1ncm91cCBzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzb3J0SXRlbVwiPlxuICAgICAgICAgICAgPC9maWx0ZXItaXRlbT5cbiAgICAgICAgICAgIDxmaWx0ZXItaXRlbSBjbGFzcz1cImZpbHRlci1ncm91cCBzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzb3J0RGlyZWN0aW9uSXRlbVwiPlxuICAgICAgICAgICAgPC9maWx0ZXItaXRlbT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxmcy1maWx0ZXItZHJhd2VyLWFjdGlvbnMgY2xhc3M9XCJmaWx0ZXItYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihleHRlcm5hbFBhcmFtcy5wZW5kaW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xlYXIpPVwiY2xlYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSk9XCJkb25lKClcIj5cbiAgICA8L2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiIXdpbmRvd0Rlc2t0b3BcIiAoY2xpY2spPVwiYmFja2Ryb3BDbGljaygpXCI+PC9kaXY+XG4iXX0=
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/external-params-controller.service";
|
|
5
|
-
import * as i2 from "@angular/material/button";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
export class FsFilterDrawerActionsComponent {
|
|
8
|
-
constructor(externalParams) {
|
|
9
|
-
this.externalParams = externalParams;
|
|
10
|
-
this._clear = new EventEmitter();
|
|
11
|
-
this._done = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
get savedFilters() {
|
|
14
|
-
return this.externalParams.savedFiltersController;
|
|
15
|
-
}
|
|
16
|
-
done() {
|
|
17
|
-
this._done.emit();
|
|
18
|
-
}
|
|
19
|
-
clear() {
|
|
20
|
-
this._clear.emit();
|
|
21
|
-
}
|
|
22
|
-
saveFilters() {
|
|
23
|
-
this.externalParams
|
|
24
|
-
.savedFiltersController
|
|
25
|
-
.openSavedFilterEditDialog();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
FsFilterDrawerActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
FsFilterDrawerActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: { _clear: "clear", _done: "done" }, ngImport: i0, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: 'fs-filter-drawer-actions',
|
|
34
|
-
templateUrl: './filter-drawer-actions.component.html',
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; }, propDecorators: { _clear: [{
|
|
37
|
-
type: Output,
|
|
38
|
-
args: ['clear']
|
|
39
|
-
}], _done: [{
|
|
40
|
-
type: Output,
|
|
41
|
-
args: ['done']
|
|
42
|
-
}] } });
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/external-params-controller.service";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
export class FsFilterDrawerActionsComponent {
|
|
8
|
+
constructor(externalParams) {
|
|
9
|
+
this.externalParams = externalParams;
|
|
10
|
+
this._clear = new EventEmitter();
|
|
11
|
+
this._done = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
get savedFilters() {
|
|
14
|
+
return this.externalParams.savedFiltersController;
|
|
15
|
+
}
|
|
16
|
+
done() {
|
|
17
|
+
this._done.emit();
|
|
18
|
+
}
|
|
19
|
+
clear() {
|
|
20
|
+
this._clear.emit();
|
|
21
|
+
}
|
|
22
|
+
saveFilters() {
|
|
23
|
+
this.externalParams
|
|
24
|
+
.savedFiltersController
|
|
25
|
+
.openSavedFilterEditDialog();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
FsFilterDrawerActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
FsFilterDrawerActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: { _clear: "clear", _done: "done" }, ngImport: i0, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: 'fs-filter-drawer-actions',
|
|
34
|
+
templateUrl: './filter-drawer-actions.component.html',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; }, propDecorators: { _clear: [{
|
|
37
|
+
type: Output,
|
|
38
|
+
args: ['clear']
|
|
39
|
+
}], _done: [{
|
|
40
|
+
type: Output,
|
|
41
|
+
args: ['done']
|
|
42
|
+
}] } });
|
|
43
43
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7QUFRN0YsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxZQUFtQixjQUF3QztRQUF4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFMbkQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFcUIsQ0FBQztJQUUvRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsc0JBQXNCO2FBQ3RCLHlCQUF5QixFQUFFLENBQUM7SUFDakMsQ0FBQzs7NEhBMUJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDZHQ1QzQyx5VEFNQTs0RkRHYSw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHdDQUF3QztpQkFDdEQ7K0dBSVMsTUFBTTtzQkFEYixNQUFNO3VCQUFDLE9BQU87Z0JBSVAsS0FBSztzQkFEWixNQUFNO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvc2F2ZWQtZmlsdGVycy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckRyYXdlckFjdGlvbnNDb21wb25lbnQge1xuXG4gIEBPdXRwdXQoJ2NsZWFyJylcbiAgcHJpdmF0ZSBfY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgnZG9uZScpXG4gIHByaXZhdGUgX2RvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIpIHt9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMoKTogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBkb25lKCk6IHZvaWQge1xuICAgIHRoaXMuX2RvbmUuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlRmlsdGVycygpIHtcbiAgICB0aGlzLmV4dGVybmFsUGFyYW1zXG4gICAgICAuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlclxuICAgICAgLm9wZW5TYXZlZEZpbHRlckVkaXREaWFsb2coKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZG9uZSgpXCI+RG9uZTwvYnV0dG9uPlxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoKVwiPkNsZWFyPC9idXR0b24+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmVuYWJsZWQkIHwgYXN5bmNcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZUZpbHRlcnMoKVwiPlNhdmU8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
|
|
2
|
-
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@firestitch/autocomplete";
|
|
5
|
-
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
export class AutocompleteComponent extends BaseItemComponent {
|
|
8
|
-
constructor(_kvDiffers, _cd) {
|
|
9
|
-
super(_kvDiffers, _cd);
|
|
10
|
-
this._kvDiffers = _kvDiffers;
|
|
11
|
-
this._cd = _cd;
|
|
12
|
-
this.displayWith = (data) => {
|
|
13
|
-
return data ? data.name : data;
|
|
14
|
-
};
|
|
15
|
-
this.fetch = (keyword) => {
|
|
16
|
-
return this.item.valuesFn(keyword);
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompleteComponent, selector: "filter-item-autocomplete", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.clearAllowed\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n", components: [{ type: i1.FsAutocompleteComponent, selector: "fs-autocomplete", inputs: ["fetch", "placeholder", "displayWith", "fetchOnFocus", "readonly", "required", "disabled", "hint", "panelWidth", "panelClass", "showClear"], outputs: ["cleared"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteTemplateDirective, selector: "[fsAutocompleteTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: 'filter-item-autocomplete',
|
|
26
|
-
templateUrl: './autocomplete.component.html',
|
|
27
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
|
-
}]
|
|
29
|
-
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
|
|
2
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@firestitch/autocomplete";
|
|
5
|
+
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
export class AutocompleteComponent extends BaseItemComponent {
|
|
8
|
+
constructor(_kvDiffers, _cd) {
|
|
9
|
+
super(_kvDiffers, _cd);
|
|
10
|
+
this._kvDiffers = _kvDiffers;
|
|
11
|
+
this._cd = _cd;
|
|
12
|
+
this.displayWith = (data) => {
|
|
13
|
+
return data ? data.name : data;
|
|
14
|
+
};
|
|
15
|
+
this.fetch = (keyword) => {
|
|
16
|
+
return this.item.valuesFn(keyword);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompleteComponent, selector: "filter-item-autocomplete", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.clearAllowed\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n", components: [{ type: i1.FsAutocompleteComponent, selector: "fs-autocomplete", inputs: ["fetch", "placeholder", "displayWith", "fetchOnFocus", "readonly", "required", "disabled", "hint", "panelWidth", "panelClass", "showClear"], outputs: ["cleared"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteTemplateDirective, selector: "[fsAutocompleteTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: 'filter-item-autocomplete',
|
|
26
|
+
templateUrl: './autocomplete.component.html',
|
|
27
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
|
+
}]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBbUM7SUFFNUUsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFLM0IsZ0JBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUssVUFBSyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUE7SUFSRCxDQUFDOzttSEFQVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1RkNoQmxDLDZYQWFBOzRGREdhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QXV0b2NvbXBsZXRlSXRlbT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2t2RGlmZmVycywgX2NkKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5V2l0aCA9IChkYXRhKSA9PiB7XG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLm5hbWUgOiBkYXRhO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaCA9IChrZXl3b3JkKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbS52YWx1ZXNGbihrZXl3b3JkKTtcbiAgfVxufVxuIiwiPGZzLWF1dG9jb21wbGV0ZVxuICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gIFtmZXRjaF09XCJmZXRjaFwiXG4gIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aFwiXG4gIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXG4gIFtmZXRjaE9uRm9jdXNdPVwiaXRlbS5mZXRjaE9uRm9jdXNcIlxuICBbc2hvd0NsZWFyXT1cIml0ZW0uY2xlYXJBbGxvd2VkXCJcbiAgbmFtZT1cIml0ZW0ubmFtZVwiPlxuICA8bmctdGVtcGxhdGUgZnNBdXRvY29tcGxldGVUZW1wbGF0ZSBsZXQtZGF0YT1cImRhdGFcIj5cbiAgICB7e2RhdGEubmFtZX19XG4gIDwvbmctdGVtcGxhdGU+XG48L2ZzLWF1dG9jb21wbGV0ZT5cbiJdfQ==
|
package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
|
|
2
|
-
import { remove as arrayRemove } from '@firestitch/common';
|
|
3
|
-
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@firestitch/autocomplete-chips";
|
|
6
|
-
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
7
|
-
import * as i3 from "@angular/forms";
|
|
8
|
-
export class AutocompletechipsComponent extends BaseItemComponent {
|
|
9
|
-
constructor(_kvDiffers, _cd) {
|
|
10
|
-
super(_kvDiffers, _cd);
|
|
11
|
-
this._kvDiffers = _kvDiffers;
|
|
12
|
-
this._cd = _cd;
|
|
13
|
-
this.fetch = (keyword) => {
|
|
14
|
-
return this.item.valuesFn(keyword);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
// SP-T1747
|
|
18
|
-
clicked() {
|
|
19
|
-
this.chipBackground = this.item.chipBackground;
|
|
20
|
-
this.chipColor = this.item.chipColor;
|
|
21
|
-
this.chipIcon = this.item.chipIcon;
|
|
22
|
-
this._cd.markForCheck();
|
|
23
|
-
}
|
|
24
|
-
addAutocompleteChipItem(event) {
|
|
25
|
-
if (event.data && this.item.model.indexOf(event.data.value) === -1) {
|
|
26
|
-
this.item.model.push(event.data);
|
|
27
|
-
this.itemChange();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
removeAutocompleteChipItem(event) {
|
|
31
|
-
arrayRemove(this.item.model, { value: event.data.value });
|
|
32
|
-
this.itemChange();
|
|
33
|
-
}
|
|
34
|
-
clearAutocompleteChipItem() {
|
|
35
|
-
this.item.clear();
|
|
36
|
-
this.itemChange();
|
|
37
|
-
}
|
|
38
|
-
compareItems(item1, item2) {
|
|
39
|
-
return (item1 === null || item1 === void 0 ? void 0 : item1.value) === (item2 === null || item2 === void 0 ? void 0 : item2.value);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
AutocompletechipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
AutocompletechipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n (click)=\"clicked()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"chipColor\"\n [chipIconColor]=\"chipIcon\"\n [chipBackground]=\"chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.clearAllowed\"\n [removable]=\"item.clearAllowed\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n", components: [{ type: i1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "readonly", "size", "placeholder", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "confirm", "panelClass", "compareWith", "disabled", "panelWidth"], outputs: ["selected", "removed", "reordered", "clear"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{
|
|
47
|
-
selector: 'filter-item-autocompletechips',
|
|
48
|
-
templateUrl: './autocompletechips.component.html',
|
|
49
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
|
|
2
|
+
import { remove as arrayRemove } from '@firestitch/common';
|
|
3
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@firestitch/autocomplete-chips";
|
|
6
|
+
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
export class AutocompletechipsComponent extends BaseItemComponent {
|
|
9
|
+
constructor(_kvDiffers, _cd) {
|
|
10
|
+
super(_kvDiffers, _cd);
|
|
11
|
+
this._kvDiffers = _kvDiffers;
|
|
12
|
+
this._cd = _cd;
|
|
13
|
+
this.fetch = (keyword) => {
|
|
14
|
+
return this.item.valuesFn(keyword);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
// SP-T1747
|
|
18
|
+
clicked() {
|
|
19
|
+
this.chipBackground = this.item.chipBackground;
|
|
20
|
+
this.chipColor = this.item.chipColor;
|
|
21
|
+
this.chipIcon = this.item.chipIcon;
|
|
22
|
+
this._cd.markForCheck();
|
|
23
|
+
}
|
|
24
|
+
addAutocompleteChipItem(event) {
|
|
25
|
+
if (event.data && this.item.model.indexOf(event.data.value) === -1) {
|
|
26
|
+
this.item.model.push(event.data);
|
|
27
|
+
this.itemChange();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
removeAutocompleteChipItem(event) {
|
|
31
|
+
arrayRemove(this.item.model, { value: event.data.value });
|
|
32
|
+
this.itemChange();
|
|
33
|
+
}
|
|
34
|
+
clearAutocompleteChipItem() {
|
|
35
|
+
this.item.clear();
|
|
36
|
+
this.itemChange();
|
|
37
|
+
}
|
|
38
|
+
compareItems(item1, item2) {
|
|
39
|
+
return (item1 === null || item1 === void 0 ? void 0 : item1.value) === (item2 === null || item2 === void 0 ? void 0 : item2.value);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
AutocompletechipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
AutocompletechipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n (click)=\"clicked()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"chipColor\"\n [chipIconColor]=\"chipIcon\"\n [chipBackground]=\"chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.clearAllowed\"\n [removable]=\"item.clearAllowed\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n", components: [{ type: i1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "readonly", "size", "placeholder", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "confirm", "panelClass", "compareWith", "disabled", "panelWidth"], outputs: ["selected", "removed", "reordered", "clear"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: 'filter-item-autocompletechips',
|
|
48
|
+
templateUrl: './autocompletechips.component.html',
|
|
49
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9hdXRvY29tcGxldGVjaGlwcy9hdXRvY29tcGxldGVjaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZWNoaXBzL2F1dG9jb21wbGV0ZWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLElBQUksV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBd0M7SUFNdEYsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE4QjNCLFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFBO0lBN0JELENBQUM7SUFFRCxXQUFXO0lBQ0osT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQUs7UUFDbEMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEtBQUs7UUFDckMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLHlCQUF5QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBTU0sWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLO1FBQzlCLE9BQU8sQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxPQUFLLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxLQUFLLENBQUEsQ0FBQztJQUN2QyxDQUFDOzt3SEE1Q1UsMEJBQTBCOzRHQUExQiwwQkFBMEIsNEZDakJ2Qyx1MkRBdURBOzRGRHRDYSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEtleVZhbHVlRGlmZmVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZW1vdmUgYXMgYXJyYXlSZW1vdmUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSXRlbUNvbXBvbmVudDxBdXRvY29tcGxldGVDaGlwc0l0ZW0+IHtcblxuICBwdWJsaWMgY2hpcEJhY2tncm91bmQ6IHN0cmluZztcbiAgcHVibGljIGNoaXBDb2xvcjogc3RyaW5nO1xuICBwdWJsaWMgY2hpcEljb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICAvLyBTUC1UMTc0N1xuICBwdWJsaWMgY2xpY2tlZCgpIHtcbiAgICB0aGlzLmNoaXBCYWNrZ3JvdW5kID0gdGhpcy5pdGVtLmNoaXBCYWNrZ3JvdW5kO1xuICAgIHRoaXMuY2hpcENvbG9yID0gdGhpcy5pdGVtLmNoaXBDb2xvcjtcbiAgICB0aGlzLmNoaXBJY29uID0gdGhpcy5pdGVtLmNoaXBJY29uO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5pdGVtLm1vZGVsLmluZGV4T2YoZXZlbnQuZGF0YS52YWx1ZSkgPT09IC0xKSB7XG4gICAgICB0aGlzLml0ZW0ubW9kZWwucHVzaChldmVudC5kYXRhKTtcbiAgICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbShldmVudCkge1xuICAgIGFycmF5UmVtb3ZlKHRoaXMuaXRlbS5tb2RlbCwge3ZhbHVlOiBldmVudC5kYXRhLnZhbHVlfSk7XG4gICAgdGhpcy5pdGVtQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBdXRvY29tcGxldGVDaGlwSXRlbSgpIHtcbiAgICB0aGlzLml0ZW0uY2xlYXIoKTtcbiAgICB0aGlzLml0ZW1DaGFuZ2UoKVxuICB9XG5cbiAgcHVibGljIGZldGNoID0gKGtleXdvcmQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlc0ZuKGtleXdvcmQpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmVJdGVtcyhpdGVtMSwgaXRlbTIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbTE/LnZhbHVlID09PSBpdGVtMj8udmFsdWU7XG4gIH1cbn1cbiIsIjxmcy1hdXRvY29tcGxldGUtY2hpcHNcbiAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICBbZmV0Y2hdPVwiZmV0Y2hcIlxuICBbbmdNb2RlbF09XCJpdGVtLm1vZGVsXCJcbiAgKHNlbGVjdGVkKT1cImFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKCRldmVudClcIlxuICAocmVtb3ZlZCk9XCJyZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbSgkZXZlbnQpXCJcbiAgKGNsZWFyKT1cImNsZWFyQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oKVwiXG4gIChjbGljayk9XCJjbGlja2VkKClcIlxuICBbYWxsb3dUZXh0XT1cImZhbHNlXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXG4gIFtjaGlwSW1hZ2VdPVwiaXRlbS5jaGlwSW1hZ2VcIlxuICBbY2hpcENvbG9yXT1cImNoaXBDb2xvclwiXG4gIFtjaGlwSWNvbkNvbG9yXT1cImNoaXBJY29uXCJcbiAgW2NoaXBCYWNrZ3JvdW5kXT1cImNoaXBCYWNrZ3JvdW5kXCJcbiAgW2NoaXBJY29uXT1cIml0ZW0uY2hpcEljb25cIlxuICBbY2hpcENsYXNzXT1cIml0ZW0uY2hpcENsYXNzXCJcbiAgW2FsbG93Q2xlYXJdPVwiaXRlbS5jbGVhckFsbG93ZWRcIlxuICBbcmVtb3ZhYmxlXT1cIml0ZW0uY2xlYXJBbGxvd2VkXCJcbiAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVJdGVtc1wiXG4gIFtwYW5lbFdpZHRoXT1cIjMwMFwiXG4gIG5hbWU9XCJtb2RlbFwiPlxuICA8bmctdGVtcGxhdGUgZnNBdXRvY29tcGxldGVPYmplY3QgbGV0LW9iamVjdD1cIm9iamVjdFwiPlxuICAgIHt7IG9iamVjdC5uYW1lIH19XG4gIDwvbmctdGVtcGxhdGU+XG48L2ZzLWF1dG9jb21wbGV0ZS1jaGlwcz5cblxuPCEtLTxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiPlxuICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtY2hpcC1saXN0ICNjaGlwTGlzdD5cbiAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS5tb2RlbFwiXG4gICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUF1dG9jb21wbGV0ZUNoaXBJdGVtKGl0ZW0pXCI+XG4gICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcD5cblxuICAgIDxpbnB1dCAjY2hpcHNJbnB1dFxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5zZWxlY3RlZFZhbHVlXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BdXRvY29tcGxldGVDaGlwc0NoYW5nZShjaGlwc0lucHV0KVwiXG4gICAgICAgICAgIFtuYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIlxuICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUNoaXBzSW5wdXRcIj5cbiAgPC9tYXQtY2hpcC1saXN0PlxuXG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGVDaGlwc0lucHV0PVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKCAkZXZlbnQpXCJcbiAgPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW0udmFsdWVzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8bWF0LXBsYWNlaG9sZGVyICpuZ0lmPVwiaW5saW5lXCI+e3sgaXRlbS5sYWJlbCB9fTwvbWF0LXBsYWNlaG9sZGVyPlxuPC9tYXQtZm9ybS1maWVsZD4tLT5cbiJdfQ==
|