@acorex-platform/module-task-management-client 0.0.32 → 0.0.33

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 (54) hide show
  1. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-assignment.mjs +412 -0
  2. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-assignment.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-checklist-item.mjs +579 -0
  4. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-checklist-item.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-context.mjs +338 -0
  6. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-context.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-dependency.mjs +359 -0
  8. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-dependency.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-status.mjs +643 -0
  10. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-status.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-template.mjs +472 -0
  12. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-template.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-type.mjs +441 -0
  14. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-type.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task.mjs +1350 -0
  16. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-time-log.mjs +483 -0
  18. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-time-log.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-GX2wPn-u.mjs +119 -0
  20. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-GX2wPn-u.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity-CMWY9zvO.mjs +320 -0
  22. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity-CMWY9zvO.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-BqoXCi5u.mjs +487 -0
  24. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-BqoXCi5u.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-Z7sdha1F.mjs +246 -0
  26. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-Z7sdha1F.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-DU5Rni7a.mjs +267 -0
  28. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-DU5Rni7a.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-BOu_6LGU.mjs +551 -0
  30. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-BOu_6LGU.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-AwtetTi1.mjs +380 -0
  32. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-AwtetTi1.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-DFo3o-6O.mjs +349 -0
  34. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-DFo3o-6O.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-BmXrWwib.mjs +1258 -0
  36. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-BmXrWwib.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-BmMphgI1.mjs +391 -0
  38. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-BmMphgI1.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog.mjs +2 -0
  40. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-task-management-client-local-entities.mjs +37 -0
  42. package/fesm2022/acorex-platform-module-task-management-client-local-entities.mjs.map +1 -0
  43. package/package.json +47 -3
  44. package/types/acorex-platform-module-task-management-client-contracts-entities-task-assignment.d.ts +5 -0
  45. package/types/acorex-platform-module-task-management-client-contracts-entities-task-checklist-item.d.ts +5 -0
  46. package/types/acorex-platform-module-task-management-client-contracts-entities-task-context.d.ts +5 -0
  47. package/types/acorex-platform-module-task-management-client-contracts-entities-task-dependency.d.ts +5 -0
  48. package/types/acorex-platform-module-task-management-client-contracts-entities-task-status.d.ts +5 -0
  49. package/types/acorex-platform-module-task-management-client-contracts-entities-task-template.d.ts +5 -0
  50. package/types/acorex-platform-module-task-management-client-contracts-entities-task-type.d.ts +5 -0
  51. package/types/acorex-platform-module-task-management-client-contracts-entities-task.d.ts +5 -0
  52. package/types/acorex-platform-module-task-management-client-contracts-entities-time-log.d.ts +5 -0
  53. package/types/acorex-platform-module-task-management-client-contracts-entity-catalog.d.ts +10 -0
  54. package/types/acorex-platform-module-task-management-client-local-entities.d.ts +12 -0
