UNPKG

@zigasebenik/node-red-zte-sms

Version:

A Node-RED node to send sms messages using ZTE modem.

90 lines (84 loc) • 3.3 kB
<script type="text/javascript"> RED.nodes.registerType('zte-sms-send', { category: 'ZTE', color: '#E9967A', defaults: { name: { value: '_DEFAULT_' }, modem: { value: '', type: 'zte-modem', required: true }, complete: { value: 'false', required: true }, targetType: { value: undefined }, phoneNumber: { value: '' } }, inputs: 1, outputs: 1, paletteLabel: 'SMS Send', align: 'right', icon: 'font-awesome/fa-envelope-o', label: function () { return `${(this.name || 'zte-sms-send')} \tšŸ–‚`; }, onadd: function() { if (this.name === '_DEFAULT_') { this.name = ''; RED.actions.invoke("core:generate-node-names", this, { generateHistory: false }); } }, oneditprepare: function() { $("#node-input-typed-complete").typedInput({ default: 'msg', types: ['msg', { value: 'full', label: RED._('node-red:debug.msgobj'), hasValue: false }], typeField: $('#node-input-targetType') }); if ((this.targetType === "full") || this.complete.toString() === 'true') { $('#node-input-typed-complete').typedInput('type', 'full'); } else { const property = (!this.complete || (this.complete === 'false')) ? 'payload' : this.complete.toString(); $('#node-input-typed-complete').typedInput('type', 'msg'); $('#node-input-typed-complete').typedInput('value', property); } $('#node-input-typed-complete').on('change', () => { if ( $('#node-input-typed-complete').typedInput('type') === 'msg' && $('#node-input-typed-complete').typedInput('value') === '' ) { $('#node-input-typed-complete').typedInput('value', 'payload'); } }); }, oneditsave: function () { const type = $('#node-input-typed-complete').typedInput('type'); if (type === 'full') { $("#node-input-complete").val("true"); } else { $("#node-input-complete").val($("#node-input-typed-complete").typedInput('value')); } }, }); </script> <script type="text/html" data-template-name="zte-sms-send"> <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-modem"><i class="fa fa-wifi"></i> Modem</label> <input id="node-input-modem" type="node-input-modem" style="width: 70%"> </div> <div class="form-row"> <label for="node-input-typed-complete"><i class="fa fa-envelope-o"></i> SMS message</label> <input id="node-input-typed-complete" type="text"> <input id="node-input-complete" type="hidden"> <input id="node-input-targetType" type="hidden"> </div> <div class="form-row"> <label for="node-input-phoneNumber"><i class="fa fa-mobile"></i> Phone number</label> <input type="text" id="node-input-phoneNumber"> </div> </script> <script type="text/html" data-help-name="zte-sms-send"> <a href="https://github.com/sebenik/node-red-zte-sms?tab=readme-ov-file">Documentation available here.</a> </script>