summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--coffee/controllers/addnewcontroller.coffee20
-rw-r--r--coffee/controllers/controllers.coffee16
-rw-r--r--coffee/controllers/settingscontroller.coffee17
-rw-r--r--css/feeds.css6
-rw-r--r--js/app.js60
-rw-r--r--templates/part.addnew.php2
-rw-r--r--templates/part.listfeed.php6
-rw-r--r--templates/part.listfolder.php14
-rw-r--r--templates/part.settings.php23
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');
}
diff --git a/js/app.js b/js/app.js
index dd2554653..4ddb6aec4 100644
--- a/js/app.js
+++ b/js/app.js
@@ -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>