1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-10 00:37:02 +02:00
This commit is contained in:
Ryan Cramer
2019-04-05 13:12:18 -04:00
parent e0b1c5c1bd
commit b122456eb2
2 changed files with 14 additions and 1 deletions

View File

@@ -526,6 +526,7 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
$container = $this->wire(new InputfieldWrapper()); $container = $this->wire(new InputfieldWrapper());
$containers = array(); $containers = array();
$inFieldset = false; $inFieldset = false;
$inHiddenFieldset = false;
$inModalGroup = ''; $inModalGroup = '';
// for multiple named fields // for multiple named fields
@@ -568,6 +569,14 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
continue; 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) { if($fieldName) {
// limit to specific field name // limit to specific field name
@@ -597,6 +606,10 @@ class Fieldgroup extends WireArray implements Saveable, Exportable, HasLookupIte
// field requires modal // field requires modal
$inModalGroup = $field->name; $inModalGroup = $field->name;
} else if($field->type instanceof FieldtypeFieldsetOpen && $field->collapsed == Inputfield::collapsedHidden) {
$inHiddenFieldset = $field->name;
continue;
} else if(!$flat && $field->type instanceof FieldtypeFieldsetOpen) { } else if(!$flat && $field->type instanceof FieldtypeFieldsetOpen) {
// new fieldset in non-flat mode // new fieldset in non-flat mode
if($field->type instanceof FieldtypeFieldsetClose) { if($field->type instanceof FieldtypeFieldsetClose) {

View File

@@ -552,7 +552,7 @@ class InputfieldWrapper extends Inputfield implements \Countable, \IteratorAggre
if($collapsed && $collapsed !== Inputfield::collapsedNever) { if($collapsed && $collapsed !== Inputfield::collapsedNever) {
$isEmpty = $inputfield->isEmpty(); $isEmpty = $inputfield->isEmpty();
if(($isEmpty && $inputfield instanceof InputfieldWrapper) || if(($isEmpty && $inputfield instanceof InputfieldWrapper && $collapsed !== Inputfield::collapsedPopulated) ||
$collapsed === Inputfield::collapsedYes || $collapsed === Inputfield::collapsedYes ||
$collapsed === Inputfield::collapsedYesLocked || $collapsed === Inputfield::collapsedYesLocked ||
$collapsed === true || $collapsed === true ||