@qrvey/widget-configurability 0.0.0-dev.1739 → 0.0.0-dev.1745
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/README.md +37 -57
- package/dist/cjs/constants/configs.js +2 -1
- package/dist/cjs/constants/configs.js.map +1 -1
- package/dist/cjs/constants/structure.constants.js +2 -6
- package/dist/cjs/constants/structure.constants.js.map +1 -1
- package/dist/cjs/index.js +2 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/structural-manager.js +7 -17
- package/dist/cjs/structural-manager.js.map +1 -1
- package/dist/cjs/{constants → structures}/dashboard.structure.v1.js +1 -1
- package/dist/cjs/structures/dashboard.structure.v1.js.map +1 -0
- package/dist/cjs/utils/structural.helpers.js +0 -12
- package/dist/cjs/utils/structural.helpers.js.map +1 -1
- package/dist/esm/index.mjs +12 -62
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +5 -26
- package/package.json +1 -1
- package/dist/cjs/config/structural-manager.config.js +0 -23
- package/dist/cjs/config/structural-manager.config.js.map +0 -1
- package/dist/cjs/constants/dashboard.structure.v1.js.map +0 -1
- package/dist/cjs/interfaces/canvas.interface.js +0 -10
- package/dist/cjs/interfaces/canvas.interface.js.map +0 -1
package/README.md
CHANGED
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
- [Package Exports](#package-exports)
|
|
14
14
|
- [Enums](#enums)
|
|
15
15
|
- [Core API](#core-api)
|
|
16
|
-
- [`
|
|
17
|
-
- [`WidgetStructureInstance`](#widgetstructureinstance)
|
|
18
|
-
- [`structureInstanceMap`](#structureinstancemap)
|
|
16
|
+
- [`buildStructure`](#buildStructure)
|
|
17
|
+
- [`WidgetStructureInstance`](#widgetstructureinstance)
|
|
19
18
|
- [Dashboard Documentation](#dashboard-documentation)
|
|
20
19
|
- [Examples](#examples)
|
|
21
20
|
|
|
@@ -37,30 +36,30 @@ yarn add @qrvey/widget-configurability
|
|
|
37
36
|
|
|
38
37
|
```ts
|
|
39
38
|
import {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
structureInstanceMap,
|
|
43
|
-
UserRole,
|
|
44
|
-
Widget,
|
|
45
|
-
WidgetVersion,
|
|
46
|
-
DashboardDoc,
|
|
39
|
+
buildStructure,
|
|
40
|
+
Widget
|
|
47
41
|
} from '@qrvey/widget-configurability';
|
|
48
42
|
|
|
49
|
-
// 1. Build a
|
|
50
|
-
const instance =
|
|
51
|
-
Widget.DASHBOARD
|
|
52
|
-
WidgetVersion.v1,
|
|
53
|
-
/* optional customization object */,
|
|
54
|
-
UserRole.MANAGER
|
|
43
|
+
// 1. Build a structure instance for Dashboard v1
|
|
44
|
+
const instance = buildStructure(
|
|
45
|
+
Widget.DASHBOARD
|
|
55
46
|
);
|
|
56
47
|
|
|
57
|
-
// 2.
|
|
58
|
-
|
|
48
|
+
// 2. Check visibility of an element
|
|
49
|
+
console.log(instance.isVisible('design::navBar.qAppTitle')); // true or false
|
|
59
50
|
|
|
60
|
-
// 3.
|
|
61
|
-
console.log(instance.isVisible('navBar')); // true / false
|
|
62
|
-
console.log(instance.hasPermission()); // true if role === MANAGER
|
|
51
|
+
// 3. Get canvas permissions (all visible items for a view)
|
|
63
52
|
console.log(instance.getCanvasPermissions('design'));
|
|
53
|
+
|
|
54
|
+
// 4. Get default configuration for a widget key
|
|
55
|
+
console.log(instance.getDefaults('design::header')); // { 'customStyles.header.height': 50 }
|
|
56
|
+
|
|
57
|
+
// 5. Get child map (nested structure) if available
|
|
58
|
+
const toolBarMap = instance.getChildMap('design::toolBar');
|
|
59
|
+
console.log(toolBarMap);
|
|
60
|
+
|
|
61
|
+
// 6. Access submodule configuration
|
|
62
|
+
console.log(instance.getSubmodule('chartGallery', 'design'));
|
|
64
63
|
```
|
|
65
64
|
|
|
66
65
|
---
|
|
@@ -70,7 +69,7 @@ console.log(instance.getCanvasPermissions('design'));
|
|
|
70
69
|
```ts
|
|
71
70
|
export {
|
|
72
71
|
WidgetStructureInstance, // Class for inspecting a widget’s view map & permissions
|
|
73
|
-
|
|
72
|
+
buildStructure, // Factory to create a WidgetStructureInstance
|
|
74
73
|
structureInstanceMap, // Map<string, WidgetStructureInstance> for caching instances
|
|
75
74
|
UserRole, // Enum of supported user roles (e.g. MANAGER, VIEWER)
|
|
76
75
|
Widget, // Enum of widget types (e.g. DASHBOARD)
|
|
@@ -96,15 +95,7 @@ export enum Widget {
|
|
|
96
95
|
```ts
|
|
97
96
|
export enum WidgetVersion {
|
|
98
97
|
v1 = '1.0',
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### `UserRole`
|
|
103
|
-
|
|
104
|
-
```ts
|
|
105
|
-
export enum UserRole {
|
|
106
|
-
MANAGER = 'manager',
|
|
107
|
-
VIEWER = 'viewer',
|
|
98
|
+
latest = 'latest',
|
|
108
99
|
}
|
|
109
100
|
```
|
|
110
101
|
|
|
@@ -112,17 +103,16 @@ export enum UserRole {
|
|
|
112
103
|
|
|
113
104
|
## Core API
|
|
114
105
|
|
|
115
|
-
### `
|
|
106
|
+
### `buildStructure`
|
|
116
107
|
|
|
117
108
|
Creates a `WidgetStructureInstance` based on:
|
|
118
109
|
|
|
119
110
|
- **`widget`** – one of the `Widget` enum values
|
|
120
|
-
- **`version`** –
|
|
121
|
-
- **`customization`** –
|
|
122
|
-
- **`userRole`** – optional role, defaults to `UserRole.MANAGER` if invalid
|
|
111
|
+
- **`version`** – (Optional) One of the `WidgetVersion` enum values. Defaults to the latest version.
|
|
112
|
+
- **`customization`** – (Optional) Overrides to base configuration
|
|
123
113
|
|
|
124
114
|
```ts
|
|
125
|
-
function
|
|
115
|
+
function buildStructure(
|
|
126
116
|
widget: Widget,
|
|
127
117
|
version: WidgetVersion,
|
|
128
118
|
customization?: WidgetCustomization,
|
|
@@ -138,26 +128,18 @@ Throws an error if no matching configuration is found.
|
|
|
138
128
|
|
|
139
129
|
Class that wraps a widget’s “view map” and provides helper methods:
|
|
140
130
|
|
|
141
|
-
| Method
|
|
142
|
-
|
|
143
|
-
| `isVisible(key: string, state?: ConditionState): boolean`
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
147
|
-
| `getSubmodule(module: string, view?: string): WidgetCustomization \| undefined` | Retrieves a specific sub-module customization under `subModules` |
|
|
148
|
-
| `getDefaults(key: string): Record<string, unknown> \| undefined` | Retrieves default settings for a given key (e.g. `assetList.defaults`) |
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
### `structureInstanceMap`
|
|
153
|
-
|
|
154
|
-
A simple `Map<string, WidgetStructureInstance>` you can use to cache or share built instances across your application.
|
|
131
|
+
| Method | Description |
|
|
132
|
+
|---------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
|
|
133
|
+
| `isVisible(key: string, state?: ConditionState): boolean` | Returns `true` if the key exists and its conditions (if any) are met |
|
|
134
|
+
| `getChildMap(key: string): WidgetViewMap \| undefined` | If the key has a nested `childMap`, returns it; otherwise `undefined` |
|
|
135
|
+
| `getSubmodule(module: string, view?: string): WidgetCustomization \| undefined` | Retrieves a specific sub-module customization under `subModules` |
|
|
136
|
+
| `getDefaults(key: string): Record<string, unknown> \| undefined` | Retrieves default settings for a given key (e.g. `assetList.defaults`) |
|
|
155
137
|
|
|
156
138
|
---
|
|
157
139
|
|
|
158
140
|
## Dashboard Documentation
|
|
159
141
|
|
|
160
|
-
All
|
|
142
|
+
All the raw Dashboard v1 configuration—including version, base structure, nested views, menus, toolbars, panels, and submodules is exported as **`DashboardDoc`**.
|
|
161
143
|
|
|
162
144
|
```ts
|
|
163
145
|
import * as DashboardDoc from '@qrvey/widget-configurability/doc/dashboard.structure.doc';
|
|
@@ -178,16 +160,14 @@ console.log(DashboardDoc.default);
|
|
|
178
160
|
### Customizing a Dashboard
|
|
179
161
|
|
|
180
162
|
```ts
|
|
181
|
-
import {
|
|
182
|
-
import {
|
|
163
|
+
import { buildStructure, Widget, WidgetVersion } from '@qrvey/widget-configurability';
|
|
164
|
+
import { customization } from './your-customizations';
|
|
183
165
|
|
|
184
|
-
const inst =
|
|
166
|
+
const inst = buildStructure(
|
|
185
167
|
Widget.DASHBOARD,
|
|
186
168
|
WidgetVersion.v1,
|
|
187
|
-
|
|
188
|
-
'viewer' // non-manager role
|
|
169
|
+
customization, // your widget customization
|
|
189
170
|
);
|
|
190
171
|
|
|
191
172
|
console.log(inst.isVisible('assetList')); // based on your customization
|
|
192
|
-
console.log(inst.hasPermission()); // false
|
|
193
173
|
```
|
|
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.widgetConfigs = void 0;
|
|
7
|
-
const dashboard_structure_v1_1 = __importDefault(require("./dashboard.structure.v1"));
|
|
8
7
|
const structure_constants_1 = require("./structure.constants");
|
|
8
|
+
const dashboard_structure_v1_1 = __importDefault(require("../structures/dashboard.structure.v1"));
|
|
9
9
|
exports.widgetConfigs = {
|
|
10
10
|
[structure_constants_1.Widget.DASHBOARD]: {
|
|
11
11
|
[structure_constants_1.WidgetVersion.v1]: dashboard_structure_v1_1.default,
|
|
12
|
+
[structure_constants_1.WidgetVersion.latest]: dashboard_structure_v1_1.default,
|
|
12
13
|
},
|
|
13
14
|
};
|
|
14
15
|
//# sourceMappingURL=configs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/constants/configs.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/constants/configs.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA8D;AAE9D,kGAAqE;AAExD,QAAA,aAAa,GAAqB;IAC3C,CAAC,4BAAM,CAAC,SAAS,CAAC,EAAE;QAChB,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,gCAAiB;QACrC,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,gCAAiB;KAC5C;CACJ,CAAC"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WidgetVersion = exports.Widget = exports.
|
|
3
|
+
exports.WidgetVersion = exports.Widget = exports.STRUCTURE_RESERVED_WORDS = exports.STRUCTURE_VIEW_NAME_SEPARATOR = exports.STRUCTURE_SECTION_NAME_SEPARATOR = void 0;
|
|
4
4
|
exports.STRUCTURE_SECTION_NAME_SEPARATOR = '.';
|
|
5
5
|
exports.STRUCTURE_VIEW_NAME_SEPARATOR = '::';
|
|
6
6
|
exports.STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];
|
|
7
|
-
var UserRole;
|
|
8
|
-
(function (UserRole) {
|
|
9
|
-
UserRole["MANAGER"] = "MANAGER";
|
|
10
|
-
UserRole["USER"] = "USER";
|
|
11
|
-
})(UserRole || (exports.UserRole = UserRole = {}));
|
|
12
7
|
var Widget;
|
|
13
8
|
(function (Widget) {
|
|
14
9
|
Widget["DASHBOARD"] = "dashboard";
|
|
@@ -16,5 +11,6 @@ var Widget;
|
|
|
16
11
|
var WidgetVersion;
|
|
17
12
|
(function (WidgetVersion) {
|
|
18
13
|
WidgetVersion["v1"] = "1.0";
|
|
14
|
+
WidgetVersion["latest"] = "latest";
|
|
19
15
|
})(WidgetVersion || (exports.WidgetVersion = WidgetVersion = {}));
|
|
20
16
|
//# sourceMappingURL=structure.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.constants.js","sourceRoot":"","sources":["../../../src/constants/structure.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,GAAG,CAAC;AACvC,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,wBAAwB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAE5E,IAAY,
|
|
1
|
+
{"version":3,"file":"structure.constants.js","sourceRoot":"","sources":["../../../src/constants/structure.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,GAAG,CAAC;AACvC,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,wBAAwB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAE5E,IAAY,MAEX;AAFD,WAAY,MAAM;IACd,iCAAuB,CAAA;AAC3B,CAAC,EAFW,MAAM,sBAAN,MAAM,QAEjB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,2BAAU,CAAA;IACV,kCAAiB,CAAA;AACrB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -33,15 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.DashboardDoc = exports.WidgetVersion = exports.Widget = exports.
|
|
36
|
+
exports.DashboardDoc = exports.WidgetVersion = exports.Widget = exports.buildStructure = exports.WidgetStructureInstance = void 0;
|
|
37
37
|
const structure_constants_1 = require("./constants/structure.constants");
|
|
38
|
-
Object.defineProperty(exports, "UserRole", { enumerable: true, get: function () { return structure_constants_1.UserRole; } });
|
|
39
38
|
Object.defineProperty(exports, "Widget", { enumerable: true, get: function () { return structure_constants_1.Widget; } });
|
|
40
39
|
Object.defineProperty(exports, "WidgetVersion", { enumerable: true, get: function () { return structure_constants_1.WidgetVersion; } });
|
|
41
40
|
const DashboardDoc = __importStar(require("./doc/dashboard.structure.doc"));
|
|
42
41
|
exports.DashboardDoc = DashboardDoc;
|
|
43
42
|
const structural_manager_1 = require("./structural-manager");
|
|
44
43
|
Object.defineProperty(exports, "WidgetStructureInstance", { enumerable: true, get: function () { return structural_manager_1.WidgetStructureInstance; } });
|
|
45
|
-
Object.defineProperty(exports, "
|
|
46
|
-
Object.defineProperty(exports, "structureInstanceMap", { enumerable: true, get: function () { return structural_manager_1.structureInstanceMap; } });
|
|
44
|
+
Object.defineProperty(exports, "buildStructure", { enumerable: true, get: function () { return structural_manager_1.buildStructure; } });
|
|
47
45
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAwE;AAOpE,uFAPK,4BAAM,OAOL;AACN,8FARa,mCAAa,OAQb;AAPjB,4EAA8D;AAQ1D,oCAAY;AAPhB,6DAA+E;AAG3E,wGAHK,4CAAuB,OAGL;AACvB,+FAJ8B,mCAAc,OAI9B"}
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WidgetStructureInstance =
|
|
4
|
-
exports.
|
|
5
|
-
const structural_manager_config_1 = require("./config/structural-manager.config");
|
|
3
|
+
exports.WidgetStructureInstance = void 0;
|
|
4
|
+
exports.buildStructure = buildStructure;
|
|
6
5
|
const configs_1 = require("./constants/configs");
|
|
7
6
|
const structure_constants_1 = require("./constants/structure.constants");
|
|
8
7
|
const conditions_helpers_1 = require("./utils/conditions.helpers");
|
|
9
8
|
const defaults_helpers_1 = require("./utils/defaults.helpers");
|
|
10
9
|
const structural_helpers_1 = require("./utils/structural.helpers");
|
|
11
|
-
|
|
12
|
-
exports.DEFAULT_USER_ROLE = structure_constants_1.UserRole.MANAGER;
|
|
13
|
-
function buildStructureInstance(widget, version, customization, userRole = '') {
|
|
10
|
+
function buildStructure(widget, version, customization) {
|
|
14
11
|
var _a;
|
|
15
|
-
const
|
|
12
|
+
const versionSet = version !== null && version !== void 0 ? version : structure_constants_1.WidgetVersion.latest;
|
|
13
|
+
const widgetConfigurability = (_a = configs_1.widgetConfigs[widget]) === null || _a === void 0 ? void 0 : _a[versionSet];
|
|
16
14
|
if (!widgetConfigurability) {
|
|
17
15
|
throw new Error(`No config found for widget ${widget} and version ${version}`);
|
|
18
16
|
}
|
|
19
17
|
const structureMap = (0, structural_helpers_1.getWidgetStructure)(widgetConfigurability, customization, defaults_helpers_1.DX_VALIDATOR_MAP);
|
|
20
|
-
|
|
21
|
-
return new WidgetStructureInstance(structureMap, role);
|
|
18
|
+
return new WidgetStructureInstance(structureMap);
|
|
22
19
|
}
|
|
23
20
|
class WidgetStructureInstance {
|
|
24
|
-
constructor(viewMap
|
|
21
|
+
constructor(viewMap) {
|
|
25
22
|
this.viewMap = viewMap;
|
|
26
|
-
this.role = role;
|
|
27
23
|
}
|
|
28
24
|
getValue(key) {
|
|
29
25
|
return this.viewMap[key];
|
|
@@ -37,12 +33,6 @@ class WidgetStructureInstance {
|
|
|
37
33
|
}
|
|
38
34
|
return true;
|
|
39
35
|
}
|
|
40
|
-
hasPermission() {
|
|
41
|
-
return this.role === exports.DEFAULT_USER_ROLE;
|
|
42
|
-
}
|
|
43
|
-
getCanvasPermissions(mode) {
|
|
44
|
-
return structural_manager_config_1.canvasModePermissions[mode];
|
|
45
|
-
}
|
|
46
36
|
getChildMap(key) {
|
|
47
37
|
const value = this.getValue(key);
|
|
48
38
|
if (!value ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-manager.js","sourceRoot":"","sources":["../../src/structural-manager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"structural-manager.js","sourceRoot":"","sources":["../../src/structural-manager.ts"],"names":[],"mappings":";;;AASA,wCAkBC;AA3BD,iDAAoD;AACpD,yEAAwE;AAIxE,mEAA6D;AAC7D,+DAA4D;AAC5D,mEAAgE;AAEhE,SAAgB,cAAc,CAC1B,MAAc,EACd,OAAuB,EACvB,aAAmC;;IAEnC,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,mCAAa,CAAC,MAAM,CAAC;IACnD,MAAM,qBAAqB,GAAG,MAAA,uBAAa,CAAC,MAAM,CAAC,0CAAG,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,8BAA8B,MAAM,gBAAgB,OAAO,EAAE,CAChE,CAAC;IACN,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,uCAAkB,EACnC,qBAAqB,EACrB,aAAa,EACb,mCAAgB,CACnB,CAAC;IACF,OAAO,IAAI,uBAAuB,CAAC,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,MAAa,uBAAuB;IAChC,YAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEtC,QAAQ,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,KAAsB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,IAAA,oCAAe,EAClB,KAAK,EACL,KAAK,CAAC,UAAmC,CAC5C,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IACI,CAAC,KAAK;YACN,OAAO,KAAK,KAAK,SAAS;YAC1B,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,QAAQ;YAEf,OAAO,SAAS,CAAC;QACrB,OAAO,KAAK,CAAC,QAAyB,CAAC;IAC3C,CAAC;IAED,YAAY,CACR,MAAc,EACd,IAAa;QAEb,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,OAAQ,KAA6C,aAA7C,KAAK,uBAAL,KAAK,CAA2C,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IACI,CAAC,KAAK;YACN,OAAO,KAAK,KAAK,SAAS;YAC1B,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,QAAQ;YAEf,OAAO,SAAS,CAAC;QACrB,OAAO,KAAK,CAAC,QAAyB,CAAC;IAC3C,CAAC;CACJ;AAnDD,0DAmDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/dashboard.structure.v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateUserRole = validateUserRole;
|
|
4
3
|
exports.getWidgetStructure = getWidgetStructure;
|
|
5
4
|
exports.calculateViewMap = calculateViewMap;
|
|
6
5
|
const defaults_helpers_1 = require("./defaults.helpers");
|
|
7
6
|
const merge_helpers_1 = require("./merge.helpers");
|
|
8
7
|
const structure_constants_1 = require("../constants/structure.constants");
|
|
9
|
-
const VALID_ROLES = [structure_constants_1.UserRole.MANAGER, structure_constants_1.UserRole.USER];
|
|
10
|
-
/**
|
|
11
|
-
* Validates if a role is valid
|
|
12
|
-
* @param role role to be validated
|
|
13
|
-
* @returns boolean response checking if the user is in a valid role
|
|
14
|
-
*/
|
|
15
|
-
function validateUserRole(role) {
|
|
16
|
-
if (!role)
|
|
17
|
-
return false;
|
|
18
|
-
return VALID_ROLES.includes(role);
|
|
19
|
-
}
|
|
20
8
|
/**
|
|
21
9
|
* constructs the permission map structure for a widget
|
|
22
10
|
* @param config configuration of a widget
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural.helpers.js","sourceRoot":"","sources":["../../../src/utils/structural.helpers.ts"],"names":[],"mappings":";;AA6CA,4CAGC;AASD,gDAMC;AAED,4CA2CC;AA5GD,yDAAqE;AACrE,mDAA4C;AAC5C,0EAK0C;AA+B1C,MAAM,WAAW,GAAG,CAAC,8BAAQ,CAAC,OAAO,EAAE,8BAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAa;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAgB,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAC9B,MAAoB,EACpB,aAAmC,EACnC,aAA6B;IAE7B,OAAO,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,gBAAgB,CAC5B,MAA2B,EAC3B,aAAmC,EACnC,aAA6B;IAE7B,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CACT,aAAa,EACb,wBAAwB,CACpB,IAAI,EACJ,MAAM,EACN,aAAa,EACb,aAAa,CAChB,CACJ,CAAC;QACN,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,cAAc,GAAG,uBAAuB,CAC1C,aAAa,EACb,SAAS,EACT,aAAa,CAChB,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;QAErC,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACb,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;QAC1C,CAAC;QAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEjE,MAAM,CAAC,MAAM,CACT,aAAa,EACb,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE;YAC1C,YAAY;YACZ,cAAc;YACd,aAAa;SAChB,CAAC,CACL,CAAC;IACN,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,wBAAwB,CAC7B,IAAY,EACZ,MAA2B,EAC3B,aAAmC,EACnC,aAA6B;IAE7B,MAAM,cAAc,GAAG,MAAM,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,uBAAuB,CAC1C,aAAa,EACb,IAAI,EACJ,aAAa,CAChB,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;IAErC,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,UAAU,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CACT,aAAa,EACb,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE;QAC1C,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,IAAI;QAChB,YAAY;QACZ,cAAc;KACjB,CAAC,CACL,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,mDAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,UAAmB;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,KAAa,EAAW,EAAE;IAC9D,MAAM,YAAY,GAAG,IAAI,MAAM,CAC3B,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CACjE,CAAC;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,SAAS,mBAAmB,CACxB,GAAW,EACX,aAAkC;IAElC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAC1B,GAAW,EACX,aAAkC;IAElC,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAC7B,GAAW,EACX,aAAkC,EAClC,kBAA4B;IAE5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,SAAS,GACX,CAAC,gBAAgB;QACjB,CAAC,CAAC,kBAAkB,IAAI,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC;QACrD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAClB,GAAW,EACX,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,EAAwB,EAClE,aAAmC;;IAEnC,MAAM,iBAAiB,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAG,UAAU,CAAC,CAAC;IAE7D,MAAM,aAAa,GAAoB,aAAa;QAChD,CAAC,CAAC,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,KAAK,MAAM,CAAC;QACxE,CAAC,CAAC;YACI,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;SACzB,CAAC;IACR,MAAM,iBAAiB,GAAoB,iBAAiB;QACxD,CAAC,CAAC,wBAAwB,CACpB,GAAG,EACH,iBAAiB,EACjB,aAAa,KAAK,MAAM,CAC3B;QACH,CAAC,CAAC;YACI,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;SACzB,CAAC;IAER,iDAAiD;IACjD,MAAM,SAAS,GACX,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,aAAa,CAAC,SAAS;QACvB,iBAAiB,CAAC,SAAS,CAAC;IAEhC,MAAM,eAAe,GACjB,aAAa,CAAC,eAAe,IAAI,iBAAiB,CAAC,eAAe,CAAC;IAEvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CACjB,GAAW,EACX,EACI,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,aAAa,EACb,cAAc,GAAG,KAAK,GACH,EACvB,aAAmC;IAEnC,MAAM,MAAM,GAAG,aAAa,CACxB,GAAG,EACH,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,EACvD,aAAa,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,cAAc,IAAI,MAAM,CAAC,SAAS,CAAC;IACrD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CACxB,aAA4B,EAC5B,GAAW,EACX,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAwB,EACnE,QAAkC,EAClC,QAAwB,EACxB,eAAsC;IAEtC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAI,cAAc,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5C,aAAa,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC;QACzC,OAAO;IACX,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE3D,aAAa,CAAC,OAAO,CAAC;QAClB,CAAC,aAAa,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU;YAC5C,CAAC,CAAC,IAAI;YACN,CAAC,+CACQ,CAAC,aAAa,IAAI,EAAE,QAAQ,EAAE,CAAC,GAC/B,CAAC,cAAc,IAAI,EAAE,QAAQ,EAAE,CAAC,GAChC,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,CACpC,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC3B,MAAyD,EACzD,aAA8C,EAC9C,EACI,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,UAAU,GAAG,EAAE,EACf,aAAa,EAAE,kBAAkB,EACjC,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACK;IAEvB,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE;QAC/D,UAAU;QACV,UAAU;KACb,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,8CAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,SAAS;QACb,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,iBAAiB,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,GAAG,UAAU,GAAG,sDAAgC,EAAE,CAAC;QAErE,MAAM,eAAe,GAAG,YAAY,CAChC,UAAU,EACV;YACI,QAAQ;YACR,UAAU;YACV,aAAa;YACb,cAAc;SACjB,EACD,aAAa,CAChB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAC7B,SAAS;QACb,CAAC;QAED,IAAI,QAAQ,GAAG,YAAY,CAAC;QAC5B,IAAI,QAAQ,GAA8B,SAAS,CAAC;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,2CAA2C;YAC3C,QAAQ,GAAG,iBAAiB,CACxB,YAAY,EACZ,EAA6B,EAC7B,cAAc,CACjB,CAAC;YACF,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE;gBAC/D,QAAQ;gBACR,UAAU;gBACV,UAAU,EAAE,SAAS;gBACrB,YAAY;gBACZ,cAAc;gBACd,aAAa;gBACb,cAAc;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,IACH,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC7B,CAAC;YACC,QAAQ,GAAG,iBAAiB,CACxB,YAAY,EACZ,WAAW,CAAC,QAAmC,EAC/C,cAAc,CACjB,CAAC;YACF,8CAA8C;YAC9C,QAAQ,GAAG,sBAAsB,CAC7B,WAA8B,EAC9B,aAAa,EACb;gBACI,QAAQ;gBACR,UAAU;gBACV,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,QAAQ;gBACtB,aAAa;gBACb,cAAc;aACjB,CACJ,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,wDAAwD;YACxD,SAAS;QACb,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;YACzD,QAAQ,GAAG,iBAAiB,CACxB,YAAY,EACZ,EAA6B,EAC7B,cAAc,CACjB,CAAC;QACN,CAAC;QAED,mBAAmB,CACf,aAAa,EACb,UAAU,EACV;YACI,UAAU;YACV,cAAc;YACd,aAAa;SAChB,EACD,QAAQ,EACR,QAAQ,EACR,eAAe,CAAC,eAAe,CAClC,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CACxB,GAAW,EACX,aAA+C;IAE/C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IACI,OAAO,QAAQ,KAAK,QAAQ;YAC5B,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,EAChD,CAAC;YACC,MAAM,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;aACzB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAA2B,CAAC,CAAC;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CACxB,MAAuB,EACvB,aAAmC;;IAEnC,MAAM,kBAAkB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC;IACtD,OAAO,CACH,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,GAAG,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;KACnE,CAAC,CAAC,mCAAI,SAAS,CACnB,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CACxB,MAAuB,EACvB,aAAmC,EACnC,IAAa;;IAEb,MAAM,cAAc,GAAG,IAAI;QACvB,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAG,IAAI,CAAC,0CAAE,UAAU;QAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC;IACvD,MAAM,gBAAgB,GAAG,cAAc;QACnC,CAAC,CAAC,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC;QACpD,CAAC,CAAC,oBAAoB,CAAC;IAC3B,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,uBAAuB,CAC5B,aAAmC,EACnC,IAAa,EACb,aAA6B;;IAE7B,MAAM,YAAY,GAAG,IAAI;QACrB,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAG,IAAI,CAAC,0CAAE,QAAQ;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,kBAAkB,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,mCAAI,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,YAAY;QAC3B,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,YAAY,CAAC;QAChD,CAAC,CAAC,kBAAkB,CAAC;IACzB,OAAO,aAAa,IAAI,UAAU;QAC9B,CAAC,CAAC,IAAA,mCAAgB,EAAC,UAAU,EAAE,aAAa,CAAC;QAC7C,CAAC,CAAC,UAAU,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CACtB,iBAAsD,EACtD,YAAiD,EACjD,cAAmD;IAEnD,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CACjB,OAA4C,EAC5C,MAA2C;IAE3C,wDAAwD;IACxD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC1C,iDAAiD;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,uDAAuD;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACxE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAS,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,UAAU,CACf,WAA4B,EAC5B,EAAE,UAAU,EAAwB;IAEpC,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,eAAe,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CACvC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CACjB,WAAyC,EACzC,EAAE,UAAU,EAAE,UAAU,EAAwB;IAEhD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAAc,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CACtB,WAA2D,EAC3D,aAA8C,EAC9C,EAAE,UAAU,EAAE,UAAU,EAAwB;;IAEhD,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACvD,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,UAAU;QAChC,CAAC,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAG,UAAU,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,IACH,iBAAiB;YACjB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAC7C,CAAC;YACC,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAChC,WAAyC,EACzC,aAA8C,EAC9C,EACI,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACK;IAEvB,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE;QAChE,UAAU;QACV,UAAU;KACb,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,iBAAiB,CACpC,YAAY,EACZ,SAAS,EACT,cAAc,CACjB,CAAC;IAEF,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,YAAY,CAChC,QAAQ,EACR;gBACI,QAAQ;gBACR,UAAU;gBACV,aAAa;gBACb,cAAc;aACjB,EACD,aAAa,CAChB,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC7B,OAAO;YACX,CAAC;YACD,mBAAmB,CACf,aAAa,EACb,QAAQ,EACR;gBACI,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,aAAa;aAChB,EACD,cAAc,EACd,SAAS,EACT,eAAe,CAAC,eAAe,CAClC,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,CACT,aAAa,EACb,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE;gBAC1C,QAAQ;gBACR,UAAU;gBACV,UAAU;gBACV,aAAa;gBACb,YAAY;gBACZ,cAAc;gBACd,aAAa;gBACb,cAAc;aACjB,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"structural.helpers.js","sourceRoot":"","sources":["../../../src/utils/structural.helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -31,17 +31,13 @@ var STRUCTURE_RESERVED_WORDS = [
|
|
|
31
31
|
"defaults",
|
|
32
32
|
"subModules"
|
|
33
33
|
];
|
|
34
|
-
var UserRole = /* @__PURE__ */ function(UserRole2) {
|
|
35
|
-
UserRole2["MANAGER"] = "MANAGER";
|
|
36
|
-
UserRole2["USER"] = "USER";
|
|
37
|
-
return UserRole2;
|
|
38
|
-
}({});
|
|
39
34
|
var Widget = /* @__PURE__ */ function(Widget2) {
|
|
40
35
|
Widget2["DASHBOARD"] = "dashboard";
|
|
41
36
|
return Widget2;
|
|
42
37
|
}({});
|
|
43
38
|
var WidgetVersion = /* @__PURE__ */ function(WidgetVersion2) {
|
|
44
39
|
WidgetVersion2["v1"] = "1.0";
|
|
40
|
+
WidgetVersion2["latest"] = "latest";
|
|
45
41
|
return WidgetVersion2;
|
|
46
42
|
}({});
|
|
47
43
|
|
|
@@ -632,35 +628,7 @@ _ts_decorate([
|
|
|
632
628
|
_ts_metadata("design:type", typeof SubModulesDto === "undefined" ? Object : SubModulesDto)
|
|
633
629
|
], BaseDashboardV1StructureDto.prototype, "subModules", void 0);
|
|
634
630
|
|
|
635
|
-
// src/
|
|
636
|
-
var CanvasMode = /* @__PURE__ */ function(CanvasMode2) {
|
|
637
|
-
CanvasMode2["VIEW"] = "VIEW";
|
|
638
|
-
CanvasMode2["EDIT"] = "EDIT";
|
|
639
|
-
CanvasMode2["INTERACTIVE_VIEW"] = "INTERACTIVE_VIEW";
|
|
640
|
-
return CanvasMode2;
|
|
641
|
-
}({});
|
|
642
|
-
|
|
643
|
-
// src/config/structural-manager.config.ts
|
|
644
|
-
var canvasModePermissions = {
|
|
645
|
-
[CanvasMode.INTERACTIVE_VIEW]: {
|
|
646
|
-
canDrag: true,
|
|
647
|
-
canResize: true,
|
|
648
|
-
canSelectMultiple: false,
|
|
649
|
-
canDelete: true,
|
|
650
|
-
displayCanvasBorder: false,
|
|
651
|
-
autoscrolling: true
|
|
652
|
-
},
|
|
653
|
-
[CanvasMode.EDIT]: {
|
|
654
|
-
canDrag: true,
|
|
655
|
-
canResize: true,
|
|
656
|
-
canSelectMultiple: true,
|
|
657
|
-
canDelete: true,
|
|
658
|
-
displayCanvasBorder: true,
|
|
659
|
-
autoscrolling: true
|
|
660
|
-
}
|
|
661
|
-
};
|
|
662
|
-
|
|
663
|
-
// src/constants/dashboard.structure.v1.ts
|
|
631
|
+
// src/structures/dashboard.structure.v1.ts
|
|
664
632
|
var dashboardV1Config = {
|
|
665
633
|
version: "1.0",
|
|
666
634
|
baseStructure: {
|
|
@@ -792,7 +760,7 @@ var dashboardV1Config = {
|
|
|
792
760
|
"qMnuInsertHeader",
|
|
793
761
|
"qMnuInsertTabs"
|
|
794
762
|
],
|
|
795
|
-
|
|
763
|
+
qMnuArrange: [
|
|
796
764
|
"qMnuBringToFront",
|
|
797
765
|
"qMnuSendToBack",
|
|
798
766
|
{
|
|
@@ -906,7 +874,8 @@ var dashboard_structure_v1_default = dashboardV1Config;
|
|
|
906
874
|
// src/constants/configs.ts
|
|
907
875
|
var widgetConfigs = {
|
|
908
876
|
[Widget.DASHBOARD]: {
|
|
909
|
-
[WidgetVersion.v1]: dashboard_structure_v1_default
|
|
877
|
+
[WidgetVersion.v1]: dashboard_structure_v1_default,
|
|
878
|
+
[WidgetVersion.latest]: dashboard_structure_v1_default
|
|
910
879
|
}
|
|
911
880
|
};
|
|
912
881
|
|
|
@@ -1133,15 +1102,6 @@ function isObject(value) {
|
|
|
1133
1102
|
__name(isObject, "isObject");
|
|
1134
1103
|
|
|
1135
1104
|
// src/utils/structural.helpers.ts
|
|
1136
|
-
var VALID_ROLES = [
|
|
1137
|
-
UserRole.MANAGER,
|
|
1138
|
-
UserRole.USER
|
|
1139
|
-
];
|
|
1140
|
-
function validateUserRole(role) {
|
|
1141
|
-
if (!role) return false;
|
|
1142
|
-
return VALID_ROLES.includes(role);
|
|
1143
|
-
}
|
|
1144
|
-
__name(validateUserRole, "validateUserRole");
|
|
1145
1105
|
function getWidgetStructure(config, customization, validationMap) {
|
|
1146
1106
|
return calculateViewMap(config.baseStructure, customization, validationMap);
|
|
1147
1107
|
}
|
|
@@ -1477,25 +1437,21 @@ function calculatePermissionMapArray(configValue, customization, { viewKeys, vie
|
|
|
1477
1437
|
__name(calculatePermissionMapArray, "calculatePermissionMapArray");
|
|
1478
1438
|
|
|
1479
1439
|
// src/structural-manager.ts
|
|
1480
|
-
|
|
1481
|
-
var DEFAULT_USER_ROLE = UserRole.MANAGER;
|
|
1482
|
-
function buildStructureInstance(widget, version, customization, userRole = "") {
|
|
1440
|
+
function buildStructure(widget, version, customization) {
|
|
1483
1441
|
var _a;
|
|
1484
|
-
const
|
|
1442
|
+
const versionSet = version != null ? version : WidgetVersion.latest;
|
|
1443
|
+
const widgetConfigurability = (_a = widgetConfigs[widget]) == null ? void 0 : _a[versionSet];
|
|
1485
1444
|
if (!widgetConfigurability) {
|
|
1486
1445
|
throw new Error(`No config found for widget ${widget} and version ${version}`);
|
|
1487
1446
|
}
|
|
1488
1447
|
const structureMap = getWidgetStructure(widgetConfigurability, customization, DX_VALIDATOR_MAP);
|
|
1489
|
-
|
|
1490
|
-
return new WidgetStructureInstance(structureMap, role);
|
|
1448
|
+
return new WidgetStructureInstance(structureMap);
|
|
1491
1449
|
}
|
|
1492
|
-
__name(
|
|
1450
|
+
__name(buildStructure, "buildStructure");
|
|
1493
1451
|
var _WidgetStructureInstance = class _WidgetStructureInstance {
|
|
1494
|
-
constructor(viewMap
|
|
1452
|
+
constructor(viewMap) {
|
|
1495
1453
|
__publicField(this, "viewMap");
|
|
1496
|
-
__publicField(this, "role");
|
|
1497
1454
|
this.viewMap = viewMap;
|
|
1498
|
-
this.role = role;
|
|
1499
1455
|
}
|
|
1500
1456
|
getValue(key) {
|
|
1501
1457
|
return this.viewMap[key];
|
|
@@ -1508,12 +1464,6 @@ var _WidgetStructureInstance = class _WidgetStructureInstance {
|
|
|
1508
1464
|
}
|
|
1509
1465
|
return true;
|
|
1510
1466
|
}
|
|
1511
|
-
hasPermission() {
|
|
1512
|
-
return this.role === DEFAULT_USER_ROLE;
|
|
1513
|
-
}
|
|
1514
|
-
getCanvasPermissions(mode) {
|
|
1515
|
-
return canvasModePermissions[mode];
|
|
1516
|
-
}
|
|
1517
1467
|
getChildMap(key) {
|
|
1518
1468
|
const value = this.getValue(key);
|
|
1519
1469
|
if (!value || typeof value === "boolean" || typeof value === "string" || !value.childMap) return void 0;
|
|
@@ -1533,6 +1483,6 @@ var _WidgetStructureInstance = class _WidgetStructureInstance {
|
|
|
1533
1483
|
__name(_WidgetStructureInstance, "WidgetStructureInstance");
|
|
1534
1484
|
var WidgetStructureInstance = _WidgetStructureInstance;
|
|
1535
1485
|
|
|
1536
|
-
export { dashboard_structure_doc_exports as DashboardDoc,
|
|
1486
|
+
export { dashboard_structure_doc_exports as DashboardDoc, Widget, WidgetStructureInstance, WidgetVersion, buildStructure };
|
|
1537
1487
|
//# sourceMappingURL=index.mjs.map
|
|
1538
1488
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/doc/dashboard.structure.doc.ts","../../src/interfaces/canvas.interface.ts","../../src/config/structural-manager.config.ts","../../src/constants/dashboard.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/defaults.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","UserRole","Widget","WidgetVersion","ViewsDto","list","design","preview","endUser","type","String","description","example","AssetListDto","defaults","asset","Object","assetListViewMode","optionMenu","MenuBarDto","file","edit","grid","insert","qArrange","qMnuDownloadDash","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuAlign","FilterPanelDto","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","dashFilterScope","tabFilterScope","panelFilterScope","SubModulesDto","chartPanel","chartGallery","chartBuilder","BaseDashboardV1StructureDto","views","navBar","endUserTopBar","assetList","controlBarLeft","controlBarRight","header","menuBar","toolBar","configPanel","filterPanel","downloadModal","subModules","qInsertChart","qInsertFilterCtrl","qDownloadDash","qResponsiveView","qAlign","CanvasMode","canvasModePermissions","INTERACTIVE_VIEW","canDrag","canResize","canSelectMultiple","canDelete","displayCanvasBorder","autoscrolling","EDIT","dashboardV1Config","version","baseStructure","widgetConfigs","DASHBOARD","v1","allowedOperators","isOperator","value","includes","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","length","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","validatedObj","keys","forEach","key","fullKey","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","validFontSizes","filter","size","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","map","item","prototype","hasOwnProperty","call","toString","VALID_ROLES","MANAGER","USER","validateUserRole","role","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","viewDefinition","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculateDefaults","calculatePermissionMapArray","reduce","mapValue","push","customConditionals","conditional","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","structureInstanceMap","Map","DEFAULT_USER_ROLE","buildStructureInstance","widget","userRole","widgetConfigurability","Error","structureMap","WidgetStructureInstance","constructor","viewMap","isVisible","hasPermission","getCanvasPermissions","mode","getChildMap","getSubmodule","module","getDefaults"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum UserRole {\n MANAGER = 'MANAGER',\n USER = 'USER',\n}\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n}\n\nexport enum WidgetVersion {\n v1 = '1.0',\n}\n","import { ApiProperty } from '@nestjs/swagger';\n\nexport class ViewsDto {\n @ApiProperty({\n type: [String],\n description: 'Keys to show in list view',\n example: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n })\n list!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in design view',\n example: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n })\n design!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in preview view',\n example: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n })\n preview!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in end user view',\n example: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n })\n endUser!: string[];\n}\n\nexport class AssetListDto {\n @ApiProperty({\n type: Object,\n description: 'Default settings for the asset list',\n example: { assetListViewMode: 'card' },\n })\n defaults!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Per-asset option menu configuration',\n example: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n })\n asset!: Record<string, unknown>;\n}\n\nexport class MenuBarDto {\n @ApiProperty({\n type: Object,\n description: 'File menu definitions (nested structures allowed)',\n example: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n },\n })\n file!: Record<string, unknown>;\n\n @ApiProperty({\n type: [String],\n description: 'Edit menu options',\n example: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n })\n edit!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Grid menu toggles',\n example: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n })\n grid!: string[];\n\n @ApiProperty({\n type: [Object],\n description: 'Insert menu definitions (nested items allowed)',\n example: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n })\n insert!: (Record<string, unknown> | string)[];\n\n @ApiProperty({\n type: [Object],\n description: 'Arrange menu definitions with nested align options',\n example: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n })\n qArrange!: (Record<string, unknown> | string)[];\n}\n\nexport class FilterPanelDto {\n @ApiProperty({ description: 'Toggle adding filters', example: true })\n qAddFilter!: boolean;\n\n @ApiProperty({\n description: 'Toggle enabling/disabling all filters',\n example: true,\n })\n qEnabDisabAllFilters!: boolean;\n\n @ApiProperty({ description: 'Toggle deleting all filters', example: true })\n qDeleteAllFilters!: boolean;\n\n @ApiProperty({ description: 'Filter settings menu', example: true })\n qFilterSettings!: boolean;\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to dashboard filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n dashFilterScope!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to tab filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n tabFilterScope!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to panel filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n panelFilterScope!: string[];\n}\n\nexport class SubModulesDto {\n @ApiProperty({\n type: Object,\n description: 'Chart panel submodule',\n example: {},\n })\n chartPanel!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Chart gallery submodule',\n example: {},\n })\n chartGallery!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Chart builder submodule',\n example: {},\n })\n chartBuilder!: Record<string, unknown>;\n}\n\nexport class BaseDashboardV1StructureDto {\n @ApiProperty({ type: ViewsDto, description: 'View mode definitions' })\n views!: ViewsDto;\n\n @ApiProperty({\n type: [String],\n description: 'Navbar component keys',\n example: ['qAppTitle', 'qBackButton'],\n })\n navBar!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'End-user top bar component keys',\n example: ['indicator', 'options'],\n })\n endUserTopBar!: string[];\n\n @ApiProperty({\n type: AssetListDto,\n description: 'Asset list component settings',\n })\n assetList!: AssetListDto;\n\n @ApiProperty({\n type: [String],\n description: 'Left control bar component keys',\n example: ['qCreateDash'],\n })\n controlBarLeft!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Right control bar component keys',\n example: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n })\n controlBarRight!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Header component keys',\n example: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n })\n header!: string[];\n\n @ApiProperty({\n type: MenuBarDto,\n description: 'Main menu bar configuration',\n })\n menuBar!: MenuBarDto;\n\n @ApiProperty({\n type: [Object],\n description: 'Toolbar items (strings or nested definitions)',\n example: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n })\n toolBar!: (string | Record<string, unknown>)[];\n\n @ApiProperty({\n description: 'Whether the config panel is enabled',\n example: true,\n })\n configPanel!: boolean;\n\n @ApiProperty({ type: FilterPanelDto, description: 'Filter panel controls' })\n filterPanel!: FilterPanelDto;\n\n @ApiProperty({\n type: [String],\n description: 'Download modal options',\n example: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n })\n downloadModal!: string[];\n\n @ApiProperty({\n type: SubModulesDto,\n description: 'Submodule configurations',\n })\n subModules!: SubModulesDto;\n}\n","export interface CanvasModeConfig {\n canDrag: boolean;\n canResize: boolean;\n canSelectMultiple: boolean;\n canDelete: boolean;\n displayCanvasBorder?: boolean;\n autoscrolling?: boolean | (() => boolean);\n}\n\nexport enum CanvasMode {\n VIEW = 'VIEW',\n EDIT = 'EDIT',\n INTERACTIVE_VIEW = 'INTERACTIVE_VIEW',\n}\n","import { CanvasMode, CanvasModeConfig } from '../interfaces/canvas.interface';\n\nexport const canvasModePermissions: Partial<\n Record<CanvasMode, CanvasModeConfig>\n> = {\n [CanvasMode.INTERACTIVE_VIEW]: {\n canDrag: true,\n canResize: true,\n canSelectMultiple: false,\n canDelete: true,\n displayCanvasBorder: false,\n autoscrolling: true,\n },\n [CanvasMode.EDIT]: {\n canDrag: true,\n canResize: true,\n canSelectMultiple: true,\n canDelete: true,\n displayCanvasBorder: true,\n autoscrolling: true,\n },\n};\n","import { WidgetConfig } from '../models/structure.models';\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n preview: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n endUser: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n\n header: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import dashboardV1Config from './dashboard.structure.v1';\nimport { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n },\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ValidationFN<T = any> = (value: T) => T | undefined;\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\nexport type ValidationMap = Record<string, ValidationFN>;\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] = value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n) {\n return applyValidation(obj, validatorMap);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n};\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n UserRole,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\nconst VALID_ROLES = [UserRole.MANAGER, UserRole.USER];\n\n/**\n * Validates if a role is valid\n * @param role role to be validated\n * @returns boolean response checking if the user is in a valid role\n */\nexport function validateUserRole(role?: string) {\n if (!role) return false;\n return VALID_ROLES.includes(role as UserRole);\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n return calculateViewMap(config.baseStructure, customization, validationMap);\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n }\n return permissionMap;\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n) {\n const viewDefinition = config.views![view];\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { keep = [] } = customization;\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const canInsert =\n !includedInRemove &&\n (!validateKeepOption || keyIsIncludedInKeep(key, customization));\n\n const keepValue = keyIsIncludedInKeep(key, customization)\n ? 'keep'\n : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n { viewKeys, viewPrefix = '', hasKeepOption }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(key, customization, hasKeepOption === 'root')\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n): WidgetConditionMap[] | undefined {\n const customConditionals = customization?.conditional;\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, { checkCondition: true }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n return validationMap && defaultObj\n ? validateDefaults(defaultObj, validationMap)\n : defaultObj;\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { canvasModePermissions } from './config/structural-manager.config';\nimport { widgetConfigs } from './constants/configs';\nimport {\n UserRole,\n Widget,\n WidgetVersion,\n} from './constants/structure.constants';\nimport { CanvasMode } from './interfaces/canvas.interface';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { WidgetItemCondition, WidgetViewMap } from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport { DX_VALIDATOR_MAP } from './utils/defaults.helpers';\nimport {\n getWidgetStructure,\n validateUserRole,\n} from './utils/structural.helpers';\n\nexport const structureInstanceMap = new Map<string, WidgetStructureInstance>();\nexport const DEFAULT_USER_ROLE = UserRole.MANAGER;\n\nexport function buildStructureInstance(\n widget: Widget,\n version: WidgetVersion,\n customization?: WidgetCustomization,\n userRole = '',\n) {\n const widgetConfigurability = widgetConfigs[widget]?.[version];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n const structureMap = getWidgetStructure(\n widgetConfigurability,\n customization,\n DX_VALIDATOR_MAP,\n );\n const role = validateUserRole(userRole) ? userRole : DEFAULT_USER_ROLE;\n return new WidgetStructureInstance(structureMap, role);\n}\n\nexport class WidgetStructureInstance {\n constructor(\n private viewMap: WidgetViewMap,\n private role?: string,\n ) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n hasPermission() {\n return this.role === DEFAULT_USER_ROLE;\n }\n\n getCanvasPermissions(mode: CanvasMode) {\n return canvasModePermissions[mode];\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/doc/dashboard.structure.doc.ts","../../src/structures/dashboard.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/defaults.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WidgetVersion","ViewsDto","list","design","preview","endUser","type","String","description","example","AssetListDto","defaults","asset","Object","assetListViewMode","optionMenu","MenuBarDto","file","edit","grid","insert","qArrange","qMnuDownloadDash","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuAlign","FilterPanelDto","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","dashFilterScope","tabFilterScope","panelFilterScope","SubModulesDto","chartPanel","chartGallery","chartBuilder","BaseDashboardV1StructureDto","views","navBar","endUserTopBar","assetList","controlBarLeft","controlBarRight","header","menuBar","toolBar","configPanel","filterPanel","downloadModal","subModules","qInsertChart","qInsertFilterCtrl","qDownloadDash","qResponsiveView","qAlign","dashboardV1Config","version","baseStructure","qMnuArrange","widgetConfigs","DASHBOARD","v1","latest","allowedOperators","isOperator","value","includes","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","length","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","validatedObj","keys","forEach","key","fullKey","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","validFontSizes","filter","size","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","map","item","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","viewDefinition","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculateDefaults","calculatePermissionMapArray","reduce","mapValue","push","customConditionals","conditional","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","buildStructure","widget","versionSet","widgetConfigurability","Error","structureMap","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n}\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","import { ApiProperty } from '@nestjs/swagger';\n\nexport class ViewsDto {\n @ApiProperty({\n type: [String],\n description: 'Keys to show in list view',\n example: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n })\n list!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in design view',\n example: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n })\n design!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in preview view',\n example: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n })\n preview!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Keys to show in end user view',\n example: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n })\n endUser!: string[];\n}\n\nexport class AssetListDto {\n @ApiProperty({\n type: Object,\n description: 'Default settings for the asset list',\n example: { assetListViewMode: 'card' },\n })\n defaults!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Per-asset option menu configuration',\n example: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n })\n asset!: Record<string, unknown>;\n}\n\nexport class MenuBarDto {\n @ApiProperty({\n type: Object,\n description: 'File menu definitions (nested structures allowed)',\n example: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n },\n })\n file!: Record<string, unknown>;\n\n @ApiProperty({\n type: [String],\n description: 'Edit menu options',\n example: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n })\n edit!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Grid menu toggles',\n example: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n })\n grid!: string[];\n\n @ApiProperty({\n type: [Object],\n description: 'Insert menu definitions (nested items allowed)',\n example: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n })\n insert!: (Record<string, unknown> | string)[];\n\n @ApiProperty({\n type: [Object],\n description: 'Arrange menu definitions with nested align options',\n example: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n })\n qArrange!: (Record<string, unknown> | string)[];\n}\n\nexport class FilterPanelDto {\n @ApiProperty({ description: 'Toggle adding filters', example: true })\n qAddFilter!: boolean;\n\n @ApiProperty({\n description: 'Toggle enabling/disabling all filters',\n example: true,\n })\n qEnabDisabAllFilters!: boolean;\n\n @ApiProperty({ description: 'Toggle deleting all filters', example: true })\n qDeleteAllFilters!: boolean;\n\n @ApiProperty({ description: 'Filter settings menu', example: true })\n qFilterSettings!: boolean;\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to dashboard filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n dashFilterScope!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to tab filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n tabFilterScope!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Actions scoped to panel filters',\n example: ['qEditFilter', 'qEnabDisabFilter', 'qDeleteFilter'],\n })\n panelFilterScope!: string[];\n}\n\nexport class SubModulesDto {\n @ApiProperty({\n type: Object,\n description: 'Chart panel submodule',\n example: {},\n })\n chartPanel!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Chart gallery submodule',\n example: {},\n })\n chartGallery!: Record<string, unknown>;\n\n @ApiProperty({\n type: Object,\n description: 'Chart builder submodule',\n example: {},\n })\n chartBuilder!: Record<string, unknown>;\n}\n\nexport class BaseDashboardV1StructureDto {\n @ApiProperty({ type: ViewsDto, description: 'View mode definitions' })\n views!: ViewsDto;\n\n @ApiProperty({\n type: [String],\n description: 'Navbar component keys',\n example: ['qAppTitle', 'qBackButton'],\n })\n navBar!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'End-user top bar component keys',\n example: ['indicator', 'options'],\n })\n endUserTopBar!: string[];\n\n @ApiProperty({\n type: AssetListDto,\n description: 'Asset list component settings',\n })\n assetList!: AssetListDto;\n\n @ApiProperty({\n type: [String],\n description: 'Left control bar component keys',\n example: ['qCreateDash'],\n })\n controlBarLeft!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Right control bar component keys',\n example: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n })\n controlBarRight!: string[];\n\n @ApiProperty({\n type: [String],\n description: 'Header component keys',\n example: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n })\n header!: string[];\n\n @ApiProperty({\n type: MenuBarDto,\n description: 'Main menu bar configuration',\n })\n menuBar!: MenuBarDto;\n\n @ApiProperty({\n type: [Object],\n description: 'Toolbar items (strings or nested definitions)',\n example: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n })\n toolBar!: (string | Record<string, unknown>)[];\n\n @ApiProperty({\n description: 'Whether the config panel is enabled',\n example: true,\n })\n configPanel!: boolean;\n\n @ApiProperty({ type: FilterPanelDto, description: 'Filter panel controls' })\n filterPanel!: FilterPanelDto;\n\n @ApiProperty({\n type: [String],\n description: 'Download modal options',\n example: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n })\n downloadModal!: string[];\n\n @ApiProperty({\n type: SubModulesDto,\n description: 'Submodule configurations',\n })\n subModules!: SubModulesDto;\n}\n","import { WidgetConfig } from '../models/structure.models';\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n preview: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n endUser: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n\n header: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ValidationFN<T = any> = (value: T) => T | undefined;\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\nexport type ValidationMap = Record<string, ValidationFN>;\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] = value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n) {\n return applyValidation(obj, validatorMap);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n};\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n return calculateViewMap(config.baseStructure, customization, validationMap);\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n }\n return permissionMap;\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n) {\n const viewDefinition = config.views![view];\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { keep = [] } = customization;\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const canInsert =\n !includedInRemove &&\n (!validateKeepOption || keyIsIncludedInKeep(key, customization));\n\n const keepValue = keyIsIncludedInKeep(key, customization)\n ? 'keep'\n : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n { viewKeys, viewPrefix = '', hasKeepOption }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(key, customization, hasKeepOption === 'root')\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n): WidgetConditionMap[] | undefined {\n const customConditionals = customization?.conditional;\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, { checkCondition: true }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n return validationMap && defaultObj\n ? validateDefaults(defaultObj, validationMap)\n : defaultObj;\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs } from './constants/configs';\nimport { Widget, WidgetVersion } from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { WidgetItemCondition, WidgetViewMap } from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport { DX_VALIDATOR_MAP } from './utils/defaults.helpers';\nimport { getWidgetStructure } from './utils/structural.helpers';\n\nexport function buildStructure(\n widget: Widget,\n version?: WidgetVersion,\n customization?: WidgetCustomization,\n) {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n const structureMap = getWidgetStructure(\n widgetConfigurability,\n customization,\n DX_VALIDATOR_MAP,\n );\n return new WidgetStructureInstance(structureMap);\n}\n\nexport class WidgetStructureInstance {\n constructor(private viewMap: WidgetViewMap) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n}\n"]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
declare enum UserRole {
|
|
2
|
-
MANAGER = "MANAGER",
|
|
3
|
-
USER = "USER"
|
|
4
|
-
}
|
|
5
1
|
declare enum Widget {
|
|
6
2
|
DASHBOARD = "dashboard"
|
|
7
3
|
}
|
|
8
4
|
declare enum WidgetVersion {
|
|
9
|
-
v1 = "1.0"
|
|
5
|
+
v1 = "1.0",
|
|
6
|
+
latest = "latest"
|
|
10
7
|
}
|
|
11
8
|
|
|
12
9
|
declare class ViewsDto {
|
|
@@ -72,20 +69,6 @@ declare namespace dashboard_structure_doc {
|
|
|
72
69
|
export { dashboard_structure_doc_AssetListDto as AssetListDto, dashboard_structure_doc_BaseDashboardV1StructureDto as BaseDashboardV1StructureDto, dashboard_structure_doc_FilterPanelDto as FilterPanelDto, dashboard_structure_doc_MenuBarDto as MenuBarDto, dashboard_structure_doc_SubModulesDto as SubModulesDto, dashboard_structure_doc_ViewsDto as ViewsDto };
|
|
73
70
|
}
|
|
74
71
|
|
|
75
|
-
interface CanvasModeConfig {
|
|
76
|
-
canDrag: boolean;
|
|
77
|
-
canResize: boolean;
|
|
78
|
-
canSelectMultiple: boolean;
|
|
79
|
-
canDelete: boolean;
|
|
80
|
-
displayCanvasBorder?: boolean;
|
|
81
|
-
autoscrolling?: boolean | (() => boolean);
|
|
82
|
-
}
|
|
83
|
-
declare enum CanvasMode {
|
|
84
|
-
VIEW = "VIEW",
|
|
85
|
-
EDIT = "EDIT",
|
|
86
|
-
INTERACTIVE_VIEW = "INTERACTIVE_VIEW"
|
|
87
|
-
}
|
|
88
|
-
|
|
89
72
|
declare const allowedOperators: readonly ["=", "!=", ">", ">=", "<", "<=", "startsWith", "endsWith", "contains"];
|
|
90
73
|
type Operators = (typeof allowedOperators)[number];
|
|
91
74
|
type ConditionValue = string | number;
|
|
@@ -128,19 +111,15 @@ interface WidgetViewMapItemObj {
|
|
|
128
111
|
type WidgetViewMapItem = string | boolean | WidgetViewMapItemObj | Record<string, SectionValue>;
|
|
129
112
|
type WidgetViewMap = Record<string, WidgetViewMapItem>;
|
|
130
113
|
|
|
131
|
-
declare
|
|
132
|
-
declare function buildStructureInstance(widget: Widget, version: WidgetVersion, customization?: WidgetCustomization, userRole?: string): WidgetStructureInstance;
|
|
114
|
+
declare function buildStructure(widget: Widget, version?: WidgetVersion, customization?: WidgetCustomization): WidgetStructureInstance;
|
|
133
115
|
declare class WidgetStructureInstance {
|
|
134
116
|
private viewMap;
|
|
135
|
-
|
|
136
|
-
constructor(viewMap: WidgetViewMap, role?: string | undefined);
|
|
117
|
+
constructor(viewMap: WidgetViewMap);
|
|
137
118
|
private getValue;
|
|
138
119
|
isVisible(key: string, state?: ConditionState): boolean;
|
|
139
|
-
hasPermission(): boolean;
|
|
140
|
-
getCanvasPermissions(mode: CanvasMode): CanvasModeConfig | undefined;
|
|
141
120
|
getChildMap(key: string): WidgetViewMap | undefined;
|
|
142
121
|
getSubmodule(module: string, view?: string): WidgetCustomization | undefined;
|
|
143
122
|
getDefaults(key: string): Record<string, unknown> | undefined;
|
|
144
123
|
}
|
|
145
124
|
|
|
146
|
-
export { dashboard_structure_doc as DashboardDoc,
|
|
125
|
+
export { dashboard_structure_doc as DashboardDoc, Widget, WidgetStructureInstance, WidgetVersion, buildStructure };
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canvasModePermissions = void 0;
|
|
4
|
-
const canvas_interface_1 = require("../interfaces/canvas.interface");
|
|
5
|
-
exports.canvasModePermissions = {
|
|
6
|
-
[canvas_interface_1.CanvasMode.INTERACTIVE_VIEW]: {
|
|
7
|
-
canDrag: true,
|
|
8
|
-
canResize: true,
|
|
9
|
-
canSelectMultiple: false,
|
|
10
|
-
canDelete: true,
|
|
11
|
-
displayCanvasBorder: false,
|
|
12
|
-
autoscrolling: true,
|
|
13
|
-
},
|
|
14
|
-
[canvas_interface_1.CanvasMode.EDIT]: {
|
|
15
|
-
canDrag: true,
|
|
16
|
-
canResize: true,
|
|
17
|
-
canSelectMultiple: true,
|
|
18
|
-
canDelete: true,
|
|
19
|
-
displayCanvasBorder: true,
|
|
20
|
-
autoscrolling: true,
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=structural-manager.config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"structural-manager.config.js","sourceRoot":"","sources":["../../../src/config/structural-manager.config.ts"],"names":[],"mappings":";;;AAAA,qEAA8E;AAEjE,QAAA,qBAAqB,GAE9B;IACA,CAAC,6BAAU,CAAC,gBAAgB,CAAC,EAAE;QAC3B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,IAAI;KACtB;IACD,CAAC,6BAAU,CAAC,IAAI,CAAC,EAAE;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,IAAI;KACtB;CACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.structure.v1.js","sourceRoot":"","sources":["../../../src/constants/dashboard.structure.v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CanvasMode = void 0;
|
|
4
|
-
var CanvasMode;
|
|
5
|
-
(function (CanvasMode) {
|
|
6
|
-
CanvasMode["VIEW"] = "VIEW";
|
|
7
|
-
CanvasMode["EDIT"] = "EDIT";
|
|
8
|
-
CanvasMode["INTERACTIVE_VIEW"] = "INTERACTIVE_VIEW";
|
|
9
|
-
})(CanvasMode || (exports.CanvasMode = CanvasMode = {}));
|
|
10
|
-
//# sourceMappingURL=canvas.interface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.interface.js","sourceRoot":"","sources":["../../../src/interfaces/canvas.interface.ts"],"names":[],"mappings":";;;AASA,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,mDAAqC,CAAA;AACzC,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
|