Extensions
A datagrid object only converts the datasource to the result set. Extensions perform all other operations, such as pagination and filtering.
Oro already provides the following extensions:
Formatter - responsible for backend field formatting (e.g., generating URL using router, translation using Symfony translator, etc.). This extension also passes 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 (the AbstractExtension class provides a basic implementation)
Register your extension as a service with tag { name: oro_datagrid.extension }