Piwik\Plugins\Events\Events::configureViewDataTable PHP Method

configureViewDataTable() public method

public configureViewDataTable ( ViewDataTable $view )
$view Piwik\Plugin\ViewDataTable
    public function configureViewDataTable(ViewDataTable $view)
    {
        if ($view->requestConfig->getApiModuleToRequest() != 'Events') {
            return;
        }
        // eg. 'Events.getCategory'
        $apiMethod = $view->requestConfig->getApiMethodToRequest();
        $secondaryDimension = $this->getSecondaryDimensionFromRequest();
        $view->config->subtable_controller_action = API::getInstance()->getActionToLoadSubtables($apiMethod, $secondaryDimension);
        $pivotBy = Common::getRequestVar('pivotBy', false);
        if (empty($pivotBy)) {
            $view->config->columns_to_display = array('label', 'nb_events', 'sum_event_value');
        }
        $view->config->show_flatten_table = true;
        $view->requestConfig->filter_sort_column = 'nb_events';
        if ($view->isViewDataTableId(AllColumns::ID)) {
            $view->config->filters[] = function (DataTable $table) use($view) {
                $columsToDisplay = array('label');
                $columns = $table->getColumns();
                if (in_array('nb_visits', $columns)) {
                    $columsToDisplay[] = 'nb_visits';
                }
                if (in_array('nb_uniq_visitors', $columns)) {
                    $columsToDisplay[] = 'nb_uniq_visitors';
                }
                $view->config->columns_to_display = array_merge($columsToDisplay, array('nb_events', 'sum_event_value', 'avg_event_value', 'min_event_value', 'max_event_value'));
                if (!in_array($view->requestConfig->filter_sort_column, $view->config->columns_to_display)) {
                    $view->requestConfig->filter_sort_column = 'nb_events';
                }
            };
            $view->config->show_pivot_by_subtable = false;
        }
        $labelTranslation = $this->getColumnTranslation($apiMethod);
        $view->config->addTranslation('label', $labelTranslation);
        $view->config->addTranslations($this->getMetricTranslations());
        $this->addRelatedReports($view, $secondaryDimension);
        $this->addTooltipEventValue($view);
        $subtableReport = ReportsProvider::factory('Events', $view->config->subtable_controller_action);
        $view->config->pivot_by_dimension = $subtableReport->getDimension()->getId();
        $view->config->pivot_by_column = 'nb_events';
    }