const mcqiImageDimensionBox = document.getElementById("demo-box"); const addQuestionForm = document.getElementById("add-question-form"); const editQuestionForm = document.getElementById("edit-question-form"); const extraOutputsContainer = document.getElementById("extra-outputs"); const sliderSelectContainer = document.getElementById("slider-select"); const typeSelect = document.getElementById("select_mapping_type"); const sliderRangeInput = document.getElementById("text_slider_range"); const minSlideRange = document.getElementById("min-slide-range"); const maxSlideRange = document.getElementById("max-slide-range"); const imageDimensions = document.getElementById("image-dimensions"); const imageWidth = document.getElementById("image-width"); const imageHeight = document.getElementById("image-height"); const dependsOnMainInput = document.getElementById("text_depends_on"); const dependsOnQuestionId = document.getElementById("depended_question_id"); const dependsOnAnswer = document.getElementById("depended_answer"); const outputVariableInput = document.getElementById("text_extra_output_variable"); if (addQuestionForm) { addQuestionForm.addEventListener("submit", function (event) { event.preventDefault(); if (dependsOnQuestionId.value && dependsOnAnswer.value) { let joinedStr = `${dependsOnQuestionId.value}|${dependsOnAnswer.value}`; dependsOnMainInput.value = joinedStr.trim(); } else { dependsOnMainInput.value = ""; } if (minSlideRange.value && maxSlideRange.value) { sliderRangeInput.value = `${minSlideRange.value}-${maxSlideRange.value}`; } let arrayOfExtras = []; const outputVariableExtrasContainer = document.querySelectorAll(".output-variable-container"); outputVariableExtrasContainer.forEach(function (extraContainer) { //get names and weights let currentExtraName = extraContainer.querySelector("select").value; let currentExtraWeight = extraContainer.querySelector(".extra-output-weight").value; if (currentExtraName && currentExtraWeight) { arrayOfExtras.push({ name: currentExtraName, weight: currentExtraWeight, }); } }); if (arrayOfExtras.length > 0) { outputVariableInput.value = JSON.stringify(arrayOfExtras); } else { outputVariableInput.value = "[]"; } this.submit(); }); } if (editQuestionForm) { editQuestionForm.addEventListener("submit", function (event) { event.preventDefault(); console.log("stopped"); if (dependsOnQuestionId.value && dependsOnAnswer.value) { let joinedStr = `${dependsOnQuestionId.value}|${dependsOnAnswer.value}`; dependsOnMainInput.value = joinedStr.trim(); } else { dependsOnMainInput.value = ""; } if (minSlideRange.value && maxSlideRange.value) { sliderRangeInput.value = `${minSlideRange.value}-${maxSlideRange.value}`; } let arrayOfExtras = []; const outputVariableExtrasContainer = document.querySelectorAll(".output-variable-container"); outputVariableExtrasContainer.forEach(function (extraContainer) { //get names and weights let currentExtraName = extraContainer.querySelector("select").value; let currentExtraWeight = extraContainer.querySelector(".extra-output-weight").value; if (currentExtraName && currentExtraWeight) { arrayOfExtras.push({ name: currentExtraName, weight: currentExtraWeight, }); } }); if (arrayOfExtras.length > 0) { outputVariableInput.value = JSON.stringify(arrayOfExtras); } else { outputVariableInput.value = "[]"; } this.submit(); }); } typeSelect.addEventListener("change", function () { let type = this.value; if (type == 6) { sliderSelectContainer.removeAttribute("hidden"); if (!sliderSelectContainer.classList.contains("required")) sliderSelectContainer.classList.add("required"); minSlideRange.setAttribute("required", "required"); maxSlideRange.setAttribute("required", "required"); } else if (type == 5) { imageDimensions.removeAttribute("hidden"); if (!imageDimensions.classList.contains("required")) imageDimensions.classList.add("required"); imageWidth.setAttribute("required", "required"); imageHeight.setAttribute("required", "required"); } else { sliderSelectContainer.setAttribute("hidden", "true"); sliderSelectContainer.classList.remove("required"); minSlideRange.removeAttribute("required"); maxSlideRange.removeAttribute("required"); imageDimensions.setAttribute("hidden", "true"); imageDimensions.classList.remove("required"); imageWidth.removeAttribute("required"); imageHeight.removeAttribute("required"); } }); function addExtraOutputVariable() { let options = ""; outputVariables.forEach(function (oV) { options += ``; }); let htmlTemplate = `