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

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
@@ -4,6 +4,8 @@ const TASK_MANAGEMENT_CATALOG_SCOPE_TASKS = 'task-management.tasks';
4
4
  const AXPTaskManagementCommandKeys = {
5
5
  Task: {
6
6
  StartFlow: 'TaskManagement.Task:StartFlow',
7
+ /** Server-only: validate the task type and start its workflow in one call. */
8
+ BeginWorkflow: 'TaskManagement.Task:BeginWorkflow',
7
9
  },
8
10
  TaskBoard: {
9
11
  ResetFiltersAssignToCurrentUser: 'TaskManagement.TaskBoard:ResetFiltersAssignToCurrentUser',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-contracts.mjs","sources":["../../../../libs/modules/task-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/task-management/contracts/src/commands.keys.ts","../../../../libs/modules/task-management/contracts/src/query.keys.ts","../../../../libs/modules/task-management/contracts/src/menu.keys.ts","../../../../libs/modules/task-management/contracts/src/permission.keys.ts","../../../../libs/modules/task-management/contracts/src/settings.keys.ts","../../../../libs/modules/task-management/contracts/src/subject-type.keys.ts","../../../../libs/modules/task-management/contracts/src/root-config.ts","../../../../libs/modules/task-management/contracts/src/manifest.ts","../../../../libs/modules/task-management/contracts/src/entities/task-type/task-type.types.ts","../../../../libs/modules/task-management/contracts/src/index.ts","../../../../libs/modules/task-management/contracts/src/acorex-platform-module-task-management-client-contracts.ts"],"sourcesContent":["/** Catalog scope for task-management–scoped workflow definitions and related catalogs. */\nexport const TASK_MANAGEMENT_CATALOG_SCOPE_TASKS = 'task-management.tasks';\n","export const AXPTaskManagementCommandKeys = {\n Task: {\n StartFlow: 'TaskManagement.Task:StartFlow',\n },\n TaskBoard: {\n ResetFiltersAssignToCurrentUser: 'TaskManagement.TaskBoard:ResetFiltersAssignToCurrentUser',\n },\n} as const;\n","//#region ---- Query keys ----\n\n/** Task Management platform query registry keys. */\nexport const AXMTaskManagementQueryKeys = {\n ListTaskTypes: 'TaskManagement:ListTaskTypes',\n TaskBoardAssignees: 'TaskManagement:TaskBoard:Assignees',\n TaskBoardReporters: 'TaskManagement:TaskBoard:Reporters',\n} as const;\n\n//#endregion\n","export const AXPTaskManagementMenuKeys = {\n Root: 'task-management:menu',\n TaskBoard: 'task-management:board',\n Tasks: 'task-management:menu:tasks',\n TaskTemplates: 'task-management:menu:task-templates',\n TaskTypes: 'task-management:menu:task-types',\n} as const;\n\n","/**\n * Projects & Work capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPProjectsWorkPermissionKeys = {\n Access: 'ProjectsWork:Permission:Access',\n MaintainProjects: 'ProjectsWork:Permission:MaintainProjects',\n MaintainTasks: 'ProjectsWork:Permission:MaintainTasks',\n ViewAllTasks: 'ProjectsWork:Permission:ViewAllTasks',\n MaintainTimesheets: 'ProjectsWork:Permission:MaintainTimesheets',\n ManageTimesheetActions: 'ProjectsWork:Permission:ManageTimesheetActions',\n ViewTimesheetReports: 'ProjectsWork:Permission:ViewTimesheetReports',\n Setup: 'ProjectsWork:Permission:Setup',\n} as const;\n\n/** @deprecated Prefer {@link AXPProjectsWorkPermissionKeys}. */\nexport const AXMPermissionsKeys = {\n TaskManagement: {\n Management: AXPProjectsWorkPermissionKeys.Access,\n Task: {\n Management: AXPProjectsWorkPermissionKeys.MaintainTasks,\n ViewAll: AXPProjectsWorkPermissionKeys.ViewAllTasks,\n },\n },\n} as const;\n","export enum AXMTaskBoardSettings {\n /** User preference: show Calendar in the task board view switcher. */\n VisibleCalendar = 'TaskManagement:Setting:TaskBoard.Visible.Calendar',\n /** User preference: show Timeline in the task board view switcher. */\n VisibleTimeline = 'TaskManagement:Setting:TaskBoard.Visible.Timeline',\n /** User preference: show Table in the task board view switcher. */\n VisibleTable = 'TaskManagement:Setting:TaskBoard.Visible.Table',\n /** User preference: show Kanban in the task board view switcher. */\n VisibleKanban = 'TaskManagement:Setting:TaskBoard.Visible.Kanban',\n CalendarLayout = 'taskboard.view.calendarLayout',\n TimelineLayout = 'taskboard.view.timelineLayout',\n TableLayout = 'taskboard.view.tableLayout',\n ViewMode = 'taskboard.viewMode',\n DetailPanel = 'taskboard.DetailPanel',\n DaysCount = 'taskboard.calendar.daysCount',\n CurrentDate = 'taskboard.calendar.currentDate',\n SelectedPriorities = 'taskboard.filter.selectedPriorities',\n SelectedDueStatusKeys = 'taskboard.filter.selectedDueStatusKeys',\n ColorBy = 'taskboard.colorBy',\n SelectedAssigneeIds = 'taskboard.filter.selectedAssigneeIds',\n SelectedReporterIds = 'taskboard.filter.selectedReporterIds',\n SelectedTaskTypeNames = 'taskboard.filter.selectedTaskTypeNames',\n}\n","/** Canonical {@link AXPEntityReference.type} values for common task subjects. */\nexport const AXPTaskManagementSubjectTypes = {\n Project: 'ProjectManagement.Project',\n} as const;\n","const config = {\n i18n: 'task-management',\n module: 'TaskManagement',\n} as const;\n\n/** Dashboard widget type ids for task-management-hosted widgets (`{module}:Widget:Dashboard:{Segment}`). */\nconst dashboardWidgetId = (segment: string): string =>\n `${config.module}:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-tasks',\n },\n entities: {\n taskType: {\n name: 'TaskType',\n title: `@${config.i18n}:task-type.individual-title`,\n titlePlural: `@${config.i18n}:task-type.plural-title`,\n icon: 'fa-light fa-cog',\n },\n taskTypeCategory: {\n name: 'TaskTypeCategory',\n title: `@${config.i18n}:task-type-categories.title`,\n titlePlural: `@${config.i18n}:task-type-categories.plural`,\n icon: 'fa-light fa-layer-group',\n },\n taskStatus: {\n name: 'TaskStatus',\n title: `@${config.i18n}:task-status.individual-title`,\n titlePlural: `@${config.i18n}:task-status.plural-title`,\n icon: 'fa-light fa-flag',\n },\n task: {\n name: 'Task',\n title: `@${config.i18n}:task.individual-title`,\n titlePlural: `@${config.i18n}:task.plural-title`,\n icon: 'fa-light fa-clipboard-check',\n },\n taskChecklistItem: {\n name: 'TaskChecklistItem',\n title: `@${config.i18n}:checklist-item.individual-title`,\n titlePlural: `@${config.i18n}:checklist-item.plural-title`,\n icon: 'fa-light fa-list-check',\n },\n taskAssignment: {\n name: 'TaskAssignment',\n title: `@${config.i18n}:task-assignment.individual-title`,\n titlePlural: `@${config.i18n}:task-assignment.plural-title`,\n icon: 'fa-light fa-user-check',\n },\n timeLog: {\n name: 'TimeLog',\n title: `@${config.i18n}:time-log.individual-title`,\n titlePlural: `@${config.i18n}:time-log.plural-title`,\n icon: 'fa-light fa-clock',\n },\n taskDependency: {\n name: 'TaskDependency',\n title: `@${config.i18n}:task-dependency.individual-title`,\n titlePlural: `@${config.i18n}:task-dependency.plural-title`,\n icon: 'fa-light fa-link',\n },\n taskContext: {\n name: 'TaskContext',\n title: `@${config.i18n}:task-context.individual-title`,\n titlePlural: `@${config.i18n}:task-context.plural-title`,\n icon: 'fa-light fa-sitemap',\n },\n taskTemplate: {\n name: 'TaskTemplate',\n title: `@${config.i18n}:task-template.individual-title`,\n titlePlural: `@${config.i18n}:task-template.plural-title`,\n icon: 'fa-light fa-copy',\n },\n },\n widgets: {\n taskBoard: dashboardWidgetId('TaskBoard'),\n taskBoardShortcut: dashboardWidgetId('TaskBoardShortcut'),\n },\n queries: {\n dashboard: {\n openTasksKpi: `${config.module}:Dashboard:OpenTasksKpi`,\n overdueTasksKpi: `${config.module}:Dashboard:OverdueTasksKpi`,\n myOpenTasksKpi: `${config.module}:Dashboard:MyOpenTasksKpi`,\n taskStatusDonut: `${config.module}:Dashboard:TaskStatusDonut`,\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Task Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const TaskManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n type: 'domain',\n domain: 'operations',\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import type { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-client/contracts';\nimport type { AXPCategoryListItem } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Task type workflow config ----\n\n/** Workflow template binding and admin-configured default inputs for task types. */\nexport interface AXMTaskManagementTaskTypeWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n defaultInput?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Task type model ----\n\nexport interface AXMTaskManagementTaskTypeEntityModel extends AXPEntityModel<string> {\n title: string;\n description?: string;\n icon?: string;\n color?: string;\n isActive: boolean;\n workflowConfig?: AXMTaskManagementTaskTypeWorkflowConfig | null;\n metaDataList?: AXMMetaDataBuilderValue;\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n hasChecklist: boolean;\n hasTimeTracking: boolean;\n hasAttachments: boolean;\n hasDependencies: boolean;\n hasSubtasks: boolean;\n documentTypeIds?: string[];\n documentTypes?: Array<{ id: string; name?: string; title?: string }>;\n /** Expanded from `documentTypeIds` for list/detail grids (multi-lookup join alias). */\n documentTypesList?: Array<{ id: string; name?: string; title?: string }>;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './query.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './settings.keys';\nexport * from './subject-type.keys';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-contracts.mjs","sources":["../../../../libs/modules/task-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/task-management/contracts/src/commands.keys.ts","../../../../libs/modules/task-management/contracts/src/query.keys.ts","../../../../libs/modules/task-management/contracts/src/menu.keys.ts","../../../../libs/modules/task-management/contracts/src/permission.keys.ts","../../../../libs/modules/task-management/contracts/src/settings.keys.ts","../../../../libs/modules/task-management/contracts/src/subject-type.keys.ts","../../../../libs/modules/task-management/contracts/src/root-config.ts","../../../../libs/modules/task-management/contracts/src/manifest.ts","../../../../libs/modules/task-management/contracts/src/entities/task-type/task-type.types.ts","../../../../libs/modules/task-management/contracts/src/index.ts","../../../../libs/modules/task-management/contracts/src/acorex-platform-module-task-management-client-contracts.ts"],"sourcesContent":["/** Catalog scope for task-management–scoped workflow definitions and related catalogs. */\nexport const TASK_MANAGEMENT_CATALOG_SCOPE_TASKS = 'task-management.tasks';\n","export const AXPTaskManagementCommandKeys = {\n Task: {\n StartFlow: 'TaskManagement.Task:StartFlow',\n /** Server-only: validate the task type and start its workflow in one call. */\n BeginWorkflow: 'TaskManagement.Task:BeginWorkflow',\n },\n TaskBoard: {\n ResetFiltersAssignToCurrentUser: 'TaskManagement.TaskBoard:ResetFiltersAssignToCurrentUser',\n },\n} as const;\n","//#region ---- Query keys ----\n\n/** Task Management platform query registry keys. */\nexport const AXMTaskManagementQueryKeys = {\n ListTaskTypes: 'TaskManagement:ListTaskTypes',\n TaskBoardAssignees: 'TaskManagement:TaskBoard:Assignees',\n TaskBoardReporters: 'TaskManagement:TaskBoard:Reporters',\n} as const;\n\n//#endregion\n","export const AXPTaskManagementMenuKeys = {\n Root: 'task-management:menu',\n TaskBoard: 'task-management:board',\n Tasks: 'task-management:menu:tasks',\n TaskTemplates: 'task-management:menu:task-templates',\n TaskTypes: 'task-management:menu:task-types',\n} as const;\n\n","/**\n * Projects & Work capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPProjectsWorkPermissionKeys = {\n Access: 'ProjectsWork:Permission:Access',\n MaintainProjects: 'ProjectsWork:Permission:MaintainProjects',\n MaintainTasks: 'ProjectsWork:Permission:MaintainTasks',\n ViewAllTasks: 'ProjectsWork:Permission:ViewAllTasks',\n MaintainTimesheets: 'ProjectsWork:Permission:MaintainTimesheets',\n ManageTimesheetActions: 'ProjectsWork:Permission:ManageTimesheetActions',\n ViewTimesheetReports: 'ProjectsWork:Permission:ViewTimesheetReports',\n Setup: 'ProjectsWork:Permission:Setup',\n} as const;\n\n/** @deprecated Prefer {@link AXPProjectsWorkPermissionKeys}. */\nexport const AXMPermissionsKeys = {\n TaskManagement: {\n Management: AXPProjectsWorkPermissionKeys.Access,\n Task: {\n Management: AXPProjectsWorkPermissionKeys.MaintainTasks,\n ViewAll: AXPProjectsWorkPermissionKeys.ViewAllTasks,\n },\n },\n} as const;\n","export enum AXMTaskBoardSettings {\n /** User preference: show Calendar in the task board view switcher. */\n VisibleCalendar = 'TaskManagement:Setting:TaskBoard.Visible.Calendar',\n /** User preference: show Timeline in the task board view switcher. */\n VisibleTimeline = 'TaskManagement:Setting:TaskBoard.Visible.Timeline',\n /** User preference: show Table in the task board view switcher. */\n VisibleTable = 'TaskManagement:Setting:TaskBoard.Visible.Table',\n /** User preference: show Kanban in the task board view switcher. */\n VisibleKanban = 'TaskManagement:Setting:TaskBoard.Visible.Kanban',\n CalendarLayout = 'taskboard.view.calendarLayout',\n TimelineLayout = 'taskboard.view.timelineLayout',\n TableLayout = 'taskboard.view.tableLayout',\n ViewMode = 'taskboard.viewMode',\n DetailPanel = 'taskboard.DetailPanel',\n DaysCount = 'taskboard.calendar.daysCount',\n CurrentDate = 'taskboard.calendar.currentDate',\n SelectedPriorities = 'taskboard.filter.selectedPriorities',\n SelectedDueStatusKeys = 'taskboard.filter.selectedDueStatusKeys',\n ColorBy = 'taskboard.colorBy',\n SelectedAssigneeIds = 'taskboard.filter.selectedAssigneeIds',\n SelectedReporterIds = 'taskboard.filter.selectedReporterIds',\n SelectedTaskTypeNames = 'taskboard.filter.selectedTaskTypeNames',\n}\n","/** Canonical {@link AXPEntityReference.type} values for common task subjects. */\nexport const AXPTaskManagementSubjectTypes = {\n Project: 'ProjectManagement.Project',\n} as const;\n","const config = {\n i18n: 'task-management',\n module: 'TaskManagement',\n} as const;\n\n/** Dashboard widget type ids for task-management-hosted widgets (`{module}:Widget:Dashboard:{Segment}`). */\nconst dashboardWidgetId = (segment: string): string =>\n `${config.module}:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-tasks',\n },\n entities: {\n taskType: {\n name: 'TaskType',\n title: `@${config.i18n}:task-type.individual-title`,\n titlePlural: `@${config.i18n}:task-type.plural-title`,\n icon: 'fa-light fa-cog',\n },\n taskTypeCategory: {\n name: 'TaskTypeCategory',\n title: `@${config.i18n}:task-type-categories.title`,\n titlePlural: `@${config.i18n}:task-type-categories.plural`,\n icon: 'fa-light fa-layer-group',\n },\n taskStatus: {\n name: 'TaskStatus',\n title: `@${config.i18n}:task-status.individual-title`,\n titlePlural: `@${config.i18n}:task-status.plural-title`,\n icon: 'fa-light fa-flag',\n },\n task: {\n name: 'Task',\n title: `@${config.i18n}:task.individual-title`,\n titlePlural: `@${config.i18n}:task.plural-title`,\n icon: 'fa-light fa-clipboard-check',\n },\n taskChecklistItem: {\n name: 'TaskChecklistItem',\n title: `@${config.i18n}:checklist-item.individual-title`,\n titlePlural: `@${config.i18n}:checklist-item.plural-title`,\n icon: 'fa-light fa-list-check',\n },\n taskAssignment: {\n name: 'TaskAssignment',\n title: `@${config.i18n}:task-assignment.individual-title`,\n titlePlural: `@${config.i18n}:task-assignment.plural-title`,\n icon: 'fa-light fa-user-check',\n },\n timeLog: {\n name: 'TimeLog',\n title: `@${config.i18n}:time-log.individual-title`,\n titlePlural: `@${config.i18n}:time-log.plural-title`,\n icon: 'fa-light fa-clock',\n },\n taskDependency: {\n name: 'TaskDependency',\n title: `@${config.i18n}:task-dependency.individual-title`,\n titlePlural: `@${config.i18n}:task-dependency.plural-title`,\n icon: 'fa-light fa-link',\n },\n taskContext: {\n name: 'TaskContext',\n title: `@${config.i18n}:task-context.individual-title`,\n titlePlural: `@${config.i18n}:task-context.plural-title`,\n icon: 'fa-light fa-sitemap',\n },\n taskTemplate: {\n name: 'TaskTemplate',\n title: `@${config.i18n}:task-template.individual-title`,\n titlePlural: `@${config.i18n}:task-template.plural-title`,\n icon: 'fa-light fa-copy',\n },\n },\n widgets: {\n taskBoard: dashboardWidgetId('TaskBoard'),\n taskBoardShortcut: dashboardWidgetId('TaskBoardShortcut'),\n },\n queries: {\n dashboard: {\n openTasksKpi: `${config.module}:Dashboard:OpenTasksKpi`,\n overdueTasksKpi: `${config.module}:Dashboard:OverdueTasksKpi`,\n myOpenTasksKpi: `${config.module}:Dashboard:MyOpenTasksKpi`,\n taskStatusDonut: `${config.module}:Dashboard:TaskStatusDonut`,\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Task Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const TaskManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n type: 'domain',\n domain: 'operations',\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import type { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-client/contracts';\nimport type { AXPCategoryListItem } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Task type workflow config ----\n\n/** Workflow template binding and admin-configured default inputs for task types. */\nexport interface AXMTaskManagementTaskTypeWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n defaultInput?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Task type model ----\n\nexport interface AXMTaskManagementTaskTypeEntityModel extends AXPEntityModel<string> {\n title: string;\n description?: string;\n icon?: string;\n color?: string;\n isActive: boolean;\n workflowConfig?: AXMTaskManagementTaskTypeWorkflowConfig | null;\n metaDataList?: AXMMetaDataBuilderValue;\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n hasChecklist: boolean;\n hasTimeTracking: boolean;\n hasAttachments: boolean;\n hasDependencies: boolean;\n hasSubtasks: boolean;\n documentTypeIds?: string[];\n documentTypes?: Array<{ id: string; name?: string; title?: string }>;\n /** Expanded from `documentTypeIds` for list/detail grids (multi-lookup join alias). */\n documentTypesList?: Array<{ id: string; name?: string; title?: string }>;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './query.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './settings.keys';\nexport * from './subject-type.keys';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -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-DcrxLUEb.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-5zHpZCXa.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-B4AWJplx.mjs.map
129
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.mjs.map
@@ -1 +1 @@
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":"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"}
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-list-task-board-assignees.query-m6EMYMGX.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-DcrxLUEb.mjs';
6
+ import { a as AXPTaskBoardService } from './acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-5zHpZCXa.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-BHKIiUSV.mjs.map
53
+ //# sourceMappingURL=acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"acorex-platform-module-task-management-client-list-task-types.query-aSPzB4oy.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;;;"}
@@ -0,0 +1,114 @@
1
+ import { runtimeResultObjectData } from '@acorex-platform/framework-shared/core';
2
+ import { AXToastService } from '@acorex/components/toast';
3
+ import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
4
+ import { AXTranslationService } from '@acorex/core/translation';
5
+ import { AXPCommandService } from '@acorex-platform/framework-client/runtime';
6
+ import { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';
7
+ import * as i0 from '@angular/core';
8
+ import { inject, Injectable } from '@angular/core';
9
+ import { AXPTaskManagementCommandKeys } from '@acorex-platform/module-task-management-client/contracts';
10
+
11
+ //#endregion
12
+ //#region ---- Constants ----
13
+ const START_FLOW_FAILED = '@task-management:commands.start-flow.messages.failed';
14
+ const START_FLOW_FAILED_TITLE = '@task-management:commands.start-flow.messages.failed-title';
15
+ const START_FLOW_MISSING = '@task-management:commands.start-flow.messages.missing-input';
16
+ //#endregion
17
+ /**
18
+ * Starts a task-type workflow.
19
+ * The server loads the task type, checks the project type, and starts the workflow in one call.
20
+ */
21
+ class StartTaskFlowCommand {
22
+ constructor() {
23
+ //#region ---- Services & Dependencies ----
24
+ this.toastService = inject(AXToastService);
25
+ this.commandService = inject(AXPCommandService);
26
+ this.workflowManager = inject(AXPWorkflowManager);
27
+ this.loadingDialog = inject(AXLoadingDialogService);
28
+ this.translationService = inject(AXTranslationService);
29
+ }
30
+ //#endregion
31
+ //#region ---- Command Implementation ----
32
+ async execute(input) {
33
+ const options = (input?.options ?? input);
34
+ const flowInput = options?.input ?? {};
35
+ const workflowId = (options?.workflowId ?? input?.workflowId)?.trim();
36
+ const taskTypeId = flowInput?.taskTypeId?.trim();
37
+ const subjectRef = flowInput?.subjectRef ?? input?.subjectRef;
38
+ if (!workflowId || !taskTypeId || !subjectRef?.id || !subjectRef?.type) {
39
+ await this.showFailure(START_FLOW_MISSING);
40
+ return { success: false, message: { text: START_FLOW_MISSING }, metadata: { refresh: false } };
41
+ }
42
+ try {
43
+ const remote = await this.withStartLoading(() => this.commandService.executeRemote(AXPTaskManagementCommandKeys.Task.BeginWorkflow, {
44
+ workflowId,
45
+ input: flowInput,
46
+ }));
47
+ const started = runtimeResultObjectData(remote);
48
+ if (started == null || started.instanceId.length === 0) {
49
+ const rawMessage = remote?.message?.text;
50
+ const messageKey = typeof rawMessage === 'string' ? rawMessage : START_FLOW_FAILED;
51
+ await this.showFailure(messageKey);
52
+ return { success: false, message: { text: messageKey }, metadata: { refresh: false } };
53
+ }
54
+ const startResult = await this.workflowManager.continueStartedWorkflow(started, flowInput);
55
+ if (!startResult.success) {
56
+ await this.showFailure(START_FLOW_FAILED);
57
+ return { success: false, message: { text: START_FLOW_FAILED }, metadata: { refresh: false } };
58
+ }
59
+ if (startResult.dismissed) {
60
+ return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };
61
+ }
62
+ return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };
63
+ }
64
+ catch (error) {
65
+ console.error('[StartTaskFlowCommand]', error);
66
+ await this.showFailure(START_FLOW_FAILED);
67
+ return { success: false, message: { text: START_FLOW_FAILED }, metadata: { refresh: false } };
68
+ }
69
+ }
70
+ //#endregion
71
+ //#region ---- Helpers ----
72
+ async showFailure(messageKey) {
73
+ const [title, content] = await Promise.all([
74
+ this.translationService.translateAsync(START_FLOW_FAILED_TITLE),
75
+ this.translationService.translateAsync(messageKey),
76
+ ]);
77
+ this.toastService.show({
78
+ color: 'danger',
79
+ title,
80
+ content,
81
+ closeButton: true,
82
+ timeOut: 5000,
83
+ });
84
+ }
85
+ /** Covers only the server start call, so the next user dialog is not hidden behind it. */
86
+ async withStartLoading(work) {
87
+ const [title, text] = await Promise.all([
88
+ this.translationService.translateAsync('@general:state-message.loading.title'),
89
+ this.translationService.translateAsync('@general:state-message.loading.description'),
90
+ ]);
91
+ const dialog = this.loadingDialog.show({
92
+ title,
93
+ mode: 'indeterminate',
94
+ text,
95
+ });
96
+ try {
97
+ return await work();
98
+ }
99
+ finally {
100
+ dialog.close();
101
+ await new Promise((resolve) => setTimeout(resolve, 80));
102
+ }
103
+ }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StartTaskFlowCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StartTaskFlowCommand, providedIn: 'root' }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StartTaskFlowCommand, decorators: [{
108
+ type: Injectable,
109
+ args: [{ providedIn: 'root' }]
110
+ }] });
111
+ const START_TASK_FLOW_COMMAND_KEY = AXPTaskManagementCommandKeys.Task.StartFlow;
112
+
113
+ export { START_TASK_FLOW_COMMAND_KEY, StartTaskFlowCommand };
114
+ //# sourceMappingURL=acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-task-management-client-start-task-flow.command-CR1JXr5r.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 { runtimeResultObjectData, type AXPEntityReference } from '@acorex-platform/framework-shared/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXLoadingDialogService, type AXLoadingDialogRef } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport {\n AXPWorkflowManager,\n type AXPStartWorkflowRequest,\n type AXPStartWorkflowResponse,\n} from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPTaskManagementCommandKeys } 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\n//#endregion\n\n//#region ---- Constants ----\n\nconst START_FLOW_FAILED = '@task-management:commands.start-flow.messages.failed';\nconst START_FLOW_FAILED_TITLE = '@task-management:commands.start-flow.messages.failed-title';\nconst START_FLOW_MISSING = '@task-management:commands.start-flow.messages.missing-input';\n\n//#endregion\n\n/**\n * Starts a task-type workflow.\n * The server loads the task type, checks the project type, and starts the workflow in one call.\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 commandService = inject(AXPCommandService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly loadingDialog = inject(AXLoadingDialogService);\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 = 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\n if (!workflowId || !taskTypeId || !subjectRef?.id || !subjectRef?.type) {\n await this.showFailure(START_FLOW_MISSING);\n return { success: false, message: { text: START_FLOW_MISSING }, metadata: { refresh: false } };\n }\n\n try {\n const remote = await this.withStartLoading(() =>\n this.commandService.executeRemote<AXPStartWorkflowRequest, AXPStartWorkflowResponse>(\n AXPTaskManagementCommandKeys.Task.BeginWorkflow,\n {\n workflowId,\n input: flowInput,\n },\n ),\n );\n\n const started = runtimeResultObjectData(remote);\n if (started == null || started.instanceId.length === 0) {\n const rawMessage = remote?.message?.text;\n const messageKey = typeof rawMessage === 'string' ? rawMessage : START_FLOW_FAILED;\n await this.showFailure(messageKey);\n return { success: false, message: { text: messageKey }, metadata: { refresh: false } };\n }\n\n const startResult = await this.workflowManager.continueStartedWorkflow(started, flowInput);\n if (!startResult.success) {\n await this.showFailure(START_FLOW_FAILED);\n return { success: false, message: { text: START_FLOW_FAILED }, metadata: { refresh: false } };\n }\n\n if (startResult.dismissed) {\n return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };\n }\n\n return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };\n } catch (error: unknown) {\n console.error('[StartTaskFlowCommand]', error);\n await this.showFailure(START_FLOW_FAILED);\n return { success: false, message: { text: START_FLOW_FAILED }, metadata: { refresh: false } };\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async showFailure(messageKey: string): Promise<void> {\n const [title, content] = await Promise.all([\n this.translationService.translateAsync(START_FLOW_FAILED_TITLE),\n this.translationService.translateAsync(messageKey),\n ]);\n this.toastService.show({\n color: 'danger',\n title,\n content,\n closeButton: true,\n timeOut: 5000,\n });\n }\n\n /** Covers only the server start call, so the next user dialog is not hidden behind it. */\n private async withStartLoading<T>(work: () => Promise<T>): Promise<T> {\n const [title, text] = await Promise.all([\n this.translationService.translateAsync('@general:state-message.loading.title'),\n this.translationService.translateAsync('@general:state-message.loading.description'),\n ]);\n const dialog: AXLoadingDialogRef = this.loadingDialog.show({\n title,\n mode: 'indeterminate',\n text,\n });\n try {\n return await work();\n } finally {\n dialog.close();\n await new Promise<void>((resolve) => setTimeout(resolve, 80));\n }\n }\n\n //#endregion\n}\n\nexport const START_TASK_FLOW_COMMAND_KEY = AXPTaskManagementCommandKeys.Task.StartFlow;\n"],"names":[],"mappings":"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"}
@@ -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-DcrxLUEb.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-5zHpZCXa.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-Cl249xyY.mjs.map
2744
+ //# sourceMappingURL=acorex-platform-module-task-management-client-task-board.page-1Qq2hK0A.mjs.map