class GridFieldSortableHeader implements GridField_HTMLProvider, GridField_DataManipulator, GridField_ActionProvider, GridField_StateProvider (View source)

GridFieldSortableHeader adds column headers to a {@link GridField} that can also sort the columns.

Properties

array $fieldSorting

Methods

$this
setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType)

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

bool
getThrowExceptionOnBadDataType()

See {@link setThrowExceptionOnBadDataType()}

$this
setFieldSorting(array $sorting)

Specify sortings with fieldname as the key, and actual fieldname to sort as value.

array
getFieldSorting()

No description

array
getHTMLFragments(GridField $gridField)

Returns the header row providing titles with sort buttons

array
getActions(GridField $gridField)

No description

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

Handle an action on the given {@link GridField}.

getManipulatedData(GridField $gridField, SS_List $dataList)

Returns the manipulated (sorted) DataList. Field names will simply add an 'ORDER BY' clause, relation names will add appropriate joins to the {@link DataQuery} first.

void
initDefaultState(GridState_Data $data)

Initialise the default state in the given GridState_Data

Details

$this 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

Return Value

$this

bool getThrowExceptionOnBadDataType()

See {@link setThrowExceptionOnBadDataType()}

Return Value

bool

$this setFieldSorting(array $sorting)

Specify sortings with fieldname as the key, and actual fieldname to sort as value.

Example: array("MyCustomTitle"=>"Title", "MyCustomBooleanField" => "ActualBooleanField")

Parameters

array $sorting

Return Value

$this

array getFieldSorting()

Return Value

array

array getHTMLFragments(GridField $gridField)

Returns the header row providing titles with sort buttons

Parameters

GridField $gridField

Return Value

array

array getActions(GridField $gridField)

Parameters

GridField $gridField

Return Value

array

with action identifier strings.

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

Handle an action on the given {@link GridField}.

Calls ALL components for every action handled, so the component needs to ensure it only accepts actions it is actually supposed to handle.

Parameters

GridField $gridField
string $actionName

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

array $arguments

Arguments relevant for this

array $data

All form data

SS_List getManipulatedData(GridField $gridField, SS_List $dataList)

Returns the manipulated (sorted) DataList. Field names will simply add an 'ORDER BY' clause, relation names will add appropriate joins to the {@link DataQuery} first.

Parameters

GridField $gridField
SS_List $dataList

Return Value

SS_List

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 sate object

Return Value

void