yii2-simple-dual-listbox
Simple dual listbox for Yii framework 2.0 or later, (*1)
Description
edwinhaq\simpleduallistbox\SimpleDualListbox widget is a simple way to control listbox items, (*2)
Requirements
- Yii Version 2.0.0 or later
 
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
php composer.phar require --prefer-dist edwinhaq/yii2-simple-dual-listbox "*"
or add, (*5)
"edwinhaq/yii2-simple-dual-listbox": "*"
to the require section of your composer.json file., (*6)
Usage
Once the extension is installed, simply use it in your code by  :, (*7)
    use edwinhaq\simpleduallistbox\SimpleDualListbox;
    // ... Form definition
    $items = ['1' => 'Item1', '2' => 'Item2', '3' => 'Item3',];
    $options = [];
    $options['size'] = 10;
    $options['style'] = 'width:200px';
    $options['options'] = [];       // If 'title' not defined SimpleDualListbox defines it for each option item
    $clientOptions = [];
    $clientOptions['availableListboxPosition'] = "left";    // options: left (default), right
    $clientOptions['availableListSort'] = SimpleDualListbox::$SORT_NUM_ASC;
    $clientOptions['upButtonText'] = "UP";
    $clientOptions['addButtonText'] = "ADD";
    $clientOptions['addAllButtonText'] = "ADDALL";
    $clientOptions['remAllButtonText'] = "REMALL";
    $clientOptions['remButtonText'] = "REM";
    $clientOptions['downButtonText'] =  "DOWN";
    $clientOptions['selectedLabel'] =  "Selected";
    $clientOptions['availableLabel'] = "Available";
    $widgetOptions = [];
    $widgetOptions['label'] = 'InputLabel'; // Ignored when model is used
    $widgetOptions['name'] = 'InputName'; // Ignored when model is used
    $widgetOptions['hint'] = 'Hint'; // Ignored when model is used
    $widgetOptions['selection'] = [1,2]; // Ignored when model is used
    $widgetOptions['id'] = 'Input ID'; // Optional
    $widgetOptions['template'] = '{label}{listbox}{hint}'; // Used to generate element, by default '{label}{listbox}{hint}'
    $widgetOptions['useGroupDiv'] = true; // true by default. Wrap element in a div tag: <div class="form-group"> ... </div>,
    $widgetOptions['items'] = $items;
    $widgetOptions['options'] = $options;
    $widgetOptions['clientOptions'] = $clientOptions;
    /*
    * With model
    */
    $model->attribute = [1,2];
    $field = $form->field($model, 'attribute')->widget(SimpleDualListbox::className(), $widgetOptions);
    /*
    * Without model
    */
    echo SimpleDualListbox::widget($widgetOptions);
    // ... End form definition
History
- Version 1.0.0 (2017-05-28)
 
- Version 1.0.1 (2017-10-31)
 
- Version 1.0.2 (2018-02-28)
 
- Version 1.0.3 (2018-03-22)