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);
 }
예제 #2
0
 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;
 }