diff --git a/editor.js b/editor.js index 983deef..40d5981 100644 --- a/editor.js +++ b/editor.js @@ -24,7 +24,14 @@ workflow.actions.forEach(act => act.actionData.actors.forEach(a => { // workflow.actions.forEach(a => console.log(a.actionData.actorNames)); function getActorName(actor) { - return actor.tag == 'payload-reference' ? actor['payload-label'] : actor.authorized['dnf-terms'][0][0].var + ' (auth)'; + if (actor.tag == 'payload-reference') { + return actor['payload-label']; + } else if (actor.authorized) { + return actor.authorized['dnf-terms'][0][0].var + ' (auth)'; + } else { + return actor.user; + } + } //Prepare actor highlighting @@ -58,9 +65,13 @@ var selection = null; // The currently selected node/edge. * @returns */ function equalRoles(role1, role2) { - var equal = role1.tag === role2.tag && role1['payload-label'] === role2['payload-label']; - if (equal && role1.tag == 'authorized') { - equal = role1.authorized['dnf-terms'][0][0].var === role2.authorized['dnf-terms'][0][0].var; + var equal = role1.tag === role2.tag; + if (role1.tag == 'payload-reference') { + equal = equal && (role1['payload-label'] === role2['payload-label']); + } else if (role1.tag == 'user') { + equal = equal && (role1.user === role2.user); + } else if (role1.tag == 'authorized') { + equal = equal && (role1.authorized['dnf-terms'][0][0].var === role2.authorized['dnf-terms'][0][0].var); } return equal; }