Skip to content
This repository has been archived by the owner on Jul 26, 2023. It is now read-only.

2amigos/yii2-switch-widget

Repository files navigation

Bootstrap Switch Widget for Yii2

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

Renders a Bootstrap Toggle Switch plugin widget.

Installation

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.

Usage

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'
    ]
]);?>

Using code fixer

We have added a PHP code fixer to standardize our code. It includes Symfony, PSR2 and some contributors rules.

./vendor/bin/php-cs-fixer fix ./src --config .php_cs

Testing

$ ./vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details.

Credits

License

The BSD License (BSD). Please see License File for more information.


Custom Software | Web & Mobile Software Development
www.2amigos.us