@acorex/modules 21.0.0-next.73 → 21.0.0-next.75
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.
- package/fesm2022/acorex-modules-ai-management.mjs +48 -15
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-FKvCLWhj.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs} +24 -24
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-FKvCLWhj.mjs.map → acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-B59NvUDv.mjs → acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-B59NvUDv.mjs.map → acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-DY3kcvHv.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-DY3kcvHv.mjs.map → acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-NZgnUnIg.mjs → acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-NZgnUnIg.mjs.map → acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DTpp9nGB.mjs → acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DTpp9nGB.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DLN9rq0h.mjs → acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DLN9rq0h.mjs.map → acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-D5RxnsfD.mjs → acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-D5RxnsfD.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-j6Pzk1UT.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-j6Pzk1UT.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-C8jxKIKe.mjs → acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-C8jxKIKe.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DYtzVNK8.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs} +5 -375
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-Ca-oiaZ5.mjs → acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-Ca-oiaZ5.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-CXSelp7y.mjs → acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-CXSelp7y.mjs.map → acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BQDyUTwa.mjs → acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BQDyUTwa.mjs.map → acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-CVyrVwfU.mjs → acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs} +5 -5
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-CVyrVwfU.mjs.map → acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-BnnCEroN.mjs → acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-BnnCEroN.mjs.map → acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-B3Scw9SG.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs} +3 -3
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-B3Scw9SG.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-D7EBdcU9.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-D7EBdcU9.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-p9c5_MMk.mjs → acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs} +10 -9
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQiGLMAZ.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQiGLMAZ.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-rY_6dZ3X.mjs → acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-rY_6dZ3X.mjs.map → acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-Bi1MZ0AE.mjs → acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-Bi1MZ0AE.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-1Mro9mxs.mjs → acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-1Mro9mxs.mjs.map → acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-DLOyCwM3.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs} +4 -4
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-DLOyCwM3.mjs.map → acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-index-DlrkqIge.mjs → acorex-modules-dashboard-management-index-DAQNEq43.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-index-DlrkqIge.mjs.map → acorex-modules-dashboard-management-index-DAQNEq43.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +2 -1
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-SYgMvrE2.mjs → acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs} +95 -4442
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-CKiFNjU0.mjs → acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-CKiFNjU0.mjs.map → acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-Dfx7mO_y.mjs → acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs} +2 -2
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-Dfx7mO_y.mjs.map → acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-eXpBudGO.mjs → acorex-modules-task-management-task-board.page-CfgeDnBx.mjs} +3 -3
- package/fesm2022/{acorex-modules-task-management-task-board.page-eXpBudGO.mjs.map → acorex-modules-task-management-task-board.page-CfgeDnBx.mjs.map} +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BW6kK9Av.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-index--D61tV-f.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-index-DXIQw3Ao.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-activity-instance-rows.utils-L8W4ogSI.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-visual-tab.component-3gnqTYdJ.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +2 -2
- package/types/acorex-modules-content-management.d.ts +2 -1
- package/types/acorex-modules-data-management.d.ts +2 -1
- package/types/acorex-modules-notification-management.d.ts +2 -1
- package/types/acorex-modules-platform-management.d.ts +3 -137
- package/types/acorex-modules-workflow-management.d.ts +2 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-DYtzVNK8.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-p9c5_MMk.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-SYgMvrE2.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BW6kK9Av.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator.component.ts","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator.component.html","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPDynamicFormDefinition,\n AXPDynamicFormFieldDefinition,\n AXPDynamicFormGroupDefinition,\n AXPLayoutBuilderService,\n} from '@acorex/platform/layout/builder';\nimport { AXPActivityDefinition, AXPActivityDefinitionService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n//#endregion\n\nexport interface ActivityCommandValue {\n commandKey: string;\n params?: Record<string, unknown>;\n}\n\n//#region ---- Component ----\n\n/**\n * Activity command configurator component.\n * Mirrors AXPWidgetFieldConfiguratorComponent pattern: select activity from list,\n * show activity info in view mode, configure button opens dynamic form for activity inputs.\n */\n@Component({\n selector: 'axm-activity-command-configurator',\n templateUrl: './activity-command-configurator.component.html',\n styleUrl: './activity-command-configurator.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXButtonModule,\n AXSelectBoxModule,\n AXTranslationModule,\n AXSearchBoxModule,\n AXDecoratorModule,\n ],\n})\nexport class AXMActivityCommandConfiguratorComponent {\n //#region ---- Inputs ----\n\n value = model<ActivityCommandValue>({ commandKey: '', params: {} });\n\n label = input<string>('@workflow-management:automations.entities.automation.fields.command.title');\n\n readonly = input<boolean>(false);\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly activityService = inject(AXPActivityDefinitionService);\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n protected selectedCommandKey = signal<string>('');\n\n protected isEditMode = signal<boolean>(false);\n\n protected activities = signal<AXPActivityDefinition[]>([]);\n\n protected activityItems = computed(() =>\n this.activities()\n .map((a) => ({\n value: a.name,\n text: this.multiLanguageResolver.resolve(a.title) || a.name,\n description: this.multiLanguageResolver.resolve(a.description),\n icon: a.icon,\n }))\n .sort((a, b) => a.text.localeCompare(b.text)),\n );\n\n protected selectedActivity = computed(() => {\n const key = this.selectedCommandKey();\n if (!key) return null;\n return this.activities().find((a) => a.name === key) ?? null;\n });\n\n /** Resolved title for view mode (activity definition may store multi-language maps). */\n protected selectedActivityViewTitle = computed(() => {\n const a = this.selectedActivity();\n if (!a) return '';\n return this.multiLanguageResolver.resolve(a.title) || a.name;\n });\n\n /** Resolved description for view mode. */\n protected selectedActivityViewDescription = computed(() => {\n const a = this.selectedActivity();\n if (!a) return '';\n return this.multiLanguageResolver.resolve(a.description);\n });\n\n protected canConfigure = computed(() => {\n const activity = this.selectedActivity();\n return !!activity?.inputs && activity.inputs.length > 0;\n });\n\n protected activitySelectBox = viewChild<AXSelectBoxComponent>('activitySelectBox');\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n constructor() {\n this.loadActivities();\n\n effect(() => {\n const v = this.value();\n const key = v?.commandKey ?? '';\n if (this.selectedCommandKey() !== key) {\n this.selectedCommandKey.set(key);\n if (key) {\n this.isEditMode.set(false);\n } else {\n this.isEditMode.set(true);\n }\n }\n });\n\n effect(() => {\n if (!this.isEditMode()) return;\n const select = this.activitySelectBox();\n if (select) {\n setTimeout(() => {\n select.focus?.();\n (select as { open?: () => void }).open?.();\n }, 0);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n protected enterEditMode(): void {\n if (this.readonly()) return;\n this.isEditMode.set(true);\n }\n\n protected exitEditMode(): void {\n this.isEditMode.set(false);\n }\n\n protected onActivityChange(event: { value?: string | null }): void {\n if (this.readonly()) return;\n const newKey = (event?.value ?? '') as string;\n\n if (this.selectedCommandKey() === newKey) return;\n\n this.selectedCommandKey.set(newKey);\n\n if (!newKey) {\n this.value.set({ commandKey: '', params: {} });\n this.isEditMode.set(true);\n return;\n }\n\n const current = this.value();\n this.value.set({\n commandKey: newKey,\n params: current?.commandKey === newKey ? (current.params ?? {}) : {},\n });\n this.isEditMode.set(false);\n }\n\n protected openConfigure(): void {\n if (!this.canConfigure() || this.readonly()) return;\n\n const activity = this.selectedActivity();\n if (!activity?.inputs?.length) return;\n\n let params: Record<string, unknown> = {};\n const current = this.value();\n if (current?.params && Object.keys(current.params).length > 0) {\n params = { ...current.params };\n }\n\n const groups: AXPDynamicFormGroupDefinition[] = [\n {\n name: 'inputs',\n title: this.multiLanguageResolver.resolve(activity.title) || activity.name,\n description: this.multiLanguageResolver.resolve(activity.description),\n parameters: activity.inputs.map<AXPDynamicFormFieldDefinition>((inputDef) => ({\n path: `params.${inputDef.name}`,\n title: inputDef.title,\n description: inputDef.description,\n validationRules: inputDef.validations,\n widget: {\n path: `params.${inputDef.name}`,\n type: inputDef.interface.type,\n options: { ...(inputDef.interface.options ?? {}) },\n },\n })),\n },\n ];\n\n const formDefinition: AXPDynamicFormDefinition = { groups };\n\n this.layoutBuilder\n .create()\n .dialog<{ success: boolean }>((dialog) => {\n dialog\n .setTitle(this.multiLanguageResolver.resolve(activity.title) || activity.name || 'Configure Activity')\n .setSize('md')\n .setCloseButton(true)\n .setContext({ params })\n .content((layout) => {\n layout.mode('edit');\n layout.dynamicForm(formDefinition);\n })\n .setActions((actions) => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.save.title');\n })\n .onAction((dialogRef) => {\n const ctx = dialogRef.context() as { params?: Record<string, unknown> } | null;\n const action = dialogRef.action();\n if (!ctx || action === 'cancel') return { success: false };\n\n const updatedParams = ctx.params ?? {};\n this.value.set({\n commandKey: this.selectedCommandKey(),\n params: updatedParams,\n });\n return { success: true };\n });\n })\n .show();\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadActivities(): Promise<void> {\n try {\n const list = await this.activityService.getAllActivities();\n this.activities.set(list ?? []);\n } catch {\n this.activities.set([]);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","<!-- Activity Selector & Info Container -->\n<div class=\"__activity-container\">\n <!-- Edit Mode: Show Select Box -->\n @if (isEditMode()) {\n <div class=\"__activity-selector\">\n <ax-select-box\n #activitySelectBox\n [ngModel]=\"selectedCommandKey()\"\n [dataSource]=\"activityItems()\"\n [placeholder]=\"('@general:actions.select.title' | translate | async) ?? ''\"\n [readonly]=\"readonly()\"\n valueField=\"value\"\n textField=\"text\"\n [itemTemplate]=\"itemTemplate\"\n [selectedTemplate]=\"selectedTemplate\"\n (onValueChanged)=\"onActivityChange($event)\"\n (onClosed)=\"exitEditMode()\"\n >\n <ax-search-box></ax-search-box>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- View Mode: Show Activity Info -->\n @if (!isEditMode()) {\n @if (selectedCommandKey() && selectedActivity(); as activity) {\n <div class=\"__activity-info\">\n <div class=\"__activity-header\" [class.__editable]=\"!readonly()\" (click)=\"enterEditMode()\">\n <div>\n @if (activity.icon) {\n <i [class]=\"activity.icon\"></i>\n }\n <div>\n <span>{{ selectedActivityViewTitle() }}</span>\n @if (selectedActivityViewDescription()) {\n <p>{{ selectedActivityViewDescription() }}</p>\n }\n </div>\n </div>\n\n <div class=\"__action-buttons\" (click)=\"$event.stopPropagation()\">\n @if (canConfigure()) {\n <ax-button\n [disabled]=\"readonly()\"\n [title]=\"('@general:actions.configure.title' | translate | async) ?? ''\"\n look=\"blank\"\n size=\"sm\"\n (onClick)=\"openConfigure()\"\n >\n <i class=\"fa-solid fa-cog\"></i>\n </ax-button>\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Empty State (Clickable to Edit) -->\n <div class=\"__activity-empty\" [class.__editable]=\"!readonly()\" (click)=\"enterEditMode()\">\n <i class=\"fa-light fa-bolt\"></i>\n <span>\n {{ ('@workflow-management:automations.entities.automation.fields.command.placeholder' | translate | async) ?? 'Select activity' }}\n </span>\n </div>\n }\n }\n\n\n <!-- Item Template (Dropdown Items) -->\n <ng-template #itemTemplate let-context>\n @let item = context.data;\n <div class=\"__item-template ax-flex ax-w-full ax-items-center ax-gap-3 ax-p-2\">\n @if (item.icon) {\n <i [class]=\"item.icon + ' ax-text-base ax-w-5 ax-text-center'\"></i>\n }\n <div class=\"ax-flex ax-items-center ax-gap-2 ax-flex-1 ax-min-w-0\">\n <div class=\"ax-text-sm ax-font-medium\">{{ item.text }}</div>\n @if (item.description) {\n <div class=\"ax-text-xs ax-text-neutral-600\">{{ item.description }}</div>\n }\n </div>\n </div>\n </ng-template>\n\n <!-- Selected Template -->\n <ng-template #selectedTemplate let-item>\n <div class=\"__selected-template\">\n @if (item?.data?.icon) {\n <i [class]=\"item.data.icon\"></i>\n }\n <span>{{ item?.data?.text }}</span>\n </div>\n </ng-template>\n</div>\n","//#region ---- Imports ----\n\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport {\n AXMActivityCommandConfiguratorComponent,\n ActivityCommandValue,\n} from './activity-command-configurator.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Widget edit component for activity-command-configurator.\n * Mirrors AXPWidgetFieldConfiguratorWidgetEditComponent: wraps the configurator,\n * syncs value <-> model via effects, uses isInitialized to avoid premature render.\n */\n@Component({\n selector: 'axm-activity-command-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axm-activity-command-configurator\n [(value)]=\"valueModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n ></axm-activity-command-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMActivityCommandConfiguratorComponent],\n})\nexport class AXMActivityCommandConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<ActivityCommandValue> {\n //#region ---- Computed Properties ----\n\n protected readonly readonly = computed<boolean>(() => (this.options()['readonly'] as boolean) ?? false);\n protected label = computed<string>(() => (this.options()['label'] as string) || 'Activity');\n\n //#endregion\n\n //#region ---- State Signals ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected valueModel = model<ActivityCommandValue>({ commandKey: '', params: {} });\n\n //#endregion\n\n //#region ---- Effects ----\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n const normalized: ActivityCommandValue =\n value && typeof value === 'object' && 'commandKey' in value\n ? { commandKey: (value as ActivityCommandValue).commandKey ?? '', params: (value as ActivityCommandValue).params ?? {} }\n : { commandKey: '', params: {} };\n\n const currentModel = untracked(() => this.valueModel());\n\n if (!isEqual(normalized, currentModel)) {\n untracked(() => {\n this.valueModel.set(normalized);\n });\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const modelValue = this.valueModel();\n\n if (!untracked(() => this.isInitialized())) return;\n\n const currentValue = untracked(() => this.getValue());\n const normalizedCurrent: ActivityCommandValue =\n currentValue && typeof currentValue === 'object' && 'commandKey' in currentValue\n ? { commandKey: (currentValue as ActivityCommandValue).commandKey ?? '', params: (currentValue as ActivityCommandValue).params ?? {} }\n : { commandKey: '', params: {} };\n\n if (!isEqual(modelValue, normalizedCurrent)) {\n untracked(() => {\n this.setValue(modelValue ?? { commandKey: '', params: {} });\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n"],"names":["i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BW6kK9Av.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator.component.ts","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator.component.html","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPDynamicFormDefinition,\n AXPDynamicFormFieldDefinition,\n AXPDynamicFormGroupDefinition,\n AXPLayoutBuilderService,\n} from '@acorex/platform/layout/builder';\nimport type { AXPActivityDefinition } from '@acorex/platform/contracts';\nimport { AXPActivityDefinitionService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n//#endregion\n\nexport interface ActivityCommandValue {\n commandKey: string;\n params?: Record<string, unknown>;\n}\n\n//#region ---- Component ----\n\n/**\n * Activity command configurator component.\n * Mirrors AXPWidgetFieldConfiguratorComponent pattern: select activity from list,\n * show activity info in view mode, configure button opens dynamic form for activity inputs.\n */\n@Component({\n selector: 'axm-activity-command-configurator',\n templateUrl: './activity-command-configurator.component.html',\n styleUrl: './activity-command-configurator.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXButtonModule,\n AXSelectBoxModule,\n AXTranslationModule,\n AXSearchBoxModule,\n AXDecoratorModule,\n ],\n})\nexport class AXMActivityCommandConfiguratorComponent {\n //#region ---- Inputs ----\n\n value = model<ActivityCommandValue>({ commandKey: '', params: {} });\n\n label = input<string>('@workflow-management:automations.entities.automation.fields.command.title');\n\n readonly = input<boolean>(false);\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly activityService = inject(AXPActivityDefinitionService);\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n protected selectedCommandKey = signal<string>('');\n\n protected isEditMode = signal<boolean>(false);\n\n protected activities = signal<AXPActivityDefinition[]>([]);\n\n protected activityItems = computed(() =>\n this.activities()\n .map((a) => ({\n value: a.name,\n text: this.multiLanguageResolver.resolve(a.title) || a.name,\n description: this.multiLanguageResolver.resolve(a.description),\n icon: a.icon,\n }))\n .sort((a, b) => a.text.localeCompare(b.text)),\n );\n\n protected selectedActivity = computed(() => {\n const key = this.selectedCommandKey();\n if (!key) return null;\n return this.activities().find((a) => a.name === key) ?? null;\n });\n\n /** Resolved title for view mode (activity definition may store multi-language maps). */\n protected selectedActivityViewTitle = computed(() => {\n const a = this.selectedActivity();\n if (!a) return '';\n return this.multiLanguageResolver.resolve(a.title) || a.name;\n });\n\n /** Resolved description for view mode. */\n protected selectedActivityViewDescription = computed(() => {\n const a = this.selectedActivity();\n if (!a) return '';\n return this.multiLanguageResolver.resolve(a.description);\n });\n\n protected canConfigure = computed(() => {\n const activity = this.selectedActivity();\n return !!activity?.inputs && activity.inputs.length > 0;\n });\n\n protected activitySelectBox = viewChild<AXSelectBoxComponent>('activitySelectBox');\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n constructor() {\n this.loadActivities();\n\n effect(() => {\n const v = this.value();\n const key = v?.commandKey ?? '';\n if (this.selectedCommandKey() !== key) {\n this.selectedCommandKey.set(key);\n if (key) {\n this.isEditMode.set(false);\n } else {\n this.isEditMode.set(true);\n }\n }\n });\n\n effect(() => {\n if (!this.isEditMode()) return;\n const select = this.activitySelectBox();\n if (select) {\n setTimeout(() => {\n select.focus?.();\n (select as { open?: () => void }).open?.();\n }, 0);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n protected enterEditMode(): void {\n if (this.readonly()) return;\n this.isEditMode.set(true);\n }\n\n protected exitEditMode(): void {\n this.isEditMode.set(false);\n }\n\n protected onActivityChange(event: { value?: string | null }): void {\n if (this.readonly()) return;\n const newKey = (event?.value ?? '') as string;\n\n if (this.selectedCommandKey() === newKey) return;\n\n this.selectedCommandKey.set(newKey);\n\n if (!newKey) {\n this.value.set({ commandKey: '', params: {} });\n this.isEditMode.set(true);\n return;\n }\n\n const current = this.value();\n this.value.set({\n commandKey: newKey,\n params: current?.commandKey === newKey ? (current.params ?? {}) : {},\n });\n this.isEditMode.set(false);\n }\n\n protected openConfigure(): void {\n if (!this.canConfigure() || this.readonly()) return;\n\n const activity = this.selectedActivity();\n if (!activity?.inputs?.length) return;\n\n let params: Record<string, unknown> = {};\n const current = this.value();\n if (current?.params && Object.keys(current.params).length > 0) {\n params = { ...current.params };\n }\n\n const groups: AXPDynamicFormGroupDefinition[] = [\n {\n name: 'inputs',\n title: this.multiLanguageResolver.resolve(activity.title) || activity.name,\n description: this.multiLanguageResolver.resolve(activity.description),\n parameters: activity.inputs.map<AXPDynamicFormFieldDefinition>((inputDef) => ({\n path: `params.${inputDef.name}`,\n title: inputDef.title,\n description: inputDef.description,\n validationRules: inputDef.validations,\n widget: {\n path: `params.${inputDef.name}`,\n type: inputDef.interface.type,\n options: { ...(inputDef.interface.options ?? {}) },\n },\n })),\n },\n ];\n\n const formDefinition: AXPDynamicFormDefinition = { groups };\n\n this.layoutBuilder\n .create()\n .dialog<{ success: boolean }>((dialog) => {\n dialog\n .setTitle(this.multiLanguageResolver.resolve(activity.title) || activity.name || 'Configure Activity')\n .setSize('md')\n .setCloseButton(true)\n .setContext({ params })\n .content((layout) => {\n layout.mode('edit');\n layout.dynamicForm(formDefinition);\n })\n .setActions((actions) => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.save.title');\n })\n .onAction((dialogRef) => {\n const ctx = dialogRef.context() as { params?: Record<string, unknown> } | null;\n const action = dialogRef.action();\n if (!ctx || action === 'cancel') return { success: false };\n\n const updatedParams = ctx.params ?? {};\n this.value.set({\n commandKey: this.selectedCommandKey(),\n params: updatedParams,\n });\n return { success: true };\n });\n })\n .show();\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadActivities(): Promise<void> {\n try {\n const list = await this.activityService.getAllActivities();\n this.activities.set(list ?? []);\n } catch {\n this.activities.set([]);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","<!-- Activity Selector & Info Container -->\n<div class=\"__activity-container\">\n <!-- Edit Mode: Show Select Box -->\n @if (isEditMode()) {\n <div class=\"__activity-selector\">\n <ax-select-box\n #activitySelectBox\n [ngModel]=\"selectedCommandKey()\"\n [dataSource]=\"activityItems()\"\n [placeholder]=\"('@general:actions.select.title' | translate | async) ?? ''\"\n [readonly]=\"readonly()\"\n valueField=\"value\"\n textField=\"text\"\n [itemTemplate]=\"itemTemplate\"\n [selectedTemplate]=\"selectedTemplate\"\n (onValueChanged)=\"onActivityChange($event)\"\n (onClosed)=\"exitEditMode()\"\n >\n <ax-search-box></ax-search-box>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- View Mode: Show Activity Info -->\n @if (!isEditMode()) {\n @if (selectedCommandKey() && selectedActivity(); as activity) {\n <div class=\"__activity-info\">\n <div class=\"__activity-header\" [class.__editable]=\"!readonly()\" (click)=\"enterEditMode()\">\n <div>\n @if (activity.icon) {\n <i [class]=\"activity.icon\"></i>\n }\n <div>\n <span>{{ selectedActivityViewTitle() }}</span>\n @if (selectedActivityViewDescription()) {\n <p>{{ selectedActivityViewDescription() }}</p>\n }\n </div>\n </div>\n\n <div class=\"__action-buttons\" (click)=\"$event.stopPropagation()\">\n @if (canConfigure()) {\n <ax-button\n [disabled]=\"readonly()\"\n [title]=\"('@general:actions.configure.title' | translate | async) ?? ''\"\n look=\"blank\"\n size=\"sm\"\n (onClick)=\"openConfigure()\"\n >\n <i class=\"fa-solid fa-cog\"></i>\n </ax-button>\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Empty State (Clickable to Edit) -->\n <div class=\"__activity-empty\" [class.__editable]=\"!readonly()\" (click)=\"enterEditMode()\">\n <i class=\"fa-light fa-bolt\"></i>\n <span>\n {{ ('@workflow-management:automations.entities.automation.fields.command.placeholder' | translate | async) ?? 'Select activity' }}\n </span>\n </div>\n }\n }\n\n\n <!-- Item Template (Dropdown Items) -->\n <ng-template #itemTemplate let-context>\n @let item = context.data;\n <div class=\"__item-template ax-flex ax-w-full ax-items-center ax-gap-3 ax-p-2\">\n @if (item.icon) {\n <i [class]=\"item.icon + ' ax-text-base ax-w-5 ax-text-center'\"></i>\n }\n <div class=\"ax-flex ax-items-center ax-gap-2 ax-flex-1 ax-min-w-0\">\n <div class=\"ax-text-sm ax-font-medium\">{{ item.text }}</div>\n @if (item.description) {\n <div class=\"ax-text-xs ax-text-neutral-600\">{{ item.description }}</div>\n }\n </div>\n </div>\n </ng-template>\n\n <!-- Selected Template -->\n <ng-template #selectedTemplate let-item>\n <div class=\"__selected-template\">\n @if (item?.data?.icon) {\n <i [class]=\"item.data.icon\"></i>\n }\n <span>{{ item?.data?.text }}</span>\n </div>\n </ng-template>\n</div>\n","//#region ---- Imports ----\n\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport {\n AXMActivityCommandConfiguratorComponent,\n ActivityCommandValue,\n} from './activity-command-configurator.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Widget edit component for activity-command-configurator.\n * Mirrors AXPWidgetFieldConfiguratorWidgetEditComponent: wraps the configurator,\n * syncs value <-> model via effects, uses isInitialized to avoid premature render.\n */\n@Component({\n selector: 'axm-activity-command-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axm-activity-command-configurator\n [(value)]=\"valueModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n ></axm-activity-command-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMActivityCommandConfiguratorComponent],\n})\nexport class AXMActivityCommandConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<ActivityCommandValue> {\n //#region ---- Computed Properties ----\n\n protected readonly readonly = computed<boolean>(() => (this.options()['readonly'] as boolean) ?? false);\n protected label = computed<string>(() => (this.options()['label'] as string) || 'Activity');\n\n //#endregion\n\n //#region ---- State Signals ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected valueModel = model<ActivityCommandValue>({ commandKey: '', params: {} });\n\n //#endregion\n\n //#region ---- Effects ----\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n const normalized: ActivityCommandValue =\n value && typeof value === 'object' && 'commandKey' in value\n ? { commandKey: (value as ActivityCommandValue).commandKey ?? '', params: (value as ActivityCommandValue).params ?? {} }\n : { commandKey: '', params: {} };\n\n const currentModel = untracked(() => this.valueModel());\n\n if (!isEqual(normalized, currentModel)) {\n untracked(() => {\n this.valueModel.set(normalized);\n });\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const modelValue = this.valueModel();\n\n if (!untracked(() => this.isInitialized())) return;\n\n const currentValue = untracked(() => this.getValue());\n const normalizedCurrent: ActivityCommandValue =\n currentValue && typeof currentValue === 'object' && 'commandKey' in currentValue\n ? { commandKey: (currentValue as ActivityCommandValue).commandKey ?? '', params: (currentValue as ActivityCommandValue).params ?? {} }\n : { commandKey: '', params: {} };\n\n if (!isEqual(modelValue, normalizedCurrent)) {\n untracked(() => {\n this.setValue(modelValue ?? { commandKey: '', params: {} });\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n"],"names":["i5"],"mappings":"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"}
|