19 declare(strict_types=1);
60 $this->
setId(
'tst_skl_lev_thr_' . $testId);
66 $this->
lng->loadLanguageModule(
'form');
68 $this->
setStyle(
'table',
'fullwidth');
70 $this->
setRowTemplate(
"tpl.tst_skl_thresholds_row.html",
"components/ILIAS/Test");
73 #$this->disable('sort'); 84 $this->
lng->txt(
'tst_save_thresholds')
90 $this->
addColumn($this->
lng->txt(
'tst_competence'),
'competence',
'50%');
93 $this->
addColumn($this->
lng->txt(
'tst_num_questions'),
'',
'10%');
94 $this->
addColumn($this->
lng->txt(
'tst_max_comp_points'),
'',
'10%');
97 $this->
addColumn($this->
lng->txt(
'tst_level'),
'',
'10%');
98 $this->
addColumn($this->
lng->txt(
'tst_threshold'),
'',
'10%');
103 $skill = $a_set[
'skill'];
104 $levels = $skill->getLevelData();
107 $this->tpl->setCurrentBlock(
'quest_assign_info');
108 $this->tpl->setVariable(
'ROWSPAN', $this->
getRowspan(count($levels)));
109 $this->tpl->setVariable(
'NUM_QUESTIONS', $a_set[
'num_assigns']);
110 $this->tpl->setVariable(
'MAX_COMP_POINTS', $a_set[
'max_points']);
111 $this->tpl->parseCurrentBlock();
114 $this->tpl->setCurrentBlock(
'competence');
115 $this->tpl->setVariable(
'ROWSPAN', $this->
getRowspan(count($levels)));
116 $this->tpl->setVariable(
'COMPETENCE', $a_set[
'competence']);
117 $this->tpl->parseCurrentBlock();
121 $this->tpl->setCurrentBlock(
'tbl_content');
123 for ($i = 0, $max = count($levels); $i < $max; $i++) {
124 $level = $levels[$i];
126 $this->tpl->setVariable(
'LEVEL', $level[
'title']);
129 $a_set[
'skill_base_id'],
130 $a_set[
'skill_tref_id'],
134 if ($i < ($max - 1)) {
135 $this->tpl->parseCurrentBlock();
136 $this->tpl->setVariable(
"CSS_ROW", $this->css_row);
137 $this->tpl->setVariable(
"CSS_NO_BORDER",
'ilBorderlessRow');
144 return 'threshold_' . $row[
'skill_base_id'] .
':' . $row[
'skill_tref_id'];
149 if ($numLevels == 0) {
165 if (!in_array(
$id, $idFilter)) {
169 $skill = $data[
'skill'];
170 $levels = $skill->getLevelData();
171 for ($i = 0, $max = count($levels); $i < $max; $i++) {
172 $level = $levels[$i];
175 $data[
'skill_base_id'],
176 $data[
'skill_tref_id'],
187 $skillKey = $skillBaseId .
':' . $skillTrefId;
189 if (isset($this->input_elements_by_id[$skillKey][$skillLevelId])) {
190 return $this->input_elements_by_id[$skillKey][$skillLevelId];
193 $threshold = $this->skillLevelThresholdList->getThreshold($skillBaseId, $skillTrefId, $skillLevelId);
195 $thresholdValue = $threshold->getThreshold();
197 $thresholdValue =
'';
200 $value =
new ilNumberInputGUI(
'',
'threshold_' . $skillKey .
'_' . $skillLevelId);
201 $value->setValue((
string) $thresholdValue);
203 $value->setMinValue(0);
204 $value->setMaxValue(100);
205 $value->setRequired(
true);
207 if (!isset($this->input_elements_by_id[$skillKey])) {
208 $this->input_elements_by_id[$skillKey] = [];
211 $this->input_elements_by_id[$skillKey][$skillLevelId] = $value;
218 foreach ($rows as $key => $row) {
220 $row[
'skill']->
getId(),
221 $row[
'skill_tref_id']
areQuestionAssignmentColumnsEnabled()
buildUniqueRecordIdentifier(array $row)
buildThresholdInput($skillBaseId, $skillTrefId, $skillLevelId)
enable(string $a_module_name)
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="")
getSkillLevelThresholdList()
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
setQuestionAssignmentColumnsEnabled(bool $questionAssignmentColumnsEnabled)
setStyle(string $a_element, string $a_style)
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
addHiddenInput(string $a_name, string $a_value)
setDefaultOrderField(string $a_defaultorderfield)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setDefaultOrderDirection(string $a_defaultorderdirection)
array $input_elements_by_id
ilTestSkillLevelThresholdList $skillLevelThresholdList
setSkillLevelThresholdList(ilTestSkillLevelThresholdList $skillLevelThresholdList)
__construct(Container $dic, ilPlugin $plugin)
__construct($parentOBJ, $testId, $parentCmd, ilCtrlInterface $ctrl, ilLanguage $lng)
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)
const CMD_SAVE_SKILL_THRESHOLDS
bool $questionAssignmentColumnsEnabled
getInputElements(array $idFilter)
completeCompetenceTitles(array $rows)
getFormAction(object $a_gui_obj, ?string $a_fallback_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
Returns a form action link for the given information.