From 861a8f87592ce702540c36d1da6df9ce61a8122b Mon Sep 17 00:00:00 2001 From: catarak Date: Wed, 7 Sep 2016 22:20:42 -0400 Subject: [PATCH] remove toasts for autosave --- client/modules/IDE/actions/project.js | 19 ++++++++++++------- client/modules/IDE/pages/IDEView.js | 7 +++++-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/client/modules/IDE/actions/project.js b/client/modules/IDE/actions/project.js index 58111f64..681829b9 100644 --- a/client/modules/IDE/actions/project.js +++ b/client/modules/IDE/actions/project.js @@ -47,7 +47,7 @@ export function setProjectName(name) { }; } -export function saveProject() { +export function saveProject(autosave) { return (dispatch, getState) => { const state = getState(); if (state.user.id && state.project.owner && state.project.owner.id !== state.user.id) { @@ -61,8 +61,10 @@ export function saveProject() { dispatch({ type: ActionTypes.PROJECT_SAVE_SUCCESS }); - dispatch(showToast()); - dispatch(setToastText('Project saved.')); + if (!autosave) { + dispatch(showToast()); + dispatch(setToastText('Project saved.')); + } }) .catch((response) => dispatch({ type: ActionTypes.PROJECT_SAVE_FAIL, @@ -79,10 +81,8 @@ export function saveProject() { owner: response.data.user, files: response.data.files }); - dispatch(showToast()); - if (state.preferences.autosave) { - dispatch(setToastText('Autosave enabled.')); - } else { + if (!autosave) { + dispatch(showToast()); dispatch(setToastText('Project saved.')); } }) @@ -94,6 +94,11 @@ export function saveProject() { }; } +export function autosaveProject() { + return (dispatch, getState) => { + saveProject(true)(dispatch, getState); + }; +} export function createProject() { return (dispatch) => { diff --git a/client/modules/IDE/pages/IDEView.js b/client/modules/IDE/pages/IDEView.js index d4b54f42..9cc2dcfb 100644 --- a/client/modules/IDE/pages/IDEView.js +++ b/client/modules/IDE/pages/IDEView.js @@ -45,7 +45,7 @@ class IDEView extends React.Component { if (this.props.preferences.autosave && this.props.project.owner && this.props.project.owner.id === this.props.user.id) { - this.autosaveInterval = setInterval(this.props.saveProject, 30000); + this.autosaveInterval = setInterval(this.props.autosaveProject, 30000); } } @@ -79,7 +79,7 @@ class IDEView extends React.Component { if (!this.autosaveInterval && ((this.props.preferences.autosave && !prevProps.preferences.autosave) || (this.props.project.id && !prevProps.project.id))) { - this.autosaveInterval = setInterval(this.props.saveProject, 30000); + this.autosaveInterval = setInterval(this.props.autosaveProject, 30000); // if user turns off autosave preference } else if (this.autosaveInterval && !this.props.preferences.autosave && prevProps.preferences.autosave) { clearInterval(this.autosaveInterval); @@ -454,6 +454,9 @@ IDEView.propTypes = { toast: PropTypes.shape({ isVisible: PropTypes.bool.isRequired }).isRequired, + showToast: PropTypes.func.isRequired, + setToastText: PropTypes.func.isRequired, + autosaveProject: PropTypes.func.isRequired }; function mapStateToProps(state) {