@qrvey/filters 0.0.36 → 0.0.38

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 (60) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/classes/FilterBuilder.d.ts.map +1 -1
  3. package/dist/cjs/classes/FilterBuilder.js +2 -1
  4. package/dist/cjs/classes/FilterResources.d.ts +13 -0
  5. package/dist/cjs/classes/FilterResources.d.ts.map +1 -1
  6. package/dist/cjs/classes/FilterResources.js +24 -0
  7. package/dist/cjs/classes/FilterValidation.d.ts +9 -0
  8. package/dist/cjs/classes/FilterValidation.d.ts.map +1 -1
  9. package/dist/cjs/classes/FilterValidation.js +11 -0
  10. package/dist/cjs/classes/index.d.ts +1 -0
  11. package/dist/cjs/classes/index.d.ts.map +1 -1
  12. package/dist/cjs/classes/index.js +1 -0
  13. package/dist/cjs/helpers/filter-builder.helpers.d.ts +10 -0
  14. package/dist/cjs/helpers/filter-builder.helpers.d.ts.map +1 -0
  15. package/dist/cjs/helpers/filter-builder.helpers.js +20 -0
  16. package/dist/cjs/helpers/filter-settings.helpers.d.ts.map +1 -1
  17. package/dist/cjs/helpers/filter-settings.helpers.js +2 -0
  18. package/dist/cjs/resources/filter-functions.resources.d.ts +7 -0
  19. package/dist/cjs/resources/filter-functions.resources.d.ts.map +1 -1
  20. package/dist/cjs/resources/filter-functions.resources.js +1 -0
  21. package/dist/cjs/resources/filter-grouping.resources.d.ts +9 -0
  22. package/dist/cjs/resources/filter-grouping.resources.d.ts.map +1 -1
  23. package/dist/cjs/resources/filter-grouping.resources.js +35 -1
  24. package/dist/cjs/resources/filters.resources.d.ts +5 -1
  25. package/dist/cjs/resources/filters.resources.d.ts.map +1 -1
  26. package/dist/classes/FilterBuilder.d.ts.map +1 -1
  27. package/dist/classes/FilterBuilder.js +2 -1
  28. package/dist/classes/FilterResources.d.ts +13 -0
  29. package/dist/classes/FilterResources.d.ts.map +1 -1
  30. package/dist/classes/FilterResources.js +24 -0
  31. package/dist/classes/FilterValidation.d.ts +9 -0
  32. package/dist/classes/FilterValidation.d.ts.map +1 -1
  33. package/dist/classes/FilterValidation.js +11 -0
  34. package/dist/classes/index.d.ts +1 -0
  35. package/dist/classes/index.d.ts.map +1 -1
  36. package/dist/classes/index.js +1 -0
  37. package/dist/helpers/filter-builder.helpers.d.ts +10 -0
  38. package/dist/helpers/filter-builder.helpers.d.ts.map +1 -0
  39. package/dist/helpers/filter-builder.helpers.js +16 -0
  40. package/dist/helpers/filter-settings.helpers.d.ts.map +1 -1
  41. package/dist/helpers/filter-settings.helpers.js +2 -0
  42. package/dist/resources/filter-functions.resources.d.ts +7 -0
  43. package/dist/resources/filter-functions.resources.d.ts.map +1 -1
  44. package/dist/resources/filter-functions.resources.js +1 -0
  45. package/dist/resources/filter-grouping.resources.d.ts +9 -0
  46. package/dist/resources/filter-grouping.resources.d.ts.map +1 -1
  47. package/dist/resources/filter-grouping.resources.js +34 -0
  48. package/dist/resources/filters.resources.d.ts +5 -1
  49. package/dist/resources/filters.resources.d.ts.map +1 -1
  50. package/dist/resources/filters.resources.js +1 -1
  51. package/package.json +2 -2
  52. package/src/classes/FilterBuilder.ts +2 -1
  53. package/src/classes/FilterResources.ts +43 -0
  54. package/src/classes/FilterValidation.ts +22 -0
  55. package/src/classes/index.ts +1 -0
  56. package/src/helpers/filter-builder.helpers.ts +26 -0
  57. package/src/helpers/filter-settings.helpers.ts +3 -0
  58. package/src/resources/filter-functions.resources.ts +8 -0
  59. package/src/resources/filter-grouping.resources.ts +39 -0
  60. package/src/resources/filters.resources.ts +11 -1
