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

GridFieldFilterHeader alters the GridField with some filtering fields in the header of each column.

Traits

A class that can be instantiated or replaced via DI

Properties

protected deprecated bool $throwExceptionOnBadDataType

See setThrowExceptionOnBadDataType()

protected SearchContext $searchContext
protected Form $searchForm
protected string|null $searchField

The name of the default search field

Methods

public static 
create(mixed ...$args)

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

public static 
singleton(string $class = null)

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

public
array
getURLHandlers(GridField $gridField)

No description

public
setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType) deprecated

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

public
getThrowExceptionOnBadDataType() deprecated

See setThrowExceptionOnBadDataType()

public
string|null
getSearchField()

No description

public
setSearchField(string $field)

No description

protected
bool
checkDataType(SS_List $dataList)

Check that this dataList is of the right data type.

public
array
getActions(GridField $gridField)

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

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

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

public
void
initDefaultState(GridState_Data $data)

Initialise the default state in the given GridState_Data

public
getManipulatedData(GridField $gridField, SS_List $dataList)

No description

public
bool
canFilterAnyColumns(GridField $gridField)

Returns whether this GridField has any columns to filter on at all

public
string
getPlaceHolderText()

Get the text to be used as a placeholder in the search field.

public
setPlaceHolderText(string $placeHolderText)

Set the text to be used as a placeholder in the search field.

public
getSearchContext(GridField $gridField)

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

public
setSearchContext(SearchContext $context)

Sets a specific SearchContext instance for this component to use, instead of the default context provided by the ModelClass.

public
string
getSearchFieldSchema(GridField $gridField)

Returns the search field schema for the component

public
Form|null
getSearchForm(GridField $gridField)

Returns the search form for the component

public
getSearchFormSchema(GridField $gridField)

Returns the search form schema for the component

public
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)

No description

Parameters

GridField $gridField

Return Value

array

setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType) deprecated

deprecated 5.2.0 Will be removed without equivalent functionality

Determine what happens when this component is used with a list that isn't 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 GridFieldConfig subclasses set this to false for flexibility.

Parameters

bool $throwExceptionOnBadDataType

getThrowExceptionOnBadDataType() deprecated

deprecated 5.2.0 Will be removed without equivalent functionality

See setThrowExceptionOnBadDataType()

string|null getSearchField()

No description

Return Value

string|null

GridFieldFilterHeader setSearchField(string $field)

No description

Parameters

string $field

Return Value

GridFieldFilterHeader

protected bool checkDataType(SS_List $dataList)

Check that this dataList is of the right data type.

Returns false if it's a bad data type, and if appropriate, throws an exception.

Parameters

SS_List $dataList

Return Value

bool

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

No description

Parameters

GridField $gridField
SS_List $dataList

Return Value

SS_List

bool canFilterAnyColumns(GridField $gridField)

Returns whether this GridField has any columns to filter on at all

Parameters

GridField $gridField

Return Value

bool

string getPlaceHolderText()

Get the text to be used as a placeholder in the search field.

If blank, the placeholder will be generated based on the class held in the GridField.

Return Value

string

GridFieldFilterHeader setPlaceHolderText(string $placeHolderText)

Set the text to be used as a placeholder in the search field.

If blank, this text will be generated based on the class held in the GridField.

Parameters

string $placeHolderText

Return Value

GridFieldFilterHeader

SearchContext getSearchContext(GridField $gridField)

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

Parameters

GridField $gridField

Return Value

SearchContext

GridFieldFilterHeader setSearchContext(SearchContext $context)

Sets a specific SearchContext instance for this component to use, instead of the default context provided by the ModelClass.

Parameters

SearchContext $context

Return Value

GridFieldFilterHeader

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