awesome revert highlight down

This commit is contained in:
Peter Cottle 2013-06-04 14:31:14 -10:00
parent 2e10b6c173
commit a8fce5a4ab
3 changed files with 64 additions and 32 deletions

View file

@ -7661,7 +7661,7 @@ GitEngine.prototype.revert = function(whichCommits) {
// go highlight all the ones we will rebase first, in order // go highlight all the ones we will rebase first, in order
var destBranch = this.resolveID(toRebase[0]); var destBranch = this.resolveID(toRebase[0]);
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(_.bind(function() { chain = chain.then(_.bind(function() {
return this.animationFactory.playHighlightPromiseAnimation( return this.animationFactory.playHighlightPromiseAnimation(
commit, commit,
@ -7690,7 +7690,7 @@ GitEngine.prototype.revert = function(whichCommits) {
}, this); }, this);
// set up the promise chain // set up the promise chain
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(function() { chain = chain.then(function() {
chainStep(commit); chainStep(commit);
}); });
@ -7698,7 +7698,7 @@ GitEngine.prototype.revert = function(whichCommits) {
// done! update our location // done! update our location
// this.setTargetLocation('HEAD', base); // this.setTargetLocation('HEAD', base);
this.animationQueue.thenFinish(chain); this.animationQueue.thenFinish(chain, deferred);
}; };
GitEngine.prototype.resetStarter = function() { GitEngine.prototype.resetStarter = function() {
@ -7904,9 +7904,7 @@ GitEngine.prototype.fakeTeamwork = function(numToMake) {
return chainStep(); return chainStep();
}); });
} }
this.animationQueue.thenFinish(chain); this.animationQueue.thenFinish(chain, deferred);
deferred.resolve();
}; };
GitEngine.prototype.receiveTeamwork = function(id, animationQueue) { GitEngine.prototype.receiveTeamwork = function(id, animationQueue) {
@ -9316,15 +9314,25 @@ AnimationFactory.prototype.rebaseHighlightPart = function(animationQueue, rebase
this.delay(animationQueue, fullTime * 2); this.delay(animationQueue, fullTime * 2);
}; };
AnimationFactory.prototype.genHighlightPromiseAnmation = function(commit, destBranch) { AnimationFactory.prototype.genHighlightPromiseAnimation = function(commit, destObj) {
var visBranch = destBranch.get('visBranch'); // could be branch or node
var visObj = destObj.get('visBranch') || destObj.get('visNode');
var visNode = commit.get('visNode'); var visNode = commit.get('visNode');
return new PromiseAnimation(makeHighlightAnimation(visNode, visBranch)); return new PromiseAnimation(makeHighlightAnimation(visNode, visObj));
}; };
AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destBranch) { AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destObj) {
var animation = this.genHighlightPromiseAnimation(commit, destBranch); console.log('playing highlight animation');
try {
var animation = this.genHighlightPromiseAnimation(commit, destObj);
console.log('aniamtion duration', animation.get('duration'));
animation.play(); animation.play();
console.log('aniamtion duration', animation.get('duration'));
animation.getPromise();
} catch (e) {
debugger;
console.log(e);
}
return animation.getPromise(); return animation.getPromise();
}; };
@ -9493,11 +9501,14 @@ var AnimationQueue = Backbone.Model.extend({
} }
}, },
thenFinish: function(promise) { thenFinish: function(promise, deferred) {
promise.then(_.bind(function() { promise.then(_.bind(function() {
this.finish(); this.finish();
}, this)); }, this));
this.set('promiseBased', true); this.set('promiseBased', true);
if (deferred) {
deferred.resolve();
}
}, },
add: function(animation) { add: function(animation) {
@ -23601,7 +23612,7 @@ GitEngine.prototype.revert = function(whichCommits) {
// go highlight all the ones we will rebase first, in order // go highlight all the ones we will rebase first, in order
var destBranch = this.resolveID(toRebase[0]); var destBranch = this.resolveID(toRebase[0]);
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(_.bind(function() { chain = chain.then(_.bind(function() {
return this.animationFactory.playHighlightPromiseAnimation( return this.animationFactory.playHighlightPromiseAnimation(
commit, commit,
@ -23630,7 +23641,7 @@ GitEngine.prototype.revert = function(whichCommits) {
}, this); }, this);
// set up the promise chain // set up the promise chain
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(function() { chain = chain.then(function() {
chainStep(commit); chainStep(commit);
}); });
@ -23638,7 +23649,7 @@ GitEngine.prototype.revert = function(whichCommits) {
// done! update our location // done! update our location
// this.setTargetLocation('HEAD', base); // this.setTargetLocation('HEAD', base);
this.animationQueue.thenFinish(chain); this.animationQueue.thenFinish(chain, deferred);
}; };
GitEngine.prototype.resetStarter = function() { GitEngine.prototype.resetStarter = function() {
@ -23844,9 +23855,7 @@ GitEngine.prototype.fakeTeamwork = function(numToMake) {
return chainStep(); return chainStep();
}); });
} }
this.animationQueue.thenFinish(chain); this.animationQueue.thenFinish(chain, deferred);
deferred.resolve();
}; };
GitEngine.prototype.receiveTeamwork = function(id, animationQueue) { GitEngine.prototype.receiveTeamwork = function(id, animationQueue) {
@ -31459,15 +31468,25 @@ AnimationFactory.prototype.rebaseHighlightPart = function(animationQueue, rebase
this.delay(animationQueue, fullTime * 2); this.delay(animationQueue, fullTime * 2);
}; };
AnimationFactory.prototype.genHighlightPromiseAnmation = function(commit, destBranch) { AnimationFactory.prototype.genHighlightPromiseAnimation = function(commit, destObj) {
var visBranch = destBranch.get('visBranch'); // could be branch or node
var visObj = destObj.get('visBranch') || destObj.get('visNode');
var visNode = commit.get('visNode'); var visNode = commit.get('visNode');
return new PromiseAnimation(makeHighlightAnimation(visNode, visBranch)); return new PromiseAnimation(makeHighlightAnimation(visNode, visObj));
}; };
AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destBranch) { AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destObj) {
var animation = this.genHighlightPromiseAnimation(commit, destBranch); console.log('playing highlight animation');
try {
var animation = this.genHighlightPromiseAnimation(commit, destObj);
console.log('aniamtion duration', animation.get('duration'));
animation.play(); animation.play();
console.log('aniamtion duration', animation.get('duration'));
animation.getPromise();
} catch (e) {
debugger;
console.log(e);
}
return animation.getPromise(); return animation.getPromise();
}; };
@ -31637,11 +31656,14 @@ var AnimationQueue = Backbone.Model.extend({
} }
}, },
thenFinish: function(promise) { thenFinish: function(promise, deferred) {
promise.then(_.bind(function() { promise.then(_.bind(function() {
this.finish(); this.finish();
}, this)); }, this));
this.set('promiseBased', true); this.set('promiseBased', true);
if (deferred) {
deferred.resolve();
}
}, },
add: function(animation) { add: function(animation) {

View file

@ -608,7 +608,7 @@ GitEngine.prototype.revert = function(whichCommits) {
// go highlight all the ones we will rebase first, in order // go highlight all the ones we will rebase first, in order
var destBranch = this.resolveID(toRebase[0]); var destBranch = this.resolveID(toRebase[0]);
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(_.bind(function() { chain = chain.then(_.bind(function() {
return this.animationFactory.playHighlightPromiseAnimation( return this.animationFactory.playHighlightPromiseAnimation(
commit, commit,
@ -637,7 +637,7 @@ GitEngine.prototype.revert = function(whichCommits) {
}, this); }, this);
// set up the promise chain // set up the promise chain
_.each(whichCommits, function(commit) { _.each(toRebase, function(commit) {
chain = chain.then(function() { chain = chain.then(function() {
chainStep(commit); chainStep(commit);
}); });
@ -915,7 +915,7 @@ GitEngine.prototype.commitStarter = function() {
newCommit, newCommit,
this.gitVisuals this.gitVisuals
); );
this.animationQueue.thenFinish(promise, deferred); this.animationQueue.thenFinish(promise);
}; };
GitEngine.prototype.commit = function() { GitEngine.prototype.commit = function() {

View file

@ -173,15 +173,25 @@ AnimationFactory.prototype.rebaseHighlightPart = function(animationQueue, rebase
this.delay(animationQueue, fullTime * 2); this.delay(animationQueue, fullTime * 2);
}; };
AnimationFactory.prototype.genHighlightPromiseAnmation = function(commit, destBranch) { AnimationFactory.prototype.genHighlightPromiseAnimation = function(commit, destObj) {
var visBranch = destBranch.get('visBranch'); // could be branch or node
var visObj = destObj.get('visBranch') || destObj.get('visNode');
var visNode = commit.get('visNode'); var visNode = commit.get('visNode');
return new PromiseAnimation(makeHighlightAnimation(visNode, visBranch)); return new PromiseAnimation(makeHighlightAnimation(visNode, visObj));
}; };
AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destBranch) { AnimationFactory.prototype.playHighlightPromiseAnimation = function(commit, destObj) {
var animation = this.genHighlightPromiseAnimation(commit, destBranch); console.log('playing highlight animation');
try {
var animation = this.genHighlightPromiseAnimation(commit, destObj);
console.log('aniamtion duration', animation.get('duration'));
animation.play(); animation.play();
console.log('aniamtion duration', animation.get('duration'));
animation.getPromise();
} catch (e) {
debugger;
console.log(e);
}
return animation.getPromise(); return animation.getPromise();
}; };