diff --git a/modules/backend/formwidgets/Repeater.php b/modules/backend/formwidgets/Repeater.php index 788725ab4..2981a770a 100644 --- a/modules/backend/formwidgets/Repeater.php +++ b/modules/backend/formwidgets/Repeater.php @@ -31,6 +31,11 @@ class Repeater extends FormWidgetBase */ public $sortable = false; + /** + * @var string Field name to use for the title of collapsed items + */ + public $titleFrom = false; + /** * @var int Maximum repeated items allowable. */ @@ -88,6 +93,7 @@ class Repeater extends FormWidgetBase 'form', 'prompt', 'sortable', + 'titleFrom', 'maxItems', ]); @@ -125,7 +131,7 @@ class Repeater extends FormWidgetBase if (!self::$onAddItemCalled) { $this->processExistingItems(); } - + if ($this->previewMode) { foreach ($this->formWidgets as $widget) { $widget->previewMode = true; @@ -137,6 +143,7 @@ class Repeater extends FormWidgetBase $this->vars['prompt'] = $this->prompt; $this->vars['formWidgets'] = $this->formWidgets; + $this->vars['titleFrom'] = $this->titleFrom; $this->vars['maxItems'] = $this->maxItems; $this->vars['useGroups'] = $this->useGroups; diff --git a/modules/backend/formwidgets/repeater/assets/js/repeater.js b/modules/backend/formwidgets/repeater/assets/js/repeater.js index 649abd0d6..8e17827e5 100644 --- a/modules/backend/formwidgets/repeater/assets/js/repeater.js +++ b/modules/backend/formwidgets/repeater/assets/js/repeater.js @@ -181,7 +181,7 @@ } if (this.options.titleFrom) { - $target = $('[data-field-name="'+this.options.titleFrom+'"]') + $target = $('[data-field-name="'+this.options.titleFrom+'"]', $item) if (!$target.length) { $target = $item } diff --git a/modules/backend/formwidgets/repeater/partials/_repeater.htm b/modules/backend/formwidgets/repeater/partials/_repeater.htm index aec9388e6..5cdfb0f06 100644 --- a/modules/backend/formwidgets/repeater/partials/_repeater.htm +++ b/modules/backend/formwidgets/repeater/partials/_repeater.htm @@ -1,5 +1,6 @@