src/View/ActionHandler/AbstractPropertyVisibilityHandler.php
private function matchParentInvisibleProperty(
        ConditionInterface $visibleCondition,
        DataDefinition\Definition\Properties\PropertyInterface $property,
        DataDefinition\Palette\PropertyInterface $legendProperty,
        array &$invisibleProperties,
        EnvironmentInterface $environment
    ) {
        $propertiesDefinition = $environment->getDataDefinition()->getPropertiesDefinition();

        foreach ($visibleCondition->getConditions() as $condition) {
            if ($condition instanceof ConditionChainInterface) {
                $this->matchParentInvisibleProperty(
                    $condition,
                    $property,
                    $legendProperty,
                    $invisibleProperties,
                    $environment
                );
            }

            if (!\method_exists($condition, 'getPropertyName')
                || ($property->getName() !== $condition->getPropertyName())
            ) {
                continue;
            }

            if (isset($invisibleProperties[$legendProperty->getName()])
                || !$propertiesDefinition->hasProperty($legendProperty->getName() . '.dummy')
            ) {
                continue;
            }


            $invisibleProperties[$legendProperty->getName()]
                = $propertiesDefinition->getProperty($legendProperty->getName() . '.dummy');
        }
    }
private function matchParentInvisibleProperty(
        ConditionInterface $visibleCondition,
        DataDefinition\Definition\Properties\PropertyInterface $property,
        DataDefinition\Palette\PropertyInterface $legendProperty,
        array &$invisibleProperties,
        EnvironmentInterface $environment
    ) {
        $propertiesDefinition = $environment->getDataDefinition()->getPropertiesDefinition();

        foreach ($visibleCondition->getConditions() as $condition) {
            if ($condition instanceof ConditionChainInterface) {
                $this->matchParentInvisibleProperty(
                    $condition,
                    $property,
                    $legendProperty,
                    $invisibleProperties,
                    $environment
                );
            }

            if (!\method_exists($condition, 'getPropertyName')
                || ($property->getName() !== $condition->getPropertyName())
            ) {
                continue;
            }

            if (isset($invisibleProperties[$legendProperty->getName()])
                || !$propertiesDefinition->hasProperty($legendProperty->getName() . '.dummy')
            ) {
                continue;
            }


            $invisibleProperties[$legendProperty->getName()]
                = $propertiesDefinition->getProperty($legendProperty->getName() . '.dummy');
        }
    }
private function matchParentInvisibleProperty ( ConditionInterface $ visibleCondition , DataDefinition \ Definition \ Properties \ PropertyInterface $ property , DataDefinition \ Palette \ PropertyInterface $ legendProperty , array & $ invisibleProperties , EnvironmentInterface $ environment ) { $ propertiesDefinition = $ environment -> getDataDefinition ( ) -> getPropertiesDefinition ( ) ; foreach ( $ visibleCondition -> getConditions ( ) as $ condition ) { if ( $ condition instanceof ConditionChainInterface ) { $ this -> matchParentInvisibleProperty ( $ condition , $ property , $ legendProperty , $ invisibleProperties , $ environment ) ; } if ( ! \ method_exists ( $ condition , 'getPropertyName' ) || ( $ property -> getName ( ) !== $ condition -> getPropertyName ( ) ) ) { continue ; } if ( isset ( $ invisibleProperties [ $ legendProperty -> getName ( ) ] ) || ! $ propertiesDefinition -> hasProperty ( $ legendProperty -> getName ( ) . '.dummy' ) ) { continue ; } $ invisibleProperties [ $ legendProperty -> getName ( ) ] = $ propertiesDefinition -> getProperty ( $ legendProperty -> getName ( ) . '.dummy' ) ; } }
Match the parent invisible property.

@param ConditionInterface                                     $visibleCondition    The visible condition.
@param DataDefinition\Definition\Properties\PropertyInterface $property            The property.
@param DataDefinition\Palette\PropertyInterface               $legendProperty      The legend property.
@param array                                                  $invisibleProperties The invisible properties.
@param EnvironmentInterface                                   $environment         The environment.

@return void
Match the parent invisible property .