diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php index 250fc81bec02a648944f6eb9c766ecd2e6327f9c..78cf0f4f573169bbd28996ab9086dabe9446c4a9 100644 --- a/core/ViewDataTable.php +++ b/core/ViewDataTable.php @@ -1118,6 +1118,7 @@ class ViewDataTable $this->executeAfterDataLoadedCallbacks(); $visualization->afterLoadDataTable(); + $visualization->beforeRender(); } catch (NoAccessException $e) { throw $e; @@ -1136,7 +1137,7 @@ class ViewDataTable $view->visualization = $visualization; $view->visualizationCssClass = $this->getDefaultDataTableCssClass(); - if (!$this->dataTable === null) { + if (null === $this->dataTable) { $view->dataTable = null; } else { // TODO: this hook seems inappropriate. should be able to find data that is requested for (by site/date) and check if that diff --git a/core/ViewDataTable/Graph.php b/core/ViewDataTable/Graph.php index 609cdea2ac980aebfea61b0928580f078674ff8a..722e4f442f75fb86d379ab447265457c18f01627 100644 --- a/core/ViewDataTable/Graph.php +++ b/core/ViewDataTable/Graph.php @@ -125,12 +125,12 @@ abstract class Graph extends Visualization /** * Init. - * - * @param \Piwik\ViewDataTable $view */ - public function init($view) + public function init() { - parent::init($view); + $view = $this->viewDataTable; + + parent::init(); if ($view->show_goals) { $view->translations['nb_conversions'] = Piwik::translate('Goals_ColumnConversions'); diff --git a/core/ViewDataTable/Visualization.php b/core/ViewDataTable/Visualization.php index 2920638979e7464b89e1b4ec93faf6e44f300621..7a9ac26fa02f4cf84ede83f2bbf88a55a863b800 100644 --- a/core/ViewDataTable/Visualization.php +++ b/core/ViewDataTable/Visualization.php @@ -25,7 +25,6 @@ use Piwik\ViewDataTable; */ abstract class Visualization extends View { - const GET_AVAILABLE_EVENT = 'Visualization.addVisualizations'; protected $templateFile = ''; @@ -40,10 +39,10 @@ abstract class Visualization extends View parent::__construct($this->templateFile); $this->viewDataTable = $view; - $this->init($view); + $this->init(); } - protected function init($view) + protected function init() { // do your stuff here, do not overwrite constructor } @@ -58,6 +57,11 @@ abstract class Visualization extends View } + final public function beforeRender() + { + // our stuff goes in here + } + /** * Default implementation of getDefaultPropertyValues static function. * diff --git a/plugins/CoreVisualizations/Visualizations/Cloud.php b/plugins/CoreVisualizations/Visualizations/Cloud.php index 24958fa17e4ec37b4e31f068a6ffed91a43d03bd..0ef800f6fa28ca66697fdb531c18adb7e0a27d02 100644 --- a/plugins/CoreVisualizations/Visualizations/Cloud.php +++ b/plugins/CoreVisualizations/Visualizations/Cloud.php @@ -46,8 +46,9 @@ class Cloud extends Visualization protected $templateFile = "@CoreVisualizations/_dataTableViz_tagCloud.twig"; - public function init($view) + public function init() { + $view = $this->viewDataTable; $self = $this; $view->after_data_loaded_functions[] = function ($dataTable, $view) use ($self) { if ($dataTable->getRowsCount() == 0) { diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable.php b/plugins/CoreVisualizations/Visualizations/HtmlTable.php index 205774c0d65ce6f77c022767843801a3bfc819c7..6acf7b892b6dfd61f772339efbacbfd3ab12af67 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable.php @@ -152,8 +152,10 @@ class HtmlTable extends Visualization /** * Init. */ - public function init($view) + public function init() { + $view = $this->viewDataTable; + if (Common::getRequestVar('idSubtable', false) && $view->visualization_properties->show_embedded_subtable ) { diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php index c3cef43e4917e8fc878bf6dba6b824e5957d6e1b..1abcdf939423b35dd0564471e5c7c0ff8d9e316b 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php @@ -22,13 +22,11 @@ class AllColumns extends HtmlTable /** * Init. - * - * @param \Piwik\ViewDataTable $view */ - public function init($view) + public function init() { - $view->visualization_properties->show_extra_columns = true; + $this->viewDataTable->visualization_properties->show_extra_columns = true; - parent::init($view); + parent::init(); } } \ No newline at end of file diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php index 5900d2d694b7802b188386c6e187f1c76cb34193..469e7b2bcf1a3f84fbbba54b00553d85b60ae05e 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php @@ -21,14 +21,12 @@ class Goals extends HtmlTable const ID = 'tableGoals'; /** - * Constructor. - * - * @param \Piwik\ViewDataTable $view + * Init */ - public function init($view) + public function init() { - $view->visualization_properties->show_goals_columns = true; + $this->viewDataTable->visualization_properties->show_goals_columns = true; - parent::init($view); + parent::init(); } } \ No newline at end of file diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php index 21a17c7ffd445c7f8fd7f3dc1ba87b21ae712686..9c729bf7ae27c1ce12f0c001b3ac83ef9fdd87e2 100644 --- a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php +++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php @@ -60,13 +60,13 @@ class JqplotGraph extends Graph protected $templateFile = "@CoreVisualizations/_dataTableViz_jqplotGraph.twig"; /** - * Constructor. - * - * @param \Piwik\ViewDataTable $view + * Init. */ - public function init($view) + public function init() { - parent::init($view); + $view = $this->viewDataTable; + + parent::init(); // do not sort if sorted column was initially "label" or eg. it would make "Visits by Server time" not pretty if ($view->filter_sort_column != 'label') { diff --git a/plugins/Live/VisitorLog.php b/plugins/Live/VisitorLog.php index c6e83ca695c95ee97a3b90c4b7f40eb4c2c5200c..894ba815f542765345ad471f3fd7e628b52bec5c 100644 --- a/plugins/Live/VisitorLog.php +++ b/plugins/Live/VisitorLog.php @@ -30,8 +30,8 @@ class VisitorLog extends Visualization /** * Init. */ - public function init($view) + public function init() { - $view->datatable_js_type = 'VisitorLog'; + $this->viewDataTable->datatable_js_type = 'VisitorLog'; } } \ No newline at end of file diff --git a/plugins/TreemapVisualization b/plugins/TreemapVisualization index a5a2f9e5824a33b39e9e213197a218e854355969..20b9c84d6e7baf76ac6e1f5d80a720bacda31276 160000 --- a/plugins/TreemapVisualization +++ b/plugins/TreemapVisualization @@ -1 +1 @@ -Subproject commit a5a2f9e5824a33b39e9e213197a218e854355969 +Subproject commit 20b9c84d6e7baf76ac6e1f5d80a720bacda31276