@firestitch/filter 18.2.108 → 18.2.110

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.
@@ -12,4 +12,4 @@ import { RangeItem } from '../models/items/range-item';
12
12
  import { SelectItem } from '../models/items/select-item';
13
13
  import { TextItem } from '../models/items/text-item';
14
14
  import { WeekItem } from '../models/items/week-item';
15
- export declare function createFilterItem(item: IFilterConfigItem, filter: FilterComponent): AutocompleteItem | CheckboxItem | ChipsItem | DateItem | DateRangeItem | DateTimeItem | DateTimeRangeItem | TextItem | RangeItem | SelectItem | WeekItem | AutocompleteChipsItem;
15
+ export declare function createFilterItem(item: IFilterConfigItem, filter: FilterComponent): AutocompleteItem | TextItem | SelectItem | ChipsItem | RangeItem | AutocompleteChipsItem | DateItem | DateTimeItem | DateRangeItem | DateTimeRangeItem | WeekItem | CheckboxItem;
@@ -3,10 +3,21 @@ import { IFilterConfigAutocompleteItem } from '../../interfaces/items/autocomple
3
3
  import { BaseAutocompleteItem } from './base-autocomplete-item';
4
4
  export declare class AutocompleteItem extends BaseAutocompleteItem<IFilterConfigAutocompleteItem> {
5
5
  static create(config: IFilterConfigAutocompleteItem, filter: FilterComponent): AutocompleteItem;
6
+ /**
7
+ * Returns the unwrapped primitive value (e.g. 123) from the
8
+ * underlying {name, value} object stored via BaseItem.
9
+ */
6
10
  get value(): any;
7
- get query(): {
8
- [x: string]: string;
9
- };
11
+ /**
12
+ * API-ready query: returns the raw primitive value keyed by item name.
13
+ */
14
+ get query(): Record<string, any>;
15
+ /**
16
+ * URL-ready query param: returns `value:encodedName` format for
17
+ * round-tripping through browser query strings.
18
+ * Uses super.value to access the full {name, value} object.
19
+ */
20
+ get queryParam(): Record<string, unknown>;
10
21
  get chips(): {
11
22
  name?: string;
12
23
  value: string;
@@ -1,24 +1,41 @@
1
- import { clone } from 'lodash-es';
2
1
  import { encodeQueryParam } from '../../helpers';
3
2
  import { BaseAutocompleteItem } from './base-autocomplete-item';
4
3
  export class AutocompleteItem extends BaseAutocompleteItem {
5
4
  static create(config, filter) {
6
5
  return new AutocompleteItem(config, filter);
7
6
  }
7
+ /**
8
+ * Returns the unwrapped primitive value (e.g. 123) from the
9
+ * underlying {name, value} object stored via BaseItem.
10
+ */
8
11
  get value() {
9
- let value = clone(super.value);
10
12
  if (!super.value || super.value.value === undefined) {
11
13
  return undefined;
12
14
  }
13
- value = super.value.value;
14
- return value;
15
+ return super.value.value;
15
16
  }
17
+ /**
18
+ * API-ready query: returns the raw primitive value keyed by item name.
19
+ */
16
20
  get query() {
17
21
  if (!this.hasValue) {
18
22
  return {};
19
23
  }
20
24
  return {
21
- [this.name]: `${this.value.value}:${encodeQueryParam(this.value.name)}`,
25
+ [this.name]: this.value,
26
+ };
27
+ }
28
+ /**
29
+ * URL-ready query param: returns `value:encodedName` format for
30
+ * round-tripping through browser query strings.
31
+ * Uses super.value to access the full {name, value} object.
32
+ */
33
+ get queryParam() {
34
+ if (!this.hasValue) {
35
+ return {};
36
+ }
37
+ return {
38
+ [this.name]: `${super.value.value}:${encodeQueryParam(super.value.name)}`,
22
39
  };
23
40
  }
24
41
  get chips() {
@@ -27,10 +44,10 @@ export class AutocompleteItem extends BaseAutocompleteItem {
27
44
  }
28
45
  return [
29
46
  {
30
- value: this.value ? this.value.name : '',
31
- label: this.value.label,
47
+ value: super.value.name ?? '',
48
+ label: this.label,
32
49
  },
33
50
  ];
34
51
  }
35
52
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW1EO0lBRWhGLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBcUMsRUFBRSxNQUF1QjtRQUNqRixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1NBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0w7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2FBQ3hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgY2xvbmUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZW5jb2RlUXVlcnlQYXJhbSB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYmFzZS1hdXRvY29tcGxldGUtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUl0ZW0gZXh0ZW5kcyBCYXNlQXV0b2NvbXBsZXRlSXRlbTxJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlSXRlbT4ge1xuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNvbmZpZzogSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVJdGVtKGNvbmZpZywgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUoc3VwZXIudmFsdWUpO1xuXG4gICAgaWYgKCFzdXBlci52YWx1ZSB8fCBzdXBlci52YWx1ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHZhbHVlID0gc3VwZXIudmFsdWUudmFsdWU7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5KCkge1xuICAgIGlmKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFt0aGlzLm5hbWVdOiBgJHt0aGlzLnZhbHVlLnZhbHVlfToke2VuY29kZVF1ZXJ5UGFyYW0odGhpcy52YWx1ZS5uYW1lKX1gLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzKCk6IHsgbmFtZT86IHN0cmluZywgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9W10ge1xuICAgIGlmKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLm5hbWUgOiAnJywgXG4gICAgICAgIGxhYmVsOiB0aGlzLnZhbHVlLmxhYmVsLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFtRDtJQUVoRixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQXFDLEVBQUUsTUFBdUI7UUFDakYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtTQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGVuY29kZVF1ZXJ5UGFyYW0gfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZUF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2Jhc2UtYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVJdGVtIGV4dGVuZHMgQmFzZUF1dG9jb21wbGV0ZUl0ZW08SUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0+IHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgQXV0b2NvbXBsZXRlSXRlbShjb25maWcsIGZpbHRlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdW53cmFwcGVkIHByaW1pdGl2ZSB2YWx1ZSAoZS5nLiAxMjMpIGZyb20gdGhlXG4gICAqIHVuZGVybHlpbmcge25hbWUsIHZhbHVlfSBvYmplY3Qgc3RvcmVkIHZpYSBCYXNlSXRlbS5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgaWYgKCFzdXBlci52YWx1ZSB8fCBzdXBlci52YWx1ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci52YWx1ZS52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBUEktcmVhZHkgcXVlcnk6IHJldHVybnMgdGhlIHJhdyBwcmltaXRpdmUgdmFsdWUga2V5ZWQgYnkgaXRlbSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGdldCBxdWVyeSgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBpZiAoIXRoaXMuaGFzVmFsdWUpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3RoaXMubmFtZV06IHRoaXMudmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVUkwtcmVhZHkgcXVlcnkgcGFyYW06IHJldHVybnMgYHZhbHVlOmVuY29kZWROYW1lYCBmb3JtYXQgZm9yXG4gICAqIHJvdW5kLXRyaXBwaW5nIHRocm91Z2ggYnJvd3NlciBxdWVyeSBzdHJpbmdzLlxuICAgKiBVc2VzIHN1cGVyLnZhbHVlIHRvIGFjY2VzcyB0aGUgZnVsbCB7bmFtZSwgdmFsdWV9IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgaWYgKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFt0aGlzLm5hbWVdOiBgJHtzdXBlci52YWx1ZS52YWx1ZX06JHtlbmNvZGVRdWVyeVBhcmFtKHN1cGVyLnZhbHVlLm5hbWUpfWAsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcHMoKTogeyBuYW1lPzogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXSB7XG4gICAgaWYgKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHN1cGVyLnZhbHVlLm5hbWUgPz8gJycsXG4gICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iXX0=
@@ -23,7 +23,7 @@ import * as i1$3 from '@firestitch/autocomplete-chips';
23
23
  import { FsAutocompleteChipsComponent, FsAutocompleteChipsModule } from '@firestitch/autocomplete-chips';
24
24
  import * as i2$1 from '@firestitch/datepicker';
25
25
  import { FsDatePickerComponent, FsDateScrollPickerComponent, DateRangePickerFromComponent, DateRangePickerToComponent, formatPeriodObject, FsDatePickerModule } from '@firestitch/datepicker';
26
- import { isObject, isFunction, clone, toString } from 'lodash-es';
26
+ import { isObject, isFunction, toString } from 'lodash-es';
27
27
  import { isDate, isValid, parseISO } from 'date-fns';
28
28
  import { iso8601, format } from '@firestitch/date';
29
29
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -1651,20 +1651,38 @@ class AutocompleteItem extends BaseAutocompleteItem {
1651
1651
  static create(config, filter) {
1652
1652
  return new AutocompleteItem(config, filter);
1653
1653
  }
1654
+ /**
1655
+ * Returns the unwrapped primitive value (e.g. 123) from the
1656
+ * underlying {name, value} object stored via BaseItem.
1657
+ */
1654
1658
  get value() {
1655
- let value = clone(super.value);
1656
1659
  if (!super.value || super.value.value === undefined) {
1657
1660
  return undefined;
1658
1661
  }
1659
- value = super.value.value;
1660
- return value;
1662
+ return super.value.value;
1661
1663
  }
1664
+ /**
1665
+ * API-ready query: returns the raw primitive value keyed by item name.
1666
+ */
1662
1667
  get query() {
1663
1668
  if (!this.hasValue) {
1664
1669
  return {};
1665
1670
  }
1666
1671
  return {
1667
- [this.name]: `${this.value.value}:${encodeQueryParam(this.value.name)}`,
1672
+ [this.name]: this.value,
1673
+ };
1674
+ }
1675
+ /**
1676
+ * URL-ready query param: returns `value:encodedName` format for
1677
+ * round-tripping through browser query strings.
1678
+ * Uses super.value to access the full {name, value} object.
1679
+ */
1680
+ get queryParam() {
1681
+ if (!this.hasValue) {
1682
+ return {};
1683
+ }
1684
+ return {
1685
+ [this.name]: `${super.value.value}:${encodeQueryParam(super.value.name)}`,
1668
1686
  };
1669
1687
  }
1670
1688
  get chips() {
@@ -1673,8 +1691,8 @@ class AutocompleteItem extends BaseAutocompleteItem {
1673
1691
  }
1674
1692
  return [
1675
1693
  {
1676
- value: this.value ? this.value.name : '',
1677
- label: this.value.label,
1694
+ value: super.value.name ?? '',
1695
+ label: this.label,
1678
1696
  },
1679
1697
  ];
1680
1698
  }