@firestitch/filter 16.0.1 → 18.0.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 (217) hide show
  1. package/app/classes/actions-controller.d.ts +41 -41
  2. package/app/components/action-button/action-button.component.d.ts +9 -9
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +13 -13
  5. package/app/components/filter/filter.component.d.ts +204 -204
  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 +9 -9
  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 +9 -9
  11. package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
  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 +20 -20
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
  18. package/app/components/filters-item/filter-item.component.d.ts +39 -39
  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 +23 -23
  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/index.d.ts +3 -3
  28. package/app/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
  29. package/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  30. package/app/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
  31. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
  32. package/app/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
  33. package/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +24 -24
  34. package/app/consts/query-param-delimiter.d.ts +1 -1
  35. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  36. package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
  37. package/app/enums/action-mode.enum.d.ts +6 -6
  38. package/app/enums/action-type.enum.d.ts +9 -9
  39. package/app/enums/button-style.d.ts +9 -9
  40. package/app/enums/index.d.ts +6 -6
  41. package/app/enums/item-date-mode.enum.d.ts +5 -5
  42. package/app/enums/item-type.enum.d.ts +15 -15
  43. package/app/enums/picker-view-type.enum.d.ts +7 -7
  44. package/app/fs-filter.module.d.ts +70 -70
  45. package/app/helpers/build-query-params.d.ts +3 -3
  46. package/app/helpers/compare.d.ts +2 -2
  47. package/app/helpers/create-filter-item.d.ts +14 -14
  48. package/app/helpers/find-value.d.ts +1 -1
  49. package/app/helpers/get-range-name.d.ts +1 -1
  50. package/app/helpers/parse-date.d.ts +1 -1
  51. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  52. package/app/helpers/query-param-transformers.d.ts +2 -2
  53. package/app/helpers/restore-items.d.ts +12 -12
  54. package/app/injectors/filter-config.d.ts +2 -2
  55. package/app/injectors/filter-drawer-data.d.ts +2 -2
  56. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  57. package/app/interfaces/action.interface.d.ts +81 -81
  58. package/app/interfaces/config.interface.d.ts +66 -66
  59. package/app/interfaces/external-params.interface.d.ts +3 -3
  60. package/app/interfaces/filter.interface.d.ts +4 -4
  61. package/app/interfaces/index.d.ts +6 -6
  62. package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  63. package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
  64. package/app/interfaces/items/base.interface.d.ts +29 -29
  65. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  66. package/app/interfaces/items/chips.interface.d.ts +6 -6
  67. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  68. package/app/interfaces/items/date.interface.d.ts +7 -7
  69. package/app/interfaces/items/range.interface.d.ts +13 -13
  70. package/app/interfaces/items/select.interface.d.ts +20 -20
  71. package/app/interfaces/items/text.interface.d.ts +9 -9
  72. package/app/interfaces/items/week.interface.d.ts +7 -7
  73. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  74. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  75. package/app/models/action-menu-item.model.d.ts +23 -23
  76. package/app/models/action.model.d.ts +54 -54
  77. package/app/models/filter-config.d.ts +31 -31
  78. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  79. package/app/models/items/autocomplete-chips-item.d.ts +20 -20
  80. package/app/models/items/autocomplete-item.d.ts +11 -11
  81. package/app/models/items/base-item.d.ts +80 -80
  82. package/app/models/items/checkbox-item.d.ts +17 -17
  83. package/app/models/items/chips-item.d.ts +18 -18
  84. package/app/models/items/date/base-date-item.d.ts +14 -14
  85. package/app/models/items/date-item.d.ts +8 -8
  86. package/app/models/items/date-range/base-date-range-item.d.ts +17 -17
  87. package/app/models/items/date-range-item.d.ts +6 -6
  88. package/app/models/items/date-time-item.d.ts +7 -7
  89. package/app/models/items/date-time-range-item.d.ts +6 -6
  90. package/app/models/items/range-item.d.ts +19 -19
  91. package/app/models/items/select/base-select-item.d.ts +13 -13
  92. package/app/models/items/select/multiple-select-item.d.ts +14 -14
  93. package/app/models/items/select/simple-select-item.d.ts +14 -14
  94. package/app/models/items/select-item.d.ts +8 -8
  95. package/app/models/items/text-item.d.ts +15 -15
  96. package/app/models/items/week-item.d.ts +18 -18
  97. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  98. package/app/providers/filter-meta.d.ts +5 -5
  99. package/app/services/external-params/persistance-params-controller.service.d.ts +21 -21
  100. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  101. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  102. package/app/services/external-params-controller.service.d.ts +42 -42
  103. package/app/services/filter-overlay.service.d.ts +36 -36
  104. package/app/services/focus-controller.service.d.ts +18 -18
  105. package/app/services/items-store.service.d.ts +69 -69
  106. package/esm2022/app/classes/actions-controller.mjs +130 -130
  107. package/esm2022/app/components/action-button/action-button.component.mjs +21 -21
  108. package/esm2022/app/components/action-kebab-actions/action-kebab-actions.component.mjs +18 -18
  109. package/esm2022/app/components/actions/actions.component.mjs +40 -40
  110. package/esm2022/app/components/filter/filter.component.mjs +626 -626
  111. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +92 -92
  112. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +83 -83
  113. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +18 -18
  114. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +78 -78
  115. package/esm2022/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +27 -27
  116. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +29 -29
  117. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +44 -44
  118. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +68 -68
  119. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +23 -23
  120. package/esm2022/app/components/filters-item/chips/chips.component.mjs +30 -30
  121. package/esm2022/app/components/filters-item/date/date.component.mjs +45 -45
  122. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +36 -36
  123. package/esm2022/app/components/filters-item/filter-item.component.mjs +82 -82
  124. package/esm2022/app/components/filters-item/range/range.component.mjs +49 -49
  125. package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +12 -12
  126. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +33 -33
  127. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +60 -60
  128. package/esm2022/app/components/filters-item/select/select.component.mjs +55 -55
  129. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +46 -46
  130. package/esm2022/app/components/filters-item/text/text.component.mjs +51 -51
  131. package/esm2022/app/components/filters-item/week/week.component.mjs +26 -26
  132. package/esm2022/app/components/saved-filter/index.mjs +3 -3
  133. package/esm2022/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
  134. package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +55 -55
  135. package/esm2022/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
  136. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +45 -45
  137. package/esm2022/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
  138. package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +61 -61
  139. package/esm2022/app/consts/query-param-delimiter.mjs +1 -1
  140. package/esm2022/app/directives/focus-to-item/focus-to-item.directive.mjs +141 -141
  141. package/esm2022/app/directives/status-bar/status-bar.directive.mjs +17 -17
  142. package/esm2022/app/enums/action-mode.enum.mjs +7 -7
  143. package/esm2022/app/enums/action-type.enum.mjs +10 -10
  144. package/esm2022/app/enums/button-style.mjs +10 -10
  145. package/esm2022/app/enums/index.mjs +6 -6
  146. package/esm2022/app/enums/item-date-mode.enum.mjs +6 -6
  147. package/esm2022/app/enums/item-type.enum.mjs +16 -16
  148. package/esm2022/app/enums/picker-view-type.enum.mjs +8 -8
  149. package/esm2022/app/fs-filter.module.mjs +261 -261
  150. package/esm2022/app/helpers/build-query-params.mjs +33 -33
  151. package/esm2022/app/helpers/compare.mjs +38 -38
  152. package/esm2022/app/helpers/create-filter-item.mjs +55 -55
  153. package/esm2022/app/helpers/find-value.mjs +13 -13
  154. package/esm2022/app/helpers/get-range-name.mjs +3 -3
  155. package/esm2022/app/helpers/parse-date.mjs +8 -8
  156. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +77 -77
  157. package/esm2022/app/helpers/query-param-transformers.mjs +8 -8
  158. package/esm2022/app/helpers/restore-items.mjs +49 -49
  159. package/esm2022/app/injectors/filter-config.mjs +2 -2
  160. package/esm2022/app/injectors/filter-drawer-data.mjs +2 -2
  161. package/esm2022/app/injectors/filter-drawer-overlay.mjs +2 -2
  162. package/esm2022/app/interfaces/action.interface.mjs +1 -1
  163. package/esm2022/app/interfaces/config.interface.mjs +1 -1
  164. package/esm2022/app/interfaces/external-params.interface.mjs +1 -1
  165. package/esm2022/app/interfaces/filter.interface.mjs +1 -1
  166. package/esm2022/app/interfaces/index.mjs +6 -6
  167. package/esm2022/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  168. package/esm2022/app/interfaces/items/autocomplete.interface.mjs +1 -1
  169. package/esm2022/app/interfaces/items/base.interface.mjs +1 -1
  170. package/esm2022/app/interfaces/items/checkbox.interface.mjs +1 -1
  171. package/esm2022/app/interfaces/items/chips.interface.mjs +1 -1
  172. package/esm2022/app/interfaces/items/date-range.interface.mjs +1 -1
  173. package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
  174. package/esm2022/app/interfaces/items/range.interface.mjs +1 -1
  175. package/esm2022/app/interfaces/items/select.interface.mjs +1 -1
  176. package/esm2022/app/interfaces/items/text.interface.mjs +1 -1
  177. package/esm2022/app/interfaces/items/week.interface.mjs +1 -1
  178. package/esm2022/app/interfaces/saved-filters.interface.mjs +1 -1
  179. package/esm2022/app/interfaces/update-filter-item.interface.mjs +1 -1
  180. package/esm2022/app/models/action-menu-item.model.mjs +73 -73
  181. package/esm2022/app/models/action.model.mjs +156 -156
  182. package/esm2022/app/models/filter-config.mjs +79 -79
  183. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +15 -15
  184. package/esm2022/app/models/items/autocomplete-chips-item.mjs +67 -67
  185. package/esm2022/app/models/items/autocomplete-item.mjs +33 -33
  186. package/esm2022/app/models/items/base-item.mjs +251 -251
  187. package/esm2022/app/models/items/checkbox-item.mjs +52 -52
  188. package/esm2022/app/models/items/chips-item.mjs +90 -90
  189. package/esm2022/app/models/items/date/base-date-item.mjs +50 -50
  190. package/esm2022/app/models/items/date-item.mjs +19 -19
  191. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +124 -124
  192. package/esm2022/app/models/items/date-range-item.mjs +6 -6
  193. package/esm2022/app/models/items/date-time-item.mjs +9 -9
  194. package/esm2022/app/models/items/date-time-range-item.mjs +6 -6
  195. package/esm2022/app/models/items/range-item.mjs +85 -85
  196. package/esm2022/app/models/items/select/base-select-item.mjs +40 -40
  197. package/esm2022/app/models/items/select/multiple-select-item.mjs +88 -88
  198. package/esm2022/app/models/items/select/simple-select-item.mjs +66 -66
  199. package/esm2022/app/models/items/select-item.mjs +12 -12
  200. package/esm2022/app/models/items/text-item.mjs +35 -35
  201. package/esm2022/app/models/items/week-item.mjs +95 -95
  202. package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +21 -21
  203. package/esm2022/app/providers/filter-meta.mjs +9 -9
  204. package/esm2022/app/services/external-params/persistance-params-controller.service.mjs +62 -62
  205. package/esm2022/app/services/external-params/query-params-controller.service.mjs +66 -66
  206. package/esm2022/app/services/external-params/saved-filters-controller.service.mjs +167 -167
  207. package/esm2022/app/services/external-params-controller.service.mjs +185 -185
  208. package/esm2022/app/services/filter-overlay.service.mjs +130 -130
  209. package/esm2022/app/services/focus-controller.service.mjs +29 -29
  210. package/esm2022/app/services/items-store.service.mjs +347 -347
  211. package/esm2022/firestitch-filter.mjs +4 -4
  212. package/esm2022/public_api.mjs +35 -35
  213. package/fesm2022/firestitch-filter.mjs +4536 -4536
  214. package/fesm2022/firestitch-filter.mjs.map +1 -1
  215. package/index.d.ts +5 -5
  216. package/package.json +1 -1
  217. package/public_api.d.ts +40 -40
@@ -1,124 +1,124 @@
1
- import { isEmpty } from '@firestitch/common';
2
- import { format, simpleFormat } from '@firestitch/date';
3
- import { isDate, isValid, parseISO } from 'date-fns';
4
- import { clone, isObject, isString } from 'lodash-es';
5
- import { ItemType } from '../../../enums/item-type.enum';
6
- import { getRangeName } from '../../../helpers/get-range-name';
7
- import { BaseItem } from '../base-item';
8
- export class BaseDateRangeItem extends BaseItem {
9
- get isTypeDateRange() {
10
- return this.type === ItemType.DateRange;
11
- }
12
- get isTypeDateTimeRange() {
13
- return this.type === ItemType.DateTimeRange;
14
- }
15
- get isChipVisible() {
16
- return this.model && (this.model.from !== undefined || this.model.to !== undefined);
17
- }
18
- get value() {
19
- let value = clone(this.model);
20
- if (!isObject(this.model) ||
21
- (isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
22
- value = undefined;
23
- }
24
- if (isEmpty(value, { zero: true })) {
25
- return undefined;
26
- }
27
- let from = value.from;
28
- let to = value.to;
29
- value = {};
30
- if (from) {
31
- if (isString(from)) {
32
- from = parseISO(from);
33
- }
34
- if (isValid(from) && isDate(from)) {
35
- value.from = from;
36
- }
37
- }
38
- if (to) {
39
- if (isString(to)) {
40
- to = parseISO(to);
41
- }
42
- if (isValid(to) && isDate(to)) {
43
- value.to = to;
44
- }
45
- }
46
- return value;
47
- }
48
- get queryObject() {
49
- const value = this.value || {};
50
- const name = this.name;
51
- const paramFromName = getRangeName(name, 'from');
52
- const paramToName = getRangeName(name, 'to');
53
- return {
54
- [paramFromName]: value.from || undefined,
55
- [paramToName]: value.to || undefined,
56
- };
57
- }
58
- get persistanceObject() {
59
- const query = this.queryObject;
60
- return Object.keys(this.queryObject)
61
- .reduce((acc, key) => {
62
- acc[key] = query[key] ? simpleFormat(query[key]) : query[key];
63
- return acc;
64
- }, {});
65
- }
66
- getChipsContent(type = null) {
67
- const formatTo = this.type === ItemType.DateRange ? 'date' : 'date-time';
68
- if (type === 'from') {
69
- const from = this.model.from;
70
- return `${format(from, formatTo)}`;
71
- }
72
- else if (type === 'to') {
73
- const to = this.model.to;
74
- return `${format(to, formatTo)}`;
75
- }
76
- }
77
- clearDateRange(type = null, defaultValue = undefined) {
78
- if (type === 'from') {
79
- delete this.model.from;
80
- if (defaultValue?.from) {
81
- this.model.from = defaultValue.from;
82
- }
83
- this.model = { ...this.model };
84
- }
85
- else if (type === 'to') {
86
- delete this.model.to;
87
- if (defaultValue?.to) {
88
- this.model.to = defaultValue.to;
89
- }
90
- this.model = { ...this.model };
91
- }
92
- else {
93
- this.model = defaultValue ? { ...defaultValue } : {};
94
- }
95
- }
96
- _validateModel() {
97
- }
98
- _setModel(value) {
99
- if (value) {
100
- if (value.from && (!isDate(value.from) || !isValid(value.from))) {
101
- value.from = parseISO(value.from);
102
- }
103
- if (value.to && (!isDate(value.to) || !isValid(value.to))) {
104
- value.to = parseISO(value.to);
105
- }
106
- }
107
- super._setModel(value);
108
- }
109
- _parseConfig(item) {
110
- super._parseConfig(item);
111
- }
112
- _init() {
113
- if (!this.label) {
114
- this.label = ['Date From', 'Date To'];
115
- }
116
- if (!this.model) {
117
- this.model = this.defaultValue || {};
118
- }
119
- }
120
- _clearValue(defaultValue = undefined) {
121
- this.model = this.defaultValue ?? {};
122
- }
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRlLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlL2Jhc2UtZGF0ZS1yYW5nZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUsvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3hDLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsUUFBb0M7SUFFbEYsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFD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c3RpdGNoL2NvbW1vbic7XG5pbXBvcnQgeyBmb3JtYXQsIHNpbXBsZUZvcm1hdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuXG5cbmltcG9ydCB7IGlzRGF0ZSwgaXNWYWxpZCwgcGFyc2VJU08gfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBnZXRSYW5nZU5hbWUgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2dldC1yYW5nZS1uYW1lJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLFxuICBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UsXG59IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGF0ZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtPiB7XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZVJhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgKHRoaXMubW9kZWwuZnJvbSAhPT0gdW5kZWZpbmVkIHx8IHRoaXMubW9kZWwudG8gIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKCFpc09iamVjdCh0aGlzLm1vZGVsKSB8fFxuICAgICAgKGlzRW1wdHkodGhpcy5tb2RlbC5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNFbXB0eSh2YWx1ZSwgeyB6ZXJvOiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmcm9tID0gdmFsdWUuZnJvbTtcbiAgICBsZXQgdG8gPSB2YWx1ZS50bztcblxuICAgIHZhbHVlID0ge307XG5cbiAgICBpZiAoZnJvbSkge1xuICAgICAgaWYgKGlzU3RyaW5nKGZyb20pKSB7XG4gICAgICAgIGZyb20gPSBwYXJzZUlTTyhmcm9tKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzVmFsaWQoZnJvbSkgJiYgaXNEYXRlKGZyb20pKSB7XG4gICAgICAgIHZhbHVlLmZyb20gPSBmcm9tO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0bykge1xuICAgICAgaWYgKGlzU3RyaW5nKHRvKSkge1xuICAgICAgICB0byA9IHBhcnNlSVNPKHRvKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzVmFsaWQodG8pICYmIGlzRGF0ZSh0bykpIHtcbiAgICAgICAgdmFsdWUudG8gPSB0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIERhdGU+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgfHwge307XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbUZyb21OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICdmcm9tJyk7XG4gICAgY29uc3QgcGFyYW1Ub05hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ3RvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiB2YWx1ZS5mcm9tIHx8IHVuZGVmaW5lZCxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHZhbHVlLnRvIHx8IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJzaXN0YW5jZU9iamVjdCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMucXVlcnlPYmplY3Q7XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5xdWVyeU9iamVjdClcbiAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGFjY1trZXldID0gcXVlcnlba2V5XSA/IHNpbXBsZUZvcm1hdChxdWVyeVtrZXldKSA6IHF1ZXJ5W2tleV07XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSA9IG51bGwpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvcm1hdFRvID0gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlUmFuZ2UgPyAnZGF0ZScgOiAnZGF0ZS10aW1lJztcblxuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLm1vZGVsLmZyb207XG5cbiAgICAgIHJldHVybiBgJHtmb3JtYXQoZnJvbSwgZm9ybWF0VG8pfWA7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBjb25zdCB0byA9IHRoaXMubW9kZWwudG87XG5cbiAgICAgIHJldHVybiBgJHtmb3JtYXQodG8sIGZvcm1hdFRvKX1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhckRhdGVSYW5nZSh0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCwgZGVmYXVsdFZhbHVlOiBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5mcm9tO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5mcm9tKSB7XG4gICAgICAgIHRoaXMubW9kZWwuZnJvbSA9IGRlZmF1bHRWYWx1ZS5mcm9tO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC50bztcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8udG8pIHtcbiAgICAgICAgdGhpcy5tb2RlbC50byA9IGRlZmF1bHRWYWx1ZS50bztcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsID0gZGVmYXVsdFZhbHVlID8geyAuLi5kZWZhdWx0VmFsdWUgfSA6IHt9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZS5mcm9tICYmICghaXNEYXRlKHZhbHVlLmZyb20pIHx8ICFpc1ZhbGlkKHZhbHVlLmZyb20pKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gcGFyc2VJU08odmFsdWUuZnJvbSk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUudG8gJiYgKCFpc0RhdGUodmFsdWUudG8pIHx8ICFpc1ZhbGlkKHZhbHVlLnRvKSkpIHtcbiAgICAgICAgdmFsdWUudG8gPSBwYXJzZUlTTyh2YWx1ZS50byk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0pIHtcbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydEYXRlIEZyb20nLCAnRGF0ZSBUbyddO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IHt9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgPz8ge307XG4gIH1cblxufVxuIl19
1
+ import { isEmpty } from '@firestitch/common';
2
+ import { format, simpleFormat } from '@firestitch/date';
3
+ import { isDate, isValid, parseISO } from 'date-fns';
4
+ import { clone, isObject, isString } from 'lodash-es';
5
+ import { ItemType } from '../../../enums/item-type.enum';
6
+ import { getRangeName } from '../../../helpers/get-range-name';
7
+ import { BaseItem } from '../base-item';
8
+ export class BaseDateRangeItem extends BaseItem {
9
+ get isTypeDateRange() {
10
+ return this.type === ItemType.DateRange;
11
+ }
12
+ get isTypeDateTimeRange() {
13
+ return this.type === ItemType.DateTimeRange;
14
+ }
15
+ get isChipVisible() {
16
+ return this.model && (this.model.from !== undefined || this.model.to !== undefined);
17
+ }
18
+ get value() {
19
+ let value = clone(this.model);
20
+ if (!isObject(this.model) ||
21
+ (isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
22
+ value = undefined;
23
+ }
24
+ if (isEmpty(value, { zero: true })) {
25
+ return undefined;
26
+ }
27
+ let from = value.from;
28
+ let to = value.to;
29
+ value = {};
30
+ if (from) {
31
+ if (isString(from)) {
32
+ from = parseISO(from);
33
+ }
34
+ if (isValid(from) && isDate(from)) {
35
+ value.from = from;
36
+ }
37
+ }
38
+ if (to) {
39
+ if (isString(to)) {
40
+ to = parseISO(to);
41
+ }
42
+ if (isValid(to) && isDate(to)) {
43
+ value.to = to;
44
+ }
45
+ }
46
+ return value;
47
+ }
48
+ get queryObject() {
49
+ const value = this.value || {};
50
+ const name = this.name;
51
+ const paramFromName = getRangeName(name, 'from');
52
+ const paramToName = getRangeName(name, 'to');
53
+ return {
54
+ [paramFromName]: value.from || undefined,
55
+ [paramToName]: value.to || undefined,
56
+ };
57
+ }
58
+ get persistanceObject() {
59
+ const query = this.queryObject;
60
+ return Object.keys(this.queryObject)
61
+ .reduce((acc, key) => {
62
+ acc[key] = query[key] ? simpleFormat(query[key]) : query[key];
63
+ return acc;
64
+ }, {});
65
+ }
66
+ getChipsContent(type = null) {
67
+ const formatTo = this.type === ItemType.DateRange ? 'date' : 'date-time';
68
+ if (type === 'from') {
69
+ const from = this.model.from;
70
+ return `${format(from, formatTo)}`;
71
+ }
72
+ else if (type === 'to') {
73
+ const to = this.model.to;
74
+ return `${format(to, formatTo)}`;
75
+ }
76
+ }
77
+ clearDateRange(type = null, defaultValue = undefined) {
78
+ if (type === 'from') {
79
+ delete this.model.from;
80
+ if (defaultValue?.from) {
81
+ this.model.from = defaultValue.from;
82
+ }
83
+ this.model = { ...this.model };
84
+ }
85
+ else if (type === 'to') {
86
+ delete this.model.to;
87
+ if (defaultValue?.to) {
88
+ this.model.to = defaultValue.to;
89
+ }
90
+ this.model = { ...this.model };
91
+ }
92
+ else {
93
+ this.model = defaultValue ? { ...defaultValue } : {};
94
+ }
95
+ }
96
+ _validateModel() {
97
+ }
98
+ _setModel(value) {
99
+ if (value) {
100
+ if (value.from && (!isDate(value.from) || !isValid(value.from))) {
101
+ value.from = parseISO(value.from);
102
+ }
103
+ if (value.to && (!isDate(value.to) || !isValid(value.to))) {
104
+ value.to = parseISO(value.to);
105
+ }
106
+ }
107
+ super._setModel(value);
108
+ }
109
+ _parseConfig(item) {
110
+ super._parseConfig(item);
111
+ }
112
+ _init() {
113
+ if (!this.label) {
114
+ this.label = ['Date From', 'Date To'];
115
+ }
116
+ if (!this.model) {
117
+ this.model = this.defaultValue || {};
118
+ }
119
+ }
120
+ _clearValue(defaultValue = undefined) {
121
+ this.model = this.defaultValue ?? {};
122
+ }
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRlLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlL2Jhc2UtZGF0ZS1yYW5nZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUsvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3hDLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsUUFBb0M7SUFFbEYsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkYsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBRWxCLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUM5QixLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxPQUFPO1lBQ0wsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVM7WUFDeEMsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLFNBQVM7U0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2pDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU5RCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUV6RSxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUU3QixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUV6QixPQUFPLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQXNCLElBQUksRUFBRSxlQUE0QyxTQUFTO1FBQ3JHLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFFdkIsSUFBSSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdEMsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUVyQixJQUFJLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRVMsY0FBYztJQUN4QixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQUs7UUFDdkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxRCxLQUFLLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxZQUFZLENBQUMsSUFBZ0M7UUFDckQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IGZvcm1hdCwgc2ltcGxlRm9ybWF0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XG5cblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGNsb25lLCBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0sXG4gIElGaWx0ZXJJdGVtRGVmYXVsdERhdGVSYW5nZSxcbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL2Jhc2UtaXRlbSc7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEYXRlUmFuZ2VJdGVtIGV4dGVuZHMgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0+IHtcblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVSYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVUaW1lUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWVSYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCAmJiAodGhpcy5tb2RlbC5mcm9tICE9PSB1bmRlZmluZWQgfHwgdGhpcy5tb2RlbC50byAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAoIWlzT2JqZWN0KHRoaXMubW9kZWwpIHx8XG4gICAgICAoaXNFbXB0eSh0aGlzLm1vZGVsLmZyb20sIHsgemVybzogdHJ1ZSB9KSAmJiBpc0VtcHR5KHRoaXMubW9kZWwudG8sIHsgemVybzogdHJ1ZSB9KSkpIHtcbiAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHZhbHVlLCB7IHplcm86IHRydWUgfSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZyb20gPSB2YWx1ZS5mcm9tO1xuICAgIGxldCB0byA9IHZhbHVlLnRvO1xuXG4gICAgdmFsdWUgPSB7fTtcblxuICAgIGlmIChmcm9tKSB7XG4gICAgICBpZiAoaXNTdHJpbmcoZnJvbSkpIHtcbiAgICAgICAgZnJvbSA9IHBhcnNlSVNPKGZyb20pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZChmcm9tKSAmJiBpc0RhdGUoZnJvbSkpIHtcbiAgICAgICAgdmFsdWUuZnJvbSA9IGZyb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvKSB7XG4gICAgICBpZiAoaXNTdHJpbmcodG8pKSB7XG4gICAgICAgIHRvID0gcGFyc2VJU08odG8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZCh0bykgJiYgaXNEYXRlKHRvKSkge1xuICAgICAgICB2YWx1ZS50byA9IHRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKTogUmVjb3JkPHN0cmluZywgRGF0ZT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSB8fCB7fTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ2Zyb20nKTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAndG8nKTtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHZhbHVlLmZyb20gfHwgdW5kZWZpbmVkLFxuICAgICAgW3BhcmFtVG9OYW1lXTogdmFsdWUudG8gfHwgdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeU9iamVjdDtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5T2JqZWN0KVxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSBxdWVyeVtrZXldID8gc2ltcGxlRm9ybWF0KHF1ZXJ5W2tleV0pIDogcXVlcnlba2V5XTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldENoaXBzQ29udGVudCh0eXBlID0gbnVsbCk6IHN0cmluZyB7XG4gICAgY29uc3QgZm9ybWF0VG8gPSB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVSYW5nZSA/ICdkYXRlJyA6ICdkYXRlLXRpbWUnO1xuXG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgY29uc3QgZnJvbSA9IHRoaXMubW9kZWwuZnJvbTtcblxuICAgICAgcmV0dXJuIGAke2Zvcm1hdChmcm9tLCBmb3JtYXRUbyl9YDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGNvbnN0IHRvID0gdGhpcy5tb2RlbC50bztcblxuICAgICAgcmV0dXJuIGAke2Zvcm1hdCh0bywgZm9ybWF0VG8pfWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyRGF0ZVJhbmdlKHR5cGU6ICdmcm9tJyB8ICd0bycgPSBudWxsLCBkZWZhdWx0VmFsdWU6IElGaWx0ZXJJdGVtRGVmYXVsdERhdGVSYW5nZSA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm1vZGVsLmZyb207XG5cbiAgICAgIGlmIChkZWZhdWx0VmFsdWU/LmZyb20pIHtcbiAgICAgICAgdGhpcy5tb2RlbC5mcm9tID0gZGVmYXVsdFZhbHVlLmZyb207XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kZWwgPSB7IC4uLnRoaXMubW9kZWwgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm1vZGVsLnRvO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy50bykge1xuICAgICAgICB0aGlzLm1vZGVsLnRvID0gZGVmYXVsdFZhbHVlLnRvO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPyB7IC4uLmRlZmF1bHRWYWx1ZSB9IDoge307XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zZXRNb2RlbCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlLmZyb20gJiYgKCFpc0RhdGUodmFsdWUuZnJvbSkgfHwgIWlzVmFsaWQodmFsdWUuZnJvbSkpKSB7XG4gICAgICAgIHZhbHVlLmZyb20gPSBwYXJzZUlTTyh2YWx1ZS5mcm9tKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS50byAmJiAoIWlzRGF0ZSh2YWx1ZS50bykgfHwgIWlzVmFsaWQodmFsdWUudG8pKSkge1xuICAgICAgICB2YWx1ZS50byA9IHBhcnNlSVNPKHZhbHVlLnRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdXBlci5fc2V0TW9kZWwodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSkge1xuICAgIHN1cGVyLl9wYXJzZUNvbmZpZyhpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMubGFiZWwgPSBbJ0RhdGUgRnJvbScsICdEYXRlIFRvJ107XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwge307XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLmRlZmF1bHRWYWx1ZSA/PyB7fTtcbiAgfVxuXG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { BaseDateRangeItem } from './date-range/base-date-range-item';
2
- export class DateRangeItem extends BaseDateRangeItem {
3
- static create(config, filter) {
4
- return new DateRangeItem(config, null, filter);
5
- }
6
- }
1
+ import { BaseDateRangeItem } from './date-range/base-date-range-item';
2
+ export class DateRangeItem extends BaseDateRangeItem {
3
+ static create(config, filter) {
4
+ return new DateRangeItem(config, null, filter);
5
+ }
6
+ }
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBRTNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBa0MsRUFBRSxNQUF1QjtRQUM5RSxPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi9kYXRlLXJhbmdlL2Jhc2UtZGF0ZS1yYW5nZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VEYXRlUmFuZ2VJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxufVxuIl19
@@ -1,10 +1,10 @@
1
- import { BaseDateItem } from './date/base-date-item';
2
- export class DateTimeItem extends BaseDateItem {
3
- static create(config, filter) {
4
- return new DateTimeItem(config, null, filter);
5
- }
6
- _clearValue(defaultValue = undefined) {
7
- this.model = defaultValue ?? undefined;
8
- }
9
- }
1
+ import { BaseDateItem } from './date/base-date-item';
2
+ export class DateTimeItem extends BaseDateItem {
3
+ static create(config, filter) {
4
+ return new DateTimeItem(config, null, filter);
5
+ }
6
+ _clearValue(defaultValue = undefined) {
7
+ this.model = defaultValue ?? undefined;
8
+ }
9
+ }
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBNkIsRUFBRSxNQUF1QjtRQUN6RSxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ0RhdGVJdGVtLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZURhdGVJdGVtIH0gZnJvbSAnLi9kYXRlL2Jhc2UtZGF0ZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVJdGVtIGV4dGVuZHMgQmFzZURhdGVJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlSXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IERhdGVUaW1lSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { BaseDateRangeItem } from './date-range/base-date-range-item';
2
- export class DateTimeRangeItem extends BaseDateRangeItem {
3
- static create(config, filter) {
4
- return new DateTimeRangeItem(config, null, filter);
5
- }
6
- }
1
+ import { BaseDateRangeItem } from './date-range/base-date-range-item';
2
+ export class DateTimeRangeItem extends BaseDateRangeItem {
3
+ static create(config, filter) {
4
+ return new DateTimeRangeItem(config, null, filter);
5
+ }
6
+ }
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd0RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBRS9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBa0MsRUFBRSxNQUF1QjtRQUM5RSxPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZURhdGVSYW5nZUl0ZW0gfSBmcm9tICcuL2RhdGUtcmFuZ2UvYmFzZS1kYXRlLXJhbmdlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBEYXRlVGltZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VEYXRlUmFuZ2VJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWVSYW5nZUl0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,85 +1,85 @@
1
- import { isEmpty } from '@firestitch/common';
2
- import { clone, isObject } from 'lodash-es';
3
- import { getRangeName } from '../../helpers/get-range-name';
4
- import { BaseItem } from './base-item';
5
- export class RangeItem extends BaseItem {
6
- options;
7
- prefix;
8
- suffix;
9
- static create(config, additionalConfig, filter) {
10
- return new RangeItem(config, additionalConfig, filter);
11
- }
12
- get value() {
13
- let value = clone(this.model);
14
- if (!isObject(this.model) ||
15
- (isEmpty(this.model.max, { zero: true }) && isEmpty(this.model.min, { zero: true }))) {
16
- value = undefined;
17
- }
18
- return value;
19
- }
20
- get queryObject() {
21
- const value = this.value;
22
- const name = this.name;
23
- const params = {};
24
- const paramMinName = getRangeName(name, 'min');
25
- const paramMaxName = getRangeName(name, 'max');
26
- if (isObject(value)) {
27
- params[paramMinName] = value.min || undefined;
28
- params[paramMaxName] = value.max || undefined;
29
- }
30
- else {
31
- params[paramMinName] = undefined;
32
- params[paramMaxName] = undefined;
33
- }
34
- return params;
35
- }
36
- get isChipVisible() {
37
- return this.model && (this.model.min !== undefined || this.model.max !== undefined);
38
- }
39
- getChipsContent(type) {
40
- if (type === 'from') {
41
- const min = this.model.min;
42
- return `${min}`;
43
- }
44
- else if (type === 'to') {
45
- const max = this.model.max;
46
- return `${max}`;
47
- }
48
- }
49
- clearRange(type = null, defaultValue = undefined) {
50
- if (type === 'from') {
51
- delete this.model.min;
52
- if (defaultValue?.min) {
53
- this.model.min = defaultValue.min;
54
- }
55
- this.model = { ...this.model };
56
- }
57
- else if (type === 'to') {
58
- delete this.model.max;
59
- if (defaultValue?.max) {
60
- this.model.max = defaultValue.max;
61
- }
62
- this.model = { ...this.model };
63
- }
64
- else {
65
- this.model = defaultValue ? { ...defaultValue } : {};
66
- }
67
- }
68
- _validateModel() {
69
- }
70
- _parseConfig(item) {
71
- this.options = item.options;
72
- this.prefix = item.prefix;
73
- this.suffix = item.suffix;
74
- super._parseConfig(item);
75
- }
76
- _init() {
77
- if (!this.label) {
78
- this.label = ['Min', 'Max'];
79
- }
80
- if (!this.model) {
81
- this.model = this.defaultValue || {};
82
- }
83
- }
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU01RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBZ0M7SUFFdEQsT0FBTyxDQUFxQjtJQUM1QixNQUFNLENBQVM7SUFDZixNQUFNLENBQVM7SUFDZixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQThCLEVBQUUsZ0JBQXlCLEVBQUUsTUFBdUI7UUFDckcsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtZQUN0RixLQUFLLEdBQUcsU0FBUyxDQUFDO1NBQ25CO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9DLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM5QyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUM7U0FDL0M7YUFBTTtZQUNMLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUNsQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBSTtRQUN6QixJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFM0IsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBRTNCLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsT0FBc0IsSUFBSSxFQUFFLGVBQXdDLFNBQVM7UUFDN0YsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFdEIsSUFBSSxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDO2FBQ25DO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFdEIsSUFBSSxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDO2FBQ25DO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRVMsY0FBYztJQUN4QixDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTRCO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTFCLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcblxuaW1wb3J0IHsgY2xvbmUsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSxcbiAgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UsXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2Jhc2UtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIFJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdSYW5nZUl0ZW0+IHtcblxuICBwdWJsaWMgb3B0aW9uczogeyBzY2FsZT86IG51bWJlciB9O1xuICBwdWJsaWMgcHJlZml4OiBzdHJpbmc7XG4gIHB1YmxpYyBzdWZmaXg6IHN0cmluZztcbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtLCBhZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgUmFuZ2VJdGVtKGNvbmZpZywgYWRkaXRpb25hbENvbmZpZywgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAoIWlzT2JqZWN0KHRoaXMubW9kZWwpIHx8XG4gICAgICAoaXNFbXB0eSh0aGlzLm1vZGVsLm1heCwgeyB6ZXJvOiB0cnVlIH0pICYmIGlzRW1wdHkodGhpcy5tb2RlbC5taW4sIHsgemVybzogdHJ1ZSB9KSkpIHtcbiAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3QgcGFyYW1NaW5OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICdtaW4nKTtcbiAgICBjb25zdCBwYXJhbU1heE5hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ21heCcpO1xuXG4gICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcGFyYW1zW3BhcmFtTWluTmFtZV0gPSB2YWx1ZS5taW4gfHwgdW5kZWZpbmVkO1xuICAgICAgcGFyYW1zW3BhcmFtTWF4TmFtZV0gPSB2YWx1ZS5tYXggfHwgdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXNbcGFyYW1NaW5OYW1lXSA9IHVuZGVmaW5lZDtcbiAgICAgIHBhcmFtc1twYXJhbU1heE5hbWVdID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgKHRoaXMubW9kZWwubWluICE9PSB1bmRlZmluZWQgfHwgdGhpcy5tb2RlbC5tYXggIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGNvbnN0IG1pbiA9IHRoaXMubW9kZWwubWluO1xuXG4gICAgICByZXR1cm4gYCR7bWlufWA7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBjb25zdCBtYXggPSB0aGlzLm1vZGVsLm1heDtcblxuICAgICAgcmV0dXJuIGAke21heH1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhclJhbmdlKHR5cGU6ICdmcm9tJyB8ICd0bycgPSBudWxsLCBkZWZhdWx0VmFsdWU6IElGaWx0ZXJJdGVtRGVmYXVsdFJhbmdlID0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgZGVsZXRlIHRoaXMubW9kZWwubWluO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5taW4pIHtcbiAgICAgICAgdGhpcy5tb2RlbC5taW4gPSBkZWZhdWx0VmFsdWUubWluO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5tYXg7XG5cbiAgICAgIGlmIChkZWZhdWx0VmFsdWU/Lm1heCkge1xuICAgICAgICB0aGlzLm1vZGVsLm1heCA9IGRlZmF1bHRWYWx1ZS5tYXg7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kZWwgPSB7IC4uLnRoaXMubW9kZWwgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/IHsgLi4uZGVmYXVsdFZhbHVlIH0gOiB7fTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlTW9kZWwoKSB7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3BhcnNlQ29uZmlnKGl0ZW06IElGaWx0ZXJDb25maWdSYW5nZUl0ZW0pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBpdGVtLm9wdGlvbnM7XG4gICAgdGhpcy5wcmVmaXggPSBpdGVtLnByZWZpeDtcbiAgICB0aGlzLnN1ZmZpeCA9IGl0ZW0uc3VmZml4O1xuXG4gICAgc3VwZXIuX3BhcnNlQ29uZmlnKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0KCkge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgdGhpcy5sYWJlbCA9IFsnTWluJywgJ01heCddO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IHt9O1xuICAgIH1cbiAgfVxufVxuIl19
1
+ import { isEmpty } from '@firestitch/common';
2
+ import { clone, isObject } from 'lodash-es';
3
+ import { getRangeName } from '../../helpers/get-range-name';
4
+ import { BaseItem } from './base-item';
5
+ export class RangeItem extends BaseItem {
6
+ options;
7
+ prefix;
8
+ suffix;
9
+ static create(config, additionalConfig, filter) {
10
+ return new RangeItem(config, additionalConfig, filter);
11
+ }
12
+ get value() {
13
+ let value = clone(this.model);
14
+ if (!isObject(this.model) ||
15
+ (isEmpty(this.model.max, { zero: true }) && isEmpty(this.model.min, { zero: true }))) {
16
+ value = undefined;
17
+ }
18
+ return value;
19
+ }
20
+ get queryObject() {
21
+ const value = this.value;
22
+ const name = this.name;
23
+ const params = {};
24
+ const paramMinName = getRangeName(name, 'min');
25
+ const paramMaxName = getRangeName(name, 'max');
26
+ if (isObject(value)) {
27
+ params[paramMinName] = value.min || undefined;
28
+ params[paramMaxName] = value.max || undefined;
29
+ }
30
+ else {
31
+ params[paramMinName] = undefined;
32
+ params[paramMaxName] = undefined;
33
+ }
34
+ return params;
35
+ }
36
+ get isChipVisible() {
37
+ return this.model && (this.model.min !== undefined || this.model.max !== undefined);
38
+ }
39
+ getChipsContent(type) {
40
+ if (type === 'from') {
41
+ const min = this.model.min;
42
+ return `${min}`;
43
+ }
44
+ else if (type === 'to') {
45
+ const max = this.model.max;
46
+ return `${max}`;
47
+ }
48
+ }
49
+ clearRange(type = null, defaultValue = undefined) {
50
+ if (type === 'from') {
51
+ delete this.model.min;
52
+ if (defaultValue?.min) {
53
+ this.model.min = defaultValue.min;
54
+ }
55
+ this.model = { ...this.model };
56
+ }
57
+ else if (type === 'to') {
58
+ delete this.model.max;
59
+ if (defaultValue?.max) {
60
+ this.model.max = defaultValue.max;
61
+ }
62
+ this.model = { ...this.model };
63
+ }
64
+ else {
65
+ this.model = defaultValue ? { ...defaultValue } : {};
66
+ }
67
+ }
68
+ _validateModel() {
69
+ }
70
+ _parseConfig(item) {
71
+ this.options = item.options;
72
+ this.prefix = item.prefix;
73
+ this.suffix = item.suffix;
74
+ super._parseConfig(item);
75
+ }
76
+ _init() {
77
+ if (!this.label) {
78
+ this.label = ['Min', 'Max'];
79
+ }
80
+ if (!this.model) {
81
+ this.model = this.defaultValue || {};
82
+ }
83
+ }
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU01RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBZ0M7SUFFdEQsT0FBTyxDQUFxQjtJQUM1QixNQUFNLENBQVM7SUFDZixNQUFNLENBQVM7SUFDZixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQThCLEVBQUUsZ0JBQXlCLEVBQUUsTUFBdUI7UUFDckcsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixN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Q0FBQztRQUUxQixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VOYW1lIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtcmFuZ2UtbmFtZSc7XG5pbXBvcnQge1xuICBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtLFxuICBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9yYW5nZS5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4vYmFzZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgUmFuZ2VJdGVtIGV4dGVuZHMgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ1JhbmdlSXRlbT4ge1xuXG4gIHB1YmxpYyBvcHRpb25zOiB7IHNjYWxlPzogbnVtYmVyIH07XG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHN1ZmZpeDogc3RyaW5nO1xuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdSYW5nZUl0ZW0sIGFkZGl0aW9uYWxDb25maWc6IHVua25vd24sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBSYW5nZUl0ZW0oY29uZmlnLCBhZGRpdGlvbmFsQ29uZmlnLCBmaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICghaXNPYmplY3QodGhpcy5tb2RlbCkgfHxcbiAgICAgIChpc0VtcHR5KHRoaXMubW9kZWwubWF4LCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLm1pbiwgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeU9iamVjdCgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCBwYXJhbU1pbk5hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ21pbicpO1xuICAgIGNvbnN0IHBhcmFtTWF4TmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnbWF4Jyk7XG5cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICBwYXJhbXNbcGFyYW1NaW5OYW1lXSA9IHZhbHVlLm1pbiB8fCB1bmRlZmluZWQ7XG4gICAgICBwYXJhbXNbcGFyYW1NYXhOYW1lXSA9IHZhbHVlLm1heCB8fCB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1twYXJhbU1pbk5hbWVdID0gdW5kZWZpbmVkO1xuICAgICAgcGFyYW1zW3BhcmFtTWF4TmFtZV0gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCAmJiAodGhpcy5tb2RlbC5taW4gIT09IHVuZGVmaW5lZCB8fCB0aGlzLm1vZGVsLm1heCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgY29uc3QgbWluID0gdGhpcy5tb2RlbC5taW47XG5cbiAgICAgIHJldHVybiBgJHttaW59YDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGNvbnN0IG1heCA9IHRoaXMubW9kZWwubWF4O1xuXG4gICAgICByZXR1cm4gYCR7bWF4fWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyUmFuZ2UodHlwZTogJ2Zyb20nIHwgJ3RvJyA9IG51bGwsIGRlZmF1bHRWYWx1ZTogSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UgPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5taW47XG5cbiAgICAgIGlmIChkZWZhdWx0VmFsdWU/Lm1pbikge1xuICAgICAgICB0aGlzLm1vZGVsLm1pbiA9IGRlZmF1bHRWYWx1ZS5taW47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kZWwgPSB7IC4uLnRoaXMubW9kZWwgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm1vZGVsLm1heDtcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8ubWF4KSB7XG4gICAgICAgIHRoaXMubW9kZWwubWF4ID0gZGVmYXVsdFZhbHVlLm1heDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsID0gZGVmYXVsdFZhbHVlID8geyAuLi5kZWZhdWx0VmFsdWUgfSA6IHt9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSkge1xuICAgIHRoaXMub3B0aW9ucyA9IGl0ZW0ub3B0aW9ucztcbiAgICB0aGlzLnByZWZpeCA9IGl0ZW0ucHJlZml4O1xuICAgIHRoaXMuc3VmZml4ID0gaXRlbS5zdWZmaXg7XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydNaW4nLCAnTWF4J107XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwge307XG4gICAgfVxuICB9XG59XG4iXX0=