@firestitch/filter 12.2.0 → 12.3.1
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/interfaces/items/autocomplete-chips.interface.d.ts +2 -1
- package/app/interfaces/items/autocomplete.interface.d.ts +2 -1
- package/app/interfaces/items/base.interface.d.ts +9 -3
- package/app/interfaces/items/checkbox.interface.d.ts +1 -0
- package/app/interfaces/items/chips.interface.d.ts +2 -1
- package/app/interfaces/items/date.interface.d.ts +1 -0
- package/app/interfaces/items/select.interface.d.ts +1 -0
- package/app/interfaces/items/text.interface.d.ts +1 -0
- package/app/models/items/base-item.d.ts +4 -3
- package/app/services/external-params/persistance-params-controller.service.d.ts +0 -1
- package/app/services/items-store.service.d.ts +1 -2
- package/bundles/firestitch-filter.umd.js +12 -14
- package/bundles/firestitch-filter.umd.js.map +1 -1
- package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
- package/esm2015/app/interfaces/items/base.interface.js +1 -1
- package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
- package/esm2015/app/interfaces/items/chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/date.interface.js +1 -1
- package/esm2015/app/interfaces/items/select.interface.js +1 -1
- package/esm2015/app/interfaces/items/text.interface.js +1 -1
- package/esm2015/app/models/items/base-item.js +1 -1
- package/esm2015/app/services/external-params/persistance-params-controller.service.js +10 -9
- package/esm2015/app/services/external-params/query-params-controller.service.js +4 -3
- package/esm2015/app/services/external-params-controller.service.js +2 -2
- package/esm2015/app/services/items-store.service.js +1 -1
- package/fesm2015/firestitch-filter.js +13 -11
- package/fesm2015/firestitch-filter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IFilterConfigBaseItem } from './base.interface';
|
|
1
|
+
import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
|
|
2
2
|
import { ItemType } from '../../enums/item-type.enum';
|
|
3
3
|
export interface IFilterConfigAutocompleteChipsItem extends IFilterConfigBaseItem<ItemType.AutoCompleteChips> {
|
|
4
4
|
fetchOnFocus?: boolean;
|
|
@@ -8,4 +8,5 @@ export interface IFilterConfigAutocompleteChipsItem extends IFilterConfigBaseIte
|
|
|
8
8
|
chipBackground?: string;
|
|
9
9
|
chipIcon?: string;
|
|
10
10
|
chipClass?: string;
|
|
11
|
+
default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
|
|
11
12
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IFilterConfigBaseItem } from './base.interface';
|
|
1
|
+
import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
|
|
2
2
|
import { ItemType } from '../../enums/item-type.enum';
|
|
3
3
|
export interface IFilterConfigAutocompleteItem extends IFilterConfigBaseItem<ItemType.AutoComplete> {
|
|
4
4
|
fetchOnFocus?: boolean;
|
|
5
|
+
default?: IFilterDefaultFn<FilterNameValue> | FilterNameValue;
|
|
5
6
|
}
|
|
@@ -3,8 +3,13 @@ import { ItemType } from '../../enums/item-type.enum';
|
|
|
3
3
|
import { BaseItem } from '../../models/items/base-item';
|
|
4
4
|
export declare type FilterConfigDateType = ItemType.Date | ItemType.DateTime | ItemType.DateRange | ItemType.DateTimeRange;
|
|
5
5
|
export declare type FilterDateRangeType = ItemType.DateRange | ItemType.DateTimeRange;
|
|
6
|
-
export declare type IFilterDefaultFn = () => Observable<
|
|
7
|
-
export
|
|
6
|
+
export declare type IFilterDefaultFn<T extends unknown = unknown> = () => Observable<T>;
|
|
7
|
+
export declare type FilterNameValue = {
|
|
8
|
+
name: string;
|
|
9
|
+
value: unknown;
|
|
10
|
+
};
|
|
11
|
+
declare type DefaultItemType = ItemType.Date | ItemType.DateTime | ItemType.Week | ItemType.Keyword;
|
|
12
|
+
export interface IFilterConfigBaseItem<T = DefaultItemType, U = string> {
|
|
8
13
|
name: string;
|
|
9
14
|
type: T;
|
|
10
15
|
label: string | string[];
|
|
@@ -13,9 +18,10 @@ export interface IFilterConfigBaseItem<T = ItemType, U = string> {
|
|
|
13
18
|
disable?: boolean;
|
|
14
19
|
values?: any;
|
|
15
20
|
primary?: boolean;
|
|
16
|
-
default?:
|
|
21
|
+
default?: unknown;
|
|
17
22
|
change?: (item: BaseItem<any>) => void;
|
|
18
23
|
clear?: boolean;
|
|
19
24
|
disablePersist?: boolean;
|
|
20
25
|
disableQueryParams?: boolean;
|
|
21
26
|
}
|
|
27
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ItemType } from '../../enums/item-type.enum';
|
|
2
2
|
import { IFilterConfigBaseItem } from './base.interface';
|
|
3
3
|
export interface IFilterConfigCheckboxItem extends IFilterConfigBaseItem<ItemType.Checkbox> {
|
|
4
|
+
default?: boolean;
|
|
4
5
|
checked?: unknown;
|
|
5
6
|
unchecked?: unknown;
|
|
6
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ItemType } from '../../enums/item-type.enum';
|
|
2
|
-
import { IFilterConfigBaseItem } from './base.interface';
|
|
2
|
+
import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
|
|
3
3
|
export interface IFilterConfigChipsItem extends IFilterConfigBaseItem<ItemType.Chips> {
|
|
4
4
|
multiple?: boolean;
|
|
5
|
+
default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
|
|
5
6
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ItemType } from '../../enums/item-type.enum';
|
|
2
2
|
import { IFilterConfigBaseItem } from './base.interface';
|
|
3
3
|
export interface IFilterConfigTextItem extends IFilterConfigBaseItem<ItemType.Text | ItemType.Keyword>, IFilterItemWithPrefixSuffix {
|
|
4
|
+
default?: string;
|
|
4
5
|
}
|
|
5
6
|
export interface IFilterItemWithPrefixSuffix {
|
|
6
7
|
prefix?: string;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { IFilterDefaultFn } from '../../interfaces/items/base.interface';
|
|
3
3
|
import { IFilterItemDefaultRange } from '../../interfaces/items/range.interface';
|
|
4
|
-
|
|
4
|
+
import { IFilterConfigItem } from '../../interfaces/config.interface';
|
|
5
|
+
export declare abstract class BaseItem<T extends IFilterConfigItem> {
|
|
5
6
|
protected _additionalConfig: unknown;
|
|
6
7
|
name: string;
|
|
7
8
|
label: string | string[];
|
|
8
9
|
chipLabel: string | string[];
|
|
9
10
|
hide: boolean;
|
|
10
11
|
defaultValue: any | IFilterItemDefaultRange;
|
|
11
|
-
defaultValueFn: IFilterDefaultFn
|
|
12
|
+
defaultValueFn: IFilterDefaultFn<unknown>;
|
|
12
13
|
persistedValue: unknown;
|
|
13
14
|
clearAllowed: boolean;
|
|
14
15
|
persistanceDisabled: boolean;
|
|
@@ -15,7 +15,6 @@ export declare class PersistanceParamsController extends FsPersistanceStore<FsFi
|
|
|
15
15
|
protected STORE_KEY: string;
|
|
16
16
|
protected _paramsCase: 'snake' | 'camel';
|
|
17
17
|
constructor(_store: FsStore, _route: ActivatedRoute, _location: Location, _itemsStore: FsFilterItemsStore, _dialogRef: MatDialogRef<unknown>, _drawerRef: DrawerRef<unknown>);
|
|
18
|
-
get enalbed(): boolean;
|
|
19
18
|
init(persistanceConfig: FsFilterPersistance, namespace: string, paramsCase: 'snake' | 'camel'): void;
|
|
20
19
|
restore(): void;
|
|
21
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<PersistanceParamsController, [null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
@@ -5,7 +5,6 @@ import { BaseItem } from '../models/items/base-item';
|
|
|
5
5
|
import { ISortingChangeEvent } from '../interfaces/filter.interface';
|
|
6
6
|
import { TextItem } from '../models/items/text-item';
|
|
7
7
|
import { IFilterExternalParams } from '../interfaces/external-params.interface';
|
|
8
|
-
import { IFilterConfigBaseItem } from '../interfaces/items/base.interface';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
interface IValueAsQuery {
|
|
11
10
|
onlyPresented?: boolean;
|
|
@@ -35,7 +34,7 @@ export declare class FsFilterItemsStore implements OnDestroy {
|
|
|
35
34
|
get ready$(): Observable<boolean>;
|
|
36
35
|
ngOnDestroy(): void;
|
|
37
36
|
setConfig(config: any): void;
|
|
38
|
-
getItemByName(name: string): BaseItem<
|
|
37
|
+
getItemByName(name: string): BaseItem<IFilterConfigItem>;
|
|
39
38
|
initItems(items: IFilterConfigItem[]): void;
|
|
40
39
|
filtersClear(): void;
|
|
41
40
|
loadAsyncValues(): void;
|
|
@@ -2471,13 +2471,6 @@
|
|
|
2471
2471
|
_this.STORE_KEY = FILTER_STORE_KEY;
|
|
2472
2472
|
return _this;
|
|
2473
2473
|
}
|
|
2474
|
-
Object.defineProperty(PersistanceParamsController.prototype, "enalbed", {
|
|
2475
|
-
get: function () {
|
|
2476
|
-
return this._enabled;
|
|
2477
|
-
},
|
|
2478
|
-
enumerable: false,
|
|
2479
|
-
configurable: true
|
|
2480
|
-
});
|
|
2481
2474
|
PersistanceParamsController.prototype.init = function (persistanceConfig, namespace, paramsCase) {
|
|
2482
2475
|
this._paramsCase = paramsCase;
|
|
2483
2476
|
namespace = namespace !== null && namespace !== void 0 ? namespace : common.getNormalizedPath(this._location);
|
|
@@ -2485,12 +2478,16 @@
|
|
|
2485
2478
|
this.setConfig(persistanceConfig, namespace, persistanceDisabled);
|
|
2486
2479
|
};
|
|
2487
2480
|
PersistanceParamsController.prototype.restore = function () {
|
|
2481
|
+
if (!this.enabled) {
|
|
2482
|
+
return;
|
|
2483
|
+
}
|
|
2488
2484
|
_super.prototype.restore.call(this);
|
|
2485
|
+
var items = __spreadArray(__spreadArray([], __read(this._itemsStore.items)), [
|
|
2486
|
+
this._itemsStore.sortByItem,
|
|
2487
|
+
this._itemsStore.sortDirectionItem,
|
|
2488
|
+
]).filter(function (item) { return !!item; });
|
|
2489
2489
|
if (this._value) {
|
|
2490
|
-
this._value.data = restoreItems(this._value.data,
|
|
2491
|
-
this._itemsStore.sortByItem,
|
|
2492
|
-
this._itemsStore.sortDirectionItem,
|
|
2493
|
-
]), this._paramsCase);
|
|
2490
|
+
this._value.data = restoreItems(this._value.data, items, this._paramsCase);
|
|
2494
2491
|
}
|
|
2495
2492
|
};
|
|
2496
2493
|
return PersistanceParamsController;
|
|
@@ -2551,10 +2548,11 @@
|
|
|
2551
2548
|
* Parse query and update filter values
|
|
2552
2549
|
*/
|
|
2553
2550
|
QueryParamsController.prototype.fetchFromQueryParams = function () {
|
|
2554
|
-
|
|
2551
|
+
var items = __spreadArray(__spreadArray([], __read(this._itemsStore.items)), [
|
|
2555
2552
|
this._itemsStore.sortByItem,
|
|
2556
2553
|
this._itemsStore.sortDirectionItem,
|
|
2557
|
-
])
|
|
2554
|
+
]).filter(function (item) { return !!item; });
|
|
2555
|
+
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
|
|
2558
2556
|
};
|
|
2559
2557
|
return QueryParamsController;
|
|
2560
2558
|
}());
|
|
@@ -2809,7 +2807,7 @@
|
|
|
2809
2807
|
get: function () {
|
|
2810
2808
|
var _a;
|
|
2811
2809
|
var result = {};
|
|
2812
|
-
if (this._persistanceStore.
|
|
2810
|
+
if (this._persistanceStore.enabled) {
|
|
2813
2811
|
Object.assign(result, (_a = this._persistanceStore.value) === null || _a === void 0 ? void 0 : _a.data);
|
|
2814
2812
|
}
|
|
2815
2813
|
if (this._savedFilters.enabled && this._savedFilters.activeFilter) {
|