diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-22 15:17:29 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-22 15:17:29 +0200 |
commit | 26c063e3b6fed152003fc9b41f36cdfeb5c09f5e (patch) | |
tree | be981159af1552bcf6b61af0e484b8a0a55c10f8 /js | |
parent | 131ccd6d3ef0e17b12b3ca36a13285b71892af04 (diff) |
make code easier to read
Diffstat (limited to 'js')
-rw-r--r-- | js/.jshintrc | 2 | ||||
-rw-r--r-- | js/build/app.js | 135 | ||||
-rw-r--r-- | js/directive/NewsScroll.js | 100 |
3 files changed, 123 insertions, 114 deletions
diff --git a/js/.jshintrc b/js/.jshintrc index d4d7e6279..cd85aa807 100644 --- a/js/.jshintrc +++ b/js/.jshintrc @@ -18,7 +18,7 @@ "unused": true, "strict": true, "maxparams": false, - "maxdepth": 4, + "maxdepth": 3, "maxlen": 80, "browser": true, "devel": true, diff --git a/js/build/app.js b/js/build/app.js index f6aff727d..59b433c80 100644 --- a/js/build/app.js +++ b/js/build/app.js @@ -947,6 +947,63 @@ var $__build_47_app__ = function () { '$timeout', function ($timeout) { 'use strict'; + var autoPage = function (enabled, limit, items, callback) { + if (enabled) { + try { + throw undefined; + } catch (counter) { + counter = 0; + for (var $__3 = reverse(items.find('.feed_item'))[$traceurRuntime.toProperty(Symbol.iterator)](), $__4; !($__4 = $__3.next()).done;) { + try { + throw undefined; + } catch (item) { + item = $__4.value; + { + item = $(item); + if (counter >= limit) { + break; + } + if (item.position().top < 0) { + callback(); + break; + } + counter += 1; + } + } + } + } + } + }; + var markRead = function (enabled, items, callback) { + if (enabled) { + try { + throw undefined; + } catch (unreadItems) { + try { + throw undefined; + } catch (ids) { + ids = []; + unreadItems = items.find('.feed_item:not(.read)'); + for (var $__3 = unreadItems[$traceurRuntime.toProperty(Symbol.iterator)](), $__4; !($__4 = $__3.next()).done;) { + try { + throw undefined; + } catch (item) { + item = $__4.value; + { + item = $(item); + if (item.position().top <= -50) { + ids.push(parseInt($(item).data('id'), 10)); + } else { + break; + } + } + } + } + callback(ids); + } + } + } + }; return { restrict: 'A', scope: { @@ -969,74 +1026,16 @@ var $__build_47_app__ = function () { if (!scrolling) { try { throw undefined; - } catch (markRead) { - try { - throw undefined; - } catch (items) { - scrolling = true; - $timeout(function () { - scrolling = false; - }, scope.newsScrollTimeout * 1000); - items = $(scope.newsScrollItemsSelector); - if (!scope.newsScrollDisabledAutoPage) { - try { - throw undefined; - } catch (counter) { - counter = 0; - for (var $__3 = reverse(items.find('.feed_item'))[$traceurRuntime.toProperty(Symbol.iterator)](), $__4; !($__4 = $__3.next()).done;) { - try { - throw undefined; - } catch (item) { - item = $__4.value; - { - item = $(item); - if (counter >= scope.newsScrollAutoPageWhenLeft) { - break; - } - if (item.position().top < 0) { - scope.newsScrollAutoPage(); - break; - } - counter += 1; - } - } - } - } - } - markRead = function () { - if (!scope.newsScrollDisabledMarkRead) { - try { - throw undefined; - } catch (unread) { - try { - throw undefined; - } catch (ids) { - ids = []; - unread = items.find('.feed_item:not(.read)'); - for (var $__5 = unread[$traceurRuntime.toProperty(Symbol.iterator)](), $__6; !($__6 = $__5.next()).done;) { - try { - throw undefined; - } catch (item) { - item = $__6.value; - { - item = $(item); - if (item.position().top <= -50) { - ids.push(parseInt($(item).data('id'), 10)); - } else { - break; - } - } - } - } - scope.newsScrollMarkRead(ids); - } - } - } - }; - $timeout(function () { - markRead(); - }, scope.newsScrollMarkReadTimeout * 1000); - } + } catch (items) { + scrolling = true; + $timeout(function () { + scrolling = false; + }, scope.newsScrollTimeout * 1000); + items = $(scope.newsScrollItemsSelector); + autoPage(!scope.newsScrollDisabledAutoPage, scope.newsScrollAutoPageWhenLeft, items, scope.newsScrollAutoPage); + $timeout(function () { + markRead(!scope.newsScrollDisabledMarkRead, items, scope.newsScrollMarkRead); + }, scope.newsScrollMarkReadTimeout * 1000); } } }); diff --git a/js/directive/NewsScroll.js b/js/directive/NewsScroll.js index 9e2da1564..6638c36b0 100644 --- a/js/directive/NewsScroll.js +++ b/js/directive/NewsScroll.js @@ -10,6 +10,54 @@ app.directive('newsScroll', ($timeout) => { 'use strict'; + // autopaging + let autoPage = (enabled, limit, items, callback) => { + if (enabled) { + let counter = 0; + for (let item of reverse(items.find('.feed_item'))) { + item = $(item); + + + // if the counter is higher than the size it means + // that it didnt break to auto page yet and that + // there are more items, so break + if (counter >= limit) { + break; + } + + // this is only reached when the item is not is + // below the top and we didnt hit the factor yet so + // autopage and break + if (item.position().top < 0) { + callback(); + break; + } + + counter += 1; + } + } + }; + + // mark read + let markRead = (enabled, items, callback) => { + if (enabled) { + let ids = []; + let unreadItems = items.find('.feed_item:not(.read)'); + + for (let item of unreadItems) { + item = $(item); + + if (item.position().top <= -50) { + ids.push(parseInt($(item).data('id'), 10)); + } else { + break; + } + } + + callback(ids); + } + }; + return { restrict: 'A', scope: { @@ -48,54 +96,16 @@ app.directive('newsScroll', ($timeout) => { let items = $(scope.newsScrollItemsSelector); // autopaging - if (!scope.newsScrollDisabledAutoPage) { - let counter = 0; - for (let item of reverse(items.find('.feed_item'))) { - item = $(item); - - - // if the counter is higher than the size it means - // that it didnt break to auto page yet and that - // there are more items, so break - if (counter >= scope.newsScrollAutoPageWhenLeft) { - break; - } - - // this is only reached when the item is not is - // below the top and we didnt hit the factor yet so - // autopage and break - if (item.position().top < 0) { - scope.newsScrollAutoPage(); - break; - } - - counter += 1; - } - } - - // mark read - let markRead = () => { - if (!scope.newsScrollDisabledMarkRead) { - let ids = []; - let unread = items.find('.feed_item:not(.read)'); - - for (let item of unread) { - item = $(item); - - if (item.position().top <= -50) { - ids.push(parseInt($(item).data('id'), 10)); - } else { - break; - } - } - - scope.newsScrollMarkRead(ids); - } - }; + autoPage(!scope.newsScrollDisabledAutoPage, + scope.newsScrollAutoPageWhenLeft, + items, scope.newsScrollAutoPage); + + // allow user to undo accidental scroll $timeout(() => { - markRead(); + markRead(!scope.newsScrollDisabledMarkRead, items, + scope.newsScrollMarkRead); }, scope.newsScrollMarkReadTimeout*1000); } |