UNPKG

@isaac-platform/isaac-node-red

Version:

Set of Node-RED nodes to communicate with an ISAAC system

72 lines (67 loc) 2.22 kB
<script type="text/javascript"> // isaac prefix ensures that node appears when filtering by "isaac" RED.nodes.registerType('isaac messages', { category: 'ISAAC', color: '#C0C0C0', icon: 'isaac.svg', inputs: 0, outputs: 1, paletteLabel: 'messages', label: function () { if (this.name) { return this.name; } return this.paletteLabel; }, defaults: { isaacConnection: { type: 'isaac-connection', required: true }, name: { value: '' }, }, oneditprepare: function () { const updateApiLink = () => { const configNodeId = $('#node-input-isaacConnection').val(); if (!configNodeId) { return; } const configNode = RED.nodes.node(configNodeId); if (!configNode || !configNode.ipAddress) { const links = document.querySelectorAll('.isaac-workspace-link, .isaac-doc-link'); links.forEach((link) => { link.style.display = 'none'; }); return; } const docLink = document.querySelector('.isaac-doc-link'); if (docLink) { docLink.style.display = docLink.classList.contains('isaac-full-width') ? 'block' : 'inline'; docLink.href = `${configNode.ipAddress}/docs/v1/?urls.primaryName=Subsystems`; } }; updateApiLink(); $('#node-input-isaacConnection').change(updateApiLink); }, }); </script> <script type="text/html" data-template-name="isaac messages"> <div class="form-row"> <label for="node-input-isaacConnection"><i class="fa fa-server"></i> Connection</label> <input type="text" id="node-input-isaacConnection" /> </div> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> Node Name</label> <input type="text" id="node-input-name" /> </div> <div style="margin-top:12px"> <a href="" target="_blank" class="isaac-doc-link isaac-full-width" style="text-decoration:underline"> <i class="fa fa-book" style="margin-right:8px"></i>API Documentation: Subsystems </a> </div> </script> <script type="text/html" data-help-name="isaac messages"> <p>Incoming messages from ISAAC for processing</p> <h3>Outputs</h3> <dl class="message-properties"> <dt>payload <span class="property-type">array</span></dt> <dd>The messages returned</dd> </dl> </script>