From a864d6a4a166bbcbb9a6cb85b936d25198234fb3 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Wed, 2 Nov 2016 06:26:39 -0400 Subject: [PATCH] Fix processwire/processwire-issues#67 where Inputfield::collapsedBlank behavior only applied to default language in multi-language fields --- wire/core/InputfieldWrapper.php | 1 + wire/modules/LanguageSupport/LanguageSupport.module | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/wire/core/InputfieldWrapper.php b/wire/core/InputfieldWrapper.php index 7dd7d6b1..6fc6de1a 100644 --- a/wire/core/InputfieldWrapper.php +++ b/wire/core/InputfieldWrapper.php @@ -409,6 +409,7 @@ class InputfieldWrapper extends Inputfield implements \Countable, \IteratorAggre $ffOut = $this->renderInputfield($inputfield, $renderValueMode); if(!strlen($ffOut)) continue; + $collapsed = (int) $inputfield->getSetting('collapsed'); // retrieve again after render $entityEncodeText = $inputfield->getSetting('entityEncodeText') === false ? false : true; $errorsOut = ''; diff --git a/wire/modules/LanguageSupport/LanguageSupport.module b/wire/modules/LanguageSupport/LanguageSupport.module index 5ae64196..0856f4f8 100644 --- a/wire/modules/LanguageSupport/LanguageSupport.module +++ b/wire/modules/LanguageSupport/LanguageSupport.module @@ -419,7 +419,7 @@ class LanguageSupport extends WireData implements Module, ConfigurableModule { $id = $inputfield->attr('id'); $value = $inputfield->attr('value'); $required = $inputfield->required; - + $collapsed = $inputfield->collapsed; $trackChanges = $inputfield->trackChanges(); $inputfield->setTrackChanges(false); if($this->languageTabs) $this->languageTabs->resetTabs(); @@ -445,6 +445,10 @@ class LanguageSupport extends WireData implements Module, ConfigurableModule { $o = $renderValueMode ? $inputfield->___renderValue() : $inputfield->___render(); } + if($collapsed == Inputfield::collapsedBlank && !$inputfield->isEmpty()) { + $inputfield->collapsed = Inputfield::collapsedNo; + } + $out .= $this->wrapInputfieldOutput($o, $newID, $language); if($this->languageTabs) $this->languageTabs->addTab($inputfield, $language); }