diff --git a/src/designer/elsa-workflows-designer/src/components/inputs/checkbox.tsx b/src/designer/elsa-workflows-designer/src/components/inputs/checkbox.tsx index 0398d0232..1f28f064d 100644 --- a/src/designer/elsa-workflows-designer/src/components/inputs/checkbox.tsx +++ b/src/designer/elsa-workflows-designer/src/components/inputs/checkbox.tsx @@ -50,7 +50,6 @@ export class Checkbox { } private onExpressionChanged = (e: CustomEvent) => { - debugger; this.inputContext.inputChanged(e.detail.expression, e.detail.syntax); } } diff --git a/src/designer/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx b/src/designer/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx index 3445b714b..29e81f8ba 100644 --- a/src/designer/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx +++ b/src/designer/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx @@ -506,6 +506,13 @@ export class FlowchartComponent implements ContainerActivityComponent { return this.activity; const activity = this.activityLookup[currentItem.activityId] as Flowchart; + + if (activity == null) { + alert("Critical"); + location.reload(); + return; + } + const activityDescriptor = descriptorsStore.activityDescriptors.find(x => x.typeName == activity.type); if (activityDescriptor.isContainer) @@ -706,6 +713,9 @@ export class FlowchartComponent implements ContainerActivityComponent { }; private onNavigateHierarchy = async (e: CustomEvent) => { + + debugger; + const item = e.detail; const activityId = item.activityId; let activity = this.activityLookup[activityId]; diff --git a/src/designer/elsa-workflows-designer/src/modules/flowchart/workflow-navigator.tsx b/src/designer/elsa-workflows-designer/src/modules/flowchart/workflow-navigator.tsx index 78b58bafe..dcdcfffb9 100644 --- a/src/designer/elsa-workflows-designer/src/modules/flowchart/workflow-navigator.tsx +++ b/src/designer/elsa-workflows-designer/src/modules/flowchart/workflow-navigator.tsx @@ -2,7 +2,7 @@ import {Component, FunctionalComponent, h, Prop, Event, EventEmitter} from "@ste import {Container} from "typedi"; import {ActivityIconRegistry, ActivityNode, flatten, PortProviderRegistry, walkActivities} from "../../services"; import {Flowchart, FlowchartNavigationItem} from "./models"; -import {Port} from "../../models"; +import {Activity, ActivityDescriptor, Port} from "../../models"; import descriptorsStore from "../../data/descriptors-store"; import {WorkflowDefinition} from "../workflow-definitions/models/entities"; @@ -47,11 +47,23 @@ export class WorkflowNavigator { private renderPathItem = (item: FlowchartNavigationItem, index: number, nodes: Array) => { const activityId = item.activityId; - const activity = nodes.find(x => x.activity.id == activityId).activity; - const activityDescriptor = descriptorsStore.activityDescriptors.find(x => x.typeName == activity.type); + let activity: Activity; + let activityDescriptor: ActivityDescriptor; + + try { + activity = nodes.find(x => x.activity.id == activityId).activity; + activityDescriptor = descriptorsStore.activityDescriptors.find(x => x.typeName == activity.type); + } catch (e) { + alert('Debug this') + debugger; + window.location.reload(); + return; + } + const icon = this.iconRegistry.getOrDefault(activity.type)(); const listElements = []; const isLastItem = index == this.items.length - 1; + const isFirstItem = index == 0; const onItemClick = (e: MouseEvent, item: FlowchartNavigationItem) => { e.preventDefault(); @@ -68,7 +80,7 @@ export class WorkflowNavigator { port = ports.find(x => x.name == item.portName); } - if (isLastItem) { + if (!isFirstItem || isLastItem) { listElements.push(