/** * Returns a list of items for the given widget * * @param string $widgetName The name of widget * * @return array */ public function getWidgetItems($widgetName) { $widgetConfig = $this->configProvider->getWidgetConfig($widgetName); $items = isset($widgetConfig['items']) ? $widgetConfig['items'] : []; $items = $this->filterWidgets($items); return $items; }
public function testAddWidget() { $widgets = $this->configProvider->getWidgetConfigs(); $widgetNames = array_keys($widgets); $widgetName = $widgetNames[0]; $id = $this->widget->getDashboard()->getId(); $this->client->request('POST', $this->getUrl('oro_api_post_dashboard_widget_add_widget'), array('dashboardId' => $id, 'widgetName' => $widgetName)); $content = $this->getJsonResponseContent($this->client->getResponse(), 200); $this->assertEquals($this->configProvider->getWidgetConfig($widgetName), $content['config']); $this->assertEquals($widgetName, $content['name']); }
/** * @param string $widget * * @return FormInterface * @throws InvalidArgumentException */ public function getForm($widget) { if (!$this->hasForm($widget)) { throw new InvalidArgumentException(sprintf('Can\'t find form for widget "%s"', $widget)); } $widgetConfig = $this->configProvider->getWidgetConfig($widget); $fields = $widgetConfig[static::FORM_FIELDS_KEY]; $builder = $this->formFactory->createNamedBuilder($widget); foreach ($fields as $name => $config) { $field = new FieldNodeDefinition($name, $config); $builder->add($field->getName(), $config['type'], $field->getOptions()); } return $builder->getForm(); }
/** * @param array $configs * @param EventDispatcherInterface $eventDispatcher */ public function __construct(array $configs, EventDispatcherInterface $eventDispatcher) { $this->configs = $configs; $this->eventDispatcher = $eventDispatcher; $this->disableWidgets(); parent::__construct($this->configs, $eventDispatcher); }
/** * @param Widget $widget * @return array */ public function getFormValues(Widget $widget) { $options = $widget->getOptions(); $widgetConfig = $this->configProvider->getWidgetConfig($widget->getName()); foreach ($widgetConfig['configuration'] as $name => $config) { $value = isset($options[$name]) ? $options[$name] : null; $options[$name] = $this->valueProvider->getFormValue($config['type'], $config, $value); } $options = $this->loadDefaultValue($options, $widgetConfig); return $options; }
/** * @expectedException \Oro\Bundle\DashboardBundle\Exception\InvalidConfigurationException */ public function testGetDashboardConfigHasNoKeyException() { $configProvider = new ConfigProvider(array(), $this->eventDispatcher); $configProvider->getDashboardConfig('not found config'); }
/** * @param Widget $widget * @return WidgetModel */ public function createWidgetModel(Widget $widget) { $widgetConfig = $this->configProvider->getWidgetConfig($widget->getName()); $widgetState = $this->stateManager->getWidgetState($widget); return new WidgetModel($widget, $widgetConfig, $widgetState); }
/** * @expectedException \Oro\Bundle\DashboardBundle\Exception\InvalidConfigurationException */ public function testGetDashboardConfigHasNoKeyException() { $configProvider = new ConfigProvider(array()); $configProvider->getDashboardConfig('not found config'); }