@qrvey/widget-configurability 0.0.0-beta.4430 → 0.0.0-beta.4482

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 (36) hide show
  1. package/dist/cjs/constants/configs.js +29 -1
  2. package/dist/cjs/constants/configs.js.map +1 -1
  3. package/dist/cjs/constants/structure.constants.js +14 -1
  4. package/dist/cjs/constants/structure.constants.js.map +1 -1
  5. package/dist/cjs/doc/dashboard.structure.doc.js +8 -0
  6. package/dist/cjs/doc/dashboard.structure.doc.js.map +1 -1
  7. package/dist/cjs/doc/swagger.optional.js +3 -1
  8. package/dist/cjs/doc/swagger.optional.js.map +1 -1
  9. package/dist/cjs/index.js +28 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/models/scope.models.js +3 -0
  12. package/dist/cjs/models/scope.models.js.map +1 -0
  13. package/dist/cjs/structural-manager.js +69 -5
  14. package/dist/cjs/structural-manager.js.map +1 -1
  15. package/dist/cjs/structures/chart-builder.structure.v1.js +18 -0
  16. package/dist/cjs/structures/chart-builder.structure.v1.js.map +1 -0
  17. package/dist/cjs/structures/chart-gallery.structure.v1.js +18 -0
  18. package/dist/cjs/structures/chart-gallery.structure.v1.js.map +1 -0
  19. package/dist/cjs/structures/chart-panel.structure.v1.js +71 -0
  20. package/dist/cjs/structures/chart-panel.structure.v1.js.map +1 -0
  21. package/dist/cjs/structures/dashboard.structure.v1.js +116 -13
  22. package/dist/cjs/structures/dashboard.structure.v1.js.map +1 -1
  23. package/dist/cjs/structures/download-modal.structure.v1.js +33 -0
  24. package/dist/cjs/structures/download-modal.structure.v1.js.map +1 -0
  25. package/dist/cjs/utils/defaults.helpers.js +26 -6
  26. package/dist/cjs/utils/defaults.helpers.js.map +1 -1
  27. package/dist/cjs/utils/download-modal.helpers.js +27 -0
  28. package/dist/cjs/utils/download-modal.helpers.js.map +1 -0
  29. package/dist/cjs/utils/scope.helpers.js +88 -0
  30. package/dist/cjs/utils/scope.helpers.js.map +1 -0
  31. package/dist/cjs/utils/structural.helpers.js +52 -29
  32. package/dist/cjs/utils/structural.helpers.js.map +1 -1
  33. package/dist/esm/index.mjs +655 -170
  34. package/dist/esm/index.mjs.map +1 -1
  35. package/dist/types/index.d.ts +135 -5
  36. package/package.json +8 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getWidgetStructure = getWidgetStructure;
4
4
  exports.calculateViewMap = calculateViewMap;
5
+ exports.calculateRootDefaults = calculateRootDefaults;
5
6
  const defaults_helpers_1 = require("./defaults.helpers");
6
7
  const merge_helpers_1 = require("./merge.helpers");
7
8
  const structure_constants_1 = require("../constants/structure.constants");
@@ -12,48 +13,60 @@ const structure_constants_1 = require("../constants/structure.constants");
12
13
  * @param validationMap
13
14
  * @returns object representing the view map for the widget
14
15
  */
