From 0645f0fe106a8b4a60886ff6ee6ffe0898087a7c Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Sat, 1 Aug 2020 00:37:32 +0000 Subject: [PATCH] Bug 26120: Remove the use of jquery.checkboxes plugin from tags review template This patch removes the use of the jquery.checkboxes plugin and improves the handling of tag status markup so that the "Select all pending" selection link works correctly. To test, apply the patch and go to Tools -> Tags. To test properly you should have multiple tags awaiting moderation. - The initial view of tags moderation shows only tags awaiting moderation. Test that the "select all," "clear all," and "Select all pending" links work correctly. - Click the "Approve" button for a tag, and the "Reject" button for another tag. - Test the "Select all pending" link again. Only the tags awaiting moderation should be selected. Signed-off-by: David Nind --- .../intranet-tmpl/prog/en/modules/tags/review.tt | 26 ++++++++++----- .../intranet-tmpl/prog/js/pages/tags-review.js | 38 +++++++++++++++------- 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tags/review.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tags/review.tt index 32af227d02..e588174d32 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tags/review.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tags/review.tt @@ -77,7 +77,6 @@ tr > td input,td input[type="submit"] { font-size: 85%; padding: 1px; }   -   Status Term Weight @@ -89,18 +88,28 @@ tr > td input,td input[type="submit"] { font-size: 85%; padding: 1px; } [% FOREACH tagloo IN tagloop %] - [% offset + loop.count | html %] - - [% IF ( tagloo.approved == 0 ) %] - [% ELSE %][% END %] + + [% IF ( tagloo.approved == 0 ) %] + + [% ELSIF ( tagloo.approved == 1 ) %] + + [% ELSE %] + + [% END %] [% IF ( tagloo.approved == -1 ) %] - Rejected + [% ELSIF ( tagloo.approved == 1 ) %] - Approved + [% ELSE %] - Pending + [% END %] [% tagloo.term | html %] @@ -228,7 +237,6 @@ tr > td input,td input[type="submit"] { font-size: 85%; padding: 1px; } [% MACRO jsinclude BLOCK %] [% INCLUDE 'datatables.inc' %] [% INCLUDE 'calendar.inc' %] - [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %] [% Asset.js("js/pages/tags-review.js") | $raw %] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/pages/tags-review.js b/koha-tmpl/intranet-tmpl/prog/js/pages/tags-review.js index 842ffb9acf..f5ee5245d2 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/pages/tags-review.js +++ b/koha-tmpl/intranet-tmpl/prog/js/pages/tags-review.js @@ -65,23 +65,37 @@ $(document).ready(function() { { "sType": "anti-the", "aTargets" : [ "anti-the" ] }, { "sType": "title-string", "aTargets" : [ "title-string" ] } ], - "aaSorting": [[ 4, "desc" ]], + "aaSorting": [[ 2, "desc" ]], "sPaginationType": "full" })); $('.ajax_buttons' ).css({visibility:"visible"}); $("p.check").html("
<\/i> " + __("Select all") + "<\/a> | <\/i> " + __("Clear all") + "<\/a> | " + __("Select all pending") + "<\/a><\/div>"); - $("#CheckAll").click(function(){ - $(".checkboxed").checkCheckboxes(); - return false; + + $("#CheckAll").on("click", function (e) { + e.preventDefault(); + $("#tagst input:checkbox").each(function () { + $(this).prop("checked", true); + }); }); - $("#CheckNone").click(function(){ - $(".checkboxed").unCheckCheckboxes(); - return false; + + $("#CheckNone").on("click", function(e){ + e.preventDefault(); + $("#tagst input:checkbox").each(function(){ + $(this).prop("checked", false ); + }); }); - $("#CheckPending").click(function(){ - $(".checkboxed").checkCheckboxes(".pending"); - return false; + + $("#CheckPending").on("click", function (e) { + e.preventDefault(); + $("#tagst input:checkbox").each(function () { + if( $(this).hasClass("pending") ){ + $(this).prop("checked", true); + } else { + $(this).prop("checked", false); + } + }); }); + $(".approval_btn").on('click',function(event) { event.preventDefault(); pull_counts(); @@ -102,6 +116,7 @@ $(document).ready(function() { getelement = $(event.target).data("num"); gettitle = ".status" + getelement; $(gettitle).text( __("Approved") ); + $("#checkbox" + getelement ).attr("class", "approved"); if ($(gettitle).hasClass("pending") ){ $(gettitle).toggleClass("pending approved"); } else { @@ -121,7 +136,8 @@ $(document).ready(function() { $(event.target).html(" " + __("Rejected")); getelement = $(event.target).data("num"); gettitle = ".status" + getelement; - $(gettitle).text( __("Rejected") ); + $(gettitle).text(__("Rejected")); + $("#checkbox" + getelement).attr("class", "rejected"); if ($(gettitle).hasClass("pending") ){ $(gettitle).toggleClass("pending rejected"); } else { -- 2.11.0