@acorex-platform/module-risk-management-client 0.0.38 → 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood-scale.mjs +361 -0
  2. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood-scale.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix.mjs +364 -0
  4. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-rating-scale.mjs +388 -0
  6. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-rating-scale.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-severity-scale.mjs +361 -0
  8. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-severity-scale.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-acorex-platform-module-risk-management-client-contracts-entity-catalog-D6WaBLYS.mjs +72 -0
  10. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-acorex-platform-module-risk-management-client-contracts-entity-catalog-D6WaBLYS.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-likelihood-scale.entity-CVdw2sfd.mjs +311 -0
  12. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-likelihood-scale.entity-CVdw2sfd.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-matrix-cell.entity-b97tbRDA.mjs → acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-matrix.entity-Chp-843O.mjs} +131 -115
  14. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-matrix.entity-Chp-843O.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-rating-scale.entity-Cjg7aGMl.mjs +338 -0
  16. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-rating-scale.entity-Cjg7aGMl.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-severity-scale.entity-Cgti6Xeo.mjs +311 -0
  18. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-severity-scale.entity-Cgti6Xeo.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog.mjs +1 -1
  20. package/fesm2022/acorex-platform-module-risk-management-client-contracts.mjs +233 -49
  21. package/fesm2022/acorex-platform-module-risk-management-client-contracts.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-module-risk-management-client-local-entities.mjs +4 -4
  23. package/fesm2022/acorex-platform-module-risk-management-client-local-entities.mjs.map +1 -1
  24. package/fesm2022/{acorex-platform-module-risk-management-client-preview-risk-matrix-cell.command-CTGIFUIa.mjs → acorex-platform-module-risk-management-client-preview-risk-matrix.command-gVKnE3c0.mjs} +14 -12
  25. package/fesm2022/acorex-platform-module-risk-management-client-preview-risk-matrix.command-gVKnE3c0.mjs.map +1 -0
  26. package/fesm2022/acorex-platform-module-risk-management-client.mjs +439 -230
  27. package/fesm2022/acorex-platform-module-risk-management-client.mjs.map +1 -1
  28. package/package.json +13 -13
  29. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood-scale.d.ts +5 -0
  30. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix.d.ts +5 -0
  31. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-rating-scale.d.ts +5 -0
  32. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-severity-scale.d.ts +5 -0
  33. package/types/acorex-platform-module-risk-management-client-contracts.d.ts +157 -65
  34. package/types/acorex-platform-module-risk-management-client.d.ts +77 -31
  35. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood.mjs +0 -222
  36. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood.mjs.map +0 -1
  37. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix-cell.mjs +0 -348
  38. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix-cell.mjs.map +0 -1
  39. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-rating.mjs +0 -227
  40. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-rating.mjs.map +0 -1
  41. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-severity.mjs +0 -222
  42. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entities-risk-severity.mjs.map +0 -1
  43. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-acorex-platform-module-risk-management-client-contracts-entity-catalog-Dc6Me3H6.mjs +0 -72
  44. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-acorex-platform-module-risk-management-client-contracts-entity-catalog-Dc6Me3H6.mjs.map +0 -1
  45. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-likelihood.entity-DzwLi3Ga.mjs +0 -172
  46. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-likelihood.entity-DzwLi3Ga.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-matrix-cell.entity-b97tbRDA.mjs.map +0 -1
  48. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-rating.entity-CreMsiCu.mjs +0 -177
  49. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-rating.entity-CreMsiCu.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-severity.entity-bEyLH8dE.mjs +0 -172
  51. package/fesm2022/acorex-platform-module-risk-management-client-contracts-entity-catalog-risk-severity.entity-bEyLH8dE.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-module-risk-management-client-preview-risk-matrix-cell.command-CTGIFUIa.mjs.map +0 -1
  53. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-likelihood.d.ts +0 -5
  54. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-matrix-cell.d.ts +0 -5
  55. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-rating.d.ts +0 -5
  56. package/types/acorex-platform-module-risk-management-client-contracts-entities-risk-severity.d.ts +0 -5
@@ -5,10 +5,10 @@ const RISK_CATALOG_SCOPE_PPE_ITEMS = 'risk-management.ppe-items';
5
5
 
6
6
  const AXMRiskManagementMenuKeys = {
7
7
  Root: 'RiskManagement:Menu:Root',
8
- RiskLikelihoods: 'RiskManagement:Menu:RiskLikelihoods',
9
- RiskSeverities: 'RiskManagement:Menu:RiskSeverities',
10
- RiskRatings: 'RiskManagement:Menu:RiskRatings',
11
- RiskMatrixCells: 'RiskManagement:Menu:RiskMatrixCells',
8
+ RiskLikelihoodScales: 'RiskManagement:Menu:RiskLikelihoodScales',
9
+ RiskSeverityScales: 'RiskManagement:Menu:RiskSeverityScales',
10
+ RiskRatingScales: 'RiskManagement:Menu:RiskRatingScales',
11
+ RiskMatrices: 'RiskManagement:Menu:RiskMatrices',
12
12
  };
13
13
 
