mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Pass complete status to Status node and filter to editor
This commit is contained in:
parent
8f61a0d258
commit
8fb6bc059e
@ -38,7 +38,12 @@ function handleCommsEvent(event) {
|
|||||||
publish(event.topic,event.data,event.retain);
|
publish(event.topic,event.data,event.retain);
|
||||||
}
|
}
|
||||||
function handleStatusEvent(event) {
|
function handleStatusEvent(event) {
|
||||||
publish("status/"+event.id,event.status,true);
|
var status = {
|
||||||
|
text: event.status.text,
|
||||||
|
fill: event.status.fill,
|
||||||
|
shape: event.status.shape
|
||||||
|
};
|
||||||
|
publish("status/"+event.id,status,true);
|
||||||
}
|
}
|
||||||
function handleRuntimeEvent(event) {
|
function handleRuntimeEvent(event) {
|
||||||
runtime.log.trace("runtime event: "+JSON.stringify(event));
|
runtime.log.trace("runtime event: "+JSON.stringify(event));
|
||||||
|
@ -377,18 +377,17 @@ class Flow {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var message = {
|
var message = {
|
||||||
status: {
|
status: clone(statusMessage)
|
||||||
text: "",
|
}
|
||||||
source: {
|
if (statusMessage.hasOwnProperty("text")) {
|
||||||
|
message.status.text = statusMessage.text.toString();
|
||||||
|
}
|
||||||
|
message.status.source = {
|
||||||
id: node.id,
|
id: node.id,
|
||||||
type: node.type,
|
type: node.type,
|
||||||
name: node.name
|
name: node.name
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
|
||||||
if (statusMessage.hasOwnProperty("text")) {
|
|
||||||
message.status.text = statusMessage.text.toString();
|
|
||||||
}
|
|
||||||
targetStatusNode.receive(message);
|
targetStatusNode.receive(message);
|
||||||
handled = true;
|
handled = true;
|
||||||
});
|
});
|
||||||
|
@ -64,11 +64,14 @@ describe("runtime-api/comms", function() {
|
|||||||
eventHandlers.should.have.property('node-status');
|
eventHandlers.should.have.property('node-status');
|
||||||
eventHandlers['node-status']({
|
eventHandlers['node-status']({
|
||||||
id: "my-event",
|
id: "my-event",
|
||||||
status: "my-status"
|
status: {text:"my-status",badProperty:"should be filtered"}
|
||||||
})
|
})
|
||||||
messages.should.have.length(1);
|
messages.should.have.length(1);
|
||||||
messages[0].should.have.property("topic","status/my-event");
|
messages[0].should.have.property("topic","status/my-event");
|
||||||
messages[0].should.have.property("data","my-status")
|
messages[0].should.have.property("data");
|
||||||
|
messages[0].data.should.have.property("text","my-status");
|
||||||
|
messages[0].data.should.not.have.property("badProperty");
|
||||||
|
|
||||||
})
|
})
|
||||||
it('comms events',function(){
|
it('comms events',function(){
|
||||||
eventHandlers.should.have.property('runtime-event');
|
eventHandlers.should.have.property('runtime-event');
|
||||||
|
@ -498,7 +498,7 @@ describe('Flow', function() {
|
|||||||
Object.keys(activeNodes).should.have.length(5);
|
Object.keys(activeNodes).should.have.length(5);
|
||||||
|
|
||||||
|
|
||||||
flow.handleStatus(config.flows["t1"].nodes["1"],{text:"my-status"});
|
flow.handleStatus(config.flows["t1"].nodes["1"],{text:"my-status",random:"otherProperty"});
|
||||||
|
|
||||||
currentNodes["sn"].should.have.a.property("handled",1);
|
currentNodes["sn"].should.have.a.property("handled",1);
|
||||||
var statusMessage = currentNodes["sn"].messages[0];
|
var statusMessage = currentNodes["sn"].messages[0];
|
||||||
@ -515,6 +515,7 @@ describe('Flow', function() {
|
|||||||
|
|
||||||
statusMessage.should.have.a.property("status");
|
statusMessage.should.have.a.property("status");
|
||||||
statusMessage.status.should.have.a.property("text","my-status");
|
statusMessage.status.should.have.a.property("text","my-status");
|
||||||
|
statusMessage.status.should.have.a.property("random","otherProperty");
|
||||||
statusMessage.status.should.have.a.property("source");
|
statusMessage.status.should.have.a.property("source");
|
||||||
statusMessage.status.source.should.have.a.property("id","1");
|
statusMessage.status.source.should.have.a.property("id","1");
|
||||||
statusMessage.status.source.should.have.a.property("type","test");
|
statusMessage.status.source.should.have.a.property("type","test");
|
||||||
|
Loading…
Reference in New Issue
Block a user