@firestitch/filter 12.7.2 → 12.8.0

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 (203) hide show
  1. package/app/classes/actions-controller.d.ts +38 -38
  2. package/app/components/action-button/action-button.component.d.ts +7 -7
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +8 -8
  5. package/app/components/filter/filter.component.d.ts +192 -192
  6. package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
  7. package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
  8. package/app/components/filter-chips/filter-chips.component.d.ts +8 -8
  9. package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
  10. package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
  11. package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +13 -13
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +20 -20
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +23 -23
  14. package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
  15. package/app/components/filters-item/chips/chips.component.d.ts +13 -13
  16. package/app/components/filters-item/date/date.component.d.ts +19 -19
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +14 -14
  18. package/app/components/filters-item/filter-item.component.d.ts +15 -15
  19. package/app/components/filters-item/range/range.component.d.ts +15 -15
  20. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
  21. package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
  22. package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
  23. package/app/components/filters-item/select/select.component.d.ts +16 -16
  24. package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
  25. package/app/components/filters-item/text/text.component.d.ts +19 -19
  26. package/app/components/filters-item/week/week.component.d.ts +12 -12
  27. package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  28. package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
  29. package/app/consts/query-param-delimiter.d.ts +1 -1
  30. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  31. package/app/directives/status-bar/status-bar.directive.d.ts +5 -5
  32. package/app/enums/action-mode.enum.d.ts +5 -5
  33. package/app/enums/action-type.enum.d.ts +7 -7
  34. package/app/enums/item-date-mode.enum.d.ts +5 -5
  35. package/app/enums/item-type.enum.d.ts +15 -15
  36. package/app/fs-filter.module.d.ts +64 -64
  37. package/app/helpers/build-query-params.d.ts +3 -3
  38. package/app/helpers/compare.d.ts +2 -2
  39. package/app/helpers/create-filter-item.d.ts +13 -13
  40. package/app/helpers/find-value.d.ts +1 -1
  41. package/app/helpers/get-range-name.d.ts +1 -1
  42. package/app/helpers/parse-date.d.ts +1 -1
  43. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  44. package/app/helpers/query-param-transformers.d.ts +2 -2
  45. package/app/helpers/restore-items.d.ts +12 -12
  46. package/app/helpers/try-convert-to-number.d.ts +1 -1
  47. package/app/injectors/filter-config.d.ts +2 -2
  48. package/app/injectors/filter-drawer-data.d.ts +2 -2
  49. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  50. package/app/interfaces/action.interface.d.ts +69 -69
  51. package/app/interfaces/config.interface.d.ts +61 -61
  52. package/app/interfaces/external-params.interface.d.ts +3 -3
  53. package/app/interfaces/filter.interface.d.ts +4 -4
  54. package/app/interfaces/items/autocomplete-chips.interface.d.ts +12 -12
  55. package/app/interfaces/items/autocomplete.interface.d.ts +6 -6
  56. package/app/interfaces/items/base.interface.d.ts +27 -27
  57. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  58. package/app/interfaces/items/chips.interface.d.ts +6 -6
  59. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  60. package/app/interfaces/items/date.interface.d.ts +7 -7
  61. package/app/interfaces/items/range.interface.d.ts +13 -13
  62. package/app/interfaces/items/select.interface.d.ts +20 -20
  63. package/app/interfaces/items/text.interface.d.ts +9 -9
  64. package/app/interfaces/items/week.interface.d.ts +7 -7
  65. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  66. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  67. package/app/models/action-menu-item.model.d.ts +23 -23
  68. package/app/models/action.model.d.ts +45 -45
  69. package/app/models/filter-config.d.ts +30 -30
  70. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  71. package/app/models/items/autocomplete-chips-item.d.ts +19 -19
  72. package/app/models/items/autocomplete-item.d.ts +10 -10
  73. package/app/models/items/base-item.d.ts +75 -75
  74. package/app/models/items/checkbox-item.d.ts +16 -16
  75. package/app/models/items/chips-item.d.ts +17 -17
  76. package/app/models/items/date/base-date-item.d.ts +14 -14
  77. package/app/models/items/date-item.d.ts +7 -7
  78. package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
  79. package/app/models/items/date-range-item.d.ts +5 -5
  80. package/app/models/items/date-time-item.d.ts +6 -6
  81. package/app/models/items/date-time-range-item.d.ts +5 -5
  82. package/app/models/items/range-item.d.ts +22 -22
  83. package/app/models/items/select/base-select-item.d.ts +13 -13
  84. package/app/models/items/select/multiple-select-item.d.ts +13 -13
  85. package/app/models/items/select/simple-select-item.d.ts +12 -12
  86. package/app/models/items/select-item.d.ts +7 -7
  87. package/app/models/items/text-item.d.ts +14 -14
  88. package/app/models/items/week-item.d.ts +17 -17
  89. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  90. package/app/providers/filter-meta.d.ts +5 -5
  91. package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
  92. package/app/services/external-params/query-params-controller.service.d.ts +24 -22
  93. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  94. package/app/services/external-params-controller.service.d.ts +42 -44
  95. package/app/services/filter-overlay.service.d.ts +34 -34
  96. package/app/services/focus-controller.service.d.ts +18 -18
  97. package/app/services/items-store.service.d.ts +65 -65
  98. package/bundles/firestitch-filter.umd.js +5376 -5369
  99. package/bundles/firestitch-filter.umd.js.map +1 -1
  100. package/esm2015/app/classes/actions-controller.js +122 -122
  101. package/esm2015/app/components/action-button/action-button.component.js +23 -23
  102. package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +21 -21
  103. package/esm2015/app/components/actions/actions.component.js +29 -29
  104. package/esm2015/app/components/filter/filter.component.js +616 -616
  105. package/esm2015/app/components/filter-chip/filter-chip.component.js +90 -90
  106. package/esm2015/app/components/filter-chip-content/filter-chip-content.component.js +83 -83
  107. package/esm2015/app/components/filter-chips/filter-chips.component.js +24 -24
  108. package/esm2015/app/components/filter-drawer/filter-drawer.component.js +75 -75
  109. package/esm2015/app/components/filter-drawer-actions/filter-drawer-actions.component.js +42 -42
  110. package/esm2015/app/components/filters-item/autocomplete/autocomplete.component.js +29 -29
  111. package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js +51 -51
  112. package/esm2015/app/components/filters-item/base-item/base-item.component.js +58 -58
  113. package/esm2015/app/components/filters-item/checkbox/checkbox.component.js +24 -24
  114. package/esm2015/app/components/filters-item/chips/chips.component.js +31 -31
  115. package/esm2015/app/components/filters-item/date/date.component.js +44 -44
  116. package/esm2015/app/components/filters-item/date-range/date-range.component.js +35 -35
  117. package/esm2015/app/components/filters-item/filter-item.component.js +47 -47
  118. package/esm2015/app/components/filters-item/range/range.component.js +48 -48
  119. package/esm2015/app/components/filters-item/select/backdrop/backdrop.component.js +16 -16
  120. package/esm2015/app/components/filters-item/select/groups/groups.component.js +32 -32
  121. package/esm2015/app/components/filters-item/select/multiple/multiple.component.js +60 -60
  122. package/esm2015/app/components/filters-item/select/select.component.js +43 -43
  123. package/esm2015/app/components/filters-item/select/simple/simple.component.js +46 -46
  124. package/esm2015/app/components/filters-item/text/text.component.js +53 -53
  125. package/esm2015/app/components/filters-item/week/week.component.js +27 -27
  126. package/esm2015/app/components/saved-filter-edit/saved-filter-edit.component.js +54 -54
  127. package/esm2015/app/components/saved-filters-menu/saved-filters-menu.component.js +57 -57
  128. package/esm2015/app/consts/query-param-delimiter.js +1 -1
  129. package/esm2015/app/directives/focus-to-item/focus-to-item.directive.js +129 -129
  130. package/esm2015/app/directives/status-bar/status-bar.directive.js +12 -12
  131. package/esm2015/app/enums/action-mode.enum.js +6 -6
  132. package/esm2015/app/enums/action-type.enum.js +8 -8
  133. package/esm2015/app/enums/item-date-mode.enum.js +6 -6
  134. package/esm2015/app/enums/item-type.enum.js +16 -16
  135. package/esm2015/app/fs-filter.module.js +234 -234
  136. package/esm2015/app/helpers/build-query-params.js +31 -31
  137. package/esm2015/app/helpers/compare.js +37 -37
  138. package/esm2015/app/helpers/create-filter-item.js +54 -54
  139. package/esm2015/app/helpers/find-value.js +12 -12
  140. package/esm2015/app/helpers/get-range-name.js +8 -8
  141. package/esm2015/app/helpers/parse-date.js +7 -7
  142. package/esm2015/app/helpers/parse-item-value-from-stored.js +81 -81
  143. package/esm2015/app/helpers/query-param-transformers.js +8 -8
  144. package/esm2015/app/helpers/restore-items.js +48 -48
  145. package/esm2015/app/helpers/try-convert-to-number.js +5 -5
  146. package/esm2015/app/injectors/filter-config.js +2 -2
  147. package/esm2015/app/injectors/filter-drawer-data.js +2 -2
  148. package/esm2015/app/injectors/filter-drawer-overlay.js +2 -2
  149. package/esm2015/app/interfaces/action.interface.js +1 -1
  150. package/esm2015/app/interfaces/config.interface.js +1 -1
  151. package/esm2015/app/interfaces/external-params.interface.js +1 -1
  152. package/esm2015/app/interfaces/filter.interface.js +1 -1
  153. package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
  154. package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
  155. package/esm2015/app/interfaces/items/base.interface.js +1 -1
  156. package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
  157. package/esm2015/app/interfaces/items/chips.interface.js +1 -1
  158. package/esm2015/app/interfaces/items/date-range.interface.js +1 -1
  159. package/esm2015/app/interfaces/items/date.interface.js +1 -1
  160. package/esm2015/app/interfaces/items/range.interface.js +1 -1
  161. package/esm2015/app/interfaces/items/select.interface.js +1 -1
  162. package/esm2015/app/interfaces/items/text.interface.js +1 -1
  163. package/esm2015/app/interfaces/items/week.interface.js +1 -1
  164. package/esm2015/app/interfaces/saved-filters.interface.js +1 -1
  165. package/esm2015/app/interfaces/update-filter-item.interface.js +1 -1
  166. package/esm2015/app/models/action-menu-item.model.js +66 -66
  167. package/esm2015/app/models/action.model.js +102 -102
  168. package/esm2015/app/models/filter-config.js +65 -65
  169. package/esm2015/app/models/items/autocomplete/base-autocomplete-item.js +13 -13
  170. package/esm2015/app/models/items/autocomplete-chips-item.js +61 -61
  171. package/esm2015/app/models/items/autocomplete-item.js +31 -31
  172. package/esm2015/app/models/items/base-item.js +233 -233
  173. package/esm2015/app/models/items/checkbox-item.js +47 -47
  174. package/esm2015/app/models/items/chips-item.js +83 -83
  175. package/esm2015/app/models/items/date/base-date-item.js +47 -47
  176. package/esm2015/app/models/items/date-item.js +18 -18
  177. package/esm2015/app/models/items/date-range/base-date-range-item.js +136 -136
  178. package/esm2015/app/models/items/date-range-item.js +6 -6
  179. package/esm2015/app/models/items/date-time-item.js +9 -9
  180. package/esm2015/app/models/items/date-time-range-item.js +6 -6
  181. package/esm2015/app/models/items/range-item.js +88 -88
  182. package/esm2015/app/models/items/select/base-select-item.js +33 -33
  183. package/esm2015/app/models/items/select/multiple-select-item.js +89 -89
  184. package/esm2015/app/models/items/select/simple-select-item.js +62 -62
  185. package/esm2015/app/models/items/select-item.js +12 -12
  186. package/esm2015/app/models/items/text-item.js +29 -29
  187. package/esm2015/app/models/items/week-item.js +98 -98
  188. package/esm2015/app/pipes/remove-isolate-value.pipe.js +22 -22
  189. package/esm2015/app/providers/filter-meta.js +9 -9
  190. package/esm2015/app/services/external-params/persistance-params-controller.service.js +57 -57
  191. package/esm2015/app/services/external-params/query-params-controller.service.js +67 -57
  192. package/esm2015/app/services/external-params/saved-filters-controller.service.js +164 -164
  193. package/esm2015/app/services/external-params-controller.service.js +163 -166
  194. package/esm2015/app/services/filter-overlay.service.js +115 -115
  195. package/esm2015/app/services/focus-controller.service.js +29 -29
  196. package/esm2015/app/services/items-store.service.js +340 -340
  197. package/esm2015/firestitch-filter.js +4 -4
  198. package/esm2015/public_api.js +36 -36
  199. package/fesm2015/firestitch-filter.js +4293 -4286
  200. package/fesm2015/firestitch-filter.js.map +1 -1
  201. package/firestitch-filter.d.ts +5 -5
  202. package/package.json +1 -1
  203. package/public_api.d.ts +40 -40
