/** * @param string $sortField - Field to sort the blocks on. If this is set, it will also make the * blocks sortable in the CMS (requires SortableGridField module!) * @param array $allowedBlocks - a set of allowed class names, optionally mapped to titles * @param int $itemsPerPage - How many items per page should show up */ public function __construct($sortField = null, $allowedBlocks = null, $itemsPerPage = null) { parent::__construct($itemsPerPage); // setup a bulk manager for block management $bulkManager = new GridFieldBulkManager(); // remove the default actions $toRemove = array('bulkedit', 'bulkEdit', 'delete', 'unlink', 'unLink'); $validActions = array_keys($bulkManager->getConfig('actions')); foreach ($toRemove as $key) { if (in_array($key, $validActions)) { $bulkManager->removeBulkAction($key); } } // add the actions in desired order $bulkManager->addBulkAction('publish', _t('PageBlock.PUBLISH', 'Publish'))->addBulkAction('unpublish', _t('PageBlock.UNPUBLISH', 'Unpublish'))->addBulkAction('bulkedit', _t('PageBlock.EDIT', 'Edit'), 'GridFieldBulkActionEditHandler', array('icon' => 'pencil'))->addBulkAction('versionedunlink', _t('PageBlock.UNLINK', 'Unlink'), 'GridFieldBulkActionVersionedUnlinkHandler', array('icon' => 'chain--minus'))->addBulkAction('versioneddelete', _t('PageBlock.DELETE', 'Delete'), 'GridFieldBulkActionVersionedDeleteHandler', array('isDestructive' => true, 'icon' => 'decline')); if ($sortField && class_exists('GridFieldOrderableRows')) { $this->addComponent(new GridFieldOrderableRows($sortField)); } // remove the delete action, since unlinking is not required $this->removeComponent($this->getComponentByType('GridFieldDeleteAction')); // remove the search field since it doesn't make sense (cannot add existing, unless "stealing" from another page) $this->removeComponentsByType('GridFieldAddExistingAutocompleter'); $this->addComponent(new GridFieldAddExistingSearchButton('buttons-before-right')); $this->addComponent(new GridFieldAddNewMultiClass(), 'GridFieldToolbarHeader'); $this->addComponent($bulkManager); $this->getComponentByType('GridFieldDataColumns')->setDisplayFields(array('Title' => _t('Block.TITLE', 'Title'), 'i18n_singular_name' => _t('Block.TYPE', 'Type'), 'PublishedStatus' => _t('Block.STATUS', 'Status'))); $this->setAllowedBlocks($allowedBlocks); }
public function __construct($itemsPerPage = null, $numberToLimitTo = null) { parent::__construct($itemsPerPage); $this->removeComponentsByType('GridFieldAddExistingAutocompleter'); $this->addComponent(new LRGridFieldAddExistingAutocompleter('buttons-before-right', null, $numberToLimitTo)); $this->removeComponentsByType('GridFieldDetailForm'); $this->addComponent(new LRGridFieldDetailForm('DetailForm', $numberToLimitTo)); }
/** * @param int $itemsPerPage - How many items per page should show up */ public function __construct($itemsPerPage = null) { parent::__construct(10000); $this->removeComponentsByType("GridFieldAddExistingAutocompleter"); //$this->removeComponentsByType("GridFieldButtonRow"); //$this->removeComponentsByType("GridFieldAddNewButton"); //$this->removeComponentsByType("GridFieldToolbarHeader"); //$this->removeComponentsByType("GridFieldSortableHeader"); //$this->removeComponentsByType("GridFieldFilterHeader"); //$this->removeComponentsByType("GridFieldDataColumns"); //$this->removeComponentsByType("GridFieldEditButton"); $this->removeComponentsByType("GridFieldDeleteAction"); //$this->removeComponentsByType("GridFieldPageCount"); //$this->removeComponentsByType("GridFieldPaginator"); //$this->removeComponentsByType("GridFieldDetailForm"); }
public function __construct($itemsPerPage = null, $sort = false) { parent::__construct($itemsPerPage); if ($sort) { if (class_exists('GridFieldSortableRows')) { $this->addComponent(new GridFieldSortableRows('SortOrder')); } else { if (class_exists('GridFieldOrderableRows')) { $this->addComponent(new GridFieldOrderableRows('SortOrder')); } } } if (class_exists('GridFieldBulkManager')) { $this->addComponent(new GridFieldBulkManager()); } }
/** * @param {int} $itemsPerPage How many items per page should show up */ public function __construct($itemsPerPage = null) { parent::__construct($itemsPerPage); $this->removeComponentsByType('GridFieldDetailForm')->addComponent(new FrontEndGridFieldDetailForm()); }
/** * @param int $itemsPerPage - How many items per page should show up */ public function __construct($itemsPerPage = null) { parent::__construct($itemsPerPage); $this->removeComponentsByType("GridFieldEditButton")->removeComponentsByType("GridFieldAddNewButton")->addComponent(new GridFieldAddNewButtonOriginalPage())->addComponent(new GridFieldEditButtonOriginalPage()); }
function __construct($itemsPerPage = null) { parent::__construct($itemsPerPage); $this->addComponent(new GridFieldUserColumns()); }