Here you go..., either on flows.nodered.org - Example of a scrolling HTML Table based on incoming JSON objects, or below:
[{"id":"d09ed06f.f25cd8","type":"inject","z":"d12440d2.b53e4","name":"msg1","topic":"","payload":"{\"msg\":\"Message one, bla bla\",\"confirm\":1}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":120,"wires":[["e8660945.b30728"]]},{"id":"e8660945.b30728","type":"function","z":"d12440d2.b53e4","name":"add ts","func":"js_obj = msg.payload;\n\nvar d = new Date();\nvar jstime = d.getTime();\n\njs_obj.timestamp = jstime;\n\nmsg.payload = js_obj ;\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":120,"wires":[["a8b5a5fc.2aead8"]]},{"id":"f16f6ae2.920e08","type":"inject","z":"d12440d2.b53e4","name":"msg2","topic":"","payload":"{\"msg\":\"Message two, blip bloep\",\"confirm\":1}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":160,"wires":[["e8660945.b30728"]]},{"id":"78728c52.914c5c","type":"inject","z":"d12440d2.b53e4","name":"msg3","topic":"","payload":"{\"msg\":\"Message three, cat fish\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":200,"wires":[["e8660945.b30728"]]},{"id":"9cbe3b4c.ee23a","type":"inject","z":"d12440d2.b53e4","name":"msg4","topic":"","payload":"{\"msg\":\"Message four, send it !\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":240,"wires":[["e8660945.b30728"]]},{"id":"8868b533.a0ca58","type":"inject","z":"d12440d2.b53e4","name":"msg5","topic":"","payload":"{\"msg\":\"Message five, my crazy\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":280,"wires":[["e8660945.b30728"]]},{"id":"4606c10e.e86af","type":"inject","z":"d12440d2.b53e4","name":"msg6","topic":"","payload":"{\"msg\":\"Message six, whoop whoop !\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":320,"wires":[["e8660945.b30728"]]},{"id":"d45c309b.ff244","type":"inject","z":"d12440d2.b53e4","name":"msg7","topic":"","payload":"{\"msg\":\"Message seven\",\"confirm\":1}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":360,"wires":[["e8660945.b30728"]]},{"id":"fafc9872.c01ad8","type":"inject","z":"d12440d2.b53e4","name":"msg8","topic":"","payload":"{\"msg\":\"Message 8, whats up monkey?\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":400,"wires":[["e8660945.b30728"]]},{"id":"7db5cc27.a52cc4","type":"inject","z":"d12440d2.b53e4","name":"msg9","topic":"","payload":"{\"msg\":\"Message 9, fly away\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":440,"wires":[["e8660945.b30728"]]},{"id":"a88ab58a.965558","type":"inject","z":"d12440d2.b53e4","name":"msg10","topic":"","payload":"{\"msg\":\"Message 10, diving for gold\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":480,"wires":[["e8660945.b30728"]]},{"id":"1eb4fe02.43365a","type":"inject","z":"d12440d2.b53e4","name":"msg11","topic":"","payload":"{\"msg\":\"Message 11, flying fish\",\"confirm\":1}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":520,"wires":[["e8660945.b30728"]]},{"id":"75e6eb01.d665a4","type":"inject","z":"d12440d2.b53e4","name":"msg12","topic":"","payload":"{\"msg\":\"Message 12, octopus\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":560,"wires":[["e8660945.b30728"]]},{"id":"38fd638e.ff702c","type":"inject","z":"d12440d2.b53e4","name":"msg13","topic":"","payload":"{\"msg\":\"Message 13, swim away\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":600,"wires":[["e8660945.b30728"]]},{"id":"462e1742.f231c8","type":"inject","z":"d12440d2.b53e4","name":"msg14","topic":"","payload":"{\"msg\":\"Message 14, warra warra\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":640,"wires":[["e8660945.b30728"]]},{"id":"76b38f5.74467f","type":"inject","z":"d12440d2.b53e4","name":"msg15","topic":"","payload":"{\"msg\":\"Message 15, fish paste\",\"confirm\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":680,"wires":[["e8660945.b30728"]]},{"id":"f40b6b74.a253d","type":"template","z":"d12440d2.b53e4","name":"html","field":"payload","fieldType":"msg","format":"html","syntax":"mustache","template":"<table border=\"1\">\n \n \n <thead>\n <tr>\n <th colspan=\"3\">{{topic}}</th>\n </tr>\n </thead>\n \n \n <tr>\n <th>Message</th>\n <th>Confirm</th>\n <th>timestamp</th>\n\n </tr>\n {{#payload}}\n <tr class=\"\">\n <td>{{msg}}</td> \n <td>{{confirm}}</td>\n <td>{{timestamp}}</td>\n </tr>\n {{/payload}}\n</table>\n","output":"str","x":730,"y":120,"wires":[["f94cd310.5d308"]]},{"id":"f94cd310.5d308","type":"ui_template","z":"d12440d2.b53e4","group":"ce913522.c3fc68","name":"Scrolling Messages","order":0,"width":0,"height":0,"format":"<div ng-bind-html=\"msg.payload\" height=\"500\" style=\"height: 350px;\"></div>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":970,"y":120,"wires":[[]]},{"id":"a8b5a5fc.2aead8","type":"function","z":"d12440d2.b53e4","name":"Cr/Upd msg_events","func":"var msg_obj = msg.payload ;\nvar arr_msgs = flow.get(\"msg_events\", 'memoryOnly');\n\nif (arr_msgs===undefined ) {\n // Create an empty array if it does not exist yet\n arr_msgs = [];\n //arr_msgs.push(msg_obj) ; \n if (msg_obj !== \"1\") {\n arr_msgs.push(msg_obj);\n flow.set(\"msg_events\",arr_msgs, 'memoryOnly');\n }\n \n// return msg ;\n\n} else {\n // This is a new user, save and return in the first port\n if (msg_obj !== \"1\") {\n arr_msgs.push(msg_obj);\n flow.set(\"msg_events\",arr_msgs, 'memoryOnly');\n }\n} \nmsg.payload = flow.get(\"msg_events\", 'memoryOnly');\nreturn msg;\n","outputs":1,"noerr":0,"x":400,"y":180,"wires":[["dfc225a0.c8d0f","1361dc1c.332194"]]},{"id":"dfc225a0.c8d0f","type":"debug","z":"d12440d2.b53e4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":690,"y":300,"wires":[]},{"id":"6d22885b.4c2138","type":"function","z":"d12440d2.b53e4","name":"zap msg_events flow context","func":"var cfg = undefined ;\nflow.set('msg_events', cfg, 'memoryOnly');\n\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":40,"wires":[[]]},{"id":"7faf1d4.0aff2e4","type":"inject","z":"d12440d2.b53e4","name":"","topic":"","payload":"1","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"0.1","x":90,"y":40,"wires":[["6d22885b.4c2138"]]},{"id":"f2a75771.ec8fc","type":"function","z":"d12440d2.b53e4","name":"topic & 10","func":"var arr = msg.payload ;\nvar i = 10;\nif(typeof arr === undefined) {\n return msg;\n} else {\n msg.payload = arr.slice(0, 10); \n msg.topic = 'The Last Ten Messages :';\n return msg;\n}","outputs":1,"noerr":0,"x":650,"y":180,"wires":[["f40b6b74.a253d"]]},{"id":"1361dc1c.332194","type":"change","z":"d12440d2.b53e4","name":"sort","rules":[{"t":"set","p":"payload","pt":"msg","to":"($sort(payload,function($l , $r){$l.timestamp < $r.timestamp }) )","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":120,"wires":[["f2a75771.ec8fc"]]},{"id":"ce913522.c3fc68","type":"ui_group","z":"","name":"Test Messages","tab":"619caa7a.fef80c","disp":true,"width":"9","collapse":false},{"id":"619caa7a.fef80c","type":"ui_tab","z":"","name":"Test","icon":"dashboard"}]
JĂ©an.