From f2427d6173539cbc0da557f0a75aaf665f733dcc Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 30 Nov 2023 09:13:15 +0100 Subject: [PATCH] core / log views - fix regression in selectpicker. closes https://github.com/opnsense/core/issues/7045 It looks like calling 'toggle' instantly after creation looses the contens of the actual select. This commit adds a timeout and keeps track if picker was already created or not. --- .../app/views/OPNsense/Diagnostics/log.volt | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt b/src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt index dbb0d342d..893b29ca7 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt @@ -149,15 +149,15 @@ function switch_mode(value) { let select = $("#severity_filter"); - - // switch select mode and destroy selectpicker - select.prop("multiple", filter_exact); - select.selectpicker('destroy'); - - // remove title option. bug in bs-select. fixed in v1.13.18 https://github.com/snapappointments/bootstrap-select/issues/2491 - select.find('option.bs-title-option').remove(); - let header_val = filter_exact ? m_header : s_header; + + select.prop("multiple", filter_exact); + // switch select mode and destroy selectpicker + if (!select.hasClass('severity_filter_init')) { + select.addClass('severity_filter_init'); + } else { + select.selectpicker('destroy'); + } select.selectpicker({ header: header_val }); // attach event handler each time header created @@ -179,8 +179,11 @@ localStorage.setItem('log_severity_{{module}}_{{scope}}', new_val); } switch_mode(new_val); - // keep it open - select.selectpicker('toggle'); + // keep it open, but wait for selectpicker to be completed + setTimeout(function(){ + select.selectpicker('toggle'); + }, 100); + }); select.val(value);