@acorex-platform/module-task-management-client 0.0.38 → 0.0.46

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 (63) hide show
  1. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DKeXScX9.mjs → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-PkxJQUlO.mjs} +315 -320
  2. package/fesm2022/acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-PkxJQUlO.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-assignment.mjs +12 -0
  4. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-assignment.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-checklist-item.mjs +12 -0
  6. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-checklist-item.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-context.mjs +12 -0
  8. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-context.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-dependency.mjs +12 -0
  10. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-dependency.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-status.mjs +28 -0
  12. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-status.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-template.mjs +12 -0
  14. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-template.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-type.mjs +12 -0
  16. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task-type.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task.mjs +16 -1
  18. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-task.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-time-log.mjs +12 -0
  20. package/fesm2022/acorex-platform-module-task-management-client-contracts-entities-time-log.mjs.map +1 -1
  21. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-Cy2Pym4E.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-DoR58GWa.mjs} +10 -10
  22. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-Cy2Pym4E.mjs.map → acorex-platform-module-task-management-client-contracts-entity-catalog-acorex-platform-module-task-management-client-contracts-entity-catalog-DoR58GWa.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity-Cf7Gd67F.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity--TP_F87Y.mjs} +14 -2
  24. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity--TP_F87Y.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-DwUvNG7Y.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-sGrb0ZaR.mjs} +14 -2
  26. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-sGrb0ZaR.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-DVMkanNa.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-CLQw9kqg.mjs} +14 -2
  28. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-CLQw9kqg.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-DRj3H2CS.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-Ce9NZlK_.mjs} +14 -2
  30. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-Ce9NZlK_.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-DVMvNk5C.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-DKx2UHiz.mjs} +30 -2
  32. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-DKx2UHiz.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-C5OnMGjC.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-CKY04iyS.mjs} +14 -2
  34. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-CKY04iyS.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-W_HUuz4Q.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-BGKWiqU8.mjs} +14 -2
  36. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-BGKWiqU8.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-DYJR8xdq.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-CiKg52ey.mjs} +18 -3
  38. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-CiKg52ey.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-rNEYXIrf.mjs → acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-Gne51DLu.mjs} +14 -2
  40. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-Gne51DLu.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog.mjs +1 -1
  42. package/fesm2022/acorex-platform-module-task-management-client-contracts.mjs +20 -1
  43. package/fesm2022/acorex-platform-module-task-management-client-contracts.mjs.map +1 -1
  44. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-VCzu27lk.mjs → acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs} +2 -2
  45. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-VCzu27lk.mjs.map → acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs.map} +1 -1
  46. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DWCTG6dK.mjs → acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs} +2 -2
  47. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DWCTG6dK.mjs.map → acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs.map} +1 -1
  48. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-BkHHyd9s.mjs → acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.mjs} +12 -12
  49. package/fesm2022/acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.mjs.map +1 -0
  50. package/fesm2022/acorex-platform-module-task-management-client.mjs +1 -1
  51. package/package.json +3 -3
  52. package/types/acorex-platform-module-task-management-client-contracts.d.ts +8 -2
  53. package/fesm2022/acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DKeXScX9.mjs.map +0 -1
  54. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-assignment.entity-Cf7Gd67F.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-checklist-item.entity-DwUvNG7Y.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-context.entity-DVMkanNa.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-dependency.entity-DRj3H2CS.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-status.entity-DVMvNk5C.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-template.entity-C5OnMGjC.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task-type.entity-W_HUuz4Q.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-task.entity-DYJR8xdq.mjs.map +0 -1
  62. package/fesm2022/acorex-platform-module-task-management-client-contracts-entity-catalog-time-log.entity-rNEYXIrf.mjs.map +0 -1
  63. package/fesm2022/acorex-platform-module-task-management-client-task-board.page-BkHHyd9s.mjs.map +0 -1
