|
|
@ -143,6 +143,12 @@ class ActiveField extends Component |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public $parts = []; |
|
|
|
public $parts = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* @var string this property holds a custom input id if it was set using [[inputOptions]] or in one of the |
|
|
|
|
|
|
|
* `$options` parameters of the `input*` methods. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private $_inputId; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* PHP magic method that returns the string representation of this object. |
|
|
|
* PHP magic method that returns the string representation of this object. |
|
|
@ -169,11 +175,11 @@ class ActiveField extends Component |
|
|
|
* and use them as the content. |
|
|
|
* and use them as the content. |
|
|
|
* If a callable, it will be called to generate the content. The signature of the callable should be: |
|
|
|
* If a callable, it will be called to generate the content. The signature of the callable should be: |
|
|
|
* |
|
|
|
* |
|
|
|
* ~~~ |
|
|
|
* ```php |
|
|
|
* function ($field) { |
|
|
|
* function ($field) { |
|
|
|
* return $html; |
|
|
|
* return $html; |
|
|
|
* } |
|
|
|
* } |
|
|
|
* ~~~ |
|
|
|
* ``` |
|
|
|
* |
|
|
|
* |
|
|
|
* @return string the rendering result |
|
|
|
* @return string the rendering result |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -213,7 +219,7 @@ class ActiveField extends Component |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$inputID = Html::getInputId($this->model, $this->attribute); |
|
|
|
$inputID = $this->getInputId(); |
|
|
|
$attribute = Html::getAttributeName($this->attribute); |
|
|
|
$attribute = Html::getAttributeName($this->attribute); |
|
|
|
$options = $this->options; |
|
|
|
$options = $this->options; |
|
|
|
$class = isset($options['class']) ? [$options['class']] : []; |
|
|
|
$class = isset($options['class']) ? [$options['class']] : []; |
|
|
@ -673,7 +679,11 @@ class ActiveField extends Component |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
protected function adjustLabelFor($options) |
|
|
|
protected function adjustLabelFor($options) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (isset($options['id']) && !isset($this->labelOptions['for'])) { |
|
|
|
if (!isset($options['id'])) { |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
$this->_inputId = $options['id']; |
|
|
|
|
|
|
|
if (!isset($this->labelOptions['for'])) { |
|
|
|
$this->labelOptions['for'] = $options['id']; |
|
|
|
$this->labelOptions['for'] = $options['id']; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -712,7 +722,7 @@ class ActiveField extends Component |
|
|
|
|
|
|
|
|
|
|
|
$options = []; |
|
|
|
$options = []; |
|
|
|
|
|
|
|
|
|
|
|
$inputID = Html::getInputId($this->model, $this->attribute); |
|
|
|
$inputID = $this->getInputId(); |
|
|
|
$options['id'] = $inputID; |
|
|
|
$options['id'] = $inputID; |
|
|
|
$options['name'] = $this->attribute; |
|
|
|
$options['name'] = $this->attribute; |
|
|
|
|
|
|
|
|
|
|
@ -748,4 +758,14 @@ class ActiveField extends Component |
|
|
|
'error' => '.help-block', |
|
|
|
'error' => '.help-block', |
|
|
|
]); |
|
|
|
]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Returns the HTML `id` of the input element of this form field. |
|
|
|
|
|
|
|
* @return string the input id. |
|
|
|
|
|
|
|
* @since 2.0.6 |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
protected function getInputId() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return $this->_inputId ?: Html::getInputId($this->model, $this->attribute); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|