blockManager = $block_manager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('plugin.manager.block') ); } /** * Retrieves suggestions for block category autocompletion. * * @param \Symfony\Component\HttpFoundation\Request $request * The current request. * * @return \Symfony\Component\HttpFoundation\JsonResponse * A JSON response containing autocomplete suggestions. */ public function autocomplete(Request $request) { $typed_category = $request->query->get('q'); $matches = []; foreach ($this->blockManager->getCategories() as $category) { if (stripos($category, $typed_category) === 0) { $matches[] = ['value' => $category, 'label' => Html::escape($category)]; } } return new JsonResponse($matches); } }