Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsgiehl <stefan@piwik.org>2016-03-20 14:57:41 +0300
committersgiehl <stefan@piwik.org>2016-03-20 16:24:33 +0300
commit464be65c8e43f70c643cd589ac54da28d12780c2 (patch)
tree9ae10278ceb6eb536e7297d0c970bc1d3dc1efcd /plugins
parenta4c0f65f0ca93ee3c1ac6633a8bead7965998bc3 (diff)
handle PivotBy within HtmlTable visualization to fix side effects
Diffstat (limited to 'plugins')
-rw-r--r--plugins/CoreVisualizations/CoreVisualizations.php20
-rw-r--r--plugins/CoreVisualizations/Visualizations/HtmlTable.php19
-rw-r--r--plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php36
3 files changed, 20 insertions, 55 deletions
diff --git a/plugins/CoreVisualizations/CoreVisualizations.php b/plugins/CoreVisualizations/CoreVisualizations.php
index 9a5f88e7ec..0aec35fb3e 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 66cb4c26e9..dff8aa3e7a 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 1703988599..0000000000
--- 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();
- }
-}