Extensions
A datagrid object only takes care of converting datasource to the result set. All other operations are performed by extensions (e.g., pagination, filtering, etc.).
Here is a list of already implemented extensions:
- Formatter - responsible for backend field formatting(e.g., generating URL using router, translation using Symfony translator, etc.). This extension also takes care of passing column configuration to the view layer.
- Pager - responsible for pagination
- Sorter - responsible for sorting
- Action - provides actions configurations for grid
- Mass Action - provides mass actions configurations for grid
- Toolbar - provides toolbar configuration for view
- Grid Views - provides configuration for grid views toolbar
- Export - responsible for export grid data
- Field ACL - allow to protect entity fields with ACL
- Board - responsible for adding Kanban board views for datagrids
- Filter - responsible for adding filtering and filter widgets to grid
- Organization Column - responsible for adding the organization column if a user works in the global organization
Customization
To implement your extension:
- Develop a class that implements ExtensionVisitorInterface (there is also a basic implementation in AbstractExtension class)
- Register you extension as service with tag { name: oro_datagrid.extension }