@acorex-platform/module-common-client 0.0.18 → 0.0.24

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 (66) hide show
  1. package/fesm2022/{acorex-platform-module-common-client-acorex-platform-module-common-client-rqWzT7RI.mjs → acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs} +765 -417
  2. package/fesm2022/acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-common-client-archive-entity.command-CKENj9Od.mjs → acorex-platform-module-common-client-archive-entity.command-BZgNdxFS.mjs} +9 -13
  4. package/fesm2022/acorex-platform-module-common-client-archive-entity.command-BZgNdxFS.mjs.map +1 -0
  5. package/fesm2022/{acorex-platform-module-common-client-archive-entity.command.util-BZrXDNGP.mjs → acorex-platform-module-common-client-archive-entity.command.util-BVrK8ZGy.mjs} +52 -40
  6. package/fesm2022/acorex-platform-module-common-client-archive-entity.command.util-BVrK8ZGy.mjs.map +1 -0
  7. package/fesm2022/{acorex-platform-module-common-client-audit-info-column.component-DuZUwD31.mjs → acorex-platform-module-common-client-audit-info-column.component-CsqKKwwF.mjs} +27 -16
  8. package/fesm2022/acorex-platform-module-common-client-audit-info-column.component-CsqKKwwF.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-module-common-client-audit-info-edit.component-CSsCG6Dz.mjs → acorex-platform-module-common-client-audit-info-edit.component-COMMBgsX.mjs} +20 -18
  10. package/fesm2022/acorex-platform-module-common-client-audit-info-edit.component-COMMBgsX.mjs.map +1 -0
  11. package/fesm2022/{acorex-platform-module-common-client-audit-info-view.component-WYXsZcLg.mjs → acorex-platform-module-common-client-audit-info-view.component-UOTT-ir_.mjs} +20 -18
  12. package/fesm2022/acorex-platform-module-common-client-audit-info-view.component-UOTT-ir_.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-EIlMyuII.mjs +66 -0
  14. package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-EIlMyuII.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-DgoZVXQA.mjs +65 -0
  16. package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-DgoZVXQA.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-C6fba__g.mjs +65 -0
  18. package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-C6fba__g.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-C8T0gUAH.mjs +65 -0
  20. package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-C8T0gUAH.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-module-common-client-clone-entity.command-DFgIeWxX.mjs → acorex-platform-module-common-client-clone-entity.command-rTasIhWx.mjs} +26 -27
  22. package/fesm2022/acorex-platform-module-common-client-clone-entity.command-rTasIhWx.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-common-client-contracts.mjs +420 -8
  24. package/fesm2022/acorex-platform-module-common-client-contracts.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-module-common-client-disable-entity.command-DWyqAAwo.mjs → acorex-platform-module-common-client-disable-entity.command-Bc1uH38V.mjs} +8 -13
  26. package/fesm2022/acorex-platform-module-common-client-disable-entity.command-Bc1uH38V.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-module-common-client-disable-entity.command.util-BBwY9Q30.mjs → acorex-platform-module-common-client-disable-entity.command.util-DQl6u2nj.mjs} +49 -44
  28. package/fesm2022/acorex-platform-module-common-client-disable-entity.command.util-DQl6u2nj.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-module-common-client-enable-entity.command-BP30gOku.mjs → acorex-platform-module-common-client-enable-entity.command-DeTumWIj.mjs} +8 -13
  30. package/fesm2022/acorex-platform-module-common-client-enable-entity.command-DeTumWIj.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-module-common-client-get-current-time.command-B7hJTMzT.mjs → acorex-platform-module-common-client-get-current-time.command-Ck_SC5Bu.mjs} +6 -8
  32. package/fesm2022/acorex-platform-module-common-client-get-current-time.command-Ck_SC5Bu.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-module-common-client-restore-archive-entity.command-B0JFf8ms.mjs → acorex-platform-module-common-client-restore-archive-entity.command-Dr1GcC8a.mjs} +8 -13
  34. package/fesm2022/acorex-platform-module-common-client-restore-archive-entity.command-Dr1GcC8a.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-common-client-search-popup.component-DH0OQYoQ.mjs +139 -0
  36. package/fesm2022/acorex-platform-module-common-client-search-popup.component-DH0OQYoQ.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs +63 -0
  38. package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-common-client.mjs +1 -1
  40. package/package.json +3 -3
  41. package/types/acorex-platform-module-common-client-contracts.d.ts +207 -3
  42. package/types/acorex-platform-module-common-client.d.ts +9 -13
  43. package/fesm2022/acorex-platform-module-common-client-acorex-platform-module-common-client-rqWzT7RI.mjs.map +0 -1
  44. package/fesm2022/acorex-platform-module-common-client-archive-entity.command-CKENj9Od.mjs.map +0 -1
  45. package/fesm2022/acorex-platform-module-common-client-archive-entity.command.util-BZrXDNGP.mjs.map +0 -1
  46. package/fesm2022/acorex-platform-module-common-client-audit-info-column.component-DuZUwD31.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-module-common-client-audit-info-edit.component-CSsCG6Dz.mjs.map +0 -1
  48. package/fesm2022/acorex-platform-module-common-client-audit-info-view.component-WYXsZcLg.mjs.map +0 -1
  49. package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-CPqLp9Ci.mjs +0 -75
  50. package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-CPqLp9Ci.mjs.map +0 -1
  51. package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-0J4vgsFL.mjs +0 -75
  52. package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-0J4vgsFL.mjs.map +0 -1
  53. package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-DsVuaInC.mjs +0 -75
  54. package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-DsVuaInC.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-D2y8h15u.mjs +0 -75
  56. package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-D2y8h15u.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-module-common-client-clone-entity.command-DFgIeWxX.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-module-common-client-disable-entity.command-DWyqAAwo.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-module-common-client-disable-entity.command.util-BBwY9Q30.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-module-common-client-enable-entity.command-BP30gOku.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-module-common-client-get-current-time.command-B7hJTMzT.mjs.map +0 -1
  62. package/fesm2022/acorex-platform-module-common-client-restore-archive-entity.command-B0JFf8ms.mjs.map +0 -1
  63. package/fesm2022/acorex-platform-module-common-client-search-popup.component-BjGrZHnB.mjs +0 -136
  64. package/fesm2022/acorex-platform-module-common-client-search-popup.component-BjGrZHnB.mjs.map +0 -1
  65. package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BwGLuNhW.mjs +0 -59
  66. package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BwGLuNhW.mjs.map +0 -1
