summaryrefslogtreecommitdiffstats
path: root/js/app/services/bl/folderbl.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-15 16:02:32 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-15 16:02:32 +0200
commit464ff6c4c1bda3edbd0f132c4d3d866539d3a117 (patch)
tree96b8fd57e24ebaab762a190a933cd98e1c7a4881 /js/app/services/bl/folderbl.coffee
parent89c31ab5fcb2f931fecc5ce82608ff7c8129510a (diff)
renamed bl to businesslayer, handle exception in update routine, fix #69
Diffstat (limited to 'js/app/services/bl/folderbl.coffee')
-rw-r--r--js/app/services/bl/folderbl.coffee158
1 files changed, 0 insertions, 158 deletions
diff --git a/js/app/services/bl/folderbl.coffee b/js/app/services/bl/folderbl.coffee
deleted file mode 100644
index 42c1d9752..000000000
--- a/js/app/services/bl/folderbl.coffee
+++ /dev/null
@@ -1,158 +0,0 @@
-###
-
-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/>.
-
-###
-
-
-angular.module('News').factory 'FolderBl',
-['_Bl', 'FolderModel', 'FeedBl', 'Persistence', 'FeedType', 'ActiveFeed',
-'ItemModel', 'ShowAll', '_ExistsError', 'OPMLParser',
-(_Bl, FolderModel, FeedBl, Persistence, FeedType, ActiveFeed,
-ItemModel, ShowAll, _ExistsError, OPMLParser)->
-
- class FolderBl extends _Bl
-
- constructor: (@_folderModel, @_feedBl, @_showAll, activeFeed,
- persistence, @_feedType, itemModel, @_opmlParser) ->
- super(activeFeed, persistence, itemModel, @_feedType.Folder)
-
-
- getById: (folderId) ->
- return @_folderModel.getById(folderId)
-
- delete: (folderId) ->
- @_folderModel.removeById(folderId)
- @_persistence.deleteFolder(folderId)
-
-
- hasFeeds: (folderId) ->
- return @_feedBl.getFeedsOfFolder(folderId).length
-
-
- open: (folderId) ->
- folder = @_folderModel.getById(folderId)
- if angular.isDefined(folder)
- if not folder.opened
- folder.opened = true
- @_persistence.openFolder(folder.id)
-
-
- toggleFolder: (folderId) ->
- folder = @_folderModel.getById(folderId)
-
- if angular.isDefined(folder)
- folder.opened = !folder.opened
- if folder.opened
- @_persistence.openFolder(folder.id)
- else
- @_persistence.collapseFolder(folder.id)
-
-
- markFolderRead: (folderId) ->
- for feed in @_feedBl.getFeedsOfFolder(folderId)
- @_feedBl.markFeedRead(feed.id)
-
-
- getUnreadCount: (folderId) ->
- return @_feedBl.getFolderUnreadCount(folderId)
-
-
- isVisible: (folderId) ->
- if @_showAll.getShowAll()
- return true
- else
- if @isActive(folderId) or
- @_feedBl.getFolderUnreadCount(folderId) > 0
- return true
- if @_activeFeed.getType() == @_feedType.Feed
- for feed in @_feedBl.getFeedsOfFolder(folderId)
- if feed.id == @_activeFeed.getId()
- return true
- return false
-
-
- getAll: ->
- return @_folderModel.getAll()
-
-
- create: (folderName, onSuccess=null, onFailure=null) ->
- onSuccess or= ->
- onFailure or= ->
-
- if angular.isUndefined(folderName) or folderName.trim() == ''
- throw new Error()
-
- folderName = folderName.trim()
-
- if @_folderModel.getByName(folderName)
- throw new _ExistsError()
-
- folder =
- name: folderName
- opened: true
-
- @_folderModel.add(folder)
-
- success = (response) =>
- if response.status == 'error'
- folder.error = response.msg
- onFailure()
- else
- onSuccess(response.data)
-
- @_persistence.createFolder folderName, 0, success
-
-
- markErrorRead: (folderName) ->
- @_folderModel.removeByName(folderName)
-
-
- import: (xml) ->
- opml = @_opmlParser.parseXML(xml)
- @_importElement(opml, 0)
-
-
- _importElement: (opml, parentFolderId) ->
- for item in opml.getItems()
- if item.isFolder()
- do (item) =>
- try
- @create item.getName(), (data) =>
- @_importElement(item, data.folders[0].id)
- catch error
- if error instanceof _ExistsError
- folder = @_folderModel.getByName(item.getName())
- @open(folder.id)
- @_importElement(item, folder.id)
- else
- console.info error
- else
- try
- do (item) =>
- @_feedBl.create(item.getUrl(), parentFolderId)
- catch error
- if not error instanceof _ExistsError
- console.info error
-
-
- return new FolderBl(FolderModel, FeedBl, ShowAll, ActiveFeed, Persistence,
- FeedType, ItemModel, OPMLParser)
-
-] \ No newline at end of file