From 8ec130bf8efcdf31ac619b3585f79ddf7445a257 Mon Sep 17 00:00:00 2001 From: Kyle Huynh Date: Mon, 6 Dec 2021 20:46:45 +0000 Subject: [PATCH] Change class name view-grid as default if no `?display=` in the URL Fixed the issue of unable to change sort dropdown of Search Result Pager --- islandora_advanced_search.module | 2 +- js/facets/facets-views-ajax.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/islandora_advanced_search.module b/islandora_advanced_search.module index ed751f0..635bc51 100644 --- a/islandora_advanced_search.module +++ b/islandora_advanced_search.module @@ -126,7 +126,7 @@ function islandora_advanced_search_preprocess_views_view(&$variables) { // has been created for. if (in_array([$view->id(), $view->current_display], $views)) { // Toggle between 'list' and 'grid' display depending on url parameter. - $format = \Drupal::request()->query->get('display') ?? 'list'; + $format = \Drupal::request()->query->get('display') ?? 'grid'; $variables['attributes']['class'][] = "view-{$format}"; $view->element['#attached']['library'][] = 'islandora_advanced_search/advanced.search.pager'; } diff --git a/js/facets/facets-views-ajax.js b/js/facets/facets-views-ajax.js index 71f7c20..d5c879d 100644 --- a/js/facets/facets-views-ajax.js +++ b/js/facets/facets-views-ajax.js @@ -132,6 +132,22 @@ window.history.pushState(null, document.title, $(this).attr("href")); }); + + /* digitalutsc added */ + $('.pager__sort select[name="order"]') + .once() + .change(function () { + var href = window.location.href; + var params = Drupal.Views.parseQueryString(href); + + var selection = $(this).val(); + var option = selection.split('_'); + params.sort_by = option[0]; + params.sort_order = option[1].toUpperCase(); + + href = href.split("?")[0] + "?" + $.param(params); + window.history.pushState(null, document.title, href); + }); // Trigger on sort change. $('[data-drupal-pager-id] select[name="order"]')