示例#1
0
 /**
  * Get Pie chart data (non x,y axis)
  */
 public function getHighChartPieData()
 {
     $sum = $this->highchart_sql_query_options['sum'];
     $date_range = HighCharts::explodeDateRange();
     $query = $this->prepareHighChartQuery($date_range['from'], $date_range['to']);
     $base_condition = $query['condition'];
     $base_params = $query['params'];
     $series = $this->highchart_series;
     $series_colors = array();
     $data = isset($series[0]['data']) ? $series[0]['data'] : array();
     $series[0]['type'] = $this->highchart_graph_type;
     $chart_title = $this->highchart_graph_options['title'];
     $series[0]['name'] = !empty($this->highchart_graph_options['default_series_name']) ? $this->highchart_graph_options['default_series_name'] : $chart_title;
     foreach ($data as $k => $element) {
         $condition = !empty($element['condition']) ? $element['condition'] . ' AND ' . $base_condition : $base_condition;
         $params = !empty($element['params']) ? array_merge($element['params'], $base_params) : $base_params;
         $data = $sum ? $this->getSum($sum, $condition, $params) : $this->getTotals($condition, $params);
         $series[0]['data'][$k]['y'] = (int) $data;
         if (isset($series[0]['data'][$k]['condition'])) {
             unset($series[0]['data'][$k]['condition']);
         }
         if (isset($series[0]['data'][$k]['params'])) {
             unset($series[0]['data'][$k]['params']);
         }
         if (isset($series[0]['data'][$k]['color'])) {
             $series_colors[] = $series[0]['data'][$k]['color'];
             unset($series[0]['data'][$k]['color']);
         }
     }
     return array('graph_type' => $this->highchart_graph_type, 'series' => $series, 'subtitle' => !empty($this->highchart_graph_options['subtitle']) ? $this->highchart_graph_options['subtitle'] : HighCharts::getDateRange(), 'title' => $chart_title, 'colors' => $series_colors);
 }
示例#2
0
 public function init()
 {
     parent::init();
     $this->container_id = 'my_high_chart_' . $this->chart_count;
     $this->htmlOptions['id'] = $this->container_id;
     $this->htmlOptions['id'] = $this->container_id;
     $this->chartID = $this->container_id . '_chart';
     $this->filterFormHtmlOptions['id'] = $this->container_id . '_form';
     $this->dateRangeFilterHtmlOptions['id'] = $this->container_id . '_' . HighCharts::GET_PARAM_DATE_RANGE;
     $this->graphTypeFilterHtmlOptions['id'] = $this->container_id . '_' . HighCharts::GET_PARAM_GRAPH_TYPE;
     if ($this->showGraphTypeFilter || $this->showDateRangeFilter) {
         $this->showFilter = TRUE;
     } else {
         $this->showFilter = FALSE;
     }
     $date_range = HighCharts::explodeDateRange($this->dateRangeFormat['php']);
     $this->date_range_from = $date_range['from'];
     $this->date_range_to = $date_range['to'];
     $this->registerAssets();
 }