14
14
  /**
@@ -30,28 +30,28 @@ const AXPSafetyRiskPermissionKeys = {
30
30
  const AXMRiskManagementPermissionKeys = {
31
31
  RiskManagement: {
32
32
  Management: AXPSafetyRiskPermissionKeys.MaintainRisk,
33
- RiskLikelihood: {
33
+ RiskLikelihoodScale: {
34
34
  Management: AXPSafetyRiskPermissionKeys.Setup,
35
35
  View: AXPSafetyRiskPermissionKeys.Setup,
36
36
  Create: AXPSafetyRiskPermissionKeys.Setup,
37
37
  Update: AXPSafetyRiskPermissionKeys.Setup,
38
38
  Delete: AXPSafetyRiskPermissionKeys.Setup,
39
39
  },
40
- RiskSeverity: {
40
+ RiskSeverityScale: {
41
41
  Management: AXPSafetyRiskPermissionKeys.Setup,
42
42
  View: AXPSafetyRiskPermissionKeys.Setup,
43
43
  Create: AXPSafetyRiskPermissionKeys.Setup,
44
44
  Update: AXPSafetyRiskPermissionKeys.Setup,
45
45
  Delete: AXPSafetyRiskPermissionKeys.Setup,
46
46
  },
47
- RiskRating: {
47
+ RiskRatingScale: {
48
48
  Management: AXPSafetyRiskPermissionKeys.Setup,
49
49
  View: AXPSafetyRiskPermissionKeys.Setup,
50
50
  Create: AXPSafetyRiskPermissionKeys.Setup,
51
51
  Update: AXPSafetyRiskPermissionKeys.Setup,
52
52
  Delete: AXPSafetyRiskPermissionKeys.Setup,
53
53
  },
54
- RiskMatrixCell: {
54
+ RiskMatrix: {
55
55
  Management: AXPSafetyRiskPermissionKeys.MaintainRisk,
56
56
  View: AXPSafetyRiskPermissionKeys.MaintainRisk,
57
57
  Create: AXPSafetyRiskPermissionKeys.MaintainRisk,
@@ -61,9 +61,9 @@ const AXMRiskManagementPermissionKeys = {
61
61
  },
62
62
  };
63
63
 
64
- //#region ---- Types ----
64
+ //#region ----- Types -----
65
65
  //#endregion
66
- //#region ---- Constants ----
66
+ //#region ----- Constants -----
67
67
  const RISK_MATRIX_AXIS_PROPERTIES = [
68
68
  'likelihoodId',
69
69
  'severityId',
@@ -74,34 +74,22 @@ const DEFAULT_RISK_MATRIX_AXIS_MAPPING = {
74
74
  columnProperty: 'severityId',
75
75
  depthProperty: 'riskRatingId',
76
76
  };
77
- const RISK_MATRIX_AXIS_PROPERTY_SELECT_OPTIONS = [
78
- {
79
- id: 'likelihoodId',
80
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.likelihood-id.title',
81
- },
82
- {
83
- id: 'severityId',
84
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.severity-id.title',
85
- },
86
- {
87
- id: 'riskRatingId',
88
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.risk-rating-id.title',
89
- },
90
- ];
77
+ const I18N_RISK_MATRIX_ENTITY = '@risk-management:risk-matrices.entities.risk-matrix';
78
+ const I18N_RISK_MATRIX_COMPONENT = '@risk-management:risk-matrices.components.risk-matrix';
91
79
  const DEFAULT_RISK_MATRIX_ORIENTATION = 'likelihood-rows';
92
80
  const RISK_MATRIX_ORIENTATION_OPTIONS = [
93
81
  {
94
82
  id: 'likelihood-rows',
95
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.matrix-orientation.options.likelihood-rows',
83
+ title: `${I18N_RISK_MATRIX_ENTITY}.fields.matrix-orientation.options.likelihood-rows`,
96
84
  },
97
85
  {
98
86
  id: 'severity-rows',
99
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.matrix-orientation.options.severity-rows',
87
+ title: `${I18N_RISK_MATRIX_ENTITY}.fields.matrix-orientation.options.severity-rows`,
100
88
  },
101
89
  ];
102
90
  const RISK_MATRIX_ORIENTATION_TITLE_KEYS = {
103
- 'likelihood-rows': '@risk-management:risk-matrix-cells.components.risk-matrix.titles.likelihood-rows',
104
- 'severity-rows': '@risk-management:risk-matrix-cells.components.risk-matrix.titles.severity-rows',
91
+ 'likelihood-rows': `${I18N_RISK_MATRIX_COMPONENT}.titles.likelihood-rows`,
92
+ 'severity-rows': `${I18N_RISK_MATRIX_COMPONENT}.titles.severity-rows`,
105
93
  };
106
94
  //#endregion
107
95
 
@@ -120,44 +108,240 @@ const RootConfig = {
120
108
  icon: 'fa-light fa-chart-line',
121
109
  },
122
110
  entities: {
123
- riskLikelihood: {
124
- name: 'RiskLikelihood',
125
- source: `${config.module}.RiskLikelihood`,
126
- title: '@risk-management:risk-likelihoods.entities.risk-likelihood.title',
127
- titlePlural: '@risk-management:risk-likelihoods.entities.risk-likelihood.plural',
111
+ riskLikelihoodScale: {
112
+ name: 'RiskLikelihoodScale',
113
+ source: `${config.module}.RiskLikelihoodScale`,
114
+ title: '@risk-management:risk-likelihood-scales.entities.risk-likelihood-scale.title',
115
+ titlePlural: '@risk-management:risk-likelihood-scales.entities.risk-likelihood-scale.plural',
128
116
  icon: 'fa-light fa-signal',
129
117
  },
130
- riskSeverity: {
131
- name: 'RiskSeverity',
132
- source: `${config.module}.RiskSeverity`,
133
- title: '@risk-management:risk-severities.entities.risk-severity.title',
134
- titlePlural: '@risk-management:risk-severities.entities.risk-severity.plural',
118
+ riskSeverityScale: {
119
+ name: 'RiskSeverityScale',
120
+ source: `${config.module}.RiskSeverityScale`,
121
+ title: '@risk-management:risk-severity-scales.entities.risk-severity-scale.title',
122
+ titlePlural: '@risk-management:risk-severity-scales.entities.risk-severity-scale.plural',
135
123
  icon: 'fa-light fa-gauge-high',
136
124
  },
137
- riskRating: {
138
- name: 'RiskRating',
139
- source: `${config.module}.RiskRating`,
140
- title: '@risk-management:risk-ratings.entities.risk-rating.title',
141
- titlePlural: '@risk-management:risk-ratings.entities.risk-rating.plural',
125
+ riskRatingScale: {
126
+ name: 'RiskRatingScale',
127
+ source: `${config.module}.RiskRatingScale`,
128
+ title: '@risk-management:risk-rating-scales.entities.risk-rating-scale.title',
129
+ titlePlural: '@risk-management:risk-rating-scales.entities.risk-rating-scale.plural',
142
130
  icon: 'fa-light fa-ranking-star',
143
131
  },
144
- riskMatrixCell: {
145
- name: 'RiskMatrixCell',
146
- source: `${config.module}.RiskMatrixCell`,
147
- title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.title',
148
- titlePlural: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.plural',
132
+ riskMatrix: {
133
+ name: 'RiskMatrix',
134
+ source: `${config.module}.RiskMatrix`,
135
+ title: '@risk-management:risk-matrices.entities.risk-matrix.title',
136
+ titlePlural: '@risk-management:risk-matrices.entities.risk-matrix.plural',
149
137
  icon: 'fa-light fa-table-cells',
150
138
  },
151
139
  },
152
140
  };
153
141
  //#endregion
154
142
 
143
+ //#region ---- Imports ----
144
+ //#endregion
145
+ //#region ---- Manifest Definition ----
146
+ /**
147
+ * Risk Management module manifest.
148
+ */
149
+ const RiskManagementManifest = {
150
+ name: RootConfig.module.name,
151
+ version: '1.0.0',
152
+ title: RootConfig.module.title,
153
+ icon: RootConfig.module.icon,
154
+ i18n: RootConfig.config.i18n,
155
+ type: 'domain',
156
+ domain: 'workplace-safety',
157
+ required: false,
158
+ };
159
+ //#endregion
160
+
161
+ //#region ----- Types -----
162
+ //#endregion
163
+ //#region ----- Helpers -----
164
+ /** Sorts levels by explicit `order`, then `score`, then array index. */
165
+ function sortRiskScaleLevels(levels) {
166
+ if (!Array.isArray(levels) || levels.length === 0) {
167
+ return [];
168
+ }
169
+ return levels
170
+ .map((level, index) => ({ level, index }))
171
+ .sort((a, b) => {
172
+ const orderA = a.level.order ?? Number.POSITIVE_INFINITY;
173
+ const orderB = b.level.order ?? Number.POSITIVE_INFINITY;
174
+ if (orderA !== orderB) {
175
+ return orderA - orderB;
176
+ }
177
+ const valueA = a.level.score ?? Number.POSITIVE_INFINITY;
178
+ const valueB = b.level.score ?? Number.POSITIVE_INFINITY;
179
+ if (valueA !== valueB) {
180
+ return valueA - valueB;
181
+ }
182
+ return a.index - b.index;
183
+ })
184
+ .map(({ level }) => level);
185
+ }
186
+ /** Returns level codes in display order (skips items without code). */
187
+ function resolveRiskScaleLevelCodes(levels) {
188
+ return sortRiskScaleLevels(levels)
189
+ .map((level) => (level.code != null ? String(level.code).trim() : ''))
190
+ .filter((code) => code.length > 0);
191
+ }
192
+ //#endregion
193
+
194
+ //#region ----- Imports -----
195
+ //#endregion
196
+ //#region ----- Level helpers -----
197
+ /** Sorts levels by explicit `order`, then `score`, then array index. */
198
+ function sortRiskLikelihoodLevels(levels) {
199
+ return sortRiskScaleLevels(levels);
200
+ }
201
+ /** Returns level codes in display order (skips items without code). */
202
+ function resolveRiskLikelihoodLevelCodes(levels) {
203
+ return resolveRiskScaleLevelCodes(levels);
204
+ }
205
+ //#endregion
206
+
207
+ //#region ---- Imports ----
208
+ //#endregion
209
+
210
+ //#region ---- Imports ----
211
+ //#endregion
212
+ //#region ---- Cell helpers ----
213
+ function normalizeLevelCode(value) {
214
+ return typeof value === 'string' ? value.trim() : value != null ? String(value).trim() : '';
215
+ }
216
+ function isRiskMatrixCellValueObject(value) {
217
+ if (value == null || typeof value !== 'object') {
218
+ return false;
219
+ }
220
+ const cell = value;
221
+ return (normalizeLevelCode(cell['likelihoodLevelCode']).length > 0 &&
222
+ normalizeLevelCode(cell['severityLevelCode']).length > 0 &&
223
+ normalizeLevelCode(cell['ratingLevelCode']).length > 0);
224
+ }
225
+ function normalizeRiskMatrixCellValueObject(value) {
226
+ if (!isRiskMatrixCellValueObject(value)) {
227
+ return null;
228
+ }
229
+ return {
230
+ likelihoodLevelCode: normalizeLevelCode(value.likelihoodLevelCode),
231
+ severityLevelCode: normalizeLevelCode(value.severityLevelCode),
232
+ ratingLevelCode: normalizeLevelCode(value.ratingLevelCode),
233
+ };
234
+ }
235
+ /** Converts persisted cells into the spreadsheet shape used by the matrix widget. */
236
+ function toRiskMatrixSpreadsheetData(cells) {
237
+ const matrix = {};
238
+ (cells ?? []).forEach((cell) => {
239
+ const normalized = normalizeRiskMatrixCellValueObject(cell);
240
+ if (!normalized) {
241
+ return;
242
+ }
243
+ matrix[normalized.likelihoodLevelCode] ??= {};
244
+ matrix[normalized.likelihoodLevelCode][normalized.severityLevelCode] = normalized.ratingLevelCode;
245
+ });
246
+ return matrix;
247
+ }
248
+ /** Converts spreadsheet values (likelihood × severity → rating) into cell value objects. */
249
+ function fromRiskMatrixSpreadsheetData(matrix) {
250
+ const cells = [];
251
+ Object.entries(matrix ?? {}).forEach(([likelihoodLevelCode, severityMap]) => {
252
+ const likelihoodCode = normalizeLevelCode(likelihoodLevelCode);
253
+ if (!likelihoodCode || severityMap == null) {
254
+ return;
255
+ }
256
+ Object.entries(severityMap).forEach(([severityLevelCode, ratingLevelCode]) => {
257
+ const severityCode = normalizeLevelCode(severityLevelCode);
258
+ const ratingCode = normalizeLevelCode(ratingLevelCode);
259
+ if (!severityCode || !ratingCode) {
260
+ return;
261
+ }
262
+ cells.push({
263
+ likelihoodLevelCode: likelihoodCode,
264
+ severityLevelCode: severityCode,
265
+ ratingLevelCode: ratingCode,
266
+ });
267
+ });
268
+ });
269
+ return cells;
270
+ }
271
+ /**
272
+ * Accepts persisted `cells` or a legacy nested spreadsheet object and returns cell value objects.
273
+ */
274
+ function resolveRiskMatrixCells(value) {
275
+ if (Array.isArray(value)) {
276
+ return value
277
+ .map((cell) => normalizeRiskMatrixCellValueObject(cell))
278
+ .filter((cell) => cell != null);
279
+ }
280
+ if (value != null && typeof value === 'object') {
281
+ return fromRiskMatrixSpreadsheetData(value);
282
+ }
283
+ return [];
284
+ }
285
+ /**
286
+ * Drops cells whose level codes are no longer on the selected scales.
287
+ * Persisted shape stays likelihood × severity → rating.
288
+ */
289
+ function pruneRiskMatrixCells(cells, likelihoodCodes, severityCodes, ratingCodes) {
290
+ const likelihoodSet = likelihoodCodes.length > 0 ? new Set(likelihoodCodes) : null;
291
+ const severitySet = severityCodes.length > 0 ? new Set(severityCodes) : null;
292
+ const ratingSet = ratingCodes != null && ratingCodes.length > 0 ? new Set(ratingCodes) : null;
293
+ return (cells ?? []).filter((cell) => {
294
+ const normalized = normalizeRiskMatrixCellValueObject(cell);
295
+ if (!normalized) {
296
+ return false;
297
+ }
298
+ if (likelihoodSet && !likelihoodSet.has(normalized.likelihoodLevelCode)) {
299
+ return false;
300
+ }
301
+ if (severitySet && !severitySet.has(normalized.severityLevelCode)) {
302
+ return false;
303
+ }
304
+ if (ratingSet && !ratingSet.has(normalized.ratingLevelCode)) {
305
+ return false;
306
+ }
307
+ return true;
308
+ });
309
+ }
310
+ //#endregion
311
+
312
+ //#region ---- Imports ----
155
313
  //#endregion
