The confirmation dialog should not open after a user has solved the level and trying to see the solution

This commit is contained in:
SOUMYA 2023-06-24 17:07:33 +05:30
parent e169ed42a6
commit 82d5dfc7da

View file

@ -264,13 +264,14 @@ var Level = Sandbox.extend({
var toIssue = this.level.solutionCommand;
var issueFunc = function() {
this.isShowingSolution = true;
this.wasResetAfterSolved = true;
Main.getEventBaton().trigger(
'commandSubmitted',
toIssue
);
log.showLevelSolution(this.getEnglishName());
}.bind(this);
var commandStr = command.get('rawStr');
if (!this.testOptionOnString(commandStr, 'noReset')) {
toIssue = 'reset --forSolution; ' + toIssue;
@ -281,25 +282,30 @@ var Level = Sandbox.extend({
return;
}
// allow them for force the solution
var confirmDefer = Q.defer();
var dialog = intl.getDialog(require('../dialogs/confirmShowSolution'))[0];
var confirmView = new ConfirmCancelTerminal({
markdowns: dialog.options.markdowns,
deferred: confirmDefer
});
if(!LevelStore.isLevelSolved(this.level.id)){
// allow them for force the solution
var confirmDefer = Q.defer();
var dialog = intl.getDialog(require('../dialogs/confirmShowSolution'))[0];
var confirmView = new ConfirmCancelTerminal({
markdowns: dialog.options.markdowns,
deferred: confirmDefer
});
confirmDefer.promise
.then(issueFunc)
.fail(function() {
command.setResult("");
})
.done(function() {
// either way we animate, so both options can share this logic
setTimeout(function() {
command.finishWith(deferred);
}, confirmView.getAnimationTime());
});
confirmDefer.promise
.then(issueFunc)
.fail(function() {
command.setResult("");
})
.done(function() {
// either way we animate, so both options can share this logic
setTimeout(function() {
command.finishWith(deferred);
}, confirmView.getAnimationTime());
});
} else {
issueFunc();
command.finishWith(deferred);
}
},
toggleObjective: function() {