@@ -1,69 +1,69 @@
1
- import { ThemePalette } from '@angular/material/core';
2
- import { ActionType } from '../enums/action-type.enum';
3
- import { ActionMode } from '../enums/action-mode.enum';
4
- import { FsFile } from '@firestitch/file';
5
- declare type Without<T, U> = {
6
- [P in Exclude<keyof T, keyof U>]?: never;
7
- };
8
- declare type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
9
- export declare type FsFilterAction = (IFsFilterButtonAction | IFsFilterMenuAction | IFsFilterFileAction);
10
- export declare type FsFilterActionShowFn = () => boolean;
11
- export declare type FsFilterActionDisabledFn = () => boolean;
12
- export declare type FsFilterActionClickFn = (event?: MouseEvent) => void;
13
- export declare type FsFilterFileActionSelectFn = (file: FsFile | FsFile[]) => void;
14
- export declare type FsFilterFileActionErrorFn = (error: unknown) => void;
15
- interface IFsFilterBaseAction {
16
- type?: ActionType;
17
- className?: string;
18
- color?: ThemePalette;
19
- icon?: string;
20
- iconPlacement?: 'left' | 'right';
21
- label?: string;
22
- primary?: boolean;
23
- show?: FsFilterActionShowFn;
24
- click?: FsFilterActionClickFn;
25
- tabIndex?: number;
26
- menu?: boolean;
27
- }
28
- export interface IFsFilterButtonAction extends IFsFilterBaseAction {
29
- mode?: ActionMode.Button;
30
- customize?: boolean;
31
- disabled?: FsFilterActionDisabledFn;
32
- }
33
- export interface IFsFilterMenuAction extends IFsFilterBaseAction {
34
- mode: ActionMode.Menu;
35
- label?: string;
36
- items: XOR<IFsFilterMenuActionGroupItem, IFsFilterMenuActionItem>[];
37
- }
38
- export interface IFsFilterFileAction extends IFsFilterBaseAction {
39
- mode: ActionMode.File;
40
- select: FsFilterFileActionSelectFn;
41
- error?: FsFilterFileActionErrorFn;
42
- click?: FsFilterActionClickFn;
43
- multiple?: boolean;
44
- accept?: string;
45
- disabled?: FsFilterActionDisabledFn;
46
- minWidth?: number;
47
- minHeight?: number;
48
- maxWidth?: number;
49
- maxHeight?: number;
50
- imageQuality?: number;
51
- }
52
- export interface IFsFilterMenuActionGroupItem {
53
- label?: string;
54
- icon?: string;
55
- show?: FsFilterActionShowFn;
56
- items: IFsFilterMenuActionItem[];
57
- }
58
- export interface IFsFilterMenuActionItem {
59
- label?: string;
60
- icon?: string;
61
- click?: FsFilterActionClickFn;
62
- link?: IFsFilterMenuActionLink;
63
- show?: FsFilterActionShowFn;
64
- }
65
- export interface IFsFilterMenuActionLink {
66
- link: any[] | string;
67
- queryParams?: Record<string, any>;
68
- }
69
- export {};
1
+ import { ThemePalette } from '@angular/material/core';
2
+ import { ActionType } from '../enums/action-type.enum';
3
+ import { ActionMode } from '../enums/action-mode.enum';
4
+ import { FsFile } from '@firestitch/file';
5
+ declare type Without<T, U> = {
6
+ [P in Exclude<keyof T, keyof U>]?: never;
7
+ };
8
+ declare type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
9
+ export declare type FsFilterAction = (IFsFilterButtonAction | IFsFilterMenuAction | IFsFilterFileAction);
10
+ export declare type FsFilterActionShowFn = () => boolean;
11
+ export declare type FsFilterActionDisabledFn = () => boolean;
12
+ export declare type FsFilterActionClickFn = (event?: MouseEvent) => void;
13
+ export declare type FsFilterFileActionSelectFn = (file: FsFile | FsFile[]) => void;
14
+ export declare type FsFilterFileActionErrorFn = (error: unknown) => void;
15
+ interface IFsFilterBaseAction {
16
+ type?: ActionType;
17
+ className?: string;
18
+ color?: ThemePalette;
19
+ icon?: string;
20
+ iconPlacement?: 'left' | 'right';
21
+ label?: string;
22
+ primary?: boolean;
23
+ show?: FsFilterActionShowFn;
24
+ click?: FsFilterActionClickFn;
25
+ tabIndex?: number;
26
+ menu?: boolean;
27
+ }
28
+ export interface IFsFilterButtonAction extends IFsFilterBaseAction {
29
+ mode?: ActionMode.Button;
30
+ customize?: boolean;
31
+ disabled?: FsFilterActionDisabledFn;
32
+ }
33
+ export interface IFsFilterMenuAction extends IFsFilterBaseAction {
34
+ mode: ActionMode.Menu;
35
+ label?: string;
36
+ items: XOR<IFsFilterMenuActionGroupItem, IFsFilterMenuActionItem>[];
37
+ }
38
+ export interface IFsFilterFileAction extends IFsFilterBaseAction {
39
+ mode: ActionMode.File;
40
+ select: FsFilterFileActionSelectFn;
41
+ error?: FsFilterFileActionErrorFn;
42
+ click?: FsFilterActionClickFn;
43
+ multiple?: boolean;
44
+ accept?: string;
45
+ disabled?: FsFilterActionDisabledFn;
46
+ minWidth?: number;
47
+ minHeight?: number;
48
+ maxWidth?: number;
49
+ maxHeight?: number;
50
+ imageQuality?: number;
51
+ }
52
+ export interface IFsFilterMenuActionGroupItem {
53
+ label?: string;
54
+ icon?: string;
55
+ show?: FsFilterActionShowFn;
56
+ items: IFsFilterMenuActionItem[];
57
+ }
58
+ export interface IFsFilterMenuActionItem {
59
+ label?: string;
60
+ icon?: string;
61
+ click?: FsFilterActionClickFn;
62
+ link?: IFsFilterMenuActionLink;
63
+ show?: FsFilterActionShowFn;
64
+ }
65
+ export interface IFsFilterMenuActionLink {
66
+ link: any[] | string;
67
+ queryParams?: Record<string, any>;
68
+ }
69
+ export {};
@@ -1,61 +1,61 @@
1
- import { IFilterConfigBaseItem } from './items/base.interface';
2
- import { IFilterConfigAutocompleteItem } from './items/autocomplete.interface';
3
- import { IFilterConfigDateItem } from './items/date.interface';
4
- import { IFilterConfigDateRangeItem } from './items/date-range.interface';
5
- import { IFilterConfigRangeItem } from './items/range.interface';
6
- import { IFilterConfigTextItem } from './items/text.interface';
7
- import { IFilterConfigSelectItem } from './items/select.interface';
8
- import { IFilterConfigChipsItem } from './items/chips.interface';
9
- import { IFilterConfigCheckboxItem } from './items/checkbox.interface';
10
- import { IFilterConfigAutocompleteChipsItem } from './items/autocomplete-chips.interface';
11
- import { IFilterSavedFiltersConfig } from './saved-filters.interface';
12
- import { FsFilterAction } from './action.interface';
13
- export interface FilterConfig {
14
- inline?: boolean;
15
- load?: boolean;
16
- chips?: boolean;
17
- autofocus?: boolean;
18
- queryParam?: boolean;
19
- namespace?: string;
20
- persist?: FsFilterPersistance;
21
- reload?: ChangeFn;
22
- clear?: ChangeFn;
23
- items?: IFilterConfigItem[];
24
- init?: ChangeFn;
25
- change?: ChangeFn;
26
- sorts?: SortItem[];
27
- sort?: Sort;
28
- sortChange?: ChangeFn;
29
- reloadWhenConfigChanged?: boolean;
30
- case?: 'snake' | 'camel';
31
- button?: FilterButton;
32
- savedFilters?: IFilterSavedFiltersConfig;
33
- actions?: FsFilterAction[];
34
- }
35
- export declare type IFilterConfigItem = (IFilterConfigBaseItem | IFilterConfigCheckboxItem | IFilterConfigSelectItem | IFilterConfigChipsItem | IFilterConfigTextItem | IFilterConfigDateItem | IFilterConfigAutocompleteItem | IFilterConfigAutocompleteChipsItem | IFilterConfigRangeItem | IFilterConfigDateRangeItem);
36
- export interface SortItem {
37
- name: string;
38
- value: string;
39
- }
40
- export interface Sort {
41
- direction?: string;
42
- value?: string;
43
- }
44
- export interface FilterButton {
45
- style?: 'raised' | 'basic' | 'icon';
46
- color?: 'primary' | 'default';
47
- icon?: string;
48
- label?: string;
49
- }
50
- export interface ChangeFn {
51
- (query?: any, sort?: FilterSort | null): void;
52
- }
53
- export interface FilterSort {
54
- value: string;
55
- direction: string;
56
- }
57
- export interface FsFilterPersistanceConfig {
58
- name?: string;
59
- timeout?: number;
60
- }
61
- export declare type FsFilterPersistance = boolean | FsFilterPersistanceConfig;
1
+ import { IFilterConfigBaseItem } from './items/base.interface';
2
+ import { IFilterConfigAutocompleteItem } from './items/autocomplete.interface';
3
+ import { IFilterConfigDateItem } from './items/date.interface';
4
+ import { IFilterConfigDateRangeItem } from './items/date-range.interface';
5
+ import { IFilterConfigRangeItem } from './items/range.interface';
6
+ import { IFilterConfigTextItem } from './items/text.interface';
7
+ import { IFilterConfigSelectItem } from './items/select.interface';
8
+ import { IFilterConfigChipsItem } from './items/chips.interface';
9
+ import { IFilterConfigCheckboxItem } from './items/checkbox.interface';
10
+ import { IFilterConfigAutocompleteChipsItem } from './items/autocomplete-chips.interface';
11
+ import { IFilterSavedFiltersConfig } from './saved-filters.interface';
12
+ import { FsFilterAction } from './action.interface';
13
+ export interface FilterConfig {
14
+ inline?: boolean;
15
+ load?: boolean;
16
+ chips?: boolean;
17
+ autofocus?: boolean;
18
+ queryParam?: boolean;
19
+ namespace?: string;
20
+ persist?: FsFilterPersistance;
21
+ reload?: ChangeFn;
22
+ clear?: ChangeFn;
23
+ items?: IFilterConfigItem[];
24
+ init?: ChangeFn;
25
+ change?: ChangeFn;
26
+ sorts?: SortItem[];
27
+ sort?: Sort;
28
+ sortChange?: ChangeFn;
29
+ reloadWhenConfigChanged?: boolean;
30
+ case?: 'snake' | 'camel';
31
+ button?: FilterButton;
32
+ savedFilters?: IFilterSavedFiltersConfig;
33
+ actions?: FsFilterAction[];
34
+ }
35
+ export declare type IFilterConfigItem = (IFilterConfigBaseItem | IFilterConfigCheckboxItem | IFilterConfigSelectItem | IFilterConfigChipsItem | IFilterConfigTextItem | IFilterConfigDateItem | IFilterConfigAutocompleteItem | IFilterConfigAutocompleteChipsItem | IFilterConfigRangeItem | IFilterConfigDateRangeItem);
36
+ export interface SortItem {
37
+ name: string;
38
+ value: string;
39
+ }
40
+ export interface Sort {
41
+ direction?: string;
42
+ value?: string;
43
+ }
44
+ export interface FilterButton {
45
+ style?: 'raised' | 'basic' | 'icon';
46
+ color?: 'primary' | 'default';
47
+ icon?: string;
48
+ label?: string;
49
+ }
50
+ export interface ChangeFn {
51
+ (query?: any, sort?: FilterSort | null): void;
52
+ }
53
+ export interface FilterSort {
54
+ value: string;
55
+ direction: string;
56
+ }
57
+ export interface FsFilterPersistanceConfig {
58
+ name?: string;
59
+ timeout?: number;
60
+ }
61
+ export declare type FsFilterPersistance = boolean | FsFilterPersistanceConfig;
@@ -1,3 +1,3 @@
1
- export interface IFilterExternalParams {
2
- [key: string]: string | number | boolean | null;
3
- }
1
+ export interface IFilterExternalParams {
2
+ [key: string]: string | number | boolean | null;
3
+ }
@@ -1,4 +1,4 @@
1
- export interface ISortingChangeEvent {
2
- sortBy?: string;
3
- sortDirection?: string;
4
- }
1
+ export interface ISortingChangeEvent {
2
+ sortBy?: string;
3
+ sortDirection?: string;
4
+ }
@@ -1,12 +1,12 @@
1
- import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
2
- import { ItemType } from '../../enums/item-type.enum';
3
- export interface IFilterConfigAutocompleteChipsItem extends IFilterConfigBaseItem<ItemType.AutoCompleteChips> {
4
- fetchOnFocus?: boolean;
5
- chipImage?: string;
6
- chipColor?: string;
7
- chipIconColor?: string;
8
- chipBackground?: string;
9
- chipIcon?: string;
10
- chipClass?: string;
11
- default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
12
- }
1
+ import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
2
+ import { ItemType } from '../../enums/item-type.enum';
3
+ export interface IFilterConfigAutocompleteChipsItem extends IFilterConfigBaseItem<ItemType.AutoCompleteChips> {
4
+ fetchOnFocus?: boolean;
5
+ chipImage?: string;
6
+ chipColor?: string;
7
+ chipIconColor?: string;
8
+ chipBackground?: string;
9
+ chipIcon?: string;
10
+ chipClass?: string;
11
+ default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
12
+ }
@@ -1,6 +1,6 @@
1
- import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
2
- import { ItemType } from '../../enums/item-type.enum';
3
- export interface IFilterConfigAutocompleteItem extends IFilterConfigBaseItem<ItemType.AutoComplete> {
4
- fetchOnFocus?: boolean;
5
- default?: IFilterDefaultFn<FilterNameValue> | FilterNameValue;
6
- }
1
+ import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
2
+ import { ItemType } from '../../enums/item-type.enum';
3
+ export interface IFilterConfigAutocompleteItem extends IFilterConfigBaseItem<ItemType.AutoComplete> {
4
+ fetchOnFocus?: boolean;
5
+ default?: IFilterDefaultFn<FilterNameValue> | FilterNameValue;
6
+ }
@@ -1,27 +1,27 @@
1
- import { Observable } from 'rxjs';
2
- import { ItemType } from '../../enums/item-type.enum';
3
- import { BaseItem } from '../../models/items/base-item';
4
- export declare type FilterConfigDateType = ItemType.Date | ItemType.DateTime | ItemType.DateRange | ItemType.DateTimeRange;
5
- export declare type FilterDateRangeType = ItemType.DateRange | ItemType.DateTimeRange;
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> {
13
- name: string;
14
- type: T;
15
- label: string | string[];
16
- chipLabel?: string | string[];
17
- hide?: boolean;
18
- disable?: boolean;
19
- values?: any;
20
- primary?: boolean;
21
- default?: unknown;
22
- change?: (item: BaseItem<any>) => void;
23
- clear?: boolean;
24
- disablePersist?: boolean;
25
- disableQueryParams?: boolean;
26
- }
27
- export {};
1
+ import { Observable } from 'rxjs';
2
+ import { ItemType } from '../../enums/item-type.enum';
3
+ import { BaseItem } from '../../models/items/base-item';
4
+ export declare type FilterConfigDateType = ItemType.Date | ItemType.DateTime | ItemType.DateRange | ItemType.DateTimeRange;
5
+ export declare type FilterDateRangeType = ItemType.DateRange | ItemType.DateTimeRange;
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> {
13
+ name: string;
14
+ type: T;
15
+ label: string | string[];
16
+ chipLabel?: string | string[];
17
+ hide?: boolean;
18
+ disable?: boolean;
19
+ values?: any;
20
+ primary?: boolean;
21
+ default?: unknown;
22
+ change?: (item: BaseItem<any>) => void;
23
+ clear?: boolean;
24
+ disablePersist?: boolean;
25
+ disableQueryParams?: boolean;
26
+ }
27
+ export {};
@@ -1,7 +1,7 @@
1
- import { ItemType } from '../../enums/item-type.enum';
2
- import { IFilterConfigBaseItem } from './base.interface';
3
- export interface IFilterConfigCheckboxItem extends IFilterConfigBaseItem<ItemType.Checkbox> {
4
- default?: boolean;
5
- checked?: unknown;
6
- unchecked?: unknown;
7
- }
1
+ import { ItemType } from '../../enums/item-type.enum';
2
+ import { IFilterConfigBaseItem } from './base.interface';
3
+ export interface IFilterConfigCheckboxItem extends IFilterConfigBaseItem<ItemType.Checkbox> {
4
+ default?: boolean;
5
+ checked?: unknown;
6
+ unchecked?: unknown;
7
+ }
@@ -1,6 +1,6 @@
1
- import { ItemType } from '../../enums/item-type.enum';
2
- import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
3
- export interface IFilterConfigChipsItem extends IFilterConfigBaseItem<ItemType.Chips> {
4
- multiple?: boolean;
5
- default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
6
- }
1
+ import { ItemType } from '../../enums/item-type.enum';
2
+ import { FilterNameValue, IFilterConfigBaseItem, IFilterDefaultFn } from './base.interface';
3
+ export interface IFilterConfigChipsItem extends IFilterConfigBaseItem<ItemType.Chips> {
4
+ multiple?: boolean;
5
+ default?: IFilterDefaultFn<FilterNameValue[]> | FilterNameValue[];
6
+ }
@@ -1,8 +1,8 @@
1
- import { FilterDateRangeType, IFilterConfigBaseItem } from './base.interface';
2
- export interface IFilterConfigDateRangeItem extends IFilterConfigBaseItem<FilterDateRangeType, string[]> {
3
- default?: IFilterItemDefaultDateRange;
4
- }
5
- export interface IFilterItemDefaultDateRange {
6
- from?: any;
7
- to?: any;
8
- }
1
+ import { FilterDateRangeType, IFilterConfigBaseItem } from './base.interface';
2
+ export interface IFilterConfigDateRangeItem extends IFilterConfigBaseItem<FilterDateRangeType, string[]> {
3
+ default?: IFilterItemDefaultDateRange;
4
+ }
5
+ export interface IFilterItemDefaultDateRange {
6
+ from?: any;
7
+ to?: any;
8
+ }
@@ -1,7 +1,7 @@
1
- import { FilterConfigDateType, IFilterConfigBaseItem } from './base.interface';
2
- import { ItemDateMode } from '../../enums/item-date-mode.enum';
3
- export interface IFilterConfigDateItem extends IFilterConfigBaseItem<FilterConfigDateType> {
4
- maxYear?: number;
5
- mode?: ItemDateMode;
6
- default?: Date | string;
7
- }
1
+ import { FilterConfigDateType, IFilterConfigBaseItem } from './base.interface';
2
+ import { ItemDateMode } from '../../enums/item-date-mode.enum';
3
+ export interface IFilterConfigDateItem extends IFilterConfigBaseItem<FilterConfigDateType> {
4
+ maxYear?: number;
5
+ mode?: ItemDateMode;
6
+ default?: Date | string;
7
+ }
@@ -1,13 +1,13 @@
1
- import { ItemType } from '../../enums/item-type.enum';
2
- import { IFilterConfigBaseItem } from './base.interface';
3
- import { IFilterItemWithPrefixSuffix } from './text.interface';
4
- export interface IFilterConfigRangeItem extends IFilterConfigBaseItem<ItemType.Range, string[]>, IFilterItemWithPrefixSuffix {
5
- default?: IFilterItemDefaultRange;
6
- options?: {
7
- scale?: number;
8
- };
9
- }
10
- export interface IFilterItemDefaultRange {
11
- min?: any;
12
- max?: any;
13
- }
1
+ import { ItemType } from '../../enums/item-type.enum';
2
+ import { IFilterConfigBaseItem } from './base.interface';
3
+ import { IFilterItemWithPrefixSuffix } from './text.interface';
4
+ export interface IFilterConfigRangeItem extends IFilterConfigBaseItem<ItemType.Range, string[]>, IFilterItemWithPrefixSuffix {
5
+ default?: IFilterItemDefaultRange;
6
+ options?: {
7
+ scale?: number;
8
+ };
9
+ }
10
+ export interface IFilterItemDefaultRange {
11
+ min?: any;
12
+ max?: any;
13
+ }
@@ -1,20 +1,20 @@
1
- import { Observable } from 'rxjs';
2
- import { ItemType } from '../../enums/item-type.enum';
3
- import { IFilterConfigBaseItem } from './base.interface';
4
- export interface IFilterConfigSelectItem extends IFilterConfigBaseItem<ItemType.Select> {
5
- isolate?: IFilterConfigSelectIsolate;
6
- multiple?: boolean;
7
- children?: string;
8
- values?: FilterValuesReturnFn;
9
- default?: string[] | string;
10
- }
11
- export interface IFilterConfigSelectIsolate {
12
- label: string;
13
- value: number | string | boolean | number[] | string[] | boolean[];
14
- }
15
- export interface IFilterSelectValue {
16
- name: string;
17
- value?: number | string | boolean;
18
- types?: any;
19
- }
20
- export declare type FilterValuesReturnFn = IFilterSelectValue[] | (() => IFilterSelectValue[]) | (() => Observable<IFilterSelectValue[]>);
1
+ import { Observable } from 'rxjs';
2
+ import { ItemType } from '../../enums/item-type.enum';
3
+ import { IFilterConfigBaseItem } from './base.interface';
4
+ export interface IFilterConfigSelectItem extends IFilterConfigBaseItem<ItemType.Select> {
5
+ isolate?: IFilterConfigSelectIsolate;
6
+ multiple?: boolean;
7
+ children?: string;
8
+ values?: FilterValuesReturnFn;
9
+ default?: string[] | string;
10
+ }
11
+ export interface IFilterConfigSelectIsolate {
12
+ label: string;
13
+ value: number | string | boolean | number[] | string[] | boolean[];
14
+ }
15
+ export interface IFilterSelectValue {
16
+ name: string;
17
+ value?: number | string | boolean;
18
+ types?: any;
19
+ }
20
+ export declare type FilterValuesReturnFn = IFilterSelectValue[] | (() => IFilterSelectValue[]) | (() => Observable<IFilterSelectValue[]>);
@@ -1,9 +1,9 @@
1
- import { ItemType } from '../../enums/item-type.enum';
2
- import { IFilterConfigBaseItem } from './base.interface';
3
- export interface IFilterConfigTextItem extends IFilterConfigBaseItem<ItemType.Text | ItemType.Keyword>, IFilterItemWithPrefixSuffix {
4
- default?: string;
5
- }
6
- export interface IFilterItemWithPrefixSuffix {
7
- prefix?: string;
8
- suffix?: string;
9
- }
1
+ import { ItemType } from '../../enums/item-type.enum';
2
+ import { IFilterConfigBaseItem } from './base.interface';
3
+ export interface IFilterConfigTextItem extends IFilterConfigBaseItem<ItemType.Text | ItemType.Keyword>, IFilterItemWithPrefixSuffix {
4
+ default?: string;
5
+ }
6
+ export interface IFilterItemWithPrefixSuffix {
7
+ prefix?: string;
8
+ suffix?: string;
9
+ }
@@ -1,7 +1,7 @@
1
- import { IDatePickerPeriod } from '@firestitch/datepicker';
2
- import { ItemType } from '../../enums/item-type.enum';
3
- import { IFilterConfigBaseItem } from './base.interface';
4
- export interface IFilterConfigWeekItem extends IFilterConfigBaseItem<ItemType.Week> {
5
- default?: IDatePickerPeriod | any;
6
- seedDate?: Date;
7
- }
1
+ import { IDatePickerPeriod } from '@firestitch/datepicker';
2
+ import { ItemType } from '../../enums/item-type.enum';
3
+ import { IFilterConfigBaseItem } from './base.interface';
4
+ export interface IFilterConfigWeekItem extends IFilterConfigBaseItem<ItemType.Week> {
5
+ default?: IDatePickerPeriod | any;
6
+ seedDate?: Date;
7
+ }
@@ -1,18 +1,18 @@
1
- import { Observable } from 'rxjs';
2
- import { IFilterExternalParams } from './external-params.interface';
3
- export interface IFilterSavedFiltersConfig {
4
- load: FilterRemoteLoad;
5
- save: FilterRemoteSave;
6
- order: FilterRemoteOrder;
7
- delete: FilterRemoteDelete;
8
- }
9
- export interface IFilterSavedFilter {
10
- id?: number;
11
- name: string;
12
- active: boolean;
13
- filters: IFilterExternalParams;
14
- }
15
- export declare type FilterRemoteLoad = () => Observable<IFilterSavedFilter[]>;
16
- export declare type FilterRemoteSave = (savedFilter: IFilterSavedFilter) => Observable<IFilterSavedFilter>;
17
- export declare type FilterRemoteOrder = (savedFilters: IFilterSavedFilter[]) => Observable<IFilterSavedFilter[]>;
18
- export declare type FilterRemoteDelete = (savedFilter: IFilterSavedFilter) => Observable<IFilterSavedFilter>;
1
+ import { Observable } from 'rxjs';
2
+ import { IFilterExternalParams } from './external-params.interface';
3
+ export interface IFilterSavedFiltersConfig {
4
+ load: FilterRemoteLoad;
5
+ save: FilterRemoteSave;
6
+ order: FilterRemoteOrder;
7
+ delete: FilterRemoteDelete;
8
+ }
9
+ export interface IFilterSavedFilter {
10
+ id?: number;
11
+ name: string;
12
+ active: boolean;
13
+ filters: IFilterExternalParams;
14
+ }
15
+ export declare type FilterRemoteLoad = () => Observable<IFilterSavedFilter[]>;
16
+ export declare type FilterRemoteSave = (savedFilter: IFilterSavedFilter) => Observable<IFilterSavedFilter>;
17
+ export declare type FilterRemoteOrder = (savedFilters: IFilterSavedFilter[]) => Observable<IFilterSavedFilter[]>;
18
+ export declare type FilterRemoteDelete = (savedFilter: IFilterSavedFilter) => Observable<IFilterSavedFilter>;
@@ -1,4 +1,4 @@
1
- export interface IUpdateFilterItemConfig {
2
- label?: string | string[];
3
- chipLabel?: string | string[];
4
- }
1
+ export interface IUpdateFilterItemConfig {
2
+ label?: string | string[];
3
+ chipLabel?: string | string[];
4
+ }
@@ -1,23 +1,23 @@
1
- import { Observable } from 'rxjs';
2
- import { FsFilterAction, FsFilterActionClickFn, IFsFilterMenuActionLink } from '../interfaces/action.interface';
3
- export declare class ActionMenuItem {
4
- private _parent?;
5
- icon: string;
6
- label: string;
7
- click: FsFilterActionClickFn;
8
- routerLink: IFsFilterMenuActionLink;
9
- items: ActionMenuItem[];
10
- private _isGroup;
11
- private _showFn;
12
- private _visible$;
13
- private _disabled$;
14
- constructor(config?: FsFilterAction, _parent?: ActionMenuItem);
15
- get isGroup(): boolean;
16
- get visible(): boolean;
17
- get visible$(): Observable<boolean>;
18
- set disabled(value: boolean);
19
- get disabled(): boolean;
20
- get disabled$(): Observable<boolean>;
21
- updateVisibility(): void;
22
- private _init;
23
- }
1
+ import { Observable } from 'rxjs';
2
+ import { FsFilterAction, FsFilterActionClickFn, IFsFilterMenuActionLink } from '../interfaces/action.interface';
3
+ export declare class ActionMenuItem {
4
+ private _parent?;
5
+ icon: string;
6
+ label: string;
7
+ click: FsFilterActionClickFn;
8
+ routerLink: IFsFilterMenuActionLink;
9
+ items: ActionMenuItem[];
10
+ private _isGroup;
11
+ private _showFn;
12
+ private _visible$;
13
+ private _disabled$;
14
+ constructor(config?: FsFilterAction, _parent?: ActionMenuItem);
15
+ get isGroup(): boolean;
16
+ get visible(): boolean;
17
+ get visible$(): Observable<boolean>;
18
+ set disabled(value: boolean);
19
+ get disabled(): boolean;
20
+ get disabled$(): Observable<boolean>;
21
+ updateVisibility(): void;
22
+ private _init;
23
+ }