mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-07 23:16:52 +08:00
Fixed #56 - pull to drag
This commit is contained in:
18
dist/js/ionic-angular.js
vendored
18
dist/js/ionic-angular.js
vendored
@ -481,13 +481,16 @@ angular.module('ionic.ui.content', [])
|
||||
|
||||
// The content directive is a core scrollable content area
|
||||
// that is part of many View hierarchies
|
||||
.directive('content', function() {
|
||||
.directive('content', ['$parse', function($parse) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
replace: true,
|
||||
template: '<div class="scroll-content"><div class="scroll"></div></div>',
|
||||
transclude: true,
|
||||
scope: true,
|
||||
scope: {
|
||||
onRefresh: '&',
|
||||
onRefreshOpening: '&'
|
||||
},
|
||||
compile: function(element, attr, transclude) {
|
||||
return function($scope, $element, $attr) {
|
||||
var c = $element.eq(0);
|
||||
@ -506,7 +509,6 @@ angular.module('ionic.ui.content', [])
|
||||
c.addClass('has-tabs');
|
||||
}
|
||||
|
||||
|
||||
// If they want plain overflows scrolling, add that as a class
|
||||
if(attr.overflowScroll === "true") {
|
||||
c.addClass('overflow-scroll');
|
||||
@ -514,23 +516,25 @@ angular.module('ionic.ui.content', [])
|
||||
// Otherwise, supercharge this baby!
|
||||
var sv = new ionic.views.Scroll({
|
||||
el: $element[0].firstElementChild,
|
||||
hasPullToRefresh: (typeof $scope.onRefresh !== 'undefined'),
|
||||
onRefresh: function() {
|
||||
$scope.onRefresh && $scope.onRefresh();
|
||||
$scope.onRefresh();
|
||||
},
|
||||
onRefreshOpening: function(amt) {
|
||||
$scope.onRefreshOpening && $scope.onRefreshOpening({amount: amt});
|
||||
$scope.onRefreshOpening({amount: amt});
|
||||
}
|
||||
});
|
||||
// Let child scopes access this
|
||||
$scope.scrollView = sv;
|
||||
}
|
||||
|
||||
var clone = transclude($scope);
|
||||
// Pass the parent scope down to the child
|
||||
var clone = transclude($scope.$parent);
|
||||
angular.element($element[0].firstElementChild).append(clone);
|
||||
};
|
||||
}
|
||||
};
|
||||
})
|
||||
}])
|
||||
|
||||
.directive('refresher', function() {
|
||||
return {
|
||||
|
||||
29
dist/js/ionic.js
vendored
29
dist/js/ionic.js
vendored
@ -2414,21 +2414,24 @@ window.ionic = {
|
||||
// Grab the refresher element if using Pull to Refresh
|
||||
if(this.hasPullToRefresh) {
|
||||
this._refresher = document.querySelector('.scroll-refresher');
|
||||
this._refresherHeight = parseFloat(this._refresher.firstElementChild.offsetHeight) || 100;
|
||||
// We always start the refresher hidden
|
||||
if(this.y < 0) {
|
||||
this._isRefresherHidden = true;
|
||||
this._refresher.style.display = 'none';
|
||||
} else {
|
||||
this._isRefresherHidden = false;
|
||||
this._didTriggerRefresh = false;
|
||||
this._refresher.style.display = 'block';
|
||||
}
|
||||
|
||||
this._isHoldingRefresh = false;
|
||||
|
||||
if(this._refresher) {
|
||||
this._refresher.classList.remove('scroll-refreshing');
|
||||
this._refresherHeight = parseFloat(this._refresher.firstElementChild.offsetHeight) || 100;
|
||||
// We always start the refresher hidden
|
||||
if(this.y < 0) {
|
||||
this._isRefresherHidden = true;
|
||||
this._refresher.style.display = 'none';
|
||||
} else {
|
||||
this._isRefresherHidden = false;
|
||||
this._didTriggerRefresh = false;
|
||||
this._refresher.style.display = 'block';
|
||||
}
|
||||
|
||||
this._isHoldingRefresh = false;
|
||||
|
||||
if(this._refresher) {
|
||||
this._refresher.classList.remove('scroll-refreshing');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user