/** * FilterAndGroupAction form factory * @return Form */ public function createComponentFilter() { $form = new Form($this, 'filter'); $form->setMethod('get'); $form->setTranslator($this->getTranslator()); /** * InlineEdit part */ $inline_edit_container = $form->addContainer('inline_edit'); if ($this->inlineEdit instanceof InlineEdit) { $inline_edit_container->addSubmit('submit', 'ublaboo_datagrid.save'); $inline_edit_container->addSubmit('cancel', 'ublaboo_datagrid.cancel')->setValidationScope(FALSE); $this->inlineEdit->onControlAdd($inline_edit_container); } /** * InlineAdd part */ $inline_add_container = $form->addContainer('inline_add'); if ($this->inlineAdd instanceof InlineEdit) { $inline_add_container->addSubmit('submit', 'ublaboo_datagrid.save'); $inline_add_container->addSubmit('cancel', 'ublaboo_datagrid.cancel')->setValidationScope(FALSE)->setAttribute('data-datagrid-cancel-inline-add', TRUE); $this->inlineAdd->onControlAdd($inline_add_container); } /** * ItemDetail form part */ $items_detail_form = $this->getItemDetailForm(); if ($items_detail_form instanceof Nette\Forms\Container) { $form['items_detail_form'] = $items_detail_form; } /** * Filter part */ $filter_container = $form->addContainer('filter'); foreach ($this->filters as $filter) { $filter->addToFormContainer($filter_container); } /** * Group action part */ $group_action_container = $form->addContainer('group_action'); if ($this->hasGroupActions()) { $this->getGroupActionCollection()->addToFormContainer($group_action_container); } $form->setDefaults(['filter' => $this->filter]); $form->onSubmit[] = [$this, 'filterSucceeded']; return $form; }
/** * FilterAndGroupAction form factory * @return Form */ public function createComponentFilter() { $form = new Form($this, 'filter'); $form->setMethod(static::$form_method); $form->setTranslator($this->getTranslator()); /** * InlineEdit part */ $inline_edit_container = $form->addContainer('inline_edit'); if ($this->inlineEdit instanceof InlineEdit) { $inline_edit_container->addSubmit('submit', 'ublaboo_datagrid.save'); $inline_edit_container->addSubmit('cancel', 'ublaboo_datagrid.cancel')->setValidationScope(FALSE); $this->inlineEdit->onControlAdd($inline_edit_container); $this->inlineEdit->onControlAfterAdd($inline_edit_container); } /** * InlineAdd part */ $inline_add_container = $form->addContainer('inline_add'); if ($this->inlineAdd instanceof InlineEdit) { $inline_add_container->addSubmit('submit', 'ublaboo_datagrid.save'); $inline_add_container->addSubmit('cancel', 'ublaboo_datagrid.cancel')->setValidationScope(FALSE)->setAttribute('data-datagrid-cancel-inline-add', TRUE); $this->inlineAdd->onControlAdd($inline_add_container); $this->inlineAdd->onControlAfterAdd($inline_add_container); } /** * ItemDetail form part */ $items_detail_form = $this->getItemDetailForm(); if ($items_detail_form instanceof Nette\Forms\Container) { $form['items_detail_form'] = $items_detail_form; } /** * Filter part */ $filter_container = $form->addContainer('filter'); foreach ($this->filters as $filter) { $filter->addToFormContainer($filter_container); } if (!$this->hasAutoSubmit()) { $filter_container['submit'] = $this->getFilterSubmitButton(); } /** * Group action part */ $group_action_container = $form->addContainer('group_action'); if ($this->hasGroupActions()) { $this->getGroupActionCollection()->addToFormContainer($group_action_container); } if (!$form->isSubmitted()) { $this->setFilterContainerDefaults($form['filter'], $this->filter); } /** * Per page part */ $form->addSelect('per_page', '', $this->getItemsPerPageList())->setTranslator(NULL); if (!$form->isSubmitted()) { $form['per_page']->setValue($this->getPerPage()); } $form->addSubmit('per_page_submit', 'ublaboo_datagrid.per_page_submit'); $form->onSubmit[] = [$this, 'filterSucceeded']; }