feat: add support for TABLE_AUTO question type with table input rendering and auto-grading
This commit is contained in:
@@ -2,19 +2,21 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
function toggleCorrectAnswer(row) {
|
||||
const typeSelect = row.querySelector('select[name$="-question_type"]');
|
||||
const correctAnswerInput = row.querySelector('[name$="-correct_answer"]');
|
||||
const tableRowsInput = row.querySelector('[name$="-table_rows"]');
|
||||
|
||||
if (typeSelect && correctAnswerInput) {
|
||||
let wrapper = row.querySelector('.field-correct_answer');
|
||||
if (!wrapper) {
|
||||
// Find a suitable parent div to hide. Unfold puts fields in divs, often with mb-4 or similar.
|
||||
// We go up to the closest field group container.
|
||||
wrapper = correctAnswerInput.closest('.form-row') || correctAnswerInput.parentElement.parentElement;
|
||||
if (typeSelect) {
|
||||
if (correctAnswerInput) {
|
||||
let wrapper = row.querySelector('.field-correct_answer');
|
||||
if (!wrapper) wrapper = correctAnswerInput.closest('.form-row') || correctAnswerInput.parentElement.parentElement;
|
||||
if (wrapper) {
|
||||
wrapper.style.display = typeSelect.value === 'FILE_MANUAL' ? 'none' : '';
|
||||
}
|
||||
}
|
||||
if (wrapper) {
|
||||
if (typeSelect.value === 'FILE_MANUAL') {
|
||||
wrapper.style.display = 'none';
|
||||
} else {
|
||||
wrapper.style.display = '';
|
||||
if (tableRowsInput) {
|
||||
let wrapper = row.querySelector('.field-table_rows');
|
||||
if (!wrapper) wrapper = tableRowsInput.closest('.form-row') || tableRowsInput.parentElement.parentElement;
|
||||
if (wrapper) {
|
||||
wrapper.style.display = typeSelect.value === 'TABLE_AUTO' ? '' : 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user