<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>
    </div>
    <div class="form-row">
        <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label>
        <input type="text" id="node-input-name" data-i18n="[placeholder]common.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. (Linux/Mac ONLY)</p>
    <p>This will not work on Windows filesystems, as it relies on the <b>tail -F</b> command.</p>
    <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:false},
            filename: {value:"",required:true}
        },
        color:"BurlyWood",
        inputs:0,
        outputs:1,
        icon: "file.png",
        label: function() {
            return this.name||this.filename||"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(); }
            });
        }
    });
</script>