From c986be79752a48ed37fbab553c3dda12e0b0a676 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 30 Mar 2022 15:38:24 -0300 Subject: [PATCH 1/5] style: reformat manage-review-requests.js as StandardJS style --- ietf/static/js/manage-review-requests.js | 223 +++++++++++------------ 1 file changed, 110 insertions(+), 113 deletions(-) diff --git a/ietf/static/js/manage-review-requests.js b/ietf/static/js/manage-review-requests.js index c1156d8c31b..4fc46683690 100644 --- a/ietf/static/js/manage-review-requests.js +++ b/ietf/static/js/manage-review-requests.js @@ -1,128 +1,125 @@ -$(document) - .ready(function () { - var form = $("form.review-requests"); - var saveButtons = form.find("[name=action][value^='save']"); +/* global $ */ +$(function () { + 'use strict' + const form = $('form.review-requests') + const saveButtons = form.find('[name=action][value^=\'save\']') - function updateSaveButtons() { - saveButtons.prop("disabled", form.find("[name$='-action'][value][value!=']") - .length == 0); - } + function updateSaveButtons () { + saveButtons.prop( + 'disabled', + form.find('[name$=\'-action\'][value][value!=\']').length === 0 + ) + } - function setControlDisplay(row) { - var action = row.find("[name$='-action']") - .val(); - if (action == "assign") { - row.find(".reviewer-controls") - .show(); - row.find(".close-controls") - .hide(); - row.find(".assign-action,.close-action") - .hide(); - } else if (action == "close") { - row.find(".reviewer-controls") - .hide(); - row.find(".close-controls") - .show(); - row.find(".assign-action,.close-action") - .hide(); - } else { - row.find(".reviewer-controls,.close-controls") - .hide(); - row.find(".assign-action,.close-action") - .show(); - } + function setControlDisplay (row) { + const action = row.find('[name$=\'-action\']') + .val() + if (action === 'assign') { + row.find('.reviewer-controls') + .show() + row.find('.close-controls') + .hide() + row.find('.assign-action,.close-action') + .hide() + } else if (action === 'close') { + row.find('.reviewer-controls') + .hide() + row.find('.close-controls') + .show() + row.find('.assign-action,.close-action') + .hide() + } else { + row.find('.reviewer-controls,.close-controls') + .hide() + row.find('.assign-action,.close-action') + .show() + } - updateSaveButtons(); - } + updateSaveButtons() + } - form.find(".assign-action button") - .on("click", function () { - var row = $(this) - .closest(".review-request"); + form.find('.assign-action button') + .on('click', function () { + const row = $(this) + .closest('.review-request') - var select = row.find(".reviewer-controls [name$='-reviewer']"); - if (!select.val()) { - // collect reviewers already assigned in this session - var reviewerAssigned = {}; - select.find("option") - .each(function () { - if (this.value) - reviewerAssigned[this.value] = 0; - }); + const select = row.find('.reviewer-controls [name$=\'-reviewer\']') + if (!select.val()) { + // collect reviewers already assigned in this session + const reviewerAssigned = {} + select.find('option') + .each(function () { + if (this.value) { + reviewerAssigned[this.value] = 0 + } + }) - form.find("[name$='-action'][value='assign']") - .each(function () { - var v = $(this) - .closest(".review-request") - .find("[name$='-reviewer']") - .val(); - if (v) - reviewerAssigned[v] += 1; - }); + form.find('[name$=\'-action\'][value=\'assign\']') + .each(function () { + const v = $(this) + .closest('.review-request') + .find('[name$=\'-reviewer\']') + .val() + if (v) { + reviewerAssigned[v] += 1 + } + }) - // by default, the select box contains a sorted list, so - // we should be able to select the first, unless that - // person has already been assigned to review in this - // session - var found = null; - var options = select.find("option") - .get(); - for (var round = 0; round < 100 && !found; ++round) { - for (var i = 0; i < options.length && !found; ++i) { - var v = options[i].value; - if (!v) - continue; + // by default, the select box contains a sorted list, so + // we should be able to select the first, unless that + // person has already been assigned to review in this + // session + let found = null + const options = select.find('option').get() + for (let round = 0; round < 100 && !found; ++round) { + for (let i = 0; i < options.length && !found; ++i) { + const v = options[i].value + if (!v) { + continue + } - if (reviewerAssigned[v] == round) - found = v; - } - } + if (reviewerAssigned[v] === round) { + found = v + } + } + } - if (found) - select.val(found); - } + if (found) { + select.val(found) + } + } - row.find("[name$='-action']") - .val("assign"); - setControlDisplay(row); - }); + row.find('[name$=\'-action\']').val('assign') + setControlDisplay(row) + }) - form.find(".reviewer-controls .undo") - .on("click", function () { - var row = $(this) - .closest(".review-request"); - row.find("[name$='-action']") - .val(""); - row.find("[name$='-reviewer']") - .val($(this) - .data("initial")); - setControlDisplay(row); - }); + form.find('.reviewer-controls .undo') + .on('click', function () { + const row = $(this).closest('.review-request') + row.find('[name$=\'-action\']').val('') + row.find('[name$=\'-reviewer\']').val($(this).data('initial')) + setControlDisplay(row) + }) - form.find(".close-action button") - .on("click", function () { - var row = $(this) - .closest(".review-request"); - row.find("[name$='-action']") - .val("close"); - setControlDisplay(row); - }); + form.find('.close-action button') + .on('click', function () { + const row = $(this).closest('.review-request') + row.find('[name$=\'-action\']').val('close') + setControlDisplay(row) + }) - form.find(".close-controls .undo") - .on("click", function () { - var row = $(this) - .closest(".review-request"); - row.find("[name$='-action']") - .val(""); - setControlDisplay(row); - }); + form.find('.close-controls .undo') + .on('click', function () { + const row = $(this).closest('.review-request') + row.find('[name$=\'-action\']').val('') + setControlDisplay(row) + }) - form.find("[class$='-action']") - .each(function () { - var row = $(this) - .closest(".review-request"); - setControlDisplay(row); - }); + form.find('[class$=\'-action\']') + .each(function () { + const row = $(this).closest('.review-request') + setControlDisplay(row) + }) - updateSaveButtons(); - }); \ No newline at end of file + updateSaveButtons() +}) From edf6b81c7b7d8ee6ed32eeb092e66363e6b5aa1a Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 30 Mar 2022 15:44:53 -0300 Subject: [PATCH 2/5] refactor: use switch statement instead of if/else-if/else --- ietf/static/js/manage-review-requests.js | 38 +++++++++++------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/ietf/static/js/manage-review-requests.js b/ietf/static/js/manage-review-requests.js index 4fc46683690..146944fd907 100644 --- a/ietf/static/js/manage-review-requests.js +++ b/ietf/static/js/manage-review-requests.js @@ -12,27 +12,23 @@ $(function () { } function setControlDisplay (row) { - const action = row.find('[name$=\'-action\']') - .val() - if (action === 'assign') { - row.find('.reviewer-controls') - .show() - row.find('.close-controls') - .hide() - row.find('.assign-action,.close-action') - .hide() - } else if (action === 'close') { - row.find('.reviewer-controls') - .hide() - row.find('.close-controls') - .show() - row.find('.assign-action,.close-action') - .hide() - } else { - row.find('.reviewer-controls,.close-controls') - .hide() - row.find('.assign-action,.close-action') - .show() + const action = row.find('[name$=\'-action\']').val() + switch (action) { + case 'assign': + row.find('.reviewer-controls').show() + row.find('.close-controls').hide() + row.find('.assign-action,.close-action').hide() + break + + case 'close': + row.find('.reviewer-controls').hide() + row.find('.close-controls').show() + row.find('.assign-action,.close-action').hide() + break + + default: + row.find('.reviewer-controls,.close-controls').hide() + row.find('.assign-action,.close-action').show() } updateSaveButtons() From 4bfd7f091db480459abef5ae7c1558ca86fd83a1 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 30 Mar 2022 15:49:00 -0300 Subject: [PATCH 3/5] style: remove needless line break --- ietf/static/js/manage-review-requests.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ietf/static/js/manage-review-requests.js b/ietf/static/js/manage-review-requests.js index 146944fd907..4139991a71c 100644 --- a/ietf/static/js/manage-review-requests.js +++ b/ietf/static/js/manage-review-requests.js @@ -36,9 +36,7 @@ $(function () { form.find('.assign-action button') .on('click', function () { - const row = $(this) - .closest('.review-request') - + const row = $(this).closest('.review-request') const select = row.find('.reviewer-controls [name$=\'-reviewer\']') if (!select.val()) { // collect reviewers already assigned in this session From 2233f781f7fb58659c8ed6ea59e99549133fd3b1 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 30 Mar 2022 21:23:08 -0300 Subject: [PATCH 4/5] fix: fix jquery selectors to be less fragile and easier to read --- ietf/static/js/manage-review-requests.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ietf/static/js/manage-review-requests.js b/ietf/static/js/manage-review-requests.js index 4139991a71c..c3329f890ff 100644 --- a/ietf/static/js/manage-review-requests.js +++ b/ietf/static/js/manage-review-requests.js @@ -2,17 +2,17 @@ $(function () { 'use strict' const form = $('form.review-requests') - const saveButtons = form.find('[name=action][value^=\'save\']') + const saveButtons = form.find('[name=action][value^="save"]') function updateSaveButtons () { saveButtons.prop( 'disabled', - form.find('[name$=\'-action\'][value][value!=\']').length === 0 + form.find('[name$="-action"][value][value!=""]').length === 0 ) } function setControlDisplay (row) { - const action = row.find('[name$=\'-action\']').val() + const action = row.find('[name$="-action"]').val() switch (action) { case 'assign': row.find('.reviewer-controls').show() @@ -37,7 +37,7 @@ $(function () { form.find('.assign-action button') .on('click', function () { const row = $(this).closest('.review-request') - const select = row.find('.reviewer-controls [name$=\'-reviewer\']') + const select = row.find('.reviewer-controls [name$="-reviewer"]') if (!select.val()) { // collect reviewers already assigned in this session const reviewerAssigned = {} @@ -48,11 +48,11 @@ $(function () { } }) - form.find('[name$=\'-action\'][value=\'assign\']') + form.find('[name$="-action"][value="assign"]') .each(function () { const v = $(this) .closest('.review-request') - .find('[name$=\'-reviewer\']') + .find('[name$="-reviewer"]') .val() if (v) { reviewerAssigned[v] += 1 @@ -83,33 +83,33 @@ $(function () { } } - row.find('[name$=\'-action\']').val('assign') + row.find('[name$="-action"]').val('assign') setControlDisplay(row) }) form.find('.reviewer-controls .undo') .on('click', function () { const row = $(this).closest('.review-request') - row.find('[name$=\'-action\']').val('') - row.find('[name$=\'-reviewer\']').val($(this).data('initial')) + row.find('[name$="-action"]').val('') + row.find('[name$="-reviewer"]').val($(this).data('initial')) setControlDisplay(row) }) form.find('.close-action button') .on('click', function () { const row = $(this).closest('.review-request') - row.find('[name$=\'-action\']').val('close') + row.find('[name$="-action"]').val('close') setControlDisplay(row) }) form.find('.close-controls .undo') .on('click', function () { const row = $(this).closest('.review-request') - row.find('[name$=\'-action\']').val('') + row.find('[name$="-action"]').val('') setControlDisplay(row) }) - form.find('[class$=\'-action\']') + form.find('.assign-action,.close-action') .each(function () { const row = $(this).closest('.review-request') setControlDisplay(row) From dd7a0b3563407f17d5e5042e0ded7f9272216ede Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 30 Mar 2022 21:25:29 -0300 Subject: [PATCH 5/5] fix: clean up bs5 HTML/CSS for review request buttons --- .../group/manage_review_requests.html | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/ietf/templates/group/manage_review_requests.html b/ietf/templates/group/manage_review_requests.html index 16f4fcab9ff..75e843813bc 100644 --- a/ietf/templates/group/manage_review_requests.html +++ b/ietf/templates/group/manage_review_requests.html @@ -145,16 +145,24 @@

Abstract: {{ r.doc.abstract|linkify|urlize_ietf_docs }} - {% if r.form.non_field_errors %} -
- {% for e in r.form.non_field_errors %}{{ e }}{% endfor %} +
+ {% if r.form.non_field_errors %} +
+
+
+ {% for e in r.form.non_field_errors %}{{ e }}{% endfor %} +
- {% endif %} - - -
+
+ {% endif %} +
+ + +