From d18dd7fc3f69a8e8935ae37b3cc61f642f04ebcf Mon Sep 17 00:00:00 2001 From: Bart Jaskulski <bjaskulski@protonmail.com> Date: Tue, 19 Jul 2022 03:20:43 +0200 Subject: [PATCH] feat: sort fields in JsonRenderer --- src/Renderer/JsonNormalizedRenderer.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Renderer/JsonNormalizedRenderer.php b/src/Renderer/JsonNormalizedRenderer.php index 008168a..da9e1f8 100644 --- a/src/Renderer/JsonNormalizedRenderer.php +++ b/src/Renderer/JsonNormalizedRenderer.php @@ -2,6 +2,7 @@ namespace WPDesk\Forms\Renderer; +use WPDesk\Forms\Field; use WPDesk\Forms\FieldProvider; use WPDesk\Forms\FieldRenderer; @@ -20,7 +21,14 @@ class JsonNormalizedRenderer implements FieldRenderer { */ public function render_fields( FieldProvider $provider, array $fields_data, string $name_prefix = '' ): array { $rendered_fields = []; - foreach ( $provider->get_fields() as $field ) { + $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; -- GitLab