diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html
index 00cbfb85..582ac93f 100644
--- a/data/interfaces/default/index.html
+++ b/data/interfaces/default/index.html
@@ -92,10 +92,10 @@
Recently Added
@@ -936,10 +936,14 @@
count: recently_added_count,
media_type: recently_added_type
},
+ beforeSend: function () {
+ $(".dashboard-recent-media-row").animate({ scrollLeft: 0 }, 1000);
+ },
complete: function (xhr, status) {
$("#recentlyAdded").html(xhr.responseText);
$('#ajaxMsg').fadeOut();
- highlightAddedScrollerButton();
+ highlightScrollerButton("#recently-added");
+ paginateScroller("#recently-added", ".paginate-added");
}
});
}
@@ -955,50 +959,6 @@
recentlyAdded(recently_added_count, recently_added_type);
}
- function highlightAddedScrollerButton() {
- var scroller = $("#recently-added-row-scroller");
- var numElems = scroller.find("li:visible").length;
- scroller.width(numElems * 175);
- if (scroller.width() > $("body").find(".container-fluid").width()) {
- $("#recently-added-page-right").removeClass("disabled");
- } else {
- $("#recently-added-page-right").addClass("disabled");
- }
- }
-
- $(window).resize(function () {
- highlightAddedScrollerButton();
- });
-
- function resetScroller() {
- $(".dashboard-recent-media-row").animate({ scrollLeft: 0 }, 1000);
- $("#recently-added-page-left").addClass("disabled").blur();
- }
-
- $(".paginate").click(function (e) {
- e.preventDefault();
- var scroller = $("#recently-added-row-scroller");
- var scrollerParent = scroller.parent();
- var containerWidth = $("body").find(".container-fluid").width();
- var scrollCurrent = scrollerParent.scrollLeft();
- var scrollAmount = $(this).data("id") * parseInt((containerWidth - 15) / 175) * 175;
- var scrollMax = parseInt(scroller.width()) - Math.abs(scrollAmount);
- var scrollTotal = Math.min(scrollCurrent + scrollAmount, scrollMax);
- scrollerParent.animate({ scrollLeft: scrollTotal }, 250);
-
- if (scrollTotal === 0) {
- $("#recently-added-page-left").addClass("disabled").blur();
- } else {
- $("#recently-added-page-left").removeClass("disabled");
- }
-
- if (scrollTotal === scrollMax) {
- $("#recently-added-page-right").addClass("disabled").blur();
- } else {
- $("#recently-added-page-right").removeClass("disabled");
- }
- });
-
$('#recently-added-toggles').on('change', function () {
$('#recently-added-toggles > label').removeClass('active');
selected_filter = $('input[name=recently-added-toggle]:checked', '#recently-added-toggles');
@@ -1006,7 +966,6 @@
recently_added_type = $(selected_filter).val();
setLocalStorage('home_stats_recently_added_type', recently_added_type);
recentlyAdded(recently_added_count, recently_added_type);
- resetScroller();
});
$('#recently-added-count').change(function () {
@@ -1014,7 +973,6 @@
recently_added_count = $(this).val();
setLocalStorage('home_stats_recently_added_count', recently_added_count);
recentlyAdded(recently_added_count, recently_added_type);
- resetScroller();
});
$('#recently-added-count').tooltip({ container: 'body', placement: 'top', html: true });
diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js
index c04ce6ef..5d75c69d 100644
--- a/data/interfaces/default/js/script.js
+++ b/data/interfaces/default/js/script.js
@@ -930,3 +930,50 @@ $('.modal').on('hide.bs.modal', function (e) {
$.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.get(0).clientHeight;
}
+
+function paginateScroller(scrollerId, buttonClass) {
+ $(buttonClass).click(function (e) {
+ e.preventDefault();
+ var scroller = $(scrollerId + "-row-scroller");
+ var scrollerParent = scroller.parent();
+ var containerWidth = scrollerParent.width();
+ var scrollCurrent = scrollerParent.scrollLeft();
+ var scrollAmount = $(this).data("id") * parseInt(containerWidth / 175) * 175;
+ var scrollMax = scroller.width() - Math.abs(scrollAmount);
+ var scrollTotal = Math.min(parseInt(scrollCurrent / 175) * 175 + scrollAmount, scrollMax);
+ scrollerParent.animate({ scrollLeft: scrollTotal }, 250);
+ });
+}
+
+function highlightScrollerButton(scrollerId) {
+ var scroller = $(scrollerId + "-row-scroller");
+ var scrollerParent = scroller.parent();
+ var buttonLeft = $(scrollerId + "-page-left");
+ var buttonRight = $(scrollerId + "-page-right");
+
+ var numElems = scroller.find("li").length;
+ scroller.width(numElems * 175);
+ $(buttonLeft).addClass("disabled").blur();
+ if (scroller.width() > scrollerParent.width()) {
+ $(buttonRight).removeClass("disabled");
+ } else {
+ $(buttonRight).addClass("disabled");
+ }
+
+ scrollerParent.scroll(function () {
+ var scrollCurrent = $(this).scrollLeft();
+ var scrollMax = scroller.width() - $(this).width();
+
+ if (scrollCurrent == 0) {
+ $(buttonLeft).addClass("disabled").blur();
+ } else {
+ $(buttonLeft).removeClass("disabled");
+ }
+
+ if (scrollCurrent >= scrollMax) {
+ $(buttonRight).addClass("disabled").blur();
+ } else {
+ $(buttonRight).removeClass("disabled");
+ }
+ });
+}
diff --git a/data/interfaces/default/library.html b/data/interfaces/default/library.html
index df9298d0..ba61153d 100644
--- a/data/interfaces/default/library.html
+++ b/data/interfaces/default/library.html
@@ -690,7 +690,8 @@ DOCUMENTATION :: END
},
complete: function(xhr, status) {
$("#library-recently-watched").html(xhr.responseText);
- highlightWatchedScrollerButton();
+ highlightScrollerButton("#recently-watched");
+ paginateScroller("#recently-watched", ".paginate-watched");
}
});
}
@@ -706,7 +707,8 @@ DOCUMENTATION :: END
},
complete: function(xhr, status) {
$("#library-recently-added").html(xhr.responseText);
- highlightAddedScrollerButton();
+ highlightScrollerButton("#recently-added");
+ paginateScroller("#recently-added", ".paginate-added");
}
});
}
@@ -716,83 +718,8 @@ DOCUMENTATION :: END
recentlyAdded();
% endif
- function highlightWatchedScrollerButton() {
- var scroller = $("#recently-watched-row-scroller");
- var numElems = scroller.find("li").length;
- scroller.width(numElems * 175);
- if (scroller.width() > $("#library-recently-watched").width()) {
- $("#recently-watched-page-right").removeClass("disabled");
- } else {
- $("#recently-watched-page-right").addClass("disabled");
- }
- }
-
- function highlightAddedScrollerButton() {
- var scroller = $("#recently-added-row-scroller");
- var numElems = scroller.find("li").length;
- scroller.width(numElems * 175);
- if (scroller.width() > $("#library-recently-added").width()) {
- $("#recently-added-page-right").removeClass("disabled");
- } else {
- $("#recently-added-page-right").addClass("disabled");
- }
- }
-
- $(window).resize(function() {
- highlightWatchedScrollerButton();
- highlightAddedScrollerButton();
- });
-
$('div.art-face').animate({ opacity: 0.2 }, { duration: 1000 });
- $(".paginate-watched").click(function (e) {
- e.preventDefault();
- var scroller = $("#recently-watched-row-scroller");
- var scrollerParent = scroller.parent();
- var containerWidth = $("#library-recently-watched").width();
- var scrollCurrent = scrollerParent.scrollLeft();
- var scrollAmount = $(this).data("id") * parseInt(containerWidth / 175) * 175;
- var scrollMax = parseInt(scroller.width()) - Math.abs(scrollAmount);
- var scrollTotal = Math.min(scrollCurrent + scrollAmount, scrollMax);
- scrollerParent.animate({ scrollLeft: scrollTotal }, 250);
-
- if (scrollTotal == 0) {
- $("#recently-watched-page-left").addClass("disabled").blur();
- } else {
- $("#recently-watched-page-left").removeClass("disabled");
- }
-
- if (scrollTotal == scrollMax) {
- $("#recently-watched-page-right").addClass("disabled").blur();
- } else {
- $("#recently-watched-page-right").removeClass("disabled");
- }
- });
-
- $(".paginate-added").click(function (e) {
- e.preventDefault();
- var scroller = $("#recently-added-row-scroller");
- var scrollerParent = scroller.parent();
- var containerWidth = $("#library-recently-added").width();
- var scrollCurrent = scrollerParent.scrollLeft();
- var scrollAmount = $(this).data("id") * parseInt(containerWidth / 175) * 175;
- var scrollMax = parseInt(scroller.width()) - Math.abs(scrollAmount);
- var scrollTotal = Math.min(scrollCurrent + scrollAmount, scrollMax);
- scrollerParent.animate({ scrollLeft: scrollTotal }, 250);
-
- if (scrollTotal == 0) {
- $("#recently-added-page-left").addClass("disabled").blur();
- } else {
- $("#recently-added-page-left").removeClass("disabled");
- }
-
- if (scrollTotal == scrollMax) {
- $("#recently-added-page-right").addClass("disabled").blur();
- } else {
- $("#recently-added-page-right").removeClass("disabled");
- }
- });
-
$(document).ready(function () {
// Javascript to enable link to tab
diff --git a/data/interfaces/default/user.html b/data/interfaces/default/user.html
index cd13cc83..adfd6c39 100644
--- a/data/interfaces/default/user.html
+++ b/data/interfaces/default/user.html
@@ -125,10 +125,10 @@ DOCUMENTATION :: END