diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-26 18:04:02 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-26 18:04:02 +0100 |
commit | c8d3f8fb4681f6993f1c9389e507df0724f56579 (patch) | |
tree | 312b48cdbc17c23d1e7aac6513f40e0a5813fdbf /js/app | |
parent | 8e1e0f5281c1ee49fe7f6d84ba8f2b709ebf7f40 (diff) |
added casting information for data objects
Diffstat (limited to 'js/app')
-rw-r--r-- | js/app/controllers/feedcontroller.coffee | 39 | ||||
-rw-r--r-- | js/app/directives/addfolderselect.coffee | 42 | ||||
-rw-r--r-- | js/app/services/models/feedmodel.coffee | 5 |
3 files changed, 68 insertions, 18 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee index 7a61f4ab1..a8be616d9 100644 --- a/js/app/controllers/feedcontroller.coffee +++ b/js/app/controllers/feedcontroller.coffee @@ -78,29 +78,27 @@ angular.module('News').factory '_FeedController', -> @$scope.addFeed = (feedUrl, parentFolderId=0) => @$scope.feedEmptyError = false - @$scope.feedExistsError = false @$scope.feedError = false if angular.isUndefined(feedUrl) or feedUrl.trim() == '' @$scope.feedEmptyError = true - else - feedUrl = feedUrl.trim() - for feed in @_feedModel.getAll() - if feedUrl == feed.url - @$scope.feedExistsError = true - - if not (@$scope.feedEmptyError or @$scope.feedExistsError) + if not @$scope.feedEmptyError @_isAddingFeed = true - onSuccess = => - @$scope.feedUrl = '' - @_isAddingFeed = false onError = => @$scope.feedError = true @_isAddingFeed = false - @_persistence.createFeed(feedUrl, parentFolderId, onSuccess, - onError) + + onSuccess = (data) => + if data.status == 'error' + onError() + else + @$scope.feedUrl = '' + @_isAddingFeed = false + + @_persistence.createFeed(feedUrl.trim(), parentFolderId, + onSuccess, onError) @$scope.addFolder = (folderName) => @$scope.folderEmptyError = false @@ -137,11 +135,20 @@ angular.module('News').factory '_FeedController', -> isShown: (type, id) -> - if @isShowAll() + hasUnread = @getUnreadCount(type, id) > 0 + if hasUnread return true else - return @getUnreadCount(type, id) > 0 - + if @isShowAll() + switch type + when @_feedType.Subscriptions + return @_feedModel.size() > 0 + when @_feedType.Folder + return @_folderModel.size() > 0 + when @_feedType.Feed + return @_feedModel.size() > 0 + return false + isShowAll: -> return @_showAll.getShowAll() diff --git a/js/app/directives/addfolderselect.coffee b/js/app/directives/addfolderselect.coffee new file mode 100644 index 000000000..1c3f39f04 --- /dev/null +++ b/js/app/directives/addfolderselect.coffee @@ -0,0 +1,42 @@ +### + +ownCloud - News + +@author Bernhard Posselt +@copyright 2012 Bernhard Posselt nukeawhale@gmail.com + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +License as published by the Free Software Foundation; either +version 3 of the License, or any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU AFFERO GENERAL PUBLIC LICENSE for more details. + +You should have received a copy of the GNU Affero General Public +License along with this library. If not, see <http://www.gnu.org/licenses/>. + +### + + +### +Turns a normal select into a folder select with the ability to create new +folders +### +angular.module('News').directive 'addFolderSelect', ['$rootScope', -> + + return (scope, elm, attr) -> + + options = + singleSelect: true + selectedFirst: true + createText: $(elm).data('create') + createdCallback: (selected, value) -> + console.log selected + console.log value + + $(elm).multiSelect(options) + +]
\ No newline at end of file diff --git a/js/app/services/models/feedmodel.coffee b/js/app/services/models/feedmodel.coffee index def720edf..046ac7ec2 100644 --- a/js/app/services/models/feedmodel.coffee +++ b/js/app/services/models/feedmodel.coffee @@ -32,8 +32,9 @@ angular.module('News').factory '_FeedModel', add: (item) -> - if item.icon == 'url()' - item.icon = 'url(' + @_utils.imagePath('news', 'rss.svg') + ')' + if item.faviconLink == null + item.faviconLink = 'url(' + + @_utils.imagePath('news', 'rss.svg') + ')' super(item) |