@firestitch/filter 18.0.2 → 18.0.4
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 +2 -3
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +1 -1
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +1 -1
- package/app/components/filters-item/base-item/base-item.component.d.ts +4 -2
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +1 -1
- package/app/components/filters-item/date/date.component.d.ts +2 -2
- package/app/components/filters-item/range/range.component.d.ts +1 -1
- package/app/components/filters-item/select/select.component.d.ts +5 -5
- package/app/components/filters-item/text/text.component.d.ts +3 -6
- package/app/helpers/create-filter-item.d.ts +1 -1
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +1 -1
- package/app/models/items/base-item.d.ts +11 -12
- package/app/models/items/checkbox-item.d.ts +4 -5
- package/app/models/items/date/base-date-item.d.ts +2 -2
- package/app/models/items/date-time-item.d.ts +1 -0
- package/app/services/external-params/persistance-params-controller.service.d.ts +0 -1
- package/app/services/items-store.service.d.ts +1 -2
- package/esm2022/app/components/filter/filter.component.mjs +5 -7
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +13 -25
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +3 -3
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +1 -1
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +3 -3
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +7 -1
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/app/components/filters-item/date/date.component.mjs +7 -12
- package/esm2022/app/components/filters-item/range/range.component.mjs +3 -3
- package/esm2022/app/components/filters-item/select/select.component.mjs +2 -2
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +4 -9
- package/esm2022/app/components/filters-item/text/text.component.mjs +2 -8
- package/esm2022/app/helpers/create-filter-item.mjs +2 -2
- package/esm2022/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2022/app/models/items/base-item.mjs +8 -11
- package/esm2022/app/models/items/checkbox-item.mjs +12 -17
- package/esm2022/app/models/items/date/base-date-item.mjs +3 -3
- package/esm2022/app/models/items/date-time-item.mjs +4 -1
- package/esm2022/app/models/items/week-item.mjs +4 -2
- package/esm2022/app/services/external-params/persistance-params-controller.service.mjs +1 -3
- package/esm2022/app/services/items-store.service.mjs +13 -18
- package/fesm2022/firestitch-filter.mjs +72 -105
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -137,15 +137,15 @@ class BaseItem {
|
|
|
137
137
|
change;
|
|
138
138
|
init;
|
|
139
139
|
_type;
|
|
140
|
-
_model;
|
|
140
|
+
_model = undefined;
|
|
141
141
|
_pendingValues = false;
|
|
142
142
|
_pendingDefaultValue = false;
|
|
143
143
|
_initializedValues = false;
|
|
144
|
+
_valuesFn;
|
|
144
145
|
_loading$ = new BehaviorSubject(false);
|
|
145
146
|
_value$ = new BehaviorSubject(null);
|
|
146
147
|
_valueChange$ = new Subject();
|
|
147
148
|
_values$ = new BehaviorSubject(null);
|
|
148
|
-
_valuesFn;
|
|
149
149
|
_destroy$ = new Subject();
|
|
150
150
|
_clear$ = new Subject();
|
|
151
151
|
constructor(itemConfig, _additionalConfig, _filter) {
|
|
@@ -242,9 +242,6 @@ class BaseItem {
|
|
|
242
242
|
set loading(value) {
|
|
243
243
|
this._loading$.next(value);
|
|
244
244
|
}
|
|
245
|
-
get _initialized() {
|
|
246
|
-
return !this._pendingDefaultValue && !this._pendingValues && this._initializedValues;
|
|
247
|
-
}
|
|
248
245
|
valueChanged() {
|
|
249
246
|
this._value$.next(this.value);
|
|
250
247
|
if (this.change) {
|
|
@@ -325,9 +322,6 @@ class BaseItem {
|
|
|
325
322
|
this._clear$.next(defaultValue);
|
|
326
323
|
this._clearValue(defaultValue);
|
|
327
324
|
}
|
|
328
|
-
getChipsContent(type) {
|
|
329
|
-
return '';
|
|
330
|
-
}
|
|
331
325
|
destroy() {
|
|
332
326
|
this._destroy$.next(null);
|
|
333
327
|
this._destroy$.complete();
|
|
@@ -345,10 +339,10 @@ class BaseItem {
|
|
|
345
339
|
else {
|
|
346
340
|
this.defaultValue = item.default;
|
|
347
341
|
}
|
|
348
|
-
this.
|
|
349
|
-
this.init = item.init || ((_) => {
|
|
342
|
+
this.init = item.init || (() => {
|
|
350
343
|
//
|
|
351
344
|
});
|
|
345
|
+
this.change = item.change;
|
|
352
346
|
this.hide = item.hide;
|
|
353
347
|
this.showClear = item.clear ?? true;
|
|
354
348
|
this.persistanceDisabled = item.disablePersist ?? false;
|
|
@@ -369,6 +363,9 @@ class BaseItem {
|
|
|
369
363
|
_clearValue(defaultValue = undefined) {
|
|
370
364
|
this.model = defaultValue ?? undefined;
|
|
371
365
|
}
|
|
366
|
+
get _initialized() {
|
|
367
|
+
return !this._pendingDefaultValue && !this._pendingValues && this._initializedValues;
|
|
368
|
+
}
|
|
372
369
|
}
|
|
373
370
|
|
|
374
371
|
class BaseSelectItem extends BaseItem {
|
|
@@ -821,7 +818,9 @@ class WeekItem extends BaseItem {
|
|
|
821
818
|
getChipsContent(type = null) {
|
|
822
819
|
return formatPeriodObject(this.value);
|
|
823
820
|
}
|
|
824
|
-
_validateModel() {
|
|
821
|
+
_validateModel() {
|
|
822
|
+
//
|
|
823
|
+
}
|
|
825
824
|
_setModel(value) {
|
|
826
825
|
if (value) {
|
|
827
826
|
value.from = parseDate(value.from);
|
|
@@ -1069,19 +1068,22 @@ class AutocompleteItem extends BaseAutocompleteItem {
|
|
|
1069
1068
|
}
|
|
1070
1069
|
|
|
1071
1070
|
class CheckboxItem extends BaseItem {
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1071
|
+
_checked;
|
|
1072
|
+
_unchecked;
|
|
1073
|
+
constructor(config, _additionalConfig, filter) {
|
|
1074
|
+
super(config, null, filter);
|
|
1075
|
+
this.defaultValue = config.default === undefined ? this._unchecked : toString(this.defaultValue);
|
|
1076
|
+
this._checked = config.checked ? toString(config.checked) : true;
|
|
1077
|
+
this._unchecked = config.unchecked ? toString(config.unchecked) : false;
|
|
1076
1078
|
}
|
|
1077
1079
|
get isTypeCheckbox() {
|
|
1078
1080
|
return true;
|
|
1079
1081
|
}
|
|
1080
1082
|
get isChipVisible() {
|
|
1081
|
-
return this.value === this.
|
|
1083
|
+
return this.value === this._checked;
|
|
1082
1084
|
}
|
|
1083
1085
|
get value() {
|
|
1084
|
-
const value = this.model ? this.
|
|
1086
|
+
const value = this.model ? this._checked || 'true' : this._unchecked;
|
|
1085
1087
|
if (!value) {
|
|
1086
1088
|
return undefined;
|
|
1087
1089
|
}
|
|
@@ -1100,17 +1102,9 @@ class CheckboxItem extends BaseItem {
|
|
|
1100
1102
|
_validateModel() {
|
|
1101
1103
|
//
|
|
1102
1104
|
}
|
|
1103
|
-
_parseConfig(item) {
|
|
1104
|
-
this.checked = item.checked;
|
|
1105
|
-
this.unchecked = item.unchecked;
|
|
1106
|
-
this.checked = item.checked ? toString(item.checked) : true;
|
|
1107
|
-
this.unchecked = item.unchecked ? toString(item.unchecked) : false;
|
|
1108
|
-
this.defaultValue = item.default === undefined ? this.unchecked : toString(this.defaultValue);
|
|
1109
|
-
super._parseConfig(item);
|
|
1110
|
-
}
|
|
1111
1105
|
_init() {
|
|
1112
|
-
if (this.model === undefined) {
|
|
1113
|
-
this._model = this.
|
|
1106
|
+
if (this.model === undefined && this.defaultValue !== undefined) {
|
|
1107
|
+
this._model = this._checked === this.defaultValue;
|
|
1114
1108
|
}
|
|
1115
1109
|
}
|
|
1116
1110
|
_clearValue(defaultValue = undefined) {
|
|
@@ -1278,6 +1272,9 @@ class DateTimeItem extends BaseDateItem {
|
|
|
1278
1272
|
static create(config, filter) {
|
|
1279
1273
|
return new DateTimeItem(config, null, filter);
|
|
1280
1274
|
}
|
|
1275
|
+
getChipsContent() {
|
|
1276
|
+
return null;
|
|
1277
|
+
}
|
|
1281
1278
|
_clearValue(defaultValue = undefined) {
|
|
1282
1279
|
this.model = defaultValue ?? undefined;
|
|
1283
1280
|
}
|
|
@@ -1438,7 +1435,7 @@ function createFilterItem(item, config, filter) {
|
|
|
1438
1435
|
return AutocompleteChipsItem.create(item, filter);
|
|
1439
1436
|
}
|
|
1440
1437
|
case ItemType.Checkbox: {
|
|
1441
|
-
return CheckboxItem
|
|
1438
|
+
return new CheckboxItem(item, null, filter);
|
|
1442
1439
|
}
|
|
1443
1440
|
case ItemType.Keyword:
|
|
1444
1441
|
case ItemType.Text: {
|
|
@@ -1570,9 +1567,8 @@ class FsFilterItemsStore {
|
|
|
1570
1567
|
keywordItem = null;
|
|
1571
1568
|
filter;
|
|
1572
1569
|
_ready$ = new BehaviorSubject(false);
|
|
1573
|
-
_items = [];
|
|
1574
1570
|
_visibleItems$ = new BehaviorSubject([]);
|
|
1575
|
-
|
|
1571
|
+
_items = new Map();
|
|
1576
1572
|
_itemsValuesLoaded = false;
|
|
1577
1573
|
_hasKeyword = false;
|
|
1578
1574
|
_config;
|
|
@@ -1582,10 +1578,10 @@ class FsFilterItemsStore {
|
|
|
1582
1578
|
this._lazyInit();
|
|
1583
1579
|
}
|
|
1584
1580
|
get items() {
|
|
1585
|
-
return this._items;
|
|
1581
|
+
return Array.from(this._items.values());
|
|
1586
1582
|
}
|
|
1587
1583
|
get itemNames() {
|
|
1588
|
-
return this.
|
|
1584
|
+
return this.items.map((item) => item.name);
|
|
1589
1585
|
}
|
|
1590
1586
|
get visibleItems() {
|
|
1591
1587
|
return this._visibleItems$.getValue();
|
|
@@ -1611,12 +1607,11 @@ class FsFilterItemsStore {
|
|
|
1611
1607
|
this._destroy$.complete();
|
|
1612
1608
|
}
|
|
1613
1609
|
setConfig(config) {
|
|
1614
|
-
this._itemsByName.clear();
|
|
1615
1610
|
this._config = config;
|
|
1616
1611
|
this.initItems(config.items);
|
|
1617
1612
|
}
|
|
1618
1613
|
getItemByName(name) {
|
|
1619
|
-
return this.
|
|
1614
|
+
return this._items.get(name);
|
|
1620
1615
|
}
|
|
1621
1616
|
initItems(items) {
|
|
1622
1617
|
this._itemsValuesLoaded = false;
|
|
@@ -1738,7 +1733,7 @@ class FsFilterItemsStore {
|
|
|
1738
1733
|
});
|
|
1739
1734
|
if (onlyPresented) {
|
|
1740
1735
|
return pickBy(params, (val) => {
|
|
1741
|
-
return val !==
|
|
1736
|
+
return val !== undefined;
|
|
1742
1737
|
});
|
|
1743
1738
|
}
|
|
1744
1739
|
return params;
|
|
@@ -1785,7 +1780,7 @@ class FsFilterItemsStore {
|
|
|
1785
1780
|
.forEach((item) => item.destroy());
|
|
1786
1781
|
this.sortByItem?.destroy();
|
|
1787
1782
|
this.sortDirectionItem?.destroy();
|
|
1788
|
-
this._items
|
|
1783
|
+
this._items.clear();
|
|
1789
1784
|
this.sortByItem = null;
|
|
1790
1785
|
this.sortDirectionItem = null;
|
|
1791
1786
|
}
|
|
@@ -1803,25 +1798,22 @@ class FsFilterItemsStore {
|
|
|
1803
1798
|
.filter((item) => !item.isTypeKeyword && !item.hide);
|
|
1804
1799
|
}
|
|
1805
1800
|
_createItems(items) {
|
|
1806
|
-
this._items = items
|
|
1801
|
+
this._items = new Map(items
|
|
1807
1802
|
.filter((item) => !item.disable)
|
|
1808
1803
|
.filter((item) => {
|
|
1809
|
-
if (this.
|
|
1804
|
+
if (this._items.has(item.name)) {
|
|
1810
1805
|
throw Error('Filter init error. Items name must be unique.');
|
|
1811
1806
|
}
|
|
1812
|
-
|
|
1813
|
-
this._itemsByName.set(item.name, null);
|
|
1814
|
-
return true;
|
|
1815
|
-
}
|
|
1807
|
+
return true;
|
|
1816
1808
|
})
|
|
1817
1809
|
.map((item) => {
|
|
1818
1810
|
const filterItem = createFilterItem(item, { case: this._config.case }, this.filter);
|
|
1819
1811
|
if (filterItem.type === ItemType.Keyword) {
|
|
1820
1812
|
this._hasKeyword = true;
|
|
1821
1813
|
}
|
|
1822
|
-
this.
|
|
1823
|
-
return filterItem;
|
|
1824
|
-
});
|
|
1814
|
+
this._items.set(item.name, filterItem);
|
|
1815
|
+
return [item.name, filterItem];
|
|
1816
|
+
}));
|
|
1825
1817
|
this._createSortingItems();
|
|
1826
1818
|
}
|
|
1827
1819
|
_subscribeToItemsChanges() {
|
|
@@ -1899,13 +1891,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1899
1891
|
type: Injectable
|
|
1900
1892
|
}], ctorParameters: () => [] });
|
|
1901
1893
|
|
|
1902
|
-
const FILTER_STORE_KEY = 'fs-filter-persist';
|
|
1903
1894
|
class PersistanceParamsController extends FsPersistanceStore {
|
|
1904
1895
|
_location;
|
|
1905
1896
|
_itemsStore;
|
|
1906
1897
|
_dialogRef;
|
|
1907
1898
|
_drawerRef;
|
|
1908
|
-
STORE_KEY = FILTER_STORE_KEY;
|
|
1909
1899
|
_paramsCase;
|
|
1910
1900
|
constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
|
|
1911
1901
|
super(_store, _route);
|
|
@@ -2677,30 +2667,20 @@ class FsFilterChipContentComponent {
|
|
|
2677
2667
|
if (this.item.chipLabel === '') {
|
|
2678
2668
|
return `${result}`;
|
|
2679
2669
|
}
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
2683
|
-
return `${label}: ${result}`;
|
|
2684
|
-
}
|
|
2685
|
-
else {
|
|
2686
|
-
return `${this.item.chipLabel}: ${result}`;
|
|
2687
|
-
}
|
|
2688
|
-
}
|
|
2689
|
-
}
|
|
2690
|
-
else {
|
|
2691
|
-
if (Array.isArray(this.item.label)) {
|
|
2692
|
-
const label = getLabelFromArray(this.item.label, this.type);
|
|
2670
|
+
if (Array.isArray(this.item.chipLabel)) {
|
|
2671
|
+
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
2693
2672
|
return `${label}: ${result}`;
|
|
2694
2673
|
}
|
|
2695
|
-
|
|
2696
|
-
if (this.item.isTypeCheckbox) {
|
|
2697
|
-
return result;
|
|
2698
|
-
}
|
|
2699
|
-
else {
|
|
2700
|
-
return `${this.item.label}: ${result}`;
|
|
2701
|
-
}
|
|
2702
|
-
}
|
|
2674
|
+
return `${this.item.chipLabel}: ${result}`;
|
|
2703
2675
|
}
|
|
2676
|
+
if (Array.isArray(this.item.label)) {
|
|
2677
|
+
const label = getLabelFromArray(this.item.label, this.type);
|
|
2678
|
+
return `${label}: ${result}`;
|
|
2679
|
+
}
|
|
2680
|
+
if (this.item.isTypeCheckbox) {
|
|
2681
|
+
return result;
|
|
2682
|
+
}
|
|
2683
|
+
return `${this.item.label}: ${result}`;
|
|
2704
2684
|
}
|
|
2705
2685
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterChipContentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2706
2686
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: { item: "item", type: "type" }, ngImport: i0, template: "{{ content }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
@@ -2720,9 +2700,7 @@ function getLabelFromArray(labelArr, type) {
|
|
|
2720
2700
|
else if (type === 'to' && labelArr[1]) {
|
|
2721
2701
|
return `${labelArr[1]}`;
|
|
2722
2702
|
}
|
|
2723
|
-
|
|
2724
|
-
return '';
|
|
2725
|
-
}
|
|
2703
|
+
return '';
|
|
2726
2704
|
}
|
|
2727
2705
|
|
|
2728
2706
|
class FocusControllerService {
|
|
@@ -2833,11 +2811,11 @@ class FsFilterChipsComponent {
|
|
|
2833
2811
|
filters;
|
|
2834
2812
|
ItemType = ItemType;
|
|
2835
2813
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2836
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: { filters: "filters" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n</ng-container
|
|
2814
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: { filters: "filters" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FsFilterChipComponent, selector: "fs-filter-chip", inputs: ["item"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2837
2815
|
}
|
|
2838
2816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterChipsComponent, decorators: [{
|
|
2839
2817
|
type: Component,
|
|
2840
|
-
args: [{ selector: 'fs-filter-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n</ng-container
|
|
2818
|
+
args: [{ selector: 'fs-filter-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n</ng-container>" }]
|
|
2841
2819
|
}], propDecorators: { filters: [{
|
|
2842
2820
|
type: Input
|
|
2843
2821
|
}] } });
|
|
@@ -2890,6 +2868,12 @@ class BaseItemComponent {
|
|
|
2890
2868
|
this._kvDiffer = this._kvDiffers.find(this.item || {}).create();
|
|
2891
2869
|
this.listenWithDebounce();
|
|
2892
2870
|
}
|
|
2871
|
+
get destroy$() {
|
|
2872
|
+
return this._destroy$.asObservable();
|
|
2873
|
+
}
|
|
2874
|
+
destroy() {
|
|
2875
|
+
return this._destroy$.asObservable();
|
|
2876
|
+
}
|
|
2893
2877
|
ngDoCheck() {
|
|
2894
2878
|
if (this._kvDiffer) {
|
|
2895
2879
|
const changes = this._kvDiffer.diff(this.item);
|
|
@@ -3113,19 +3097,14 @@ class SelectSimpleComponent {
|
|
|
3113
3097
|
}
|
|
3114
3098
|
}
|
|
3115
3099
|
isolateChange(filter) {
|
|
3116
|
-
|
|
3117
|
-
filter.model = filter.isolate.value;
|
|
3118
|
-
}
|
|
3119
|
-
else {
|
|
3120
|
-
filter.model = null;
|
|
3121
|
-
}
|
|
3100
|
+
filter.model = filter.isolate.enabled ? filter.isolate.value : null;
|
|
3122
3101
|
}
|
|
3123
3102
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectSimpleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SelectSimpleComponent, 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>{{item.label}}</mat-label>\n <mat-select\n
|
|
3103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SelectSimpleComponent, 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>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n <mat-option \n *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n\n <mat-hint>\n <div *ngIf=\"item.isolate\">\n <mat-checkbox (change)=\"isolateChange(item)\" [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">{{ item.isolate.label }}</span>\n </mat-checkbox>\n </div>\n </mat-hint>\n</mat-form-field>\n", styles: [".isolate{margin-bottom:25px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4.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: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$2.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: "directive", type: i9.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: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "pipe", type: FsFilterIsolateValues, name: "fsFilterIsolateValues" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3125
3104
|
}
|
|
3126
3105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectSimpleComponent, decorators: [{
|
|
3127
3106
|
type: Component,
|
|
3128
|
-
args: [{ selector: 'filter-item-select-simple', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n
|
|
3107
|
+
args: [{ selector: 'filter-item-select-simple', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n <mat-option \n *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n\n <mat-hint>\n <div *ngIf=\"item.isolate\">\n <mat-checkbox (change)=\"isolateChange(item)\" [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">{{ item.isolate.label }}</span>\n </mat-checkbox>\n </div>\n </mat-hint>\n</mat-form-field>\n", styles: [".isolate{margin-bottom:25px}\n"] }]
|
|
3129
3108
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
3130
3109
|
type: Input
|
|
3131
3110
|
}], select: [{
|
|
@@ -3252,7 +3231,6 @@ class TextComponent extends BaseItemComponent {
|
|
|
3252
3231
|
_kvDiffers;
|
|
3253
3232
|
_cd;
|
|
3254
3233
|
textControl = new UntypedFormControl();
|
|
3255
|
-
destroy$ = new Subject();
|
|
3256
3234
|
constructor(_kvDiffers, _cd) {
|
|
3257
3235
|
super(_kvDiffers, _cd);
|
|
3258
3236
|
this._kvDiffers = _kvDiffers;
|
|
@@ -3262,10 +3240,6 @@ class TextComponent extends BaseItemComponent {
|
|
|
3262
3240
|
this._listenControlValueChanges();
|
|
3263
3241
|
this._listenModelChanges();
|
|
3264
3242
|
}
|
|
3265
|
-
ngOnDestroy() {
|
|
3266
|
-
this.destroy$.next(null);
|
|
3267
|
-
this.destroy$.complete();
|
|
3268
|
-
}
|
|
3269
3243
|
_listenControlValueChanges() {
|
|
3270
3244
|
this.textControl.valueChanges
|
|
3271
3245
|
.pipe(distinctUntilChanged(), debounceTime(200), takeUntil(this.destroy$))
|
|
@@ -3324,7 +3298,7 @@ class RangeComponent extends BaseItemComponent {
|
|
|
3324
3298
|
const toListener = fromEvent(this.to.nativeElement, 'keyup')
|
|
3325
3299
|
.pipe(distinctUntilChanged());
|
|
3326
3300
|
merge(fromListener, toListener)
|
|
3327
|
-
.pipe(takeUntil(this.
|
|
3301
|
+
.pipe(takeUntil(this.destroy$))
|
|
3328
3302
|
.subscribe(() => {
|
|
3329
3303
|
this.itemChange();
|
|
3330
3304
|
});
|
|
@@ -3394,11 +3368,11 @@ class AutocompletechipsComponent extends BaseItemComponent {
|
|
|
3394
3368
|
return item1?.value === item2?.value;
|
|
3395
3369
|
}
|
|
3396
3370
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3397
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [
|
|
3371
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [label]=\"label\"\n [size]=\"'small'\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"item.chipColor\"\n [chipIconColor]=\"item.chipIcon\"\n [chipBackground]=\"item.chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.showClear\"\n [removable]=\"item.showClear\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>", dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "appearance", "floatLabel", "readonly", "size", "label", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "confirm", "disabled", "panelWidth", "panelClass", "compareWith"], outputs: ["selected", "removed", "reordered", "clear"] }, { kind: "directive", type: i5$1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }, { kind: "directive", type: i9.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: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3398
3372
|
}
|
|
3399
3373
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
|
|
3400
3374
|
type: Component,
|
|
3401
|
-
args: [{ selector: 'filter-item-autocompletechips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [
|
|
3375
|
+
args: [{ selector: 'filter-item-autocompletechips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [label]=\"label\"\n [size]=\"'small'\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"item.chipColor\"\n [chipIconColor]=\"item.chipIcon\"\n [chipBackground]=\"item.chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.showClear\"\n [removable]=\"item.showClear\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>" }]
|
|
3402
3376
|
}], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }] });
|
|
3403
3377
|
|
|
3404
3378
|
class DateComponent extends BaseItemComponent {
|
|
@@ -3415,22 +3389,17 @@ class DateComponent extends BaseItemComponent {
|
|
|
3415
3389
|
this._cd = _cd;
|
|
3416
3390
|
}
|
|
3417
3391
|
ngOnInit() {
|
|
3418
|
-
|
|
3419
|
-
this.viewType = PickerViewType.DateTime;
|
|
3420
|
-
}
|
|
3421
|
-
else {
|
|
3422
|
-
this.viewType = PickerViewType.Date;
|
|
3423
|
-
}
|
|
3392
|
+
this.viewType = this.item.type === ItemType.DateTime ? PickerViewType.DateTime : PickerViewType.Date;
|
|
3424
3393
|
if (this.item.mode === ItemDateMode.ScrollMonthYear) {
|
|
3425
3394
|
this.showDay = false;
|
|
3426
3395
|
}
|
|
3427
3396
|
}
|
|
3428
3397
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DateComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3429
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: DateComponent, selector: "filter-item-date", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input
|
|
3398
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: DateComponent, selector: "filter-item-date", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input\n matInput\n fsDatePicker\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [view]=\"viewType\"\n [placeholder]=\"item.label\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n\n<ng-template #elseMode>\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input \n matInput\n fsDateScrollPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [showMonth]=\"showMonth\"\n [showDay]=\"showDay\"\n [showYear]=\"showYear\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n </mat-form-field>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i3$4.FsDatePickerComponent, selector: "[fsDatePicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "startOfDay", "view", "format", "minutes"], outputs: ["change"] }, { kind: "component", type: i3$4.FsDateScrollPickerComponent, selector: "[fsDateScrollPicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "showMonth", "showYear", "showDay"] }, { kind: "directive", type: i9.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: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3430
3399
|
}
|
|
3431
3400
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DateComponent, decorators: [{
|
|
3432
3401
|
type: Component,
|
|
3433
|
-
args: [{ selector: 'filter-item-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input
|
|
3402
|
+
args: [{ selector: 'filter-item-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input\n matInput\n fsDatePicker\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [view]=\"viewType\"\n [placeholder]=\"item.label\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n\n<ng-template #elseMode>\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input \n matInput\n fsDateScrollPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [showMonth]=\"showMonth\"\n [showDay]=\"showDay\"\n [showYear]=\"showYear\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n </mat-form-field>\n</ng-template>\n" }]
|
|
3434
3403
|
}], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }] });
|
|
3435
3404
|
|
|
3436
3405
|
class DateRangeComponent extends BaseItemComponent {
|
|
@@ -3467,11 +3436,11 @@ class CheckboxComponent extends BaseItemComponent {
|
|
|
3467
3436
|
this._cd = _cd;
|
|
3468
3437
|
}
|
|
3469
3438
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3470
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CheckboxComponent, selector: "filter-item-checkbox", usesInheritance: true, ngImport: i0, template: "<fs-label-field>\n <mat-checkbox [(ngModel)]=\"item.model\">\n {{ item.label }}\n </mat-checkbox>\n</fs-label-field
|
|
3439
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CheckboxComponent, selector: "filter-item-checkbox", usesInheritance: true, ngImport: i0, template: "<fs-label-field>\n <mat-checkbox \n [(ngModel)]=\"item.model\" \n [name]=\"item.name\">\n {{ item.label }}\n </mat-checkbox>\n</fs-label-field>", styles: ["fs-label-field{margin:0}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$2.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: "component", type: i4$2.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { kind: "directive", type: i9.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])" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3471
3440
|
}
|
|
3472
3441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
3473
3442
|
type: Component,
|
|
3474
|
-
args: [{ selector: 'filter-item-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-label-field>\n <mat-checkbox [(ngModel)]=\"item.model\">\n {{ item.label }}\n </mat-checkbox>\n</fs-label-field
|
|
3443
|
+
args: [{ selector: 'filter-item-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-label-field>\n <mat-checkbox \n [(ngModel)]=\"item.model\" \n [name]=\"item.name\">\n {{ item.label }}\n </mat-checkbox>\n</fs-label-field>", styles: ["fs-label-field{margin:0}\n"] }]
|
|
3475
3444
|
}], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }] });
|
|
3476
3445
|
|
|
3477
3446
|
class FilterItemComponent {
|
|
@@ -3874,7 +3843,6 @@ class FilterComponent {
|
|
|
3874
3843
|
_filterItems;
|
|
3875
3844
|
_actions;
|
|
3876
3845
|
_savedFiltersController;
|
|
3877
|
-
_externalParamsController;
|
|
3878
3846
|
set setConfig(config) {
|
|
3879
3847
|
this._initFilterWithConfig(config);
|
|
3880
3848
|
}
|
|
@@ -3905,7 +3873,7 @@ class FilterComponent {
|
|
|
3905
3873
|
_hasFilterChips$ = new BehaviorSubject(false);
|
|
3906
3874
|
_keyword$ = new Subject();
|
|
3907
3875
|
_destroy$ = new Subject();
|
|
3908
|
-
constructor(_defaultConfig, _filterOverlay, _zone, _externalParams, _filterItems, _actions, _savedFiltersController
|
|
3876
|
+
constructor(_defaultConfig, _filterOverlay, _zone, _externalParams, _filterItems, _actions, _savedFiltersController) {
|
|
3909
3877
|
this._defaultConfig = _defaultConfig;
|
|
3910
3878
|
this._filterOverlay = _filterOverlay;
|
|
3911
3879
|
this._zone = _zone;
|
|
@@ -3913,7 +3881,6 @@ class FilterComponent {
|
|
|
3913
3881
|
this._filterItems = _filterItems;
|
|
3914
3882
|
this._actions = _actions;
|
|
3915
3883
|
this._savedFiltersController = _savedFiltersController;
|
|
3916
|
-
this._externalParamsController = _externalParamsController;
|
|
3917
3884
|
this._filterItems.filter = this;
|
|
3918
3885
|
this._listenWhenFilterReady();
|
|
3919
3886
|
this._updateWindowWidth();
|
|
@@ -4390,7 +4357,7 @@ class FilterComponent {
|
|
|
4390
4357
|
});
|
|
4391
4358
|
this._hasFilterChips$.next(hasFilterChips);
|
|
4392
4359
|
}
|
|
4393
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterComponent, deps: [{ token: FS_FILTER_CONFIG, optional: true }, { token: FsFilterOverlayService }, { token: i0.NgZone }, { token: ExternalParamsController }, { token: FsFilterItemsStore }, { token: ActionsController }, { token: SavedFiltersController }
|
|
4360
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterComponent, deps: [{ token: FS_FILTER_CONFIG, optional: true }, { token: FsFilterOverlayService }, { token: i0.NgZone }, { token: ExternalParamsController }, { token: FsFilterItemsStore }, { token: ActionsController }, { token: SavedFiltersController }], target: i0.ɵɵFactoryTarget.Component });
|
|
4394
4361
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FilterComponent, selector: "fs-filter", inputs: { setConfig: ["config", "setConfig"], setFilter: ["filter", "setFilter"], showSortBy: "showSortBy", showFilterInput: "showFilterInput" }, outputs: { closed: "closed", opened: "opened", ready: "ready" }, host: { properties: { "class.filters-open": "this.showFilterMenu", "class.window-desktop": "this.windowDesktop", "class.fs-filter": "this.fsFilterClass", "class.has-keyword": "this.hasKeyword" } }, providers: [
|
|
4395
4362
|
FsFilterOverlayService,
|
|
4396
4363
|
ExternalParamsController,
|
|
@@ -4400,7 +4367,7 @@ class FilterComponent {
|
|
|
4400
4367
|
FsFilterItemsStore,
|
|
4401
4368
|
SavedFiltersController,
|
|
4402
4369
|
ActionsController,
|
|
4403
|
-
], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true }], viewQueries: [{ propertyName: "keywordMatInput", first: true, predicate: ["keywordMatInput"], descendants: true, read: MatInput }, { propertyName: "reloadEl", first: true, predicate: ["reloadEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div class=\"filter-status-container\" [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div class=\"filter-status\" #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"config.chips && hasFilterChips$ | async\">\n <fs-filter-chips\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n </ng-container>\n</ng-template>\n\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"form-field-padless\"\n [ngClass]=\"search\"\n appearance=\"outline\">\n <span matPrefix class=\"icon\">\n <mat-icon matPrefix>search</mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n <ng-container *ngIf=\"filtersBtnVisible$ | async\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting\">\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </a>\n </ng-container>\n </ng-container> \n <ng-container *ngIf=\"config.reload\">\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>refresh</mat-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"config.autoReload\">\n <mat-slide-toggle \n name=\"autoReload\" \n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n Auto refresh\n </mat-slide-toggle>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0}.filter-inner-container .filter-keyword mat-form-field{max-width:100%;min-width:100px;margin-right:6px}.filter-inner-container .filter-keyword mat-form-field .icon{margin-left:10px}.filter-inner-container .filter-keyword mat-form-field .icon mat-icon{font-size:24px;color:#626262}.filter-inner-container .filter-keyword mat-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center}.filter-toobar .button-reload{margin-left:-6px}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin-top:4px;display:block}@media screen and (min-width: 599px){.filter-actions{margin-left:10px}.button-filters+fs-filter-actions:not(:empty){margin-left:5px}}@media screen and (max-width: 600px){.button-filters{margin-left:5px}.button-filters .filters-button{font-size:0;padding:0;min-width:unset;width:36px;height:36px;border-radius:50%;box-shadow:unset!important}}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i3$2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i9.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: i14.FsClearComponent, selector: "[fsClear]", inputs: ["ngModel", "fsClear"], outputs: ["ngModelChange", "cleared"] }, { kind: "component", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }, { kind: "component", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4370
|
+
], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true }], viewQueries: [{ propertyName: "keywordMatInput", first: true, predicate: ["keywordMatInput"], descendants: true, read: MatInput }, { propertyName: "reloadEl", first: true, predicate: ["reloadEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div class=\"filter-status-container\" [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div class=\"filter-status\" #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"config.chips && hasFilterChips$ | async\">\n <fs-filter-chips\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n </ng-container>\n</ng-template>\n\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"form-field-padless\"\n [ngClass]=\"search\"\n appearance=\"outline\">\n <span matPrefix class=\"icon\">\n <mat-icon matPrefix>search</mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n <ng-container *ngIf=\"filtersBtnVisible$ | async\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting\">\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </a>\n </ng-container>\n </ng-container> \n <ng-container *ngIf=\"config.reload\">\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>refresh</mat-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"config.autoReload\">\n <mat-slide-toggle \n name=\"autoReload\" \n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n Auto refresh\n </mat-slide-toggle>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0}.filter-inner-container .filter-keyword mat-form-field{max-width:100%;min-width:100px;margin-right:6px}.filter-inner-container .filter-keyword mat-form-field .icon{margin-left:10px}.filter-inner-container .filter-keyword mat-form-field .icon mat-icon{font-size:24px;color:#626262}.filter-inner-container .filter-keyword mat-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center}.filter-toobar .button-reload{margin-left:-6px}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin-top:4px;display:block}@media screen and (min-width: 599px){.filter-actions{margin-left:10px}.button-filters+fs-filter-actions:not(:empty){margin-left:5px}}@media screen and (max-width: 600px){.button-filters{margin-left:5px}.button-filters .filters-button{font-size:0;padding:0;min-width:unset;width:36px;height:36px;border-radius:50%;box-shadow:unset!important}}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i3$2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i9.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: i14.FsClearComponent, selector: "[fsClear]", inputs: ["ngModel", "visible", "fsClear"], outputs: ["ngModelChange", "cleared"] }, { kind: "component", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }, { kind: "component", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4404
4371
|
}
|
|
4405
4372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterComponent, decorators: [{
|
|
4406
4373
|
type: Component,
|
|
@@ -4419,7 +4386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
4419
4386
|
}, {
|
|
4420
4387
|
type: Inject,
|
|
4421
4388
|
args: [FS_FILTER_CONFIG]
|
|
4422
|
-
}] }, { type: FsFilterOverlayService }, { type: i0.NgZone }, { type: ExternalParamsController }, { type: FsFilterItemsStore }, { type: ActionsController }, { type: SavedFiltersController }
|
|
4389
|
+
}] }, { type: FsFilterOverlayService }, { type: i0.NgZone }, { type: ExternalParamsController }, { type: FsFilterItemsStore }, { type: ActionsController }, { type: SavedFiltersController }], propDecorators: { setConfig: [{
|
|
4423
4390
|
type: Input,
|
|
4424
4391
|
args: ['config']
|
|
4425
4392
|
}], setFilter: [{
|