From be253cdc1ba255cecb0dba910e1fc7b08b7707eb Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Tue, 12 Nov 2013 10:46:31 +0100 Subject: Make feed title editable (FIX #242) --- js/app/services/businesslayer/feedbusinesslayer.coffee | 8 ++++++++ js/app/services/persistence.coffee | 13 +++++++++++++ 2 files changed, 21 insertions(+) (limited to 'js') diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee index fd92209ab..4905014eb 100644 --- a/js/app/services/businesslayer/feedbusinesslayer.coffee +++ b/js/app/services/businesslayer/feedbusinesslayer.coffee @@ -66,6 +66,14 @@ FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)-> @_persistence.deleteFeed(feedId) + renameFeed: (feedId, feedTitle) -> + feed = @_feedModel.getById(feedId) + feed.editing = false + + if angular.isDefined(feed) and feedTitle !== "" + @_persistence.renameFeed(feedId, feedTitle) + + markRead: (feedId) -> feed = @_feedModel.getById(feedId) newestItemId = @_newestItem.getId() diff --git a/js/app/services/persistence.coffee b/js/app/services/persistence.coffee index d51c7acb1..bfca4ccaa 100644 --- a/js/app/services/persistence.coffee +++ b/js/app/services/persistence.coffee @@ -243,6 +243,19 @@ $rootScope, $q) -> @_request.post 'news_feeds_move', params + renameFeed: (feedId, feedTitle) -> + ### + rename a feed + ### + params = + routeParams: + feedId: feedId + data: + feedTitle: feedTitle + + @_request.post 'news_feeds_rename', params + + setFeedRead: (feedId, highestItemId) -> ### sets all items of a feed as read -- cgit v1.2.3 From 86196178ebd18fea826d00278d811ad89f946db3 Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Tue, 12 Nov 2013 10:55:43 +0100 Subject: FIX + new app.js added --- .../businesslayer/feedbusinesslayer.coffee | 2 +- js/public/app.js | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'js') diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee index 4905014eb..03ff178dd 100644 --- a/js/app/services/businesslayer/feedbusinesslayer.coffee +++ b/js/app/services/businesslayer/feedbusinesslayer.coffee @@ -70,7 +70,7 @@ FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)-> feed = @_feedModel.getById(feedId) feed.editing = false - if angular.isDefined(feed) and feedTitle !== "" + if angular.isDefined(feed) and feedTitle != "" @_persistence.renameFeed(feedId, feedTitle) diff --git a/js/public/app.js b/js/public/app.js index 87ea8c288..caa3aec7c 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -1107,6 +1107,15 @@ License along with this library. If not, see . return this._persistence.deleteFeed(feedId); }; + FeedBusinessLayer.prototype.renameFeed = function(feedId, feedTitle) { + var feed; + feed = this._feedModel.getById(feedId); + feed.editing = false; + if (angular.isDefined(feed) && feedTitle !== "") { + return this._persistence.renameFeed(feedId, feedTitle); + } + }; + FeedBusinessLayer.prototype.markRead = function(feedId) { var feed, item, newestItemId, _i, _len, _ref; feed = this._feedModel.getById(feedId); @@ -2894,6 +2903,23 @@ License along with this library. If not, see . return this._request.post('news_feeds_move', params); }; + Persistence.prototype.renameFeed = function(feedId, feedTitle) { + /* + rename a feed + */ + + var params; + params = { + routeParams: { + feedId: feedId + }, + data: { + feedTitle: feedTitle + } + }; + return this._request.post('news_feeds_rename', params); + }; + Persistence.prototype.setFeedRead = function(feedId, highestItemId) { /* sets all items of a feed as read -- cgit v1.2.3 From e7b94256e450a6c059aa5654236ae07096aeabf9 Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Wed, 13 Nov 2013 17:56:46 +0100 Subject: Style improvements --- js/app/services/businesslayer/feedbusinesslayer.coffee | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'js') diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee index 03ff178dd..b19a8410d 100644 --- a/js/app/services/businesslayer/feedbusinesslayer.coffee +++ b/js/app/services/businesslayer/feedbusinesslayer.coffee @@ -66,6 +66,18 @@ FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)-> @_persistence.deleteFeed(feedId) + renameFeedSet: (feedId) -> + feed = @_feedModel.getById(feedId) + feed.titleOrig = feed.title + feed.editing = true + + + renameFeedUnset: (feedId) -> + feed = @_feedModel.getById(feedId) + feed.title = feed.titleOrig + feed.editing = false + + renameFeed: (feedId, feedTitle) -> feed = @_feedModel.getById(feedId) feed.editing = false -- cgit v1.2.3 From 260beb6b12b8955fbc1e4bf1a4494a51851a819c Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Sat, 16 Nov 2013 12:51:13 +0100 Subject: Rename Feed: tests added --- js/tests/services/businesslayer/feedbusinesslayerSpec.coffee | 11 +++++++++++ js/tests/services/persistenceSpec.coffee | 12 ++++++++++++ 2 files changed, 23 insertions(+) (limited to 'js') diff --git a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee index 26e5a2973..6061d8767 100644 --- a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee @@ -345,3 +345,14 @@ describe 'FeedBusinessLayer', -> jasmine.any(Function)) expect(callback).toHaveBeenCalled() + + it 'should make a rename feed request and disable editing', => + @persistence.renameFeed = jasmine.createSpy('Rename feed') + @FeedModel.add({id: 2, unreadCount:134, url: 'a1', folderId: 3}) + @FeedBusinessLayer.renameFeed(2, "New Title") + + expect(@persistence.renameFeed).toHaveBeenCalledWith(2, "New Title") + expect(@FeedModel.getById(2).editing).toBe(false) + + + diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee index 38e02705a..708a68b07 100644 --- a/js/tests/services/persistenceSpec.coffee +++ b/js/tests/services/persistenceSpec.coffee @@ -178,6 +178,18 @@ describe 'Persistence', -> expect(@req.post).toHaveBeenCalledWith('news_feeds_move', params) + it 'create a correct request for renaming a feed', => + params = + data: + feedTitle: "New Feed Title" + routeParams: + feedId: 3 + + @Persistence.renameFeed(params.routeParams.feedId, params.data.feedTitle) + + expect(@req.post).toHaveBeenCalledWith('news_feeds_rename', params) + + it 'shoud send a correct request for marking all items of a feed read', => params = data: -- cgit v1.2.3 From ccfa661880fdfbf36853c2948cd4e5b1f2e32165 Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Sat, 16 Nov 2013 12:53:10 +0100 Subject: app.js updated --- js/public/app.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'js') diff --git a/js/public/app.js b/js/public/app.js index caa3aec7c..614e497c1 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -1107,6 +1107,20 @@ License along with this library. If not, see . return this._persistence.deleteFeed(feedId); }; + FeedBusinessLayer.prototype.renameFeedSet = function(feedId) { + var feed; + feed = this._feedModel.getById(feedId); + feed.titleOrig = feed.title; + return feed.editing = true; + }; + + FeedBusinessLayer.prototype.renameFeedUnset = function(feedId) { + var feed; + feed = this._feedModel.getById(feedId); + feed.title = feed.titleOrig; + return feed.editing = false; + }; + FeedBusinessLayer.prototype.renameFeed = function(feedId, feedTitle) { var feed; feed = this._feedModel.getById(feedId); -- cgit v1.2.3 From aacdd4328a2cca19f96aad63a4ac2148eb470c45 Mon Sep 17 00:00:00 2001 From: Davide Saurino Date: Wed, 27 Nov 2013 10:52:21 +0100 Subject: Move set/unset feed editing code to controller --- js/app/controllers/itemcontroller.coffee | 9 ++++++++ .../businesslayer/feedbusinesslayer.coffee | 12 ---------- js/public/app.js | 26 ++++++++++------------ 3 files changed, 21 insertions(+), 26 deletions(-) (limited to 'js') diff --git a/js/app/controllers/itemcontroller.coffee b/js/app/controllers/itemcontroller.coffee index c9a97285f..cc9898397 100644 --- a/js/app/controllers/itemcontroller.coffee +++ b/js/app/controllers/itemcontroller.coffee @@ -37,6 +37,15 @@ Language, AutoPageLoading) -> @_$scope.itemBusinessLayer = @_itemBusinessLayer @_$scope.feedBusinessLayer = @_feedBusinessLayer + @_$scope.edit = (feedId) => + feed = @_feedModel.getById(feedId) + feed.editing = true + feed.originalValue = feed.title + + @_$scope.cancel = (feedId) => + feed = @_feedModel.getById(feedId) + feed.editing = false + feed.title = feed.originalValue @_$scope.isLoading = => return @_feedLoading.isLoading() diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee index b19a8410d..03ff178dd 100644 --- a/js/app/services/businesslayer/feedbusinesslayer.coffee +++ b/js/app/services/businesslayer/feedbusinesslayer.coffee @@ -66,18 +66,6 @@ FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)-> @_persistence.deleteFeed(feedId) - renameFeedSet: (feedId) -> - feed = @_feedModel.getById(feedId) - feed.titleOrig = feed.title - feed.editing = true - - - renameFeedUnset: (feedId) -> - feed = @_feedModel.getById(feedId) - feed.title = feed.titleOrig - feed.editing = false - - renameFeed: (feedId, feedTitle) -> feed = @_feedModel.getById(feedId) feed.editing = false diff --git a/js/public/app.js b/js/public/app.js index 614e497c1..879d83f7c 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -807,6 +807,18 @@ License along with this library. If not, see . this._autoPaging = true; this._$scope.itemBusinessLayer = this._itemBusinessLayer; this._$scope.feedBusinessLayer = this._feedBusinessLayer; + this._$scope.edit = function(feedId) { + var feed; + feed = _this._feedModel.getById(feedId); + feed.editing = true; + return feed.originalValue = feed.title; + }; + this._$scope.cancel = function(feedId) { + var feed; + feed = _this._feedModel.getById(feedId); + feed.editing = false; + return feed.title = feed.originalValue; + }; this._$scope.isLoading = function() { return _this._feedLoading.isLoading(); }; @@ -1107,20 +1119,6 @@ License along with this library. If not, see . return this._persistence.deleteFeed(feedId); }; - FeedBusinessLayer.prototype.renameFeedSet = function(feedId) { - var feed; - feed = this._feedModel.getById(feedId); - feed.titleOrig = feed.title; - return feed.editing = true; - }; - - FeedBusinessLayer.prototype.renameFeedUnset = function(feedId) { - var feed; - feed = this._feedModel.getById(feedId); - feed.title = feed.titleOrig; - return feed.editing = false; - }; - FeedBusinessLayer.prototype.renameFeed = function(feedId, feedTitle) { var feed; feed = this._feedModel.getById(feedId); -- cgit v1.2.3