@qrvey/filters 0.0.44 → 0.1.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 (279) hide show
  1. package/README.md +63 -1
  2. package/dist/cjs/classes/FilterAdapter.js +1 -80
  3. package/dist/cjs/classes/FilterBuilder.js +33 -251
  4. package/dist/cjs/classes/FilterManager.js +7 -64
  5. package/dist/cjs/classes/FilterResources.js +3 -116
  6. package/dist/cjs/classes/FilterSearcher.js +0 -77
  7. package/dist/cjs/classes/FilterValidation.js +0 -93
  8. package/dist/cjs/classes/FilterValues.js +0 -24
  9. package/dist/cjs/classes/index.js +8 -21
  10. package/dist/cjs/helpers/filter-adapt.helpers.js +3 -46
  11. package/dist/cjs/helpers/filter-adapt.legacy.helpers.js +6 -53
  12. package/dist/cjs/helpers/filter-adapt.logic.helpers.js +7 -128
  13. package/dist/cjs/helpers/filter-builder.helpers.js +1 -8
  14. package/dist/cjs/helpers/filter-settings.helpers.js +6 -41
  15. package/dist/cjs/helpers/filter-validators.helpers.js +15 -9
  16. package/dist/cjs/helpers/filter-verbose.helpers.js +211 -0
  17. package/dist/cjs/helpers/getAggregateFilters.js +11 -0
  18. package/dist/cjs/helpers/getFilterId.js +1 -17
  19. package/dist/cjs/helpers/getFilterType.js +1 -8
  20. package/dist/cjs/helpers/index.js +12 -20
  21. package/dist/cjs/helpers/isDateDistinctGrouping.js +15 -0
  22. package/dist/cjs/helpers/isRankingFilter.js +10 -0
  23. package/dist/cjs/helpers/resolveFilterConditions.js +2 -10
  24. package/dist/cjs/helpers/utils.helpers.js +2 -19
  25. package/dist/cjs/index.js +5 -18
  26. package/dist/cjs/models/index.js +4 -17
  27. package/dist/cjs/resources/filter-grouping.resources.js +0 -18
  28. package/dist/cjs/resources/filter-logic.resources.js +0 -3
  29. package/dist/cjs/resources/filter-scopes.resources.js +10 -27
  30. package/dist/cjs/resources/filter-validators.resources.js +0 -3
  31. package/dist/cjs/resources/filter-verbose.resources.js +13 -0
  32. package/dist/cjs/resources/filters.resources.js +0 -12
  33. package/dist/cjs/resources/index.js +12 -24
  34. package/dist/classes/FilterAdapter.d.ts +0 -80
  35. package/dist/classes/FilterAdapter.js +1 -80
  36. package/dist/classes/FilterBuilder.d.ts +2 -177
  37. package/dist/classes/FilterBuilder.js +33 -251
  38. package/dist/classes/FilterManager.d.ts +7 -62
  39. package/dist/classes/FilterManager.js +7 -64
  40. package/dist/classes/FilterResources.d.ts +1 -115
  41. package/dist/classes/FilterResources.js +3 -116
  42. package/dist/classes/FilterSearcher.d.ts +2 -77
  43. package/dist/classes/FilterSearcher.js +0 -77
  44. package/dist/classes/FilterValidation.d.ts +1 -47
  45. package/dist/classes/FilterValidation.js +0 -93
  46. package/dist/classes/FilterValues.d.ts +0 -25
  47. package/dist/classes/FilterValues.js +0 -24
  48. package/dist/classes/index.d.ts +0 -1
  49. package/dist/helpers/filter-adapt.helpers.d.ts +0 -15
  50. package/dist/helpers/filter-adapt.helpers.js +1 -43
  51. package/dist/helpers/filter-adapt.legacy.helpers.d.ts +0 -20
  52. package/dist/helpers/filter-adapt.legacy.helpers.js +3 -49
  53. package/dist/helpers/filter-adapt.logic.helpers.d.ts +0 -22
  54. package/dist/helpers/filter-adapt.logic.helpers.js +3 -123
  55. package/dist/helpers/filter-builder.helpers.d.ts +0 -7
  56. package/dist/helpers/filter-builder.helpers.js +0 -6
  57. package/dist/helpers/filter-settings.helpers.d.ts +0 -35
  58. package/dist/helpers/filter-settings.helpers.js +0 -34
  59. package/dist/helpers/filter-validators.helpers.d.ts +3 -6
  60. package/dist/helpers/filter-validators.helpers.js +11 -7
  61. package/dist/helpers/filter-verbose.helpers.d.ts +6 -0
  62. package/dist/helpers/filter-verbose.helpers.js +206 -0
  63. package/dist/helpers/getAggregateFilters.d.ts +3 -0
  64. package/dist/helpers/getAggregateFilters.js +7 -0
  65. package/dist/helpers/getFilterId.d.ts +0 -16
  66. package/dist/helpers/getFilterId.js +0 -15
  67. package/dist/helpers/getFilterType.d.ts +0 -7
  68. package/dist/helpers/getFilterType.js +0 -6
  69. package/dist/helpers/index.d.ts +5 -1
  70. package/dist/helpers/index.js +5 -0
  71. package/dist/helpers/isDateDistinctGrouping.d.ts +2 -0
  72. package/dist/helpers/isDateDistinctGrouping.js +12 -0
  73. package/dist/helpers/isRankingFilter.d.ts +2 -0
  74. package/dist/helpers/isRankingFilter.js +7 -0
  75. package/dist/helpers/resolveFilterConditions.d.ts +0 -8
  76. package/dist/helpers/resolveFilterConditions.js +1 -8
  77. package/dist/helpers/utils.helpers.d.ts +0 -17
  78. package/dist/helpers/utils.helpers.js +0 -16
  79. package/dist/index.d.ts +0 -1
  80. package/dist/models/filter-builder.models.d.ts +0 -156
  81. package/dist/models/filter-resources.models.d.ts +0 -53
  82. package/dist/models/filter-searcher.models.d.ts +5 -34
  83. package/dist/models/filter-validation.models.d.ts +0 -40
  84. package/dist/models/index.d.ts +0 -1
  85. package/dist/resources/filter-functions.resources.d.ts +0 -49
  86. package/dist/resources/filter-grouping.resources.d.ts +0 -7
  87. package/dist/resources/filter-grouping.resources.js +0 -18
  88. package/dist/resources/filter-logic.resources.d.ts +0 -79
  89. package/dist/resources/filter-logic.resources.js +0 -3
  90. package/dist/resources/filter-operators.resources.d.ts +0 -1
  91. package/dist/resources/filter-panel.interfaces.d.ts +0 -49
  92. package/dist/resources/filter-scopes.resources.d.ts +2 -25
  93. package/dist/resources/filter-scopes.resources.js +10 -27
  94. package/dist/resources/filter-validation.resources.d.ts +0 -1
  95. package/dist/resources/filter-validators.resources.d.ts +0 -1
  96. package/dist/resources/filter-validators.resources.js +0 -3
  97. package/dist/resources/filter-values.resources.d.ts +0 -13
  98. package/dist/resources/filter-verbose.resources.d.ts +23 -0
  99. package/dist/resources/filter-verbose.resources.js +10 -0
  100. package/dist/resources/filter-visual.resources.d.ts +0 -50
  101. package/dist/resources/filters.resources.d.ts +1 -102
  102. package/dist/resources/filters.resources.js +0 -12
  103. package/dist/resources/index.d.ts +1 -1
  104. package/dist/resources/index.js +1 -0
  105. package/package.json +59 -44
  106. package/.eslintignore +0 -6
  107. package/.eslintrc.json +0 -122
  108. package/.husky/pre-commit +0 -4
  109. package/.lintstagedrc +0 -7
  110. package/.prettierignore +0 -6
  111. package/.prettierrc.json +0 -1
  112. package/CHANGELOG.md +0 -268
  113. package/CODE_OF_CONDUCT.md +0 -132
  114. package/bitbucket-pipelines.yml +0 -92
  115. package/dist/cjs/classes/FilterAdapter.d.ts +0 -107
  116. package/dist/cjs/classes/FilterAdapter.d.ts.map +0 -1
  117. package/dist/cjs/classes/FilterBuilder.d.ts +0 -206
  118. package/dist/cjs/classes/FilterBuilder.d.ts.map +0 -1
  119. package/dist/cjs/classes/FilterManager.d.ts +0 -84
  120. package/dist/cjs/classes/FilterManager.d.ts.map +0 -1
  121. package/dist/cjs/classes/FilterResources.d.ts +0 -139
  122. package/dist/cjs/classes/FilterResources.d.ts.map +0 -1
  123. package/dist/cjs/classes/FilterSearcher.d.ts +0 -90
  124. package/dist/cjs/classes/FilterSearcher.d.ts.map +0 -1
  125. package/dist/cjs/classes/FilterValidation.d.ts +0 -58
  126. package/dist/cjs/classes/FilterValidation.d.ts.map +0 -1
  127. package/dist/cjs/classes/FilterValues.d.ts +0 -33
  128. package/dist/cjs/classes/FilterValues.d.ts.map +0 -1
  129. package/dist/cjs/classes/index.d.ts +0 -8
  130. package/dist/cjs/classes/index.d.ts.map +0 -1
  131. package/dist/cjs/helpers/filter-adapt.helpers.d.ts +0 -21
  132. package/dist/cjs/helpers/filter-adapt.helpers.d.ts.map +0 -1
  133. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts +0 -26
  134. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
  135. package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts +0 -29
  136. package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
  137. package/dist/cjs/helpers/filter-builder.helpers.d.ts +0 -11
  138. package/dist/cjs/helpers/filter-builder.helpers.d.ts.map +0 -1
  139. package/dist/cjs/helpers/filter-settings.helpers.d.ts +0 -42
  140. package/dist/cjs/helpers/filter-settings.helpers.d.ts.map +0 -1
  141. package/dist/cjs/helpers/filter-validators.helpers.d.ts +0 -8
  142. package/dist/cjs/helpers/filter-validators.helpers.d.ts.map +0 -1
  143. package/dist/cjs/helpers/getFilterId.d.ts +0 -18
  144. package/dist/cjs/helpers/getFilterId.d.ts.map +0 -1
  145. package/dist/cjs/helpers/getFilterType.d.ts +0 -11
  146. package/dist/cjs/helpers/getFilterType.d.ts.map +0 -1
  147. package/dist/cjs/helpers/index.d.ts +0 -7
  148. package/dist/cjs/helpers/index.d.ts.map +0 -1
  149. package/dist/cjs/helpers/resolveFilterConditions.d.ts +0 -11
  150. package/dist/cjs/helpers/resolveFilterConditions.d.ts.map +0 -1
  151. package/dist/cjs/helpers/utils.helpers.d.ts +0 -26
  152. package/dist/cjs/helpers/utils.helpers.d.ts.map +0 -1
  153. package/dist/cjs/index.d.ts +0 -5
  154. package/dist/cjs/index.d.ts.map +0 -1
  155. package/dist/cjs/models/filter-builder.models.d.ts +0 -203
  156. package/dist/cjs/models/filter-builder.models.d.ts.map +0 -1
  157. package/dist/cjs/models/filter-resources.models.d.ts +0 -71
  158. package/dist/cjs/models/filter-resources.models.d.ts.map +0 -1
  159. package/dist/cjs/models/filter-searcher.models.d.ts +0 -42
  160. package/dist/cjs/models/filter-searcher.models.d.ts.map +0 -1
  161. package/dist/cjs/models/filter-validation.models.d.ts +0 -59
  162. package/dist/cjs/models/filter-validation.models.d.ts.map +0 -1
  163. package/dist/cjs/models/index.d.ts +0 -4
  164. package/dist/cjs/models/index.d.ts.map +0 -1
  165. package/dist/cjs/resources/filter-functions.resources.d.ts +0 -94
  166. package/dist/cjs/resources/filter-functions.resources.d.ts.map +0 -1
  167. package/dist/cjs/resources/filter-grouping.resources.d.ts +0 -103
  168. package/dist/cjs/resources/filter-grouping.resources.d.ts.map +0 -1
  169. package/dist/cjs/resources/filter-logic.resources.d.ts +0 -135
  170. package/dist/cjs/resources/filter-logic.resources.d.ts.map +0 -1
  171. package/dist/cjs/resources/filter-operators.resources.d.ts +0 -16
  172. package/dist/cjs/resources/filter-operators.resources.d.ts.map +0 -1
  173. package/dist/cjs/resources/filter-panel.interfaces.d.ts +0 -80
  174. package/dist/cjs/resources/filter-panel.interfaces.d.ts.map +0 -1
  175. package/dist/cjs/resources/filter-scopes.resources.d.ts +0 -62
  176. package/dist/cjs/resources/filter-scopes.resources.d.ts.map +0 -1
  177. package/dist/cjs/resources/filter-validation.resources.d.ts +0 -20
  178. package/dist/cjs/resources/filter-validation.resources.d.ts.map +0 -1
  179. package/dist/cjs/resources/filter-validators.resources.d.ts +0 -80
  180. package/dist/cjs/resources/filter-validators.resources.d.ts.map +0 -1
  181. package/dist/cjs/resources/filter-values.resources.d.ts +0 -40
  182. package/dist/cjs/resources/filter-values.resources.d.ts.map +0 -1
  183. package/dist/cjs/resources/filter-visual.resources.d.ts +0 -77
  184. package/dist/cjs/resources/filter-visual.resources.d.ts.map +0 -1
  185. package/dist/cjs/resources/filters.resources.d.ts +0 -168
  186. package/dist/cjs/resources/filters.resources.d.ts.map +0 -1
  187. package/dist/cjs/resources/index.d.ts +0 -11
  188. package/dist/cjs/resources/index.d.ts.map +0 -1
  189. package/dist/classes/FilterAdapter.d.ts.map +0 -1
  190. package/dist/classes/FilterBuilder.d.ts.map +0 -1
  191. package/dist/classes/FilterManager.d.ts.map +0 -1
  192. package/dist/classes/FilterResources.d.ts.map +0 -1
  193. package/dist/classes/FilterSearcher.d.ts.map +0 -1
  194. package/dist/classes/FilterValidation.d.ts.map +0 -1
  195. package/dist/classes/FilterValues.d.ts.map +0 -1
  196. package/dist/classes/index.d.ts.map +0 -1
  197. package/dist/helpers/filter-adapt.helpers.d.ts.map +0 -1
  198. package/dist/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
  199. package/dist/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
  200. package/dist/helpers/filter-builder.helpers.d.ts.map +0 -1
  201. package/dist/helpers/filter-settings.helpers.d.ts.map +0 -1
  202. package/dist/helpers/filter-validators.helpers.d.ts.map +0 -1
  203. package/dist/helpers/getFilterId.d.ts.map +0 -1
  204. package/dist/helpers/getFilterType.d.ts.map +0 -1
  205. package/dist/helpers/index.d.ts.map +0 -1
  206. package/dist/helpers/resolveFilterConditions.d.ts.map +0 -1
  207. package/dist/helpers/utils.helpers.d.ts.map +0 -1
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/models/filter-builder.models.d.ts.map +0 -1
  210. package/dist/models/filter-resources.models.d.ts.map +0 -1
  211. package/dist/models/filter-searcher.models.d.ts.map +0 -1
  212. package/dist/models/filter-validation.models.d.ts.map +0 -1
  213. package/dist/models/index.d.ts.map +0 -1
  214. package/dist/resources/filter-functions.resources.d.ts.map +0 -1
  215. package/dist/resources/filter-grouping.resources.d.ts.map +0 -1
  216. package/dist/resources/filter-logic.resources.d.ts.map +0 -1
  217. package/dist/resources/filter-operators.resources.d.ts.map +0 -1
  218. package/dist/resources/filter-panel.interfaces.d.ts.map +0 -1
  219. package/dist/resources/filter-scopes.resources.d.ts.map +0 -1
  220. package/dist/resources/filter-validation.resources.d.ts.map +0 -1
  221. package/dist/resources/filter-validators.resources.d.ts.map +0 -1
  222. package/dist/resources/filter-values.resources.d.ts.map +0 -1
  223. package/dist/resources/filter-visual.resources.d.ts.map +0 -1
  224. package/dist/resources/filters.resources.d.ts.map +0 -1
  225. package/dist/resources/index.d.ts.map +0 -1
  226. package/jest.config.js +0 -10
  227. package/jsdoc.config.json +0 -14
  228. package/scripts/clean-build/index.js +0 -62
  229. package/sonar-project.properties +0 -2
  230. package/src/classes/FilterAdapter.ts +0 -208
  231. package/src/classes/FilterBuilder.ts +0 -821
  232. package/src/classes/FilterManager.ts +0 -126
  233. package/src/classes/FilterResources.ts +0 -411
  234. package/src/classes/FilterSearcher.ts +0 -243
  235. package/src/classes/FilterValidation.ts +0 -221
  236. package/src/classes/FilterValues.ts +0 -89
  237. package/src/classes/index.ts +0 -7
  238. package/src/helpers/filter-adapt.helpers.ts +0 -204
  239. package/src/helpers/filter-adapt.legacy.helpers.ts +0 -298
  240. package/src/helpers/filter-adapt.logic.helpers.ts +0 -631
  241. package/src/helpers/filter-builder.helpers.ts +0 -28
  242. package/src/helpers/filter-settings.helpers.ts +0 -133
  243. package/src/helpers/filter-validators.helpers.ts +0 -15
  244. package/src/helpers/getFilterId.ts +0 -35
  245. package/src/helpers/getFilterType.ts +0 -23
  246. package/src/helpers/index.ts +0 -6
  247. package/src/helpers/resolveFilterConditions.ts +0 -29
  248. package/src/helpers/utils.helpers.ts +0 -37
  249. package/src/index.ts +0 -4
  250. package/src/models/filter-builder.models.ts +0 -256
  251. package/src/models/filter-resources.models.ts +0 -89
  252. package/src/models/filter-searcher.models.ts +0 -61
  253. package/src/models/filter-validation.models.ts +0 -71
  254. package/src/models/index.ts +0 -3
  255. package/src/resources/filter-functions.resources.ts +0 -132
  256. package/src/resources/filter-grouping.resources.ts +0 -531
  257. package/src/resources/filter-logic.resources.ts +0 -148
  258. package/src/resources/filter-operators.resources.ts +0 -40
  259. package/src/resources/filter-panel.interfaces.ts +0 -86
  260. package/src/resources/filter-scopes.resources.ts +0 -152
  261. package/src/resources/filter-validation.resources.ts +0 -90
  262. package/src/resources/filter-validators.resources.ts +0 -411
  263. package/src/resources/filter-values.resources.ts +0 -57
  264. package/src/resources/filter-visual.resources.ts +0 -86
  265. package/src/resources/filters.resources.ts +0 -232
  266. package/src/resources/index.ts +0 -10
  267. package/tests/classes/FilterAdapter.test.ts +0 -124
  268. package/tests/classes/FilterBuilder.test.ts +0 -903
  269. package/tests/classes/FilterResources.test.ts +0 -267
  270. package/tests/classes/FilterSearcher.test.ts +0 -188
  271. package/tests/classes/FilterValidation.test.ts +0 -54
  272. package/tests/helpers/getFilterId.test.ts +0 -121
  273. package/tests/mock/datasets.mock.ts +0 -61
  274. package/tests/mock/filters-adapter.mock.ts +0 -646
  275. package/tests/mock/filters-interactive-table.mock.ts +0 -59
  276. package/tests/mock/filters.mock.ts +0 -277
  277. package/tsconfig.doc.json +0 -4
  278. package/tsconfig.eslint.json +0 -4
  279. package/tsconfig.json +0 -113
