From 45411e055677fac06749a93dbff64fb8be1c7430 Mon Sep 17 00:00:00 2001 From: Luis Montes Date: Fri, 11 Sep 2015 16:43:58 -0700 Subject: [PATCH 1/2] new version overlay --- background.js | 4 ++ client.js | 2 + manifest.json | 3 +- src/constants/overlay-states.js | 1 + src/creators/index.js | 1 + src/creators/show-new-version-overlay.js | 20 +++++++ src/plugins/handlers.js | 12 ++++ src/plugins/overlays.js | 5 ++ src/views/new-version-overlay.js | 71 ++++++++++++++++++++++++ 9 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 src/creators/show-new-version-overlay.js create mode 100644 src/views/new-version-overlay.js diff --git a/background.js b/background.js index 6ea12d0..62561d8 100644 --- a/background.js +++ b/background.js @@ -30,3 +30,7 @@ chrome.app.runtime.onLaunched.addListener(function() { win.onClosed.addListener(closeSerialPorts); }); }); + +chrome.runtime.onInstalled.addListener(function(evt){ + chrome.storage.local.set({newVersion: 'newVersion'}, function() {}); +}); diff --git a/client.js b/client.js index a9690d0..3300987 100644 --- a/client.js +++ b/client.js @@ -71,6 +71,7 @@ function onRender(err){ const { newFile, + showNewVersionOverlay, changeFile, changeProject } = handlers; @@ -88,6 +89,7 @@ function onRender(err){ } else { newFile(); } + showNewVersionOverlay(); }) .catch(console.error.bind(console)); } diff --git a/manifest.json b/manifest.json index 90356fd..d54cb2d 100644 --- a/manifest.json +++ b/manifest.json @@ -7,7 +7,8 @@ "permissions": [ "serial", "unlimitedStorage", - "syncFileSystem" + "syncFileSystem", + "storage" ], "icons": { "16": "icons/icon16.png", diff --git a/src/constants/overlay-states.js b/src/constants/overlay-states.js index 9ed71d5..efd0dc3 100644 --- a/src/constants/overlay-states.js +++ b/src/constants/overlay-states.js @@ -7,6 +7,7 @@ const overlayStates = { DOWNLOAD_OVERLAY: 'DOWNLOAD_OVERLAY', PROJECTS_OVERLAY: 'PROJECTS_OVERLAY', OVERWRITE_OVERLAY: 'OVERWRITE_OVERLAY', + NEW_VERSION_OVERLAY: 'NEW_VERSION_OVERLAY', DELETE_FILE_OVERLAY: 'DELETE_FILE_OVERLAY', DELETE_PROJECT_OVERLAY: 'DELETE_PROJECT_OVERLAY' }; diff --git a/src/creators/index.js b/src/creators/index.js index f94ef0d..42bde55 100644 --- a/src/creators/index.js +++ b/src/creators/index.js @@ -8,6 +8,7 @@ const creators = { showDownloadOverlay: require('./show-download-overlay'), showProjectsOverlay: require('./show-projects-overlay'), showOverwriteOverlay: require('./show-overwrite-overlay'), + showNewVersionOverlay: require('./show-new-version-overlay'), showSaveOverlay: require('./show-save-overlay'), showHelpOverlay: require('./show-help-overlay'), hideOverlay: require('./hide-overlay'), diff --git a/src/creators/show-new-version-overlay.js b/src/creators/show-new-version-overlay.js new file mode 100644 index 0000000..f716b69 --- /dev/null +++ b/src/creators/show-new-version-overlay.js @@ -0,0 +1,20 @@ +'use strict'; + +const { + SHOW_OVERLAY +} = require('../constants/action-types'); + +const { + NEW_VERSION_OVERLAY +} = require('../constants/overlay-states'); + +function showHelpOverlay(){ + return { + type: SHOW_OVERLAY, + payload: { + state: NEW_VERSION_OVERLAY + } + }; +} + +module.exports = showHelpOverlay; diff --git a/src/plugins/handlers.js b/src/plugins/handlers.js index 5eae8fc..8dc4afc 100644 --- a/src/plugins/handlers.js +++ b/src/plugins/handlers.js @@ -265,6 +265,17 @@ function handlers(app, opts, done){ store.dispatch(creators.showDeleteFileOverlay()); } + function showNewVersionOverlay(){ + chrome.storage.local.get('newVersion', function(val) { + console.log('newVersion', val.newVersion); + if(val.newVersion){ + chrome.storage.local.remove('newVersion', function(val) { + store.dispatch(creators.showNewVersionOverlay()); + }); + } + }); + } + function hideOverlay(){ store.dispatch(creators.hideOverlay()); } @@ -596,6 +607,7 @@ function handlers(app, opts, done){ // overlay methods showHelpOverlay, showSaveOverlay, + showNewVersionOverlay, showDownloadOverlay, showProjectsOverlay, showDeleteFileOverlay, diff --git a/src/plugins/overlays.js b/src/plugins/overlays.js index f04ff56..be6a298 100644 --- a/src/plugins/overlays.js +++ b/src/plugins/overlays.js @@ -4,6 +4,7 @@ const React = require('react'); const HelpOverlay = require('../views/help-overlay'); const SaveOverlay = require('../views/save-overlay'); +const NewVersionOverlay = require('../views/new-version-overlay'); const ProjectOverlay = require('../views/project-overlay'); const DownloadOverlay = require('../views/download-overlay'); const OverwriteOverlay = require('../views/overwrite-overlay'); @@ -19,6 +20,7 @@ const { DOWNLOAD_OVERLAY, PROJECTS_OVERLAY, OVERWRITE_OVERLAY, + NEW_VERSION_OVERLAY, DELETE_FILE_OVERLAY, DELETE_PROJECT_OVERLAY } = require('../constants/overlay-states'); @@ -48,6 +50,9 @@ function overlays(app, opts, done){ case OVERWRITE_OVERLAY: renderOverlay(); break; + case NEW_VERSION_OVERLAY: + renderOverlay(); + break; case DOWNLOAD_OVERLAY: renderOverlay(); break; diff --git a/src/views/new-version-overlay.js b/src/views/new-version-overlay.js new file mode 100644 index 0000000..91a664c --- /dev/null +++ b/src/views/new-version-overlay.js @@ -0,0 +1,71 @@ +'use strict'; + +const React = require('react'); +const { createContainer } = require('sovereign'); +const Button = require('react-material/components/Button'); + +const Overlay = require('../components/overlay'); +const OverlayTitle = require('../components/overlay-title'); +const OverlayFooter = require('../components/overlay-footer'); + +const contentStyle = { + position: 'relative' +}; + +const releaseNotesLink = 'https://github.com/parallaxinc/Parallax-IDE/releases'; +const installationNotesLink = 'https://www.parallax.com/downloads/parallax-ide-chrome'; + +class NewVersionOverlay extends React.Component { + + constructor(...args){ + super(...args); + } + + render(){ + + const { + handlers + } = this.props; + + const { + hideOverlay + } = handlers; + + const { + name, + version + } = chrome.runtime.getManifest(); + + return ( + + {name} Automatically Updated to v{version} +
+ You are now running a new release of {name}! +
+
+ See Release Notes and Installation Notes for more details. +
+ + + +
+ ); + } +} + +module.exports = createContainer(NewVersionOverlay, { + getStores({ workspace }){ + return { + workspace + }; + }, + + getPropsFromStores({ workspace }){ + const { cwd, projects } = workspace.getState(); + + return { + cwd, + projects + }; + } +}); From f890614a731e7ddf2fedab84d448773658879de4 Mon Sep 17 00:00:00 2001 From: Luis Montes Date: Mon, 14 Sep 2015 09:13:09 -0700 Subject: [PATCH 2/2] cleanup --- background.js | 2 +- src/plugins/handlers.js | 3 +-- src/plugins/overlays.js | 2 +- src/views/new-version-overlay.js | 22 +--------------------- 4 files changed, 4 insertions(+), 25 deletions(-) diff --git a/background.js b/background.js index 62561d8..3fdd65d 100644 --- a/background.js +++ b/background.js @@ -32,5 +32,5 @@ chrome.app.runtime.onLaunched.addListener(function() { }); chrome.runtime.onInstalled.addListener(function(evt){ - chrome.storage.local.set({newVersion: 'newVersion'}, function() {}); + chrome.storage.local.set({newVersion: 'newVersion'}); }); diff --git a/src/plugins/handlers.js b/src/plugins/handlers.js index 8dc4afc..d309f1d 100644 --- a/src/plugins/handlers.js +++ b/src/plugins/handlers.js @@ -267,9 +267,8 @@ function handlers(app, opts, done){ function showNewVersionOverlay(){ chrome.storage.local.get('newVersion', function(val) { - console.log('newVersion', val.newVersion); if(val.newVersion){ - chrome.storage.local.remove('newVersion', function(val) { + chrome.storage.local.remove('newVersion', function() { store.dispatch(creators.showNewVersionOverlay()); }); } diff --git a/src/plugins/overlays.js b/src/plugins/overlays.js index be6a298..6a0db45 100644 --- a/src/plugins/overlays.js +++ b/src/plugins/overlays.js @@ -51,7 +51,7 @@ function overlays(app, opts, done){ renderOverlay(); break; case NEW_VERSION_OVERLAY: - renderOverlay(); + renderOverlay(); break; case DOWNLOAD_OVERLAY: renderOverlay(); diff --git a/src/views/new-version-overlay.js b/src/views/new-version-overlay.js index 91a664c..5498b43 100644 --- a/src/views/new-version-overlay.js +++ b/src/views/new-version-overlay.js @@ -1,7 +1,6 @@ 'use strict'; const React = require('react'); -const { createContainer } = require('sovereign'); const Button = require('react-material/components/Button'); const Overlay = require('../components/overlay'); @@ -17,10 +16,6 @@ const installationNotesLink = 'https://www.parallax.com/downloads/parallax-ide-c class NewVersionOverlay extends React.Component { - constructor(...args){ - super(...args); - } - render(){ const { @@ -53,19 +48,4 @@ class NewVersionOverlay extends React.Component { } } -module.exports = createContainer(NewVersionOverlay, { - getStores({ workspace }){ - return { - workspace - }; - }, - - getPropsFromStores({ workspace }){ - const { cwd, projects } = workspace.getState(); - - return { - cwd, - projects - }; - } -}); +module.exports = NewVersionOverlay;