Source of file GridFieldDetailFormWithSearch_ItemRequest.php
Size: 1,498 Bytes - Last Modified: 2021-12-23T10:31:56+00:00
/var/www/docs.ssmods.com/process/src/code/GridFieldDetailFormWithSearch_ItemRequest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?php /** * Grid Field Detail Form that has a search sidebar always visible. Note that we just need to modify the item_request, * not the whole GridFieldDetailForm. Usage: class MyDataObjectAdmin extends ModelAdmin { static $managed_models = array( 'MyDataObject' ); public function getEditForm($id = null, $fields = null) { $form = parent::getEditForm($id, $fields); $config = $form->Fields()->first()->getConfig(); $config->getComponentByType('GridFieldDetailForm') ->setItemRequestClass('GridFieldDetailFormWithSearch_ItemRequest') ->setTemplate('GridFieldDetailFormWithSearch'); return $form; } } */ class GridFieldDetailFormWithSearch_ItemRequest extends GridFieldDetailForm_ItemRequest { private static $allowed_actions = array( 'edit', 'view', 'ItemEditForm' ); public function edit($request) { $controller = $this->getToplevelController(); $form = $this->ItemEditForm($this->gridField, $request); $return = $this->customise(array( 'Backlink' => $controller->hasMethod('Backlink') ? $controller->Backlink() : $controller->Link(), 'ItemEditForm' => $form, 'SearchForm' => $controller->SearchForm() ))->renderWith($this->template); if($request->isAjax()) { return $return; } else { return $controller->customise(array( 'Content' => $return, )); } } public function ItemEditForm() { $form = parent::ItemEditForm(); $form->setAttribute('data-pjax-fragment', 'CurrentForm '); return $form; } } |