1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

add strict to redisout and fa-icons

This commit is contained in:
Dave C-J 2014-07-17 10:25:52 +01:00
parent 2b423fe9be
commit fea68d4eda
2 changed files with 16 additions and 18 deletions

View File

@ -16,17 +16,17 @@
<script type="text/x-red" data-template-name="redis out"> <script type="text/x-red" data-template-name="redis out">
<div class="form-row node-input-hostname"> <div class="form-row node-input-hostname">
<label for="node-input-hostname"><i class="icon-bookmark"></i> Host</label> <label for="node-input-hostname"><i class="fa fa-bookmark"></i> Host</label>
<input class="input-append-left" type="text" id="node-input-hostname" placeholder="127.0.0.1" style="width: 40%;" ><button id="node-input-hostname-lookup" class="btn input-append-right"><span class="caret"></span></button> <input class="input-append-left" type="text" id="node-input-hostname" placeholder="127.0.0.1" style="width: 40%;" ><button id="node-input-hostname-lookup" class="btn input-append-right"><span class="caret"></span></button>
<label for="node-input-port" style="margin-left: 10px; width: 35px; "> Port</label> <label for="node-input-port" style="margin-left: 10px; width: 35px; "> Port</label>
<input type="text" id="node-input-port" placeholder="6379" style="width:45px"> <input type="text" id="node-input-port" placeholder="6379" style="width:45px">
</div> </div>
<div class="form-row"> <div class="form-row">
<label for="node-input-key"><i class="icon-briefcase"></i> Key</label> <label for="node-input-key"><i class="fa fa-key"></i> Key</label>
<input type="text" id="node-input-key" placeholder="Redis Key"> <input type="text" id="node-input-key" placeholder="Redis Key">
</div> </div>
<div class="form-row"> <div class="form-row">
<label for="node-input-type"><i class="icon-th"></i> Type</label> <label for="node-input-type"><i class="fa fa-th"></i> Type</label>
<select type="text" id="node-input-structtype" style="width: 150px;"> <select type="text" id="node-input-structtype" style="width: 150px;">
<option value="string">String</option> <option value="string">String</option>
<option value="hash">Hash</option> <option value="hash">Hash</option>
@ -35,7 +35,7 @@
</select> </select>
</div> </div>
<div class="form-row"> <div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label> <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name"> <input type="text" id="node-input-name" placeholder="Name">
</div> </div>
<div class="form-tips"> <div class="form-tips">
@ -45,8 +45,8 @@
</script> </script>
<script type="text/x-red" data-help-name="redis out"> <script type="text/x-red" data-help-name="redis out">
<p>A Redis output node. Options include Hash, Set, List and String.</p> <p>A Redis output node. Options include Hash, Set, List and String.</p>
<p>To run this you need a local Redis server running. For details see <a href="http://redis.io/" target="_new">the Redis site</a>.</p> <p>To run this you need a local Redis server running. For details see <a href="http://redis.io/" target="_new">the Redis site</a>.</p>
</script> </script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -15,11 +15,12 @@
**/ **/
module.exports = function(RED) { module.exports = function(RED) {
"use strict";
var util = require("util"); var util = require("util");
var redis = require("redis"); var redis = require("redis");
var hashFieldRE = /^([^=]+)=(.*)$/; var hashFieldRE = /^([^=]+)=(.*)$/;
var redisConnectionPool = function() { var redisConnectionPool = function() {
var connections = {}; var connections = {};
var obj = { var obj = {
@ -41,7 +42,7 @@ module.exports = function(RED) {
}, },
close: function(connection) { close: function(connection) {
connection._nodeCount -= 1; connection._nodeCount -= 1;
if (connection._nodeCount == 0) { if (connection._nodeCount === 0) {
if (connection) { if (connection) {
clearTimeout(connection.retry_timer); clearTimeout(connection.retry_timer);
connection.end(); connection.end();
@ -52,15 +53,15 @@ module.exports = function(RED) {
}; };
return obj; return obj;
}(); }();
function RedisOutNode(n) { function RedisOutNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.port = n.port||"6379"; this.port = n.port||"6379";
this.hostname = n.hostname||"127.0.0.1"; this.hostname = n.hostname||"127.0.0.1";
this.key = n.key; this.key = n.key;
this.structtype = n.structtype; this.structtype = n.structtype;
this.client = redisConnectionPool.get(this.hostname,this.port); this.client = redisConnectionPool.get(this.hostname,this.port);
if (this.client.connected) { if (this.client.connected) {
@ -100,12 +101,9 @@ module.exports = function(RED) {
} }
} }
}); });
this.on("close", function() {
redisConnectionPool.close(node.client);
});
} }
RED.nodes.registerType("redis out",RedisOutNode); RED.nodes.registerType("redis out",RedisOutNode);
RedisOutNode.prototype.close = function() {
redisConnectionPool.close(this.client);
}
} }