// Only import what we need: // https://getbootstrap.com/docs/5.1/customize/optimize/ // import "bootstrap/js/dist/alert"; import "bootstrap/js/dist/button"; // import "bootstrap/js/dist/carousel"; import "bootstrap/js/dist/collapse"; import "bootstrap/js/dist/dropdown"; // import "bootstrap/js/dist/modal"; // import "bootstrap/js/dist/offcanvas"; // import "bootstrap/js/dist/popover"; // import "bootstrap/js/dist/scrollspy"; import "bootstrap/js/dist/tab"; // import "bootstrap/js/dist/toast"; // import "bootstrap/js/dist/tooltip"; import jquery from "jquery" window.$ = window.jQuery = jquery; if (!process.env.BUILD_DEPLOY) { // get warnings for using deprecated jquery features require("jquery-migrate") } function dropdown_hover() { var navbar = $(this) .closest(".navbar"); if (navbar.length === 0 || navbar.find(".navbar-toggler") .is(":hidden")) { $(this) .children(".dropdown-toggle") .dropdown("toggle"); } } if (!("ontouchstart" in document.documentElement)) { $("ul.nav li.dropdown, ul.nav li.dropend") .on("mouseenter mouseleave", dropdown_hover); } // load data for the menu $.ajax({ url: $(document.body) .data("group-menu-data-url"), type: "GET", dataType: "json", success: function (data) { for (var parentId in data) { var attachTo = $(".group-menu.group-parent-" + parentId); if (attachTo.length == 0) { console.log("Could not find parent " + parentId); continue; } attachTo.find(".dropdown-menu") .remove(); var menu = ['"); for (var i = 0; i < attachTo.length; i++) { attachTo.closest(".dropdown-menu"); } attachTo.append(menu.join("")); } } }); // This used to be in doc-search.js; consolidate all JS in one file. $(document) .ready(function () { // search form var form = $("#search_form"); function anyAdvancedActive() { var advanced = false; var by = form.find("input[name=by]:checked"); if (by.length > 0) { by.closest(".search_field") .find("input,select") .not("input[name=by]") .each(function () { if (String.prototype.trim(this.value)) { advanced = true; } }); } var additional_doctypes = form.find("input.advdoctype:checked"); if (additional_doctypes.length > 0) { advanced = true; } return advanced; } function toggleSubmit() { var nameSearch = $("#id_name") .val() .trim(); form.find("button[type=submit]") .get(0) .disabled = !nameSearch && !anyAdvancedActive(); } function updateAdvanced() { form.find("input[name=by]:checked") .closest(".search_field") .find("input,select") .not("input[name=by]") .each(function () { this.disabled = false; this.focus(); }); form.find("input[name=by]") .not(":checked") .closest(".search_field") .find("input,select") .not("input[name=by]") .each(function () { this.disabled = true; }); toggleSubmit(); } if (form.length > 0) { form.find(".search_field input[name=by]") .closest(".search_field") .find("label,input") .on("click", updateAdvanced); form.find(".search_field input,select") .on("change click keyup", toggleSubmit); form.find(".toggle_advanced") .on("click", function () { var advanced = $(this) .next(); advanced.find('.search_field input[type="radio"]') .attr("checked", false); updateAdvanced(); }); updateAdvanced(); } });