@qrvey/filters 0.0.13 → 0.0.15

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 (67) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/classes/FilterAdapter.d.ts +2 -1
  3. package/dist/cjs/classes/FilterAdapter.d.ts.map +1 -1
  4. package/dist/cjs/classes/FilterAdapter.js +8 -6
  5. package/dist/cjs/classes/FilterManager.d.ts +8 -3
  6. package/dist/cjs/classes/FilterManager.d.ts.map +1 -1
  7. package/dist/cjs/classes/FilterManager.js +14 -6
  8. package/dist/cjs/classes/FilterSettings.d.ts +1 -0
  9. package/dist/cjs/classes/FilterSettings.d.ts.map +1 -0
  10. package/dist/cjs/classes/FilterSettings.js +1 -0
  11. package/dist/cjs/helpers/filter-adapt.helpers.d.ts +7 -13
  12. package/dist/cjs/helpers/filter-adapt.helpers.d.ts.map +1 -1
  13. package/dist/cjs/helpers/filter-adapt.helpers.js +31 -183
  14. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts +26 -0
  15. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts.map +1 -0
  16. package/dist/cjs/helpers/filter-adapt.legacy.helpers.js +229 -0
  17. package/dist/cjs/helpers/filter-adapt.logic.helpers.js +1 -1
  18. package/dist/cjs/resources/filter-logic.resources.d.ts +0 -4
  19. package/dist/cjs/resources/filter-logic.resources.d.ts.map +1 -1
  20. package/dist/cjs/resources/filter-panel.interfaces.d.ts +57 -4
  21. package/dist/cjs/resources/filter-panel.interfaces.d.ts.map +1 -1
  22. package/dist/cjs/resources/filter-settings.resources.d.ts +357 -0
  23. package/dist/cjs/resources/filter-settings.resources.d.ts.map +1 -0
  24. package/dist/cjs/resources/filter-settings.resources.js +2 -0
  25. package/dist/cjs/resources/filter-visual.resources.d.ts +0 -8
  26. package/dist/cjs/resources/filter-visual.resources.d.ts.map +1 -1
  27. package/dist/cjs/resources/filters.resources.d.ts +2 -0
  28. package/dist/cjs/resources/filters.resources.d.ts.map +1 -1
  29. package/dist/classes/FilterAdapter.d.ts +2 -1
  30. package/dist/classes/FilterAdapter.d.ts.map +1 -1
  31. package/dist/classes/FilterAdapter.js +7 -5
  32. package/dist/classes/FilterManager.d.ts +8 -3
  33. package/dist/classes/FilterManager.d.ts.map +1 -1
  34. package/dist/classes/FilterManager.js +14 -6
  35. package/dist/classes/FilterSettings.d.ts +1 -0
  36. package/dist/classes/FilterSettings.d.ts.map +1 -0
  37. package/dist/classes/FilterSettings.js +1 -0
  38. package/dist/helpers/filter-adapt.helpers.d.ts +7 -13
  39. package/dist/helpers/filter-adapt.helpers.d.ts.map +1 -1
  40. package/dist/helpers/filter-adapt.helpers.js +30 -181
  41. package/dist/helpers/filter-adapt.legacy.helpers.d.ts +26 -0
  42. package/dist/helpers/filter-adapt.legacy.helpers.d.ts.map +1 -0
  43. package/dist/helpers/filter-adapt.legacy.helpers.js +223 -0
  44. package/dist/helpers/filter-adapt.logic.helpers.js +1 -1
  45. package/dist/resources/filter-logic.resources.d.ts +0 -4
  46. package/dist/resources/filter-logic.resources.d.ts.map +1 -1
  47. package/dist/resources/filter-panel.interfaces.d.ts +57 -4
  48. package/dist/resources/filter-panel.interfaces.d.ts.map +1 -1
  49. package/dist/resources/filter-settings.resources.d.ts +357 -0
  50. package/dist/resources/filter-settings.resources.d.ts.map +1 -0
  51. package/dist/resources/filter-settings.resources.js +1 -0
  52. package/dist/resources/filter-visual.resources.d.ts +0 -8
  53. package/dist/resources/filter-visual.resources.d.ts.map +1 -1
  54. package/dist/resources/filters.resources.d.ts +2 -0
  55. package/dist/resources/filters.resources.d.ts.map +1 -1
  56. package/package.json +1 -1
  57. package/src/classes/FilterAdapter.ts +13 -7
  58. package/src/classes/FilterManager.ts +13 -4
  59. package/src/helpers/filter-adapt.helpers.ts +36 -242
  60. package/src/helpers/filter-adapt.legacy.helpers.ts +296 -0
  61. package/src/helpers/filter-adapt.logic.helpers.ts +1 -1
  62. package/src/resources/filter-logic.resources.ts +0 -4
  63. package/src/resources/filter-panel.interfaces.ts +58 -4
  64. package/src/resources/filter-visual.resources.ts +0 -8
  65. package/src/resources/filters.resources.ts +2 -0
  66. package/tests/mock/filters-adapter.mock.ts +0 -7
  67. package/tests/mock/filters-interactive-table.mock.ts +14 -18
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.legacyVisualToInteractiveTable = exports.legacyVisualToFilter = exports.filterToLegacyVisual = void 0;
4
+ const utils_1 = require("@qrvey/utils");
5
+ const utils_helpers_1 = require("./utils.helpers");
6
+ const FilterBuilder_1 = require("../classes/FilterBuilder");
7
+ /**
8
+ * Generates a legacy visual filter structure from the filter collection.
9
+ * @param filters Array of filters
10
+ * @param datasets Array of the dataset info
11
+ * @param interactiveTable table of interaction properties for each section
12
+ * @returns a Filter Data structure
13
+ */
14
+ function filterToLegacyVisual(filters, datasets = [], interactiveTable) {
15
+ if ((0, utils_1.isEmpty)(filters))
16
+ return;
17
+ return {
18
+ enabled: true,
19
+ section: utils_1.FILTER_SECTION.DX,
20
+ version: "2.1",
21
+ scopes: buildLegacyScopes(filters, datasets, interactiveTable),
22
+ };
23
+ }
24
+ exports.filterToLegacyVisual = filterToLegacyVisual;
25
+ /**
26
+ * Generates a legacy visual filter structure from the filter collection.
27
+ * @param filterData the legacy filter
28
+ * @returns a Filter collection
29
+ */
30
+ function legacyVisualToFilter(filterData) {
31
+ if ((0, utils_1.isEmpty)(filterData) || (0, utils_1.isEmpty)(filterData?.scopes))
32
+ return [];
33
+ const filters = [];
34
+ filterData.scopes.forEach((scope) => {
35
+ if (scope.datasets.length === 0)
36
+ return;
37
+ scope.datasets.forEach((dataset) => {
38
+ if (dataset.filters.length === 0)
39
+ return;
40
+ dataset.filters.forEach((filter) => {
41
+ const fFilter = FilterBuilder_1.FilterBuilder.createFilter({
42
+ aggregateType: filter.column.aggregate,
43
+ collapsed: filter.collapsed,
44
+ columnId: filter.column.id,
45
+ columnType: filter.column.type,
46
+ customLabel: filter.extras.filterLabel,
47
+ datasetId: dataset.qrveyid,
48
+ deletable: filter.deletable,
49
+ displayed: filter.displayed,
50
+ editable: filter.editable,
51
+ enableable: filter.enableable,
52
+ enabled: filter.enabled,
53
+ extras: filter.extras,
54
+ grouping: filter.property,
55
+ id: "",
56
+ lookupDisplayIndex: filter.lookupDisplayIndex,
57
+ operator: filter.operator,
58
+ scope: scope.scope,
59
+ scopeId: scope.scopeid,
60
+ section: filterData.section,
61
+ selectAll: filter.selectAll,
62
+ validator: filter.validator,
63
+ values: filter.values,
64
+ });
65
+ filters.push(fFilter);
66
+ });
67
+ });
68
+ });
69
+ return filters;
70
+ }
71
+ exports.legacyVisualToFilter = legacyVisualToFilter;
72
+ /**
73
+ * Gets the Interactive Table object from the legacy visual filters
74
+ * If an interactive table object is given, it will be merged with the new one
75
+ * @param legacyVisual the legacy visual filters
76
+ * @param interactiveTable the interactive table object
77
+ * @returns the interactive table object
78
+ */
79
+ function legacyVisualToInteractiveTable(legacyVisual, interactiveTable) {
80
+ if ((0, utils_1.isEmpty)(legacyVisual) || (0, utils_1.isEmpty)(legacyVisual?.scopes))
81
+ return;
82
+ const newInteractiveTable = {
83
+ ...interactiveTable,
84
+ interactScopes: [],
85
+ interactDatasets: [],
86
+ };
87
+ legacyVisual.scopes.forEach((scope) => {
88
+ newInteractiveTable.interactScopes.push({
89
+ collapsed: scope.collapsed,
90
+ scope: scope.scope,
91
+ scopeId: scope.scopeid,
92
+ });
93
+ if (scope.datasets.length === 0)
94
+ return;
95
+ scope.datasets.forEach((dataset) => {
96
+ newInteractiveTable.interactDatasets.push({
97
+ collapsed: dataset.collapsed,
98
+ scope: scope.scope,
99
+ scopeId: scope.scopeid,
100
+ datasetId: dataset.qrveyid,
101
+ });
102
+ });
103
+ });
104
+ if ((0, utils_1.isEmpty)(newInteractiveTable.interactScopes))
105
+ delete newInteractiveTable.interactScopes;
106
+ if ((0, utils_1.isEmpty)(newInteractiveTable.interactDatasets))
107
+ delete newInteractiveTable.interactDatasets;
108
+ return newInteractiveTable;
109
+ }
110
+ exports.legacyVisualToInteractiveTable = legacyVisualToInteractiveTable;
111
+ /**
112
+ * Gets a collection of legacy scopes for the legacy visual filters.
113
+ * The scopes are organized by scope types and IDs
114
+ * Also, adds and organizes filters by datasets
115
+ * @param filters Collection of filters
116
+ * @param datasets Array of the dataset info
117
+ * @param interactiveTable table of interaction properties for each section
118
+ * @returns an array of visual scopes.
119
+ */
120
+ function buildLegacyScopes(filters = [], datasets = [], interactiveTable) {
121
+ return filters.reduce((scopes, filter) => {
122
+ const datasetInfo = (0, utils_helpers_1.getDatasetInfo)({ columnId: filter.columnId, datasetId: filter.datasetId }, datasets);
123
+ const uiFilter = buildLegacyFilter(filter, datasetInfo);
124
+ const uiDataset = buildLegacyDataset(filter, datasetInfo, interactiveTable);
125
+ const uiScope = buildLegacyScope(filter, interactiveTable);
126
+ const scopeIndex = scopes.findIndex((sc) => sc.scope === filter.scope && sc.scopeid === filter.scopeId);
127
+ const datasetIndex = scopeIndex > -1
128
+ ? scopes[scopeIndex].datasets.findIndex((dt) => dt.qrveyid === filter.datasetId)
129
+ : -1;
130
+ if (scopeIndex === -1) {
131
+ scopes.push({
132
+ ...uiScope,
133
+ datasets: [{ ...uiDataset, filters: [uiFilter] }],
134
+ });
135
+ }
136
+ else if (datasetIndex === -1) {
137
+ scopes[scopeIndex].datasets.push({ ...uiDataset, filters: [uiFilter] });
138
+ }
139
+ else {
140
+ scopes[scopeIndex].datasets[datasetIndex].filters.push(uiFilter);
141
+ }
142
+ return scopes;
143
+ }, []);
144
+ }
145
+ /**
146
+ * Gets an legacy scope structure for the legacy filter data
147
+ * @param filter the filter
148
+ * @param interactiveTable table of interaction properties for each section
149
+ * @returns the legacy visual scope structure
150
+ */
151
+ function buildLegacyScope(filter, interactiveTable) {
152
+ const { collapsed } = interactiveTable?.interactScopes?.find((interactive) => interactive.scope === filter.scope &&
153
+ interactive.scopeId === filter.scopeId) ?? {};
154
+ return {
155
+ collapsed: collapsed ?? false,
156
+ datasets: [],
157
+ displayed: true,
158
+ enabled: true,
159
+ scope: filter.scope,
160
+ scopeid: filter.scopeId,
161
+ };
162
+ }
163
+ /**
164
+ * Gets an legacy dataset structure for the legacy visual filter
165
+ * @param filter the filter
166
+ * @param dataset the dataset info
167
+ * @param interactiveTable table of interaction properties for each section
168
+ * @returns an legacy dataset structure
169
+ */
170
+ function buildLegacyDataset(filter, dataset, interactiveTable) {
171
+ const { collapsed } = interactiveTable?.interactDatasets?.find((interactive) => interactive.datasetId === filter.datasetId) ?? {};
172
+ return {
173
+ collapsed: collapsed ?? false,
174
+ qrveyid: filter.datasetId,
175
+ label: dataset?.label || "",
176
+ displayed: true,
177
+ enabled: true,
178
+ filters: [],
179
+ };
180
+ }
181
+ /**
182
+ * Gets an legacy filter structure for the legacy visual filter
183
+ * @param filter a UI structure filter
184
+ * @param dataset the dataset info
185
+ * @returns an legacy filter structure
186
+ */
187
+ function buildLegacyFilter(filter, dataset) {
188
+ const columnInfo = dataset == null
189
+ ? undefined
190
+ : (0, utils_helpers_1.getColumnInfo)({ columnId: filter.columnId, datasetId: filter.datasetId }, [dataset]);
191
+ return {
192
+ collapsed: filter.collapsed ?? false,
193
+ column: {
194
+ id: filter.columnId,
195
+ formulaType: columnInfo?.formulaType,
196
+ label: columnInfo?.label || "",
197
+ qrveyid: filter.datasetId,
198
+ aggregate: filter.aggregateType,
199
+ type: filter.columnType,
200
+ },
201
+ deletable: filter.deletable,
202
+ displayed: filter.displayed,
203
+ editable: filter.editable,
204
+ enableable: filter.enableable,
205
+ enabled: filter.enabled,
206
+ filterid: filter.id,
207
+ extras: {
208
+ ...filter.extras,
209
+ filterLabel: filter.customLabel,
210
+ panelid: utils_1.FILTER_SCOPE.CHART === filter.scope ? filter.scopeId : undefined,
211
+ info: !(0, utils_1.isEmpty)(filter.extras?.info)
212
+ ? {
213
+ icon: filter.icon || "",
214
+ label: filter.iconTooltip || "",
215
+ }
216
+ : undefined,
217
+ scope: filter.scope,
218
+ scopeid: filter.scopeId,
219
+ section: filter.section,
220
+ },
221
+ lookupDisplayIndex: filter.lookupDisplayIndex,
222
+ nullValues: false,
223
+ operator: filter.operator,
224
+ property: filter.grouping,
225
+ selectAll: filter.selectAll,
226
+ validator: filter.validator,
227
+ values: filter.values,
228
+ };
229
+ }
@@ -49,7 +49,6 @@ exports.visualToLogic = visualToLogic;
49
49
  */
