mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-29 17:27:22 +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) {
|
initialize: function(options) {
|
||||||
if (!options.destination || !options.deferred) {
|
if (!options.destination) {
|
||||||
throw new Error('needmore');
|
throw new Error('needmore');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.destination = options.destination;
|
this.destination = options.destination;
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
this.JSON = {
|
||||||
confirm: options.confirm || 'Confirm',
|
confirm: options.confirm || 'Confirm',
|
||||||
cancel: options.cancel || 'Cancel'
|
cancel: options.cancel || 'Cancel'
|
||||||
|
@ -16660,7 +16660,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
||||||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||||
var LevelToolbar = require('../views').LevelToolbar;
|
var LevelToolbar = require('../views').LevelToolbar;
|
||||||
|
|
||||||
|
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||||
|
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||||
|
|
||||||
var regexMap = {
|
var regexMap = {
|
||||||
'define goal': /^define goal$/,
|
'define goal': /^define goal$/,
|
||||||
|
@ -16931,6 +16933,18 @@ var LevelBuilder = Level.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
chain = chain.done(_.bind(function() {
|
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(
|
var compiledLevel = _.extend(
|
||||||
{},
|
{},
|
||||||
this.level
|
this.level
|
||||||
|
@ -16940,12 +16954,7 @@ var LevelBuilder = Level.extend({
|
||||||
if (this.startDialog) {
|
if (this.startDialog) {
|
||||||
compiledLevel.startDialog = this.startDialog;
|
compiledLevel.startDialog = this.startDialog;
|
||||||
}
|
}
|
||||||
console.log(compiledLevel);
|
return compiledLevel;
|
||||||
console.log(this.startDialog);
|
|
||||||
command.finishWith(deferred);
|
|
||||||
}, this));
|
|
||||||
|
|
||||||
masterDeferred.resolve();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
processLevelBuilderCommand: function(command, deferred) {
|
processLevelBuilderCommand: function(command, deferred) {
|
||||||
|
@ -17044,7 +17053,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
||||||
options = options || {};
|
options = options || {};
|
||||||
this.deferred = options.deferred || Q.defer();
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
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({
|
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({
|
var DemonstrationBuilder = ContainedBase.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
className: 'demonstrationBuilder box vertical',
|
className: 'demonstrationBuilder box vertical',
|
||||||
|
@ -17321,6 +17359,7 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
||||||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||||
exports.TextGrabber = TextGrabber;
|
exports.TextGrabber = TextGrabber;
|
||||||
exports.MultiViewBuilder = MultiViewBuilder;
|
exports.MultiViewBuilder = MultiViewBuilder;
|
||||||
|
exports.MarkdownPresenter = MarkdownPresenter;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -20045,7 +20084,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
||||||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||||
var LevelToolbar = require('../views').LevelToolbar;
|
var LevelToolbar = require('../views').LevelToolbar;
|
||||||
|
|
||||||
|
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||||
|
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||||
|
|
||||||
var regexMap = {
|
var regexMap = {
|
||||||
'define goal': /^define goal$/,
|
'define goal': /^define goal$/,
|
||||||
|
@ -20316,6 +20357,18 @@ var LevelBuilder = Level.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
chain = chain.done(_.bind(function() {
|
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(
|
var compiledLevel = _.extend(
|
||||||
{},
|
{},
|
||||||
this.level
|
this.level
|
||||||
|
@ -20325,12 +20378,7 @@ var LevelBuilder = Level.extend({
|
||||||
if (this.startDialog) {
|
if (this.startDialog) {
|
||||||
compiledLevel.startDialog = this.startDialog;
|
compiledLevel.startDialog = this.startDialog;
|
||||||
}
|
}
|
||||||
console.log(compiledLevel);
|
return compiledLevel;
|
||||||
console.log(this.startDialog);
|
|
||||||
command.finishWith(deferred);
|
|
||||||
}, this));
|
|
||||||
|
|
||||||
masterDeferred.resolve();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
processLevelBuilderCommand: function(command, deferred) {
|
processLevelBuilderCommand: function(command, deferred) {
|
||||||
|
@ -22105,7 +22153,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
||||||
options = options || {};
|
options = options || {};
|
||||||
this.deferred = options.deferred || Q.defer();
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
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({
|
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({
|
var DemonstrationBuilder = ContainedBase.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
className: 'demonstrationBuilder box vertical',
|
className: 'demonstrationBuilder box vertical',
|
||||||
|
@ -22382,6 +22459,7 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
||||||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||||
exports.TextGrabber = TextGrabber;
|
exports.TextGrabber = TextGrabber;
|
||||||
exports.MultiViewBuilder = MultiViewBuilder;
|
exports.MultiViewBuilder = MultiViewBuilder;
|
||||||
|
exports.MarkdownPresenter = MarkdownPresenter;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -23150,12 +23228,12 @@ var ConfirmCancelView = ResolveRejectBase.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
if (!options.destination || !options.deferred) {
|
if (!options.destination) {
|
||||||
throw new Error('needmore');
|
throw new Error('needmore');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.destination = options.destination;
|
this.destination = options.destination;
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
this.JSON = {
|
||||||
confirm: options.confirm || 'Confirm',
|
confirm: options.confirm || 'Confirm',
|
||||||
cancel: options.cancel || 'Cancel'
|
cancel: options.cancel || 'Cancel'
|
||||||
|
|
13
index.html
13
index.html
|
@ -293,14 +293,17 @@
|
||||||
<textarea></textarea>
|
<textarea></textarea>
|
||||||
</script>
|
</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">
|
<script type="text/html" id="markdown-grabber-view">
|
||||||
<div class="inputSide box vertical">
|
<div class="inputSide box vertical">
|
||||||
<div class="markdownGrabberInput">
|
<div class="markdownGrabberInput">
|
||||||
<textarea>
|
<textarea><%= fillerText %></textarea>
|
||||||
## Enter some markdown!
|
|
||||||
|
|
||||||
|
|
||||||
</textarea>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,9 @@ var ConfirmCancelTerminal = require('../views').ConfirmCancelTerminal;
|
||||||
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
var NextLevelConfirm = require('../views').NextLevelConfirm;
|
||||||
var LevelToolbar = require('../views').LevelToolbar;
|
var LevelToolbar = require('../views').LevelToolbar;
|
||||||
|
|
||||||
|
var MarkdownPresenter = require('../views/builderViews').MarkdownPresenter;
|
||||||
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
var MultiViewBuilder = require('../views/builderViews').MultiViewBuilder;
|
||||||
|
var MarkdownGrabber = require('../views/builderViews').MarkdownGrabber;
|
||||||
|
|
||||||
var regexMap = {
|
var regexMap = {
|
||||||
'define goal': /^define goal$/,
|
'define goal': /^define goal$/,
|
||||||
|
@ -291,6 +293,18 @@ var LevelBuilder = Level.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
chain = chain.done(_.bind(function() {
|
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(
|
var compiledLevel = _.extend(
|
||||||
{},
|
{},
|
||||||
this.level
|
this.level
|
||||||
|
@ -300,12 +314,7 @@ var LevelBuilder = Level.extend({
|
||||||
if (this.startDialog) {
|
if (this.startDialog) {
|
||||||
compiledLevel.startDialog = this.startDialog;
|
compiledLevel.startDialog = this.startDialog;
|
||||||
}
|
}
|
||||||
console.log(compiledLevel);
|
return compiledLevel;
|
||||||
console.log(this.startDialog);
|
|
||||||
command.finishWith(deferred);
|
|
||||||
}, this));
|
|
||||||
|
|
||||||
masterDeferred.resolve();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
processLevelBuilderCommand: function(command, deferred) {
|
processLevelBuilderCommand: function(command, deferred) {
|
||||||
|
|
|
@ -57,7 +57,8 @@ var MarkdownGrabber = ContainedBase.extend({
|
||||||
options = options || {};
|
options = options || {};
|
||||||
this.deferred = options.deferred || Q.defer();
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
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({
|
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({
|
var DemonstrationBuilder = ContainedBase.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
className: 'demonstrationBuilder box vertical',
|
className: 'demonstrationBuilder box vertical',
|
||||||
|
@ -334,4 +363,5 @@ exports.MarkdownGrabber = MarkdownGrabber;
|
||||||
exports.DemonstrationBuilder = DemonstrationBuilder;
|
exports.DemonstrationBuilder = DemonstrationBuilder;
|
||||||
exports.TextGrabber = TextGrabber;
|
exports.TextGrabber = TextGrabber;
|
||||||
exports.MultiViewBuilder = MultiViewBuilder;
|
exports.MultiViewBuilder = MultiViewBuilder;
|
||||||
|
exports.MarkdownPresenter = MarkdownPresenter;
|
||||||
|
|
||||||
|
|
|
@ -125,12 +125,12 @@ var ConfirmCancelView = ResolveRejectBase.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
if (!options.destination || !options.deferred) {
|
if (!options.destination) {
|
||||||
throw new Error('needmore');
|
throw new Error('needmore');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.destination = options.destination;
|
this.destination = options.destination;
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred || Q.defer();
|
||||||
this.JSON = {
|
this.JSON = {
|
||||||
confirm: options.confirm || 'Confirm',
|
confirm: options.confirm || 'Confirm',
|
||||||
cancel: options.cancel || 'Cancel'
|
cancel: options.cancel || 'Cancel'
|
||||||
|
|
|
@ -788,6 +788,12 @@ div.levelIcon.solved div.index div.indexNum {
|
||||||
|
|
||||||
/* Git demonstration view, and markdownGrabber */
|
/* Git demonstration view, and markdownGrabber */
|
||||||
|
|
||||||
|
.markdownPresenter textarea {
|
||||||
|
min-height: 400px;
|
||||||
|
width: 90%;
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.markdownGrabber {
|
.markdownGrabber {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
3
todo.txt
3
todo.txt
|
@ -1,7 +1,7 @@
|
||||||
Big Things
|
Big Things
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
[ ] edit dialog
|
|
||||||
[ ] descriptions for levels?
|
[ ] descriptions for levels?
|
||||||
|
[ ] import random level
|
||||||
|
|
||||||
Medium things:
|
Medium things:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -28,6 +28,7 @@ Ideas for cleaning
|
||||||
Done things:
|
Done things:
|
||||||
(I only started this on Dec 17th 2012 to get a better sense of what was done)
|
(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 builder
|
||||||
[x] level builder dialog tester
|
[x] level builder dialog tester
|
||||||
[x] turn off button clicking for demonstration view :O
|
[x] turn off button clicking for demonstration view :O
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue