@wlcm/angular 18.2.22 → 18.2.24
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/button/esm2022/index.mjs +3 -0
- package/button/esm2022/lib/button.module.mjs +16 -0
- package/button/esm2022/lib/components/button/button.component.mjs +37 -0
- package/button/esm2022/lib/models/button.models.mjs +2 -0
- package/button/esm2022/wlcm-angular-button.mjs +5 -0
- package/button/fesm2022/wlcm-angular-button.mjs +7 -7
- package/button/fesm2022/wlcm-angular-button.mjs.map +1 -1
- package/core/esm2022/index.mjs +17 -0
- package/core/esm2022/lib/components/default-loader/default-loader.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/calendar-icon/calendar-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/chevron-down-icon/chevron-down-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/close-icon/close-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/search-icon/search-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/loader/loader.component.mjs +32 -0
- package/core/esm2022/lib/constants/_index.mjs +3 -0
- package/core/esm2022/lib/constants/http.constants.mjs +6 -0
- package/core/esm2022/lib/constants/icon.contants.mjs +15 -0
- package/core/esm2022/lib/constants/loader.constants.mjs +7 -0
- package/core/esm2022/lib/directives/_index.mjs +2 -0
- package/core/esm2022/lib/directives/icon.directive.mjs +49 -0
- package/core/esm2022/lib/models/_index.mjs +3 -0
- package/core/esm2022/lib/models/icon.models.mjs +7 -0
- package/core/esm2022/lib/models/option.models.mjs +17 -0
- package/core/esm2022/lib/services/scroll-detection.api.mjs +27 -0
- package/core/esm2022/lib/utils/paginated-data-emulator.utils.mjs +20 -0
- package/core/esm2022/lib/utils/stream.utils.mjs +16 -0
- package/core/esm2022/wlcm-angular-core.mjs +5 -0
- package/core/fesm2022/wlcm-angular-core.mjs +24 -24
- package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
- package/datepicker/esm2022/index.mjs +14 -0
- package/datepicker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +63 -0
- package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +87 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +19 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +126 -0
- package/datepicker/esm2022/lib/components/range/double-calendar-range-picker/double-calendar-range-picker.component.mjs +168 -0
- package/datepicker/esm2022/lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component.mjs +95 -0
- package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +92 -0
- package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +33 -0
- package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +23 -0
- package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +5 -0
- package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
- package/datepicker/esm2022/lib/directives/calendar.directive.mjs +15 -0
- package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +103 -0
- package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +105 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +81 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +81 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +58 -0
- package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +51 -0
- package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +64 -0
- package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
- package/datepicker/esm2022/lib/models/date-picker.models.mjs +29 -0
- package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +61 -0
- package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +27 -0
- package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
- package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
- package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
- package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +63 -63
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
- package/datepicker/lib/directives/datepicker-input.base.d.ts +1 -1
- package/datepicker/lib/directives/datepicker-trigger.base.d.ts +1 -1
- package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +1 -1
- package/datepicker/lib/models/range/data-range-calendar.models.d.ts +1 -1
- package/filters/esm2022/index.mjs +6 -0
- package/filters/esm2022/lib/components/filters-group/filters-group.component.mjs +13 -0
- package/filters/esm2022/lib/constants/filter.constants.mjs +3 -0
- package/filters/esm2022/lib/constants/index.mjs +2 -0
- package/filters/esm2022/lib/directives/filter.directive.mjs +11 -0
- package/filters/esm2022/lib/directives/index.mjs +2 -0
- package/filters/esm2022/lib/filters.module.mjs +20 -0
- package/filters/esm2022/lib/models/array-filter.models.mjs +73 -0
- package/filters/esm2022/lib/models/filter.models.mjs +39 -0
- package/filters/esm2022/lib/models/filters-group.models.mjs +60 -0
- package/filters/esm2022/lib/models/index.mjs +4 -0
- package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
- package/filters/fesm2022/wlcm-angular-filters.mjs +13 -13
- package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -1
- package/filters/lib/models/filters-group.models.d.ts +1 -1
- package/forms/esm2022/index.mjs +13 -0
- package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +243 -0
- package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +85 -0
- package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +87 -0
- package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
- package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +137 -0
- package/forms/esm2022/lib/forms/components/index.mjs +9 -0
- package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
- package/forms/esm2022/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.mjs +19 -0
- package/forms/esm2022/lib/forms/components/partials/index.mjs +2 -0
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +330 -0
- package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
- package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
- package/forms/esm2022/lib/forms/constants/form-field.constants.mjs +2 -0
- package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
- package/forms/esm2022/lib/forms/constants/index.mjs +6 -0
- package/forms/esm2022/lib/forms/constants/select.constants.mjs +3 -0
- package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +64 -0
- package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
- package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
- package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +22 -0
- package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
- package/forms/esm2022/lib/forms/directives/input.directive.mjs +47 -0
- package/forms/esm2022/lib/forms/directives/select-input-binder.directive.mjs +33 -0
- package/forms/esm2022/lib/forms/forms.module.mjs +64 -0
- package/forms/esm2022/lib/forms/models/_index.mjs +6 -0
- package/forms/esm2022/lib/forms/models/autocomplete.models.mjs +10 -0
- package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/select.models.mjs +2 -0
- package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
- package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
- package/forms/esm2022/lib/forms/services/index.mjs +3 -0
- package/forms/esm2022/lib/forms/services/places.api.mjs +62 -0
- package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
- package/forms/fesm2022/wlcm-angular-forms.mjs +76 -67
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/components/select/select.component.d.ts +1 -0
- package/forms/lib/forms/models/autocomplete.models.d.ts +1 -1
- package/package.json +1 -1
- package/phone-input/esm2022/index.mjs +5 -0
- package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +32 -0
- package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +107 -0
- package/phone-input/esm2022/lib/constants/country-code-options.constants.mjs +20 -0
- package/phone-input/esm2022/lib/constants/phone-adapter.constants.mjs +3 -0
- package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +155 -0
- package/phone-input/esm2022/lib/models/country-code.models.mjs +10 -0
- package/phone-input/esm2022/lib/models/phone-adapter.models.mjs +3 -0
- package/phone-input/esm2022/lib/models/phone.models.mjs +5 -0
- package/phone-input/esm2022/lib/phone-input.module.mjs +20 -0
- package/phone-input/esm2022/lib/pipes/phone-code.pipe.mjs +18 -0
- package/phone-input/esm2022/wlcm-angular-phone-input.mjs +5 -0
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +16 -16
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
- package/search-field/esm2022/index.mjs +3 -0
- package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +39 -0
- package/search-field/esm2022/lib/search-field.module.mjs +18 -0
- package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
- package/search-field/fesm2022/wlcm-angular-search-field.mjs +7 -7
- package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
- package/stepper/esm2022/index.mjs +11 -0
- package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
- package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
- package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
- package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
- package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
- package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
- package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
- package/stepper/esm2022/lib/models/step.models.mjs +60 -0
- package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
- package/stepper/esm2022/lib/stepper.module.mjs +34 -0
- package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
- package/stepper/fesm2022/wlcm-angular-stepper.mjs +25 -25
- package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -1
- package/stepper/lib/models/step.models.d.ts +1 -1
- package/stepper/lib/models/stepper.models.d.ts +1 -1
- package/table/esm2022/index.mjs +9 -0
- package/table/esm2022/lib/components/table/table.component.mjs +79 -0
- package/table/esm2022/lib/components/table-head/table-head.component.mjs +18 -0
- package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +41 -0
- package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +87 -0
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +12 -0
- package/table/esm2022/lib/constants/table-row.constants.mjs +3 -0
- package/table/esm2022/lib/constants/table.constants.mjs +5 -0
- package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +46 -0
- package/table/esm2022/lib/models/table-config-manager.models.mjs +18 -0
- package/table/esm2022/lib/models/table-row.models.mjs +2 -0
- package/table/esm2022/lib/models/table-selection-model.mjs +48 -0
- package/table/esm2022/lib/models/table.models.mjs +2 -0
- package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +24 -0
- package/table/esm2022/lib/table.module.mjs +38 -0
- package/table/esm2022/lib/utils/table-errors.utils.mjs +6 -0
- package/table/esm2022/wlcm-angular-table.mjs +5 -0
- package/table/fesm2022/wlcm-angular-table.mjs +34 -34
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
@@ -29,5 +29,5 @@ export declare abstract class WlcmDatepickerInputBase implements ControlValueAcc
|
|
29
29
|
protected get currentValue(): string;
|
30
30
|
protected updateInputValue(value: Date | null): void;
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerInputBase, never>;
|
32
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerInputBase, never, never, {}, {}, never, never,
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerInputBase, never, never, {}, {}, never, never, false, never>;
|
33
33
|
}
|
@@ -29,5 +29,5 @@ export declare abstract class WlcmDatepickerTrigger<T, D = Date> {
|
|
29
29
|
private updatePositionStrategy;
|
30
30
|
private createOverlayConfig;
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerTrigger<any, any>, never>;
|
32
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerTrigger<any, any>, never, never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "selectOnly": { "alias": "selectOnly"; "required": false; "isSignal": true; }; }, {}, never, never,
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerTrigger<any, any>, never, never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "selectOnly": { "alias": "selectOnly"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
33
33
|
}
|
@@ -19,5 +19,5 @@ export declare abstract class WlcmDateRangePickerInputBase extends WlcmDatepicke
|
|
19
19
|
private createInputMirror;
|
20
20
|
private copyInputElementStyles;
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangePickerInputBase, never>;
|
22
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDateRangePickerInputBase, never, never, {}, {}, never, never,
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDateRangePickerInputBase, never, never, {}, {}, never, never, false, never>;
|
23
23
|
}
|
@@ -21,5 +21,5 @@ export declare class WlcmDataRangeCalendar {
|
|
21
21
|
nextYear(): void;
|
22
22
|
handleConfigValues(): void;
|
23
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDataRangeCalendar, never>;
|
24
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDataRangeCalendar, never, never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; "viewChange": "viewChange"; }, never, never,
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDataRangeCalendar, never, never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; "viewChange": "viewChange"; }, never, never, false, never>;
|
25
25
|
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export * from './lib/models';
|
2
|
+
export * from './lib/constants';
|
3
|
+
export * from './lib/directives';
|
4
|
+
export * from './lib/filters.module';
|
5
|
+
export { FiltersGroupComponent } from './lib/components/filters-group/filters-group.component';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlcnMubW9kdWxlJztcblxuZXhwb3J0IHsgRmlsdGVyc0dyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWx0ZXJzLWdyb3VwL2ZpbHRlcnMtZ3JvdXAuY29tcG9uZW50JztcbiJdfQ==
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Component, forwardRef } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { WlcmFiltersGroup } from '../../models/filters-group.models';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class FiltersGroupComponent extends WlcmFiltersGroup {
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FiltersGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: FiltersGroupComponent, isStandalone: true, selector: "wlcm-filters-group", host: { classAttribute: "wlcm-filters-group" }, providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[wlcmFilter]\"></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
8
|
+
}
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FiltersGroupComponent, decorators: [{
|
10
|
+
type: Component,
|
11
|
+
args: [{ selector: 'wlcm-filters-group', standalone: true, imports: [CommonModule], host: { class: 'wlcm-filters-group' }, providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }], template: "<ng-content select=\"[wlcmFilter]\"></ng-content>\n", styles: [":host{display:block}\n"] }]
|
12
|
+
}] });
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMtZ3JvdXAvZmlsdGVycy1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMtZ3JvdXAvZmlsdGVycy1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBV3JFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7OEdBQTlDLHFCQUFxQjtrR0FBckIscUJBQXFCLGlIQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLGlEQ1hsRyxxREFDQSwrRURNWSxZQUFZOzsyRkFNWCxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxRQUNqQixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxhQUcxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFdsY21GaWx0ZXJzR3JvdXAgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVycy1ncm91cC5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLWZpbHRlcnMtZ3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tZmlsdGVycy1ncm91cCcgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcnMtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsdGVycy1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogV2xjbUZpbHRlcnNHcm91cCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyc0dyb3VwQ29tcG9uZW50KSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0dyb3VwQ29tcG9uZW50IGV4dGVuZHMgV2xjbUZpbHRlcnNHcm91cCB7fVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3dsY21GaWx0ZXJdXCI+PC9uZy1jb250ZW50PlxuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const WLCM_FILTER = new InjectionToken('WLCM_FILTER');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZmlsdGVycy9zcmMvbGliL2NvbnN0YW50cy9maWx0ZXIuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUErQixJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtRmlsdGVyIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci5tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgV0xDTV9GSUxURVI6IEluamVjdGlvblRva2VuPFdsY21GaWx0ZXI+ID0gbmV3IEluamVjdGlvblRva2VuKCdXTENNX0ZJTFRFUicpO1xuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './filter.constants';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLmNvbnN0YW50cyc7XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class FilterDirective {
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: FilterDirective, isStandalone: true, selector: "[wlcmFilter]", ngImport: i0 }); }
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterDirective, decorators: [{
|
8
|
+
type: Directive,
|
9
|
+
args: [{ selector: '[wlcmFilter]', standalone: true }]
|
10
|
+
}] });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZmlsdGVycy9zcmMvbGliL2RpcmVjdGl2ZXMvZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3dsY21GaWx0ZXJdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRpcmVjdGl2ZSB7fVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './filter.directive';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci5kaXJlY3RpdmUnO1xuIl19
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { FiltersGroupComponent } from './components/filters-group/filters-group.component';
|
4
|
+
import { FilterDirective } from './directives/filter.directive';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
const publicComponents = [FiltersGroupComponent];
|
7
|
+
const publicDirectives = [FilterDirective];
|
8
|
+
export class WlcmFiltersModule {
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, imports: [CommonModule, FiltersGroupComponent, FilterDirective], exports: [FiltersGroupComponent, FilterDirective] }); }
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, imports: [CommonModule, publicComponents] }); }
|
12
|
+
}
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, decorators: [{
|
14
|
+
type: NgModule,
|
15
|
+
args: [{
|
16
|
+
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
17
|
+
exports: [...publicComponents, ...publicDirectives],
|
18
|
+
}]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRWhFLE1BQU0sZ0JBQWdCLEdBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUVsRSxNQUFNLGdCQUFnQixHQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBTTVELE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBSGxCLFlBQVksRUFMbUIscUJBQXFCLEVBRXJCLGVBQWUsYUFGZixxQkFBcUIsRUFFckIsZUFBZTsrR0FNN0MsaUJBQWlCLFlBSGxCLFlBQVksRUFBSyxnQkFBZ0I7OzJGQUdoQyxpQkFBaUI7a0JBSjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztvQkFDakUsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGaWx0ZXJzR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVycy1ncm91cC9maWx0ZXJzLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmlsdGVyLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IHB1YmxpY0NvbXBvbmVudHM6IFR5cGU8dW5rbm93bj5bXSA9IFtGaWx0ZXJzR3JvdXBDb21wb25lbnRdO1xuXG5jb25zdCBwdWJsaWNEaXJlY3RpdmVzOiBUeXBlPHVua25vd24+W10gPSBbRmlsdGVyRGlyZWN0aXZlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgLi4ucHVibGljQ29tcG9uZW50cywgLi4ucHVibGljRGlyZWN0aXZlc10sXG4gIGV4cG9ydHM6IFsuLi5wdWJsaWNDb21wb25lbnRzLCAuLi5wdWJsaWNEaXJlY3RpdmVzXSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbUZpbHRlcnNNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { WlcmFilter } from './filter.models';
|
2
|
+
export class WlcmArrayFilter extends WlcmFilter {
|
3
|
+
constructor() {
|
4
|
+
super();
|
5
|
+
this.prepareValue();
|
6
|
+
}
|
7
|
+
get initialValue() {
|
8
|
+
return new Map();
|
9
|
+
}
|
10
|
+
getAppliedFilters() {
|
11
|
+
if (!this.value)
|
12
|
+
return [];
|
13
|
+
return Array.from(this.value.values());
|
14
|
+
}
|
15
|
+
prepareValueForCache(value) {
|
16
|
+
if (!value)
|
17
|
+
return null;
|
18
|
+
return new Map(value);
|
19
|
+
}
|
20
|
+
computeSize(value) {
|
21
|
+
return value.size;
|
22
|
+
}
|
23
|
+
selectId(value) {
|
24
|
+
return value;
|
25
|
+
}
|
26
|
+
contains(value) {
|
27
|
+
if (!this.value)
|
28
|
+
return false;
|
29
|
+
return this.value.has(this.selectId(value));
|
30
|
+
}
|
31
|
+
addOne(value) {
|
32
|
+
this.prepareValue();
|
33
|
+
this.value = this.value.set(this.selectId(value), value);
|
34
|
+
}
|
35
|
+
addMany(values) {
|
36
|
+
this.prepareValue();
|
37
|
+
const currentValue = this.value;
|
38
|
+
values.forEach((value) => currentValue.set(this.selectId(value), value));
|
39
|
+
this.value = currentValue;
|
40
|
+
}
|
41
|
+
setAll(values) {
|
42
|
+
const newValue = new Map();
|
43
|
+
values.forEach((value) => newValue.set(this.selectId(value), value));
|
44
|
+
this.value = newValue;
|
45
|
+
}
|
46
|
+
removeOne(value) {
|
47
|
+
this.prepareValue();
|
48
|
+
const currentValue = this.value;
|
49
|
+
currentValue.delete(this.selectId(value));
|
50
|
+
this.value = currentValue;
|
51
|
+
}
|
52
|
+
removeAll() {
|
53
|
+
this.value = new Map();
|
54
|
+
}
|
55
|
+
toggle(value) {
|
56
|
+
this.prepareValue();
|
57
|
+
const currentValue = this.value;
|
58
|
+
const id = this.selectId(value);
|
59
|
+
if (currentValue.has(id)) {
|
60
|
+
currentValue.delete(id);
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
currentValue.set(id, value);
|
64
|
+
}
|
65
|
+
this.value = currentValue;
|
66
|
+
}
|
67
|
+
prepareValue() {
|
68
|
+
if (this.value instanceof Map)
|
69
|
+
return;
|
70
|
+
this.value = new Map();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZmlsdGVyLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZmlsdGVycy9zcmMvbGliL21vZGVscy9hcnJheS1maWx0ZXIubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk3QyxNQUFNLE9BQWdCLGVBQTRCLFNBQVEsVUFBa0M7SUFDMUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBYSxZQUFZO1FBQ3ZCLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBTyxDQUFDO1FBRWhDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVRLG9CQUFvQixDQUFDLEtBQWlDO1FBQzdELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRVEsV0FBVyxDQUFDLEtBQTBCO1FBQzdDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVE7UUFDZixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBUTtRQUNiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxLQUE2QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBVztRQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsTUFBTSxZQUFZLEdBQXdCLElBQUksQ0FBQyxLQUE0QixDQUFDO1FBRTVFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixNQUFNLFFBQVEsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVoRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLE1BQU0sWUFBWSxHQUF3QixJQUFJLENBQUMsS0FBNEIsQ0FBQztRQUU1RSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsTUFBTSxZQUFZLEdBQXdCLElBQUksQ0FBQyxLQUE0QixDQUFDO1FBRTVFLE1BQU0sRUFBRSxHQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztJQUM1QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksR0FBRztZQUFFLE9BQU87UUFFdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdsY21GaWx0ZXIgfSBmcm9tICcuL2ZpbHRlci5tb2RlbHMnO1xuXG50eXBlIEFycmF5RmlsdGVyVmFsdWU8VD4gPSBNYXA8dW5rbm93biwgVD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXbGNtQXJyYXlGaWx0ZXI8VCwgTyA9IFRbXT4gZXh0ZW5kcyBXbGNtRmlsdGVyPEFycmF5RmlsdGVyVmFsdWU8VD4sIE8+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucHJlcGFyZVZhbHVlKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgaW5pdGlhbFZhbHVlKCk6IEFycmF5RmlsdGVyVmFsdWU8VD4ge1xuICAgIHJldHVybiBuZXcgTWFwKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRBcHBsaWVkRmlsdGVycygpOiBPIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHJldHVybiBbXSBhcyBPO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy52YWx1ZS52YWx1ZXMoKSkgYXMgTztcbiAgfVxuXG4gIG92ZXJyaWRlIHByZXBhcmVWYWx1ZUZvckNhY2hlKHZhbHVlOiBBcnJheUZpbHRlclZhbHVlPFQ+IHwgbnVsbCk6IEFycmF5RmlsdGVyVmFsdWU8VD4gfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBuZXcgTWFwKHZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvbXB1dGVTaXplKHZhbHVlOiBBcnJheUZpbHRlclZhbHVlPFQ+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHNlbGVjdElkKHZhbHVlOiBUKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgY29udGFpbnModmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlLmhhcyh0aGlzLnNlbGVjdElkKHZhbHVlKSk7XG4gIH1cblxuICBhZGRPbmUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnByZXBhcmVWYWx1ZSgpO1xuXG4gICAgdGhpcy52YWx1ZSA9ICh0aGlzLnZhbHVlIGFzIEFycmF5RmlsdGVyVmFsdWU8VD4pLnNldCh0aGlzLnNlbGVjdElkKHZhbHVlKSwgdmFsdWUpO1xuICB9XG5cbiAgYWRkTWFueSh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMucHJlcGFyZVZhbHVlKCk7XG5cbiAgICBjb25zdCBjdXJyZW50VmFsdWU6IEFycmF5RmlsdGVyVmFsdWU8VD4gPSB0aGlzLnZhbHVlIGFzIEFycmF5RmlsdGVyVmFsdWU8VD47XG5cbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWU6IFQpID0+IGN1cnJlbnRWYWx1ZS5zZXQodGhpcy5zZWxlY3RJZCh2YWx1ZSksIHZhbHVlKSk7XG5cbiAgICB0aGlzLnZhbHVlID0gY3VycmVudFZhbHVlO1xuICB9XG5cbiAgc2V0QWxsKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWU6IEFycmF5RmlsdGVyVmFsdWU8VD4gPSBuZXcgTWFwKCk7XG5cbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWU6IFQpID0+IG5ld1ZhbHVlLnNldCh0aGlzLnNlbGVjdElkKHZhbHVlKSwgdmFsdWUpKTtcblxuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgfVxuXG4gIHJlbW92ZU9uZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMucHJlcGFyZVZhbHVlKCk7XG5cbiAgICBjb25zdCBjdXJyZW50VmFsdWU6IEFycmF5RmlsdGVyVmFsdWU8VD4gPSB0aGlzLnZhbHVlIGFzIEFycmF5RmlsdGVyVmFsdWU8VD47XG5cbiAgICBjdXJyZW50VmFsdWUuZGVsZXRlKHRoaXMuc2VsZWN0SWQodmFsdWUpKTtcblxuICAgIHRoaXMudmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gIH1cblxuICByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ldyBNYXAoKTtcbiAgfVxuXG4gIHRvZ2dsZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMucHJlcGFyZVZhbHVlKCk7XG5cbiAgICBjb25zdCBjdXJyZW50VmFsdWU6IEFycmF5RmlsdGVyVmFsdWU8VD4gPSB0aGlzLnZhbHVlIGFzIEFycmF5RmlsdGVyVmFsdWU8VD47XG5cbiAgICBjb25zdCBpZDogdW5rbm93biA9IHRoaXMuc2VsZWN0SWQodmFsdWUpO1xuXG4gICAgaWYgKGN1cnJlbnRWYWx1ZS5oYXMoaWQpKSB7XG4gICAgICBjdXJyZW50VmFsdWUuZGVsZXRlKGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudFZhbHVlLnNldChpZCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIE1hcCkgcmV0dXJuO1xuXG4gICAgdGhpcy52YWx1ZSA9IG5ldyBNYXAoKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
2
|
+
export class WlcmFilter {
|
3
|
+
constructor() {
|
4
|
+
this._cachedValue = null;
|
5
|
+
this._size$ = new BehaviorSubject(0);
|
6
|
+
this.size$ = this._size$.asObservable();
|
7
|
+
this._value$ = new BehaviorSubject(this.initialValue);
|
8
|
+
this.value$ = this._value$.asObservable();
|
9
|
+
}
|
10
|
+
reset() {
|
11
|
+
this.value = this.initialValue;
|
12
|
+
}
|
13
|
+
cacheValue() {
|
14
|
+
this._cachedValue = this.prepareValueForCache(this.value);
|
15
|
+
}
|
16
|
+
restoreCachedValue() {
|
17
|
+
this.value = this._cachedValue;
|
18
|
+
}
|
19
|
+
prepareValueForCache(value) {
|
20
|
+
return value;
|
21
|
+
}
|
22
|
+
getAppliedFilters() {
|
23
|
+
return this.value;
|
24
|
+
}
|
25
|
+
get initialValue() {
|
26
|
+
return null;
|
27
|
+
}
|
28
|
+
get size() {
|
29
|
+
return this._size$.value;
|
30
|
+
}
|
31
|
+
get value() {
|
32
|
+
return this._value$.value;
|
33
|
+
}
|
34
|
+
set value(data) {
|
35
|
+
this._value$.next(data);
|
36
|
+
this._size$.next(this.computeSize(data));
|
37
|
+
}
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZmlsdGVycy9zcmMvbGliL21vZGVscy9maWx0ZXIubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsTUFBTSxPQUFnQixVQUFVO0lBQWhDO1FBQ1UsaUJBQVksR0FBYSxJQUFJLENBQUM7UUFFckIsV0FBTSxHQUE0QixJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRSxVQUFLLEdBQXVCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFL0MsWUFBTyxHQUE4QixJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFOUYsV0FBTSxHQUF5QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBMkN0RSxDQUFDO0lBckNDLEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWU7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdsY21GaWx0ZXI8VCA9IHVua25vd24sIE8gPSBUPiB7XG4gIHByaXZhdGUgX2NhY2hlZFZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2l6ZSQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICByZWFkb25seSBzaXplJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fc2l6ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWUkOiBCZWhhdmlvclN1YmplY3Q8VCB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD4odGhpcy5pbml0aWFsVmFsdWUpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJDogT2JzZXJ2YWJsZTxUIHwgbnVsbD4gPSB0aGlzLl92YWx1ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgYWJzdHJhY3QgZ2V0IGtleSgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgY29tcHV0ZVNpemUodmFsdWU6IFQgfCBudWxsKTogbnVtYmVyO1xuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZTtcbiAgfVxuXG4gIGNhY2hlVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FjaGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvckNhY2hlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcmVzdG9yZUNhY2hlZFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9jYWNoZWRWYWx1ZTtcbiAgfVxuXG4gIHByZXBhcmVWYWx1ZUZvckNhY2hlKHZhbHVlOiBUIHwgbnVsbCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBnZXRBcHBsaWVkRmlsdGVycygpOiBPIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBPO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxWYWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaXplJC52YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC52YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZShkYXRhOiBUIHwgbnVsbCkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KGRhdGEpO1xuXG4gICAgdGhpcy5fc2l6ZSQubmV4dCh0aGlzLmNvbXB1dGVTaXplKGRhdGEpKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { ContentChildren, Directive, QueryList } from '@angular/core';
|
3
|
+
import { BehaviorSubject, combineLatest, map, startWith, switchMap } from 'rxjs';
|
4
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
5
|
+
import { WLCM_FILTER } from '../constants/filter.constants';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
let WlcmFiltersGroup = class WlcmFiltersGroup {
|
8
|
+
constructor() {
|
9
|
+
this._size$ = new BehaviorSubject(0);
|
10
|
+
this.size$ = this._size$.asObservable();
|
11
|
+
}
|
12
|
+
ngAfterContentInit() {
|
13
|
+
this.handleFiltersListChange();
|
14
|
+
}
|
15
|
+
resetAll() {
|
16
|
+
this.filters.forEach((filter) => filter.reset());
|
17
|
+
}
|
18
|
+
getAppliedFilters() {
|
19
|
+
const appliedFilters = {};
|
20
|
+
this.filters.forEach((filter) => {
|
21
|
+
appliedFilters[filter.key] = filter.getAppliedFilters();
|
22
|
+
});
|
23
|
+
return appliedFilters;
|
24
|
+
}
|
25
|
+
cacheValues() {
|
26
|
+
this.filters.forEach((filter) => filter.cacheValue());
|
27
|
+
}
|
28
|
+
restoreCachedValues() {
|
29
|
+
this.filters.forEach((filter) => filter.restoreCachedValue());
|
30
|
+
}
|
31
|
+
get size() {
|
32
|
+
return this._size$.value;
|
33
|
+
}
|
34
|
+
handleFiltersListChange() {
|
35
|
+
this.filters.changes
|
36
|
+
.pipe(untilDestroyed(this))
|
37
|
+
.pipe(startWith(this.filters))
|
38
|
+
.pipe(switchMap((filters) => this.handleSizeChange(filters.toArray())))
|
39
|
+
.subscribe();
|
40
|
+
}
|
41
|
+
handleSizeChange(list) {
|
42
|
+
return combineLatest(list.map((filter) => filter.size$)).pipe(map((sizes) => {
|
43
|
+
this._size$.next(sizes.reduce((a, b) => a + b, 0));
|
44
|
+
return list;
|
45
|
+
}));
|
46
|
+
}
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFiltersGroup, queries: [{ propertyName: "filters", predicate: WLCM_FILTER, descendants: true }], ngImport: i0 }); }
|
49
|
+
};
|
50
|
+
WlcmFiltersGroup = __decorate([
|
51
|
+
UntilDestroy()
|
52
|
+
], WlcmFiltersGroup);
|
53
|
+
export { WlcmFiltersGroup };
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersGroup, decorators: [{
|
55
|
+
type: Directive
|
56
|
+
}], propDecorators: { filters: [{
|
57
|
+
type: ContentChildren,
|
58
|
+
args: [WLCM_FILTER, { descendants: true }]
|
59
|
+
}] } });
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1ncm91cC5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9tb2RlbHMvZmlsdGVycy1ncm91cC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBT3JELElBQWUsZ0JBQWdCLEdBQS9CLE1BQWUsZ0JBQWdCO0lBQS9CO1FBQ1ksV0FBTSxHQUE0QixJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRSxVQUFLLEdBQXVCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7S0FtRGpFO0lBL0NDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sY0FBYyxHQUF1QixFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7WUFDMUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzthQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3RixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBa0I7UUFDekMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVuRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXJEbUIsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isa0RBS25CLFdBQVc7O0FBTFIsZ0JBQWdCO0lBRnJDLFlBQVksRUFBRTtHQUVPLGdCQUFnQixDQXNEckM7OzJGQXREcUIsZ0JBQWdCO2tCQURyQyxTQUFTOzhCQU11RCxPQUFPO3NCQUFyRSxlQUFlO3VCQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV0xDTV9GSUxURVIgfSBmcm9tICcuLi9jb25zdGFudHMvZmlsdGVyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXIubW9kZWxzJztcblxuZXhwb3J0IHR5cGUgV2xjbUFwcGxpZWRGaWx0ZXJzID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbUZpbHRlcnNHcm91cCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zaXplJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuXG4gIHJlYWRvbmx5IHNpemUkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLl9zaXplJC5hc09ic2VydmFibGUoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFdMQ01fRklMVEVSLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHByb3RlY3RlZCBmaWx0ZXJzITogUXVlcnlMaXN0PFdsY21GaWx0ZXI+O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUZpbHRlcnNMaXN0Q2hhbmdlKCk7XG4gIH1cblxuICByZXNldEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBXbGNtRmlsdGVyKSA9PiBmaWx0ZXIucmVzZXQoKSk7XG4gIH1cblxuICBnZXRBcHBsaWVkRmlsdGVycygpOiBXbGNtQXBwbGllZEZpbHRlcnMge1xuICAgIGNvbnN0IGFwcGxpZWRGaWx0ZXJzOiBXbGNtQXBwbGllZEZpbHRlcnMgPSB7fTtcblxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKChmaWx0ZXI6IFdsY21GaWx0ZXIpID0+IHtcbiAgICAgIGFwcGxpZWRGaWx0ZXJzW2ZpbHRlci5rZXldID0gZmlsdGVyLmdldEFwcGxpZWRGaWx0ZXJzKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXBwbGllZEZpbHRlcnM7XG4gIH1cblxuICBjYWNoZVZhbHVlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBXbGNtRmlsdGVyKSA9PiBmaWx0ZXIuY2FjaGVWYWx1ZSgpKTtcbiAgfVxuXG4gIHJlc3RvcmVDYWNoZWRWYWx1ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcjogV2xjbUZpbHRlcikgPT4gZmlsdGVyLnJlc3RvcmVDYWNoZWRWYWx1ZSgpKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemUkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGaWx0ZXJzTGlzdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnMuY2hhbmdlc1xuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5maWx0ZXJzKSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoZmlsdGVyczogUXVlcnlMaXN0PFdsY21GaWx0ZXI+KSA9PiB0aGlzLmhhbmRsZVNpemVDaGFuZ2UoZmlsdGVycy50b0FycmF5KCkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2l6ZUNoYW5nZShsaXN0OiBXbGNtRmlsdGVyW10pOiBPYnNlcnZhYmxlPFdsY21GaWx0ZXJbXT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGxpc3QubWFwKChmaWx0ZXI6IFdsY21GaWx0ZXIpID0+IGZpbHRlci5zaXplJCkpLnBpcGUoXG4gICAgICBtYXAoKHNpemVzOiBudW1iZXJbXSkgPT4ge1xuICAgICAgICB0aGlzLl9zaXplJC5uZXh0KHNpemVzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApKTtcblxuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './filter.models';
|
2
|
+
export * from './array-filter.models';
|
3
|
+
export * from './filters-group.models';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS1maWx0ZXIubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy1ncm91cC5tb2RlbHMnO1xuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2xjbS1hbmd1bGFyLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2ZpbHRlcnMvc3JjL3dsY20tYW5ndWxhci1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -157,13 +157,13 @@ let WlcmFiltersGroup = class WlcmFiltersGroup {
|
|
157
157
|
return list;
|
158
158
|
}));
|
159
159
|
}
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
161
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
161
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFiltersGroup, queries: [{ propertyName: "filters", predicate: WLCM_FILTER, descendants: true }], ngImport: i0 }); }
|
162
162
|
};
|
163
163
|
WlcmFiltersGroup = __decorate([
|
164
164
|
UntilDestroy()
|
165
165
|
], WlcmFiltersGroup);
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersGroup, decorators: [{
|
167
167
|
type: Directive
|
168
168
|
}], propDecorators: { filters: [{
|
169
169
|
type: ContentChildren,
|
@@ -171,19 +171,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
171
171
|
}] } });
|
172
172
|
|
173
173
|
class FilterDirective {
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
175
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
175
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: FilterDirective, isStandalone: true, selector: "[wlcmFilter]", ngImport: i0 }); }
|
176
176
|
}
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterDirective, decorators: [{
|
178
178
|
type: Directive,
|
179
179
|
args: [{ selector: '[wlcmFilter]', standalone: true }]
|
180
180
|
}] });
|
181
181
|
|
182
182
|
class FiltersGroupComponent extends WlcmFiltersGroup {
|
183
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
184
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FiltersGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
184
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: FiltersGroupComponent, isStandalone: true, selector: "wlcm-filters-group", host: { classAttribute: "wlcm-filters-group" }, providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[wlcmFilter]\"></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
185
185
|
}
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FiltersGroupComponent, decorators: [{
|
187
187
|
type: Component,
|
188
188
|
args: [{ selector: 'wlcm-filters-group', standalone: true, imports: [CommonModule], host: { class: 'wlcm-filters-group' }, providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }], template: "<ng-content select=\"[wlcmFilter]\"></ng-content>\n", styles: [":host{display:block}\n"] }]
|
189
189
|
}] });
|
@@ -191,11 +191,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
191
191
|
const publicComponents = [FiltersGroupComponent];
|
192
192
|
const publicDirectives = [FilterDirective];
|
193
193
|
class WlcmFiltersModule {
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
195
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
196
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
195
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, imports: [CommonModule, FiltersGroupComponent, FilterDirective], exports: [FiltersGroupComponent, FilterDirective] }); }
|
196
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, imports: [CommonModule, publicComponents] }); }
|
197
197
|
}
|
198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFiltersModule, decorators: [{
|
199
199
|
type: NgModule,
|
200
200
|
args: [{
|
201
201
|
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wlcm-angular-filters.mjs","sources":["../../../../modules/filters/src/lib/models/filter.models.ts","../../../../modules/filters/src/lib/models/array-filter.models.ts","../../../../modules/filters/src/lib/constants/filter.constants.ts","../../../../modules/filters/src/lib/models/filters-group.models.ts","../../../../modules/filters/src/lib/directives/filter.directive.ts","../../../../modules/filters/src/lib/components/filters-group/filters-group.component.ts","../../../../modules/filters/src/lib/components/filters-group/filters-group.component.html","../../../../modules/filters/src/lib/filters.module.ts","../../../../modules/filters/src/wlcm-angular-filters.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\n\nexport abstract class WlcmFilter<T = unknown, O = T> {\n private _cachedValue: T | null = null;\n\n private readonly _size$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly size$: Observable<number> = this._size$.asObservable();\n\n private readonly _value$: BehaviorSubject<T | null> = new BehaviorSubject<T | null>(this.initialValue);\n\n readonly value$: Observable<T | null> = this._value$.asObservable();\n\n abstract get key(): string;\n\n abstract computeSize(value: T | null): number;\n\n reset(): void {\n this.value = this.initialValue;\n }\n\n cacheValue(): void {\n this._cachedValue = this.prepareValueForCache(this.value);\n }\n\n restoreCachedValue(): void {\n this.value = this._cachedValue;\n }\n\n prepareValueForCache(value: T | null): T | null {\n return value;\n }\n\n getAppliedFilters(): O {\n return this.value as O;\n }\n\n get initialValue(): T | null {\n return null;\n }\n\n get size(): number {\n return this._size$.value;\n }\n\n get value(): T | null {\n return this._value$.value;\n }\n\n set value(data: T | null) {\n this._value$.next(data);\n\n this._size$.next(this.computeSize(data));\n }\n}\n","import { WlcmFilter } from './filter.models';\n\ntype ArrayFilterValue<T> = Map<unknown, T>;\n\nexport abstract class WlcmArrayFilter<T, O = T[]> extends WlcmFilter<ArrayFilterValue<T>, O> {\n constructor() {\n super();\n\n this.prepareValue();\n }\n\n override get initialValue(): ArrayFilterValue<T> {\n return new Map();\n }\n\n override getAppliedFilters(): O {\n if (!this.value) return [] as O;\n\n return Array.from(this.value.values()) as O;\n }\n\n override prepareValueForCache(value: ArrayFilterValue<T> | null): ArrayFilterValue<T> | null {\n if (!value) return null;\n\n return new Map(value);\n }\n\n override computeSize(value: ArrayFilterValue<T>): number {\n return value.size;\n }\n\n selectId(value: T): unknown {\n return value;\n }\n\n contains(value: T): boolean {\n if (!this.value) return false;\n\n return this.value.has(this.selectId(value));\n }\n\n addOne(value: T): void {\n this.prepareValue();\n\n this.value = (this.value as ArrayFilterValue<T>).set(this.selectId(value), value);\n }\n\n addMany(values: T[]): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n values.forEach((value: T) => currentValue.set(this.selectId(value), value));\n\n this.value = currentValue;\n }\n\n setAll(values: T[]): void {\n const newValue: ArrayFilterValue<T> = new Map();\n\n values.forEach((value: T) => newValue.set(this.selectId(value), value));\n\n this.value = newValue;\n }\n\n removeOne(value: T): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n currentValue.delete(this.selectId(value));\n\n this.value = currentValue;\n }\n\n removeAll(): void {\n this.value = new Map();\n }\n\n toggle(value: T): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n const id: unknown = this.selectId(value);\n\n if (currentValue.has(id)) {\n currentValue.delete(id);\n } else {\n currentValue.set(id, value);\n }\n\n this.value = currentValue;\n }\n\n private prepareValue(): void {\n if (this.value instanceof Map) return;\n\n this.value = new Map();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmFilter } from '../models/filter.models';\n\nexport const WLCM_FILTER: InjectionToken<WlcmFilter> = new InjectionToken('WLCM_FILTER');\n","import { AfterContentInit, ContentChildren, Directive, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith, switchMap } from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_FILTER } from '../constants/filter.constants';\nimport { WlcmFilter } from './filter.models';\n\nexport type WlcmAppliedFilters = { [key: string]: unknown };\n\n@UntilDestroy()\n@Directive()\nexport abstract class WlcmFiltersGroup implements AfterContentInit {\n private readonly _size$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly size$: Observable<number> = this._size$.asObservable();\n\n @ContentChildren(WLCM_FILTER, { descendants: true }) protected filters!: QueryList<WlcmFilter>;\n\n ngAfterContentInit(): void {\n this.handleFiltersListChange();\n }\n\n resetAll(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.reset());\n }\n\n getAppliedFilters(): WlcmAppliedFilters {\n const appliedFilters: WlcmAppliedFilters = {};\n\n this.filters.forEach((filter: WlcmFilter) => {\n appliedFilters[filter.key] = filter.getAppliedFilters();\n });\n\n return appliedFilters;\n }\n\n cacheValues(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.cacheValue());\n }\n\n restoreCachedValues(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.restoreCachedValue());\n }\n\n get size(): number {\n return this._size$.value;\n }\n\n private handleFiltersListChange(): void {\n this.filters.changes\n .pipe(untilDestroyed(this))\n .pipe(startWith(this.filters))\n .pipe(switchMap((filters: QueryList<WlcmFilter>) => this.handleSizeChange(filters.toArray())))\n .subscribe();\n }\n\n private handleSizeChange(list: WlcmFilter[]): Observable<WlcmFilter[]> {\n return combineLatest(list.map((filter: WlcmFilter) => filter.size$)).pipe(\n map((sizes: number[]) => {\n this._size$.next(sizes.reduce((a, b) => a + b, 0));\n\n return list;\n }),\n );\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({ selector: '[wlcmFilter]', standalone: true })\nexport class FilterDirective {}\n","import { Component, forwardRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmFiltersGroup } from '../../models/filters-group.models';\n\n@Component({\n selector: 'wlcm-filters-group',\n standalone: true,\n imports: [CommonModule],\n host: { class: 'wlcm-filters-group' },\n templateUrl: './filters-group.component.html',\n styleUrl: './filters-group.component.scss',\n providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }],\n})\nexport class FiltersGroupComponent extends WlcmFiltersGroup {}\n","<ng-content select=\"[wlcmFilter]\"></ng-content>\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FiltersGroupComponent } from './components/filters-group/filters-group.component';\nimport { FilterDirective } from './directives/filter.directive';\n\nconst publicComponents: Type<unknown>[] = [FiltersGroupComponent];\n\nconst publicDirectives: Type<unknown>[] = [FilterDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmFiltersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"wlcm-angular-filters.mjs","sources":["../../../../modules/filters/src/lib/models/filter.models.ts","../../../../modules/filters/src/lib/models/array-filter.models.ts","../../../../modules/filters/src/lib/constants/filter.constants.ts","../../../../modules/filters/src/lib/models/filters-group.models.ts","../../../../modules/filters/src/lib/directives/filter.directive.ts","../../../../modules/filters/src/lib/components/filters-group/filters-group.component.ts","../../../../modules/filters/src/lib/components/filters-group/filters-group.component.html","../../../../modules/filters/src/lib/filters.module.ts","../../../../modules/filters/src/wlcm-angular-filters.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\n\nexport abstract class WlcmFilter<T = unknown, O = T> {\n private _cachedValue: T | null = null;\n\n private readonly _size$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly size$: Observable<number> = this._size$.asObservable();\n\n private readonly _value$: BehaviorSubject<T | null> = new BehaviorSubject<T | null>(this.initialValue);\n\n readonly value$: Observable<T | null> = this._value$.asObservable();\n\n abstract get key(): string;\n\n abstract computeSize(value: T | null): number;\n\n reset(): void {\n this.value = this.initialValue;\n }\n\n cacheValue(): void {\n this._cachedValue = this.prepareValueForCache(this.value);\n }\n\n restoreCachedValue(): void {\n this.value = this._cachedValue;\n }\n\n prepareValueForCache(value: T | null): T | null {\n return value;\n }\n\n getAppliedFilters(): O {\n return this.value as O;\n }\n\n get initialValue(): T | null {\n return null;\n }\n\n get size(): number {\n return this._size$.value;\n }\n\n get value(): T | null {\n return this._value$.value;\n }\n\n set value(data: T | null) {\n this._value$.next(data);\n\n this._size$.next(this.computeSize(data));\n }\n}\n","import { WlcmFilter } from './filter.models';\n\ntype ArrayFilterValue<T> = Map<unknown, T>;\n\nexport abstract class WlcmArrayFilter<T, O = T[]> extends WlcmFilter<ArrayFilterValue<T>, O> {\n constructor() {\n super();\n\n this.prepareValue();\n }\n\n override get initialValue(): ArrayFilterValue<T> {\n return new Map();\n }\n\n override getAppliedFilters(): O {\n if (!this.value) return [] as O;\n\n return Array.from(this.value.values()) as O;\n }\n\n override prepareValueForCache(value: ArrayFilterValue<T> | null): ArrayFilterValue<T> | null {\n if (!value) return null;\n\n return new Map(value);\n }\n\n override computeSize(value: ArrayFilterValue<T>): number {\n return value.size;\n }\n\n selectId(value: T): unknown {\n return value;\n }\n\n contains(value: T): boolean {\n if (!this.value) return false;\n\n return this.value.has(this.selectId(value));\n }\n\n addOne(value: T): void {\n this.prepareValue();\n\n this.value = (this.value as ArrayFilterValue<T>).set(this.selectId(value), value);\n }\n\n addMany(values: T[]): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n values.forEach((value: T) => currentValue.set(this.selectId(value), value));\n\n this.value = currentValue;\n }\n\n setAll(values: T[]): void {\n const newValue: ArrayFilterValue<T> = new Map();\n\n values.forEach((value: T) => newValue.set(this.selectId(value), value));\n\n this.value = newValue;\n }\n\n removeOne(value: T): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n currentValue.delete(this.selectId(value));\n\n this.value = currentValue;\n }\n\n removeAll(): void {\n this.value = new Map();\n }\n\n toggle(value: T): void {\n this.prepareValue();\n\n const currentValue: ArrayFilterValue<T> = this.value as ArrayFilterValue<T>;\n\n const id: unknown = this.selectId(value);\n\n if (currentValue.has(id)) {\n currentValue.delete(id);\n } else {\n currentValue.set(id, value);\n }\n\n this.value = currentValue;\n }\n\n private prepareValue(): void {\n if (this.value instanceof Map) return;\n\n this.value = new Map();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmFilter } from '../models/filter.models';\n\nexport const WLCM_FILTER: InjectionToken<WlcmFilter> = new InjectionToken('WLCM_FILTER');\n","import { AfterContentInit, ContentChildren, Directive, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith, switchMap } from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_FILTER } from '../constants/filter.constants';\nimport { WlcmFilter } from './filter.models';\n\nexport type WlcmAppliedFilters = { [key: string]: unknown };\n\n@UntilDestroy()\n@Directive()\nexport abstract class WlcmFiltersGroup implements AfterContentInit {\n private readonly _size$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly size$: Observable<number> = this._size$.asObservable();\n\n @ContentChildren(WLCM_FILTER, { descendants: true }) protected filters!: QueryList<WlcmFilter>;\n\n ngAfterContentInit(): void {\n this.handleFiltersListChange();\n }\n\n resetAll(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.reset());\n }\n\n getAppliedFilters(): WlcmAppliedFilters {\n const appliedFilters: WlcmAppliedFilters = {};\n\n this.filters.forEach((filter: WlcmFilter) => {\n appliedFilters[filter.key] = filter.getAppliedFilters();\n });\n\n return appliedFilters;\n }\n\n cacheValues(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.cacheValue());\n }\n\n restoreCachedValues(): void {\n this.filters.forEach((filter: WlcmFilter) => filter.restoreCachedValue());\n }\n\n get size(): number {\n return this._size$.value;\n }\n\n private handleFiltersListChange(): void {\n this.filters.changes\n .pipe(untilDestroyed(this))\n .pipe(startWith(this.filters))\n .pipe(switchMap((filters: QueryList<WlcmFilter>) => this.handleSizeChange(filters.toArray())))\n .subscribe();\n }\n\n private handleSizeChange(list: WlcmFilter[]): Observable<WlcmFilter[]> {\n return combineLatest(list.map((filter: WlcmFilter) => filter.size$)).pipe(\n map((sizes: number[]) => {\n this._size$.next(sizes.reduce((a, b) => a + b, 0));\n\n return list;\n }),\n );\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({ selector: '[wlcmFilter]', standalone: true })\nexport class FilterDirective {}\n","import { Component, forwardRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmFiltersGroup } from '../../models/filters-group.models';\n\n@Component({\n selector: 'wlcm-filters-group',\n standalone: true,\n imports: [CommonModule],\n host: { class: 'wlcm-filters-group' },\n templateUrl: './filters-group.component.html',\n styleUrl: './filters-group.component.scss',\n providers: [{ provide: WlcmFiltersGroup, useExisting: forwardRef(() => FiltersGroupComponent) }],\n})\nexport class FiltersGroupComponent extends WlcmFiltersGroup {}\n","<ng-content select=\"[wlcmFilter]\"></ng-content>\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FiltersGroupComponent } from './components/filters-group/filters-group.component';\nimport { FilterDirective } from './directives/filter.directive';\n\nconst publicComponents: Type<unknown>[] = [FiltersGroupComponent];\n\nconst publicDirectives: Type<unknown>[] = [FilterDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmFiltersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -18,5 +18,5 @@ export declare abstract class WlcmFiltersGroup implements AfterContentInit {
|
|
18
18
|
private handleFiltersListChange;
|
19
19
|
private handleSizeChange;
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFiltersGroup, never>;
|
21
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmFiltersGroup, never, never, {}, {}, ["filters"], never,
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmFiltersGroup, never, never, {}, {}, ["filters"], never, false, never>;
|
22
22
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export * from './lib/forms/forms.module';
|
2
|
+
export * from './lib/forms/models/_index';
|
3
|
+
export * from './lib/forms/constants/index';
|
4
|
+
export * from './lib/forms/directives/form-field-custom-container.directive';
|
5
|
+
export * from './lib/forms/directives/select-input-binder.directive';
|
6
|
+
export * from './lib/forms/directives/form-field-prefix.directive';
|
7
|
+
export * from './lib/forms/directives/form-field-suffix.directive';
|
8
|
+
export * from './lib/forms/directives/form-field-hint.directive';
|
9
|
+
export * from './lib/forms/constants/form-field.constants';
|
10
|
+
export * from './lib/forms/directives/input.directive';
|
11
|
+
export * from './lib/forms/services/places.api';
|
12
|
+
export * from './lib/forms/components';
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2Zvcm1zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2Zvcm1zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9tb2RlbHMvX2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2NvbnN0YW50cy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9kaXJlY3RpdmVzL2Zvcm0tZmllbGQtY3VzdG9tLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZGlyZWN0aXZlcy9zZWxlY3QtaW5wdXQtYmluZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9kaXJlY3RpdmVzL2Zvcm0tZmllbGQtcHJlZml4LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9kaXJlY3RpdmVzL2Zvcm0tZmllbGQtc3VmZml4LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9kaXJlY3RpdmVzL2Zvcm0tZmllbGQtaGludC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvY29uc3RhbnRzL2Zvcm0tZmllbGQuY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL3NlcnZpY2VzL3BsYWNlcy5hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvY29tcG9uZW50cyc7XG4iXX0=
|