public function run() { $this->options = ArrayHelper::merge(['md-selected-item' => $this->selectedItem, 'md-search-text-change' => $this->replaceSearchText($this->searchTextChange), 'md-search-text' => $this->searchText, 'md-selected-item-change' => $this->replaceSearchText($this->selectedItemChange), 'md-items' => $this->replaceSearchText($this->items), 'md-item-text' => $this->itemText, 'md-min-length' => $this->minLength, 'md-delay' => $this->delay, 'placeholder' => $this->placeholder, 'md-menu-class' => $this->menuClass], $this->options); $hiddenInput = Html::activeHiddenInput($this->model, $this->attribute); $itemTemplate = Html::tag('md-item-template', $this->itemTemplate); $notFound = Html::tag('md-not-found', $this->notFound); return $hiddenInput . Html::tag('md-autocomplete', $itemTemplate . $notFound, $this->options); }
public function run() { $this->inputOptions = ArrayHelper::merge(['placeholder' => !empty($this->placeholder) ? $this->placeholder : null, 'ng-model' => !empty($this->bufferModel) ? $this->bufferModel : null], $this->inputOptions); $chipTemplate = $this->chipTemplate ? Html::tag('md-chip-template', $this->chipTemplate) : ''; if ($this->model && $this->attribute) { echo Html::activeHiddenInput($this->model, $this->attribute); } $content = Html::textInput(null, null, $this->inputOptions); echo Html::tag('md-chips', $content . $chipTemplate, $this->options); }
public function run() { $this->options = ArrayHelper::merge(['md-autocomplete-snap' => !empty($this->autocompleteSnap) ? $this->autocompleteSnap : null, 'md-require-match' => !empty($this->requireMatch) ? $this->requireMatch : null], $this->options); $chipTemplate = $this->chipTemplate ? Html::tag('md-chip-template', $this->chipTemplate) : ''; $this->autocompleteConfig = ArrayHelper::merge(['items' => $this->items, 'itemText' => $this->itemText, 'itemTemplate' => $this->itemTemplate, 'placeholder' => $this->placeholder], $this->autocompleteConfig); if ($this->model && $this->attribute) { echo Html::activeHiddenInput($this->model, $this->attribute); } $content = MdAutocomplete::widget($this->autocompleteConfig); echo Html::tag('md-chips', $content . $chipTemplate, $this->options); }
/** * Renders a hidden input. * * Note that this method is provided for completeness. In most cases because you do not need * to validate a hidden input, you should not need to use this method. Instead, you should * use [[\yii\helpers\Html::activeHiddenInput()]]. * * This method will generate the "name" and "value" tag attributes automatically for the model attribute * unless they are explicitly specified in `$options`. * @param array $options the tag options in terms of name-value pairs. These will be rendered as * the attributes of the resulting tag. The values will be HTML-encoded using [[Html::encode()]]. * * If you set a custom `id` for the input element, you may need to adjust the [[$selectors]] accordingly. * * @return $this the field object itself */ public function hiddenInput($options = []) { $options = array_merge($this->inputOptions, $options); $this->adjustLabelFor($options); $this->parts['{input}'] = Html::activeHiddenInput($this->model, $this->attribute, $options); return $this; }