From 24a61420cf764118f17d8732584cd27bcda54f98 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Mon, 10 Feb 2025 16:57:52 +0100 Subject: [PATCH] mvc/view: Create layout_partials/base_apply_button to centralize design of the standard Apply button (#8297) * mvc/view: Create layout_partials/base_apply_button to centralize design of the standard Apply button * dhcp/kea: Example implementation of layout_partials/base_apply_button * mvc/view: Change edit_alert_id to global static default, add data-grid-reload and dynamic ids to base_apply_button partial --- plist | 1 + .../OPNsense/Base/ControllerBase.php | 2 +- .../OPNsense/Kea/DhcpController.php | 6 ++--- .../mvc/app/views/OPNsense/Kea/dhcpv4.volt | 18 +-------------- .../layout_partials/base_apply_button.volt | 23 +++++++++++++++++++ 5 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt diff --git a/plist b/plist index 49a78e819..ea95df76b 100644 --- a/plist +++ b/plist @@ -975,6 +975,7 @@ /usr/local/opnsense/mvc/app/views/OPNsense/Unbound/stats.volt /usr/local/opnsense/mvc/app/views/OPNsense/Wireguard/diagnostics.volt /usr/local/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt +/usr/local/opnsense/mvc/app/views/layout_partials/base_apply_button.volt /usr/local/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt /usr/local/opnsense/mvc/app/views/layout_partials/base_dialog.volt /usr/local/opnsense/mvc/app/views/layout_partials/base_dialog_processing.volt diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php b/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php index eaa9b2282..dac3d5f05 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php @@ -290,7 +290,7 @@ class ControllerBase extends ControllerRoot return [ 'table_id' => $basename, 'edit_dialog_id' => 'dialog_' . $basename, - 'edit_alert_id' => $edit_alert_id == null ? 'change_message_' . $basename : $edit_alert_id, + 'edit_alert_id' => $edit_alert_id == null ? 'change_message_base_form' : $edit_alert_id, 'fields' => array_values($all_data) ]; } diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/DhcpController.php b/src/opnsense/mvc/app/controllers/OPNsense/Kea/DhcpController.php index 1994cfc9a..11efda035 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/DhcpController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/DhcpController.php @@ -52,13 +52,13 @@ class DhcpController extends \OPNsense\Base\IndexController $this->view->formGeneralSettings = $this->getForm("generalSettings4"); $this->view->formDialogSubnet = $this->getForm("dialogSubnet4"); - $this->view->formGridSubnet = $this->getFormGrid("dialogSubnet4", null, "keaChangeMessage"); + $this->view->formGridSubnet = $this->getFormGrid("dialogSubnet4"); $this->view->formDialogReservation = $this->getForm("dialogReservation4"); - $this->view->formGridReservation = $this->getFormGrid("dialogReservation4", null, "keaChangeMessage"); + $this->view->formGridReservation = $this->getFormGrid("dialogReservation4"); $this->view->formDialogPeer = $this->getForm("dialogPeer4"); - $this->view->formGridPeer = $this->getFormGrid("dialogPeer4", null, "keaChangeMessage"); + $this->view->formGridPeer = $this->getFormGrid("dialogPeer4"); } public function leases4Action() diff --git a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt index dc4aac5c2..04ba4ee89 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt @@ -158,23 +158,7 @@ - - - - - - {{ lang._('After changing settings, please remember to apply them.') }} - - - - - - +{{ partial('layout_partials/base_apply_button', {'data_endpoint': '/api/kea/service/reconfigure'}) }} {{ partial("layout_partials/base_dialog",['fields':formDialogSubnet,'id':formGridSubnet['edit_dialog_id'],'label':lang._('Edit Subnet')])}} {{ partial("layout_partials/base_dialog",['fields':formDialogReservation,'id':formGridReservation['edit_dialog_id'],'label':lang._('Edit Reservation')])}} 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 new file mode 100644 index 000000000..a8cfaf067 --- /dev/null +++ b/src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt @@ -0,0 +1,23 @@ + + + + + + {{ lang._('After changing settings, please remember to apply them.') }} + + + + + + +