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:
		| @@ -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", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user