Deprecated : As the DynatableJs is no longer supported by the authors, this package is deprecated., (*1)
Dynatable
Very simple server-side Dynatable handler for Laravel. It handle the ajax calls from the dynatable jquery plugin in the front end., (*2)
Using this plugin you can use server-side (ajax) pagination, sorting, global search and specific search. With a simple API you can customize all handlings such as search, sort, column display., (*3)
This package is part of WhiteFrame Framework. Features like Widget can be only used when installed from white-frame/white-frame. See WhiteFrame Usage section., (*4)
Installation
Laravel 5
Install the package using composer :, (*5)
composer require white-frame/dynatable:2.*
Laravel 4 : see v1 branch, (*6)
General Usage
This is a light working example :, (*7)
<?php
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use WhiteFrame\Dynatable\Dynatable;
class UserController extends Controller
public function dynatable(Request $request)
{
// Get a query builder of what you want to show in dynatable
$cars = Car::where('year', '=', 2007); // or Car::query() for all cars
$columns = ['id', 'name', 'price', 'stock'];
// Build dynatable response with your query builder, columns and all input from dynatable font end javascript
$dynatable = Dynatable::of($cars, $columns, $request->all()));
// ... Here you can customize the result and change columns handling with $dynatable (see example below)
// Build the response and return to the table
return $dynatable->make();
}
}
Customize columns handling
Change the content of a column :, (*8)
$dynatable->column('price', function($car) {
return number_format($car->price) . ' $';
});
Add a new column for each row :, (*9)
$dynatable->column('actions', function($car) {
return '<a href="/car/' . $car->id . '">View</a>';
});
Customize column sorting :, (*10)
$dynatable->sort('id', function($query, $mode) {
return $query->orderBy('id', $mode == 'asc');
});
Customize global searching :, (*11)
$dynatable->search(function($query, $term) {
return $query->where('name', 'LIKE', '%' . $term . '%');
});
Customize specific column searching :, (*12)
$dynatable->search('year', function($query, $term) {
return $query->whereBetween('year', array($term - 5, $term + 5));
});
The use of Dynatable::of
The Dynatable::of
static method require 3 parameters :, (*13)
- The query builder you want to work with
- If you want to get an object query builder without doing any
where
, you can do Car::query()
.
- An array containing columns to display
- The requests input (generally
$request->all()
is fine).
WhiteFrame Usage
Work to do here ... :), (*14)