PDF rausgenommen

This commit is contained in:
aschwarz
2023-01-23 11:03:31 +01:00
parent 82d562a322
commit a6523903eb
28078 changed files with 4247552 additions and 2 deletions

View File

@ -0,0 +1,15 @@
<?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;
/**
*/
class ExampleVisualization extends \Piwik\Plugin
{
}

View File

@ -0,0 +1,18 @@
# Matomo SimpleTableVisualizationExample Plugin
## Description
Example for generating a simple visualization.
## FAQ
__My question?__
My answer
## Changelog
Here goes the changelog text.
## Support
Please direct any feedback to ...

View File

@ -0,0 +1,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\Visualizations;
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);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,16 @@
{
"name": "ExampleVisualization",
"version": "0.1.0",
"description": "Matomo Platform showcase: how to create a new custom data visualization.",
"theme": false,
"license": "GPL v3+",
"keywords": ["SimpleTable"],
"homepage": "https://matomo.org",
"authors": [
{
"name": "The Matomo Team",
"email": "hello@matomo.org",
"homepage": "https://matomo.org"
}
]
}

View File

@ -0,0 +1,26 @@
<div>
<h2>{{ vizTitle }}</h2>
<table class="dataTable">
<thead>
<tr>
{% for name in properties.columns_to_display %}
{% if name in properties.translations|keys %}
<th>{{ properties.translations[name]|translate }}</th>
{% else %}
<th>{{ name }}</th>
{% endif %}
{% endfor %}
</tr>
</thead>
<tbody>
{% for tableRow in dataTable.getRows %}
<tr>
{% for column in properties.columns_to_display %}
<td>{{ tableRow.getColumn(column)|default('-')|truncate(50)|rawSafeDecoded }}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>