@acorex-platform/module-task-management-client 0.0.53 → 0.0.56

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 (16) hide show
  1. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs} +8 -8
  2. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs.map → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs.map} +1 -1
  3. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs → acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs.map → acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs → acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs.map → acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs → acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs} +25 -9
  8. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs → acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs.map → acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs.map} +1 -1
  11. package/fesm2022/acorex-platform-module-task-management-client.mjs +1 -1
  12. package/i18n/en-AU/task-management.json +385 -0
  13. package/i18n/en-US/task-management.json +385 -0
  14. package/i18n/fa-IR/task-management.json +457 -0
  15. package/package.json +3 -3
  16. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs.map +0 -1
@@ -6,7 +6,7 @@ import { runtimeQuerySuccessCollection, runtimeQueryFailure } from '@acorex-plat
6
6
  import { AXTranslationService } from '@acorex/core/translation';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, Injectable } from '@angular/core';
9
- import { p as resolveTaskBoardCurrentUserAssigneeItem, e as canViewAllTaskAssignees, q as AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID, s as isTaskBoardUnassignedAssigneeId } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs';
9
+ import { p as resolveTaskBoardCurrentUserAssigneeItem, e as canViewAllTaskAssignees, q as AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID, s as isTaskBoardUnassignedAssigneeId } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs';
10
10
 
11
11
  //#endregion
12
12
  //#region ---- Helpers ----
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
126
126
  }] });
127
127
 
128
128
  export { AXMListTaskBoardAssigneesQuery };
129
- //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs.map
129
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/queries/list-task-board-assignees.query.ts"],"sourcesContent":["import { RootConfig as SecurityManagementRootConfig } from '@acorex-platform/module-security-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { applyFilterArray } from '@acorex-platform/framework-client/core';\nimport {\n runtimeQueryFailure,\n runtimeQuerySuccessCollection,\n type AXPQueryRequest,\n} from '@acorex-platform/framework-shared/core';\nimport {\n type AXPCollectionQuery,\n type AXPCollectionQueryInput,\n type AXPQueryCollectionFetchResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport {\n AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n canViewAllTaskAssignees,\n isTaskBoardUnassignedAssigneeId,\n resolveTaskBoardCurrentUserAssigneeItem,\n} from '../task-board/task-board-assignee-access';\nimport { AXPTaskBoardUserOption } from '../task-board/task-board.types';\n\n//#region ---- Types ----\n\nexport type AXMListTaskBoardAssigneesQueryInput = AXPCollectionQueryInput;\n\nexport type AXMListTaskBoardAssigneesQueryItem = AXPTaskBoardUserOption;\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction matchesFilter(item: object, filter?: AXDataSourceFilterOption): boolean {\n if (!filter || (!filter.field && !filter.filters?.length)) {\n return true;\n }\n return applyFilterArray([item], [filter], filter.logic ?? 'and').length > 0;\n}\n\nfunction extractEqualIdFilter(filter?: AXDataSourceFilterOption | null): string | null {\n if (!filter) {\n return null;\n }\n if (filter.field === 'id' && filter.operator?.type === 'equal' && filter.value != null && filter.value !== '') {\n return String(filter.value);\n }\n return null;\n}\n\n//#endregion\n\n//#region ---- Query ----\n\n/**\n * Session-aware task-board assignees — replaces the `task-board-assignees` DI data source.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListTaskBoardAssigneesQuery\n implements\n AXPCollectionQuery<AXMListTaskBoardAssigneesQueryInput, AXMListTaskBoardAssigneesQueryItem>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly userService = this.entityService\n .withEntity(SecurityManagementRootConfig.module.name, SecurityManagementRootConfig.entities.users.name)\n .data<string, { id: string; displayName: string; username: string }>();\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(\n input?: AXMListTaskBoardAssigneesQueryInput | null,\n ): AXPQueryCollectionFetchResultPromise<AXMListTaskBoardAssigneesQueryItem> {\n try {\n const request = (input ?? { skip: 0, take: 100 }) as AXPQueryRequest;\n const equalId = extractEqualIdFilter(request.filter ?? undefined);\n\n if (equalId != null) {\n const item = await this.resolveOne(equalId);\n return runtimeQuerySuccessCollection({\n items: item ? [item] : [],\n total: item ? 1 : 0,\n });\n }\n\n const page = await this.loadPage(request);\n return runtimeQuerySuccessCollection(page);\n } catch (error) {\n return runtimeQueryFailure(\n error instanceof Error ? error.message : 'Unknown error occurred',\n );\n }\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadPage(\n request: AXPQueryRequest,\n ): Promise<{ items: AXMListTaskBoardAssigneesQueryItem[]; total: number }> {\n const skip = request.skip ?? 0;\n const selfItem = resolveTaskBoardCurrentUserAssigneeItem(this.sessionService);\n\n if (!canViewAllTaskAssignees(this.sessionService)) {\n if (!selfItem || !matchesFilter(selfItem, request.filter)) {\n return { items: [], total: 0 };\n }\n return { items: skip === 0 ? [selfItem] : [], total: 1 };\n }\n\n const unassignedLabel = await this.translationService.translateAsync(\n '@task-management:task-board.filter.unassigned',\n );\n const unassignedItem: AXPTaskBoardUserOption = {\n id: AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n displayName: unassignedLabel,\n username: '',\n };\n const includeUnassigned = matchesFilter(unassignedItem, request.filter);\n\n const res = await this.userService.query(request ?? { skip: 0, take: 100 });\n const userItems: AXPTaskBoardUserOption[] = res.items.map((item) => ({\n id: item.id,\n displayName: item.displayName,\n username: item.username,\n }));\n\n const items = skip === 0 && includeUnassigned ? [unassignedItem, ...userItems] : userItems;\n const total = res.total + (includeUnassigned ? 1 : 0);\n return { items, total };\n }\n\n private async resolveOne(userId: string): Promise<AXPTaskBoardUserOption | null> {\n const selfItem = resolveTaskBoardCurrentUserAssigneeItem(this.sessionService);\n if (selfItem != null && String(selfItem.id) === userId) {\n return selfItem;\n }\n\n if (isTaskBoardUnassignedAssigneeId(userId)) {\n if (!canViewAllTaskAssignees(this.sessionService)) {\n return null;\n }\n const displayName = await this.translationService.translateAsync(\n '@task-management:task-board.filter.unassigned',\n );\n return {\n id: AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n displayName,\n username: '',\n };\n }\n\n if (!canViewAllTaskAssignees(this.sessionService)) {\n return null;\n }\n\n const user = await this.userService.byKey(userId);\n if (!user) {\n return null;\n }\n\n return {\n id: user.id,\n displayName: user.displayName,\n username: user.username,\n };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":["SecurityManagementRootConfig"],"mappings":";;;;;;;;;;AAiCA;AAEA;AAEA,SAAS,aAAa,CAAC,IAAY,EAAE,MAAiC,EAAA;AACpE,IAAA,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;AACzD,QAAA,OAAO,IAAI;IACb;IACA,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;AAC7E;AAEA,SAAS,oBAAoB,CAAC,MAAwC,EAAA;IACpE,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,IAAI;IACb;IACA,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE;AAC7G,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B;AACA,IAAA,OAAO,IAAI;AACb;AAEA;AAEA;AAEA;;AAEG;MAEU,8BAA8B,CAAA;AAD3C,IAAA,WAAA,GAAA;;AAOmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC;AACjC,aAAA,UAAU,CAACA,UAA4B,CAAC,MAAM,CAAC,IAAI,EAAEA,UAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACrG,aAAA,IAAI,EAAiE;AACvD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AA0GnE,IAAA;;;IApGC,MAAM,KAAK,CACT,KAAkD,EAAA;AAElD,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAoB;YACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAEjE,YAAA,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC3C,gBAAA,OAAO,6BAA6B,CAAC;oBACnC,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;oBACzB,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;AACpB,iBAAA,CAAC;YACJ;YAEA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,YAAA,OAAO,6BAA6B,CAAC,IAAI,CAAC;QAC5C;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,mBAAmB,CACxB,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAClE;QACH;IACF;;;IAMQ,MAAM,QAAQ,CACpB,OAAwB,EAAA;AAExB,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,uCAAuC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE7E,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBACzD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC;YACA,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1D;QAEA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAClE,+CAA+C,CAChD;AACD,QAAA,MAAM,cAAc,GAA2B;AAC7C,YAAA,EAAE,EAAE,qCAAqC;AACzC,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,QAAQ,EAAE,EAAE;SACb;QACD,MAAM,iBAAiB,GAAG,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;QAEvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3E,QAAA,MAAM,SAAS,GAA6B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YACnE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,iBAAiB,GAAG,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS;AAC1F,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,QAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IACzB;IAEQ,MAAM,UAAU,CAAC,MAAc,EAAA;QACrC,MAAM,QAAQ,GAAG,uCAAuC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC7E,QAAA,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE;AACtD,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,gBAAA,OAAO,IAAI;YACb;YACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC9D,+CAA+C,CAChD;YACD,OAAO;AACL,gBAAA,EAAE,EAAE,qCAAqC;gBACzC,WAAW;AACX,gBAAA,QAAQ,EAAE,EAAE;aACb;QACH;QAEA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI;QACb;QAEA,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;IACH;8GAlHW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cADjB,MAAM,EAAA,CAAA,CAAA;;2FACnB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/queries/list-task-board-assignees.query.ts"],"sourcesContent":["import { RootConfig as SecurityManagementRootConfig } from '@acorex-platform/module-security-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { applyFilterArray } from '@acorex-platform/framework-client/core';\nimport {\n runtimeQueryFailure,\n runtimeQuerySuccessCollection,\n type AXPQueryRequest,\n} from '@acorex-platform/framework-shared/core';\nimport {\n type AXPCollectionQuery,\n type AXPCollectionQueryInput,\n type AXPQueryCollectionFetchResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport {\n AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n canViewAllTaskAssignees,\n isTaskBoardUnassignedAssigneeId,\n resolveTaskBoardCurrentUserAssigneeItem,\n} from '../task-board/task-board-assignee-access';\nimport { AXPTaskBoardUserOption } from '../task-board/task-board.types';\n\n//#region ---- Types ----\n\nexport type AXMListTaskBoardAssigneesQueryInput = AXPCollectionQueryInput;\n\nexport type AXMListTaskBoardAssigneesQueryItem = AXPTaskBoardUserOption;\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction matchesFilter(item: object, filter?: AXDataSourceFilterOption): boolean {\n if (!filter || (!filter.field && !filter.filters?.length)) {\n return true;\n }\n return applyFilterArray([item], [filter], filter.logic ?? 'and').length > 0;\n}\n\nfunction extractEqualIdFilter(filter?: AXDataSourceFilterOption | null): string | null {\n if (!filter) {\n return null;\n }\n if (filter.field === 'id' && filter.operator?.type === 'equal' && filter.value != null && filter.value !== '') {\n return String(filter.value);\n }\n return null;\n}\n\n//#endregion\n\n//#region ---- Query ----\n\n/**\n * Session-aware task-board assignees — replaces the `task-board-assignees` DI data source.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListTaskBoardAssigneesQuery\n implements\n AXPCollectionQuery<AXMListTaskBoardAssigneesQueryInput, AXMListTaskBoardAssigneesQueryItem>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly userService = this.entityService\n .withEntity(SecurityManagementRootConfig.module.name, SecurityManagementRootConfig.entities.users.name)\n .data<string, { id: string; displayName: string; username: string }>();\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(\n input?: AXMListTaskBoardAssigneesQueryInput | null,\n ): AXPQueryCollectionFetchResultPromise<AXMListTaskBoardAssigneesQueryItem> {\n try {\n const request = (input ?? { skip: 0, take: 100 }) as AXPQueryRequest;\n const equalId = extractEqualIdFilter(request.filter ?? undefined);\n\n if (equalId != null) {\n const item = await this.resolveOne(equalId);\n return runtimeQuerySuccessCollection({\n items: item ? [item] : [],\n total: item ? 1 : 0,\n });\n }\n\n const page = await this.loadPage(request);\n return runtimeQuerySuccessCollection(page);\n } catch (error) {\n return runtimeQueryFailure(\n error instanceof Error ? error.message : 'Unknown error occurred',\n );\n }\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadPage(\n request: AXPQueryRequest,\n ): Promise<{ items: AXMListTaskBoardAssigneesQueryItem[]; total: number }> {\n const skip = request.skip ?? 0;\n const selfItem = resolveTaskBoardCurrentUserAssigneeItem(this.sessionService);\n\n if (!canViewAllTaskAssignees(this.sessionService)) {\n if (!selfItem || !matchesFilter(selfItem, request.filter)) {\n return { items: [], total: 0 };\n }\n return { items: skip === 0 ? [selfItem] : [], total: 1 };\n }\n\n const unassignedLabel = await this.translationService.translateAsync(\n '@task-management:task-board.filter.unassigned',\n );\n const unassignedItem: AXPTaskBoardUserOption = {\n id: AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n displayName: unassignedLabel,\n username: '',\n };\n const includeUnassigned = matchesFilter(unassignedItem, request.filter);\n\n const res = await this.userService.query(request ?? { skip: 0, take: 100 });\n const userItems: AXPTaskBoardUserOption[] = res.items.map((item) => ({\n id: item.id,\n displayName: item.displayName,\n username: item.username,\n }));\n\n const items = skip === 0 && includeUnassigned ? [unassignedItem, ...userItems] : userItems;\n const total = res.total + (includeUnassigned ? 1 : 0);\n return { items, total };\n }\n\n private async resolveOne(userId: string): Promise<AXPTaskBoardUserOption | null> {\n const selfItem = resolveTaskBoardCurrentUserAssigneeItem(this.sessionService);\n if (selfItem != null && String(selfItem.id) === userId) {\n return selfItem;\n }\n\n if (isTaskBoardUnassignedAssigneeId(userId)) {\n if (!canViewAllTaskAssignees(this.sessionService)) {\n return null;\n }\n const displayName = await this.translationService.translateAsync(\n '@task-management:task-board.filter.unassigned',\n );\n return {\n id: AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID,\n displayName,\n username: '',\n };\n }\n\n if (!canViewAllTaskAssignees(this.sessionService)) {\n return null;\n }\n\n const user = await this.userService.byKey(userId);\n if (!user) {\n return null;\n }\n\n return {\n id: user.id,\n displayName: user.displayName,\n username: user.username,\n };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":["SecurityManagementRootConfig"],"mappings":";;;;;;;;;;AAiCA;AAEA;AAEA,SAAS,aAAa,CAAC,IAAY,EAAE,MAAiC,EAAA;AACpE,IAAA,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;AACzD,QAAA,OAAO,IAAI;IACb;IACA,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;AAC7E;AAEA,SAAS,oBAAoB,CAAC,MAAwC,EAAA;IACpE,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,IAAI;IACb;IACA,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE;AAC7G,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B;AACA,IAAA,OAAO,IAAI;AACb;AAEA;AAEA;AAEA;;AAEG;MAEU,8BAA8B,CAAA;AAD3C,IAAA,WAAA,GAAA;;AAOmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC;AACjC,aAAA,UAAU,CAACA,UAA4B,CAAC,MAAM,CAAC,IAAI,EAAEA,UAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACrG,aAAA,IAAI,EAAiE;AACvD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AA0GnE,IAAA;;;IApGC,MAAM,KAAK,CACT,KAAkD,EAAA;AAElD,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAoB;YACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAEjE,YAAA,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC3C,gBAAA,OAAO,6BAA6B,CAAC;oBACnC,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;oBACzB,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;AACpB,iBAAA,CAAC;YACJ;YAEA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,YAAA,OAAO,6BAA6B,CAAC,IAAI,CAAC;QAC5C;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,mBAAmB,CACxB,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAClE;QACH;IACF;;;IAMQ,MAAM,QAAQ,CACpB,OAAwB,EAAA;AAExB,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,uCAAuC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE7E,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBACzD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC;YACA,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1D;QAEA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAClE,+CAA+C,CAChD;AACD,QAAA,MAAM,cAAc,GAA2B;AAC7C,YAAA,EAAE,EAAE,qCAAqC;AACzC,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,QAAQ,EAAE,EAAE;SACb;QACD,MAAM,iBAAiB,GAAG,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;QAEvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3E,QAAA,MAAM,SAAS,GAA6B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YACnE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,iBAAiB,GAAG,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS;AAC1F,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,QAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IACzB;IAEQ,MAAM,UAAU,CAAC,MAAc,EAAA;QACrC,MAAM,QAAQ,GAAG,uCAAuC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC7E,QAAA,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE;AACtD,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,gBAAA,OAAO,IAAI;YACb;YACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC9D,+CAA+C,CAChD;YACD,OAAO;AACL,gBAAA,EAAE,EAAE,qCAAqC;gBACzC,WAAW;AACX,gBAAA,QAAQ,EAAE,EAAE;aACb;QACH;QAEA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjD,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI;QACb;QAEA,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;IACH;8GAlHW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cADjB,MAAM,EAAA,CAAA,CAAA;;2FACnB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
@@ -3,7 +3,7 @@ import { runtimeQuerySuccessCollection, runtimeQueryFailure } from '@acorex-plat
3
3
  import { applyFilterArray, applySortArray } from '@acorex-platform/framework-client/core';
4
4
  import * as i0 from '@angular/core';
5
5
  import { inject, Injectable } from '@angular/core';
6
- import { a as AXPTaskBoardService } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs';
6
+ import { a as AXPTaskBoardService } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs';
7
7
 
8
8
  //#endregion
9
9
  //#region ---- Query ----
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
50
50
  }] });
51
51
 
52
52
  export { AXMListTaskTypesQuery };
53
- //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs.map
53
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/queries/list-task-types.query.ts"],"sourcesContent":["import {\n resolveCollectionSkip,\n resolveCollectionTake,\n type AXPCollectionQuery,\n type AXPCollectionQueryInput,\n type AXPQueryCollectionFetchResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\nimport {\n runtimeQueryFailure,\n runtimeQuerySuccessCollection,\n} from '@acorex-platform/framework-shared/core';\nimport { applyFilterArray, applySortArray } from '@acorex-platform/framework-client/core';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport { AXPTaskBoardService } from '../task-board/task-board.service';\n\n//#region ---- Types ----\n\nexport type AXMListTaskTypesQueryInput = AXPCollectionQueryInput;\n\nexport interface AXMListTaskTypesQueryItem {\n /** Workflow task provider key. */\n name: string;\n /** Display title from the provider. */\n title: string;\n /** Optional icon class from the provider. */\n icon: string;\n}\n\n//#endregion\n\n//#region ---- Query ----\n\n/**\n * Resolved workflow task types — replaces the `task-types` DI data source.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListTaskTypesQuery\n implements AXPCollectionQuery<AXMListTaskTypesQueryInput, AXMListTaskTypesQueryItem>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly taskBoardService = inject(AXPTaskBoardService);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(\n input?: AXMListTaskTypesQueryInput | null,\n ): AXPQueryCollectionFetchResultPromise<AXMListTaskTypesQueryItem> {\n try {\n const providers = await this.taskBoardService.getTaskTypes();\n let items: AXMListTaskTypesQueryItem[] = await Promise.all(\n providers.map(async (provider) => ({\n name: provider.name,\n title: await provider.getTitle(),\n icon: await provider.getIcon(),\n })),\n );\n\n if (input?.filter) {\n items = applyFilterArray(items, [input.filter]);\n }\n\n const rawSort = Array.isArray(input?.sort) ? input.sort : input?.sort ? [input.sort] : [];\n const sortOpt = rawSort.length > 0 ? rawSort : [{ field: 'name' as const, dir: 'asc' as const }];\n items = applySortArray(items, sortOpt);\n\n const skip = resolveCollectionSkip(input?.skip);\n const take = resolveCollectionTake(input?.take);\n const total = items.length;\n const page = items.slice(skip, skip + take);\n\n return runtimeQuerySuccessCollection({ items: page, total });\n } catch (error) {\n return runtimeQueryFailure(\n error instanceof Error ? error.message : 'Unknown error occurred',\n );\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;AA8BA;AAEA;AAEA;;AAEG;MAEU,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;;AAMmB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAyChE,IAAA;;;IAnCC,MAAM,KAAK,CACT,KAAyC,EAAA;AAEzC,QAAA,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;AAC5D,YAAA,IAAI,KAAK,GAAgC,MAAM,OAAO,CAAC,GAAG,CACxD,SAAS,CAAC,GAAG,CAAC,OAAO,QAAQ,MAAM;gBACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;AACnB,gBAAA,KAAK,EAAE,MAAM,QAAQ,CAAC,QAAQ,EAAE;AAChC,gBAAA,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAC,CACJ;AAED,YAAA,IAAI,KAAK,EAAE,MAAM,EAAE;gBACjB,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjD;AAEA,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACzF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,GAAG,EAAE,KAAc,EAAE,CAAC;AAChG,YAAA,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;YAEtC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;AAC/C,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;AAC1B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;YAE3C,OAAO,6BAA6B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC9D;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,mBAAmB,CACxB,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAClE;QACH;IACF;8GA3CW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/queries/list-task-types.query.ts"],"sourcesContent":["import {\n resolveCollectionSkip,\n resolveCollectionTake,\n type AXPCollectionQuery,\n type AXPCollectionQueryInput,\n type AXPQueryCollectionFetchResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\nimport {\n runtimeQueryFailure,\n runtimeQuerySuccessCollection,\n} from '@acorex-platform/framework-shared/core';\nimport { applyFilterArray, applySortArray } from '@acorex-platform/framework-client/core';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport { AXPTaskBoardService } from '../task-board/task-board.service';\n\n//#region ---- Types ----\n\nexport type AXMListTaskTypesQueryInput = AXPCollectionQueryInput;\n\nexport interface AXMListTaskTypesQueryItem {\n /** Workflow task provider key. */\n name: string;\n /** Display title from the provider. */\n title: string;\n /** Optional icon class from the provider. */\n icon: string;\n}\n\n//#endregion\n\n//#region ---- Query ----\n\n/**\n * Resolved workflow task types — replaces the `task-types` DI data source.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListTaskTypesQuery\n implements AXPCollectionQuery<AXMListTaskTypesQueryInput, AXMListTaskTypesQueryItem>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly taskBoardService = inject(AXPTaskBoardService);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(\n input?: AXMListTaskTypesQueryInput | null,\n ): AXPQueryCollectionFetchResultPromise<AXMListTaskTypesQueryItem> {\n try {\n const providers = await this.taskBoardService.getTaskTypes();\n let items: AXMListTaskTypesQueryItem[] = await Promise.all(\n providers.map(async (provider) => ({\n name: provider.name,\n title: await provider.getTitle(),\n icon: await provider.getIcon(),\n })),\n );\n\n if (input?.filter) {\n items = applyFilterArray(items, [input.filter]);\n }\n\n const rawSort = Array.isArray(input?.sort) ? input.sort : input?.sort ? [input.sort] : [];\n const sortOpt = rawSort.length > 0 ? rawSort : [{ field: 'name' as const, dir: 'asc' as const }];\n items = applySortArray(items, sortOpt);\n\n const skip = resolveCollectionSkip(input?.skip);\n const take = resolveCollectionTake(input?.take);\n const total = items.length;\n const page = items.slice(skip, skip + take);\n\n return runtimeQuerySuccessCollection({ items: page, total });\n } catch (error) {\n return runtimeQueryFailure(\n error instanceof Error ? error.message : 'Unknown error occurred',\n );\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;AA8BA;AAEA;AAEA;;AAEG;MAEU,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;;AAMmB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAyChE,IAAA;;;IAnCC,MAAM,KAAK,CACT,KAAyC,EAAA;AAEzC,QAAA,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;AAC5D,YAAA,IAAI,KAAK,GAAgC,MAAM,OAAO,CAAC,GAAG,CACxD,SAAS,CAAC,GAAG,CAAC,OAAO,QAAQ,MAAM;gBACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;AACnB,gBAAA,KAAK,EAAE,MAAM,QAAQ,CAAC,QAAQ,EAAE;AAChC,gBAAA,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAC,CACJ;AAED,YAAA,IAAI,KAAK,EAAE,MAAM,EAAE;gBACjB,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjD;AAEA,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACzF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,GAAG,EAAE,KAAc,EAAE,CAAC;AAChG,YAAA,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;YAEtC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;AAC/C,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;AAC1B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;YAE3C,OAAO,6BAA6B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC9D;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,mBAAmB,CACxB,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAClE;QACH;IACF;8GA3CW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
@@ -1,4 +1,5 @@
1
1
  import { AXToastService } from '@acorex/components/toast';
2
+ import { AXTranslationService } from '@acorex/core/translation';
2
3
  import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
3
4
  import { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';
4
5
  import { defaultTo, get, merge, isEmpty } from 'lodash';
@@ -6,6 +7,7 @@ import * as i0 from '@angular/core';
6
7
  import { inject, Injectable } from '@angular/core';
7
8
  import { AXPTaskManagementCommandKeys, RootConfig } from '@acorex-platform/module-task-management-client/contracts';
8
9
 
10
+ const I18N = '@task-management:tasks.commands.start-flow';
9
11
  //#endregion
10
12
  /**
11
13
  * Starts a workflow for a {@link TaskManagement.Task} when the task type defines {@link workflowConfig}.
@@ -16,6 +18,7 @@ class StartTaskFlowCommand {
16
18
  this.toastService = inject(AXToastService);
17
19
  this.entityService = inject(AXPEntityService);
18
20
  this.workflowManager = inject(AXPWorkflowManager);
21
+ this.translationService = inject(AXTranslationService);
19
22
  }
20
23
  //#endregion
21
24
  //#region ---- Command Implementation ----
@@ -27,17 +30,28 @@ class StartTaskFlowCommand {
27
30
  const subjectRef = flowInput?.subjectRef ?? input?.subjectRef;
28
31
  const projectTypeId = flowInput?.projectTypeId?.trim() ?? input?.projectTypeId?.trim();
29
32
  if (!workflowId || !taskTypeId || !subjectRef?.id || !subjectRef?.type) {
30
- return { success: false, message: { text: 'Missing workflow, task type, or subject reference.' } };
33
+ return {
34
+ success: false,
35
+ message: { text: await this.translationService.translateAsync(`${I18N}.errors.missing-input`) },
36
+ };
31
37
  }
32
38
  try {
33
39
  const taskType = await this.loadTaskType(taskTypeId);
34
40
  if (!taskType) {
35
- return { success: false, message: { text: 'Task type not found.' } };
41
+ return {
42
+ success: false,
43
+ message: { text: await this.translationService.translateAsync(`${I18N}.errors.task-type-not-found`) },
44
+ };
36
45
  }
37
46
  if (projectTypeId) {
38
47
  const allowed = await this.isTaskTypeAllowedForProjectType(projectTypeId, taskTypeId);
39
48
  if (!allowed) {
40
- return { success: false, message: { text: 'Task type is not allowed for this project type.' } };
49
+ return {
50
+ success: false,
51
+ message: {
52
+ text: await this.translationService.translateAsync(`${I18N}.errors.task-type-not-allowed`),
53
+ },
54
+ };
41
55
  }
42
56
  }
43
57
  const defaultInput = defaultTo(get(taskType, 'workflowConfig.defaultInput'), {});
@@ -51,23 +65,25 @@ class StartTaskFlowCommand {
51
65
  correlationId: this.buildCorrelationId(subjectRef.id, taskTypeId, workflowId),
52
66
  }, flowInput));
53
67
  if (!startResult.success) {
68
+ const unknownError = await this.translationService.translateAsync(`${I18N}.errors.unknown`);
54
69
  this.toastService.show({
55
70
  color: 'danger',
56
- title: 'Workflow Execution Failed',
57
- content: startResult.error ?? 'Unknown error',
71
+ title: await this.translationService.translateAsync(`${I18N}.errors.execution-failed-title`),
72
+ content: startResult.error ?? unknownError,
58
73
  closeButton: true,
59
74
  timeOut: 5000,
60
75
  });
61
- return { success: false, message: { text: startResult.error ?? 'Unknown error' } };
76
+ return { success: false, message: { text: startResult.error ?? unknownError } };
62
77
  }
63
78
  return { success: true, kind: 'object', data: undefined };
64
79
  }
65
80
  catch (error) {
66
- const message = error instanceof Error ? error.message : 'Unknown error';
81
+ const unknownError = await this.translationService.translateAsync(`${I18N}.errors.unknown`);
82
+ const message = error instanceof Error ? error.message : unknownError;
67
83
  console.error('[StartTaskFlowCommand]', error);
68
84
  this.toastService.show({
69
85
  color: 'danger',
70
- title: 'Workflow Execution Error',
86
+ title: await this.translationService.translateAsync(`${I18N}.errors.execution-error-title`),
71
87
  content: message,
72
88
  closeButton: true,
73
89
  timeOut: 5000,
@@ -111,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
111
127
  const START_TASK_FLOW_COMMAND_KEY = AXPTaskManagementCommandKeys.Task.StartFlow;
112
128
 
113
129
  export { START_TASK_FLOW_COMMAND_KEY, StartTaskFlowCommand };
114
- //# sourceMappingURL=acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs.map
130
+ //# sourceMappingURL=acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/task/commands/start-task-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { type AXPEntityReference, AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';\nimport { defaultTo, get, isEmpty, merge } from 'lodash';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPTaskManagementCommandKeys } from '@acorex-platform/module-task-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-task-management-client/contracts';\nimport type { AXMTaskManagementTaskTypeEntityModel } from '@acorex-platform/module-task-management-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface StartTaskFlowInput {\n workflowId?: string;\n taskTypeId?: string;\n subjectRef?: AXPEntityReference;\n projectTypeId?: string;\n input?: Record<string, unknown>;\n options?: StartTaskFlowOptions;\n}\n\nexport interface StartTaskFlowOptions {\n workflowId: string;\n input: {\n taskTypeId: string;\n subjectRef: AXPEntityReference;\n projectTypeId?: string;\n taskTypeTitle?: string;\n } & Record<string, unknown>;\n}\n\nconst I18N = '@task-management:tasks.commands.start-flow';\n\n//#endregion\n\n/**\n * Starts a workflow for a {@link TaskManagement.Task} when the task type defines {@link workflowConfig}.\n */\n@Injectable({ providedIn: 'root' })\nexport class StartTaskFlowCommand implements AXPCommand<StartTaskFlowInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly toastService = inject(AXToastService);\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartTaskFlowInput): AXPCommandExecuteResultPromise<void> {\n const options = (input?.options ?? input) as StartTaskFlowOptions;\n const flowInput = defaultTo(options?.input, {} as StartTaskFlowOptions['input']);\n const workflowId = (options?.workflowId ?? input?.workflowId)?.trim();\n const taskTypeId = flowInput?.taskTypeId?.trim();\n const subjectRef = flowInput?.subjectRef ?? input?.subjectRef;\n const projectTypeId = flowInput?.projectTypeId?.trim() ?? input?.projectTypeId?.trim();\n\n if (!workflowId || !taskTypeId || !subjectRef?.id || !subjectRef?.type) {\n return {\n success: false,\n message: { text: await this.translationService.translateAsync(`${I18N}.errors.missing-input`) },\n };\n }\n\n try {\n const taskType = await this.loadTaskType(taskTypeId);\n if (!taskType) {\n return {\n success: false,\n message: { text: await this.translationService.translateAsync(`${I18N}.errors.task-type-not-found`) },\n };\n }\n\n if (projectTypeId) {\n const allowed = await this.isTaskTypeAllowedForProjectType(projectTypeId, taskTypeId);\n if (!allowed) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(`${I18N}.errors.task-type-not-allowed`),\n },\n };\n }\n }\n\n const defaultInput = defaultTo(get(taskType, 'workflowConfig.defaultInput'), {});\n const startResult = await this.workflowManager.start(workflowId, merge(\n defaultInput,\n {\n taskTypeId,\n taskTypeTitle: flowInput.taskTypeTitle ?? taskType.title,\n subjectRef,\n ...(projectTypeId ? { projectTypeId } : {}),\n refId: subjectRef.id,\n refType: subjectRef.type,\n correlationId: this.buildCorrelationId(subjectRef.id, taskTypeId, workflowId),\n },\n flowInput,\n ));\n\n if (!startResult.success) {\n const unknownError = await this.translationService.translateAsync(`${I18N}.errors.unknown`);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(`${I18N}.errors.execution-failed-title`),\n content: startResult.error ?? unknownError,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: startResult.error ?? unknownError } };\n }\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const unknownError = await this.translationService.translateAsync(`${I18N}.errors.unknown`);\n const message = error instanceof Error ? error.message : unknownError;\n console.error('[StartTaskFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(`${I18N}.errors.execution-error-title`),\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async loadTaskType(taskTypeId: string): Promise<AXMTaskManagementTaskTypeEntityModel | null> {\n const row = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.taskType.name)\n .data()\n .byKey(taskTypeId);\n return (row ?? null) as AXMTaskManagementTaskTypeEntityModel | null;\n }\n\n private async isTaskTypeAllowedForProjectType(projectTypeId: string, taskTypeId: string): Promise<boolean> {\n const projectType = (await this.entityService\n .withEntity('ProjectManagement', 'ProjectType')\n .data()\n .byKey(projectTypeId)) as {\n allowedTaskTypeIds?: string[];\n allowedTaskTypes?: Array<{ id: string }>;\n allowedTaskTypesList?: Array<{ id: string }>;\n } | null;\n\n if (!projectType) {\n return false;\n }\n\n const allowedIds =\n (projectType.allowedTaskTypesList ?? projectType.allowedTaskTypes)?.map((row) => row.id).filter(Boolean) ?? [];\n if (!isEmpty(allowedIds)) {\n return allowedIds.includes(taskTypeId);\n }\n\n return defaultTo(projectType.allowedTaskTypeIds, []).includes(taskTypeId);\n }\n\n private buildCorrelationId(subjectId: string, taskTypeId: string, workflowId: string): string {\n return `${subjectId}:${taskTypeId}:${workflowId}`;\n }\n\n //#endregion\n}\n\nexport const START_TASK_FLOW_COMMAND_KEY = AXPTaskManagementCommandKeys.Task.StartFlow;\n"],"names":[],"mappings":";;;;;;;;;AAuCA,MAAM,IAAI,GAAG,4CAA4C;AAEzD;AAEA;;AAEG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AA6HnE,IAAA;;;IAvHC,MAAM,OAAO,CAAC,KAAyB,EAAA;QACrC,MAAM,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,CAAyB;QACjE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,EAAmC,CAAC;AAChF,QAAA,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE;QACrE,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;QAChD,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU;AAC7D,QAAA,MAAM,aAAa,GAAG,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;AAEtF,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;YACtE,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,qBAAA,CAAuB,CAAC,EAAE;aAChG;QACH;AAEA,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,2BAAA,CAA6B,CAAC,EAAE;iBACtG;YACH;YAEA,IAAI,aAAa,EAAE;gBACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,UAAU,CAAC;gBACrF,IAAI,CAAC,OAAO,EAAE;oBACZ,OAAO;AACL,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,6BAAA,CAA+B,CAAC;AAC3F,yBAAA;qBACF;gBACH;YACF;AAEA,YAAA,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,CAAC,EAAE,EAAE,CAAC;AAChF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CACpE,YAAY,EACZ;gBACE,UAAU;AACV,gBAAA,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;gBACxD,UAAU;AACV,gBAAA,IAAI,aAAa,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;gBAC3C,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpB,OAAO,EAAE,UAAU,CAAC,IAAI;AACxB,gBAAA,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC;aAC9E,EACD,SAAS,CACV,CAAC;AAEF,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AACxB,gBAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,eAAA,CAAiB,CAAC;AAC3F,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,8BAAA,CAAgC,CAAC;AAC5F,oBAAA,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,YAAY;AAC1C,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC;AACF,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,YAAY,EAAE,EAAE;YACjF;AAEA,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,eAAA,CAAiB,CAAC;AAC3F,YAAA,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,YAAY;AACrE,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,gBAAA,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAA,6BAAA,CAA+B,CAAC;AAC3F,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACvD;IACF;;;IAMQ,MAAM,YAAY,CAAC,UAAkB,EAAA;AAC3C,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;AACpB,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;AACpE,aAAA,IAAI;aACJ,KAAK,CAAC,UAAU,CAAC;AACpB,QAAA,QAAQ,GAAG,IAAI,IAAI;IACrB;AAEQ,IAAA,MAAM,+BAA+B,CAAC,aAAqB,EAAE,UAAkB,EAAA;AACrF,QAAA,MAAM,WAAW,IAAI,MAAM,IAAI,CAAC;AAC7B,aAAA,UAAU,CAAC,mBAAmB,EAAE,aAAa;AAC7C,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC,aAAa,CAAC,CAIf;QAER,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,MAAM,UAAU,GACd,CAAC,WAAW,CAAC,oBAAoB,IAAI,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;AAChH,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACxB,YAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC;AAEA,QAAA,OAAO,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3E;AAEQ,IAAA,kBAAkB,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAkB,EAAA;AAClF,QAAA,OAAO,GAAG,SAAS,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,EAAI,UAAU,EAAE;IACnD;8GAhIW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;MAsIrB,2BAA2B,GAAG,4BAA4B,CAAC,IAAI,CAAC;;"}
@@ -35,7 +35,7 @@ import { ActivatedRoute, NavigationEnd, RouterModule } from '@angular/router';
35
35
  import { isEqual, sortBy } from 'lodash';
36
36
  import { filter } from 'rxjs';
37
37
  import { RootConfig, AXMTaskManagementQueryKeys } from '@acorex-platform/module-task-management-client/contracts';
38
- import { A as AXMTaskBoardViewModel, a as AXPTaskBoardService, b as AXMTaskBoardTaskPopoverOverlayService, T as TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH, c as TASK_BOARD_GRID_ROW_ACTION_ITEMS, i as isCancelledTaskBoardCommandResult, d as AXPDueStatusProviderService, u as usesTaskBoardToolbarNavigator, g as getTaskBoardLayoutOptions, e as canViewAllTaskAssignees, n as normalizeTaskBoardAssigneeIds, f as filterTasksOverlappingRange, h as normalizeTaskTypeFilterNames, j as enrichTaskBoardTasks, r as resolveTaskBoardSchedulerLabels, k as isTaskBoardRangeFilterCategory, l as deriveTaskBoardDateRangeFromNavigator, m as applyTaskBoardDateRangeToViewModel, o as resolveTaskBoardCategoryLayoutFromQuery } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs';
38
+ import { A as AXMTaskBoardViewModel, a as AXPTaskBoardService, b as AXMTaskBoardTaskPopoverOverlayService, T as TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH, c as TASK_BOARD_GRID_ROW_ACTION_ITEMS, i as isCancelledTaskBoardCommandResult, d as AXPDueStatusProviderService, u as usesTaskBoardToolbarNavigator, g as getTaskBoardLayoutOptions, e as canViewAllTaskAssignees, n as normalizeTaskBoardAssigneeIds, f as filterTasksOverlappingRange, h as normalizeTaskTypeFilterNames, j as enrichTaskBoardTasks, r as resolveTaskBoardSchedulerLabels, k as isTaskBoardRangeFilterCategory, l as deriveTaskBoardDateRangeFromNavigator, m as applyTaskBoardDateRangeToViewModel, o as resolveTaskBoardCategoryLayoutFromQuery } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs';
39
39
  import * as i1 from '@acorex/components/skeleton';
40
40
  import { AXSkeletonModule } from '@acorex/components/skeleton';
41
41
  import { AXFormatPipe } from '@acorex/core/format';
@@ -2741,4 +2741,4 @@ function areTaskBoardQueryParamsEquivalent(current, next) {
2741
2741
  }
2742
2742
 
2743
2743
  export { AXMTaskBoardPage };
2744
- //# sourceMappingURL=acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs.map
2744
+ //# sourceMappingURL=acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs.map