diff --git a/src/opnsense/mvc/app/views/layout_partials/base_form.volt b/src/opnsense/mvc/app/views/layout_partials/base_form.volt
index 8445a09e5..4bc207eb8 100644
--- a/src/opnsense/mvc/app/views/layout_partials/base_form.volt
+++ b/src/opnsense/mvc/app/views/layout_partials/base_form.volt
@@ -85,10 +85,16 @@
- {{field['label']}} |
+
+
+ {% if field['collapsible']|default(false)=='true' %}{% else %}{% endif %}
+
+ {{field['label']}}
+
+ |
-
+
{#- endmacro #}
{% else %}
diff --git a/src/opnsense/mvc/app/views/layouts/default.volt b/src/opnsense/mvc/app/views/layouts/default.volt
index 79765d406..88ef2e2e7 100644
--- a/src/opnsense/mvc/app/views/layouts/default.volt
+++ b/src/opnsense/mvc/app/views/layouts/default.volt
@@ -112,6 +112,16 @@
});
}, 500);
+ $('.table').on('click', 'thead', function(event) {
+ let collapse = $(event.currentTarget).next();
+ let id = collapse.attr('class');
+ if (collapse != undefined && id !== undefined && id === "collapsible") {
+ let icon = $('> tr > td > div > i', event.currentTarget);
+ icon.toggleClass("fa-angle-down fa-angle-right");
+ $('> tr > td', collapse).fadeToggle(150);
+ }
+ });
+
// hook in live menu search
$.ajax("/api/core/menu/search/", {
type: 'get',