@firestitch/filter 12.2.1 → 12.3.2

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.
Files changed (29) hide show
  1. package/app/interfaces/items/autocomplete-chips.interface.d.ts +2 -1
  2. package/app/interfaces/items/autocomplete.interface.d.ts +2 -1
  3. package/app/interfaces/items/base.interface.d.ts +9 -3
  4. package/app/interfaces/items/checkbox.interface.d.ts +1 -0
  5. package/app/interfaces/items/chips.interface.d.ts +2 -1
  6. package/app/interfaces/items/date.interface.d.ts +1 -0
  7. package/app/interfaces/items/select.interface.d.ts +1 -0
  8. package/app/interfaces/items/text.interface.d.ts +1 -0
  9. package/app/models/items/base-item.d.ts +4 -3
  10. package/app/services/external-params/persistance-params-controller.service.d.ts +0 -1
  11. package/app/services/items-store.service.d.ts +1 -2
  12. package/bundles/firestitch-filter.umd.js +8 -9
  13. package/bundles/firestitch-filter.umd.js.map +1 -1
  14. package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
  15. package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
  16. package/esm2015/app/interfaces/items/base.interface.js +1 -1
  17. package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
  18. package/esm2015/app/interfaces/items/chips.interface.js +1 -1
  19. package/esm2015/app/interfaces/items/date.interface.js +1 -1
  20. package/esm2015/app/interfaces/items/select.interface.js +1 -1
  21. package/esm2015/app/interfaces/items/text.interface.js +1 -1
  22. package/esm2015/app/models/items/base-item.js +1 -1
  23. package/esm2015/app/models/items/select/multiple-select-item.js +6 -3
  24. package/esm2015/app/services/external-params/persistance-params-controller.service.js +4 -4
  25. package/esm2015/app/services/external-params-controller.service.js +2 -2
  26. package/esm2015/app/services/items-store.service.js +1 -1
  27. package/fesm2015/firestitch-filter.js +9 -6
  28. package/fesm2015/firestitch-filter.js.map +1 -1
  29. package/package.json +2 -2
@@ -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<unknown>;
7
- export interface IFilterConfigBaseItem<T = ItemType, U = string> {
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?: IFilterDefaultFn | any;
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
  }
@@ -3,4 +3,5 @@ import { ItemDateMode } from '../../enums/item-date-mode.enum';
3
3
  export interface IFilterConfigDateItem extends IFilterConfigBaseItem<FilterConfigDateType> {
4
4
  maxYear?: number;
5
5
  mode?: ItemDateMode;
6
+ default?: Date | string;
6
7
  }
@@ -6,6 +6,7 @@ export interface IFilterConfigSelectItem extends IFilterConfigBaseItem<ItemType.
6
6
  multiple?: boolean;
7
7
  children?: string;
8
8
  values?: FilterValuesReturnFn;
9
+ default?: string[] | string;
9
10
  }
10
11
  export interface IFilterConfigSelectIsolate {
11
12
  label: string;
@@ -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 { IFilterConfigBaseItem, IFilterDefaultFn } from '../../interfaces/items/base.interface';
2
+ import { IFilterDefaultFn } from '../../interfaces/items/base.interface';
3
3
  import { IFilterItemDefaultRange } from '../../interfaces/items/range.interface';
4
- export declare abstract class BaseItem<T extends IFilterConfigBaseItem> {
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<IFilterConfigBaseItem>;
37
+ getItemByName(name: string): BaseItem<IFilterConfigItem>;
39
38
  initItems(items: IFilterConfigItem[]): void;
40
39
  filtersClear(): void;
41
40
  loadAsyncValues(): void;
@@ -847,11 +847,14 @@
847
847
  };
848
848
  MultipleSelectItem.prototype._validateModel = function () {
849
849
  var _this = this;
850
- this.model = common.filter(this.model || [], function (item) {
850
+ var possibleValues = common.filter(this.model || [], function (item) {
851
851
  return _this.values.find(function (value) {
852
852
  return value.value == item;
853
853
  });
854
854
  });
855
+ if (!common.isArrayEqual(this.model, possibleValues)) {
856
+ this.model = possibleValues;
857
+ }
855
858
  };
856
859
  MultipleSelectItem.prototype._clearValue = function (defaultValue) {
857
860
  if (defaultValue === void 0) { defaultValue = undefined; }
@@ -2471,13 +2474,6 @@
2471
2474
  _this.STORE_KEY = FILTER_STORE_KEY;
2472
2475
  return _this;
2473
2476
  }
2474
- Object.defineProperty(PersistanceParamsController.prototype, "enalbed", {
2475
- get: function () {
2476
- return this._enabled;
2477
- },
2478
- enumerable: false,
2479
- configurable: true
2480
- });
2481
2477
  PersistanceParamsController.prototype.init = function (persistanceConfig, namespace, paramsCase) {
2482
2478
  this._paramsCase = paramsCase;
2483
2479
  namespace = namespace !== null && namespace !== void 0 ? namespace : common.getNormalizedPath(this._location);
@@ -2485,6 +2481,9 @@
2485
2481
  this.setConfig(persistanceConfig, namespace, persistanceDisabled);
2486
2482
  };
2487
2483
  PersistanceParamsController.prototype.restore = function () {
2484
+ if (!this.enabled) {
2485
+ return;
2486
+ }
2488
2487
  _super.prototype.restore.call(this);
2489
2488
  var items = __spreadArray(__spreadArray([], __read(this._itemsStore.items)), [
2490
2489
  this._itemsStore.sortByItem,
@@ -2811,7 +2810,7 @@
2811
2810
  get: function () {
2812
2811
  var _a;
2813
2812
  var result = {};
2814
- if (this._persistanceStore.enalbed) {
2813
+ if (this._persistanceStore.enabled) {
2815
2814
  Object.assign(result, (_a = this._persistanceStore.value) === null || _a === void 0 ? void 0 : _a.data);
2816
2815
  }
2817
2816
  if (this._savedFilters.enabled && this._savedFilters.activeFilter) {