Initial commit

Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com>
Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com>
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com>
Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com>
Co-Authored-By: Johan  <4934465+joolsus@users.noreply.github.com>
Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com>
Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
This commit is contained in:
Michael Cartner
2024-01-26 11:52:55 +01:00
commit b9c60b07dc
2789 changed files with 868795 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
'use strict';
const ConditionNode = {
name: 'Condition',
docs: 'https://docs.noodl.net/nodes/utilities/logic/condition',
category: 'Logic',
initialize: function () {},
getInspectInfo() {
const condition = this.getInputValue('condition');
let value;
if (condition === undefined) {
value = '[No input]';
}
value = condition;
return [
{
type: 'value',
value
}
];
},
inputs: {
condition: {
type: 'boolean',
displayName: 'Condition',
group: 'General',
set(value) {
if (!this.isInputConnected('eval')) {
// Evaluate right away
this.scheduleEvaluate();
}
}
},
eval: {
type: 'signal',
displayName: 'Evaluate',
group: 'Actions',
valueChangedToTrue() {
this.scheduleEvaluate();
}
}
},
outputs: {
ontrue: {
type: 'signal',
displayName: 'On True',
group: 'Events'
},
onfalse: {
type: 'signal',
displayName: 'On False',
group: 'Events'
},
result: {
type: 'boolean',
displayName: 'Is True',
group: 'Booleans',
get() {
return !!this.getInputValue('condition');
}
},
isfalse: {
type: 'boolean',
displayName: 'Is False',
group: 'Booleans',
get() {
return !this.getInputValue('condition');
}
}
},
methods: {
scheduleEvaluate() {
this.scheduleAfterInputsHaveUpdated(() => {
this.flagOutputDirty('result');
this.flagOutputDirty('isfalse');
const condition = this.getInputValue('condition');
this.sendSignalOnOutput(condition ? 'ontrue' : 'onfalse');
});
}
}
};
module.exports = {
node: ConditionNode
};