2017 © Pedro Peláez
 

yii2-extension yii2-treegrid

TreeGrid widget for Yii PHP Framework Version 2

image

dkhlystov/yii2-treegrid

TreeGrid widget for Yii PHP Framework Version 2

  • Monday, April 23, 2018
  • by dkhlystov
  • Repository
  • 4 Watchers
  • 8 Stars
  • 976 Installations
  • PHP
  • 5 Dependents
  • 0 Suggesters
  • 5 Forks
  • 4 Open issues
  • 10 Versions
  • 3 % Grown

The README.md

yii2-treegrid

TreeGrid widget for Yii 2 framework, (*1)

Installation

The preferred way to install this extension is through composer., (*2)

Either run, (*3)

composer require dkhlystov/yii2-treegrid

or add, (*4)

"dkhlystov/yii2-treegrid": "*"

to the require section of your composer.json file., (*5)

Basic usage

Once the extension is installed, simply use it in your code by :, (*6)

<?= \dkhlystov\widgets\TreeGrid::widget([
    'dataProvider' => $dataProvider,
]); ?>

Parent relative tree

Check that you correctly set idAttribute and parentIdAttribute properties. By default it is id and parent_id. By default root nodes is the nodes with parent id equal to 0. If you want to change this use rootParentId. It is strongly recommended to set countAttribute with the name of attribute that contains count of children., (*7)

Nested sets tree

[To be written], (*8)

Lazy loading

By default the lazyLoad property is set to true. This mean, that widget automatically will add conditions to dataProvider (for yii\data\ActiveDataProvider) to load children nodes on demand. Initially widget loads only root and its children., (*9)

Controller :, (*10)

    function actionIndex()
    {
        $dataProvider = new ActiveDataProvider([
            'query' => Menu::find(),
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
    }

View :, (*11)

<?= \dkhlystov\widgets\TreeGrid::widget([
    'dataProvider' => $dataProvider,
]); ?>

Roots

By default the showRoots property is set to false. To show roots in the tree, set this property to true. If you use nested sets tree, make sure that treeAttribute property is set correctly. By default it set to tree., (*12)

Initial node

You can make lazy load tree initially partialy rendered. To do this, set initialNode to node that should be visible. Widget will render all parents of this node with their children. All parents will be rendered expanded. It may be usefull when you edit nodes (on redirect to index just add id of edited node)., (*13)

Controller :, (*14)

    function actionIndex($id = null)
    {
        $initial = Menu::findOne($id);

        $dataProvider = new ActiveDataProvider([
            'query' => Menu::find(),
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
            'initial' => $initial,
        ]);
    }

View :, (*15)

<?= \dkhlystov\widgets\TreeGrid::widget([
    'dataProvider' => $dataProvider,
    'initialNode' => $initial,
]); ?>

Moving nodes

Set moveAction property in widget to enable nodes moving. Url will be generated using yii\helpers\Url::toRoute() function. Action receives three parameters: id - identifier of moving node, target - a node identifier, where the movement has been made, position - movement position (0 - before target, 1 - into target, 2 - after target)., (*16)

View :, (*17)

<?= \dkhlystov\widgets\NestedTreeGrid::widget([
    'dataProvider' => $dataProvider,
    'moveAction' => ['move'],
]); ?>

Controller :, (*18)

    function actionMove($id, $target, $position)
    {
        $model = Menu::findOne($id);

        $t = Menu::findOne($target);

        switch ($position) {
            case 0:
                $model->insertBefore($t);
                break;

            case 1:
                $model->appendTo($t);
                break;

            case 2:
                $model->insertAfter($t);
                break;
        }
    }

The Versions

23/04 2018

dev-master

9999999-dev

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

23/04 2018

v0.1.7

0.1.7.0

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

13/04 2017

v0.1.6

0.1.6.0

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

23/12 2016

v0.1.5

0.1.5.0

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

23/12 2016

v0.1.4

0.1.4.0

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

22/06 2016

v0.1.3

0.1.3.0

TreeGrid widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

12/02 2016

v0.1.2

0.1.2.0

TreeView widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

10/02 2016

v0.1.1

0.1.1.0

TreeView widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

10/02 2016

v0.1.0

0.1.0.0

TreeView widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree

03/02 2016

v0.0.1

0.0.1.0

TreeView widget for Yii PHP Framework Version 2

  Sources   Download

BSD-3-Clause

The Requires

 

by Dmitry Khlystov

extension yii2 widget grid tree