From 59c5baeb1ba72cfb0cfcd9139510feb264140f6b Mon Sep 17 00:00:00 2001 From: Usman Khalid Date: Thu, 19 Sep 2013 20:50:05 +0500 Subject: [PATCH 1/5] Disables the previous/next arrows on pdf books on the first/last pages respectively --- common/static/js/pdfviewer.js | 6 ++++++ lms/static/sass/course/_textbook.scss | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/static/js/pdfviewer.js b/common/static/js/pdfviewer.js index 258541e0ad..889c1e7d71 100644 --- a/common/static/js/pdfviewer.js +++ b/common/static/js/pdfviewer.js @@ -200,6 +200,12 @@ PDFJS.disableWorker = true; document.getElementById('numPages').textContent = 'of ' + pdfDocument.numPages; $("#pageNumber").max = pdfDocument.numPages; $("#pageNumber").val(pageNum); + + // Enable/disable the previous/next buttons + if (pageNum > 1) $("#previous").addClass("enabled"); + else $("#previous").removeClass("enabled"); + if (pageNum < pdfDocument.numPages) $("#next").addClass("enabled"); + else $("#next").removeClass("enabled"); } // Go to previous page diff --git a/lms/static/sass/course/_textbook.scss b/lms/static/sass/course/_textbook.scss index 72d73bdb78..f839c0dd10 100644 --- a/lms/static/sass/course/_textbook.scss +++ b/lms/static/sass/course/_textbook.scss @@ -160,11 +160,11 @@ div.book-wrapper { @include transition(none); vertical-align: middle; width: 100%; + } - &:hover { - opacity: 1.0; - filter: alpha(opacity=100); - } + a.enabled:hover { + opacity: 1.0; + filter: alpha(opacity=100); } &.last { From d0f0e5927243974646fac2bd9dea7ad37641527c Mon Sep 17 00:00:00 2001 From: Usman Khalid Date: Wed, 25 Sep 2013 22:52:51 +0500 Subject: [PATCH 2/5] Fixed js coding style for pdf arrows toggle --- common/static/js/pdfviewer.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/common/static/js/pdfviewer.js b/common/static/js/pdfviewer.js index 889c1e7d71..ef30f180ae 100644 --- a/common/static/js/pdfviewer.js +++ b/common/static/js/pdfviewer.js @@ -202,10 +202,16 @@ PDFJS.disableWorker = true; $("#pageNumber").val(pageNum); // Enable/disable the previous/next buttons - if (pageNum > 1) $("#previous").addClass("enabled"); - else $("#previous").removeClass("enabled"); - if (pageNum < pdfDocument.numPages) $("#next").addClass("enabled"); - else $("#next").removeClass("enabled"); + if (pageNum > 1) { + $("#previous").addClass("enabled"); + } else { + $("#previous").removeClass("enabled"); + } + if (pageNum < pdfDocument.numPages) { + $("#next").addClass("enabled"); + } else { + $("#next").removeClass("enabled"); + } } // Go to previous page From 5ca778ef0508047fad5db1de0753120d0b62ba4f Mon Sep 17 00:00:00 2001 From: Usman Khalid Date: Fri, 27 Sep 2013 21:06:34 +0500 Subject: [PATCH 3/5] Display:none arrows in disabled state --- common/static/js/pdfviewer.js | 12 ++++++------ lms/static/sass/course/_textbook.scss | 13 ++++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) mode change 100644 => 100755 common/static/js/pdfviewer.js mode change 100644 => 100755 lms/static/sass/course/_textbook.scss diff --git a/common/static/js/pdfviewer.js b/common/static/js/pdfviewer.js old mode 100644 new mode 100755 index ef30f180ae..a76e2f397c --- a/common/static/js/pdfviewer.js +++ b/common/static/js/pdfviewer.js @@ -202,15 +202,15 @@ PDFJS.disableWorker = true; $("#pageNumber").val(pageNum); // Enable/disable the previous/next buttons - if (pageNum > 1) { - $("#previous").addClass("enabled"); + if (pageNum <= 1) { + $("#previous").addClass("is-disabled"); } else { - $("#previous").removeClass("enabled"); + $("#previous").removeClass("is-disabled"); } - if (pageNum < pdfDocument.numPages) { - $("#next").addClass("enabled"); + if (pageNum >= pdfDocument.numPages) { + $("#next").addClass("is-disabled"); } else { - $("#next").removeClass("enabled"); + $("#next").removeClass("is-disabled"); } } diff --git a/lms/static/sass/course/_textbook.scss b/lms/static/sass/course/_textbook.scss old mode 100644 new mode 100755 index f839c0dd10..d3632be2c5 --- a/lms/static/sass/course/_textbook.scss +++ b/lms/static/sass/course/_textbook.scss @@ -160,13 +160,16 @@ div.book-wrapper { @include transition(none); vertical-align: middle; width: 100%; - } - a.enabled:hover { - opacity: 1.0; - filter: alpha(opacity=100); - } + &:hover { + opacity: 1.0; + } + &.is-disabled { + display:none; + } + } + &.last { left: 0; From 59403644ae38e9e54d8099b2e1f1a2651e6639e6 Mon Sep 17 00:00:00 2001 From: Usman Khalid Date: Fri, 27 Sep 2013 21:35:16 +0500 Subject: [PATCH 4/5] Moved jquery event handling to parent since hidden elements do not get events attached --- common/static/js/pdfviewer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/static/js/pdfviewer.js b/common/static/js/pdfviewer.js index a76e2f397c..3424a09892 100755 --- a/common/static/js/pdfviewer.js +++ b/common/static/js/pdfviewer.js @@ -327,11 +327,11 @@ PDFJS.disableWorker = true; loadUrl(chapterUrl, pageVal); } - $("#previous").click(function(event) { + $(".last").on('click','#previous',function(){ prevPage(); }); - $("#next").click(function(event) { + $(".next").on('click','#next',function(){ nextPage(); }); From 64d4ebdaa15f2a6a4e22f5f28d0b43137883d37f Mon Sep 17 00:00:00 2001 From: Usman Khalid Date: Sat, 28 Sep 2013 00:14:07 +0500 Subject: [PATCH 5/5] Revert last commit --- common/static/js/pdfviewer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/static/js/pdfviewer.js b/common/static/js/pdfviewer.js index 3424a09892..a76e2f397c 100755 --- a/common/static/js/pdfviewer.js +++ b/common/static/js/pdfviewer.js @@ -327,11 +327,11 @@ PDFJS.disableWorker = true; loadUrl(chapterUrl, pageVal); } - $(".last").on('click','#previous',function(){ + $("#previous").click(function(event) { prevPage(); }); - $(".next").on('click','#next',function(){ + $("#next").click(function(event) { nextPage(); });