diff options
Diffstat (limited to 'js/build/app/directives/undonotification.js')
-rw-r--r-- | js/build/app/directives/undonotification.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/js/build/app/directives/undonotification.js b/js/build/app/directives/undonotification.js new file mode 100644 index 000000000..924cfb1c6 --- /dev/null +++ b/js/build/app/directives/undonotification.js @@ -0,0 +1,63 @@ +// 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').directive('undoNotification', [ + '$rootScope', '$timeout', 'Config', function($rootScope, $timeout, Config) { + return function(scope, elm, attr) { + var caption, timeout, undo; + undo = function() {}; + caption = ''; + timeout = null; + $(elm).click(function() { + var timout; + timout = null; + return $(this).fadeOut(); + }); + $(elm).find('a').click(function() { + var timout; + undo(); + timout = null; + $rootScope.$apply(); + return elm.fadeOut(); + }); + scope.getCaption = function() { + return caption; + }; + return scope.$on('undoMessage', function(scope, data) { + var _this = this; + if (timeout) { + $timeout.cancel(timeout.promise); + } + timeout = $timeout(function() { + return $(elm).fadeOut(); + }, Config.undoTimeout); + undo = data.undoCallback; + caption = data.caption; + return $(elm).fadeIn().css("display", "inline"); + }); + }; + } + ]); + +}).call(this); |