@@ -49,8 +49,10 @@ const AXPCommonMenuKeys = {
49
49
  Configuration: 'Common:Menu:Configuration',
50
50
  Contacts: 'Common:Menu:Contacts',
51
51
  Platform: 'Common:Menu:Platform',
52
- /** Administration > Content (Promotions, Page Builder, Dashboards) */
52
+ /** Administration > Publishing (Promotions, Page Builder, Dashboards, Announcements) */
53
53
  Content: 'Common:Menu:Administration:Content',
54
+ /** Administration > Monitoring (Communications, Jobs) */
55
+ Monitoring: 'Common:Menu:Administration:Monitoring',
54
56
  /** Administration > Workflows (Workflow Definitions, Instances, Studio, Activities) */
55
57
  Workflows: 'Common:Menu:Administration:Workflows',
56
58
  /** Commerce (Products, Orders, Supplier Products) */
@@ -83,12 +85,387 @@ const AXPCommonMenuKeys = {
83
85
  SchedulingAndEvents: 'Common:Menu:Configuration:SchedulingAndEvents',
84
86
  /** Configuration > Data and Content (Documents + Data Definitions) */
85
87
  DataAndContent: 'Common:Menu:Configuration:DataAndContent',
88
+ /** Configuration > Platform Definitions (Entity / Command / Query / Plugin / Widget catalogs) */
89
+ PlatformDefinitions: 'Common:Menu:Configuration:PlatformDefinitions',
86
90
  /** Configuration > Intelligence (AI Management) */
87
91
  AiManagementConfig: 'Common:Menu:Configuration:AiManagement',
88
92
  /** Plant & Equipment (top-level menu group) */
89
93
  PlantEquipment: 'Common:Menu:PlantEquipment',
90
94
  };
91
95
 
96
+ /**
97
+ * Shared permission group ids for the role UI.
98
+ * Modules contribute capabilities via addGroup(these keys) so domains stay aligned
99
+ * (same nesting idea as {@link AXPCommonCommandKeys}).
100
+ *
101
+ * Format: `Common:PermissionGroup:{Domain}` or `Common:PermissionGroup:{Root}:{Section}`
102
+ * - `Domain.Root` — left-nav root group id
103
+ * - `Domain.Section` — optional right-panel section under that root
104
+ * Root `order` values follow the catalog in permission-design.mdc (lower first).
105
+ * See `.cursor/rules/core-rules/permission-design.mdc`.
106
+ *
107
+ * @example
108
+ * groups.SalesCustomers.Root
109
+ * groups.SalesCustomers.Customers
110
+ * groups.SuppliersProcurement.Root
111
+ * groups.Administration.SecurityAccess
112
+ */
113
+ const AXPCommonPermissionGroupKeys = {
114
+ //#region ---- Business domains ----
115
+ PeopleOrganization: {
116
+ Root: 'Common:PermissionGroup:PeopleOrganization',
117
+ Structure: 'Common:PermissionGroup:PeopleOrganization:Structure',
118
+ Workforce: 'Common:PermissionGroup:PeopleOrganization:Workforce',
119
+ Attendance: 'Common:PermissionGroup:PeopleOrganization:Attendance',
120
+ },
121
+ Learning: {
122
+ Root: 'Common:PermissionGroup:Learning',
123
+ },
124
+ SafetyRisk: {
125
+ Root: 'Common:PermissionGroup:SafetyRisk',
126
+ WorkplaceSafety: 'Common:PermissionGroup:SafetyRisk:WorkplaceSafety',
127
+ Risk: 'Common:PermissionGroup:SafetyRisk:Risk',
128
+ Health: 'Common:PermissionGroup:SafetyRisk:Health',
129
+ Assessments: 'Common:PermissionGroup:SafetyRisk:Assessments',
130
+ },
131
+ Finance: {
132
+ Root: 'Common:PermissionGroup:Finance',
133
+ },
134
+ SalesCustomers: {
135
+ Root: 'Common:PermissionGroup:SalesCustomers',
136
+ Customers: 'Common:PermissionGroup:SalesCustomers:Customers',
137
+ Sales: 'Common:PermissionGroup:SalesCustomers:Sales',
138
+ Products: 'Common:PermissionGroup:SalesCustomers:Products',
139
+ Orders: 'Common:PermissionGroup:SalesCustomers:Orders',
140
+ Subscriptions: 'Common:PermissionGroup:SalesCustomers:Subscriptions',
141
+ },
142
+ SuppliersProcurement: {
143
+ Root: 'Common:PermissionGroup:SuppliersProcurement',
144
+ SuppliersSubcontractors: 'Common:PermissionGroup:SuppliersProcurement:SuppliersSubcontractors',
145
+ },
146
+ ProjectsWork: {
147
+ Root: 'Common:PermissionGroup:ProjectsWork',
148
+ Projects: 'Common:PermissionGroup:ProjectsWork:Projects',
149
+ Tasks: 'Common:PermissionGroup:ProjectsWork:Tasks',
150
+ TimeTracking: 'Common:PermissionGroup:ProjectsWork:TimeTracking',
151
+ },
152
+ AssetsMaintenance: {
153
+ Root: 'Common:PermissionGroup:AssetsMaintenance',
154
+ Assets: 'Common:PermissionGroup:AssetsMaintenance:Assets',
155
+ Maintenance: 'Common:PermissionGroup:AssetsMaintenance:Maintenance',
156
+ },
157
+ Collaboration: {
158
+ Root: 'Common:PermissionGroup:Collaboration',
159
+ Conversations: 'Common:PermissionGroup:Collaboration:Conversations',
160
+ Scheduling: 'Common:PermissionGroup:Collaboration:Scheduling',
161
+ Communications: 'Common:PermissionGroup:Collaboration:Communications',
162
+ HelpDesk: 'Common:PermissionGroup:Collaboration:HelpDesk',
163
+ },
164
+ ContentDocuments: {
165
+ Root: 'Common:PermissionGroup:ContentDocuments',
166
+ Documents: 'Common:PermissionGroup:ContentDocuments:Documents',
167
+ Content: 'Common:PermissionGroup:ContentDocuments:Content',
168
+ FormTemplates: 'Common:PermissionGroup:ContentDocuments:FormTemplates',
169
+ },
170
+ InsightsReporting: {
171
+ Root: 'Common:PermissionGroup:InsightsReporting',
172
+ Reports: 'Common:PermissionGroup:InsightsReporting:Reports',
173
+ ActivityInsight: 'Common:PermissionGroup:InsightsReporting:ActivityInsight',
174
+ Data: 'Common:PermissionGroup:InsightsReporting:Data',
175
+ },
176
+ //#endregion
177
+ //#region ---- Platform roots ----
178
+ ApplicationsPlatform: {
179
+ Root: 'Common:PermissionGroup:ApplicationsPlatform',
180
+ Applications: 'Common:PermissionGroup:ApplicationsPlatform:Applications',
181
+ TenancyShell: 'Common:PermissionGroup:ApplicationsPlatform:TenancyShell',
182
+ Configuration: 'Common:PermissionGroup:ApplicationsPlatform:Configuration',
183
+ DevTools: 'Common:PermissionGroup:ApplicationsPlatform:DevTools',
184
+ },
185
+ Administration: {
186
+ Root: 'Common:PermissionGroup:Administration',
187
+ SecurityAccess: 'Common:PermissionGroup:Administration:SecurityAccess',
188
+ Settings: 'Common:PermissionGroup:Administration:Settings',
189
+ Integrations: 'Common:PermissionGroup:Administration:Integrations',
190
+ Workflow: 'Common:PermissionGroup:Administration:Workflow',
191
+ Rules: 'Common:PermissionGroup:Administration:Rules',
192
+ Ai: 'Common:PermissionGroup:Administration:Ai',
193
+ Dashboards: 'Common:PermissionGroup:Administration:Dashboards',
194
+ Jobs: 'Common:PermissionGroup:Administration:Jobs',
195
+ Observability: 'Common:PermissionGroup:Administration:Observability',
196
+ },
197
+ //#endregion
198
+ };
199
+
200
+ //#region ----- Permission display keys -----
201
+ /**
202
+ * Maps conceptual permission keys (`Domain:Permission:Capability`) to the
203
+ * shared `@common:{domain}.permissions.{capability}.(title|description)` i18n
204
+ * keys used by client permission-definition providers.
205
+ */
206
+ function resolvePermissionI18nKeys(permissionKey) {
207
+ const parts = permissionKey.split(':');
208
+ if (parts.length < 3 || parts[1] !== 'Permission') {
209
+ return null;
210
+ }
211
+ const domainKebab = pascalToKebab(parts[0] ?? '');
212
+ const capabilityKebab = pascalToKebab(parts[parts.length - 1] ?? '');
213
+ if (!domainKebab || !capabilityKebab) {
214
+ return null;
215
+ }
216
+ const base = `@common:${domainKebab}.permissions.${capabilityKebab}`;
217
+ return {
218
+ titleKey: `${base}.title`,
219
+ descriptionKey: `${base}.description`,
220
+ };
221
+ }
222
+ /** Fallback label when no i18n key can be derived (last capability segment). */
223
+ function humanizePermissionCapability(permissionKey) {
224
+ const capability = permissionKey.split(':').pop() ?? permissionKey;
225
+ return capability
226
+ .replace(/([a-z0-9])([A-Z])/g, '$1 $2')
227
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')
228
+ .trim();
229
+ }
230
+ /**
231
+ * Value for report/UI display columns: prefer the i18n title key (translated by
232
+ * text widgets), otherwise a humanized capability label.
233
+ */
234
+ function resolvePermissionTitleDisplay(permissionKey) {
235
+ return resolvePermissionI18nKeys(permissionKey)?.titleKey ?? humanizePermissionCapability(permissionKey);
236
+ }
237
+ function pascalToKebab(value) {
238
+ return value
239
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
240
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
241
+ .replace(/_/g, '-')
242
+ .toLowerCase()
243
+ .replace(/-+/g, '-')
244
+ .replace(/^-|-$/g, '');
245
+ }
246
+ //#endregion
247
+
248
+ //#region ----- Types -----
249
+ //#endregion
250
+ //#region ----- Domain → modules (Access / Setup = any-module) -----
251
+ /**
252
+ * Contributing Nx / edition module names per conceptual domain prefix.
253
+ * Access and Setup keys use this full list (match if ANY module is enabled).
254
+ */
255
+ const AXPPermissionDomainModules = {
256
+ Administration: [
257
+ 'SecurityManagement',
258
+ 'IntegrationManagement',
259
+ 'WorkflowManagement',
260
+ 'RuleEngineManagement',
261
+ 'AiManagement',
262
+ 'DashboardManagement',
263
+ 'BackgroundJobManagement',
264
+ 'SystemInsight',
265
+ ],
266
+ /**
267
+ * Platform Console catalog modules for Access ANY-match.
268
+ * SettingsManagement is intentionally omitted — product apps enable it for
269
+ * MaintainTenantSettings without unlocking Applications & Platform Access.
270
+ */
271
+ ApplicationsPlatform: [
272
+ 'ApplicationManagement',
273
+ 'TenantManagement',
274
+ 'PlatformManagement',
275
+ 'AppBuilder',
276
+ 'IdentifierManagement',
277
+ 'LocaleManagement',
278
+ 'PlatformDevTools',
279
+ ],
280
+ PeopleOrganization: [
281
+ 'OrganizationManagement',
282
+ 'HumanCapitalManagement',
283
+ 'PersonCore',
284
+ 'AttendanceManagement',
285
+ 'LocationManagement',
286
+ ],
287
+ SafetyRisk: [
288
+ 'WorkplaceSafetyManagement',
289
+ 'RiskManagement',
290
+ 'HealthCore',
291
+ 'AssessmentManagement',
292
+ ],
293
+ ProjectsWork: ['ProjectManagement', 'TaskManagement', 'TimesheetManagement'],
294
+ AssetsMaintenance: ['AssetManagement', 'MaintenanceManagement', 'MeasurementCore'],
295
+ Collaboration: [
296
+ 'Conversation',
297
+ 'CalendarManagement',
298
+ 'MeetingManagement',
299
+ 'CommunicationManagement',
300
+ 'BulletinManagement',
301
+ 'ReservationManagement',
302
+ 'HelpDesk',
303
+ 'ContactCore',
304
+ ],
305
+ ContentDocuments: ['DocumentManagement', 'ContentManagement', 'FormTemplateManagement'],
306
+ InsightsReporting: ['ReportManagement', 'DataManagement', 'ActivityInsight'],
307
+ SalesCustomers: [
308
+ 'CustomerManagement',
309
+ 'ProductCatalog',
310
+ 'OrderManagement',
311
+ 'SubscriptionManagement',
312
+ 'BusinessCore',
313
+ ],
314
+ Procurement: ['SupplierManagement', 'ProcurementManagement'],
315
+ Learning: ['LearningManagement'],
316
+ Finance: ['FinancialCore'],
317
+ };
318
+ //#endregion
319
+ //#region ----- Permission key → modules -----
320
+ /**
321
+ * Owner / contributing modules for each conceptual permission key.
322
+ * - Access & Setup → all domain modules (any-module match)
323
+ * - Unique Maintain/Manage/View/… → registering owner module only
324
+ */
325
+ const AXPPermissionKeyModules = {
326
+ // Administration
327
+ 'Administration:Permission:Access': AXPPermissionDomainModules.Administration,
328
+ 'Administration:Permission:MaintainUsersAndRoles': ['SecurityManagement'],
329
+ 'Administration:Permission:ManageSessions': ['SecurityManagement'],
330
+ 'Administration:Permission:MaintainPolicies': ['SecurityManagement'],
331
+ 'Administration:Permission:ViewIntegrations': ['IntegrationManagement'],
332
+ 'Administration:Permission:MaintainConnections': ['IntegrationManagement'],
333
+ 'Administration:Permission:ManageIntegrationActions': ['IntegrationManagement'],
334
+ 'Administration:Permission:MaintainWorkflows': ['WorkflowManagement'],
335
+ 'Administration:Permission:ManageWorkflowActions': ['WorkflowManagement'],
336
+ 'Administration:Permission:ViewRules': ['RuleEngineManagement'],
337
+ 'Administration:Permission:MaintainRules': ['RuleEngineManagement'],
338
+ 'Administration:Permission:ManageRuleActions': ['RuleEngineManagement'],
339
+ 'Administration:Permission:MaintainAi': ['AiManagement'],
340
+ 'Administration:Permission:UseAiAssist': ['AiManagement'],
341
+ 'Administration:Permission:MaintainDashboards': ['DashboardManagement'],
342
+ 'Administration:Permission:ViewJobs': ['BackgroundJobManagement'],
343
+ 'Administration:Permission:ManageJobActions': ['BackgroundJobManagement'],
344
+ 'Administration:Permission:ViewObservability': ['SystemInsight'],
345
+ 'Administration:Permission:MaintainObservability': ['SystemInsight'],
346
+ // Applications & Platform
347
+ 'ApplicationsPlatform:Permission:Access': AXPPermissionDomainModules.ApplicationsPlatform,
348
+ 'ApplicationsPlatform:Permission:MaintainApplications': ['ApplicationManagement'],
349
+ 'ApplicationsPlatform:Permission:MaintainTenants': ['TenantManagement'],
350
+ 'ApplicationsPlatform:Permission:MaintainPlatformShell': ['PlatformManagement'],
351
+ 'ApplicationsPlatform:Permission:MaintainLandingPages': ['AppBuilder'],
352
+ 'ApplicationsPlatform:Permission:MaintainIdentifiers': ['IdentifierManagement'],
353
+ 'ApplicationsPlatform:Permission:MaintainTenantSettings': ['SettingsManagement'],
354
+ /** Platform-wide settings — Platform Console only (not product-app SettingsManagement). */
355
+ 'ApplicationsPlatform:Permission:MaintainPlatformSettings': ['PlatformManagement'],
356
+ 'ApplicationsPlatform:Permission:MaintainLocales': ['LocaleManagement'],
357
+ 'ApplicationsPlatform:Permission:UseDevTools': ['PlatformDevTools'],
358
+ // People & Organization
359
+ 'PeopleOrganization:Permission:Access': AXPPermissionDomainModules.PeopleOrganization,
360
+ 'PeopleOrganization:Permission:Setup': AXPPermissionDomainModules.PeopleOrganization,
361
+ 'PeopleOrganization:Permission:ViewOrganization': ['OrganizationManagement'],
362
+ 'PeopleOrganization:Permission:MaintainOrganization': ['OrganizationManagement'],
363
+ 'PeopleOrganization:Permission:MaintainTeams': ['OrganizationManagement'],
364
+ 'PeopleOrganization:Permission:DesignJobs': ['OrganizationManagement'],
365
+ 'PeopleOrganization:Permission:MaintainEmployees': ['HumanCapitalManagement'],
366
+ 'PeopleOrganization:Permission:ManageEmployeeActions': ['HumanCapitalManagement'],
367
+ 'PeopleOrganization:Permission:MaintainPersons': ['PersonCore'],
368
+ 'PeopleOrganization:Permission:MaintainAttendance': ['AttendanceManagement'],
369
+ 'PeopleOrganization:Permission:ManageAttendanceActions': ['AttendanceManagement'],
370
+ // Safety & Risk
371
+ 'SafetyRisk:Permission:Access': AXPPermissionDomainModules.SafetyRisk,
372
+ 'SafetyRisk:Permission:Setup': AXPPermissionDomainModules.SafetyRisk,
373
+ 'SafetyRisk:Permission:MaintainSafety': ['WorkplaceSafetyManagement'],
374
+ 'SafetyRisk:Permission:MaintainRisk': ['RiskManagement'],
375
+ 'SafetyRisk:Permission:MaintainHealth': ['HealthCore'],
376
+ 'SafetyRisk:Permission:MaintainAssessments': ['AssessmentManagement'],
377
+ // Projects & Work
378
+ 'ProjectsWork:Permission:Access': AXPPermissionDomainModules.ProjectsWork,
379
+ 'ProjectsWork:Permission:Setup': AXPPermissionDomainModules.ProjectsWork,
380
+ 'ProjectsWork:Permission:MaintainProjects': ['ProjectManagement'],
381
+ 'ProjectsWork:Permission:MaintainTasks': ['TaskManagement'],
382
+ 'ProjectsWork:Permission:ViewAllTasks': ['TaskManagement'],
383
+ 'ProjectsWork:Permission:MaintainTimesheets': ['TimesheetManagement'],
384
+ 'ProjectsWork:Permission:ManageTimesheetActions': ['TimesheetManagement'],
385
+ 'ProjectsWork:Permission:ViewTimesheetReports': ['TimesheetManagement'],
386
+ // Assets & Maintenance
387
+ 'AssetsMaintenance:Permission:Access': AXPPermissionDomainModules.AssetsMaintenance,
388
+ 'AssetsMaintenance:Permission:Setup': AXPPermissionDomainModules.AssetsMaintenance,
389
+ 'AssetsMaintenance:Permission:MaintainAssets': ['AssetManagement'],
390
+ 'AssetsMaintenance:Permission:MaintainMaintenance': ['MaintenanceManagement'],
391
+ // Collaboration
392
+ 'Collaboration:Permission:Access': AXPPermissionDomainModules.Collaboration,
393
+ 'Collaboration:Permission:Setup': AXPPermissionDomainModules.Collaboration,
394
+ 'Collaboration:Permission:MaintainConversations': ['Conversation'],
395
+ 'Collaboration:Permission:MaintainCalendars': ['CalendarManagement'],
396
+ 'Collaboration:Permission:MaintainMeetings': ['MeetingManagement'],
397
+ 'Collaboration:Permission:MaintainCommunications': ['CommunicationManagement'],
398
+ 'Collaboration:Permission:ViewBulletins': ['BulletinManagement'],
399
+ 'Collaboration:Permission:MaintainBulletins': ['BulletinManagement'],
400
+ 'Collaboration:Permission:PublishBulletins': ['BulletinManagement'],
401
+ 'Collaboration:Permission:ModerateBulletinDiscussions': ['BulletinManagement'],
402
+ 'Collaboration:Permission:MaintainReservations': ['ReservationManagement'],
403
+ 'Collaboration:Permission:MaintainHelpDesk': ['HelpDesk'],
404
+ // Content & Documents
405
+ 'ContentDocuments:Permission:Access': AXPPermissionDomainModules.ContentDocuments,
406
+ 'ContentDocuments:Permission:Setup': AXPPermissionDomainModules.ContentDocuments,
407
+ 'ContentDocuments:Permission:MaintainDocuments': ['DocumentManagement'],
408
+ 'ContentDocuments:Permission:MaintainContent': ['ContentManagement'],
409
+ 'ContentDocuments:Permission:MaintainFormTemplates': ['FormTemplateManagement'],
410
+ // Insights & Reporting
411
+ 'InsightsReporting:Permission:Access': AXPPermissionDomainModules.InsightsReporting,
412
+ 'InsightsReporting:Permission:Setup': AXPPermissionDomainModules.InsightsReporting,
413
+ 'InsightsReporting:Permission:MaintainReports': ['ReportManagement'],
414
+ 'InsightsReporting:Permission:MaintainData': ['DataManagement'],
415
+ 'InsightsReporting:Permission:ViewActivityInsight': ['ActivityInsight'],
416
+ 'InsightsReporting:Permission:ManageActivityInsight': ['ActivityInsight'],
417
+ // Sales & Customers / Commerce
418
+ 'SalesCustomers:Permission:Access': AXPPermissionDomainModules.SalesCustomers,
419
+ 'SalesCustomers:Permission:Setup': AXPPermissionDomainModules.SalesCustomers,
420
+ 'SalesCustomers:Permission:MaintainCustomers': ['CustomerManagement'],
421
+ 'SalesCustomers:Permission:MaintainSales': ['CustomerManagement'],
422
+ 'SalesCustomers:Permission:MaintainProducts': ['ProductCatalog'],
423
+ 'SalesCustomers:Permission:MaintainOrders': ['OrderManagement'],
424
+ 'SalesCustomers:Permission:MaintainSubscriptions': ['SubscriptionManagement'],
425
+ // Procurement
426
+ 'Procurement:Permission:Access': AXPPermissionDomainModules.Procurement,
427
+ 'Procurement:Permission:Setup': AXPPermissionDomainModules.Procurement,
428
+ 'Procurement:Permission:MaintainSuppliers': ['SupplierManagement'],
429
+ 'Procurement:Permission:MaintainProcurement': ['ProcurementManagement'],
430
+ // Learning
431
+ 'Learning:Permission:Access': AXPPermissionDomainModules.Learning,
432
+ 'Learning:Permission:Setup': AXPPermissionDomainModules.Learning,
433
+ 'Learning:Permission:MaintainLearning': ['LearningManagement'],
434
+ // Finance
435
+ 'Finance:Permission:Access': AXPPermissionDomainModules.Finance,
436
+ 'Finance:Permission:Setup': AXPPermissionDomainModules.Finance,
437
+ 'Finance:Permission:MaintainFinance': ['FinancialCore'],
438
+ };
439
+ //#endregion
440
+ //#region ----- Helpers -----
441
+ /**
442
+ * Returns edition module names for a permission key.
443
+ * Unknown keys fall back to the legacy `{Prefix}:…` module-prefix convention.
444
+ */
445
+ function resolvePermissionModules(permissionKey) {
446
+ const mapped = AXPPermissionKeyModules[permissionKey];
447
+ if (mapped?.length) {
448
+ return mapped;
449
+ }
450
+ // Dynamic keys (e.g. AiManagement assist helpers) or legacy Module:Permission:…
451
+ const separatorIndex = permissionKey.indexOf(':');
452
+ if (separatorIndex <= 0) {
453
+ return [];
454
+ }
455
+ return [permissionKey.slice(0, separatorIndex)];
456
+ }
457
+ /**
458
+ * True when the permission is available for the enabled edition modules (ANY match).
459
+ */
460
+ function isPermissionEnabledForModules(permissionKey, enabledModules) {
461
+ if (!enabledModules.length) {
462
+ return false;
463
+ }
464
+ const enabled = new Set(enabledModules);
465
+ return resolvePermissionModules(permissionKey).some((moduleName) => enabled.has(moduleName));
466
+ }
467
+ //#endregion
468
+
92
469
  var AXMLockSystemSettings;
93
470
  (function (AXMLockSystemSettings) {
94
471
  AXMLockSystemSettings["LockSystem"] = "Common:Setting:LockSystem.Enabled";
@@ -98,6 +475,24 @@ var AXMCommonSettings;
98
475
  AXMCommonSettings["QuickSearchEnabled"] = "Common:Setting:Entity.QuickSearchEnabled";
99
476
  })(AXMCommonSettings || (AXMCommonSettings = {}));
100
477
 
478
+ //#region ----- Version history platform settings -----
479
+ var AXPVersionHistorySettings;
480
+ (function (AXPVersionHistorySettings) {
481
+ AXPVersionHistorySettings["RetentionEnabled"] = "Common:Setting:VersionHistory.Retention.Enabled";
482
+ AXPVersionHistorySettings["RetentionPeriodDays"] = "Common:Setting:VersionHistory.Retention.PeriodDays";
483
+ AXPVersionHistorySettings["RetentionBatchSize"] = "Common:Setting:VersionHistory.Retention.BatchSize";
484
+ AXPVersionHistorySettings["RetentionPurgeCron"] = "Common:Setting:VersionHistory.Retention.PurgeCron";
485
+ AXPVersionHistorySettings["SkipEmptyPatches"] = "Common:Setting:VersionHistory.SkipEmptyPatches";
486
+ })(AXPVersionHistorySettings || (AXPVersionHistorySettings = {}));
487
+ const AXP_VERSION_HISTORY_SETTING_DEFAULTS = {
488
+ [AXPVersionHistorySettings.RetentionEnabled]: true,
489
+ [AXPVersionHistorySettings.RetentionPeriodDays]: 365,
490
+ [AXPVersionHistorySettings.RetentionBatchSize]: 500,
491
+ [AXPVersionHistorySettings.RetentionPurgeCron]: '0 3 * * *',
492
+ [AXPVersionHistorySettings.SkipEmptyPatches]: true,
493
+ };
494
+ //#endregion
495
+
101
496
  const config = {
102
497
  i18n: 'common',
103
498
  module: 'Common',
@@ -110,19 +505,36 @@ const RootConfig = {
110
505
  title: '@general:common.module.title',
111
506
  icon: 'fa-light fa-file-invoice',
112
507
  },
113
- entities: {},
508
+ entities: {
509
+ recordLock: {
510
+ name: 'RecordLock',
511
+ title: 'Record Lock',
512
+ titlePlural: 'Record Locks',
513
+ icon: 'fa-light fa-lock',
514
+ source: `${config.module}.RecordLock`,
515
+ },
516
+ versionStream: {
517
+ name: 'VersionStream',
518
+ title: 'Version Stream',
519
+ titlePlural: 'Version Streams',
520
+ icon: 'fa-light fa-code-branch',
521
+ source: `${config.module}.VersionStream`,
522
+ },
523
+ versionEntry: {
524
+ name: 'VersionEntry',
525
+ title: 'Version Entry',
526
+ titlePlural: 'Version Entries',
527
+ icon: 'fa-light fa-clock-rotate-left',
528
+ source: `${config.module}.VersionEntry`,
529
+ },
530
+ },
114
531
  };
115
532
 
116
- /**
117
- * Common module domain layer.
118
- * Entity types live in feature modules; this package satisfies the workspace graph.
119
- */
120
-
121
533
  //#region ---- Contracts barrel ----
122
534
 
123
535
  /**
124
536
  * Generated bundle index. Do not edit.
125
537
  */
126
538
 
127
- export { AXMCommonSettings, AXMLockSystemSettings, AXPCommonCommandKeys, AXPCommonFeatureKeys, AXPCommonMenuKeys, COMMON_CATALOG_SCOPE_GENERAL, RootConfig };
539
+ export { AXMCommonSettings, AXMLockSystemSettings, AXPCommonCommandKeys, AXPCommonFeatureKeys, AXPCommonMenuKeys, AXPCommonPermissionGroupKeys, AXPPermissionDomainModules, AXPPermissionKeyModules, AXPVersionHistorySettings, AXP_VERSION_HISTORY_SETTING_DEFAULTS, COMMON_CATALOG_SCOPE_GENERAL, RootConfig, humanizePermissionCapability, isPermissionEnabledForModules, resolvePermissionI18nKeys, resolvePermissionModules, resolvePermissionTitleDisplay };
128
540
  //# sourceMappingURL=acorex-platform-module-common-client-contracts.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-common-client-contracts.mjs","sources":["../../../../libs/modules/common/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/common/contracts/src/commands.keys.ts","../../../../libs/modules/common/contracts/src/features.keys.ts","../../../../libs/modules/common/contracts/src/menu.keys.ts","../../../../libs/modules/common/contracts/src/settings.keys.ts","../../../../libs/modules/common/contracts/src/root-config.ts","../../../../libs/modules/common/contracts/src/entities/index.ts","../../../../libs/modules/common/contracts/src/index.ts","../../../../libs/modules/common/contracts/src/acorex-platform-module-common-client-contracts.ts"],"sourcesContent":["/** Cross-module catalog scope for shared questionnaires, question bank items, and workflows. */\nexport const COMMON_CATALOG_SCOPE_GENERAL = 'common.general';\n","//#region ---- Command keys ----\n\nexport const AXPCommonCommandKeys = {\n Archive: {\n Archive: 'archive-entity',\n Restore: 'restore-archive-entity',\n BulkArchive: 'bulk-archive-entity',\n BulkRestore: 'bulk-restore-archive-entity',\n },\n Disable: {\n Disable: 'disable-entity',\n Enable: 'enable-entity',\n BulkDisable: 'bulk-disable-entity',\n BulkEnable: 'bulk-enable-entity',\n },\n Clone: {\n Clone: 'clone-entity',\n },\n Compare: {\n EntityRecords: 'compare-entity-records',\n EntityRecordVersions: 'compare-entity-record-versions',\n },\n GlobalSearch: {\n Open: 'global-search',\n },\n Lock: {\n Lock: 'lock-popup',\n Unlock: 'unlock-confirm',\n },\n} as const;\n\n//#endregion\n","export const AXPCommonFeatureKeys = {\n GlobalSearch: 'Common:Feature:GlobalSearch',\n AdvancedExport: 'Common:Feature:AdvancedExport',\n ActivityLog: 'Common:Feature:ActivityLog',\n DataImport: 'Common:Feature:DataImport',\n BulkOperations: 'Common:Feature:BulkOperations',\n AdvancedFiltering: 'Common:Feature:AdvancedFiltering',\n DataSynchronization: 'Common:Feature:DataSynchronization',\n} as const;\n\n","export const AXPCommonMenuKeys = {\n Home: 'Common:Menu:Home',\n Administration: 'Common:Menu:Administration',\n Help: 'Common:Menu:Help',\n Configuration: 'Common:Menu:Configuration',\n Contacts: 'Common:Menu:Contacts',\n Platform: 'Common:Menu:Platform',\n /** Administration > Content (Promotions, Page Builder, Dashboards) */\n Content: 'Common:Menu:Administration:Content',\n /** Administration > Workflows (Workflow Definitions, Instances, Studio, Activities) */\n Workflows: 'Common:Menu:Administration:Workflows',\n /** Commerce (Products, Orders, Supplier Products) */\n Commerce: 'Common:Menu:Commerce',\n /** Configuration > Meeting (Meeting Types, Meeting Role Types) */\n Meeting: 'Common:Menu:Configuration:Meeting',\n /** Organization (Teams, Positions, Employees, Leave - merged with Staff) */\n Organization: 'Common:Menu:Organization',\n /** Configuration > Organization (Job Definitions, Employment Types, etc.) */\n OrganizationConfig: 'Common:Menu:Configuration:Organization',\n /** Configuration > Help Desk (Issue Types) */\n HelpDeskConfig: 'Common:Menu:Configuration:HelpDesk',\n /** Configuration > Document Management (Document Types) */\n DocumentManagementConfig: 'Common:Menu:Configuration:DocumentManagement',\n /** Configuration > Forms & Assessments (Question Bank, Questionnaires, Form Templates) */\n FormsAndAssessments: 'Common:Menu:Configuration:FormsAndAssessments',\n /** Configuration > Reservation (Types, Statuses, Classes) */\n ReservationConfig: 'Common:Menu:Configuration:Reservation',\n /** Configuration > Date and Time (Timezones, Calendars, Calendar Event Types) */\n DateAndTime: 'Common:Menu:Configuration:DateAndTime',\n /** Configuration > Region and Locale (Location Types, Geographic Regions, Languages) */\n Region: 'Common:Menu:Configuration:Region',\n /** Configuration > People and Demographics (personal reference data) */\n PeopleAndDemographics: 'Common:Menu:Configuration:PeopleAndDemographics',\n /** Configuration > Health (health reference data and catalogs) */\n Health: 'Common:Menu:Configuration:Health',\n /** Configuration > Projects (Project + Task reference data) */\n Projects: 'Common:Menu:Configuration:Projects',\n /** Configuration > Scheduling and Events (Meeting + Reservation types) */\n SchedulingAndEvents: 'Common:Menu:Configuration:SchedulingAndEvents',\n /** Configuration > Data and Content (Documents + Data Definitions) */\n DataAndContent: 'Common:Menu:Configuration:DataAndContent',\n /** Configuration > Intelligence (AI Management) */\n AiManagementConfig: 'Common:Menu:Configuration:AiManagement',\n /** Plant & Equipment (top-level menu group) */\n PlantEquipment: 'Common:Menu:PlantEquipment',\n} as const;\n","export enum AXMLockSystemSettings {\n LockSystem = 'Common:Setting:LockSystem.Enabled',\n}\n\nexport enum AXMCommonSettings {\n QuickSearchEnabled = 'Common:Setting:Entity.QuickSearchEnabled',\n}\n","const config = {\n i18n: 'common',\n module: 'Common',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'common',\n name: config.module,\n title: '@general:common.module.title',\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n} as const;\n","/**\n * Common module domain layer.\n * Entity types live in feature modules; this package satisfies the workspace graph.\n */\n\nexport {};\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './settings.keys';\n\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":"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"}
1
+ {"version":3,"file":"acorex-platform-module-common-client-contracts.mjs","sources":["../../../../libs/modules/common/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/common/contracts/src/commands.keys.ts","../../../../libs/modules/common/contracts/src/features.keys.ts","../../../../libs/modules/common/contracts/src/menu.keys.ts","../../../../libs/modules/common/contracts/src/permission-group.keys.ts","../../../../libs/modules/common/contracts/src/permission-display.util.ts","../../../../libs/modules/common/contracts/src/permission-module.map.ts","../../../../libs/modules/common/contracts/src/settings.keys.ts","../../../../libs/modules/common/contracts/src/version-history.settings.keys.ts","../../../../libs/modules/common/contracts/src/root-config.ts","../../../../libs/modules/common/contracts/src/index.ts","../../../../libs/modules/common/contracts/src/acorex-platform-module-common-client-contracts.ts"],"sourcesContent":["/** Cross-module catalog scope for shared questionnaires, question bank items, and workflows. */\nexport const COMMON_CATALOG_SCOPE_GENERAL = 'common.general';\n","//#region ---- Command keys ----\n\nexport const AXPCommonCommandKeys = {\n Archive: {\n Archive: 'archive-entity',\n Restore: 'restore-archive-entity',\n BulkArchive: 'bulk-archive-entity',\n BulkRestore: 'bulk-restore-archive-entity',\n },\n Disable: {\n Disable: 'disable-entity',\n Enable: 'enable-entity',\n BulkDisable: 'bulk-disable-entity',\n BulkEnable: 'bulk-enable-entity',\n },\n Clone: {\n Clone: 'clone-entity',\n },\n Compare: {\n EntityRecords: 'compare-entity-records',\n EntityRecordVersions: 'compare-entity-record-versions',\n },\n GlobalSearch: {\n Open: 'global-search',\n },\n Lock: {\n Lock: 'lock-popup',\n Unlock: 'unlock-confirm',\n },\n} as const;\n\n//#endregion\n","export const AXPCommonFeatureKeys = {\n GlobalSearch: 'Common:Feature:GlobalSearch',\n AdvancedExport: 'Common:Feature:AdvancedExport',\n ActivityLog: 'Common:Feature:ActivityLog',\n DataImport: 'Common:Feature:DataImport',\n BulkOperations: 'Common:Feature:BulkOperations',\n AdvancedFiltering: 'Common:Feature:AdvancedFiltering',\n DataSynchronization: 'Common:Feature:DataSynchronization',\n} as const;\n\n","export const AXPCommonMenuKeys = {\n Home: 'Common:Menu:Home',\n Administration: 'Common:Menu:Administration',\n Help: 'Common:Menu:Help',\n Configuration: 'Common:Menu:Configuration',\n Contacts: 'Common:Menu:Contacts',\n Platform: 'Common:Menu:Platform',\n /** Administration > Publishing (Promotions, Page Builder, Dashboards, Announcements) */\n Content: 'Common:Menu:Administration:Content',\n /** Administration > Monitoring (Communications, Jobs) */\n Monitoring: 'Common:Menu:Administration:Monitoring',\n /** Administration > Workflows (Workflow Definitions, Instances, Studio, Activities) */\n Workflows: 'Common:Menu:Administration:Workflows',\n /** Commerce (Products, Orders, Supplier Products) */\n Commerce: 'Common:Menu:Commerce',\n /** Configuration > Meeting (Meeting Types, Meeting Role Types) */\n Meeting: 'Common:Menu:Configuration:Meeting',\n /** Organization (Teams, Positions, Employees, Leave - merged with Staff) */\n Organization: 'Common:Menu:Organization',\n /** Configuration > Organization (Job Definitions, Employment Types, etc.) */\n OrganizationConfig: 'Common:Menu:Configuration:Organization',\n /** Configuration > Help Desk (Issue Types) */\n HelpDeskConfig: 'Common:Menu:Configuration:HelpDesk',\n /** Configuration > Document Management (Document Types) */\n DocumentManagementConfig: 'Common:Menu:Configuration:DocumentManagement',\n /** Configuration > Forms & Assessments (Question Bank, Questionnaires, Form Templates) */\n FormsAndAssessments: 'Common:Menu:Configuration:FormsAndAssessments',\n /** Configuration > Reservation (Types, Statuses, Classes) */\n ReservationConfig: 'Common:Menu:Configuration:Reservation',\n /** Configuration > Date and Time (Timezones, Calendars, Calendar Event Types) */\n DateAndTime: 'Common:Menu:Configuration:DateAndTime',\n /** Configuration > Region and Locale (Location Types, Geographic Regions, Languages) */\n Region: 'Common:Menu:Configuration:Region',\n /** Configuration > People and Demographics (personal reference data) */\n PeopleAndDemographics: 'Common:Menu:Configuration:PeopleAndDemographics',\n /** Configuration > Health (health reference data and catalogs) */\n Health: 'Common:Menu:Configuration:Health',\n /** Configuration > Projects (Project + Task reference data) */\n Projects: 'Common:Menu:Configuration:Projects',\n /** Configuration > Scheduling and Events (Meeting + Reservation types) */\n SchedulingAndEvents: 'Common:Menu:Configuration:SchedulingAndEvents',\n /** Configuration > Data and Content (Documents + Data Definitions) */\n DataAndContent: 'Common:Menu:Configuration:DataAndContent',\n /** Configuration > Platform Definitions (Entity / Command / Query / Plugin / Widget catalogs) */\n PlatformDefinitions: 'Common:Menu:Configuration:PlatformDefinitions',\n /** Configuration > Intelligence (AI Management) */\n AiManagementConfig: 'Common:Menu:Configuration:AiManagement',\n /** Plant & Equipment (top-level menu group) */\n PlantEquipment: 'Common:Menu:PlantEquipment',\n} as const;\n","/**\n * Shared permission group ids for the role UI.\n * Modules contribute capabilities via addGroup(these keys) so domains stay aligned\n * (same nesting idea as {@link AXPCommonCommandKeys}).\n *\n * Format: `Common:PermissionGroup:{Domain}` or `Common:PermissionGroup:{Root}:{Section}`\n * - `Domain.Root` — left-nav root group id\n * - `Domain.Section` — optional right-panel section under that root\n * Root `order` values follow the catalog in permission-design.mdc (lower first).\n * See `.cursor/rules/core-rules/permission-design.mdc`.\n *\n * @example\n * groups.SalesCustomers.Root\n * groups.SalesCustomers.Customers\n * groups.SuppliersProcurement.Root\n * groups.Administration.SecurityAccess\n */\nexport const AXPCommonPermissionGroupKeys = {\n //#region ---- Business domains ----\n\n PeopleOrganization: {\n Root: 'Common:PermissionGroup:PeopleOrganization',\n Structure: 'Common:PermissionGroup:PeopleOrganization:Structure',\n Workforce: 'Common:PermissionGroup:PeopleOrganization:Workforce',\n Attendance: 'Common:PermissionGroup:PeopleOrganization:Attendance',\n },\n Learning: {\n Root: 'Common:PermissionGroup:Learning',\n },\n SafetyRisk: {\n Root: 'Common:PermissionGroup:SafetyRisk',\n WorkplaceSafety: 'Common:PermissionGroup:SafetyRisk:WorkplaceSafety',\n Risk: 'Common:PermissionGroup:SafetyRisk:Risk',\n Health: 'Common:PermissionGroup:SafetyRisk:Health',\n Assessments: 'Common:PermissionGroup:SafetyRisk:Assessments',\n },\n Finance: {\n Root: 'Common:PermissionGroup:Finance',\n },\n SalesCustomers: {\n Root: 'Common:PermissionGroup:SalesCustomers',\n Customers: 'Common:PermissionGroup:SalesCustomers:Customers',\n Sales: 'Common:PermissionGroup:SalesCustomers:Sales',\n Products: 'Common:PermissionGroup:SalesCustomers:Products',\n Orders: 'Common:PermissionGroup:SalesCustomers:Orders',\n Subscriptions: 'Common:PermissionGroup:SalesCustomers:Subscriptions',\n },\n SuppliersProcurement: {\n Root: 'Common:PermissionGroup:SuppliersProcurement',\n SuppliersSubcontractors: 'Common:PermissionGroup:SuppliersProcurement:SuppliersSubcontractors',\n },\n ProjectsWork: {\n Root: 'Common:PermissionGroup:ProjectsWork',\n Projects: 'Common:PermissionGroup:ProjectsWork:Projects',\n Tasks: 'Common:PermissionGroup:ProjectsWork:Tasks',\n TimeTracking: 'Common:PermissionGroup:ProjectsWork:TimeTracking',\n },\n AssetsMaintenance: {\n Root: 'Common:PermissionGroup:AssetsMaintenance',\n Assets: 'Common:PermissionGroup:AssetsMaintenance:Assets',\n Maintenance: 'Common:PermissionGroup:AssetsMaintenance:Maintenance',\n },\n Collaboration: {\n Root: 'Common:PermissionGroup:Collaboration',\n Conversations: 'Common:PermissionGroup:Collaboration:Conversations',\n Scheduling: 'Common:PermissionGroup:Collaboration:Scheduling',\n Communications: 'Common:PermissionGroup:Collaboration:Communications',\n HelpDesk: 'Common:PermissionGroup:Collaboration:HelpDesk',\n },\n ContentDocuments: {\n Root: 'Common:PermissionGroup:ContentDocuments',\n Documents: 'Common:PermissionGroup:ContentDocuments:Documents',\n Content: 'Common:PermissionGroup:ContentDocuments:Content',\n FormTemplates: 'Common:PermissionGroup:ContentDocuments:FormTemplates',\n },\n InsightsReporting: {\n Root: 'Common:PermissionGroup:InsightsReporting',\n Reports: 'Common:PermissionGroup:InsightsReporting:Reports',\n ActivityInsight: 'Common:PermissionGroup:InsightsReporting:ActivityInsight',\n Data: 'Common:PermissionGroup:InsightsReporting:Data',\n },\n\n //#endregion\n\n //#region ---- Platform roots ----\n\n ApplicationsPlatform: {\n Root: 'Common:PermissionGroup:ApplicationsPlatform',\n Applications: 'Common:PermissionGroup:ApplicationsPlatform:Applications',\n TenancyShell: 'Common:PermissionGroup:ApplicationsPlatform:TenancyShell',\n Configuration: 'Common:PermissionGroup:ApplicationsPlatform:Configuration',\n DevTools: 'Common:PermissionGroup:ApplicationsPlatform:DevTools',\n },\n Administration: {\n Root: 'Common:PermissionGroup:Administration',\n SecurityAccess: 'Common:PermissionGroup:Administration:SecurityAccess',\n Settings: 'Common:PermissionGroup:Administration:Settings',\n Integrations: 'Common:PermissionGroup:Administration:Integrations',\n Workflow: 'Common:PermissionGroup:Administration:Workflow',\n Rules: 'Common:PermissionGroup:Administration:Rules',\n Ai: 'Common:PermissionGroup:Administration:Ai',\n Dashboards: 'Common:PermissionGroup:Administration:Dashboards',\n Jobs: 'Common:PermissionGroup:Administration:Jobs',\n Observability: 'Common:PermissionGroup:Administration:Observability',\n },\n\n //#endregion\n} as const;\n","//#region ----- Permission display keys -----\n\n/**\n * Maps conceptual permission keys (`Domain:Permission:Capability`) to the\n * shared `@common:{domain}.permissions.{capability}.(title|description)` i18n\n * keys used by client permission-definition providers.\n */\nexport function resolvePermissionI18nKeys(\n permissionKey: string,\n): { titleKey: string; descriptionKey: string } | null {\n const parts = permissionKey.split(':');\n if (parts.length < 3 || parts[1] !== 'Permission') {\n return null;\n }\n\n const domainKebab = pascalToKebab(parts[0] ?? '');\n const capabilityKebab = pascalToKebab(parts[parts.length - 1] ?? '');\n if (!domainKebab || !capabilityKebab) {\n return null;\n }\n\n const base = `@common:${domainKebab}.permissions.${capabilityKebab}`;\n return {\n titleKey: `${base}.title`,\n descriptionKey: `${base}.description`,\n };\n}\n\n/** Fallback label when no i18n key can be derived (last capability segment). */\nexport function humanizePermissionCapability(permissionKey: string): string {\n const capability = permissionKey.split(':').pop() ?? permissionKey;\n return capability\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')\n .trim();\n}\n\n/**\n * Value for report/UI display columns: prefer the i18n title key (translated by\n * text widgets), otherwise a humanized capability label.\n */\nexport function resolvePermissionTitleDisplay(permissionKey: string): string {\n return resolvePermissionI18nKeys(permissionKey)?.titleKey ?? humanizePermissionCapability(permissionKey);\n}\n\nfunction pascalToKebab(value: string): string {\n return value\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/_/g, '-')\n .toLowerCase()\n .replace(/-+/g, '-')\n .replace(/^-|-$/g, '');\n}\n\n//#endregion\n","//#region ----- Types -----\n\n/**\n * Resolves which edition module name(s) a conceptual permission key belongs to.\n * Used to filter role grants / permission editor by application edition modules.\n */\nexport type AXPPermissionModulesResolver = (permissionKey: string) => readonly string[];\n\n//#endregion\n\n//#region ----- Domain → modules (Access / Setup = any-module) -----\n\n/**\n * Contributing Nx / edition module names per conceptual domain prefix.\n * Access and Setup keys use this full list (match if ANY module is enabled).\n */\nexport const AXPPermissionDomainModules = {\n Administration: [\n 'SecurityManagement',\n 'IntegrationManagement',\n 'WorkflowManagement',\n 'RuleEngineManagement',\n 'AiManagement',\n 'DashboardManagement',\n 'BackgroundJobManagement',\n 'SystemInsight',\n ],\n /**\n * Platform Console catalog modules for Access ANY-match.\n * SettingsManagement is intentionally omitted — product apps enable it for\n * MaintainTenantSettings without unlocking Applications & Platform Access.\n */\n ApplicationsPlatform: [\n 'ApplicationManagement',\n 'TenantManagement',\n 'PlatformManagement',\n 'AppBuilder',\n 'IdentifierManagement',\n 'LocaleManagement',\n 'PlatformDevTools',\n ],\n PeopleOrganization: [\n 'OrganizationManagement',\n 'HumanCapitalManagement',\n 'PersonCore',\n 'AttendanceManagement',\n 'LocationManagement',\n ],\n SafetyRisk: [\n 'WorkplaceSafetyManagement',\n 'RiskManagement',\n 'HealthCore',\n 'AssessmentManagement',\n ],\n ProjectsWork: ['ProjectManagement', 'TaskManagement', 'TimesheetManagement'],\n AssetsMaintenance: ['AssetManagement', 'MaintenanceManagement', 'MeasurementCore'],\n Collaboration: [\n 'Conversation',\n 'CalendarManagement',\n 'MeetingManagement',\n 'CommunicationManagement',\n 'BulletinManagement',\n 'ReservationManagement',\n 'HelpDesk',\n 'ContactCore',\n ],\n ContentDocuments: ['DocumentManagement', 'ContentManagement', 'FormTemplateManagement'],\n InsightsReporting: ['ReportManagement', 'DataManagement', 'ActivityInsight'],\n SalesCustomers: [\n 'CustomerManagement',\n 'ProductCatalog',\n 'OrderManagement',\n 'SubscriptionManagement',\n 'BusinessCore',\n ],\n Procurement: ['SupplierManagement', 'ProcurementManagement'],\n Learning: ['LearningManagement'],\n Finance: ['FinancialCore'],\n} as const;\n\n//#endregion\n\n//#region ----- Permission key → modules -----\n\n/**\n * Owner / contributing modules for each conceptual permission key.\n * - Access & Setup → all domain modules (any-module match)\n * - Unique Maintain/Manage/View/… → registering owner module only\n */\nexport const AXPPermissionKeyModules: Readonly<Record<string, readonly string[]>> = {\n // Administration\n 'Administration:Permission:Access': AXPPermissionDomainModules.Administration,\n 'Administration:Permission:MaintainUsersAndRoles': ['SecurityManagement'],\n 'Administration:Permission:ManageSessions': ['SecurityManagement'],\n 'Administration:Permission:MaintainPolicies': ['SecurityManagement'],\n 'Administration:Permission:ViewIntegrations': ['IntegrationManagement'],\n 'Administration:Permission:MaintainConnections': ['IntegrationManagement'],\n 'Administration:Permission:ManageIntegrationActions': ['IntegrationManagement'],\n 'Administration:Permission:MaintainWorkflows': ['WorkflowManagement'],\n 'Administration:Permission:ManageWorkflowActions': ['WorkflowManagement'],\n 'Administration:Permission:ViewRules': ['RuleEngineManagement'],\n 'Administration:Permission:MaintainRules': ['RuleEngineManagement'],\n 'Administration:Permission:ManageRuleActions': ['RuleEngineManagement'],\n 'Administration:Permission:MaintainAi': ['AiManagement'],\n 'Administration:Permission:UseAiAssist': ['AiManagement'],\n 'Administration:Permission:MaintainDashboards': ['DashboardManagement'],\n 'Administration:Permission:ViewJobs': ['BackgroundJobManagement'],\n 'Administration:Permission:ManageJobActions': ['BackgroundJobManagement'],\n 'Administration:Permission:ViewObservability': ['SystemInsight'],\n 'Administration:Permission:MaintainObservability': ['SystemInsight'],\n\n // Applications & Platform\n 'ApplicationsPlatform:Permission:Access': AXPPermissionDomainModules.ApplicationsPlatform,\n 'ApplicationsPlatform:Permission:MaintainApplications': ['ApplicationManagement'],\n 'ApplicationsPlatform:Permission:MaintainTenants': ['TenantManagement'],\n 'ApplicationsPlatform:Permission:MaintainPlatformShell': ['PlatformManagement'],\n 'ApplicationsPlatform:Permission:MaintainLandingPages': ['AppBuilder'],\n 'ApplicationsPlatform:Permission:MaintainIdentifiers': ['IdentifierManagement'],\n 'ApplicationsPlatform:Permission:MaintainTenantSettings': ['SettingsManagement'],\n /** Platform-wide settings — Platform Console only (not product-app SettingsManagement). */\n 'ApplicationsPlatform:Permission:MaintainPlatformSettings': ['PlatformManagement'],\n 'ApplicationsPlatform:Permission:MaintainLocales': ['LocaleManagement'],\n 'ApplicationsPlatform:Permission:UseDevTools': ['PlatformDevTools'],\n\n // People & Organization\n 'PeopleOrganization:Permission:Access': AXPPermissionDomainModules.PeopleOrganization,\n 'PeopleOrganization:Permission:Setup': AXPPermissionDomainModules.PeopleOrganization,\n 'PeopleOrganization:Permission:ViewOrganization': ['OrganizationManagement'],\n 'PeopleOrganization:Permission:MaintainOrganization': ['OrganizationManagement'],\n 'PeopleOrganization:Permission:MaintainTeams': ['OrganizationManagement'],\n 'PeopleOrganization:Permission:DesignJobs': ['OrganizationManagement'],\n 'PeopleOrganization:Permission:MaintainEmployees': ['HumanCapitalManagement'],\n 'PeopleOrganization:Permission:ManageEmployeeActions': ['HumanCapitalManagement'],\n 'PeopleOrganization:Permission:MaintainPersons': ['PersonCore'],\n 'PeopleOrganization:Permission:MaintainAttendance': ['AttendanceManagement'],\n 'PeopleOrganization:Permission:ManageAttendanceActions': ['AttendanceManagement'],\n\n // Safety & Risk\n 'SafetyRisk:Permission:Access': AXPPermissionDomainModules.SafetyRisk,\n 'SafetyRisk:Permission:Setup': AXPPermissionDomainModules.SafetyRisk,\n 'SafetyRisk:Permission:MaintainSafety': ['WorkplaceSafetyManagement'],\n 'SafetyRisk:Permission:MaintainRisk': ['RiskManagement'],\n 'SafetyRisk:Permission:MaintainHealth': ['HealthCore'],\n 'SafetyRisk:Permission:MaintainAssessments': ['AssessmentManagement'],\n\n // Projects & Work\n 'ProjectsWork:Permission:Access': AXPPermissionDomainModules.ProjectsWork,\n 'ProjectsWork:Permission:Setup': AXPPermissionDomainModules.ProjectsWork,\n 'ProjectsWork:Permission:MaintainProjects': ['ProjectManagement'],\n 'ProjectsWork:Permission:MaintainTasks': ['TaskManagement'],\n 'ProjectsWork:Permission:ViewAllTasks': ['TaskManagement'],\n 'ProjectsWork:Permission:MaintainTimesheets': ['TimesheetManagement'],\n 'ProjectsWork:Permission:ManageTimesheetActions': ['TimesheetManagement'],\n 'ProjectsWork:Permission:ViewTimesheetReports': ['TimesheetManagement'],\n\n // Assets & Maintenance\n 'AssetsMaintenance:Permission:Access': AXPPermissionDomainModules.AssetsMaintenance,\n 'AssetsMaintenance:Permission:Setup': AXPPermissionDomainModules.AssetsMaintenance,\n 'AssetsMaintenance:Permission:MaintainAssets': ['AssetManagement'],\n 'AssetsMaintenance:Permission:MaintainMaintenance': ['MaintenanceManagement'],\n\n // Collaboration\n 'Collaboration:Permission:Access': AXPPermissionDomainModules.Collaboration,\n 'Collaboration:Permission:Setup': AXPPermissionDomainModules.Collaboration,\n 'Collaboration:Permission:MaintainConversations': ['Conversation'],\n 'Collaboration:Permission:MaintainCalendars': ['CalendarManagement'],\n 'Collaboration:Permission:MaintainMeetings': ['MeetingManagement'],\n 'Collaboration:Permission:MaintainCommunications': ['CommunicationManagement'],\n 'Collaboration:Permission:ViewBulletins': ['BulletinManagement'],\n 'Collaboration:Permission:MaintainBulletins': ['BulletinManagement'],\n 'Collaboration:Permission:PublishBulletins': ['BulletinManagement'],\n 'Collaboration:Permission:ModerateBulletinDiscussions': ['BulletinManagement'],\n 'Collaboration:Permission:MaintainReservations': ['ReservationManagement'],\n 'Collaboration:Permission:MaintainHelpDesk': ['HelpDesk'],\n\n // Content & Documents\n 'ContentDocuments:Permission:Access': AXPPermissionDomainModules.ContentDocuments,\n 'ContentDocuments:Permission:Setup': AXPPermissionDomainModules.ContentDocuments,\n 'ContentDocuments:Permission:MaintainDocuments': ['DocumentManagement'],\n 'ContentDocuments:Permission:MaintainContent': ['ContentManagement'],\n 'ContentDocuments:Permission:MaintainFormTemplates': ['FormTemplateManagement'],\n\n // Insights & Reporting\n 'InsightsReporting:Permission:Access': AXPPermissionDomainModules.InsightsReporting,\n 'InsightsReporting:Permission:Setup': AXPPermissionDomainModules.InsightsReporting,\n 'InsightsReporting:Permission:MaintainReports': ['ReportManagement'],\n 'InsightsReporting:Permission:MaintainData': ['DataManagement'],\n 'InsightsReporting:Permission:ViewActivityInsight': ['ActivityInsight'],\n 'InsightsReporting:Permission:ManageActivityInsight': ['ActivityInsight'],\n\n // Sales & Customers / Commerce\n 'SalesCustomers:Permission:Access': AXPPermissionDomainModules.SalesCustomers,\n 'SalesCustomers:Permission:Setup': AXPPermissionDomainModules.SalesCustomers,\n 'SalesCustomers:Permission:MaintainCustomers': ['CustomerManagement'],\n 'SalesCustomers:Permission:MaintainSales': ['CustomerManagement'],\n 'SalesCustomers:Permission:MaintainProducts': ['ProductCatalog'],\n 'SalesCustomers:Permission:MaintainOrders': ['OrderManagement'],\n 'SalesCustomers:Permission:MaintainSubscriptions': ['SubscriptionManagement'],\n\n // Procurement\n 'Procurement:Permission:Access': AXPPermissionDomainModules.Procurement,\n 'Procurement:Permission:Setup': AXPPermissionDomainModules.Procurement,\n 'Procurement:Permission:MaintainSuppliers': ['SupplierManagement'],\n 'Procurement:Permission:MaintainProcurement': ['ProcurementManagement'],\n\n // Learning\n 'Learning:Permission:Access': AXPPermissionDomainModules.Learning,\n 'Learning:Permission:Setup': AXPPermissionDomainModules.Learning,\n 'Learning:Permission:MaintainLearning': ['LearningManagement'],\n\n // Finance\n 'Finance:Permission:Access': AXPPermissionDomainModules.Finance,\n 'Finance:Permission:Setup': AXPPermissionDomainModules.Finance,\n 'Finance:Permission:MaintainFinance': ['FinancialCore'],\n} as const;\n\n//#endregion\n\n//#region ----- Helpers -----\n\n/**\n * Returns edition module names for a permission key.\n * Unknown keys fall back to the legacy `{Prefix}:…` module-prefix convention.\n */\nexport function resolvePermissionModules(permissionKey: string): readonly string[] {\n const mapped = AXPPermissionKeyModules[permissionKey];\n if (mapped?.length) {\n return mapped;\n }\n\n // Dynamic keys (e.g. AiManagement assist helpers) or legacy Module:Permission:…\n const separatorIndex = permissionKey.indexOf(':');\n if (separatorIndex <= 0) {\n return [];\n }\n return [permissionKey.slice(0, separatorIndex)];\n}\n\n/**\n * True when the permission is available for the enabled edition modules (ANY match).\n */\nexport function isPermissionEnabledForModules(\n permissionKey: string,\n enabledModules: readonly string[],\n): boolean {\n if (!enabledModules.length) {\n return false;\n }\n const enabled = new Set(enabledModules);\n return resolvePermissionModules(permissionKey).some((moduleName) => enabled.has(moduleName));\n}\n\n//#endregion\n","export enum AXMLockSystemSettings {\n LockSystem = 'Common:Setting:LockSystem.Enabled',\n}\n\nexport enum AXMCommonSettings {\n QuickSearchEnabled = 'Common:Setting:Entity.QuickSearchEnabled',\n}\n","//#region ----- Version history platform settings -----\n\nexport enum AXPVersionHistorySettings {\n RetentionEnabled = 'Common:Setting:VersionHistory.Retention.Enabled',\n RetentionPeriodDays = 'Common:Setting:VersionHistory.Retention.PeriodDays',\n RetentionBatchSize = 'Common:Setting:VersionHistory.Retention.BatchSize',\n RetentionPurgeCron = 'Common:Setting:VersionHistory.Retention.PurgeCron',\n SkipEmptyPatches = 'Common:Setting:VersionHistory.SkipEmptyPatches',\n}\n\nexport const AXP_VERSION_HISTORY_SETTING_DEFAULTS = {\n [AXPVersionHistorySettings.RetentionEnabled]: true,\n [AXPVersionHistorySettings.RetentionPeriodDays]: 365,\n [AXPVersionHistorySettings.RetentionBatchSize]: 500,\n [AXPVersionHistorySettings.RetentionPurgeCron]: '0 3 * * *',\n [AXPVersionHistorySettings.SkipEmptyPatches]: true,\n} as const;\n\n//#endregion\n","const config = {\n i18n: 'common',\n module: 'Common',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'common',\n name: config.module,\n title: '@general:common.module.title',\n icon: 'fa-light fa-file-invoice',\n },\n entities: {\n recordLock: {\n name: 'RecordLock',\n title: 'Record Lock',\n titlePlural: 'Record Locks',\n icon: 'fa-light fa-lock',\n source: `${config.module}.RecordLock`,\n },\n versionStream: {\n name: 'VersionStream',\n title: 'Version Stream',\n titlePlural: 'Version Streams',\n icon: 'fa-light fa-code-branch',\n source: `${config.module}.VersionStream`,\n },\n versionEntry: {\n name: 'VersionEntry',\n title: 'Version Entry',\n titlePlural: 'Version Entries',\n icon: 'fa-light fa-clock-rotate-left',\n source: `${config.module}.VersionEntry`,\n },\n },\n} as const;\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission-group.keys';\nexport * from './permission-display.util';\nexport * from './permission-module.map';\nexport * from './settings.keys';\nexport * from './version-history.settings.keys';\n\nexport * from './root-config';\n\n//#endregion\n\n// Entity layout factories live in server; keep barrel as empty module for compatibility.\nexport {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AXTranslationService } from '@acorex/core/translation';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Injectable } from '@angular/core';
4
- import { A as AXPDisableEntityCommandHelper, n as normalizeDisableSingleInput, b as buildDisablePatch, a as buildDisableRefreshMeta } from './acorex-platform-module-common-client-disable-entity.command.util-BBwY9Q30.mjs';
4
+ import { A as AXPDisableEntityCommandHelper, n as normalizeDisableSingleInput, b as buildDisablePatch, a as buildDisableRefreshMeta } from './acorex-platform-module-common-client-disable-entity.command.util-DQl6u2nj.mjs';
5
5
 
6
6
  class AXPDisableEntityCommand {
7
7
  constructor() {
@@ -30,28 +30,23 @@ class AXPDisableEntityCommand {
30
30
  const meta = buildDisableRefreshMeta(entityDefinition, context.rowData);
31
31
  this.helper.dispatchDisabled(context.refType, context.refId, meta);
32
32
  await this.helper.showSuccessToast('@general:workflow.entity-disabled', '@general:workflow.entity-disabled-body');
33
- return { success: true };
33
+ return { success: true, kind: 'object', data: undefined };
34
34
  }
35
35
  catch (error) {
36
- console.error('Disable operation failed:', error);
37
- return {
38
- success: false,
39
- message: {
40
- text: error instanceof Error ? error.message : 'Disable operation failed',
41
- },
42
- };
36
+ await this.helper.showErrorToastFor(error, '@general:messages.generic.error.description');
37
+ return { success: false };
43
38
  }
44
39
  finally {
45
40
  loadingDialog.close();
46
41
  }
47
42
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDisableEntityCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDisableEntityCommand, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPDisableEntityCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPDisableEntityCommand, providedIn: 'root' }); }
50
45
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDisableEntityCommand, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPDisableEntityCommand, decorators: [{
52
47
  type: Injectable,
53
48
  args: [{ providedIn: 'root' }]
54
49
  }] });
55
50
 
56
51
  export { AXPDisableEntityCommand };
57
- //# sourceMappingURL=acorex-platform-module-common-client-disable-entity.command-DWyqAAwo.mjs.map
52
+ //# sourceMappingURL=acorex-platform-module-common-client-disable-entity.command-Bc1uH38V.mjs.map