Kaynağa Gözat

Handle Symfony BC for Datagrid hidden types (#4021)

Sullivan SENECHAL 9 yıl önce
ebeveyn
işleme
cd54b2af04
1 değiştirilmiş dosya ile 9 ekleme ve 4 silme
  1. 9 4
      Datagrid/Datagrid.php

+ 9 - 4
Datagrid/Datagrid.php

@@ -126,7 +126,12 @@ class Datagrid implements DatagridInterface
             $this->formBuilder->add($filter->getFormName(), $type, $options);
         }
 
-        $this->formBuilder->add('_sort_by', 'hidden');
+        // NEXT_MAJOR: Remove BC trick when bumping Symfony requirement to 2.8+
+        $hiddenType = method_exists('Symfony\Component\Form\AbstractType', 'getBlockPrefix')
+            ? 'Symfony\Component\Form\Extension\Core\Type\HiddenType'
+            : 'hidden';
+
+        $this->formBuilder->add('_sort_by', $hiddenType);
         $this->formBuilder->get('_sort_by')->addViewTransformer(new CallbackTransformer(
             function ($value) {
                 return $value;
@@ -136,9 +141,9 @@ class Datagrid implements DatagridInterface
             }
         ));
 
-        $this->formBuilder->add('_sort_order', 'hidden');
-        $this->formBuilder->add('_page', 'hidden');
-        $this->formBuilder->add('_per_page', 'hidden');
+        $this->formBuilder->add('_sort_order', $hiddenType);
+        $this->formBuilder->add('_page', $hiddenType);
+        $this->formBuilder->add('_per_page', $hiddenType);
 
         $this->form = $this->formBuilder->getForm();
         $this->form->submit($this->values);