extractValueFromAttributes($data);
$iconSettings = RatingIcon::resolveSettings($data);
$iconSvg = RatingIcon::getResolvedIconSvg($data, [
'class' => 'ff-rating-icon-svg jss-ff-svg ff-svg',
]);
$ratingStyles = sprintf(
'--ff-rating-inactive-color: %s; --ff-rating-active-color: %s;',
esc_attr($iconSettings['inactive_color']),
esc_attr($iconSettings['active_color'])
);
$firstTabIndex = Helper::getNextTabIndex();
$elMarkup = "
";
$ratingText = '';
$selectedValues = array_filter(array_map('strval', $defaultValues), function ($value) {
return $value !== '';
});
$hasSelectedValue = !empty($selectedValues);
$optionIndex = 0;
foreach ($data['options'] as $value => $label) {
$starred = '';
$isSelected = in_array((string) $value, $selectedValues, true);
if ($isSelected) {
$data['attributes']['checked'] = true;
$starred = 'active';
} else {
$data['attributes']['checked'] = false;
}
$data['attributes']['tabindex'] = -1;
$atts = $this->buildAttributes($data['attributes']);
$id = esc_attr($this->getUniqueId(str_replace(['[', ']'], ['', ''], $data['attributes']['name'])));
$ariaRequired = 'false';
if (ArrayHelper::get($data, 'settings.validation_rules.required.value')) {
$ariaRequired = 'true';
}
$labelTabIndex = -1;
if ($isSelected || (!$hasSelectedValue && $optionIndex === 0)) {
$labelTabIndex = $firstTabIndex ?: 0;
}
$checked = $isSelected ? 'true' : 'false';
$elMarkup .= "';
if ('yes' == ArrayHelper::get($data, 'settings.show_text')) {
$displayDefaultText = $isSelected ? 'display: inline-block' : 'display: none';
$ratingText .= "" . fluentform_sanitize_html($label) . '';
}
$optionIndex++;
};
$elMarkup .= '
' . $ratingText;
$html = $this->buildElementMarkup($elMarkup, $data, $form);
$html = apply_filters_deprecated(
'fluentform_rendering_field_html_' . $elementName,
[
$html,
$data,
$form
],
FLUENTFORM_FRAMEWORK_UPGRADE,
'fluentform/rendering_field_html_' . $elementName,
'Use fluentform/rendering_field_html_' . $elementName . ' instead of fluentform_rendering_field_html_' . $elementName
);
$this->printContent('fluentform/rendering_field_html_' . $elementName, $html, $data, $form);
}
}