diff --git a/plugins/CoreVisualizations/CoreVisualizations.php b/plugins/CoreVisualizations/CoreVisualizations.php index 9a5f88e7eccd718eb2919d96e51e73e6dd422e39..0aec35fb3e5eee50a265270f452651e567d80c37 100644 --- a/plugins/CoreVisualizations/CoreVisualizations.php +++ b/plugins/CoreVisualizations/CoreVisualizations.php @@ -29,8 +29,7 @@ class CoreVisualizations extends \Piwik\Plugin 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'AssetManager.getJavaScriptFiles' => 'getJsFiles', 'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys', - 'UsersManager.deleteUser' => 'deleteUser', - 'ViewDataTable.addViewDataTable' => 'addViewDataTable' + 'UsersManager.deleteUser' => 'deleteUser' ); } @@ -39,23 +38,6 @@ class CoreVisualizations extends \Piwik\Plugin ViewDataTableManager::clearUserViewDataTableParameters($userLogin); } - public function addViewDataTable(&$viewDataTable) - { - // Both are the same HtmlTable, just the Pivot one has some extra logic in case Pivot is used. - // We don't want to use the same HtmlTable twice in the UI. Therefore we always need to remove one. - if (Common::getRequestVar('pivotBy', '')) { - $tableToRemove = 'Visualizations\HtmlTable'; - } else { - $tableToRemove = 'HtmlTable\PivotBy'; - } - - foreach ($viewDataTable as $index => $table) { - if (Common::stringEndsWith($table, $tableToRemove)) { - unset($viewDataTable[$index]); - } - } - } - public function getStylesheetFiles(&$stylesheets) { $stylesheets[] = "plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less"; diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable.php b/plugins/CoreVisualizations/Visualizations/HtmlTable.php index 66cb4c26e96a4dd792b7d994c7148eb7511a657f..dff8aa3e7a4bc390e601e0e3ddc826de6282ead5 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable.php @@ -70,6 +70,25 @@ class HtmlTable extends Visualization $dataTable = $request->process(); $this->assignTemplateVar('siteSummary', $dataTable); } + + if ($this->isPivoted()) { + $this->config->columns_to_display = $this->dataTable->getColumns(); + } + } + + public function beforeGenericFiltersAreAppliedToLoadedDataTable() + { + if ($this->isPivoted()) { + $this->config->columns_to_display = $this->dataTable->getColumns(); + + $this->dataTable->applyQueuedFilters(); + } + + parent::beforeGenericFiltersAreAppliedToLoadedDataTable(); } + protected function isPivoted() + { + return $this->requestConfig->pivotBy || Common::getRequestVar('pivotBy', ''); + } } diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php deleted file mode 100644 index 1703988599fe871475aebda5566c999c46c6b1d4..0000000000000000000000000000000000000000 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * - */ - -namespace Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; - -use Piwik\DataTable; -use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; -use Piwik\View; - -/** - * DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true. - */ -class PivotBy extends HtmlTable -{ - public function beforeGenericFiltersAreAppliedToLoadedDataTable() - { - $this->config->columns_to_display = $this->dataTable->getColumns(); - - $this->dataTable->applyQueuedFilters(); - - parent::beforeGenericFiltersAreAppliedToLoadedDataTable(); - } - - public function beforeRender() - { - parent::beforeRender(); - - $this->config->columns_to_display = $this->dataTable->getColumns(); - } -}