diff options
Diffstat (limited to 'js/build/app/controllers/itemcontroller.js')
-rw-r--r-- | js/build/app/controllers/itemcontroller.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/js/build/app/controllers/itemcontroller.js b/js/build/app/controllers/itemcontroller.js new file mode 100644 index 000000000..1412aeb78 --- /dev/null +++ b/js/build/app/controllers/itemcontroller.js @@ -0,0 +1,83 @@ +// Generated by CoffeeScript 1.6.3 +/* + +ownCloud - News + +@_author Bernhard Posselt +@copyright 2012 Bernhard Posselt dev@bernhard-posselt.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/>. +*/ + + +(function() { + angular.module('News').controller('ItemController', [ + '$scope', 'ItemBusinessLayer', 'FeedModel', 'FeedLoading', 'FeedBusinessLayer', 'Language', 'AutoPageLoading', function($scope, ItemBusinessLayer, FeedModel, FeedLoading, FeedBusinessLayer, Language, AutoPageLoading) { + var ItemController; + ItemController = (function() { + function ItemController(_$scope, _itemBusinessLayer, _feedModel, _feedLoading, _autoPageLoading, _feedBusinessLayer, _language) { + var _this = this; + this._$scope = _$scope; + this._itemBusinessLayer = _itemBusinessLayer; + this._feedModel = _feedModel; + this._feedLoading = _feedLoading; + this._autoPageLoading = _autoPageLoading; + this._feedBusinessLayer = _feedBusinessLayer; + this._language = _language; + this._autoPaging = true; + this._$scope.itemBusinessLayer = this._itemBusinessLayer; + this._$scope.feedBusinessLayer = this._feedBusinessLayer; + this._$scope.isLoading = function() { + return _this._feedLoading.isLoading(); + }; + this._$scope.isAutoPaging = function() { + return _this._autoPageLoading.isLoading(); + }; + this._$scope.getFeedTitle = function(feedId) { + var feed; + feed = _this._feedModel.getById(feedId); + if (angular.isDefined(feed)) { + return feed.title; + } else { + return ''; + } + }; + this._$scope.getRelativeDate = function(date) { + if (date) { + return _this._language.getMomentFromTimestamp(date).fromNow(); + } else { + return ''; + } + }; + this._$scope.$on('readItem', function(scope, data) { + return _this._itemBusinessLayer.setRead(data); + }); + this._$scope.$on('autoPage', function() { + if (_this._autoPaging) { + _this._autoPaging = false; + return _this._itemBusinessLayer.loadNext(function(data) { + return _this._autoPaging = true; + }); + } + }); + } + + return ItemController; + + })(); + return new ItemController($scope, ItemBusinessLayer, FeedModel, FeedLoading, AutoPageLoading, FeedBusinessLayer, Language); + } + ]); + +}).call(this); |