diff --git a/plugins/Events/Events.php b/plugins/Events/Events.php index 406b7c94d1cce37cdcffabcfebfdafa4f7bc32e3..e178dc197b0fd8041ff26fa23dc3091d5e9acc1a 100644 --- a/plugins/Events/Events.php +++ b/plugins/Events/Events.php @@ -9,9 +9,11 @@ namespace Piwik\Plugins\Events; use Piwik\Common; +use Piwik\DataTable; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugin\ViewDataTable; +use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable\AllColumns; class Events extends \Piwik\Plugin { @@ -24,7 +26,8 @@ class Events extends \Piwik\Plugin 'Metrics.getDefaultMetricDocumentationTranslations' => 'addMetricDocumentationTranslations', 'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations', 'ViewDataTable.configure' => 'configureViewDataTable', - 'Live.getAllVisitorDetails' => 'extendVisitorDetails' + 'Live.getAllVisitorDetails' => 'extendVisitorDetails', + 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', ); } @@ -145,9 +148,30 @@ class Events extends \Piwik\Plugin } $view->config->show_flatten_table = true; - $view->config->show_table_all_columns = false; $view->requestConfig->filter_sort_column = 'nb_events'; + if ($view->isViewDataTableId(AllColumns::ID)) { + $view->config->filters[] = function (DataTable $table) use ($view) { + $columsToDisplay = array('label'); + + $columns = $table->getColumns(); + if (in_array('nb_visits', $columns)) { + $columsToDisplay[] = 'nb_visits'; + } + + if (in_array('nb_uniq_visitors', $columns)) { + $columsToDisplay[] = 'nb_uniq_visitors'; + } + + $view->config->columns_to_display = array_merge($columsToDisplay, array('nb_events', 'sum_event_value', 'avg_event_value', 'min_event_value', 'max_event_value')); + + if (!in_array($view->requestConfig->filter_sort_column, $view->config->columns_to_display)) { + $view->requestConfig->filter_sort_column = 'nb_events'; + } + }; + $view->config->show_pivot_by_subtable = false; + } + $labelTranslation = $this->getColumnTranslation($apiMethod); $view->config->addTranslation('label', $labelTranslation); $view->config->addTranslations($this->getMetricTranslations()); @@ -234,4 +258,9 @@ class Events extends \Piwik\Plugin { return Common::getRequestVar('secondaryDimension', false, 'string'); } + + public function getStylesheetFiles(&$stylesheets) + { + $stylesheets[] = "plugins/Events/stylesheets/datatable.less"; + } } diff --git a/plugins/Events/stylesheets/datatable.less b/plugins/Events/stylesheets/datatable.less new file mode 100644 index 0000000000000000000000000000000000000000..d06692119d48c665df83cd9f1b324daf963de07b --- /dev/null +++ b/plugins/Events/stylesheets/datatable.less @@ -0,0 +1,7 @@ +div[data-report="Events.getAaction"].dataTableVizAllColumns, +div[data-report="Events.getName"].dataTableVizAllColumns, +div[data-report="Events.getCategory"].dataTableVizAllColumns { + .dataTableWrapper { + width:1000px; + } +} \ No newline at end of file