Intial Commit
This commit is contained in:
102
nodered/rootfs/data/node_modules/node-red-contrib-throttle/throttle.html
generated
vendored
Normal file
102
nodered/rootfs/data/node_modules/node-red-contrib-throttle/throttle.html
generated
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
<script type="text/x-red" data-template-name="throttle">
|
||||
<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=""><i class="fa fa-filter"></i> Throttle</label>
|
||||
<select id="node-input-throttleType" style="width: 70%">
|
||||
<option value="time">by time</option>
|
||||
<option value="count">by count</option>
|
||||
<option value="block">by block size</option>
|
||||
<option value="reset">by reset</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-row throttle-limit-row" id="throttle-limit-row-time">
|
||||
<label for="node-input-timeLimit"><i class="fa fa-clock-o"></i> Time Limit</label>
|
||||
<input type="text" id="node-input-timeLimit" placeholder="0" style="padding-left: 5px; width: 70%">
|
||||
<input type="hidden" id="node-input-timeLimitType">
|
||||
</div>
|
||||
<div class="form-row throttle-limit-row hidden" id="throttle-limit-row-count">
|
||||
<label for="node-input-countLimit"><i class="fa fa-hashtag"></i> Count Limit</label>
|
||||
<input type="text" id="node-input-countLimit" placeholder="0">
|
||||
</div>
|
||||
<div class="form-row throttle-limit-row hidden" id="throttle-limit-row-block">
|
||||
<label for="node-input-blockSize"><i class="fa fa-hashtag"></i> Block Size</label>
|
||||
<input type="text" id="node-input-blockSize" placeholder="0">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label> </label>
|
||||
<input type="checkbox" id="node-input-locked" style="display: inline-block; width: auto; vertical-align: top;">
|
||||
<label for="node-input-locked" style="width: 70%;">Locked by default?</label>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-help-name="throttle">
|
||||
<p>A simple node to throttle down passed through message amount.</p>
|
||||
<p>Just insert the throttle node in between two others, and the passed through message amount can be limited by different parameters.</p>
|
||||
<p><strong>By Time:</strong><br/>
|
||||
Limits the passed through messages by a given amount of time.
|
||||
For example: setting the node to <code>10 seconds</code> means, that only one message in ten seconds will be forwarded.</p>
|
||||
<p><strong>By Count:</strong><br/>
|
||||
Limits the passed through messages by a given count.
|
||||
For example: setting the node to a count of <code>5</code> means, that only every fifth message will be forwarded.</p>
|
||||
<p><strong>By Block Size:</strong><br/>
|
||||
Limits the passed through messages by a given block size.
|
||||
The counter will be reset when a message with <code>msg.reset</code> was received.
|
||||
For example: setting the node to a block size of <code>5</code> means, that only the first five messages will be forwarded.</p>
|
||||
<p><strong>By Reset:</strong><br/>
|
||||
Will only pass through a single message, when a message with <code>msg.reset</code> was received before.</p>
|
||||
<p>Every other messages will be dropped!</p>
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType("throttle", {
|
||||
category: "function",
|
||||
defaults: {
|
||||
name: {value:""},
|
||||
throttleType: {value:"time"},
|
||||
timeLimit: {value:0,validate:RED.validators.number()},
|
||||
timeLimitType: {value:"seconds"},
|
||||
countLimit: {value:0,validate:RED.validators.number()},
|
||||
blockSize: {value:0,validate:RED.validators.number()},
|
||||
locked: {value:false}
|
||||
},
|
||||
color:"#e6e0f8",
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
icon: "throttle.png",
|
||||
label: function() {
|
||||
return this.name || "throttle";
|
||||
},
|
||||
labelStyle: function() {
|
||||
return this.name ? "node_label_italic" : "";
|
||||
},
|
||||
oneditprepare: function() {
|
||||
// defaults
|
||||
this.throttleType = !this.throttleType ? "time" : this.throttleType;
|
||||
this.countLimit = !this.countLimit ? 0 : this.countLimit;
|
||||
this.blockSize = !this.blockSize ? 0 : this.blockSize;
|
||||
this.timeLimit = !this.timeLimit ? 0 : this.timeLimit;
|
||||
this.timeLimitType = !this.timeLimitType ? "seconds" : this.timeLimitType;
|
||||
|
||||
// change listener for type select
|
||||
$("#node-input-throttleType").change(function() {
|
||||
$(".throttle-limit-row").hide();
|
||||
$("#throttle-limit-row-" + $(this).val()).show();
|
||||
});
|
||||
|
||||
// typed input for time throttle
|
||||
$("#node-input-timeLimit").typedInput({
|
||||
default: "seconds",
|
||||
typeField: $("#node-input-timeLimitType"),
|
||||
types: [
|
||||
{value: "milliseconds", label: "milliseconds", hasValue: true},
|
||||
{value: "seconds", label: "seconds", hasValue: true},
|
||||
{value: "minutes", label: "minutes", hasValue: true},
|
||||
{value: "hours", label: "hours", hasValue: true}
|
||||
]
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user