mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-29 09:20:03 +02:00
READY TO BUILD LEVELS :DDDDDDDDDDDDDD
This commit is contained in:
parent
c5f4d6e3f2
commit
8a1986a923
7 changed files with 175 additions and 48 deletions
114
build/bundle.js
114
build/bundle.js
|
@ -9792,12 +9792,12 @@ var ConfirmCancelView = ResolveRejectBase.extend({
|
|||
},
|
||||
|
||||
initialize: function(options) {
|
||||
if (!options.destination || !options.deferred) {
|
||||
if (!options.destination) {
|
||||
throw new Error('needmore');
|
||||
}
|
||||
|
||||
this.destination = options.destination;
|
||||
this.deferred = options.deferred;
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
confirm: options.confirm || 'Confirm',
|
||||
cancel: options.cancel || 'Cancel'
|
||||
|
@ -16660,7 +16660,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
|||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||
var LevelToolbar = require('../views').LevelToolbar;
|
||||
|
||||
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||
|
||||
var regexMap = {
|
||||
'define goal': /^define goal$/,
|
||||
|
@ -16931,6 +16933,18 @@ var LevelBuilder = Level.extend({
|
|||
}
|
||||
|
||||
chain = chain.done(_.bind(function() {
|
||||
// ok great! lets just give them the goods
|
||||
new MarkdownPresenter({
|
||||
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!'
|
||||
});
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
},
|
||||
|
||||
getExportObj: function() {
|
||||
var compiledLevel = _.extend(
|
||||
{},
|
||||
this.level
|
||||
|
@ -16940,12 +16954,7 @@ var LevelBuilder = Level.extend({
|
|||
if (this.startDialog) {
|
||||
compiledLevel.startDialog = this.startDialog;
|
||||
}
|
||||
console.log(compiledLevel);
|
||||
console.log(this.startDialog);
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
return compiledLevel;
|
||||
},
|
||||
|
||||
processLevelBuilderCommand: function(command, deferred) {
|
||||
|
@ -17044,7 +17053,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
options = options || {};
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Preview'
|
||||
previewText: options.previewText || 'Preview',
|
||||
fillerText: options.fillerText || '## Enter some markdown!\n\n\n'
|
||||
};
|
||||
|
||||
this.container = options.container || new ModalTerminal({
|
||||
|
@ -17114,6 +17124,34 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
}
|
||||
});
|
||||
|
||||
var MarkdownPresenter = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'markdownPresenter box vertical',
|
||||
template: _.template($('#markdown-presenter').html()),
|
||||
|
||||
initialize: function(options) {
|
||||
options = options || {};
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Here is something for you',
|
||||
fillerText: options.fillerText || '# Yay'
|
||||
};
|
||||
|
||||
this.container = new ModalTerminal({
|
||||
title: 'Check this out...'
|
||||
});
|
||||
this.render();
|
||||
|
||||
var confirmCancel = new Views.ConfirmCancelView({
|
||||
destination: this.getDestination()
|
||||
});
|
||||
confirmCancel.deferred.promise
|
||||
.fail(function() { })
|
||||
.done(_.bind(this.die, this));
|
||||
|
||||
this.show();
|
||||
}
|
||||
});
|
||||
|
||||
var DemonstrationBuilder = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'demonstrationBuilder box vertical',
|
||||
|
@ -17321,6 +17359,7 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
|||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||
exports.TextGrabber = TextGrabber;
|
||||
exports.MultiViewBuilder = MultiViewBuilder;
|
||||
exports.MarkdownPresenter = MarkdownPresenter;
|
||||
|
||||
|
||||
});
|
||||
|
@ -20045,7 +20084,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
|||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||
var LevelToolbar = require('../views').LevelToolbar;
|
||||
|
||||
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||
|
||||
var regexMap = {
|
||||
'define goal': /^define goal$/,
|
||||
|
@ -20316,6 +20357,18 @@ var LevelBuilder = Level.extend({
|
|||
}
|
||||
|
||||
chain = chain.done(_.bind(function() {
|
||||
// ok great! lets just give them the goods
|
||||
new MarkdownPresenter({
|
||||
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!'
|
||||
});
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
},
|
||||
|
||||
getExportObj: function() {
|
||||
var compiledLevel = _.extend(
|
||||
{},
|
||||
this.level
|
||||
|
@ -20325,12 +20378,7 @@ var LevelBuilder = Level.extend({
|
|||
if (this.startDialog) {
|
||||
compiledLevel.startDialog = this.startDialog;
|
||||
}
|
||||
console.log(compiledLevel);
|
||||
console.log(this.startDialog);
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
return compiledLevel;
|
||||
},
|
||||
|
||||
processLevelBuilderCommand: function(command, deferred) {
|
||||
|
@ -22105,7 +22153,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
options = options || {};
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Preview'
|
||||
previewText: options.previewText || 'Preview',
|
||||
fillerText: options.fillerText || '## Enter some markdown!\n\n\n'
|
||||
};
|
||||
|
||||
this.container = options.container || new ModalTerminal({
|
||||
|
@ -22175,6 +22224,34 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
}
|
||||
});
|
||||
|
||||
var MarkdownPresenter = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'markdownPresenter box vertical',
|
||||
template: _.template($('#markdown-presenter').html()),
|
||||
|
||||
initialize: function(options) {
|
||||
options = options || {};
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Here is something for you',
|
||||
fillerText: options.fillerText || '# Yay'
|
||||
};
|
||||
|
||||
this.container = new ModalTerminal({
|
||||
title: 'Check this out...'
|
||||
});
|
||||
this.render();
|
||||
|
||||
var confirmCancel = new Views.ConfirmCancelView({
|
||||
destination: this.getDestination()
|
||||
});
|
||||
confirmCancel.deferred.promise
|
||||
.fail(function() { })
|
||||
.done(_.bind(this.die, this));
|
||||
|
||||
this.show();
|
||||
}
|
||||
});
|
||||
|
||||
var DemonstrationBuilder = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'demonstrationBuilder box vertical',
|
||||
|
@ -22382,6 +22459,7 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
|||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||
exports.TextGrabber = TextGrabber;
|
||||
exports.MultiViewBuilder = MultiViewBuilder;
|
||||
exports.MarkdownPresenter = MarkdownPresenter;
|
||||
|
||||
|
||||
});
|
||||
|
@ -23150,12 +23228,12 @@ var ConfirmCancelView = ResolveRejectBase.extend({
|
|||
},
|
||||
|
||||
initialize: function(options) {
|
||||
if (!options.destination || !options.deferred) {
|
||||
if (!options.destination) {
|
||||
throw new Error('needmore');
|
||||
}
|
||||
|
||||
this.destination = options.destination;
|
||||
this.deferred = options.deferred;
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
confirm: options.confirm || 'Confirm',
|
||||
cancel: options.cancel || 'Cancel'
|
||||
|
|
13
index.html
13
index.html
|
@ -293,14 +293,17 @@
|
|||
<textarea></textarea>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="markdown-presenter">
|
||||
<p class="helperText textAlignCenter">
|
||||
<%= previewText %>
|
||||
</p>
|
||||
<textarea><%= fillerText %></textarea>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="markdown-grabber-view">
|
||||
<div class="inputSide box vertical">
|
||||
<div class="markdownGrabberInput">
|
||||
<textarea>
|
||||
## Enter some markdown!
|
||||
|
||||
|
||||
</textarea>
|
||||
<textarea><%= fillerText %></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -20,7 +20,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
|||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||
var LevelToolbar = require('../views').LevelToolbar;
|
||||
|
||||
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||
|
||||
var regexMap = {
|
||||
'define goal': /^define goal$/,
|
||||
|
@ -291,6 +293,18 @@ var LevelBuilder = Level.extend({
|
|||
}
|
||||
|
||||
chain = chain.done(_.bind(function() {
|
||||
// ok great! lets just give them the goods
|
||||
new MarkdownPresenter({
|
||||
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!'
|
||||
});
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
},
|
||||
|
||||
getExportObj: function() {
|
||||
var compiledLevel = _.extend(
|
||||
{},
|
||||
this.level
|
||||
|
@ -300,12 +314,7 @@ var LevelBuilder = Level.extend({
|
|||
if (this.startDialog) {
|
||||
compiledLevel.startDialog = this.startDialog;
|
||||
}
|
||||
console.log(compiledLevel);
|
||||
console.log(this.startDialog);
|
||||
command.finishWith(deferred);
|
||||
}, this));
|
||||
|
||||
masterDeferred.resolve();
|
||||
return compiledLevel;
|
||||
},
|
||||
|
||||
processLevelBuilderCommand: function(command, deferred) {
|
||||
|
|
|
@ -57,7 +57,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
options = options || {};
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Preview'
|
||||
previewText: options.previewText || 'Preview',
|
||||
fillerText: options.fillerText || '## Enter some markdown!\n\n\n'
|
||||
};
|
||||
|
||||
this.container = options.container || new ModalTerminal({
|
||||
|
@ -127,6 +128,34 @@ var MarkdownGrabber = ContainedBase.extend({
|
|||
}
|
||||
});
|
||||
|
||||
var MarkdownPresenter = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'markdownPresenter box vertical',
|
||||
template: _.template($('#markdown-presenter').html()),
|
||||
|
||||
initialize: function(options) {
|
||||
options = options || {};
|
||||
this.JSON = {
|
||||
previewText: options.previewText || 'Here is something for you',
|
||||
fillerText: options.fillerText || '# Yay'
|
||||
};
|
||||
|
||||
this.container = new ModalTerminal({
|
||||
title: 'Check this out...'
|
||||
});
|
||||
this.render();
|
||||
|
||||
var confirmCancel = new Views.ConfirmCancelView({
|
||||
destination: this.getDestination()
|
||||
});
|
||||
confirmCancel.deferred.promise
|
||||
.fail(function() { })
|
||||
.done(_.bind(this.die, this));
|
||||
|
||||
this.show();
|
||||
}
|
||||
});
|
||||
|
||||
var DemonstrationBuilder = ContainedBase.extend({
|
||||
tagName: 'div',
|
||||
className: 'demonstrationBuilder box vertical',
|
||||
|
@ -334,4 +363,5 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
|||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||
exports.TextGrabber = TextGrabber;
|
||||
exports.MultiViewBuilder = MultiViewBuilder;
|
||||
exports.MarkdownPresenter = MarkdownPresenter;
|
||||
|
||||
|
|
|
@ -125,12 +125,12 @@ var ConfirmCancelView = ResolveRejectBase.extend({
|
|||
},
|
||||
|
||||
initialize: function(options) {
|
||||
if (!options.destination || !options.deferred) {
|
||||
if (!options.destination) {
|
||||
throw new Error('needmore');
|
||||
}
|
||||
|
||||
this.destination = options.destination;
|
||||
this.deferred = options.deferred;
|
||||
this.deferred = options.deferred || Q.defer();
|
||||
this.JSON = {
|
||||
confirm: options.confirm || 'Confirm',
|
||||
cancel: options.cancel || 'Cancel'
|
||||
|
|
|
@ -788,6 +788,12 @@ div.levelIcon.solved div.index div.indexNum {
|
|||
|
||||
/* Git demonstration view, and markdownGrabber */
|
||||
|
||||
.markdownPresenter textarea {
|
||||
min-height: 400px;
|
||||
width: 90%;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.markdownGrabber {
|
||||
padding: 10px;
|
||||
}
|
||||
|
|
3
todo.txt
3
todo.txt
|
@ -1,7 +1,7 @@
|
|||
Big Things
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
[ ] edit dialog
|
||||
[ ] descriptions for levels?
|
||||
[ ] import random level
|
||||
|
||||
Medium things:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -28,6 +28,7 @@ Ideas for cleaning
|
|||
Done things:
|
||||
(I only started this on Dec 17th 2012 to get a better sense of what was done)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
[x] edit dialog
|
||||
[x] level builder dialog builder
|
||||
[x] level builder dialog tester
|
||||
[x] turn off button clicking for demonstration view :O
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue