* 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(GridFieldButtonRow::create('before')); $this->addComponent(GridFieldAddNewButton::create('buttons-before-left')); $this->addComponent(GridFieldAddExistingAutocompleter::create('buttons-before-right')); $this->addComponent(GridFieldToolbarHeader::create()); $this->addComponent($sort = GridFieldSortableHeader::create()); $this->addComponent($filter = GridFieldFilterHeader::create()); $this->addComponent(GridFieldDataColumns::create()); $this->addComponent(GridFieldEditButton::create()); $this->addComponent(GridFieldDeleteAction::create(true)); $this->addComponent(GridField_ActionMenu::create()); $this->addComponent(GridFieldPageCount::create('toolbar-header-right')); $this->addComponent($pagination = GridFieldPaginator::create($itemsPerPage)); $this->addComponent(GridFieldDetailForm::create()); $sort->setThrowExceptionOnBadDataType(false); $filter->setThrowExceptionOnBadDataType(false); $pagination->setThrowExceptionOnBadDataType(false); $this->extend('updateConfig'); } }