@firestitch/filter 18.2.11 → 18.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/filter/filter.component.d.ts +40 -64
- package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
- package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
- package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
- package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
- package/app/components/filters-item/chips/chips.component.d.ts +6 -5
- package/app/components/filters-item/date/date.component.d.ts +4 -4
- package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
- package/app/components/filters-item/filter-item.component.d.ts +2 -2
- package/app/components/filters-item/range/range.component.d.ts +6 -7
- package/app/components/filters-item/select/select.component.d.ts +17 -20
- package/app/components/filters-item/text/text.component.d.ts +6 -7
- package/app/components/filters-item/week/week.component.d.ts +5 -5
- package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
- package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
- package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
- package/app/fs-filter.module.d.ts +20 -24
- package/app/helpers/create-filter-item.d.ts +2 -1
- package/app/interfaces/items/date.interface.d.ts +1 -1
- package/app/models/filter-config.d.ts +2 -2
- package/app/models/items/autocomplete-chips-item.d.ts +11 -8
- package/app/models/items/autocomplete-item.d.ts +7 -5
- package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
- package/app/models/items/base-date-item.d.ts +13 -0
- package/app/models/items/base-date-range-item.d.ts +17 -0
- package/app/models/items/base-item.d.ts +26 -40
- package/app/models/items/checkbox-item.d.ts +10 -9
- package/app/models/items/chips-item.d.ts +12 -9
- package/app/models/items/date-item.d.ts +7 -3
- package/app/models/items/date-range-item.d.ts +1 -1
- package/app/models/items/date-time-item.d.ts +6 -3
- package/app/models/items/date-time-range-item.d.ts +1 -1
- package/app/models/items/index.d.ts +0 -4
- package/app/models/items/range-item.d.ts +19 -8
- package/app/models/items/select-item.d.ts +29 -6
- package/app/models/items/text-item.d.ts +7 -6
- package/app/models/items/week-item.d.ts +7 -7
- package/app/services/filter-controller.service.d.ts +47 -0
- package/app/services/focus-controller.service.d.ts +4 -4
- package/app/services/index.d.ts +4 -2
- package/app/services/keyword-controller.service.d.ts +20 -0
- package/app/services/persistance-controller.service.d.ts +10 -4
- package/app/services/query-param-controller.service.d.ts +10 -12
- package/app/services/root-filter-overlay.service.d.ts +6 -0
- package/app/services/saved-filter-controller.service.d.ts +4 -4
- package/app/services/sort-controller.service.d.ts +21 -0
- package/esm2022/app/components/filter/filter.component.mjs +150 -294
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +7 -14
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
- package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
- package/esm2022/app/components/filters-item/filter-item.component.mjs +5 -5
- package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
- package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
- package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
- package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
- package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
- package/esm2022/app/fs-filter.module.mjs +1 -16
- package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
- package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2022/app/models/action.model.mjs +2 -2
- package/esm2022/app/models/filter-config.mjs +2 -3
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
- package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
- package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
- package/esm2022/app/models/items/base-date-item.mjs +28 -0
- package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
- package/esm2022/app/models/items/base-item.mjs +58 -138
- package/esm2022/app/models/items/checkbox-item.mjs +35 -26
- package/esm2022/app/models/items/chips-item.mjs +50 -59
- package/esm2022/app/models/items/date-item.mjs +21 -8
- package/esm2022/app/models/items/date-range-item.mjs +2 -2
- package/esm2022/app/models/items/date-time-item.mjs +4 -7
- package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
- package/esm2022/app/models/items/index.mjs +1 -5
- package/esm2022/app/models/items/range-item.mjs +48 -44
- package/esm2022/app/models/items/select-item.mjs +104 -9
- package/esm2022/app/models/items/text-item.mjs +17 -15
- package/esm2022/app/models/items/week-item.mjs +22 -38
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
- package/esm2022/app/services/filter-controller.service.mjs +209 -0
- package/esm2022/app/services/filter-overlay.service.mjs +3 -3
- package/esm2022/app/services/focus-controller.service.mjs +3 -3
- package/esm2022/app/services/index.mjs +5 -3
- package/esm2022/app/services/keyword-controller.service.mjs +49 -0
- package/esm2022/app/services/persistance-controller.service.mjs +24 -6
- package/esm2022/app/services/query-param-controller.service.mjs +44 -34
- package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
- package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
- package/esm2022/app/services/sort-controller.service.mjs +60 -0
- package/esm2022/public_api.mjs +1 -2
- package/fesm2022/firestitch-filter.mjs +2593 -3243
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -1
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
- package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
- package/app/helpers/build-query-params.d.ts +0 -4
- package/app/helpers/compare.d.ts +0 -2
- package/app/helpers/find-value.d.ts +0 -1
- package/app/models/items/autocomplete/index.d.ts +0 -1
- package/app/models/items/date/base-date-item.d.ts +0 -17
- package/app/models/items/date/index.d.ts +0 -1
- package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
- package/app/models/items/date-range/index.d.ts +0 -1
- package/app/models/items/select/base-select-item.d.ts +0 -16
- package/app/models/items/select/index.d.ts +0 -3
- package/app/models/items/select/multiple-select-item.d.ts +0 -14
- package/app/models/items/select/simple-select-item.d.ts +0 -14
- package/app/providers/filter-meta.d.ts +0 -5
- package/app/services/item-store.service.d.ts +0 -63
- package/app/services/param-controller.service.d.ts +0 -30
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
- package/esm2022/app/helpers/build-query-params.mjs +0 -38
- package/esm2022/app/helpers/compare.mjs +0 -38
- package/esm2022/app/helpers/find-value.mjs +0 -13
- package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
- package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
- package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
- package/esm2022/app/models/items/date/index.mjs +0 -2
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
- package/esm2022/app/models/items/date-range/index.mjs +0 -2
- package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
- package/esm2022/app/models/items/select/index.mjs +0 -4
- package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
- package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
- package/esm2022/app/providers/filter-meta.mjs +0 -10
- package/esm2022/app/services/item-store.service.mjs +0 -333
- package/esm2022/app/services/param-controller.service.mjs +0 -151
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -34,6 +34,5 @@ export { RangeItem } from './app/models/items/range-item';
|
|
|
34
34
|
export { SelectItem } from './app/models/items/select-item';
|
|
35
35
|
export { TextItem } from './app/models/items/text-item';
|
|
36
36
|
export { FS_FILTER_CONFIG } from './app/injectors/filter-config';
|
|
37
|
-
export { buildQueryParams } from './app/helpers/build-query-params';
|
|
38
37
|
export { filterFromQueryParam, filterToQueryParam } from './app/helpers/query-param-transformers';
|
|
39
38
|
export { QUERY_PARAM_DELIMITER } from './app/consts/query-param-delimiter';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class SelectBackdropComponent {
|
|
3
|
-
constructor();
|
|
4
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectBackdropComponent, never>;
|
|
5
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectBackdropComponent, "filter-item-select-backdrop", never, {}, {}, never, never, true, never>;
|
|
6
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class SelectGroupsComponent {
|
|
5
|
-
cd: ChangeDetectorRef;
|
|
6
|
-
select: MatSelect;
|
|
7
|
-
item: any;
|
|
8
|
-
constructor(cd: ChangeDetectorRef);
|
|
9
|
-
compare(o1: any, o2: any): boolean;
|
|
10
|
-
markForCheck(): void;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectGroupsComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectGroupsComponent, "filter-item-select-groups", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
|
|
13
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { MultipleSelectItem } from '../../../../models/items/select/multiple-select-item';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SelectMultipleComponent {
|
|
6
|
-
private _cd;
|
|
7
|
-
item: MultipleSelectItem;
|
|
8
|
-
select: MatSelect;
|
|
9
|
-
constructor(_cd: ChangeDetectorRef);
|
|
10
|
-
changed(): void;
|
|
11
|
-
close(): void;
|
|
12
|
-
markForCheck(): void;
|
|
13
|
-
isolateChange(filter: any): void;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectMultipleComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectMultipleComponent, "filter-item-select-multiple", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { SimpleSelectItem } from '../../../../models/items/select/simple-select-item';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SelectSimpleComponent {
|
|
6
|
-
private _cd;
|
|
7
|
-
item: SimpleSelectItem;
|
|
8
|
-
select: MatSelect;
|
|
9
|
-
constructor(_cd: ChangeDetectorRef);
|
|
10
|
-
changed(): void;
|
|
11
|
-
isolateChange(filter: any): void;
|
|
12
|
-
markForCheck(): void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectSimpleComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectSimpleComponent, "filter-item-select-simple", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
|
|
15
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { KeyValue } from '../interfaces';
|
|
2
|
-
import { IFilterConfigItem } from '../interfaces/config.interface';
|
|
3
|
-
import { BaseItem } from '../models/items/base-item';
|
|
4
|
-
export declare function buildQueryParams(flattenedParams: KeyValue, items: BaseItem<IFilterConfigItem>[]): KeyValue;
|
package/app/helpers/compare.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function findValue(values: any, value: any, children: any): any;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './base-autocomplete-item';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterComponent } from '../../../components/filter/filter.component';
|
|
2
|
-
import { ItemDateMode } from '../../../enums/item-date-mode.enum';
|
|
3
|
-
import { IFilterConfigDateItem } from '../../../interfaces/items/date.interface';
|
|
4
|
-
import { BaseItem } from '../base-item';
|
|
5
|
-
export declare abstract class BaseDateItem extends BaseItem<IFilterConfigDateItem> {
|
|
6
|
-
protected _additionalConfig: unknown;
|
|
7
|
-
protected _filter: FilterComponent;
|
|
8
|
-
maxYear: number;
|
|
9
|
-
mode: ItemDateMode;
|
|
10
|
-
constructor(itemConfig: any, _additionalConfig: unknown, _filter: FilterComponent);
|
|
11
|
-
get value(): Date;
|
|
12
|
-
get queryObject(): Record<string, Date>;
|
|
13
|
-
setModel(value: any): void;
|
|
14
|
-
get persistanceObject(): Record<string, string>;
|
|
15
|
-
protected _validateModel(): void;
|
|
16
|
-
protected _init(): void;
|
|
17
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './base-date-item';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { IFilterConfigDateRangeItem, IFilterItemDefaultDateRange } from '../../../interfaces/items/date-range.interface';
|
|
2
|
-
import { BaseItem } from '../base-item';
|
|
3
|
-
export declare abstract class BaseDateRangeItem extends BaseItem<IFilterConfigDateRangeItem> {
|
|
4
|
-
get isTypeDateRange(): boolean;
|
|
5
|
-
get isTypeDateTimeRange(): boolean;
|
|
6
|
-
get isChipVisible(): boolean;
|
|
7
|
-
get value(): any;
|
|
8
|
-
get queryObject(): Record<string, Date>;
|
|
9
|
-
get persistanceObject(): Record<string, string>;
|
|
10
|
-
getChipsContent(type?: any): string;
|
|
11
|
-
setModel(value: any): void;
|
|
12
|
-
clearDateRange(type?: 'from' | 'to', defaultValue?: IFilterItemDefaultDateRange): void;
|
|
13
|
-
protected _validateModel(): void;
|
|
14
|
-
get hasModelValue(): any;
|
|
15
|
-
protected _init(): void;
|
|
16
|
-
protected _clearValue(defaultValue?: unknown): void;
|
|
17
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './base-date-range-item';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { FilterComponent } from '../../../components/filter/filter.component';
|
|
2
|
-
import { IFilterConfigSelectIsolate, IFilterConfigSelectItem } from '../../../interfaces/items/select.interface';
|
|
3
|
-
import { BaseItem } from '../base-item';
|
|
4
|
-
export interface IFilterIsolate extends IFilterConfigSelectIsolate {
|
|
5
|
-
enabled: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare abstract class BaseSelectItem extends BaseItem<IFilterConfigSelectItem> {
|
|
8
|
-
protected _additionalConfig: unknown;
|
|
9
|
-
protected _filter: FilterComponent;
|
|
10
|
-
children: string;
|
|
11
|
-
multiple: boolean;
|
|
12
|
-
isolate: IFilterIsolate;
|
|
13
|
-
constructor(itemConfig: IFilterConfigSelectItem, _additionalConfig: unknown, _filter: FilterComponent);
|
|
14
|
-
protected _init(): void;
|
|
15
|
-
protected _clearValue(defaultValue?: unknown): void;
|
|
16
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FilterComponent } from '../../../components/filter/filter.component';
|
|
2
|
-
import { IFilterConfigSelectItem } from '../../../interfaces/items/select.interface';
|
|
3
|
-
import { BaseSelectItem } from './base-select-item';
|
|
4
|
-
export declare class MultipleSelectItem extends BaseSelectItem {
|
|
5
|
-
constructor(itemConfig: IFilterConfigSelectItem, _persistedValues: any, _filter: FilterComponent);
|
|
6
|
-
get value(): any;
|
|
7
|
-
get isChipVisible(): boolean;
|
|
8
|
-
get _isolateOptionNotSelected(): boolean;
|
|
9
|
-
setModel(value: any): void;
|
|
10
|
-
getChipsContent(): string;
|
|
11
|
-
protected _init(): void;
|
|
12
|
-
protected _validateModel(): void;
|
|
13
|
-
protected _clearValue(defaultValue?: unknown): void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FilterComponent } from '../../../components/filter/filter.component';
|
|
2
|
-
import { IFilterConfigSelectItem } from '../../../interfaces/items/select.interface';
|
|
3
|
-
import { BaseSelectItem } from './base-select-item';
|
|
4
|
-
export declare class SimpleSelectItem extends BaseSelectItem {
|
|
5
|
-
constructor(itemConfig: IFilterConfigSelectItem, _persistedValues: any, _filter: FilterComponent);
|
|
6
|
-
get value(): any;
|
|
7
|
-
getChipsContent(type?: any): string;
|
|
8
|
-
get isChipVisible(): boolean;
|
|
9
|
-
setModel(value: any): void;
|
|
10
|
-
protected _init(): void;
|
|
11
|
-
protected get _isolateOptionNotSelected(): boolean;
|
|
12
|
-
protected _validateModel(): void;
|
|
13
|
-
protected _clearValue(defaultValue?: unknown): void;
|
|
14
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import type { FilterComponent } from '../components/filter/filter.component';
|
|
3
|
-
import { FilterSort, IFilterConfigItem, SortItem } from '../interfaces/config.interface';
|
|
4
|
-
import { KeyValue } from '../interfaces/external-params.interface';
|
|
5
|
-
import { ISortingChangeEvent } from '../interfaces/filter.interface';
|
|
6
|
-
import { BaseItem } from '../models/items/base-item';
|
|
7
|
-
import { TextItem } from '../models/items/text-item';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
interface IValueAsQuery {
|
|
10
|
-
onlyPresented?: boolean;
|
|
11
|
-
items?: BaseItem<IFilterConfigItem>[];
|
|
12
|
-
persisted?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare class ItemStore implements OnDestroy {
|
|
15
|
-
sortByItem: BaseItem<IFilterConfigItem>;
|
|
16
|
-
sortDirectionItem: BaseItem<IFilterConfigItem>;
|
|
17
|
-
keywordItem: TextItem;
|
|
18
|
-
filter: FilterComponent;
|
|
19
|
-
private _ready$;
|
|
20
|
-
private _visibleItems$;
|
|
21
|
-
private _items;
|
|
22
|
-
private _itemsValuesLoaded;
|
|
23
|
-
private _hasKeyword;
|
|
24
|
-
private _config;
|
|
25
|
-
private _itemsChange$;
|
|
26
|
-
private _destroy$;
|
|
27
|
-
get items(): BaseItem<IFilterConfigItem>[];
|
|
28
|
-
get itemNames(): string[];
|
|
29
|
-
get hasKeyword(): boolean;
|
|
30
|
-
get itemsChange$(): import("rxjs").Observable<unknown>;
|
|
31
|
-
get ready$(): import("rxjs").Observable<boolean>;
|
|
32
|
-
ngOnDestroy(): void;
|
|
33
|
-
setConfig(config: any): void;
|
|
34
|
-
getItemByName(name: string): BaseItem<IFilterConfigItem>;
|
|
35
|
-
initItems(items: IFilterConfigItem[]): void;
|
|
36
|
-
queryParams(): KeyValue;
|
|
37
|
-
filtersClear(): void;
|
|
38
|
-
loadAsyncValues(): void;
|
|
39
|
-
loadAsyncDefaults(): void;
|
|
40
|
-
getSort(): FilterSort;
|
|
41
|
-
getSortByValue(): any;
|
|
42
|
-
getSortDirectionValue(): any;
|
|
43
|
-
updateSort(sort: ISortingChangeEvent): void;
|
|
44
|
-
values(onlyPresented?: boolean): Record<string, unknown>;
|
|
45
|
-
models(): KeyValue;
|
|
46
|
-
valuesAsQuery({ onlyPresented, items, persisted, }?: IValueAsQuery): KeyValue;
|
|
47
|
-
init(p: KeyValue): void;
|
|
48
|
-
updateItemsWithValues(values: KeyValue): void;
|
|
49
|
-
updateSortingItemsValues(items: SortItem[]): void;
|
|
50
|
-
destroyItems(): void;
|
|
51
|
-
/**
|
|
52
|
-
* Some items might need to load async values before they will be shown
|
|
53
|
-
*/
|
|
54
|
-
prepareItems(): void;
|
|
55
|
-
private _createItems;
|
|
56
|
-
private _subscribeToItemsChanges;
|
|
57
|
-
private _initSortingItems;
|
|
58
|
-
private _createSortingItems;
|
|
59
|
-
private _setKeywordItem;
|
|
60
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ItemStore, never>;
|
|
61
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ItemStore>;
|
|
62
|
-
}
|
|
63
|
-
export {};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { KeyValue } from '../interfaces';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ParamController implements OnDestroy {
|
|
6
|
-
private _pending$;
|
|
7
|
-
private _config;
|
|
8
|
-
private _destroy$;
|
|
9
|
-
private _itemStore;
|
|
10
|
-
private _persistanceController;
|
|
11
|
-
private _queryParams;
|
|
12
|
-
private _savedFilterController;
|
|
13
|
-
get params(): KeyValue;
|
|
14
|
-
get pending(): boolean;
|
|
15
|
-
get pending$(): Observable<boolean>;
|
|
16
|
-
ngOnDestroy(): void;
|
|
17
|
-
setConfig(config: any): void;
|
|
18
|
-
reloadFiltersWithValues(params: KeyValue): void;
|
|
19
|
-
initItems(): void;
|
|
20
|
-
_initItemsValues(): void;
|
|
21
|
-
fetchQueryParams(): void;
|
|
22
|
-
private _initQueryParams;
|
|
23
|
-
private _initSavedFilters;
|
|
24
|
-
private _listenSavedFilterChange;
|
|
25
|
-
private _listenItemsChange;
|
|
26
|
-
private _saveQueryParams;
|
|
27
|
-
private _savePersistedParams;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ParamController, never>;
|
|
29
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ParamController>;
|
|
30
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class SelectBackdropComponent {
|
|
4
|
-
constructor() { }
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectBackdropComponent, isStandalone: true, selector: "filter-item-select-backdrop", ngImport: i0, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectBackdropComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'filter-item-select-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"] }]
|
|
11
|
-
}], ctorParameters: () => [] });
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFTcEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxnQkFBZSxDQUFDO3dHQURMLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHVGQ1RwQyxFQUFBOzs0RkRTYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXNlbGVjdC1iYWNrZHJvcCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFja2Ryb3AuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFja2Ryb3AuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJhY2tkcm9wQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiIl19
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { MatFormField, MatLabel } from '@angular/material/form-field';
|
|
4
|
-
import { FocusToItemDirective } from '../../../../directives/focus-to-item/focus-to-item.directive';
|
|
5
|
-
import { FormsModule } from '@angular/forms';
|
|
6
|
-
import { FsFormModule } from '@firestitch/form';
|
|
7
|
-
import { MatOptgroup, MatOption } from '@angular/material/core';
|
|
8
|
-
import { NgStyle } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/forms";
|
|
11
|
-
import * as i2 from "@firestitch/form";
|
|
12
|
-
export class SelectGroupsComponent {
|
|
13
|
-
cd;
|
|
14
|
-
select;
|
|
15
|
-
item;
|
|
16
|
-
constructor(cd) {
|
|
17
|
-
this.cd = cd;
|
|
18
|
-
}
|
|
19
|
-
compare(o1, o2) {
|
|
20
|
-
return o1 == o2;
|
|
21
|
-
}
|
|
22
|
-
markForCheck() {
|
|
23
|
-
this.cd.markForCheck();
|
|
24
|
-
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectGroupsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectGroupsComponent, isStandalone: true, selector: "filter-item-select-groups", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [compareWith]=\"compare\">\n @for (selectItem of item.values; track selectItem) {\n @if (selectItem[item.children]) {\n <mat-optgroup [label]=\"selectItem.name\">\n @for (subItem of selectItem[item.children]; track subItem) {\n <mat-option\n [value]=\"subItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ subItem.name }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n <mat-option\n [value]=\"selectItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ selectItem.name }}\n </mat-option>\n }\n }\n </mat-select>\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectGroupsComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'filter-item-select-groups', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
31
|
-
MatFormField,
|
|
32
|
-
MatLabel,
|
|
33
|
-
MatSelect,
|
|
34
|
-
FocusToItemDirective,
|
|
35
|
-
FormsModule,
|
|
36
|
-
FsFormModule,
|
|
37
|
-
MatOptgroup,
|
|
38
|
-
MatOption,
|
|
39
|
-
NgStyle,
|
|
40
|
-
], template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [compareWith]=\"compare\">\n @for (selectItem of item.values; track selectItem) {\n @if (selectItem[item.children]) {\n <mat-optgroup [label]=\"selectItem.name\">\n @for (subItem of selectItem[item.children]; track subItem) {\n <mat-option\n [value]=\"subItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ subItem.name }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n <mat-option\n [value]=\"selectItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ selectItem.name }}\n </mat-option>\n }\n }\n </mat-select>\n</mat-form-field>\n" }]
|
|
41
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { select: [{
|
|
42
|
-
type: ViewChild,
|
|
43
|
-
args: ['select', { static: true }]
|
|
44
|
-
}], item: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L2dyb3Vwcy9ncm91cHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvZ3JvdXBzL2dyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBbUIxQyxNQUFNLE9BQU8scUJBQXFCO0lBS2I7SUFIMkIsTUFBTSxDQUFZO0lBQ2hELElBQUksQ0FBQztJQUVyQixZQUFtQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFckMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBYlUscUJBQXFCOzRGQUFyQixxQkFBcUIsK05DakNsQyxzMUJBNEJBLDRDRE5RLFlBQVksNExBQ1osUUFBUSxzREFDUixTQUFTLHdlQUNULG9CQUFvQix1SEFDcEIsV0FBVyw4VkFDWCxZQUFZLDBnQkFDWixXQUFXLG1IQUNYLFNBQVMscUpBQ1QsT0FBTzs7NEZBR0YscUJBQXFCO2tCQWpCakMsU0FBUzsrQkFDSSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxPQUFPO3FCQUNWO3NGQUkyQyxNQUFNO3NCQUFuRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb2N1c1RvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvZm9jdXMtdG8taXRlbS9mb2N1cy10by1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuaW1wb3J0IHsgTWF0T3B0Z3JvdXAsIE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LWdyb3VwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyb3Vwcy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdEZvcm1GaWVsZCxcbiAgICAgICAgTWF0TGFiZWwsXG4gICAgICAgIE1hdFNlbGVjdCxcbiAgICAgICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBGc0Zvcm1Nb2R1bGUsXG4gICAgICAgIE1hdE9wdGdyb3VwLFxuICAgICAgICBNYXRPcHRpb24sXG4gICAgICAgIE5nU3R5bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0R3JvdXBzQ29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgc2VsZWN0OiBNYXRTZWxlY3Q7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIGNvbXBhcmUobzEsIG8yKSB7XG4gICAgcmV0dXJuIG8xID09IG8yO1xuICB9XG5cbiAgcHVibGljIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtbGFiZWw+e3tpdGVtLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3RcbiAgICAjc2VsZWN0XG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVcIj5cbiAgICBAZm9yIChzZWxlY3RJdGVtIG9mIGl0ZW0udmFsdWVzOyB0cmFjayBzZWxlY3RJdGVtKSB7XG4gICAgICBAaWYgKHNlbGVjdEl0ZW1baXRlbS5jaGlsZHJlbl0pIHtcbiAgICAgICAgPG1hdC1vcHRncm91cCBbbGFiZWxdPVwic2VsZWN0SXRlbS5uYW1lXCI+XG4gICAgICAgICAgQGZvciAoc3ViSXRlbSBvZiBzZWxlY3RJdGVtW2l0ZW0uY2hpbGRyZW5dOyB0cmFjayBzdWJJdGVtKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICBbdmFsdWVdPVwic3ViSXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInNlbGVjdEl0ZW0uc3R5bGVcIj5cbiAgICAgICAgICAgICAge3sgc3ViSXRlbS5uYW1lIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RJdGVtLnZhbHVlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJzZWxlY3RJdGVtLnN0eWxlXCI+XG4gICAgICAgICAge3sgc2VsZWN0SXRlbS5uYW1lIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { MultipleSelectItem } from '../../../../models/items/select/multiple-select-item';
|
|
4
|
-
import { MatFormField, MatLabel, MatHint } from '@angular/material/form-field';
|
|
5
|
-
import { NgClass } from '@angular/common';
|
|
6
|
-
import { FocusToItemDirective } from '../../../../directives/focus-to-item/focus-to-item.directive';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { FsFormModule } from '@firestitch/form';
|
|
9
|
-
import { MatOption } from '@angular/material/core';
|
|
10
|
-
import { MatCheckbox } from '@angular/material/checkbox';
|
|
11
|
-
import { FsFilterIsolateValues } from '../../../../pipes/remove-isolate-value.pipe';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/forms";
|
|
14
|
-
import * as i2 from "@firestitch/form";
|
|
15
|
-
export class SelectMultipleComponent {
|
|
16
|
-
_cd;
|
|
17
|
-
item;
|
|
18
|
-
select;
|
|
19
|
-
constructor(_cd) {
|
|
20
|
-
this._cd = _cd;
|
|
21
|
-
}
|
|
22
|
-
changed() {
|
|
23
|
-
if (this.item.isolate) {
|
|
24
|
-
this.item.isolate.enabled = false;
|
|
25
|
-
if (this.item.multiple && Array.isArray(this.item.model)) {
|
|
26
|
-
const index = this.item.model.indexOf(this.item.isolate.value);
|
|
27
|
-
if (index > -1) {
|
|
28
|
-
this.item.model.splice(index, 1);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
close() {
|
|
34
|
-
this.select.close();
|
|
35
|
-
}
|
|
36
|
-
markForCheck() {
|
|
37
|
-
this._cd.markForCheck();
|
|
38
|
-
}
|
|
39
|
-
isolateChange(filter) {
|
|
40
|
-
if (filter.isolate.enabled) {
|
|
41
|
-
filter.model = filter.multiple ? [filter.isolate.value] : filter.isolate.value;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
if (filter.multiple) {
|
|
45
|
-
filter.model = filter.defaultValue ? filter.defaultValue : [];
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
filter.model = filter.defaultValue ? filter.defaultValue : null;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectMultipleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectMultipleComponent, isStandalone: true, selector: "filter-item-select-multiple", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @for (item of item.values | fsFilterIsolateValues: item.isolate; track item) {\n <mat-option\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange(item)\"\n [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">\n {{ item.isolate.label }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: FsFilterIsolateValues, name: "fsFilterIsolateValues" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectMultipleComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'filter-item-select-multiple', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
58
|
-
MatFormField,
|
|
59
|
-
NgClass,
|
|
60
|
-
MatLabel,
|
|
61
|
-
MatSelect,
|
|
62
|
-
FocusToItemDirective,
|
|
63
|
-
FormsModule,
|
|
64
|
-
FsFormModule,
|
|
65
|
-
MatOption,
|
|
66
|
-
MatHint,
|
|
67
|
-
MatCheckbox,
|
|
68
|
-
FsFilterIsolateValues,
|
|
69
|
-
], template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\"\n [multiple]=\"item.multiple\">\n @for (item of item.values | fsFilterIsolateValues: item.isolate; track item) {\n <mat-option\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n <mat-hint>\n @if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange(item)\"\n [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">\n {{ item.isolate.label }}\n </span>\n </mat-checkbox>\n }\n </mat-hint>\n</mat-form-field>" }]
|
|
70
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], select: [{
|
|
73
|
-
type: ViewChild,
|
|
74
|
-
args: ['select', { static: true }]
|
|
75
|
-
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvbXVsdGlwbGUvbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvbXVsdGlwbGUvbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7QUF1QnBGLE1BQU0sT0FBTyx1QkFBdUI7SUFTeEI7SUFOSCxJQUFJLENBQXFCO0lBR3pCLE1BQU0sQ0FBWTtJQUV6QixZQUNVLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzdCLENBQUM7SUFFRyxPQUFPO1FBRVosSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUvRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxhQUFhLENBQUMsTUFBTTtRQUN6QixJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNsRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBOUNVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGlPQ3pDcEMsd3hCQTRCaUIsMEREQVQsWUFBWSw0TEFDWixPQUFPLG9GQUNQLFFBQVEsc0RBQ1IsU0FBUyx3ZUFDVCxvQkFBb0IsdUhBQ3BCLFdBQVcsOFZBQ1gsWUFBWSwwZ0JBQ1osU0FBUyxxSkFDVCxPQUFPLDhFQUNQLFdBQVcsbVZBQ1gscUJBQXFCOzs0RkFHaEIsdUJBQXVCO2tCQXBCbkMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLFdBQVc7d0JBQ1gscUJBQXFCO3FCQUN4QjtzRkFLSSxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IE11bHRpcGxlU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LWl0ZW0nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCwgTWF0SGludCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb2N1c1RvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvZm9jdXMtdG8taXRlbS9mb2N1cy10by1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZzRm9ybU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2Zvcm0nO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IEZzRmlsdGVySXNvbGF0ZVZhbHVlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL3JlbW92ZS1pc29sYXRlLXZhbHVlLnBpcGUnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LW11bHRpcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdEZvcm1GaWVsZCxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTWF0TGFiZWwsXG4gICAgICAgIE1hdFNlbGVjdCxcbiAgICAgICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBGc0Zvcm1Nb2R1bGUsXG4gICAgICAgIE1hdE9wdGlvbixcbiAgICAgICAgTWF0SGludCxcbiAgICAgICAgTWF0Q2hlY2tib3gsXG4gICAgICAgIEZzRmlsdGVySXNvbGF0ZVZhbHVlcyxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW06IE11bHRpcGxlU2VsZWN0SXRlbTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2VsZWN0OiBNYXRTZWxlY3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHVibGljIGNoYW5nZWQoKSB7XG5cbiAgICBpZiAodGhpcy5pdGVtLmlzb2xhdGUpIHtcblxuICAgICAgdGhpcy5pdGVtLmlzb2xhdGUuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgICBpZiAodGhpcy5pdGVtLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy5pdGVtLm1vZGVsKSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbS5tb2RlbC5pbmRleE9mKHRoaXMuaXRlbS5pc29sYXRlLnZhbHVlKTtcblxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMuaXRlbS5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCkge1xuICAgIHRoaXMuc2VsZWN0LmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGlzb2xhdGVDaGFuZ2UoZmlsdGVyKSB7XG4gICAgaWYgKGZpbHRlci5pc29sYXRlLmVuYWJsZWQpIHtcbiAgICAgIGZpbHRlci5tb2RlbCA9IGZpbHRlci5tdWx0aXBsZSA/IFtmaWx0ZXIuaXNvbGF0ZS52YWx1ZV0gOiBmaWx0ZXIuaXNvbGF0ZS52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbHRlci5tdWx0aXBsZSkge1xuICAgICAgICBmaWx0ZXIubW9kZWwgPSBmaWx0ZXIuZGVmYXVsdFZhbHVlID8gZmlsdGVyLmRlZmF1bHRWYWx1ZSA6IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVyLm1vZGVsID0gZmlsdGVyLmRlZmF1bHRWYWx1ZSA/IGZpbHRlci5kZWZhdWx0VmFsdWUgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtuZ0NsYXNzXT1cInsgaXNvbGF0ZTogaXRlbS5pc29sYXRlIH1cIj5cbiAgPG1hdC1sYWJlbD5cbiAgICB7eyBpdGVtLmxhYmVsIH19XG4gIDwvbWF0LWxhYmVsPlxuICA8bWF0LXNlbGVjdFxuICAgICNzZWxlY3RcbiAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKClcIlxuICAgIFttdWx0aXBsZV09XCJpdGVtLm11bHRpcGxlXCI+XG4gICAgQGZvciAoaXRlbSBvZiBpdGVtLnZhbHVlcyB8IGZzRmlsdGVySXNvbGF0ZVZhbHVlczogaXRlbS5pc29sYXRlOyB0cmFjayBpdGVtKSB7XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICB9XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG1hdC1oaW50PlxuICAgIEBpZiAoaXRlbS5pc29sYXRlKSB7XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIChjaGFuZ2UpPVwiaXNvbGF0ZUNoYW5nZShpdGVtKVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5pc29sYXRlLmVuYWJsZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1sYWJlbFwiPlxuICAgICAgICAgIHt7IGl0ZW0uaXNvbGF0ZS5sYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICB9XG4gIDwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { SimpleSelectItem } from '../../../../models/items/select/simple-select-item';
|
|
4
|
-
import { MatFormField, MatLabel } from '@angular/material/form-field';
|
|
5
|
-
import { NgClass } from '@angular/common';
|
|
6
|
-
import { FocusToItemDirective } from '../../../../directives/focus-to-item/focus-to-item.directive';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { FsFormModule } from '@firestitch/form';
|
|
9
|
-
import { MatOption } from '@angular/material/core';
|
|
10
|
-
import { MatCheckbox } from '@angular/material/checkbox';
|
|
11
|
-
import { FsFilterIsolateValues } from '../../../../pipes/remove-isolate-value.pipe';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/forms";
|
|
14
|
-
import * as i2 from "@firestitch/form";
|
|
15
|
-
export class SelectSimpleComponent {
|
|
16
|
-
_cd;
|
|
17
|
-
item;
|
|
18
|
-
select;
|
|
19
|
-
constructor(_cd) {
|
|
20
|
-
this._cd = _cd;
|
|
21
|
-
}
|
|
22
|
-
changed() {
|
|
23
|
-
if (this.item.isolate) {
|
|
24
|
-
this.item.isolate.enabled = false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
isolateChange(filter) {
|
|
28
|
-
filter.model = filter.isolate.enabled ? filter.isolate.value : null;
|
|
29
|
-
}
|
|
30
|
-
markForCheck() {
|
|
31
|
-
this._cd.markForCheck();
|
|
32
|
-
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectSimpleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectSimpleComponent, isStandalone: true, selector: "filter-item-select-simple", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{ isolate: !!item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n @for (item of item.values | fsFilterIsolateValues: item.isolate; track item) {\n <mat-option\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange(item)\"\n [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">\n {{ item.isolate.label }}\n </span>\n </mat-checkbox>\n}", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FsFormModule }, { kind: "directive", type: i2.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: FsFilterIsolateValues, name: "fsFilterIsolateValues" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectSimpleComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'filter-item-select-simple', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
39
|
-
MatFormField,
|
|
40
|
-
NgClass,
|
|
41
|
-
MatLabel,
|
|
42
|
-
MatSelect,
|
|
43
|
-
FocusToItemDirective,
|
|
44
|
-
FormsModule,
|
|
45
|
-
FsFormModule,
|
|
46
|
-
MatOption,
|
|
47
|
-
MatCheckbox,
|
|
48
|
-
FsFilterIsolateValues,
|
|
49
|
-
], template: "<mat-form-field [ngClass]=\"{ isolate: !!item.isolate }\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n @for (item of item.values | fsFilterIsolateValues: item.isolate; track item) {\n <mat-option\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (item.isolate) {\n <mat-checkbox\n (change)=\"isolateChange(item)\"\n [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">\n {{ item.isolate.label }}\n </span>\n </mat-checkbox>\n}" }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], select: [{
|
|
53
|
-
type: ViewChild,
|
|
54
|
-
args: ['select', { static: true }]
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NpbXBsZS9zaW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3Qvc2ltcGxlL3NpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBc0JwRixNQUFNLE9BQU8scUJBQXFCO0lBUXRCO0lBTk0sSUFBSSxDQUFtQjtJQUdoQyxNQUFNLENBQVk7SUFFekIsWUFDVSxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBRUcsT0FBTztRQUNaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQU07UUFDekIsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RSxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBdkJVLHFCQUFxQjs0RkFBckIscUJBQXFCLCtOQ3hDbEMsdXJCQXlCQywwRERHTyxZQUFZLDRMQUNaLE9BQU8sb0ZBQ1AsUUFBUSxzREFDUixTQUFTLHdlQUNULG9CQUFvQix1SEFDcEIsV0FBVyw4VkFDWCxZQUFZLDBnQkFDWixTQUFTLHFKQUNULFdBQVcsbVZBQ1gscUJBQXFCOzs0RkFHaEIscUJBQXFCO2tCQW5CakMsU0FBUzsrQkFDSSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLHFCQUFxQjtxQkFDeEI7c0ZBSWEsSUFBSTtzQkFBbkIsS0FBSztnQkFHQyxNQUFNO3NCQURaLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgU2ltcGxlU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3Qvc2ltcGxlLXNlbGVjdC1pdGVtJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLXRvLWl0ZW0vZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9mb3JtJztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9yZW1vdmUtaXNvbGF0ZS12YWx1ZS5waXBlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXNlbGVjdC1zaW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpbXBsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRGb3JtRmllbGQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE1hdExhYmVsLFxuICAgICAgICBNYXRTZWxlY3QsXG4gICAgICAgIEZvY3VzVG9JdGVtRGlyZWN0aXZlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRnNGb3JtTW9kdWxlLFxuICAgICAgICBNYXRPcHRpb24sXG4gICAgICAgIE1hdENoZWNrYm94LFxuICAgICAgICBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0U2ltcGxlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogU2ltcGxlU2VsZWN0SXRlbTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBcbiAgcHVibGljIHNlbGVjdDogTWF0U2VsZWN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBjaGFuZ2VkKCkge1xuICAgIGlmICh0aGlzLml0ZW0uaXNvbGF0ZSkge1xuICAgICAgdGhpcy5pdGVtLmlzb2xhdGUuZW5hYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc29sYXRlQ2hhbmdlKGZpbHRlcikge1xuICAgIGZpbHRlci5tb2RlbCA9IGZpbHRlci5pc29sYXRlLmVuYWJsZWQgPyBmaWx0ZXIuaXNvbGF0ZS52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBpc29sYXRlOiAhIWl0ZW0uaXNvbGF0ZSB9XCI+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbCB9fVxuICA8L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3RcbiAgICAjc2VsZWN0XG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpXCI+XG4gICAgQGZvciAoaXRlbSBvZiBpdGVtLnZhbHVlcyB8IGZzRmlsdGVySXNvbGF0ZVZhbHVlczogaXRlbS5pc29sYXRlOyB0cmFjayBpdGVtKSB7XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICB9XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG5AaWYgKGl0ZW0uaXNvbGF0ZSkge1xuICA8bWF0LWNoZWNrYm94XG4gICAgKGNoYW5nZSk9XCJpc29sYXRlQ2hhbmdlKGl0ZW0pXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW0uaXNvbGF0ZS5lbmFibGVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1sYWJlbFwiPlxuICAgICAge3sgaXRlbS5pc29sYXRlLmxhYmVsIH19XG4gICAgPC9zcGFuPlxuICA8L21hdC1jaGVja2JveD5cbn0iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { list as arrayList } from '@firestitch/common';
|
|
2
|
-
import { isObject } from 'lodash-es';
|
|
3
|
-
import { CheckboxItem, MultipleSelectItem } from '../models/items';
|
|
4
|
-
import { arraysAreEquals } from './compare';
|
|
5
|
-
import { filterToQueryParam } from './query-param-transformers';
|
|
6
|
-
export function buildQueryParams(flattenedParams, items) {
|
|
7
|
-
items
|
|
8
|
-
.forEach((filterItem) => {
|
|
9
|
-
if (filterItem instanceof MultipleSelectItem && filterItem.isolate) {
|
|
10
|
-
if (filterItem.multiple && filterItem.value) {
|
|
11
|
-
const isolated = arrayList(filterItem.values, 'value').sort();
|
|
12
|
-
const value = filterItem.value.sort();
|
|
13
|
-
if (arraysAreEquals(value, isolated)) {
|
|
14
|
-
flattenedParams[filterItem.name] = null;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
else if (filterItem instanceof CheckboxItem) {
|
|
19
|
-
if (filterItem.checked) {
|
|
20
|
-
flattenedParams[filterItem.name] = filterItem.model;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else if (filterItem.isTypeAutocomplete) {
|
|
24
|
-
if (isObject(filterItem.model)) {
|
|
25
|
-
flattenedParams[filterItem.name] = filterToQueryParam(filterItem.model.value, filterItem.model.name);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else if (filterItem.isTypeAutocompleteChips || filterItem.isTypeChips) {
|
|
29
|
-
if (Array.isArray(filterItem.model) && filterItem.model.length) {
|
|
30
|
-
flattenedParams[filterItem.name] = filterItem.model.map((item) => {
|
|
31
|
-
return filterToQueryParam(item.value, item.name);
|
|
32
|
-
}).join(',');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return flattenedParams;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcXVlcnktcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2J1aWxkLXF1ZXJ5LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJckMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLGVBQXlCLEVBQUUsS0FBb0M7SUFDOUYsS0FBSztTQUNGLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ3RCLElBQUksVUFBVSxZQUFZLGtCQUFrQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFFdEMsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3JDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUMxQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFLLFVBQVUsWUFBWSxZQUFZLEVBQUUsQ0FBQztZQUMvQyxJQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZHLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxVQUFVLENBQUMsdUJBQXVCLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0QsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUMvRCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxpc3QgYXMgYXJyYXlMaXN0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcblxuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tib3hJdGVtLCBNdWx0aXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuaW1wb3J0IHsgYXJyYXlzQXJlRXF1YWxzIH0gZnJvbSAnLi9jb21wYXJlJztcbmltcG9ydCB7IGZpbHRlclRvUXVlcnlQYXJhbSB9IGZyb20gJy4vcXVlcnktcGFyYW0tdHJhbnNmb3JtZXJzJztcblxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRRdWVyeVBhcmFtcyhmbGF0dGVuZWRQYXJhbXM6IEtleVZhbHVlLCBpdGVtczogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10pIHtcbiAgaXRlbXNcbiAgICAuZm9yRWFjaCgoZmlsdGVySXRlbSkgPT4ge1xuICAgICAgaWYgKGZpbHRlckl0ZW0gaW5zdGFuY2VvZiBNdWx0aXBsZVNlbGVjdEl0ZW0gJiYgZmlsdGVySXRlbS5pc29sYXRlKSB7XG4gICAgICAgIGlmIChmaWx0ZXJJdGVtLm11bHRpcGxlICYmIGZpbHRlckl0ZW0udmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBpc29sYXRlZCA9IGFycmF5TGlzdChmaWx0ZXJJdGVtLnZhbHVlcywgJ3ZhbHVlJykuc29ydCgpO1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gZmlsdGVySXRlbS52YWx1ZS5zb3J0KCk7XG5cbiAgICAgICAgICBpZiAoYXJyYXlzQXJlRXF1YWxzKHZhbHVlLCBpc29sYXRlZCkpIHtcbiAgICAgICAgICAgIGZsYXR0ZW5lZFBhcmFtc1tmaWx0ZXJJdGVtLm5hbWVdID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAgKGZpbHRlckl0ZW0gaW5zdGFuY2VvZiBDaGVja2JveEl0ZW0pIHtcbiAgICAgICAgaWYoZmlsdGVySXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgZmxhdHRlbmVkUGFyYW1zW2ZpbHRlckl0ZW0ubmFtZV0gPSBmaWx0ZXJJdGVtLm1vZGVsO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGZpbHRlckl0ZW0uaXNUeXBlQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgIGlmIChpc09iamVjdChmaWx0ZXJJdGVtLm1vZGVsKSkge1xuICAgICAgICAgIGZsYXR0ZW5lZFBhcmFtc1tmaWx0ZXJJdGVtLm5hbWVdID0gZmlsdGVyVG9RdWVyeVBhcmFtKGZpbHRlckl0ZW0ubW9kZWwudmFsdWUsIGZpbHRlckl0ZW0ubW9kZWwubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZmlsdGVySXRlbS5pc1R5cGVBdXRvY29tcGxldGVDaGlwcyB8fCBmaWx0ZXJJdGVtLmlzVHlwZUNoaXBzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlckl0ZW0ubW9kZWwpICYmIGZpbHRlckl0ZW0ubW9kZWwubGVuZ3RoKSB7XG4gICAgICAgICAgZmxhdHRlbmVkUGFyYW1zW2ZpbHRlckl0ZW0ubmFtZV0gPSBmaWx0ZXJJdGVtLm1vZGVsLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlclRvUXVlcnlQYXJhbShpdGVtLnZhbHVlLCBpdGVtLm5hbWUpO1xuICAgICAgICAgIH0pLmpvaW4oJywnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiBmbGF0dGVuZWRQYXJhbXM7XG59XG4iXX0=
|