Add delete option to File node

to replace msg.delete option - now deprecated but not removed.
Addresses some of the confusion  for Issue #399
This commit is contained in:
Dave C-J
2014-11-08 15:34:37 +00:00
parent 8b7e367416
commit 5da45b404c
2 changed files with 37 additions and 20 deletions

View File

@@ -20,14 +20,17 @@
<input type="text" id="node-input-filename" placeholder="Filename">
</div>
<div class="form-row">
<label for="node-input-overwriteFile"><i class="fa fa-random"></i> Action</label>
<select type="text" id="node-input-overwriteFile" style="display: inline-block; width: 250px; vertical-align: top;">
<option value="false">append to file</option>
<option value="true">overwrite file</option>
<option value="delete">delete file</option>
</select>
</div>
<div class="form-row" id="node-appline">
<label>&nbsp;</label>
<input type="checkbox" id="node-input-appendNewline" placeholder="Name" style="display: inline-block; width: auto; vertical-align: top;">
<label for="node-input-appendNewline" style="width: 70%;">Append newline ?</label>
</div>
<div class="form-row">
<label>&nbsp;</label>
<input type="checkbox" id="node-input-overwriteFile" placeholder="Name" style="display: inline-block; width: auto; vertical-align: top;">
<label for="node-input-overwriteFile" style="width: 70%;">Overwrite complete file ?</label>
<label for="node-input-appendNewline" style="width: 70%;">Add newline (\n) to each payload ?</label>
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
@@ -40,7 +43,7 @@
<p>The filename can be configured in the node, if left blank it should be set in an incoming message on <b>msg.filename</b>.</p>
<p>A newline is added to every message. But this can be turned off if required, for example, to allow binary files to be written.</p>
<p>The default behaviour is to append to the file. This can be changed to overwrite the file each time, for example if you want to output a "static" web page or report.</p>
<p>If a <b>msg.delete</b> property exists then the file will be deleted instead.</p>
<p>This node can also be configured to delete a file if required. <i>Note:</i> Using msg.delete is now deprecated.</p>
</script>
<script type="text/x-red" data-template-name="file in">
@@ -73,7 +76,7 @@
name: {value:""},
filename: {value:""},
appendNewline: {value:true},
overwriteFile: {value:false}
overwriteFile: {value:"false"}
},
color:"BurlyWood",
inputs:1,
@@ -81,10 +84,17 @@
icon: "file.png",
align: "right",
label: function() {
return this.name||this.filename;
if (this.overwriteFile === "delete") { return this.name||"delete "+this.filename; }
else { return this.name||this.filename; }
},
labelStyle: function() {
return this.name?"node_label_italic":"";
},
oneditprepare: function() {
$("#node-input-overwriteFile").on("change",function() {
if (this.value === "delete") { $("#node-appline").hide(); }
else { $("#node-appline").show(); }
});
}
});