@acorex-platform/module-task-management-client 0.0.57 → 0.0.58

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 (21) hide show
  1. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-5zHpZCXa.mjs} +33 -16
  2. package/fesm2022/acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-5zHpZCXa.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-task-management-client-contracts.mjs +2 -0
  4. package/fesm2022/acorex-platform-module-task-management-client-contracts.mjs.map +1 -1
  5. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs → acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs.map → acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs → acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs.map → acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.mjs.map} +1 -1
  9. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.mjs +114 -0
  10. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.mjs.map +1 -0
  11. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs → acorex-platform-module-task-management-client-task-board.page-1Qq2hK0A.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs.map → acorex-platform-module-task-management-client-task-board.page-1Qq2hK0A.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-module-task-management-client.mjs +1 -1
  14. package/i18n/en-AU/task-management.json +14 -0
  15. package/i18n/en-US/task-management.json +14 -0
  16. package/i18n/fa-IR/task-management.json +14 -0
  17. package/package.json +3 -3
  18. package/types/acorex-platform-module-task-management-client-contracts.d.ts +2 -0
  19. package/fesm2022/acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs.map +0 -1
  20. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs +0 -130
  21. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs.map +0 -1
@@ -21,7 +21,7 @@ import { AXTranslationModule, AXTranslationService } from '@acorex/core/translat
21
21
  import { isNil, get, defaultTo } from 'lodash';
22
22
  import { AXCalendarService } from '@acorex/core/date-time';
