mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-26 16:08:34 +02:00
a bunch of keys from level directory
This commit is contained in:
parent
3adec8d88a
commit
9048f09d9f
7 changed files with 665 additions and 349 deletions
776
build/bundle.js
776
build/bundle.js
File diff suppressed because it is too large
Load diff
|
@ -1,15 +1,142 @@
|
||||||
exports.strings = {
|
exports.strings = {
|
||||||
////////////////////////////////////////////////////////////////////////////
|
'refresh-tree-command': {
|
||||||
|
'__desc__': 'when the tree is visually refreshed',
|
||||||
|
'en_US': 'Refreshing tree...'
|
||||||
|
},
|
||||||
|
'locale-command': {
|
||||||
|
'__desc__': 'when the locale is set to something',
|
||||||
|
'en_US': 'Locale set to {locale}'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'locale-reset-command': {
|
||||||
|
'__desc__': 'when the locale is reset',
|
||||||
|
'en_US': 'Locale reset to default, which is {locale}'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'cd-command': {
|
||||||
|
'__desc__': 'dummy command output for the command in the key',
|
||||||
|
'en_US': 'Directory changed to "/directories/dont/matter/in/this/demo"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'ls-command': {
|
||||||
|
'__desc__': 'Dummy command output for the command in the key',
|
||||||
|
'en_US': 'DontWorryAboutFilesInThisDemo.txt'
|
||||||
|
},
|
||||||
|
'mobile-alert': {
|
||||||
|
'__desc__': 'When someone comes to the site on a mobile device, they can not input commands so this is a nasty alert to tell them',
|
||||||
|
'en_US': 'Can\'t bring up the keyboard on mobile / tablet :( try visiting on desktop! :D'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'share-tree': {
|
||||||
|
'__desc__': 'When you export a tree, we want you to share the tree with friends',
|
||||||
|
'en_US': 'Share this tree with friends! They can load it with "import tree"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'paste-json': {
|
||||||
|
'__desc__': 'When you are importing a level or tree',
|
||||||
|
'en_US': 'Paste a JSON blob below!'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'solved-map-reset': {
|
||||||
|
'__desc__': 'When you reset the solved map to clear your solved history, in case someone else wants to use your browser',
|
||||||
|
'en_US': 'Solved map was reset, you are starting from a clean slate!'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'level-cant-exit': {
|
||||||
|
'__desc__': 'When the user tries to exit a level when they are not in one',
|
||||||
|
'en_US': 'You are not in a level! You are in a sandbox, start a level with "levels"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'level-no-id': {
|
||||||
|
'__desc__': 'When you say an id but that level doesnt exist',
|
||||||
|
'en_US': 'A level for that id "{id}" was not found! Opening up a level selection view'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'undo-stack-empty': {
|
||||||
|
'__desc__': 'The undo command can only undo back until the last time the level was reset or the beginning of the level',
|
||||||
|
'en_US': 'The undo stack is empty!'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'already-solved': {
|
||||||
|
'__desc__': 'When you play in a level that is already solved',
|
||||||
|
'en_US': 'You have alreaady solved this levle, try other levels with "levels" or go back to sandbox with "sandbox"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'command-disabled': {
|
||||||
|
'__desc__': 'When you try a command that is disabled',
|
||||||
|
'en_US': 'That git command is disabled for this level!'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'share-json': {
|
||||||
|
'__desc__': 'when you have made the level, prompt to share this',
|
||||||
|
'en_US': 'Here is the JSON for this level! Share it with somenoe or send it to me on Github'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'want-start-dialog': {
|
||||||
|
'__desc__': 'prompt to add a start dialog',
|
||||||
|
'en_US': 'You have not specified a start dialog, would you like to add one?'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'want-hint': {
|
||||||
|
'__desc__': 'prompt to add a hint',
|
||||||
|
'en_US': 'You have not specified a hint, would you like to add one?'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'prompt-hint': {
|
||||||
|
'__desc__': 'prompt for hint',
|
||||||
|
'en_US': 'Enter the hint for this level, or leave this blank if you do not want to include one'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'prompt-name': {
|
||||||
|
'__desc__': 'prompt for level name',
|
||||||
|
'en_US': 'Enter the name for the level'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'solution-empty': {
|
||||||
|
'__desc__': 'If you define a solution without any commands, aka a level that is solved without doing anything',
|
||||||
|
'en_US': 'Your solution is empty!! Something is amiss'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'define-start-warning': {
|
||||||
|
'__desc__': 'When you define the start point again, it overwrites the solution and goal so we add a warning',
|
||||||
|
'en_US': 'Defining start point... solution and goal will be overwritten if they were defined earlier'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'help-vague-level': {
|
||||||
|
'__desc__': 'When you are in a level and you say help, its vague and you need to specify',
|
||||||
|
'en_US': 'You are in a level, so multiple forms of help are available. Please select either "help level" or "help general"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'help-vague-builder': {
|
||||||
|
'__desc__': 'When you are in a level builder, the help command is vague so you need to specify what you mean',
|
||||||
|
'en_US': 'You are in a level builder, so multiple forms of help are available. Please select either "help general" or "help builder"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'hide-start': {
|
||||||
|
'__desc__': 'The helper message for the window that shows the start tree for a level',
|
||||||
|
'en_US': 'You can hide this window with "hide start"'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'level-builder': {
|
||||||
|
'__desc__': 'The name for the environment where you build levels',
|
||||||
|
'en_US': 'Level Builder'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
'no-start-dialog': {
|
||||||
|
'__desc__': 'when the user tries to open a start dialog for a level that does not have one',
|
||||||
|
'en_US': 'There is no start dialog to show for this level!'
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
'no-hint': {
|
'no-hint': {
|
||||||
'__desc__': 'when no hint is available for a level',
|
'__desc__': 'when no hint is available for a level',
|
||||||
'en_US': "Hmm, there doesn't seem to be a hint for this level :-/"
|
'en_US': "Hmm, there doesn't seem to be a hint for this level :-/"
|
||||||
},
|
},
|
||||||
////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
'error-untranslated-key': {
|
'error-untranslated-key': {
|
||||||
'__desc__': 'This error happens when we are trying to translate a specific key and the locale version is mission',
|
'__desc__': 'This error happens when we are trying to translate a specific key and the locale version is mission',
|
||||||
'en_US': 'The translation for {key} does not exist yet :( Please hop on github and offer up a translation!'
|
'en_US': 'The translation for {key} does not exist yet :( Please hop on github and offer up a translation!'
|
||||||
},
|
},
|
||||||
////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
'error-untranslated': {
|
'error-untranslated': {
|
||||||
'__desc__': 'The general error when we encounter a dialog that is not translated',
|
'__desc__': 'The general error when we encounter a dialog that is not translated',
|
||||||
'en_US': 'This dialog or text is not yet translated in your locale :( Hop on github to aid in translation!'
|
'en_US': 'This dialog or text is not yet translated in your locale :( Hop on github to aid in translation!'
|
||||||
|
|
|
@ -4,6 +4,7 @@ var Q = require('q');
|
||||||
|
|
||||||
var util = require('../util');
|
var util = require('../util');
|
||||||
var Main = require('../app');
|
var Main = require('../app');
|
||||||
|
var intl = require('../intl');
|
||||||
var Errors = require('../util/errors');
|
var Errors = require('../util/errors');
|
||||||
|
|
||||||
var Visualization = require('../visuals/visualization').Visualization;
|
var Visualization = require('../visuals/visualization').Visualization;
|
||||||
|
@ -59,7 +60,7 @@ var LevelBuilder = Level.extend({
|
||||||
|
|
||||||
initName: function() {
|
initName: function() {
|
||||||
this.levelToolbar = new LevelToolbar({
|
this.levelToolbar = new LevelToolbar({
|
||||||
name: 'Level Builder'
|
name: intl.str('level-builder')
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -73,7 +74,7 @@ var LevelBuilder = Level.extend({
|
||||||
initStartVisualization: function() {
|
initStartVisualization: function() {
|
||||||
this.startCanvasHolder = new CanvasTerminalHolder({
|
this.startCanvasHolder = new CanvasTerminalHolder({
|
||||||
additionalClass: 'startTree',
|
additionalClass: 'startTree',
|
||||||
text: 'You can hide this window with "hide start"'
|
text: intl.str('hide-start')
|
||||||
});
|
});
|
||||||
|
|
||||||
this.startVis = new Visualization({
|
this.startVis = new Visualization({
|
||||||
|
@ -89,7 +90,7 @@ var LevelBuilder = Level.extend({
|
||||||
startOffCommand: function() {
|
startOffCommand: function() {
|
||||||
Main.getEventBaton().trigger(
|
Main.getEventBaton().trigger(
|
||||||
'commandSubmitted',
|
'commandSubmitted',
|
||||||
'echo "Get Building!!"'
|
'echo :D'
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -118,9 +119,7 @@ var LevelBuilder = Level.extend({
|
||||||
return [
|
return [
|
||||||
[/^help$|^\?$/, function() {
|
[/^help$|^\?$/, function() {
|
||||||
throw new Errors.CommandResult({
|
throw new Errors.CommandResult({
|
||||||
msg: 'You are in a level builder, so multiple forms of ' +
|
msg: intl.str('help-vague-builder')
|
||||||
'help are available. Please select either ' +
|
|
||||||
'"help general" or "help builder"'
|
|
||||||
});
|
});
|
||||||
}]
|
}]
|
||||||
];
|
];
|
||||||
|
@ -160,9 +159,7 @@ var LevelBuilder = Level.extend({
|
||||||
defineStart: function(command, deferred) {
|
defineStart: function(command, deferred) {
|
||||||
this.hideStart();
|
this.hideStart();
|
||||||
|
|
||||||
command.addWarning(
|
command.addWarning(intl.str('define-start-warning'));
|
||||||
'Defining start point... solution and goal will be overwritten if they were defined earlier'
|
|
||||||
);
|
|
||||||
this.resetSolution();
|
this.resetSolution();
|
||||||
|
|
||||||
this.level.startTree = this.mainVis.gitEngine.printTree();
|
this.level.startTree = this.mainVis.gitEngine.printTree();
|
||||||
|
@ -176,7 +173,7 @@ var LevelBuilder = Level.extend({
|
||||||
|
|
||||||
if (!this.gitCommandsIssued.length) {
|
if (!this.gitCommandsIssued.length) {
|
||||||
command.set('error', new Errors.GitError({
|
command.set('error', new Errors.GitError({
|
||||||
msg: 'Your solution is empty!! something is amiss'
|
msg: intl.str('solution-empty')
|
||||||
}));
|
}));
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
return;
|
return;
|
||||||
|
@ -191,12 +188,12 @@ var LevelBuilder = Level.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
defineName: function(command, deferred) {
|
defineName: function(command, deferred) {
|
||||||
this.level.name = prompt('Enter the name for the level');
|
this.level.name = prompt(intl.str('prompt-name'));
|
||||||
if (command) { command.finishWith(deferred); }
|
if (command) { command.finishWith(deferred); }
|
||||||
},
|
},
|
||||||
|
|
||||||
defineHint: function(command, deferred) {
|
defineHint: function(command, deferred) {
|
||||||
this.level.hint = prompt('Enter a hint! Or blank if you dont want one');
|
this.level.hint = prompt(intl.str('prompt-hint'));
|
||||||
if (command) { command.finishWith(deferred); }
|
if (command) { command.finishWith(deferred); }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -225,7 +222,7 @@ var LevelBuilder = Level.extend({
|
||||||
finish: function(command, deferred) {
|
finish: function(command, deferred) {
|
||||||
if (!this.gitCommandsIssued.length || !this.definedGoal) {
|
if (!this.gitCommandsIssued.length || !this.definedGoal) {
|
||||||
command.set('error', new Errors.GitError({
|
command.set('error', new Errors.GitError({
|
||||||
msg: 'Your solution is empty or goal is undefined!'
|
msg: intl.str('solution-empty')
|
||||||
}));
|
}));
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
return;
|
return;
|
||||||
|
@ -247,7 +244,7 @@ var LevelBuilder = Level.extend({
|
||||||
// ask for a hint if there is none
|
// ask for a hint if there is none
|
||||||
var askForHintView = new ConfirmCancelTerminal({
|
var askForHintView = new ConfirmCancelTerminal({
|
||||||
markdowns: [
|
markdowns: [
|
||||||
'You have not specified a hint, would you like to add one?'
|
intl.str('want-hint')
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
askForHintView.getPromise()
|
askForHintView.getPromise()
|
||||||
|
@ -268,7 +265,7 @@ var LevelBuilder = Level.extend({
|
||||||
|
|
||||||
var askForStartView = new ConfirmCancelTerminal({
|
var askForStartView = new ConfirmCancelTerminal({
|
||||||
markdowns: [
|
markdowns: [
|
||||||
'You have not specified a start dialog, would you like to add one?'
|
intl.str('want-start-dialog')
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
askForStartView.getPromise()
|
askForStartView.getPromise()
|
||||||
|
@ -291,7 +288,7 @@ var LevelBuilder = Level.extend({
|
||||||
// ok great! lets just give them the goods
|
// ok great! lets just give them the goods
|
||||||
new MarkdownPresenter({
|
new MarkdownPresenter({
|
||||||
fillerText: JSON.stringify(this.getExportObj(), null, 2),
|
fillerText: JSON.stringify(this.getExportObj(), null, 2),
|
||||||
previewText: 'Here is the JSON for this level! Share it with someone or send it to me on Github!'
|
previewText: intl.str('share-json')
|
||||||
});
|
});
|
||||||
command.finishWith(deferred);
|
command.finishWith(deferred);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
var intl = require('../intl');
|
||||||
|
|
||||||
var GitCommands = require('../git/commands');
|
var GitCommands = require('../git/commands');
|
||||||
|
|
||||||
|
@ -20,7 +21,7 @@ DisabledMap.prototype.getInstantCommands = function() {
|
||||||
var instants = [];
|
var instants = [];
|
||||||
var onMatch = function() {
|
var onMatch = function() {
|
||||||
throw new GitError({
|
throw new GitError({
|
||||||
msg: 'That git command is disabled for this level!'
|
msg: intl.str('command-disabled')
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ var Level = Sandbox.extend({
|
||||||
startDialog: function(command, deferred) {
|
startDialog: function(command, deferred) {
|
||||||
if (!this.level.startDialog) {
|
if (!this.level.startDialog) {
|
||||||
command.set('error', new Errors.GitError({
|
command.set('error', new Errors.GitError({
|
||||||
msg: 'There is no start dialog to show for this level!'
|
msg: intl.str('no-start-dialog')
|
||||||
}));
|
}));
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
return;
|
return;
|
||||||
|
@ -171,6 +171,7 @@ var Level = Sandbox.extend({
|
||||||
|
|
||||||
// allow them for force the solution
|
// allow them for force the solution
|
||||||
var confirmDefer = Q.defer();
|
var confirmDefer = Q.defer();
|
||||||
|
// TODO intl
|
||||||
var confirmView = new ConfirmCancelTerminal({
|
var confirmView = new ConfirmCancelTerminal({
|
||||||
markdowns: [
|
markdowns: [
|
||||||
'## Are you sure you want to see the solution?',
|
'## Are you sure you want to see the solution?',
|
||||||
|
@ -183,7 +184,7 @@ var Level = Sandbox.extend({
|
||||||
confirmDefer.promise
|
confirmDefer.promise
|
||||||
.then(issueFunc)
|
.then(issueFunc)
|
||||||
.fail(function() {
|
.fail(function() {
|
||||||
command.setResult("Great! I'll let you get back to it");
|
command.setResult("");
|
||||||
})
|
})
|
||||||
.done(function() {
|
.done(function() {
|
||||||
// either way we animate, so both options can share this logic
|
// either way we animate, so both options can share this logic
|
||||||
|
@ -299,10 +300,7 @@ var Level = Sandbox.extend({
|
||||||
|
|
||||||
afterCommandDefer: function(defer, command) {
|
afterCommandDefer: function(defer, command) {
|
||||||
if (this.solved) {
|
if (this.solved) {
|
||||||
command.addWarning(
|
command.addWarning(intl.str('already-solved'));
|
||||||
"You've already solved this level, try other levels with 'show levels'" +
|
|
||||||
"or go back to the sandbox with 'sandbox'"
|
|
||||||
);
|
|
||||||
defer.resolve();
|
defer.resolve();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -415,15 +413,10 @@ var Level = Sandbox.extend({
|
||||||
return hint;
|
return hint;
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
var hintMsg = (this.level.hint) ?
|
|
||||||
this.level.hint :
|
|
||||||
"Hmm, there doesn't seem to be a hint for this level :-/";
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
[/^help$|^\?$/, function() {
|
[/^help$|^\?$/, function() {
|
||||||
throw new Errors.CommandResult({
|
throw new Errors.CommandResult({
|
||||||
msg: 'You are in a level, so multiple forms of help are available. Please select either ' +
|
msg: intl.str('help-vague-level')
|
||||||
'"help level" or "help general"'
|
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^hint$/, function() {
|
[/^hint$/, function() {
|
||||||
|
|
|
@ -4,6 +4,7 @@ var Q = require('q');
|
||||||
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
var util = require('../util');
|
var util = require('../util');
|
||||||
|
var intl = require('../intl');
|
||||||
var Main = require('../app');
|
var Main = require('../app');
|
||||||
var Errors = require('../util/errors');
|
var Errors = require('../util/errors');
|
||||||
|
|
||||||
|
@ -124,7 +125,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
var toRestore = this.undoStack.pop();
|
var toRestore = this.undoStack.pop();
|
||||||
if (!toRestore) {
|
if (!toRestore) {
|
||||||
command.set('error', new Errors.GitError({
|
command.set('error', new Errors.GitError({
|
||||||
msg: 'The undo stack is empty!'
|
msg: intl.str('undo-stack-empty')
|
||||||
}));
|
}));
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
return;
|
return;
|
||||||
|
@ -156,7 +157,10 @@ var Sandbox = Backbone.View.extend({
|
||||||
// handle the case where that level is not found...
|
// handle the case where that level is not found...
|
||||||
if (!levelJSON) {
|
if (!levelJSON) {
|
||||||
command.addWarning(
|
command.addWarning(
|
||||||
'A level for that id "' + desiredID + '" was not found!! Opening up level selection view...'
|
intl.str(
|
||||||
|
'level-no-id',
|
||||||
|
{ id: desiredID }
|
||||||
|
)
|
||||||
);
|
);
|
||||||
Main.getEventBaton().trigger('commandSubmitted', 'levels');
|
Main.getEventBaton().trigger('commandSubmitted', 'levels');
|
||||||
|
|
||||||
|
@ -203,7 +207,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
|
|
||||||
exitLevel: function(command, deferred) {
|
exitLevel: function(command, deferred) {
|
||||||
command.addWarning(
|
command.addWarning(
|
||||||
"You aren't in a level! You are in a sandbox, start a level with `level [id]`"
|
intl.str('level-cant-exit')
|
||||||
);
|
);
|
||||||
command.set('status', 'error');
|
command.set('status', 'error');
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
|
@ -220,7 +224,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
resetSolved: function(command, deferred) {
|
resetSolved: function(command, deferred) {
|
||||||
Main.getLevelArbiter().resetSolvedMap();
|
Main.getLevelArbiter().resetSolvedMap();
|
||||||
command.addWarning(
|
command.addWarning(
|
||||||
"Solved map was reset, you are starting from a clean slate!"
|
intl.str('solved-map-reset')
|
||||||
);
|
);
|
||||||
command.finishWith(deferred);
|
command.finishWith(deferred);
|
||||||
},
|
},
|
||||||
|
@ -267,7 +271,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
|
|
||||||
importTree: function(command, deferred) {
|
importTree: function(command, deferred) {
|
||||||
var jsonGrabber = new BuilderViews.MarkdownPresenter({
|
var jsonGrabber = new BuilderViews.MarkdownPresenter({
|
||||||
previewText: "Paste a tree JSON blob below!",
|
previewText: intl.str('paste-json'),
|
||||||
fillerText: ' '
|
fillerText: ' '
|
||||||
});
|
});
|
||||||
jsonGrabber.deferred.promise
|
jsonGrabber.deferred.promise
|
||||||
|
@ -300,7 +304,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
|
|
||||||
importLevel: function(command, deferred) {
|
importLevel: function(command, deferred) {
|
||||||
var jsonGrabber = new BuilderViews.MarkdownPresenter({
|
var jsonGrabber = new BuilderViews.MarkdownPresenter({
|
||||||
previewText: 'Paste a level JSON blob in here!',
|
previewText: intl.str('paste-json'),
|
||||||
fillerText: ' '
|
fillerText: ' '
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -350,7 +354,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
childViews: [{
|
childViews: [{
|
||||||
type: 'MarkdownPresenter',
|
type: 'MarkdownPresenter',
|
||||||
options: {
|
options: {
|
||||||
previewText: 'Share this tree with friends! They can load it with "import tree"',
|
previewText: intl.str('share-tree'),
|
||||||
fillerText: treeJSON,
|
fillerText: treeJSON,
|
||||||
noConfirmCancel: true
|
noConfirmCancel: true
|
||||||
}
|
}
|
||||||
|
@ -371,7 +375,7 @@ var Sandbox = Backbone.View.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
mobileAlert: function(command, deferred) {
|
mobileAlert: function(command, deferred) {
|
||||||
alert("Can't bring up the keyboard on mobile / tablet :( try visiting on desktop! :D");
|
alert(intl.str('mobile-alert'));
|
||||||
command.finishWith(deferred);
|
command.finishWith(deferred);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -13,25 +13,31 @@ var CommandResult = Errors.CommandResult;
|
||||||
var instantCommands = [
|
var instantCommands = [
|
||||||
[/^ls/, function() {
|
[/^ls/, function() {
|
||||||
throw new CommandResult({
|
throw new CommandResult({
|
||||||
msg: "DontWorryAboutFilesInThisDemo.txt"
|
msg: intl.str('ls-command')
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^cd/, function() {
|
[/^cd/, function() {
|
||||||
throw new CommandResult({
|
throw new CommandResult({
|
||||||
msg: "Directory Changed to '/directories/dont/matter/in/this/demo'"
|
msg: intl.str('cd-command')
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^(locale|locale reset)$/, function(bits) {
|
[/^(locale|locale reset)$/, function(bits) {
|
||||||
constants.GLOBAL.locale = intl.getDefaultLocale();
|
constants.GLOBAL.locale = intl.getDefaultLocale();
|
||||||
throw new CommandResult({
|
throw new CommandResult({
|
||||||
msg: 'Locale reset to default, which is ' + intl.getDefaultLocale()
|
msg: intl.str(
|
||||||
|
'locale-reset-command',
|
||||||
|
{ locale: intl.getDefaultLocale() }
|
||||||
|
)
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^locale (\w+)$/, function(bits) {
|
[/^locale (\w+)$/, function(bits) {
|
||||||
constants.GLOBAL.locale = bits[1];
|
constants.GLOBAL.locale = bits[1];
|
||||||
|
|
||||||
throw new CommandResult({
|
throw new CommandResult({
|
||||||
msg: "Locale set to " + bits[1]
|
msg: intl.str(
|
||||||
|
'locale-command',
|
||||||
|
{ locale: bits[1] }
|
||||||
|
)
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^refresh$/, function() {
|
[/^refresh$/, function() {
|
||||||
|
@ -39,7 +45,7 @@ var instantCommands = [
|
||||||
|
|
||||||
events.trigger('refreshTree');
|
events.trigger('refreshTree');
|
||||||
throw new CommandResult({
|
throw new CommandResult({
|
||||||
msg: "Refreshing tree..."
|
msg: intl.str('refresh-tree-command')
|
||||||
});
|
});
|
||||||
}],
|
}],
|
||||||
[/^rollup (\d+)$/, function(bits) {
|
[/^rollup (\d+)$/, function(bits) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue