From d7a1d9fa7552933f97c9c2dc182e9a4bfee33694 Mon Sep 17 00:00:00 2001 From: kulikov-a <36099472+kulikov-a@users.noreply.github.com> Date: Tue, 28 Dec 2021 16:55:30 +0300 Subject: [PATCH] MVC - initFormAdvancedUI: universal stripes adjustment (#5435) --- src/opnsense/www/js/opnsense_ui.js | 34 ++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/opnsense/www/js/opnsense_ui.js b/src/opnsense/www/js/opnsense_ui.js index 86cd3f7c5..9bfdaad3d 100644 --- a/src/opnsense/www/js/opnsense_ui.js +++ b/src/opnsense/www/js/opnsense_ui.js @@ -412,16 +412,39 @@ function initFormHelpUI() { * handle advanced show/hide */ function initFormAdvancedUI() { + + // handle striped tables hidden rows + let targetNodes = $('table.table-striped tbody'); + let config = { attributes: true, subtree: true, attributeFilter: ["style"] }; + let callback = function(mutationsList, observer) { + mutationsList.forEach(function(mutation) { + if (mutation.target.tagName == "TR") { + let currentValue = mutation.target.style.display; + if (currentValue == "") { + // row is visible + $(mutation.target).next('.dummy_row').remove(); + } else if (currentValue == "none" && !$(mutation.target).next().hasClass("dummy_row")) { + // row is hidden and no dummy rows after it. insert one to keep stripes order + $(mutation.target).after("