19 declare(strict_types=1);
37 $this->
setId(
'mark_schema_gui_' . $this->
object->getMarkSchemaForeignId());
43 $this->
setRowTemplate(
'tpl.il_as_tst_mark_schema_row.html',
'Modules/Test');
47 if ($this->
object->canEditMarks()) {
61 $this->
initJS($this->main_tpl);
67 $this->
addColumn($this->
lng->txt(
'tst_mark_short_form'),
'');
68 $this->
addColumn($this->
lng->txt(
'tst_mark_official_form'),
'');
69 $this->
addColumn($this->
lng->txt(
'tst_mark_minimum_level'),
'');
70 $this->
addColumn($this->
lng->txt(
'tst_mark_passed'),
'',
'1');
75 $this->
object->getMarkSchema()->sort();
79 $marks = $this->
object->getMarkSchema()->getMarkSteps();
80 foreach ($marks as
$key => $value) {
83 'mark_short' => $value->getShortName(),
84 'mark_official' => $value->getOfficialName(),
85 'mark_percentage' => $value->getMinimumLevel(),
86 'mark_passed' => $value->getPassed()
96 let form = document.querySelector('form[name=\"{$this->getFormName()}\"]'); 97 let button = form.querySelector('input[name=\"cmd[saveMarks]\"]'); 99 form.addEventListener('keydown', function (e) { 100 if (e.key === 'Enter') { 102 form.requestSubmit(button); 114 $short_name =
new ilTextInputGUI(
'',
'mark_short_' . $a_set[
'mark_id']);
115 $short_name->setValue($a_set[
'mark_short']);
116 $short_name->setDisabled(!$this->is_editable);
117 $short_name->setMaxLength(15);
118 $short_name->setSize(10);
120 $official_name =
new ilTextInputGUI(
'',
'mark_official_' . $a_set[
'mark_id']);
121 $official_name->setSize(20);
122 $official_name->setDisabled(!$this->
object->canEditMarks());
123 $official_name->setMaxLength(50);
124 $official_name->setValue($a_set[
'mark_official']);
126 $percentage =
new ilNumberInputGUI(
'',
'mark_percentage_' . $a_set[
'mark_id']);
127 $percentage->allowDecimals(
true);
128 $percentage->setValue((
string) $a_set[
'mark_percentage']);
129 $percentage->setSize(10);
130 $percentage->setDisabled(!$this->is_editable);
131 $percentage->setMinValue(0);
132 $percentage->setMaxValue(100);
134 $this->tpl->setVariable(
'VAL_MARK_ID', $a_set[
'mark_id']);
135 $this->tpl->setVariable(
139 $this->tpl->setVariable(
'VAL_SHORT_NAME', $short_name->render());
140 $this->tpl->setVariable(
'VAL_OFFICIAL_NAME', $official_name->render());
141 $this->tpl->setVariable(
'VAL_PERCENTAGE', $percentage->render());
142 $this->tpl->setVariable(
143 'VAL_PASSED_CHECKBOX',
145 (
bool) $a_set[
'mark_passed'],
146 'passed_' . $a_set[
'mark_id'],
setNoEntriesText(string $a_text)
__construct(ilMarkSchemaGUI $parent, string $cmd, ilMarkSchemaAware $object=null)
setFormAction(string $a_form_action, bool $a_multipart=false)
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setFormName(string $a_name="")
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setLimit(int $a_limit=0, int $a_default_limit=0)
ilMarkSchemaAware $object
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
disable(string $a_module_name)
addMultiCommand(string $a_cmd, string $a_text)
initJS(ilGlobalTemplateInterface $tpl)