From eb36d71a1a11a4f1998404a09ec9c7f67ef70ec2 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Fri, 6 May 2016 13:18:15 +0100 Subject: [PATCH] Add more packaging goodness --- README.md | 9 +++- appbkg.png | Bin 0 -> 76934 bytes appdmg.json | 10 ++++ flows.json | 2 +- main.js | 130 ++++++++++++++++++++++++++++----------------------- package.json | 9 ++-- 6 files changed, 94 insertions(+), 66 deletions(-) create mode 100644 appbkg.png create mode 100644 appdmg.json diff --git a/README.md b/README.md index 0b28e82..3ed27f5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # electron-node-red -This is an Electron template to embed Node-RED with a UI generated by node-red-contrib-ui. +This is an Electron template to embed Node-RED with a Dashboard generated by node-red-dashboard. You can base off this model and update the package.json file to include your own required dependencies. @@ -36,4 +36,11 @@ electron-packager electron-node-red Node-RED --icon=nodered.icns --platform=linu Learn more about Electron and its API in the [documentation](http://electron.atom.io/docs/latest). + +### To package as a dmg + +look at `https://github.com/LinusU/node-appdmg` + + appdmg appdmg.json ~/Desktop/NodeRED.dmg + #### License [CC0 (Public Domain)](LICENSE.md) diff --git a/appbkg.png b/appbkg.png new file mode 100644 index 0000000000000000000000000000000000000000..6063be144fd49ba36bda02f5ca5dd0c6aa7f99bb GIT binary patch literal 76934 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 VS0lwjYXbp)>MB}~F-jI8{{z8p(=Px3 literal 0 HcmV?d00001 diff --git a/appdmg.json b/appdmg.json new file mode 100644 index 0000000..2c123c5 --- /dev/null +++ b/appdmg.json @@ -0,0 +1,10 @@ +{ + "title": "Node-RED installer", + "icon": "nodered.icns", + "background": "appbkg.png", + "icon-size": 80, + "contents": [ + { "x": 448, "y": 344, "type": "link", "path": "/Applications" }, + { "x": 192, "y": 344, "type": "file", "path": "Node-RED-darwin-x64/Node-RED.app" } + ] +} diff --git a/flows.json b/flows.json index 82a8cfd..be465cb 100755 --- a/flows.json +++ b/flows.json @@ -1 +1 @@ -[{"type":"tab","id":"41f61d2.fbe09e4","label":"Flow 1"},{"id":"52a903f3.ad56fc","type":"ui_tab","z":"41f61d2.fbe09e4","name":"Home","icon":"dashboard","order":"1"},{"id":"d3a0fd6d.2c5f","type":"ui_slider","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","name":"Slider","topic":"","group":"","order":"3","min":0,"max":10,"x":147.5,"y":87,"wires":[["42ddca5b.bd2234"]]},{"id":"42ddca5b.bd2234","type":"ui_gauge","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","name":"Gauge","group":"","order":"2","format":"{{value}}","min":0,"max":10,"x":300.5,"y":87,"wires":[]},{"id":"852d9c04.7ad26","type":"ui_link","z":"41f61d2.fbe09e4","name":"Admin","link":"http://localhost:8000/admin","icon":"open_in_browser","order":1,"x":72.5,"y":273,"wires":[]},{"id":"fce4a072.031b6","type":"ui_button","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","name":"Button","payload":"Hello !","topic":"","group":"","order":"4","x":124.5,"y":145,"wires":[["a09bb056.68216"]]},{"id":"a09bb056.68216","type":"ui_toast","z":"41f61d2.fbe09e4","name":"","x":328,"y":144,"wires":[]},{"id":"189cf871.681118","type":"ui_template","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","name":"Welcome","group":"Introduction","order":1,"format":"

Welcome to Node-RED

\nOn the right you will see some simple widgets to play with.\nTo get started making something a bit more useful click the menu icon at the top-left, and select Admin.","storeOutMessages":false,"fwdInMessages":false,"x":81,"y":45,"wires":[[]]}] \ No newline at end of file +[{"type":"tab","id":"41f61d2.fbe09e4","label":"Flow 1"},{"id":"52a903f3.ad56fc","type":"ui_tab","z":"41f61d2.fbe09e4","name":"Home","icon":"dashboard","order":"1"},{"id":"30e652f.d9de3ae","type":"ui_group","z":"41f61d2.fbe09e4","order":"2","name":"Widgets","width":"6"},{"id":"a8ecb9.c60f4348","type":"ui_group","z":"41f61d2.fbe09e4","order":"1","name":"Introduction","width":"6"},{"id":"d3a0fd6d.2c5f","type":"ui_slider","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","group":"30e652f.d9de3ae","order":"3","width":"6","height":"1","name":"Slider","label":"Slider","topic":"","min":0,"max":10,"x":130,"y":100,"wires":[["42ddca5b.bd2234"]]},{"id":"42ddca5b.bd2234","type":"ui_gauge","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","group":"30e652f.d9de3ae","order":"2","width":"6","height":"4","name":"Gauge","title":"","label":"","format":"{{value}}","min":0,"max":10,"x":290,"y":100,"wires":[]},{"id":"852d9c04.7ad26","type":"ui_link","z":"41f61d2.fbe09e4","name":"Admin","link":"http://localhost:8000/admin","icon":"open_in_browser","target":"newtab","order":1,"x":69.5,"y":217,"wires":[]},{"id":"fce4a072.031b6","type":"ui_button","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","group":"30e652f.d9de3ae","order":"4","width":"6","height":"1","name":"Button","label":"Click Me","color":"green","icon":"","payload":"Hello !","topic":"","x":130,"y":160,"wires":[["a09bb056.68216"]]},{"id":"a09bb056.68216","type":"ui_toast","z":"41f61d2.fbe09e4","name":"","x":310,"y":160,"wires":[]},{"id":"189cf871.681118","type":"ui_template","z":"41f61d2.fbe09e4","tab":"52a903f3.ad56fc","group":"a8ecb9.c60f4348","name":"Welcome","order":1,"format":"

