mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			76 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> </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:0}
 | 
						|
        },
 | 
						|
        color:"BurlyWood",
 | 
						|
        inputs:0,
 | 
						|
        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>
 |