Esempio n. 1
0
 /**
  * Handles all conditionals and builds JavaScript
  * 
  * @param mixed $options
  */
 private function _build()
 {
     $arrResult = array();
     $arrResult[] = $this->_chart->render();
     if ($this->title) {
         $arrResult[] = $this->title->render();
     }
     if ($this->xAxis) {
         $arrResult[] = $this->xAxis->render();
     }
     if ($this->yAxis) {
         $arrResult[] = $this->yAxis->render();
     }
     if ($this->legend) {
         $arrResult[] = $this->legend->render();
     }
     if ($this->tooltip) {
         $arrResult[] = $this->tooltip->render();
     }
     if ($this->plotOptions) {
         $arrResult[] = $this->plotOptions->render();
     }
     if ($this->series) {
         $arrResult[] = $this->series->render();
     }
     return implode(',', $arrResult);
 }
 public function testJsonAddingData()
 {
     $myWidget = new HighchartsChart();
     $myWidget->setId('56797-7e3d4237-f798-433a-abe7-ac1857dfdf0f');
     $myWidget->setType('line');
     $myWidget->setTitle('Monthly Average Temperature');
     $myWidget->setSubtitle('Source: WorldClimate.com');
     $myWidget->setYAxisLabels(array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"));
     $myWidget->setYAxisTitle('Temperature (°C)');
     $series = array('Tokyo' => array(7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6), 'London' => array(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8));
     foreach ($series as $city => $values) {
         foreach ($values as $val) {
             $myWidget->addItemSerie($city, $val);
         }
     }
     $data = $myWidget->getData();
     $json = json_encode($data);
     $testJson = '{"highchart":{"chart":{"type":"line"},"title":{"text":"Monthly Average Temperature"},"subtitle":{"text":"Source: WorldClimate.com"},' . '"yAxis":{"categories":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],' . '"title":{"text":"Temperature (\\u00b0C)"}},"plotOptions":{"line":{"dataLabels":{"enabled":true},"enableMouseTracking":false}},' . '"series":[{"name":"Tokyo","data":[7,6.9,9.5,14.5,18.4,21.5,25.2,26.5,23.3,18.3,13.9,9.6],"type":"line"},{"name":"London","data":[3.9,4.2,5.7,8.5,' . '11.9,15.2,17,16.6,14.2,10.3,6.6,4.8],"type":"line"}]}}';
     $this->assertEquals($testJson, $json);
 }