| @@ -217,8 +217,14 @@ | ||
| 217 | 217 | private static function get_classes_for_builder_field( $field, $display, $field_info ) { |
| 218 | 218 | $li_classes = $field_info->form_builder_classes( $display['type'] ); |
| 219 | 219 | $li_classes .= ' frm_form_field frmstart '; |
| 220 | 220 | |
| 221 | + $style_align_class = self::get_builder_field_style_align_class( $field, $field_info ); | |
| 222 | + | |
| 223 | + if ( $style_align_class ) { | |
| 224 | + $li_classes .= $style_align_class . ' '; | |
| 225 | + } | |
| 226 | + | |
| 221 | 227 | if ( isset( $field['classes'] ) ) { |
| 222 | 228 | $li_classes .= trim( $field['classes'] ) . ' '; |
| 223 | 229 | } |
| 224 | 230 | |
| @@ -228,8 +234,39 @@ | ||
| 228 | 234 | return apply_filters( 'frm_build_field_class', $li_classes, $field ); |
| 229 | 235 | } |
| 230 | 236 | |
| 231 | 237 | return $li_classes; |
| 238 | + } | |
| 239 | + | |
| 240 | + /** | |
| 241 | + * Apply the active style alignment to a radio or checkbox builder preview on load. | |
| 242 | + * | |
| 243 | + * The per-field alignment setting only exists in Pro, so on load the style setting is | |
| 244 | + * used. When the field has an explicit alignment (Pro), the frm_build_field_class filter | |
| 245 | + * applies it instead. When Pro is not installed, any saved alignment is treated as empty. | |
| 246 | + * | |
| 247 | + * @since 6.32 | |
| 248 | + * | |
| 249 | + * @param array $field | |
| 250 | + * @param FrmFieldType $field_info | |
| 251 | + * | |
| 252 | + * @return string | |
| 253 | + */ | |
| 254 | + private static function get_builder_field_style_align_class( $field, $field_info ) { | |
| 255 | + if ( ! $field || ! is_array( $field ) || ( ! FrmField::is_radio( $field ) && ! FrmField::is_checkbox( $field ) ) ) { | |
| 256 | + return ''; | |
| 257 | + } | |
| 258 | + | |
| 259 | + $align = FrmAppHelper::pro_is_installed() ? FrmField::get_option( $field, 'align' ) : ''; | |
| 260 | + | |
| 261 | + if ( $align ) { | |
| 262 | + return ''; | |
| 263 | + } | |
| 264 | + | |
| 265 | + $align = FrmStylesHelper::get_align_from_active_style( $field ); | |
| 266 | + $field_info->prepare_align_class( $align ); | |
| 267 | + | |
| 268 | + return $align; | |
| 232 | 269 | } |
| 233 | 270 | |
| 234 | 271 | public static function destroy() { |
| 235 | 272 | FrmAppHelper::permission_check( 'frm_edit_forms' ); |