Source of file GridFieldSortButton.php
Size: 2,005 Bytes - Last Modified: 2021-12-23T10:39:09+00:00
/var/www/docs.ssmods.com/process/src/code/forms/gridfield/GridFieldSortButton.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | <?php /** * Adds an "SortList" button to the bottom or top of a GridField. * * @package framework * @subpackage fields-gridfield */ class GridFieldSortButton implements GridField_HTMLProvider, GridField_ActionProvider, GridField_URLHandler { /** * @param string $targetFragment The HTML fragment to write the button into * @param array $sortListColumns The columns to include in the sortList view */ public function __construct($targetFragment = "before") { $this->targetFragment = $targetFragment; } /** * Place the sortList button in a <p> tag below the field * * @param GridField * * @return array */ public function getHTMLFragments($gridField) { $button = new GridField_FormAction( $gridField, 'sortlist', _t('TableListField.SortList', 'Sort List'), 'sortList', null ); $button->setAttribute('data-icon', 'grid_sortList'); $button->setAttribute('data-icon', 'grid_sortList'); $button->addExtraClass('no-ajax'); return array( $this->targetFragment => '<span class="grid-sortList-button">'.DataObjectSorterController::popup_link("MyClassNameGoesHere", "", "", "sort") .'</span>', ); } /** * SortList is an action button. * * @param GridField * * @return array */ public function getActions($gridField) { return array('sortlist'); } /** * Handle the sortList action. * * @param GridField * @param string * @param array * @param array */ public function handleAction(GridField $gridField, $actionName, $arguments, $data) { } /** * SortList is accessible via the url * * @param GridField * @return array */ public function getURLHandlers($gridField) { return array( 'sortList' => 'handleSortList', ); } } |