search_api-8.x-1.15/tests/search_api_test_views/search_api_test_views.module
tests/search_api_test_views/search_api_test_views.module
<?php /** * @file * Contains hook implementations for the Search API Views Test module. */ use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityListBuilder; use Drupal\search_api\Query\QueryInterface; /** * Implements hook_search_api_query_alter(). * * Prints the contents of the "search_api_retrieved_field_values" query option * to the page (if present) so it can be checked by the testing code. */ function search_api_test_views_search_api_query_alter(QueryInterface $query) { $fields = $query->getOption('search_api_retrieved_field_values'); if ($fields) { \Drupal::messenger()->addStatus("'" . implode("' '", $fields) . "'"); } } /** * Implements hook_entity_type_alter(). */ function search_api_test_views_entity_type_alter(array &$entity_types) { // We need list builder for entity type in order to test operations column. if (!empty($entity_types['entity_test_mulrev_changed'])) { $entity_types['entity_test_mulrev_changed'] ->setListBuilderClass(EntityListBuilder::class); } } /** * Implements hook_entity_operation(). */ function search_api_test_views_entity_operation(EntityInterface $entity) { if ($entity->getEntityTypeId() !== 'entity_test_mulrev_changed') { return []; } // For testing purpose we want to have one entity without operations. if ($entity->id() == 2) { return []; } $operations['edit'] = [ 'title' => t('Edit'), 'url' => $entity->toUrl('edit-form'), 'weight' => 0, ]; $operations['delete'] = [ 'title' => t('Delete'), 'url' => $entity->toUrl('delete-form'), 'weight' => 1, ]; return $operations; }