Commit ced7c43f by Qiang Xue

minor refactoring.

parent c20929a6
...@@ -46,15 +46,15 @@ use yii\helpers\Html; ...@@ -46,15 +46,15 @@ use yii\helpers\Html;
class TypeAhead extends Widget class TypeAhead extends Widget
{ {
/** /**
* @var \yii\base\Model the data model that this field is associated with * @var \yii\base\Model the data model that this widget is associated with
*/ */
public $model; public $model;
/** /**
* @var string the model attribute that this field is associated with * @var string the model attribute that this widget is associated with
*/ */
public $attribute; public $attribute;
/** /**
* @var string the input name. This must be set if [[form]] is not set. * @var string the input name. This must be set if [[model]] and [[attribute]] are not set.
*/ */
public $name; public $name;
/** /**
...@@ -68,7 +68,7 @@ class TypeAhead extends Widget ...@@ -68,7 +68,7 @@ class TypeAhead extends Widget
*/ */
public function run() public function run()
{ {
echo "\n" . $this->renderField() . "\n"; echo $this->renderField();
$this->registerPlugin('typeahead'); $this->registerPlugin('typeahead');
} }
...@@ -83,18 +83,11 @@ class TypeAhead extends Widget ...@@ -83,18 +83,11 @@ class TypeAhead extends Widget
public function renderField() public function renderField()
{ {
if ($this->model instanceof Model && $this->attribute !== null) { if ($this->model instanceof Model && $this->attribute !== null) {
$this->options['id'] = Html::getInputId($this->model, $this->attribute);
return Html::activeTextInput($this->model, $this->attribute, $this->options); return Html::activeTextInput($this->model, $this->attribute, $this->options);
} } elseif ($this->name !== null) {
if ($this->name === null) {
throw new InvalidConfigException(
get_class($this) . ' must specify "form", "model" and "attribute" or "name" property values'
);
}
return Html::textInput($this->name, $this->value, $this->options); return Html::textInput($this->name, $this->value, $this->options);
} else {
throw new InvalidConfigException('Either "name" or "model" and "attribute" properties must be specified.');
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment