UNPKG

node-red-contrib-googlehome-actions-v2-piyanggoon

Version:
121 lines (114 loc) 5.51 kB
<script type="text/javascript"> RED.nodes.registerType('googlehome-message',{ category: 'Google Assistant', defaults: { name: {value: ""}, message_type: {value: "", required: true}, message: {value: ""}, permissions: {value: ""}, url: {value: ""}, suggestions: {value: ""}, concat_message: {value: false} }, paletteLabel: "Message", icon: 'googlehome-message.png', outputs: 1, inputs: 1, label: function() { return (this.name !== "" ? "Message (" + this.name + ")" : "Google Home Message"); }, oneditprepare: function(){ $("#node-input-message_type").on("change", function(){ $(".form-row-permissions").hide(); $(".form-row-message").hide(); $(".form-row-simple-response").hide(); $(".form-row-url").hide(); $(".form-row-suggestions").hide(); var selected = $("#node-input-message_type option:selected").val(); switch(selected){ case "Permission": $(".form-row-permissions").show(); $(".form-row-message").show(); break; case "LinkOutSuggestion": $(".form-row-url").show(); break; case "SimpleResponse": $(".form-row-message").show(); $(".form-row-simple-response").show(); break; case "Suggestions": $(".form-row-suggestions").show(); break; } }); } }); </script> <script type="text/x-red" data-template-name="googlehome-message"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> <div class="form-row"> <label for="node-input-message_type"><i class="fa fa-tag"></i> Type</label> <select type="text" id="node-input-message_type" style="display: inline-block; width: 70%;"> <option value="SimpleResponse">SimpleResponse</option> <option value="Permission">Permission</option> <option value="LinkOutSuggestion">LinkOutSuggestion</option> <option value="Suggestions">Suggestions</option> </select> </div> <div class="form-row form-row-message"> <label for="node-input-message"><i class="fa fa-tag"></i> Message</label> <input type="text" id="node-input-message" placeholder="Message"> </div> <div class="form-row form-row-permissions"> <label for="node-input-permissions"><i class="fa fa-tag"></i> Permissions</label> <input type="text" id="node-input-permissions" placeholder="Permissions"> </div> <div class="form-row form-row-url"> <label for="node-input-url"><i class="fa fa-tag"></i> URL</label> <input type="text" id="node-input-url" placeholder="URL"> </div> <div class="form-row form-row-suggestions"> <label for="node-input-suggestions"><i class="fa fa-tag"></i> Suggestions</label> <input type="text" id="node-input-suggestions" placeholder="Suggestions"> </div> <div class="form-row"> <label for="node-input-concat_message"><i class="fa fa-tag"></i> Concat</label> <input type="checkbox" id="node-input-concat_message" placeholder="Concat" style="width: auto; margin: 0;"> </div> <div class="form-tips form-row-permissions"> <p><b>Permissions:</b> You can type more than one permissions, comma separated. Accepted permissions are: NAME, DEVICE_PRECISE_LOCATION, DEVICE_COARSE_LOCATION, UPDATE</p> <p>The message and permissions values informed here will be overwritten by <code>msg.payload.message</code> and <code>msg.payload.permissions</code> if present</p> </div> <div class="form-tips form-row-simple-response"> <p>The message value informed here will be overwritten by <code>msg.payload.message</code> if present</p> </div> <div class="form-tips form-row-url"> <p>The url value informed here will be overwritten by <code>msg.payload.url</code> if present</p> </div> <div class="form-tips form-row-suggestions"> <p><b>Suggestions:</b> You can type more than one suggestion, comma separated.</p> <p>The suggestions value informed here will be overwritten by <code>msg.payload.suggestions</code> if present</p> </div> </script> <script type="text/x-red" data-help-name="googlehome-message"> <p>This node can help building static messages. It will assembly the message object and set or add (depending on the <code>concat</code> property) into <code>gh_messages</code> array.</p> <p>The <code>concat</code> property in the node editor tells to add or set to <code>gh_messages</code>.</p> <h3>Output</h3> <ol class="node-ports"> <li>Answer <dl class="message-properties"> <dl class="message-properties"> <dt>msg.gh_messages <span class="property-type">array</span></dt> <dd>An array of messages objects that will be sent to google assistant as an answer.</dd> </dl> </li> </ol> <h3>Details</h3> <p>This node will collect all necessary data for the type of message selected and assembly the message object.</p> <p>It will, then, add or set to the gh_messages array depending on the <code>concat</code> property value.</p> </script>