js: show collapsed form element count

This commit is contained in:
Thomas Gelf 2015-10-29 17:20:28 +01:00
parent 10d7c1c8a0
commit b1620f91cb

View File

@ -27,6 +27,7 @@
ev.stopPropagation(); ev.stopPropagation();
var $fieldset = $(ev.currentTarget).closest('fieldset'); var $fieldset = $(ev.currentTarget).closest('fieldset');
$fieldset.toggleClass('collapsed'); $fieldset.toggleClass('collapsed');
this.fixFieldsetInfo($fieldset);
this.openedFieldsets[$fieldset.attr('id')] = ! $fieldset.hasClass('collapsed'); this.openedFieldsets[$fieldset.attr('id')] = ! $fieldset.hasClass('collapsed');
}, },
@ -46,6 +47,7 @@
var $fieldset = $(fieldset); var $fieldset = $(fieldset);
if ($('.required', $fieldset).length == 0 && (! self.fieldsetWasOpened($fieldset))) { if ($('.required', $fieldset).length == 0 && (! self.fieldsetWasOpened($fieldset))) {
$fieldset.addClass('collapsed'); $fieldset.addClass('collapsed');
self.fixFieldsetInfo($fieldset);
} }
}); });
}, },
@ -56,6 +58,15 @@
return false; return false;
} }
return this.openedFieldsets[id]; return this.openedFieldsets[id];
},
fixFieldsetInfo: function($fieldset) {
if ($fieldset.hasClass('collapsed')) {
var cnt = $('dt', $fieldset).length;
$('legend', $fieldset).append($('<span class="element-count"> (' + cnt + ')</span>'));
} else {
$('legend span.element-count', $fieldset).remove();
}
} }
}; };