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 ((array) ArrayHelper::get($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); } }