@firestitch/filter 13.0.13 → 13.0.15
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 +41 -41
- package/app/components/action-button/action-button.component.d.ts +9 -9
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +12 -12
- package/app/components/filter/filter.component.d.ts +194 -192
- 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 +14 -14
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
- 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 +8 -8
- package/app/enums/action-mode.enum.d.ts +6 -6
- package/app/enums/action-type.enum.d.ts +9 -9
- package/app/enums/button-style.d.ts +9 -9
- package/app/enums/index.d.ts +6 -6
- 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 +66 -66
- 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 +14 -14
- 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/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 +80 -80
- package/app/interfaces/config.interface.d.ts +62 -62
- 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 +15 -15
- package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
- package/app/interfaces/items/base.interface.d.ts +29 -29
- 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 +50 -50
- 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 +20 -20
- package/app/models/items/autocomplete-item.d.ts +11 -11
- package/app/models/items/base-item.d.ts +80 -80
- package/app/models/items/checkbox-item.d.ts +17 -17
- package/app/models/items/chips-item.d.ts +18 -18
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +8 -8
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +6 -6
- package/app/models/items/date-time-item.d.ts +7 -7
- package/app/models/items/date-time-range-item.d.ts +6 -6
- package/app/models/items/range-item.d.ts +23 -23
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +14 -14
- package/app/models/items/select/simple-select-item.d.ts +14 -14
- package/app/models/items/select-item.d.ts +8 -8
- package/app/models/items/text-item.d.ts +15 -15
- package/app/models/items/week-item.d.ts +18 -18
- 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 +22 -22
- 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 +36 -36
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +67 -67
- package/esm2020/app/classes/actions-controller.mjs +126 -126
- package/esm2020/app/components/action-button/action-button.component.mjs +23 -23
- package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
- package/esm2020/app/components/actions/actions.component.mjs +38 -38
- package/esm2020/app/components/filter/filter.component.mjs +575 -572
- package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
- package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
- package/esm2020/app/components/filter-chips/filter-chips.component.mjs +22 -22
- package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
- package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
- package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
- package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
- package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
- package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
- package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
- package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
- package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
- package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
- package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
- package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
- package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
- package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
- package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
- package/esm2020/app/components/filters-item/text/text.component.mjs +48 -48
- package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
- package/esm2020/app/components/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
- package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +50 -50
- package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
- package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
- package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
- package/esm2020/app/enums/action-mode.enum.mjs +7 -7
- package/esm2020/app/enums/action-type.enum.mjs +10 -10
- package/esm2020/app/enums/button-style.mjs +10 -10
- package/esm2020/app/enums/index.mjs +6 -6
- package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
- package/esm2020/app/enums/item-type.enum.mjs +16 -16
- package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
- package/esm2020/app/fs-filter.module.mjs +247 -247
- package/esm2020/app/helpers/build-query-params.mjs +32 -32
- package/esm2020/app/helpers/compare.mjs +37 -37
- package/esm2020/app/helpers/create-filter-item.mjs +54 -54
- package/esm2020/app/helpers/find-value.mjs +12 -12
- package/esm2020/app/helpers/get-range-name.mjs +8 -8
- package/esm2020/app/helpers/parse-date.mjs +7 -7
- package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
- package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
- package/esm2020/app/helpers/restore-items.mjs +48 -48
- package/esm2020/app/injectors/filter-config.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/esm2020/app/interfaces/action.interface.mjs +1 -1
- package/esm2020/app/interfaces/config.interface.mjs +1 -1
- package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2020/app/interfaces/filter.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
- package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/esm2020/app/models/action-menu-item.model.mjs +66 -66
- package/esm2020/app/models/action.model.mjs +114 -114
- package/esm2020/app/models/filter-config.mjs +65 -65
- package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
- package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
- package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
- package/esm2020/app/models/items/base-item.mjs +233 -233
- package/esm2020/app/models/items/checkbox-item.mjs +49 -49
- package/esm2020/app/models/items/chips-item.mjs +88 -88
- package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
- package/esm2020/app/models/items/date-item.mjs +18 -18
- package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
- package/esm2020/app/models/items/date-range-item.mjs +6 -6
- package/esm2020/app/models/items/date-time-item.mjs +9 -9
- package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
- package/esm2020/app/models/items/range-item.mjs +82 -82
- package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
- package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
- package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
- package/esm2020/app/models/items/select-item.mjs +10 -10
- package/esm2020/app/models/items/text-item.mjs +33 -33
- package/esm2020/app/models/items/week-item.mjs +93 -93
- package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/esm2020/app/providers/filter-meta.mjs +9 -9
- package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
- package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
- package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +163 -163
- package/esm2020/app/services/external-params-controller.service.mjs +161 -161
- package/esm2020/app/services/filter-overlay.service.mjs +121 -121
- package/esm2020/app/services/focus-controller.service.mjs +29 -29
- package/esm2020/app/services/items-store.service.mjs +336 -336
- package/esm2020/firestitch-filter.mjs +4 -4
- package/esm2020/public_api.mjs +36 -36
- package/fesm2015/firestitch-filter.mjs +4248 -4245
- package/fesm2015/firestitch-filter.mjs.map +1 -1
- package/fesm2020/firestitch-filter.mjs +4229 -4226
- package/fesm2020/firestitch-filter.mjs.map +1 -1
- package/firestitch-filter.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +40 -40
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
-
import { ActionMode, ActionType } from '../../enums';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../action-button/action-button.component";
|
|
5
|
-
import * as i2 from "@firestitch/menu";
|
|
6
|
-
import * as i3 from "@angular/material/icon";
|
|
7
|
-
import * as i4 from "@angular/material/select";
|
|
8
|
-
import * as i5 from "@angular/material/core";
|
|
9
|
-
import * as i6 from "@firestitch/file";
|
|
10
|
-
import * as i7 from "../action-kebab-actions/action-kebab-actions.component";
|
|
11
|
-
import * as i8 from "@angular/common";
|
|
12
|
-
import * as i9 from "@firestitch/popover";
|
|
13
|
-
import * as i10 from "@firestitch/selectbutton";
|
|
14
|
-
import * as i11 from "@angular/forms";
|
|
15
|
-
import * as i12 from "@firestitch/form";
|
|
16
|
-
export class FsFilterActionsComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.kebabActions = [];
|
|
19
|
-
this.actions = [];
|
|
20
|
-
this.ActionType = ActionType;
|
|
21
|
-
this.ActionMode = ActionMode;
|
|
22
|
-
}
|
|
23
|
-
actionChange(action, value) {
|
|
24
|
-
if (action.change) {
|
|
25
|
-
action.change(value);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
FsFilterActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
FsFilterActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event)\"\n fsSelectButton>\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"], components: [{ type: i1.FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "selectPreviews", "error", "clicked", "declined"] }, { type: i7.FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { type: i10.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "width", "buttonType"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i12.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event)\"\n fsSelectButton>\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"] }]
|
|
34
|
-
}], propDecorators: { kebabActions: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], actions: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}] } });
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
+
import { ActionMode, ActionType } from '../../enums';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../action-button/action-button.component";
|
|
5
|
+
import * as i2 from "@firestitch/menu";
|
|
6
|
+
import * as i3 from "@angular/material/icon";
|
|
7
|
+
import * as i4 from "@angular/material/select";
|
|
8
|
+
import * as i5 from "@angular/material/core";
|
|
9
|
+
import * as i6 from "@firestitch/file";
|
|
10
|
+
import * as i7 from "../action-kebab-actions/action-kebab-actions.component";
|
|
11
|
+
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "@firestitch/popover";
|
|
13
|
+
import * as i10 from "@firestitch/selectbutton";
|
|
14
|
+
import * as i11 from "@angular/forms";
|
|
15
|
+
import * as i12 from "@firestitch/form";
|
|
16
|
+
export class FsFilterActionsComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.kebabActions = [];
|
|
19
|
+
this.actions = [];
|
|
20
|
+
this.ActionType = ActionType;
|
|
21
|
+
this.ActionMode = ActionMode;
|
|
22
|
+
}
|
|
23
|
+
actionChange(action, value) {
|
|
24
|
+
if (action.change) {
|
|
25
|
+
action.change(value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
FsFilterActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
FsFilterActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event)\"\n fsSelectButton>\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"], components: [{ type: i1.FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "selectPreviews", "error", "clicked", "declined"] }, { type: i7.FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { type: i10.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "width", "buttonType"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i12.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event)\"\n fsSelectButton>\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"] }]
|
|
34
|
+
}], propDecorators: { kebabActions: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], actions: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}] } });
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBU1MsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFHNUIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxVQUFVLENBQUM7S0FRaEM7SUFOUSxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUs7UUFDL0IsSUFBRyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDOztxSEFmVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1SENoQnJDLG8ySEFzR0E7MkZEdEZhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFLeEMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvbk1vZGUsIEFjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJBY3Rpb25zQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMga2ViYWJBY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBBY3Rpb25UeXBlID0gQWN0aW9uVHlwZTtcbiAgcHVibGljIEFjdGlvbk1vZGUgPSBBY3Rpb25Nb2RlO1xuXG4gIHB1YmxpYyBhY3Rpb25DaGFuZ2UoYWN0aW9uLCB2YWx1ZSk6IHZvaWQge1xuICAgIGlmKGFjdGlvbi5jaGFuZ2UpIHtcbiAgICAgIGFjdGlvbi5jaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJhY3Rpb24ubW9kZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkFjdGlvbk1vZGUuQnV0dG9uXCI+XG4gICAgICA8ZnMtZmlsdGVyLWFjdGlvbi1idXR0b25cbiAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICBjbGFzcz1cImFjdGlvblwiXG4gICAgICAgIGZzUG9wb3ZlclxuICAgICAgICBbZW5hYmxlZF09XCIhIWFjdGlvbi50b29sdGlwXCJcbiAgICAgICAgW3RleHRdPVwiYWN0aW9uLnRvb2x0aXBcIj5cbiAgICAgIDwvZnMtZmlsdGVyLWFjdGlvbi1idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBY3Rpb25Nb2RlLk1lbnVcIj5cbiAgICAgIDxmcy1maWx0ZXItYWN0aW9uLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvblwiXG4gICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgW2ZzTWVudVRyaWdnZXJGb3JdPVwic29tZVJlZlwiXG4gICAgICAgIGZzUG9wb3ZlclxuICAgICAgICBbZW5hYmxlZF09XCIhIWFjdGlvbi50b29sdGlwXCJcbiAgICAgICAgW3RleHRdPVwiYWN0aW9uLnRvb2x0aXBcIj5cbiAgICAgIDwvZnMtZmlsdGVyLWFjdGlvbi1idXR0b24+XG5cbiAgICAgIDxmcy1tZW51ICNzb21lUmVmIGNsYXNzPVwiYWN0aW9uXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkQWN0aW9uIG9mIGFjdGlvbi5pdGVtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGlsZEFjdGlvbi5pc0dyb3VwIGVsc2Ugc2ltcGxlTWVudUl0ZW1cIj5cbiAgICAgICAgICAgIDxmcy1tZW51LWdyb3VwIFtsYWJlbF09XCJjaGlsZEFjdGlvbi5sYWJlbFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJBY3Rpb24gb2YgY2hpbGRBY3Rpb24uaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiIShzdWJBY3Rpb24udmlzaWJsZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3ViQWN0aW9uLmNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInN1YkFjdGlvbi5pY29uXCI+e3tzdWJBY3Rpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViQWN0aW9uLmxhYmVsfX1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZnMtbWVudS1ncm91cD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZU1lbnVJdGVtPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgW2xpbmtdPVwiY2hpbGRBY3Rpb24ucm91dGVyTGluaz8ubGlua1wiXG4gICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImNoaWxkQWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiEoY2hpbGRBY3Rpb24udmlzaWJsZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGlsZEFjdGlvbi5jbGljaygkZXZlbnQpO1wiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjaGlsZEFjdGlvbi5pY29uXCI+e3tjaGlsZEFjdGlvbi5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICB7e2NoaWxkQWN0aW9uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2ZzLW1lbnU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBY3Rpb25Nb2RlLlNlbGVjdEJ1dHRvblwiPlxuICAgICAgPG1hdC1zZWxlY3QgXG4gICAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICAgICAnbWF0LXN0cm9rZWQtYnV0dG9uJzogYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGUuU3Ryb2tlZCxcbiAgICAgICAgICAgICdtYXQtcmFpc2VkLWJ1dHRvbic6IGFjdGlvbi50eXBlID09PSBBY3Rpb25UeXBlLlJhaXNlZCxcbiAgICAgICAgICAgICdtYXQtZmxhdC1idXR0b24nOiBhY3Rpb24udHlwZSA9PT0gQWN0aW9uVHlwZS5GbGF0LFxuICAgICAgICAgICAgJ21hdC1iYXNpYy1idXR0b24nOiBhY3Rpb24udHlwZSA9PT0gQWN0aW9uVHlwZS5CYXNpY1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJhY3Rpb24ubGFiZWxcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYWN0aW9uLnZhbHVlXCIgXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiYWN0aW9uQ2hhbmdlKGFjdGlvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgZnNTZWxlY3RCdXR0b24+XG4gICAgICAgIDxtYXQtb3B0aW9uIFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWN0aW9uLnZhbHVlc1wiIFxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQWN0aW9uTW9kZS5GaWxlXCI+XG4gICAgICA8ZnMtZmlsZVxuICAgICAgICAgIGNsYXNzPVwiYWN0aW9uIGFjdGlvbi1idXR0b25cIlxuICAgICAgICAgIFthY2NlcHRdPVwiYWN0aW9uLmFjY2VwdCB8fCAnKidcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJhY3Rpb24ubXVsdGlwbGVcIlxuICAgICAgICAgIFttaW5XaWR0aF09XCJhY3Rpb24ubWluV2lkdGhcIlxuICAgICAgICAgIFttaW5IZWlnaHRdPVwiYWN0aW9uLm1pbkhlaWdodFwiXG4gICAgICAgICAgW2ltYWdlV2lkdGhdPVwiYWN0aW9uLm1heFdpZHRoXCJcbiAgICAgICAgICBbaW1hZ2VIZWlnaHRdPVwiYWN0aW9uLm1heEhlaWdodFwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJhY3Rpb24uZmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIChlcnJvcik9XCJhY3Rpb24uZmlsZUVycm9yKCRldmVudClcIlxuICAgICAgICAgIChjbGlja2VkKT1cImFjdGlvbi5jbGljaygkZXZlbnQpXCJcbiAgICAgICAgICBmc1BvcG92ZXJcbiAgICAgICAgICBbZW5hYmxlZF09XCIhIWFjdGlvbi50b29sdGlwXCJcbiAgICAgICAgICBbdGV4dF09XCJhY3Rpb24udG9vbHRpcFwiPlxuICAgICAgICA8ZnMtZmlsdGVyLWFjdGlvbi1idXR0b24gXG4gICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIj5cbiAgICAgICAgPC9mcy1maWx0ZXItYWN0aW9uLWJ1dHRvbj5cbiAgICAgIDwvZnMtZmlsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJrZWJhYkFjdGlvbnM/Lmxlbmd0aFwiPlxuICA8ZnMtZmlsdGVyLWFjdGlvbi1rZWJhYi1hY3Rpb25zXG4gICAgW2tlYmFiQWN0aW9uc109XCJrZWJhYkFjdGlvbnNcIj5cbiAgPC9mcy1maWx0ZXItYWN0aW9uLWtlYmFiLWFjdGlvbnM+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|