From 57701a64a3f96390b11ad26a6b46a37b5e43e539 Mon Sep 17 00:00:00 2001
From: Ben Wheeler <wheeler.benjamin@gmail.com>
Date: Wed, 28 Nov 2018 13:51:01 -0800
Subject: [PATCH] use projectChanged reducer to detect project dirty state

---
 src/lib/project-saver-hoc.jsx | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/project-saver-hoc.jsx b/src/lib/project-saver-hoc.jsx
index 7e64ac33e..3149e54d5 100644
--- a/src/lib/project-saver-hoc.jsx
+++ b/src/lib/project-saver-hoc.jsx
@@ -44,7 +44,7 @@ const ProjectSaverHOC = function (WrappedComponent) {
             };
         }
         componentDidUpdate (prevProps) {
-            if (this.props.isDirtyProject && !prevProps.isDirtyProject) {
+            if (this.props.projectChanged && !prevProps.projectChanged) {
                 this.scheduleAutoSave();
             }
             if (this.props.isUpdating && !prevProps.isUpdating) {
@@ -98,7 +98,7 @@ const ProjectSaverHOC = function (WrappedComponent) {
             }
         }
         tryToAutoSave () {
-            if (this.props.isDirtyProject && this.props.isShowingSaveable) {
+            if (this.props.projectChanged && this.props.isShowingSaveable) {
                 this.props.onAutoUpdateProject();
             }
         }
@@ -214,7 +214,7 @@ const ProjectSaverHOC = function (WrappedComponent) {
                 autosaveIntervalSecs,
                 isCreatingCopy,
                 isCreatingNew,
-                isDirtyProject,
+                projectChanged,
                 isManualUpdating,
                 isRemixing,
                 isShowingSaveable,
@@ -250,7 +250,6 @@ const ProjectSaverHOC = function (WrappedComponent) {
         canSave: PropTypes.bool,
         isCreatingCopy: PropTypes.bool,
         isCreatingNew: PropTypes.bool,
-        isDirtyProject: PropTypes.bool,
         isManualUpdating: PropTypes.bool,
         isRemixing: PropTypes.bool,
         isShared: PropTypes.bool,
@@ -269,6 +268,7 @@ const ProjectSaverHOC = function (WrappedComponent) {
         onShowSaveSuccessAlert: PropTypes.func,
         onShowSavingAlert: PropTypes.func,
         onUpdatedProject: PropTypes.func,
+        projectChanged: PropTypes.bool,
         reduxProjectId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
         reduxProjectTitle: PropTypes.string,
         vm: PropTypes.instanceOf(VM).isRequired
@@ -282,7 +282,6 @@ const ProjectSaverHOC = function (WrappedComponent) {
         return {
             isCreatingCopy: getIsCreatingCopy(loadingState),
             isCreatingNew: getIsCreatingNew(loadingState),
-            isDirtyProject: true,
             isRemixing: getIsRemixing(loadingState),
             isShowingSaveable: ownProps.canSave && isShowingWithId,
             isShowingWithId: isShowingWithId,
@@ -290,6 +289,7 @@ const ProjectSaverHOC = function (WrappedComponent) {
             isUpdating: getIsUpdating(loadingState),
             isManualUpdating: getIsManualUpdating(loadingState),
             loadingState: loadingState,
+            projectChanged: state.scratchGui.projectChanged,
             reduxProjectId: state.scratchGui.projectState.projectId,
             reduxProjectTitle: state.scratchGui.projectTitle,
             vm: state.scratchGui.vm
-- 
GitLab