mirror of
https://github.com/processwire/processwire.git
synced 2025-08-09 00:06:55 +02:00
Fix issue processwire/processwire-issues#441
This commit is contained in:
@@ -526,6 +526,7 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
|
||||
$container = $this->wire(new InputfieldWrapper());
|
||||
$containers = array();
|
||||
$inFieldset = false;
|
||||
$inHiddenFieldset = false;
|
||||
$inModalGroup = '';
|
||||
|
||||
// for multiple named fields
|
||||
@@ -568,6 +569,14 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if($inHiddenFieldset) {
|
||||
// we are in a modal group that should be skipped since all the inputs require the modal
|
||||
if($field->name == $inHiddenFieldset . "_END") {
|
||||
$inHiddenFieldset = false;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if($fieldName) {
|
||||
// limit to specific field name
|
||||
@@ -597,6 +606,10 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
|
||||
// field requires modal
|
||||
$inModalGroup = $field->name;
|
||||
|
||||
} else if($field->type instanceof FieldtypeFieldsetOpen && $field->collapsed == Inputfield::collapsedHidden) {
|
||||
$inHiddenFieldset = $field->name;
|
||||
continue;
|
||||
|
||||
} else if(!$flat && $field->type instanceof FieldtypeFieldsetOpen) {
|
||||
// new fieldset in non-flat mode
|
||||
if($field->type instanceof FieldtypeFieldsetClose) {
|
||||
|
@@ -552,7 +552,7 @@ class InputfieldWrapper extends Inputfield implements \Countable, \IteratorAggre
|
||||
|
||||
if($collapsed && $collapsed !== Inputfield::collapsedNever) {
|
||||
$isEmpty = $inputfield->isEmpty();
|
||||
if(($isEmpty && $inputfield instanceof InputfieldWrapper) ||
|
||||
if(($isEmpty && $inputfield instanceof InputfieldWrapper && $collapsed !== Inputfield::collapsedPopulated) ||
|
||||
$collapsed === Inputfield::collapsedYes ||
|
||||
$collapsed === Inputfield::collapsedYesLocked ||
|
||||
$collapsed === true ||
|
||||
|
Reference in New Issue
Block a user