* GridFieldConfig_RelationEditor::create() * ->getComponentByType('GridFieldAddExistingAutocompleter') * ->setSearchFields('MyField'); * */ class GridFieldConfig_RelationEditor extends GridFieldConfig { /** * @param int $itemsPerPage - How many items per page should show up */ public function __construct($itemsPerPage = null) { parent::__construct(); $this->addComponent(new GridFieldButtonRow('before')); $this->addComponent(new GridFieldAddNewButton('buttons-before-left')); $this->addComponent(new GridFieldAddExistingAutocompleter('buttons-before-right')); $this->addComponent(new GridFieldToolbarHeader()); $this->addComponent($sort = new GridFieldSortableHeader()); $this->addComponent($filter = new GridFieldFilterHeader()); $this->addComponent(new GridFieldDataColumns()); $this->addComponent(new GridFieldEditButton()); $this->addComponent(new GridFieldDeleteAction(true)); $this->addComponent(new GridFieldPageCount('toolbar-header-right')); $this->addComponent($pagination = new GridFieldPaginator($itemsPerPage)); $this->addComponent(new GridFieldDetailForm()); $sort->setThrowExceptionOnBadDataType(false); $filter->setThrowExceptionOnBadDataType(false); $pagination->setThrowExceptionOnBadDataType(false); $this->extend('updateConfig'); } }