156
314
 
315
+ //#region ----- Imports -----
316
+ //#endregion
317
+ //#region ----- Level helpers -----
318
+ /** Sorts levels by explicit `order`, then `score`, then array index. */
319
+ function sortRiskRatingLevels(levels) {
320
+ return sortRiskScaleLevels(levels);
321
+ }
322
+ /** Returns level codes in display order (skips items without code). */
323
+ function resolveRiskRatingLevelCodes(levels) {
324
+ return resolveRiskScaleLevelCodes(levels);
325
+ }
326
+ //#endregion
327
+
328
+ //#region ---- Imports ----
157
329
  //#endregion
158
330
 
331
+ //#region ----- Imports -----
332
+ //#endregion
333
+ //#region ----- Level helpers -----
334
+ /** Sorts levels by explicit `order`, then `score`, then array index. */
335
+ function sortRiskSeverityLevels(levels) {
336
+ return sortRiskScaleLevels(levels);
337
+ }
338
+ /** Returns level codes in display order (skips items without code). */
339
+ function resolveRiskSeverityLevelCodes(levels) {
340
+ return resolveRiskScaleLevelCodes(levels);
341
+ }
159
342
  //#endregion
160
343
 
344
+ //#region ---- Imports ----
161
345
  //#endregion
162
346
 
163
347
  //#region ---- Contracts barrel ----
