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

Methods

static Injectable
create(mixed ...$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

setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType)

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

getThrowExceptionOnBadDataType()

See {@link setThrowExceptionOnBadDataType()}

string|null
getSearchField()

No description

setSearchField(string $field)

No description

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

array
getHTMLFragments(GridField $gridField)

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

Details

static Injectable create(mixed ...$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

mixed ...$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

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()}

string|null getSearchField()

Return Value

string|null

GridFieldFilterHeader setSearchField(string $field)

Parameters

string $field

Return Value

GridFieldFilterHeader

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

array getHTMLFragments(GridField $gridField)

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

Parameters

GridField $gridField

Return Value

array