Esempio n. 1
0
 public function testGetWidgetAttributesForTwig()
 {
     $expectedWidgetName = 'widget_name';
     $configs = ['route' => 'sample route', 'route_parameters' => 'sample params', 'acl' => 'view_acl', 'items' => [], 'test-param' => 'param', 'configuration' => []];
     $expected = ['widgetName' => $expectedWidgetName, 'widgetTestParam' => 'param', 'widgetConfiguration' => []];
     $this->configProvider->expects($this->once())->method('getWidgetConfig')->with($expectedWidgetName)->will($this->returnValue($configs));
     $actual = $this->target->getWidgetAttributesForTwig($expectedWidgetName);
     $this->assertEquals($expected, $actual);
 }
 /**
  * @param FormEvent $event
  */
 public function preSet(FormEvent $event)
 {
     $widgetName = $event->getForm()->getConfig()->getOption('widget_name');
     $attributes = $this->widgetConfigs->getWidgetAttributesForTwig($widgetName);
     $dataItems = $attributes['widgetDataItems'];
     $originalData = $this->getIndexedData($event->getData());
     $data = [];
     $order = 1;
     foreach ($dataItems as $id => $item) {
         $oldItem = isset($originalData[$id]) ? $originalData[$id] : null;
         $data[$id] = ['id' => $id, 'label' => $this->translator->trans($item['label']), 'show' => $oldItem ? $oldItem['show'] : !$originalData, 'order' => $oldItem ? $oldItem['order'] : $order];
         $order++;
     }
     usort($data, function ($a, $b) {
         return $a['order'] - $b['order'];
     });
     $event->setData(['items' => array_values($data)]);
 }