mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-27 08:28:50 +02:00
Resolves #993 -- warn on before unloading
This commit is contained in:
parent
d9fe304038
commit
be58befe52
5 changed files with 26 additions and 2 deletions
|
@ -18,7 +18,14 @@ var LevelActions = {
|
|||
AppDispatcher.handleViewAction({
|
||||
type: ActionTypes.RESET_LEVELS_SOLVED
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
setIsSolvingLevel: function(isSolvingLevel) {
|
||||
AppDispatcher.handleViewAction({
|
||||
type: ActionTypes.SET_IS_SOLVING_LEVEL,
|
||||
isSolvingLevel: isSolvingLevel,
|
||||
});
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -75,6 +75,10 @@ var init = function() {
|
|||
window.LocaleStore = LocaleStore;
|
||||
window.LocaleActions = LocaleActions;
|
||||
window.intl = intl;
|
||||
|
||||
$(window).on('beforeunload', function(e) {
|
||||
return GlobalStateStore.getIsSolvingLevel() ? 'you have a level in progress' : null;
|
||||
});
|
||||
};
|
||||
|
||||
var vcsModeRefresh = function(eventData) {
|
||||
|
|
|
@ -32,7 +32,8 @@ module.exports = {
|
|||
* solve the level, not ask for solution
|
||||
* or solve it again.
|
||||
*/
|
||||
SOLVE_LEVEL: null
|
||||
SOLVE_LEVEL: null,
|
||||
SET_IS_SOLVING_LEVEL: null,
|
||||
}),
|
||||
|
||||
PayloadSources: keyMirror({
|
||||
|
|
|
@ -58,6 +58,7 @@ var Level = Sandbox.extend({
|
|||
this.startOffCommand();
|
||||
|
||||
this.handleOpen(options.deferred);
|
||||
LevelActions.setIsSolvingLevel(true);
|
||||
},
|
||||
|
||||
getIsGoalExpanded: function() {
|
||||
|
@ -65,6 +66,7 @@ var Level = Sandbox.extend({
|
|||
},
|
||||
|
||||
handleOpen: function(deferred) {
|
||||
LevelActions.setIsSolvingLevel(true);
|
||||
deferred = deferred || Q.defer();
|
||||
|
||||
// if there is a multiview in the beginning, open that
|
||||
|
@ -573,6 +575,7 @@ var Level = Sandbox.extend({
|
|||
delete this.mainVis;
|
||||
delete this.goalVis;
|
||||
delete this.goalCanvasHolder;
|
||||
LevelActions.setIsSolvingLevel(false);
|
||||
},
|
||||
|
||||
getInstantCommands: function() {
|
||||
|
|
|
@ -10,6 +10,7 @@ var _isAnimating = false;
|
|||
var _flipTreeY = false;
|
||||
var _numLevelsSolved = 0;
|
||||
var _disableLevelInstructions = false;
|
||||
var _isSolvingLevel = false;
|
||||
|
||||
var GlobalStateStore = Object.assign(
|
||||
{},
|
||||
|
@ -20,6 +21,10 @@ AppConstants.StoreSubscribePrototype,
|
|||
return _isAnimating;
|
||||
},
|
||||
|
||||
getIsSolvingLevel: function() {
|
||||
return _isSolvingLevel;
|
||||
},
|
||||
|
||||
getFlipTreeY: function() {
|
||||
return _flipTreeY;
|
||||
},
|
||||
|
@ -37,6 +42,10 @@ AppConstants.StoreSubscribePrototype,
|
|||
var shouldInform = false;
|
||||
|
||||
switch (action.type) {
|
||||
case ActionTypes.SET_IS_SOLVING_LEVEL:
|
||||
_isSolvingLevel = action.isSolvingLevel;
|
||||
shouldInform = true;
|
||||
break;
|
||||
case ActionTypes.CHANGE_IS_ANIMATING:
|
||||
_isAnimating = action.isAnimating;
|
||||
shouldInform = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue