diff options
-rw-r--r-- | coffee/controllers/addnewcontroller.coffee | 20 | ||||
-rw-r--r-- | coffee/controllers/controllers.coffee | 16 | ||||
-rw-r--r-- | coffee/controllers/settingscontroller.coffee | 17 | ||||
-rw-r--r-- | css/feeds.css | 6 | ||||
-rw-r--r-- | js/app.js | 60 | ||||
-rw-r--r-- | templates/part.addnew.php | 2 | ||||
-rw-r--r-- | templates/part.listfeed.php | 6 | ||||
-rw-r--r-- | templates/part.listfolder.php | 14 | ||||
-rw-r--r-- | templates/part.settings.php | 23 |
9 files changed, 58 insertions, 106 deletions
diff --git a/coffee/controllers/addnewcontroller.coffee b/coffee/controllers/addnewcontroller.coffee deleted file mode 100644 index 27fd071b7..000000000 --- a/coffee/controllers/addnewcontroller.coffee +++ /dev/null @@ -1,20 +0,0 @@ -### -# ownCloud news app -# -# @author Alessandro Cosentino -# @author Bernhard Posselt -# Copyright (c) 2012 - Alessandro Cosentino <cosenal@gmail.com> -# Copyright (c) 2012 - Bernhard Posselt <nukeawhale@gmail.com> -# -# This file is licensed under the Affero General Public License version 3 or -# later. -# -# See the COPYING-README file -# -### -angular.module('News').factory '_AddNewController', -['Controller', (Controller) -> - - class AddNewController extends Controller - -]
\ No newline at end of file diff --git a/coffee/controllers/controllers.coffee b/coffee/controllers/controllers.coffee index 62476443f..1474a7b39 100644 --- a/coffee/controllers/controllers.coffee +++ b/coffee/controllers/controllers.coffee @@ -14,12 +14,10 @@ ### angular.module('News').controller 'SettingsController', -['_SettingsController', '$scope', '$rootScope', 'ShowAll', 'PersistenceNews', -'FolderModel', 'FeedModel', 'OPMLParser', -(_SettingsController, $scope, $rootScope, ShowAll, PersistenceNews, -FolderModel, FeedModel, OPMLParser) -> - return new _SettingsController($scope, $rootScope, PersistenceNews, - OPMLParser) +['_SettingsController', '$scope', '$rootScope', 'PersistenceNews', 'OPMLParser', 'FeedModel', +(_SettingsController, $scope, $rootScope, PersistenceNews, OPMLParser, FeedModel) -> + return new _SettingsController($scope, $rootScope, PersistenceNews, + OPMLParser, FeedModel) ] angular.module('News').controller 'ItemController', @@ -42,10 +40,4 @@ StarredCount, ShowAll, ItemModel, GarbageRegistry, $rootScope, Loading, Config) ActiveFeed, PersistenceNews, StarredCount, ShowAll, ItemModel, GarbageRegistry, $rootScope, Loading, Config) -] - -angular.module('News').controller 'AddNewController', -['_AddNewController', '$scope', -(_AddNewController, $scope) -> - return new _AddNewController($scope) ]
\ No newline at end of file diff --git a/coffee/controllers/settingscontroller.coffee b/coffee/controllers/settingscontroller.coffee index 712d0e9ff..4da81c316 100644 --- a/coffee/controllers/settingscontroller.coffee +++ b/coffee/controllers/settingscontroller.coffee @@ -18,12 +18,9 @@ angular.module('News').factory '_SettingsController', ['Controller', class SettingsController extends Controller - constructor: (@$scope, @$rootScope, @persistence, @opmlParser) -> + constructor: (@$scope, @$rootScope, @persistence, @opmlParser, @feedModel) -> - @add = false - @settings = false - @addingFeed = false - @addingFolder = false + @$scope.feeds = @feedModel.getItems() @$scope.$on 'readFile', (scope, fileContent) => structure = @opmlParser.parseXML(fileContent) @@ -32,6 +29,16 @@ angular.module('News').factory '_SettingsController', ['Controller', @$scope.$on 'hidesettings', => @$scope.showSettings = false + @$scope.export = => + @export() + + + export: -> + # FIXME: this should only work when the routes are loaded + # and be put into a directive + url = OC.Router.generate('news_export_opml') + window.open url, '_blank' + # recursively create folders parseOPMLStructure: (structure, folderId=0) -> diff --git a/css/feeds.css b/css/feeds.css index 777b6488d..908a5e556 100644 --- a/css/feeds.css +++ b/css/feeds.css @@ -82,10 +82,14 @@ button.action:hover { } .delete-icon { - background-position: center 10px !important; + background-position: center 9px !important; background-image: url('%webroot%/core/img/actions/delete.svg'); } +.delete-icon:hover { + background-image: url('%webroot%/core/img/actions/delete-hover.svg'); +} + .edit-icon { background-image: url('%webroot%/core/img/actions/rename.svg'); } @@ -1606,39 +1606,6 @@ */ - angular.module('News').factory('_AddNewController', [ - 'Controller', function(Controller) { - var AddNewController; - return AddNewController = (function(_super) { - - __extends(AddNewController, _super); - - function AddNewController() { - return AddNewController.__super__.constructor.apply(this, arguments); - } - - return AddNewController; - - })(Controller); - } - ]); - - /* - # ownCloud news app - # - # @author Alessandro Cosentino - # @author Bernhard Posselt - # Copyright (c) 2012 - Alessandro Cosentino <cosenal@gmail.com> - # Copyright (c) 2012 - Bernhard Posselt <nukeawhale@gmail.com> - # - # This file is licensed under the Affero General Public License version 3 or - # later. - # - # See the COPYING-README file - # - */ - - angular.module('News').factory('Controller', function() { var Controller; return Controller = (function() { @@ -1667,8 +1634,8 @@ angular.module('News').controller('SettingsController', [ - '_SettingsController', '$scope', '$rootScope', 'ShowAll', 'PersistenceNews', 'FolderModel', 'FeedModel', 'OPMLParser', function(_SettingsController, $scope, $rootScope, ShowAll, PersistenceNews, FolderModel, FeedModel, OPMLParser) { - return new _SettingsController($scope, $rootScope, PersistenceNews, OPMLParser); + '_SettingsController', '$scope', '$rootScope', 'PersistenceNews', 'OPMLParser', 'FeedModel', function(_SettingsController, $scope, $rootScope, PersistenceNews, OPMLParser, FeedModel) { + return new _SettingsController($scope, $rootScope, PersistenceNews, OPMLParser, FeedModel); } ]); @@ -1684,12 +1651,6 @@ } ]); - angular.module('News').controller('AddNewController', [ - '_AddNewController', '$scope', function(_AddNewController, $scope) { - return new _AddNewController($scope); - } - ]); - /* # ownCloud news app # @@ -2157,16 +2118,14 @@ __extends(SettingsController, _super); - function SettingsController($scope, $rootScope, persistence, opmlParser) { + function SettingsController($scope, $rootScope, persistence, opmlParser, feedModel) { var _this = this; this.$scope = $scope; this.$rootScope = $rootScope; this.persistence = persistence; this.opmlParser = opmlParser; - this.add = false; - this.settings = false; - this.addingFeed = false; - this.addingFolder = false; + this.feedModel = feedModel; + this.$scope.feeds = this.feedModel.getItems(); this.$scope.$on('readFile', function(scope, fileContent) { var structure; structure = _this.opmlParser.parseXML(fileContent); @@ -2175,8 +2134,17 @@ this.$scope.$on('hidesettings', function() { return _this.$scope.showSettings = false; }); + this.$scope["export"] = function() { + return _this["export"](); + }; } + SettingsController.prototype["export"] = function() { + var url; + url = OC.Router.generate('news_export_opml'); + return window.open(url, '_blank'); + }; + SettingsController.prototype.parseOPMLStructure = function(structure, folderId) { var item, onError, onSuccess, _i, _len, _ref, _results, _this = this; diff --git a/templates/part.addnew.php b/templates/part.addnew.php index 82127ff21..8dadc947b 100644 --- a/templates/part.addnew.php +++ b/templates/part.addnew.php @@ -1,4 +1,4 @@ -<li class="add-new" ng-controller="AddNewController"> +<li class="add-new"> <a class="list-title list-title-with-icon" ng-click="showAdd=!showAdd" click-slide-toggle="{ selector: '.add-new-popup', diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php index ed75bc0a6..dcf26508d 100644 --- a/templates/part.listfeed.php +++ b/templates/part.listfeed.php @@ -12,6 +12,9 @@ </a> <span class="utils"> + <button ng-click="delete(feedType.Feed, feed.id)" + class="svg action delete-icon" + title="<?php p($l->t('Delete feed')); ?>"></button> <button class="svg action mark-read-icon" ng-click="markAllRead(feedType.Feed, feed.id)" @@ -21,9 +24,6 @@ {{ getUnreadCount(feedType.Feed, feed.id) }} </span> - <button ng-click="delete(feedType.Feed, feed.id)" - class="svg action delete-icon" - title="<?php p($l->t('Delete feed')); ?>"></button> </span> </li> diff --git a/templates/part.listfolder.php b/templates/part.listfolder.php index 79e4120c1..836f80116 100644 --- a/templates/part.listfolder.php +++ b/templates/part.listfolder.php @@ -19,6 +19,13 @@ </a> <span class="utils"> + <button class="svg action edit-icon" + ng-click="renameFolder(folder.id)" + title="<?php p($l->t('Rename folder')); ?>"></button> + + <button ng-click="delete(feedType.Folder, folder.id)" + class="svg action delete-icon" + title="<?php p($l->t('Delete folder')); ?>"></button> <button class="svg action mark-read-icon" ng-click="markAllRead(feedType.Folder, folder.id)" @@ -28,13 +35,6 @@ {{ getUnreadCount(feedType.Folder, folder.id) }} </span> - <button ng-click="delete(feedType.Folder, folder.id)" - class="svg action delete-icon" - title="<?php p($l->t('Delete folder')); ?>"></button> - - <button class="svg action edit-icon" - ng-click="renameFolder(folder.id)" - title="<?php p($l->t('Rename folder')); ?>"></button> </span> <ul> <?php print_unescaped($this->inc('part.listfeed', array('folderId' => 'folder.id'))); ?> diff --git a/templates/part.settings.php b/templates/part.settings.php index 5dac1f05a..b5860124d 100644 --- a/templates/part.settings.php +++ b/templates/part.settings.php @@ -1,15 +1,16 @@ <fieldset class="personalblock"> - <legend><strong><?php p($l->t('Import / Export OPML')); ?></strong></legend> - <input type="file" id="opml-upload" name="files[]" read-file/> - <button title="<?php p($l->t('Import')); ?>" forward-click="{selector:'#opml-upload'}"> - <?php p($l->t('Import')); ?> - </button> - <a class="button" - href="<?php print_unescaped(\OC_Helper::linkToRoute('news_export_opml')) ?>" - title="<?php p($l->t('Export')); ?>"><?php p($l->t('Export')); ?></a> + <legend><strong><?php p($l->t('Import / Export OPML')); ?></strong></legend> + <input type="file" id="opml-upload" name="files[]" read-file/> + <button title="<?php p($l->t('Import')); ?>" forward-click="{selector:'#opml-upload'}"> + <?php p($l->t('Import')); ?> + </button> + <button ng-disabled="feeds.length==0" title="<?php p($l->t('Export')); ?>" + ng-click="export()"> + <?php p($l->t('Export')); ?> + </button> </fieldset> <fieldset class="personalblock"> - <legend><strong><?php p($l->t('Subscribelet')); ?></strong></legend> - <p><?php print_unescaped($this->inc('part.subscribelet'));?> - </p> + <legend><strong><?php p($l->t('Subscribelet')); ?></strong></legend> + <p><?php print_unescaped($this->inc('part.subscribelet'));?> + </p> </fieldset> |