Skip to content

Instantly share code, notes, and snippets.

@mdkrieg
Last active October 2, 2021 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdkrieg/ee48dcc5c1b393af9135cf031d767394 to your computer and use it in GitHub Desktop.
Save mdkrieg/ee48dcc5c1b393af9135cf031d767394 to your computer and use it in GitHub Desktop.
w2ui grid server w/ basic nodes

w2ui grid

See the w2ui homepage for more information:

DEMO: http://w2ui.com/web/demos/#/grid/1

DOCS: http://w2ui.com/web/docs/2.0/grid

w2ui is a really nice frontend library for creating grids, forms, and all sorts of simple but high quality html frontend interfaces.

This flow features a subflow that is designed to integrate the w2ui front-end into Node-RED and automatically store user entered data into global context, flat file, or both, or neither.

Frontend

By default the grid will self-host at /w2ui/grid//template.html

This HTML can be copied and modified, the config and list data is served by the subflow, provided an HTTP-in is active.

image

Implementation

image

Configuration

image

Source

image

NOTE 1: I tried placing the "HTTP in" inside the subflow but this breaks as soon as you create a second instance of the subflow.

NOTE 2: Similar to note 1, the "file out" node doesn't seem to work properly in the subflow and needs to be placed outside the subflow node.

[{"id":"ea8af409.f76ee8","type":"subflow","name":"w2ui grid","info":"","category":"","in":[{"x":60,"y":80,"wires":[{"id":"dfbbb0fc.d232f"}]}],"out":[{"x":820,"y":680,"wires":[{"id":"c8a46c3b.dca86","port":0}]},{"x":940,"y":440,"wires":[{"id":"9626ff1.12ff5","port":0}]}],"env":[{"name":"NAME","type":"str","value":"gridname","ui":{"label":{"en-US":"Asset Name"},"type":"input","opts":{"types":["str"]}}},{"name":"COLUMNS","type":"json","value":"[{\"field\":\"keyname\",\"text\":\"Label Name\",\"size\":\"180px\",\"searchable\":true,\"sortable\":true}]","ui":{"label":{"en-US":"Columns"},"type":"input","opts":{"types":["json"]}}},{"name":"EXREF","type":"str","value":"none","ui":{"label":{"en-US":"File Store Type"},"type":"select","opts":{"opts":[{"l":{"en-US":"None"},"v":"none"},{"l":{"en-US":"CSV File"},"v":"csv"},{"l":{"en-US":"JSON File"},"v":"json"}]}}},{"name":"FILENAME","type":"str","value":"","ui":{"icon":"font-awesome/fa-file","label":{"en-US":"Filename"},"type":"input","opts":{"types":["str"]}}},{"name":"FNAMECOM","type":"str","value":"comment","ui":{"label":{"en-US":"(If blank, filename will default to node-red folder / w2ui / \"Asset Name\" )"},"type":"none"}},{"name":"GREF","type":"bool","value":"true","ui":{"label":{"en-US":"Store to Global Context"},"type":"checkbox"}},{"name":"TOOLS","type":"bool","value":"false","ui":{"icon":"font-awesome/fa-cogs","label":{"en-US":"Include Add/Edit/Delete controls"},"type":"checkbox"}},{"name":"HELP","type":"str","value":"http://w2ui.com/web/docs/2.0/grid","ui":{"icon":"font-awesome/fa-external-link","label":{"en-US":"http://w2ui.com/web/docs/2.0/grid"},"type":"none"}}],"meta":{},"color":"#DDAA99","status":{"x":1240,"y":440,"wires":[{"id":"60db57c8.5b83f8","port":0}]}},{"id":"ba2cd50d.4f18b8","type":"http response","z":"ea8af409.f76ee8","name":"","statusCode":"","headers":{},"x":830,"y":380,"wires":[]},{"id":"3a0fa785.69f308","type":"switch","z":"ea8af409.f76ee8","name":"topic","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"init","vt":"str"},{"t":"eq","v":"writefile","vt":"str"},{"t":"eq","v":"readfile","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":4,"x":190,"y":580,"wires":[["36805786.25d968"],["32d500b7.10899"],["398d1cc8.4050e4"],["c8a46c3b.dca86"]]},{"id":"7e5c05a7.4e2d0c","type":"template","z":"ea8af409.f76ee8","name":"","field":"payload","fieldType":"msg","format":"html","syntax":"mustache","template":"<!DOCTYPE html>\n<html>\n<head>\n <title>W2UI Demo: {{payload.name}}</title>\n <script src=\"http://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js\"></script>\n <script type=\"text/javascript\" src=\"https://rawgit.com/vitmalina/w2ui/master/dist/w2ui.min.js\"></script>\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://rawgit.com/vitmalina/w2ui/master/dist/w2ui.min.css\" />\n</head>\n<body>\n\n<div id=\"{{payload.name}}\" style=\"width: 100%; height: 350px;\"></div>\n\n<script type=\"text/javascript\">\n// src=\"/w2ui/grid/{{payload.name}}/script.js\">\n$(function () {\n $.ajax({\n url: 'config.json',\n method: \"GET\",\n success: loadGrid\n })\n function loadGrid(config){\n columns = config.columns;\n config.onAdd = addNew;\n $('#{{payload.name}}').w2grid(config);\n }\n function addNew(event) {\n var records = w2ui.{{payload.name}}.records;\n var recid = records.length;\n while(records.filter(x=>{return x.recid == recid;}).length > 0){\n recid++;\n }\n var newrecord = {};\n w2ui.{{payload.name}}.columns.forEach(x=>{\n newrecord[x.field] = '';\n })\n newrecord.recid = recid;\n w2ui.{{payload.name}}.add(newrecord);\n }\n});\n</script>\n\n</body>\n</html>","output":"str","x":620,"y":200,"wires":[["9cc30d9.a1d94f"]]},{"id":"888d6717.2e2658","type":"switch","z":"ea8af409.f76ee8","name":"name","property":"req.params.name","propertyType":"msg","rules":[{"t":"eq","v":"NAME","vt":"env"}],"checkall":"true","repair":false,"outputs":1,"x":210,"y":140,"wires":[["cfd22d83.dbfcc"]]},{"id":"5a49b879.787ef8","type":"switch","z":"ea8af409.f76ee8","name":"${NAME}","property":"req.params.name","propertyType":"msg","rules":[{"t":"eq","v":"NAME","vt":"env"}],"checkall":"true","repair":false,"outputs":1,"x":400,"y":200,"wires":[["e998db9a.900f48"]]},{"id":"e998db9a.900f48","type":"change","z":"ea8af409.f76ee8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t \"name\": $env(\"NAME\"),\t \"columns\": $string($env(\"COLUMNS\"))\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":515,"y":200,"wires":[["7e5c05a7.4e2d0c"]],"l":false},{"id":"61e64ae0.cf0554","type":"switch","z":"ea8af409.f76ee8","name":"${NAME}","property":"req.params.name","propertyType":"msg","rules":[{"t":"eq","v":"NAME","vt":"env"}],"checkall":"true","repair":false,"outputs":1,"x":400,"y":240,"wires":[["82cefebe.0bd3e"]]},{"id":"82cefebe.0bd3e","type":"change","z":"ea8af409.f76ee8","name":"generate config.json","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"url\":\"list.json\",\"show\":{\"toolbar\":true},\"method\":\"GET\"}","tot":"json"},{"t":"set","p":"payload.columns","pt":"msg","to":"COLUMNS","tot":"env"},{"t":"set","p":"payload.name","pt":"msg","to":"NAME","tot":"env"},{"t":"set","p":"payload.show.toolbarAdd","pt":"msg","to":"TOOLS","tot":"env"},{"t":"set","p":"payload.show.toolbarDelete","pt":"msg","to":"TOOLS","tot":"env"},{"t":"set","p":"payload.show.toolbarSave","pt":"msg","to":"TOOLS","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":240,"wires":[["9cc30d9.a1d94f"]]},{"id":"2bc98e6d.452782","type":"switch","z":"ea8af409.f76ee8","name":"","property":"request.action","propertyType":"msg","rules":[{"t":"null"},{"t":"eq","v":"delete","vt":"str"},{"t":"eq","v":"save","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":535,"y":100,"wires":[["b96a457e.2d8dd8"],["b64e2c20.4bc18"],["eae46a92.1f8948"]],"l":false},{"id":"c8a46c3b.dca86","type":"change","z":"ea8af409.f76ee8","name":"retrieve payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":680,"wires":[[]]},{"id":"b64e2c20.4bc18","type":"function","z":"ea8af409.f76ee8","name":"DELETE","func":"var payload = flow.get(\"payload\");\n\npayload = payload.filter(x=>{\n return !msg.request.recid.includes(x.recid); \n});\n\nmsg.payload = \"success\";\nmsg.save = payload;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":680,"y":100,"wires":[["98023b87.d2f7c8"]]},{"id":"eae81281.d4ce5","type":"link in","z":"ea8af409.f76ee8","name":"","links":["98023b87.d2f7c8","f5c6a44.7eda858","86617630.a95e18","21984744.5fa868"],"x":255,"y":420,"wires":[["48400128.77a63"]]},{"id":"98023b87.d2f7c8","type":"link out","z":"ea8af409.f76ee8","name":"","links":["eae81281.d4ce5"],"x":855,"y":100,"wires":[]},{"id":"48400128.77a63","type":"function","z":"ea8af409.f76ee8","name":"save External Sources","func":"var GREF = env.get(\"GREF\");\nvar EXREF = env.get(\"EXREF\");\nvar NAME = env.get(\"NAME\");\nvar FILENAME = env.get(\"FILENAME\").trim();\nvar payload, filename;\nvar save = msg.hasOwnProperty(\"save\");\n\n//store data if placed in the \"save\" parameter\nif(save){\n flow.set(\"payload\",msg.save);\n msg.payload = msg.save;\n}\npayload = msg.payload;\n\n//store to global if configured\nif(GREF){\n global.set(NAME,payload);\n}\n\nif(save){\n //prepare file stores if configured\n if(EXREF != \"none\"){ //generate default filename\n filename = (FILENAME == \"\")?`w2ui/${NAME}.${EXREF}`:FILENAME;\n }\n //partition to outputs based on filetype\n if(EXREF == \"csv\"){\n node.send([null,{payload,filename},null]);\n }else if(EXREF == \"json\"){\n node.send([null,null,{payload,filename}]);\n }\n}\n\nif(msg.hasOwnProperty(\"res\")) return msg;","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":420,"wires":[["ba2cd50d.4f18b8"],["e8b38c60.54aee"],["77ba55ee.54c90c"]]},{"id":"eae46a92.1f8948","type":"function","z":"ea8af409.f76ee8","name":"SAVE","func":"var payload = flow.get(\"payload\");\nvar request = msg.request;\n\nrequest.changes.forEach(change=>{\n var record = payload.filter(x=>{\n return x.recid==change.recid;\n });\n if(record.length == 0){\n payload.push(change);\n }else{\n record = record[0];\n for(var key in change){\n record[key] = change[key];\n }\n }\n})\n\nmsg.payload = \"success\";\nmsg.save = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":140,"wires":[["98023b87.d2f7c8"]]},{"id":"50be2f84.0ae0a","type":"change","z":"ea8af409.f76ee8","name":"","rules":[{"t":"move","p":"payload.request","pt":"msg","to":"request","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":475,"y":100,"wires":[["2bc98e6d.452782"]],"l":false},{"id":"398d1cc8.4050e4","type":"function","z":"ea8af409.f76ee8","name":"init context stores","func":"var GREF = env.get(\"GREF\");\nvar EXREF = env.get(\"EXREF\");\nvar NAME = env.get(\"NAME\");\nvar FILENAME = env.get(\"FILENAME\").trim();\n\nvar payload = [];\nif(GREF){\n payload = global.get(NAME) || [];\n}\nif(payload.length > 0){\n flow.set(\"payload\",payload);\n}else if(EXREF != \"none\"){\n msg.filename = (FILENAME == \"\")?`w2ui/${NAME}.${EXREF}`:FILENAME;\n node.send(msg);\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":230,"y":740,"wires":[["86eff779.505d28"]]},{"id":"86eff779.505d28","type":"file in","z":"ea8af409.f76ee8","name":"","filename":"file in","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":410,"y":740,"wires":[["5707badb.5a3e94"]]},{"id":"e8b38c60.54aee","type":"csv","z":"ea8af409.f76ee8","name":"","sep":",","hdrin":"","hdrout":"all","multi":"one","ret":"\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":735,"y":420,"wires":[["9626ff1.12ff5"]],"l":false},{"id":"77ba55ee.54c90c","type":"json","z":"ea8af409.f76ee8","name":"","property":"payload","action":"","pretty":false,"x":735,"y":460,"wires":[["9626ff1.12ff5"]],"l":false},{"id":"9626ff1.12ff5","type":"file","z":"ea8af409.f76ee8","name":"","filename":"file out","appendNewline":true,"createDir":true,"overwriteFile":"true","encoding":"none","x":830,"y":440,"wires":[[]]},{"id":"f5c6a44.7eda858","type":"link out","z":"ea8af409.f76ee8","name":"","links":["eae81281.d4ce5"],"x":815,"y":740,"wires":[]},{"id":"86617630.a95e18","type":"link out","z":"ea8af409.f76ee8","name":"","links":["eae81281.d4ce5"],"x":575,"y":560,"wires":[]},{"id":"67e23fce.8793d","type":"change","z":"ea8af409.f76ee8","name":"msg.save","rules":[{"t":"set","p":"save","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":740,"wires":[["f5c6a44.7eda858"]]},{"id":"dd4c5636.a02258","type":"csv","z":"ea8af409.f76ee8","name":"","sep":",","hdrin":true,"hdrout":"all","multi":"mult","ret":"\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":575,"y":720,"wires":[["67e23fce.8793d"]],"l":false},{"id":"e71352d1.f6715","type":"json","z":"ea8af409.f76ee8","name":"","property":"payload","action":"","pretty":false,"x":575,"y":760,"wires":[["67e23fce.8793d"]],"l":false},{"id":"5707badb.5a3e94","type":"switch","z":"ea8af409.f76ee8","name":"","property":"EXREF","propertyType":"env","rules":[{"t":"eq","v":"csv","vt":"str"},{"t":"eq","v":"json","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":515,"y":740,"wires":[["dd4c5636.a02258"],["e71352d1.f6715"]],"l":false},{"id":"7fe2be6c.73362","type":"link out","z":"ea8af409.f76ee8","name":"","links":["640dfbf6.a46394"],"x":855,"y":60,"wires":[]},{"id":"640dfbf6.a46394","type":"link in","z":"ea8af409.f76ee8","name":"","links":["7fe2be6c.73362"],"x":95,"y":760,"wires":[["398d1cc8.4050e4"]]},{"id":"b96a457e.2d8dd8","type":"function","z":"ea8af409.f76ee8","name":"GET","func":"var payload = flow.get(\"payload\") || [];\n\nvar start = msg.request.offset;\nvar end = start + msg.request.limit;\n\nif(payload.length == 0){\n //no payload data found, trigger init from context\n return [msg,null];\n}else{\n //has payload data, continue to send\n \n //obey sort requests\n if(msg.request.hasOwnProperty(\"sort\")){\n msg.request.sort.forEach(x=>{\n var field = x.field\n if(x.direction == \"asc\"){\n payload = payload.sort((a,b)=>{\n return (a[field] > b[field])?1:-1;\n });\n }else if(x.direction == \"desc\"){\n payload = payload.sort((a,b)=>{\n return (a[field] < b[field])?1:-1;\n });\n }\n })\n }\n \n //obey limit and offset\n payload = payload.slice(start,end)\n \n //finalize\n msg.payload = payload;\n return [null,msg];\n}","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":60,"wires":[["7fe2be6c.73362"],["98023b87.d2f7c8"]]},{"id":"9cc30d9.a1d94f","type":"http response","z":"ea8af409.f76ee8","name":"","statusCode":"","headers":{},"x":810,"y":220,"wires":[]},{"id":"21984744.5fa868","type":"link out","z":"ea8af409.f76ee8","name":"","links":["eae81281.d4ce5"],"x":575,"y":620,"wires":[]},{"id":"32d500b7.10899","type":"change","z":"ea8af409.f76ee8","name":"retrieve payload","rules":[{"t":"set","p":"save","pt":"msg","to":"payload","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":620,"wires":[["21984744.5fa868"]]},{"id":"cfd22d83.dbfcc","type":"switch","z":"ea8af409.f76ee8","name":"","property":"req.params.part","propertyType":"msg","rules":[{"t":"eq","v":"list.json","vt":"str"},{"t":"eq","v":"template.html","vt":"str"},{"t":"eq","v":"config.json","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":4,"x":210,"y":220,"wires":[["5b721784.ebff48"],["5a49b879.787ef8"],["61e64ae0.cf0554"],["475afb05.fb16e4"]]},{"id":"dfbbb0fc.d232f","type":"switch","z":"ea8af409.f76ee8","name":"http?","property":"res","propertyType":"msg","rules":[{"t":"null"},{"t":"nnull"}],"checkall":"true","repair":false,"outputs":2,"x":210,"y":80,"wires":[["feb26e4f.80f3c"],["888d6717.2e2658"]]},{"id":"feb26e4f.80f3c","type":"link out","z":"ea8af409.f76ee8","name":"","links":["b7886365.a47e8"],"x":335,"y":60,"wires":[]},{"id":"b7886365.a47e8","type":"link in","z":"ea8af409.f76ee8","name":"","links":["feb26e4f.80f3c"],"x":95,"y":520,"wires":[["3a0fa785.69f308"]]},{"id":"8995c02d.eecba","type":"http response","z":"ea8af409.f76ee8","name":"not found","statusCode":"","headers":{},"x":820,"y":280,"wires":[]},{"id":"475afb05.fb16e4","type":"change","z":"ea8af409.f76ee8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"\"w2ui grid: part not found\"","tot":"str"},{"t":"set","p":"statusCode","pt":"msg","to":"404","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":175,"y":280,"wires":[["8995c02d.eecba"]],"l":false},{"id":"5b721784.ebff48","type":"json","z":"ea8af409.f76ee8","name":"","property":"payload.request","action":"","pretty":false,"x":415,"y":100,"wires":[["50be2f84.0ae0a"]],"l":false},{"id":"57c86973.d2f938","type":"catch","z":"ea8af409.f76ee8","name":"No \"file in\"","scope":["86eff779.505d28"],"uncaught":false,"x":400,"y":820,"wires":[["2b8c34e0.a42fec"]]},{"id":"2b8c34e0.a42fec","type":"change","z":"ea8af409.f76ee8","name":"[blank]","rules":[{"t":"set","p":"payload","pt":"msg","to":"[]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":820,"wires":[["67e23fce.8793d"]]},{"id":"60db57c8.5b83f8","type":"status","z":"ea8af409.f76ee8","name":"\"file out\" status","scope":["9626ff1.12ff5"],"x":1060,"y":440,"wires":[[]]},{"id":"36805786.25d968","type":"change","z":"ea8af409.f76ee8","name":"msg.save","rules":[{"t":"set","p":"save","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":560,"wires":[["86617630.a95e18"]]},{"id":"56794520.e0646c","type":"comment","z":"ea8af409.f76ee8","name":"file out isn't working","info":"I swear it worked at one point, but now it seems like the file out node doesn't like being in a subflow... \nNot sure what the problem is","x":870,"y":480,"wires":[]},{"id":"50c7c86d.cf5bb8","type":"tab","label":"w2ui grid example","disabled":false,"info":""},{"id":"be2b95f3.6a1d48","type":"subflow:ea8af409.f76ee8","z":"50c7c86d.cf5bb8","name":"","env":[{"name":"NAME","value":"example","type":"str"},{"name":"COLUMNS","value":"[{\"field\":\"fname\",\"text\":\"First Name\",\"size\":\"180px\",\"sortable\":true,\"searchable\":true},{\"field\":\"lname\",\"text\":\"Last Name\",\"size\":\"180px\",\"sortable\":true,\"searchable\":true},{\"field\":\"email\",\"text\":\"Email\",\"size\":\"40%\",\"sortable\":true,\"searchable\":true},{\"field\":\"sdate\",\"text\":\"Start Date\",\"size\":\"120px\",\"sortable\":true,\"searchable\":true}]","type":"json"},{"name":"EXREF","value":"csv","type":"str"},{"name":"TOOLS","type":"bool","value":"true"},{"name":"name","value":"bar","type":"str"}],"x":440,"y":260,"wires":[["b7949494.a3d808"],["f13bc09c.b823c"]]},{"id":"b7949494.a3d808","type":"debug","z":"50c7c86d.cf5bb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":630,"y":240,"wires":[]},{"id":"1cb3096f.0b6a97","type":"inject","z":"50c7c86d.cf5bb8","name":"seed data","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"init","payload":"[{\"recid\":1,\"fname\":\"John\",\"lname\":\"Doe\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":2,\"fname\":\"Stuart\",\"lname\":\"Motzart\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":3,\"fname\":\"Jin\",\"lname\":\"Franson\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":4,\"fname\":\"Susan\",\"lname\":\"Ottie\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":5,\"fname\":\"Kelly\",\"lname\":\"Silver\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":6,\"fname\":\"Francis\",\"lname\":\"Gatos\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":7,\"fname\":\"Mark\",\"lname\":\"Welldo\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":8,\"fname\":\"Thomas\",\"lname\":\"Bahh\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"},{\"recid\":9,\"fname\":\"Sergei\",\"lname\":\"Rachmaninov\",\"email\":\"jdoe@gmail.com\",\"sdate\":\"4/3/2012\"}]","payloadType":"json","x":240,"y":260,"wires":[["be2b95f3.6a1d48"]]},{"id":"9ab8649d.e348b8","type":"inject","z":"50c7c86d.cf5bb8","name":"get data","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":240,"y":300,"wires":[["be2b95f3.6a1d48"]]},{"id":"d0478823.e6b5c8","type":"inject","z":"50c7c86d.cf5bb8","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"readfile","x":250,"y":360,"wires":[["be2b95f3.6a1d48"]]},{"id":"5e7431c7.67603","type":"inject","z":"50c7c86d.cf5bb8","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"writefile","x":240,"y":400,"wires":[["be2b95f3.6a1d48"]]},{"id":"7bef27ed.736e68","type":"http in","z":"50c7c86d.cf5bb8","name":"","url":"/w2ui/grid/:name/:part","method":"get","upload":false,"swaggerDoc":"","x":190,"y":220,"wires":[["be2b95f3.6a1d48"]]},{"id":"f13bc09c.b823c","type":"file","z":"50c7c86d.cf5bb8","name":"","filename":"","appendNewline":true,"createDir":true,"overwriteFile":"true","encoding":"none","x":630,"y":280,"wires":[[]]}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment