/** * @param DataTableInterface $dataTable */ public function removeTemporaryMetrics(DataTableInterface $dataTable) { $allColumns = !empty($this->report) ? $this->report->getAllMetrics() : array(); $report = $this->report; $dataTable->filter(function (DataTable $table) use($report, $allColumns) { $processedMetrics = Report::getProcessedMetricsForTable($table, $report); $allTemporaryMetrics = array(); foreach ($processedMetrics as $metric) { $allTemporaryMetrics = array_merge($allTemporaryMetrics, $metric->getTemporaryMetrics()); } if (!empty($allTemporaryMetrics)) { $table->filter('ColumnDelete', array($allTemporaryMetrics)); } }); }