/** * @param Form $form */ public function onAdd(Form $form) { if ($form->isSubmit()) { $submitData = []; $nameIndex = []; foreach ($this->fields as $i => $field) { $name = substr($field->getName(), 0, -2); if (!in_array($name, $nameIndex)) { $nameIndex[] = $name; $userInput = self::request()->getArg($name); if ($this->container->first() instanceof Group) { foreach (self::request()->getArg($name) ?? [] as $index => $value) { $submitData[$index][$i] = $value; } } else { $submitData = $userInput; } } } $this->setValues($submitData); } }
/** * @return string */ private function renderClone() : string { // add columns viksiblity dropdown $this->options->add($this->getColumnDropdown()); if ($this->filtersForm) { $this->filtersForm->add(new Submit(self::trans('bootstrap.grid/filter'))); } // add pagination if ($this->rowCount) { $this->options->add($this->getRowsPerPageDropdown()); $pagination = new Pagination((int) ceil($this->rowCount / $this->getPageSize()), $this->argsCallback); $this->navbar->add($pagination, false); } return parent::render(); }