Skip to content
Snippets Groups Projects

release: 3.0.0

Merged Krzysztof Dyszczyk requested to merge devel into master
1 file
+ 9
1
Compare changes
  • Side-by-side
  • Inline
@@ -2,6 +2,7 @@
namespace WPDesk\Forms\Renderer;
use WPDesk\Forms\Field;
use WPDesk\Forms\FieldProvider;
use WPDesk\Forms\FieldRenderer;
@@ -18,23 +19,25 @@ class JsonNormalizedRenderer implements FieldRenderer {
*
* @return array Normalized fields with data.
*/
public function render_fields( FieldProvider $provider, array $fields_data, $name_prefix = '' ) {
public function render_fields( FieldProvider $provider, array $fields_data, string $name_prefix = '' ): array {
$rendered_fields = [];
foreach ( $provider->get_fields() as $field ) {
$rendered = [
'name' => $field->get_name(),
'template' => $field->get_template_name(),
'multiple' => $field->is_multiple(),
'disabled' => $field->is_disabled(),
'readonly' => $field->is_readonly(),
'required' => $field->is_required(),
'prefix' => $name_prefix,
'value ' => isset( $fields_data[ $field->get_name() ] ) ? $fields_data[ $field->get_name() ] : $field->get_default_value()
];
if ( $field->has_classes() ) {
$rendered['class'] = $field->get_classes();
$fields = $provider->get_fields();
usort(
$fields,
static function ( Field $a, Field $b ) {
return $a->get_priority() <=> $b->get_priority();
}
);
foreach ( $fields as $field ) {
$rendered = [];
foreach ( $field->get_attributes() as $key => $attribute ) {
$rendered[ $key ] = $attribute;
}
$rendered['name'] = $field->get_name();
$rendered['template'] = $field->get_template_name();
$rendered['prefix'] = $name_prefix;
$rendered['value'] = $fields_data[ $field->get_name() ] ?? $field->get_default_value();
if ( $field->has_description() ) {
$rendered['description'] = $field->get_description();
}
@@ -44,9 +47,6 @@ class JsonNormalizedRenderer implements FieldRenderer {
if ( $field->has_label() ) {
$rendered['label'] = $field->get_label();
}
if ( $field->has_placeholder() ) {
$rendered['placeholder'] = $field->get_placeholder();
}
$options = $field->get_possible_values();
if ( $options ) {
$rendered['options'] = $options;
Loading