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

Latest commit

 

History

History
130 lines (98 loc) · 4.32 KB

README.md

File metadata and controls

130 lines (98 loc) · 4.32 KB

Select2 Widget for Yii2

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

Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used options.

Install

Via Composer

$ composer require 2amigos/yii2-select2-widget

Usage

The Widget comes in two flavors, one for the classic and the bootstrap. The widgets, apart from the bootstrap one that requires some tweaks, are mostly configured throughout the clientOptions and clientEvents. Attributes that hold the configuration of the plugin and its events respectively.

For that reason, we highly recommend you to visit the Select2 Documentation for the possible options available on Select2 and Select2 Bootstrap Theme to check all the possible display options regarding Select2 with this theme.

Note We are in the process to create a website that will demo all our widgets, including this. The following are some basic samples to get you started. On the website, demos will be extensive and showing all possible configuration options.

Using Select2Widget

use dosamigos\select2\Select2:


// with \yii\bootstrap\ActiveForm;
echo $form
    ->field($model, 'attribute')
    ->widget(
        Select2::class, 
        [
            'items' => $data, // $data should be the same as the items provided to a regular yii2 dropdownlist
            'clientOptions' => ['theme' => 'classic']
        ]
    );
    
// as widget 
echo Select2::widget([
    'name' => 'my-name',
    'value' => 'my-value',
    'clientOptions' => [
        'maximumInputLength' => 20
    ]
]); 

Using Select2BootstrapWidget

use dosamigos\select2\Select2Bootstrap:

// displaying the select2 with prepended addon
echo $form
    ->field($model, 'attribute')
    ->widget(
        Select2Bootstrap::class, 
        [
            'items' => $data, // $data should be the same as the items provided to a regular yii2 dropdownlist
            'template' => '<div class="input-group">' .
                  '<span class="input-group-btn">' .
                  '<button class="btn btn-default" type="button" data-select2-open="multi-prepend-append">' .
                  'State' .
                  '</button>' .
                  '</span>' .
                  '{input}' .
                   '<span class="input-group-addon">Append</span>' .
                   '</div>'
        ]
    );
    
// as widget 
echo Select2Bootstrap::widget([
    'name' => 'my-name',
    'value' => 'my-value',
    'clientOptions' => [
        'maximumInputLength' => 20
    ]
]); 

Testing

$ phpunit

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

Contributing

Please see CONTRIBUTING for details.

Credits

License

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


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