@acorex-platform/module-workflow-management-client 2.0.0-next.20 → 2.0.0-next.21

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 (14) hide show
  1. package/fesm2022/{acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-BcOBHoOK.mjs → acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-DfHDYcB1.mjs} +16 -16
  2. package/fesm2022/{acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-BcOBHoOK.mjs.map → acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-DfHDYcB1.mjs.map} +1 -1
  3. package/fesm2022/{acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-DuYGXzAL.mjs → acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-C4nMV2f5.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-DuYGXzAL.mjs.map → acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-C4nMV2f5.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-workflow-management-client-index-Bx8vYkYe.mjs → acorex-platform-module-workflow-management-client-index-DUPFLctp.mjs} +3 -3
  6. package/fesm2022/{acorex-platform-module-workflow-management-client-index-Bx8vYkYe.mjs.map → acorex-platform-module-workflow-management-client-index-DUPFLctp.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-CVTeOv-q.mjs → acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-cQXYistV.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-CVTeOv-q.mjs.map → acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-cQXYistV.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CHVdaY4M.mjs → acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CLZjVnAC.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CHVdaY4M.mjs.map → acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CLZjVnAC.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-task-popover.component-BXutLQAO.mjs → acorex-platform-module-workflow-management-client-workflow-task-popover.component-BAB0y9_u.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-task-popover.component-BXutLQAO.mjs.map → acorex-platform-module-workflow-management-client-workflow-task-popover.component-BAB0y9_u.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-module-workflow-management-client.mjs +1 -1
  14. package/package.json +2 -2
@@ -367,7 +367,7 @@ class AXMActivityCommandConfiguratorComponent {
367
367
  [readonly]="readonly()"
368
368
  [items]="configuratorItems()"
369
369
  />
370
- `, isInline: true, styles: [":host([readonly]){pointer-events:none;opacity:.7}\n"], dependencies: [{ kind: "component", type: AXPItemConfiguratorComponent, selector: "axp-item-configurator", inputs: ["selectedItemId", "values", "label", "readonly", "items", "headerActions"], outputs: ["selectedItemIdChange", "valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
370
+ `, isInline: true, styles: [":host([readonly]){pointer-events:none;opacity:.7}\n"], dependencies: [{ kind: "component", type: AXPItemConfiguratorComponent, selector: "axp-item-configurator", inputs: ["selectedItemId", "values", "nodeFields", "label", "readonly", "items", "headerActions"], outputs: ["selectedItemIdChange", "valuesChange", "nodeFieldsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
371
371
  }
372
372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMActivityCommandConfiguratorComponent, decorators: [{
373
373
  type: Component,
@@ -479,4 +479,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
479
479
  }], propDecorators: { valueModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueModel", required: false }] }, { type: i0.Output, args: ["valueModelChange"] }] } });
480
480
 
481
481
  export { AXMActivityCommandConfiguratorWidgetEditComponent };
482
- //# sourceMappingURL=acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-DuYGXzAL.mjs.map
482
+ //# sourceMappingURL=acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-C4nMV2f5.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-DuYGXzAL.mjs","sources":["../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator.utils.ts","../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator.component.ts","../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPProperty } from '@acorex-platform/framework-shared/core';\nimport type { AXPPropertyDefinition } from '@acorex-platform/framework-shared/domain';\nimport type { AXPWidgetProperty, AXPWidgetPropertyGroup } from '@acorex-platform/framework-shared/widget-core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { mapAXPPropertyToWidgetProperty } from '@acorex-platform/framework-client/layout/widget-core';\n\nimport type {\n CommandConfiguratorCapabilitiesFilter,\n CommandConfiguratorListRow,\n} from './activity-command-configurator.types';\n\n//#endregion\n\n//#region ---- Query filters ----\n\nexport function buildCommandDefinitionListQueryFilter(\n executionMode?: 'frontend' | 'backend' | 'both',\n): AXDataSourceFilterOption | undefined {\n if (!executionMode) {\n return undefined;\n }\n\n return {\n logic: 'or',\n filters: [\n { field: 'executionMode', operator: { type: 'equal' }, value: executionMode },\n { field: 'executionMode', operator: { type: 'equal' }, value: 'both' },\n ],\n };\n}\n\nexport function buildActivityDefinitionListQueryFilter(\n executionMode?: 'frontend' | 'backend' | 'both',\n): AXDataSourceFilterOption | undefined {\n return buildCommandDefinitionListQueryFilter(executionMode);\n}\n\nexport function matchesCommandConfiguratorCapabilitiesFilter(\n row: Pick<CommandConfiguratorListRow, 'capabilities'>,\n filter: CommandConfiguratorCapabilitiesFilter | undefined,\n): boolean {\n const anyOf = filter?.anyOf?.filter(Boolean) ?? [];\n if (anyOf.length === 0) {\n return true;\n }\n\n const caps = row.capabilities ?? [];\n return anyOf.some((cap) => caps.includes(cap));\n}\n\n//#endregion\n\n//#region ---- Row mapping ----\n\nexport function mapPropertyDefinitionsToInputs(\n inputs: AXPPropertyDefinition[] | undefined,\n): AXPProperty[] {\n if (!inputs?.length) {\n return [];\n }\n\n return inputs.map((input) => ({\n name: input.name,\n title: input.title,\n description: input.description,\n dataType: input.dataType ?? 'string',\n validations: input.validations,\n interface: {\n type: input.interface.name,\n options: input.interface.options ?? {},\n },\n }));\n}\n\nexport function mapCommandDefinitionEntityRow(row: Record<string, unknown>): CommandConfiguratorListRow {\n return {\n id: String(row['id'] ?? row['name'] ?? ''),\n name: String(row['name'] ?? ''),\n title: typeof row['catalogTitle'] === 'string' ? row['catalogTitle'] : undefined,\n description: typeof row['description'] === 'string' ? row['description'] : undefined,\n icon: 'fa-light fa-server',\n inputs: mapPropertyDefinitionsToInputs(\n Array.isArray(row['inputOptionDefinitions'])\n ? (row['inputOptionDefinitions'] as AXPPropertyDefinition[])\n : undefined,\n ),\n capabilities: Array.isArray(row['capabilities'])\n ? (row['capabilities'] as CommandConfiguratorListRow['capabilities'])\n : undefined,\n active: row['active'] !== false,\n executionMode:\n row['executionMode'] === 'frontend' ||\n row['executionMode'] === 'backend' ||\n row['executionMode'] === 'both'\n ? row['executionMode']\n : undefined,\n };\n}\n\nexport function mapActivityDefinitionEntityRow(row: Record<string, unknown>): CommandConfiguratorListRow {\n const inputs = Array.isArray(row['inputs']) ? (row['inputs'] as AXPProperty[]) : undefined;\n\n return {\n id: String(row['id'] ?? row['name'] ?? ''),\n name: String(row['name'] ?? ''),\n title: typeof row['title'] === 'string' ? row['title'] : undefined,\n description: typeof row['description'] === 'string' ? row['description'] : undefined,\n icon: typeof row['icon'] === 'string' ? row['icon'] : 'fa-light fa-bolt',\n inputs,\n active: true,\n executionMode:\n row['executionMode'] === 'frontend' ||\n row['executionMode'] === 'backend' ||\n row['executionMode'] === 'both'\n ? row['executionMode']\n : undefined,\n };\n}\n\nexport function mapCommandInputsToWidgetProperties(\n inputs: AXPProperty[] | undefined,\n translation: AXTranslationService,\n): AXPWidgetProperty[] {\n const list = inputs ?? [];\n const group: AXPWidgetPropertyGroup = {\n name: 'command-inputs',\n title: '@workflow-management:automations.entities.automation.fields.command.title',\n order: 0,\n };\n\n return list.map((property, index) =>\n mapAXPPropertyToWidgetProperty(property, {\n group,\n order: index,\n valuePathPrefix: 'options',\n resolveTitle: (prop) =>\n typeof prop.title === 'string' ? prop.title : (translation.resolve(prop.title) ?? prop.name),\n resolveDescription: (prop) =>\n prop.description === undefined\n ? undefined\n : typeof prop.description === 'string'\n ? prop.description\n : translation.resolve(prop.description),\n }),\n );\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPItemConfiguratorComponent,\n ItemConfiguratorListItem,\n} from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport type { AXPActivityDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXPActivityDefinitionService } from '@acorex-platform/framework-client/workflow';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n untracked,\n} from '@angular/core';\nimport { isEqual } from 'lodash';\nimport type {\n ActivityCommandValue,\n CommandConfiguratorListRow,\n} from './activity-command-configurator.types';\nimport {\n buildActivityDefinitionListQueryFilter,\n buildCommandDefinitionListQueryFilter,\n mapActivityDefinitionEntityRow,\n mapCommandDefinitionEntityRow,\n mapCommandInputsToWidgetProperties,\n matchesCommandConfiguratorCapabilitiesFilter,\n} from './activity-command-configurator.utils';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Select a command/activity and configure its inputs via {@link AXPItemConfiguratorComponent}.\n * Entity-backed modes use the same reactive loading pattern as {@link AXMWorkflowConfiguratorComponent}.\n */\n@Component({\n selector: 'axm-activity-command-configurator',\n template: `\n <axp-item-configurator\n [(selectedItemId)]=\"selectedCommandKeyModel\"\n [(values)]=\"payloadModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"configuratorItems()\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex flex-col',\n '[attr.readonly]': 'readonly() ? \"\" : null',\n },\n styles: [\n `\n :host([readonly]) {\n pointer-events: none;\n opacity: 0.7;\n }\n `,\n ],\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMActivityCommandConfiguratorComponent {\n //#region ---- Inputs ----\n\n value = model<ActivityCommandValue>({ key: '', payload: {} });\n\n label = input<string>(\n '@workflow-management:automations.entities.automation.fields.command.title',\n );\n\n readonly = input<boolean>(false);\n\n executionModeFilter = input<'frontend' | 'backend' | 'both' | undefined>(\n undefined,\n );\n\n /**\n * - `default`: workflow toolbox activities (in-memory categories).\n * - `flat-query`: query `WorkflowManagement.ActivityDefinition` entity storage.\n * - `command-registry`: query persisted command catalog entity (default `PlatformManagement.CommandDefinition`).\n */\n loadStrategy = input<'default' | 'flat-query' | 'command-registry'>(\n 'default',\n );\n\n capabilitiesFilter = input<\n Array<'ai' | 'workflow' | 'background-job'> | undefined\n >(undefined);\n\n private static readonly COMMAND_DEFINITION_MODULE = 'PlatformManagement';\n private static readonly COMMAND_DEFINITION_ENTITY = 'CommandDefinition';\n\n //#endregion\n\n //#region ---- Services ----\n\n private readonly activityService = inject(AXPActivityDefinitionService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- State ----\n\n protected selectedCommandKeyModel = model<string>('');\n\n protected payloadModel = model<Record<string, unknown>>({});\n\n protected catalogRows = signal<CommandConfiguratorListRow[]>([]);\n\n protected configuratorItems = computed<ItemConfiguratorListItem[]>(() =>\n this.catalogRows().map((row) => ({\n id: row.name,\n title: (row.title ?? row.name) as ItemConfiguratorListItem['title'],\n icon: row.icon ?? 'fa-light fa-server',\n description: row.description as ItemConfiguratorListItem['description'],\n propertyDefinitions: mapCommandInputsToWidgetProperties(\n row.inputs,\n this.translation,\n ),\n })),\n );\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n constructor() {\n effect(() => {\n this.loadStrategy();\n this.executionModeFilter();\n this.capabilitiesFilter();\n untracked(() => {\n void this.loadCatalogRows();\n });\n });\n\n effect(() => {\n const v = this.value();\n const key = v.key?.trim() ?? '';\n const payload = v.payload ?? {};\n\n untracked(() => {\n if (this.selectedCommandKeyModel() !== key) {\n this.selectedCommandKeyModel.set(key);\n }\n if (!isEqual(this.payloadModel(), payload)) {\n this.payloadModel.set({ ...payload });\n }\n });\n });\n\n effect(() => {\n const key = this.selectedCommandKeyModel();\n const payload = this.payloadModel();\n const current = untracked(() => this.value());\n const row = untracked(() =>\n this.catalogRows().find((item) => item.name === key),\n );\n\n const next: ActivityCommandValue = {\n key,\n title: row?.title ?? row?.name ?? current.title,\n payload: { ...payload },\n };\n\n const normalizedCurrent: ActivityCommandValue = {\n key: current.key?.trim() ?? '',\n title: current.title,\n payload: current.payload ?? {},\n };\n\n if (!isEqual(next, normalizedCurrent)) {\n untracked(() => this.value.set(next));\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data loading ----\n\n private async loadCatalogRows(): Promise<void> {\n try {\n const strategy = this.loadStrategy();\n const modeFilter = this.executionModeFilter();\n const caps = this.capabilitiesFilter();\n const capabilityFilter =\n caps && caps.length > 0 ? { anyOf: caps } : undefined;\n const pinnedKey = this.value().key?.trim() ?? '';\n\n let rows: CommandConfiguratorListRow[] = [];\n\n switch (strategy) {\n case 'command-registry':\n rows = await this.queryCommandDefinitionRows(\n modeFilter,\n capabilityFilter,\n );\n break;\n case 'flat-query':\n rows = await this.queryActivityDefinitionRows(modeFilter);\n break;\n default:\n rows = await this.queryToolboxActivities(modeFilter);\n break;\n }\n\n rows = rows\n .filter((r) => !!r.name?.trim() && r.active !== false)\n .sort((a, b) => {\n const ta = (a.title ?? a.name).trim();\n const tb = (b.title ?? b.name).trim();\n return ta.localeCompare(tb, this.translation.getActiveLang(), {\n sensitivity: 'base',\n });\n });\n\n const hydrated = await Promise.all(\n rows.map((row) => this.hydrateCatalogRow(row, strategy)),\n );\n\n if (pinnedKey && !hydrated.some((r) => r.name === pinnedKey)) {\n const pinned = await this.loadPinnedRow(pinnedKey, strategy);\n if (pinned) {\n hydrated.unshift(pinned);\n }\n }\n\n this.catalogRows.set(hydrated);\n } catch {\n this.catalogRows.set([]);\n }\n }\n\n private async queryCommandDefinitionRows(\n executionMode?: 'frontend' | 'backend' | 'both',\n capabilityFilter?: { anyOf: Array<'ai' | 'workflow' | 'background-job'> },\n ): Promise<CommandConfiguratorListRow[]> {\n const page = await this.entityService\n .withEntity(\n AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE,\n AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY,\n )\n .data()\n .query({\n skip: 0,\n take: 5000,\n filter: buildCommandDefinitionListQueryFilter(executionMode),\n });\n\n return (page.items ?? [])\n .map((row) =>\n mapCommandDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n ),\n )\n .filter((row) =>\n matchesCommandConfiguratorCapabilitiesFilter(row, capabilityFilter),\n );\n }\n\n private async queryActivityDefinitionRows(\n executionMode?: 'frontend' | 'backend' | 'both',\n ): Promise<CommandConfiguratorListRow[]> {\n const page = await this.entityService\n .withEntity('WorkflowManagement', 'ActivityDefinition')\n .data()\n .query({\n skip: 0,\n take: 2000,\n filter: buildActivityDefinitionListQueryFilter(executionMode),\n });\n\n return (page.items ?? []).map((row) =>\n mapActivityDefinitionEntityRow(row as unknown as Record<string, unknown>),\n );\n }\n\n private async queryToolboxActivities(\n executionMode?: 'frontend' | 'backend' | 'both',\n ): Promise<CommandConfiguratorListRow[]> {\n let activities = await this.activityService.getAllActivities();\n if (executionMode) {\n activities = activities.filter(\n (item) =>\n item.executionMode === executionMode || item.executionMode === 'both',\n );\n }\n\n return activities.map((activity) => this.mapToolboxActivityRow(activity));\n }\n\n private mapToolboxActivityRow(\n activity: AXPActivityDefinition,\n ): CommandConfiguratorListRow {\n return {\n id: activity.name,\n name: activity.name,\n title:\n typeof activity.title === 'string' ? activity.title : activity.name,\n description:\n typeof activity.description === 'string'\n ? activity.description\n : undefined,\n icon: activity.icon ?? 'fa-light fa-bolt',\n inputs: activity.inputs,\n active: true,\n executionMode: activity.executionMode,\n };\n }\n\n private async hydrateCatalogRow(\n row: CommandConfiguratorListRow,\n strategy: 'default' | 'flat-query' | 'command-registry',\n ): Promise<CommandConfiguratorListRow> {\n if ((row.inputs?.length ?? 0) > 0 || strategy === 'default') {\n return row;\n }\n\n const id = row.id?.trim();\n if (!id) {\n return row;\n }\n\n try {\n const module =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE\n : 'WorkflowManagement';\n const entity =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY\n : 'ActivityDefinition';\n\n const full = (await this.entityService\n .withEntity(module, entity)\n .data()\n .byKey(id)) as Record<string, unknown> | null;\n\n if (!full) {\n return row;\n }\n\n const mapped =\n strategy === 'command-registry'\n ? mapCommandDefinitionEntityRow(full)\n : mapActivityDefinitionEntityRow(full);\n\n return { ...row, ...mapped, inputs: mapped.inputs ?? row.inputs };\n } catch {\n return row;\n }\n }\n\n private async loadPinnedRow(\n commandKey: string,\n strategy: 'default' | 'flat-query' | 'command-registry',\n ): Promise<CommandConfiguratorListRow | null> {\n if (strategy === 'default') {\n const activity = await this.activityService.getActivityByName(commandKey);\n return activity ? this.mapToolboxActivityRow(activity) : null;\n }\n\n try {\n const module =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE\n : 'WorkflowManagement';\n const entity =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY\n : 'ActivityDefinition';\n\n const page = await this.entityService\n .withEntity(module, entity)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'name',\n operator: { type: 'equal' },\n value: commandKey,\n },\n });\n\n const row = page.items?.[0];\n if (!row) {\n return null;\n }\n\n return strategy === 'command-registry'\n ? mapCommandDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n )\n : mapActivityDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n );\n } catch {\n return null;\n }\n }\n\n //#endregion\n}\n\nexport type { ActivityCommandValue } from './activity-command-configurator.types';\n\n//#endregion\n","//#region ---- Imports ----\r\r\n\r\r\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\r\r\nimport { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\r\r\nimport { isEqual } from 'lodash';\r\r\nimport {\r\r\n AXMActivityCommandConfiguratorComponent,\r\r\n} from './activity-command-configurator.component';\r\r\nimport type { ActivityCommandValue } from './activity-command-configurator.types';\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ---- Component ----\r\r\n\r\r\n@Component({\r\r\n selector: 'axm-activity-command-configurator-widget-edit',\r\r\n template: `\r\r\n @if (isInitialized()) {\r\r\n <axm-activity-command-configurator\r\r\n [(value)]=\"valueModel\"\r\r\n [label]=\"label()\"\r\r\n [readonly]=\"readonly()\"\r\r\n [loadStrategy]=\"loadStrategy()\"\r\r\n [executionModeFilter]=\"executionModeFilter()\"\r\r\n [capabilitiesFilter]=\"capabilitiesFilter()\"\r\r\n ></axm-activity-command-configurator>\r\r\n }\r\r\n `,\r\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\r\n imports: [AXMActivityCommandConfiguratorComponent],\r\r\n})\r\r\nexport class AXMActivityCommandConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<ActivityCommandValue> {\r\r\n protected readonly readonly = computed<boolean>(() => (this.options()['readonly'] as boolean) ?? false);\r\r\n protected label = computed<string>(() => (this.options()['label'] as string) || 'Activity');\r\r\n protected loadStrategy = computed<'default' | 'flat-query' | 'command-registry'>(() => {\r\r\n const value = this.options()['loadStrategy'];\r\r\n return value === 'flat-query' || value === 'command-registry' ? value : 'default';\r\r\n });\r\r\n protected executionModeFilter = computed<'frontend' | 'backend' | 'both' | undefined>(() => {\r\r\n const value = this.options()['executionModeFilter'];\r\r\n return value === 'frontend' || value === 'backend' || value === 'both' ? value : undefined;\r\r\n });\r\r\n protected capabilitiesFilter = computed<Array<'ai' | 'workflow' | 'background-job'> | undefined>(\r\r\n () => this.options()['capabilitiesFilter'] as Array<'ai' | 'workflow' | 'background-job'> | undefined,\r\r\n );\r\r\n\r\r\n protected isInitialized = signal(false);\r\r\n protected valueModel = model<ActivityCommandValue>({ key: '', payload: {} });\r\r\n\r\r\n private syncValueToConfigurator = effect(() => {\r\r\n const value = this.getValue() ?? { key: '', payload: {} };\r\r\n const currentModel = untracked(() => this.valueModel());\r\r\n\r\r\n if (!isEqual(value, currentModel)) {\r\r\n untracked(() => {\r\r\n this.valueModel.set({\r\r\n key: value.key ?? '',\r\r\n title: value.title,\r\r\n payload: value.payload ?? {},\r\r\n });\r\r\n });\r\r\n }\r\r\n\r\r\n untracked(() => {\r\r\n if (!this.isInitialized()) {\r\r\n this.isInitialized.set(true);\r\r\n }\r\r\n });\r\r\n });\r\r\n\r\r\n private syncConfiguratorToValue = effect(() => {\r\r\n const modelValue = this.valueModel();\r\r\n\r\r\n if (!untracked(() => this.isInitialized())) return;\r\r\n\r\r\n const currentValue = untracked(() => this.getValue() ?? { key: '', payload: {} });\r\r\n\r\r\n if (!isEqual(modelValue, currentValue)) {\r\r\n untracked(() => {\r\r\n this.setValue(modelValue ?? { key: '', payload: {} });\r\r\n });\r\r\n }\r\r\n });\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-workflow-management-client-activity-command-configurator-widget-edit.component-C4nMV2f5.mjs","sources":["../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator.utils.ts","../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator.component.ts","../../../../libs/modules/workflow-management/client/src/lib/features/activity-command-configurator/activity-command-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPProperty } from '@acorex-platform/framework-shared/core';\nimport type { AXPPropertyDefinition } from '@acorex-platform/framework-shared/domain';\nimport type { AXPWidgetProperty, AXPWidgetPropertyGroup } from '@acorex-platform/framework-shared/widget-core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { mapAXPPropertyToWidgetProperty } from '@acorex-platform/framework-client/layout/widget-core';\n\nimport type {\n CommandConfiguratorCapabilitiesFilter,\n CommandConfiguratorListRow,\n} from './activity-command-configurator.types';\n\n//#endregion\n\n//#region ---- Query filters ----\n\nexport function buildCommandDefinitionListQueryFilter(\n executionMode?: 'frontend' | 'backend' | 'both',\n): AXDataSourceFilterOption | undefined {\n if (!executionMode) {\n return undefined;\n }\n\n return {\n logic: 'or',\n filters: [\n { field: 'executionMode', operator: { type: 'equal' }, value: executionMode },\n { field: 'executionMode', operator: { type: 'equal' }, value: 'both' },\n ],\n };\n}\n\nexport function buildActivityDefinitionListQueryFilter(\n executionMode?: 'frontend' | 'backend' | 'both',\n): AXDataSourceFilterOption | undefined {\n return buildCommandDefinitionListQueryFilter(executionMode);\n}\n\nexport function matchesCommandConfiguratorCapabilitiesFilter(\n row: Pick<CommandConfiguratorListRow, 'capabilities'>,\n filter: CommandConfiguratorCapabilitiesFilter | undefined,\n): boolean {\n const anyOf = filter?.anyOf?.filter(Boolean) ?? [];\n if (anyOf.length === 0) {\n return true;\n }\n\n const caps = row.capabilities ?? [];\n return anyOf.some((cap) => caps.includes(cap));\n}\n\n//#endregion\n\n//#region ---- Row mapping ----\n\nexport function mapPropertyDefinitionsToInputs(\n inputs: AXPPropertyDefinition[] | undefined,\n): AXPProperty[] {\n if (!inputs?.length) {\n return [];\n }\n\n return inputs.map((input) => ({\n name: input.name,\n title: input.title,\n description: input.description,\n dataType: input.dataType ?? 'string',\n validations: input.validations,\n interface: {\n type: input.interface.name,\n options: input.interface.options ?? {},\n },\n }));\n}\n\nexport function mapCommandDefinitionEntityRow(row: Record<string, unknown>): CommandConfiguratorListRow {\n return {\n id: String(row['id'] ?? row['name'] ?? ''),\n name: String(row['name'] ?? ''),\n title: typeof row['catalogTitle'] === 'string' ? row['catalogTitle'] : undefined,\n description: typeof row['description'] === 'string' ? row['description'] : undefined,\n icon: 'fa-light fa-server',\n inputs: mapPropertyDefinitionsToInputs(\n Array.isArray(row['inputOptionDefinitions'])\n ? (row['inputOptionDefinitions'] as AXPPropertyDefinition[])\n : undefined,\n ),\n capabilities: Array.isArray(row['capabilities'])\n ? (row['capabilities'] as CommandConfiguratorListRow['capabilities'])\n : undefined,\n active: row['active'] !== false,\n executionMode:\n row['executionMode'] === 'frontend' ||\n row['executionMode'] === 'backend' ||\n row['executionMode'] === 'both'\n ? row['executionMode']\n : undefined,\n };\n}\n\nexport function mapActivityDefinitionEntityRow(row: Record<string, unknown>): CommandConfiguratorListRow {\n const inputs = Array.isArray(row['inputs']) ? (row['inputs'] as AXPProperty[]) : undefined;\n\n return {\n id: String(row['id'] ?? row['name'] ?? ''),\n name: String(row['name'] ?? ''),\n title: typeof row['title'] === 'string' ? row['title'] : undefined,\n description: typeof row['description'] === 'string' ? row['description'] : undefined,\n icon: typeof row['icon'] === 'string' ? row['icon'] : 'fa-light fa-bolt',\n inputs,\n active: true,\n executionMode:\n row['executionMode'] === 'frontend' ||\n row['executionMode'] === 'backend' ||\n row['executionMode'] === 'both'\n ? row['executionMode']\n : undefined,\n };\n}\n\nexport function mapCommandInputsToWidgetProperties(\n inputs: AXPProperty[] | undefined,\n translation: AXTranslationService,\n): AXPWidgetProperty[] {\n const list = inputs ?? [];\n const group: AXPWidgetPropertyGroup = {\n name: 'command-inputs',\n title: '@workflow-management:automations.entities.automation.fields.command.title',\n order: 0,\n };\n\n return list.map((property, index) =>\n mapAXPPropertyToWidgetProperty(property, {\n group,\n order: index,\n valuePathPrefix: 'options',\n resolveTitle: (prop) =>\n typeof prop.title === 'string' ? prop.title : (translation.resolve(prop.title) ?? prop.name),\n resolveDescription: (prop) =>\n prop.description === undefined\n ? undefined\n : typeof prop.description === 'string'\n ? prop.description\n : translation.resolve(prop.description),\n }),\n );\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPItemConfiguratorComponent,\n ItemConfiguratorListItem,\n} from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport type { AXPActivityDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXPActivityDefinitionService } from '@acorex-platform/framework-client/workflow';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n untracked,\n} from '@angular/core';\nimport { isEqual } from 'lodash';\nimport type {\n ActivityCommandValue,\n CommandConfiguratorListRow,\n} from './activity-command-configurator.types';\nimport {\n buildActivityDefinitionListQueryFilter,\n buildCommandDefinitionListQueryFilter,\n mapActivityDefinitionEntityRow,\n mapCommandDefinitionEntityRow,\n mapCommandInputsToWidgetProperties,\n matchesCommandConfiguratorCapabilitiesFilter,\n} from './activity-command-configurator.utils';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Select a command/activity and configure its inputs via {@link AXPItemConfiguratorComponent}.\n * Entity-backed modes use the same reactive loading pattern as {@link AXMWorkflowConfiguratorComponent}.\n */\n@Component({\n selector: 'axm-activity-command-configurator',\n template: `\n <axp-item-configurator\n [(selectedItemId)]=\"selectedCommandKeyModel\"\n [(values)]=\"payloadModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"configuratorItems()\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex flex-col',\n '[attr.readonly]': 'readonly() ? \"\" : null',\n },\n styles: [\n `\n :host([readonly]) {\n pointer-events: none;\n opacity: 0.7;\n }\n `,\n ],\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMActivityCommandConfiguratorComponent {\n //#region ---- Inputs ----\n\n value = model<ActivityCommandValue>({ key: '', payload: {} });\n\n label = input<string>(\n '@workflow-management:automations.entities.automation.fields.command.title',\n );\n\n readonly = input<boolean>(false);\n\n executionModeFilter = input<'frontend' | 'backend' | 'both' | undefined>(\n undefined,\n );\n\n /**\n * - `default`: workflow toolbox activities (in-memory categories).\n * - `flat-query`: query `WorkflowManagement.ActivityDefinition` entity storage.\n * - `command-registry`: query persisted command catalog entity (default `PlatformManagement.CommandDefinition`).\n */\n loadStrategy = input<'default' | 'flat-query' | 'command-registry'>(\n 'default',\n );\n\n capabilitiesFilter = input<\n Array<'ai' | 'workflow' | 'background-job'> | undefined\n >(undefined);\n\n private static readonly COMMAND_DEFINITION_MODULE = 'PlatformManagement';\n private static readonly COMMAND_DEFINITION_ENTITY = 'CommandDefinition';\n\n //#endregion\n\n //#region ---- Services ----\n\n private readonly activityService = inject(AXPActivityDefinitionService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- State ----\n\n protected selectedCommandKeyModel = model<string>('');\n\n protected payloadModel = model<Record<string, unknown>>({});\n\n protected catalogRows = signal<CommandConfiguratorListRow[]>([]);\n\n protected configuratorItems = computed<ItemConfiguratorListItem[]>(() =>\n this.catalogRows().map((row) => ({\n id: row.name,\n title: (row.title ?? row.name) as ItemConfiguratorListItem['title'],\n icon: row.icon ?? 'fa-light fa-server',\n description: row.description as ItemConfiguratorListItem['description'],\n propertyDefinitions: mapCommandInputsToWidgetProperties(\n row.inputs,\n this.translation,\n ),\n })),\n );\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n constructor() {\n effect(() => {\n this.loadStrategy();\n this.executionModeFilter();\n this.capabilitiesFilter();\n untracked(() => {\n void this.loadCatalogRows();\n });\n });\n\n effect(() => {\n const v = this.value();\n const key = v.key?.trim() ?? '';\n const payload = v.payload ?? {};\n\n untracked(() => {\n if (this.selectedCommandKeyModel() !== key) {\n this.selectedCommandKeyModel.set(key);\n }\n if (!isEqual(this.payloadModel(), payload)) {\n this.payloadModel.set({ ...payload });\n }\n });\n });\n\n effect(() => {\n const key = this.selectedCommandKeyModel();\n const payload = this.payloadModel();\n const current = untracked(() => this.value());\n const row = untracked(() =>\n this.catalogRows().find((item) => item.name === key),\n );\n\n const next: ActivityCommandValue = {\n key,\n title: row?.title ?? row?.name ?? current.title,\n payload: { ...payload },\n };\n\n const normalizedCurrent: ActivityCommandValue = {\n key: current.key?.trim() ?? '',\n title: current.title,\n payload: current.payload ?? {},\n };\n\n if (!isEqual(next, normalizedCurrent)) {\n untracked(() => this.value.set(next));\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data loading ----\n\n private async loadCatalogRows(): Promise<void> {\n try {\n const strategy = this.loadStrategy();\n const modeFilter = this.executionModeFilter();\n const caps = this.capabilitiesFilter();\n const capabilityFilter =\n caps && caps.length > 0 ? { anyOf: caps } : undefined;\n const pinnedKey = this.value().key?.trim() ?? '';\n\n let rows: CommandConfiguratorListRow[] = [];\n\n switch (strategy) {\n case 'command-registry':\n rows = await this.queryCommandDefinitionRows(\n modeFilter,\n capabilityFilter,\n );\n break;\n case 'flat-query':\n rows = await this.queryActivityDefinitionRows(modeFilter);\n break;\n default:\n rows = await this.queryToolboxActivities(modeFilter);\n break;\n }\n\n rows = rows\n .filter((r) => !!r.name?.trim() && r.active !== false)\n .sort((a, b) => {\n const ta = (a.title ?? a.name).trim();\n const tb = (b.title ?? b.name).trim();\n return ta.localeCompare(tb, this.translation.getActiveLang(), {\n sensitivity: 'base',\n });\n });\n\n const hydrated = await Promise.all(\n rows.map((row) => this.hydrateCatalogRow(row, strategy)),\n );\n\n if (pinnedKey && !hydrated.some((r) => r.name === pinnedKey)) {\n const pinned = await this.loadPinnedRow(pinnedKey, strategy);\n if (pinned) {\n hydrated.unshift(pinned);\n }\n }\n\n this.catalogRows.set(hydrated);\n } catch {\n this.catalogRows.set([]);\n }\n }\n\n private async queryCommandDefinitionRows(\n executionMode?: 'frontend' | 'backend' | 'both',\n capabilityFilter?: { anyOf: Array<'ai' | 'workflow' | 'background-job'> },\n ): Promise<CommandConfiguratorListRow[]> {\n const page = await this.entityService\n .withEntity(\n AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE,\n AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY,\n )\n .data()\n .query({\n skip: 0,\n take: 5000,\n filter: buildCommandDefinitionListQueryFilter(executionMode),\n });\n\n return (page.items ?? [])\n .map((row) =>\n mapCommandDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n ),\n )\n .filter((row) =>\n matchesCommandConfiguratorCapabilitiesFilter(row, capabilityFilter),\n );\n }\n\n private async queryActivityDefinitionRows(\n executionMode?: 'frontend' | 'backend' | 'both',\n ): Promise<CommandConfiguratorListRow[]> {\n const page = await this.entityService\n .withEntity('WorkflowManagement', 'ActivityDefinition')\n .data()\n .query({\n skip: 0,\n take: 2000,\n filter: buildActivityDefinitionListQueryFilter(executionMode),\n });\n\n return (page.items ?? []).map((row) =>\n mapActivityDefinitionEntityRow(row as unknown as Record<string, unknown>),\n );\n }\n\n private async queryToolboxActivities(\n executionMode?: 'frontend' | 'backend' | 'both',\n ): Promise<CommandConfiguratorListRow[]> {\n let activities = await this.activityService.getAllActivities();\n if (executionMode) {\n activities = activities.filter(\n (item) =>\n item.executionMode === executionMode || item.executionMode === 'both',\n );\n }\n\n return activities.map((activity) => this.mapToolboxActivityRow(activity));\n }\n\n private mapToolboxActivityRow(\n activity: AXPActivityDefinition,\n ): CommandConfiguratorListRow {\n return {\n id: activity.name,\n name: activity.name,\n title:\n typeof activity.title === 'string' ? activity.title : activity.name,\n description:\n typeof activity.description === 'string'\n ? activity.description\n : undefined,\n icon: activity.icon ?? 'fa-light fa-bolt',\n inputs: activity.inputs,\n active: true,\n executionMode: activity.executionMode,\n };\n }\n\n private async hydrateCatalogRow(\n row: CommandConfiguratorListRow,\n strategy: 'default' | 'flat-query' | 'command-registry',\n ): Promise<CommandConfiguratorListRow> {\n if ((row.inputs?.length ?? 0) > 0 || strategy === 'default') {\n return row;\n }\n\n const id = row.id?.trim();\n if (!id) {\n return row;\n }\n\n try {\n const module =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE\n : 'WorkflowManagement';\n const entity =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY\n : 'ActivityDefinition';\n\n const full = (await this.entityService\n .withEntity(module, entity)\n .data()\n .byKey(id)) as Record<string, unknown> | null;\n\n if (!full) {\n return row;\n }\n\n const mapped =\n strategy === 'command-registry'\n ? mapCommandDefinitionEntityRow(full)\n : mapActivityDefinitionEntityRow(full);\n\n return { ...row, ...mapped, inputs: mapped.inputs ?? row.inputs };\n } catch {\n return row;\n }\n }\n\n private async loadPinnedRow(\n commandKey: string,\n strategy: 'default' | 'flat-query' | 'command-registry',\n ): Promise<CommandConfiguratorListRow | null> {\n if (strategy === 'default') {\n const activity = await this.activityService.getActivityByName(commandKey);\n return activity ? this.mapToolboxActivityRow(activity) : null;\n }\n\n try {\n const module =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_MODULE\n : 'WorkflowManagement';\n const entity =\n strategy === 'command-registry'\n ? AXMActivityCommandConfiguratorComponent.COMMAND_DEFINITION_ENTITY\n : 'ActivityDefinition';\n\n const page = await this.entityService\n .withEntity(module, entity)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'name',\n operator: { type: 'equal' },\n value: commandKey,\n },\n });\n\n const row = page.items?.[0];\n if (!row) {\n return null;\n }\n\n return strategy === 'command-registry'\n ? mapCommandDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n )\n : mapActivityDefinitionEntityRow(\n row as unknown as Record<string, unknown>,\n );\n } catch {\n return null;\n }\n }\n\n //#endregion\n}\n\nexport type { ActivityCommandValue } from './activity-command-configurator.types';\n\n//#endregion\n","//#region ---- Imports ----\r\r\n\r\r\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\r\r\nimport { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\r\r\nimport { isEqual } from 'lodash';\r\r\nimport {\r\r\n AXMActivityCommandConfiguratorComponent,\r\r\n} from './activity-command-configurator.component';\r\r\nimport type { ActivityCommandValue } from './activity-command-configurator.types';\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ---- Component ----\r\r\n\r\r\n@Component({\r\r\n selector: 'axm-activity-command-configurator-widget-edit',\r\r\n template: `\r\r\n @if (isInitialized()) {\r\r\n <axm-activity-command-configurator\r\r\n [(value)]=\"valueModel\"\r\r\n [label]=\"label()\"\r\r\n [readonly]=\"readonly()\"\r\r\n [loadStrategy]=\"loadStrategy()\"\r\r\n [executionModeFilter]=\"executionModeFilter()\"\r\r\n [capabilitiesFilter]=\"capabilitiesFilter()\"\r\r\n ></axm-activity-command-configurator>\r\r\n }\r\r\n `,\r\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\r\n imports: [AXMActivityCommandConfiguratorComponent],\r\r\n})\r\r\nexport class AXMActivityCommandConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<ActivityCommandValue> {\r\r\n protected readonly readonly = computed<boolean>(() => (this.options()['readonly'] as boolean) ?? false);\r\r\n protected label = computed<string>(() => (this.options()['label'] as string) || 'Activity');\r\r\n protected loadStrategy = computed<'default' | 'flat-query' | 'command-registry'>(() => {\r\r\n const value = this.options()['loadStrategy'];\r\r\n return value === 'flat-query' || value === 'command-registry' ? value : 'default';\r\r\n });\r\r\n protected executionModeFilter = computed<'frontend' | 'backend' | 'both' | undefined>(() => {\r\r\n const value = this.options()['executionModeFilter'];\r\r\n return value === 'frontend' || value === 'backend' || value === 'both' ? value : undefined;\r\r\n });\r\r\n protected capabilitiesFilter = computed<Array<'ai' | 'workflow' | 'background-job'> | undefined>(\r\r\n () => this.options()['capabilitiesFilter'] as Array<'ai' | 'workflow' | 'background-job'> | undefined,\r\r\n );\r\r\n\r\r\n protected isInitialized = signal(false);\r\r\n protected valueModel = model<ActivityCommandValue>({ key: '', payload: {} });\r\r\n\r\r\n private syncValueToConfigurator = effect(() => {\r\r\n const value = this.getValue() ?? { key: '', payload: {} };\r\r\n const currentModel = untracked(() => this.valueModel());\r\r\n\r\r\n if (!isEqual(value, currentModel)) {\r\r\n untracked(() => {\r\r\n this.valueModel.set({\r\r\n key: value.key ?? '',\r\r\n title: value.title,\r\r\n payload: value.payload ?? {},\r\r\n });\r\r\n });\r\r\n }\r\r\n\r\r\n untracked(() => {\r\r\n if (!this.isInitialized()) {\r\r\n this.isInitialized.set(true);\r\r\n }\r\r\n });\r\r\n });\r\r\n\r\r\n private syncConfiguratorToValue = effect(() => {\r\r\n const modelValue = this.valueModel();\r\r\n\r\r\n if (!untracked(() => this.isInitialized())) return;\r\r\n\r\r\n const currentValue = untracked(() => this.getValue() ?? { key: '', payload: {} });\r\r\n\r\r\n if (!isEqual(modelValue, currentValue)) {\r\r\n untracked(() => {\r\r\n this.setValue(modelValue ?? { key: '', payload: {} });\r\r\n });\r\r\n }\r\r\n });\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { AXPSessionService } from '@acorex-platform/framework-client/auth';
8
8
  import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
9
9
  import { AXPWorkflowManager, AXP_WORKFLOW_ENGINE } from '@acorex-platform/framework-client/workflow';
10
10
  import { get, isString } from 'lodash';
11
- import { A as AXPWorkflowInstanceHumanTaskService, c as createWorkflowInstanceBookmarkAccess, i as isWorkflowPooledClaimablePayload, n as normalizeWorkflowTaskUserIds } from './acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-BcOBHoOK.mjs';
11
+ import { A as AXPWorkflowInstanceHumanTaskService, c as createWorkflowInstanceBookmarkAccess, i as isWorkflowPooledClaimablePayload, n as normalizeWorkflowTaskUserIds } from './acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-DfHDYcB1.mjs';
12
12
  import { AXPopupService } from '@acorex/components/popup';
13
13
  import { AXPDialogOpener } from '@acorex-platform/framework-client/core';
14
14
 
@@ -351,7 +351,7 @@ class ShowWorkflowRunHistoryCommand {
351
351
  };
352
352
  }
353
353
  await this.dialogOpener.openPopup({
354
- load: () => import('./acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CHVdaY4M.mjs').then((module) => module.AXMWorkflowRunHistoryPopupComponent),
354
+ load: () => import('./acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-CLZjVnAC.mjs').then((module) => module.AXMWorkflowRunHistoryPopupComponent),
355
355
  data: { instanceId },
356
356
  show: (component) => this.popupService.open(component, {
357
357
  title: '',
@@ -419,4 +419,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
419
419
  //#endregion
420
420
 
421
421
  export { CancelWorkflowRunCommand, ContinueWorkflowRunCommand, ShowWorkflowRunHistoryCommand, TakeOverWorkflowRunCommand };
422
- //# sourceMappingURL=acorex-platform-module-workflow-management-client-index-Bx8vYkYe.mjs.map
422
+ //# sourceMappingURL=acorex-platform-module-workflow-management-client-index-DUPFLctp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-workflow-management-client-index-Bx8vYkYe.mjs","sources":["../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/workflow-run-action.service.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/cancel-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/continue-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/show-workflow-run-history.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/take-over-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/index.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { getRecordWorkflowInstanceId } from '@acorex-platform/framework-shared/entity';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXP_WORKFLOW_ENGINE,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n} from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXToastService } from '@acorex/components/toast';\nimport { get, isString } from 'lodash';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '@acorex-platform/module-workflow-management-client/contracts';\nimport {\n createWorkflowInstanceBookmarkAccess,\n HumanTaskBookmarkPayload,\n WorkflowInstanceBookmarkRow,\n} from '../task-provider/workflow-instance-bookmark.access';\nimport { AXPWorkflowInstanceHumanTaskService } from '../task-provider/workflow-instance-human-task.service';\nimport {\n isWorkflowPooledClaimablePayload,\n normalizeWorkflowTaskUserIds,\n} from '../task-provider/workflow-task-continuation';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXPWorkflowRunSuspendedHumanTask {\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel;\n bookmark: WorkflowInstanceBookmarkRow;\n payload: HumanTaskBookmarkPayload;\n}\n\nexport interface AXPWorkflowRunCancelParams {\n instanceId: string;\n entitySource?: string;\n recordId?: string;\n reason?: string;\n statusField?: string;\n cancelledStatusId?: string;\n}\n\n//#endregion\n\n//#region ---- Service ----\n\n/**\n * Resolves workflow run operations for workflow-run plugin list rows.\n * Delegates resume/take-over to {@link AXPWorkflowInstanceHumanTaskService} (same as task board).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPWorkflowRunActionService {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly humanTaskService = inject(AXPWorkflowInstanceHumanTaskService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE, { optional: true }) as AXPWorkflowEngine | null;\n private readonly bookmarkAccess = createWorkflowInstanceBookmarkAccess();\n\n //#endregion\n\n //#region ---- Instance resolution ----\n\n /** Reads workflow instance id from a domain list row or command payload. */\n resolveInstanceId(record: unknown): string | null {\n if (!record || typeof record !== 'object') {\n return null;\n }\n const fromWorkflowInfo = getRecordWorkflowInstanceId(\n record as { workflowInfo?: { instanceId?: string | null } },\n );\n if (fromWorkflowInfo) {\n return fromWorkflowInfo;\n }\n const direct = get(record as Record<string, unknown>, 'instanceId');\n if (typeof direct === 'string' && direct.trim().length > 0) {\n return direct.trim();\n }\n return null;\n }\n\n /**\n * Finds the primary suspended human-task bookmark for continue / take-over.\n * Prefers task-board human-task and cartable bookmarks.\n */\n async findPrimarySuspendedHumanTask(instanceId: string): Promise<AXPWorkflowRunSuspendedHumanTask | null> {\n const trimmed = instanceId?.trim();\n if (!trimmed) {\n return null;\n }\n\n const instance = await this.bookmarkAccess.loadInstanceForContinuation(trimmed);\n if (!instance || instance.subStatus !== 'Suspended') {\n return null;\n }\n\n const active = this.bookmarkAccess.getActiveBookmarks(instance);\n for (const bookmark of active) {\n const payload = this.bookmarkAccess.parseHumanTaskPayload(bookmark);\n if (!payload?.taskToken || !this.isTaskBoardHumanPayload(payload)) {\n continue;\n }\n return { instance, bookmark, payload };\n }\n\n return null;\n }\n\n //#endregion\n\n //#region ---- Run operations ----\n\n /** Runs the primary human-task action on the current suspended step (e.g. open questionnaire). */\n async continueRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const payload = task.payload;\n if (isWorkflowPooledClaimablePayload(payload)) {\n return this.continuePooledHumanTask(instanceId, task);\n }\n\n const outcome = this.humanTaskService.resolvePrimaryTaskOutcome(payload);\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n const currentUserId = this.sessionService.user?.id;\n if (\n currentUserId &&\n assigned.length > 0 &&\n !assigned.includes(String(currentUserId)) &&\n (outcome === 'approve' || outcome === 'reject')\n ) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.awaiting-approver',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_ASSIGNEE' as const, message: content };\n }\n\n const result = await this.humanTaskService.executePrimaryHumanTaskAction(instanceId, task.bookmark.activityId, {\n suppressContinuation: true,\n notifyViews: true,\n });\n\n if (!result?.success) {\n return {\n success: false as const,\n error: 'RESUME_FAILED' as const,\n message: result?.error,\n };\n }\n\n return { success: true as const };\n }\n\n /**\n * Pooled cartable / human-task steps must be claimed before approve/reject.\n * Claims for the current user when they are a candidate, then directs them to the task board.\n */\n private async continuePooledHumanTask(\n instanceId: string,\n task: AXPWorkflowRunSuspendedHumanTask,\n ): Promise<\n | { success: true }\n | { success: false; error: 'NOT_CANDIDATE' | 'CLAIM_FAILED' | 'RESUME_FAILED'; message?: string }\n > {\n const currentUserId = this.sessionService.user?.id;\n const candidates = normalizeWorkflowTaskUserIds(task.payload.candidateUserIds);\n if (!currentUserId || !candidates.includes(String(currentUserId))) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:tasks.errors.not-assignee',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_CANDIDATE' as const, message: content };\n }\n\n const claimResult = await this.workflowManager.claimTask(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n if (!claimResult.success) {\n return {\n success: false as const,\n error: 'CLAIM_FAILED' as const,\n message: claimResult.error,\n };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.use-task-board',\n );\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content,\n closeButton: true,\n });\n return { success: true as const };\n }\n\n /** Take over the current suspended human-task bookmark without advancing the workflow. */\n async takeOverRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUserWithConfirm(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n\n if (!reassigned) {\n return { success: false as const, error: 'REASSIGN_FAILED' as const };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true as const };\n }\n\n /** Cancels a workflow instance and optionally marks the linked domain row as cancelled. */\n async cancelRun(params: AXPWorkflowRunCancelParams): Promise<{ success: boolean }> {\n const instanceId = params.instanceId?.trim();\n if (!instanceId) {\n return { success: false };\n }\n\n const engine = this.workflowEngine;\n if (engine?.cancelInstance) {\n await engine.cancelInstance(instanceId, params.reason?.trim() || 'cancelled-by-user');\n } else {\n const now = new Date().toISOString();\n await this.entityService.withEntity('WorkflowManagement', 'WorkflowInstance').data().update(instanceId, {\n status: 'Finished',\n subStatus: 'Cancelled',\n finishedAt: now,\n updatedAt: now,\n } as never);\n }\n\n const recordId = params.recordId?.trim();\n const entitySource = params.entitySource?.trim();\n if (recordId && entitySource) {\n const [moduleName, entityName] = entitySource.split('.');\n if (moduleName && entityName) {\n const statusField = params.statusField?.trim() || 'statusId';\n const cancelledStatus = params.cancelledStatusId?.trim() || 'cancelled';\n await this.entityService.withEntity(moduleName, entityName).data().update(recordId, {\n [statusField]: cancelledStatus,\n ...(params.reason ? { notes: params.reason } : {}),\n } as never);\n }\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private isTaskBoardHumanPayload(payload: HumanTaskBookmarkPayload): boolean {\n const activityType = payload.activityType;\n return activityType === 'workflow-activity:human-task' || activityType === 'workflow-activity:cartable';\n }\n\n /** Parses `Module.Entity` and record id from flat command input. */\n parseCommandRecordContext(input: {\n entity?: string;\n entityInfo?: { source?: string; module?: string; name?: string };\n data?: unknown;\n }): { entitySource: string | null; recordId: string | null; instanceId: string | null } {\n const ctx = input;\n const data = ctx?.data;\n const entitySource =\n ctx?.entityInfo?.source?.trim() ||\n ctx?.entity?.trim() ||\n (ctx?.entityInfo?.module && ctx?.entityInfo?.name\n ? `${ctx.entityInfo.module}.${ctx.entityInfo.name}`\n : null);\n\n const recordId =\n data && typeof data === 'object' && isString(get(data, 'id'))\n ? String(get(data, 'id')).trim()\n : null;\n\n return {\n entitySource,\n recordId,\n instanceId: this.resolveInstanceId(data),\n };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Cancels a workflow run and marks the linked domain row as cancelled when applicable. */\n@Injectable({ providedIn: 'root' })\nexport class CancelWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly dialogService = inject(AXDialogService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId, entitySource, recordId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const title = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.title',\n );\n const message = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.message',\n );\n const confirmed = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n if (!confirmed.result) {\n return { success: false };\n }\n\n const reason = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-note',\n );\n\n const result = await this.runActionService.cancelRun({\n instanceId,\n entitySource: entitySource ?? undefined,\n recordId: recordId ?? undefined,\n reason,\n });\n\n if (!result.success) {\n return { success: false, message: { text: 'Could not cancel the workflow run.' } };\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-success',\n ),\n closeButton: true,\n timeOut: 3000,\n });\n\n return { success: true, kind: 'object', data: undefined };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Continues the current suspended human-task step for a workflow-backed domain row. */\n@Injectable({ providedIn: 'root' })\nexport class ContinueWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.continueRun(instanceId);\n if (result.success) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n if (result.message) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.message,\n closeButton: true,\n });\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPDialogOpener } from '@acorex-platform/framework-client/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Opens the workflow run history popup (timeline + disabled visual tab) for a domain list row. */\n@Injectable({ providedIn: 'root' })\nexport class ShowWorkflowRunHistoryCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n private readonly dialogOpener = inject(AXPDialogOpener);\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.history.messages.no-instance',\n ),\n },\n };\n }\n\n await this.dialogOpener.openPopup({\n load: () =>\n import('../components/workflow-run-history-popup/workflow-run-history-popup.component').then(\n (module) => module.AXMWorkflowRunHistoryPopupComponent,\n ),\n data: { instanceId },\n show: (component) =>\n this.popupService.open(component, {\n title: '',\n size: 'lg',\n data: { instanceId },\n }),\n });\n\n return {\n success: true,\n kind: 'object',\n data: undefined,\n metadata: { refresh: false },\n };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Reassigns the current suspended human-task to the current user (take over). */\n@Injectable({ providedIn: 'root' })\nexport class TakeOverWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.takeOverRun(instanceId);\n if (result.success) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Exports ----\n\nexport { CancelWorkflowRunCommand } from './cancel-workflow-run.command';\nexport { ContinueWorkflowRunCommand } from './continue-workflow-run.command';\nexport { ShowWorkflowRunHistoryCommand } from './show-workflow-run-history.command';\nexport { TakeOverWorkflowRunCommand } from './take-over-workflow-run.command';\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-workflow-management-client-index-DUPFLctp.mjs","sources":["../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/workflow-run-action.service.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/cancel-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/continue-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/show-workflow-run-history.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/take-over-workflow-run.command.ts","../../../../libs/modules/workflow-management/client/src/lib/features/workflow-run-plugin/commands/index.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { getRecordWorkflowInstanceId } from '@acorex-platform/framework-shared/entity';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXP_WORKFLOW_ENGINE,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n} from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXToastService } from '@acorex/components/toast';\nimport { get, isString } from 'lodash';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '@acorex-platform/module-workflow-management-client/contracts';\nimport {\n createWorkflowInstanceBookmarkAccess,\n HumanTaskBookmarkPayload,\n WorkflowInstanceBookmarkRow,\n} from '../task-provider/workflow-instance-bookmark.access';\nimport { AXPWorkflowInstanceHumanTaskService } from '../task-provider/workflow-instance-human-task.service';\nimport {\n isWorkflowPooledClaimablePayload,\n normalizeWorkflowTaskUserIds,\n} from '../task-provider/workflow-task-continuation';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXPWorkflowRunSuspendedHumanTask {\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel;\n bookmark: WorkflowInstanceBookmarkRow;\n payload: HumanTaskBookmarkPayload;\n}\n\nexport interface AXPWorkflowRunCancelParams {\n instanceId: string;\n entitySource?: string;\n recordId?: string;\n reason?: string;\n statusField?: string;\n cancelledStatusId?: string;\n}\n\n//#endregion\n\n//#region ---- Service ----\n\n/**\n * Resolves workflow run operations for workflow-run plugin list rows.\n * Delegates resume/take-over to {@link AXPWorkflowInstanceHumanTaskService} (same as task board).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPWorkflowRunActionService {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly humanTaskService = inject(AXPWorkflowInstanceHumanTaskService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE, { optional: true }) as AXPWorkflowEngine | null;\n private readonly bookmarkAccess = createWorkflowInstanceBookmarkAccess();\n\n //#endregion\n\n //#region ---- Instance resolution ----\n\n /** Reads workflow instance id from a domain list row or command payload. */\n resolveInstanceId(record: unknown): string | null {\n if (!record || typeof record !== 'object') {\n return null;\n }\n const fromWorkflowInfo = getRecordWorkflowInstanceId(\n record as { workflowInfo?: { instanceId?: string | null } },\n );\n if (fromWorkflowInfo) {\n return fromWorkflowInfo;\n }\n const direct = get(record as Record<string, unknown>, 'instanceId');\n if (typeof direct === 'string' && direct.trim().length > 0) {\n return direct.trim();\n }\n return null;\n }\n\n /**\n * Finds the primary suspended human-task bookmark for continue / take-over.\n * Prefers task-board human-task and cartable bookmarks.\n */\n async findPrimarySuspendedHumanTask(instanceId: string): Promise<AXPWorkflowRunSuspendedHumanTask | null> {\n const trimmed = instanceId?.trim();\n if (!trimmed) {\n return null;\n }\n\n const instance = await this.bookmarkAccess.loadInstanceForContinuation(trimmed);\n if (!instance || instance.subStatus !== 'Suspended') {\n return null;\n }\n\n const active = this.bookmarkAccess.getActiveBookmarks(instance);\n for (const bookmark of active) {\n const payload = this.bookmarkAccess.parseHumanTaskPayload(bookmark);\n if (!payload?.taskToken || !this.isTaskBoardHumanPayload(payload)) {\n continue;\n }\n return { instance, bookmark, payload };\n }\n\n return null;\n }\n\n //#endregion\n\n //#region ---- Run operations ----\n\n /** Runs the primary human-task action on the current suspended step (e.g. open questionnaire). */\n async continueRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const payload = task.payload;\n if (isWorkflowPooledClaimablePayload(payload)) {\n return this.continuePooledHumanTask(instanceId, task);\n }\n\n const outcome = this.humanTaskService.resolvePrimaryTaskOutcome(payload);\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n const currentUserId = this.sessionService.user?.id;\n if (\n currentUserId &&\n assigned.length > 0 &&\n !assigned.includes(String(currentUserId)) &&\n (outcome === 'approve' || outcome === 'reject')\n ) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.awaiting-approver',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_ASSIGNEE' as const, message: content };\n }\n\n const result = await this.humanTaskService.executePrimaryHumanTaskAction(instanceId, task.bookmark.activityId, {\n suppressContinuation: true,\n notifyViews: true,\n });\n\n if (!result?.success) {\n return {\n success: false as const,\n error: 'RESUME_FAILED' as const,\n message: result?.error,\n };\n }\n\n return { success: true as const };\n }\n\n /**\n * Pooled cartable / human-task steps must be claimed before approve/reject.\n * Claims for the current user when they are a candidate, then directs them to the task board.\n */\n private async continuePooledHumanTask(\n instanceId: string,\n task: AXPWorkflowRunSuspendedHumanTask,\n ): Promise<\n | { success: true }\n | { success: false; error: 'NOT_CANDIDATE' | 'CLAIM_FAILED' | 'RESUME_FAILED'; message?: string }\n > {\n const currentUserId = this.sessionService.user?.id;\n const candidates = normalizeWorkflowTaskUserIds(task.payload.candidateUserIds);\n if (!currentUserId || !candidates.includes(String(currentUserId))) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:tasks.errors.not-assignee',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_CANDIDATE' as const, message: content };\n }\n\n const claimResult = await this.workflowManager.claimTask(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n if (!claimResult.success) {\n return {\n success: false as const,\n error: 'CLAIM_FAILED' as const,\n message: claimResult.error,\n };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.use-task-board',\n );\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content,\n closeButton: true,\n });\n return { success: true as const };\n }\n\n /** Take over the current suspended human-task bookmark without advancing the workflow. */\n async takeOverRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUserWithConfirm(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n\n if (!reassigned) {\n return { success: false as const, error: 'REASSIGN_FAILED' as const };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true as const };\n }\n\n /** Cancels a workflow instance and optionally marks the linked domain row as cancelled. */\n async cancelRun(params: AXPWorkflowRunCancelParams): Promise<{ success: boolean }> {\n const instanceId = params.instanceId?.trim();\n if (!instanceId) {\n return { success: false };\n }\n\n const engine = this.workflowEngine;\n if (engine?.cancelInstance) {\n await engine.cancelInstance(instanceId, params.reason?.trim() || 'cancelled-by-user');\n } else {\n const now = new Date().toISOString();\n await this.entityService.withEntity('WorkflowManagement', 'WorkflowInstance').data().update(instanceId, {\n status: 'Finished',\n subStatus: 'Cancelled',\n finishedAt: now,\n updatedAt: now,\n } as never);\n }\n\n const recordId = params.recordId?.trim();\n const entitySource = params.entitySource?.trim();\n if (recordId && entitySource) {\n const [moduleName, entityName] = entitySource.split('.');\n if (moduleName && entityName) {\n const statusField = params.statusField?.trim() || 'statusId';\n const cancelledStatus = params.cancelledStatusId?.trim() || 'cancelled';\n await this.entityService.withEntity(moduleName, entityName).data().update(recordId, {\n [statusField]: cancelledStatus,\n ...(params.reason ? { notes: params.reason } : {}),\n } as never);\n }\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private isTaskBoardHumanPayload(payload: HumanTaskBookmarkPayload): boolean {\n const activityType = payload.activityType;\n return activityType === 'workflow-activity:human-task' || activityType === 'workflow-activity:cartable';\n }\n\n /** Parses `Module.Entity` and record id from flat command input. */\n parseCommandRecordContext(input: {\n entity?: string;\n entityInfo?: { source?: string; module?: string; name?: string };\n data?: unknown;\n }): { entitySource: string | null; recordId: string | null; instanceId: string | null } {\n const ctx = input;\n const data = ctx?.data;\n const entitySource =\n ctx?.entityInfo?.source?.trim() ||\n ctx?.entity?.trim() ||\n (ctx?.entityInfo?.module && ctx?.entityInfo?.name\n ? `${ctx.entityInfo.module}.${ctx.entityInfo.name}`\n : null);\n\n const recordId =\n data && typeof data === 'object' && isString(get(data, 'id'))\n ? String(get(data, 'id')).trim()\n : null;\n\n return {\n entitySource,\n recordId,\n instanceId: this.resolveInstanceId(data),\n };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Cancels a workflow run and marks the linked domain row as cancelled when applicable. */\n@Injectable({ providedIn: 'root' })\nexport class CancelWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly dialogService = inject(AXDialogService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId, entitySource, recordId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const title = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.title',\n );\n const message = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.message',\n );\n const confirmed = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n if (!confirmed.result) {\n return { success: false };\n }\n\n const reason = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-note',\n );\n\n const result = await this.runActionService.cancelRun({\n instanceId,\n entitySource: entitySource ?? undefined,\n recordId: recordId ?? undefined,\n reason,\n });\n\n if (!result.success) {\n return { success: false, message: { text: 'Could not cancel the workflow run.' } };\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-success',\n ),\n closeButton: true,\n timeOut: 3000,\n });\n\n return { success: true, kind: 'object', data: undefined };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Continues the current suspended human-task step for a workflow-backed domain row. */\n@Injectable({ providedIn: 'root' })\nexport class ContinueWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.continueRun(instanceId);\n if (result.success) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n if (result.message) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.message,\n closeButton: true,\n });\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPDialogOpener } from '@acorex-platform/framework-client/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Opens the workflow run history popup (timeline + disabled visual tab) for a domain list row. */\n@Injectable({ providedIn: 'root' })\nexport class ShowWorkflowRunHistoryCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n private readonly dialogOpener = inject(AXPDialogOpener);\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.history.messages.no-instance',\n ),\n },\n };\n }\n\n await this.dialogOpener.openPopup({\n load: () =>\n import('../components/workflow-run-history-popup/workflow-run-history-popup.component').then(\n (module) => module.AXMWorkflowRunHistoryPopupComponent,\n ),\n data: { instanceId },\n show: (component) =>\n this.popupService.open(component, {\n title: '',\n size: 'lg',\n data: { instanceId },\n }),\n });\n\n return {\n success: true,\n kind: 'object',\n data: undefined,\n metadata: { refresh: false },\n };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Reassigns the current suspended human-task to the current user (take over). */\n@Injectable({ providedIn: 'root' })\nexport class TakeOverWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): AXPCommandExecuteResultPromise<void> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.takeOverRun(instanceId);\n if (result.success) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Exports ----\n\nexport { CancelWorkflowRunCommand } from './cancel-workflow-run.command';\nexport { ContinueWorkflowRunCommand } from './continue-workflow-run.command';\nexport { ShowWorkflowRunHistoryCommand } from './show-workflow-run-history.command';\nexport { TakeOverWorkflowRunCommand } from './take-over-workflow-run.command';\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -374,7 +374,7 @@ class AXMWorkflowConfiguratorComponent {
374
374
  [readonly]="readonly()"
375
375
  [items]="configuratorItems()"
376
376
  />
377
- `, isInline: true, styles: [":host([readonly]){pointer-events:none;opacity:.7}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXPItemConfiguratorComponent, selector: "axp-item-configurator", inputs: ["selectedItemId", "values", "label", "readonly", "items", "headerActions"], outputs: ["selectedItemIdChange", "valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
377
+ `, isInline: true, styles: [":host([readonly]){pointer-events:none;opacity:.7}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXPItemConfiguratorComponent, selector: "axp-item-configurator", inputs: ["selectedItemId", "values", "nodeFields", "label", "readonly", "items", "headerActions"], outputs: ["selectedItemIdChange", "valuesChange", "nodeFieldsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
378
378
  }
379
379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkflowConfiguratorComponent, decorators: [{
380
380
  type: Component,
@@ -535,4 +535,4 @@ function isEmptyWorkflowConfiguratorValue(value) {
535
535
  }
536
536
 
537
537
  export { AXMWorkflowConfiguratorWidgetEditComponent };
538
- //# sourceMappingURL=acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-CVTeOv-q.mjs.map
538
+ //# sourceMappingURL=acorex-platform-module-workflow-management-client-workflow-configurator-widget-edit.component-cQXYistV.mjs.map