UNPKG

node-red-contrib-spruthub

Version:
140 lines (131 loc) 6.27 kB
<script type="text/x-red" data-template-name="spruthub-out"> <link rel="stylesheet" href="spruthub/static/css/multiple-select.css" type="text/css" /> <link rel="stylesheet" href="spruthub/static/css/common.css" type="text/css" /> <div class="form-row"> <label for="node-input-name" class="l-width"><i class="fa fa-bookmark"></i> <span data-i18n="node-red-contrib-spruthub/server:label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]node-red-contrib-spruthub/server:placeholder.name"> </div> <div class="form-row" style="display:none;"> <label for="node-input-friendly_name" class="l-width"><i class="fa fa-bookmark"></i> <span data-i18n="node-red-contrib-spruthub/server:label.friendly_name"></span></label> <input type="text" id="node-input-friendly_name" data-i18n="[placeholder]node-red-contrib-spruthub/server:placeholder.friendly_name"> </div> <div class="form-row"> <label for="node-input-server" class="l-width"><i class="fa fa-globe"></i> <span data-i18n="node-red-contrib-spruthub/server:label.server"></span></label> <input type="text" id="node-input-server"> </div> <div class="form-row"> <label for="node-input-uid" class="l-width"><i class="fa fa-crosshairs"></i> <span data-i18n="node-red-contrib-spruthub/server:label.uid"></span></label> <select id="node-input-uid" class="s-width" multiple="multiple"></select> </div> <div class="form-row" id="sh_cid_wr" style="display:none;"> <label for="node-input-cid" class="l-width"><i class="fa fa-tag"></i> <span data-i18n="node-red-contrib-spruthub/server:label.cid"></span></label> <select id="node-input-cid" class="s-width"></select> </div> <!-- <div class="form-row">--> <!-- <label for='node-input-showHidden' class="l-width"></label>--> <!-- <input type="checkbox" id="node-input-showHidden" style="display: inline-block; width: auto; vertical-align: top;"> <span data-i18n="node-red-contrib-spruthub/server:label.show_hidden"></span></input>--> <!-- </div>--> <div class="form-row"> <label for='node-input-enableMultiple' class="l-width"></label> <input type="checkbox" id="node-input-enableMultiple" style="display: inline-block; width: auto; vertical-align: top;"> <span data-i18n="node-red-contrib-spruthub/server:label.enable_multiple"></span></input> </div> <div class="form-row"> <label for="force-refresh" class="l-width"><i class="fa fa-refresh"></i> <span data-i18n="node-red-contrib-spruthub/server:label.refresh"></span></label> <a class="red-ui-button s-width" id="force-refresh" name="force-refresh"><span data-i18n="node-red-contrib-spruthub/server:label.refresh_list"></span></a> </div> <div class="form-row"> <label for="node-input-payload" class="l-width"><i class="fa fa-envelope"></i> <span data-i18n="node-red-contrib-spruthub/server:label.payload"></span></label> <input type="text" id="node-input-payload" style="width:70%"> <input type="hidden" id="node-input-payloadType"> </div> <div class="form-row"> <label for='node-input-rbe' class="l-width"><i class="fa fa-filter"></i> <span data-i18n="node-red-contrib-spruthub/server:label.rbe"></span></label> <input type="checkbox" id="node-input-rbe" style="display: inline-block; width: auto; vertical-align: top;"> <span data-i18n="node-red-contrib-spruthub/server:label.rbe_help"></span></input> </div> </script> <script type='text/javascript'> RED.nodes.registerType('spruthub-out', { category: 'Sprut.hub', color: '#000000', align: 'right', defaults: { name: { value: "" }, server: { type: "spruthub-server", required: true }, friendly_name: { value: "", required: false }, uid: { required: false }, cid: { value: null, required: false }, // showHidden: { // value: false, // required: true // }, enableMultiple: { value: false, required: true }, payload: { value: 'payload', }, payloadType: { value: 'msg', }, rbe: { value: false, required: false } }, inputLabels: "payload", paletteLabel: 'out', inputs: 1, outputs: 0, icon: "logo_white.png", label: function() { var label = 'spruthub-out'; if (this.name) { label = this.name; } else if (typeof(this.friendly_name) == 'string' && this.friendly_name.length) { label = this.friendly_name; } else if (typeof(this.uid) == 'string') { label = this.uid; } return label; }, labelStyle: function () { return "node_label_white"; }, oneditprepare: function() { var node = this; //init typedInput var payloadTypes = { value: 'sh_payload', label: 'SprutHub', icon: 'icons/node-red-contrib-spruthub/logo_black.png', options: [ {'value':'toggle', 'label':'Toggle'} ] }; $('#node-input-payload').typedInput({ types: ['msg', 'str', 'num', 'bool', 'flow', 'global', 'json', payloadTypes], default: 'msg', value: 'payload', typeField: $('#node-input-payloadType'), }); $('#node-input-payloadType').val(node.payloadType); setTimeout(function () { spruthub_devicesSelect(node.uid, {cid:node.cid, allowEmpty:true}); },100); } }); </script>