You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

62 lines
2.4 KiB

/**
* @file
* Custom behavior to swap the sidebar toggle icon for a search icon.
*/
(function (Drupal, once) {
Drupal.behaviors.customSearchIconSwap = {
attach: function (context, settings) {
// Use 'once' to ensure we only run this once per element.
// We target the specific Material UI icon inside the 'Toggle sidebar' button.
const elements = once(
"search-icon-swap",
'button[aria-label="Toggle sidebar"] svg.MuiSvgIcon-root',
context
);
elements.forEach(function (svg) {
const path = svg.querySelector("path");
const searchPathData =
"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z";
if (path) {
path.setAttribute("d", searchPathData);
}
});
},
};
})(Drupal, once);
//This code waits for the viewer to load with the search panel open, then it closes the search 'companion window'
//leaving the search icon visible. This combo is not available in the configs
// window.addEventListener("load", () => {
// const tryInit = (attempts = 0) => {
// const searchPanel = document.querySelector("div.mirador31");
// const searchPanelToggle = document.querySelector("button.mirador34");
//
// if (!searchPanel || !searchPanelToggle) {
// if (attempts < 20) setTimeout(() => tryInit(attempts + 1), 250);
// return;
// }
//
// searchPanel.style.display = "none";
// searchPanel.style.visibility = "hidden";
// searchPanelToggle.setAttribute("aria-expanded", "false");
// searchPanelToggle.setAttribute("aria-label", "Expand sidebar");
// searchPanelToggle.setAttribute("title", "Expand sidebar");
// searchPanelToggle.click();
// };
//
// tryInit();
// });
window.addEventListener("load", (event) => {
document
.querySelector(
"button[aria-label='Toggle sidebar'] svg.MuiSvgIcon-root path"
)
.setAttribute(
"d",
"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
); // find elements
});