Skip to content
Extraits de code Groupes Projets
Valider 883c3228 rédigé par Benaka Moorthi's avatar Benaka Moorthi
Parcourir les fichiers

Refs #4040, #4041, move more logic out of HtmlTable ViewDataTable class.

parent 0f61caac
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -56,7 +56,7 @@ use Piwik_API_API; ...@@ -56,7 +56,7 @@ use Piwik_API_API;
* @package Piwik * @package Piwik
* @subpackage ViewDataTable * @subpackage ViewDataTable
*/ */
abstract class ViewDataTable class ViewDataTable
{ {
/** /**
* TODO * TODO
...@@ -137,8 +137,10 @@ abstract class ViewDataTable ...@@ -137,8 +137,10 @@ abstract class ViewDataTable
/** /**
* Default constructor. * Default constructor.
*/ */
public function __construct() public function __construct($visualization = null)
{ {
$this->visualization = $visualization;
$this->viewProperties['visualization_properties'] = new VisualizationPropertiesProxy(null); $this->viewProperties['visualization_properties'] = new VisualizationPropertiesProxy(null);
$this->viewProperties['datatable_template'] = '@CoreHome/_dataTable'; $this->viewProperties['datatable_template'] = '@CoreHome/_dataTable';
$this->viewProperties['show_goals'] = false; $this->viewProperties['show_goals'] = false;
...@@ -255,7 +257,13 @@ abstract class ViewDataTable ...@@ -255,7 +257,13 @@ abstract class ViewDataTable
* *
* @return string * @return string
*/ */
abstract protected function getViewDataTableId(); protected function getViewDataTableId()
{
if (method_exists($this->visualization, 'getViewDataTableId')) {
return $this->visualization->getViewDataTableId();
}
return false;
}
/** /**
* Returns a Piwik_ViewDataTable_* object. * Returns a Piwik_ViewDataTable_* object.
...@@ -318,7 +326,7 @@ abstract class ViewDataTable ...@@ -318,7 +326,7 @@ abstract class ViewDataTable
case 'table': case 'table':
default: default:
$result = new ViewDataTable\HtmlTable(); $result = new ViewDataTable(new Visualization\HtmlTable());
break; break;
} }
...@@ -372,7 +380,7 @@ abstract class ViewDataTable ...@@ -372,7 +380,7 @@ abstract class ViewDataTable
*/ */
public function getJavaScriptProperties() public function getJavaScriptProperties()
{ {
return array( $result = array(
'enable_sort', 'enable_sort',
'disable_generic_filters', 'disable_generic_filters',
'disable_queued_filters', 'disable_queued_filters',
...@@ -385,6 +393,12 @@ abstract class ViewDataTable ...@@ -385,6 +393,12 @@ abstract class ViewDataTable
'filter_sort_column', 'filter_sort_column',
'filter_sort_order', 'filter_sort_order',
); );
if (method_exists($this->visualization, 'getJavaScriptProperties')) {
$result = array_merge($result, $this->visualization->getJavaScriptProperties());
}
return $result;
} }
/** /**
...@@ -622,6 +636,8 @@ abstract class ViewDataTable ...@@ -622,6 +636,8 @@ abstract class ViewDataTable
*/ */
protected function postDataTableLoadedFromAPI() protected function postDataTableLoadedFromAPI()
{ {
$this->overrideViewProperties();
if (empty($this->dataTable)) { if (empty($this->dataTable)) {
return false; return false;
} }
...@@ -1206,8 +1222,6 @@ abstract class ViewDataTable ...@@ -1206,8 +1222,6 @@ abstract class ViewDataTable
$this->setPropertyDefaults($visualization->getDefaultPropertyValues()); $this->setPropertyDefaults($visualization->getDefaultPropertyValues());
} }
$this->overrideViewProperties();
$template = $this->viewProperties['datatable_template']; $template = $this->viewProperties['datatable_template'];
$view = new View($template); $view = new View($template);
...@@ -1234,11 +1248,12 @@ abstract class ViewDataTable ...@@ -1234,11 +1248,12 @@ abstract class ViewDataTable
public function getDefaultDataTableCssClass() public function getDefaultDataTableCssClass()
{ {
return false; $parts = explode('\\', get_class($this->visualization));
return 'dataTableViz' . end($parts);
} }
/** /**
* TODO * Sets view properties if they have not been set already.
*/ */
private function setPropertyDefaults($defaultValues) private function setPropertyDefaults($defaultValues)
{ {
......
...@@ -35,20 +35,4 @@ class HtmlTable extends ViewDataTable ...@@ -35,20 +35,4 @@ class HtmlTable extends ViewDataTable
$this->visualization = new Visualization\HtmlTable(); $this->visualization = new Visualization\HtmlTable();
} }
public function getJavaScriptProperties()
{
return array_merge(parent::getJavaScriptProperties(), $this->visualization->getJavaScriptProperties());
}
protected function getViewDataTableId()
{
return $this->visualization->getViewDataTableId();
}
public function getDefaultDataTableCssClass()
{
$parts = explode('\\', get_class($this));
return 'dataTableViz' . end($parts);
}
} }
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter