diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/app/controllers/controllers.coffee | 6 | ||||
-rw-r--r-- | js/app/controllers/itemcontroller.coffee | 4 | ||||
-rw-r--r-- | js/app/services/bl/feedbl.coffee | 6 | ||||
-rw-r--r-- | js/public/app.js | 16 | ||||
-rw-r--r-- | js/tests/controllers/itemcontrollerSpec.coffee | 9 | ||||
-rw-r--r-- | js/tests/services/bl/feedblSpec.coffee | 14 |
6 files changed, 45 insertions, 10 deletions
diff --git a/js/app/controllers/controllers.coffee b/js/app/controllers/controllers.coffee index 190f8dd0b..02d5f5e6c 100644 --- a/js/app/controllers/controllers.coffee +++ b/js/app/controllers/controllers.coffee @@ -39,8 +39,8 @@ StarredBl, unreadCountFormatter)-> ] angular.module('News').controller 'ItemController', -['$scope', '_ItemController', 'ItemBl', 'FeedModel', 'FeedLoading', -($scope, _ItemController, ItemBl, FeedModel, FeedLoading)-> +['$scope', '_ItemController', 'ItemBl', 'FeedModel', 'FeedLoading', 'FeedBl', +($scope, _ItemController, ItemBl, FeedModel, FeedLoading, FeedBl)-> - return new _ItemController($scope, ItemBl, FeedModel, FeedLoading) + return new _ItemController($scope, ItemBl, FeedModel, FeedLoading, FeedBl) ]
\ No newline at end of file diff --git a/js/app/controllers/itemcontroller.coffee b/js/app/controllers/itemcontroller.coffee index 2daf13335..514186393 100644 --- a/js/app/controllers/itemcontroller.coffee +++ b/js/app/controllers/itemcontroller.coffee @@ -25,9 +25,11 @@ angular.module('News').factory '_ItemController', -> class ItemController - constructor: (@_$scope, @_itemBl, @_feedModel, @_feedLoading) -> + constructor: (@_$scope, @_itemBl, @_feedModel, @_feedLoading, + @_feedBl) -> @_$scope.itemBl = @_itemBl + @_$scope.feedBl = @_feedBl @_$scope.isLoading = => return @_feedLoading.isLoading() diff --git a/js/app/services/bl/feedbl.coffee b/js/app/services/bl/feedbl.coffee index 77b3d81e2..b0928cccb 100644 --- a/js/app/services/bl/feedbl.coffee +++ b/js/app/services/bl/feedbl.coffee @@ -119,6 +119,12 @@ NewLoading) -> return @_feedModel.getAll() + getFeedLink: (feedId) -> + feed = @_feedModel.getById(feedId) + if angular.isDefined(feed) + return feed.link + + return new FeedBl(ShowAll, FeedModel, Persistence, ActiveFeed, FeedType, ItemModel, NewLoading) diff --git a/js/public/app.js b/js/public/app.js index f4f2b41cb..f62a0c645 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -177,8 +177,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. ]); angular.module('News').controller('ItemController', [ - '$scope', '_ItemController', 'ItemBl', 'FeedModel', 'FeedLoading', function($scope, _ItemController, ItemBl, FeedModel, FeedLoading) { - return new _ItemController($scope, ItemBl, FeedModel, FeedLoading); + '$scope', '_ItemController', 'ItemBl', 'FeedModel', 'FeedLoading', 'FeedBl', function($scope, _ItemController, ItemBl, FeedModel, FeedLoading, FeedBl) { + return new _ItemController($scope, ItemBl, FeedModel, FeedLoading, FeedBl); } ]); @@ -323,13 +323,15 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. var ItemController; ItemController = (function() { - function ItemController(_$scope, _itemBl, _feedModel, _feedLoading) { + function ItemController(_$scope, _itemBl, _feedModel, _feedLoading, _feedBl) { var _this = this; this._$scope = _$scope; this._itemBl = _itemBl; this._feedModel = _feedModel; this._feedLoading = _feedLoading; + this._feedBl = _feedBl; this._$scope.itemBl = this._itemBl; + this._$scope.feedBl = this._feedBl; this._$scope.isLoading = function() { return _this._feedLoading.isLoading(); }; @@ -664,6 +666,14 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. return this._feedModel.getAll(); }; + FeedBl.prototype.getFeedLink = function(feedId) { + var feed; + feed = this._feedModel.getById(feedId); + if (angular.isDefined(feed)) { + return feed.link; + } + }; + return FeedBl; })(_Bl); diff --git a/js/tests/controllers/itemcontrollerSpec.coffee b/js/tests/controllers/itemcontrollerSpec.coffee index 35aff7141..f95f4a459 100644 --- a/js/tests/controllers/itemcontrollerSpec.coffee +++ b/js/tests/controllers/itemcontrollerSpec.coffee @@ -28,13 +28,18 @@ describe '_ItemController', -> beforeEach inject (@_ItemController, @ActiveFeed, @ShowAll, @FeedType, @StarredCount, @FeedModel, @FolderModel, @ItemModel, - @ItemBl) => + @ItemBl, @FeedBl, @FeedLoading) => @scope = {} @persistence = { getItems: -> } - @controller = new @_ItemController(@scope, @ItemBl, @FeedModel) + @controller = new @_ItemController(@scope, @ItemBl, @FeedModel, + @FeedLoading, @FeedBl) it 'should make ItemBl availabe', => expect(@scope.itemBl).toBe(@ItemBl) + + + it 'should make FeedBl availabe', => + expect(@scope.feedBl).toBe(@FeedBl) diff --git a/js/tests/services/bl/feedblSpec.coffee b/js/tests/services/bl/feedblSpec.coffee index 70d0c6e8b..c8ba1ec34 100644 --- a/js/tests/services/bl/feedblSpec.coffee +++ b/js/tests/services/bl/feedblSpec.coffee @@ -201,4 +201,16 @@ describe 'FeedBl', -> folders = @FeedBl.getFeedsOfFolder(3) expect(folders).toContain(item1) - expect(folders).toContain(item3)
\ No newline at end of file + expect(folders).toContain(item3) + + + it 'should return the correct feed link', => + item2 = + id: 4, + unreadCount:134, + urlHash: 'a2', + folderId: 3, + link: 'test.com' + @FeedModel.add(item2) + + expect(@FeedBl.getFeedLink(4)).toBe('test.com')
\ No newline at end of file |