UNPKG

node-red-contrib-boolean-logic-ultimate

Version:

A set of Node-RED enhanced boolean logic and utility nodes, flow interruption, blinker, debouncer, invert, filter, toggle etc.., with persistent values after reboot. Compatible also with Homeassistant values.

133 lines (118 loc) 5.16 kB
<script type="text/javascript"> RED.nodes.registerType('InjectUltimate', { category: 'common', color: '#ff8080', defaults: { name: { value: "Inject", }, topic: { value: "1", }, curVal: { value: true, }, outputJSON: { value: '{ \n\t"payload":"hello",\n\t"topic":"1"\n}' }, }, inputs: 0, outputs: 4, outputLabels: ["True", "False", "Toggle", "JSON"], icon: "inject.svg", button: { onclick: function () { // Called when the button is clicked if (this.changed) { return RED.notify(RED._("notification.warning", { message: RED._("notification.warnings.undeployedChanges") }), "warning"); } var node = this; $.ajax({ url: "InjectUltimate/" + this.id, type: "POST", success: function (resp) { RED.notify(node._("inject.success", { label: label }), { type: "success", id: "inject" }); }, error: function (jqXHR, textStatus, errorThrown) { if (jqXHR.status == 404) { RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.not-deployed") }), "error"); } else if (jqXHR.status == 500) { RED.notify(node._("common.notification.error", { message: node._("inject.errors.failed") }), "error"); } else if (jqXHR.status == 0) { RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.no-response") }), "error"); } else { RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.unexpected", { status: jqXHR.status, message: textStatus }) }), "error"); } } }); }, enabled: function () { return !this.changed } }, label: function () { return this.name + " " + this.topic; }, oneditprepare: function () { var node = this; if (node.outputJSON === undefined || node.outputJSON === '') node.outputJSON = '{ \n\t"payload":"hello",\n\t"topic":"1"\n}'; node.editor = RED.editor.createEditor({ id: 'node-input-editoroutputJSON', mode: 'ace/mode/json', value: node.outputJSON }); if ($("#node-input-payloadPropName").val() === "") $("#node-input-payloadPropName").val("payload"); }, oneditsave: function () { var node = this; node.outputJSON = node.editor.getValue(); node.editor.destroy(); delete node.editor; }, oneditcancel: function () { var node = this; node.editor.destroy(); delete node.editor; }, paletteLabel: function () { return "Inject"; } }); </script> <script type="text/html" data-template-name="InjectUltimate"> <div class="form-row"> <b>Inject Ultimate</b>&nbsp&nbsp&nbsp&nbsp<span style="color:red"><i class="fa fa-question-circle"></i>&nbsp<a target="_blank" href="https://github.com/Supergiovane/node-red-contrib-boolean-logic-ultimate"><u>Help online</u></a></span> &nbsp&nbsp&nbsp<span style="color:red"><i class="fa fa-youtube-play"></i>&nbsp<a target="_blank" href="https://youtu.be/sYc6L5QQrTw"><u>Youtube Sample</u></a></span> <br/> <br/> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> <div class="form-row"> <label for="node-input-topic"><i class="fa fa-tasks"></i> Topic</label> <input type="text" id="node-input-topic" placeholder="Topic"> </div> <div class="form-row" > <label style="width:300px;" for="node-input-outputJSON"><i class="fa fa-tasks"></i> JSON</label> <div style="height: 250px; min-height:150px;" class="node-text-editor" id="node-input-editoroutputJSON"></div> </div> </script> <script type="text/markdown" data-help-name="InjectUltimate"> <p>The pourpose of this node is to send a msg to all output pins at once.</p> **Configuration** |Property|Description| |--|--| | Name | Node name.| | Topic | The msg output topic. It can be overridden by the JSON field, but only in the output pin #4.| | JSON | The pin #4 will output this JSON message.| ### Output - pin1 : true - pin2 : false - pin3 : toggle - pin4 : json object <br/> <br/> [SEE THE README FOR FULL HELP AND SAMPLES](https://github.com/Supergiovane/node-red-contrib-boolean-logic-ultimate) [Find it useful?](https://www.paypal.me/techtoday) </script>