| <!-- |
| Copyright 2014 IBM Corp. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- Sample html file that corresponds to the 99-sample.js file --> |
| <!-- This creates and configures the onscreen elements of the node --> |
| |
| <!-- If you use this as a template, update the copyright with your own name. --> |
| |
| <!-- First, the content of the edit dialog is defined. --> |
| |
| <script type="text/x-red" data-template-name="sample"> |
| <!-- data-template-name identifies the node type this is for --> |
| |
| <!-- Each of the following divs creates a field in the edit dialog. --> |
| <!-- Generally, there should be an input for each property of the node. --> |
| <!-- The for and id attributes identify the corresponding property --> |
| <!-- (with the 'node-input-' prefix). --> |
| <!-- The available icon classes are defined Twitter Bootstrap glyphicons --> |
| <div class="form-row"> |
| <label for="node-input-topic"><i class="fa fa-tasks"></i> Topic</label> |
| <input type="text" id="node-input-topic" placeholder="Topic"> |
| </div> |
| |
| <br/> |
| <!-- By convention, most nodes have a 'name' property. The following div --> |
| <!-- provides the necessary field. Should always be the last option --> |
| <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> |
| </script> |
| |
| |
| <!-- Next, some simple help text is provided for the node. --> |
| <script type="text/x-red" data-help-name="sample"> |
| <!-- data-help-name identifies the node type this help is for --> |
| <!-- This content appears in the Info sidebar when a node is selected --> |
| <!-- The first <p> is used as the pop-up tool tip when hovering over a --> |
| <!-- node in the palette. --> |
| <p>Simple sample input node. Just sends a single message when it starts up. |
| This is not very useful.</p> |
| <p>Outputs an object called <b>msg</b> containing <b>msg.topic</b> and |
| <b>msg.payload</b>. msg.payload is a String.</p> |
| </script> |
| |
| <!-- Finally, the node type is registered along with all of its properties --> |
| <!-- The example below shows a small subset of the properties that can be set--> |
| <script type="text/javascript"> |
| RED.nodes.registerType('sample',{ |
| category: 'input', // the palette category |
| defaults: { // defines the editable properties of the node |
| name: {value:""}, // along with default values. |
| topic: {value:"", required:true} |
| }, |
| inputs:1, // set the number of inputs - only 0 or 1 |
| outputs:1, // set the number of outputs - 0 to n |
| // set the icon (held in icons dir below where you save the node) |
| icon: "myicon.png", // saved in icons/myicon.png |
| label: function() { // sets the default label contents |
| return this.name||this.topic||"sample"; |
| }, |
| labelStyle: function() { // sets the class to apply to the label |
| return this.name?"node_label_italic":""; |
| } |
| }); |
| </script> |