Added View#getInteracting() to the api, similar to View#getAnimating() to access the hints

This commit is contained in:
Michel Beaudouin-Lafon
2017-05-01 14:09:44 +02:00
parent 4507fb9368
commit 97b3ff0499
2 changed files with 13 additions and 0 deletions
+10
View File
@@ -317,6 +317,16 @@ ol.View.prototype.getAnimating = function() {
}; };
/**
* Determine if the user is interacting with the view, such as panning or zooming.
* @return {boolean} The view is being interacted with.
* @api
*/
ol.View.prototype.getInteracting = function() {
return this.getHints()[ol.ViewHint.INTERACTING] > 0;
};
/** /**
* Cancel any ongoing animations. * Cancel any ongoing animations.
* @api * @api
+3
View File
@@ -310,9 +310,11 @@ describe('ol.View', function() {
}); });
expect(view.getHints()).to.eql([0, 0]); expect(view.getHints()).to.eql([0, 0]);
expect(view.getInteracting()).to.eql(0);
view.setHint(ol.ViewHint.INTERACTING, 1); view.setHint(ol.ViewHint.INTERACTING, 1);
expect(view.getHints()).to.eql([0, 1]); expect(view.getHints()).to.eql([0, 1]);
expect(view.getInteracting()).to.eql(1);
}); });
it('triggers the change event', function(done) { it('triggers the change event', function(done) {
@@ -323,6 +325,7 @@ describe('ol.View', function() {
view.on('change', function() { view.on('change', function() {
expect(view.getHints()).to.eql([0, 1]); expect(view.getHints()).to.eql([0, 1]);
expect(view.getInteracting()).to.eql(1);
done(); done();
}); });
view.setHint(ol.ViewHint.INTERACTING, 1); view.setHint(ol.ViewHint.INTERACTING, 1);