applyQueuedFilters() 공개 메소드

Applies all filters that were previously queued to the table. See {@link queueFilter()} for more information.
public applyQueuedFilters ( )
 /**
  * Generates JSON graph data and returns it.
  *
  * @param DataTable|DataTable\Map $dataTable
  * @return string
  */
 public function generate($dataTable)
 {
     $visualization = new Chart();
     if ($dataTable->getRowsCount() > 0) {
         // if addTotalRow was called in GenerateGraphHTML, add a row containing totals of
         // different metrics
         if ($this->properties['add_total_row']) {
             $dataTable->queueFilter('AddSummaryRow', Piwik::translate('General_Total'));
         }
         $dataTable->applyQueuedFilters();
         $this->initChartObjectData($dataTable, $visualization);
     }
     return $visualization->render();
 }
예제 #2
0
 /**
  * Template method called from self::manipulate.
  * Flatten each data table.
  *
  * @param DataTable $dataTable
  * @return DataTable
  */
 protected function manipulateDataTable($dataTable)
 {
     // apply filters now since subtables have their filters applied before generic filters. if we don't do this
     // now, we'll try to apply filters to rows that have already been manipulated. this results in errors like
     // 'column ... already exists'.
     if (Common::getRequestVar('disable_queued_filters', 0, 'int', $this->request) == 0) {
         $dataTable->applyQueuedFilters();
     }
     $newDataTable = $dataTable->getEmptyClone($keepFilters = false);
     foreach ($dataTable->getRows() as $row) {
         $this->flattenRow($row, $newDataTable);
     }
     return $newDataTable;
 }