@@ -1,120 +1,148 @@
1
- import { AXPBroadcastEventService, AXPEntityBroadcastService, AXP_MODULE_MANIFEST_PROVIDER, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/core';
1
+ import { AXPBroadcastEventService, AXPEntityBroadcastService, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/core';
2
2
  import * as i1$1 from '@angular/common';
3
3
  import { CommonModule, DOCUMENT } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, InjectionToken, Injector, DestroyRef, Injectable, computed, input, signal, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, ElementRef, NgModule, output } from '@angular/core';
6
- import { RootConfig, AXPProjectsWorkPermissionKeys, AXPTaskManagementMenuKeys, AXMTaskBoardSettings, AXPTaskManagementCommandKeys, AXMTaskManagementQueryKeys, TASK_MANAGEMENT_CATALOG_SCOPE_TASKS } from '@acorex-platform/module-task-management-client/contracts';
7
- import { applyDateFilterPreset, AXPSettingsService, AXPMenuService, AXP_PROTECTED_ROUTE_GUARDS, AXP_HOME_PAGES, AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';
5
+ import { inject, NgModule, InjectionToken, Injector, DestroyRef, Injectable, computed, input, signal, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, ElementRef, output } from '@angular/core';
6
+ import { AXP_PROTECTED_ROUTE_GUARDS, AXP_HOME_PAGES, applyDateFilterPreset, AXPSettingsService, AXPMenuService, AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';
8
7
  import { AXPSessionService, AXPSessionStatus, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';
9
8
  import { AXPStateMessageComponent, AXPTaskBadgeProvider, AXP_TASK_BADGE_PROVIDERS } from '@acorex-platform/framework-client/layout/components';
9
+ import { AXP_ENTITY_CONFIG_TOKEN, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
10
+ import { AXPRuntimeModule, provideCommandSetups, provideQuerySetups, AXPCommandEventsService } from '@acorex-platform/framework-client/runtime';
11
+ import { ROUTES, RouterLink } from '@angular/router';
12
+ import { AXPTaskManagementCommandKeys, AXMTaskManagementQueryKeys, AXPProjectsWorkPermissionKeys, RootConfig, AXPTaskManagementMenuKeys, AXMTaskBoardSettings, TASK_MANAGEMENT_CATALOG_SCOPE_TASKS } from '@acorex-platform/module-task-management-client/contracts';
13
+ import { mapCalendarOccasionToHolidayDate, AXMCalendarManagementService, normalizeRegionalCalendarEventIds, AXMCalendarManagementModule } from '@acorex-platform/module-calendar-management-client';
14
+ import { AXPLayoutBaseWidgetComponent, AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';
15
+ import * as i1 from '@acorex/components/button';
16
+ import { AXButtonModule, AXButtonComponent } from '@acorex/components/button';
17
+ import * as i2 from '@acorex/components/decorators';
18
+ import { AXDecoratorModule, AXDecoratorIconComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';
19
+ import * as i5 from '@acorex/core/translation';
20
+ import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
10
21
  import { isNil, get, defaultTo } from 'lodash';
11
22
  import { AXCalendarService } from '@acorex/core/date-time';
12
- import { mapCalendarOccasionToHolidayDate, AXMCalendarManagementService, normalizeRegionalCalendarEventIds, AXMCalendarManagementModule } from '@acorex-platform/module-calendar-management-client';
13
23
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
14
24
  import { Subject, merge, filter, distinctUntilChanged } from 'rxjs';
15
25
  import { AXPPlatformScope, AXPRegionalSetting, AXPSystemStatuses, AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';
16
26
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
17
27
  import { AXLocaleService } from '@acorex/core/locale';
18
- import * as i1 from '@acorex/components/button';
19
- import { AXButtonModule, AXButtonComponent } from '@acorex/components/button';
20
- import * as i2 from '@acorex/components/decorators';
21
- import { AXDecoratorModule, AXDecoratorIconComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';
22
28
  import * as i3 from '@acorex/components/dropdown';
23
29
  import { AXDropdownModule } from '@acorex/components/dropdown';
24
- import * as i5 from '@acorex/core/translation';
25
- import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
26
30
  import { AXOverlayService } from '@acorex/cdk/overlay';
27
31
  import { AXPlatform } from '@acorex/core/platform';
28
32
  import { AXFormatService, AXFormatPipe } from '@acorex/core/format';
29
- import { AXP_ENTITY_CONFIG_TOKEN, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
30
- import { AXPRuntimeModule, provideCommandSetups, provideQuerySetups, AXPCommandEventsService } from '@acorex-platform/framework-client/runtime';
31
- import { ROUTES, RouterLink } from '@angular/router';
32
- import { AXPLayoutBaseWidgetComponent, AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';
33
33
  import { cloneProperty, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';
34
34
  import { AXP_APPEARANCE_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';
35
35
  import { defineDashboardWidgetDimensions, layoutFromDimensions } from '@acorex-platform/module-dashboard-management-client';
36
36
  import { AXChipsComponent } from '@acorex/components/chips';
37
37
  import { AXPCommonPermissionGroupKeys, AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';
38
38
 
39
- //#region ---- Imports ----
40
- //#endregion
41
- //#region ---- Manifest Definition ----
42
- /**
43
- * Task Management Module Manifest.
44
- * Defines module metadata, features, and provider references.
45
- */
46
- const TaskManagementManifest = {
47
- name: RootConfig.module.name,
48
- version: '1.0.0',
49
- title: RootConfig.module.title,
50
- icon: RootConfig.module.icon,
51
- i18n: RootConfig.config.i18n,
52
- type: 'domain',
53
- domain: 'operations',
54
- // Module dependencies (optional)
55
- };
56
- //#endregion
57
-
58
- function toTaskBoardHolidayDate(occasion) {
59
- return mapCalendarOccasionToHolidayDate(occasion);
60
- }
61
-
62
- //#region ----- Imports -----
63
- //#endregion
64
- //#region ----- Constants -----
65
- /** Persisted task rows shown on the task board. */
66
- const TASK_BOARD_TASK_ENTITY = `${RootConfig.module.name}.${RootConfig.entities.task.name}`;
67
- /** Assignment rows that change who a task is assigned to. */
68
- const TASK_BOARD_TASK_ASSIGNMENT_ENTITY = `${RootConfig.module.name}.${RootConfig.entities.taskAssignment.name}`;
69
- /**
70
- * Workflow human-task cards come from suspended instance bookmarks, not Task rows.
71
- * Keep this string in sync with `WorkflowManagement.WorkflowInstance` (do not import workflow-management — it already depends on this package).
72
- */
73
- const TASK_BOARD_WORKFLOW_INSTANCE_ENTITY = 'WorkflowManagement.WorkflowInstance';
74
- const TASK_BOARD_REALTIME_ENTITIES = new Set([
75
- TASK_BOARD_TASK_ENTITY,
76
- TASK_BOARD_TASK_ASSIGNMENT_ENTITY,
77
- TASK_BOARD_WORKFLOW_INSTANCE_ENTITY,
78
- ]);
79
- //#endregion
80
- //#region ----- Helpers -----
81
- /** True when a layout-refresh / entity-mutation name should refresh the task board or its menu badge. */
82
- function isTaskBoardRealtimeEntity(name) {
83
- return name != null && TASK_BOARD_REALTIME_ENTITIES.has(name);
39
+ function createAppRoute() {
40
+ const config = inject(AXP_ENTITY_CONFIG_TOKEN);
41
+ return {
42
+ path: ':app/TaskManagement/task-board',
43
+ canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],
44
+ data: { rootLayout: true },
45
+ loadComponent: () => {
46
+ return config.viewers.root();
47
+ },
48
+ children: [
49
+ {
50
+ path: '',
51
+ loadComponent: () => import('./acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.mjs').then((c) => c.AXMTaskBoardPage),
52
+ },
53
+ ],
54
+ };
84
55
  }
85
- //#endregion
86
-
87
- function serializeDate(value) {
88
- if (!value) {
89
- return null;
90
- }
91
- return new Date(value).toISOString();
56
+ function routesFactory() {
57
+ const routes = [createAppRoute()];
58
+ return routes;
92
59
  }
93
- /** Stable cache key for {@link AXPTaskBoardService.getTasks} deduplication. */
94
- function serializeTaskFilterForCache(options) {
95
- if (!options) {
96
- return '{}';
97
- }
98
- const normalized = {
99
- types: options.types?.slice().sort(),
100
- assigneeIds: options.assigneeIds?.map(String).sort(),
101
- reporterIds: options.reporterIds?.map(String).sort(),
102
- tags: options.tags?.slice().sort(),
103
- priorities: options.priorities?.slice().sort(),
104
- dueStatusKeys: options.dueStatusKeys?.slice().sort(),
105
- subjectRefTypes: options.subjectRefTypes?.slice().sort(),
106
- subjectRefIds: options.subjectRefIds?.map(String).sort(),
107
- skip: options.skip ?? 0,
108
- take: options.take ?? null,
109
- range: options.range
110
- ? {
111
- from: serializeDate(options.range.from),
112
- end: serializeDate(options.range.end),
113
- }
114
- : null,
115
- };
116
- return JSON.stringify(normalized);
60
+ class AXPTaskBoardModule {
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
62
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, imports: [AXPRuntimeModule] }); }
63
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, providers: [
64
+ provideCommandSetups([
65
+ {
66
+ key: AXPTaskManagementCommandKeys.TaskBoard.ResetFiltersAssignToCurrentUser,
67
+ command: () => Promise.resolve().then(function () { return resetFiltersAssignToCurrentUser_command; }).then((c) => c.ResetTaskBoardFiltersAssignToCurrentUserCommand),
68
+ },
69
+ ]),
70
+ {
71
+ provide: AXP_HOME_PAGES,
72
+ multi: true,
73
+ useFactory: () => [
74
+ {
75
+ key: 'task-board',
76
+ title: 'Task Board',
77
+ route: createAppRoute(),
78
+ },
79
+ ],
80
+ },
81
+ {
82
+ provide: ROUTES,
83
+ multi: true,
84
+ useFactory: routesFactory,
85
+ },
86
+ provideQuerySetups([
87
+ {
88
+ key: AXMTaskManagementQueryKeys.ListTaskTypes,
89
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs').then((c) => c.AXMListTaskTypesQuery),
90
+ },
91
+ {
92
+ key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
93
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
94
+ },
95
+ {
96
+ key: AXMTaskManagementQueryKeys.TaskBoardReporters,
97
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-reporters.query-C3NAYa9b.mjs').then((c) => c.AXMListTaskBoardReportersQuery),
98
+ },
99
+ ]),
100
+ ], imports: [AXPRuntimeModule] }); }
117
101
  }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, decorators: [{
103
+ type: NgModule,
104
+ args: [{
105
+ imports: [AXPRuntimeModule],
106
+ providers: [
107
+ provideCommandSetups([
108
+ {
109
+ key: AXPTaskManagementCommandKeys.TaskBoard.ResetFiltersAssignToCurrentUser,
110
+ command: () => Promise.resolve().then(function () { return resetFiltersAssignToCurrentUser_command; }).then((c) => c.ResetTaskBoardFiltersAssignToCurrentUserCommand),
111
+ },
112
+ ]),
113
+ {
114
+ provide: AXP_HOME_PAGES,
115
+ multi: true,
116
+ useFactory: () => [
117
+ {
118
+ key: 'task-board',
119
+ title: 'Task Board',
120
+ route: createAppRoute(),
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ provide: ROUTES,
126
+ multi: true,
127
+ useFactory: routesFactory,
128
+ },
129
+ provideQuerySetups([
130
+ {
131
+ key: AXMTaskManagementQueryKeys.ListTaskTypes,
132
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs').then((c) => c.AXMListTaskTypesQuery),
133
+ },
134
+ {
135
+ key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
136
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
137
+ },
138
+ {
139
+ key: AXMTaskManagementQueryKeys.TaskBoardReporters,
140
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-reporters.query-C3NAYa9b.mjs').then((c) => c.AXMListTaskBoardReportersQuery),
141
+ },
142
+ ]),
143
+ ],
144
+ }]
145
+ }] });
118
146
 
119
147
  /**
120
148
  * An abstract class for a workflow task provider, which is responsible for
@@ -175,14 +203,175 @@ class AXPTaskPopoverComponent {
175
203
  });
176
204
  }
177
205
  }
178
- /**
179
- * Optional resolver registered by workflow-management to discover task providers on demand.
180
- */
181
- const AXP_WORKFLOW_TASK_PROVIDER_RESOLVER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER_RESOLVER');
182
- /**
183
- * Injection token for registering multiple workflow task providers.
184
- */
185
- const AXP_WORKFLOW_TASK_PROVIDER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER');
206
+ /**
207
+ * Optional resolver registered by workflow-management to discover task providers on demand.
208
+ */
209
+ const AXP_WORKFLOW_TASK_PROVIDER_RESOLVER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER_RESOLVER');
210
+ /**
211
+ * Injection token for registering multiple workflow task providers.
212
+ */
213
+ const AXP_WORKFLOW_TASK_PROVIDER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER');
214
+
215
+ //#region ---- Imports ----
216
+ //#endregion
217
+ //#region ---- Constants ----
218
+ /** Sentinel id for the task-board assignee filter option: tasks with no assignee. */
219
+ const AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID = 'TaskManagement:TaskBoard:Assignee:Unassigned';
220
+ //#endregion
221
+ //#region ---- Permission Helpers ----
222
+ /** Permission to view and filter tasks across all assignees on the task board. */
223
+ const AXM_TASK_VIEW_ALL_PERMISSION = AXPProjectsWorkPermissionKeys.ViewAllTasks;
224
+ /**
225
+ * Returns whether the current session may filter tasks by any assignee.
226
+ */
227
+ function canViewAllTaskAssignees(sessionService) {
228
+ return sessionService.authorize(AXM_TASK_VIEW_ALL_PERMISSION);
229
+ }
230
+ function isTaskBoardUnassignedAssigneeId(id) {
231
+ return String(id) === AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID;
232
+ }
233
+ /** Whether the user has a persisted assignee filter (including an explicit empty selection). */
234
+ function hasTaskBoardSavedAssigneePreference(savedAssigneeIds) {
235
+ return savedAssigneeIds !== undefined && savedAssigneeIds !== null;
236
+ }
237
+ /**
238
+ * Resolves saved assignee ids from settings. When the setting is unset (`undefined`/`null`):
239
+ * - Users with view-all permission default to no assignee filter (all tasks).
240
+ * - Everyone else defaults to the signed-in user only.
241
+ * An explicit empty array means "no assignee filter" only for view-all users;
242
+ * for everyone else it is coerced to the signed-in user.
243
+ */
244
+ function resolveTaskBoardSavedAssigneeIds(sessionService, savedAssigneeIds) {
245
+ if (hasTaskBoardSavedAssigneePreference(savedAssigneeIds)) {
246
+ const saved = savedAssigneeIds ?? [];
247
+ if (saved.length === 0 && !canViewAllTaskAssignees(sessionService)) {
248
+ const currentUserId = sessionService.user?.id;
249
+ return currentUserId != null ? [currentUserId] : [];
250
+ }
251
+ return saved;
252
+ }
253
+ if (canViewAllTaskAssignees(sessionService)) {
254
+ return [];
255
+ }
256
+ const currentUserId = sessionService.user?.id;
257
+ return currentUserId != null ? [currentUserId] : [];
258
+ }
259
+ /** Assignee picker item for the signed-in user (used by task-board assignee datasource). */
260
+ function resolveTaskBoardCurrentUserAssigneeItem(sessionService) {
261
+ const currentUser = sessionService.user;
262
+ if (currentUser?.id == null) {
263
+ return null;
264
+ }
265
+ return {
266
+ id: currentUser.id,
267
+ displayName: currentUser.title || currentUser.name,
268
+ username: currentUser.name,
269
+ };
270
+ }
271
+ /**
272
+ * Restricts assignee filter ids to the current user when {@link canViewAllTaskAssignees} is false.
273
+ * Strips the unassigned sentinel for users without view-all permission.
274
+ * Empty selection is only allowed for view-all users (means all assignees).
275
+ */
276
+ function normalizeTaskBoardAssigneeIds(sessionService, assigneeIds) {
277
+ if (canViewAllTaskAssignees(sessionService)) {
278
+ return assigneeIds;
279
+ }
280
+ const currentUserId = sessionService.user?.id;
281
+ return currentUserId != null ? [currentUserId] : [];
282
+ }
283
+ /**
284
+ * Whether a task matches the selected assignee filter ids (OR semantics).
285
+ * Supports {@link AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID} for tasks without an assignee.
286
+ */
287
+ function matchesTaskBoardAssigneeFilter(assigneeId, filterIds) {
288
+ if (filterIds.length === 0) {
289
+ return true;
290
+ }
291
+ const filterSet = new Set(filterIds.map(String));
292
+ const wantsUnassigned = filterSet.has(AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID);
293
+ const hasAssignee = assigneeId != null && assigneeId !== '';
294
+ if (!hasAssignee) {
295
+ return wantsUnassigned;
296
+ }
297
+ return filterSet.has(String(assigneeId));
298
+ }
299
+ /**
300
+ * Whether a workflow task matches assignee filters using assigned/candidate user ids.
301
+ */
302
+ function matchesTaskBoardAssigneeUserIdsFilter(userIds, filterIds) {
303
+ if (filterIds.length === 0) {
304
+ return true;
305
+ }
306
+ const filterSet = new Set(filterIds.map(String));
307
+ const wantsUnassigned = filterSet.has(AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID);
308
+ if (userIds.length === 0) {
309
+ return wantsUnassigned;
310
+ }
311
+ return userIds.some((id) => filterSet.has(String(id)));
312
+ }
313
+ //#endregion
314
+
315
+ function toTaskBoardHolidayDate(occasion) {
316
+ return mapCalendarOccasionToHolidayDate(occasion);
317
+ }
318
+
319
+ //#region ----- Imports -----
320
+ //#endregion
321
+ //#region ----- Constants -----
322
+ /** Persisted task rows shown on the task board. */
323
+ const TASK_BOARD_TASK_ENTITY = `${RootConfig.module.name}.${RootConfig.entities.task.name}`;
324
+ /** Assignment rows that change who a task is assigned to. */
325
+ const TASK_BOARD_TASK_ASSIGNMENT_ENTITY = `${RootConfig.module.name}.${RootConfig.entities.taskAssignment.name}`;
326
+ /**
327
+ * Workflow human-task cards come from suspended instance bookmarks, not Task rows.
328
+ * Keep this string in sync with `WorkflowManagement.WorkflowInstance` (do not import workflow-management — it already depends on this package).
329
+ */
330
+ const TASK_BOARD_WORKFLOW_INSTANCE_ENTITY = 'WorkflowManagement.WorkflowInstance';
331
+ const TASK_BOARD_REALTIME_ENTITIES = new Set([
332
+ TASK_BOARD_TASK_ENTITY,
333
+ TASK_BOARD_TASK_ASSIGNMENT_ENTITY,
334
+ TASK_BOARD_WORKFLOW_INSTANCE_ENTITY,
335
+ ]);
336
+ //#endregion
337
+ //#region ----- Helpers -----
338
+ /** True when a layout-refresh / entity-mutation name should refresh the task board or its menu badge. */
339
+ function isTaskBoardRealtimeEntity(name) {
340
+ return name != null && TASK_BOARD_REALTIME_ENTITIES.has(name);
341
+ }
342
+ //#endregion
343
+
344
+ function serializeDate(value) {
345
+ if (!value) {
346
+ return null;
347
+ }
348
+ return new Date(value).toISOString();
349
+ }
350
+ /** Stable cache key for {@link AXPTaskBoardService.getTasks} deduplication. */
351
+ function serializeTaskFilterForCache(options) {
352
+ if (!options) {
353
+ return '{}';
354
+ }
355
+ const normalized = {
356
+ types: options.types?.slice().sort(),
357
+ assigneeIds: options.assigneeIds?.map(String).sort(),
358
+ reporterIds: options.reporterIds?.map(String).sort(),
359
+ tags: options.tags?.slice().sort(),
360
+ priorities: options.priorities?.slice().sort(),
361
+ dueStatusKeys: options.dueStatusKeys?.slice().sort(),
362
+ subjectRefTypes: options.subjectRefTypes?.slice().sort(),
363
+ subjectRefIds: options.subjectRefIds?.map(String).sort(),
364
+ skip: options.skip ?? 0,
365
+ take: options.take ?? null,
366
+ range: options.range
367
+ ? {
368
+ from: serializeDate(options.range.from),
369
+ end: serializeDate(options.range.end),
370
+ }
371
+ : null,
372
+ };
373
+ return JSON.stringify(normalized);
374
+ }
186
375
 
187
376
  class AXPTaskBoardService {
188
377
  constructor() {
@@ -527,106 +716,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
527
716
  }]
528
717
  }], ctorParameters: () => [] });
529
718
 
530
- //#region ---- Imports ----
531
- //#endregion
532
- //#region ---- Constants ----
533
- /** Sentinel id for the task-board assignee filter option: tasks with no assignee. */
534
- const AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID = 'TaskManagement:TaskBoard:Assignee:Unassigned';
535
- //#endregion
536
- //#region ---- Permission Helpers ----
537
- /** Permission to view and filter tasks across all assignees on the task board. */
538
- const AXM_TASK_VIEW_ALL_PERMISSION = AXPProjectsWorkPermissionKeys.ViewAllTasks;
539
- /**
540
- * Returns whether the current session may filter tasks by any assignee.
541
- */
542
- function canViewAllTaskAssignees(sessionService) {
543
- return sessionService.authorize(AXM_TASK_VIEW_ALL_PERMISSION);
544
- }
545
- function isTaskBoardUnassignedAssigneeId(id) {
546
- return String(id) === AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID;
547
- }
548
- /** Whether the user has a persisted assignee filter (including an explicit empty selection). */
549
- function hasTaskBoardSavedAssigneePreference(savedAssigneeIds) {
550
- return savedAssigneeIds !== undefined && savedAssigneeIds !== null;
551
- }
552
- /**
553
- * Resolves saved assignee ids from settings. When the setting is unset (`undefined`/`null`):
554
- * - Users with view-all permission default to no assignee filter (all tasks).
555
- * - Everyone else defaults to the signed-in user only.
556
- * An explicit empty array means "no assignee filter" only for view-all users;
557
- * for everyone else it is coerced to the signed-in user.
558
- */
559
- function resolveTaskBoardSavedAssigneeIds(sessionService, savedAssigneeIds) {
560
- if (hasTaskBoardSavedAssigneePreference(savedAssigneeIds)) {
561
- const saved = savedAssigneeIds ?? [];
562
- if (saved.length === 0 && !canViewAllTaskAssignees(sessionService)) {
563
- const currentUserId = sessionService.user?.id;
564
- return currentUserId != null ? [currentUserId] : [];
565
- }
566
- return saved;
567
- }
568
- if (canViewAllTaskAssignees(sessionService)) {
569
- return [];
570
- }
571
- const currentUserId = sessionService.user?.id;
572
- return currentUserId != null ? [currentUserId] : [];
573
- }
574
- /** Assignee picker item for the signed-in user (used by task-board assignee datasource). */
575
- function resolveTaskBoardCurrentUserAssigneeItem(sessionService) {
576
- const currentUser = sessionService.user;
577
- if (currentUser?.id == null) {
578
- return null;
579
- }
580
- return {
581
- id: currentUser.id,
582
- displayName: currentUser.title || currentUser.name,
583
- username: currentUser.name,
584
- };
585
- }
586
- /**
587
- * Restricts assignee filter ids to the current user when {@link canViewAllTaskAssignees} is false.
588
- * Strips the unassigned sentinel for users without view-all permission.
589
- * Empty selection is only allowed for view-all users (means all assignees).
590
- */
591
- function normalizeTaskBoardAssigneeIds(sessionService, assigneeIds) {
592
- if (canViewAllTaskAssignees(sessionService)) {
593
- return assigneeIds;
594
- }
595
- const currentUserId = sessionService.user?.id;
596
- return currentUserId != null ? [currentUserId] : [];
597
- }
598
- /**
599
- * Whether a task matches the selected assignee filter ids (OR semantics).
600
- * Supports {@link AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID} for tasks without an assignee.
601
- */
602
- function matchesTaskBoardAssigneeFilter(assigneeId, filterIds) {
603
- if (filterIds.length === 0) {
604
- return true;
605
- }
606
- const filterSet = new Set(filterIds.map(String));
607
- const wantsUnassigned = filterSet.has(AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID);
608
- const hasAssignee = assigneeId != null && assigneeId !== '';
609
- if (!hasAssignee) {
610
- return wantsUnassigned;
611
- }
612
- return filterSet.has(String(assigneeId));
613
- }
614
- /**
615
- * Whether a workflow task matches assignee filters using assigned/candidate user ids.
616
- */
617
- function matchesTaskBoardAssigneeUserIdsFilter(userIds, filterIds) {
618
- if (filterIds.length === 0) {
619
- return true;
620
- }
621
- const filterSet = new Set(filterIds.map(String));
622
- const wantsUnassigned = filterSet.has(AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID);
623
- if (userIds.length === 0) {
624
- return wantsUnassigned;
625
- }
626
- return userIds.some((id) => filterSet.has(String(id)));
627
- }
628
- //#endregion
629
-
630
719
  //#region ---- Imports ----
631
720
  const AXM_TASK_BOARD_VIEW_CATEGORIES = [
632
721
  'calendar',
@@ -2015,6 +2104,23 @@ function buildTaskAccentCssClass(colorToken) {
2015
2104
  return buildTaskSurfaceCssClass(colorToken);
2016
2105
  }
2017
2106
 
2107
+ //#region ----- Command result helpers -----
2108
+ /**
2109
+ * True when a task-board action collected input but did not complete
2110
+ * (e.g. Sign Off dialog cancelled). The card must stay on the board.
2111
+ */
2112
+ function isCancelledTaskBoardCommandResult(result) {
2113
+ if (!result || typeof result !== 'object') {
2114
+ return false;
2115
+ }
2116
+ const data = result.data;
2117
+ return (!!data &&
2118
+ typeof data === 'object' &&
2119
+ !Array.isArray(data) &&
2120
+ data.cancelled === true);
2121
+ }
2122
+ //#endregion
2123
+
2018
2124
  //#region ---- Imports ----
2019
2125
  //#endregion
2020
2126
  //#region ---- Component ----
@@ -2069,7 +2175,7 @@ class AXMTaskBoardDefaultTaskPopoverComponent extends AXPTaskPopoverComponent {
2069
2175
  }
2070
2176
  try {
2071
2177
  const result = await this.taskBoardService.executeCommand(action.command, currentTask.provider);
2072
- if (result?.success === false || result === null) {
2178
+ if (result?.success === false || result === null || isCancelledTaskBoardCommandResult(result)) {
2073
2179
  return;
2074
2180
  }
2075
2181
  this.closePopover();
@@ -2814,114 +2920,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
2814
2920
  args: [{ providedIn: 'root' }]
2815
2921
  }] });
2816
2922
 
2817
- function createAppRoute() {
2818
- const config = inject(AXP_ENTITY_CONFIG_TOKEN);
2819
- return {
2820
- path: ':app/TaskManagement/task-board',
2821
- canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],
2822
- data: { rootLayout: true },
2823
- loadComponent: () => {
2824
- return config.viewers.root();
2825
- },
2826
- children: [
2827
- {
2828
- path: '',
2829
- loadComponent: () => import('./acorex-platform-module-task-management-client-task-board.page-BkHHyd9s.mjs').then((c) => c.AXMTaskBoardPage),
2830
- },
2831
- ],
2832
- };
2833
- }
2834
- function routesFactory() {
2835
- const routes = [createAppRoute()];
2836
- return routes;
2837
- }
2838
- class AXPTaskBoardModule {
2839
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2840
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, imports: [AXPRuntimeModule] }); }
2841
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, providers: [
2842
- provideCommandSetups([
2843
- {
2844
- key: AXPTaskManagementCommandKeys.TaskBoard.ResetFiltersAssignToCurrentUser,
2845
- command: () => Promise.resolve().then(function () { return resetFiltersAssignToCurrentUser_command; }).then((c) => c.ResetTaskBoardFiltersAssignToCurrentUserCommand),
2846
- },
2847
- ]),
2848
- {
2849
- provide: AXP_HOME_PAGES,
2850
- multi: true,
2851
- useFactory: () => [
2852
- {
2853
- key: 'task-board',
2854
- title: 'Task Board',
2855
- route: createAppRoute(),
2856
- },
2857
- ],
2858
- },
2859
- {
2860
- provide: ROUTES,
2861
- multi: true,
2862
- useFactory: routesFactory,
2863
- },
2864
- provideQuerySetups([
2865
- {
2866
- key: AXMTaskManagementQueryKeys.ListTaskTypes,
2867
- loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-DWCTG6dK.mjs').then((c) => c.AXMListTaskTypesQuery),
2868
- },
2869
- {
2870
- key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
2871
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-VCzu27lk.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
2872
- },
2873
- {
2874
- key: AXMTaskManagementQueryKeys.TaskBoardReporters,
2875
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-reporters.query-C3NAYa9b.mjs').then((c) => c.AXMListTaskBoardReportersQuery),
2876
- },
2877
- ]),
2878
- ], imports: [AXPRuntimeModule] }); }
2879
- }
2880
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTaskBoardModule, decorators: [{
2881
- type: NgModule,
2882
- args: [{
2883
- imports: [AXPRuntimeModule],
2884
- providers: [
2885
- provideCommandSetups([
2886
- {
2887
- key: AXPTaskManagementCommandKeys.TaskBoard.ResetFiltersAssignToCurrentUser,
2888
- command: () => Promise.resolve().then(function () { return resetFiltersAssignToCurrentUser_command; }).then((c) => c.ResetTaskBoardFiltersAssignToCurrentUserCommand),
2889
- },
2890
- ]),
2891
- {
2892
- provide: AXP_HOME_PAGES,
2893
- multi: true,
2894
- useFactory: () => [
2895
- {
2896
- key: 'task-board',
2897
- title: 'Task Board',
2898
- route: createAppRoute(),
2899
- },
2900
- ],
2901
- },
2902
- {
2903
- provide: ROUTES,
2904
- multi: true,
2905
- useFactory: routesFactory,
2906
- },
2907
- provideQuerySetups([
2908
- {
2909
- key: AXMTaskManagementQueryKeys.ListTaskTypes,
2910
- loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-DWCTG6dK.mjs').then((c) => c.AXMListTaskTypesQuery),
2911
- },
2912
- {
2913
- key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
2914
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-VCzu27lk.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
2915
- },
2916
- {
2917
- key: AXMTaskManagementQueryKeys.TaskBoardReporters,
2918
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-reporters.query-C3NAYa9b.mjs').then((c) => c.AXMListTaskBoardReportersQuery),
2919
- },
2920
- ]),
2921
- ],
2922
- }]
2923
- }] });
2924
-
2925
2923
  /**
2926
2924
  * Feeds the platform task board from persisted {@link TaskManagement.Task} rows.
2927
2925
  */
