mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Exec node: remove addpayValue and reuse addpay to track appending property
This commit is contained in:
parent
89485971fa
commit
bdb548ffdc
@ -21,9 +21,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label><i class="fa fa-plus"></i> <span data-i18n="exec.label.append"></span></label>
|
<label><i class="fa fa-plus"></i> <span data-i18n="exec.label.append"></span></label>
|
||||||
<input type="checkbox" id="node-input-addpay" style="display:inline-block; width:auto;">
|
<input type="checkbox" id="node-input-addpay-cb" style="display:inline-block; width:auto;">
|
||||||
|
<input type="text" id="node-input-addpay" style="margin-left: 5px; width:160px;">
|
||||||
<input type="text" id="node-input-addpayValue" style="width:160px;">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-input-append"> </label>
|
<label for="node-input-append"> </label>
|
||||||
@ -53,8 +52,7 @@
|
|||||||
color:"darksalmon",
|
color:"darksalmon",
|
||||||
defaults: {
|
defaults: {
|
||||||
command: {value:""},
|
command: {value:""},
|
||||||
addpay: {value:false},
|
addpay: {value:""},
|
||||||
addpayValue: {value:"payload"},
|
|
||||||
append: {value:""},
|
append: {value:""},
|
||||||
useSpawn: {value:"false"},
|
useSpawn: {value:"false"},
|
||||||
timer: {value:""},
|
timer: {value:""},
|
||||||
@ -81,13 +79,24 @@
|
|||||||
if ($("#node-input-useSpawn").val() === null) {
|
if ($("#node-input-useSpawn").val() === null) {
|
||||||
$("#node-input-useSpawn").val(this.useSpawn.toString());
|
$("#node-input-useSpawn").val(this.useSpawn.toString());
|
||||||
}
|
}
|
||||||
if ($("#node-input-addpayValue").val() === "") {
|
$("#node-input-addpay-cb").prop("checked", this.addpay === true || (this.addpay !== false && this.addpay !== ""))
|
||||||
$("#node-input-addpayValue").val("payload");
|
var addpayValue = (this.addpay === true)?"payload":((this.addpay === false || this.addpay === "")?"payload":this.addpay);
|
||||||
}
|
$("#node-input-addpay-cb").on("change", function(evt) {
|
||||||
$("#node-input-addpayValue").typedInput({
|
$("#node-input-addpay").typedInput("disable",!$("#node-input-addpay-cb").prop("checked"));
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#node-input-addpay").val(addpayValue);
|
||||||
|
$("#node-input-addpay").typedInput({
|
||||||
default: "msg",
|
default: "msg",
|
||||||
types: ["msg"]
|
types: ["msg"]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#node-input-addpay-cb").trigger("change")
|
||||||
|
},
|
||||||
|
oneditsave: function() {
|
||||||
|
if (!$("#node-input-addpay-cb").prop("checked")) {
|
||||||
|
$("#node-input-addpay").val("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -26,7 +26,9 @@ module.exports = function(RED) {
|
|||||||
this.cmd = (n.command || "").trim();
|
this.cmd = (n.command || "").trim();
|
||||||
if (n.addpay === undefined) { n.addpay = true; }
|
if (n.addpay === undefined) { n.addpay = true; }
|
||||||
this.addpay = n.addpay;
|
this.addpay = n.addpay;
|
||||||
this.addpayValue = n.addpayValue || "payload";
|
if (this.addpay === true) {
|
||||||
|
this.addpay = "payload";
|
||||||
|
}
|
||||||
this.append = (n.append || "").trim();
|
this.append = (n.append || "").trim();
|
||||||
this.useSpawn = (n.useSpawn == "true");
|
this.useSpawn = (n.useSpawn == "true");
|
||||||
this.timer = Number(n.timer || 0)*1000;
|
this.timer = Number(n.timer || 0)*1000;
|
||||||
@ -66,7 +68,7 @@ module.exports = function(RED) {
|
|||||||
// then prepend with the msg.payload
|
// then prepend with the msg.payload
|
||||||
var arg = node.cmd;
|
var arg = node.cmd;
|
||||||
if (node.addpay) {
|
if (node.addpay) {
|
||||||
var value = RED.util.getMessageProperty(msg, node.addpayValue);
|
var value = RED.util.getMessageProperty(msg, node.addpay);
|
||||||
if (value !== undefined) {
|
if (value !== undefined) {
|
||||||
arg += " " + value;
|
arg += " " + value;
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ describe('exec node', function() {
|
|||||||
n1.should.have.property("name", "exec1");
|
n1.should.have.property("name", "exec1");
|
||||||
n1.should.have.property("cmd", "");
|
n1.should.have.property("cmd", "");
|
||||||
n1.should.have.property("append", "");
|
n1.should.have.property("append", "");
|
||||||
n1.should.have.property("addpay",true);
|
n1.should.have.property("addpay","payload");
|
||||||
n1.should.have.property("timer",0);
|
n1.should.have.property("timer",0);
|
||||||
n1.should.have.property("oldrc","false");
|
n1.should.have.property("oldrc","false");
|
||||||
done();
|
done();
|
||||||
@ -115,23 +115,27 @@ describe('exec node', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should exec a simple command with appended value from message', function (done) {
|
it('should exec a simple command with appended value from message', function (done) {
|
||||||
var flow = [{id:"n1", type:"exec", wires:[["n2"]], command:"echo", addpay:true, addpayValue:"topic", append:"more", oldrc:"false"},
|
var flow = [{id:"n1", type:"exec", wires:[["n2"]], command:"echo", addpay:"topic", append:"more", oldrc:"false"},
|
||||||
{id:"n2", type:"helper"}];
|
{id:"n2", type:"helper"}];
|
||||||
helper.load(execNode, flow, function () {
|
helper.load(execNode, flow, function () {
|
||||||
var n1 = helper.getNode("n1");
|
var n1 = helper.getNode("n1");
|
||||||
var n2 = helper.getNode("n2");
|
var n2 = helper.getNode("n2");
|
||||||
n2.on("input", function (msg) {
|
n2.on("input", function (msg) {
|
||||||
|
try {
|
||||||
msg.should.have.property("payload");
|
msg.should.have.property("payload");
|
||||||
msg.payload.should.be.a.String();
|
msg.payload.should.be.a.String();
|
||||||
msg.payload.should.equal("bar more\n");
|
msg.payload.should.equal("bar more\n");
|
||||||
done();
|
done();
|
||||||
|
} catch(err) {
|
||||||
|
done(err)
|
||||||
|
}
|
||||||
});
|
});
|
||||||
n1.receive({payload:"foo", topic:"bar"});
|
n1.receive({payload:"foo", topic:"bar"});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should exec a simple command with extra parameters', function(done) {
|
it('should exec a simple command with extra parameters', function(done) {
|
||||||
var flow = [{id:"n1",type:"exec",wires:[["n2"],["n3"],["n4"]],command:"echo", addpay:true, append:"more", oldrc:"false"},
|
var flow = [{id:"n1",type:"exec",wires:[["n2"],["n3"],["n4"]],command:"echo", addpay:"payload", append:"more", oldrc:"false"},
|
||||||
{id:"n2", type:"helper"},{id:"n3", type:"helper"},{id:"n4", type:"helper"}];
|
{id:"n2", type:"helper"},{id:"n3", type:"helper"},{id:"n4", type:"helper"}];
|
||||||
var spy = sinon.stub(child_process, 'exec',
|
var spy = sinon.stub(child_process, 'exec',
|
||||||
function(arg1, arg2, arg3, arg4) {
|
function(arg1, arg2, arg3, arg4) {
|
||||||
|
Loading…
Reference in New Issue
Block a user