Loading core/modules/media_library/media_library.module +2 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,8 @@ function media_library_views_post_render(ViewExecutable $view, &$output, CachePl $ajax_path = &$output['#attached']['drupalSettings']['views']['ajax_path']; $parsed_url = UrlHelper::parse($ajax_path); $query = array_merge($query, $parsed_url['query']); // Reset the pager so that the user starts on the first page. unset($query['page']); $ajax_path = $parsed_url['path'] . '?' . UrlHelper::buildQuery($query); } } Loading core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php +19 −2 Original line number Diff line number Diff line Loading @@ -116,7 +116,25 @@ public function testWidgetViews() { $assert_session->pageTextContains('Bear'); $assert_session->pageTextNotContains('Turtle'); // Assert the exposed filters can be applied. // Assert the exposed filters can be applied and page is reset from second // page. $page->clickLink('Next page'); $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2'); $page->fillField('Name', 'Bear'); $page->pressButton('Apply filters'); $assert_session->assertWaitOnAjaxRequest(); $assert_session->pageTextNotContains('Dog'); $assert_session->pageTextContains('Bear'); $assert_session->pageTextNotContains('Turtle'); // Test clearing the filters. $page->fillField('Name', ''); $page->pressButton('Apply filters'); $assert_session->waitForLink('Next page'); $page->clickLink('Next page'); $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2'); // Assert the exposed filters are persisted when changing display. $page->fillField('Name', 'Dog'); $page->pressButton('Apply filters'); $assert_session->assertWaitOnAjaxRequest(); Loading @@ -127,7 +145,6 @@ public function testWidgetViews() { $assert_session->linkExists('Table'); $this->switchToMediaLibraryGrid(); // Assert the exposed filters are persisted when changing display. $this->assertSame('Dog', $page->findField('Name')->getValue()); $assert_session->pageTextContains('Dog'); $assert_session->pageTextNotContains('Crocodile'); Loading Loading
core/modules/media_library/media_library.module +2 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,8 @@ function media_library_views_post_render(ViewExecutable $view, &$output, CachePl $ajax_path = &$output['#attached']['drupalSettings']['views']['ajax_path']; $parsed_url = UrlHelper::parse($ajax_path); $query = array_merge($query, $parsed_url['query']); // Reset the pager so that the user starts on the first page. unset($query['page']); $ajax_path = $parsed_url['path'] . '?' . UrlHelper::buildQuery($query); } } Loading
core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php +19 −2 Original line number Diff line number Diff line Loading @@ -116,7 +116,25 @@ public function testWidgetViews() { $assert_session->pageTextContains('Bear'); $assert_session->pageTextNotContains('Turtle'); // Assert the exposed filters can be applied. // Assert the exposed filters can be applied and page is reset from second // page. $page->clickLink('Next page'); $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2'); $page->fillField('Name', 'Bear'); $page->pressButton('Apply filters'); $assert_session->assertWaitOnAjaxRequest(); $assert_session->pageTextNotContains('Dog'); $assert_session->pageTextContains('Bear'); $assert_session->pageTextNotContains('Turtle'); // Test clearing the filters. $page->fillField('Name', ''); $page->pressButton('Apply filters'); $assert_session->waitForLink('Next page'); $page->clickLink('Next page'); $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2'); // Assert the exposed filters are persisted when changing display. $page->fillField('Name', 'Dog'); $page->pressButton('Apply filters'); $assert_session->assertWaitOnAjaxRequest(); Loading @@ -127,7 +145,6 @@ public function testWidgetViews() { $assert_session->linkExists('Table'); $this->switchToMediaLibraryGrid(); // Assert the exposed filters are persisted when changing display. $this->assertSame('Dog', $page->findField('Name')->getValue()); $assert_session->pageTextContains('Dog'); $assert_session->pageTextNotContains('Crocodile'); Loading