PHPackages                             ilbronza/datatables - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ilbronza/datatables

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ilbronza/datatables
===================

:package\_description

v0.4(5y ago)0307mitPHP

Since Oct 19Pushed 4d ago2 watchersCompare

[ Source](https://github.com/ilBronza/datatables)[ Packagist](https://packagist.org/packages/ilbronza/datatables)[ Docs](https://github.com/ilbronza/datatables)[ RSS](/packages/ilbronza-datatables/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (1)Versions (6)Used By (0)

Datatables
==========

[](#datatables)

\[!\[Latest Version on Packagist\]\[ico-version\]\]\[link-packagist\] \[!\[Total Downloads\]\[ico-downloads\]\]\[link-downloads\] \[!\[Build Status\]\[ico-travis\]\]\[link-travis\] \[!\[StyleCI\]\[ico-styleci\]\]\[link-styleci\]

This is where your description should go. Take a look at [contributing.md](contributing.md) to see a to do list.

Installation
------------

[](#installation)

Via Composer

```
$ composer require ilbronza/datatables
```

add this lines to package.json dependencies list

```
"datatables.net-autofill-dt": "^2.3.6",
"datatables.net-buttons-dt": "^1.7.0",
"datatables.net-colreorder-dt": "^1.5.3",
"datatables.net-dt": "^1.10.24",
"datatables.net-fixedcolumns-dt": "^3.3.2",
"datatables.net-fixedheader-dt": "^3.1.8",
"datatables.net-keytable-dt": "^2.6.1",
"datatables.net-responsive-dt": "^2.2.7",
"datatables.net-rowgroup-dt": "^1.1.2",
"datatables.net-rowreorder-dt": "^1.2.7",
"datatables.net-scroller-dt": "^2.0.3",
"datatables.net-searchbuilder-dt": "^1.0.1",
"datatables.net-searchpanes-dt": "^1.2.2",
"datatables.net-select-dt": "^1.3.3",
"jszip": "^3.6.0",
"moment": "^2.29.1",
"webpack-jquery-ui": "^2.0.1"
```

run npm install from terminal

```
npm install
```

copy the file `vendor/ilbronza/datatables/resources/js/ilBronza.datatables.js` to `resources/js/ilBronza.datatables.js`add these line to resources/js/app.js to include the required modules. All other js files are included directly from vendor folder

```
require('./ilBronza.datatables.js');
```

keep in mind that it needs jQuery and jquery-ui, if you didn't required yet add to yout resources/js/app.js file

```
import $ from 'jquery';
window.$ = window.jQuery = $;

require('webpack-jquery-ui');
```

publish the package assets

```
php artisan vendor:publish --force --tag "datatables.assets"
```

compile the file with laravel-mix

```
npm run development
```

Usage
-----

[](#usage)

### Form in table header and submit cell

[](#form-in-table-header-and-submit-cell)

You can populate a form in the header of the table and use a table cell as the submit button.
This feature is useful for quick inline filters or actions. To enable it, use the `DatatableFieldSubmit` field type in your configuration.

create a submit field

```
class DatatableFieldAddUnitloads extends DatatableFieldSubmit
{
    public $function = 'getAddUnitloadsToDeliveryUrl';
}

```

add the field to the table header

```
public function addPostFieldsToTable()
{
	$unitloads = Unitload::gpc()::whereIn('id', request()->unitloads)->get();

	foreach($unitloads as $unitload)
		$this->getTable()->addPostField(
			FormField::createFromArray([
				'label' => $unitload->getName() . ' (' . $unitload->getQuantity() . ')',
				'type' => 'text',
				'disabled' => true,
				'name' => 'unitloads[]',
				'value' => $unitload->getKey(),
			])
		);
}

```

use the created field in fields configuration

```
static function getFieldsGroup() : array
{
    return
    [
        'fields' =>
        [
            'mySelfAddToDelivery' => 'warehouse::deliveries.addUnitloads'
        ]
    ];
}

```

### Add data to headerData

[](#add-data-to-headerdata)

Example for add data to th

```
'name' => [
    'type' => 'flat',
    'headerData' => [
        'reloadTable' => true,
        'merryChristmas' => 'something'
    ]
]

```

Example for fetcher field

```
    'mySelfTimingMessage.quantityWorkstations' => [
        'type' => 'iterators.each',
        'childParameters' => [
            'requiresPlaceholderElement' => true,
            'textParameter' => 'workstation_alias',
            'type' => 'links.fetcher',

            'fetcher' => [
                'urlMethod' => 'getPriceCalculationMessageUrl',
                //target is the place where to take the id from => 'currentField' || 'row'
                'target' => 'currentField',
                'target' => 'row'
            ]
        ],
        'width' => '25px'
    ],
```

Refresh dei campi form dopo draw / save riga
--------------------------------------------

[](#refresh-dei-campi-form-dopo-draw--save-riga)

Le pagine edit possono registrare campi del form da rileggere dal server quando le tabelle cambiano (es. totali e margini ricalcolati). I campi si registrano come selettori in:

```
window.dtEditorRefreshingFieldList.push('input[name=total_cost]');
```

(es. il blade `orderQuotationPage` di Products li popola da `getFieldsToUpdateOnTableEdit()`).

Il refresh parte automaticamente in due momenti:

1. **Dopo il save di un campo editor in tabella** — `window.dtRefreshFieldsList()` viene chiamata nella success di `__ibCallAjax`.
2. **A ogni `draw.dt`** (reload ajax, paginazione, sort, init, `reloadAllTables`) — con throttling trailing: la prima draw arma un timer, le draw successive nella finestra vengono assorbite, allo scadere parte un solo refresh.

```
// finestra di throttling del refresh su draw (default 1000ms)
window.__ibDtRefreshFieldsListOnDrawThrottleMs = 1000;
```

Se la lista `dtEditorRefreshingFieldList` è vuota il listener è un no-op: le pagine senza campi registrati non fanno alcuna chiamata.

`dtRefreshFieldsList()` delega a `dtRefreshFieldsListBatch()` (pacchetto FormField): i selettori vengono risolti in nomi campo e richiesti al server con **una sola POST cumulativa** (`ib-editor-read-batch`), invece di una chiamata per campo. Vedi il readme di `ilbronza/formfield` per l'API completa del batch.

DatatableFieldClasses
---------------------

[](#datatablefieldclasses)

```
class DatatableFieldClient extends DatatableFieldSeeName
{
    public ? string $translationPrefix = 'clients::fields';
    public ? string $forcedStandardName = 'client';
}
```

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance65

Regular maintenance activity

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

4

Last Release

2081d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/33c65523e8a1cdfe8ed5f5fb8d90101b28eceb8c2ef7acb50a24cf6c42b8e639?d=identicon)[ilBronza](/maintainers/ilBronza)

---

Top Contributors

[![bronza](https://avatars.githubusercontent.com/u/3426331?v=4)](https://github.com/bronza "bronza (174 commits)")[![ilBronza](https://avatars.githubusercontent.com/u/68387610?v=4)](https://github.com/ilBronza "ilBronza (33 commits)")[![DatiSistema](https://avatars.githubusercontent.com/u/224988467?v=4)](https://github.com/DatiSistema "DatiSistema (3 commits)")[![lbortolon](https://avatars.githubusercontent.com/u/109848849?v=4)](https://github.com/lbortolon "lbortolon (1 commits)")

---

Tags

laraveldatatables

### Embed Badge

![Health badge](/badges/ilbronza-datatables/health.svg)

```
[![Health](https://phpackages.com/badges/ilbronza-datatables/health.svg)](https://phpackages.com/packages/ilbronza-datatables)
```

###  Alternatives

[yajra/laravel-datatables-oracle

jQuery DataTables API for Laravel

4.9k36.0M374](/packages/yajra-laravel-datatables-oracle)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M11](/packages/renatomarinho-laravel-page-speed)[vinkius-labs/laravel-page-speed

Laravel Page Speed

2.5k12.5k1](/packages/vinkius-labs-laravel-page-speed)[emargareten/inertia-modal

Inertia Modal is a Laravel package that lets you implement backend-driven modal dialogs for Inertia apps.

90142.9k](/packages/emargareten-inertia-modal)[wearepixel/laravel-cart

A cart implementation for Laravel

1374.8k](/packages/wearepixel-laravel-cart)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
