@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.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/classes/FilterBuilder.d.ts.map +1 -1
- package/dist/cjs/classes/FilterBuilder.js +2 -1
- package/dist/cjs/classes/FilterResources.d.ts +13 -0
- package/dist/cjs/classes/FilterResources.d.ts.map +1 -1
- package/dist/cjs/classes/FilterResources.js +24 -0
- package/dist/cjs/classes/FilterValidation.d.ts +9 -0
- package/dist/cjs/classes/FilterValidation.d.ts.map +1 -1
- package/dist/cjs/classes/FilterValidation.js +11 -0
- package/dist/cjs/classes/index.d.ts +1 -0
- package/dist/cjs/classes/index.d.ts.map +1 -1
- package/dist/cjs/classes/index.js +1 -0
- package/dist/cjs/helpers/filter-builder.helpers.d.ts +10 -0
- package/dist/cjs/helpers/filter-builder.helpers.d.ts.map +1 -0
- package/dist/cjs/helpers/filter-builder.helpers.js +20 -0
- package/dist/cjs/helpers/filter-settings.helpers.d.ts.map +1 -1
- package/dist/cjs/helpers/filter-settings.helpers.js +2 -0
- package/dist/cjs/resources/filter-functions.resources.d.ts +7 -0
- package/dist/cjs/resources/filter-functions.resources.d.ts.map +1 -1
- package/dist/cjs/resources/filter-functions.resources.js +1 -0
- package/dist/cjs/resources/filter-grouping.resources.d.ts +9 -0
- package/dist/cjs/resources/filter-grouping.resources.d.ts.map +1 -1
- package/dist/cjs/resources/filter-grouping.resources.js +35 -1
- package/dist/cjs/resources/filters.resources.d.ts +5 -1
- package/dist/cjs/resources/filters.resources.d.ts.map +1 -1
- package/dist/classes/FilterBuilder.d.ts.map +1 -1
- package/dist/classes/FilterBuilder.js +2 -1
- package/dist/classes/FilterResources.d.ts +13 -0
- package/dist/classes/FilterResources.d.ts.map +1 -1
- package/dist/classes/FilterResources.js +24 -0
- package/dist/classes/FilterValidation.d.ts +9 -0
- package/dist/classes/FilterValidation.d.ts.map +1 -1
- package/dist/classes/FilterValidation.js +11 -0
- package/dist/classes/index.d.ts +1 -0
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +1 -0
- package/dist/helpers/filter-builder.helpers.d.ts +10 -0
- package/dist/helpers/filter-builder.helpers.d.ts.map +1 -0
- package/dist/helpers/filter-builder.helpers.js +16 -0
- package/dist/helpers/filter-settings.helpers.d.ts.map +1 -1
- package/dist/helpers/filter-settings.helpers.js +2 -0
- package/dist/resources/filter-functions.resources.d.ts +7 -0
- package/dist/resources/filter-functions.resources.d.ts.map +1 -1
- package/dist/resources/filter-functions.resources.js +1 -0
- package/dist/resources/filter-grouping.resources.d.ts +9 -0
- package/dist/resources/filter-grouping.resources.d.ts.map +1 -1
- package/dist/resources/filter-grouping.resources.js +34 -0
- package/dist/resources/filters.resources.d.ts +5 -1
- package/dist/resources/filters.resources.d.ts.map +1 -1
- package/dist/resources/filters.resources.js +1 -1
- package/package.json +2 -2
- package/src/classes/FilterBuilder.ts +2 -1
- package/src/classes/FilterResources.ts +43 -0
- package/src/classes/FilterValidation.ts +22 -0
- package/src/classes/index.ts +1 -0
- package/src/helpers/filter-builder.helpers.ts +26 -0
- package/src/helpers/filter-settings.helpers.ts +3 -0
- package/src/resources/filter-functions.resources.ts +8 -0
- package/src/resources/filter-grouping.resources.ts +39 -0
- 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":"AAcA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EAErB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,YAAY,EAIb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAGL,OAAO,EACR,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EAErB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,YAAY,EAIb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAGL,OAAO,EACR,MAAM,gCAAgC,CAAC;AAGxC;;GAEG;AACH,qBAAa,aACX,YACE,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB;IAWP,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE;IATxC;;OAEG;IACH,OAAO,CAAC,YAAY,CAAiB;IAErC;;;OAGG;gBACmB,OAAO,GAAE,OAAO,EAAO;IAK7C;;;;OAIG;IAEH;;;;;;;OAOG;IACI,WAAW,CAChB,UAAU,EAAE,OAAO,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,4BAA4B;IA2B/B;;;;;;;;;;OAUG;IACI,SAAS,CACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,0BAA0B;IA+C7B;;;;;OAKG;IACI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,0BAA0B;IAiB5E;;;;;OAKG;IACI,SAAS,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,YAAY,EAAE,GACrB,0BAA0B;IAyB7B;;;;OAIG;IAEH;;;;;OAKG;IACI,cAAc,CACnB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,4BAA4B;IAgB/B;;;;OAIG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,4BAA4B;IAuBlE;;;;OAIG;IACI,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,0BAA0B;IAiB3D;;;;;OAKG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,0BAA0B;IAsBzE;;;;;OAKG;IACI,YAAY,CACjB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EAAE,GAChB,0BAA0B;IA6B7B;;;;OAIG;IAEH;;;;;;OAMG;IACI,YAAY,CACjB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC3B,QAAQ,CAAC,EAAE,0BAA0B,GACpC,4BAA4B;IAgC/B;;;;;;OAMG;IACI,UAAU,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,QAAQ,CAAC,EAAE,0BAA0B,GACpC,0BAA0B;IAyB7B;;;;;;OAMG;IACH,SAAS,CACP,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,GACZ,0BAA0B;IAsB7B;;;;;;OAMG;IACI,UAAU,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,GAChB,0BAA0B;IA6B7B;;;;OAIG;IAEH;;;;;OAKG;IACI,WAAW,CAChB,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,0BAA0B;IAqC7B;;;;;OAKG;IACI,aAAa,CAClB,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,4BAA4B;IA2B/B;;;;;OAKG;IACI,WAAW,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,GACjC,0BAA0B;IAiD7B;;;;OAIG;IAEH;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,OAAO;IA0CV;;;;;;;OAOG;IACI,eAAe,CACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,QAAQ,CAAC,EAAE,2BAA2B,GACrC,4BAA4B;IAsB/B;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;OAIG;IAEH;;;OAGG;IACI,UAAU,IAAI,OAAO,EAAE;IAI9B;;;;OAIG;IAEH;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;CAI5C"}
|
|
@@ -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
|
|
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;
|
|
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":"
|
|
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;
|
|
@@ -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,
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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":"AAAA,OAAO,
|
|
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":"AAcA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EAErB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,YAAY,EAIb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAGL,OAAO,EACR,MAAM,gCAAgC,CAAC;
|
|
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
|
|
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;
|
|
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":"
|
|
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
|
}
|
package/dist/classes/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/classes/index.js
CHANGED
|
@@ -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,
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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":"AAAA,OAAO,
|
|
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.
|
|
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-
|
|
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
|
|
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
|
}
|
package/src/classes/index.ts
CHANGED
|
@@ -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 {
|
|
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.
|