execut/yii2-crud-fields A behavior for standard fields logic in CRUD based on kartik dynagrid and detailView

yii2gridyii2fields

eXeCUT Yii2 CRUD fields. CRUD without generators and code duplication

This component allows you to automate many processes that occur in working with models, thereby reducing code duplication, and hence the total time spent:

  • Writing validation rules for fields of the same type
  • Writing Getters to Declare Various Relationships with Other Models
  • Validating and Editing Linked Records
  • Setting up the edit form for the model and its associated records
  • Customizing the Model Record List
  • Translating field names
  • Adds the ability to extend models by a third-party module without adding new dependencies
  • Simplifies the process of unit testing models

For license information check the LICENSE-file.

English documentation is at docs/guide/README.md.

Русская документация здесь docs/guide-ru/README.md.

Latest Stable Version Total Downloads Build Status

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require execut/yii2-crud-fields

or add

"execut/yii2-crud-fields": "dev-master"

to the require section of your composer.json file.

Usage

For example, the following few lines of code in a model:

namespace execut\books\models;
class Book extends \yii\db\ActiveRecord {
    use \execut\crudFields\BehaviorStub;
    public function behaviors() {
        return [
            \execut\crudFields\Behavior::KEY => [
                'class' => \execut\crudFields\Behavior::class,
                'fields' => [
                    'id' => [
                        'class' => \execut\crudFields\fields\Id::class,
                    ],
                    'name' => [
                        'class' => \execut\crudFields\fields\StringField::class,
                        'attribute' => 'name',
                        'required' => true,
                    ]
                ],
            ],
        ];
    }
}

will make all required for CRUD:

 $model = new Book();
 echo 'Validation rules for the search and edit scenario';
 var_dump($model->rules());
 echo 'Forming ActiveQuery based on filtering parameters and configuring ActiveDataProvider';
 var_dump($model->search());
 echo 'Formation of list columns settings';
 var_dump($model->getGridColumns());
 echo 'Formation of settings for the creation/editing form';
 var_dump($model->getFormFields());

Books CRUD list Books CRUD form

If we compare the implementation of such a model with a model without extension, we can see that the amount of code has changed in a positive direction:

Model on native Yii2 (85 lines) vs Model on CRUD fields (36 lines)

Or more strong example with books authors:

Model on native Yii2 (370 lines) vs Model on CRUD fields (116 lines)

Authors CRUD list Authors CRUD form

For more details please refer to the documentation docs/guide/README.md.

Для более подробной информации обращайтесь к документации docs/guide-ru/README.md.

Changelog

eXeCUT Yii2 CRUD fields

0.54.6 2020-10-06

  • Added DI container support for DetailView fields

0.54.4 2020-09-21

  • Removed width for action columns inside fields DynaGrids

0.54.3 2020-09-16

  • Fixed a bug with date validation and new yii2
  • Added scrollbars for hasMany DynaGrid

0.54.2 2020-09-16

  • Added supporting of callback name attribute for relation object

0.54.1 2020-09-16

  • Added setters and getters to relation object for tests

0.54.0 2020-09-15

  • HasManyMultipleInput field refactoring
  • Added tests for HasManyMultipleInput
  • Added classes for grids of HasManyMultipleInput field

0.53.3 2020-08-24

  • Fixed a bug with relations labels translation

0.53.2 2020-08-19

  • Fixed a bug with date field validation for tests

0.53.1 2020-07-28

  • New kartik select2 version adaptation

0.53.0 2020-07-15

  • New folders structure
  • New documentation
  • API docs
  • Added changelog file

0.1.0 Apr 2, 2017 - 0.52.10 2020-07-15

  • Changelog does not exist

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



0.59.4 is the latest of 221 releases



Apache-2.0 license
Stats
8 github stars & 3 github forks
0 downloads in the last day
6 downloads in the last 30 days
1030 total downloads