@recursyve/nice-data-filter-kit 15.3.4 → 16.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/lib/components/base-list/base-list.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/base-list/base-list.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-buttons.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-cards.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-custom-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-directives.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-search-result-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-filters.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-table.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-title.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/providers/base-filter.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/providers/base-list-saved-report.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +119 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +148 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +28 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/options/options-filter.component.mjs +33 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +30 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +60 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +31 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +72 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +80 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/common/data.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/search/search.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-paginator.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-sort.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-tables.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/query-params.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-nested-filter-view.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/filter-selection/filter-selection.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/query-builder-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/query-builder/query-builder.component.mjs +100 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.module.mjs +45 -45
- package/esm2022/lib/components/query-builder/rule/components/date/date-filter.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/rule/components/filter.component.mjs +4 -4
- package/esm2022/lib/components/query-builder/rule/components/number/number-filter.component.mjs +28 -0
- package/esm2022/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +30 -0
- package/esm2022/lib/components/query-builder/rule/components/select/select-filter.component.mjs +87 -0
- package/esm2022/lib/components/query-builder/rule/components/text/text-filter.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/rule/rule.component.mjs +4 -4
- package/esm2022/lib/components/query-builder/utils/qb-filter.utils.mjs +90 -0
- package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/selectable-list-content.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.service.mjs +4 -4
- package/esm2022/lib/models/filter.model.mjs +10 -0
- package/{esm2020 → esm2022}/lib/utils/date.adapter.mjs +4 -4
- package/{fesm2020 → fesm2022}/recursyve-nice-data-filter-kit.mjs +601 -573
- package/fesm2022/recursyve-nice-data-filter-kit.mjs.map +1 -0
- package/lib/components/base-list/base-list.component.d.ts +1 -1
- package/lib/components/base-list/directives/base-list-buttons.directive.d.ts +1 -1
- package/lib/components/base-list/directives/base-list-table.directive.d.ts +1 -1
- package/lib/components/multi-state-list/multi-state-list.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.d.ts +23 -22
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/options/options-filter.component.d.ts +8 -0
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +1 -1
- package/lib/components/nice-filter-view/components/search/search.component.d.ts +1 -1
- package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +1 -1
- package/lib/components/query-builder/filter-selection/filter-selection.component.d.ts +1 -1
- package/lib/components/query-builder/query-builder-trigger.directive.d.ts +1 -1
- package/lib/components/query-builder/query-builder.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/radio/radio-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/select/select-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/text/text-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/rule.component.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list.directive.d.ts +1 -1
- package/lib/models/filter.model.d.ts +4 -1
- package/package.json +13 -19
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +0 -119
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +0 -145
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +0 -40
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +0 -28
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +0 -30
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +0 -60
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +0 -31
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +0 -71
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +0 -79
- package/esm2020/lib/components/query-builder/query-builder.component.mjs +0 -100
- package/esm2020/lib/components/query-builder/rule/components/date/date-filter.component.mjs +0 -40
- package/esm2020/lib/components/query-builder/rule/components/number/number-filter.component.mjs +0 -28
- package/esm2020/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +0 -30
- package/esm2020/lib/components/query-builder/rule/components/select/select-filter.component.mjs +0 -87
- package/esm2020/lib/components/query-builder/rule/components/text/text-filter.component.mjs +0 -31
- package/esm2020/lib/components/query-builder/utils/qb-filter.utils.mjs +0 -89
- package/esm2020/lib/models/filter.model.mjs +0 -9
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +0 -5586
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +0 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/api/dto/saved-reports.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/filter.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/saved-reports.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/saved-report.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/base-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/columns.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/export.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/layout.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/models/list-states.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/providers/multi-state-filter.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/models/order-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/providers/filter-group.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/selectable-list-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/query.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/filter.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/order.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/query-params.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/string.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/recursyve-nice-data-filter-kit.mjs +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, forwardRef, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/material/input";
|
|
8
|
+
export class NiceAdvancedNumberFilterComponent extends FilterComponent {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedNumberFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedNumberFilterComponent, selector: "nice-advanced-number-filter", providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13
|
+
useExisting: forwardRef(() => NiceAdvancedNumberFilterComponent),
|
|
14
|
+
multi: true
|
|
15
|
+
}
|
|
16
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" type=\"number\" />\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedNumberFilterComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: "nice-advanced-number-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: NG_VALUE_ACCESSOR,
|
|
23
|
+
useExisting: forwardRef(() => NiceAdvancedNumberFilterComponent),
|
|
24
|
+
multi: true
|
|
25
|
+
}
|
|
26
|
+
], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" type=\"number\" />\n</mat-form-field>\n" }]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9jb21wb25lbnRzL251bWJlci9udW1iZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvbnVtYmVyL251bWJlci1maWx0ZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBY3RELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxlQUF1Qjs4R0FBakUsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsc0RBUi9CO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDaEUsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLGlEQ2RMLHdMQUdBOzsyRkRhYSxpQ0FBaUM7a0JBWjdDLFNBQVM7K0JBQ0ksNkJBQTZCLGlCQUV4QixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtDQUFrQyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9maWx0ZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtbnVtYmVyLWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIm51bWJlci1maWx0ZXIudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmljZUFkdmFuY2VkTnVtYmVyRmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZE51bWJlckZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDxudW1iZXI+IHt9XG4iLCI8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cImZsZXgtYXV0b1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIHR5cGU9XCJudW1iZXJcIiAvPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@angular/material/radio";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/core";
|
|
10
|
+
import * as i6 from "@angular/material/select";
|
|
11
|
+
export class NiceAdvancedOptionsFilterComponent extends FilterComponent {
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedOptionsFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedOptionsFilterComponent, selector: "nice-advanced-options-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
14
|
+
{
|
|
15
|
+
provide: NG_VALUE_ACCESSOR,
|
|
16
|
+
useExisting: forwardRef(() => NiceAdvancedOptionsFilterComponent),
|
|
17
|
+
multi: true
|
|
18
|
+
}
|
|
19
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"mb-4\" *ngIf=\"filterConfig.selectionMode === 'radio'\">\n <mat-radio-group class=\"flex-auto\" [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-radio-button class=\"mx-4\" *ngFor=\"let option of filterConfig.options\" [value]=\"option?.key\">\n {{ option?.name }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<ng-container *ngIf=\"filterConfig.selectionMode === 'select'\">\n <mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <mat-select [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-option *ngFor=\"let option of filterConfig.options\" [value]=\"option.key\">\n {{ option?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedOptionsFilterComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: "nice-advanced-options-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
24
|
+
{
|
|
25
|
+
provide: NG_VALUE_ACCESSOR,
|
|
26
|
+
useExisting: forwardRef(() => NiceAdvancedOptionsFilterComponent),
|
|
27
|
+
multi: true
|
|
28
|
+
}
|
|
29
|
+
], template: "<div class=\"mb-4\" *ngIf=\"filterConfig.selectionMode === 'radio'\">\n <mat-radio-group class=\"flex-auto\" [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-radio-button class=\"mx-4\" *ngFor=\"let option of filterConfig.options\" [value]=\"option?.key\">\n {{ option?.name }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<ng-container *ngIf=\"filterConfig.selectionMode === 'select'\">\n <mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <mat-select [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-option *ngFor=\"let option of filterConfig.options\" [value]=\"option.key\">\n {{ option?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</ng-container>" }]
|
|
30
|
+
}], propDecorators: { filterConfig: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXJzL3J1bGUvY29tcG9uZW50cy9vcHRpb25zL29wdGlvbnMtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvb3B0aW9ucy9vcHRpb25zLWZpbHRlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBY3RELE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxlQUF1Qjs4R0FBbEUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUdBUmhDO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDakUsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLGlEQ2ZMLG96QkFnQmU7OzJGRENGLGtDQUFrQztrQkFaOUMsU0FBUzsrQkFDSSw4QkFBOEIsaUJBRXpCLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUNBQW1DLENBQUM7NEJBQ2pFLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUlNLFlBQVk7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9maWx0ZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtb3B0aW9ucy1maWx0ZXJcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJvcHRpb25zLWZpbHRlci50ZW1wbGF0ZS5odG1sXCIsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOaWNlQWR2YW5jZWRPcHRpb25zRmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZE9wdGlvbnNGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBGaWx0ZXJDb21wb25lbnQ8c3RyaW5nPiB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyQ29uZmlnOiBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWw7XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNFwiICpuZ0lmPVwiZmlsdGVyQ29uZmlnLnNlbGVjdGlvbk1vZGUgPT09ICdyYWRpbydcIj5cbiAgICA8bWF0LXJhZGlvLWdyb3VwIGNsYXNzPVwiZmxleC1hdXRvXCIgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJteC00XCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJDb25maWcub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24/LmtleVwiPlxuICAgICAgICAgICAge3sgb3B0aW9uPy5uYW1lIH19XG4gICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICA8L21hdC1yYWRpby1ncm91cD5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyQ29uZmlnLnNlbGVjdGlvbk1vZGUgPT09ICdzZWxlY3QnXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJmbGV4LWF1dG9cIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyQ29uZmlnLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbj8ubmFtZSB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@angular/material/radio";
|
|
8
|
+
export class NiceAdvancedRadioFilterComponent extends FilterComponent {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedRadioFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedRadioFilterComponent, selector: "nice-advanced-radio-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13
|
+
useExisting: forwardRef(() => NiceAdvancedRadioFilterComponent),
|
|
14
|
+
multi: true
|
|
15
|
+
}
|
|
16
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-radio-group appearance=\"outline\" class=\"flex-auto\" [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-radio-button class=\"mx-4\" *ngFor=\"let option of filterConfig.options\" [value]=\"option?.key\">\n {{ option?.name }}\n </mat-radio-button>\n</mat-radio-group>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedRadioFilterComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: "nice-advanced-radio-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: NG_VALUE_ACCESSOR,
|
|
23
|
+
useExisting: forwardRef(() => NiceAdvancedRadioFilterComponent),
|
|
24
|
+
multi: true
|
|
25
|
+
}
|
|
26
|
+
], template: "<mat-radio-group appearance=\"outline\" class=\"flex-auto\" [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n <mat-radio-button class=\"mx-4\" *ngFor=\"let option of filterConfig.options\" [value]=\"option?.key\">\n {{ option?.name }}\n </mat-radio-button>\n</mat-radio-group>\n" }]
|
|
27
|
+
}], propDecorators: { filterConfig: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8tZmlsdGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFjdEQsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGVBQXVCOzhHQUFoRSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQywrRkFSOUI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2dCQUMvRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osaURDZkwsb1RBS0E7OzJGRFlhLGdDQUFnQztrQkFaNUMsU0FBUzsrQkFDSSw0QkFBNEIsaUJBRXZCLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUNBQWlDLENBQUM7NEJBQy9ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUlNLFlBQVk7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9maWx0ZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtcmFkaW8tZmlsdGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwicmFkaW8tZmlsdGVyLnRlbXBsYXRlLmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5pY2VBZHZhbmNlZFJhZGlvRmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZFJhZGlvRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgRmlsdGVyQ29tcG9uZW50PHN0cmluZz4ge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbHRlckNvbmZpZzogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsO1xufVxuIiwiPG1hdC1yYWRpby1ncm91cCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmxleC1hdXRvXCIgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cIm14LTRcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlckNvbmZpZy5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbj8ua2V5XCI+XG4gICAgICAgIHt7IG9wdGlvbj8ubmFtZSB9fVxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbjwvbWF0LXJhZGlvLWdyb3VwPlxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import { NiceFilterViewQuery } from "../../../../../store/nice-filter-view.query";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../../../store/nice-filter-view.query";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "@angular/material/form-field";
|
|
10
|
+
import * as i5 from "@recursyve/nice-ui-kit.v2";
|
|
11
|
+
export class NiceAdvancedSelectFilterComponent extends FilterComponent {
|
|
12
|
+
constructor(filterViewQuery) {
|
|
13
|
+
super();
|
|
14
|
+
this.filterViewQuery = filterViewQuery;
|
|
15
|
+
this.values = [];
|
|
16
|
+
this.queryParams$ = this.filterViewQuery.selectQueryParams();
|
|
17
|
+
}
|
|
18
|
+
async ngOnInit() {
|
|
19
|
+
if (!this.filterConfig.lazyLoading) {
|
|
20
|
+
this.values = this.filterConfig.values;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if ("filterConfig" in changes) {
|
|
25
|
+
if (!this.filterConfig.lazyLoading) {
|
|
26
|
+
this.values = this.filterConfig.values;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.values = [];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
onValueChange(value) {
|
|
34
|
+
super.onValueChange(value);
|
|
35
|
+
}
|
|
36
|
+
writeValue(value) {
|
|
37
|
+
super.writeValue(value);
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedSelectFilterComponent, deps: [{ token: i1.NiceFilterViewQuery }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedSelectFilterComponent, selector: "nice-advanced-select-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
41
|
+
{
|
|
42
|
+
provide: NG_VALUE_ACCESSOR,
|
|
43
|
+
useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
|
|
44
|
+
multi: true
|
|
45
|
+
}
|
|
46
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig, queryParams: queryParams$ | async }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NiceTypeaheadComponent, selector: "nice-typeahead", inputs: ["items", "labelFormatFn", "required", "disabled", "placeholder", "emptyPlaceholder", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "typeahead", "page$", "loading", "loadingPage", "searchFn", "optionTemplate"], outputs: ["change"] }, { kind: "component", type: i5.NiceAsyncTypeaheadComponent, selector: "nice-async-typeahead", inputs: ["resource", "searchOptions", "autoReload", "preloadResource", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "placeholder", "emptyPlaceholder", "optionTemplate", "filterFn", "labelFormatFn", "disabled", "value", "required"], outputs: ["entityRemoved", "selected"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedSelectFilterComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: "nice-advanced-select-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
51
|
+
{
|
|
52
|
+
provide: NG_VALUE_ACCESSOR,
|
|
53
|
+
useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
|
|
54
|
+
multi: true
|
|
55
|
+
}
|
|
56
|
+
], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig, queryParams: queryParams$ | async }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n" }]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }]; }, propDecorators: { filterConfig: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7OztBQWNsRixNQUFNLE9BQU8saUNBQWtDLFNBQVEsZUFBd0I7SUFRM0UsWUFBb0IsZUFBb0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEUSxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFKakQsV0FBTSxHQUF3QixFQUFFLENBQUM7UUFFOUIsaUJBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFJbEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBNkIsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxjQUFjLElBQUksT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQTZCLENBQUM7YUFDakU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7YUFDcEI7U0FDSjtJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYztRQUMvQixLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM1QixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OEdBbENRLGlDQUFpQztrR0FBakMsaUNBQWlDLGdHQVIvQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Z0JBQ2hFLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixzRUNoQkwsMm5CQWtCQTs7MkZEQWEsaUNBQWlDO2tCQVo3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFFeEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQ0FBa0MsQ0FBQzs0QkFDaEUsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7MEdBSU0sWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBTZWxlY3RGaWx0ZXJWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInNlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmljZUFkdmFuY2VkU2VsZWN0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZFNlbGVjdEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDx1bmtub3duPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcblxuICAgIHB1YmxpYyB2YWx1ZXM6IFNlbGVjdEZpbHRlclZhbHVlW10gPSBbXTtcblxuICAgIHByb3RlY3RlZCBxdWVyeVBhcmFtcyQgPSB0aGlzLmZpbHRlclZpZXdRdWVyeS5zZWxlY3RRdWVyeVBhcmFtcygpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJWaWV3UXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25maWcubGF6eUxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5maWx0ZXJDb25maWcudmFsdWVzIGFzIFNlbGVjdEZpbHRlclZhbHVlW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXCJmaWx0ZXJDb25maWdcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZmlnLmxhenlMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLmZpbHRlckNvbmZpZy52YWx1ZXMgYXMgU2VsZWN0RmlsdGVyVmFsdWVbXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmxleC1hdXRvXCI+XG4gICAgPG5pY2UtdHlwZWFoZWFkXG4gICAgICAgICpuZ0lmPVwiIWZpbHRlckNvbmZpZy5sYXp5TG9hZGluZ1wiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2l0ZW1zXT1cInZhbHVlc1wiXG4gICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgPjwvbmljZS10eXBlYWhlYWQ+XG5cbiAgICA8bmljZS1hc3luYy10eXBlYWhlYWRcbiAgICAgICAgKm5nSWY9XCJmaWx0ZXJDb25maWcubGF6eUxvYWRpbmdcIlxuICAgICAgICByZXNvdXJjZT1cImFkdmFuY2VkRmlsdGVyXCJcbiAgICAgICAgW3NlYXJjaE9wdGlvbnNdPVwieyBmaWx0ZXJDb25maWcsIHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyQgfCBhc3luYyB9XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID48L25pY2UtYXN5bmMtdHlwZWFoZWFkPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/material/input";
|
|
8
|
+
import * as i4 from "ngx-mask";
|
|
9
|
+
export class NiceAdvancedTextFilterComponent extends FilterComponent {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedTextFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedTextFilterComponent, selector: "nice-advanced-text-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
12
|
+
{
|
|
13
|
+
provide: NG_VALUE_ACCESSOR,
|
|
14
|
+
useExisting: forwardRef(() => NiceAdvancedTextFilterComponent),
|
|
15
|
+
multi: true
|
|
16
|
+
}
|
|
17
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedTextFilterComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: "nice-advanced-text-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
22
|
+
{
|
|
23
|
+
provide: NG_VALUE_ACCESSOR,
|
|
24
|
+
useExisting: forwardRef(() => NiceAdvancedTextFilterComponent),
|
|
25
|
+
multi: true
|
|
26
|
+
}
|
|
27
|
+
], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n" }]
|
|
28
|
+
}], propDecorators: { filterConfig: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXJzL3J1bGUvY29tcG9uZW50cy90ZXh0L3RleHQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvdGV4dC90ZXh0LWZpbHRlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWN0RCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsZUFBdUI7OEdBQS9ELCtCQUErQjtrR0FBL0IsK0JBQStCLDhGQVI3QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzlELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixpRENmTCxtUEFHQTs7MkZEY2EsK0JBQStCO2tCQVozQyxTQUFTOytCQUNJLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBSU0sWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ZpbHRlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInRleHQtZmlsdGVyLnRlbXBsYXRlLmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5pY2VBZHZhbmNlZFRleHRGaWx0ZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkVGV4dEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDxzdHJpbmc+IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmxleC1hdXRvXCI+XG4gICAgPGlucHV0IG1hdElucHV0IFtuZ01vZGVsXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW21hc2tdPVwiKGZpbHRlckNvbmZpZz8ubWFzaykgfHwgJydcIiBbdmFsaWRhdGlvbl09XCJmYWxzZVwiIHR5cGU9XCJ0ZXh0XCIgLz5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Optional, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { FormGroupName } from "@angular/forms";
|
|
3
|
+
import { startWith } from "rxjs";
|
|
4
|
+
import { map } from "rxjs/operators";
|
|
5
|
+
import { ADVANCED_FILTER_ICONS } from "../advanced-filters.constant";
|
|
6
|
+
import { FilterForm } from "../advanced-filters.form";
|
|
7
|
+
import { AdvancedFiltersUtils } from "../utils/advanced-filters.utils";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@angular/material/icon";
|
|
12
|
+
import * as i4 from "@angular/material/button";
|
|
13
|
+
import * as i5 from "@angular/material/form-field";
|
|
14
|
+
import * as i6 from "@angular/material/core";
|
|
15
|
+
import * as i7 from "@angular/material/select";
|
|
16
|
+
import * as i8 from "@angular/material/button-toggle";
|
|
17
|
+
import * as i9 from "./components/date/date-filter.component";
|
|
18
|
+
import * as i10 from "./components/number/number-filter.component";
|
|
19
|
+
import * as i11 from "./components/options/options-filter.component";
|
|
20
|
+
import * as i12 from "./components/radio/radio-filter.component";
|
|
21
|
+
import * as i13 from "./components/select/select-filter.component";
|
|
22
|
+
import * as i14 from "./components/text/text-filter.component";
|
|
23
|
+
import * as i15 from "../advanced-filters-trigger.directive";
|
|
24
|
+
import * as i16 from "@ngx-translate/core";
|
|
25
|
+
export class NiceAdvancedRuleComponent {
|
|
26
|
+
get filterConfig() {
|
|
27
|
+
const ruleId = this.formGroup.get("id").value;
|
|
28
|
+
return this.filterConfigs?.find(f => f.id === ruleId);
|
|
29
|
+
}
|
|
30
|
+
constructor(icons, formGroupName) {
|
|
31
|
+
this.icons = icons;
|
|
32
|
+
this.formGroupName = formGroupName;
|
|
33
|
+
this.remove = new EventEmitter();
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
this.formGroup = this.formGroupName.control;
|
|
37
|
+
this.valuesFormArray = this.formGroup.get("values");
|
|
38
|
+
const operationFormControl = this.formGroup.get("operation");
|
|
39
|
+
this.isSingleInput$ = operationFormControl.valueChanges.pipe(startWith(operationFormControl.value), map((operation) => !AdvancedFiltersUtils.isDoubleInput(operation) && !AdvancedFiltersUtils.isNoInput(operation)));
|
|
40
|
+
this.isDoubleInput$ = operationFormControl.valueChanges.pipe(startWith(operationFormControl.value), map((operation) => AdvancedFiltersUtils.isDoubleInput(operation)));
|
|
41
|
+
}
|
|
42
|
+
onUpdateFilterConfig(config) {
|
|
43
|
+
const rule = AdvancedFiltersUtils.createRule(config);
|
|
44
|
+
this.valuesFormArray.clear({ emitEvent: false });
|
|
45
|
+
this.formGroup.patchValue(new FilterForm(rule));
|
|
46
|
+
}
|
|
47
|
+
addValue(index) {
|
|
48
|
+
this.valuesFormArray.insert(index, {});
|
|
49
|
+
}
|
|
50
|
+
removeValue(i) {
|
|
51
|
+
this.valuesFormArray.removeAt(i);
|
|
52
|
+
if (!this.valuesFormArray.length) {
|
|
53
|
+
this.remove.emit();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedRuleComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: i1.FormGroupName }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceAdvancedRuleComponent, selector: "nice-advanced-rule", inputs: { filterConfigs: "filterConfigs" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"flex flex-row gap-4\" [formGroup]=\"formGroup\">\n <div class=\"basis-80\">\n <button\n class=\"select-filter w-full\"\n mat-stroked-button\n niceAdvancedFiltersTrigger\n originX=\"start\"\n (advancedFilterSelected)=\"onUpdateFilterConfig($event)\"\n >\n <div class=\"flex flex-row justify-between items-center w-full\">\n <div class=\"config-name\">{{ filterConfig?.name }}</div>\n <mat-icon [svgIcon]=\"icons.arrowDown.svgIcon\">{{ icons.arrowDown.matIcon }}</mat-icon>\n </div>\n </button>\n </div>\n\n <div class=\"flex flex-col basis-44 gap-4\">\n <mat-form-field appearance=\"outline\" class=\"rule-form-field\">\n <mat-select class=\"rule-operator\" formControlName=\"operation\">\n <mat-option *ngFor=\"let operator of filterConfig?.operators\" [value]=\"operator.id\">\n {{ operator?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container *ngIf=\"valuesFormArray.controls.length > 1\">\n <mat-button-toggle-group class=\"condition-toggle\" formControlName=\"condition\">\n <mat-button-toggle value=\"and\">{{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}</mat-button-toggle>\n <mat-button-toggle value=\"or\">{{ \"components.nice_advanced_filters.rule.conditions.or\" | translate }}</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"flex flex-col flex-auto gap-4\" formArrayName=\"values\">\n <div class=\"flex items-center gap-4\" [formGroupName]=\"i\" *ngFor=\"let _ of valuesFormArray.controls; let i = index\">\n <div class=\"rule-container flex flex-col md:flex-row flex-auto justify-start items-center gap-2.5\">\n <ng-container *ngIf=\"isSingleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter *ngSwitchCase=\"'text'\" class=\"flex flex-auto\" formControlName=\"value\" [filterConfig]=\"filterConfig\"></nice-advanced-text-filter>\n <nice-advanced-number-filter *ngSwitchCase=\"'number'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter *ngSwitchCase=\"'date'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isDoubleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-date-filter>\n </ng-container>\n <h3 class=\"aligned-text\">\n {{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}\n </h3>\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"add-button\" mat-icon-button (click)=\"addValue(i + 1)\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n </button>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"remove-button\" mat-icon-button (click)=\"removeValue(i)\">\n <mat-icon [svgIcon]=\"icons.delete.svgIcon\">{{ icons.delete.matIcon }}</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i9.NiceAdvancedDateFilterComponent, selector: "nice-advanced-date-filter" }, { kind: "component", type: i10.NiceAdvancedNumberFilterComponent, selector: "nice-advanced-number-filter" }, { kind: "component", type: i11.NiceAdvancedOptionsFilterComponent, selector: "nice-advanced-options-filter", inputs: ["filterConfig"] }, { kind: "component", type: i12.NiceAdvancedRadioFilterComponent, selector: "nice-advanced-radio-filter", inputs: ["filterConfig"] }, { kind: "component", type: i13.NiceAdvancedSelectFilterComponent, selector: "nice-advanced-select-filter", inputs: ["filterConfig"] }, { kind: "component", type: i14.NiceAdvancedTextFilterComponent, selector: "nice-advanced-text-filter", inputs: ["filterConfig"] }, { kind: "directive", type: i15.AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: ["position"], outputs: ["advancedFilterSelected"], exportAs: ["niceAdvancedFiltersTrigger"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceAdvancedRuleComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: "nice-advanced-rule", encapsulation: ViewEncapsulation.None, template: "<div class=\"flex flex-row gap-4\" [formGroup]=\"formGroup\">\n <div class=\"basis-80\">\n <button\n class=\"select-filter w-full\"\n mat-stroked-button\n niceAdvancedFiltersTrigger\n originX=\"start\"\n (advancedFilterSelected)=\"onUpdateFilterConfig($event)\"\n >\n <div class=\"flex flex-row justify-between items-center w-full\">\n <div class=\"config-name\">{{ filterConfig?.name }}</div>\n <mat-icon [svgIcon]=\"icons.arrowDown.svgIcon\">{{ icons.arrowDown.matIcon }}</mat-icon>\n </div>\n </button>\n </div>\n\n <div class=\"flex flex-col basis-44 gap-4\">\n <mat-form-field appearance=\"outline\" class=\"rule-form-field\">\n <mat-select class=\"rule-operator\" formControlName=\"operation\">\n <mat-option *ngFor=\"let operator of filterConfig?.operators\" [value]=\"operator.id\">\n {{ operator?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container *ngIf=\"valuesFormArray.controls.length > 1\">\n <mat-button-toggle-group class=\"condition-toggle\" formControlName=\"condition\">\n <mat-button-toggle value=\"and\">{{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}</mat-button-toggle>\n <mat-button-toggle value=\"or\">{{ \"components.nice_advanced_filters.rule.conditions.or\" | translate }}</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"flex flex-col flex-auto gap-4\" formArrayName=\"values\">\n <div class=\"flex items-center gap-4\" [formGroupName]=\"i\" *ngFor=\"let _ of valuesFormArray.controls; let i = index\">\n <div class=\"rule-container flex flex-col md:flex-row flex-auto justify-start items-center gap-2.5\">\n <ng-container *ngIf=\"isSingleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter *ngSwitchCase=\"'text'\" class=\"flex flex-auto\" formControlName=\"value\" [filterConfig]=\"filterConfig\"></nice-advanced-text-filter>\n <nice-advanced-number-filter *ngSwitchCase=\"'number'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter *ngSwitchCase=\"'date'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isDoubleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-date-filter>\n </ng-container>\n <h3 class=\"aligned-text\">\n {{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}\n </h3>\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-number-filter>\n <nice-advanced-options-filter\n *ngSwitchCase=\"'options'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-options-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"add-button\" mat-icon-button (click)=\"addValue(i + 1)\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n </button>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"remove-button\" mat-icon-button (click)=\"removeValue(i)\">\n <mat-icon [svgIcon]=\"icons.delete.svgIcon\">{{ icons.delete.matIcon }}</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
63
|
+
type: Optional
|
|
64
|
+
}, {
|
|
65
|
+
type: Inject,
|
|
66
|
+
args: [ADVANCED_FILTER_ICONS]
|
|
67
|
+
}] }, { type: i1.FormGroupName }]; }, propDecorators: { filterConfigs: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], remove: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9ydWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL3J1bGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sMEJBQTBCLENBQUM7QUFFeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU92RSxNQUFNLE9BQU8seUJBQXlCO0lBYWxDLElBQVcsWUFBWTtRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFlLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUE2QixDQUFDO0lBQ3RGLENBQUM7SUFFRCxZQUVXLEtBQW9DLEVBQ25DLGFBQTRCO1FBRDdCLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBaEJqQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQWlCaEMsQ0FBQztJQUVHLFFBQVE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBeUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBeUMsQ0FBQztRQUU1RixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDeEQsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ25ILENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3hELFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxNQUFnQztRQUN4RCxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs4R0F0RFEseUJBQXlCLGtCQW1CVixxQkFBcUI7a0dBbkJwQyx5QkFBeUIscUlDaEJ0Qyx1NVFBMEpBOzsyRkQxSWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLG9CQUFvQixpQkFFZixpQkFBaUIsQ0FBQyxJQUFJOzswQkFxQmhDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3dFQWpCdEMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxNQUFNO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXBOYW1lIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBHZW5lcmF0ZWRGb3JtQXJyYXksIEdlbmVyYXRlZEZvcm1Hcm91cCB9IGZyb20gXCJAcmVjdXJzeXZlL25neC1mb3JtLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEFEVkFOQ0VEX0ZJTFRFUl9JQ09OUyB9IGZyb20gXCIuLi9hZHZhbmNlZC1maWx0ZXJzLmNvbnN0YW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJGb3JtLCBGaWx0ZXJGb3JtVmFsdWVzIH0gZnJvbSBcIi4uL2FkdmFuY2VkLWZpbHRlcnMuZm9ybVwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkRmlsdGVySWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL2ljb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlcnNVdGlscyB9IGZyb20gXCIuLi91dGlscy9hZHZhbmNlZC1maWx0ZXJzLnV0aWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtcnVsZVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInJ1bGUudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkUnVsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyQ29uZmlnczogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10gfCBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEdlbmVyYXRlZEZvcm1Hcm91cDxGaWx0ZXJGb3JtPjtcbiAgICBwdWJsaWMgdmFsdWVzRm9ybUFycmF5OiBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybVZhbHVlcz47XG5cbiAgICBwdWJsaWMgaXNTaW5nbGVJbnB1dCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljIGlzRG91YmxlSW5wdXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHVibGljIGdldCBmaWx0ZXJDb25maWcoKTogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgcnVsZUlkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiaWRcIikudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJDb25maWdzPy5maW5kKGYgPT4gZi5pZCA9PT0gcnVsZUlkKSBhcyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQURWQU5DRURfRklMVEVSX0lDT05TKVxuICAgICAgICBwdWJsaWMgaWNvbnM6IE5pY2VBZHZhbmNlZEZpbHRlckljb25PcHRpb25zLFxuICAgICAgICBwcml2YXRlIGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWVcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXBOYW1lLmNvbnRyb2wgYXMgR2VuZXJhdGVkRm9ybUdyb3VwPEZpbHRlckZvcm0+O1xuICAgICAgICB0aGlzLnZhbHVlc0Zvcm1BcnJheSA9IHRoaXMuZm9ybUdyb3VwLmdldChcInZhbHVlc1wiKSBhcyBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybVZhbHVlcz47XG5cbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJvcGVyYXRpb25cIik7XG4gICAgICAgIHRoaXMuaXNTaW5nbGVJbnB1dCQgPSBvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgICBtYXAoKG9wZXJhdGlvbikgPT4gIUFkdmFuY2VkRmlsdGVyc1V0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0aW9uKSAmJiAhQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNOb0lucHV0KG9wZXJhdGlvbikpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXNEb3VibGVJbnB1dCQgPSBvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgICBtYXAoKG9wZXJhdGlvbikgPT4gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNEb3VibGVJbnB1dChvcGVyYXRpb24pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblVwZGF0ZUZpbHRlckNvbmZpZyhjb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBydWxlID0gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuY3JlYXRlUnVsZShjb25maWcpO1xuICAgICAgICB0aGlzLnZhbHVlc0Zvcm1BcnJheS5jbGVhcih7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUobmV3IEZpbHRlckZvcm0ocnVsZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRWYWx1ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWVzRm9ybUFycmF5Lmluc2VydChpbmRleCwge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZXNGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZXNGb3JtQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgPGRpdiBjbGFzcz1cImJhc2lzLTgwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWZpbHRlciB3LWZ1bGxcIlxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICBuaWNlQWR2YW5jZWRGaWx0ZXJzVHJpZ2dlclxuICAgICAgICAgICAgb3JpZ2luWD1cInN0YXJ0XCJcbiAgICAgICAgICAgIChhZHZhbmNlZEZpbHRlclNlbGVjdGVkKT1cIm9uVXBkYXRlRmlsdGVyQ29uZmlnKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25maWctbmFtZVwiPnt7IGZpbHRlckNvbmZpZz8ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5hcnJvd0Rvd24uc3ZnSWNvblwiPnt7IGljb25zLmFycm93RG93bi5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGJhc2lzLTQ0IGdhcC00XCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwicnVsZS1mb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cInJ1bGUtb3BlcmF0b3JcIiBmb3JtQ29udHJvbE5hbWU9XCJvcGVyYXRpb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3BlcmF0b3Igb2YgZmlsdGVyQ29uZmlnPy5vcGVyYXRvcnNcIiBbdmFsdWVdPVwib3BlcmF0b3IuaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgb3BlcmF0b3I/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlc0Zvcm1BcnJheS5jb250cm9scy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJjb25kaXRpb24tdG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlICB2YWx1ZT1cImFuZFwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucnVsZS5jb25kaXRpb25zLmFuZFwiIHwgdHJhbnNsYXRlIH19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJvclwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucnVsZS5jb25kaXRpb25zLm9yXCIgfCB0cmFuc2xhdGUgfX08L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gZ2FwLTRcIiBmb3JtQXJyYXlOYW1lPVwidmFsdWVzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiIFtmb3JtR3JvdXBOYW1lXT1cImlcIiAqbmdGb3I9XCJsZXQgXyBvZiB2YWx1ZXNGb3JtQXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydWxlLWNvbnRhaW5lciBmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGZsZXgtYXV0byBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMi41XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2luZ2xlSW5wdXQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmlsdGVyQ29uZmlnPy50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCIgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgW2ZpbHRlckNvbmZpZ109XCJmaWx0ZXJDb25maWdcIj48L25pY2UtYWR2YW5jZWQtdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiPjwvbmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtb3B0aW9ucy1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29wdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckNvbmZpZ109XCJmaWx0ZXJDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC1vcHRpb25zLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvIG1iLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1kYXRlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCI+PC9uaWNlLWFkdmFuY2VkLWRhdGUtZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNEb3VibGVJbnB1dCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWx0ZXJDb25maWc/LnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXRleHQtZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckNvbmZpZ109XCJmaWx0ZXJDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLW51bWJlci1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1vcHRpb25zLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb3B0aW9ucydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLW9wdGlvbnMtZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtcmFkaW8tZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidyYWRpbydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG8gbWItNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb25maWddPVwiZmlsdGVyQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtcmFkaW8tZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb25maWddPVwiZmlsdGVyQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLWRhdGUtZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC1kYXRlLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImFsaWduZWQtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJjb21wb25lbnRzLm5pY2VfYWR2YW5jZWRfZmlsdGVycy5ydWxlLmNvbmRpdGlvbnMuYW5kXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmlsdGVyQ29uZmlnPy50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb25maWddPVwiZmlsdGVyQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWNvbmRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXRleHQtZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtbnVtYmVyLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2Vjb25kVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtb3B0aW9ucy1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29wdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckNvbmZpZ109XCJmaWx0ZXJDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC1vcHRpb25zLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvIG1iLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1kYXRlLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtZGF0ZS1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpcy0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGQtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGRWYWx1ZShpICsgMSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLmFkZC5zdmdJY29uXCI+e3sgaWNvbnMuYWRkLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpcy0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZW1vdmUtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZW1vdmVWYWx1ZShpKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiaWNvbnMuZGVsZXRlLnN2Z0ljb25cIj57eyBpY29ucy5kZWxldGUubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { FilterType } from "../../../../../models/filter.model";
|
|
2
|
+
import { FilterOperatorTypes } from "../../../../../models/query.model";
|
|
3
|
+
export class AdvancedFiltersUtils {
|
|
4
|
+
static { this.noInputOperators = [
|
|
5
|
+
FilterOperatorTypes.IsEmpty,
|
|
6
|
+
FilterOperatorTypes.IsNotEmpty,
|
|
7
|
+
FilterOperatorTypes.IsNull,
|
|
8
|
+
FilterOperatorTypes.IsNotNull,
|
|
9
|
+
FilterOperatorTypes.None
|
|
10
|
+
]; }
|
|
11
|
+
static { this.singleInputOperators = [
|
|
12
|
+
FilterOperatorTypes.Equal,
|
|
13
|
+
FilterOperatorTypes.NotEqual,
|
|
14
|
+
FilterOperatorTypes.Less,
|
|
15
|
+
FilterOperatorTypes.LessOrEqual,
|
|
16
|
+
FilterOperatorTypes.Greater,
|
|
17
|
+
FilterOperatorTypes.GreaterOrEqual,
|
|
18
|
+
FilterOperatorTypes.BeginsWith,
|
|
19
|
+
FilterOperatorTypes.NotBeginsWith,
|
|
20
|
+
FilterOperatorTypes.EndsWith,
|
|
21
|
+
FilterOperatorTypes.NotEndsWith,
|
|
22
|
+
FilterOperatorTypes.Contains,
|
|
23
|
+
FilterOperatorTypes.NotContains
|
|
24
|
+
]; }
|
|
25
|
+
static { this.doubleInputOperators = [
|
|
26
|
+
FilterOperatorTypes.Between,
|
|
27
|
+
FilterOperatorTypes.NotBetween
|
|
28
|
+
]; }
|
|
29
|
+
static isSingleInput(filterOperator) {
|
|
30
|
+
if (!filterOperator) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return AdvancedFiltersUtils.singleInputOperators.includes(filterOperator);
|
|
34
|
+
}
|
|
35
|
+
static isDoubleInput(filterOperator) {
|
|
36
|
+
if (!filterOperator) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return AdvancedFiltersUtils.doubleInputOperators.includes(filterOperator);
|
|
40
|
+
}
|
|
41
|
+
static isNoInput(filterOperator) {
|
|
42
|
+
if (!filterOperator) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return AdvancedFiltersUtils.noInputOperators.includes(filterOperator);
|
|
46
|
+
}
|
|
47
|
+
static createRule(config, operator) {
|
|
48
|
+
const base = {
|
|
49
|
+
id: config.id,
|
|
50
|
+
operation: operator || config.operators[0].id
|
|
51
|
+
};
|
|
52
|
+
switch (config.type) {
|
|
53
|
+
case FilterType.Text:
|
|
54
|
+
return {
|
|
55
|
+
...base,
|
|
56
|
+
value: AdvancedFiltersUtils.isDoubleInput(operator) ? ["", ""] : ""
|
|
57
|
+
};
|
|
58
|
+
case FilterType.Number:
|
|
59
|
+
case FilterType.Select:
|
|
60
|
+
return {
|
|
61
|
+
...base,
|
|
62
|
+
value: AdvancedFiltersUtils.isDoubleInput(operator) ? [null, null] : null
|
|
63
|
+
};
|
|
64
|
+
case FilterType.Date:
|
|
65
|
+
return {
|
|
66
|
+
...base,
|
|
67
|
+
value: AdvancedFiltersUtils.isDoubleInput(operator) ? [new Date(), new Date()] : new Date()
|
|
68
|
+
};
|
|
69
|
+
case FilterType.Radio:
|
|
70
|
+
case FilterType.Options:
|
|
71
|
+
return {
|
|
72
|
+
...base,
|
|
73
|
+
value: AdvancedFiltersUtils.isDoubleInput(operator)
|
|
74
|
+
? [config.options?.[0].key, config.options?.[0].key]
|
|
75
|
+
: config.options?.[0].key
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy91dGlscy9hZHZhbmNlZC1maWx0ZXJzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUYsT0FBTyxFQUFtQixtQkFBbUIsRUFBa0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RyxNQUFNLE9BQU8sb0JBQW9CO2FBQ2YscUJBQWdCLEdBQXNCO1FBQ2hELG1CQUFtQixDQUFDLE9BQU87UUFDM0IsbUJBQW1CLENBQUMsVUFBVTtRQUM5QixtQkFBbUIsQ0FBQyxNQUFNO1FBQzFCLG1CQUFtQixDQUFDLFNBQVM7UUFDN0IsbUJBQW1CLENBQUMsSUFBSTtLQUMzQixDQUFDO2FBRVkseUJBQW9CLEdBQXNCO1FBQ3BELG1CQUFtQixDQUFDLEtBQUs7UUFDekIsbUJBQW1CLENBQUMsUUFBUTtRQUM1QixtQkFBbUIsQ0FBQyxJQUFJO1FBQ3hCLG1CQUFtQixDQUFDLFdBQVc7UUFDL0IsbUJBQW1CLENBQUMsT0FBTztRQUMzQixtQkFBbUIsQ0FBQyxjQUFjO1FBQ2xDLG1CQUFtQixDQUFDLFVBQVU7UUFDOUIsbUJBQW1CLENBQUMsYUFBYTtRQUNqQyxtQkFBbUIsQ0FBQyxRQUFRO1FBQzVCLG1CQUFtQixDQUFDLFdBQVc7UUFDL0IsbUJBQW1CLENBQUMsUUFBUTtRQUM1QixtQkFBbUIsQ0FBQyxXQUFXO0tBQ2xDLENBQUM7YUFFWSx5QkFBb0IsR0FBc0I7UUFDcEQsbUJBQW1CLENBQUMsT0FBTztRQUMzQixtQkFBbUIsQ0FBQyxVQUFVO0tBQ2pDLENBQUM7SUFFSyxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWdDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFnQztRQUN4RCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBZ0M7UUFDcEQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWdDLEVBQUUsUUFBMEI7UUFDakYsTUFBTSxJQUFJLEdBQUc7WUFDVCxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixTQUFTLEVBQUUsUUFBUSxJQUFLLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBc0I7U0FDckUsQ0FBQztRQUNGLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNoQixPQUFPO29CQUNILEdBQUcsSUFBSTtvQkFDUCxLQUFLLEVBQUUsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDdEUsQ0FBQztZQUNOLEtBQUssVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUN2QixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNsQixPQUFPO29CQUNILEdBQUcsSUFBSTtvQkFDUCxLQUFLLEVBQUUsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtpQkFDNUUsQ0FBQztZQUNOLEtBQUssVUFBVSxDQUFDLElBQUk7Z0JBQ2hCLE9BQU87b0JBQ0gsR0FBRyxJQUFJO29CQUNQLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO2lCQUM5RixDQUFDO1lBQ04sS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3RCLEtBQUssVUFBVSxDQUFDLE9BQU87Z0JBQ25CLE9BQU87b0JBQ0gsR0FBRyxJQUFJO29CQUNQLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO3dCQUMvQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7d0JBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztpQkFDaEMsQ0FBQztTQUNUO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyVHlwZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJPcGVyYXRvcnMsIEZpbHRlck9wZXJhdG9yVHlwZXMsIFF1ZXJ5UnVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL21vZGVscy9xdWVyeS5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRGaWx0ZXJzVXRpbHMge1xuICAgIHB1YmxpYyBzdGF0aWMgbm9JbnB1dE9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JzW10gPSBbXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuSXNFbXB0eSxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Jc05vdEVtcHR5LFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLklzTnVsbCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Jc05vdE51bGwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm9uZVxuICAgIF07XG5cbiAgICBwdWJsaWMgc3RhdGljIHNpbmdsZUlucHV0T3BlcmF0b3JzOiBGaWx0ZXJPcGVyYXRvcnNbXSA9IFtcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5FcXVhbCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RFcXVhbCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5MZXNzLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkxlc3NPckVxdWFsLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkdyZWF0ZXIsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuR3JlYXRlck9yRXF1YWwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuQmVnaW5zV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RCZWdpbnNXaXRoLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkVuZHNXaXRoLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vdEVuZHNXaXRoLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkNvbnRhaW5zLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vdENvbnRhaW5zXG4gICAgXTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlSW5wdXRPcGVyYXRvcnM6IEZpbHRlck9wZXJhdG9yc1tdID0gW1xuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkJldHdlZW4sXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm90QmV0d2VlblxuICAgIF07XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzU2luZ2xlSW5wdXQoZmlsdGVyT3BlcmF0b3I/OiBGaWx0ZXJPcGVyYXRvcnMpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFmaWx0ZXJPcGVyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBBZHZhbmNlZEZpbHRlcnNVdGlscy5zaW5nbGVJbnB1dE9wZXJhdG9ycy5pbmNsdWRlcyhmaWx0ZXJPcGVyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0RvdWJsZUlucHV0KGZpbHRlck9wZXJhdG9yPzogRmlsdGVyT3BlcmF0b3JzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZmlsdGVyT3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuZG91YmxlSW5wdXRPcGVyYXRvcnMuaW5jbHVkZXMoZmlsdGVyT3BlcmF0b3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNOb0lucHV0KGZpbHRlck9wZXJhdG9yPzogRmlsdGVyT3BlcmF0b3JzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZmlsdGVyT3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQWR2YW5jZWRGaWx0ZXJzVXRpbHMubm9JbnB1dE9wZXJhdG9ycy5pbmNsdWRlcyhmaWx0ZXJPcGVyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVSdWxlKGNvbmZpZzogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBvcGVyYXRvcj86IEZpbHRlck9wZXJhdG9ycyk6IFF1ZXJ5UnVsZU1vZGVsIHtcbiAgICAgICAgY29uc3QgYmFzZSA9IHtcbiAgICAgICAgICAgIGlkOiBjb25maWcuaWQsXG4gICAgICAgICAgICBvcGVyYXRpb246IG9wZXJhdG9yIHx8IChjb25maWcub3BlcmF0b3JzWzBdLmlkIGFzIEZpbHRlck9wZXJhdG9ycylcbiAgICAgICAgfTtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlRleHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEFkdmFuY2VkRmlsdGVyc1V0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0b3IpID8gW1wiXCIsIFwiXCJdIDogXCJcIlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlNlbGVjdDpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNEb3VibGVJbnB1dChvcGVyYXRvcikgPyBbbnVsbCwgbnVsbF0gOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBBZHZhbmNlZEZpbHRlcnNVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKSA/IFtuZXcgRGF0ZSgpLCBuZXcgRGF0ZSgpXSA6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlJhZGlvOlxuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLk9wdGlvbnM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEFkdmFuY2VkRmlsdGVyc1V0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFtjb25maWcub3B0aW9ucz8uWzBdLmtleSwgY29uZmlnLm9wdGlvbnM/LlswXS5rZXldXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbmZpZy5vcHRpb25zPy5bMF0ua2V5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/common/data.directive.mjs
RENAMED
|
@@ -4,11 +4,11 @@ export class NiceFilterDataDirective {
|
|
|
4
4
|
constructor(template) {
|
|
5
5
|
this.template = template;
|
|
6
6
|
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceFilterDataDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.5", type: NiceFilterDataDirective, selector: "[niceFilterData]", ngImport: i0 }); }
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
NiceFilterDataDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterDataDirective, selector: "[niceFilterData]", ngImport: i0 });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterDataDirective, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceFilterDataDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{ selector: "[niceFilterData]" }]
|
|
13
13
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2NvbW1vbi9kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFHLENBQUM7OEdBRHhDLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogXCJbbmljZUZpbHRlckRhdGFdXCIgfSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuIl19
|
|
@@ -9,14 +9,14 @@ export class NiceFilterCustomDataViewComponent {
|
|
|
9
9
|
this.query = query;
|
|
10
10
|
this.data$ = this.query.selectAll();
|
|
11
11
|
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceFilterCustomDataViewComponent, deps: [{ token: i1.NiceFilterViewQuery }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NiceFilterCustomDataViewComponent, selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
NiceFilterCustomDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterCustomDataViewComponent, selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterCustomDataViewComponent, decorators: [{
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NiceFilterCustomDataViewComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n" }]
|
|
18
18
|
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }]; }, propDecorators: { content: [{
|
|
19
19
|
type: ContentChild,
|
|
20
20
|
args: [NiceFilterDataDirective, { read: TemplateRef }]
|
|
21
21
|
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGEtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2N1c3RvbS1kYXRhLXZpZXcvY3VzdG9tLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2N1c3RvbS1kYXRhLXZpZXcvY3VzdG9tLWRhdGEtdmlldy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVFuRSxNQUFNLE9BQU8saUNBQWlDO0lBTTFDLFlBQW9CLEtBQTBCO1FBQTFCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRnZDLFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRVcsQ0FBQzs4R0FOekMsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsNElBQzVCLHVCQUF1QiwyQkFBVSxXQUFXLDZCQ1g5RCw2SkFHQTs7MkZET2EsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNJLGlFQUFpRSxpQkFHNUQsaUJBQWlCLENBQUMsSUFBSTswR0FJOUIsT0FBTztzQkFEYixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSB9IGZyb20gXCIuLi9jb21tb24vZGF0YS5kaXJlY3RpdmVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1maWx0ZXItY3VzdG9tLWRhdGEtdmlldywgZGl2W25pY2UtZmlsdGVyLWN1c3RvbS1kYXRhLXZpZXddXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiY3VzdG9tLWRhdGEtdmlldy50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJjdXN0b20tZGF0YS12aWV3LnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyQ3VzdG9tRGF0YVZpZXdDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoTmljZUZpbHRlckRhdGFEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBwdWJsaWMgY29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyBkYXRhJCA9IHRoaXMucXVlcnkuc2VsZWN0QWxsKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5KSB7fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGEkIHwgYXN5bmMgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|