mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-03 06:12:51 +00:00
Rename isPending state to more explicit unsavedChanges
This commit is contained in:
@@ -47,7 +47,7 @@ const EditPage = createClass({
|
|||||||
return {
|
return {
|
||||||
brew : this.props.brew,
|
brew : this.props.brew,
|
||||||
isSaving : false,
|
isSaving : false,
|
||||||
isPending : false,
|
unsavedChanges : false,
|
||||||
alertTrashedGoogleBrew : this.props.brew.trashed,
|
alertTrashedGoogleBrew : this.props.brew.trashed,
|
||||||
alertLoginToTransfer : false,
|
alertLoginToTransfer : false,
|
||||||
saveGoogle : this.props.brew.googleId ? true : false,
|
saveGoogle : this.props.brew.googleId ? true : false,
|
||||||
@@ -85,7 +85,7 @@ const EditPage = createClass({
|
|||||||
});
|
});
|
||||||
|
|
||||||
window.onbeforeunload = ()=>{
|
window.onbeforeunload = ()=>{
|
||||||
if(this.state.isSaving || this.state.isPending){
|
if(this.state.isSaving || this.state.unsavedChanges){
|
||||||
return 'You have unsaved changes!';
|
return 'You have unsaved changes!';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -104,9 +104,9 @@ const EditPage = createClass({
|
|||||||
},
|
},
|
||||||
componentDidUpdate : function(){
|
componentDidUpdate : function(){
|
||||||
const hasChange = this.hasChanges();
|
const hasChange = this.hasChanges();
|
||||||
if(this.state.isPending != hasChange){
|
if(this.state.unsavedChanges != hasChange){
|
||||||
this.setState({
|
this.setState({
|
||||||
isPending : hasChange
|
unsavedChanges : hasChange
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -156,9 +156,9 @@ const EditPage = createClass({
|
|||||||
if(htmlErrors.length) htmlErrors = Markdown.validate(snippet);
|
if(htmlErrors.length) htmlErrors = Markdown.validate(snippet);
|
||||||
|
|
||||||
this.setState((prevState)=>({
|
this.setState((prevState)=>({
|
||||||
brew : { ...prevState.brew, snippets: snippet },
|
brew : { ...prevState.brew, snippets: snippet },
|
||||||
isPending : true,
|
unsavedChanges : true,
|
||||||
htmlErrors : htmlErrors,
|
htmlErrors : htmlErrors,
|
||||||
}), ()=>{if(this.state.autoSave) this.trySave();});
|
}), ()=>{if(this.state.autoSave) this.trySave();});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -274,10 +274,10 @@ const EditPage = createClass({
|
|||||||
history.replaceState(null, null, `/edit/${this.savedBrew.editId}`);
|
history.replaceState(null, null, `/edit/${this.savedBrew.editId}`);
|
||||||
|
|
||||||
this.setState(()=>({
|
this.setState(()=>({
|
||||||
brew : this.savedBrew,
|
brew : this.savedBrew,
|
||||||
isPending : false,
|
unsavedChanges : false,
|
||||||
isSaving : false,
|
isSaving : false,
|
||||||
unsavedTime : new Date()
|
unsavedTime : new Date()
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -336,7 +336,7 @@ const EditPage = createClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// #2 - Unsaved changes exist, autosave is OFF and warning timer has expired, show AUTOSAVE WARNING
|
// #2 - Unsaved changes exist, autosave is OFF and warning timer has expired, show AUTOSAVE WARNING
|
||||||
if(this.state.isPending && this.state.autoSaveWarning){
|
if(this.state.unsavedChanges && this.state.autoSaveWarning){
|
||||||
this.setAutosaveWarning();
|
this.setAutosaveWarning();
|
||||||
const elapsedTime = Math.round((new Date() - this.state.unsavedTime) / 1000 / 60);
|
const elapsedTime = Math.round((new Date() - this.state.unsavedTime) / 1000 / 60);
|
||||||
const text = elapsedTime == 0 ? 'Autosave is OFF.' : `Autosave is OFF, and you haven't saved for ${elapsedTime} minutes.`;
|
const text = elapsedTime == 0 ? 'Autosave is OFF.' : `Autosave is OFF, and you haven't saved for ${elapsedTime} minutes.`;
|
||||||
@@ -351,7 +351,7 @@ const EditPage = createClass({
|
|||||||
|
|
||||||
// #3 - Unsaved changes exist, click to save, show SAVE NOW
|
// #3 - Unsaved changes exist, click to save, show SAVE NOW
|
||||||
// Use trySave(true) instead of save() to use debounced save function
|
// Use trySave(true) instead of save() to use debounced save function
|
||||||
if(this.state.isPending){
|
if(this.state.unsavedChanges){
|
||||||
return <Nav.item className='save' onClick={()=>this.trySave(true)} color='blue' icon='fas fa-save'>Save Now</Nav.item>;
|
return <Nav.item className='save' onClick={()=>this.trySave(true)} color='blue' icon='fas fa-save'>Save Now</Nav.item>;
|
||||||
}
|
}
|
||||||
// #4 - No unsaved changes, autosave is ON, show AUTO-SAVED
|
// #4 - No unsaved changes, autosave is ON, show AUTO-SAVED
|
||||||
|
|||||||
@@ -148,7 +148,6 @@ const NewPage = createClass({
|
|||||||
|
|
||||||
this.setState((prevState)=>({
|
this.setState((prevState)=>({
|
||||||
brew : { ...prevState.brew, snippets: snippet },
|
brew : { ...prevState.brew, snippets: snippet },
|
||||||
isPending : true,
|
|
||||||
htmlErrors : htmlErrors,
|
htmlErrors : htmlErrors,
|
||||||
}), ()=>{if(this.state.autoSave) this.trySave();});
|
}), ()=>{if(this.state.autoSave) this.trySave();});
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user