23
23
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
- import { Subject, merge, filter, distinctUntilChanged } from 'rxjs';
24
+ import { Subject, merge, filter, debounceTime, distinctUntilChanged } from 'rxjs';
25
25
  import { AXPPlatformScope, AXPRegionalSetting, AXPSystemStatuses, AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';
26
26
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
27
27
  import { AXLocaleService } from '@acorex/core/locale';
@@ -48,7 +48,7 @@ function createAppRoute() {
48
48
  children: [
49
49
  {
50
50
  path: '',
51
- loadComponent: () => import('./acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs').then((c) => c.AXMTaskBoardPage),
51
+ loadComponent: () => import('./acorex-platform-module-task-management-client-task-board.page-1Qq2hK0A.mjs').then((c) => c.AXMTaskBoardPage),
52
52
  },
53
53
  ],
54
54
  };
@@ -86,11 +86,11 @@ class AXPTaskBoardModule {
86
86
  provideQuerySetups([
87
87
  {
88
88
  key: AXMTaskManagementQueryKeys.ListTaskTypes,
89
- loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs').then((c) => c.AXMListTaskTypesQuery),
89
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.mjs').then((c) => c.AXMListTaskTypesQuery),
90
90
  },
91
91
  {
92
92
  key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
93
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
93
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
94
94
  },
95
95
  {
96
96
  key: AXMTaskManagementQueryKeys.TaskBoardReporters,
@@ -129,11 +129,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
129
129
  provideQuerySetups([
130
130
  {
131
131
  key: AXMTaskManagementQueryKeys.ListTaskTypes,
132
- loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs').then((c) => c.AXMListTaskTypesQuery),
132
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.mjs').then((c) => c.AXMListTaskTypesQuery),
133
133
  },
134
134
  {
135
135
  key: AXMTaskManagementQueryKeys.TaskBoardAssignees,
136
- loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
136
+ loader: () => import('./acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.mjs').then((c) => c.AXMListTaskBoardAssigneesQuery),
137
137
  },
138
138
  {
139
139
  key: AXMTaskManagementQueryKeys.TaskBoardReporters,
@@ -424,7 +424,7 @@ class AXPTaskBoardService {
424
424
  // (local CRUD + realtime `entity.mutation` → layout refresh). Refresh all providers:
425
425
  // site-inspection cards also come from workflow human-task bookmarks, not only Task rows.
426
426
  merge(this.entityEvents.listenDeleted(), this.entityEvents.listenCreated(), this.entityEvents.listenModified(), this.entityEvents.listenLayoutRefresh())
427
- .pipe(filter(({ data }) => isTaskBoardRealtimeEntity(data?.name)), takeUntilDestroyed(this.destroyRef))
427
+ .pipe(filter(({ data }) => isTaskBoardRealtimeEntity(data?.name)), debounceTime(300), takeUntilDestroyed(this.destroyRef))
428
428
  .subscribe(() => {
429
429
  this.requestRefresh();
430
430
  });
@@ -3925,6 +3925,11 @@ class AXMTaskBoardBadgeProvider extends AXPTaskBadgeProvider {
3925
3925
  ...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
3926
3926
  /** Bumped on every refresh so stale async results cannot overwrite a newer user/session. */
3927
3927
  this.refreshGeneration = 0;
3928
+ /** Collapses task, instance, and layout events from one workflow step into a single count. */
3929
+ this.queuedRefresh = new Subject();
3930
+ this.queuedRefresh.pipe(debounceTime(300), takeUntilDestroyed(this.destroyRef)).subscribe(() => {
3931
+ void this.refresh();
3932
+ });
3928
3933
  // User switch / login: update immediately (no debounce).
3929
3934
  this.sessionService.user$
3930
3935
  .pipe(distinctUntilChanged((prev, next) => prev?.id === next?.id), takeUntilDestroyed(this.destroyRef))
@@ -3950,21 +3955,21 @@ class AXMTaskBoardBadgeProvider extends AXPTaskBadgeProvider {
3950
3955
  });
3951
3956
  const unsubscribeCommands = this.commandEvents.listen((event) => {
3952
3957
  if (this.isRelevantCommandEvent(event)) {
3953
- void this.handleCommandEvent(event);
3958
+ this.handleCommandEvent(event);
3954
3959
  }
3955
3960
  });
3956
3961
  this.eventService
3957
3962
  .listen('task-board.refresh')
3958
3963
  .pipe(takeUntilDestroyed(this.destroyRef))
3959
3964
  .subscribe(() => {
3960
- void this.refresh();
3965
+ this.queuedRefresh.next();
3961
3966
  });
3962
3967
  this.taskBoardService.refresh$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
3963
- void this.refresh();
3968
+ this.queuedRefresh.next();
3964
3969
  });
3965
3970
  const layoutSub = this.entityBroadcast.listenLayoutRefresh().subscribe(({ data }) => {
3966
3971
  if (isTaskBoardRealtimeEntity(data?.name)) {
3967
- void this.refresh();
3972
+ this.queuedRefresh.next();
3968
3973
  }
3969
3974
  });
3970
3975
  this.destroyRef.onDestroy(() => {
@@ -4020,11 +4025,23 @@ class AXMTaskBoardBadgeProvider extends AXPTaskBadgeProvider {
4020
4025
  (get(entityInfo, 'module') === RootConfig.module.name &&
4021
4026
  get(entityInfo, 'name') === RootConfig.entities.task.name));
4022
4027
  }
4023
- async handleCommandEvent(event) {
4028
+ handleCommandEvent(event) {
4024
4029
  if (!event || event.stage !== 'after' || !event.success) {
4025
4030
  return;
4026
4031
  }
4027
- await this.refresh();
4032
+ if (this.commandSkipsTaskRefresh(event)) {
4033
+ return;
4034
+ }
4035
+ this.queuedRefresh.next();
4036
+ }
4037
+ /** Cancelled or unchanged commands must not reload the task board. */
4038
+ commandSkipsTaskRefresh(event) {
4039
+ const metadata = event.result?.metadata;
4040
+ if (metadata?.['refresh'] === false) {
4041
+ return true;
4042
+ }
4043
+ const outcome = metadata?.['outcome'];
4044
+ return typeof outcome === 'string' && outcome.toLowerCase() === 'cancelled';
4028
4045
  }
4029
4046
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMTaskBoardBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4030
4047
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMTaskBoardBadgeProvider, providedIn: 'root' }); }
@@ -4268,7 +4285,7 @@ class AXMTaskFeatureModule {
4268
4285
  provideCommandSetups([
4269
4286
  {
4270
4287
  key: AXPTaskManagementCommandKeys.Task.StartFlow,
4271
- command: () => import('./acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs').then((c) => c.StartTaskFlowCommand),
4288
+ command: () => import('./acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.mjs').then((c) => c.StartTaskFlowCommand),
4272
4289
  },
4273
4290
  ]),
4274
4291
  ], imports: [CommonModule, AXPRuntimeModule] }); }
@@ -4281,7 +4298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
4281
4298
  provideCommandSetups([
4282
4299
  {
4283
4300
  key: AXPTaskManagementCommandKeys.Task.StartFlow,
4284
- command: () => import('./acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs').then((c) => c.StartTaskFlowCommand),
4301
+ command: () => import('./acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.mjs').then((c) => c.StartTaskFlowCommand),
4285
4302
  },
4286
4303
  ]),
4287
4304
  ],
@@ -4437,4 +4454,4 @@ function buildTaskBoardShortcutWidget(id, x, y, size = [3, 2]) {
4437
4454
  */
4438
4455
 
4439
4456
  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-DcrxLUEb.mjs.map
4457
+ //# sourceMappingURL=acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-5zHpZCXa.mjs.map