MetaModels\DcGeneral\Events\Table\RenderSetting\Subscriber::addCondition PHP Method

addCondition() public method

Add a condition to a property.
public addCondition ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\PropertyInterface $property, ContaoCommunityAlliance\DcGeneral\DataDefinition\ConditionInterface $condition ) : void
$property ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\PropertyInterface The property.
$condition ContaoCommunityAlliance\DcGeneral\DataDefinition\ConditionInterface The condition to add.
return void
    public function addCondition($property, $condition)
    {
        $currentCondition = $property->getVisibleCondition();
        if (!$currentCondition instanceof ConditionChainInterface || $currentCondition->getConjunction() != ConditionChainInterface::OR_CONJUNCTION) {
            if ($currentCondition === null) {
                $currentCondition = new PropertyConditionChain(array($condition));
            } else {
                $currentCondition = new PropertyConditionChain(array($currentCondition, $condition));
            }
            $currentCondition->setConjunction(ConditionChainInterface::OR_CONJUNCTION);
            $property->setVisibleCondition($currentCondition);
        } else {
            $currentCondition->addCondition($condition);
        }
    }