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
|
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\ExampleVisualization\Visualizations;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugin\Visualization;
/**
* SimpleTable Visualization.
*/
class SimpleTable extends Visualization
{
public const ID = 'simpleTable';
public const TEMPLATE_FILE = '@ExampleVisualization/simpleTable.twig';
public const FOOTER_ICON_TITLE = 'Simple Table';
public 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);
}
}
|