@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
package/jsdoc.config.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "plugins": ["plugins/markdown"],
3
- "source": {
4
- "include": ["./dist"],
5
- "exclude": ["./node_modules", "./src"],
6
- "includePattern": "./dist/.+\\.js",
7
- "excludePattern": "./dist/cjs/.+\\.js"
8
- },
9
- "opts": {
10
- "package": "./package.json",
11
- "readme": "./README.md",
12
- "recurse": true
13
- }
14
- }
@@ -1,62 +0,0 @@
1
- /**
2
- * Script for cleaning the project from temporary files and building a new bundle
3
- * 1- Deleting some directories and files
4
- * 2- Installing dependencies
5
- * 3- Build a new bundle
6
- */
7
-
8
- const util = require("util");
9
- const childProcess = require("child_process");
10
- const exec = util.promisify(childProcess.exec);
11
- const { exit } = require("process");
12
-
13
- async function execute(command) {
14
- console.log(command);
15
- const response = await exec(command);
16
- if (response.error != null) {
17
- throw new Error(response.error);
18
- }
19
- if (response.stderr != null && response.stderr !== "") {
20
- console.error(response.stderr);
21
- }
22
- if (response.stdout != null && response.stdout !== "") {
23
- console.log(response.stdout);
24
- }
25
- return response;
26
- }
27
-
28
- async function cleaningProject(settings) {
29
- console.log("==>>> Cleaning project...");
30
- await execute(`rm -f ${settings.packageLockPath}`);
31
- await execute(`rm -f -R ${settings.nodeModulesPath}`);
32
- await execute(`rm -f -R ${settings.distPath}`);
33
- }
34
-
35
- async function buildingBundle(_settings) {
36
- console.log("==>>> Installing Dependencies...");
37
- await execute("npm install");
38
-
39
- await execute("npm run build");
40
- }
41
-
42
- async function init() {
43
- console.log("Welcome.");
44
- let settings = {
45
- distPath: "./dist",
46
- nodeModulesPath: "./node_modules",
47
- packageLockPath: "./package-lock.json",
48
- };
49
-
50
- try {
51
- await cleaningProject(settings);
52
- await buildingBundle(settings);
53
- console.info("Finished cleaning and installed dependencies");
54
- } catch (err) {
55
- console.error("Error: ", err);
56
- } finally {
57
- console.log("Execution finished");
58
- exit();
59
- }
60
- }
61
-
62
- init();
@@ -1,2 +0,0 @@
1
- sonar.projectKey=an_qrvey_utils
2
- sonar.typescript.lcov.reportPaths=./coverage/lcov.info
@@ -1,208 +0,0 @@
1
- import { IDataset, IFUData } from "@qrvey/utils";
2
-
3
- import { filterToVisual } from "../helpers/filter-adapt.helpers";
4
- import {
5
- filterToLegacyVisual,
6
- legacyVisualToFilter,
7
- legacyVisualToInteractiveTable,
8
- } from "../helpers/filter-adapt.legacy.helpers";
9
- import { filterToLogic } from "../helpers/filter-adapt.logic.helpers";
10
- import { IFilterLogic } from "../resources/filter-logic.resources";
11
- import {
12
- IFilterPanelInteractiveTable,
13
- IFilterUIToFilter,
14
- } from "../resources/filter-panel.interfaces";
15
- import { IFilterVisual } from "../resources/filter-visual.resources";
16
- import {
17
- FILTER_VERSION_TYPE,
18
- IFilter,
19
- IFilterVersion,
20
- } from "../resources/filters.resources";
21
-
22
- /**
23
- * Class to adapt the filters
24
- */
25
- export class FilterAdapter {
26
- /**
27
- * The Logic filters
28
- */
29
- private _logic?: IFilterLogic[];
30
-
31
- /**
32
- * The visual filters
33
- */
34
- private _visual?: IFilterVisual;
35
-
36
- /**
37
- * The old Filter Data structure
38
- */
39
- private _legacyVisual?: IFUData;
40
-
41
- /**
42
- * Constructor
43
- * @param _filters the collection of filters
44
- * @param datasets the collection of datasets info
45
- * @param interactiveTable table of interaction properties for each section
46
- */
47
- constructor(
48
- protected _filters: IFilter[] = [],
49
- protected datasets: IDataset[] = [],
50
- protected interactiveTable?: IFilterPanelInteractiveTable,
51
- ) {
52
- this.setFilters(Array.isArray(_filters) ? _filters : []);
53
- }
54
-
55
- /**
56
- *
57
- */
58
- private sync(): void {
59
- this.setVisual(this.filterToVisual());
60
- this.setLegacyVisual(this.filterToLegacyVisual());
61
- this.setLogic(this.filterToLogic());
62
- }
63
-
64
- /**
65
- * Generates a visual filter structure from the filter collection.
66
- * @returns a visual Filter structure
67
- */
68
- private filterToLegacyVisual(): IFUData | undefined {
69
- return filterToLegacyVisual(
70
- this._filters,
71
- this.datasets,
72
- this.interactiveTable,
73
- );
74
- }
75
-
76
- /**
77
- * Generates a logic filters structure from the filter collection.
78
- * @returns the Logic Filters
79
- */
80
- private filterToLogic(): IFilterLogic[] {
81
- return filterToLogic(this._filters);
82
- }
83
-
84
- /**
85
- * Generates a visual filter structure from the filter collection.
86
- * @returns a visual Filter structure
87
- */
88
- private filterToVisual(): IFilterVisual | undefined {
89
- return filterToVisual(this._filters, this.datasets, this.interactiveTable);
90
- }
91
-
92
- /**
93
- * Generates the filter collection from the legacy filter
94
- * @param legacyVisual the legacy filter
95
- * @param interactiveTable the interactive table object
96
- * @returns the filter collection
97
- */
98
- public static legacyVisualToFilter(
99
- legacyVisual: IFUData,
100
- interactiveTable?: IFilterPanelInteractiveTable,
101
- ): IFilterUIToFilter {
102
- const filters: IFilter[] = legacyVisualToFilter(legacyVisual);
103
- const newInteractiveTable: IFilterPanelInteractiveTable | undefined =
104
- legacyVisualToInteractiveTable(legacyVisual, interactiveTable);
105
-
106
- return {
107
- filters,
108
- interactiveTable: newInteractiveTable,
109
- };
110
- }
111
-
112
- /**
113
- * Gets the legacy filter version attribute
114
- * @returns the legacy filter version
115
- */
116
- public get legacyVisual(): IFilterVersion<FILTER_VERSION_TYPE.UI_2> {
117
- return {
118
- filters: this._legacyVisual,
119
- version: FILTER_VERSION_TYPE.UI_2,
120
- };
121
- }
122
-
123
- /**
124
- * Gets the filter logic version
125
- * @returns the filter logic version
126
- */
127
- public get logic(): IFilterVersion<FILTER_VERSION_TYPE.LOGIC> {
128
- return {
129
- filters: this._logic,
130
- version: FILTER_VERSION_TYPE.LOGIC,
131
- };
132
- }
133
-
134
- /**
135
- * Gets the visual filter version
136
- * @returns the visual filter version
137
- */
138
- public get visual(): IFilterVersion<FILTER_VERSION_TYPE.UI_3> {
139
- return {
140
- filters: this._visual,
141
- version: FILTER_VERSION_TYPE.UI_3,
142
- };
143
- }
144
-
145
- /**
146
- * Gets the filter version 3
147
- * @returns the filter version 3
148
- */
149
- public get filters(): IFilterVersion<FILTER_VERSION_TYPE.V3> {
150
- return {
151
- filters: this._filters ?? [],
152
- version: FILTER_VERSION_TYPE.V3,
153
- };
154
- }
155
-
156
- /**
157
- * Sets the datasets atribute
158
- * @param datasets the collection of dataset info
159
- */
160
- public setDatasets(datasets: IDataset[] = []): void {
161
- this.datasets = datasets;
162
- this.sync();
163
- }
164
-
165
- /**
166
- * Sets the collection of filters atribute
167
- * @param filters the filters
168
- */
169
- public setFilters(filters: IFilter[]): void {
170
- this._filters = filters;
171
- this.sync();
172
- }
173
-
174
- /**
175
- * Sets the table of interactive table attribute
176
- * @param interactiveTable table of interaction properties for each section
177
- */
178
- public setInteractiveTable(
179
- interactiveTable: IFilterPanelInteractiveTable,
180
- ): void {
181
- this.interactiveTable = interactiveTable;
182
- this.sync();
183
- }
184
-
185
- /**
186
- * Sets the filter legacy visual attribute
187
- * @param legacyVisual the legacy visual filters
188
- */
189
- private setLegacyVisual(legacyVisual: IFUData | undefined): void {
190
- this._legacyVisual = legacyVisual;
191
- }
192
-
193
- /**
194
- * Sets the filter logic attribute
195
- * @param logic the logic filters
196
- */
197
- private setLogic(logic: IFilterLogic[]): void {
198
- this._logic = logic;
199
- }
200
-
201
- /**
202
- * Sets the filter visual attribute
203
- * @param visual the visual filters
204
- */
205
- private setVisual(visual: IFilterVisual | undefined): void {
206
- this._visual = visual;
207
- }
208
- }