protected function getRulesConfig()
    {
        if (!$this->getFormParent()) {
            return null;
        }
        $formFields = $this->getFormParent()->Fields();

        $config = GridFieldConfig::create()
            ->addComponents(
                new GridFieldButtonRow('before'),
                new GridFieldToolbarHeader(),
                new GridFieldAddNewInlineButton(),
                new GridFieldDeleteAction(),
                $columns = new GridFieldEditableColumns()
            );

        $columns->setDisplayFields(array(
            'ConditionFieldID' => function ($record, $column, $grid) use ($formFields) {
                return DropdownField::create($column, false, $formFields->map('ID', 'Title'));
            },
            'ConditionOption' => function ($record, $column, $grid) {
                $options = EmailRecipientCondition::config()->condition_options;
                return DropdownField::create($column, false, $options);
            },
            'ConditionValue' => function ($record, $column, $grid) {
                return TextField::create($column);
            }
        ));

        return $config;
    }
protected function getRulesConfig()
    {
        if (!$this->getFormParent()) {
            return null;
        }
        $formFields = $this->getFormParent()->Fields();

        $config = GridFieldConfig::create()
            ->addComponents(
                new GridFieldButtonRow('before'),
                new GridFieldToolbarHeader(),
                new GridFieldAddNewInlineButton(),
                new GridFieldDeleteAction(),
                $columns = new GridFieldEditableColumns()
            );

        $columns->setDisplayFields(array(
            'ConditionFieldID' => function ($record, $column, $grid) use ($formFields) {
                return DropdownField::create($column, false, $formFields->map('ID', 'Title'));
            },
            'ConditionOption' => function ($record, $column, $grid) {
                $options = EmailRecipientCondition::config()->condition_options;
                return DropdownField::create($column, false, $options);
            },
            'ConditionValue' => function ($record, $column, $grid) {
                return TextField::create($column);
            }
        ));

        return $config;
    }
protected function getRulesConfig ( ) { if ( ! $ this -> getFormParent ( ) ) { return null ; } $ formFields = $ this -> getFormParent ( ) -> Fields ( ) ; $ config = GridFieldConfig :: create ( ) -> addComponents ( new GridFieldButtonRow ( 'before' ) , new GridFieldToolbarHeader ( ) , new GridFieldAddNewInlineButton ( ) , new GridFieldDeleteAction ( ) , $ columns = new GridFieldEditableColumns ( ) ) ; $ columns -> setDisplayFields ( array ( 'ConditionFieldID' => function ( $ record , $ column , $ grid ) use ( $ formFields ) { return DropdownField :: create ( $ column , false , $ formFields -> map ( 'ID' , 'Title' ) ) ; } , 'ConditionOption' => function ( $ record , $ column , $ grid ) { $ options = EmailRecipientCondition :: config ( ) -> condition_options ; return DropdownField :: create ( $ column , false , $ options ) ; } , 'ConditionValue' => function ( $ record , $ column , $ grid ) { return TextField :: create ( $ column ) ; } ) ) ; return $ config ; }
Generate a gridfield config for editing filter rules

@return GridFieldConfig
Generate a gridfield config for editing filter rules