summaryrefslogtreecommitdiffstats
path: root/js/app/services/businesslayer/folderbusinesslayer.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'js/app/services/businesslayer/folderbusinesslayer.coffee')
-rw-r--r--js/app/services/businesslayer/folderbusinesslayer.coffee27
1 files changed, 14 insertions, 13 deletions
diff --git a/js/app/services/businesslayer/folderbusinesslayer.coffee b/js/app/services/businesslayer/folderbusinesslayer.coffee
index 3d1fbb7c7..94bc974e6 100644
--- a/js/app/services/businesslayer/folderbusinesslayer.coffee
+++ b/js/app/services/businesslayer/folderbusinesslayer.coffee
@@ -24,16 +24,16 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
angular.module('News').factory 'FolderBusinessLayer',
['_BusinessLayer', 'FolderModel', 'FeedBusinessLayer', 'Persistence',
'FeedType', 'ActiveFeed', 'ItemModel', 'ShowAll', '_ExistsError', 'OPMLParser',
-'UndoQueue', 'NewestItem', 'FeedModel',
+'NewestItem', 'FeedModel', '$rootScope',
(_BusinessLayer, FolderModel, FeedBusinessLayer, Persistence, FeedType,
-ActiveFeed, ItemModel, ShowAll, _ExistsError, OPMLParser, UndoQueue,
-NewestItem, FeedModel) ->
+ActiveFeed, ItemModel, ShowAll, _ExistsError, OPMLParser, NewestItem,
+FeedModel, $rootScope) ->
class FolderBusinessLayer extends _BusinessLayer
constructor: (@_folderModel, @_feedBusinessLayer, @_showAll, activeFeed,
persistence, @_feedType, itemModel, @_opmlParser,
- @_undoQueue, @_newestItem, @_feedModel) ->
+ @_newestItem, @_feedModel, @_$rootScope) ->
super(activeFeed, persistence, itemModel, @_feedType.Folder)
@@ -48,16 +48,17 @@ NewestItem, FeedModel) ->
feeds.push(@_feedModel.removeById(feed.id))
folder = @_folderModel.removeById(folderId)
-
- callback = =>
- @_persistence.deleteFolder(folderId)
- undoCallback = =>
- @_folderModel.add(folder)
- for feed in feeds
- @_feedModel.add(feed)
+ data =
+ undoCallback: =>
+ @_persistence.restoreFolder folderId, =>
+ @_persistence.getAllFeeds()
+ @_persistence.getAllFolders()
+ caption: folder.name
+
+ @_$rootScope.$broadcast 'undoMessage', data
+ @_persistence.deleteFolder(folderId)
- @_undoQueue.add(folder.name, callback, 10*1000, undoCallback)
hasFeeds: (folderId) ->
@@ -183,6 +184,6 @@ NewestItem, FeedModel) ->
return new FolderBusinessLayer(FolderModel, FeedBusinessLayer, ShowAll,
ActiveFeed, Persistence, FeedType, ItemModel,
- OPMLParser, UndoQueue, NewestItem, FeedModel)
+ OPMLParser, NewestItem, FeedModel, $rootScope)
] \ No newline at end of file