FluidTYPO3\Flux\Form\Container\Sheet::getFields PHP Method

getFields() public method

public getFields ( ) : FluidTYPO3\Flux\Form\FieldInterface[]
return FluidTYPO3\Flux\Form\FieldInterface[]
    public function getFields()
    {
        $fields = array();
        foreach ($this->children as $child) {
            if (TRUE === $child->getEnabled()) {
                $isSectionOrContainer = TRUE === $child instanceof Section || TRUE === $child instanceof Container;
                $isFieldEmulatorAndHasChildren = $isSectionOrContainer && TRUE === $child->hasChildren();
                $isActualField = TRUE === $child instanceof FieldInterface;
                $isNotInsideObject = FALSE === $child->isChildOfType('Object');
                $isNotInsideContainer = FALSE === $child->isChildOfType('Container');
                if (TRUE === $isFieldEmulatorAndHasChildren || TRUE === $isActualField && TRUE === $isNotInsideObject && TRUE === $isNotInsideContainer) {
                    $name = $child->getName();
                    $fields[$name] = $child;
                }
            }
        }
        return $fields;
    }