edweld/datatablesbundle
Symfony Datatable Bundle For Doctrine2 Entities
Maintainers
Package info
github.com/edweld/DatatablesBundle
Type:symfony-bundle
pkg:composer/edweld/datatablesbundle
Requires
- php: >=5.3.3
- friendsofsymfony/jsrouting-bundle: ~1.6|~2.0
- symfony/framework-bundle: ~2.6|~3.0
- symfony/options-resolver: ~2.6|~3.0
- symfony/property-access: ~2.6|~3.0
Requires (Dev)
- doctrine/orm: ^2.2.3
- sensio/generator-bundle: ~2.5|~3.0
Suggests
- components/jquery: ~1.12
- datatables/datatables: ^1.10.10
- liip/imagine-bundle: ^1.3
- moment/moment: ~2.11
Provides
None
Conflicts
None
Replaces
None
MIT a9bc3c88d1f176c27d502e26e520af062993b30b
Symfony2datagridpaginationgridtabledatatablesdatatablesymfony3
README
👁 Latest Stable Version
👁 Total Downloads
👁 Latest Unstable Version
👁 License
Recent Changes
In-place editing callback (#372)
$this->columnBuilder
->add('name', 'column', array(
'title' => 'Name',
'editable' => true,
'editable_if' => function($row) {
return (
$this->authorizationChecker->isGranted('ROLE_USER') &&
$row['public'] == true
);
}
))
Pipelining to reduce Ajax calls
$this->ajax->set(array(
'url' => $this->router->generate('chili_private_results'),
'pipeline' => 6
));
Search result highlighting.
- Include the jQuery Highlight Plugin
- Configure your Datatables-Class features
$this->features->set(array(
// ...
'highlight' => true,
'highlight_color' => 'red' // 'red' is the default value
));
Enlargement of thumbnails with Featherlight
see #401
The Bootstrap modal window does not work properly in responsive mode.
Load Featherlight with your base layout.
add_if Closure for all Columns and TopActions
$this->columnBuilder
->add('title', 'column', array(
// ...
'add_if' => function() {
return ($this->authorizationChecker->isGranted('ROLE_ADMIN'));
},
))
;
$this->topActions->set(array(
// ...
'add_if' => function() {
return ($this->authorizationChecker->isGranted('ROLE_ADMIN'));
},
'actions' => array(
// ...
)
));
Render Actions
before
'actions' => array(
array(
'route' => 'post_edit',
'route_parameters' => array(
'id' => 'id'
),
'role' => 'ROLE_ADMIN',
'render_if' => function($row) {
return ($row['title'] === 'Title 1');
},
),
// ...
after
'actions' => array(
array(
'route' => 'post_edit',
'route_parameters' => array(
'id' => 'id'
),
'render_if' => function($row) {
return (
$this->authorizationChecker->isGranted('ROLE_USER') &&
$row['user']['username'] == $this->getUser()->getUsername()
);
},
),
// ...
Multiselect: render checkboxes only if conditions are True
$this->columnBuilder
->add('title', 'multiselect', array(
// ...
'render_checkbox_if' => function($row) {
return ($row['public'] == true);
},
))
;
Screenshots
Table with Bootstrap3 integration:
👁 ScreenshotDocumentation
Extensions like Buttons or Responsive
Example
Integrating 3rd party stuff
Integrate the Translatable behavior extension for Doctrine 2
Integrate the LiipImagineBundle / ImageColumn, GalleryColumn and thumbnails
Limitations and Known Issues
Much like every other piece of software SgDatatablesBundle is not perfect and far from feature complete.
- This bundle does not support multiple Ids.
- Searching and filtering on a virtual column not yet implemented and disabled by default.
- PostgreSql is currently not fully supported.
Reporting an issue or a feature request
Issues and feature requests are tracked in the Github issue tracker.
You must know that all the pull requests you are going to submit must be released under the MIT license.
Friendly License
This bundle is under the MIT license. See the complete license in the bundle:
Resources/meta/LICENSE
You are free to use, modify and distribute this software, as long as the copyright header is left intact (specifically the comment block which starts with /*)!
