1. Go to this page and download the library: Download clickbar/ag-grid-laravel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
clickbar / ag-grid-laravel example snippets
return [
/*
* The class that contains the provider for determining the timezone
* to use for DateTime formatting in exports.
*/
'export_timezone_provider' => \Clickbar\AgGrid\AgGridDefaultExportTimezoneProvider::class
];
class FlamingoGridController extends Controller
{
public function __invoke(AgGridGetRowsRequest $request): AgGridQueryBuilder
{
$query = Flamingo::query()
->with(['keeper'])
->orderByDesc('id');
return AgGridQueryBuilder::forRequest($request, $query)
->resource(FlamingoResource::class);
}
}
class FlamingoGridSetValuesController extends Controller
{
public function __invoke(AgGridSetValuesRequest $request)
{
$query = Flamingo::query()
->with(['keeper']);
return AgGridQueryBuilder::forSetValuesRequest($request, $query)
->toSetValues(['*']);
}
}
->toSetValues(['name', 'kepper.name']);
class FeedFlamingosRequest extends FormRequest
{
public function rules(): array
{
return [
'selection' => ['
class FeedFlamingosController extends Controller
{
public function __invoke(FeedFlamingsRequest $request): AgGridQueryBuilder
{
$flamingos = AgGridQueryBuilder::forSelection($request->validated('selection'))->get();
foreach($flamingos as $flamingo){
$flamingo->feed($request->validated('food_type'));
}
return $flamingos;
}
}
class Flamingo extends Model implements AgGridExportable {
// ... your model definitions
public static function getAgGridColumnDefinitions(): array
{
return [
new AgGridColumnDefinition(
'id',
__('ID'),
),
new AgGridColumnDefinition(
'name',
__('Name'),
),
new AgGridColumnDefinition(
'keeper_id',
__('Keeper'),
null,
fn ($data) => $data->keeper->name,
),
new AgGridColumnDefinition(
'created_at',
__('Created At'),
new AgGridDateFormatter(),
),
];
}
}
class Flamingo extends Model implements AgGridCustomFilterable {
use SoftDeletes;
// ... your model definitions
public function applyAgGridCustomFilters(Builder $query, array $filters): void
{
$query->when($filters['showTrashed'] ?? false, function ($query) {
return $query->withTrashed();
});
}
}
typescript
// use the selection in any batch requests to the server
let selection: AgGridSelection
function onSelectionChanged(event: SelectionChangedEvent) {
if (event.api.getModel().getType() !== 'serverSide') {
throw new Error('Only the serverSide row model is supported.')
}
const selectionState = event.api.getServerSideSelectionState() as IServerSideSelectionState
selection = {
rowModel: 'serverSide',
selectAll: selectionState.selectAll,
toggledNodes: selectionState.toggledNodes,
filterModel: event.api.getFilterModel()
}
}
function onFilterChanged(event: FilterChangedEvent) {
if (!selection) {
return
}
selection.filterModel = event.api.getFilterModel()
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.