diff --git a/modules/backend/formwidgets/Repeater.php b/modules/backend/formwidgets/Repeater.php index dd9bf7b82..efec0c143 100644 --- a/modules/backend/formwidgets/Repeater.php +++ b/modules/backend/formwidgets/Repeater.php @@ -91,6 +91,10 @@ class Repeater extends FormWidgetBase 'maxItems', ]); + if ($this->formField->disabled) { + $this->previewMode = true; + } + $fieldName = $this->formField->getName(false); $this->indexInputName = self::INDEX_PREFIX.$fieldName; $this->groupInputName = self::GROUP_PREFIX.$fieldName; @@ -116,6 +120,12 @@ class Repeater extends FormWidgetBase */ public function prepareVars() { + if ($this->previewMode) { + foreach ($this->formWidgets as $widget) { + $widget->previewMode = true; + } + } + $this->vars['indexInputName'] = $this->indexInputName; $this->vars['groupInputName'] = $this->groupInputName; diff --git a/modules/backend/formwidgets/repeater/assets/js/repeater.js b/modules/backend/formwidgets/repeater/assets/js/repeater.js index d1fda348e..3c23f8530 100644 --- a/modules/backend/formwidgets/repeater/assets/js/repeater.js +++ b/modules/backend/formwidgets/repeater/assets/js/repeater.js @@ -1,6 +1,6 @@ /* * Field Repeater plugin - * + * * Data attributes: * - data-control="fieldrepeater" - enables the plugin on an element * - data-option="value" - an option with a value @@ -193,6 +193,11 @@ var $textInput = $('input[type=text]:first', $target) if ($textInput.length) { return $textInput.val() + } else { + var $disabledTextInput = $('.text-field > .form-control', $target) + if ($disabledTextInput.length) { + return $disabledTextInput.text() + } } return defaultText diff --git a/modules/backend/formwidgets/repeater/partials/_repeater.htm b/modules/backend/formwidgets/repeater/partials/_repeater.htm index 79cea1e78..aec9388e6 100644 --- a/modules/backend/formwidgets/repeater/partials/_repeater.htm +++ b/modules/backend/formwidgets/repeater/partials/_repeater.htm @@ -13,24 +13,26 @@ -
- - - - - - - - - -
+ previewMode): ?> +
+ + + + + + + + + +
+