diff --git a/src/designer/elsa-workflows-studio/src/components.d.ts b/src/designer/elsa-workflows-studio/src/components.d.ts index 7711a1d9e..09480ddb1 100644 --- a/src/designer/elsa-workflows-studio/src/components.d.ts +++ b/src/designer/elsa-workflows-studio/src/components.d.ts @@ -309,7 +309,6 @@ export namespace Components { interface ElsaWorkflowPropertiesPanel { "culture": string; "expandButtonPosition": number; - "selectTestActivity": (activityId?: string) => Promise; "serverUrl": string; "workflowDefinition": WorkflowDefinition; } @@ -328,6 +327,12 @@ export namespace Components { "serverUrl": string; "workflowDefinition": WorkflowDefinition; } + interface ElsaWorkflowTestPanel { + "culture": string; + "selectTestActivity": (activityId?: string) => Promise; + "serverUrl": string; + "workflowDefinition": WorkflowDefinition; + } } declare global { interface HTMLElsaActivityEditorModalElement extends Components.ElsaActivityEditorModal, HTMLStencilElement { @@ -666,6 +671,12 @@ declare global { prototype: HTMLElsaWorkflowSettingsModalElement; new (): HTMLElsaWorkflowSettingsModalElement; }; + interface HTMLElsaWorkflowTestPanelElement extends Components.ElsaWorkflowTestPanel, HTMLStencilElement { + } + var HTMLElsaWorkflowTestPanelElement: { + prototype: HTMLElsaWorkflowTestPanelElement; + new (): HTMLElsaWorkflowTestPanelElement; + }; interface HTMLElementTagNameMap { "elsa-activity-editor-modal": HTMLElsaActivityEditorModalElement; "elsa-activity-picker-modal": HTMLElsaActivityPickerModalElement; @@ -723,6 +734,7 @@ declare global { "elsa-workflow-publish-button": HTMLElsaWorkflowPublishButtonElement; "elsa-workflow-registry-list-screen": HTMLElsaWorkflowRegistryListScreenElement; "elsa-workflow-settings-modal": HTMLElsaWorkflowSettingsModalElement; + "elsa-workflow-test-panel": HTMLElsaWorkflowTestPanelElement; } } declare namespace LocalJSX { @@ -1032,6 +1044,11 @@ declare namespace LocalJSX { "serverUrl"?: string; "workflowDefinition"?: WorkflowDefinition; } + interface ElsaWorkflowTestPanel { + "culture"?: string; + "serverUrl"?: string; + "workflowDefinition"?: WorkflowDefinition; + } interface IntrinsicElements { "elsa-activity-editor-modal": ElsaActivityEditorModal; "elsa-activity-picker-modal": ElsaActivityPickerModal; @@ -1089,6 +1106,7 @@ declare namespace LocalJSX { "elsa-workflow-publish-button": ElsaWorkflowPublishButton; "elsa-workflow-registry-list-screen": ElsaWorkflowRegistryListScreen; "elsa-workflow-settings-modal": ElsaWorkflowSettingsModal; + "elsa-workflow-test-panel": ElsaWorkflowTestPanel; } } export { LocalJSX as JSX }; @@ -1151,6 +1169,7 @@ declare module "@stencil/core" { "elsa-workflow-publish-button": LocalJSX.ElsaWorkflowPublishButton & JSXBase.HTMLAttributes; "elsa-workflow-registry-list-screen": LocalJSX.ElsaWorkflowRegistryListScreen & JSXBase.HTMLAttributes; "elsa-workflow-settings-modal": LocalJSX.ElsaWorkflowSettingsModal & JSXBase.HTMLAttributes; + "elsa-workflow-test-panel": LocalJSX.ElsaWorkflowTestPanel & JSXBase.HTMLAttributes; } } } diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx index d1241547b..cda184df0 100644 --- a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx @@ -64,7 +64,8 @@ export class ElsaWorkflowDefinitionEditorScreen { i18next: i18n; el: HTMLElement; designer: HTMLElsaDesignerTreeElement; - propertiesPanel: HTMLElsaWorkflowPropertiesPanelElement; + testPanel: HTMLElsaWorkflowTestPanelElement; + flyoutPanel: HTMLElsaFlyoutPanelElement; @Method() async getServerUrl(): Promise { @@ -384,13 +385,13 @@ export class ElsaWorkflowDefinitionEditorScreen { async onActivitySelected(e: CustomEvent) { this.selectedActivityId = e.detail.activityId; - await this.propertiesPanel.selectTestActivity(this.selectedActivityId); + await this.testPanel.selectTestActivity(this.selectedActivityId); } async onActivityDeselected(e: CustomEvent) { if (this.selectedActivityId == e.detail.activityId) this.selectedActivityId = null; - await this.propertiesPanel.selectTestActivity(null); + await this.testPanel.selectTestActivity(null); } onConnectionContextMenuButtonClicked(e: CustomEvent) { @@ -449,7 +450,7 @@ export class ElsaWorkflowDefinitionEditorScreen { onActivityDeselected={e => this.onActivityDeselected(e)} class="elsa-flex-1" ref={el => this.designer = el}/> - {this.renderPropertiesPanel()} + {this.renderPanel()} {this.renderWorkflowSettingsButton()} {this.renderActivityContextMenu()} {this.renderConnectionContextMenu()} @@ -622,17 +623,21 @@ export class ElsaWorkflowDefinitionEditorScreen { }; } - private renderPropertiesPanel() { + private renderPanel() { return ( - + this.flyoutPanel = el}> General + Test + + this.testPanel = el} + workflowDefinition={this.workflowDefinition} + /> + ); } diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-properties-panel/localizations.ts b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-properties-panel/localizations.ts index 0d934eb01..abeceae34 100644 --- a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-properties-panel/localizations.ts +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-properties-panel/localizations.ts @@ -9,10 +9,7 @@ 'PublishedVersion': 'Published Version', 'Status': 'Status', 'Published': 'Published', - 'Draft': 'Draft', - 'Properties': '{{name}} Properties', - 'ExecuteWorkflow': 'Execute Workflow', - 'UseAsSchema': 'Use as Schema' + 'Draft': 'Draft' } }, 'nl-NL': { @@ -25,10 +22,7 @@ 'PublishedVersion': 'Gepubliceerde Versie', 'Status': 'Status', 'Published': 'Published', - 'Draft': 'Draft', - 'Properties': '{{name}} Properties', - 'ExecuteWorkflow': 'Werkstroom uitvoeren', - 'UseAsSchema': 'Gebruik als schema' + 'Draft': 'Draft' } } }; diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx similarity index 68% rename from src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx rename to src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx index 839aed902..b9d5bca67 100644 --- a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/elsa-workflow-test-panel.tsx @@ -39,6 +39,7 @@ export class ElsaWorkflowTestPanel { const message = this.workflowTestActivityMessages.find(x => x.activityId == activityId) const messageInternal = !!message ? message : null; this.selectTestActivityMessageInternal(messageInternal); + this.render(); } @Watch('workflowDefinition') @@ -108,27 +109,19 @@ export class ElsaWorkflowTestPanel { return ( -
-
-
-
- -
- {this.renderActivityTestMessage()} -
-
-
+ + {this.renderActivityTestMessage()}
); } renderActivityTestMessage() { - +debugger const {testActivity} = this; if (testActivity == undefined) @@ -169,34 +162,31 @@ export class ElsaWorkflowTestPanel { const isInboundRequest = dataKey === "Inbound Request"; return ( -
-
-
{'Correlation Id'}
-
{testActivity.correlationId}
-
-
-
{t('Status')}
-
{testActivity.status || '-'}
-
- {collection.map(filteredData, (v, k) => ( -
-
-
{k}
-
{v}
-
- {isInboundRequest ? -
- -
- : - null - } +
+
+
{'Correlation Id'}
+
{testActivity.correlationId}
+
+
+
{t('Status')}
+
{testActivity.status}
+
+ {collection.map(filteredData, (v, k) => ( +
+
+
{k}
+
{v}
+ {isInboundRequest ? + + : + null + } +
))} {this.renderActivityTestError()}
@@ -216,8 +206,8 @@ export class ElsaWorkflowTestPanel { return; return ( -
-
{t('Error')}
+
+
{t('Error')}
{testActivity.error}
); diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/localizations.ts b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/localizations.ts new file mode 100644 index 000000000..79d9c9982 --- /dev/null +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-test-panel/localizations.ts @@ -0,0 +1,15 @@ +export const resources = { + 'en': { + default: { + 'ExecuteWorkflow': 'Execute Workflow', + 'UseAsSchema': 'Use as Schema' + } + }, + 'nl-NL': { + default: { + 'ExecuteWorkflow': 'Werkstroom uitvoeren', + 'UseAsSchema': 'Gebruik als schema' + } + } + }; + \ No newline at end of file diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-instance-viewer/elsa-workflow-instance-journal/elsa-workflow-instance-journal.tsx b/src/designer/elsa-workflows-studio/src/components/screens/workflow-instance-viewer/elsa-workflow-instance-journal/elsa-workflow-instance-journal.tsx index ec28e8539..af499c799 100644 --- a/src/designer/elsa-workflows-studio/src/components/screens/workflow-instance-viewer/elsa-workflow-instance-journal/elsa-workflow-instance-journal.tsx +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-instance-viewer/elsa-workflow-instance-journal/elsa-workflow-instance-journal.tsx @@ -91,12 +91,6 @@ export class ElsaWorkflowInstanceJournal { this.recordSelected.emit(record); } - onTabClick(e: Event, tab: Tab) { - e.preventDefault(); - - this.selectedTabId = tab.id; - } - render() { return (