Painbaker
Well-known member
- Affected version
- 2.3.6
The
Checkbox renderer does not call processAttributeToNamedHtmlAttribute() for listitemclass. Instead, it hardcodes the class as inputChoices-choice in the li element:
Radio renderer:
Checkbox renderer:
listitemclass
attribute in the checkbox tag processor is ignored. This attribute is expected to behave similarly to the radio tag processor.Checkbox renderer does not call processAttributeToNamedHtmlAttribute() for listitemclass. Instead, it hardcodes the class as inputChoices-choice in the li element:
Radio renderer:
PHP:
public function formRadio(array $controlOptions, array $choices)
{
....
$choiceFormatter = function (array $choice, array $dependent) use ($name, $readOnly, $value, $standalone)
{
....
$listItemClass = $this->processAttributeToNamedHtmlAttribute($choice, 'listitemclass', 'class', 'inputChoices-choice', true);
$attributes = $this->processUnhandledAttributes($choice);
if ($label !== '')
{
$label = "<span class=\"iconic-label\">{$label}</span>";
}
$radioHtml = "<label class=\"{$labelClass}\"{$titleAttr}{$tooltipAttr}>"
. "<input type=\"radio\" name=\"$name\"{$valueAttr}{$selectedAttr}{$readOnlyAttr}{$attributes} />"
. "<i aria-hidden=\"true\"></i>{$label}</label>{$hint}{$dependentHtml}{$extraHtml}{$afterHint}";
if ($standalone)
{
return $radioHtml . "\n";
}
else
{
return "<li{$listItemClass}>{$radioHtml}</li>\n";
}
....
};
}
Checkbox renderer:
PHP:
public function formCheckBox(array $controlOptions, array $choices)
{
...
$choiceFormatter = function (array $choice, array $dependent) use ($name, $readOnly, $value, $standalone)
{
...
$attributes = $this->processUnhandledAttributes($choice);
if ($label !== '')
{
$label = "<span class=\"iconic-label\">{$label}</span>";
}
$checkboxHtml = $defaultValueInput . "<label class=\"{$labelClass}\"{$titleAttr}{$tooltipAttr}>"
. "<input type=\"checkbox\" {$nameAttr}{$valueAttr}{$selectedAttr}{$readOnlyAttr}{$attributes} />"
. "<i aria-hidden=\"true\"></i>{$label}</label>{$hint}{$extraHtml}{$dependentHtml}{$afterHint}{$afterHtml}";
if ($standalone)
{
return $checkboxHtml . "\n";
}
else
{
return "<li class=\"inputChoices-choice\">{$checkboxHtml}</li>\n"; // <----
}
....
};
...
}