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
Wallogit.com
2017 © Pedro Peláez
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