datatables-bundle
datatables-bundle copied to clipboard
So, what with column filters ?
Hi, are you planning to fix column filters? They're not displayed ( Neither Choice filter, nor Text filter:
$statusFilter = new ChoiceFilter();
$statusFilter->set([
'choices' => ['foo' => 'bar', 'bar' => 'baz']
]);
$textFilter = new TextFilter();
$table = $dataTableFactory->create()
->add('id', TextColumn::class, ['label' => 'Id'])
->add('status', TextColumn::class, ['field' => 'e.status','searchable' => true, 'filter' => $statusFilter])
->add('name', TextColumn::class, [ 'field' => 'e.name', 'filter' => $textFilter])
->createAdapter(ORMAdapter::class, [
'entity' => Entity::class,
'hydrate' => AbstractQuery::HYDRATE_ARRAY,
'query' => function (QueryBuilder $builder) use ($scheduleIds): void {
$builder
->select('e')
->from(Entity::class, 'e')
;
},
])
->handleRequest($request);
datatables.yaml:
# Latest documentation available at https://omines.github.io/datatables-bundle/#configuration
datatables:
language_from_cdn: false
# Set options, as documented at https://datatables.net/reference/option/
options:
lengthMenu : [10, 25, 50, 100, 250, 500, 1000, 2500]
pageLength: 10
dom: "<'row' <'col-sm-12' ftr>><'row' <'col-sm-6'l><'col-sm-6 text-right'pi>>"
searching: true
template_parameters:
# Example classes to integrate nicely with Bootstrap 3.x
className: 'table table-bordered table-hover data-table report-table'
columnFilter: 'both'
# You can for example override this to "tables" to keep the translation domains separated nicely
translation_domain: 'messages'
table.html.twig:
$(function () {
$('#table').initDataTables({{ datatable_settings(datatable) }},
{
searching: true,
dom: 'Bfltip',
});
});