diff --git a/src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt b/src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt index f4180f9d35..3ad5d000e4 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt @@ -684,7 +684,7 @@ - +
diff --git a/src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt b/src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt index 7c2ad26ce5..9ba3d52f32 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt @@ -602,6 +602,7 @@ $el.SimpleFileUploadDlg({ onAction: function () { $("#{{formGridFilterRule['table_id']}}").bootgrid('reload'); + $(document).trigger("settings-changed"); } }); }, @@ -654,7 +655,7 @@ function(data, status) { if (data.status === "ok") { $("#{{ formGridFilterRule['table_id'] }}").bootgrid("reload"); - $("#change_message_base_form").stop(true, false).slideDown(1000).delay(2000).slideUp(2000); + $(document).trigger("settings-changed"); } }, function(xhr, textStatus, errorThrown) { @@ -681,7 +682,7 @@ function(data) { if (data.status === "ok") { $("#{{ formGridFilterRule['table_id'] }}").bootgrid("reload"); - $("#change_message_base_form").stop(true, false).slideDown(1000).delay(2000).slideUp(2000); + $(document).trigger("settings-changed"); } }, function(xhr, textStatus, errorThrown) { diff --git a/src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt b/src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt index 5524027f71..63fd2d5e3d 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt @@ -360,7 +360,7 @@ function(data, status) { if (data.status === "ok") { $("#{{ formGridRule['table_id'] }}").bootgrid("reload"); - $("#change_message_base_form").stop(true, false).slideDown(1000).delay(2000).slideUp(2000); + $(document).trigger("settings-changed"); } }, function(xhr, textStatus, errorThrown) { @@ -387,7 +387,7 @@ function(data) { if (data.status === "ok") { $("#{{ formGridRule['table_id'] }}").bootgrid("reload"); - $("#change_message_base_form").stop(true, false).slideDown(1000).delay(2000).slideUp(2000); + $(document).trigger("settings-changed"); } }, function(xhr, textStatus, errorThrown) { diff --git a/src/opnsense/mvc/app/views/OPNsense/Unbound/acl.volt b/src/opnsense/mvc/app/views/OPNsense/Unbound/acl.volt index fa5d86485d..460357be81 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Unbound/acl.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Unbound/acl.volt @@ -32,12 +32,7 @@ $( document ).ready(function() { $("#unbound\\.acls\\.default_action").change(function() { saveFormToEndpoint(url="/api/unbound/settings/set", formid="frm_AclSettings", function() { - /* Mimic bootgrid behaviour to nudge users towards reconfiguring */ - $("#AclChangeMessage").slideDown(1000, function() { - setTimeout(function() { - $("#AclChangeMessage").slideUp(2000); - }, 2000); - }); + $(document).trigger("settings-changed"); }); }); }); diff --git a/src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt b/src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt index 4888233370..485695cbe3 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt @@ -38,7 +38,9 @@ }); $(".forwarding-enabled").click(function() { - saveFormToEndpoint(url="/api/unbound/settings/set", formid='frm_ForwardingSettings'); + saveFormToEndpoint(url="/api/unbound/settings/set", formid='frm_ForwardingSettings', function () { + $(document).trigger("settings-changed"); + }); let checked = ($(this).is(':checked')); toggleNameservers(checked); diff --git a/src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt b/src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt index 42be3e7071..8679b82bad 100644 --- a/src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt +++ b/src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt @@ -1,23 +1,19 @@ -
-
-
-
- - -

+ type="button"> + +
diff --git a/src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt b/src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt index bf15015fd0..e5140ba9f4 100644 --- a/src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt +++ b/src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt @@ -1,5 +1,5 @@ {# requires getFormGrid() input to render #} -
{{ lang._('ID') }}
+ {% for field in fields %} diff --git a/src/opnsense/www/js/opnsense_bootgrid.js b/src/opnsense/www/js/opnsense_bootgrid.js index c864d57253..3d5b254ca1 100644 --- a/src/opnsense/www/js/opnsense_bootgrid.js +++ b/src/opnsense/www/js/opnsense_bootgrid.js @@ -2041,6 +2041,9 @@ class UIBootgrid { * animate alert when saved */ showSaveAlert() { + $(document).trigger("settings-changed"); + + // XXX backwards compatibility let editAlert = this.$compatElement.attr('data-editAlert'); if (editAlert !== undefined) { $("#" + editAlert).slideDown(1000, function () { diff --git a/src/opnsense/www/js/opnsense_ui.js b/src/opnsense/www/js/opnsense_ui.js index 4406291f48..64ca5f5b82 100644 --- a/src/opnsense/www/js/opnsense_ui.js +++ b/src/opnsense/www/js/opnsense_ui.js @@ -647,6 +647,10 @@ $.fn.SimpleActionButton = function (params) { let hideCheckTimeout; + $(document).on("settings-changed", function () { + $('#change_message_base_form').show().parent('.alert').addClass('alert-info').removeClass('content-box'); + }); + this_button.on('click', function () { const icon = this_button.find('.reload_progress'); @@ -684,6 +688,8 @@ $.fn.SimpleActionButton = function (params) { setIcon(icon, 'fa fa-check fa-spinner fa-pulse', 'fa fa-spinner fa-pulse'); } else { setIcon(icon, 'fa fa-spinner fa-pulse', 'fa fa-check'); + $("#change_message_base_form").hide(); + this_button.parent('.alert').addClass('content-box').removeClass('alert-info'); hideCheckTimeout = setTimeout(function () { setIcon(icon, 'fa fa-check', '');