mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
feat($ionicScrollDelegate): add scrollBy(left,top,animate) to delegate
Closes #987
This commit is contained in:
@@ -86,6 +86,14 @@ angular.module('ionic.ui.scroll')
|
||||
* @param {boolean=} shouldAnimate Whether the scroll should animate.
|
||||
*/
|
||||
'scrollTo',
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $ionicScrollDelegate#scrollBy
|
||||
* @param {number} left The x-offset to scroll by.
|
||||
* @param {number} top The y-offset to scroll by.
|
||||
* @param {boolean=} shouldAnimate Whether the scroll should animate.
|
||||
*/
|
||||
'scrollBy',
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $ionicScrollDelegate#anchorScroll
|
||||
@@ -287,6 +295,12 @@ function($scope, scrollViewOptions, $timeout, $window, $$scrollValueCache, $loca
|
||||
});
|
||||
};
|
||||
|
||||
this.scrollBy = function(left, top, shouldAnimate) {
|
||||
this.resize().then(function() {
|
||||
scrollView.scrollBy(left, top, !!shouldAnimate);
|
||||
});
|
||||
};
|
||||
|
||||
this.anchorScroll = function(shouldAnimate) {
|
||||
this.resize().then(function() {
|
||||
var hash = $location.hash();
|
||||
|
||||
@@ -257,6 +257,11 @@ describe('$ionicScroll Controller', function() {
|
||||
ctrl.scrollTo(1, 2, shouldAnimate);
|
||||
expect(ctrl.scrollView.scrollTo).toHaveBeenCalledWith(1, 2, shouldAnimate);
|
||||
});
|
||||
it('.scrollBy', function() {
|
||||
spyOn(ctrl.scrollView, 'scrollBy');
|
||||
ctrl.scrollBy(1, 2, shouldAnimate);
|
||||
expect(ctrl.scrollView.scrollBy).toHaveBeenCalledWith(1, 2, shouldAnimate);
|
||||
});
|
||||
it('.anchorScroll without hash should scrollTop', inject(function($location, $document) {
|
||||
$document[0].getElementById = jasmine.createSpy();
|
||||
$location.hash = function() { return null; };
|
||||
|
||||
@@ -1313,7 +1313,7 @@ ionic.views.Scroll = ionic.views.View.inherit({
|
||||
* Scroll by the given offset
|
||||
*
|
||||
* @param left {Number} Scroll x-axis by given offset
|
||||
* @param top {Number} Scroll x-axis by given offset
|
||||
* @param top {Number} Scroll y-axis by given offset
|
||||
* @param animate {Boolean} Whether to animate the given change
|
||||
*/
|
||||
scrollBy: function(left, top, animate) {
|
||||
|
||||
Reference in New Issue
Block a user