Merge pull request #41 from joshdentremont/2.x

update advanced search for new Drupal "once" function
This commit is contained in:
Rosie Le Faive 2023-10-17 14:07:59 -03:00 committed by GitHub
commit 79c929e53a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 14 additions and 27 deletions

View file

@ -3,6 +3,8 @@ advanced.search.admin:
js/advanced_search.admin.js: {}
dependencies:
- core/drupal.tabledrag
- core/jquery
- core/once
advanced.search.form:
js:

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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();
});

View file

@ -125,7 +125,7 @@ class AjaxBlocksController extends ControllerBase {
// 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);