blob: 6aca5e83ec704fe1e38b09b6991dd06ae774dd1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?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\ExampleVisualization;
use Piwik\DataTable;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugin\Visualization;
/**
* SimpleTable Visualization.
*/
class SimpleTable extends Visualization
{
const ID = 'simpleTable';
const TEMPLATE_FILE = '@ExampleVisualization/simpleTable.twig';
const FOOTER_ICON_TITLE = 'Simple Table';
const FOOTER_ICON = 'plugins/ExampleVisualization/images/table.png';
public function beforeLoadDataTable()
{
// Here you can change the request that is sent to the API, for instance
// $this->requestConfig->filter_sort_order = 'desc';
}
public function beforeGenericFiltersAreAppliedToLoadedDataTable()
{
// this hook is executed before generic filters like "filter_limit" and "filter_offset" are applied
// Usage:
// $this->dateTable->filter($nameOrClosure);
}
public function afterGenericFiltersAreAppliedToLoadedDataTable()
{
// this hook is executed after generic filters like "filter_limit" and "filter_offset" are applied
// Usage:
// $this->dateTable->filter($nameOrClosure, $parameters);
}
public function afterAllFiltersAreApplied()
{
// this hook is executed after the data table is loaded and after all filteres are applied.
// format your data here that you want to pass to the view
$this->assignTemplateVar('vizTitle', 'MyAwesomeTitle');
}
public function beforeRender()
{
// Configure how your visualization should look like, for instance you can disable search
// By defining the config properties shortly before rendering you make sure the config properties have a certain
// value because they could be changed by a report or by request parameters ($_GET / $_POST) before.
// $this->config->show_search = false
}
public static function canDisplayViewDataTable(ViewDataTable $view)
{
// You usually do not need to implement this method. Here you can define whether your visualization can display
// a specific data table or not. For instance you may only display your visualization in case a single data
// table is requested. Example:
// return $view->isRequestingSingleDataTable();
return parent::canDisplayViewDataTable($view);
}
}
|