@@ -0,0 +1,441 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterDeleteAction, AXPEntityCommandScope, entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
3
+
4
+ /** Catalog scope for task-management–scoped workflow definitions and related catalogs. */
5
+ const TASK_MANAGEMENT_CATALOG_SCOPE_TASKS = 'task-management.tasks';
6
+
7
+ const config = {
8
+ i18n: 'task-management',
9
+ module: 'TaskManagement',
10
+ };
11
+ /** Dashboard widget type ids for task-management-hosted widgets (`{module}:Widget:Dashboard:{Segment}`). */
12
+ const dashboardWidgetId = (segment) => `${config.module}:Widget:Dashboard:${segment}`;
13
+ const RootConfig = {
14
+ config,
15
+ module: {
16
+ name: config.module,
17
+ title: `@${config.i18n}:module.title`,
18
+ icon: 'fa-light fa-tasks',
19
+ },
20
+ entities: {
21
+ taskType: {
22
+ name: 'TaskType',
23
+ title: `@${config.i18n}:task-type.individual-title`,
24
+ titlePlural: `@${config.i18n}:task-type.plural-title`,
25
+ icon: 'fa-light fa-cog',
26
+ },
27
+ taskTypeCategory: {
28
+ name: 'TaskTypeCategory',
29
+ title: `@${config.i18n}:task-type-categories.title`,
30
+ titlePlural: `@${config.i18n}:task-type-categories.plural`,
31
+ icon: 'fa-light fa-layer-group',
32
+ },
33
+ taskStatus: {
34
+ name: 'TaskStatus',
35
+ title: `@${config.i18n}:task-status.individual-title`,
36
+ titlePlural: `@${config.i18n}:task-status.plural-title`,
37
+ icon: 'fa-light fa-flag',
38
+ },
39
+ task: {
40
+ name: 'Task',
41
+ title: `@${config.i18n}:task.individual-title`,
42
+ titlePlural: `@${config.i18n}:task.plural-title`,
43
+ icon: 'fa-light fa-clipboard-check',
44
+ },
45
+ taskChecklistItem: {
46
+ name: 'TaskChecklistItem',
47
+ title: `@${config.i18n}:checklist-item.individual-title`,
48
+ titlePlural: `@${config.i18n}:checklist-item.plural-title`,
49
+ icon: 'fa-light fa-list-check',
50
+ },
51
+ taskAssignment: {
52
+ name: 'TaskAssignment',
53
+ title: `@${config.i18n}:task-assignment.individual-title`,
54
+ titlePlural: `@${config.i18n}:task-assignment.plural-title`,
55
+ icon: 'fa-light fa-user-check',
56
+ },
57
+ timeLog: {
58
+ name: 'TimeLog',
59
+ title: `@${config.i18n}:time-log.individual-title`,
60
+ titlePlural: `@${config.i18n}:time-log.plural-title`,
61
+ icon: 'fa-light fa-clock',
62
+ },
63
+ taskDependency: {
64
+ name: 'TaskDependency',
65
+ title: `@${config.i18n}:task-dependency.individual-title`,
66
+ titlePlural: `@${config.i18n}:task-dependency.plural-title`,
67
+ icon: 'fa-light fa-link',
68
+ },
69
+ taskContext: {
70
+ name: 'TaskContext',
71
+ title: `@${config.i18n}:task-context.individual-title`,
72
+ titlePlural: `@${config.i18n}:task-context.plural-title`,
73
+ icon: 'fa-light fa-sitemap',
74
+ },
75
+ taskTemplate: {
76
+ name: 'TaskTemplate',
77
+ title: `@${config.i18n}:task-template.individual-title`,
78
+ titlePlural: `@${config.i18n}:task-template.plural-title`,
79
+ icon: 'fa-light fa-copy',
80
+ },
81
+ },
82
+ widgets: {
83
+ taskBoard: dashboardWidgetId('TaskBoard'),
84
+ taskBoardShortcut: dashboardWidgetId('TaskBoardShortcut'),
85
+ },
86
+ queries: {
87
+ dashboard: {
88
+ openTasksKpi: `${config.module}:Dashboard:OpenTasksKpi`,
89
+ overdueTasksKpi: `${config.module}:Dashboard:OverdueTasksKpi`,
90
+ myOpenTasksKpi: `${config.module}:Dashboard:MyOpenTasksKpi`,
91
+ taskStatusDonut: `${config.module}:Dashboard:TaskStatusDonut`,
92
+ },
93
+ },
94
+ };
95
+
96
+ async function taskTypeFactory() {
97
+ const entityDef = {
98
+ module: RootConfig.module.name,
99
+ name: RootConfig.entities.taskType.name,
100
+ title: RootConfig.entities.taskType.title,
101
+ icon: RootConfig.entities.taskType.icon,
102
+ formats: {
103
+ individual: RootConfig.entities.taskType.title,
104
+ plural: RootConfig.entities.taskType.titlePlural,
105
+ searchResult: {
106
+ title: '{{ title }}',
107
+ description: '{{ description }}',
108
+ },
109
+ },
110
+ //#region ---- Related Entities ----
111
+ relatedEntities: [
112
+ {
113
+ entity: `${RootConfig.module.name}.${RootConfig.entities.taskStatus.name}`,
114
+ title: RootConfig.entities.taskStatus.titlePlural,
115
+ icon: RootConfig.entities.taskStatus.icon,
116
+ columns: ['name', 'title', 'color', 'isDefault', 'isFinal', 'order'],
117
+ conditions: [entityDetailsSimpleCondition('taskTypeId')],
118
+ actions: [
119
+ {
120
+ title: '@general:actions.create.title',
121
+ command: {
122
+ name: 'Entity:Create',
123
+ options: {
124
+ process: {
125
+ redirect: false,
126
+ canCreateNewOne: true,
127
+ data: { taskTypeId: '{{ context.eval("id") }}' },
128
+ },
129
+ },
130
+ },
131
+ priority: 'primary',
132
+ type: 'create',
133
+ scope: AXPEntityCommandScope.TypeLevel,
134
+ },
135
+ ...entityDetailsCrudActions('taskTypeId', { create: false }),
136
+ ],
137
+ excludeProperties: ['taskTypeId'],
138
+ layout: { type: 'page-list', position: 'after', order: 1 },
139
+ },
140
+ ],
141
+ //#endregion
142
+ plugins: [
143
+ { name: 'archive' },
144
+ { name: 'color' },
145
+ { name: 'icon' },
146
+ { name: 'clone' },
147
+ {
148
+ name: 'category',
149
+ options: {
150
+ appearance: { icon: true, color: true },
151
+ metaData: { enabled: true },
152
+ },
153
+ },
154
+ { name: 'meta-data-builder', options: { display: 'page' } },
155
+ {
156
+ name: 'workflow-selector',
157
+ options: {
158
+ catalogScopeKeys: [TASK_MANAGEMENT_CATALOG_SCOPE_TASKS],
159
+ },
160
+ },
161
+ ],
162
+ //#region ---- Property Groups ----
163
+ groups: [
164
+ {
165
+ id: 'basic-info',
166
+ title: '@general:terms.interface.basic-info',
167
+ },
168
+ {
169
+ id: 'features',
170
+ title: '@task-management:task-type.features.title',
171
+ },
172
+ ],
173
+ //#endregion
174
+ //#region ---- Properties ----
175
+ properties: [
176
+ {
177
+ name: 'title',
178
+ title: '@general:terms.common.title',
179
+ groupId: 'basic-info',
180
+ options: {
181
+ sort: { enabled: true },
182
+ filter: {
183
+ advance: { enabled: true },
184
+ inline: { enabled: true },
185
+ },
186
+ },
187
+ schema: {
188
+ dataType: 'string',
189
+ interface: {
190
+ type: AXPWidgetsCatalog.text,
191
+ options: {
192
+ placeholder: 'Enter task type title',
193
+ },
194
+ },
195
+ },
196
+ validations: [{ rule: 'required' }],
197
+ },
198
+ {
199
+ name: 'description',
200
+ title: '@general:terms.common.description',
201
+ groupId: 'basic-info',
202
+ options: {
203
+ sort: { enabled: false },
204
+ filter: {
205
+ advance: { enabled: true },
206
+ inline: { enabled: false },
207
+ },
208
+ },
209
+ schema: {
210
+ dataType: 'string',
211
+ interface: {
212
+ type: AXPWidgetsCatalog.largeText,
213
+ options: {
214
+ rows: 3,
215
+ placeholder: 'Enter description for this task type',
216
+ },
217
+ },
218
+ },
219
+ },
220
+ {
221
+ name: 'hasChecklist',
222
+ title: '@task-management:task-type.features.has-checklist',
223
+ groupId: 'features',
224
+ options: {
225
+ sort: { enabled: false },
226
+ filter: {
227
+ advance: { enabled: true },
228
+ inline: { enabled: false },
229
+ },
230
+ },
231
+ schema: {
232
+ dataType: 'boolean',
233
+ interface: {
234
+ type: AXPWidgetsCatalog.toggle,
235
+ },
236
+ },
237
+ },
238
+ {
239
+ name: 'hasTimeTracking',
240
+ title: '@task-management:task-type.features.has-time-tracking',
241
+ groupId: 'features',
242
+ options: {
243
+ sort: { enabled: false },
244
+ filter: {
245
+ advance: { enabled: true },
246
+ inline: { enabled: false },
247
+ },
248
+ },
249
+ schema: {
250
+ dataType: 'boolean',
251
+ interface: {
252
+ type: AXPWidgetsCatalog.toggle,
253
+ },
254
+ },
255
+ },
256
+ {
257
+ name: 'hasDependencies',
258
+ title: '@task-management:task-type.features.has-dependencies',
259
+ groupId: 'features',
260
+ options: {
261
+ sort: { enabled: false },
262
+ filter: {
263
+ advance: { enabled: true },
264
+ inline: { enabled: false },
265
+ },
266
+ },
267
+ schema: {
268
+ dataType: 'boolean',
269
+ interface: {
270
+ type: AXPWidgetsCatalog.toggle,
271
+ },
272
+ },
273
+ },
274
+ {
275
+ name: 'hasSubtasks',
276
+ title: '@task-management:task-type.features.has-subtasks',
277
+ groupId: 'features',
278
+ options: {
279
+ sort: { enabled: false },
280
+ filter: {
281
+ advance: { enabled: true },
282
+ inline: { enabled: false },
283
+ },
284
+ },
285
+ schema: {
286
+ dataType: 'boolean',
287
+ interface: {
288
+ type: AXPWidgetsCatalog.toggle,
289
+ },
290
+ },
291
+ },
292
+ {
293
+ name: 'hasAttachments',
294
+ title: '@task-management:task-type.features.has-attachments',
295
+ groupId: 'features',
296
+ options: {
297
+ sort: { enabled: false },
298
+ filter: {
299
+ advance: { enabled: true },
300
+ inline: { enabled: false },
301
+ },
302
+ },
303
+ schema: {
304
+ dataType: 'boolean',
305
+ interface: {
306
+ type: AXPWidgetsCatalog.toggle,
307
+ },
308
+ },
309
+ },
310
+ {
311
+ name: 'documentTypeIds',
312
+ title: '@task-management:task-type.document-types',
313
+ groupId: 'features',
314
+ options: {
315
+ sort: { enabled: false },
316
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
317
+ },
318
+ schema: {
319
+ dataType: 'object',
320
+ visible: '{{ context.eval("hasAttachments") }}',
321
+ interface: {
322
+ type: AXPWidgetsCatalog.lookup,
323
+ options: {
324
+ entity: 'DocumentManagement.DocumentType',
325
+ textField: 'title',
326
+ valueField: 'id',
327
+ columns: ['name', 'title'],
328
+ multiple: true,
329
+ expose: [
330
+ { source: 'id', target: 'documentTypes.{id}' },
331
+ { source: 'name', target: 'documentTypes.{name}' },
332
+ { source: 'title', target: 'documentTypes.{title}' },
333
+ ],
334
+ },
335
+ },
336
+ },
337
+ },
338
+ {
339
+ name: 'documentTypes',
340
+ title: '@task-management:task-type.document-types',
341
+ groupId: 'features',
342
+ schema: {
343
+ dataType: 'array',
344
+ visible: false,
345
+ interface: {
346
+ type: AXPWidgetsCatalog.text,
347
+ },
348
+ },
349
+ options: {
350
+ sort: { enabled: false },
351
+ filter: { advance: { enabled: false }, inline: { enabled: false } },
352
+ },
353
+ },
354
+ ],
355
+ //#endregion
356
+ //#region ---- Columns ----
357
+ columns: [
358
+ { name: 'title' },
359
+ { name: 'description' },
360
+ { name: 'documentTypeIds', options: { dataPath: 'documentTypes' } },
361
+ { name: 'hasChecklist' },
362
+ { name: 'hasTimeTracking' },
363
+ { name: 'hasAttachments' },
364
+ ],
365
+ //#endregion
366
+ //#region ---- UI Interfaces ----
367
+ interfaces: {
368
+ master: {
369
+ create: {
370
+ sections: [{ id: 'basic-info' }, { id: 'features' }],
371
+ properties: [
372
+ { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },
373
+ { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },
374
+ { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },
375
+ { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },
376
+ { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },
377
+ { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },
378
+ { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },
379
+ { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },
380
+ ],
381
+ },
382
+ update: {
383
+ sections: [{ id: 'basic-info' }, { id: 'features' }],
384
+ properties: [
385
+ { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },
386
+ { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },
387
+ { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },
388
+ { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },
389
+ { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },
390
+ { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },
391
+ { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },
392
+ { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },
393
+ ],
394
+ },
395
+ single: {
396
+ title: '{{title}}',
397
+ sections: [
398
+ {
399
+ id: 'basic-info',
400
+ order: 1,
401
+ layout: { positions: { lg: { colSpan: 12 } } },
402
+ },
403
+ {
404
+ id: 'features',
405
+ order: 2,
406
+ layout: { positions: { lg: { colSpan: 12 } } },
407
+ },
408
+ ],
409
+ properties: [
410
+ { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },
411
+ { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },
412
+ { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },
413
+ { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },
414
+ { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },
415
+ { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },
416
+ { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },
417
+ { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },
418
+ ],
419
+ actions: [entityMasterDeleteAction()],
420
+ },
421
+ list: {
422
+ actions: [...entityMasterCrudActions()],
423
+ views: [
424
+ createAllQueryView({
425
+ sorts: [{ name: 'title', dir: 'asc' }],
426
+ }),
427
+ ],
428
+ },
429
+ },
430
+ },
431
+ //#endregion
432
+ };
433
+ return entityDef;
434
+ }
435
+
436
+ /**
437
+ * Generated bundle index. Do not edit.
438
+ */
439
+
440
+ export { taskTypeFactory };
441
+ //# sourceMappingURL=acorex-platform-module-task-management-client-contracts-entities-task-type.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-contracts-entities-task-type.mjs","sources":["../../../../libs/modules/task-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/task-management/contracts/src/root-config.ts","../../../../libs/modules/task-management/contracts/src/entities/task-type/task-type.entity.ts","../../../../libs/modules/task-management/contracts/src/acorex-platform-module-task-management-client-contracts-entities-task-type.ts"],"sourcesContent":["/** Catalog scope for task-management–scoped workflow definitions and related catalogs. */\nexport const TASK_MANAGEMENT_CATALOG_SCOPE_TASKS = 'task-management.tasks';\n","const config = {\n i18n: 'task-management',\n module: 'TaskManagement',\n} as const;\n\n/** Dashboard widget type ids for task-management-hosted widgets (`{module}:Widget:Dashboard:{Segment}`). */\nconst dashboardWidgetId = (segment: string): string =>\n `${config.module}:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-tasks',\n },\n entities: {\n taskType: {\n name: 'TaskType',\n title: `@${config.i18n}:task-type.individual-title`,\n titlePlural: `@${config.i18n}:task-type.plural-title`,\n icon: 'fa-light fa-cog',\n },\n taskTypeCategory: {\n name: 'TaskTypeCategory',\n title: `@${config.i18n}:task-type-categories.title`,\n titlePlural: `@${config.i18n}:task-type-categories.plural`,\n icon: 'fa-light fa-layer-group',\n },\n taskStatus: {\n name: 'TaskStatus',\n title: `@${config.i18n}:task-status.individual-title`,\n titlePlural: `@${config.i18n}:task-status.plural-title`,\n icon: 'fa-light fa-flag',\n },\n task: {\n name: 'Task',\n title: `@${config.i18n}:task.individual-title`,\n titlePlural: `@${config.i18n}:task.plural-title`,\n icon: 'fa-light fa-clipboard-check',\n },\n taskChecklistItem: {\n name: 'TaskChecklistItem',\n title: `@${config.i18n}:checklist-item.individual-title`,\n titlePlural: `@${config.i18n}:checklist-item.plural-title`,\n icon: 'fa-light fa-list-check',\n },\n taskAssignment: {\n name: 'TaskAssignment',\n title: `@${config.i18n}:task-assignment.individual-title`,\n titlePlural: `@${config.i18n}:task-assignment.plural-title`,\n icon: 'fa-light fa-user-check',\n },\n timeLog: {\n name: 'TimeLog',\n title: `@${config.i18n}:time-log.individual-title`,\n titlePlural: `@${config.i18n}:time-log.plural-title`,\n icon: 'fa-light fa-clock',\n },\n taskDependency: {\n name: 'TaskDependency',\n title: `@${config.i18n}:task-dependency.individual-title`,\n titlePlural: `@${config.i18n}:task-dependency.plural-title`,\n icon: 'fa-light fa-link',\n },\n taskContext: {\n name: 'TaskContext',\n title: `@${config.i18n}:task-context.individual-title`,\n titlePlural: `@${config.i18n}:task-context.plural-title`,\n icon: 'fa-light fa-sitemap',\n },\n taskTemplate: {\n name: 'TaskTemplate',\n title: `@${config.i18n}:task-template.individual-title`,\n titlePlural: `@${config.i18n}:task-template.plural-title`,\n icon: 'fa-light fa-copy',\n },\n },\n widgets: {\n taskBoard: dashboardWidgetId('TaskBoard'),\n taskBoardShortcut: dashboardWidgetId('TaskBoardShortcut'),\n },\n queries: {\n dashboard: {\n openTasksKpi: `${config.module}:Dashboard:OpenTasksKpi`,\n overdueTasksKpi: `${config.module}:Dashboard:OverdueTasksKpi`,\n myOpenTasksKpi: `${config.module}:Dashboard:MyOpenTasksKpi`,\n taskStatusDonut: `${config.module}:Dashboard:TaskStatusDonut`,\n },\n },\n} as const;\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityDetailsCrudActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterDeleteAction } from '@acorex-platform/framework-shared/entity';\nimport { TASK_MANAGEMENT_CATALOG_SCOPE_TASKS } from '../../catalog-scope.keys';\nimport { RootConfig } from '../../root-config';\n\nexport async function taskTypeFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.taskType.name,\n title: RootConfig.entities.taskType.title,\n icon: RootConfig.entities.taskType.icon,\n formats: {\n individual: RootConfig.entities.taskType.title,\n plural: RootConfig.entities.taskType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ description }}',\n },\n },\n\n //#region ---- Related Entities ----\n\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.taskStatus.name}`,\n title: RootConfig.entities.taskStatus.titlePlural,\n icon: RootConfig.entities.taskStatus.icon,\n columns: ['name', 'title', 'color', 'isDefault', 'isFinal', 'order'],\n conditions: [entityDetailsSimpleCondition('taskTypeId')],\n actions: [\n {\n title: '@general:actions.create.title',\n command: {\n name: 'Entity:Create',\n options: {\n process: {\n redirect: false,\n canCreateNewOne: true,\n data: { taskTypeId: '{{ context.eval(\"id\") }}' },\n },\n },\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ...entityDetailsCrudActions('taskTypeId', { create: false }),\n ],\n excludeProperties: ['taskTypeId'],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n\n //#endregion\n\n plugins: [\n { name: 'archive' },\n { name: 'color' },\n { name: 'icon' },\n { name: 'clone' },\n {\n name: 'category',\n options: {\n appearance: { icon: true, color: true },\n metaData: { enabled: true },\n },\n },\n { name: 'meta-data-builder', options: { display: 'page' } },\n {\n name: 'workflow-selector',\n options: {\n catalogScopeKeys: [TASK_MANAGEMENT_CATALOG_SCOPE_TASKS],\n },\n },\n ],\n\n //#region ---- Property Groups ----\n\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n {\n id: 'features',\n title: '@task-management:task-type.features.title',\n },\n ],\n\n //#endregion\n\n //#region ---- Properties ----\n\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'Enter task type title',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n rows: 3,\n placeholder: 'Enter description for this task type',\n },\n },\n },\n },\n {\n name: 'hasChecklist',\n title: '@task-management:task-type.features.has-checklist',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'hasTimeTracking',\n title: '@task-management:task-type.features.has-time-tracking',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'hasDependencies',\n title: '@task-management:task-type.features.has-dependencies',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'hasSubtasks',\n title: '@task-management:task-type.features.has-subtasks',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'hasAttachments',\n title: '@task-management:task-type.features.has-attachments',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: true },\n inline: { enabled: false },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'documentTypeIds',\n title: '@task-management:task-type.document-types',\n groupId: 'features',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'object',\n visible: '{{ context.eval(\"hasAttachments\") }}',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'DocumentManagement.DocumentType',\n textField: 'title',\n valueField: 'id',\n columns: ['name', 'title'],\n multiple: true,\n expose: [\n { source: 'id', target: 'documentTypes.{id}' },\n { source: 'name', target: 'documentTypes.{name}' },\n { source: 'title', target: 'documentTypes.{title}' },\n ],\n },\n },\n },\n },\n {\n name: 'documentTypes',\n title: '@task-management:task-type.document-types',\n groupId: 'features',\n schema: {\n dataType: 'array',\n visible: false,\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n },\n ],\n\n //#endregion\n\n //#region ---- Columns ----\n\n columns: [\n { name: 'title' },\n { name: 'description' },\n { name: 'documentTypeIds', options: { dataPath: 'documentTypes' } },\n { name: 'hasChecklist' },\n { name: 'hasTimeTracking' },\n { name: 'hasAttachments' },\n ],\n\n //#endregion\n\n //#region ---- UI Interfaces ----\n\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'features' }],\n properties: [\n { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },\n { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },\n { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },\n { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },\n { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'features' }],\n properties: [\n { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },\n { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },\n { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },\n { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },\n { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n order: 1,\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n id: 'features',\n order: 2,\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n ],\n properties: [\n { name: 'title', layout: { order: 1, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'description', layout: { order: 2, positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'hasChecklist', layout: { order: 1, positions: { lg: { colSpan: 3, order: 1 } } } },\n { name: 'hasTimeTracking', layout: { order: 2, positions: { lg: { colSpan: 3, order: 2 } } } },\n { name: 'hasDependencies', layout: { order: 3, positions: { lg: { colSpan: 3, order: 3 } } } },\n { name: 'hasSubtasks', layout: { order: 4, positions: { lg: { colSpan: 3, order: 4 } } } },\n { name: 'hasAttachments', layout: { order: 5, positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'documentTypeIds', layout: { order: 6, positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [entityMasterDeleteAction()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n\n //#endregion\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.task-type';\n"],"names":[],"mappings":"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"}