From 3d0a938ee8569700bdcf1322aedf641697be0699 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Sat, 26 Sep 2015 17:34:14 +0200 Subject: [PATCH] Issue #2529748 by Chernous_dn, jhedstrom, cilefen, davidhernandez, olli, dpi, pixelite, dawehner, jhodgdon: Regression: Views module CSS is not attached --- core/modules/views/src/Element/View.php | 1 + core/modules/views/src/Tests/Plugin/StyleGridTest.php | 4 ++++ core/modules/views/src/Tests/ViewAjaxTest.php | 7 +++---- core/modules/views/src/ViewExecutable.php | 5 +---- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/core/modules/views/src/Element/View.php b/core/modules/views/src/Element/View.php index 62fc24cab13a..e12037ed2a49 100644 --- a/core/modules/views/src/Element/View.php +++ b/core/modules/views/src/Element/View.php @@ -51,6 +51,7 @@ public static function preRenderViewElement($element) { $view = $element['#view']; } + $element += $view->element; $view->element = &$element; // Mark the element as being prerendered, so other code like // \Drupal\views\ViewExecutable::setCurrentPage knows that its no longer diff --git a/core/modules/views/src/Tests/Plugin/StyleGridTest.php b/core/modules/views/src/Tests/Plugin/StyleGridTest.php index d5d7e60376cd..ea212ddde7bd 100644 --- a/core/modules/views/src/Tests/Plugin/StyleGridTest.php +++ b/core/modules/views/src/Tests/Plugin/StyleGridTest.php @@ -51,6 +51,10 @@ public function testGrid() { $this->assertGrid($view, $alignment, 2); $this->assertGrid($view, $alignment, 1); } + + // Ensure styles are properly added for grid views. + $this->drupalGet('test-grid'); + $this->assertRaw('views/css/views.module.css'); } /** diff --git a/core/modules/views/src/Tests/ViewAjaxTest.php b/core/modules/views/src/Tests/ViewAjaxTest.php index 35b5518b69f0..541b6ef4a992 100644 --- a/core/modules/views/src/Tests/ViewAjaxTest.php +++ b/core/modules/views/src/Tests/ViewAjaxTest.php @@ -55,13 +55,12 @@ public function testAjaxView() { $data = Json::decode($response); $this->assertTrue(isset($data[0]['settings']['views']['ajaxViews'])); - $this->assertEqual($data[1]['command'], 'add_css'); // Ensure that the view insert command is part of the result. - $this->assertEqual($data[2]['command'], 'insert'); - $this->assertTrue(strpos($data[2]['selector'], '.js-view-dom-id-') === 0); + $this->assertEqual($data[1]['command'], 'insert'); + $this->assertTrue(strpos($data[1]['selector'], '.js-view-dom-id-') === 0); - $this->setRawContent($data[2]['data']); + $this->setRawContent($data[1]['data']); $result = $this->xpath('//div[contains(@class, "views-row")]'); $this->assertEqual(count($result), 2, 'Ensure that two items are rendered in the HTML.'); } diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php index 3638c9cd45f0..0fe630c71104 100644 --- a/core/modules/views/src/ViewExecutable.php +++ b/core/modules/views/src/ViewExecutable.php @@ -403,7 +403,7 @@ class ViewExecutable implements \Serializable { */ public $element = [ '#attached' => [ - 'library' => [], + 'library' => ['views/views.module'], 'drupalSettings' => [], ], '#cache' => [], @@ -456,9 +456,6 @@ public function __construct(ViewEntityInterface $storage, AccountInterface $user $this->user = $user; $this->viewsData = $views_data; $this->routeProvider = $route_provider; - - // Add the default css for a view. - $this->element['#attached']['library'][] = 'views/views.module'; } /** -- GitLab