| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\ExampleUI\Reports; |
|
|
| use Piwik\Common; |
| use Piwik\Piwik; |
| use Piwik\Plugin\ViewDataTable; |
| use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution; |
| use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines; |
| use Piwik\Report\ReportWidgetFactory; |
| use Piwik\Widget\WidgetsList; |
|
|
| |
| |
| |
| |
| |
| class GetTemperaturesEvolution extends Base |
| { |
| protected function init() |
| { |
| parent::init(); |
|
|
| $this->name = Piwik::translate('ExampleUI_GetTemperaturesEvolution'); |
| $this->documentation = 'This is an example evolution report'; |
| $this->order = 111; |
| } |
|
|
| public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory) |
| { |
| $widgetsList->addWidgetConfig( |
| $factory->createWidget() |
| ->setSubcategoryId('Sparklines') |
| ->forceViewDataTable(Sparklines::ID) |
| ); |
|
|
| $widgetsList->addWidgetConfig( |
| $factory->createWidget() |
| ->setName('ExampleUI_TemperaturesEvolution') |
| ->setSubcategoryId('Evolution Graph') |
| ->forceViewDataTable(Evolution::ID) |
| ->setParameters(array('columns' => array('server1', 'server2'))) |
| ); |
| } |
|
|
| |
| |
| |
| |
| public function configureView(ViewDataTable $view) |
| { |
| if ($view->isViewDataTableId(Sparklines::ID)) { |
|
|
| |
| $view->config->addSparklineMetric(array('server1')); |
| $view->config->addSparklineMetric(array('server2')); |
| $view->config->addTranslations(array('server1' => 'Evolution of temperature for server piwik.org')); |
| $view->config->addTranslations(array('server2' => 'Evolution of temperature for server dev.piwik.org')); |
| } elseif ($view->isViewDataTableId(Evolution::ID)) { |
|
|
| |
| $selectableColumns = array('server1', 'server2'); |
|
|
| $columns = Common::getRequestVar('columns', false); |
| if (!empty($columns)) { |
| $columns = Piwik::getArrayFromApiParameter($columns); |
| } |
|
|
| $columns = array_merge($columns ? $columns : array(), $selectableColumns); |
| $view->config->columns_to_display = $columns; |
|
|
| $view->config->addTranslations(array_combine($columns, $columns)); |
| $view->config->selectable_columns = $selectableColumns; |
| $view->requestConfig->filter_sort_column = 'label'; |
| $view->requestConfig->filter_sort_order = 'asc'; |
| $view->config->documentation = 'My documentation'; |
| $view->config->show_goals = false; |
| } |
| } |
| } |
|
|