dev-master
9999999-devRapid prototyping for laravel.
MIT
The Requires
- php >=7.0.0
- laravelcollective/html ~5.0
The Development Requires
laravel form crud datatable scaffolding prototyping rapids
Rapid prototyping for laravel.
, (*1)
The rapid development made with laravel., (*2)
This library is intended for those developers who like to make applications as fast as possible., (*3)
Add Rapids service provider Laravel\Rapids\RapidsServiceProvider::class,
to your app.php config in Laravel., (*4)
<?php $data_grid = new DataGrid(Post::query()); $data_grid->add('id', 'id'); $data_grid->add('title', 'Name'); $data_grid->setActions('/post/edit', 'modify|delete'); $grid = Widget::load($data_grid); return view('grid', compact('grid'));
In your view:, (*5)
{!! $grid !!}
This will generate a simple datagrid with modify/delete options., (*6)
Remember that to load any widget you're gonna need to execute $widget_render = Widget::load($widget);
and will return the render of that widget. You only need to pass to blade as raw format {!! $widget !!}
., (*7)
In order to ease the usability of this tool we've created some widgets for you. Just to use on any place., (*8)
The DataGrid is the bridge head of the computer development. You're gonna need it for everything. So lets take a look to the options that Rapids brings., (*9)
$data_grid = new DataGrid(Post::query());
Start your DataGrid within an Eloquent model query, (*10)
$data_grid->add('title', 'Title');
When you need to add a new field., (*11)
If you need that this field shows orderBy buttons. Set to true the third optional parameter., (*12)
$data_grid->setActions('/post/edit', 'modify|delete');
This will add the action buttons in your DataGrid. Available options are "modify", "delete", "show", (*13)
Imagine the common case to have a price value over 50 to be painted as yellow., (*14)
$grid_widget->add('title', 'Title')->transform('price', 'Pricing', function($value){ $result = $value; if($value > 50){ $result = '<span style="background-color: yellow;">'.$value.'</span>'; } return $result; });
You can obviously make your own widget instead of adding raw html to the PHP code. Just pass any rendered string as result of the callback., (*15)
Sometimes you need to set some classes to the entire row. Use this type of transformation to do so., (*16)
Obviously you will need to add some relations to the table. The best way to achieve this is using a transformation. So for example:, (*17)
$grid_widget->addTransformation('categories', 'Categories', function($value){ return $value->implode('name', ', '); });
public function create() { $data_form = new DataForm(new Book(), '/admin/book'); $data_form->add('title', 'Book title'); $data_form->add('categories.name', 'Categories', Cell::TYPE_CHECKBOXGROUP); $create = Widget::load($data_form); return view('admin/book/create', compact('create')); }
public function store() { $data_form = new DataForm(new Book(), '/admin/book'); $data_form->setRequest($request); $data_form->request('title'); $data_form->request('token'); return $data_form->operate(); }
The idea comes from other's people libraries that are really good. And the need to have a well written code base just to mess with., (*18)
Rapid prototyping for laravel.
MIT
laravel form crud datatable scaffolding prototyping rapids