MDL-61061 formslib: make sure hideIf rules hide labels within groups

This commit is contained in:
Davo Smith
2018-01-09 08:48:23 +00:00
parent 5e430e98cb
commit 03a65d8916
+18
View File
@@ -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' : ''
});
}
}
}
});
},