From 0fed097ae6e19e97c7b3819b79d947e246bd3d8d Mon Sep 17 00:00:00 2001
From: webchick <drupal@webchick.net>
Date: Fri, 4 Oct 2019 15:00:07 -0700
Subject: [PATCH] Issue #3062375 by bnjmnm, gease, seanB, Wim Leers: Media
 library item loses focus when hovering over item's title

---
 .../media_library/css/media_library.module.css    |  3 ++-
 core/modules/media_library/media_library.module   | 15 ++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/core/modules/media_library/css/media_library.module.css b/core/modules/media_library/css/media_library.module.css
index e0d790b0cf4c..4503b0e4c4d1 100644
--- a/core/modules/media_library/css/media_library.module.css
+++ b/core/modules/media_library/css/media_library.module.css
@@ -47,8 +47,9 @@
   position: relative;
 }
 
-.media-library-item .js-click-to-select-trigger {
+.media-library-item .click-to-select-trigger {
   overflow: hidden;
+  height: 100%;
   cursor: pointer;
 }
 
diff --git a/core/modules/media_library/media_library.module b/core/modules/media_library/media_library.module
index 860035e72b8e..076ba091df54 100644
--- a/core/modules/media_library/media_library.module
+++ b/core/modules/media_library/media_library.module
@@ -115,13 +115,26 @@ function media_library_preprocess_media(&$variables) {
       'language' => $media->language(),
     ]);
     $variables['preview_attributes'] = new Attribute();
-    $variables['preview_attributes']->addClass('media-library-item__preview', 'js-media-library-item-preview', 'js-click-to-select-trigger');
+    $variables['preview_attributes']->addClass('media-library-item__preview', 'js-media-library-item-preview');
     $variables['metadata_attributes'] = new Attribute();
     $variables['metadata_attributes']->addClass('media-library-item__attributes');
     $variables['status'] = $media->isPublished();
   }
 }
 
+/**
+ * Implements hook_preprocess_views_view_fields().
+ */
+function media_library_preprocess_views_view_fields(&$variables) {
+  // Add classes to media rendered entity field so it can be targeted for
+  // styling and JavaScript mouseover and click events.
+  if ($variables['view']->id() === 'media_library' && isset($variables['fields']['rendered_entity'])) {
+    if (isset($variables['fields']['rendered_entity']->wrapper_attributes)) {
+      $variables['fields']['rendered_entity']->wrapper_attributes->addClass('js-click-to-select-trigger click-to-select-trigger');
+    }
+  }
+}
+
 /**
  * Alter the bulk form to add a more accessible label.
  *
-- 
GitLab