Commit 05120854 authored by Neil Fraser's avatar Neil Fraser

Merge pull request #53 from orionhealth/logic

Update logic block so it is reactive to the input attached to it. (Refactoring coming shortly)
parents 67963f72 1bf394ad
...@@ -299,6 +299,36 @@ Blockly.Blocks['logic_compare'] = { ...@@ -299,6 +299,36 @@ Blockly.Blocks['logic_compare'] = {
}; };
return TOOLTIPS[op]; return TOOLTIPS[op];
}); });
var myid = this.id;
var bindid = Blockly.addChangeListener(function() {
var me = Blockly.mainWorkspace.getBlockById(myid);
if(null == me) {
Blockly.removeChangeListener(bindid);
} else {
if (me.getInputTargetBlock('A') && !me.getInputTargetBlock('B')) {
if (me.getInputTargetBlock('A').outputConnection.check_) {
me.getInput('B').setCheck(me.getInputTargetBlock('A').outputConnection.check_[0]);
} else {
me.getInput('B').setCheck(null);
}
} else if (me.getInputTargetBlock('B') && !me.getInputTargetBlock('A')) {
if (me.getInputTargetBlock('B').outputConnection.check_) {
me.getInputTargetBlock('A').setCheck(me.getInputTargetBlock('B').outputConnection.check_[0]);
} else {
me.getInput('A').setCheck(null);
}
} else if (me.getInputTargetBlock('A') && me.getInputTargetBlock('B')) {
if (me.getInputTargetBlock('A').outputConnection.check_) {
me.getInput('B').setCheck(me.getInputTargetBlock('A').outputConnection.check_[0]);
} else if (me.getInput('B').outputConnection.check_) {
me.getInput('A').setCheck(me.getInputTargetBlock('B').outputConnection.check_[0]);
}
} else {
me.getInput('A').setCheck(null);
me.getInput('B').setCheck(null);
}
}
});
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment