From 494faa154ccbc996277bcb0468e5897dc1df6808 Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Fri, 23 Jan 2026 15:31:38 -0500 Subject: [PATCH 1/3] remove input type requirement --- modules/backend/formwidgets/repeater/assets/js/repeater.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/backend/formwidgets/repeater/assets/js/repeater.js b/modules/backend/formwidgets/repeater/assets/js/repeater.js index eebd51e56..bf5f20ed1 100644 --- a/modules/backend/formwidgets/repeater/assets/js/repeater.js +++ b/modules/backend/formwidgets/repeater/assets/js/repeater.js @@ -330,7 +330,7 @@ $target = $item } - var $textInput = $('input[type=text]:first, select:first, ul:first', $target).first() + var $textInput = $('input:first, select:first, ul:first', $target).first() if ($textInput.length) { switch($textInput.prop("tagName")) { case 'SELECT': From 7570dc1741c65c06430352197842e26b2261fa87 Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Fri, 23 Jan 2026 15:46:04 -0500 Subject: [PATCH 2/3] preserve auto detection when no titleFrom config present --- .../formwidgets/repeater/assets/js/repeater.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/backend/formwidgets/repeater/assets/js/repeater.js b/modules/backend/formwidgets/repeater/assets/js/repeater.js index bf5f20ed1..f4b06f02d 100644 --- a/modules/backend/formwidgets/repeater/assets/js/repeater.js +++ b/modules/backend/formwidgets/repeater/assets/js/repeater.js @@ -314,7 +314,8 @@ Repeater.prototype.getCollapseTitle = function($item) { var $target, defaultText = '', - explicitText = $item.data('collapse-title') + explicitText = $item.data('collapse-title'), + selector = 'input[type=text], select:first, ul:first' if (explicitText) { return explicitText @@ -322,15 +323,15 @@ if (this.options.titleFrom) { $target = $('[data-field-name="'+this.options.titleFrom+'"]', $item) - if (!$target.length) { - $target = $item + if ($target.length) { + selector = 'input, select:first, ul:first' } } - else { + if (!$target.length) { $target = $item } - var $textInput = $('input:first, select:first, ul:first', $target).first() + var $textInput = $(selector, $target).first() if ($textInput.length) { switch($textInput.prop("tagName")) { case 'SELECT': From ea8507d249a381d326ec9bc93eaa1f4cfb0b80fa Mon Sep 17 00:00:00 2001 From: Marc Jauvin Date: Fri, 23 Jan 2026 15:57:24 -0500 Subject: [PATCH 3/3] target needs to be set --- modules/backend/formwidgets/repeater/assets/js/repeater.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/backend/formwidgets/repeater/assets/js/repeater.js b/modules/backend/formwidgets/repeater/assets/js/repeater.js index f4b06f02d..83e501ca8 100644 --- a/modules/backend/formwidgets/repeater/assets/js/repeater.js +++ b/modules/backend/formwidgets/repeater/assets/js/repeater.js @@ -327,7 +327,7 @@ selector = 'input, select:first, ul:first' } } - if (!$target.length) { + if (!$target || !$target.length) { $target = $item }