94 lines
3.5 KiB
HTML
94 lines
3.5 KiB
HTML
|
|
||
|
<script type="text/x-red" data-template-name="MySQLdatabase">
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-host"><i class="fa fa-globe"></i> Host</label>
|
||
|
<input type="text" id="node-config-input-host">
|
||
|
</div>
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-port"><i class="fa fa-random"></i> Port</label>
|
||
|
<input type="text" id="node-config-input-port">
|
||
|
</div>
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-user"><i class="fa fa-user"></i> User</label>
|
||
|
<input type="text" id="node-config-input-user">
|
||
|
</div>
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-pass"><i class="fa fa-lock"></i> Password</label>
|
||
|
<input type="password" id="node-config-input-password">
|
||
|
</div>
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-db"><i class="fa fa-database"></i> Database</label>
|
||
|
<input type="text" id="node-config-input-db">
|
||
|
</div>
|
||
|
<div class="form-row">
|
||
|
<label for="node-config-input-tz"><i class="fa fa-clock-o"></i> Timezone</label>
|
||
|
<input type="text" id="node-config-input-tz">
|
||
|
</div>
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
RED.nodes.registerType('MySQLdatabase',{
|
||
|
category: 'config',
|
||
|
defaults: {
|
||
|
host: {value:"127.0.0.1",required:true},
|
||
|
port: {value:"3306",required:true},
|
||
|
//user: {value:"",required:true},
|
||
|
//pass: {value:"",required:true},
|
||
|
db: {value:"",required:true},
|
||
|
tz: {value:""}
|
||
|
},
|
||
|
credentials: {
|
||
|
user: {type: "text"},
|
||
|
password: {type: "password"}
|
||
|
},
|
||
|
label: function() {
|
||
|
return this.db;
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<script type="text/x-red" data-template-name="mysql">
|
||
|
<div class="form-row">
|
||
|
<label for="node-input-mydb"><i class="fa fa-database"></i> Database</label>
|
||
|
<input type="text" id="node-input-mydb">
|
||
|
</div>
|
||
|
<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>
|
||
|
|
||
|
<script type="text/x-red" data-help-name="mysql">
|
||
|
<p>Allows basic access to a MySQL database.</p>
|
||
|
<p>This node uses the <b>query</b> operation against the configured database. This does allow both INSERTS and DELETES.
|
||
|
By its very nature it allows SQL injection... so <i>be careful out there...</i></p>
|
||
|
<p><code>msg.topic</code> must hold the <i>query</i> for the database, and the result is returned in <code>msg.payload</code>.</p>
|
||
|
<p><code>msg.payload</code> can contain an array of values to bind to the topic.</p>
|
||
|
<p>Typically the returned payload will be an array of the result rows.</p>
|
||
|
<p>If nothing is found for the key then <i>null</i> is returned,</p>
|
||
|
<p>The reconnect timeout in milliseconds can be changed by adding a line to <b>settings.js</b>
|
||
|
<pre>mysqlReconnectTime: 30000,</pre></p>
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
RED.nodes.registerType('mysql',{
|
||
|
category: 'storage-input',
|
||
|
color:"#e97b00",
|
||
|
defaults: {
|
||
|
mydb: {type:"MySQLdatabase",required:true},
|
||
|
name: {value:""}
|
||
|
},
|
||
|
inputs:1,
|
||
|
outputs:1,
|
||
|
icon: "db.png",
|
||
|
label: function() {
|
||
|
var levelNode = RED.nodes.node(this.mydb);
|
||
|
return this.name||(levelNode?levelNode.label():"mysql");
|
||
|
},
|
||
|
labelStyle: function() {
|
||
|
return this.name?"node_label_italic":"";
|
||
|
}
|
||
|
});
|
||
|
</script>
|