15
- function getWidgetStructure(config, customization, validationMap) {
16
- return calculateViewMap(config.baseStructure, customization, validationMap);
16
+ function getWidgetStructure(config, customization, validationMap, options) {
17
+ return calculateViewMap(config.baseStructure, customization, validationMap, Object.assign(Object.assign({}, options), { keepInheritance: config.keepInheritance }));
17
18
  }
18
- function calculateViewMap(config, customization, validationMap) {
19
+ function calculateViewMap(config, customization, validationMap, options) {
19
20
  const permissionMap = {};
21
+ const keepAliases = options === null || options === void 0 ? void 0 : options.keepInheritance;
20
22
  if (config.views) {
21
23
  for (const view in config.views) {
22
- Object.assign(permissionMap, calculateSpecificViewMap(view, config, customization, validationMap));
24
+ Object.assign(permissionMap, calculateSpecificViewMap(view, config, customization, validationMap, options));
23
25
  }
24
26
  }
25
27
  else {
26
- const customDefaults = calculateCustomDefaults(customization, undefined, validationMap);
28
+ const customDefaults = calculateCustomDefaults(customization, undefined, validationMap, options === null || options === void 0 ? void 0 : options.sanitize);
27
29
  const prevDefaults = config.defaults;
28
30
  const submodules = calculateSubmodules(config, customization);
29
31
  if (submodules) {
30
32
  permissionMap.subModules = submodules;
31
33
  }
32
- const conditionMaps = calculateConditions(config, customization);
34
+ const conditionMaps = calculateConditions(config, customization, undefined, keepAliases);
33
35
  Object.assign(permissionMap, calculatePermissionMap(config, customization, {
34
36
  prevDefaults,
35
37
  customDefaults,
36
38
  conditionMaps,
39
+ keepAliases,
37
40
  }));
38
41
  }
39
42
  return permissionMap;
40
43
  }
41
- function calculateSpecificViewMap(view, config, customization, validationMap) {
44
+ /**
45
+ * Defaults at the root of a structure without views (structure defaults merged with the customization's).
46
+ */
47
+ function calculateRootDefaults(config, customization, validationMap, sanitize) {
48
+ return calculateDefaults(config.defaults, undefined, calculateCustomDefaults(customization, undefined, validationMap, sanitize));
49
+ }
50
+ function calculateSpecificViewMap(view, config, customization, validationMap, options) {
42
51
  const viewDefinition = config.views[view];
43
- const customDefaults = calculateCustomDefaults(customization, view, validationMap);
52
+ const keepAliases = options === null || options === void 0 ? void 0 : options.keepInheritance;
53
+ const customDefaults = calculateCustomDefaults(customization, view, validationMap, options === null || options === void 0 ? void 0 : options.sanitize);
44
54
  const prevDefaults = config.defaults;
45
55
  const permissionMap = {};
46
56
  const submodules = calculateSubmodules(config, customization, view);
47
57
  if (submodules) {
48
58
  permissionMap[`${view}::subModules`] = submodules;
49
59
  }
50
- const conditionMaps = calculateConditions(config, customization, view);
60
+ const conditionMaps = (options === null || options === void 0 ? void 0 : options.viewConditionals) === false
61
+ ? undefined
62
+ : calculateConditions(config, customization, view, keepAliases);
51
63
  Object.assign(permissionMap, calculatePermissionMap(config, customization, {
52
64
  viewKeys: viewDefinition,
53
65
  viewPrefix: view,
54
66
  prevDefaults,
55
67
  customDefaults,
56
68
  conditionMaps,
69
+ keepAliases,
57
70
  }));
58
71
  return permissionMap;
59
72
  }
@@ -68,12 +81,16 @@ const matchWildcard = (pattern, value) => {
68
81
  const regexPattern = new RegExp('^' + pattern.replace(/\./g, '\\.').replace(/\*/g, '.*') + '$');
69
82
  return regexPattern.test(value);
70
83
  };
71
- function keyIsIncludedInKeep(key, customization) {
84
+ function keyIsIncludedInKeep(key, customization, keepAliases) {
72
85
  const { keep = [] } = customization;
86
+ const alias = keepAliases === null || keepAliases === void 0 ? void 0 : keepAliases[key];
73
87
  for (const pattern of keep) {
74
88
  if (pattern === key || matchWildcard(pattern, key)) {
75
89
  return true;
76
90
  }
91
+ if (alias && (pattern === alias || matchWildcard(pattern, alias))) {
92
+ return true;
93
+ }
77
94
  }
78
95
  return false;
79
96
  }
@@ -86,28 +103,26 @@ function keyIsIncludedInRemove(key, customization) {
86
103
  }
87
104
  return false;
88
105
  }
89
- function canInsertInCustomization(key, customization, validateKeepOption) {
106
+ function canInsertInCustomization(key, customization, validateKeepOption, keepAliases) {
90
107
  const includedInRemove = keyIsIncludedInRemove(key, customization);
91
- const canInsert = !includedInRemove &&
92
- (!validateKeepOption || keyIsIncludedInKeep(key, customization));
93
- const keepValue = keyIsIncludedInKeep(key, customization)
94
- ? 'keep'
95
- : 'remove';
108
+ const includedInKeep = keyIsIncludedInKeep(key, customization, keepAliases);
109
+ const canInsert = !includedInRemove && (!validateKeepOption || includedInKeep);
110
+ const keepValue = includedInKeep ? 'keep' : 'remove';
96
111
  const keepResult = validateKeepOption ? keepValue : false;
97
112
  const conditionAffect = includedInRemove ? 'remove' : keepResult;
98
113
  return { canInsert, conditionAffect };
99
114
  }
100
- function evalInsertKey(key, { viewKeys, viewPrefix = '', hasKeepOption }, customization) {
115
+ function evalInsertKey(key, { viewKeys, viewPrefix = '', hasKeepOption, keepAliases, }, customization) {
101
116
  var _a;
102
117
  const customizationView = (_a = customization === null || customization === void 0 ? void 0 : customization.views) === null || _a === void 0 ? void 0 : _a[viewPrefix];
103
118
  const custCanInsert = customization
104
- ? canInsertInCustomization(key, customization, hasKeepOption === 'root')
119
+ ? canInsertInCustomization(key, customization, hasKeepOption === 'root', keepAliases)
105
120
  : {
106
121
  canInsert: true,
107
122
  conditionAffect: false,
108
123
  };
109
124
  const custViewCanInsert = customizationView
110
- ? canInsertInCustomization(key, customizationView, hasKeepOption === 'view')
125
+ ? canInsertInCustomization(key, customizationView, hasKeepOption === 'view', keepAliases)
111
126
  : {
112
127
  canInsert: true,
113
128
  conditionAffect: false,
@@ -119,8 +134,8 @@ function evalInsertKey(key, { viewKeys, viewPrefix = '', hasKeepOption }, custom
119
134
  const conditionAffect = custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;
120
135
  return { canInsert, conditionAffect };
121
136
  }
122
- function canInsertKey(key, { viewKeys, viewPrefix = '', hasKeepOption, checkCondition = false, }, customization) {
123
- const result = evalInsertKey(key, { viewKeys, viewPrefix, hasKeepOption, checkCondition }, customization);
137
+ function canInsertKey(key, { viewKeys, viewPrefix = '', hasKeepOption, checkCondition = false, keepAliases, }, customization) {
138
+ const result = evalInsertKey(key, { viewKeys, viewPrefix, hasKeepOption, checkCondition, keepAliases }, customization);
124
139
  const canInsert = checkCondition || result.canInsert;
125
140
  return { canInsert, conditionAffect: result.conditionAffect };
126
141
  }
@@ -138,7 +153,7 @@ function addKeyToPermissions(permissionMap, key, { viewPrefix, checkCondition, c
138
153
  ? true
139
154
  : Object.assign(Object.assign(Object.assign({}, (addDefaultKey && { defaults })), (addChildMapKey && { childMap })), (conditions && { conditions }));
140
155
  }
141
- function calculatePermissionMap(config, customization, { viewKeys, pathPrefix = '', viewPrefix = '', hasKeepOption: previousKeepOption, prevDefaults, customDefaults, conditionMaps, checkCondition, }) {
156
+ function calculatePermissionMap(config, customization, { viewKeys, pathPrefix = '', viewPrefix = '', hasKeepOption: previousKeepOption, prevDefaults, customDefaults, conditionMaps, checkCondition, keepAliases, }) {
142
157
  const permissionMap = {};
143
158
  const currentKeepOption = nodeHasKeepOption(config, customization, {
144
159
  viewPrefix,
@@ -157,6 +172,7 @@ function calculatePermissionMap(config, customization, { viewKeys, pathPrefix =
157
172
  viewPrefix,
158
173
  hasKeepOption,
159
174
  checkCondition,
175
+ keepAliases,
160
176
  }, customization);
161
177
  if (!canInsertResult.canInsert) {
162
178
  continue;
@@ -174,6 +190,7 @@ function calculatePermissionMap(config, customization, { viewKeys, pathPrefix =
174
190
  customDefaults,
175
191
  conditionMaps,
176
192
  checkCondition,
193
+ keepAliases,
177
194
  });
178
195
  Object.assign(permissionMap, childMap);
179
196
  }
@@ -188,6 +205,7 @@ function calculatePermissionMap(config, customization, { viewKeys, pathPrefix =
188
205
  prevDefaults: defaults,
189
206
  conditionMaps,
190
207
  checkCondition,
208
+ keepAliases,
191
209
  });
192
210
  Object.assign(permissionMap, childMap);
193
211
  }
@@ -224,7 +242,7 @@ function getConditionsForKey(key, conditionMaps) {
224
242
  return undefined;
225
243
  return result;
226
244
  }
227
- function calculateConditions(config, customization, view) {
245
+ function calculateConditions(config, customization, view, keepAliases) {
228
246
  var _a, _b, _c;
229
247
  const rootConditionals = customization === null || customization === void 0 ? void 0 : customization.conditional;
230
248
  const viewConditionals = view
@@ -238,7 +256,10 @@ function calculateConditions(config, customization, view) {
238
256
  ];
239
257
  return ((_c = customConditionals === null || customConditionals === void 0 ? void 0 : customConditionals.map((c) => ({
240
258
  condition: c.condition,
241
- map: calculatePermissionMap(config, c, { checkCondition: true }),
259
+ map: calculatePermissionMap(config, c, {
260
+ checkCondition: true,
261
+ keepAliases,
262
+ }),
242
263
  }))) !== null && _c !== void 0 ? _c : undefined);
243
264
  }
244
265
  function calculateSubmodules(config, customization, view) {
@@ -252,7 +273,7 @@ function calculateSubmodules(config, customization, view) {
252
273
  : customRootSubmodules;
253
274
  return mergeObjects(config.subModules, customSubmodules);
254
275
  }
255
- function calculateCustomDefaults(customization, view, validationMap) {
276
+ function calculateCustomDefaults(customization, view, validationMap, sanitize) {
256
277
  var _a, _b, _c;
257
278
  const viewDefaults = view
258
279
  ? (_b = (_a = customization === null || customization === void 0 ? void 0 : customization.views) === null || _a === void 0 ? void 0 : _a[view]) === null || _b === void 0 ? void 0 : _b.defaults
@@ -261,9 +282,9 @@ function calculateCustomDefaults(customization, view, validationMap) {
261
282
  const defaultObj = viewDefaults
262
283
  ? mergeObjects(customRootDefaults, viewDefaults)
263
284
  : customRootDefaults;
264
- return validationMap && defaultObj
265
- ? (0, defaults_helpers_1.validateDefaults)(defaultObj, validationMap)
266
- : defaultObj;
285
+ if (!defaultObj || (!validationMap && !sanitize))
286
+ return defaultObj;
287
+ return (0, defaults_helpers_1.validateDefaults)(defaultObj, validationMap !== null && validationMap !== void 0 ? validationMap : {}, sanitize);
267
288
  }
268
289
  function calculateDefaults(structureDefaults, itemDefaults, customDefaults) {
269
290
  const baseDefaults = mergeObjects(structureDefaults, itemDefaults);
@@ -316,7 +337,7 @@ function nodeHasKeepOption(configValue, customization, { viewPrefix, pathPrefix
316
337
  }
317
338
  return undefined;
318
339
  }
319
- function calculatePermissionMapArray(configValue, customization, { viewKeys, viewPrefix, pathPrefix, prevDefaults, customDefaults, conditionMaps, checkCondition, }) {
340
+ function calculatePermissionMapArray(configValue, customization, { viewKeys, viewPrefix, pathPrefix, prevDefaults, customDefaults, conditionMaps, checkCondition, keepAliases, }) {
320
341
  const permissionMap = {};
321
342
  const hasKeepOption = nodeHasKeepOption(configValue, customization, {
322
343
  viewPrefix,
@@ -331,6 +352,7 @@ function calculatePermissionMapArray(configValue, customization, { viewKeys, vie
331
352
  viewPrefix,
332
353
  hasKeepOption,
333
354
  checkCondition,
355
+ keepAliases,
334
356
  }, customization);
335
357
  if (!canInsertResult.canInsert) {
336
358
  return;
@@ -352,6 +374,7 @@ function calculatePermissionMapArray(configValue, customization, { viewKeys, vie
352
374
  customDefaults,
353
375
  conditionMaps,
354
376
  checkCondition,
377
+ keepAliases,
355
378
  }));
356
379
  }
357
380
  });
@@ -1 +1 @@
1
- {"version":3,"file":"structural.helpers.js","sourceRoot":"","sources":["../../../src/utils/structural.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structural.helpers.js","sourceRoot":"","sources":["../../../src/utils/structural.helpers.ts"],"names":[],"mappings":"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"}