public function __construct(ReportDataProvider $dataProvider, Report $report) { $this->dataProvider = $dataProvider; $this->report = $report; $this->dataForExport = $dataProvider->getData(); $this->makeData(); }
public function __construct(ReportDataProvider $dataProvider, Report $report) { $this->dataProvider = $dataProvider; $this->report = $report; $this->dataForExport = $dataProvider->getData(); $this->dataForGrandTotals = $dataProvider->runQueryAndGrandTotalsData(); $this->makeData(); }
/** * @return bool */ protected function rowsAreExpandable() { if (count($this->dataProvider->getReport()->getDrillDownDisplayAttributes()) > 0) { return true; } return false; }
/** * @param Report $report * @param array $config */ public function __construct(Report $report, array $config = array()) { parent::__construct($report, $config); }
protected function getGrandTotalsRowsData() { $headerDataRows = $this->getXAxisGroupByDataValues(); $headingColumns = array(); $this->resolveHeadingColumns($headerDataRows, $headingColumns); $totalRowsData = parent::getGrandTotalsRowsData(); $adjustedTotalsRowsData = array(); $keys = array_reverse(array_keys($totalRowsData[0])); $keysColumnArray = array(); $headingsDepth = count($headerDataRows); for ($i = 0; $i < $headingsDepth; $i++) { $keysColumnArray[] = $keys[$i]; } $keys = array_reverse($keysColumnArray); foreach ($headingColumns as $column) { $totalRow = null; foreach ($totalRowsData as $key => $totalRowData) { $found = true; $i = 0; foreach ($column as $row) { $found = $found && $row == $totalRowData[$keys[$i++]]; } if ($found) { $totalRow = $totalRowData; array_slice($totalRowsData, $key); } } if (isset($totalRow)) { $adjustedTotalsRowsData[] = $totalRow; } else { $adjustedTotalsRowsData[] = array(); } } return $adjustedTotalsRowsData; }
/** * Override to * @param Report $report * @param array $config */ public function __construct(Report $report, array $config = array()) { parent::__construct($report, $config); $this->pagination = array('pageSize' => self::$maximumGroupsCount); }