Download plugins/CoreHome/DataTableRowAction/MultiRowEvolution.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 3.59 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CoreHome/DataTableRowAction/MultiRowEvolution.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/CoreHome/DataTableRowAction/MultiRowEvolution.php
-
curl -L -o MultiRowEvolution.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CoreHome/DataTableRowAction/MultiRowEvolution.php
3.59 kB
| /** | |
| * 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\CoreHome\DataTableRowAction; | |
| use Piwik\Common; | |
| use Piwik\Context; | |
| use Piwik\Piwik; | |
| use Piwik\Request; | |
| /** | |
| * MULTI ROW EVOLUTION | |
| * The class handles the popover that shows the evolution of a multiple rows in a data table | |
| */ | |
| class MultiRowEvolution extends RowEvolution | |
| { | |
| /** | |
| * The requested metric | |
| * @var string | |
| */ | |
| protected $metric; | |
| /** | |
| * Show all metrics in the evolution graph when the popover opens | |
| * @var bool | |
| */ | |
| protected $initiallyShowAllMetrics = true; | |
| /** | |
| * The metrics available in the metrics select | |
| * @var array | |
| */ | |
| protected $metricsForSelect; | |
| /** | |
| * The constructor | |
| * @param int $idSite | |
| * @param \Piwik\Date $date ($this->date from controller) | |
| * @param string $graphType | |
| */ | |
| public function __construct($idSite, $date, $graphType = 'graphEvolution') | |
| { | |
| $this->metric = Common::sanitizeInputValue(Request::fromRequest()->getStringParameter('column', '')); | |
| parent::__construct($idSite, $date, $graphType); | |
| } | |
| protected function loadEvolutionReport($column = false) | |
| { | |
| // set the "column" parameter for the API.getRowEvolution call | |
| parent::loadEvolutionReport($this->metric); | |
| } | |
| protected function extractEvolutionReport($report) | |
| { | |
| $this->metric = $report['column']; | |
| $this->dataTable = $report['reportData']; | |
| $this->availableMetrics = $report['metadata']['metrics']; | |
| $this->metricsForSelect = $report['metadata']['columns']; | |
| $this->dimension = $report['metadata']['dimension']; | |
| } | |
| /** | |
| * Render the popover | |
| * @param \Piwik\Plugins\CoreHome\Controller $controller | |
| * @param \Piwik\View $view the popover_rowevolution template | |
| * @return string | |
| */ | |
| public function renderPopover($controller, $view) | |
| { | |
| // add data for metric select box | |
| $view->availableMetrics = $this->metricsForSelect; | |
| $view->selectedMetric = $this->metric; | |
| $view->availableRecordsText = $this->dimension . ': ' | |
| . Piwik::translate('RowEvolution_ComparingRecords', array(count($this->availableMetrics))); | |
| return parent::renderPopover($controller, $view); | |
| } | |
| protected function getRowEvolutionGraphFromController(\Piwik\Plugins\CoreHome\Controller $controller) | |
| { | |
| // the row evolution graphs should not compare serieses | |
| return Context::executeWithQueryParameters(['compareSegments' => [], 'comparePeriods' => [], 'compareDates' => []], function () use ($controller) { | |
| return parent::getRowEvolutionGraphFromController($controller); | |
| }); | |
| } | |
| public function getRowEvolutionGraph($graphType = false, $metrics = false) | |
| { | |
| // the row evolution graphs should not compare serieses | |
| return Context::executeWithQueryParameters(['compareSegments' => [], 'comparePeriods' => [], 'compareDates' => []], function () use ($graphType, $metrics) { | |
| return parent::getRowEvolutionGraph($graphType, $metrics); | |
| }); | |
| } | |
| protected function getSparkline($metric) | |
| { | |
| // the row evolution graphs should not compare serieses | |
| return Context::executeWithQueryParameters(['compareSegments' => [], 'comparePeriods' => [], 'compareDates' => []], function () use ($metric) { | |
| return parent::getSparkline($metric); | |
| }); | |
| } | |
| } | |