Skip to content

Commit

Permalink
Merge to last code
Browse files Browse the repository at this point in the history
  • Loading branch information
rominail committed Jan 16, 2025
1 parent da72b24 commit 8eee075
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
14 changes: 14 additions & 0 deletions themes/bootstrap3/js/facets.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
const activation_event = 'facet-selection-begin';
const deactivation_event = 'facet-selection-cancel';
const apply_event = 'facet-selection-done';
const local_storage_variable_name = 'multi-facets-selection';

/**
* Normalize a filter value
Expand Down Expand Up @@ -303,9 +304,21 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
toggleSelectedFacetStyle(elem);
}

function saveUserSelectionLastState(state) {
localStorage.setItem(local_storage_variable_name, state ? 'true' : 'false');
}

function getUserSelectionLastState() {
return localStorage.getItem(local_storage_variable_name) === 'true';
}

function toggleMultiFacetsSelection(enable) {
if (typeof enable !== 'undefined') {
if (isMultiFacetsSelectionActivated === enable) {
return;
}
isMultiFacetsSelectionActivated = enable;
saveUserSelectionLastState(isMultiFacetsSelectionActivated);
}
document.querySelectorAll('.multi-facet-selection').forEach( el => el.classList.toggle('multi-facet-selection-active', isMultiFacetsSelectionActivated) );
const checkboxes = document.getElementsByClassName('js-user-selection-multi-filters');
Expand Down Expand Up @@ -344,6 +357,7 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
const activationElem = context.querySelector('.js-user-selection-multi-filters');
if (activationElem) {
activationElem.addEventListener('change', function multiFacetSelectionChange() { toggleMultiFacetsSelection(this.checked); } );
toggleMultiFacetsSelection(getUserSelectionLastState());
}
// Listener on apply filters button
const applyElem = context.querySelector('.js-apply-multi-facets-selection');
Expand Down
14 changes: 14 additions & 0 deletions themes/bootstrap5/js/facets.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
const activation_event = 'facet-selection-begin';
const deactivation_event = 'facet-selection-cancel';
const apply_event = 'facet-selection-done';
const local_storage_variable_name = 'multi-facets-selection';

/**
* Normalize a filter value
Expand Down Expand Up @@ -303,9 +304,21 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
toggleSelectedFacetStyle(elem);
}

function saveUserSelectionLastState(state) {
localStorage.setItem(local_storage_variable_name, state ? 'true' : 'false');
}

function getUserSelectionLastState() {
return localStorage.getItem(local_storage_variable_name) === 'true';
}

function toggleMultiFacetsSelection(enable) {
if (typeof enable !== 'undefined') {
if (isMultiFacetsSelectionActivated === enable) {
return;
}
isMultiFacetsSelectionActivated = enable;
saveUserSelectionLastState(isMultiFacetsSelectionActivated);
}
document.querySelectorAll('.multi-facet-selection').forEach( el => el.classList.toggle('multi-facet-selection-active', isMultiFacetsSelectionActivated) );
const checkboxes = document.getElementsByClassName('js-user-selection-multi-filters');
Expand Down Expand Up @@ -344,6 +357,7 @@ VuFind.register('multiFacetsSelection', function multiFacetsSelection() {
const activationElem = context.querySelector('.js-user-selection-multi-filters');
if (activationElem) {
activationElem.addEventListener('change', function multiFacetSelectionChange() { toggleMultiFacetsSelection(this.checked); } );
toggleMultiFacetsSelection(getUserSelectionLastState());
}
// Listener on apply filters button
const applyElem = context.querySelector('.js-apply-multi-facets-selection');
Expand Down

0 comments on commit 8eee075

Please sign in to comment.