mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-26 16:08:34 +02:00
finally rebase done
This commit is contained in:
parent
3797fc9d85
commit
46e71d9f49
6 changed files with 232 additions and 79 deletions
192
build/bundle.js
192
build/bundle.js
|
@ -8435,35 +8435,30 @@ var GitError = exports.GitError = MyError.extend({
|
||||||
|
|
||||||
require.define("/src/js/views/rebaseView.js",function(require,module,exports,__dirname,__filename,process,global){var GitError = require('../util/errors').GitError;
|
require.define("/src/js/views/rebaseView.js",function(require,module,exports,__dirname,__filename,process,global){var GitError = require('../util/errors').GitError;
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
var Q = require('q');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? Backbone = require('backbone') : Backbone = window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
var ModalTerminal = require('../views').ModalTerminal;
|
var ModalTerminal = require('../views').ModalTerminal;
|
||||||
var BaseView = require('../views').BaseView;
|
var BaseView = require('../views').BaseView;
|
||||||
|
var ConfirmCancelView = require('../views').ConfirmCancelView;
|
||||||
|
|
||||||
var InteractiveRebaseView = BaseView.extend({
|
var InteractiveRebaseView = BaseView.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
template: _.template($('#interactive-rebase-template').html()),
|
template: _.template($('#interactive-rebase-template').html()),
|
||||||
|
|
||||||
events: {
|
|
||||||
'click #confirmButton': 'confirmed'
|
|
||||||
},
|
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
this.hasClicked = false;
|
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred;
|
||||||
|
|
||||||
this.rebaseArray = options.toRebase;
|
|
||||||
|
|
||||||
this.rebaseEntries = new RebaseEntryCollection();
|
|
||||||
this.rebaseMap = {};
|
this.rebaseMap = {};
|
||||||
this.entryObjMap = {};
|
this.entryObjMap = {};
|
||||||
|
|
||||||
this.rebaseArray.reverse();
|
this.rebaseEntries = new RebaseEntryCollection();
|
||||||
// make basic models for each commit
|
options.toRebase.reverse();
|
||||||
_.each(this.rebaseArray, function(commit) {
|
_.each(options.toRebase, function(commit) {
|
||||||
var id = commit.get('id');
|
var id = commit.get('id');
|
||||||
this.rebaseMap[id] = commit;
|
this.rebaseMap[id] = commit;
|
||||||
|
|
||||||
|
// make basic models for each commit
|
||||||
this.entryObjMap[id] = new RebaseEntry({
|
this.entryObjMap[id] = new RebaseEntry({
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
|
@ -8473,22 +8468,13 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
this.container = new ModalTerminal({
|
this.container = new ModalTerminal({
|
||||||
title: 'Interactive Rebase'
|
title: 'Interactive Rebase'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
|
|
||||||
// show the dialog holder
|
// show the dialog holder
|
||||||
this.show();
|
this.show();
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmed: function() {
|
confirm: function() {
|
||||||
// we hide the dialog anyways, but they might be fast clickers
|
|
||||||
if (this.hasClicked) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.hasClicked = true;
|
|
||||||
|
|
||||||
// first of all hide
|
|
||||||
this.$('#iRebaseDialog').css('display', 'none');
|
|
||||||
this.hide();
|
this.hide();
|
||||||
|
|
||||||
// get our ordering
|
// get our ordering
|
||||||
|
@ -8500,7 +8486,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
// now get the real array
|
// now get the real array
|
||||||
var toRebase = [];
|
var toRebase = [];
|
||||||
_.each(uiOrder, function(id) {
|
_.each(uiOrder, function(id) {
|
||||||
// the model
|
// the model pick check
|
||||||
if (this.entryObjMap[id].get('pick')) {
|
if (this.entryObjMap[id].get('pick')) {
|
||||||
toRebase.unshift(this.rebaseMap[id]);
|
toRebase.unshift(this.rebaseMap[id]);
|
||||||
}
|
}
|
||||||
|
@ -8513,7 +8499,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
var json = {
|
var json = {
|
||||||
num: this.rebaseArray.length
|
num: _.keys(this.rebaseMap).length
|
||||||
};
|
};
|
||||||
|
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -8535,6 +8521,27 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
||||||
appendTo: 'parent'
|
appendTo: 'parent'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.makeButtons();
|
||||||
|
},
|
||||||
|
|
||||||
|
makeButtons: function() {
|
||||||
|
// control for button
|
||||||
|
var deferred = Q.defer();
|
||||||
|
deferred.promise
|
||||||
|
.then(_.bind(function() {
|
||||||
|
this.confirm();
|
||||||
|
}, this))
|
||||||
|
.fail(_.bind(function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
}, this))
|
||||||
|
.done();
|
||||||
|
|
||||||
|
// finally get our buttons
|
||||||
|
new ConfirmCancelView({
|
||||||
|
destination: this.$('.confirmCancel'),
|
||||||
|
deferred: deferred
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -8589,6 +8596,44 @@ var _ = require('underscore');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
|
var ConfirmCancelView = Backbone.View.extend({
|
||||||
|
tagName: 'div',
|
||||||
|
className: 'box horizontal justify',
|
||||||
|
template: _.template($('#confirm-cancel-template').html()),
|
||||||
|
events: {
|
||||||
|
'click .confirmButton': 'confirmed',
|
||||||
|
'click .cancelButton': 'cancel'
|
||||||
|
},
|
||||||
|
|
||||||
|
initialize: function(options) {
|
||||||
|
if (!options.destination || !options.deferred) {
|
||||||
|
throw new Error('needmore');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.destination = options.destination;
|
||||||
|
this.deferred = options.deferred;
|
||||||
|
this.JSON = {
|
||||||
|
confirm: options.confirm || 'Confirm',
|
||||||
|
cancel: options.cancel || 'Cancel'
|
||||||
|
};
|
||||||
|
|
||||||
|
this.render();
|
||||||
|
},
|
||||||
|
|
||||||
|
confirmed: function() {
|
||||||
|
this.deferred.resolve();
|
||||||
|
},
|
||||||
|
|
||||||
|
cancel: function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
this.$el.html(this.template(this.JSON));
|
||||||
|
$(this.destination).append(this.el);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var BaseView = Backbone.View.extend({
|
var BaseView = Backbone.View.extend({
|
||||||
render: function() {
|
render: function() {
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -8695,6 +8740,7 @@ exports.ModalView = ModalView;
|
||||||
exports.ModalTerminal = ModalTerminal;
|
exports.ModalTerminal = ModalTerminal;
|
||||||
exports.ModalAlert = ModalAlert;
|
exports.ModalAlert = ModalAlert;
|
||||||
exports.BaseView = BaseView;
|
exports.BaseView = BaseView;
|
||||||
|
exports.ConfirmCancelView = ConfirmCancelView;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -14423,6 +14469,44 @@ var _ = require('underscore');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
|
var ConfirmCancelView = Backbone.View.extend({
|
||||||
|
tagName: 'div',
|
||||||
|
className: 'box horizontal justify',
|
||||||
|
template: _.template($('#confirm-cancel-template').html()),
|
||||||
|
events: {
|
||||||
|
'click .confirmButton': 'confirmed',
|
||||||
|
'click .cancelButton': 'cancel'
|
||||||
|
},
|
||||||
|
|
||||||
|
initialize: function(options) {
|
||||||
|
if (!options.destination || !options.deferred) {
|
||||||
|
throw new Error('needmore');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.destination = options.destination;
|
||||||
|
this.deferred = options.deferred;
|
||||||
|
this.JSON = {
|
||||||
|
confirm: options.confirm || 'Confirm',
|
||||||
|
cancel: options.cancel || 'Cancel'
|
||||||
|
};
|
||||||
|
|
||||||
|
this.render();
|
||||||
|
},
|
||||||
|
|
||||||
|
confirmed: function() {
|
||||||
|
this.deferred.resolve();
|
||||||
|
},
|
||||||
|
|
||||||
|
cancel: function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
this.$el.html(this.template(this.JSON));
|
||||||
|
$(this.destination).append(this.el);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var BaseView = Backbone.View.extend({
|
var BaseView = Backbone.View.extend({
|
||||||
render: function() {
|
render: function() {
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -14529,6 +14613,7 @@ exports.ModalView = ModalView;
|
||||||
exports.ModalTerminal = ModalTerminal;
|
exports.ModalTerminal = ModalTerminal;
|
||||||
exports.ModalAlert = ModalAlert;
|
exports.ModalAlert = ModalAlert;
|
||||||
exports.BaseView = BaseView;
|
exports.BaseView = BaseView;
|
||||||
|
exports.ConfirmCancelView = ConfirmCancelView;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -14690,35 +14775,30 @@ require("/src/js/views/miscViews.js");
|
||||||
|
|
||||||
require.define("/src/js/views/rebaseView.js",function(require,module,exports,__dirname,__filename,process,global){var GitError = require('../util/errors').GitError;
|
require.define("/src/js/views/rebaseView.js",function(require,module,exports,__dirname,__filename,process,global){var GitError = require('../util/errors').GitError;
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
var Q = require('q');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? Backbone = require('backbone') : Backbone = window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
var ModalTerminal = require('../views').ModalTerminal;
|
var ModalTerminal = require('../views').ModalTerminal;
|
||||||
var BaseView = require('../views').BaseView;
|
var BaseView = require('../views').BaseView;
|
||||||
|
var ConfirmCancelView = require('../views').ConfirmCancelView;
|
||||||
|
|
||||||
var InteractiveRebaseView = BaseView.extend({
|
var InteractiveRebaseView = BaseView.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
template: _.template($('#interactive-rebase-template').html()),
|
template: _.template($('#interactive-rebase-template').html()),
|
||||||
|
|
||||||
events: {
|
|
||||||
'click #confirmButton': 'confirmed'
|
|
||||||
},
|
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
this.hasClicked = false;
|
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred;
|
||||||
|
|
||||||
this.rebaseArray = options.toRebase;
|
|
||||||
|
|
||||||
this.rebaseEntries = new RebaseEntryCollection();
|
|
||||||
this.rebaseMap = {};
|
this.rebaseMap = {};
|
||||||
this.entryObjMap = {};
|
this.entryObjMap = {};
|
||||||
|
|
||||||
this.rebaseArray.reverse();
|
this.rebaseEntries = new RebaseEntryCollection();
|
||||||
// make basic models for each commit
|
options.toRebase.reverse();
|
||||||
_.each(this.rebaseArray, function(commit) {
|
_.each(options.toRebase, function(commit) {
|
||||||
var id = commit.get('id');
|
var id = commit.get('id');
|
||||||
this.rebaseMap[id] = commit;
|
this.rebaseMap[id] = commit;
|
||||||
|
|
||||||
|
// make basic models for each commit
|
||||||
this.entryObjMap[id] = new RebaseEntry({
|
this.entryObjMap[id] = new RebaseEntry({
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
|
@ -14728,22 +14808,13 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
this.container = new ModalTerminal({
|
this.container = new ModalTerminal({
|
||||||
title: 'Interactive Rebase'
|
title: 'Interactive Rebase'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
|
|
||||||
// show the dialog holder
|
// show the dialog holder
|
||||||
this.show();
|
this.show();
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmed: function() {
|
confirm: function() {
|
||||||
// we hide the dialog anyways, but they might be fast clickers
|
|
||||||
if (this.hasClicked) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.hasClicked = true;
|
|
||||||
|
|
||||||
// first of all hide
|
|
||||||
this.$('#iRebaseDialog').css('display', 'none');
|
|
||||||
this.hide();
|
this.hide();
|
||||||
|
|
||||||
// get our ordering
|
// get our ordering
|
||||||
|
@ -14755,7 +14826,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
// now get the real array
|
// now get the real array
|
||||||
var toRebase = [];
|
var toRebase = [];
|
||||||
_.each(uiOrder, function(id) {
|
_.each(uiOrder, function(id) {
|
||||||
// the model
|
// the model pick check
|
||||||
if (this.entryObjMap[id].get('pick')) {
|
if (this.entryObjMap[id].get('pick')) {
|
||||||
toRebase.unshift(this.rebaseMap[id]);
|
toRebase.unshift(this.rebaseMap[id]);
|
||||||
}
|
}
|
||||||
|
@ -14768,7 +14839,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
var json = {
|
var json = {
|
||||||
num: this.rebaseArray.length
|
num: _.keys(this.rebaseMap).length
|
||||||
};
|
};
|
||||||
|
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -14790,6 +14861,27 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
||||||
appendTo: 'parent'
|
appendTo: 'parent'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.makeButtons();
|
||||||
|
},
|
||||||
|
|
||||||
|
makeButtons: function() {
|
||||||
|
// control for button
|
||||||
|
var deferred = Q.defer();
|
||||||
|
deferred.promise
|
||||||
|
.then(_.bind(function() {
|
||||||
|
this.confirm();
|
||||||
|
}, this))
|
||||||
|
.fail(_.bind(function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
}, this))
|
||||||
|
.done();
|
||||||
|
|
||||||
|
// finally get our buttons
|
||||||
|
new ConfirmCancelView({
|
||||||
|
destination: this.$('.confirmCancel'),
|
||||||
|
deferred: deferred
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -154,10 +154,18 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="confirmButton" class="uiButton uiButtonYellow">
|
<div class="confirmCancel">
|
||||||
Confirm
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="confirm-cancel-template">
|
||||||
|
<a class="box cancelButton uiButton uiButtonRed">
|
||||||
|
<%= cancel %>
|
||||||
|
</a>
|
||||||
|
<a class="box confirmButton uiButton uiButtonYellow">
|
||||||
|
<%= confirm %>
|
||||||
|
</a>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/html" id="interactive-rebase-entry-template">
|
<script type="text/html" id="interactive-rebase-entry-template">
|
||||||
|
|
|
@ -3,6 +3,44 @@ var _ = require('underscore');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
|
var ConfirmCancelView = Backbone.View.extend({
|
||||||
|
tagName: 'div',
|
||||||
|
className: 'box horizontal justify',
|
||||||
|
template: _.template($('#confirm-cancel-template').html()),
|
||||||
|
events: {
|
||||||
|
'click .confirmButton': 'confirmed',
|
||||||
|
'click .cancelButton': 'cancel'
|
||||||
|
},
|
||||||
|
|
||||||
|
initialize: function(options) {
|
||||||
|
if (!options.destination || !options.deferred) {
|
||||||
|
throw new Error('needmore');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.destination = options.destination;
|
||||||
|
this.deferred = options.deferred;
|
||||||
|
this.JSON = {
|
||||||
|
confirm: options.confirm || 'Confirm',
|
||||||
|
cancel: options.cancel || 'Cancel'
|
||||||
|
};
|
||||||
|
|
||||||
|
this.render();
|
||||||
|
},
|
||||||
|
|
||||||
|
confirmed: function() {
|
||||||
|
this.deferred.resolve();
|
||||||
|
},
|
||||||
|
|
||||||
|
cancel: function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
this.$el.html(this.template(this.JSON));
|
||||||
|
$(this.destination).append(this.el);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var BaseView = Backbone.View.extend({
|
var BaseView = Backbone.View.extend({
|
||||||
render: function() {
|
render: function() {
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -109,4 +147,5 @@ exports.ModalView = ModalView;
|
||||||
exports.ModalTerminal = ModalTerminal;
|
exports.ModalTerminal = ModalTerminal;
|
||||||
exports.ModalAlert = ModalAlert;
|
exports.ModalAlert = ModalAlert;
|
||||||
exports.BaseView = BaseView;
|
exports.BaseView = BaseView;
|
||||||
|
exports.ConfirmCancelView = ConfirmCancelView;
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,29 @@
|
||||||
var GitError = require('../util/errors').GitError;
|
var GitError = require('../util/errors').GitError;
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
var Q = require('q');
|
||||||
// horrible hack to get localStorage Backbone plugin
|
// horrible hack to get localStorage Backbone plugin
|
||||||
var Backbone = (!require('../util').isBrowser()) ? Backbone = require('backbone') : Backbone = window.Backbone;
|
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||||
|
|
||||||
var ModalTerminal = require('../views').ModalTerminal;
|
var ModalTerminal = require('../views').ModalTerminal;
|
||||||
var BaseView = require('../views').BaseView;
|
var BaseView = require('../views').BaseView;
|
||||||
|
var ConfirmCancelView = require('../views').ConfirmCancelView;
|
||||||
|
|
||||||
var InteractiveRebaseView = BaseView.extend({
|
var InteractiveRebaseView = BaseView.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
template: _.template($('#interactive-rebase-template').html()),
|
template: _.template($('#interactive-rebase-template').html()),
|
||||||
|
|
||||||
events: {
|
|
||||||
'click #confirmButton': 'confirmed'
|
|
||||||
},
|
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
this.hasClicked = false;
|
|
||||||
this.deferred = options.deferred;
|
this.deferred = options.deferred;
|
||||||
|
|
||||||
this.rebaseArray = options.toRebase;
|
|
||||||
|
|
||||||
this.rebaseEntries = new RebaseEntryCollection();
|
|
||||||
this.rebaseMap = {};
|
this.rebaseMap = {};
|
||||||
this.entryObjMap = {};
|
this.entryObjMap = {};
|
||||||
|
|
||||||
this.rebaseArray.reverse();
|
this.rebaseEntries = new RebaseEntryCollection();
|
||||||
// make basic models for each commit
|
options.toRebase.reverse();
|
||||||
_.each(this.rebaseArray, function(commit) {
|
_.each(options.toRebase, function(commit) {
|
||||||
var id = commit.get('id');
|
var id = commit.get('id');
|
||||||
this.rebaseMap[id] = commit;
|
this.rebaseMap[id] = commit;
|
||||||
|
|
||||||
|
// make basic models for each commit
|
||||||
this.entryObjMap[id] = new RebaseEntry({
|
this.entryObjMap[id] = new RebaseEntry({
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
|
@ -38,22 +33,13 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
this.container = new ModalTerminal({
|
this.container = new ModalTerminal({
|
||||||
title: 'Interactive Rebase'
|
title: 'Interactive Rebase'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
|
|
||||||
// show the dialog holder
|
// show the dialog holder
|
||||||
this.show();
|
this.show();
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmed: function() {
|
confirm: function() {
|
||||||
// we hide the dialog anyways, but they might be fast clickers
|
|
||||||
if (this.hasClicked) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.hasClicked = true;
|
|
||||||
|
|
||||||
// first of all hide
|
|
||||||
this.$('#iRebaseDialog').css('display', 'none');
|
|
||||||
this.hide();
|
this.hide();
|
||||||
|
|
||||||
// get our ordering
|
// get our ordering
|
||||||
|
@ -65,7 +51,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
// now get the real array
|
// now get the real array
|
||||||
var toRebase = [];
|
var toRebase = [];
|
||||||
_.each(uiOrder, function(id) {
|
_.each(uiOrder, function(id) {
|
||||||
// the model
|
// the model pick check
|
||||||
if (this.entryObjMap[id].get('pick')) {
|
if (this.entryObjMap[id].get('pick')) {
|
||||||
toRebase.unshift(this.rebaseMap[id]);
|
toRebase.unshift(this.rebaseMap[id]);
|
||||||
}
|
}
|
||||||
|
@ -78,7 +64,7 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
var json = {
|
var json = {
|
||||||
num: this.rebaseArray.length
|
num: _.keys(this.rebaseMap).length
|
||||||
};
|
};
|
||||||
|
|
||||||
var destination = this.container.getInsideElement();
|
var destination = this.container.getInsideElement();
|
||||||
|
@ -100,6 +86,27 @@ var InteractiveRebaseView = BaseView.extend({
|
||||||
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
placeholder: 'rebaseEntry transitionOpacity ui-state-highlight',
|
||||||
appendTo: 'parent'
|
appendTo: 'parent'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.makeButtons();
|
||||||
|
},
|
||||||
|
|
||||||
|
makeButtons: function() {
|
||||||
|
// control for button
|
||||||
|
var deferred = Q.defer();
|
||||||
|
deferred.promise
|
||||||
|
.then(_.bind(function() {
|
||||||
|
this.confirm();
|
||||||
|
}, this))
|
||||||
|
.fail(_.bind(function() {
|
||||||
|
this.deferred.reject();
|
||||||
|
}, this))
|
||||||
|
.done();
|
||||||
|
|
||||||
|
// finally get our buttons
|
||||||
|
new ConfirmCancelView({
|
||||||
|
destination: this.$('.confirmCancel'),
|
||||||
|
deferred: deferred
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,10 @@ body,
|
||||||
-webkit-box-pack: center;
|
-webkit-box-pack: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.justify {
|
||||||
|
-webkit-box-pack: justify;
|
||||||
|
}
|
||||||
|
|
||||||
/* Transition */
|
/* Transition */
|
||||||
.transitionBackground {
|
.transitionBackground {
|
||||||
-webkit-transition: background 700ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
-webkit-transition: background 700ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
||||||
|
|
5
todo.txt
5
todo.txt
|
@ -8,8 +8,8 @@ Big Graphic things:
|
||||||
|
|
||||||
Medium things:
|
Medium things:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
[ ] rebase entries styling
|
|
||||||
[ ] check animation for command entry fading nicely wtf
|
[ ] check animation for command entry fading nicely wtf
|
||||||
|
[ ] no more CSS ids
|
||||||
|
|
||||||
Small things to implement:
|
Small things to implement:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -29,6 +29,9 @@ Big Bugs to fix:
|
||||||
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] promise-based confirm cnacel
|
||||||
|
[x] rebase buttons view & styling
|
||||||
|
[x] rebase entries styling
|
||||||
[x] view for anything above the fold (modal view)
|
[x] view for anything above the fold (modal view)
|
||||||
[x] rebase styling (get it better. even cuter -- make it like a command window)
|
[x] rebase styling (get it better. even cuter -- make it like a command window)
|
||||||
[x] fix multiple rebases
|
[x] fix multiple rebases
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue