@acorex-platform/module-task-management-client 0.0.49 → 0.0.51

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 (11) hide show
  1. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-PkxJQUlO.mjs → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs} +6 -6
  2. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-PkxJQUlO.mjs.map → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs.map} +1 -1
  3. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs → acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.mjs.map → acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs → acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.mjs.map → acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.mjs → acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs} +5 -4
  8. package/fesm2022/acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-task-management-client.mjs +1 -1
  10. package/package.json +3 -3
  11. package/fesm2022/acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.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-PkxJQUlO.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-ryc94crr.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-D21GbZbd.mjs.map
129
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-list-task-board-assignees.query-D21GbZbd.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":"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"}
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":"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"}
@@ -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-PkxJQUlO.mjs';
6
+ import { a as AXPTaskBoardService } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.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-DyqMBNzz.mjs.map
53
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-list-task-types.query-DyqMBNzz.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-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,4 +1,4 @@
1
- import { AXPRegionalSetting, runtimeQueryCollectionData, AXPKeyboardShortcutPriority } from '@acorex-platform/framework-shared/core';
1
+ import { AXPRegionalSetting, collectQueryFilterLeaves, runtimeQueryCollectionData, AXPKeyboardShortcutPriority } from '@acorex-platform/framework-shared/core';
2
2
  import * as i7 from '@acorex/components/badge';
3
3
  import { AXBadgeModule } from '@acorex/components/badge';
4
4
  import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
@@ -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-PkxJQUlO.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-ryc94crr.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';
@@ -1882,12 +1882,13 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
1882
1882
  : [];
1883
1883
  this.vm.setSelectedCalendarEventTypeIds(next);
1884
1884
  }
1885
- handleFiltersChanged(filters) {
1885
+ handleFiltersChanged(incoming) {
1886
1886
  if (!this.filtersPanelInitialized) {
1887
1887
  return;
1888
1888
  }
1889
1889
  // User-driven filter changes should persist and override URL-seeded state.
1890
1890
  this.isQueryParam.set(false);
1891
+ const filters = collectQueryFilterLeaves(incoming);
1891
1892
  const typeFilter = filters.find((f) => f.field === 'type');
1892
1893
  const assigneeFilter = filters.find((f) => f.field === 'assignee');
1893
1894
  const reporterFilter = filters.find((f) => f.field === 'reporter');
@@ -2740,4 +2741,4 @@ function areTaskBoardQueryParamsEquivalent(current, next) {
2740
2741
  }
2741
2742
 
2742
2743
  export { AXMTaskBoardPage };
2743
- //# sourceMappingURL=acorex-platform-module-task-management-client-task-board.page-BQ8Al8uc.mjs.map
2744
+ //# sourceMappingURL=acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs.map