class GridFieldFilterHeader extends AbstractGridFieldComponent implements GridField_URLHandler, GridField_HTMLProvider, GridField_DataManipulator, GridField_ActionProvider, GridField_StateProvider (View source)

GridFieldFilterHeader alters the {@link GridField} with some filtering fields in the header of each column.

Traits

A class that can be instantiated or replaced via DI

Properties

bool $useLegacyFilterHeader

Indicates that this component should revert to displaying it's legacy table header style rather than the react driven search box

static private bool $force_legacy

Forces all filter components to revert to displaying the legacy table header style rather than the react driven search box

Methods

static Injectable
create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

static Injectable
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

array
getURLHandlers(GridField $gridField)

No description

__construct(bool $useLegacy = false, callable $updateSearchContext = null, callable $updateSearchForm = null)

No description

setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType)

Determine what happens when this component is used with a list that isn't {@link SS_Filterable}.

getThrowExceptionOnBadDataType()

See {@link setThrowExceptionOnBadDataType()}

array
getActions(GridField $gridField)

If the GridField has a filterable datalist, return an array of actions

handleAction(GridField $gridField, string $actionName, array $arguments, array $data)

If the GridField has a filterable datalist, return an array of actions

void
initDefaultState(GridState_Data $data)

Initialise the default state in the given GridState_Data

getManipulatedData(GridField $gridField, SS_List $dataList)

No description

bool
canFilterAnyColumns(GridField $gridField)

Returns whether this {@link GridField} has any columns to filter on at all

getSearchContext(GridField $gridField)

Generate a search context based on the model class of the of the GridField

string
getSearchFieldSchema(GridField $gridField)

Returns the search field schema for the component

Form|null
getSearchForm(GridField $gridField)

Returns the search form for the component

getSearchFormSchema(GridField $gridField)

Returns the search form schema for the component

ArrayList|null
getLegacyFilterHeader(GridField $gridField) deprecated

Generate fields for the legacy filter header row

array
getHTMLFragments(GridField $gridField)

Either returns the legacy filter header or the search button and field

Details

static Injectable create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

array ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

array getURLHandlers(GridField $gridField)

Parameters

GridField $gridField

Return Value

array

__construct(bool $useLegacy = false, callable $updateSearchContext = null, callable $updateSearchForm = null)

Parameters

bool $useLegacy

This will be removed in 5.0

callable $updateSearchContext

This will be removed in 5.0

callable $updateSearchForm

This will be removed in 5.0

setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType)

Determine what happens when this component is used with a list that isn't {@link SS_Filterable}.

  • true: An exception is thrown
    • false: This component will be ignored - it won't make any changes to the GridField.

By default, this is set to true so that it's clearer what's happening, but the predefined {@link GridFieldConfig} subclasses set this to false for flexibility.

Parameters

bool $throwExceptionOnBadDataType

getThrowExceptionOnBadDataType()

See {@link setThrowExceptionOnBadDataType()}

array getActions(GridField $gridField)

If the GridField has a filterable datalist, return an array of actions

Parameters

GridField $gridField

Return Value

array

with action identifier strings.

handleAction(GridField $gridField, string $actionName, array $arguments, array $data)

If the GridField has a filterable datalist, return an array of actions

Parameters

GridField $gridField
string $actionName

Action identifier, see {@link getActions()}.

array $arguments

Arguments relevant for this

array $data

All form data

void initDefaultState(GridState_Data $data)

Initialise the default state in the given GridState_Data

We recommend that you call $data->initDefaults() to do this.

Parameters

GridState_Data $data

The top-level state object

Return Value

void

SS_List getManipulatedData(GridField $gridField, SS_List $dataList)

Parameters

GridField $gridField
SS_List $dataList

Return Value

SS_List

bool canFilterAnyColumns(GridField $gridField)

Returns whether this {@link GridField} has any columns to filter on at all

Parameters

GridField $gridField

Return Value

bool

SearchContext getSearchContext(GridField $gridField)

Generate a search context based on the model class of the of the GridField

Parameters

GridField $gridField

Return Value

SearchContext

string getSearchFieldSchema(GridField $gridField)

Returns the search field schema for the component

Parameters

GridField $gridField

Return Value

string

Form|null getSearchForm(GridField $gridField)

Returns the search form for the component

Parameters

GridField $gridField

Return Value

Form|null

HTTPResponse getSearchFormSchema(GridField $gridField)

Returns the search form schema for the component

Parameters

GridField $gridField

Return Value

HTTPResponse

ArrayList|null getLegacyFilterHeader(GridField $gridField) deprecated

deprecated 5.0

Generate fields for the legacy filter header row

Parameters

GridField $gridField

Return Value

ArrayList|null

array getHTMLFragments(GridField $gridField)

Either returns the legacy filter header or the search button and field

Parameters

GridField $gridField

Return Value

array