import { syncSelectInputUntilChanged, getEl, disableElementsWhenTrue, disableElementsWhenValueNotEqual, } from "./utils.js"; let syncData = [ { source: "#id_edition", source_value: "dataset.platform", target: "#id_platform", target_value: "value", }, ]; syncSelectInputUntilChanged(syncData, "form"); function setupElementHandlers() { disableElementsWhenTrue("#id_type", "game", [ "#id_name", "#id_related_purchase", ]); disableElementsWhenValueNotEqual( "#id_type", ["game", "dlc"], ["#id_date_finished"] ); } document.addEventListener("DOMContentLoaded", setupElementHandlers); document.addEventListener("htmx:afterSwap", setupElementHandlers); getEl("#id_type").onchange = () => { setupElementHandlers(); }; document.body.addEventListener("htmx:beforeRequest", function (event) { // Assuming 'Purchase1' is the element that triggers the HTMX request if (event.target.id === "id_edition") { var idEditionValue = document.getElementById("id_edition").value; // Condition to check - replace this with your actual logic if (idEditionValue != "") { event.preventDefault(); // This cancels the HTMX request } } });