linkitProfileStorage = $linkit_profile_storage; $this->resultManager = $resultManager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('entity.manager')->getStorage('linkit_profile'), $container->get('linkit.result_manager') ); } /** * Menu callback for linkit search autocompletion. * * Like other autocomplete functions, this function inspects the 'q' query * parameter for the string to use to search for suggestions. * * @param Request $request * The request. * @param $linkit_profile_id * The linkit profile id. * @return JsonResponse * A JSON response containing the autocomplete suggestions. */ public function autocomplete(Request $request, $linkit_profile_id) { $this->linkitProfile = $this->linkitProfileStorage->load($linkit_profile_id); $string = Unicode::strtolower($request->query->get('q')); $matches = $this->resultManager->getResults($this->linkitProfile, $string); $json_object = new \stdClass(); $json_object->matches = $matches; return new JsonResponse($json_object); } }