mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
added sending params object in handleStatus in comms.js and using params object in status event in red.js. added test for handleStatusEvent with params for comms.js
This commit is contained in:
parent
5b5b06cc06
commit
3c67d7b9a7
@ -517,7 +517,7 @@ var RED = (function() {
|
|||||||
var node = RED.nodes.node(parts[1]);
|
var node = RED.nodes.node(parts[1]);
|
||||||
if (node) {
|
if (node) {
|
||||||
if (msg.hasOwnProperty("text") && msg.text !== null && /^[@a-zA-Z]/.test(msg.text)) {
|
if (msg.hasOwnProperty("text") && msg.text !== null && /^[@a-zA-Z]/.test(msg.text)) {
|
||||||
msg.text = node._(msg.text.toString(),{defaultValue:msg.text.toString()});
|
msg.text = node._(msg.text.toString(),{defaultValue:msg.text.toString(), ...(msg.params || {})});
|
||||||
}
|
}
|
||||||
node.status = msg;
|
node.status = msg;
|
||||||
node.dirtyStatus = true;
|
node.dirtyStatus = true;
|
||||||
|
@ -51,6 +51,10 @@ function handleStatusEvent(event) {
|
|||||||
fill: event.status.fill,
|
fill: event.status.fill,
|
||||||
shape: event.status.shape
|
shape: event.status.shape
|
||||||
};
|
};
|
||||||
|
const params = event.status.params;
|
||||||
|
if(params && typeof params === "object" && !Array.isArray(params)){
|
||||||
|
status.params = params;
|
||||||
|
}
|
||||||
publish("status/"+event.id,status,true);
|
publish("status/"+event.id,status,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -286,6 +286,27 @@ describe("runtime-api/comms", function() {
|
|||||||
}).catch(done);
|
}).catch(done);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('retains non-blank status message with parameters', function(done) {
|
||||||
|
eventHandlers['node-status']({
|
||||||
|
id: "node1234",
|
||||||
|
status: {
|
||||||
|
text: "path.to.status.locale",
|
||||||
|
params: {
|
||||||
|
myParam0: "test"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
messages.should.have.length(0);
|
||||||
|
comms.addConnection({client: clientConnection}).then(function() {
|
||||||
|
return comms.subscribe({client: clientConnection, topic: "status/#"}).then(function() {
|
||||||
|
messages.should.have.length(1);
|
||||||
|
messages[0].should.have.property("topic","status/node1234");
|
||||||
|
messages[0].should.have.property("data",{text:"path.to.status.locale", fill: undefined, shape: undefined, params: { myParam0: "test"} });
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
}).catch(done);
|
||||||
|
});
|
||||||
|
|
||||||
it('retained messages get cleared',function(done) {
|
it('retained messages get cleared',function(done) {
|
||||||
eventHandlers['comms']({
|
eventHandlers['comms']({
|
||||||
topic: "my-event",
|
topic: "my-event",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user