Skip to content
This repository was archived by the owner on Jan 17, 2022. It is now read-only.

Commit 6af6277

Browse files
mbarekhNicolas ERNY
authored andcommitted
fix component viewer bug (#109)
* fix component viewer bug and put right timeout transition color * handle some error cases * some code factorization * add unit test
1 parent 3388d97 commit 6af6277

5 files changed

Lines changed: 721 additions & 39 deletions

File tree

viewer/src/componentModel.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,13 @@ export class ComponentModel {
232232
to = this.states[linksJson[i].$.ToKey];
233233
text = linksJson[i].$.Name;
234234
key = linksJson[i].$.Id;
235-
const isForkTransition = from.group === to.key.split(modelTags.Separator)[0];
236-
const color = (isForkTransition) ? "black" : "green";
235+
const isForkTransition = !(from.group === to.key.split(modelTags.Separator)[0]);
236+
let color = "black";
237+
if (isForkTransition) {
238+
color = "green";
239+
} else if (linksJson[i].$.Type === "TimeOut") {
240+
color = "orange";
241+
}
237242
this.linkDataArray.push({
238243
"key": key,
239244
"from": from.key,
@@ -254,7 +259,8 @@ export class ComponentModel {
254259
"text": text
255260
});
256261
}
257-
const triggerableLinksJson = modelJson.ComponentData.TransversalLinks[0].TransversalTransitionData || [];
262+
263+
const triggerableLinksJson = modelJson.ComponentData.TransversalLinks && modelJson.ComponentData.TransversalLinks.length > 0 ? modelJson.ComponentData.TransversalLinks[0].TransversalTransitionData : [];
258264
for (let j = 0; j < triggerableLinksJson.length; j++) {
259265
from = this.states[triggerableLinksJson[j].$.FromKey];
260266
if (!from)
@@ -300,8 +306,7 @@ export class ComponentModel {
300306
}
301307
// transition pattern state
302308
const transitionPatternStates = {};
303-
let transitionPatternStateDataJson = modelJson.ComponentData.TransitionPatternStates[0].TransitionPatternStateData;
304-
transitionPatternStateDataJson = (transitionPatternStateDataJson === undefined) ? [] : transitionPatternStateDataJson;
309+
const transitionPatternStateDataJson = modelJson.ComponentData.TransitionPatternStates && modelJson.ComponentData.TransitionPatternStates.length > 0 ? modelJson.ComponentData.TransitionPatternStates[0].TransitionPatternStateData : [];
305310
for (let i = 0; i < transitionPatternStateDataJson.length; i++) {
306311
id = transitionPatternStateDataJson[i].$.SubGraphKey;
307312
group = this.stateMachines[id].name;

0 commit comments

Comments
 (0)