@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
@@ -2,36 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterResources = void 0;
4
4
  const utils_1 = require("@qrvey/utils");
5
- const getFilterType_1 = require("../helpers/getFilterType");
5
+ const FilterValidation_1 = require("./FilterValidation");
6
6
  const filter_settings_helpers_1 = require("../helpers/filter-settings.helpers");
7
+ const getFilterType_1 = require("../helpers/getFilterType");
7
8
  const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
9
+ const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
8
10
  const filter_validators_resources_1 = require("../resources/filter-validators.resources");
9
11
  const filters_resources_1 = require("../resources/filters.resources");
10
- const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
11
- const FilterValidation_1 = require("./FilterValidation");
12
- /**
13
- * Class to search, build and get resources for the filters.
14
- */
15
12
  class FilterResources {
16
- /**
17
- * **************************************************************************************************
18
- **************************************** Grouping **************************************************
19
- ****************************************************************************************************
20
- */
21
- /**
22
- * Gets a grouping info by a grouping type
23
- * @param grouping the grouping type
24
- * @returns a single grouping info
25
- */
26
13
  static getGroupingInfo(grouping) {
27
14
  return filter_grouping_resources_1.FILTER_GROUPING_INFO[grouping];
28
15
  }
29
- /**
30
- * Gets a collection of groupings info by a column type
31
- * @param type the object with column and formula type
32
- * @param settings settings for the function
33
- * @returns a collection of grouping info
34
- */
35
16
  static getGroupingInfoListByColumnType(type, settings) {
36
17
  const { type: columnType, formulaType } = type;
37
18
  const completeSettings = (0, filter_settings_helpers_1.getInfoGroupingsByColumnTypeSettings)(settings);
@@ -50,13 +31,6 @@ class FilterResources {
50
31
  groupinInfoList = this.getGroupingInfoListOnDates(groupinInfoList, completeSettings);
51
32
  return groupinInfoList;
52
33
  }
53
- /**
54
- * Gets a grouping info by a column type and grouping
55
- * @param type the object with column and formula type
56
- * @param grouping the grouping type
57
- * @param settings settings for the function
58
- * @returns the grouping info
59
- */
60
34
  static getGroupingInfoByColumnType(type, grouping, settings) {
61
35
  if (grouping == null)
62
36
  return;
@@ -64,35 +38,17 @@ class FilterResources {
64
38
  const groupingInfo = groupingInfoList.find((gInfo) => gInfo.value === grouping);
65
39
  return groupingInfo == null ? groupingInfoList[0] : groupingInfo;
66
40
  }
67
- /**
68
- * Gets a grouping info by a filter
69
- * @param filter the filter object
70
- * @returns the grouping info
71
- */
72
41
  static getGroupingInfoByFilter(filter, settings) {
73
42
  if (!FilterValidation_1.FilterValidation.isGroupingValid(filter.columnType, filter.validator))
74
43
  return;
75
44
  return this.getGroupingInfoByColumnType({ type: filter.columnType, formulaType: filter.formulaType }, filter.grouping, settings);
76
45
  }
77
- /**
78
- * Gets a collection of groupings info by a column type
79
- * - The resulting grouping info collection is an intersection of mulitple grouping info collections
80
- * @param types the collection of objects with column and formula types
81
- * @param settings settings for the function
82
- * @returns a collection of grouping info
83
- */
84
46
  static getGroupingInfoListByColumnTypes(types, settings) {
85
47
  if (!Array.isArray(types))
86
48
  return [];
87
49
  const infoGroupings = types.map((type, index) => FilterResources.getGroupingInfoListByColumnType(type, settings?.[index]));
88
50
  return (0, utils_1.intersectObjectArrays)(infoGroupings, "value");
89
51
  }
90
- /**
91
- * Gets the grouping info of Date column type
92
- * @param groupinInfoList the original grouping info list
93
- * @param settings settings for the function
94
- * @returns the new grouping info list
95
- */
96
52
  static getGroupingInfoListOnDates(groupinInfoList, settings) {
97
53
  let newGroupInfoList = groupinInfoList;
98
54
  if (settings.hasDateTime) {
@@ -115,65 +71,25 @@ class FilterResources {
115
71
  }
116
72
  return newGroupInfoList;
117
73
  }
118
- /**
119
- * Gets the grouping info of Expression column type
120
- * @param groupinInfoList the original grouping info list
121
- * @param settings settings for the function
122
- * @returns the new grouping info list
123
- */
124
74
  static getGroupingInfoListOnExpressions(groupinInfoList, settings) {
125
75
  if (!settings.isExpressionCategorizable)
126
76
  return [];
127
77
  return groupinInfoList;
128
78
  }
129
- /**
130
- * Gets the grouping info of Image Upload column type
131
- * @param groupinInfoList the original grouping info list
132
- * @param settings settings for the function
133
- * @returns the new grouping info list
134
- */
135
79
  static getGroupingInfoListOnImageUploads(groupinInfoList, settings) {
136
80
  if (settings.hasImageUploadAnalysis)
137
81
  return groupinInfoList;
138
82
  return groupinInfoList.filter((groupingInfo) => groupingInfo.value !== filter_grouping_resources_1.FILTER_GROUPING.IMAGEUPLOAD_IMAGEWORDS);
139
83
  }
140
- /**
141
- * Gets the complete collection of grouping types
142
- * @returns the collection of grouping types
143
- */
144
84
  static getGroupings() {
145
85
  return filter_grouping_resources_1.FILTER_GROUPINGS;
146
86
  }
147
- /**
148
- * Gets the complete collection of validator info
149
- * @returns the collection of validator info
150
- */
151
87
  static getGroupingsInfoList() {
152
88
  return filter_grouping_resources_1.FILTER_GROUPING_INFO_LIST;
153
89
  }
154
- /**
155
- * **************************************************************************************************
156
- **************************************** Scopes *************************************************
157
- ****************************************************************************************************
158
- */
159
- /**
160
- * Gets the collection of filter scopes in order of hierarchy
161
- * @returns the collection of validator info
162
- */
163
90
  static getHierarchyScopes() {
164
91
  return filter_scopes_resources_1.FILTER_SCOPES;
165
92
  }
166
- /**
167
- * **************************************************************************************************
168
- **************************************** Timezone *************************************************
169
- ****************************************************************************************************
170
- */
171
- /**
172
- * Gets the filters transformed by the given timezone
173
- * @param filters the filters to transform
174
- * @param timezone the timezone info
175
- * @returns the transformed filters to a new timezone
176
- */
177
93
  static getFiltersByTimezone(filters, timezone) {
178
94
  if ((0, utils_1.isEmpty)(filters) || !Array.isArray(filters))
179
95
  return [];
@@ -216,31 +132,12 @@ class FilterResources {
216
132
  };
217
133
  });
218
134
  }
219
- /**
220
- * **************************************************************************************************
221
- **************************************** Validator *************************************************
222
- ****************************************************************************************************
223
- */
224
- /**
225
- * Gets a validator info by a validator type
226
- * @param validator the validator type
227
- * @returns a single validator info
228
- */
229
135
  static getValidatorInfo(validator) {
230
136
  return filter_validators_resources_1.FILTER_VALIDATOR_INFO[validator];
231
137
  }
232
- /**
233
- * Gets the complete collection of validator info
234
- * @returns the collection of validator info
235
- */
236
138
  static getValidatorInfoList() {
237
139
  return filter_validators_resources_1.FILTER_VALIDATOR_INFO_LIST;
238
140
  }
239
- /**
240
- * Gets a collection of validator info by a column type
241
- * @param type the object with column and formula type
242
- * @returns a collection of validator info
243
- */
244
141
  static getValidatorInfoListByColumnType(type) {
245
142
  const { type: colummType, formulaType } = type;
246
143
  let newType = colummType;
@@ -249,22 +146,12 @@ class FilterResources {
249
146
  }
250
147
  return filter_validators_resources_1.FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE[newType];
251
148
  }
252
- /**
253
- * Gets a collection of validator info by a mutiple column types
254
- * - The resulting validator info collection is an intersection of mulitple validator info collections
255
- * @param types a collection of objects with column and formula types
256
- * @returns a collection of validator info
257
- */
258
149
  static getValidatorInfoListByColumnTypes(types) {
259
150
  if (!Array.isArray(types))
260
151
  return [];
261
152
  const infoValidators = types.map((type) => FilterResources.getValidatorInfoListByColumnType(type));
262
153
  return (0, utils_1.intersectObjectArrays)(infoValidators, "value");
263
154
  }
264
- /**
265
- * Gets the complete collection of validator types
266
- * @returns the collection of validator types
267
- */
268
155
  static getValidators() {
269
156
  return filter_validators_resources_1.FILTER_VALIDATORS;
270
157
  }
@@ -4,54 +4,24 @@ exports.FilterSearcher = void 0;
4
4
  const utils_1 = require("@qrvey/utils");
5
5
  const filter_settings_helpers_1 = require("../helpers/filter-settings.helpers");
6
6
  const resolveFilterConditions_1 = require("../helpers/resolveFilterConditions");
7
- /**
8
- * Class to search filters.
9
- */
10
7
  class FilterSearcher {
11
8
  filters;
12
- /**
13
- * Constructor
14
- * @param filters the collection of filters
15
- */
16
9
  constructor(filters = []) {
17
10
  this.filters = filters;
18
11
  this.setFilters(Array.isArray(filters) ? filters : []);
19
12
  }
20
- /**
21
- * **************************************************************************************************
22
- **************************************** By Params *************************************************
23
- ****************************************************************************************************
24
- */
25
- /**
26
- * Searchs and excludes filters by the given params
27
- * @param params params to exclude the filters
28
- * @param settings settings for this function
29
- * @returns the new collection of filters
30
- */
31
13
  excludeByParams(params, settings) {
32
14
  if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
33
15
  return this.filters;
34
16
  const completeSettings = (0, filter_settings_helpers_1.getParamFiltersSettings)(settings);
35
17
  return this.filters.filter((filter) => !(0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, completeSettings));
36
18
  }
37
- /**
38
- * Searchs filters by the given params
39
- * @param params params to search the filters
40
- * @param settings settings for this function
41
- * @returns the new collection of filters
42
- */
43
19
  filterByParams(params, settings) {
44
20
  if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
45
21
  return this.filters;
46
22
  const completeSettings = (0, filter_settings_helpers_1.getParamFiltersSettings)(settings);
47
23
  return this.filters.filter((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, completeSettings));
48
24
  }
49
- /**
50
- * Searchs filters by the given params and returns the indexes
51
- * @param params params to search the filters
52
- * @param settings settings for this function
53
- * @returns the new collection of filters
54
- */
55
25
  filterIndexesByParams(params, settings) {
56
26
  if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
57
27
  return [];
@@ -64,42 +34,16 @@ class FilterSearcher {
64
34
  return indexes;
65
35
  }, []);
66
36
  }
67
- /**
68
- * Searchs filters by the given params.
69
- * Gets the first match of the searching
70
- * @param params params to search the filters
71
- * @param settings settings for this function
72
- * @returns the new collection of filters
73
- */
74
37
  findByParams(params, settings) {
75
38
  if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
76
39
  return undefined;
77
40
  return this.filters.find((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, (0, filter_settings_helpers_1.getParamFiltersSettings)(settings)));
78
41
  }
79
- /**
80
- * Searchs filters by the given params.
81
- * Gets the first match of the searching and returns the related index
82
- * @param params params to search the filters
83
- * @param settings settings for this function
84
- * @returns the new collection of filters
85
- */
86
42
  findIndexByParams(params, settings) {
87
43
  if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
88
44
  return -1;
89
45
  return this.filters.findIndex((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, (0, filter_settings_helpers_1.getParamFiltersSettings)(settings)));
90
46
  }
91
- /**
92
- * **************************************************************************************************
93
- **************************************** By Filters *************************************************
94
- ****************************************************************************************************
95
- */
96
- /**
97
- * Gets an index where the new filter is going to be added
98
- * If an index is given, the searching is skipped
99
- * @param newFilter the new filter to add
100
- * @param index a custom index
101
- * @returns the index result object
102
- */
103
47
  findLastIndexByFilter(newFilter, index = -1) {
104
48
  const result = {
105
49
  index: -1,
@@ -114,47 +58,26 @@ class FilterSearcher {
114
58
  return { ...result, index: this.filters.length - 1 };
115
59
  if (newIndex > -1)
116
60
  return { ...result, index: newIndex };
117
- // Look index next to Scope - Dataset - column
118
61
  let lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.columnId === newFilter.columnId &&
119
62
  aFilter.datasetId === newFilter.datasetId &&
120
63
  aFilter.scope === newFilter.scope &&
121
64
  aFilter.scopeId === newFilter.scopeId);
122
65
  if (lastIndex > -1)
123
66
  return { ...result, index: lastIndex, nextToColumnFilter: true };
124
- // Look index next to Scope - Dataset
125
67
  lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.datasetId === newFilter.datasetId &&
126
68
  aFilter.scope === newFilter.scope &&
127
69
  aFilter.scopeId === newFilter.scopeId);
128
70
  if (lastIndex > -1)
129
71
  return { ...result, index: lastIndex, nextToDatasetFilter: true };
130
- // Look index next to Scope
131
72
  lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.scope === newFilter.scope &&
132
73
  aFilter.scopeId === newFilter.scopeId);
133
74
  if (lastIndex > -1)
134
75
  return { ...result, index: lastIndex, nextToScopeFilter: true };
135
76
  return result;
136
77
  }
137
- /**
138
- * **************************************************************************************************
139
- ****************************************** Getters *************************************************
140
- ****************************************************************************************************
141
- */
142
- /**
143
- * Gets the filter collection
144
- * @returns the collection of filters of the context
145
- */
146
78
  getFilters() {
147
79
  return this.filters;
148
80
  }
149
- /**
150
- * **************************************************************************************************
151
- ****************************************** Setters *************************************************
152
- ****************************************************************************************************
153
- */
154
- /**
155
- * Sets the filters
156
- * @param filters the new collection of filters to set
157
- */
158
81
  setFilters(filters) {
159
82
  this.filters = (0, utils_1.objectCopy)(filters);
160
83
  }
@@ -4,64 +4,7 @@ exports.FilterValidation = void 0;
4
4
  const getFilterType_1 = require("../helpers/getFilterType");
5
5
  const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
6
6
  const filters_resources_1 = require("../resources/filters.resources");
7
- /**
8
- *
9
- */
10
7
  class FilterValidation {
11
- // /**
12
- // *
13
- // * @param filter
14
- // */
15
- // filter(filter: IFilter): IFilterValidationSingleError {
16
- // const errors: IFilterValidationError[] = [];
17
- // if (isEmpty(filter) || !isObject(filter))
18
- // errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
19
- // return {
20
- // infoErrors: getInfoErrors(errors),
21
- // errors,
22
- // };
23
- // }
24
- // /**
25
- // *
26
- // * @param filter
27
- // * @param values
28
- // */
29
- // static values(
30
- // filter: IFilter,
31
- // values: IFilterInputValue[],
32
- // ): IFilterValidationSingleError {
33
- // const errors: IFilterValidationError[] = [];
34
- // if (isEmpty(filter)) errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
35
- // const { columnType, validator, values: filterValues } = filter;
36
- // const filterType = getFilterType(columnType, validator);
37
- // switch (filterType) {
38
- // case FILTER_TYPE.NULL:
39
- // if (!isEmpty(filterValues) || !isEmpty(values))
40
- // errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
41
- // break;
42
- // case FILTER_TYPE.RANGE:
43
- // if (isEmpty(values))
44
- // errors.push({ type: FILTER_VALIDATION.NOT_EMPTY_VALUES });
45
- // else if (values)
46
- // FilterValidation.rangeValues(filter, values)
47
- // default:
48
- // break;
49
- // }
50
- // }
51
- // private static rangeValues(filter: IFilter, values: IFilterInputValueRange[]): IFilterValidationSingleError {
52
- // const errors: IFilterValidationError[] = [];
53
- // filter.validator
54
- // FILTER_VALIDATOR.
55
- // values.forEach(value => {
56
- // if (value.max
57
- // });
58
- // }
59
- /**
60
- * Validated if the given filter exists into the filter collection
61
- * @param filters the collection of filters
62
- * @param filter the filter to validate
63
- * @returns True when the filter is duplicated in the collection
64
- */
65
8
  static isDuplicated(filters, filter) {
66
9
  if (!Array.isArray(filters))
67
10
  return false;
@@ -76,12 +19,6 @@ class FilterValidation {
76
19
  _filter.validator === filter.validator &&
77
20
  FilterValidation.isFilterValueDuplicated(_filter, filter));
78
21
  }
79
- /**
80
- * Validates if the given regular value is duplicated with another value collection
81
- * @param filter1 the filter info
82
- * @param filter2 the filter info to compare
83
- * @returns true when the value is duplicated
84
- */
85
22
  static isFilterValueDuplicated(filter1, filter2) {
86
23
  const filterType1 = (0, getFilterType_1.getFilterType)(filter1.columnType, filter1.validator);
87
24
  const filterType2 = (0, getFilterType_1.getFilterType)(filter2.columnType, filter2.validator);
@@ -98,52 +35,22 @@ class FilterValidation {
98
35
  return this.isFilterRegularValueDuplicated(filter1.values, filter2.values);
99
36
  }
100
37
  }
101
- /**
102
- * Validates if the given regular value is duplicated with another value collection
103
- * @param values1 the filter regular values collection
104
- * @param values2 the filter regular values collection
105
- * @returns true when the regular value is duplicated
106
- */
107
38
  static isFilterRegularValueDuplicated(values1, values2) {
108
39
  return values1.every((value1) => values2.some((value2) => value1.id === value2.id && value1.value === value2.value));
109
40
  }
110
- /**
111
- * Validates if the given range value is duplicated with another value collection
112
- * @param values1 the filter range values collection
113
- * @param values2 the filter range values colleciton
114
- * @returns true when the range value is duplicated
115
- */
116
41
  static isFilterRangeValueDuplicated(values1, values2) {
117
42
  return values1.every((value1) => values2.some((value2) => value1.id === value2.id &&
118
43
  value1.max === value2.max &&
119
44
  value1.min === value2.min));
120
45
  }
121
- /**
122
- * Validates if the given relative value is duplicated with another value collection
123
- * @param values1 the filter relative values collection
124
- * @param values2 the filter relative values collection
125
- * @returns true when the relative value is duplicated
126
- */
127
46
  static isFilterRelativeValueDuplicated(values1, values2) {
128
47
  return values1.every((value1) => values2.some((value2) => value1.id === value2.id &&
129
48
  value1.cursor === value2.cursor &&
130
49
  value1.unit === value2.unit));
131
50
  }
132
- /**
133
- * Validates if the given ranking value is duplicated with another value collection
134
- * @param _values1 the filter ranking values collection
135
- * @param _values2 the filter ranking values collection
136
- * @returns true when the ranking value is duplicated
137
- */
138
51
  static isFilterRankingValueDuplicated(_values1, _values2) {
139
52
  return false;
140
53
  }
141
- /**
142
- * Validates if the grouping is valid to set for the given params
143
- * @param columnType the column type
144
- * @param validator the filter validator
145
- * @returns true when the grouping is valid
146
- */
147
54
  static isGroupingValid(columnType, validator) {
148
55
  return (filter_grouping_resources_1.FILTER_GROUPING_COLUMNS.includes(columnType) &&
149
56
  filter_grouping_resources_1.FILTER_GROUPING_VALIDATORS.includes(validator));
@@ -2,15 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterValues = void 0;
4
4
  const filters_resources_1 = require("../resources/filters.resources");
5
- /**
6
- * Class to manipulate filter values and input values
7
- */
8
5
  class FilterValues {
9
- /**
10
- * Gets the Filter Values based on Regular Input values
11
- * @param values the regular input values
12
- * @returns the Filter Regular Values
13
- */
14
6
  static getFilterRegularValues(values = []) {
15
7
  return values.map((value) => ({
16
8
  displayed: true,
@@ -18,11 +10,6 @@ class FilterValues {
18
10
  value: `${value}`,
19
11
  }));
20
12
  }
21
- /**
22
- * Gets the Filter Values based on Range Input values
23
- * @param values the range input values
24
- * @returns the Filter Range Values
25
- */
26
13
  static getFilterRangeValues(values = []) {
27
14
  return values.map((value) => ({
28
15
  displayed: true,
@@ -31,11 +18,6 @@ class FilterValues {
31
18
  min: value.min,
32
19
  }));
33
20
  }
34
- /**
35
- * Gets the Filter Values based on Relative Input values
36
- * @param values the relative range input value
37
- * @returns the Filter Relative Value
38
- */
39
21
  static getFilterRelativeValues(values = []) {
40
22
  return values.map((value) => ({
41
23
  displayed: true,
@@ -43,12 +25,6 @@ class FilterValues {
43
25
  ...value,
44
26
  }));
45
27
  }
46
- /**
47
- * Gets the Filter Values based on the flter type
48
- * @param filterType the filter type
49
- * @param values the input values
50
- * @returns the Filter Values
51
- */
52
28
  static getFilterValues(filterType, values = []) {
53
29
  switch (filterType) {
54
30
  case filters_resources_1.FILTER_TYPE.REGULAR:
@@ -1,23 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./FilterAdapter"), exports);
18
- __exportStar(require("./FilterBuilder"), exports);
19
- __exportStar(require("./FilterManager"), exports);
20
- __exportStar(require("./FilterResources"), exports);
21
- __exportStar(require("./FilterSearcher"), exports);
22
- __exportStar(require("./FilterValues"), exports);
23
- __exportStar(require("./FilterValidation"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./FilterAdapter"), exports);
5
+ tslib_1.__exportStar(require("./FilterBuilder"), exports);
6
+ tslib_1.__exportStar(require("./FilterManager"), exports);
7
+ tslib_1.__exportStar(require("./FilterResources"), exports);
8
+ tslib_1.__exportStar(require("./FilterSearcher"), exports);
9
+ tslib_1.__exportStar(require("./FilterValues"), exports);
10
+ tslib_1.__exportStar(require("./FilterValidation"), exports);
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.legacyVisualToInteractiveTable = exports.filterToVisual = void 0;
3
+ exports.filterToVisual = filterToVisual;
4
+ exports.legacyVisualToInteractiveTable = legacyVisualToInteractiveTable;
4
5
  const utils_1 = require("@qrvey/utils");
5
6
  const utils_helpers_1 = require("./utils.helpers");
6
7
  const filter_visual_resources_1 = require("../resources/filter-visual.resources");
7
8
  const filters_resources_1 = require("../resources/filters.resources");
8
- /**
9
- * Generates a visual filter structure from the filter collection.
10
- * @param filters Array of filters
11
- * @param datasets Array of the dataset info
12
- * @param interactiveTable table of interaction properties for each section
13
- * @returns a Filter Data structure
14
- */
15
9
  function filterToVisual(filters, datasets = [], interactiveTable) {
16
10
  if ((0, utils_1.isEmpty)(filters) || !Array.isArray(filters))
17
11
  return;
@@ -19,14 +13,6 @@ function filterToVisual(filters, datasets = [], interactiveTable) {
19
13
  scopes: buildScopes(filters, datasets, interactiveTable),
20
14
  };
21
15
  }
22
- exports.filterToVisual = filterToVisual;
23
- /**
24
- * Gets the Interactive Table object from the visual filters
25
- * If an interactive table object is given, it will be merged with the new one
26
- * @param visual the visual filters
27
- * @param interactiveTable the interactive table object
28
- * @returns the interactive table object
29
- */
30
16
  function legacyVisualToInteractiveTable(visual, interactiveTable) {
31
17
  if ((0, utils_1.isEmpty)(visual) || (0, utils_1.isEmpty)(visual?.scopes))
32
18
  return;
@@ -58,17 +44,7 @@ function legacyVisualToInteractiveTable(visual, interactiveTable) {
58
44
  delete newInteractiveTable.interactDatasets;
59
45
  return newInteractiveTable;
60
46
  }
61
- exports.legacyVisualToInteractiveTable = legacyVisualToInteractiveTable;
62
- /**
63
- * Gets a collection of scopes for the visual filter data.
64
- * The scopes are organized by scope types and IDs
65
- * Also, adds and organizes filters by datasets
66
- * @param filters Collection of filters
67
- * @param datasets Array of the dataset info
68
- * @param interactiveTable table of interaction properties for each section
69
- * @returns an array of visual scopes.
70
- */
71
- function buildScopes(filters = [], datasets = [], interactiveTable) {
47
+ function buildScopes(filters, datasets, interactiveTable) {
72
48
  return filters.reduce((scopes, filter) => {
73
49
  const datasetInfo = (0, utils_helpers_1.getDatasetInfo)({ columnId: filter.columnId, datasetId: filter.datasetId }, datasets);
74
50
  const uiFilter = buildFilter(filter, datasetInfo);
@@ -93,12 +69,6 @@ function buildScopes(filters = [], datasets = [], interactiveTable) {
93
69
  return scopes;
94
70
  }, []);
95
71
  }
96
- /**
97
- * Gets an scope structure for the filter data
98
- * @param filter the filter
99
- * @param interactiveTable table of interaction properties for each section
100
- * @returns the visual scope structure
101
- */
102
72
  function buildScope(filter, interactiveTable) {
103
73
  const { collapsed } = interactiveTable?.interactScopes?.find((interactive) => interactive.scope === filter.scope &&
104
74
  interactive.scopeId === filter.scopeId) ?? {};
@@ -109,13 +79,6 @@ function buildScope(filter, interactiveTable) {
109
79
  id: filter.scopeId,
110
80
  };
111
81
  }
112
- /**
113
- * Gets an dataset structure for the visual filter
114
- * @param filter the filter
115
- * @param dataset the dataset info
116
- * @param interactiveTable table of interaction properties for each section
117
- * @returns an dataset structure
118
- */
119
82
  function buildDataset(filter, dataset, interactiveTable) {
120
83
  const { collapsed } = interactiveTable?.interactDatasets?.find((interactive) => interactive.datasetId === filter.datasetId) ?? {};
121
84
  return {
@@ -125,12 +88,6 @@ function buildDataset(filter, dataset, interactiveTable) {
125
88
  filters: [],
126
89
  };
127
90
  }
128
- /**
129
- * Gets an filter structure for the visual filter
130
- * @param filter a UI structure filter
131
- * @param dataset the dataset info
132
- * @returns an filter structure
133
- */
134
91
  function buildFilter(filter, dataset) {
135
92
  const columnInfo = dataset == null
136
93
  ? undefined