Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
 /**
  * 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'];
 }