public function AutocompleteTags::handleAutocomplete in Business Rules 8
Same name and namespace in other branches
- 2.x src/Controller/AutocompleteTags.php \Drupal\business_rules\Controller\AutocompleteTags::handleAutocomplete()
Handler for autocomplete request.
Parameters
\Symfony\Component\HttpFoundation\Request $request: The request.
Return value
\Symfony\Component\HttpFoundation\JsonResponse The matched values.
1 string reference to 'AutocompleteTags::handleAutocomplete'
File
- src/
Controller/ AutocompleteTags.php, line 30
Class
- AutocompleteTags
- Class AutocompleteTags.
Namespace
Drupal\business_rules\ControllerCode
public function handleAutocomplete(Request $request) {
$matches = [];
$string = $request->query
->get('q');
// Get the current saved tags.
$br_tags = BusinessRule::loadAllTags();
$ac_tags = Action::loadAllTags();
$co_tags = Condition::loadAllTags();
$va_tags = Variable::loadAllTags();
$tags = array_merge($br_tags, $ac_tags, $co_tags, $va_tags);
// Keep track of previously processed tags so they can be skipped.
foreach ($tags as $tag) {
if (strpos($tag, $string) === 0) {
$matches[] = [
'value' => $tag,
'label' => Html::escape($tag),
];
if (count($matches) >= 10) {
break;
}
}
}
return new JsonResponse($matches);
}