summaryrefslogtreecommitdiffstats
path: root/js/app
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-26 18:04:02 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-03-26 18:04:02 +0100
commitc8d3f8fb4681f6993f1c9389e507df0724f56579 (patch)
tree312b48cdbc17c23d1e7aac6513f40e0a5813fdbf /js/app
parent8e1e0f5281c1ee49fe7f6d84ba8f2b709ebf7f40 (diff)
added casting information for data objects
Diffstat (limited to 'js/app')
-rw-r--r--js/app/controllers/feedcontroller.coffee39
-rw-r--r--js/app/directives/addfolderselect.coffee42
-rw-r--r--js/app/services/models/feedmodel.coffee5
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)