From 66fdae52be52ea67d59ade84bd7b20912bfb530a Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Sat, 6 Dec 2025 10:06:55 -0500 Subject: [PATCH 1/4] Use FormBuilder::select() method to build backend form dropdown --- .../widgets/form/partials/_field_dropdown.php | 47 +++++++------------ 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/modules/backend/widgets/form/partials/_field_dropdown.php b/modules/backend/widgets/form/partials/_field_dropdown.php index eecb194ed7..852975c0ca 100644 --- a/modules/backend/widgets/form/partials/_field_dropdown.php +++ b/modules/backend/widgets/form/partials/_field_dropdown.php @@ -1,8 +1,5 @@ options(); -$useSearch = $field->getConfig('showSearch', true); -$emptyOption = $field->getConfig('emptyOption', $field->placeholder); -$allowCustom = $field->getConfig('allowCustom', false); ?> @@ -11,30 +8,22 @@ value])) ? e(trans($fieldOptions[$field->value])) : '' ?> - - +getAttributes(htmlBuild:false); + $options['id'] = $field->getId(); + $options['class'] = 'form-control custom-select'; + if ($field->getConfig('showSearch', true)) { + $options['class'] .= ' select-no-search'; + } + if ($field->getConfig('allowCustom', false)) { + $options['class'] .= ' select-modifiable'; + } + if ($emptyOption = $field->getConfig('emptyOption', $field->placeholder)) { + $options['emptyOption'] = e(trans($emptyOption)); + } + if ($field->placeholder) { + $options['data-placeholder'] = e(trans($field->placeholder)); + } +?> + getName(), list:$fieldOptions, selected:$field->value, options:$options) ?> From 2a3cea62295afbb606daf5696087e2b031f032ac Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Sat, 6 Dec 2025 10:13:10 -0500 Subject: [PATCH 2/4] fix indent and define $emptyOption --- modules/backend/widgets/form/partials/_field_dropdown.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/backend/widgets/form/partials/_field_dropdown.php b/modules/backend/widgets/form/partials/_field_dropdown.php index 852975c0ca..2c9dbccca0 100644 --- a/modules/backend/widgets/form/partials/_field_dropdown.php +++ b/modules/backend/widgets/form/partials/_field_dropdown.php @@ -9,6 +9,7 @@ getConfig('emptyOption', $field->placeholder); $options = $field->getAttributes(htmlBuild:false); $options['id'] = $field->getId(); $options['class'] = 'form-control custom-select'; @@ -18,12 +19,12 @@ if ($field->getConfig('allowCustom', false)) { $options['class'] .= ' select-modifiable'; } - if ($emptyOption = $field->getConfig('emptyOption', $field->placeholder)) { + if ($emptyOption) { $options['emptyOption'] = e(trans($emptyOption)); } if ($field->placeholder) { $options['data-placeholder'] = e(trans($field->placeholder)); } -?> + ?> getName(), list:$fieldOptions, selected:$field->value, options:$options) ?> From a47888521ddb3c76267a68d86f8dffec5e17e302 Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Sat, 6 Dec 2025 10:21:36 -0500 Subject: [PATCH 3/4] fix inverted logic --- modules/backend/widgets/form/partials/_field_dropdown.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/backend/widgets/form/partials/_field_dropdown.php b/modules/backend/widgets/form/partials/_field_dropdown.php index 2c9dbccca0..1a1dd0097b 100644 --- a/modules/backend/widgets/form/partials/_field_dropdown.php +++ b/modules/backend/widgets/form/partials/_field_dropdown.php @@ -13,7 +13,7 @@ $options = $field->getAttributes(htmlBuild:false); $options['id'] = $field->getId(); $options['class'] = 'form-control custom-select'; - if ($field->getConfig('showSearch', true)) { + if ($field->getConfig('showSearch', true) === false) { $options['class'] .= ' select-no-search'; } if ($field->getConfig('allowCustom', false)) { From 6fcf1ba30c64b8c9060cf4d1a17005fee41e4d78 Mon Sep 17 00:00:00 2001 From: Luke Towers Date: Wed, 10 Dec 2025 14:23:36 -0600 Subject: [PATCH 4/4] Apply suggestion from @LukeTowers --- modules/backend/widgets/form/partials/_field_dropdown.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/backend/widgets/form/partials/_field_dropdown.php b/modules/backend/widgets/form/partials/_field_dropdown.php index 1a1dd0097b..8984319c7f 100644 --- a/modules/backend/widgets/form/partials/_field_dropdown.php +++ b/modules/backend/widgets/form/partials/_field_dropdown.php @@ -26,5 +26,10 @@ $options['data-placeholder'] = e(trans($field->placeholder)); } ?> - getName(), list:$fieldOptions, selected:$field->value, options:$options) ?> + getName(), + list: $fieldOptions, + selected: $field->value, + options: $options + ) ?>