/** * Data grid form submit handler. * @param AppForm * @return void */ public function formSubmitHandler(AppForm $form) { $this->receivedSignal = 'submit'; // was form submitted? if ($form->isSubmitted()) { $values = $form->getValues(); if ($form['filterSubmit']->isSubmittedBy()) { $this->handleFilter($values['filters']); } elseif ($form['pageSubmit']->isSubmittedBy()) { $this->handlePage($values['page']); } elseif ($form['itemsSubmit']->isSubmittedBy()) { $this->handleItems($values['items']); } elseif ($form['resetSubmit']->isSubmittedBy()) { $this->handleReset(); } elseif ($form['operationSubmit']->isSubmittedBy()) { if (!is_array($this->onOperationSubmit)) { throw new InvalidStateException('No user defined handler for operations; assign valid callback to operations handler into DataGrid::$operationsHandler variable.'); } } else { throw new InvalidStateException("Unknown submit button."); } } if (!$this->presenter->isAjax()) { $this->presenter->redirect('this'); } }