public static createSelectBox ( array $items, array $optionAttrs = NULL, $selected = NULL ) : Nette\Utils\Html | ||
$items | array | |
$optionAttrs | array | |
return | Nette\Utils\Html |
/** * Generates control's HTML element. * @return Nette\Utils\Html */ public function getControl() { $items = array(); foreach ($this->options as $key => $value) { $items[is_array($value) ? $this->translate($key) : $key] = $this->translate($value); } return Nette\Forms\Helpers::createSelectBox($items, array('selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL))->addAttributes(parent::getControl()->attrs)->multiple(TRUE); }
/** * Just remove translations from each option * @return Nette\Forms\Helpers */ public function getControl() { $items = $this->prompt === FALSE ? array() : array('' => $this->translate($this->prompt)); foreach ($this->options as $key => $value) { $items[is_array($value) ? $key : $key] = $value; } return Nette\Forms\Helpers::createSelectBox($items, array('selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL))->addAttributes(BaseControl::getControl()->attrs); }
/** * Generates control's HTML element. * * @return Html */ public function getControl() { $items = $this->getPrompt() === FALSE ? [] : ['' => $this->translate($this->getPrompt())]; foreach ($this->options as $key => $value) { $items[$this->translate && is_array($value) ? $this->translate($key) : $key] = $this->translate ? $this->translate($value) : $value; } return Helpers::createSelectBox($items, ['selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL])->addAttributes(BaseControl::getControl()->attrs); }
/** * Generates control's HTML element. * @return Nette\Utils\Html */ public function getControl() { $items = $this->prompt === FALSE ? [] : ['' => $this->translate($this->prompt)]; foreach ($this->options as $key => $value) { $items[is_array($value) ? $this->translate($key) : $key] = $this->translate($value); } return Nette\Forms\Helpers::createSelectBox($items, ['selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL])->addAttributes(parent::getControl()->attrs); }
/** * Generates control's HTML element. * @return Html */ public function getControl() { $items = $this->getPrompt() === FALSE ? array() : array('' => $this->translate($this->getPrompt())); $translated = array(); foreach ($this->items as $key => $value) { $translated[$key] = $this->translate($value); } asort($translated); return Helpers::createSelectBox($items + $translated, array('selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL))->addAttributes(parent::getControl()->attrs); }
/** * Generates control's HTML element. */ public function getControl() { parent::getControl(); $days = array('' => 'Den') + array_combine(range(1, 31), range(1, 31)); $yearsRange = range(date('Y'), date('Y') - 110); $years = array('' => 'Rok') + array_combine($yearsRange, $yearsRange); $monthsCzech = \JiriNapravnik\Common\DateCzech::getCzechMonthsNominativNumericKeys(); $months = array('' => 'Měsíc'); for ($i = 1; $i <= 12; $i++) { $months[$i] = $monthsCzech[$i]; } $name = $this->getHtmlName(); return Html::el()->add(Helpers::createSelectBox($days, array('selected?' => $this->day))->name($name . '[day]')->class('form-control day'))->add(Helpers::createSelectBox($months, array('selected?' => $this->month))->name($name . '[month]')->class('form-control month'))->add(Helpers::createSelectBox($years, array('selected?' => $this->year))->name($name . '[year]')->class('form-control year')); }
public function getControl() { $this->setOption('rendered', TRUE); $name = $this->getHtmlName(); $day = Html::el('input')->type('number')->title('Den')->placeholder('den')->min(1)->max(31)->name($name . '[day]')->value($this->day); $month = Helpers::createSelectBox($this->months, array('selected?' => $this->month === NULL ? '' : $this->month))->name($name . '[month]')->title('Měsíc'); $year = Html::el('input')->type('number')->min(0)->max(3000)->title('Rok')->placeholder('rok')->name($name . '[year]')->value($this->year); if ($this->bootstrap) { $day->addClass('form-control'); $month->addClass('form-control'); $year->addClass('form-control'); } return Html::el('div')->class('date_input')->setHtml($day . $month . $year); }
public function getControl() { $this->setOption('rendered', TRUE); $name = $this->getHtmlName(); $day = Html::el('input')->type('number')->title('Den')->placeholder('den')->min(1)->max(31)->name($name . '[day]')->value($this->day); $month = Helpers::createSelectBox($this->months, array('selected?' => $this->month === NULL ? '' : $this->month))->name($name . '[month]')->title('Měsíc'); $year = Html::el('input')->type('number')->min(0)->max(3000)->title('Rok')->placeholder('rok')->name($name . '[year]')->value($this->year); $hour = Html::el('input')->type('number')->min(0)->max(23)->title('Hodina')->placeholder('h')->name($name . '[hour]')->value($this->hour); $minute = Html::el('input')->type('number')->min(0)->max(59)->title('Minuta')->placeholder('m')->name($name . '[minute]')->value($this->minute); if ($this->bootstrap) { $day->addClass('form-control'); $month->addClass('form-control'); $year->addClass('form-control'); $hour->addClass('form-control'); $minute->addClass('form-control'); return Html::el('div')->class('row date_input')->setHtml(Html::el('div')->class('col-sm-1')->setHtml($day) . Html::el('div')->class('col-sm-2')->setHtml($month) . Html::el('div')->class('col-sm-2')->setHtml($year) . Html::el('div')->class('col-sm-1')->setHtml($hour) . Html::el('div')->class('col-sm-1')->setHtml($minute)); } else { return Html::el('div')->class('date_input')->setHtml($day . $month . $year . $hour . $minute); } }
/** * @return Nette\Utils\Html */ public function getStateControlPart() { $countryCode = $this->countryCode ?: $this->defaultCountryCode; $items = $this->getStates($countryCode); $disabled = $this->isDisabled(); // Disabled ? if ($items === NULL && count($items) === 0) { $disabled = TRUE; } if ($items === NULL) { $items = array(NULL => 'without state'); } /** @var Nette\Utils\Html $states */ $states = Nette\Forms\Helpers::createSelectBox($items, array('selected?' => $this->stateCode)); // Set attributes $states->addAttributes(parent::getControl()->attrs); $states->attrs['id'] = $this->getHtmlId() . '_states'; $states->attrs['name'] = Nette\Forms\Helpers::generateHtmlName($this->lookupPath('Nette\\Forms\\Form') . '_states'); if ($disabled) { $states->attrs['disabled'] = TRUE; } return $states; }
public function getControl() { $this->setOption('rendered', TRUE); $name = $this->getHtmlName(); if ($this->options['mode'] === 'full') { return Html::el('input', array('type' => 'text', 'name' => $name, 'class' => array(isset($this->options['class']) ? $this->options['class'] : 'selectize' . ' form-control text')))->data('entity', $this->entity)->data('options', $this->options)->value($this->selectizeBack); } elseif ($this->options['mode'] === 'select') { $this->entity = $this->prompt === FALSE ? $this->entity : self::arrayUnshiftAssoc($this->entity, '', $this->translate($this->prompt)); return Nette\Forms\Helpers::createSelectBox($this->entity, ['selected?' => $this->selectizeBack])->name($name)->data('entity', $this->entity)->data('options', $this->options)->class(isset($this->options['class']) ? $this->options['class'] : 'selectize' . ' form-control'); } }
/** * Generates control's HTML element. * @return Nette\Utils\Html */ public function getControl() { $items = $this->prompt === FALSE ? array() : array('' => $this->translate($this->prompt)); foreach ($this->items as $key => $value) { if (is_array($value)) { $key = $this->translate($key); foreach ($value as $k => $v) { $items[$key][$k] = $this->translate($v); } } else { $items[$key] = $this->translate($value); } } return Nette\Forms\Helpers::createSelectBox($items, array('selected?' => $this->value, 'disabled:' => is_array($this->disabled) ? $this->disabled : NULL))->addAttributes(parent::getControl()->attrs); }
/** * @param string $key * * @return Utils\Html * * @throws Exceptions\InvalidArgumentException */ public function getControlPart($key) { $name = $this->getHtmlName(); // Try to get translator $translator = $this->getTranslator(); if ($translator instanceof Localization\ITranslator && method_exists($translator, 'getLocale') === TRUE) { try { $locale = $translator->getLocale(); } catch (\Exception $ex) { $locale = 'en_US'; } } else { $locale = 'en_US'; } if ($key === static::FIELD_COUNTRY) { $control = Forms\Helpers::createSelectBox(array_reduce($this->getAllowedCountries(), function (array $result, $row) use($locale) { $countryName = FormPhone\Locale\Locale::getDisplayRegion(FormPhone\Locale\Locale::countryCodeToLocale($row), $locale); $result[$row] = Utils\Html::el('option')->setText('+' . $this->phoneUtils->getCountryCodeForCountry($row) . ' (' . $countryName . ')')->addAttributes(['data-mask' => preg_replace('/[0-9]/', '9', $this->phoneUtils->getExampleNationalNumber($row))])->value($row); return $result; }, []), ['selected?' => $this->country === NULL ? $this->defaultCountry : $this->country]); $control->addAttributes(['name' => $name . '[' . static::FIELD_COUNTRY . ']', 'id' => $this->getHtmlId() . '-' . static::FIELD_COUNTRY, 'data-ipub-forms-phone' => '', 'data-settings' => json_encode(['field' => $name . '[' . static::FIELD_NUMBER . ']'])]); if ($this->isDisabled()) { $control->disabled(TRUE); } return $control; } else { if ($key === static::FIELD_NUMBER) { $input = parent::getControl(); $control = Utils\Html::el('input'); $control->addAttributes(['name' => $name . '[' . static::FIELD_NUMBER . ']', 'id' => $this->getHtmlId() . '-' . static::FIELD_NUMBER, 'value' => $this->number, 'type' => 'text', 'data-nette-empty-value' => Utils\Strings::trim($this->translate($this->emptyValue)), 'data-nette-rules' => $input->{'data-nette-rules'}]); if ($this->isDisabled()) { $control->disabled(TRUE); } return $control; } } throw new Exceptions\InvalidArgumentException('Part ' . $key . ' does not exist.'); }
/** * Generates control's HTML element. */ public function getControl() { $name = $this->getHtmlName(); return Html::el('input', ['name' => $name . '[day]', 'id' => $this->getHtmlId(), 'value' => $this->day, 'type' => 'number', 'min' => 1, 'max' => 31, 'data-nette-rules' => Helpers::exportRules($this->getRules()) ?: NULL]) . Helpers::createSelectBox([1 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ['selected?' => $this->month])->name($name . '[month]') . Html::el('input', ['name' => $name . '[year]', 'value' => $this->year, 'type' => 'number']); }
/** * @return Html */ public function getControl() { $controlName = $this->getHtmlName(); $date = $this->value ? $this->value : new \DateTime(); $html = Html::el(); $input = Html::el('input')->name($controlName . '[js]')->id($this->getHtmlId()); $input->class[] = 'js'; $input->class[] = 'date-input'; $input->data('format', $this->getJsFormat()); $input->data('settings', $this->settings); $input->value($date->format($this->getJsFormat())); $html->add($input); $container = Html::el('div'); $container->class[] = 'no-js date-input-container'; foreach ($this->fields as $name) { $rangeValues = $this->range[$name]; $range = range($rangeValues[0], $rangeValues[1]); $fieldName = isset($rangeValues[2]) ? $rangeValues[2] : $name; $date = getdate($this->value ? $this->value->getTimestamp() : time()); $input = Nette\Forms\Helpers::createSelectBox(array_combine($range, $range), array('selected?' => $date[$fieldName]))->name($controlName . '[' . $name . ']'); $input->class[] = 'no-js'; $container->add($input . $this->getSeparator($name)); } $html->add($container); return $html; }
/** * @param string * @return \Nette\Utils\Html * @throws \Nette\InvalidArgumentException */ public function getControlPart($key) { $name = $this->getHtmlName(); if ($key === static::NAME_PREFIX) { $control = \Nette\Forms\Helpers::createSelectBox(array_combine(static::$phonePrefixes, static::$phonePrefixes), array('selected?' => $this->prefix === NULL ? $this->defaultPrefix : $this->prefix)); $control->name($name . '[' . static::NAME_PREFIX . ']')->id($this->getHtmlId()); if ($this->disabled) { $control->disabled($this->disabled); } return $control; } elseif ($key === static::NAME_NUMBER) { $control = \Nette\Utils\Html::el('input')->name($name . '[' . static::NAME_NUMBER . ']'); $control->value($this->number); $control->type('text'); if ($this->disabled) { $control->disabled($this->disabled); } return $control; } throw new \Nette\InvalidArgumentException('Part ' . $key . ' does not exist'); }
public function getControl() { $this->setOption('rendered', TRUE); $name = $this->getHtmlName(); $el = clone $this->control; if (array_key_exists('ajaxURL', $this->options)) { $this->entity = $this->findActiveValue($this->entity, $this->options['valueField'], $this->selectizeBack); } if ($this->options['mode'] === 'full') { return $el->addAttributes(['id' => $this->getHtmlId(), 'type' => 'text', 'name' => $name, 'class' => array(isset($this->options['class']) ? $this->options['class'] : 'selectize' . ' form-control text'), 'data-entity' => $this->entity, 'data-options' => $this->options, 'value' => $this->selectizeBack]); } elseif ($this->options['mode'] === 'select') { $this->entity = $this->prompt === FALSE ? $this->entity : self::arrayUnshiftAssoc($this->entity, '', $this->translate($this->prompt)); return Nette\Forms\Helpers::createSelectBox($this->entity, ['selected?' => $this->selectizeBack])->id($this->getHtmlId())->name($name)->data('entity', $this->entity)->data('options', $this->options)->class(isset($this->options['class']) ? $this->options['class'] : 'selectize' . ' form-control')->addAttributes(parent::getControl()->attrs); } }