src/Forms/GridField/GridFieldFilterHeader.php
public function getSearchFieldSchema(GridField $gridField)
    {
        $schemaUrl = Controller::join_links($gridField->Link(), 'schema/SearchForm');

        $context = $this->getSearchContext($gridField);
        $params = $gridField->getRequest()->postVar('filter') ?: [];
        if (array_key_exists($gridField->getName(), $params)) {
            $params = $params[$gridField->getName()];
        }
        if ($context->getSearchParams()) {
            $params = array_merge($context->getSearchParams(), $params);
        }
        $context->setSearchParams($params);

        $searchField = $context->getSearchFields()->first();
        $searchField = $searchField && property_exists($searchField, 'name') ? $searchField->name : null;

        $name = $gridField->Title ?: singleton($gridField->getModelClass())->i18n_plural_name();

        // Prefix "Search__" onto the filters for the React component
        $filters = $context->getSearchParams();
        if (!$this->useLegacyFilterHeader && !empty($filters)) {
            $filters = array_combine(array_map(function ($key) {
                return 'Search__' . $key;
            }, array_keys($filters)), $filters);
        }

        $searchAction = GridField_FormAction::create($gridField, 'filter', false, 'filter', null);
        $clearAction = GridField_FormAction::create($gridField, 'reset', false, 'reset', null);
        $schema = [
            'formSchemaUrl' => $schemaUrl,
            'name' => $searchField,
            'placeholder' => _t(__CLASS__ . '.Search', 'Search "{name}"', ['name' => $name]),
            'filters' => $filters ?: new \stdClass, // stdClass maps to empty json object '{}'
            'gridfield' => $gridField->getName(),
            'searchAction' => $searchAction->getAttribute('name'),
            'searchActionState' => $searchAction->getAttribute('data-action-state'),
            'clearAction' => $clearAction->getAttribute('name'),
            'clearActionState' => $clearAction->getAttribute('data-action-state'),
        ];

        return json_encode($schema);
    }
public function getSearchFieldSchema(GridField $gridField)
    {
        $schemaUrl = Controller::join_links($gridField->Link(), 'schema/SearchForm');

        $context = $this->getSearchContext($gridField);
        $params = $gridField->getRequest()->postVar('filter') ?: [];
        if (array_key_exists($gridField->getName(), $params)) {
            $params = $params[$gridField->getName()];
        }
        if ($context->getSearchParams()) {
            $params = array_merge($context->getSearchParams(), $params);
        }
        $context->setSearchParams($params);

        $searchField = $context->getSearchFields()->first();
        $searchField = $searchField && property_exists($searchField, 'name') ? $searchField->name : null;

        $name = $gridField->Title ?: singleton($gridField->getModelClass())->i18n_plural_name();

        // Prefix "Search__" onto the filters for the React component
        $filters = $context->getSearchParams();
        if (!$this->useLegacyFilterHeader && !empty($filters)) {
            $filters = array_combine(array_map(function ($key) {
                return 'Search__' . $key;
            }, array_keys($filters)), $filters);
        }

        $searchAction = GridField_FormAction::create($gridField, 'filter', false, 'filter', null);
        $clearAction = GridField_FormAction::create($gridField, 'reset', false, 'reset', null);
        $schema = [
            'formSchemaUrl' => $schemaUrl,
            'name' => $searchField,
            'placeholder' => _t(__CLASS__ . '.Search', 'Search "{name}"', ['name' => $name]),
            'filters' => $filters ?: new \stdClass, // stdClass maps to empty json object '{}'
            'gridfield' => $gridField->getName(),
            'searchAction' => $searchAction->getAttribute('name'),
            'searchActionState' => $searchAction->getAttribute('data-action-state'),
            'clearAction' => $clearAction->getAttribute('name'),
            'clearActionState' => $clearAction->getAttribute('data-action-state'),
        ];

        return json_encode($schema);
    }
public function getSearchFieldSchema ( GridField $ gridField ) { $ schemaUrl = Controller :: join_links ( $ gridField -> Link ( ) , 'schema/SearchForm' ) ; $ context = $ this -> getSearchContext ( $ gridField ) ; $ params = $ gridField -> getRequest ( ) -> postVar ( 'filter' ) ? : [ ] ; if ( array_key_exists ( $ gridField -> getName ( ) , $ params ) ) { $ params = $ params [ $ gridField -> getName ( ) ] ; } if ( $ context -> getSearchParams ( ) ) { $ params = array_merge ( $ context -> getSearchParams ( ) , $ params ) ; } $ context -> setSearchParams ( $ params ) ; $ searchField = $ context -> getSearchFields ( ) -> first ( ) ; $ searchField = $ searchField && property_exists ( $ searchField , 'name' ) ? $ searchField -> name : null ; $ name = $ gridField -> Title ? : singleton ( $ gridField -> getModelClass ( ) ) -> i18n_plural_name ( ) ; // Prefix "Search__" onto the filters for the React component $ filters = $ context -> getSearchParams ( ) ; if ( ! $ this -> useLegacyFilterHeader && ! empty ( $ filters ) ) { $ filters = array_combine ( array_map ( function ( $ key ) { return 'Search__' . $ key ; } , array_keys ( $ filters ) ) , $ filters ) ; } $ searchAction = GridField_FormAction :: create ( $ gridField , 'filter' , false , 'filter' , null ) ; $ clearAction = GridField_FormAction :: create ( $ gridField , 'reset' , false , 'reset' , null ) ; $ schema = [ 'formSchemaUrl' => $ schemaUrl , 'name' => $ searchField , 'placeholder' => _t ( __CLASS__ . '.Search' , 'Search "{name}"' , [ 'name' => $ name ] ) , 'filters' => $ filters ? : new \ stdClass , // stdClass maps to empty json object '{}' 'gridfield' => $ gridField -> getName ( ) , 'searchAction' => $ searchAction -> getAttribute ( 'name' ) , 'searchActionState' => $ searchAction -> getAttribute ( 'data-action-state' ) , 'clearAction' => $ clearAction -> getAttribute ( 'name' ) , 'clearActionState' => $ clearAction -> getAttribute ( 'data-action-state' ) , ] ; return json_encode ( $ schema ) ; }
Returns the search field schema for the component

@param GridField $gridfield
@return string
Returns the search field schema for the component