Renders a Bootstrap Toggle Switch plugin widget.
The preferred way to install this extension is through composer.
Either run
$ composer require 2amigos/yii2-switch-widget:~1.0
or add
"2amigos/yii2-switch-widget": "~1.0"
to the require
section of your composer.json
file.
The widget comes in two flavors:
- SwitchBox
- SwitchRadio
SwitchBox
This widget renders a Bootstrap Toggle Switch Checkbox input control. Best suitable for attributes with boolean states (on|off, true|false, 1|0) when used with model.
Example of use with a form
<?php
use dosamigos\switchinput\SwitchBox;
?>
<?= $form->field($model, 'validated')->widget(SwitchBox::className(),[
'clientOptions' => [
'size' => 'large',
'onColor' => 'success',
'offColor' => 'danger'
]
]);?>
Example of use without a model
<?= \dosamigos\switchinput\SwitchBox::widget([
'name' => 'Test',
'checked' => true,
'clientOptions' => [
'size' => 'large',
'onColor' => 'success',
'offColor' => 'danger'
]
]);?>
SwitchRadio
This widget renders a Bootstrap Toggle Switch Checkbox radio list control. Best suitable for attributes with multiple states when used with a model.
Example of use with a form
<?php
use dosamigos\switchinput\SwitchRadio;
?>
<?= $form->field($model, 'status')->widget(SwitchRadio::className(), [
'items' => [
20 => 'rejected',
40 => 'approved',
50 => 'on hold'
],
]);?>
Example of use without a model
<?= \dosamigos\switchinput\SwitchRadio::widget([
'name' => 'shape',
'inline' => false,
'items' => [
[
'label' => 'best',
'value' => 100,
'options' => ['data-size' => 'mini']
],
20 => 'good',
40 => 'superior',
50 => 'master'
],
'labelOptions' => ['style' => 'font-size:16px']
]);?>
Not displaying the label
<?= $form->field($model, 'validated')->widget(SwitchBox::className(),[
'options' => [
'label' => false
],
'clientOptions' => [
'size' => 'large',
'onColor' => 'success',
'offColor' => 'danger'
]
]);?>
$ ./vendor/bin/phpunit
Please see CONTRIBUTING for details.
The BSD License (BSD). Please see License File for more information.
web development has never been so fun
www.2amigos.us