Welcome to Node-RED

\nOn the right you will see some simple widgets to play with.\nTo get started making something a bit more useful click the menu icon at the top-left, and select Admin.","storeOutMessages":false,"fwdInMessages":false,"x":80,"y":40,"wires":[[]]}] \ No newline at end of file diff --git a/main.js b/main.js index 03d1a21..304dd0e 100755 --- a/main.js +++ b/main.js @@ -1,3 +1,4 @@ + 'use strict'; const electron = require('electron'); @@ -43,40 +44,74 @@ server.listen(8000); // Start the runtime RED.start(); +// Create the Application's main menu +var template = [{ + label: "Application", + submenu: [ + { label: "About Application", selector: "orderFrontStandardAboutPanel:" }, + { type: "separator" }, + { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }} + ]}, { + label: "Edit", + submenu: [ + { label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" }, + { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" }, + { type: "separator" }, + { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" }, + { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" }, + { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" }, + { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" } + ]} +]; + // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. let mainWindow; function createWindow () { - // Create the browser window. - mainWindow = new BrowserWindow({ - autoHideMenuBar: true, - webPreferences: { - nodeIntegration: false - }, - width: 1024, - height: 768, - icon: __dirname + "/nodered.png" - }); + // Create the browser window. + mainWindow = new BrowserWindow({ + autoHideMenuBar: true, + webPreferences: { + nodeIntegration: false + }, + title: "Node-RED", + width: 1024, + height: 768, + icon: __dirname + "/nodered.png" + }); + mainWindow.loadURL("http://localhost:8000/ui"); - mainWindow.loadURL("http://localhost:8000/ui"); - var webContents = mainWindow.webContents; - webContents.on('did-get-response-details', function(event, status, newURL, originalURL, httpResponseCode) { - if (httpResponseCode == 404) { - setTimeout(webContents.reload, 200); - } - }); + var webContents = mainWindow.webContents; + webContents.on('did-get-response-details', function(event, status, newURL, originalURL, httpResponseCode) { + if ((httpResponseCode == 404) && (newURL == "http://localhost:8000/ui")) { + setTimeout(webContents.reload, 200); + } + Menu.setApplicationMenu(Menu.buildFromTemplate(template)); + }); - // Open the DevTools. - //mainWindow.webContents.openDevTools(); + // Open the DevTools. + //mainWindow.webContents.openDevTools(); - // Emitted when the window is closed. - mainWindow.on('closed', function() { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - mainWindow = null; - }); + mainWindow.webContents.on("new-window", function(e, url, frameName, disposition, options) { + // if a child window opens... modify any other options such as width/height, etc + // in this case make the child overlap the parent exactly... + var w = mainWindow.getBounds(); + options.x = w.x; + options.y = w.y; + options.width = w.width; + options.height = w.height; + //re-use the same child name so all "2nd" windows use the same one. + //frameName = "child"; + }) + + // Emitted when the window is closed. + mainWindow.on('closed', function() { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null; + }); } // This method will be called when Electron has finished @@ -85,40 +120,17 @@ app.on('ready', createWindow); // Quit when all windows are closed. app.on('window-all-closed', function () { - // On OS X it is common for applications and their menu bar - // to stay active until the user quits explicitly with Cmd + Q - if (process.platform !== 'darwin') { - app.quit(); - } + // On OS X it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit(); + } }); app.on('activate', function () { - // On OS X it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (mainWindow === null) { - createWindow(); - } - - // Create the Application's main menu - var template = [{ - label: "Application", - submenu: [ - { label: "About Application", selector: "orderFrontStandardAboutPanel:" }, - { type: "separator" }, - { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }} - ]}, { - label: "Edit", - submenu: [ - { label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" }, - { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" }, - { type: "separator" }, - { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" }, - { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" }, - { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" }, - { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" } - ]} - ]; - - Menu.setApplicationMenu(Menu.buildFromTemplate(template)); - + // On OS X it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (mainWindow === null) { + createWindow(); + } }); diff --git a/package.json b/package.json index 0273aa2..12ccba6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "electron-node-red", - "version": "1.0.4", + "version": "1.0.5", "description": "Electron Node-RED template", "main": "main.js", "scripts": { @@ -12,14 +12,13 @@ }, "dependencies": { "node-red": "~0.13.4", - "node-red-contrib-ui": "^1.2.19", + "node-red-dashboard": "git+https://github.com/node-red/node-red-dashboard.git", "express": "^4.13.0" }, "keywords": [ - "Electron", + "electron", "quick", "start", - "tutorial", "node-red" ], "author": "Nathanaël Lécaudé", @@ -29,6 +28,6 @@ }, "homepage": "https://github.com/natcl/electron-node-red#readme", "devDependencies": { - "electron-prebuilt": "^0.37.0" + "electron-prebuilt": "^0.37.8" } }