package/CHANGELOG.md CHANGED
@@ -4,8 +4,21 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v0.0.38](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.38..v0.0.37)
8
+
9
+ - fix: validated the grouping property on allowed columns and validators [`#11`](https://bitbucket.org/qrvey/qrvey_filters/pull-requests/11)
10
+ - chore: upgraded qrvey utils to latest version [`b29b079`](https://bitbucket.org/qrvey/qrvey_filters/commits/b29b0797e056325605befbcad2443bc768e8b023)
11
+
12
+ #### [v0.0.37](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.37..v0.0.36)
13
+
14
+ > 8 August 2025
15
+
16
+ - chore: upgraded qrvey utils to latest version [`d1847ab`](https://bitbucket.org/qrvey/qrvey_filters/commits/d1847ab6df242c4d60b4cd56286e4858f92f6018)
17
+
7
18
  #### [v0.0.36](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.36..v0.0.35)
8
19
 
20
+ > 5 August 2025
21
+
9
22
  - feat: added the new scope (container) [`1f7133f`](https://bitbucket.org/qrvey/qrvey_filters/commits/1f7133f5666dae1b10b59e02f7384bd51a38131f)
10
23
  - chore: upgraded qrvey utils to latest version (1.16.0.19) [`d6c97f6`](https://bitbucket.org/qrvey/qrvey_filters/commits/d6c97f62455c091b7c102d665220b3ecfae18a9d)
11
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const getFilterId_1 = require("../helpers/getFilterId");
10
10
  const getFilterType_1 = require("../helpers/getFilterType");
11
11
  const filter_operators_resources_1 = require("../resources/filter-operators.resources");
12
12
  const filters_resources_1 = require("../resources/filters.resources");
13
+ const filter_builder_helpers_1 = require("../helpers/filter-builder.helpers");
13
14
  /**
14
15
  * Class to build new filters and manipulate ones.
15
16
  */
@@ -551,7 +552,7 @@ class FilterBuilder {
551
552
  scope: filter.scope || filters_resources_1.DEFAULT_FILTER.scope,
552
553
  scopeId: filter.scopeId || filters_resources_1.DEFAULT_FILTER.scopeId,
553
554
  validator: filter.validator || filters_resources_1.DEFAULT_FILTER.validator,
554
- grouping: filter.grouping || filters_resources_1.DEFAULT_FILTER.grouping,
555
+ grouping: (0, filter_builder_helpers_1.getFilterGrouping)(filter, newSettings.strictValidation),
555
556
  selectAll: filter.selectAll ?? filters_resources_1.DEFAULT_FILTER.selectAll,
556
557
  values: filter.values || filters_resources_1.DEFAULT_FILTER.values,
557
558
  };
@@ -26,6 +26,19 @@ export declare class FilterResources {
26
26
  * @returns a collection of grouping info
27
27
  */
28
28
  static getGroupingInfoListByColumnType(type: IColumnVsFormulaType, settings?: IFilterGroupingInfoListByColumnSettings): IFilterGroupingInfo[];
29
+ /**
30
+ * Gets a grouping info by a column type and grouping
31
+ * @param type the object with column and formula type
32
+ * @param grouping the grouping type
33
+ * @returns the grouping info
34
+ */
35
+ static getGroupingInfoByColumnType(type: IColumnVsFormulaType, grouping?: IFilterGrouping): IFilterGroupingInfo | undefined;
36
+ /**
37
+ * Gets a grouping info by a filter
38
+ * @param filter the filter object
39
+ * @returns the grouping info
40
+ */
41
+ static getGroupingInfoByFilter(filter: IFilter): IFilterGroupingInfo | undefined;
29
42
  /**
30
43
  * Gets a collection of groupings info by a column type
31
44
  * - The resulting grouping info collection is an intersection of mulitple grouping info collections
@@ -1 +1 @@
1
- {"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oBAAoB,EACpB,UAAU,EAIX,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAUL,eAAe,EACf,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAe,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAEL,YAAY,EACb,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IAEH;;;;OAIG;WACW,eAAe,CAC3B,QAAQ,EAAE,eAAe,GACxB,mBAAmB;IAItB;;;;;OAKG;WACW,+BAA+B,CAC3C,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,uCAAuC,GACjD,mBAAmB,EAAE;IAmCxB;;;;;;OAMG;WACW,gCAAgC,CAC5C,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,CAAC,EAAE,uCAAuC,EAAE,GACnD,mBAAmB,EAAE;IASxB;;;;;OAKG;WACW,0BAA0B,CACtC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAwBxB;;;;;OAKG;WACW,gCAAgC,CAC5C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAMxB;;;;;OAKG;WACW,iCAAiC,CAC7C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IASxB;;;OAGG;WACW,YAAY,IAAI,eAAe,EAAE;IAI/C;;;OAGG;WACW,oBAAoB,IAAI,mBAAmB,EAAE;IAI3D;;;;OAIG;IAEH;;;OAGG;WACW,kBAAkB,IAAI,YAAY,EAAE;IAIlD;;;;OAIG;IAEH;;;;;OAKG;WACW,oBAAoB,CAChC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,EAAE;IAgDZ;;;;OAIG;IAEH;;;;OAIG;WACW,gBAAgB,CAC5B,SAAS,EAAE,gBAAgB,GAC1B,oBAAoB;IAIvB;;;OAGG;WACW,oBAAoB,IAAI,oBAAoB,EAAE;IAI5D;;;;OAIG;WACW,gCAAgC,CAC5C,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,EAAE;IAUzB;;;;;OAKG;WACW,iCAAiC,CAC7C,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,EAAE;IASzB;;;OAGG;WACW,aAAa,IAAI,gBAAgB,EAAE;CAGlD"}
1
+ {"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oBAAoB,EACpB,UAAU,EAIX,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAUL,eAAe,EACf,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAe,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAEL,YAAY,EACb,MAAM,sCAAsC,CAAC;AAG9C;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IAEH;;;;OAIG;WACW,eAAe,CAC3B,QAAQ,EAAE,eAAe,GACxB,mBAAmB;IAItB;;;;;OAKG;WACW,+BAA+B,CAC3C,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,uCAAuC,GACjD,mBAAmB,EAAE;IAmCxB;;;;;OAKG;WACW,2BAA2B,CACvC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GACzB,mBAAmB,GAAG,SAAS;IAWlC;;;;OAIG;WACW,uBAAuB,CACnC,MAAM,EAAE,OAAO,GACd,mBAAmB,GAAG,SAAS;IAelC;;;;;;OAMG;WACW,gCAAgC,CAC5C,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,CAAC,EAAE,uCAAuC,EAAE,GACnD,mBAAmB,EAAE;IASxB;;;;;OAKG;WACW,0BAA0B,CACtC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAwBxB;;;;;OAKG;WACW,gCAAgC,CAC5C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAMxB;;;;;OAKG;WACW,iCAAiC,CAC7C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IASxB;;;OAGG;WACW,YAAY,IAAI,eAAe,EAAE;IAI/C;;;OAGG;WACW,oBAAoB,IAAI,mBAAmB,EAAE;IAI3D;;;;OAIG;IAEH;;;OAGG;WACW,kBAAkB,IAAI,YAAY,EAAE;IAIlD;;;;OAIG;IAEH;;;;;OAKG;WACW,oBAAoB,CAChC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,EAAE;IAgDZ;;;;OAIG;IAEH;;;;OAIG;WACW,gBAAgB,CAC5B,SAAS,EAAE,gBAAgB,GAC1B,oBAAoB;IAIvB;;;OAGG;WACW,oBAAoB,IAAI,oBAAoB,EAAE;IAI5D;;;;OAIG;WACW,gCAAgC,CAC5C,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,EAAE;IAUzB;;;;;OAKG;WACW,iCAAiC,CAC7C,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,EAAE;IASzB;;;OAGG;WACW,aAAa,IAAI,gBAAgB,EAAE;CAGlD"}
@@ -8,6 +8,7 @@ const filter_grouping_resources_1 = require("../resources/filter-grouping.resour
8
8
  const filter_validators_resources_1 = require("../resources/filter-validators.resources");
9
9
  const filters_resources_1 = require("../resources/filters.resources");
10
10
  const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
11
+ const FilterValidation_1 = require("./FilterValidation");
11
12
  /**
12
13
  * Class to search, build and get resources for the filters.
13
14
  */
@@ -49,6 +50,29 @@ class FilterResources {
49
50
  groupinInfoList = this.getGroupingInfoListOnDates(groupinInfoList, completeSettings);
50
51
  return groupinInfoList;
51
52
  }
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
+ * @returns the grouping info
58
+ */
59
+ static getGroupingInfoByColumnType(type, grouping) {
60
+ if (grouping == null)
61
+ return;
62
+ const groupingInfoList = FilterResources.getGroupingInfoListByColumnType(type);
63
+ const groupingInfo = groupingInfoList.find((gInfo) => gInfo.value === grouping);
64
+ return groupingInfo == null ? groupingInfoList[0] : groupingInfo;
65
+ }
66
+ /**
67
+ * Gets a grouping info by a filter
68
+ * @param filter the filter object
69
+ * @returns the grouping info
70
+ */
71
+ static getGroupingInfoByFilter(filter) {
72
+ if (!FilterValidation_1.FilterValidation.isGroupingValid(filter.columnType, filter.validator))
73
+ return;
74
+ return this.getGroupingInfoByColumnType({ type: filter.columnType, formulaType: filter.formulaType }, filter.grouping);
75
+ }
52
76
  /**
53
77
  * Gets a collection of groupings info by a column type
54
78
  * - The resulting grouping info collection is an intersection of mulitple grouping info collections
@@ -1,4 +1,6 @@
1
+ import { IColumnTypeWithGrouping } from "../resources/filter-grouping.resources";
1
2
  import { IFilter } from "../resources/filters.resources";
3
+ import { IFilterValidator } from "../resources";
2
4
  /**
3
5
  *
4
6
  */
@@ -45,5 +47,12 @@ export declare class FilterValidation {
45
47
  * @returns true when the ranking value is duplicated
46
48
  */
47
49
  private static isFilterRankingValueDuplicated;
50
+ /**
51
+ * Validates if the grouping is valid to set for the given params
52
+ * @param columnType the column type
53
+ * @param validator the filter validator
54
+ * @returns true when the grouping is valid
55
+ */
56
+ static isGroupingValid(columnType: IColumnTypeWithGrouping, validator: IFilterValidator): boolean;
48
57
  }
49
58
  //# sourceMappingURL=FilterValidation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterValidation.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterValidation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,qBAAa,gBAAgB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAiBjE;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IA6B3E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAW7C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAc3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAc9C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;CAM9C"}
1
+ {"version":3,"file":"FilterValidation.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAe,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,qBAAa,gBAAgB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAiBjE;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IA6B3E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAW7C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAc3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAc9C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAO7C;;;;;OAKG;WACW,eAAe,CAC3B,UAAU,EAAE,uBAAuB,EACnC,SAAS,EAAE,gBAAgB,GAC1B,OAAO;CAMX"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterValidation = void 0;
4
4
  const getFilterType_1 = require("../helpers/getFilterType");
5
+ const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
5
6
  const filters_resources_1 = require("../resources/filters.resources");
6
7
  /**
7
8
  *
@@ -137,5 +138,15 @@ class FilterValidation {
137
138
  static isFilterRankingValueDuplicated(_values1, _values2) {
138
139
  return false;
139
140
  }
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
+ static isGroupingValid(columnType, validator) {
148
+ return (filter_grouping_resources_1.FILTER_GROUPING_COLUMNS.includes(columnType) &&
149
+ filter_grouping_resources_1.FILTER_GROUPING_VALIDATORS.includes(validator));
150
+ }
140
151
  }
141
152
  exports.FilterValidation = FilterValidation;
@@ -4,4 +4,5 @@ export * from "./FilterManager";
4
4
  export * from "./FilterResources";
5
5
  export * from "./FilterSearcher";
6
6
  export * from "./FilterValues";
7
+ export * from "./FilterValidation";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -20,3 +20,4 @@ __exportStar(require("./FilterManager"), exports);
20
20
  __exportStar(require("./FilterResources"), exports);
21
21
  __exportStar(require("./FilterSearcher"), exports);
22
22
  __exportStar(require("./FilterValues"), exports);
23
+ __exportStar(require("./FilterValidation"), exports);
@@ -0,0 +1,10 @@
1
+ import { IFilterGrouping } from "../resources/filter-grouping.resources";
2
+ import { IFilter } from "../resources/filters.resources";
3
+ /**
4
+ * Gets the filter grouping for a given filter.
5
+ * @param filter The filter to get the grouping for.
6
+ * @param strictValidation Flag to enable strict validation for filter creation.
7
+ * @returns The filter grouping.
8
+ */
9
+ export declare function getFilterGrouping(filter: Partial<IFilter>, strictValidation?: boolean): IFilterGrouping | undefined;
10
+ //# sourceMappingURL=filter-builder.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-builder.helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/filter-builder.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAkB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,gBAAgB,CAAC,EAAE,OAAO,GACzB,eAAe,GAAG,SAAS,CAY7B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFilterGrouping = void 0;
4
+ const FilterResources_1 = require("../classes/FilterResources");
5
+ const filters_resources_1 = require("../resources/filters.resources");
6
+ /**
7
+ * Gets the filter grouping for a given filter.
8
+ * @param filter The filter to get the grouping for.
9
+ * @param strictValidation Flag to enable strict validation for filter creation.
10
+ * @returns The filter grouping.
11
+ */
12
+ function getFilterGrouping(filter, strictValidation) {
13
+ return ((strictValidation
14
+ ? FilterResources_1.FilterResources.getGroupingInfoByColumnType({
15
+ type: filter.columnType ?? filters_resources_1.DEFAULT_FILTER.columnType,
16
+ formulaType: filter.formulaType,
17
+ }, filter.grouping)?.value
18
+ : filter.grouping) || filters_resources_1.DEFAULT_FILTER.grouping);
19
+ }
20
+ exports.getFilterGrouping = getFilterGrouping;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-settings.helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/filter-settings.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,uCAAuC,EACvC,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,0BAA0B,GACpC,0BAA0B,CAQ5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAMvB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,CAAC,EAAE,uCAAuC,GACjD,uCAAuC,CAkBzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,2BAA2B,CAM7B"}
1
+ {"version":3,"file":"filter-settings.helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/filter-settings.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,uCAAuC,EACvC,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,0BAA0B,GACpC,0BAA0B,CAQ5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CASvB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,CAAC,EAAE,uCAAuC,GACjD,uCAAuC,CAkBzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,2BAA2B,CAM7B"}
@@ -38,6 +38,8 @@ function getFilterCreateSettings(settings) {
38
38
  return {
39
39
  automaticId: settings?.automaticId ?? filter_functions_resources_1.DEFAULT_FILTER_CREATE_SETTINGS.automaticId,
40
40
  rawValues: settings?.rawValues ?? filter_functions_resources_1.DEFAULT_FILTER_CREATE_SETTINGS.rawValues,
41
+ strictValidation: settings?.strictValidation ??
42
+ filter_functions_resources_1.DEFAULT_FILTER_CREATE_SETTINGS.strictValidation,
41
43
  };
42
44
  }
43
45
  exports.getFilterCreateSettings = getFilterCreateSettings;
@@ -21,7 +21,14 @@ export interface IFilterCreateSettings {
21
21
  * flag to generate a new filter ID based on the filter info
22
22
  */
23
23
  automaticId?: boolean;
24
+ /**
25
+ * Values for creating filters
26
+ */
24
27
  rawValues?: IFilterInputValue[];
28
+ /**
29
+ * flag to enable strict validation for filter creation
30
+ */
31
+ strictValidation?: boolean;
25
32
  }
26
33
  export declare const DEFAULT_FILTER_CREATE_SETTINGS: IFilterCreateSettings;
27
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filter-functions.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-functions.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,EAAE,qBAG5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,0BAG3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,gDAAgD,EAAE,uCAO5D,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,kBAAkB,GAAG;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"filter-functions.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-functions.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,0BAG3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,gDAAgD,EAAE,uCAO5D,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,kBAAkB,GAAG;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
@@ -8,6 +8,7 @@ exports.DEFAULT_FILTER_ADD_SETTINGS = {
8
8
  exports.DEFAULT_FILTER_CREATE_SETTINGS = {
9
9
  automaticId: true,
10
10
  rawValues: [],
11
+ strictValidation: true,
11
12
  };
12
13
  exports.DEFAULT_FILTERS_PARAM_SETTINGS = {
13
14
  letPassUndefinedProperties: false,
@@ -1,4 +1,5 @@
1
1
  import { COLUMN, IGeneralInfo } from "@qrvey/utils";
2
+ import { IFilterValidator } from "./filter-validators.resources";
2
3
  export type IFilterGrouping = FILTER_GROUPING;
3
4
  export type IFilterGroupingInfo = IGeneralInfo<IFilterGrouping>;
4
5
  export type IColumnTypeWithGrouping = COLUMN.DATE | COLUMN.DATE_FORMULA | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | COLUMN.LOOKUP;
@@ -86,6 +87,14 @@ export declare const FILTER_GROUPINGS: IFilterGrouping[];
86
87
  export declare const FILTER_GROUPING_INFO: {
87
88
  [key in IFilterGrouping]: IFilterGroupingInfo;
88
89
  };
90
+ /**
91
+ * List of columns allowed to set grouping filters
92
+ */
93
+ export declare const FILTER_GROUPING_COLUMNS: IColumnTypeWithGrouping[];
94
+ /**
95
+ * List of validator allowed to set grouping filters
96
+ */
97
+ export declare const FILTER_GROUPING_VALIDATORS: IFilterValidator[];
89
98
  export declare const FILTER_GROUPING_INFO_LIST: IFilterGroupingInfo[];
90
99
  export declare const FILTER_GROUPING_INFO_BY_COLUMN_TYPE: IFilterGroupingInfoByColumnType;
91
100
  export declare const FILTER_GROUPING_INFO_BY_DATE_TIME: IFilterGroupingInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"filter-grouping.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-grouping.resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-grouping.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-grouping.resources.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FILTER_GROUPING_INFO_BY_DISTINCT_DATE_TIME = exports.FILTER_GROUPING_INFO_BY_DISTINCT_DATE = exports.FILTER_GROUPING_INFO_BY_DATE_TIME = exports.FILTER_GROUPING_INFO_BY_COLUMN_TYPE = exports.FILTER_GROUPING_INFO_LIST = exports.FILTER_GROUPING_INFO = exports.FILTER_GROUPINGS = exports.FILTER_GROUPING_LABEL = exports.FILTER_GROUPING = void 0;
3
+ exports.FILTER_GROUPING_INFO_BY_DISTINCT_DATE_TIME = exports.FILTER_GROUPING_INFO_BY_DISTINCT_DATE = exports.FILTER_GROUPING_INFO_BY_DATE_TIME = exports.FILTER_GROUPING_INFO_BY_COLUMN_TYPE = exports.FILTER_GROUPING_INFO_LIST = exports.FILTER_GROUPING_VALIDATORS = exports.FILTER_GROUPING_COLUMNS = exports.FILTER_GROUPING_INFO = exports.FILTER_GROUPINGS = exports.FILTER_GROUPING_LABEL = exports.FILTER_GROUPING = void 0;
4
4
  const utils_1 = require("@qrvey/utils");
5
+ const filter_validators_resources_1 = require("./filter-validators.resources");
5
6
  var FILTER_GROUPING;
6
7
  (function (FILTER_GROUPING) {
7
8
  FILTER_GROUPING["LOOKUP_DISPLAY"] = "display";
@@ -335,6 +336,39 @@ exports.FILTER_GROUPING_INFO = {
335
336
  value: FILTER_GROUPING.USADDRESS_LINE_2,
336
337
  },
337
338
  };
339
+ /**
340
+ * List of columns allowed to set grouping filters
341
+ */
342
+ exports.FILTER_GROUPING_COLUMNS = [
343
+ utils_1.COLUMN.DATE,
344
+ utils_1.COLUMN.DATE_FORMULA,
345
+ utils_1.COLUMN.TEXTFIELD,
346
+ utils_1.COLUMN.LONGTEXT,
347
+ utils_1.COLUMN.IMAGEUPLOAD,
348
+ utils_1.COLUMN.FILEUPLOAD,
349
+ utils_1.COLUMN.EXPRESSION,
350
+ utils_1.COLUMN.NAME,
351
+ utils_1.COLUMN.USADDRESS,
352
+ utils_1.COLUMN.ADDRESS,
353
+ utils_1.COLUMN.LOOKUP,
354
+ ];
355
+ /**
356
+ * List of validator allowed to set grouping filters
357
+ */
358
+ exports.FILTER_GROUPING_VALIDATORS = [
359
+ filter_validators_resources_1.FILTER_VALIDATOR.EQUALS,
360
+ filter_validators_resources_1.FILTER_VALIDATOR.NOT_EQUAL,
361
+ filter_validators_resources_1.FILTER_VALIDATOR.BETWEEN_INCLUSIVE,
362
+ filter_validators_resources_1.FILTER_VALIDATOR.BETWEEN_EXCLUSIVE,
363
+ filter_validators_resources_1.FILTER_VALIDATOR.LESS_THAN,
364
+ filter_validators_resources_1.FILTER_VALIDATOR.LESS_THAN_EQUAL,
365
+ filter_validators_resources_1.FILTER_VALIDATOR.GREATER_THAN,
366
+ filter_validators_resources_1.FILTER_VALIDATOR.GREATER_THAN_EQUAL,
367
+ filter_validators_resources_1.FILTER_VALIDATOR.BEFORE,
368
+ filter_validators_resources_1.FILTER_VALIDATOR.AFTER,
369
+ filter_validators_resources_1.FILTER_VALIDATOR.BEFORE_ON,
370
+ filter_validators_resources_1.FILTER_VALIDATOR.AFTER_ON,
371
+ ];
338
372
  exports.FILTER_GROUPING_INFO_LIST = [
339
373
  exports.FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_DISPLAY],
340
374
  exports.FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_VALUE],
@@ -1,4 +1,4 @@
1
- import { IAggregateType, IColumnType, IFUData } from "@qrvey/utils";
1
+ import { IAggregateType, IColumnType, IFormulaType, IFUData } from "@qrvey/utils";
2
2
  import { IFilterGrouping } from "./filter-grouping.resources";
3
3
  import { IFilterLogic } from "./filter-logic.resources";
4
4
  import { IFilterOperator } from "./filter-operators.resources";
@@ -64,6 +64,10 @@ export interface IFilter {
64
64
  * More information for this filter
65
65
  */
66
66
  extras?: Record<string, unknown>;
67
+ /**
68
+ * Optional property for the formula type
69
+ */
70
+ formulaType?: IFormulaType;
67
71
  /**
68
72
  * Index of the selected Lookup display.
69
73
  * It is mandatory for Lookup column type.
@@ -1 +1 @@
1
- {"version":3,"file":"filters.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filters.resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filters.resources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { getFilterId } from "../helpers/getFilterId";
7
7
  import { getFilterType } from "../helpers/getFilterType";
8
8
  import { FILTER_OPERATOR } from "../resources/filter-operators.resources";
9
9
  import { DEFAULT_FILTER, FILTER_TYPE, } from "../resources/filters.resources";
10
+ import { getFilterGrouping } from "../helpers/filter-builder.helpers";
10
11
  /**
11
12
  * Class to build new filters and manipulate ones.
12
13
  */
@@ -548,7 +549,7 @@ export class FilterBuilder {
548
549
  scope: filter.scope || DEFAULT_FILTER.scope,
549
550
  scopeId: filter.scopeId || DEFAULT_FILTER.scopeId,
550
551
  validator: filter.validator || DEFAULT_FILTER.validator,
551
- grouping: filter.grouping || DEFAULT_FILTER.grouping,
552
+ grouping: getFilterGrouping(filter, newSettings.strictValidation),
552
553
  selectAll: filter.selectAll ?? DEFAULT_FILTER.selectAll,
553
554
  values: filter.values || DEFAULT_FILTER.values,
554
555
  };
@@ -26,6 +26,19 @@ export declare class FilterResources {
26
26
  * @returns a collection of grouping info
27
27
  */
28
28
  static getGroupingInfoListByColumnType(type: IColumnVsFormulaType, settings?: IFilterGroupingInfoListByColumnSettings): IFilterGroupingInfo[];
29
+ /**
30
+ * Gets a grouping info by a column type and grouping
31
+ * @param type the object with column and formula type
32
+ * @param grouping the grouping type
33
+ * @returns the grouping info
34
+ */
35
+ static getGroupingInfoByColumnType(type: IColumnVsFormulaType, grouping?: IFilterGrouping): IFilterGroupingInfo | undefined;
36
+ /**
37
+ * Gets a grouping info by a filter
38
+ * @param filter the filter object
39
+ * @returns the grouping info
40
+ */
41
+ static getGroupingInfoByFilter(filter: IFilter): IFilterGroupingInfo | undefined;
29
42
  /**
30
43
  * Gets a collection of groupings info by a column type
31
44
  * - The resulting grouping info collection is an intersection of mulitple grouping info collections
@@ -1 +1 @@
1
- {"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oBAAoB,EACpB,UAAU,EAIX,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAUL,eAAe,EACf,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAe,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAEL,YAAY,EACb,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IAEH;;;;OAIG;WACW,eAAe,CAC3B,QAAQ,EAAE,eAAe,GACxB,mBAAmB;IAItB;;;;;OAKG;WACW,+BAA+B,CAC3C,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,uCAAuC,GACjD,mBAAmB,EAAE;IAmCxB;;;;;;OAMG;WACW,gCAAgC,CAC5C,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,CAAC,EAAE,uCAAuC,EAAE,GACnD,mBAAmB,EAAE;IASxB;;;;;OAKG;WACW,0BAA0B,CACtC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAwBxB;;;;;OAKG;WACW,gCAAgC,CAC5C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAMxB;;;;;OAKG;WACW,iCAAiC,CAC7C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IASxB;;;OAGG;WACW,YAAY,IAAI,eAAe,EAAE;IAI/C;;;OAGG;WACW,oBAAoB,IAAI,mBAAmB,EAAE;IAI3D;;;;OAIG;IAEH;;;OAGG;WACW,kBAAkB,IAAI,YAAY,EAAE;IAIlD;;;;OAIG;IAEH;;;;;OAKG;WACW,oBAAoB,CAChC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,EAAE;IAgDZ;;;;OAIG;IAEH;;;;OAIG;WACW,gBAAgB,CAC5B,SAAS,EAAE,gBAAgB,GAC1B,oBAAoB;IAIvB;;;OAGG;WACW,oBAAoB,IAAI,oBAAoB,EAAE;IAI5D;;;;OAIG;WACW,gCAAgC,CAC5C,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,EAAE;IAUzB;;;;;OAKG;WACW,iCAAiC,CAC7C,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,EAAE;IASzB;;;OAGG;WACW,aAAa,IAAI,gBAAgB,EAAE;CAGlD"}
1
+ {"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oBAAoB,EACpB,UAAU,EAIX,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAUL,eAAe,EACf,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAe,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAEL,YAAY,EACb,MAAM,sCAAsC,CAAC;AAG9C;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IAEH;;;;OAIG;WACW,eAAe,CAC3B,QAAQ,EAAE,eAAe,GACxB,mBAAmB;IAItB;;;;;OAKG;WACW,+BAA+B,CAC3C,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,uCAAuC,GACjD,mBAAmB,EAAE;IAmCxB;;;;;OAKG;WACW,2BAA2B,CACvC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GACzB,mBAAmB,GAAG,SAAS;IAWlC;;;;OAIG;WACW,uBAAuB,CACnC,MAAM,EAAE,OAAO,GACd,mBAAmB,GAAG,SAAS;IAelC;;;;;;OAMG;WACW,gCAAgC,CAC5C,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,CAAC,EAAE,uCAAuC,EAAE,GACnD,mBAAmB,EAAE;IASxB;;;;;OAKG;WACW,0BAA0B,CACtC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAwBxB;;;;;OAKG;WACW,gCAAgC,CAC5C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAMxB;;;;;OAKG;WACW,iCAAiC,CAC7C,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IASxB;;;OAGG;WACW,YAAY,IAAI,eAAe,EAAE;IAI/C;;;OAGG;WACW,oBAAoB,IAAI,mBAAmB,EAAE;IAI3D;;;;OAIG;IAEH;;;OAGG;WACW,kBAAkB,IAAI,YAAY,EAAE;IAIlD;;;;OAIG;IAEH;;;;;OAKG;WACW,oBAAoB,CAChC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,EAAE;IAgDZ;;;;OAIG;IAEH;;;;OAIG;WACW,gBAAgB,CAC5B,SAAS,EAAE,gBAAgB,GAC1B,oBAAoB;IAIvB;;;OAGG;WACW,oBAAoB,IAAI,oBAAoB,EAAE;IAI5D;;;;OAIG;WACW,gCAAgC,CAC5C,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,EAAE;IAUzB;;;;;OAKG;WACW,iCAAiC,CAC7C,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,EAAE;IASzB;;;OAGG;WACW,aAAa,IAAI,gBAAgB,EAAE;CAGlD"}
@@ -5,6 +5,7 @@ import { FILTER_GROUPING, FILTER_GROUPING_INFO, FILTER_GROUPING_INFO_BY_COLUMN_T
5
5
  import { FILTER_VALIDATOR_INFO, FILTER_VALIDATOR_INFO_LIST, FILTER_VALIDATORS, FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE, } from "../resources/filter-validators.resources";
6
6
  import { FILTER_TYPE } from "../resources/filters.resources";
7
7
  import { FILTER_SCOPES, } from "../resources/filter-scopes.resources";
8
+ import { FilterValidation } from "./FilterValidation";
8
9
  /**
9
10
  * Class to search, build and get resources for the filters.
10
11
  */
@@ -46,6 +47,29 @@ export class FilterResources {
46
47
  groupinInfoList = this.getGroupingInfoListOnDates(groupinInfoList, completeSettings);
47
48
  return groupinInfoList;
48
49
  }
50
+ /**
51
+ * Gets a grouping info by a column type and grouping
52
+ * @param type the object with column and formula type
53
+ * @param grouping the grouping type
54
+ * @returns the grouping info
55
+ */
56
+ static getGroupingInfoByColumnType(type, grouping) {
57
+ if (grouping == null)
58
+ return;
59
+ const groupingInfoList = FilterResources.getGroupingInfoListByColumnType(type);
60
+ const groupingInfo = groupingInfoList.find((gInfo) => gInfo.value === grouping);
61
+ return groupingInfo == null ? groupingInfoList[0] : groupingInfo;
62
+ }
63
+ /**
64
+ * Gets a grouping info by a filter
65
+ * @param filter the filter object
66
+ * @returns the grouping info
67
+ */
68
+ static getGroupingInfoByFilter(filter) {
69
+ if (!FilterValidation.isGroupingValid(filter.columnType, filter.validator))
70
+ return;
71
+ return this.getGroupingInfoByColumnType({ type: filter.columnType, formulaType: filter.formulaType }, filter.grouping);
72
+ }
49
73
  /**
50
74
  * Gets a collection of groupings info by a column type
51
75
  * - The resulting grouping info collection is an intersection of mulitple grouping info collections
@@ -1,4 +1,6 @@
1
+ import { IColumnTypeWithGrouping } from "../resources/filter-grouping.resources";
1
2
  import { IFilter } from "../resources/filters.resources";
3
+ import { IFilterValidator } from "../resources";
2
4
  /**
3
5
  *
4
6
  */
@@ -45,5 +47,12 @@ export declare class FilterValidation {
45
47
  * @returns true when the ranking value is duplicated
46
48
  */
47
49
  private static isFilterRankingValueDuplicated;
50
+ /**
51
+ * Validates if the grouping is valid to set for the given params
52
+ * @param columnType the column type
53
+ * @param validator the filter validator
54
+ * @returns true when the grouping is valid
55
+ */
56
+ static isGroupingValid(columnType: IColumnTypeWithGrouping, validator: IFilterValidator): boolean;
48
57
  }
49
58
  //# sourceMappingURL=FilterValidation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterValidation.d.ts","sourceRoot":"","sources":["../../src/classes/FilterValidation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,qBAAa,gBAAgB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAiBjE;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IA6B3E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAW7C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAc3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAc9C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;CAM9C"}
1
+ {"version":3,"file":"FilterValidation.d.ts","sourceRoot":"","sources":["../../src/classes/FilterValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAe,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,qBAAa,gBAAgB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAiBjE;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IA6B3E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAW7C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAc3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAc9C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAO7C;;;;;OAKG;WACW,eAAe,CAC3B,UAAU,EAAE,uBAAuB,EACnC,SAAS,EAAE,gBAAgB,GAC1B,OAAO;CAMX"}
@@ -1,4 +1,5 @@
1
1
  import { getFilterType } from "../helpers/getFilterType";
2
+ import { FILTER_GROUPING_COLUMNS, FILTER_GROUPING_VALIDATORS, } from "../resources/filter-grouping.resources";
2
3
  import { FILTER_TYPE } from "../resources/filters.resources";
3
4
  /**
4
5
  *
@@ -134,4 +135,14 @@ export class FilterValidation {
134
135
  static isFilterRankingValueDuplicated(_values1, _values2) {
135
136
  return false;
136
137
  }
138
+ /**
139
+ * Validates if the grouping is valid to set for the given params
140
+ * @param columnType the column type
141
+ * @param validator the filter validator
142
+ * @returns true when the grouping is valid
143
+ */
144
+ static isGroupingValid(columnType, validator) {
145
+ return (FILTER_GROUPING_COLUMNS.includes(columnType) &&
146
+ FILTER_GROUPING_VALIDATORS.includes(validator));
147
+ }
137
148
  }
@@ -4,4 +4,5 @@ export * from "./FilterManager";
4
4
  export * from "./FilterResources";
5
5
  export * from "./FilterSearcher";
6
6
  export * from "./FilterValues";
7
+ export * from "./FilterValidation";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -4,3 +4,4 @@ export * from "./FilterManager";
4
4
  export * from "./FilterResources";
5
5
  export * from "./FilterSearcher";
6
6
  export * from "./FilterValues";
7
+ export * from "./FilterValidation";
@@ -0,0 +1,10 @@
1
+ import { IFilterGrouping } from "../resources/filter-grouping.resources";
2
+ import { IFilter } from "../resources/filters.resources";
3
+ /**
4
+ * Gets the filter grouping for a given filter.
5
+ * @param filter The filter to get the grouping for.
6
+ * @param strictValidation Flag to enable strict validation for filter creation.
7
+ * @returns The filter grouping.
8
+ */
9
+ export declare function getFilterGrouping(filter: Partial<IFilter>, strictValidation?: boolean): IFilterGrouping | undefined;
10
+ //# sourceMappingURL=filter-builder.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-builder.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/filter-builder.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAkB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,gBAAgB,CAAC,EAAE,OAAO,GACzB,eAAe,GAAG,SAAS,CAY7B"}
@@ -0,0 +1,16 @@
1
+ import { FilterResources } from "../classes/FilterResources";
2
+ import { DEFAULT_FILTER } from "../resources/filters.resources";
3
+ /**
4
+ * Gets the filter grouping for a given filter.
5
+ * @param filter The filter to get the grouping for.
6
+ * @param strictValidation Flag to enable strict validation for filter creation.
7
+ * @returns The filter grouping.
8
+ */
9
+ export function getFilterGrouping(filter, strictValidation) {
10
+ return ((strictValidation
11
+ ? FilterResources.getGroupingInfoByColumnType({
12
+ type: filter.columnType ?? DEFAULT_FILTER.columnType,
13
+ formulaType: filter.formulaType,
14
+ }, filter.grouping)?.value
15
+ : filter.grouping) || DEFAULT_FILTER.grouping);
16
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"filter-settings.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/filter-settings.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,uCAAuC,EACvC,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,0BAA0B,GACpC,0BAA0B,CAQ5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAMvB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,CAAC,EAAE,uCAAuC,GACjD,uCAAuC,CAkBzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,2BAA2B,CAM7B"}
1
+ {"version":3,"file":"filter-settings.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/filter-settings.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,uCAAuC,EACvC,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,0BAA0B,GACpC,0BAA0B,CAQ5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CASvB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,CAAC,EAAE,uCAAuC,GACjD,uCAAuC,CAkBzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,2BAA2B,CAM7B"}
@@ -33,6 +33,8 @@ export function getFilterCreateSettings(settings) {
33
33
  return {
34
34
  automaticId: settings?.automaticId ?? DEFAULT_FILTER_CREATE_SETTINGS.automaticId,
35
35
  rawValues: settings?.rawValues ?? DEFAULT_FILTER_CREATE_SETTINGS.rawValues,
36
+ strictValidation: settings?.strictValidation ??
37
+ DEFAULT_FILTER_CREATE_SETTINGS.strictValidation,
36
38
  };
37
39
  }
38
40
  /**
@@ -21,7 +21,14 @@ export interface IFilterCreateSettings {
21
21
  * flag to generate a new filter ID based on the filter info
22
22
  */
23
23
  automaticId?: boolean;
24
+ /**
25
+ * Values for creating filters
26
+ */
24
27
  rawValues?: IFilterInputValue[];
28
+ /**
29
+ * flag to enable strict validation for filter creation
30
+ */
31
+ strictValidation?: boolean;
25
32
  }
26
33
  export declare const DEFAULT_FILTER_CREATE_SETTINGS: IFilterCreateSettings;
27
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filter-functions.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filter-functions.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,EAAE,qBAG5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,0BAG3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,gDAAgD,EAAE,uCAO5D,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,kBAAkB,GAAG;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"filter-functions.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filter-functions.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,0BAG3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,gDAAgD,EAAE,uCAO5D,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,kBAAkB,GAAG;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
@@ -5,6 +5,7 @@ export const DEFAULT_FILTER_ADD_SETTINGS = {
5
5
  export const DEFAULT_FILTER_CREATE_SETTINGS = {
6
6
  automaticId: true,
7
7
  rawValues: [],
8
+ strictValidation: true,
8
9
  };
9
10
  export const DEFAULT_FILTERS_PARAM_SETTINGS = {
10
11
  letPassUndefinedProperties: false,
@@ -1,4 +1,5 @@
1
1
  import { COLUMN, IGeneralInfo } from "@qrvey/utils";
2
+ import { IFilterValidator } from "./filter-validators.resources";
2
3
  export type IFilterGrouping = FILTER_GROUPING;
3
4
  export type IFilterGroupingInfo = IGeneralInfo<IFilterGrouping>;
4
5
  export type IColumnTypeWithGrouping = COLUMN.DATE | COLUMN.DATE_FORMULA | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | COLUMN.LOOKUP;
@@ -86,6 +87,14 @@ export declare const FILTER_GROUPINGS: IFilterGrouping[];
86
87
  export declare const FILTER_GROUPING_INFO: {
87
88
  [key in IFilterGrouping]: IFilterGroupingInfo;
88
89
  };
90
+ /**
91
+ * List of columns allowed to set grouping filters
92
+ */
93
+ export declare const FILTER_GROUPING_COLUMNS: IColumnTypeWithGrouping[];
94
+ /**
95
+ * List of validator allowed to set grouping filters
96
+ */
97
+ export declare const FILTER_GROUPING_VALIDATORS: IFilterValidator[];
89
98
  export declare const FILTER_GROUPING_INFO_LIST: IFilterGroupingInfo[];
90
99
  export declare const FILTER_GROUPING_INFO_BY_COLUMN_TYPE: IFilterGroupingInfoByColumnType;
91
100
  export declare const FILTER_GROUPING_INFO_BY_DATE_TIME: IFilterGroupingInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"filter-grouping.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filter-grouping.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAEhE,MAAM,MAAM,uBAAuB,GAC/B,MAAM,CAAC,IAAI,GACX,MAAM,CAAC,YAAY,GACnB,MAAM,CAAC,SAAS,GAChB,MAAM,CAAC,QAAQ,GACf,MAAM,CAAC,WAAW,GAClB,MAAM,CAAC,UAAU,GACjB,MAAM,CAAC,UAAU,GACjB,MAAM,CAAC,IAAI,GACX,MAAM,CAAC,SAAS,GAChB,MAAM,CAAC,OAAO,GACd,MAAM,CAAC,MAAM,CAAC;AAElB,MAAM,MAAM,+BAA+B,GAAG;KAC3C,GAAG,IAAI,uBAAuB,GAAG,mBAAmB,EAAE;CACxD,CAAC;AAEF,oBAAY,eAAe;IACzB,cAAc,YAAY;IAC1B,YAAY,UAAU;IAGtB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IAGb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IAGjB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,aAAa;IAGtB,QAAQ,cAAc;IACtB,WAAW,gBAAgB;IAC3B,aAAa,gBAAgB;IAG7B,eAAe,UAAU;IACzB,oBAAoB,aAAa;IACjC,oBAAoB,cAAc;IAClC,kBAAkB,iBAAiB;IACnC,mBAAmB,aAAa;IAChC,mBAAmB,aAAa;IAChC,sBAAsB,aAAa;IACnC,mBAAmB,aAAa;IAChC,mBAAmB,aAAa;IAGhC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,YAAY,SAAS;IACrB,aAAa,UAAU;IACvB,cAAc,gBAAgB;IAC9B,eAAe,YAAY;IAC3B,gBAAgB,mBAAmB;IACnC,gBAAgB,mBAAmB;CACpC;AAED,oBAAY,qBAAqB;IAC/B,cAAc,YAAY;IAC1B,YAAY,UAAU;IAGtB,GAAG,cAAc;IACjB,KAAK,gBAAgB;IACrB,OAAO,kBAAkB;IACzB,IAAI,eAAe;IACnB,IAAI,SAAS;IAGb,IAAI,eAAe;IACnB,MAAM,iBAAiB;IACvB,MAAM,iBAAiB;IAGvB,YAAY,YAAY;IACxB,UAAU,UAAU;IACpB,SAAS,gBAAgB;IAGzB,QAAQ,SAAS;IACjB,WAAW,WAAW;IACtB,aAAa,WAAW;IAGxB,eAAe,UAAU;IACzB,oBAAoB,eAAe;IACnC,oBAAoB,eAAe;IACnC,kBAAkB,aAAa;IAC/B,mBAAmB,cAAc;IACjC,mBAAmB,cAAc;IACjC,qBAAqB,eAAe;IACpC,qBAAqB,eAAe;IACpC,sBAAsB,gBAAgB;IACtC,yBAAyB,eAAe;IACxC,mBAAmB,aAAa;IAChC,mBAAmB,aAAa;IAGhC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,cAAc,WAAW;IACzB,YAAY,SAAS;IACrB,aAAa,0BAA0B;IACvC,cAAc,oBAAoB;IAClC,eAAe,YAAY;IAC3B,gBAAgB,cAAc;IAC9B,gBAAgB,cAAc;IAC9B,eAAe,UAAU;IACzB,gBAAgB,aAAa;CAC9B;AAED,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAmC7C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE;KAChC,GAAG,IAAI,eAAe,GAAG,mBAAmB;CA8M9C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAmC1D,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,+BA+D/C,CAAC;AAEJ,eAAO,MAAM,iCAAiC,EAAE,mBAAmB,EAIlE,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,mBAAmB,EAItE,CAAC;AAEF,eAAO,MAAM,0CAA0C,EAAE,mBAAmB,EAKzE,CAAC"}
1
+ {"version":3,"file":"filter-grouping.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filter-grouping.resources.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { COLUMN } from "@qrvey/utils";
2
+ import { FILTER_VALIDATOR, } from "./filter-validators.resources";
2
3
  export var FILTER_GROUPING;
3
4
  (function (FILTER_GROUPING) {
4
5
  FILTER_GROUPING["LOOKUP_DISPLAY"] = "display";
@@ -332,6 +333,39 @@ export const FILTER_GROUPING_INFO = {
332
333
  value: FILTER_GROUPING.USADDRESS_LINE_2,
333
334
  },
334
335
  };
336
+ /**
337
+ * List of columns allowed to set grouping filters
338
+ */
339
+ export const FILTER_GROUPING_COLUMNS = [
340
+ COLUMN.DATE,
341
+ COLUMN.DATE_FORMULA,
342
+ COLUMN.TEXTFIELD,
343
+ COLUMN.LONGTEXT,
344
+ COLUMN.IMAGEUPLOAD,
345
+ COLUMN.FILEUPLOAD,
346
+ COLUMN.EXPRESSION,
347
+ COLUMN.NAME,
348
+ COLUMN.USADDRESS,
349
+ COLUMN.ADDRESS,
350
+ COLUMN.LOOKUP,
351
+ ];
352
+ /**
353
+ * List of validator allowed to set grouping filters
354
+ */
355
+ export const FILTER_GROUPING_VALIDATORS = [
356
+ FILTER_VALIDATOR.EQUALS,
357
+ FILTER_VALIDATOR.NOT_EQUAL,
358
+ FILTER_VALIDATOR.BETWEEN_INCLUSIVE,
359
+ FILTER_VALIDATOR.BETWEEN_EXCLUSIVE,
360
+ FILTER_VALIDATOR.LESS_THAN,
361
+ FILTER_VALIDATOR.LESS_THAN_EQUAL,
362
+ FILTER_VALIDATOR.GREATER_THAN,
363
+ FILTER_VALIDATOR.GREATER_THAN_EQUAL,
364
+ FILTER_VALIDATOR.BEFORE,
365
+ FILTER_VALIDATOR.AFTER,
366
+ FILTER_VALIDATOR.BEFORE_ON,
367
+ FILTER_VALIDATOR.AFTER_ON,
368
+ ];
335
369
  export const FILTER_GROUPING_INFO_LIST = [
336
370
  FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_DISPLAY],
337
371
  FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_VALUE],
@@ -1,4 +1,4 @@
1
- import { IAggregateType, IColumnType, IFUData } from "@qrvey/utils";
1
+ import { IAggregateType, IColumnType, IFormulaType, IFUData } from "@qrvey/utils";
2
2
  import { IFilterGrouping } from "./filter-grouping.resources";
3
3
  import { IFilterLogic } from "./filter-logic.resources";
4
4
  import { IFilterOperator } from "./filter-operators.resources";
@@ -64,6 +64,10 @@ export interface IFilter {
64
64
  * More information for this filter
65
65
  */
66
66
  extras?: Record<string, unknown>;
67
+ /**
68
+ * Optional property for the formula type
69
+ */
70
+ formulaType?: IFormulaType;
67
71
  /**
68
72
  * Index of the selected Lookup display.
69
73
  * It is mandatory for Lookup column type.
@@ -1 +1 @@
1
- {"version":3,"file":"filters.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filters.resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.resources.d.ts","sourceRoot":"","sources":["../../src/resources/filters.resources.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { COLUMN } from "@qrvey/utils";
1
+ import { COLUMN, } from "@qrvey/utils";
2
2
  import { FILTER_OPERATOR } from "./filter-operators.resources";
3
3
  import { FILTER_SCOPE } from "./filter-scopes.resources";
4
4
  import { FILTER_VALIDATOR, } from "./filter-validators.resources";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/filters",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "description": "Helpers and logic for Filtering Data in Qrvey app",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -35,7 +35,7 @@
35
35
  "typescript": "5.4.5"
36
36
  },
37
37
  "dependencies": {
38
- "@qrvey/utils": "1.16.0-19",
38
+ "@qrvey/utils": "1.16.0-31",
39
39
  "dayjs": "1.11.10"
40
40
  },
41
41
  "scripts": {
@@ -46,6 +46,7 @@ import {
46
46
  FILTER_TYPE,
47
47
  IFilter,
48
48
  } from "../resources/filters.resources";
49
+ import { getFilterGrouping } from "../helpers/filter-builder.helpers";
49
50
 
50
51
  /**
51
52
  * Class to build new filters and manipulate ones.
@@ -728,7 +729,7 @@ export class FilterBuilder
728
729
  scope: filter.scope || DEFAULT_FILTER.scope,
729
730
  scopeId: filter.scopeId || DEFAULT_FILTER.scopeId,
730
731
  validator: filter.validator || DEFAULT_FILTER.validator,
731
- grouping: filter.grouping || DEFAULT_FILTER.grouping,
732
+ grouping: getFilterGrouping(filter, newSettings.strictValidation),
732
733
  selectAll: filter.selectAll ?? DEFAULT_FILTER.selectAll,
733
734
  values: filter.values || DEFAULT_FILTER.values,
734
735
  };
@@ -45,6 +45,7 @@ import {
45
45
  FILTER_SCOPES,
46
46
  IFilterScope,
47
47
  } from "../resources/filter-scopes.resources";
48
+ import { FilterValidation } from "./FilterValidation";
48
49
 
49
50
  /**
50
51
  * Class to search, build and get resources for the filters.
@@ -111,6 +112,48 @@ export class FilterResources {
111
112
  return groupinInfoList;
112
113
  }
113
114
 
115
+ /**
116
+ * Gets a grouping info by a column type and grouping
117
+ * @param type the object with column and formula type
118
+ * @param grouping the grouping type
119
+ * @returns the grouping info
120
+ */
121
+ public static getGroupingInfoByColumnType(
122
+ type: IColumnVsFormulaType,
123
+ grouping?: IFilterGrouping,
124
+ ): IFilterGroupingInfo | undefined {
125
+ if (grouping == null) return;
126
+
127
+ const groupingInfoList =
128
+ FilterResources.getGroupingInfoListByColumnType(type);
129
+ const groupingInfo = groupingInfoList.find(
130
+ (gInfo) => gInfo.value === grouping,
131
+ );
132
+ return groupingInfo == null ? groupingInfoList[0] : groupingInfo;
133
+ }
134
+
135
+ /**
136
+ * Gets a grouping info by a filter
137
+ * @param filter the filter object
138
+ * @returns the grouping info
139
+ */
140
+ public static getGroupingInfoByFilter(
141
+ filter: IFilter,
142
+ ): IFilterGroupingInfo | undefined {
143
+ if (
144
+ !FilterValidation.isGroupingValid(
145
+ filter.columnType as IColumnTypeWithGrouping,
146
+ filter.validator,
147
+ )
148
+ )
149
+ return;
150
+
151
+ return this.getGroupingInfoByColumnType(
152
+ { type: filter.columnType, formulaType: filter.formulaType },
153
+ filter.grouping,
154
+ );
155
+ }
156
+
114
157
  /**
115
158
  * Gets a collection of groupings info by a column type
116
159
  * - The resulting grouping info collection is an intersection of mulitple grouping info collections
@@ -1,4 +1,9 @@
1
1
  import { getFilterType } from "../helpers/getFilterType";
2
+ import {
3
+ FILTER_GROUPING_COLUMNS,
4
+ FILTER_GROUPING_VALIDATORS,
5
+ IColumnTypeWithGrouping,
6
+ } from "../resources/filter-grouping.resources";
2
7
  import {
3
8
  IFilterValueRange,
4
9
  IFilterValueRanking,
@@ -6,6 +11,7 @@ import {
6
11
  IFilterValueRelativeDate,
7
12
  } from "../resources/filter-values.resources";
8
13
  import { FILTER_TYPE, IFilter } from "../resources/filters.resources";
14
+ import { IFilterValidator } from "../resources";
9
15
 
10
16
  /**
11
17
  *
@@ -196,4 +202,20 @@ export class FilterValidation {
196
202
  ): boolean {
197
203
  return false;
198
204
  }
205
+
206
+ /**
207
+ * Validates if the grouping is valid to set for the given params
208
+ * @param columnType the column type
209
+ * @param validator the filter validator
210
+ * @returns true when the grouping is valid
211
+ */
212
+ public static isGroupingValid(
213
+ columnType: IColumnTypeWithGrouping,
214
+ validator: IFilterValidator,
215
+ ): boolean {
216
+ return (
217
+ FILTER_GROUPING_COLUMNS.includes(columnType) &&
218
+ FILTER_GROUPING_VALIDATORS.includes(validator)
219
+ );
220
+ }
199
221
  }
@@ -4,3 +4,4 @@ export * from "./FilterManager";
4
4
  export * from "./FilterResources";
5
5
  export * from "./FilterSearcher";
6
6
  export * from "./FilterValues";
7
+ export * from "./FilterValidation";
@@ -0,0 +1,26 @@
1
+ import { FilterResources } from "../classes/FilterResources";
2
+ import { IFilterGrouping } from "../resources/filter-grouping.resources";
3
+ import { DEFAULT_FILTER, IFilter } from "../resources/filters.resources";
4
+
5
+ /**
6
+ * Gets the filter grouping for a given filter.
7
+ * @param filter The filter to get the grouping for.
8
+ * @param strictValidation Flag to enable strict validation for filter creation.
9
+ * @returns The filter grouping.
10
+ */
11
+ export function getFilterGrouping(
12
+ filter: Partial<IFilter>,
13
+ strictValidation?: boolean,
14
+ ): IFilterGrouping | undefined {
15
+ return (
16
+ (strictValidation
17
+ ? FilterResources.getGroupingInfoByColumnType(
18
+ {
19
+ type: filter.columnType ?? DEFAULT_FILTER.columnType,
20
+ formulaType: filter.formulaType,
21
+ },
22
+ filter.grouping,
23
+ )?.value
24
+ : filter.grouping) || DEFAULT_FILTER.grouping
25
+ );
26
+ }
@@ -59,6 +59,9 @@ export function getFilterCreateSettings(
59
59
  automaticId:
60
60
  settings?.automaticId ?? DEFAULT_FILTER_CREATE_SETTINGS.automaticId,
61
61
  rawValues: settings?.rawValues ?? DEFAULT_FILTER_CREATE_SETTINGS.rawValues,
62
+ strictValidation:
63
+ settings?.strictValidation ??
64
+ DEFAULT_FILTER_CREATE_SETTINGS.strictValidation,
62
65
  };
63
66
  }
64
67
 
@@ -27,12 +27,20 @@ export interface IFilterCreateSettings {
27
27
  * flag to generate a new filter ID based on the filter info
28
28
  */
29
29
  automaticId?: boolean;
30
+ /**
31
+ * Values for creating filters
32
+ */
30
33
  rawValues?: IFilterInputValue[];
34
+ /**
35
+ * flag to enable strict validation for filter creation
36
+ */
37
+ strictValidation?: boolean;
31
38
  }
32
39
 
33
40
  export const DEFAULT_FILTER_CREATE_SETTINGS: IFilterCreateSettings = {
34
41
  automaticId: true,
35
42
  rawValues: [],
43
+ strictValidation: true,
36
44
  };
37
45
 
38
46
  /**
@@ -1,4 +1,8 @@
1
1
  import { COLUMN, IGeneralInfo } from "@qrvey/utils";
2
+ import {
3
+ FILTER_VALIDATOR,
4
+ IFilterValidator,
5
+ } from "./filter-validators.resources";
2
6
 
3
7
  export type IFilterGrouping = FILTER_GROUPING;
4
8
 
@@ -370,6 +374,41 @@ export const FILTER_GROUPING_INFO: {
370
374
  },
371
375
  };
372
376
 
377
+ /**
378
+ * List of columns allowed to set grouping filters
379
+ */
380
+ export const FILTER_GROUPING_COLUMNS: IColumnTypeWithGrouping[] = [
381
+ COLUMN.DATE,
382
+ COLUMN.DATE_FORMULA,
383
+ COLUMN.TEXTFIELD,
384
+ COLUMN.LONGTEXT,
385
+ COLUMN.IMAGEUPLOAD,
386
+ COLUMN.FILEUPLOAD,
387
+ COLUMN.EXPRESSION,
388
+ COLUMN.NAME,
389
+ COLUMN.USADDRESS,
390
+ COLUMN.ADDRESS,
391
+ COLUMN.LOOKUP,
392
+ ];
393
+
394
+ /**
395
+ * List of validator allowed to set grouping filters
396
+ */
397
+ export const FILTER_GROUPING_VALIDATORS: IFilterValidator[] = [
398
+ FILTER_VALIDATOR.EQUALS,
399
+ FILTER_VALIDATOR.NOT_EQUAL,
400
+ FILTER_VALIDATOR.BETWEEN_INCLUSIVE,
401
+ FILTER_VALIDATOR.BETWEEN_EXCLUSIVE,
402
+ FILTER_VALIDATOR.LESS_THAN,
403
+ FILTER_VALIDATOR.LESS_THAN_EQUAL,
404
+ FILTER_VALIDATOR.GREATER_THAN,
405
+ FILTER_VALIDATOR.GREATER_THAN_EQUAL,
406
+ FILTER_VALIDATOR.BEFORE,
407
+ FILTER_VALIDATOR.AFTER,
408
+ FILTER_VALIDATOR.BEFORE_ON,
409
+ FILTER_VALIDATOR.AFTER_ON,
410
+ ];
411
+
373
412
  export const FILTER_GROUPING_INFO_LIST: IFilterGroupingInfo[] = [
374
413
  FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_DISPLAY],
375
414
  FILTER_GROUPING_INFO[FILTER_GROUPING.LOOKUP_VALUE],
@@ -1,4 +1,10 @@
1
- import { COLUMN, IAggregateType, IColumnType, IFUData } from "@qrvey/utils";
1
+ import {
2
+ COLUMN,
3
+ IAggregateType,
4
+ IColumnType,
5
+ IFormulaType,
6
+ IFUData,
7
+ } from "@qrvey/utils";
2
8
 
3
9
  import { IFilterGrouping } from "./filter-grouping.resources";
4
10
  import { IFilterLogic } from "./filter-logic.resources";
@@ -69,6 +75,10 @@ export interface IFilter {
69
75
  * More information for this filter
70
76
  */
71
77
  extras?: Record<string, unknown>;
78
+ /**
79
+ * Optional property for the formula type
80
+ */
81
+ formulaType?: IFormulaType;
72
82
  /**
73
83
  * Index of the selected Lookup display.
74
84
  * It is mandatory for Lookup column type.