From 03a65d89165c33377ebe3c40464b2e16680ed8a7 Mon Sep 17 00:00:00 2001 From: Davo Smith Date: Tue, 19 Dec 2017 10:48:46 +0000 Subject: [PATCH] MDL-61061 formslib: make sure hideIf rules hide labels within groups --- lib/form/form.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/form/form.js b/lib/form/form.js index 59f3ac6a051..50f59604b9b 100644 --- a/lib/form/form.js +++ b/lib/form/form.js @@ -282,6 +282,8 @@ if (typeof M.form.dependencyManager === 'undefined') { var els = this.elementsByName(name, true); els.each(function(node) { var e = node.ancestor('.fitem', true); + var label = null, + id = null; if (e) { // Cope with differences between clean and boost themes. if (e.hasClass('fitem_fgroup')) { @@ -298,6 +300,22 @@ if (typeof M.form.dependencyManager === 'undefined') { e.setStyles({ display: (hidden) ? 'none' : '' }); + + // Hide/unhide the label as well. + id = node.get('id'); + if (id) { + label = Y.all('label[for="' + id + '"]'); + if (label) { + if (hidden) { + label.setAttribute('hidden', 'hidden'); + } else { + label.removeAttribute('hidden'); + } + label.setStyles({ + display: (hidden) ? 'none' : '' + }); + } + } } }); },