Class yii\jui\InputWidget

Inheritanceyii\jui\InputWidget » yii\jui\Widget » yii\base\Widget
Subclassesyii\jui\AutoComplete, yii\jui\DatePicker, yii\jui\SliderInput, yii\jui\Spinner
Available since extension's version2.0
Source Code https://github.com/yiisoft/yii2-jui/blob/master/InputWidget.php

InputWidget is the base class for all jQuery UI input widgets.

Classes extending from this widget can be used in an yii\widgets\ActiveForm using the yii\widgets\ActiveField::widget() method, for example like this:

<?= $form->field($model, 'from_date')->widget('WidgetClassName', [
    // configure additional widget properties here
]) ?>

Public Properties

Hide inherited properties

Property Type Description Defined By
$attribute string The model attribute that this widget is associated with. yii\jui\InputWidget
$clientEventMap array Event names mapped to what should be specified in .on(). yii\jui\Widget
$clientEvents array The event handlers for the underlying jQuery UI widget. yii\jui\Widget
$clientOptions array The options for the underlying jQuery UI widget. yii\jui\Widget
$model \yii\base\Model The data model that this widget is associated with. yii\jui\InputWidget
$name string The input name. yii\jui\InputWidget
$options array The HTML attributes for the widget container tag. yii\jui\Widget
$value string The input value. yii\jui\InputWidget

Protected Properties

Hide inherited properties

Property Type Description Defined By

Public Methods

Hide inherited methods

Method Description Defined By
init() Initializes the widget. yii\jui\InputWidget

Protected Methods

Hide inherited methods

Method Description Defined By
hasModel() yii\jui\InputWidget
registerClientEvents() Registers a specific jQuery UI widget events yii\jui\Widget
registerClientOptions() Registers a specific jQuery UI widget options yii\jui\Widget
registerWidget() Registers a specific jQuery UI widget asset bundle, initializes it with client options and registers related events yii\jui\Widget

Property Details

Hide inherited properties

$attribute public property

The model attribute that this widget is associated with.

public string $attribute null
$model public property

The data model that this widget is associated with.

public \yii\base\Model $model null
$name public property

The input name. This must be set if $model and $attribute are not set.

public string $name null
$value public property

The input value.

public string $value null

Method Details

Hide inherited methods

hasModel() protected method

protected boolean hasModel ( )
return boolean

Whether this widget is associated with a data model.

                protected function hasModel()
{
    return $this->model instanceof Model && $this->attribute !== null;
}

            
init() public method

Initializes the widget.

If you override this method, make sure you call the parent implementation first.

public void init ( )

                public function init()
{
    if ($this->hasModel() && !isset($this->options['id'])) {
        $this->options['id'] = Html::getInputId($this->model, $this->attribute);
    }
    parent::init();
}

            
registerClientEvents() protected method

Defined in: yii\jui\Widget::registerClientEvents()

Registers a specific jQuery UI widget events

protected void registerClientEvents ( $name, $id )
$name string

The name of the jQuery UI widget

$id string

The ID of the widget

                protected function registerClientEvents($name, $id)
{
    if (!empty($this->clientEvents)) {
        $js = [];
        foreach ($this->clientEvents as $event => $handler) {
            if (isset($this->clientEventMap[$event])) {
                $eventName = $this->clientEventMap[$event];
            } else {
                $eventName = strtolower($name . $event);
            }
            $js[] = "jQuery('#$id').on('$eventName', $handler);";
        }
        $this->getView()->registerJs(implode("\n", $js));
    }
}

            
registerClientOptions() protected method

Defined in: yii\jui\Widget::registerClientOptions()

Registers a specific jQuery UI widget options

protected void registerClientOptions ( $name, $id )
$name string

The name of the jQuery UI widget

$id string

The ID of the widget

                protected function registerClientOptions($name, $id)
{
    if ($this->clientOptions !== false) {
        $options = empty($this->clientOptions) ? '' : Json::htmlEncode($this->clientOptions);
        $js = "jQuery('#$id').$name($options);";
        $this->getView()->registerJs($js);
    }
}

            
registerWidget() protected method

Defined in: yii\jui\Widget::registerWidget()

Registers a specific jQuery UI widget asset bundle, initializes it with client options and registers related events

protected void registerWidget ( $name, $id null )
$name string

The name of the jQuery UI widget

$id string

The ID of the widget. If null, it will use the id value of $options.

                protected function registerWidget($name, $id = null)
{
    if ($id === null) {
        $id = $this->options['id'];
    }
    JuiAsset::register($this->getView());
    $this->registerClientEvents($name, $id);
    $this->registerClientOptions($name, $id);
}