@@ -1,232 +0,0 @@
1
- import {
2
- COLUMN,
3
- IAggregateType,
4
- IColumnType,
5
- IFormulaType,
6
- IFUData,
7
- } from "@qrvey/utils";
8
-
9
- import { IFilterGrouping } from "./filter-grouping.resources";
10
- import { IFilterLogic } from "./filter-logic.resources";
11
- import { FILTER_OPERATOR, IFilterOperator } from "./filter-operators.resources";
12
- import { IFilterPanelInteractiveTable } from "./filter-panel.interfaces";
13
- import { FILTER_SCOPE, IFilterScope } from "./filter-scopes.resources";
14
- import {
15
- FILTER_VALIDATOR,
16
- IFilterValidator,
17
- } from "./filter-validators.resources";
18
- import { IFilterValue } from "./filter-values.resources";
19
- import { IFilterVisual } from "./filter-visual.resources";
20
-
21
- export type IFilterType = FILTER_TYPE;
22
-
23
- export type IFilterTypeByValidator = { [key in IFilterValidator]: IFilterType };
24
-
25
- /**
26
- * The filter structure
27
- */
28
- export interface IFilter {
29
- /**
30
- * The aggregate type for the column
31
- */
32
- aggregateType?: IAggregateType;
33
- /**
34
- * Flag to collapse the filter
35
- */
36
- collapsed: boolean;
37
- /**
38
- * The column ID
39
- */
40
- columnId: string;
41
- /**
42
- * The column Type
43
- */
44
- columnType: IColumnType;
45
- /**
46
- * Custom label for this filter
47
- */
48
- customLabel?: string;
49
- /**
50
- * Dataset ID
51
- */
52
- datasetId: string;
53
- /**
54
- * Flag to allow deleting filter
55
- */
56
- deletable: boolean;
57
- /**
58
- * Flag to display the filter.
59
- * Filters are applied anyway.
60
- */
61
- displayed: boolean;
62
- /**
63
- * Flag to allow editing filter
64
- */
65
- editable: boolean;
66
- /**
67
- * Flag to apply the filters
68
- */
69
- enabled: boolean;
70
- /**
71
- * Flag to allow enabling filter
72
- */
73
- enableable: boolean;
74
- /**
75
- * More information for this filter
76
- */
77
- extras?: Record<string, unknown>;
78
- /**
79
- * Optional property for the formula type
80
- */
81
- formulaType?: IFormulaType;
82
- /**
83
- * Index of the selected Lookup display.
84
- * It is mandatory for Lookup column type.
85
- */
86
- lookupDisplayIndex?: number;
87
- /**
88
- * Grouping types. Related property for some columns (Date group|Complex Data types)
89
- */
90
- grouping?: IFilterGrouping;
91
- /**
92
- * A custom icon for the filter
93
- */
94
- icon?: string;
95
- /**
96
- * A custom tooltip for the filter icon
97
- */
98
- iconTooltip?: string;
99
- /**
100
- * The Filter ID
101
- */
102
- id: string;
103
- /**
104
- * Related operator for this and the next filter. i.e: F1 AND F2
105
- */
106
- operator: IFilterOperator;
107
- /**
108
- * Flag to determine the complete selection of values
109
- */
110
- selectAll?: boolean;
111
- /**
112
- * The Scope type
113
- */
114
- scope: IFilterScope;
115
- /**
116
- * The scope ID
117
- */
118
- scopeId?: string;
119
- /**
120
- * Validation Type to operate the filter values
121
- */
122
- validator: IFilterValidator;
123
- /**
124
- * Collection of Values.
125
- * Depending on the selected validator it changes.
126
- * An activated Select All could recieve an empty or undefined values
127
- */
128
- values?: IFilterValue[];
129
- }
130
-
131
- /**
132
- * The structure for the filter version and its version
133
- */
134
- export interface IFilterVersion<
135
- TVersionNumber extends IFilterVersionNumber = IFilterVersionNumber,
136
- > {
137
- version: TVersionNumber;
138
- filters?: IFilterVersionMap[TVersionNumber];
139
- settings?: IFilterPanelInteractiveTable;
140
- }
141
-
142
- /**
143
- * Type for the Filter version
144
- */
145
- export type IFilterVersionNumber = FILTER_VERSION_TYPE;
146
-
147
- /**
148
- * Enumeration for the Filter version types
149
- */
150
- export enum FILTER_VERSION_TYPE {
151
- LOGIC = "LOGIC",
152
- UI_2 = "UI_2",
153
- V3 = "V3",
154
- UI_3 = "UI_3",
155
- }
156
-
157
- /**
158
- * Mapping for the Filter version and its structure
159
- */
160
- interface IFilterVersionMap {
161
- [FILTER_VERSION_TYPE.LOGIC]: IFilterLogic[];
162
- [FILTER_VERSION_TYPE.UI_2]: IFUData;
163
- [FILTER_VERSION_TYPE.V3]: IFilter[];
164
- [FILTER_VERSION_TYPE.UI_3]: IFilterVisual;
165
- }
166
-
167
- /**
168
- * The Default Filter object
169
- */
170
- export const DEFAULT_FILTER: IFilter = {
171
- aggregateType: undefined,
172
- collapsed: true,
173
- columnId: "",
174
- columnType: COLUMN.TEXTFIELD,
175
- customLabel: undefined,
176
- datasetId: "",
177
- deletable: true,
178
- displayed: true,
179
- editable: true,
180
- enabled: true,
181
- enableable: true,
182
- extras: undefined,
183
- grouping: undefined,
184
- icon: undefined,
185
- iconTooltip: undefined,
186
- id: "",
187
- lookupDisplayIndex: undefined,
188
- operator: FILTER_OPERATOR.AND,
189
- selectAll: false,
190
- scope: FILTER_SCOPE.GLOBAL,
191
- scopeId: undefined,
192
- validator: FILTER_VALIDATOR.EQUALS,
193
- values: [],
194
- };
195
-
196
- /**
197
- * Enumeration for the filter type
198
- */
199
- export enum FILTER_TYPE {
200
- REGULAR = "REGULAR",
201
- RANGE = "RANGE",
202
- RELATIVE = "RELATIVE",
203
- RANKING = "RANKING",
204
- NULL = "NULL",
205
- }
206
-
207
- /**
208
- *
209
- */
210
- export const FILTER_TYPE_BY_VALIDATOR: IFilterTypeByValidator = {
211
- [FILTER_VALIDATOR.AFTER]: FILTER_TYPE.RANGE,
212
- [FILTER_VALIDATOR.AFTER_ON]: FILTER_TYPE.RANGE,
213
- [FILTER_VALIDATOR.BEFORE]: FILTER_TYPE.RANGE,
214
- [FILTER_VALIDATOR.BEFORE_ON]: FILTER_TYPE.RANGE,
215
- [FILTER_VALIDATOR.BETWEEN_EXCLUSIVE]: FILTER_TYPE.RANGE,
216
- [FILTER_VALIDATOR.BETWEEN_INCLUSIVE]: FILTER_TYPE.RANGE,
217
- [FILTER_VALIDATOR.CONTAINS]: FILTER_TYPE.REGULAR,
218
- [FILTER_VALIDATOR.ENDS_WITH]: FILTER_TYPE.REGULAR,
219
- [FILTER_VALIDATOR.EQUALS]: FILTER_TYPE.REGULAR,
220
- [FILTER_VALIDATOR.GREATER_THAN]: FILTER_TYPE.RANGE,
221
- [FILTER_VALIDATOR.GREATER_THAN_EQUAL]: FILTER_TYPE.RANGE,
222
- [FILTER_VALIDATOR.IN]: FILTER_TYPE.RELATIVE,
223
- [FILTER_VALIDATOR.IS_NOT_NULL]: FILTER_TYPE.NULL,
224
- [FILTER_VALIDATOR.IS_NULL]: FILTER_TYPE.NULL,
225
- [FILTER_VALIDATOR.LESS_THAN]: FILTER_TYPE.RANGE,
226
- [FILTER_VALIDATOR.LESS_THAN_EQUAL]: FILTER_TYPE.RANGE,
227
- [FILTER_VALIDATOR.NOT_CONTAIN]: FILTER_TYPE.REGULAR,
228
- [FILTER_VALIDATOR.NOT_END_WITH]: FILTER_TYPE.REGULAR,
229
- [FILTER_VALIDATOR.NOT_EQUAL]: FILTER_TYPE.REGULAR,
230
- [FILTER_VALIDATOR.NOT_START_WITH]: FILTER_TYPE.REGULAR,
231
- [FILTER_VALIDATOR.STARTS_WITH]: FILTER_TYPE.REGULAR,
232
- };
@@ -1,10 +0,0 @@
1
- export * from "./filter-functions.resources";
2
- export * from "./filter-grouping.resources";
3
- export * from "./filter-logic.resources";
4
- export * from "./filter-operators.resources";
5
- export * from "./filter-panel.interfaces";
6
- export * from "./filter-scopes.resources";
7
- export * from "./filter-validators.resources";
8
- export * from "./filter-values.resources";
9
- export * from "./filter-visual.resources";
10
- export * from "./filters.resources";
@@ -1,124 +0,0 @@
1
- import { FilterAdapter } from "../../src/classes/FilterAdapter";
2
- import {
3
- FILTER_VERSION_TYPE,
4
- IFilterVersion,
5
- } from "../../src/resources/filters.resources";
6
- import { __datasets1 } from "../mock/datasets.mock";
7
- import {
8
- __legacyVisualFilters1,
9
- __legacyVisualFilters2,
10
- __logicFilters1,
11
- __logicFilters2,
12
- __v3Filters1,
13
- __v3Filters2,
14
- __visualFilters1,
15
- __visualFilters2,
16
- } from "../mock/filters-adapter.mock";
17
- import { __interactiveTable1 } from "../mock/filters-interactive-table.mock";
18
- import { __mockFilters1, __mockFilters5 } from "../mock/filters.mock";
19
-
20
- describe("Testing wrong arguments", () => {
21
- const emptyFilters: IFilterVersion<FILTER_VERSION_TYPE.V3> = {
22
- version: FILTER_VERSION_TYPE.V3,
23
- filters: [],
24
- };
25
- test("Undefined argument", () => {
26
- const adapter = new FilterAdapter(undefined);
27
- expect(adapter.filters).toEqual(emptyFilters);
28
- });
29
-
30
- test("Null argument", () => {
31
- // @ts-expect-error: Expected wrong params
32
- const adapter = new FilterAdapter(null);
33
- expect(adapter.filters).toEqual(emptyFilters);
34
- });
35
-
36
- test("Boolean argument", () => {
37
- // @ts-expect-error: Expected wrong params
38
- const adapter = new FilterAdapter(false);
39
- expect(adapter.filters).toEqual(emptyFilters);
40
- });
41
-
42
- test("Numeric argument", () => {
43
- // @ts-expect-error: Expected wrong params
44
- const adapter = new FilterAdapter(0);
45
- expect(adapter.filters).toEqual(emptyFilters);
46
- });
47
-
48
- test("String argument", () => {
49
- // @ts-expect-error: Expected wrong params
50
- const adapter = new FilterAdapter("Sales");
51
- expect(adapter.filters).toEqual(emptyFilters);
52
- });
53
-
54
- test("Function-like argument", () => {
55
- // @ts-expect-error: Expected wrong params
56
- const adapter = new FilterAdapter(() => "Hola");
57
- expect(adapter.filters).toEqual(emptyFilters);
58
- });
59
- });
60
-
61
- describe("Adapting Filters 1", () => {
62
- let adapter: FilterAdapter;
63
- beforeEach(() => {
64
- adapter = new FilterAdapter();
65
- });
66
-
67
- test("Setting the configuration", () => {
68
- adapter.setFilters(__mockFilters1);
69
- adapter.setDatasets(__datasets1);
70
- adapter.setInteractiveTable(__interactiveTable1);
71
-
72
- const legacy = adapter.legacyVisual;
73
- const v3 = adapter.filters;
74
- const logic = adapter.logic;
75
- const visual = adapter.visual;
76
-
77
- expect(legacy).toEqual(__legacyVisualFilters1);
78
- expect(v3).toEqual(__v3Filters1);
79
- expect(logic).toEqual(__logicFilters1);
80
- expect(visual).toEqual(__visualFilters1);
81
- });
82
- });
83
-
84
- describe("Adapting Filters 2", () => {
85
- let adapter: FilterAdapter;
86
- beforeEach(() => {
87
- adapter = new FilterAdapter(
88
- __mockFilters1,
89
- __datasets1,
90
- __interactiveTable1,
91
- );
92
- });
93
-
94
- test("Getting the adapted filters", () => {
95
- const legacy = adapter.legacyVisual;
96
- const v3 = adapter.filters;
97
- const logic = adapter.logic;
98
- const visual = adapter.visual;
99
-
100
- expect(legacy).toEqual(__legacyVisualFilters1);
101
- expect(v3).toEqual(__v3Filters1);
102
- expect(logic).toEqual(__logicFilters1);
103
- expect(visual).toEqual(__visualFilters1);
104
- });
105
- });
106
-
107
- describe("Adapting Filters 3 - Existed Filter Formulas", () => {
108
- let adapter: FilterAdapter;
109
- beforeEach(() => {
110
- adapter = new FilterAdapter(__mockFilters5, [], __interactiveTable1);
111
- });
112
-
113
- test("Getting the adapted filters", () => {
114
- const legacy = adapter.legacyVisual;
115
- const v3 = adapter.filters;
116
- const logic = adapter.logic;
117
- const visual = adapter.visual;
118
-
119
- expect(legacy).toEqual(__legacyVisualFilters2);
120
- expect(v3).toEqual(__v3Filters2);
121
- expect(logic).toEqual(__logicFilters2);
122
- expect(visual).toEqual(__visualFilters2);
123
- });
124
- });