summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-22 15:17:29 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-22 15:17:29 +0200
commit26c063e3b6fed152003fc9b41f36cdfeb5c09f5e (patch)
treebe981159af1552bcf6b61af0e484b8a0a55c10f8
parent131ccd6d3ef0e17b12b3ca36a13285b71892af04 (diff)
make code easier to read
-rw-r--r--js/.jshintrc2
-rw-r--r--js/build/app.js135
-rw-r--r--js/directive/NewsScroll.js100
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);
}