2017 © Pedro Peláez
 

library laravel-rapids

Rapid prototyping for laravel.

image

alrik11es/laravel-rapids

Rapid prototyping for laravel.

  • Tuesday, May 22, 2018
  • by alrik11es
  • Repository
  • 1 Watchers
  • 1 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

alt tag, (*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)

Requirements

  • PHP >= 7.0.0
  • Bootstrap on your project

Installation

Add Rapids service provider Laravel\Rapids\RapidsServiceProvider::class, to your app.php config in Laravel., (*4)

Usage

<?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)

Load any widget

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)

Elements

In order to ease the usability of this tool we've created some widgets for you. Just to use on any place., (*8)

DataGrid

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)

Startup

$data_grid = new DataGrid(Post::query()); Start your DataGrid within an Eloquent model query, (*10)

Adding new field to the table

$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)

Actions (Edit/Show/Delete)

$data_grid->setActions('/post/edit', 'modify|delete'); This will add the action buttons in your DataGrid. Available options are "modify", "delete", "show", (*13)

Value transformations

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)

Row transformations

Sometimes you need to set some classes to the entire row. Use this type of transformation to do so., (*16)

Relations

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', ', ');
});

setActions

DataForm

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();
}

Idea

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)

  • https://github.com/zofe/rapyd-laravel
  • https://github.com/wutongwan/laravel-lego

The Versions

22/05 2018

dev-master

9999999-dev

Rapid prototyping for laravel.

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel form crud datatable scaffolding prototyping rapids