diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-23 01:11:53 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-23 01:11:53 +0200 |
commit | 8f833877eebd93f1c938833dd28255c63037588f (patch) | |
tree | fc304acb29c2327ead6648bf308243bdfb6ee468 /js/directive | |
parent | a0b6fad1ada52457c2c5022fcb7685c1fff16abb (diff) |
fix slideup
Diffstat (limited to 'js/directive')
-rw-r--r-- | js/directive/NewsReadFile.js | 25 | ||||
-rw-r--r-- | js/directive/NewsSlideUp.js | 75 | ||||
-rw-r--r-- | js/directive/NewsTriggerClick.js (renamed from js/directive/NewsForwardClick.js) | 0 |
3 files changed, 89 insertions, 11 deletions
diff --git a/js/directive/NewsReadFile.js b/js/directive/NewsReadFile.js index d3ed5b80e..89ed0adfc 100644 --- a/js/directive/NewsReadFile.js +++ b/js/directive/NewsReadFile.js @@ -10,19 +10,22 @@ app.directive('newsReadFile', () => { 'use strict'; - return (scope, elm, attr) => { + return (scope, elem, attr) => { - let file = elm[0].files[0]; - let reader = new FileReader(); + elem.change(() => { - reader.onload = (event) => { - elm[0].value = 0; - scope.$fileContent = event.target.result; - scope.$apply(attr.newsReadFile); // FIXME: is there a more flexible - // solution where we dont have to - // bind the file to scope? - }; + let file = elem[0].files[0]; + let reader = new FileReader(); - reader.reasAsText(file); + reader.onload = (event) => { + elem[0].value = 0; + // FIXME: is there a more flexible solution where we dont have + // to bind the file to scope? + scope.$fileContent = event.target.result; + scope.$apply(attr.newsReadFile); + }; + + reader.readAsText(file); + }); }; });
\ No newline at end of file diff --git a/js/directive/NewsSlideUp.js b/js/directive/NewsSlideUp.js new file mode 100644 index 000000000..437a119e7 --- /dev/null +++ b/js/directive/NewsSlideUp.js @@ -0,0 +1,75 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +app.directive('newsSlideUp', ($rootScope, $document) => { + 'use strict'; + + return (scope, elem, attr) => { + // defaults + let slideArea = elem; + let cssClass = false; + + let options = scope.$eval(attr.newsSlideUp); + + if (options) { + if (options.selector) { + slideArea = $(options.selector); + } + + if (options.cssClass) { + cssClass = options.cssClass; + } + + + if (options.hideOnFocusLost) { + $($document[0].body).click(() => { + $rootScope.$broadcast('newsSlideUp'); + }); + + $rootScope.$on('newsSlideUp', (scope, params) => { + if (params !== slideArea && + slideArea.is(':visible') && + !slideArea.is(':animated')) { + + slideArea.slideUp(); + + if (cssClass) { + elem.removeClass(cssClass); + } + } + }); + + slideArea.click((event) => { + $rootScope.$broadcast('newsSlideUp', slideArea); + event.stopPropagation(); + }); + + elem.click((event) => { + $rootScope.$broadcast('newsSlideUp', slideArea); + event.stopPropagation(); + }); + } + } + + elem.click(() => { + if (slideArea.is(':visible') && !slideArea.is(':animated')) { + slideArea.slideUp(); + if (cssClass) { + elem.removeClass(cssClass); + } + } else { + slideArea.slideDown(); + if (cssClass) { + elem.addClass(cssClass); + } + } + }); + + }; +});
\ No newline at end of file diff --git a/js/directive/NewsForwardClick.js b/js/directive/NewsTriggerClick.js index d5c43e442..d5c43e442 100644 --- a/js/directive/NewsForwardClick.js +++ b/js/directive/NewsTriggerClick.js |