diff --git a/client.js b/client.js index 94d493d..0017390 100644 --- a/client.js +++ b/client.js @@ -61,9 +61,6 @@ const plugins = [ }, { register: require('./src/plugins/notifications') - }, - { - register: require('./src/plugins/overlays') } ]; diff --git a/src/constants/overlay-states.js b/src/constants/overlay-states.js deleted file mode 100644 index 79068ee..0000000 --- a/src/constants/overlay-states.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -const overlayStates = { - NO_OVERLAY: 'NO_OVERLAY', - HELP_OVERLAY: 'HELP_OVERLAY', - SAVE_OVERLAY: 'SAVE_OVERLAY', - DOWNLOAD_OVERLAY: 'DOWNLOAD_OVERLAY', - PROJECTS_OVERLAY: 'PROJECTS_OVERLAY', - OVERWRITE_OVERLAY: 'OVERWRITE_OVERLAY', - NEW_VERSION_OVERLAY: 'NEW_VERSION_OVERLAY', - DELETE_FILE_OVERLAY: 'DELETE_FILE_OVERLAY', - SAVE_ON_CHANGE_OVERLAY: 'SAVE_ON_CHANGE_OVERLAY', - DELETE_PROJECT_OVERLAY: 'DELETE_PROJECT_OVERLAY' -}; - -module.exports = overlayStates; diff --git a/src/creators/hide-overlay.js b/src/creators/hide-overlay.js deleted file mode 100644 index edba324..0000000 --- a/src/creators/hide-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - HIDE_OVERLAY -} = require('../constants/action-types'); - -const { - NO_OVERLAY -} = require('../constants/overlay-states'); - -function hideOverlay(){ - return { - type: HIDE_OVERLAY, - payload: { - state: NO_OVERLAY - } - }; -} - -module.exports = hideOverlay; diff --git a/src/creators/index.js b/src/creators/index.js index 068dfc4..b0496d2 100644 --- a/src/creators/index.js +++ b/src/creators/index.js @@ -3,16 +3,6 @@ const creators = { // overlay creators deleteProjectConfirm: require('./delete-project-confirm'), - showDeleteFileOverlay: require('./show-delete-file-overlay'), - showDeleteProjectOverlay: require('./show-delete-project-overlay'), - 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'), - showSaveOnChangeOverlay: require('./show-save-on-change-overlay'), - showHelpOverlay: require('./show-help-overlay'), - hideOverlay: require('./hide-overlay'), // terminal creators rxOn: require('./rx-on'), rxOff: require('./rx-off'), diff --git a/src/creators/show-delete-file-overlay.js b/src/creators/show-delete-file-overlay.js deleted file mode 100644 index fea4d96..0000000 --- a/src/creators/show-delete-file-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - DELETE_FILE_OVERLAY -} = require('../constants/overlay-states'); - -function showDeleteFileOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: DELETE_FILE_OVERLAY - } - }; -} - -module.exports = showDeleteFileOverlay; diff --git a/src/creators/show-delete-project-overlay.js b/src/creators/show-delete-project-overlay.js deleted file mode 100644 index cca1d3a..0000000 --- a/src/creators/show-delete-project-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - DELETE_PROJECT_OVERLAY -} = require('../constants/overlay-states'); - -function showDeleteProjectOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: DELETE_PROJECT_OVERLAY - } - }; -} - -module.exports = showDeleteProjectOverlay; diff --git a/src/creators/show-download-overlay.js b/src/creators/show-download-overlay.js deleted file mode 100644 index 26a8242..0000000 --- a/src/creators/show-download-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - DOWNLOAD_OVERLAY -} = require('../constants/overlay-states'); - -function showDownloadOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: DOWNLOAD_OVERLAY - } - }; -} - -module.exports = showDownloadOverlay; diff --git a/src/creators/show-help-overlay.js b/src/creators/show-help-overlay.js deleted file mode 100644 index 5d14f08..0000000 --- a/src/creators/show-help-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - HELP_OVERLAY -} = require('../constants/overlay-states'); - -function showHelpOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: HELP_OVERLAY - } - }; -} - -module.exports = showHelpOverlay; diff --git a/src/creators/show-new-version-overlay.js b/src/creators/show-new-version-overlay.js deleted file mode 100644 index f716b69..0000000 --- a/src/creators/show-new-version-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'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/creators/show-overwrite-overlay.js b/src/creators/show-overwrite-overlay.js deleted file mode 100644 index 7ce1fc5..0000000 --- a/src/creators/show-overwrite-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - OVERWRITE_OVERLAY -} = require('../constants/overlay-states'); - -function showOverwriteOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: OVERWRITE_OVERLAY - } - }; -} - -module.exports = showOverwriteOverlay; diff --git a/src/creators/show-projects-overlay.js b/src/creators/show-projects-overlay.js deleted file mode 100644 index d984ffd..0000000 --- a/src/creators/show-projects-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - PROJECTS_OVERLAY -} = require('../constants/overlay-states'); - -function showProjectsOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: PROJECTS_OVERLAY - } - }; -} - -module.exports = showProjectsOverlay; diff --git a/src/creators/show-save-on-change-overlay.js b/src/creators/show-save-on-change-overlay.js deleted file mode 100644 index 22b2ca5..0000000 --- a/src/creators/show-save-on-change-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - SAVE_ON_CHANGE_OVERLAY -} = require('../constants/overlay-states'); - -function showSaveOnChangeOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: SAVE_ON_CHANGE_OVERLAY - } - }; -} - -module.exports = showSaveOnChangeOverlay; diff --git a/src/creators/show-save-overlay.js b/src/creators/show-save-overlay.js deleted file mode 100644 index ccd9dc1..0000000 --- a/src/creators/show-save-overlay.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -const { - SHOW_OVERLAY -} = require('../constants/action-types'); - -const { - SAVE_OVERLAY -} = require('../constants/overlay-states'); - -function showSaveOverlay(){ - return { - type: SHOW_OVERLAY, - payload: { - state: SAVE_OVERLAY - } - }; -} - -module.exports = showSaveOverlay; diff --git a/src/plugins/handlers.js b/src/plugins/handlers.js index 7277596..82dd63c 100644 --- a/src/plugins/handlers.js +++ b/src/plugins/handlers.js @@ -14,6 +14,7 @@ const Terminal = require('../lib/terminal'); const Documents = require('../lib/documents'); const highlighter = require('../lib/highlighter'); const directive = require('../lib/directive'); +const history = require('../lib/history'); const { NEW_FILE, @@ -125,7 +126,7 @@ function handlers(app, opts, done){ .then(function(){ documents.swap(path.join(cwd, filename)); }); - store.dispatch(creators.hideOverlay()); + hideOverlay(); } } @@ -146,7 +147,7 @@ function handlers(app, opts, done){ documents.replace(path.join(cwd, filename)); handleActionQueue(); }); - store.dispatch(creators.hideOverlay()); + hideOverlay(); } function overwriteFile(){ @@ -170,6 +171,12 @@ function handlers(app, opts, done){ }); } + function cancelOverwriteFile(){ + const { nextFile } = store.getState(); + store.dispatch(creators.queueChangeFile(nextFile)); + history.goBack(); + } + function dontSaveFile(){ const { nextFile } = store.getState(); @@ -259,53 +266,53 @@ function handlers(app, opts, done){ function deleteProjectConfirm(name){ store.dispatch(creators.deleteProjectConfirm(name)); - store.dispatch(creators.showDeleteProjectOverlay()); + history.pushState({}, '/overlay/deleteproject'); } function showHelpOverlay(){ - store.dispatch(creators.showHelpOverlay()); + history.pushState({}, '/overlay/help'); } function showSaveOverlay(){ - store.dispatch(creators.showSaveOverlay()); + history.pushState({}, '/overlay/save'); } function showSaveOnChangeOverlay(){ - store.dispatch(creators.showSaveOnChangeOverlay()); + history.pushState({}, '/overlay/save?showDontSaveButton=true'); } function showOverwriteOverlay(name){ store.dispatch(creators.queueOverwriteFile(name)); - store.dispatch(creators.showOverwriteOverlay()); + history.pushState({}, '/overlay/overwrite'); } function showDownloadOverlay(){ - store.dispatch(creators.showDownloadOverlay()); + history.pushState({}, '/overlay/download'); // TODO: is there ever a time when show download overlay doesn't reload devices? /* eslint no-use-before-define: false */ reloadDevices(); } function showProjectsOverlay(){ - store.dispatch(creators.showProjectsOverlay()); + history.pushState({}, '/overlay/project'); } function showDeleteFileOverlay(){ - store.dispatch(creators.showDeleteFileOverlay()); + history.pushState({}, '/overlay/deletefile'); } function showNewVersionOverlay(){ chrome.storage.local.get('newVersion', function(val) { if(val.newVersion){ chrome.storage.local.remove('newVersion', function() { - store.dispatch(creators.showNewVersionOverlay()); + history.pushState({}, '/overlay/newversion'); }); } }); } function hideOverlay(){ - store.dispatch(creators.hideOverlay()); + history.pushState({}, '/'); } function findNext(){ @@ -707,6 +714,7 @@ function handlers(app, opts, done){ changeFile, dontSaveFile, overwriteFile, + cancelOverwriteFile, // project methods changeProject, deleteProject, diff --git a/src/plugins/overlays.js b/src/plugins/overlays.js deleted file mode 100644 index db95098..0000000 --- a/src/plugins/overlays.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -const React = require('react'); - -const history = require('../lib/history'); -const store = require('../store'); - -const { - NO_OVERLAY, - HELP_OVERLAY, - SAVE_OVERLAY, - DOWNLOAD_OVERLAY, - PROJECTS_OVERLAY, - OVERWRITE_OVERLAY, - NEW_VERSION_OVERLAY, - DELETE_FILE_OVERLAY, - SAVE_ON_CHANGE_OVERLAY, - DELETE_PROJECT_OVERLAY -} = require('../constants/overlay-states'); - -function overlays(app, opts, done){ - - const { workspace, handlers } = app; - - function onOverlayChange(){ - const { overlayState } = store.getState(); - - switch(overlayState){ - case HELP_OVERLAY: - history.pushState({}, '/overlay/help'); - break; - case SAVE_OVERLAY: - history.pushState({}, '/overlay/save'); - break; - case SAVE_ON_CHANGE_OVERLAY: - history.pushState({}, '/overlay/save?showDontSaveButton=true'); - break; - case OVERWRITE_OVERLAY: - history.pushState({}, '/overlay/overwrite'); - break; - case NEW_VERSION_OVERLAY: - history.pushState({}, '/overlay/newversion'); - break; - case DOWNLOAD_OVERLAY: - history.pushState({}, '/overlay/download'); - break; - case PROJECTS_OVERLAY: - history.pushState({}, '/overlay/project'); - break; - case DELETE_FILE_OVERLAY: - history.pushState({}, '/overlay/deletefile'); - break; - case DELETE_PROJECT_OVERLAY: - history.pushState({}, '/overlay/deleteproject'); - break; - case NO_OVERLAY: - history.pushState({}, '/'); - break; - } - } - - store.subscribe(onOverlayChange); - - done(); -} - -module.exports = overlays; diff --git a/src/views/delete-project-overlay.js b/src/views/delete-project-overlay.js index e2f7e6a..39ad910 100644 --- a/src/views/delete-project-overlay.js +++ b/src/views/delete-project-overlay.js @@ -7,6 +7,7 @@ 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 history = require('../lib/history'); class DeleteProjectOverlay extends React.Component { render(){ @@ -16,8 +17,7 @@ class DeleteProjectOverlay extends React.Component { } = this.props; const { - deleteProject, - showProjectsOverlay + deleteProject } = handlers; return ( @@ -25,7 +25,7 @@ class DeleteProjectOverlay extends React.Component { Are you sure you want to delete {name}? - + ); diff --git a/src/views/overwrite-overlay.js b/src/views/overwrite-overlay.js index e431b32..6c69d43 100644 --- a/src/views/overwrite-overlay.js +++ b/src/views/overwrite-overlay.js @@ -7,27 +7,10 @@ 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 history = require('../lib/history'); class OverwriteOverlay extends React.Component { - constructor(...args){ - super(...args); - - this.overwrite = this.overwrite.bind(this); - } - - overwrite(){ - const { - handlers - } = this.props; - - const { - overwriteFile - } = handlers; - - overwriteFile(); - } - render(){ const { filename, @@ -35,15 +18,16 @@ class OverwriteOverlay extends React.Component { } = this.props; const { - showSaveOverlay + overwriteFile, + cancelOverwriteFile } = handlers; return ( File '{filename}' already exists. Overwrite anyway? - - + + );