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); }
/** * @param AngularValidator $validator The angular validator to get the validators from * @param Model $model The model instance * @param string $attribute The name of the attribute to get the ngMessages from * @return string The ngMessages HTML */ public static function ngMessages($validator, $model, $attribute) { $validators = $validator->validators(); $messages = $validator->prepareMessages($model, $attribute); $ngMessages = []; foreach ($messages as $name => $message) { $ngMessages[] = Html::tag('div', $message, ['ng-message' => isset($validators[$name]) ? $validators[$name] : $validator->directive]); } return implode("\n", $ngMessages); }
public function run() { return Html::tag($this->directive, null, $this->options); }