Add link to view logs from the asset popup.

This commit is contained in:
paul121 2021-06-04 12:14:28 -07:00 committed by Michael Stenta
parent 027adf68a2
commit 7ec99e10f2
1 changed files with 27 additions and 0 deletions

View File

@ -5,6 +5,10 @@
* The farmOS UI Map module.
*/
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Url;
/**
* Implements hook_theme().
*/
@ -41,3 +45,26 @@ function farm_ui_map_module_implements_alter(&$implementations, $hook) {
$implementations = array_merge([$module => $group], $implementations);
}
}
/**
* Implements hook_ENTITY_TYPE_view().
*/
function farm_ui_map_asset_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
/** @var \Drupal\farm_entity\Plugin\Asset\AssetType\AssetTypeInterface $entity */
// Bail if not the map_popup view mode.
if ($view_mode !== 'map_popup') {
return $build;
}
// Build link to view logs referencing the asset.
$url = Url::fromRoute('view.farm_log.page_asset', ['asset' => $entity->id(), 'log_type' => 'all']);
$build['logs_links'] = [
'#type' => 'link',
'#title' => t('View logs'),
'#url' => $url,
'#weight' => -100,
];
return $build;
}