/** * {@inheritdoc} */ public function handle(GridInterface $grid, array $filters = [], array $sorting = [], array $slicing = []) { $repository = $this->repositoryRegistry[$grid->getResource()->getName()]; $dataSourceBuilder = $repository->createDataSourceBuilder($grid->getOptions()); $this->filterer->filter($dataSourceBuilder, $grid, $filters); $this->sorter->sort($dataSourceBuilder, $grid, $sorting); $this->slicer->slice($dataSourceBuilder, $grid, $slicing); return $this->gridViewFactory->create($grid, $dataSourceBuilder); }