/** * Get available widgets for placement. * * @param string $placement * @return array */ public function getWidgetDefinitions($placement) { $definitions = $this->widgetDefinitionsRegistry->getWidgetDefinitionsByPlacement($placement)->toArray(); foreach ($definitions as &$definition) { $definition['title'] = $this->translator->trans($definition['title']); } return $definitions; }
/** * Get available widgets for placement. * * @param string $placement * @return array */ public function getWidgetDefinitions($placement) { /** @var PackageInterface $assetHelper */ $assetHelper = $this->container->get('templating.helper.assets'); $definitions = $this->widgetDefinitionsRegistry->getWidgetDefinitionsByPlacement($placement)->toArray(); foreach ($definitions as &$definition) { $definition['icon'] = $assetHelper->getUrl($definition['icon']); } return $definitions; }
/** * @dataProvider configurationDataProvider * @param array $definitions * @param string $placement * @param array $expected */ public function testGetWidgetDefinitionsByPlacement(array $definitions, $placement, array $expected) { $registry = new WidgetDefinitionRegistry($definitions); $actual = $registry->getWidgetDefinitionsByPlacement($placement); $this->assertInstanceOf('Doctrine\\Common\\Collections\\Collection', $actual); $this->assertEquals($expected, $actual->toArray()); }
/** * @dataProvider configurationDataProvider * @param array $definitions * @param string $placement * @param array $expected */ public function testGetWidgetDefinitionsByPlacement(array $definitions, $placement, array $expected) { $registry = new WidgetDefinitionRegistry($definitions); $actual = $registry->getWidgetDefinitionsByPlacement($placement); $this->assertInstanceOf('Doctrine\\Common\\Collections\\Collection', $actual); $this->assertEquals($expected, $actual->toArray()); $additionalDefinition = ['last' => ['icon' => 'icon.png']]; $registry->setWidgetDefinitions($additionalDefinition); $this->assertEquals(array_merge($definitions, $additionalDefinition), $registry->getWidgetDefinitions()->toArray()); }