50
50
  function buildLogic(scope) {
51
51
  return {
52
- enabled: scope.enabled,
53
52
  filters: [],
54
53
  scope: scope.scope,
55
54
  scopeid: scope.id,
@@ -59,6 +58,7 @@ function buildLogic(scope) {
59
58
  * Gets the Logic Filters collection based on filters
60
59
  * @param filters the filter collection
61
60
  * @param groupColumns a flag to know if the
61
+ * @returns the logic filter collection
62
62
  */
63
63
  function buildLogicFilters(filters, groupColumns = false) {
64
64
  const expression = numericExpression(filters, groupColumns);
@@ -7,10 +7,6 @@ export type IFilterLogicValidator = FILTER_LOGIC_VALIDATOR;
7
7
  * The structure of the logic
8
8
  */
9
9
  export interface IFilterLogic {
10
- /**
11
- * Flag to apply the logic.
12
- */
13
- enabled: boolean;
14
10
  /**
15
11
  * The filter structure
16
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"filter-logic.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-logic.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,kBAAkB,EAAE,GAAG,sBAAsB,EAAE,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACnC,kCAAkC,GAClC,gCAAgC,GAChC,mCAAmC,GACnC,kCAAkC,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,wBAAwB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,MAAM,UAAU;IAChB,SAAS,cAAc;IACvB,QAAQ,YAAY;IACpB,WAAW,gBAAgB;IAC3B,SAAS,aAAa;IACtB,YAAY,iBAAiB;IAC7B,WAAW,eAAe;IAC1B,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,eAAe,uBAAuB;IACtC,YAAY,iBAAiB;IAC7B,kBAAkB,0BAA0B;IAC5C,OAAO,aAAa;IACpB,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,QAAQ,aAAa;CACtB"}
1
+ {"version":3,"file":"filter-logic.resources.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-logic.resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,kBAAkB,EAAE,GAAG,sBAAsB,EAAE,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACnC,kCAAkC,GAClC,gCAAgC,GAChC,mCAAmC,GACnC,kCAAkC,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,wBAAwB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,MAAM,UAAU;IAChB,SAAS,cAAc;IACvB,QAAQ,YAAY;IACpB,WAAW,gBAAgB;IAC3B,SAAS,aAAa;IACtB,YAAY,iBAAiB;IAC7B,WAAW,eAAe;IAC1B,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,eAAe,uBAAuB;IACtC,YAAY,iBAAiB;IAC7B,kBAAkB,0BAA0B;IAC5C,OAAO,aAAa;IACpB,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,QAAQ,aAAa;CACtB"}
@@ -1,8 +1,38 @@
1
1
  import { IFilterScope } from "./filter-scopes.resources";
2
2
  import { IFilter } from "./filters.resources";
3
3
  export interface IFilterPanelInteractiveTable {
4
- datasets: IFilterPanelInteractiveDatasetTable[];
5
- scopes: IFilterPanelInteractiveScopeTable[];
4
+ /**
5
+ * Collection of the interactivity Datasets settings
6
+ */
7
+ interactDatasets?: IFilterPanelInteractiveDatasetTable[];
8
+ /**
9
+ * Collection of the interactivity Scope settings
10
+ */
11
+ interactScopes?: IFilterPanelInteractiveScopeTable[];
12
+ /**
13
+ * Scopes Settings
14
+ */
15
+ scopesSettings?: IFilterPanelInteractiveScopeSetting[];
16
+ /**
17
+ * Displays/Hides the panel (Interact)
18
+ */
19
+ displayed?: boolean;
20
+ /**
21
+ * Collapses/Expands the Panel
22
+ */
23
+ collapsed?: boolean;
24
+ /**
25
+ * Allows to display the related color for each scope
26
+ */
27
+ colorized?: boolean;
28
+ /**
29
+ * The Panel Default View (Interact)
30
+ */
31
+ defaultCollapsed?: boolean;
32
+ /**
33
+ * Displays/Hides the icons linked with each scope
34
+ */
35
+ iconsDisplayed?: boolean;
6
36
  }
7
37
  /**
8
38
  * Structure for the resulting conversion of the UI filter
@@ -12,16 +42,39 @@ export interface IFilterUIToFilter {
12
42
  interactiveTable?: IFilterPanelInteractiveTable;
13
43
  }
14
44
  interface IFilterPanelInteractiveGeneral {
45
+ /**
46
+ * Flag to collapse or expand the related section
47
+ */
15
48
  collapsed: boolean;
16
- enabled: boolean;
17
- displayed: boolean;
18
49
  }
19
50
  interface IFilterPanelInteractiveScopeTable extends IFilterPanelInteractiveGeneral {
51
+ /**
52
+ * The Scope ID
53
+ */
20
54
  scopeId?: string;
55
+ /**
56
+ * The Scope Type
57
+ */
21
58
  scope: IFilterScope;
22
59
  }
23
60
  interface IFilterPanelInteractiveDatasetTable extends IFilterPanelInteractiveScopeTable {
61
+ /**
62
+ * The Dataset ID
63
+ */
24
64
  datasetId: string;
25
65
  }
66
+ /**
67
+ * Structure for a single scope settings
68
+ */
69
+ interface IFilterPanelInteractiveScopeSetting {
70
+ /**
71
+ * Hexadecimal/Rgba/Name color to be applied in the scope
72
+ */
73
+ color?: string;
74
+ /**
75
+ * The Scope Type
76
+ */
77
+ scope: IFilterScope;
78
+ }
26
79
  export {};
27
80
  //# sourceMappingURL=filter-panel.interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-panel.interfaces.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-panel.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,mCAAmC,EAAE,CAAC;IAChD,MAAM,EAAE,iCAAiC,EAAE,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;CACjD;AAED,UAAU,8BAA8B;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iCACR,SAAQ,8BAA8B;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,mCACR,SAAQ,iCAAiC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"filter-panel.interfaces.d.ts","sourceRoot":"","sources":["../../../src/resources/filter-panel.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,gBAAgB,CAAC,EAAE,mCAAmC,EAAE,CAAC;IACzD;;OAEG;IACH,cAAc,CAAC,EAAE,iCAAiC,EAAE,CAAC;IACrD;;OAEG;IACH,cAAc,CAAC,EAAE,mCAAmC,EAAE,CAAC;IACvD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;CACjD;AAED,UAAU,8BAA8B;IACtC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iCACR,SAAQ,8BAA8B;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,mCACR,SAAQ,iCAAiC;IACzC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,mCAAmC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB"}