@cyberismo/data-handler 0.0.7 → 0.0.9
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/dist/command-handler.d.ts +11 -2
- package/dist/command-handler.js +61 -18
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.js +8 -8
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/calculate.d.ts +7 -44
- package/dist/commands/calculate.js +8 -389
- package/dist/commands/calculate.js.map +1 -1
- package/dist/commands/create.d.ts +7 -4
- package/dist/commands/create.js +42 -15
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +9 -3
- package/dist/commands/edit.js +33 -9
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +13 -11
- package/dist/commands/export.js +80 -28
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +7 -0
- package/dist/commands/import.js +21 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +11 -12
- package/dist/commands/move.js +12 -13
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +2 -4
- package/dist/commands/remove.js +8 -16
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +1 -3
- package/dist/commands/rename.js +3 -6
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +37 -5
- package/dist/commands/show.js +85 -7
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +1 -3
- package/dist/commands/transition.js +3 -5
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +5 -1
- package/dist/commands/update.js +7 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +7 -8
- package/dist/commands/validate.js +30 -35
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +6 -0
- package/dist/containers/card-container.js +61 -0
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +90 -0
- package/dist/containers/project/calculation-engine.js +402 -0
- package/dist/containers/project/calculation-engine.js.map +1 -0
- package/dist/containers/project/resource-collector.d.ts +2 -1
- package/dist/containers/project/resource-collector.js +41 -33
- package/dist/containers/project/resource-collector.js.map +1 -1
- package/dist/containers/project.d.ts +18 -6
- package/dist/containers/project.js +37 -72
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +5 -0
- package/dist/containers/template.js +9 -0
- package/dist/containers/template.js.map +1 -1
- package/dist/exceptions/index.d.ts +20 -0
- package/dist/exceptions/index.js +16 -0
- package/dist/exceptions/index.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/macros.d.ts +7 -2
- package/dist/interfaces/project-interfaces.d.ts +21 -0
- package/dist/interfaces/project-interfaces.js +4 -0
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +1 -1
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/base-macro.d.ts +2 -0
- package/dist/macros/base-macro.js +66 -19
- package/dist/macros/base-macro.js.map +1 -1
- package/dist/macros/common.d.ts +16 -9
- package/dist/macros/common.js +22 -9
- package/dist/macros/common.js.map +1 -1
- package/dist/macros/createCards/index.d.ts +1 -2
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/graph/index.d.ts +1 -3
- package/dist/macros/graph/index.js +11 -9
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/image/index.d.ts +39 -0
- package/dist/macros/image/index.js +78 -0
- package/dist/macros/image/index.js.map +1 -0
- package/dist/macros/image/metadata.d.ts +18 -0
- package/dist/macros/image/metadata.js +22 -0
- package/dist/macros/image/metadata.js.map +1 -0
- package/dist/macros/include/index.d.ts +32 -0
- package/dist/macros/include/index.js +97 -0
- package/dist/macros/include/index.js.map +1 -0
- package/dist/macros/include/metadata.d.ts +15 -0
- package/dist/macros/include/metadata.js +19 -0
- package/dist/macros/include/metadata.js.map +1 -0
- package/dist/macros/index.d.ts +39 -31
- package/dist/macros/index.js +167 -73
- package/dist/macros/index.js.map +1 -1
- package/dist/macros/percentage/index.d.ts +29 -0
- package/dist/macros/percentage/index.js +36 -0
- package/dist/macros/percentage/index.js.map +1 -0
- package/dist/macros/percentage/metadata.d.ts +15 -0
- package/dist/macros/percentage/metadata.js +19 -0
- package/dist/macros/percentage/metadata.js.map +1 -0
- package/dist/macros/report/index.d.ts +2 -5
- package/dist/macros/report/index.js +20 -12
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/scoreCard/index.d.ts +15 -15
- package/dist/macros/scoreCard/index.js +16 -17
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/vega/index.d.ts +28 -0
- package/dist/macros/vega/index.js +27 -0
- package/dist/macros/vega/index.js.map +1 -0
- package/dist/macros/vega/metadata.d.ts +15 -0
- package/dist/macros/vega/metadata.js +7 -0
- package/dist/macros/vega/metadata.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +27 -0
- package/dist/macros/vegalite/index.js +27 -0
- package/dist/macros/vegalite/index.js.map +1 -0
- package/dist/macros/vegalite/metadata.d.ts +15 -0
- package/dist/macros/vegalite/metadata.js +7 -0
- package/dist/macros/vegalite/metadata.js.map +1 -0
- package/dist/macros/xref/index.d.ts +26 -0
- package/dist/macros/xref/index.js +53 -0
- package/dist/macros/xref/index.js.map +1 -0
- package/dist/macros/xref/metadata.d.ts +15 -0
- package/dist/macros/xref/metadata.js +19 -0
- package/dist/macros/xref/metadata.js.map +1 -0
- package/dist/module-manager.d.ts +17 -4
- package/dist/module-manager.js +192 -58
- package/dist/module-manager.js.map +1 -1
- package/dist/permissions/action-guard.d.ts +2 -2
- package/dist/permissions/action-guard.js +1 -1
- package/dist/permissions/action-guard.js.map +1 -1
- package/dist/project-settings.js +2 -8
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +2 -0
- package/dist/resources/card-type-resource.js +63 -0
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +2 -0
- package/dist/resources/file-resource.js +12 -4
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +19 -0
- package/dist/resources/folder-resource.js +51 -2
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.js +1 -1
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.js +1 -1
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/report-resource.js +1 -1
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +8 -0
- package/dist/resources/resource-object.js +9 -0
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.js +1 -1
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +2 -0
- package/dist/resources/workflow-resource.js +53 -9
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/svg/index.d.ts +15 -0
- package/dist/svg/index.js +16 -0
- package/dist/svg/index.js.map +1 -0
- package/dist/svg/lib.d.ts +9 -0
- package/dist/svg/lib.js +26 -0
- package/dist/svg/lib.js.map +1 -0
- package/dist/svg/percentage.d.ts +25 -0
- package/dist/svg/percentage.js +90 -0
- package/dist/svg/percentage.js.map +1 -0
- package/dist/svg/scoreCard.d.ts +19 -0
- package/dist/svg/scoreCard.js +55 -0
- package/dist/svg/scoreCard.js.map +1 -0
- package/dist/types/queries.d.ts +8 -7
- package/dist/types/queries.js.map +1 -1
- package/dist/utils/card-utils.d.ts +6 -0
- package/dist/utils/card-utils.js +12 -0
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-facts.d.ts +2 -1
- package/dist/utils/clingo-facts.js +19 -2
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.d.ts +1 -0
- package/dist/utils/clingo-parser.js +22 -100
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +7 -0
- package/dist/utils/constants.js +14 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/report.d.ts +17 -3
- package/dist/utils/report.js +38 -2
- package/dist/utils/report.js.map +1 -1
- package/dist/utils/resource-utils.d.ts +1 -0
- package/dist/utils/resource-utils.js +9 -0
- package/dist/utils/resource-utils.js.map +1 -1
- package/dist/utils/user-preferences.d.ts +1 -11
- package/dist/utils/user-preferences.js +30 -13
- package/dist/utils/user-preferences.js.map +1 -1
- package/dist/utils/validate.d.ts +2 -3
- package/dist/utils/validate.js +2 -2
- package/dist/utils/validate.js.map +1 -1
- package/package.json +8 -6
- package/src/command-handler.ts +96 -17
- package/src/command-manager.ts +8 -8
- package/src/commands/calculate.ts +11 -525
- package/src/commands/create.ts +53 -16
- package/src/commands/edit.ts +53 -11
- package/src/commands/export.ts +108 -34
- package/src/commands/import.ts +31 -2
- package/src/commands/move.ts +12 -15
- package/src/commands/remove.ts +10 -19
- package/src/commands/rename.ts +3 -12
- package/src/commands/show.ts +121 -8
- package/src/commands/transition.ts +3 -7
- package/src/commands/update.ts +6 -0
- package/src/commands/validate.ts +39 -47
- package/src/containers/card-container.ts +74 -0
- package/src/containers/project/calculation-engine.ts +535 -0
- package/src/containers/project/resource-collector.ts +45 -26
- package/src/containers/project.ts +66 -84
- package/src/containers/template.ts +16 -0
- package/src/exceptions/index.ts +36 -0
- package/src/index.ts +13 -2
- package/src/interfaces/macros.ts +7 -1
- package/src/interfaces/project-interfaces.ts +27 -0
- package/src/interfaces/resource-interfaces.ts +1 -0
- package/src/macros/base-macro.ts +89 -25
- package/src/macros/common.ts +22 -9
- package/src/macros/createCards/index.ts +1 -2
- package/src/macros/graph/index.ts +17 -12
- package/src/macros/image/index.ts +121 -0
- package/src/macros/image/metadata.ts +25 -0
- package/src/macros/include/index.ts +147 -0
- package/src/macros/include/metadata.ts +22 -0
- package/src/macros/index.ts +179 -100
- package/src/macros/percentage/index.ts +54 -0
- package/src/macros/percentage/metadata.ts +22 -0
- package/src/macros/report/index.ts +22 -17
- package/src/macros/scoreCard/index.ts +23 -23
- package/src/macros/vega/index.ts +55 -0
- package/src/macros/vega/metadata.ts +21 -0
- package/src/macros/vegalite/index.ts +50 -0
- package/src/macros/vegalite/metadata.ts +21 -0
- package/src/macros/xref/index.ts +73 -0
- package/src/macros/xref/metadata.ts +22 -0
- package/src/module-manager.ts +241 -69
- package/src/permissions/action-guard.ts +3 -3
- package/src/project-settings.ts +2 -11
- package/src/resources/card-type-resource.ts +100 -0
- package/src/resources/file-resource.ts +16 -4
- package/src/resources/folder-resource.ts +59 -2
- package/src/resources/graph-model-resource.ts +1 -1
- package/src/resources/graph-view-resource.ts +1 -1
- package/src/resources/report-resource.ts +1 -1
- package/src/resources/resource-object.ts +14 -0
- package/src/resources/template-resource.ts +1 -1
- package/src/resources/workflow-resource.ts +68 -13
- package/src/svg/index.ts +15 -0
- package/src/svg/lib.ts +31 -0
- package/src/svg/percentage.ts +97 -0
- package/src/svg/scoreCard.ts +88 -0
- package/src/types/queries.ts +8 -7
- package/src/types/string-pixel-width.d.ts +23 -0
- package/src/utils/card-utils.ts +13 -0
- package/src/utils/clingo-facts.ts +65 -3
- package/src/utils/clingo-parser.ts +31 -144
- package/src/utils/constants.ts +16 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/report.ts +45 -4
- package/src/utils/resource-utils.ts +9 -0
- package/src/utils/user-preferences.ts +32 -14
- package/src/utils/validate.ts +3 -3
|
@@ -51,10 +51,8 @@ export class WorkflowResource extends FileResource {
|
|
|
51
51
|
}
|
|
52
52
|
// Handle change of workflow state.
|
|
53
53
|
async handleStateChange(op) {
|
|
54
|
-
const content =
|
|
55
|
-
const stateName = (op
|
|
56
|
-
? op.target.name
|
|
57
|
-
: op.target);
|
|
54
|
+
const content = structuredClone(this.content);
|
|
55
|
+
const stateName = this.targetName(op);
|
|
58
56
|
// Check that state can be changed to
|
|
59
57
|
content.transitions = content.transitions.filter((t) => t.toState !== stateName);
|
|
60
58
|
content.transitions.forEach((t) => {
|
|
@@ -72,10 +70,8 @@ export class WorkflowResource extends FileResource {
|
|
|
72
70
|
// Handle removal of workflow state.
|
|
73
71
|
// State can be removed with or without replacement.
|
|
74
72
|
async handleStateRemoval(op) {
|
|
75
|
-
const content =
|
|
76
|
-
const stateName = (op
|
|
77
|
-
? op.target.name
|
|
78
|
-
: op.target);
|
|
73
|
+
const content = structuredClone(this.content);
|
|
74
|
+
const stateName = this.targetName(op);
|
|
79
75
|
// If there is no replacement value, remove all transitions "to" and "from" this state.
|
|
80
76
|
if (!op.replacementValue) {
|
|
81
77
|
content.transitions = content.transitions.filter((t) => t.toState !== stateName);
|
|
@@ -103,6 +99,32 @@ export class WorkflowResource extends FileResource {
|
|
|
103
99
|
await this.updateCardStates(stateName, replacementState.name);
|
|
104
100
|
}
|
|
105
101
|
}
|
|
102
|
+
// Returns target name irregardless of the type
|
|
103
|
+
targetName(op) {
|
|
104
|
+
const name = op.target.name ? op.target.name : op.target;
|
|
105
|
+
return name;
|
|
106
|
+
}
|
|
107
|
+
// Potentially updates the changed transition with current properties.
|
|
108
|
+
async transitionObject(op) {
|
|
109
|
+
const content = structuredClone(this.content);
|
|
110
|
+
const targetTransitionName = this.targetName(op);
|
|
111
|
+
const currentTransition = content.transitions.filter((item) => item.name === targetTransitionName)[0];
|
|
112
|
+
if (currentTransition) {
|
|
113
|
+
op.to.fromState =
|
|
114
|
+
op.to.fromState.length === 0
|
|
115
|
+
? currentTransition.fromState
|
|
116
|
+
: op.to.fromState;
|
|
117
|
+
op.to.toState = op.to.toState ?? currentTransition.toState;
|
|
118
|
+
}
|
|
119
|
+
if (op.to.name === undefined ||
|
|
120
|
+
op.to.toState === undefined ||
|
|
121
|
+
op.to.fromState == undefined ||
|
|
122
|
+
op.to.fromState.length === 0) {
|
|
123
|
+
throw new Error(`Cannot change transition '${targetTransitionName}' for workflow '${this.content.name}'.
|
|
124
|
+
Updated transition must have 'name', 'toState' and 'fromState' properties.`);
|
|
125
|
+
}
|
|
126
|
+
return op.to;
|
|
127
|
+
}
|
|
106
128
|
// Check if operation is a string operation.
|
|
107
129
|
isStringOperation(op) {
|
|
108
130
|
return typeof op.target === 'string';
|
|
@@ -185,7 +207,7 @@ export class WorkflowResource extends FileResource {
|
|
|
185
207
|
const nameChange = key === 'name';
|
|
186
208
|
const existingName = this.content.name;
|
|
187
209
|
await super.update(key, op);
|
|
188
|
-
const content =
|
|
210
|
+
const content = structuredClone(this.content);
|
|
189
211
|
if (key === 'name') {
|
|
190
212
|
content.name = super.handleScalar(op);
|
|
191
213
|
}
|
|
@@ -198,6 +220,28 @@ export class WorkflowResource extends FileResource {
|
|
|
198
220
|
else {
|
|
199
221
|
throw new Error(`Unknown property '${key}' for Workflow`);
|
|
200
222
|
}
|
|
223
|
+
// If workflow transition is removed, then above call to 'handleArray' is all that is needed.
|
|
224
|
+
if (key === 'transitions' && op.name === 'change') {
|
|
225
|
+
// If workflow transition is changed, update to full object and change the content.
|
|
226
|
+
let changeOp;
|
|
227
|
+
if (this.isStringOperation(op)) {
|
|
228
|
+
const targetTransition = this.content.transitions.find((transition) => transition.name === op.target);
|
|
229
|
+
changeOp = {
|
|
230
|
+
name: 'change',
|
|
231
|
+
target: targetTransition,
|
|
232
|
+
to: {
|
|
233
|
+
name: op.to,
|
|
234
|
+
toState: targetTransition.toState,
|
|
235
|
+
fromState: targetTransition.fromState,
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
changeOp = op;
|
|
241
|
+
}
|
|
242
|
+
const newTransition = await this.transitionObject(changeOp);
|
|
243
|
+
content.transitions = content.transitions.map((item) => item.name == newTransition.name ? newTransition : item);
|
|
244
|
+
}
|
|
201
245
|
if (key === 'states' && op.name === 'remove') {
|
|
202
246
|
// If workflow state is removed, remove all transitions "to" and "from" this state.
|
|
203
247
|
let removeOp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-resource.js","sourceRoot":"","sources":["../../src/resources/workflow-resource.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-resource.js","sourceRoot":"","sources":["../../src/resources/workflow-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
export * from './scoreCard.js';
|
|
15
|
+
export * from './percentage.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
export * from './scoreCard.js';
|
|
15
|
+
export * from './percentage.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/svg/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AACF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Measures the width of a text string
|
|
3
|
+
* @param text - The text to measure
|
|
4
|
+
* @param font - The font to use
|
|
5
|
+
* @param size - The size of the font
|
|
6
|
+
* @param bold - Whether the text is bold
|
|
7
|
+
* @returns The width of the text
|
|
8
|
+
*/
|
|
9
|
+
export declare function measureTextWidth(text: string, font: string, size: number, bold?: boolean): number;
|
package/dist/svg/lib.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
import pixelWidth from 'string-pixel-width';
|
|
15
|
+
/**
|
|
16
|
+
* Measures the width of a text string
|
|
17
|
+
* @param text - The text to measure
|
|
18
|
+
* @param font - The font to use
|
|
19
|
+
* @param size - The size of the font
|
|
20
|
+
* @param bold - Whether the text is bold
|
|
21
|
+
* @returns The width of the text
|
|
22
|
+
*/
|
|
23
|
+
export function measureTextWidth(text, font, size, bold = false) {
|
|
24
|
+
return pixelWidth(text, { font, size, bold });
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/svg/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AACF,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAI,GAAG,KAAK;IAEZ,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
7
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
8
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
See the GNU Affero General Public License for more details.
|
|
10
|
+
You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
interface PercentageOptions {
|
|
14
|
+
title: string;
|
|
15
|
+
value: number;
|
|
16
|
+
legend: string;
|
|
17
|
+
colour?: 'blue' | 'green' | 'yellow' | 'red' | 'orange' | 'purple';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a percentage widget as an SVG
|
|
21
|
+
* @param options - The options for the percentage
|
|
22
|
+
* @returns The widget as an SVG
|
|
23
|
+
*/
|
|
24
|
+
export declare function percentage(options: PercentageOptions): string;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
7
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
8
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
See the GNU Affero General Public License for more details.
|
|
10
|
+
You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
const SIZE = 160;
|
|
14
|
+
const STROKE = 18;
|
|
15
|
+
const R = (SIZE - STROKE) / 2;
|
|
16
|
+
const CIRC = 2 * Math.PI * R;
|
|
17
|
+
const TITLE_HEIGHT = 70; // Space for the title above the donut
|
|
18
|
+
const EXTRA_WIDTH = 80; // Extra width for the title area
|
|
19
|
+
const SVG_WIDTH = SIZE + EXTRA_WIDTH;
|
|
20
|
+
// SVG_HEIGHT will be calculated dynamically below
|
|
21
|
+
const TITLE_FONT_SIZE = 22;
|
|
22
|
+
const VALUE_FONT_SIZE = 32;
|
|
23
|
+
const LEGEND_FONT_SIZE = 18;
|
|
24
|
+
const DONUT_COLOR_RED = '#b22217';
|
|
25
|
+
const TITLE_Y = 36;
|
|
26
|
+
const LINE_SPACING = 1.2;
|
|
27
|
+
/**
|
|
28
|
+
* Splits a string into lines of up to maxLen characters, breaking at spaces.
|
|
29
|
+
*/
|
|
30
|
+
function wrapText(text, maxLen) {
|
|
31
|
+
const words = text.split(' ');
|
|
32
|
+
const lines = [];
|
|
33
|
+
let current = '';
|
|
34
|
+
for (const word of words) {
|
|
35
|
+
if ((current + (current ? ' ' : '') + word).length > maxLen) {
|
|
36
|
+
if (current)
|
|
37
|
+
lines.push(current);
|
|
38
|
+
current = word;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
current += (current ? ' ' : '') + word;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (current)
|
|
45
|
+
lines.push(current);
|
|
46
|
+
return lines;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Creates a percentage widget as an SVG
|
|
50
|
+
* @param options - The options for the percentage
|
|
51
|
+
* @returns The widget as an SVG
|
|
52
|
+
*/
|
|
53
|
+
export function percentage(options) {
|
|
54
|
+
const { title, value, legend, colour = 'blue' } = options;
|
|
55
|
+
const offset = CIRC * (1 - value / 100);
|
|
56
|
+
const DONUT_COLOR = colour === 'red' ? DONUT_COLOR_RED : colour;
|
|
57
|
+
const titleLines = wrapText(title, 24);
|
|
58
|
+
const donutYOffset = TITLE_Y +
|
|
59
|
+
(titleLines.length - 1) * TITLE_FONT_SIZE * LINE_SPACING +
|
|
60
|
+
TITLE_FONT_SIZE +
|
|
61
|
+
24;
|
|
62
|
+
const donutCenterY = donutYOffset + SIZE / 2 - TITLE_HEIGHT / 2;
|
|
63
|
+
const dynamicSVGHeight = donutYOffset + SIZE / 2 + R + 20;
|
|
64
|
+
return `
|
|
65
|
+
<svg width="${SVG_WIDTH}" height="${dynamicSVGHeight}" viewBox="0 0 ${SVG_WIDTH} ${dynamicSVGHeight}" xmlns="http://www.w3.org/2000/svg">
|
|
66
|
+
<title>${title}</title>
|
|
67
|
+
|
|
68
|
+
<!-- Visible Title (wrapped) -->
|
|
69
|
+
<text x="${SVG_WIDTH / 2}" y="${TITLE_Y}" text-anchor="middle" font-size="${TITLE_FONT_SIZE}" font-weight="bold">
|
|
70
|
+
${titleLines.map((line, i) => `<tspan x='${SVG_WIDTH / 2}' dy='${i === 0 ? 0 : LINE_SPACING}em'>${line}</tspan>`).join('')}
|
|
71
|
+
</text>
|
|
72
|
+
|
|
73
|
+
<!-- Background track -->
|
|
74
|
+
<circle cx="${SVG_WIDTH / 2}" cy="${donutCenterY}" r="${R}"
|
|
75
|
+
fill="none" stroke="#eee" stroke-width="${STROKE}" />
|
|
76
|
+
|
|
77
|
+
<!-- Progress arc -->
|
|
78
|
+
<circle cx="${SVG_WIDTH / 2}" cy="${donutCenterY}" r="${R}"
|
|
79
|
+
fill="none" stroke="${DONUT_COLOR}" stroke-width="${STROKE}"
|
|
80
|
+
stroke-dasharray="${CIRC}" stroke-dashoffset="${offset}"
|
|
81
|
+
stroke-linecap="butt"
|
|
82
|
+
transform="rotate(-90 ${SVG_WIDTH / 2} ${donutCenterY})" />
|
|
83
|
+
|
|
84
|
+
<!-- Numbers -->
|
|
85
|
+
<text x="${SVG_WIDTH / 2}" y="${donutCenterY - 8}" text-anchor="middle" font-size="${VALUE_FONT_SIZE}" font-weight="bold">${value}%</text>
|
|
86
|
+
<text x="${SVG_WIDTH / 2}" y="${donutCenterY + 20}" text-anchor="middle" font-size="${LEGEND_FONT_SIZE}">${legend}</text>
|
|
87
|
+
</svg>
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=percentage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"percentage.js","sourceRoot":"","sources":["../../src/svg/percentage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for the score card
|
|
3
|
+
* @param title - The title of the score card
|
|
4
|
+
* @param value - The value of the score card
|
|
5
|
+
* @param unit - The unit of the score card
|
|
6
|
+
* @param legend - The legend of the score card
|
|
7
|
+
*/
|
|
8
|
+
export interface ScoreCardOptions {
|
|
9
|
+
value: number;
|
|
10
|
+
title?: string;
|
|
11
|
+
legend?: string;
|
|
12
|
+
unit?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates an SVG score card
|
|
16
|
+
* @param options - The options for the score card
|
|
17
|
+
* @returns The SVG score card
|
|
18
|
+
*/
|
|
19
|
+
export declare function scoreCard(options: ScoreCardOptions): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
6
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
7
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
8
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
9
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
See the GNU Affero General Public License for more details.
|
|
11
|
+
You should have received a copy of the GNU Affero General Public
|
|
12
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
|
+
*/
|
|
14
|
+
import { measureTextWidth } from './lib.js';
|
|
15
|
+
// Padding on y-axis
|
|
16
|
+
const PADDING = 24;
|
|
17
|
+
// font used to estimate text width
|
|
18
|
+
const FONT_FAMILY = 'Helvetica';
|
|
19
|
+
const TITLE_SIZE = 16;
|
|
20
|
+
const VALUE_SIZE = 48;
|
|
21
|
+
const UNIT_SIZE = 24;
|
|
22
|
+
const CAPTION_SIZE = 14;
|
|
23
|
+
const UNIT_OFFSET = 3;
|
|
24
|
+
const LINE_GAP_TITLE = 16;
|
|
25
|
+
const LINE_GAP_CAPTION = 16;
|
|
26
|
+
/**
|
|
27
|
+
* Creates an SVG score card
|
|
28
|
+
* @param options - The options for the score card
|
|
29
|
+
* @returns The SVG score card
|
|
30
|
+
*/
|
|
31
|
+
export function scoreCard(options) {
|
|
32
|
+
const { title = '', value, unit = '', legend = '' } = options;
|
|
33
|
+
const titleWidth = measureTextWidth(title, FONT_FAMILY, TITLE_SIZE, false);
|
|
34
|
+
const valueWidth = measureTextWidth(String(value), FONT_FAMILY, VALUE_SIZE, true);
|
|
35
|
+
const unitWidth = measureTextWidth(unit, FONT_FAMILY, UNIT_SIZE, false);
|
|
36
|
+
const captionWidth = measureTextWidth(legend, FONT_FAMILY, CAPTION_SIZE, false);
|
|
37
|
+
const valueLineWidth = valueWidth + unitWidth + UNIT_OFFSET;
|
|
38
|
+
const maxTextWidth = Math.max(titleWidth, valueLineWidth, captionWidth);
|
|
39
|
+
const width = Math.ceil(maxTextWidth + PADDING * 2);
|
|
40
|
+
const titleHeight = title.length > 0 ? TITLE_SIZE + LINE_GAP_TITLE : 0;
|
|
41
|
+
const valueHeight = VALUE_SIZE;
|
|
42
|
+
const captionHeight = legend.length > 0 ? CAPTION_SIZE + LINE_GAP_CAPTION : 0;
|
|
43
|
+
const textBlockHeight = titleHeight + valueHeight + captionHeight;
|
|
44
|
+
const height = Math.ceil(textBlockHeight + PADDING * 2);
|
|
45
|
+
const svgContent = `<svg class="card" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" xmlns="http://www.w3.org/2000/svg">
|
|
46
|
+
<rect rx="8" ry="8" fill="#fff" stroke="#dfe4ea" stroke-width="3" width="${width}" height="${height}"/>
|
|
47
|
+
<g text-anchor="middle">
|
|
48
|
+
<text class="title" x="${width / 2}" y="${TITLE_SIZE / 2 + PADDING}" font-size="${TITLE_SIZE}" font-weight="400" fill="#001829" dominant-baseline="middle">${title}</text>
|
|
49
|
+
<text class="value" x="${width / 2}" y="${titleHeight + VALUE_SIZE / 2 + PADDING}" font-size="${VALUE_SIZE}" font-weight="700" fill="#333" dominant-baseline="middle">${value}<tspan class="unit" font-size="${UNIT_SIZE}" font-weight="400" dx="${UNIT_OFFSET}">${unit}</tspan></text>
|
|
50
|
+
<text class="caption" x="${width / 2}" y="${titleHeight + valueHeight + LINE_GAP_CAPTION + CAPTION_SIZE / 2 + PADDING}" font-size="${CAPTION_SIZE}" font-weight="400" fill="#999" dominant-baseline="middle">${legend}</text>
|
|
51
|
+
</g>
|
|
52
|
+
</svg>`;
|
|
53
|
+
return svgContent;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=scoreCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoreCard.js","sourceRoot":"","sources":["../../src/svg/scoreCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AACF,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAoB;AACpB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,mCAAmC;AACnC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAgB5B;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,gBAAgB,CACjC,MAAM,CAAC,KAAK,CAAC,EACb,WAAW,EACX,UAAU,EACV,IAAI,CACL,CAAC;IACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,gBAAgB,CACnC,MAAM,EACN,WAAW,EACX,YAAY,EACZ,KAAK,CACN,CAAC;IAEF,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,UAAU,CAAC;IAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;IAElE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,4BAA4B,KAAK,aAAa,MAAM,kBAAkB,KAAK,IAAI,MAAM;+EAC3B,KAAK,aAAa,MAAM;;+BAExE,KAAK,GAAG,CAAC,QAAQ,UAAU,GAAG,CAAC,GAAG,OAAO,gBAAgB,UAAU,iEAAiE,KAAK;+BACzI,KAAK,GAAG,CAAC,QAAQ,WAAW,GAAG,UAAU,GAAG,CAAC,GAAG,OAAO,gBAAgB,UAAU,8DAA8D,KAAK,kCAAkC,SAAS,2BAA2B,WAAW,KAAK,IAAI;iCAC5O,KAAK,GAAG,CAAC,QAAQ,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,OAAO,gBAAgB,YAAY,8DAA8D,MAAM;;SAElN,CAAC;IAER,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/types/queries.d.ts
CHANGED
|
@@ -64,11 +64,6 @@ export interface DeniedOperationCollection {
|
|
|
64
64
|
}
|
|
65
65
|
export interface BaseResult extends Record<string, unknown> {
|
|
66
66
|
key: string;
|
|
67
|
-
labels: string[];
|
|
68
|
-
links: CalculationLink[];
|
|
69
|
-
notifications: Notification[];
|
|
70
|
-
policyChecks: PolicyCheckCollection;
|
|
71
|
-
deniedOperations: DeniedOperationCollection;
|
|
72
67
|
}
|
|
73
68
|
export interface ParseResult<T extends BaseResult> {
|
|
74
69
|
results: T[];
|
|
@@ -94,9 +89,15 @@ interface CardQueryResult extends BaseResult {
|
|
|
94
89
|
rank: string;
|
|
95
90
|
title: string;
|
|
96
91
|
cardType: string;
|
|
92
|
+
cardTypeDisplayName: string;
|
|
97
93
|
workflowState: string;
|
|
98
94
|
lastUpdated: string;
|
|
99
|
-
fields
|
|
95
|
+
fields: CardQueryField[];
|
|
96
|
+
labels: string[];
|
|
97
|
+
links: CalculationLink[];
|
|
98
|
+
notifications: Notification[];
|
|
99
|
+
policyChecks: PolicyCheckCollection;
|
|
100
|
+
deniedOperations: DeniedOperationCollection;
|
|
100
101
|
}
|
|
101
102
|
interface FieldsToUpdateQueryResult extends BaseResult {
|
|
102
103
|
updateFields: UpdateField[];
|
|
@@ -128,7 +129,7 @@ interface CardQueryField extends BaseResult {
|
|
|
128
129
|
visibility: 'always' | 'optional';
|
|
129
130
|
index: number;
|
|
130
131
|
fieldDisplayName: string;
|
|
131
|
-
|
|
132
|
+
fieldDescription: string;
|
|
132
133
|
dataType: DataType;
|
|
133
134
|
isCalculated: boolean;
|
|
134
135
|
value: string | number | boolean | null | EnumValue | ListValueItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/types/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/types/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AA2DF;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,CAAU,CAAC"}
|
|
@@ -32,3 +32,9 @@ export declare const isTemplateCard: (card: Card) => boolean;
|
|
|
32
32
|
* @returns Cards ordered; first by prefixes, then by ID.
|
|
33
33
|
*/
|
|
34
34
|
export declare const sortCards: (a: string, b: string) => 0 | 1 | -1;
|
|
35
|
+
/**
|
|
36
|
+
* Returns module name from card key
|
|
37
|
+
* @param cardKey card key
|
|
38
|
+
* @returns module name
|
|
39
|
+
*/
|
|
40
|
+
export declare const moduleNameFromCardKey: (cardKey: string) => string;
|
package/dist/utils/card-utils.js
CHANGED
|
@@ -75,4 +75,16 @@ export const sortCards = (a, b) => {
|
|
|
75
75
|
return -1;
|
|
76
76
|
return 0;
|
|
77
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* Returns module name from card key
|
|
80
|
+
* @param cardKey card key
|
|
81
|
+
* @returns module name
|
|
82
|
+
*/
|
|
83
|
+
export const moduleNameFromCardKey = (cardKey) => {
|
|
84
|
+
const parts = cardKey.split('_');
|
|
85
|
+
if (parts.length !== 2) {
|
|
86
|
+
throw new Error(`Invalid card key: ${cardKey}`);
|
|
87
|
+
}
|
|
88
|
+
return parts[0];
|
|
89
|
+
};
|
|
78
90
|
//# sourceMappingURL=card-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-utils.js","sourceRoot":"","sources":["../../src/utils/card-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIhC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAiB,EAAE;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,eAAe,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACvC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;IAChD,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,EAAE;IAC3C,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"card-utils.js","sourceRoot":"","sources":["../../src/utils/card-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Card, ModuleContent } from '../interfaces/project-interfaces.js';
|
|
1
|
+
import type { Card, Context, ModuleContent } from '../interfaces/project-interfaces.js';
|
|
2
2
|
import type { CardType, FieldType, LinkType, ReportMetadata, TemplateMetadata, Workflow } from '../interfaces/resource-interfaces.js';
|
|
3
3
|
import type { Project } from '../containers/project.js';
|
|
4
4
|
export declare namespace Facts {
|
|
@@ -65,6 +65,7 @@ export declare const createFieldTypeFacts: (fieldType: FieldType) => string;
|
|
|
65
65
|
* @returns clingo facts as a string
|
|
66
66
|
*/
|
|
67
67
|
export declare const createCardTypeFacts: (cardType: CardType) => string;
|
|
68
|
+
export declare const createContextFacts: (context: Context) => string;
|
|
68
69
|
/**
|
|
69
70
|
* Creates Clingo facts for a link type.
|
|
70
71
|
* @param linkType Link type metadata
|
|
@@ -84,6 +84,10 @@ function compareIndex(a, b) {
|
|
|
84
84
|
*/
|
|
85
85
|
export const createWorkflowFacts = (workflow) => {
|
|
86
86
|
const builder = new ClingoProgramBuilder().addFact(Facts.Workflow.WORKFLOW, workflow.name);
|
|
87
|
+
if (workflow.displayName)
|
|
88
|
+
builder.addFact(Facts.Common.FIELD, workflow.name, 'displayName', workflow.displayName);
|
|
89
|
+
if (workflow.description)
|
|
90
|
+
builder.addFact(Facts.Common.FIELD, workflow.name, 'description', workflow.description);
|
|
87
91
|
// add states
|
|
88
92
|
for (const state of workflow.states) {
|
|
89
93
|
if (state.category) {
|
|
@@ -244,6 +248,10 @@ export const createFieldTypeFacts = (fieldType) => {
|
|
|
244
248
|
export const createCardTypeFacts = (cardType) => {
|
|
245
249
|
const builder = new ClingoProgramBuilder();
|
|
246
250
|
builder.addFact(Facts.CardType.CARD_TYPE, cardType.name);
|
|
251
|
+
if (cardType.displayName)
|
|
252
|
+
builder.addFact(Facts.Common.FIELD, cardType.name, 'displayName', cardType.displayName);
|
|
253
|
+
if (cardType.description)
|
|
254
|
+
builder.addFact(Facts.Common.FIELD, cardType.name, 'description', cardType.description);
|
|
247
255
|
builder.addFact(Facts.Common.FIELD, cardType.name, 'workflow', cardType.workflow);
|
|
248
256
|
const customFields = cardType.customFields.toSorted((a, b) => {
|
|
249
257
|
const aFirstIndex = cardType.alwaysVisibleFields.indexOf(a.name);
|
|
@@ -281,14 +289,23 @@ export const createCardTypeFacts = (cardType) => {
|
|
|
281
289
|
}
|
|
282
290
|
return builder.buildAll();
|
|
283
291
|
};
|
|
292
|
+
export const createContextFacts = (context) => {
|
|
293
|
+
const builder = new ClingoProgramBuilder();
|
|
294
|
+
builder.addFact(context);
|
|
295
|
+
return builder.buildAll();
|
|
296
|
+
};
|
|
284
297
|
/**
|
|
285
298
|
* Creates Clingo facts for a link type.
|
|
286
299
|
* @param linkType Link type metadata
|
|
287
300
|
* @returns clingo facts as a string
|
|
288
301
|
*/
|
|
289
302
|
export const createLinkTypeFacts = (linkType) => {
|
|
290
|
-
const builder = new ClingoProgramBuilder()
|
|
291
|
-
|
|
303
|
+
const builder = new ClingoProgramBuilder().addFact(Facts.LinkType.LINK_TYPE, linkType.name);
|
|
304
|
+
if (linkType.displayName)
|
|
305
|
+
builder.addFact(Facts.Common.FIELD, linkType.name, 'displayName', linkType.displayName);
|
|
306
|
+
if (linkType.description)
|
|
307
|
+
builder.addFact(Facts.Common.FIELD, linkType.name, 'description', linkType.description);
|
|
308
|
+
builder
|
|
292
309
|
.addFact(Facts.Common.FIELD, linkType.name, 'outboundDisplayName', linkType.outboundDisplayName)
|
|
293
310
|
.addFact(Facts.Common.FIELD, linkType.name, 'inboundDisplayName', linkType.inboundDisplayName)
|
|
294
311
|
.addFact(Facts.Common.FIELD, linkType.name, 'enableLinkDescription', linkType.enableLinkDescription);
|