1
0
mirror of https://github.com/node-red/node-red-nodes.git synced 2023-10-10 13:36:58 +02:00
node-red-nodes/storage/tail/28-tail.html
zinen 78972a68ab Tail node add input filename (#557)
* Allow input

Added input point, removed requirement for data on data point 'filename' and added help text for new input parameter.

* Added filename parameter as an input

Handling of input msg add for parameter 'filename'. Monitoring will stop if no filename is defined either at the node level or as an input.

* Added 'state' to locale

Messages for node state added for en_US language

* Replaced messages with pointers to locale file

* Typo fixed

* Made inputs dynamic

Input bullet only available if filename is empty
2019-08-15 22:03:13 +01:00

79 lines
3.2 KiB
HTML

<script type="text/x-red" data-template-name="tail">
<div class="form-row">
<label for="node-input-filename"><i class="fa fa-file"></i> <span data-i18n="tail.label.filename"></span></label>
<input id="node-input-filename" type="text">
</div>
<div class="form-row">
<label for="node-input-filetype"><i class="fa fa-file-text-o"></i> <span data-i18n="tail.label.type"></span></label>
<select type="text" id="node-input-filetype">
<option value="text" data-i18n="tail.action.text"></option>
<option value="binary" data-i18n="tail.action.binary"></option>
</select>
</div>
<div class="form-row" id="node-tail-split">
<!-- <label>&nbsp;</label>
<input type="checkbox" id="node-input-split" placeholder="Name" style="display: inline-block; width: auto; vertical-align: top;">
<label for="node-input-split" style="width: 70%;"><span data-i18n="tail.label.splitlines"></span></label> -->
<label for="node-input-split"><i class="fa fa-tag"></i> <span data-i18n="tail.label.splitlines"></span></label>
<input type="text" id="node-input-split" data-i18n="[placeholder]tail.label.regex">
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="tail.label.name"></span></label>
<input type="text" id="node-input-name" data-i18n="[placeholder]tail.label.name">
</div>
</script>
<script type="text/x-red" data-help-name="tail">
<p>Tails (watches for things to be added) to the configured file.</p>
<p>Note: On Windows you may need to close the file between writes for any updates to be registered.</p>
<h3>Input</h3>
<dl class="message-properties">
<dt class="optional">filename <span class="property-type">string</span></dt>
<dd>If not configured in the node, this optional property sets the name of the file to be tailed.
If an empty string <code>""</code> is received, the tailing will stop.</dd>
</dl>
<h3>Outputs</h3>
<ul>
<li>Text (UTF-8) files will be returned as strings.</li>
<li>Binary files will be returned as Buffer objects.</li>
</ul>
</script>
<script type="text/javascript">
RED.nodes.registerType('tail',{
category: 'storage-input',
defaults: {
name: {value:""},
filetype: {value:"text"},
split: {value:"[\\r]{0,1}\\n"},
filename: {value:""},
inputs: {value:1}
},
color:"BurlyWood",
inputs:1,
outputs:1,
icon: "file.png",
label: function() {
return this.name||this.filename||this._("tail.tail");
},
labelStyle: function() {
return this.name?"node_label_italic":"";
},
oneditprepare: function() {
$("#node-input-filetype").on("change",function() {
if (this.value === "text") { $("#node-tail-split").show(); }
else { $("#node-tail-split").hide(); }
});
},
oneditsave: function() {
var that = this;
if($("#node-input-filename").val()===""){
that.inputs = 1;
} else {
that.inputs = 0;
}
}
});
</script>