-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
Evolution
We can't override the fields property "propertyOrder" returned by liform.
Suggestion
Currently this is what I use, it works good if you don't fail the fields order set. But my quick solution has multiple default, like more than one field can have the same position, don't have a lot of time to make a correct solution.
<?php
namespace AppBundle\Liform\Transformer;
use Symfony\Component\Form\FormInterface;
use Limenius\Liform\Transformer\CompoundTransformer as BaseCompoundTransformer;
class CompoundTransformer extends BaseCompoundTransformer
{
/** {@inheritdoc} */
public function transform(FormInterface $form, array $extensions = [], $widget = null)
{
$data = [];
$order = 1;
$required = [];
foreach ($form->all() as $name => $field) {
// ...
if ($field->getConfig()->getOption('liform')
&& isset($field->getConfig()->getOption('liform')['propertyOrder'])
) {
$transformedChild['propertyOrder'] = $field->getConfig()->getOption('liform')['propertyOrder'];
} else {
$transformedChild['propertyOrder'] = $order;
$order ++;
}
// ...
}
// ...
}
}Metadata
Metadata
Assignees
Labels
No labels