extractValueFromAttributes($data);
if($dynamicDefaultValue = ArrayHelper::get($data, 'settings.dynamic_default_value')) {
$parseValue = $this->parseEditorSmartCode($dynamicDefaultValue, $form);
if($parseValue) {
$defaultValues = (array) $parseValue;
}
}
$elMarkup = '';
$firstTabIndex = \FluentForm\App\Helpers\Helper::getNextTabIndex();
if(!$formattedOptions = ArrayHelper::get($data, 'settings.advanced_options')) {
$options = ArrayHelper::get($data, 'options', []);
$formattedOptions = [];
foreach($options as $value => $label) {
$formattedOptions[] = [
'label' => $label,
'value' => $value,
'calc_value' => '',
'image' => ''
];
}
}
$hasImageOption = ArrayHelper::get($data, 'settings.enable_image_input');
if($hasImageOption) {
$data['settings']['container_class'] .= '';
$elMarkup .= '
';
}
$data['settings']['container_class'] .= ' '.ArrayHelper::get($data, 'settings.layout_class');
foreach ($formattedOptions as $option) {
$displayType = isset($data['settings']['display_type']) ? ' ff-el-form-check-' . $data['settings']['display_type'] : '';
$parentClass = "ff-el-form-check{$displayType}";
if (in_array($option['value'], $defaultValues)) {
$data['attributes']['checked'] = true;
$parentClass .= ' ff_item_selected';
} else {
$data['attributes']['checked'] = false;
}
if($firstTabIndex) {
$data['attributes']['tabindex'] = $firstTabIndex;
$firstTabIndex = '-1';
}
$data['attributes']['value'] = $option['value'];
$data['attributes']['data-calc_value'] = ArrayHelper::get($option,'calc_value');
$atts = $this->buildAttributes($data['attributes']);
$id = $this->getUniqueid(str_replace(['[', ']'], ['', ''], $data['attributes']['name']));
if($hasImageOption) {
$parentClass .= ' ff-el-image-holder';
}
$elMarkup .= "
";
// Here we can push the visual items
if($hasImageOption) {
$elMarkup .= "";
}
$elMarkup .= "";
$elMarkup .= "
";
}
if($hasImageOption) {
$elMarkup .= '
';
}
$html = $this->buildElementMarkup($elMarkup, $data, $form);
echo apply_filters('fluenform_rendering_field_html_'.$elementName, $html, $data, $form);
}
}