Skip to content
This repository has been archived by the owner on Sep 25, 2018. It is now read-only.

Commit

Permalink
handle multiple onentry and onexit
Browse files Browse the repository at this point in the history
  • Loading branch information
Max Froumentin committed Apr 2, 2013
1 parent 55c8c5e commit 8d15b9b
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions dist/scion.js
Expand Up @@ -610,7 +610,7 @@ SCXMLInterpreter.prototype = {
if(l.onExit) l.onExit(state.id);
});

if(state.onexit !== undefined) this._evaluateAction(state.onexit,eventSet, datamodelForNextStep, eventsToAddToInnerQueue);
if(state.onexit !== "") this._evaluateAction(state.onexit,eventSet, datamodelForNextStep, eventsToAddToInnerQueue);

var f;
if (state.history) {
Expand Down Expand Up @@ -659,7 +659,7 @@ SCXMLInterpreter.prototype = {
if(l.onEntry) l.onEntry(state.id);
});

if(state.onentry !== undefined) this._evaluateAction(state.onentry, eventSet, datamodelForNextStep, eventsToAddToInnerQueue);
if(state.onentry !== "") this._evaluateAction(state.onentry, eventSet, datamodelForNextStep, eventsToAddToInnerQueue);
},this);

if (printTrace) pm.platform.log("updating configuration ");
Expand Down Expand Up @@ -1709,8 +1709,8 @@ function transformStateNode(node, ancestors) {
});

//need to do some work on his children
var onExitChildren,
onEntryChildren;
var onExitChildren = [],
onEntryChildren = [];
var transitionChildren = [];
var stateChildren = [];

Expand All @@ -1735,10 +1735,10 @@ function transformStateNode(node, ancestors) {
transitionChildren.push(transformTransitionNode(child, state));
break;
case "onentry":
onEntryChildren = codeGen.gen.parentToFnBody(child);
onEntryChildren.push(codeGen.gen.parentToFnBody(child));
break;
case "onexit":
onExitChildren = codeGen.gen.parentToFnBody(child);
onExitChildren.push(codeGen.gen.parentToFnBody(child));
break;
case "initial":
if (!processedInitial) {
Expand Down Expand Up @@ -1787,8 +1787,8 @@ function transformStateNode(node, ancestors) {
}
}

state.onexit = onExitChildren;
state.onentry = onEntryChildren;
state.onexit = onExitChildren.join(';');
state.onentry = onEntryChildren.join(';');
state.transitions = transitionChildren.map(function(transition){return transition.documentOrder;});
state.children = stateChildren.map(function(child){return child.id;});

Expand Down

0 comments on commit 8d15b9b

Please sign in to comment.