node-red-contrib-motechat
Version:
ultranet topic and payload communication
58 lines (53 loc) • 1.92 kB
HTML
<script type="text/x-red" data-template-name="payload">
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="payload">
</div>
<div class="form-row">
<label for="node-input-payload"><i class="fa fa-envelope"></i> <span data-i18n="common.label.payload"></span></label>
<input type="text" id="node-input-payload" style="width:70%">
<input type="hidden" id="node-input-payloadType" placeholder="str">
</div>
</script>
<script type="text/x-red" data-help-name="payload">
</script>
<script type="text/javascript">
RED.nodes.registerType('payload', {
category: 'motechat',
color: '#E5BC9F',
defaults: {
name: {
value: ''
},
payload: {
value: "",
validate: RED.validators.typedInput("payloadType"),
},
payloadType: {
value: "json"
},
},
inputs: 1,
outputs: 1,
icon: "payload.png",
label: function() {
return this.name || "payload"
},
oneditprepare: function() {
if (this.payloadType == null) {
if (this.payload == "") {
this.payloadType = "str";
}
} else if (this.payloadType === 'string' || this.payloadType === 'none') {
this.payloadType = "str";
}
$("#node-input-payloadType").val(this.payloadType);
$("#node-input-payload").typedInput({
default: 'jsonata',
typeField: $("#node-input-payloadType"),
types: ['str', 'num', 'bool', 'json', 'jsonata']
});
$("#node-input-payload").typedInput('type', this.payloadType)
}
});
</script>