From ca9c5e45d241e2ef5bd6447d0711d450d156e13d Mon Sep 17 00:00:00 2001 From: Joel Arvidsson Date: Mon, 12 May 2014 20:20:05 +0200 Subject: [PATCH] Released 0.5.6. --- angular-scroll.js | 13 ++++++++++++- angular-scroll.min.js | 2 +- angular-scroll.min.js.map | 2 +- bower.json | 2 +- package.json | 2 +- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/angular-scroll.js b/angular-scroll.js index 5efe9c4..8cb52f7 100644 --- a/angular-scroll.js +++ b/angular-scroll.js @@ -252,7 +252,17 @@ angular.module('duScroll.spyAPI', ['duScroll.scrollContainerAPI']).factory('spyA return contexts[defaultContextId]; }; var getContextForSpy = function (spy) { - return getContextForScope(spy.$element.scope()); + var context, contextId, scope = spy.$element.scope(); + if (scope) { + return getContextForScope(scope); + } + //No scope, most likely destroyed + for (contextId in contexts) { + context = contexts[contextId]; + if (context.spies.indexOf(spy) !== -1) { + return context; + } + } }; var addSpy = function (spy) { var context = getContextForSpy(spy); @@ -436,6 +446,7 @@ angular.module('duScroll.scrollspy', ['duScroll.spyAPI']).directive('duScrollspy spyAPI.removeSpy(spy); }); $scope.$on('$locationChangeSuccess', spy.flushTargetCache.bind(spy)); + $scope.$on('$stateChangeSuccess', spy.flushTargetCache.bind(spy)); }, 0); } }; diff --git a/angular-scroll.min.js b/angular-scroll.min.js index 4b637ad..53f3304 100644 --- a/angular-scroll.min.js +++ b/angular-scroll.min.js @@ -1 +1 @@ -var duScrollDefaultEasing=function(t){return.5>t?Math.pow(2*t,2)/2:1-Math.pow(2*(1-t),2)/2};angular.module("duScroll",["duScroll.scrollspy","duScroll.requestAnimation","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.scrollHelpers",[]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing",function(t,e,n,r,o){var l=angular.element.prototype;this.$get=function(){return l};var i=function(t){return"undefined"!=typeof HTMLDocument&&t instanceof HTMLDocument||t.nodeType&&t.nodeType===t.DOCUMENT_NODE},c=function(t){return"undefined"!=typeof HTMLElement&&t instanceof HTMLElement||t.nodeType&&t.nodeType===t.ELEMENT_NODE},u=function(t){return c(t)||i(t)?t:t[0]};l.scrollTo=function(e,n,r){var o;if(angular.isElement(e)?o=this.scrollToElement:r&&(o=this.scrollToAnimated),o)return o.apply(this,arguments);var l=u(this);return i(l)?t.scrollTo(e,n):(l.scrollLeft=e,void(l.scrollTop=n))};var a,s;l.scrollToAnimated=function(t,l,i,c){i&&!c&&(c=o);var u=this.scrollLeft(),d=this.scrollTop(),f=Math.round(t-u),p=Math.round(l-d);if(f||p){var m=null;a&&(n(a),s.reject());var g=this;s=e.defer();var v=function(t){null===m&&(m=t);var e=t-m,n=e>=i?1:c(e/i);g.scrollTo(u+Math.ceil(f*n),d+Math.ceil(p*n)),1>n?a=r(v):(a=null,s.resolve())};return a=r(v),s.promise}},l.scrollToElement=function(t,e,n,r){var o=u(this),l=this.scrollTop()+u(t).getBoundingClientRect().top-e;return c(o)&&(l-=o.getBoundingClientRect().top),this.scrollTo(0,l,n,r)};var d={scrollLeft:function(e,n,r){if(angular.isNumber(e))return this.scrollTo(e,this.scrollTop(),n,r);var o=u(this);return i(o)?t.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},scrollTop:function(e,n,r){if(angular.isNumber(e))return this.scrollTo(this.scrollTop(),e,n,r);var o=u(this);return i(o)?t.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop}},f=function(t,e){return function(n,r){return r?e.apply(this,arguments):t.apply(this,arguments)}};for(var p in d)l[p]=l[p]?f(l[p],d[p]):d[p]}]),angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(t){var e=["webkit","moz","o","ms"];return function(n,r){if(t[n])return t[n];for(var o,l=n.substr(0,1).toUpperCase()+n.substr(1),i=0;it?Math.pow(2*t,2)/2:1-Math.pow(2*(1-t),2)/2};angular.module("duScroll",["duScroll.scrollspy","duScroll.requestAnimation","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.scrollHelpers",[]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing",function(t,e,n,r,o){var l=angular.element.prototype;this.$get=function(){return l};var i=function(t){return"undefined"!=typeof HTMLDocument&&t instanceof HTMLDocument||t.nodeType&&t.nodeType===t.DOCUMENT_NODE},c=function(t){return"undefined"!=typeof HTMLElement&&t instanceof HTMLElement||t.nodeType&&t.nodeType===t.ELEMENT_NODE},u=function(t){return c(t)||i(t)?t:t[0]};l.scrollTo=function(e,n,r){var o;if(angular.isElement(e)?o=this.scrollToElement:r&&(o=this.scrollToAnimated),o)return o.apply(this,arguments);var l=u(this);return i(l)?t.scrollTo(e,n):(l.scrollLeft=e,void(l.scrollTop=n))};var a,s;l.scrollToAnimated=function(t,l,i,c){i&&!c&&(c=o);var u=this.scrollLeft(),d=this.scrollTop(),f=Math.round(t-u),p=Math.round(l-d);if(f||p){var m=null;a&&(n(a),s.reject());var g=this;s=e.defer();var v=function(t){null===m&&(m=t);var e=t-m,n=e>=i?1:c(e/i);g.scrollTo(u+Math.ceil(f*n),d+Math.ceil(p*n)),1>n?a=r(v):(a=null,s.resolve())};return a=r(v),s.promise}},l.scrollToElement=function(t,e,n,r){var o=u(this),l=this.scrollTop()+u(t).getBoundingClientRect().top-e;return c(o)&&(l-=o.getBoundingClientRect().top),this.scrollTo(0,l,n,r)};var d={scrollLeft:function(e,n,r){if(angular.isNumber(e))return this.scrollTo(e,this.scrollTop(),n,r);var o=u(this);return i(o)?t.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},scrollTop:function(e,n,r){if(angular.isNumber(e))return this.scrollTo(this.scrollTop(),e,n,r);var o=u(this);return i(o)?t.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop}},f=function(t,e){return function(n,r){return r?e.apply(this,arguments):t.apply(this,arguments)}};for(var p in d)l[p]=l[p]?f(l[p],d[p]):d[p]}]),angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(t){var e=["webkit","moz","o","ms"];return function(n,r){if(t[n])return t[n];for(var o,l=n.substr(0,1).toUpperCase()+n.substr(1),i=0;i