Compare commits

...
2 Commits
Author SHA1 Message Date
Wojtek c0a6253dbe Fix exam metadata field visibility 2026-10-14 22:38:23 +02:00
Wojtek 16e446a3c0 Hide optional exam metadata fields 2026-10-14 22:36:31 +02:00
7 changed files with 35 additions and 8 deletions
+1 -1
View File
@@ -17,6 +17,6 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
## Instalacja
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.4.0).
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.4.2).
Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**.
@@ -16,9 +16,9 @@
<option value="4">4</option><option value="5">5</option><option value="6">6</option>
<option value="7">7</option><option value="8">8</option><option value="9">9</option>
</field>
<field name="test_symbol" type="text" label="COM_TESTQUESTIONS_FIELD_TEST_SYMBOL" description="COM_TESTQUESTIONS_FIELD_TEST_SYMBOL_DESC" required="false" maxlength="100" filter="string" />
<field name="exam_year" type="number" label="COM_TESTQUESTIONS_FIELD_EXAM_YEAR" description="COM_TESTQUESTIONS_FIELD_EXAM_YEAR_DESC" required="false" min="1900" max="2100" filter="integer" />
<field name="question_number" type="number" label="COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER" description="COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER_DESC" required="false" min="1" max="9999" filter="integer" />
<field name="test_symbol" type="text" label="COM_TESTQUESTIONS_FIELD_TEST_SYMBOL" required="false" maxlength="100" filter="string" />
<field name="exam_year" type="number" label="COM_TESTQUESTIONS_FIELD_EXAM_YEAR" required="false" min="1900" max="2100" filter="integer" />
<field name="question_number" type="number" label="COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER" required="false" min="1" max="9999" filter="integer" />
<field name="question_type" type="list" label="COM_TESTQUESTIONS_FIELD_TYPE" default="closed" required="true">
<option value="closed">COM_TESTQUESTIONS_TYPE_CLOSED</option>
<option value="open">COM_TESTQUESTIONS_TYPE_OPEN</option>
@@ -8,11 +8,8 @@ COM_TESTQUESTIONS_FIELD_CATEGORY="Kategoria"
COM_TESTQUESTIONS_FIELD_TIME_LIMIT="Czas na odpowiedź"
COM_TESTQUESTIONS_FIELD_POINTS="Liczba punktów"
COM_TESTQUESTIONS_FIELD_TEST_SYMBOL="Symbol testu"
COM_TESTQUESTIONS_FIELD_TEST_SYMBOL_DESC="Opcjonalny symbol arkusza lub testu egzaminacyjnego."
COM_TESTQUESTIONS_FIELD_EXAM_YEAR="Rok egzaminu"
COM_TESTQUESTIONS_FIELD_EXAM_YEAR_DESC="Opcjonalny rok przeprowadzenia egzaminu."
COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER="Numer pytania"
COM_TESTQUESTIONS_FIELD_QUESTION_NUMBER_DESC="Opcjonalny numer pytania w arkuszu egzaminacyjnym."
COM_TESTQUESTIONS_MANAGE_CATEGORIES="Kategorie"
COM_TESTQUESTIONS_FILTER_CATEGORY="Wszystkie kategorie"
COM_TESTQUESTIONS_CATEGORIES="Kategorie pytań"
@@ -0,0 +1 @@
-- Hide exam year and question number until a test symbol is entered.
@@ -0,0 +1 @@
-- Toggle exam metadata fields based on the test symbol in the question form.
@@ -34,3 +34,31 @@ defined('_JEXEC') or die;
<input type="hidden" name="task" value="question.save">
<?php echo Joomla\CMS\HTML\HTMLHelper::_('form.token'); ?>
</form>
<script>
document.addEventListener('DOMContentLoaded', function () {
const symbol = document.getElementById('jform_test_symbol');
const fields = ['jform_exam_year', 'jform_question_number'];
if (!symbol) {
return;
}
const toggleExamFields = function () {
const show = symbol.value.trim() !== '';
fields.forEach(function (id) {
const field = document.getElementById(id);
const wrapper = field ? field.closest('.control-group, .form-group') : null;
if (wrapper) {
wrapper.classList.toggle('hidden', !show);
wrapper.style.display = show ? '' : 'none';
}
});
};
symbol.addEventListener('input', toggleExamFields);
symbol.addEventListener('change', toggleExamFields);
toggleExamFields();
});
</script>
+1 -1
View File
@@ -4,7 +4,7 @@
<creationDate>2026-10-14</creationDate>
<author>Komponent</author>
<license>GNU General Public License version 2 or later</license>
<version>1.4.0</version>
<version>1.4.2</version>
<description>COM_TESTQUESTIONS_DESCRIPTION</description>
<element>com_testquestions</element>
<namespace path="src">Komponent\Component\Testquestions</namespace>