public function __construct($label = NULL) { parent::__construct($label); $this->addRule(__CLASS__ . '::validateDate', 'Date is invalid.'); }
public function __construct($label = NULL, $text = NULL, $iconClass = NULL) { parent::__construct($label); $this->text = $text; $this->iconClass = $iconClass; }
/** * Component factory * * @see \Nette\ComponentModel\Container::createComponent() * @param string $name */ protected function createComponentForm($name) { // NOTE: signal-submit on form disregard component's state // because form is created directly by Presenter in signal handling phase // and this principle is used to detect submit signal if (!$this->wasRendered) { $this->receivedSignal = 'submit'; } $form = new \Lohini\Application\UI\Form($this, $name); $form->setAction(new \Nette\Application\UI\Link($this->presenter, $form->lookupPath('Nette\\Application\\UI\\Presenter') . self::NAME_SEPARATOR . 'submit!', [])); $form->getElementPrototype()->addClass('ajax'); $form->setTranslator($this->getTranslator()); \Nette\Forms\Controls\BaseControl::$idMask = 'frm-datagrid-' . $this->getUniqueId() . '-%s'; $form->onSuccess[] = [$this, 'formSubmitHandler']; $form->addSubmit('resetSubmit', 'Reset state'); $form->addSubmit('filterSubmit', 'Apply filters'); $form->addSelect('operations', 'Selected:', $this->operations); $form->addSubmit('operationSubmit', 'Perform')->onClick = $this->onOperationSubmit; // page input $form->addText('page', 'Page')->setAttribute('size', 1); $form['page']->setDefaultValue($this->page); $form->addSubmit('pageSubmit', 'Change page'); // items per page selector $form->addSelect('items', 'Items per page', array_combine($this->displayedItems, $this->displayedItems)); $form['items']->setDefaultValue(in_array($this->itemsPerPage, $this->displayedItems) ? $this->itemsPerPage : 'all'); $form->addSubmit('itemsSubmit', 'Change'); // generate filters FormControls if ($this->hasFilters()) { $defaults = []; $sub = $form->addContainer('filters'); foreach ($this->getFilters() as $filter) { $sub->addComponent($filter->getFormControl(), $filter->getName()); // NOTE: must be setted after is FormControl conntected to the form $defaults[$filter->getName()] = $filter->value; } $sub->setDefaults($defaults); } // checker if ($this->hasOperations()) { $sub = $form->addContainer('checker'); if ($this->isSignalReceiver('submit')) { // NOTE: important! $ds = clone $this->dataSource; $this->filterItems(); } foreach ($this->getRows() as $row) { $sub->addCheckbox($row[$this->keyName], $row[$this->keyName]); } if (isset($ds)) { $this->dataSource = $ds; } } $renderer = $form->getRenderer(); $renderer->wrappers['controls']['container'] = NULL; $renderer->wrappers['label']['container'] = NULL; $renderer->wrappers['control']['container'] = NULL; $form->setRenderer($renderer); return $form; }
public function __construct($label = NULL) { parent::__construct($label); $this->setRequired(FALSE)->addRule([__CLASS__, 'validateDate'], 'Date is invalid.'); }