diff --git a/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/activity-properties-editor.tsx b/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/activity-properties-editor.tsx index 7395487a1..24bef80dc 100644 --- a/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/activity-properties-editor.tsx +++ b/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/activity-properties-editor.tsx @@ -13,6 +13,7 @@ import {InputDriverRegistry} from "../../../services"; import {Container} from "typedi"; import {ActivityInputContext} from "../../../services/node-input-driver"; import {FormEntry} from "../../shared/forms/form-entry"; +import {isNullOrWhitespace} from "../../../utils"; export interface ActivityUpdatedArgs { activity: Activity; @@ -99,12 +100,17 @@ export class ActivityPropertiesEditor { content: () => this.renderInputTab() }; - const outputTab: TabDefinition = { - displayText: 'Output', - content: () => this.renderOutputTab() - }; + const tabs = !!activityDescriptor ? [commonTab, inputTab] : []; + + if (activityDescriptor.outputProperties.length > 0) { + const outputTab: TabDefinition = { + displayText: 'Output', + content: () => this.renderOutputTab() + }; + + tabs.push(outputTab); + } - const tabs = !!activityDescriptor ? [commonTab, inputTab, outputTab] : []; const actions = [DefaultActions.Delete(this.onDeleteActivity)]; const mainTitle = activity.id; const subTitle = activityDescriptor.displayName; @@ -211,11 +217,16 @@ export class ActivityPropertiesEditor { return
{outputProperties.map(property => { const key = `${activity.id}-${property.name}`; + const displayName = isNullOrWhitespace(property.displayName) ? property.name : property.displayName; + return
- + + +
; })}