@@ -3036,6 +3034,13 @@ class AXPTaskManagementEntityTaskProvider extends AXPWorkflowTaskProvider {
3036
3034
  title: statusTitle,
3037
3035
  color: get(row, 'status.color'),
3038
3036
  },
3037
+ assignee: row.assigneeId
3038
+ ? {
3039
+ id: row.assigneeId,
3040
+ type: 'user',
3041
+ fullName: String(get(row, 'assignee.displayName') ?? get(row, 'assignee.fullName') ?? row.assigneeId),
3042
+ }
3043
+ : undefined,
3039
3044
  reporter: { id: 'system', type: 'user', fullName: 'System' },
3040
3045
  startDate,
3041
3046
  endDate,
@@ -4291,11 +4296,6 @@ class AXMTaskManagementModule {
4291
4296
  AXPWidgetCoreModule,
4292
4297
  AXMTaskFeatureModule] }); }
4293
4298
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMTaskManagementModule, providers: [
4294
- {
4295
- provide: AXP_MODULE_MANIFEST_PROVIDER,
4296
- useValue: TaskManagementManifest,
4297
- multi: true,
4298
- },
4299
4299
  {
4300
4300
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
4301
4301
  useClass: AXMPermissionDefinitionProvider,
@@ -4354,11 +4354,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
4354
4354
  AXMTaskFeatureModule,
4355
4355
  ],
4356
4356
  providers: [
4357
- {
4358
- provide: AXP_MODULE_MANIFEST_PROVIDER,
4359
- useValue: TaskManagementManifest,
4360
- multi: true,
4361
- },
4362
4357
  {
4363
4358
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
4364
4359
  useClass: AXMPermissionDefinitionProvider,
@@ -4441,5 +4436,5 @@ function buildTaskBoardShortcutWidget(id, x, y, size = [3, 2]) {
4441
4436
  * Generated bundle index. Do not edit.
4442
4437
  */
4443
4438
 
4444
- export { buildTaskBoardShortcutWidget as $, AXMTaskBoardViewModel as A, AXM_TASK_VIEW_ALL_PERMISSION as B, AXPDueStatusProvider as C, AXPTASK_PRIORITIES as D, AXPTaskBoardModule as E, AXPTaskBoardShortcut as F, AXPTaskBoardShortcutViewComponent as G, AXPTaskBoardWidget as H, AXPTaskBoardWidgetViewComponent as I, AXPTaskManagementEntityTaskProvider as J, AXPTaskPopoverComponent as K, AXPWorkflowTaskProvider as L, AXP_DUE_STATUS_PROVIDERS as M, AXP_TASK_BOARD_DIMENSIONS as N, AXP_TASK_BOARD_SHORTCUT_DIMENSIONS as O, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_BOARD as P, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_SHORTCUT as Q, AXP_TASK_MANAGEMENT_DASHBOARD_WIDGET_CATEGORY as R, AXP_WORKFLOW_TASK_PROVIDER as S, TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH as T, AXP_WORKFLOW_TASK_PROVIDER_RESOLVER as U, RESET_TASK_BOARD_FILTERS_ASSIGN_TO_CURRENT_USER_COMMAND_KEY as V, ResetTaskBoardFiltersAssignToCurrentUserCommand as W, TASK_BOARD_GRID_ROW_VIEW_ACTION as X, TASK_PRIORITY_ORDER as Y, buildTaskAccentCssClass as Z, buildTaskAccentSurfaceCssClass as _, AXPTaskBoardService as a, buildTaskBoardWidget as a0, buildTaskSurfaceCssClass as a1, formatTaskI18nParamsForTranslate as a2, getDefaultDueStatusDefinitions as a3, getTaskDueStatusKey as a4, getTaskPriorityColor as a5, getTaskPriorityFilterKey as a6, getTaskTranslationKey as a7, hasTaskBoardSavedAssigneePreference as a8, mapEntityStatusColorForBadge as a9, matchesTaskBoardAssigneeFilter as aa, matchesTaskBoardAssigneeUserIdsFilter as ab, matchesTaskDueStatusFilter as ac, matchesTaskPriorityFilter as ad, normalizePriorityFilterKey as ae, normalizePriorityFilterKeys as af, normalizeTaskPriority as ag, resolveDefaultTaskStatusColor as ah, resolveDueStatusFromDefinitions as ai, resolveTaskBoardAccentColor as aj, resolveTaskBoardCalendarPlacement as ak, resolveTaskBoardSavedAssigneeIds as al, resolveTaskBoardSchedulingRange as am, resolveTaskBoardStatusColor as an, resolveTaskPopoverComponent as ao, taskOverlapsFilterRange as ap, AXMTaskBoardTaskPopoverOverlayService as b, TASK_BOARD_GRID_ROW_ACTION_ITEMS as c, AXPDueStatusProviderService as d, canViewAllTaskAssignees as e, filterTasksOverlappingRange as f, getTaskBoardLayoutOptions as g, normalizeTaskTypeFilterNames as h, enrichTaskBoardTasks as i, isTaskBoardRangeFilterCategory as j, deriveTaskBoardDateRangeFromNavigator as k, applyTaskBoardDateRangeToViewModel as l, resolveTaskBoardCategoryLayoutFromQuery as m, normalizeTaskBoardAssigneeIds as n, resolveTaskBoardCurrentUserAssigneeItem as o, AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID as p, isTaskBoardUnassignedAssigneeId as q, resolveTaskBoardSchedulerLabels as r, AXMDefaultDueStatusProvider as s, AXMSearchCommandProvider as t, usesTaskBoardToolbarNavigator as u, AXMSettingProvider as v, AXMTaskBoardDefaultTaskPopoverComponent as w, AXMTaskBoardTaskPopoverShellComponent as x, AXMTaskManagementMenuProvider as y, AXMTaskManagementModule as z };
4445
- //# sourceMappingURL=acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DKeXScX9.mjs.map
4439
+ export { buildTaskAccentSurfaceCssClass as $, AXMTaskBoardViewModel as A, AXMTaskManagementModule as B, AXM_TASK_VIEW_ALL_PERMISSION as C, AXPDueStatusProvider as D, AXPTASK_PRIORITIES as E, AXPTaskBoardModule as F, AXPTaskBoardShortcut as G, AXPTaskBoardShortcutViewComponent as H, AXPTaskBoardWidget as I, AXPTaskBoardWidgetViewComponent as J, AXPTaskManagementEntityTaskProvider as K, AXPTaskPopoverComponent as L, AXPWorkflowTaskProvider as M, AXP_DUE_STATUS_PROVIDERS as N, AXP_TASK_BOARD_DIMENSIONS as O, AXP_TASK_BOARD_SHORTCUT_DIMENSIONS as P, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_BOARD as Q, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_SHORTCUT as R, AXP_TASK_MANAGEMENT_DASHBOARD_WIDGET_CATEGORY as S, TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH as T, AXP_WORKFLOW_TASK_PROVIDER as U, AXP_WORKFLOW_TASK_PROVIDER_RESOLVER as V, RESET_TASK_BOARD_FILTERS_ASSIGN_TO_CURRENT_USER_COMMAND_KEY as W, ResetTaskBoardFiltersAssignToCurrentUserCommand as X, TASK_BOARD_GRID_ROW_VIEW_ACTION as Y, TASK_PRIORITY_ORDER as Z, buildTaskAccentCssClass as _, AXPTaskBoardService as a, buildTaskBoardShortcutWidget as a0, buildTaskBoardWidget as a1, buildTaskSurfaceCssClass as a2, formatTaskI18nParamsForTranslate as a3, getDefaultDueStatusDefinitions as a4, getTaskDueStatusKey as a5, getTaskPriorityColor as a6, getTaskPriorityFilterKey as a7, getTaskTranslationKey as a8, hasTaskBoardSavedAssigneePreference as a9, mapEntityStatusColorForBadge as aa, matchesTaskBoardAssigneeFilter as ab, matchesTaskBoardAssigneeUserIdsFilter as ac, matchesTaskDueStatusFilter as ad, matchesTaskPriorityFilter as ae, normalizePriorityFilterKey as af, normalizePriorityFilterKeys as ag, normalizeTaskPriority as ah, resolveDefaultTaskStatusColor as ai, resolveDueStatusFromDefinitions as aj, resolveTaskBoardAccentColor as ak, resolveTaskBoardCalendarPlacement as al, resolveTaskBoardSavedAssigneeIds as am, resolveTaskBoardSchedulingRange as an, resolveTaskBoardStatusColor as ao, resolveTaskPopoverComponent as ap, taskOverlapsFilterRange as aq, AXMTaskBoardTaskPopoverOverlayService as b, TASK_BOARD_GRID_ROW_ACTION_ITEMS as c, AXPDueStatusProviderService as d, canViewAllTaskAssignees as e, filterTasksOverlappingRange as f, getTaskBoardLayoutOptions as g, normalizeTaskTypeFilterNames as h, isCancelledTaskBoardCommandResult as i, enrichTaskBoardTasks as j, isTaskBoardRangeFilterCategory as k, deriveTaskBoardDateRangeFromNavigator as l, applyTaskBoardDateRangeToViewModel as m, normalizeTaskBoardAssigneeIds as n, resolveTaskBoardCategoryLayoutFromQuery as o, resolveTaskBoardCurrentUserAssigneeItem as p, AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID as q, resolveTaskBoardSchedulerLabels as r, isTaskBoardUnassignedAssigneeId as s, AXMDefaultDueStatusProvider as t, usesTaskBoardToolbarNavigator as u, AXMSearchCommandProvider as v, AXMSettingProvider as w, AXMTaskBoardDefaultTaskPopoverComponent as x, AXMTaskBoardTaskPopoverShellComponent as y, AXMTaskManagementMenuProvider as z };
4440
+ //# sourceMappingURL=acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-PkxJQUlO.mjs.map