jQuery TreeGrid Extension for Yii 2
This is the jQuery TreeGrid extension for Yii 2. It encapsulates TreeGrid component in terms of Yii widgets,
and thus makes using TreeGrid component in Yii applications extremely easy, (*1)
Based on leandrogehlen/yii2-treegrid., (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
php composer.phar require --prefer-dist aadutskevich/yii2-treegrid "*"
or add, (*5)
"aadutskevich/yii2-treegrid": "*"
to the require section of your composer.json file., (*6)
How to use
Model, (*7)
use yii\db\ActiveRecord;
/**
 * @property string $description
 * @property integer $parent_id
 */
class Tree extends ActiveRecord 
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'tree';
    }  
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['description'], 'required'],
            [['description'], 'string'],
            [['parent_id'], 'integer']
        ];
    }
}
Controller, (*8)
use yii\web\Controller;
use Yii;
use yii\data\ActiveDataProvider;
class TreeController extends Controller
{
    /**
     * Lists all Tree models.
     * @return mixed
     */
    public function actionIndex()
    {
        $query = Tree::find();
        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
        return $this->render('index', [
            'dataProvider' => $dataProvider
        ]);
    }
View, (*9)
use aadutskevich\treegrid\TreeGrid;
<?= TreeGrid::widget([
        'dataProvider' => $dataProvider,
        'keyColumnName' => 'id',
        'parentColumnName' => 'parent_id',
        'parentRootValue' => '0', //first parentId value
        'pluginOptions' => [
            'initialState' => 'collapsed',
        ],
        'columns' => [
            'name',
            'id',
            'parent_id',
            ['class' => 'yii\grid\ActionColumn']
        ]     
      ]); ?>