@@ -166,5 +350,5 @@ const RootConfig = {
166
350
  * Generated bundle index. Do not edit.
167
351
  */
168
352
 
169
- export { AXMRiskManagementMenuKeys, AXMRiskManagementPermissionKeys, AXPSafetyRiskPermissionKeys, DEFAULT_RISK_MATRIX_AXIS_MAPPING, DEFAULT_RISK_MATRIX_ORIENTATION, RISK_CATALOG_SCOPE_HAZARD, RISK_CATALOG_SCOPE_PPE_ITEMS, RISK_MATRIX_AXIS_PROPERTIES, RISK_MATRIX_AXIS_PROPERTY_SELECT_OPTIONS, RISK_MATRIX_ORIENTATION_OPTIONS, RISK_MATRIX_ORIENTATION_TITLE_KEYS, RootConfig };
353
+ export { AXMRiskManagementMenuKeys, AXMRiskManagementPermissionKeys, AXPSafetyRiskPermissionKeys, DEFAULT_RISK_MATRIX_AXIS_MAPPING, DEFAULT_RISK_MATRIX_ORIENTATION, RISK_CATALOG_SCOPE_HAZARD, RISK_CATALOG_SCOPE_PPE_ITEMS, RISK_MATRIX_AXIS_PROPERTIES, RISK_MATRIX_ORIENTATION_OPTIONS, RISK_MATRIX_ORIENTATION_TITLE_KEYS, RiskManagementManifest, RootConfig, fromRiskMatrixSpreadsheetData, isRiskMatrixCellValueObject, normalizeRiskMatrixCellValueObject, pruneRiskMatrixCells, resolveRiskLikelihoodLevelCodes, resolveRiskMatrixCells, resolveRiskRatingLevelCodes, resolveRiskSeverityLevelCodes, sortRiskLikelihoodLevels, sortRiskRatingLevels, sortRiskSeverityLevels, toRiskMatrixSpreadsheetData };
170
354
  //# sourceMappingURL=acorex-platform-module-risk-management-client-contracts.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-risk-management-client-contracts.mjs","sources":["../../../../libs/modules/risk-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/risk-management/contracts/src/menu.keys.ts","../../../../libs/modules/risk-management/contracts/src/permission.keys.ts","../../../../libs/modules/risk-management/contracts/src/risk-matrix-axis-mapping.ts","../../../../libs/modules/risk-management/contracts/src/root-config.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-likelihood/risk-likelihood.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-matrix-cell/risk-matrix-cell.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-rating/risk-rating.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-severity/risk-severity.types.ts","../../../../libs/modules/risk-management/contracts/src/index.ts","../../../../libs/modules/risk-management/contracts/src/acorex-platform-module-risk-management-client-contracts.ts"],"sourcesContent":["/** Hazard catalog scope for environmental and operational risk matrix records. */\nexport const RISK_CATALOG_SCOPE_HAZARD = 'risk-management.hazard';\n\n/** PPE items catalog scope for personal protective equipment risk matrices. */\nexport const RISK_CATALOG_SCOPE_PPE_ITEMS = 'risk-management.ppe-items';\n","export const AXMRiskManagementMenuKeys = {\n Root: 'RiskManagement:Menu:Root',\n RiskLikelihoods: 'RiskManagement:Menu:RiskLikelihoods',\n RiskSeverities: 'RiskManagement:Menu:RiskSeverities',\n RiskRatings: 'RiskManagement:Menu:RiskRatings',\n RiskMatrixCells: 'RiskManagement:Menu:RiskMatrixCells',\n} as const;\n","/**\n * Safety & Risk capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPSafetyRiskPermissionKeys = {\n Access: 'SafetyRisk:Permission:Access',\n MaintainSafety: 'SafetyRisk:Permission:MaintainSafety',\n MaintainRisk: 'SafetyRisk:Permission:MaintainRisk',\n MaintainHealth: 'SafetyRisk:Permission:MaintainHealth',\n MaintainAssessments: 'SafetyRisk:Permission:MaintainAssessments',\n Setup: 'SafetyRisk:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPSafetyRiskPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMRiskManagementPermissionKeys = {\n RiskManagement: {\n Management: AXPSafetyRiskPermissionKeys.MaintainRisk,\n\n RiskLikelihood: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskSeverity: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskRating: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskMatrixCell: {\n Management: AXPSafetyRiskPermissionKeys.MaintainRisk,\n View: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Create: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Update: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Delete: AXPSafetyRiskPermissionKeys.MaintainRisk,\n },\n },\n} as const;\n","//#region ---- Types ----\n\n/** Lookup properties on RiskMatrixCell that can be assigned to matrix axes. */\nexport type AXMRiskMatrixAxisProperty = 'likelihoodId' | 'severityId' | 'riskRatingId';\n\nexport interface AXMRiskMatrixAxisMapping {\n rowProperty: AXMRiskMatrixAxisProperty;\n columnProperty: AXMRiskMatrixAxisProperty;\n depthProperty: AXMRiskMatrixAxisProperty;\n}\n\nexport type AXMRiskMatrixOrientation = 'likelihood-rows' | 'severity-rows';\n\n//#endregion\n\n//#region ---- Constants ----\n\nexport const RISK_MATRIX_AXIS_PROPERTIES: readonly AXMRiskMatrixAxisProperty[] = [\n 'likelihoodId',\n 'severityId',\n 'riskRatingId',\n] as const;\n\nexport const DEFAULT_RISK_MATRIX_AXIS_MAPPING: AXMRiskMatrixAxisMapping = {\n rowProperty: 'likelihoodId',\n columnProperty: 'severityId',\n depthProperty: 'riskRatingId',\n};\n\nexport const RISK_MATRIX_AXIS_PROPERTY_SELECT_OPTIONS = [\n {\n id: 'likelihoodId',\n title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.likelihood-id.title',\n },\n {\n id: 'severityId',\n title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.severity-id.title',\n },\n {\n id: 'riskRatingId',\n title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.risk-rating-id.title',\n },\n] as const;\n\nexport const DEFAULT_RISK_MATRIX_ORIENTATION: AXMRiskMatrixOrientation = 'likelihood-rows';\n\nexport const RISK_MATRIX_ORIENTATION_OPTIONS: Array<{ id: AXMRiskMatrixOrientation; title: string }> = [\n {\n id: 'likelihood-rows',\n title:\n '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.matrix-orientation.options.likelihood-rows',\n },\n {\n id: 'severity-rows',\n title:\n '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.fields.matrix-orientation.options.severity-rows',\n },\n];\n\nexport const RISK_MATRIX_ORIENTATION_TITLE_KEYS: Record<AXMRiskMatrixOrientation, string> = {\n 'likelihood-rows': '@risk-management:risk-matrix-cells.components.risk-matrix.titles.likelihood-rows',\n 'severity-rows': '@risk-management:risk-matrix-cells.components.risk-matrix.titles.severity-rows',\n};\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'risk-management',\n module: 'RiskManagement',\n route: 'risk-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@risk-management:module.title',\n icon: 'fa-light fa-chart-line',\n },\n entities: {\n riskLikelihood: {\n name: 'RiskLikelihood',\n source: `${config.module}.RiskLikelihood`,\n title: '@risk-management:risk-likelihoods.entities.risk-likelihood.title',\n titlePlural: '@risk-management:risk-likelihoods.entities.risk-likelihood.plural',\n icon: 'fa-light fa-signal',\n },\n riskSeverity: {\n name: 'RiskSeverity',\n source: `${config.module}.RiskSeverity`,\n title: '@risk-management:risk-severities.entities.risk-severity.title',\n titlePlural: '@risk-management:risk-severities.entities.risk-severity.plural',\n icon: 'fa-light fa-gauge-high',\n },\n riskRating: {\n name: 'RiskRating',\n source: `${config.module}.RiskRating`,\n title: '@risk-management:risk-ratings.entities.risk-rating.title',\n titlePlural: '@risk-management:risk-ratings.entities.risk-rating.plural',\n icon: 'fa-light fa-ranking-star',\n },\n riskMatrixCell: {\n name: 'RiskMatrixCell',\n source: `${config.module}.RiskMatrixCell`,\n title: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.title',\n titlePlural: '@risk-management:risk-matrix-cells.entities.risk-matrix-cell.plural',\n icon: 'fa-light fa-table-cells',\n },\n },\n};\n\n//#endregion\n","import { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskLikelihoodEntityModel extends AXPEntityModel<string> {\n code: string;\n title: string;\n description?: string;\n levelValue: number;\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","import { AXPCategoryListItem, AXPMultiLanguageString, type AXPSpreadsheetData, AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskMatrixCellEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-matrix-cell-code` (`RMC-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n likelihoodIds: string[];\n likelihoodList?: Array<{ id: string; title?: string; code?: string }>;\n /** @deprecated Use `likelihoodIds`. Kept so existing documents still resolve in widgets. */\n likelihoodId?: string[];\n severityIds: string[];\n severityList?: Array<{ id: string; title?: string; code?: string }>;\n /** @deprecated Use `severityIds`. Kept so existing documents still resolve in widgets. */\n severityId?: string[];\n /** Likelihood rows × severity columns mapped to risk rating ids. */\n matrix?: AXPSpreadsheetData;\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n /** Registered catalog scope keys (module providers). */\n catalogScopeKeys?: string[];\n /** Resolved scope labels for list display (enriched by catalog-scope resolver middleware). */\n catalogScopes?: Array<{ name: string; title: AXPMultiLanguageString | string; cssClass?: string }>;\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","import { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskRatingEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-rating-code` (`RR-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n description?: string;\n levelValue: number;\n /** Surface CSS class from `color-chooser` (`success-lighter-surface` or `axp-hex-4caf50`). */\n color?: string;\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","import { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskSeverityEntityModel extends AXPEntityModel<string> {\n code: string;\n title: string;\n description?: string;\n levelValue: number;\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\n\nexport * from './risk-matrix-axis-mapping';\nexport * from './root-config';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACO,MAAM,yBAAyB,GAAG;AAEzC;AACO,MAAM,4BAA4B,GAAG;;ACJrC,MAAM,yBAAyB,GAAG;AACvC,IAAA,IAAI,EAAE,0BAA0B;AAChC,IAAA,eAAe,EAAE,qCAAqC;AACtD,IAAA,cAAc,EAAE,oCAAoC;AACpD,IAAA,WAAW,EAAE,iCAAiC;AAC9C,IAAA,eAAe,EAAE,qCAAqC;;;ACLxD;;;AAGG;AACI,MAAM,2BAA2B,GAAG;AACzC,IAAA,MAAM,EAAE,8BAA8B;AACtC,IAAA,cAAc,EAAE,sCAAsC;AACtD,IAAA,YAAY,EAAE,oCAAoC;AAClD,IAAA,cAAc,EAAE,sCAAsC;AACtD,IAAA,mBAAmB,EAAE,2CAA2C;AAChE,IAAA,KAAK,EAAE,6BAA6B;;AAGtC;;;AAGG;AACI,MAAM,+BAA+B,GAAG;AAC7C,IAAA,cAAc,EAAE;QACd,UAAU,EAAE,2BAA2B,CAAC,YAAY;AAEpD,QAAA,cAAc,EAAE;YACd,UAAU,EAAE,2BAA2B,CAAC,KAAK;YAC7C,IAAI,EAAE,2BAA2B,CAAC,KAAK;YACvC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;AAC1C,SAAA;AACD,QAAA,YAAY,EAAE;YACZ,UAAU,EAAE,2BAA2B,CAAC,KAAK;YAC7C,IAAI,EAAE,2BAA2B,CAAC,KAAK;YACvC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;AAC1C,SAAA;AACD,QAAA,UAAU,EAAE;YACV,UAAU,EAAE,2BAA2B,CAAC,KAAK;YAC7C,IAAI,EAAE,2BAA2B,CAAC,KAAK;YACvC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;YACzC,MAAM,EAAE,2BAA2B,CAAC,KAAK;AAC1C,SAAA;AACD,QAAA,cAAc,EAAE;YACd,UAAU,EAAE,2BAA2B,CAAC,YAAY;YACpD,IAAI,EAAE,2BAA2B,CAAC,YAAY;YAC9C,MAAM,EAAE,2BAA2B,CAAC,YAAY;YAChD,MAAM,EAAE,2BAA2B,CAAC,YAAY;YAChD,MAAM,EAAE,2BAA2B,CAAC,YAAY;AACjD,SAAA;AACF,KAAA;;;ACjDH;AAaA;AAEA;AAEO,MAAM,2BAA2B,GAAyC;IAC/E,cAAc;IACd,YAAY;IACZ,cAAc;;AAGT,MAAM,gCAAgC,GAA6B;AACxE,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,aAAa,EAAE,cAAc;;AAGxB,MAAM,wCAAwC,GAAG;AACtD,IAAA;AACE,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,KAAK,EAAE,yFAAyF;AACjG,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,KAAK,EAAE,uFAAuF;AAC/F,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,KAAK,EAAE,0FAA0F;AAClG,KAAA;;AAGI,MAAM,+BAA+B,GAA6B;AAElE,MAAM,+BAA+B,GAA2D;AACrG,IAAA;AACE,QAAA,EAAE,EAAE,iBAAiB;AACrB,QAAA,KAAK,EACH,gHAAgH;AACnH,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,eAAe;AACnB,QAAA,KAAK,EACH,8GAA8G;AACjH,KAAA;;AAGI,MAAM,kCAAkC,GAA6C;AAC1F,IAAA,iBAAiB,EAAE,kFAAkF;AACrG,IAAA,eAAe,EAAE,gFAAgF;;AAGnG;;AChEA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,KAAK,EAAE,iBAAiB;CACzB;AAEM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,MAAM;AACnB,QAAA,KAAK,EAAE,+BAA+B;AACtC,QAAA,IAAI,EAAE,wBAAwB;AAC/B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,eAAA,CAAiB;AACzC,YAAA,KAAK,EAAE,kEAAkE;AACzE,YAAA,WAAW,EAAE,mEAAmE;AAChF,YAAA,IAAI,EAAE,oBAAoB;AAC3B,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,aAAA,CAAe;AACvC,YAAA,KAAK,EAAE,+DAA+D;AACtE,YAAA,WAAW,EAAE,gEAAgE;AAC7E,YAAA,IAAI,EAAE,wBAAwB;AAC/B,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,WAAA,CAAa;AACrC,YAAA,KAAK,EAAE,0DAA0D;AACjE,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,IAAI,EAAE,0BAA0B;AACjC,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,eAAA,CAAiB;AACzC,YAAA,KAAK,EAAE,oEAAoE;AAC3E,YAAA,WAAW,EAAE,qEAAqE;AAClF,YAAA,IAAI,EAAE,yBAAyB;AAChC,SAAA;AACF,KAAA;;AAGH;;AChCA;;ACeA;;ACZA;;ACHA;;AChBA;;ACAA;;AAEG;;"}
1
+ {"version":3,"file":"acorex-platform-module-risk-management-client-contracts.mjs","sources":["../../../../libs/modules/risk-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/risk-management/contracts/src/menu.keys.ts","../../../../libs/modules/risk-management/contracts/src/permission.keys.ts","../../../../libs/modules/risk-management/contracts/src/risk-matrix-axis-mapping.ts","../../../../libs/modules/risk-management/contracts/src/root-config.ts","../../../../libs/modules/risk-management/contracts/src/manifest.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-scale-level.util.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-likelihood-scale/risk-likelihood-level.util.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-likelihood-scale/risk-likelihood-scale.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-matrix/risk-matrix-cells.util.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-matrix/risk-matrix.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-rating-scale/risk-rating-level.util.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-rating-scale/risk-rating-scale.types.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-severity-scale/risk-severity-level.util.ts","../../../../libs/modules/risk-management/contracts/src/entities/risk-severity-scale/risk-severity-scale.types.ts","../../../../libs/modules/risk-management/contracts/src/index.ts","../../../../libs/modules/risk-management/contracts/src/acorex-platform-module-risk-management-client-contracts.ts"],"sourcesContent":["/** Hazard catalog scope for environmental and operational risk matrix records. */\nexport const RISK_CATALOG_SCOPE_HAZARD = 'risk-management.hazard';\n\n/** PPE items catalog scope for personal protective equipment risk matrices. */\nexport const RISK_CATALOG_SCOPE_PPE_ITEMS = 'risk-management.ppe-items';\n","export const AXMRiskManagementMenuKeys = {\n Root: 'RiskManagement:Menu:Root',\n RiskLikelihoodScales: 'RiskManagement:Menu:RiskLikelihoodScales',\n RiskSeverityScales: 'RiskManagement:Menu:RiskSeverityScales',\n RiskRatingScales: 'RiskManagement:Menu:RiskRatingScales',\n RiskMatrices: 'RiskManagement:Menu:RiskMatrices',\n} as const;\n","/**\n * Safety & Risk capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPSafetyRiskPermissionKeys = {\n Access: 'SafetyRisk:Permission:Access',\n MaintainSafety: 'SafetyRisk:Permission:MaintainSafety',\n MaintainRisk: 'SafetyRisk:Permission:MaintainRisk',\n MaintainHealth: 'SafetyRisk:Permission:MaintainHealth',\n MaintainAssessments: 'SafetyRisk:Permission:MaintainAssessments',\n Setup: 'SafetyRisk:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPSafetyRiskPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMRiskManagementPermissionKeys = {\n RiskManagement: {\n Management: AXPSafetyRiskPermissionKeys.MaintainRisk,\n\n RiskLikelihoodScale: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskSeverityScale: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskRatingScale: {\n Management: AXPSafetyRiskPermissionKeys.Setup,\n View: AXPSafetyRiskPermissionKeys.Setup,\n Create: AXPSafetyRiskPermissionKeys.Setup,\n Update: AXPSafetyRiskPermissionKeys.Setup,\n Delete: AXPSafetyRiskPermissionKeys.Setup,\n },\n RiskMatrix: {\n Management: AXPSafetyRiskPermissionKeys.MaintainRisk,\n View: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Create: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Update: AXPSafetyRiskPermissionKeys.MaintainRisk,\n Delete: AXPSafetyRiskPermissionKeys.MaintainRisk,\n },\n },\n} as const;\n","//#region ----- Types -----\n\n/** Spreadsheet axis slots. Values are display keys, not RiskMatrix FK field names. */\nexport type AXMRiskMatrixAxisProperty = 'likelihoodId' | 'severityId' | 'riskRatingId';\n\nexport interface AXMRiskMatrixAxisMapping {\n rowProperty: AXMRiskMatrixAxisProperty;\n columnProperty: AXMRiskMatrixAxisProperty;\n depthProperty: AXMRiskMatrixAxisProperty;\n}\n\nexport type AXMRiskMatrixOrientation = 'likelihood-rows' | 'severity-rows';\n\n//#endregion\n\n//#region ----- Constants -----\n\nexport const RISK_MATRIX_AXIS_PROPERTIES: readonly AXMRiskMatrixAxisProperty[] = [\n 'likelihoodId',\n 'severityId',\n 'riskRatingId',\n] as const;\n\nexport const DEFAULT_RISK_MATRIX_AXIS_MAPPING: AXMRiskMatrixAxisMapping = {\n rowProperty: 'likelihoodId',\n columnProperty: 'severityId',\n depthProperty: 'riskRatingId',\n};\n\nconst I18N_RISK_MATRIX_ENTITY = '@risk-management:risk-matrices.entities.risk-matrix';\nconst I18N_RISK_MATRIX_COMPONENT = '@risk-management:risk-matrices.components.risk-matrix';\n\nexport const DEFAULT_RISK_MATRIX_ORIENTATION: AXMRiskMatrixOrientation = 'likelihood-rows';\n\nexport const RISK_MATRIX_ORIENTATION_OPTIONS: Array<{ id: AXMRiskMatrixOrientation; title: string }> = [\n {\n id: 'likelihood-rows',\n title: `${I18N_RISK_MATRIX_ENTITY}.fields.matrix-orientation.options.likelihood-rows`,\n },\n {\n id: 'severity-rows',\n title: `${I18N_RISK_MATRIX_ENTITY}.fields.matrix-orientation.options.severity-rows`,\n },\n];\n\nexport const RISK_MATRIX_ORIENTATION_TITLE_KEYS: Record<AXMRiskMatrixOrientation, string> = {\n 'likelihood-rows': `${I18N_RISK_MATRIX_COMPONENT}.titles.likelihood-rows`,\n 'severity-rows': `${I18N_RISK_MATRIX_COMPONENT}.titles.severity-rows`,\n};\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'risk-management',\n module: 'RiskManagement',\n route: 'risk-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@risk-management:module.title',\n icon: 'fa-light fa-chart-line',\n },\n entities: {\n riskLikelihoodScale: {\n name: 'RiskLikelihoodScale',\n source: `${config.module}.RiskLikelihoodScale`,\n title: '@risk-management:risk-likelihood-scales.entities.risk-likelihood-scale.title',\n titlePlural: '@risk-management:risk-likelihood-scales.entities.risk-likelihood-scale.plural',\n icon: 'fa-light fa-signal',\n },\n riskSeverityScale: {\n name: 'RiskSeverityScale',\n source: `${config.module}.RiskSeverityScale`,\n title: '@risk-management:risk-severity-scales.entities.risk-severity-scale.title',\n titlePlural: '@risk-management:risk-severity-scales.entities.risk-severity-scale.plural',\n icon: 'fa-light fa-gauge-high',\n },\n riskRatingScale: {\n name: 'RiskRatingScale',\n source: `${config.module}.RiskRatingScale`,\n title: '@risk-management:risk-rating-scales.entities.risk-rating-scale.title',\n titlePlural: '@risk-management:risk-rating-scales.entities.risk-rating-scale.plural',\n icon: 'fa-light fa-ranking-star',\n },\n riskMatrix: {\n name: 'RiskMatrix',\n source: `${config.module}.RiskMatrix`,\n title: '@risk-management:risk-matrices.entities.risk-matrix.title',\n titlePlural: '@risk-management:risk-matrices.entities.risk-matrix.plural',\n icon: 'fa-light fa-table-cells',\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Risk Management module manifest.\n */\nexport const RiskManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'workplace-safety',\n required: false,\n};\n\n//#endregion\n","//#region ----- Types -----\n\n/** Shared sortable fields present on likelihood, severity, and rating scale levels. */\nexport interface AXMRiskScaleLevelSortable {\n id?: string;\n code?: string;\n score?: number;\n order?: number;\n}\n\n//#endregion\n\n//#region ----- Helpers -----\n\n/** Sorts levels by explicit `order`, then `score`, then array index. */\nexport function sortRiskScaleLevels<T extends AXMRiskScaleLevelSortable>(\n levels: T[] | null | undefined,\n): T[] {\n if (!Array.isArray(levels) || levels.length === 0) {\n return [];\n }\n\n return levels\n .map((level, index) => ({ level, index }))\n .sort((a, b) => {\n const orderA = a.level.order ?? Number.POSITIVE_INFINITY;\n const orderB = b.level.order ?? Number.POSITIVE_INFINITY;\n if (orderA !== orderB) {\n return orderA - orderB;\n }\n\n const valueA = a.level.score ?? Number.POSITIVE_INFINITY;\n const valueB = b.level.score ?? Number.POSITIVE_INFINITY;\n if (valueA !== valueB) {\n return valueA - valueB;\n }\n\n return a.index - b.index;\n })\n .map(({ level }) => level);\n}\n\n/** Returns level codes in display order (skips items without code). */\nexport function resolveRiskScaleLevelCodes<T extends AXMRiskScaleLevelSortable>(\n levels: T[] | null | undefined,\n): string[] {\n return sortRiskScaleLevels(levels)\n .map((level) => (level.code != null ? String(level.code).trim() : ''))\n .filter((code) => code.length > 0);\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { resolveRiskScaleLevelCodes, sortRiskScaleLevels } from '../risk-scale-level.util';\nimport type { AXMRiskLikelihoodLevelItemModel } from './risk-likelihood-scale.types';\n\n//#endregion\n\n//#region ----- Level helpers -----\n\n/** Sorts levels by explicit `order`, then `score`, then array index. */\nexport function sortRiskLikelihoodLevels(\n levels: AXMRiskLikelihoodLevelItemModel[] | null | undefined,\n): AXMRiskLikelihoodLevelItemModel[] {\n return sortRiskScaleLevels(levels);\n}\n\n/** Returns level codes in display order (skips items without code). */\nexport function resolveRiskLikelihoodLevelCodes(\n levels: AXMRiskLikelihoodLevelItemModel[] | null | undefined,\n): string[] {\n return resolveRiskScaleLevelCodes(levels);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#endregion\n\n//#region ---- Level item model ----\n\n/**\n * Likelihood scale level managed via repeater on {@link AXMRiskManagementRiskLikelihoodScaleEntityModel}.\n * Stable `id` values remain on levels for other lookups; matrix cells key by `code`.\n */\nexport interface AXMRiskLikelihoodLevelItemModel {\n id?: string;\n /** Level code used as the risk-matrix axis / cell key. */\n code?: string;\n title: string;\n score: number;\n /**\n * Optional explicit order. When omitted, repeater array index defines order\n * (`RepeaterLayout` + `allowReorder`).\n */\n order?: number;\n}\n\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskLikelihoodScaleEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-likelihood-scale-code` (`RLS-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n description?: string;\n /** Likelihood levels managed via repeater. */\n levels: AXMRiskLikelihoodLevelItemModel[];\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXPSpreadsheetData } from '@acorex-platform/framework-shared/core';\n\nimport type { AXMRiskMatrixCellValueObject } from './risk-matrix.types';\n\n//#endregion\n\n//#region ---- Cell helpers ----\n\nfunction normalizeLevelCode(value: unknown): string {\n return typeof value === 'string' ? value.trim() : value != null ? String(value).trim() : '';\n}\n\nexport function isRiskMatrixCellValueObject(value: unknown): value is AXMRiskMatrixCellValueObject {\n if (value == null || typeof value !== 'object') {\n return false;\n }\n\n const cell = value as Record<string, unknown>;\n return (\n normalizeLevelCode(cell['likelihoodLevelCode']).length > 0 &&\n normalizeLevelCode(cell['severityLevelCode']).length > 0 &&\n normalizeLevelCode(cell['ratingLevelCode']).length > 0\n );\n}\n\nexport function normalizeRiskMatrixCellValueObject(\n value: unknown,\n): AXMRiskMatrixCellValueObject | null {\n if (!isRiskMatrixCellValueObject(value)) {\n return null;\n }\n\n return {\n likelihoodLevelCode: normalizeLevelCode(value.likelihoodLevelCode),\n severityLevelCode: normalizeLevelCode(value.severityLevelCode),\n ratingLevelCode: normalizeLevelCode(value.ratingLevelCode),\n };\n}\n\n/** Converts persisted cells into the spreadsheet shape used by the matrix widget. */\nexport function toRiskMatrixSpreadsheetData(\n cells: AXMRiskMatrixCellValueObject[] | null | undefined,\n): AXPSpreadsheetData {\n const matrix: AXPSpreadsheetData = {};\n\n (cells ?? []).forEach((cell) => {\n const normalized = normalizeRiskMatrixCellValueObject(cell);\n if (!normalized) {\n return;\n }\n\n matrix[normalized.likelihoodLevelCode] ??= {};\n matrix[normalized.likelihoodLevelCode][normalized.severityLevelCode] = normalized.ratingLevelCode;\n });\n\n return matrix;\n}\n\n/** Converts spreadsheet values (likelihood × severity → rating) into cell value objects. */\nexport function fromRiskMatrixSpreadsheetData(\n matrix: AXPSpreadsheetData | null | undefined,\n): AXMRiskMatrixCellValueObject[] {\n const cells: AXMRiskMatrixCellValueObject[] = [];\n\n Object.entries(matrix ?? {}).forEach(([likelihoodLevelCode, severityMap]) => {\n const likelihoodCode = normalizeLevelCode(likelihoodLevelCode);\n if (!likelihoodCode || severityMap == null) {\n return;\n }\n\n Object.entries(severityMap).forEach(([severityLevelCode, ratingLevelCode]) => {\n const severityCode = normalizeLevelCode(severityLevelCode);\n const ratingCode = normalizeLevelCode(ratingLevelCode);\n if (!severityCode || !ratingCode) {\n return;\n }\n\n cells.push({\n likelihoodLevelCode: likelihoodCode,\n severityLevelCode: severityCode,\n ratingLevelCode: ratingCode,\n });\n });\n });\n\n return cells;\n}\n\n/**\n * Accepts persisted `cells` or a legacy nested spreadsheet object and returns cell value objects.\n */\nexport function resolveRiskMatrixCells(value: unknown): AXMRiskMatrixCellValueObject[] {\n if (Array.isArray(value)) {\n return value\n .map((cell) => normalizeRiskMatrixCellValueObject(cell))\n .filter((cell): cell is AXMRiskMatrixCellValueObject => cell != null);\n }\n\n if (value != null && typeof value === 'object') {\n return fromRiskMatrixSpreadsheetData(value as AXPSpreadsheetData);\n }\n\n return [];\n}\n\n/**\n * Drops cells whose level codes are no longer on the selected scales.\n * Persisted shape stays likelihood × severity → rating.\n */\nexport function pruneRiskMatrixCells(\n cells: AXMRiskMatrixCellValueObject[] | null | undefined,\n likelihoodCodes: string[],\n severityCodes: string[],\n ratingCodes?: string[],\n): AXMRiskMatrixCellValueObject[] {\n const likelihoodSet = likelihoodCodes.length > 0 ? new Set(likelihoodCodes) : null;\n const severitySet = severityCodes.length > 0 ? new Set(severityCodes) : null;\n const ratingSet = ratingCodes != null && ratingCodes.length > 0 ? new Set(ratingCodes) : null;\n\n return (cells ?? []).filter((cell) => {\n const normalized = normalizeRiskMatrixCellValueObject(cell);\n if (!normalized) {\n return false;\n }\n\n if (likelihoodSet && !likelihoodSet.has(normalized.likelihoodLevelCode)) {\n return false;\n }\n if (severitySet && !severitySet.has(normalized.severityLevelCode)) {\n return false;\n }\n if (ratingSet && !ratingSet.has(normalized.ratingLevelCode)) {\n return false;\n }\n\n return true;\n });\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCategoryListItem, AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\nimport type { AXMRiskMatrixOrientation } from '../../risk-matrix-axis-mapping';\nimport type { AXMRiskLikelihoodLevelItemModel } from '../risk-likelihood-scale/risk-likelihood-scale.types';\nimport type { AXMRiskRatingLevelItemModel } from '../risk-rating-scale/risk-rating-scale.types';\nimport type { AXMRiskSeverityLevelItemModel } from '../risk-severity-scale/risk-severity-scale.types';\n\n//#endregion\n\n//#region ---- Nested lookup snapshots ----\n\n/** Lookup expose snapshot for a selected scale (`levels` drive matrix axes). */\nexport interface AXMRiskMatrixScaleRef<TLevel> {\n id?: string;\n title?: string;\n code?: string;\n levels?: TLevel[];\n}\n\n//#endregion\n\n//#region ---- Cell value object ----\n\n/**\n * One matrix cell keyed by selected-scale **level codes** (not scale entities or level ids).\n */\nexport interface AXMRiskMatrixCellValueObject {\n likelihoodLevelCode: string;\n severityLevelCode: string;\n ratingLevelCode: string;\n}\n\n/** Alias matching the design name {@link AXMRiskMatrixCellValueObject}. */\nexport type RiskMatrixCellValueObject = AXMRiskMatrixCellValueObject;\n\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskMatrixEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-matrix-code` (`RMC-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n description?: string;\n /** Controls spreadsheet row/column layout only. Persisted `cells` stay likelihood × severity. */\n matrixOrientation?: AXMRiskMatrixOrientation;\n /** Selected likelihood scale that supplies axis levels. */\n likelihoodScaleId: string;\n likelihoodScale?: AXMRiskMatrixScaleRef<AXMRiskLikelihoodLevelItemModel>;\n /** Selected severity scale that supplies axis levels. */\n severityScaleId: string;\n severityScale?: AXMRiskMatrixScaleRef<AXMRiskSeverityLevelItemModel>;\n /** Selected rating scale that supplies cell-value levels. */\n ratingScaleId: string;\n ratingScale?: AXMRiskMatrixScaleRef<AXMRiskRatingLevelItemModel>;\n /** Likelihood × severity combinations mapped to rating level codes. */\n cells: AXMRiskMatrixCellValueObject[];\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n /** Registered catalog scope keys (module providers). */\n catalogScopeKeys?: string[];\n /** Resolved scope labels for list display (enriched by catalog-scope resolver middleware). */\n catalogScopes?: Array<{ name: string; title: AXPMultiLanguageString | string; cssClass?: string }>;\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { resolveRiskScaleLevelCodes, sortRiskScaleLevels } from '../risk-scale-level.util';\nimport type { AXMRiskRatingLevelItemModel } from './risk-rating-scale.types';\n\n//#endregion\n\n//#region ----- Level helpers -----\n\n/** Sorts levels by explicit `order`, then `score`, then array index. */\nexport function sortRiskRatingLevels(\n levels: AXMRiskRatingLevelItemModel[] | null | undefined,\n): AXMRiskRatingLevelItemModel[] {\n return sortRiskScaleLevels(levels);\n}\n\n/** Returns level codes in display order (skips items without code). */\nexport function resolveRiskRatingLevelCodes(\n levels: AXMRiskRatingLevelItemModel[] | null | undefined,\n): string[] {\n return resolveRiskScaleLevelCodes(levels);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#endregion\n\n//#region ---- Level item model ----\n\n/**\n * Rating scale level managed via repeater on {@link AXMRiskManagementRiskRatingScaleEntityModel}.\n * Stable `id` values remain on levels for other lookups; matrix cells key by `code`.\n */\nexport interface AXMRiskRatingLevelItemModel {\n id?: string;\n /** Level code used as the risk-matrix cell rating value. */\n code?: string;\n title: string;\n score: number;\n /** Surface CSS class from `color-chooser` (`success-lighter-surface` or `axp-hex-4caf50`). */\n color?: string;\n /**\n * Optional explicit order. When omitted, repeater array index defines order\n * (`RepeaterLayout` + `allowReorder`).\n */\n order?: number;\n}\n\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskRatingScaleEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-rating-scale-code` (`RRS-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n description?: string;\n /** Rating levels managed via repeater. */\n levels: AXMRiskRatingLevelItemModel[];\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { resolveRiskScaleLevelCodes, sortRiskScaleLevels } from '../risk-scale-level.util';\nimport type { AXMRiskSeverityLevelItemModel } from './risk-severity-scale.types';\n\n//#endregion\n\n//#region ----- Level helpers -----\n\n/** Sorts levels by explicit `order`, then `score`, then array index. */\nexport function sortRiskSeverityLevels(\n levels: AXMRiskSeverityLevelItemModel[] | null | undefined,\n): AXMRiskSeverityLevelItemModel[] {\n return sortRiskScaleLevels(levels);\n}\n\n/** Returns level codes in display order (skips items without code). */\nexport function resolveRiskSeverityLevelCodes(\n levels: AXMRiskSeverityLevelItemModel[] | null | undefined,\n): string[] {\n return resolveRiskScaleLevelCodes(levels);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#endregion\n\n//#region ---- Level item model ----\n\n/**\n * Severity scale level managed via repeater on {@link AXMRiskManagementRiskSeverityScaleEntityModel}.\n * Stable `id` values remain on levels for other lookups; matrix cells key by `code`.\n */\nexport interface AXMRiskSeverityLevelItemModel {\n id?: string;\n /** Level code used as the risk-matrix axis / cell key. */\n code?: string;\n title: string;\n score: number;\n /**\n * Optional explicit order. When omitted, repeater array index defines order\n * (`RepeaterLayout` + `allowReorder`).\n */\n order?: number;\n}\n\n//#endregion\n\n//#region ---- Entity model ----\n\nexport interface AXMRiskManagementRiskSeverityScaleEntityModel extends AXPEntityModel<string> {\n /** Business code from identifier rule `risk-severity-scale-code` (`RSS-{date:YYYY}-{seq:4}`). */\n code: string;\n title: string;\n description?: string;\n /** Severity levels managed via repeater. */\n levels: AXMRiskSeverityLevelItemModel[];\n isArchived?: boolean;\n archivedAt?: Date | string;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\n\nexport * from './risk-matrix-axis-mapping';\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,10 +15,10 @@ function provideRiskManagementLocalEntities() {
15
15
  return provideLocalEntityCatalog({
16
16
  moduleName: RootConfig.module.name,
17
17
  loaders: {
18
- [RootConfig.entities.riskLikelihood.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-likelihood').then((m) => m.factoryRiskLikelihood()),
19
- [RootConfig.entities.riskMatrixCell.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-matrix-cell').then((m) => m.factoryRiskMatrixCell()),
20
- [RootConfig.entities.riskRating.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-rating').then((m) => m.factoryRiskRating()),
21
- [RootConfig.entities.riskSeverity.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-severity').then((m) => m.factoryRiskSeverity()),
18
+ [RootConfig.entities.riskLikelihoodScale.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-likelihood-scale').then((m) => m.factoryRiskLikelihoodScale()),
19
+ [RootConfig.entities.riskMatrix.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-matrix').then((m) => m.factoryRiskMatrix()),
20
+ [RootConfig.entities.riskRatingScale.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-rating-scale').then((m) => m.factoryRiskRatingScale()),
21
+ [RootConfig.entities.riskSeverityScale.name]: () => import('@acorex-platform/module-risk-management-client/contracts/entities/risk-severity-scale').then((m) => m.factoryRiskSeverityScale()),
22
22
  },
23
23
  });
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-risk-management-client-local-entities.mjs","sources":["../../../../libs/modules/risk-management/client/src/lib/provide-local-entities.ts","../../../../libs/modules/risk-management/client/src/lib/acorex-platform-module-risk-management-client-local-entities.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { provideLocalEntityCatalog } from '@acorex-platform/framework-client/layout/entity';\nimport { RootConfig } from '@acorex-platform/module-risk-management-client/contracts';\n\n//#endregion\n\n//#region ----- Provide local entities -----\n\n/**\n * Registers risk-management layouts on the client from packaged factories.\n * Each `import()` targets a secondary entry so unused entities stay out of the\n * bundle. Do not add this to the demo app; demo continues to load layouts via\n * `Domain:GetEntityLayout`.\n */\nexport function provideRiskManagementLocalEntities() {\n return provideLocalEntityCatalog({\n moduleName: RootConfig.module.name,\n loaders: {\n [RootConfig.entities.riskLikelihood.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-likelihood').then((m) => m.factoryRiskLikelihood()),\n [RootConfig.entities.riskMatrixCell.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-matrix-cell').then((m) => m.factoryRiskMatrixCell()),\n [RootConfig.entities.riskRating.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-rating').then((m) => m.factoryRiskRating()),\n [RootConfig.entities.riskSeverity.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-severity').then((m) => m.factoryRiskSeverity()),\n },\n });\n}\n\nexport { riskManagementLocalEntityCatalog } from '@acorex-platform/module-risk-management-client/contracts/entity-catalog';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './provide-local-entities';\n"],"names":[],"mappings":";;;;AAAA;AAKA;AAEA;AAEA;;;;;AAKG;SACa,kCAAkC,GAAA;AAChD,IAAA,OAAO,yBAAyB,CAAC;AAC/B,QAAA,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAClC,QAAA,OAAO,EAAE;AACP,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,MACzC,OAAO,mFAAmF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;AACpI,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,MACzC,OAAO,oFAAoF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;AACrI,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,MACrC,OAAO,+EAA+E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC5H,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,MACvC,OAAO,iFAAiF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,CAAC;AACjI,SAAA;AACF,KAAA,CAAC;AACJ;AAIA;;ACjCA;;AAEG;;"}
1
+ {"version":3,"file":"acorex-platform-module-risk-management-client-local-entities.mjs","sources":["../../../../libs/modules/risk-management/client/src/lib/provide-local-entities.ts","../../../../libs/modules/risk-management/client/src/lib/acorex-platform-module-risk-management-client-local-entities.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { provideLocalEntityCatalog } from '@acorex-platform/framework-client/layout/entity';\nimport { RootConfig } from '@acorex-platform/module-risk-management-client/contracts';\n\n//#endregion\n\n//#region ----- Provide local entities -----\n\n/**\n * Registers risk-management layouts on the client from packaged factories.\n * Each `import()` targets a secondary entry so unused entities stay out of the\n * bundle. Do not add this to the demo app; demo continues to load layouts via\n * `Domain:GetEntityLayout`.\n */\nexport function provideRiskManagementLocalEntities() {\n return provideLocalEntityCatalog({\n moduleName: RootConfig.module.name,\n loaders: {\n [RootConfig.entities.riskLikelihoodScale.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-likelihood-scale').then(\n (m) => m.factoryRiskLikelihoodScale(),\n ),\n [RootConfig.entities.riskMatrix.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-matrix').then((m) => m.factoryRiskMatrix()),\n [RootConfig.entities.riskRatingScale.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-rating-scale').then(\n (m) => m.factoryRiskRatingScale(),\n ),\n [RootConfig.entities.riskSeverityScale.name]: () =>\n import('@acorex-platform/module-risk-management-client/contracts/entities/risk-severity-scale').then(\n (m) => m.factoryRiskSeverityScale(),\n ),\n },\n });\n}\n\nexport { riskManagementLocalEntityCatalog } from '@acorex-platform/module-risk-management-client/contracts/entity-catalog';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './provide-local-entities';\n"],"names":[],"mappings":";;;;AAAA;AAKA;AAEA;AAEA;;;;;AAKG;SACa,kCAAkC,GAAA;AAChD,IAAA,OAAO,yBAAyB,CAAC;AAC/B,QAAA,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAClC,QAAA,OAAO,EAAE;AACP,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,MAC9C,OAAO,yFAAyF,CAAC,CAAC,IAAI,CACpG,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,CACtC;AACH,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,MACrC,OAAO,+EAA+E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC5H,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,GAAG,MAC1C,OAAO,qFAAqF,CAAC,CAAC,IAAI,CAChG,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAClC;AACH,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,MAC5C,OAAO,uFAAuF,CAAC,CAAC,IAAI,CAClG,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,CACpC;AACJ,SAAA;AACF,KAAA,CAAC;AACJ;AAIA;;ACvCA;;AAEG;;"}
@@ -8,7 +8,7 @@ import { AXMRiskMatrixViewerService } from './acorex-platform-module-risk-manage
8
8
 
9
9
  //#endregion
10
10
  //#region ---- Command ----
11
- class AXMPreviewRiskMatrixCellCommand {
11
+ class AXMPreviewRiskMatrixCommand {
12
12
  constructor() {
13
13
  //#region ---- Services & Dependencies ----
14
14
  this.entityService = inject(AXPEntityService);
@@ -19,8 +19,8 @@ class AXMPreviewRiskMatrixCellCommand {
19
19
  //#region ---- Command Implementation ----
20
20
  async execute(input) {
21
21
  try {
22
- const riskMatrixCellId = this.resolveRiskMatrixCellId(input);
23
- if (!riskMatrixCellId) {
22
+ const riskMatrixId = this.resolveRiskMatrixId(input);
23
+ if (!riskMatrixId) {
24
24
  return {
25
25
  success: false,
26
26
  message: {
@@ -29,9 +29,9 @@ class AXMPreviewRiskMatrixCellCommand {
29
29
  };
30
30
  }
31
31
  const matrixRecord = await this.entityService
32
- .withEntity(RootConfig.module.name, RootConfig.entities.riskMatrixCell.name)
32
+ .withEntity(RootConfig.module.name, RootConfig.entities.riskMatrix.name)
33
33
  .data()
34
- .byKey(riskMatrixCellId);
34
+ .byKey(riskMatrixId);
35
35
  if (!matrixRecord) {
36
36
  return {
37
37
  success: false,
@@ -63,16 +63,18 @@ class AXMPreviewRiskMatrixCellCommand {
63
63
  }
64
64
  //#endregion
65
65
  //#region ---- Utility Methods ----
66
- resolveRiskMatrixCellId(input) {
66
+ resolveRiskMatrixId(input) {
67
67
  const ctxOpts = input.options;
68
68
  const ctxData = input.data;
69
69
  const candidates = [
70
+ input.riskMatrixId,
70
71
  input.riskMatrixCellId,
71
72
  input.id,
73
+ ctxOpts?.riskMatrixId,
72
74
  ctxOpts?.riskMatrixCellId,
73
75
  ctxOpts?.id,
74
- ctxData?.['riskMatrixCellId'],
75
76
  ctxData?.['riskMatrixId'],
77
+ ctxData?.['riskMatrixCellId'],
76
78
  ctxData?.['id'],
77
79
  ];
78
80
  for (const candidate of candidates) {
@@ -92,12 +94,12 @@ class AXMPreviewRiskMatrixCellCommand {
92
94
  const recordTitle = resolveMultiLanguageString(matrixRecord.title, locale).trim();
93
95
  return recordTitle ? `${previewLabel}: ${recordTitle}` : previewLabel;
94
96
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCellCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
96
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCellCommand }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCommand }); }
97
99
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCellCommand, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreviewRiskMatrixCommand, decorators: [{
99
101
  type: Injectable
100
102
  }] });
101
103
 
102
- export { AXMPreviewRiskMatrixCellCommand };
103
- //# sourceMappingURL=acorex-platform-module-risk-management-client-preview-risk-matrix-cell.command-CTGIFUIa.mjs.map
104
+ export { AXMPreviewRiskMatrixCommand };
105
+ //# sourceMappingURL=acorex-platform-module-risk-management-client-preview-risk-matrix.command-gVKnE3c0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-risk-management-client-preview-risk-matrix.command-gVKnE3c0.mjs","sources":["../../../../libs/modules/risk-management/client/src/lib/features/risk-matrix/commands/preview-risk-matrix.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, get, isEmpty, isString } from 'lodash';\n\nimport { RootConfig, type AXMRiskManagementRiskMatrixEntityModel } from '@acorex-platform/module-risk-management-client/contracts';\nimport { AXMRiskMatrixViewerService } from '../risk-matrix-viewer.service';\n\n//#endregion\n\n//#region ---- Command Types ----\n\nexport interface AXMPreviewRiskMatrixCommandInput {\n riskMatrixId?: string;\n /** @deprecated Prefer `riskMatrixId`. */\n riskMatrixCellId?: string;\n id?: string;\n title?: string;\n data?: Record<string, unknown>;\n options?: Partial<AXMPreviewRiskMatrixCommandInput>;\n}\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable()\nexport class AXMPreviewRiskMatrixCommand implements AXPCommand<AXMPreviewRiskMatrixCommandInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly translationService = inject(AXTranslationService);\n private readonly riskMatrixViewer = inject(AXMRiskMatrixViewerService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: AXMPreviewRiskMatrixCommandInput): AXPCommandExecuteResultPromise<void> {\n try {\n const riskMatrixId = this.resolveRiskMatrixId(input);\n if (!riskMatrixId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-data'),\n },\n };\n }\n\n const matrixRecord = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.riskMatrix.name)\n .data<string, AXMRiskManagementRiskMatrixEntityModel>()\n .byKey(riskMatrixId);\n\n if (!matrixRecord) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.not-found'),\n },\n };\n }\n\n const dialogTitle = await this.resolveDialogTitle(input, matrixRecord);\n\n await this.riskMatrixViewer.open({\n context: { ...matrixRecord },\n title: dialogTitle,\n });\n\n return {\n success: true,\n kind: 'object',\n data: undefined,\n metadata: { refresh: false },\n };\n } catch {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.error.description'),\n },\n };\n }\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n private resolveRiskMatrixId(input: AXMPreviewRiskMatrixCommandInput): string | undefined {\n const ctxOpts = input.options;\n const ctxData = input.data;\n\n const candidates = [\n input.riskMatrixId,\n input.riskMatrixCellId,\n input.id,\n ctxOpts?.riskMatrixId,\n ctxOpts?.riskMatrixCellId,\n ctxOpts?.id,\n ctxData?.['riskMatrixId'],\n ctxData?.['riskMatrixCellId'],\n ctxData?.['id'],\n ];\n\n for (const candidate of candidates) {\n if (isString(candidate) && !isEmpty(candidate)) {\n return candidate;\n }\n }\n\n return undefined;\n }\n\n private async resolveDialogTitle(\n input: AXMPreviewRiskMatrixCommandInput,\n matrixRecord: AXMRiskManagementRiskMatrixEntityModel,\n ): Promise<string> {\n const previewLabel =\n (await this.translationService.translateAsync('@general:actions.preview.title')) || 'Preview';\n const locale = this.translationService.getActiveLang?.() ?? 'en-US';\n\n const explicitTitle = defaultTo(input.title, get(input, 'options.title'));\n if (isString(explicitTitle) && !isEmpty(explicitTitle)) {\n return `${previewLabel}: ${resolveMultiLanguageString(explicitTitle, locale).trim()}`;\n }\n\n const recordTitle = resolveMultiLanguageString(matrixRecord.title, locale).trim();\n return recordTitle ? `${previewLabel}: ${recordTitle}` : previewLabel;\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}