From 84c51a1d5e6b2b9eb18b3064dfc8ed159e3c9e73 Mon Sep 17 00:00:00 2001 From: James Warren Date: Fri, 31 Jul 2015 12:53:02 +0100 Subject: [PATCH] replace sn.infiniteScroll with bower component --- app/index.html | 3 +- app/js/infinite-scroll/infiniteScroll.js | 68 -------------------- bower.json | 3 +- scripts.json | 5 +- tests/unit/infinite-scroll/infiniteScroll.js | 53 --------------- 5 files changed, 5 insertions(+), 127 deletions(-) delete mode 100644 app/js/infinite-scroll/infiniteScroll.js delete mode 100644 tests/unit/infinite-scroll/infiniteScroll.js diff --git a/app/index.html b/app/index.html index e49963cb..371ee75e 100644 --- a/app/index.html +++ b/app/index.html @@ -82,6 +82,7 @@ + @@ -89,8 +90,6 @@ - - diff --git a/app/js/infinite-scroll/infiniteScroll.js b/app/js/infinite-scroll/infiniteScroll.js deleted file mode 100644 index 7d48f5db..00000000 --- a/app/js/infinite-scroll/infiniteScroll.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -/* - * @module sn.infiniteScroll - * @author SOON_ - */ -angular.module("sn.infiniteScroll", [ - -]) -/** - * Directive to trigger function when element reaches the bottom of its scroll - * @example - *
- * @constructor - * @class snInfiniteScroll - * @require $window - * @require $document - * @require $timeout - */ -.directive("snInfiniteScroll", [ - "$window", - function ($window){ - return { - restrict: "A", - scope: { - offset: "=?", - snInfiniteScroll: "&", - disabled: "=?" - }, - link: function($scope, $element){ - - /** - * Offset from bottom of scroll to call trigger function (px) - * @property {Number} offset - */ - $scope.offset = $scope.offset || 0; - - /** - * Determine if element has come to the end of its scroll and call the trigger function - * @function onScroll - */ - var onScroll = function onScroll(){ - - var elementScrollEnd = ( $element[0].scrollHeight - $element[0].scrollTop === $element[0].clientHeight ); - - if (elementScrollEnd && !$scope.disabled) { - $scope.snInfiniteScroll(); - } - }; - - /** - * Cleanup event listeners - * @function removeListeners - */ - var removeListeners = function removeListeners(){ - angular.element($element).off("scroll"); - angular.element($window).off("resize"); - }; - - $scope.$on("$destroy", removeListeners); - - // attach event listeners - angular.element($element).on("scroll", onScroll); - angular.element($window).on("resize", onScroll); - - } - }; - } -]); diff --git a/bower.json b/bower.json index 11dbc4a6..7148c632 100644 --- a/bower.json +++ b/bower.json @@ -21,7 +21,8 @@ "angular-charts": "0.2.7", "d3": "3.3.13", "angular-chart.js": "0.7.1", - "Chart.js": "1.0.2" + "Chart.js": "1.0.2", + "angular-sn-infinite-scroll": "0.1.0" }, "devDependencies": { "angular-mocks": "1.3.17" diff --git a/scripts.json b/scripts.json index fa7d17cf..d152f141 100644 --- a/scripts.json +++ b/scripts.json @@ -12,15 +12,14 @@ "./app/components/satellizer/satellizer.js", "./app/components/angular-notification/angular-notification.js", "./app/components/Chart.js/Chart.js", - "./app/components/angular-chart.js/dist/angular-chart.js" + "./app/components/angular-chart.js/dist/angular-chart.js", + "./app/components/angular-sn-infinite-scroll/dist/angular-sn-infinite-scroll.js" ], "application": [ "./app/js/socket/socket.js", "./app/js/loading-screen/loadingScreen.js", - "./app/js/infinite-scroll/infiniteScroll.js", - "./app/js/notifications/notifications.js", "./app/js/auth/auth.js", diff --git a/tests/unit/infinite-scroll/infiniteScroll.js b/tests/unit/infinite-scroll/infiniteScroll.js deleted file mode 100644 index 08c9da4d..00000000 --- a/tests/unit/infinite-scroll/infiniteScroll.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -describe("sn.infiniteScroll", function() { - var element, isolateScope, $scope, $rootScope, $window; - - beforeEach(module("sn.infiniteScroll")); - - beforeEach(inject(function (_$rootScope_, $compile, $injector) { - $rootScope = _$rootScope_; - - $scope = $rootScope.$new(); - $scope.loading = false; - $scope.loadMore = jasmine.createSpy(); - - $window = $injector.get("$window"); - - element = "
"; - - element = $compile(element)($scope); - $scope.$digest(); - - isolateScope = element.isolateScope(); - - })); - - it("should attach options to scope", function(){ - expect(isolateScope.offset).toEqual(100); - expect(isolateScope.disabled).toEqual(false); - }); - - it("should remove listeners on $destroy", function(){ - isolateScope.$broadcast("$destroy"); - element.triggerHandler("scroll"); - angular.element($window).triggerHandler("resize"); - expect($scope.loadMore).not.toHaveBeenCalled(); - }); - - describe("onScroll", function(){ - - it("should call trigger function", function(){ - element.triggerHandler("scroll"); - expect($scope.loadMore).toHaveBeenCalled(); - }); - - it("should NOT call trigger function if disabled is true", function(){ - isolateScope.disabled = true; - element.triggerHandler("scroll"); - expect($scope.loadMore).not.toHaveBeenCalled(); - }); - - }); - -});