diff --git a/advanced_search.libraries.yml b/advanced_search.libraries.yml index 650343e..b1f5e24 100644 --- a/advanced_search.libraries.yml +++ b/advanced_search.libraries.yml @@ -3,6 +3,8 @@ advanced.search.admin: js/advanced_search.admin.js: {} dependencies: - core/drupal.tabledrag + - core/jquery + - core/once advanced.search.form: js: diff --git a/js/advanced_search.admin.js b/js/advanced_search.admin.js index e85a328..1338ad8 100644 --- a/js/advanced_search.admin.js +++ b/js/advanced_search.admin.js @@ -83,7 +83,7 @@ updateFieldWeights(table, regionName); }; - $(context).find('select.field-display').once('field-display').on('change', function (event) { + $(once('field-display', 'select.field-display', context)).on('change', function (event) { var row = $(this).closest('tr'); var select = $(this); diff --git a/js/advanced_search.form.js b/js/advanced_search.form.js index ae88ffa..15998c6 100644 --- a/js/advanced_search.form.js +++ b/js/advanced_search.form.js @@ -100,7 +100,7 @@ Drupal.behaviors.advanced_search_form = { attach: function (context, settings) { if (settings.advanced_search_form.id !== 'undefined') { - const $form = $('form#' + settings.advanced_search_form.id).once(); + const $form = $(once('search-form', 'form#' + settings.advanced_search_form.id)); if ($form.length > 0) { window.addEventListener("pushstate", function (e) { $form.attr('action', window.location.pathname + window.location.search); diff --git a/js/facets/facets-views-ajax.js b/js/facets/facets-views-ajax.js index ce50d3f..f918167 100644 --- a/js/facets/facets-views-ajax.js +++ b/js/facets/facets-views-ajax.js @@ -171,8 +171,11 @@ "-" + settings.view_display_id.replace(/_/g, "-") ); - exposed_form - .once() + $(once('exposed-form', + "form#views-exposed-form-" + + settings.view_name.replace(/_/g, "-") + + "-" + + settings.view_display_id.replace(/_/g, "-"))) .find("input[type=submit], input[type=image]") .not("[data-drupal-selector=edit-reset]") .each(function (index) { @@ -228,8 +231,7 @@ } // Attach behavior to pager, summary, facet links. - $("[data-drupal-pager-id], [data-drupal-facets-summary-id], [data-drupal-facet-id]") - .once() + $(once("new-window", "[data-drupal-pager-id], [data-drupal-facets-summary-id], [data-drupal-facet-id]")) .find("a:not(.facet-item)") .click(function (e) { // Let ctrl/cmd click open in a new window. @@ -244,37 +246,20 @@ window.history.pushState(null, document.title, $(this).attr("href")); }); - /* digitalutsc added */ - $('.pager__sort select[name="order"]') - .once() + // Trigger on sort change. + $(once('params-sort', '[data-drupal-pager-id] select[name="order"], .pager__sort select[name="order"]')) .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[option.length - 1].toUpperCase(); params.sort_by = selection.replace("_" + option[option.length - 1], ""); - href = href.split("?")[0] + "?" + $.param(params); window.history.pushState(null, document.title, href); }); - - // Trigger on sort change. - $('[data-drupal-pager-id] select[name="order"]') - .once() - .change(function () { - var href = window.location.href; - var params = Drupal.Views.parseQueryString(href); - var selection = $(this).val(); - var option = $('option[value="' + selection + '"]'); - params.sort_order = option.data("sort_order"); - params.sort_by = option.data("sort_by"); - href = href.split("?")[0] + "?" + $.param(params); - window.history.pushState(null, document.title, href); - }); }, }; })(jQuery, Drupal); diff --git a/js/facets/soft-limit.js b/js/facets/soft-limit.js index 69c455d..1f51d69 100644 --- a/js/facets/soft-limit.js +++ b/js/facets/soft-limit.js @@ -43,7 +43,7 @@ // Hide facets over the limit. facetsList.each(function () { - $(this).children('li:gt(' + zero_based_limit + ')').once('applysoftlimit').hide(); + $(once('applysoftlimit', $(this).children('li:gt(' + zero_based_limit + ')'))).hide(); }); diff --git a/src/Controller/AjaxBlocksController.php b/src/Controller/AjaxBlocksController.php index 74d1652..519ee7e 100644 --- a/src/Controller/AjaxBlocksController.php +++ b/src/Controller/AjaxBlocksController.php @@ -125,7 +125,7 @@ public function respond(Request $request) { // Rebuild the request and the current path, needed for facets. $path = $request->request->get('link'); - $blocks = $request->request->get('blocks'); + $blocks = $request->request->all('blocks'); // Make sure we are not updating blocks multiple times. $blocks = array_unique($blocks);