/** * Builds the configOptions object. * * Passing an array of key value pairs will set the configuration for each * child object created from this master object. * * @param array Array of options. * @return \configOptions */ public function __construct($config) { $this->className = Helpers::get_real_class($this); if (is_array($config)) { foreach ($config as $option => $value) { if (in_array($option, $this->options)) { $this->{$option}($value); } else { $this->error('Ignoring "' . $option . '", not a valid configuration option.'); } } } else { $this->type_error($this->className . '()', 'array', 'with valid keys as ' . Helpers::array_string($this->options)); } return $this; }
/** * An object that specifies the axis title text style. * * @param textStyle $titleTextStyle * @return \Axis */ public function titleTextStyle($titleTextStyle) { if (Helpers::is_textStyle($titleTextStyle)) { $this->titleTextStyle = $titleTextStyle->values(); } else { $this->type_error(__FUNCTION__, 'object', 'class textStyle'); } return $this; }
/** * An object with members to configure various vertical axis elements. To * specify properties of this property, create a new vAxis() object, set * the values then pass it to this function or to the constructor. * * @param vAxis $vAxis * @return \AreaChart */ public function vAxis($vAxis) { if (Helpers::is_vAxis($vAxis)) { $this->addOption($vAxis->toArray()); } else { $this->type_error(__FUNCTION__, 'vAxis'); } return $this; }
/** * Adds multiple rows to the DataTable. * * @see addRow() * @param array Multi-dimensional array of rows. * @return \DataTable */ public function addRows($arrayOfRows) { if (Helpers::array_is_multi($arrayOfRows)) { foreach ($arrayOfRows as $row) { $this->addRow($row); } } else { $this->error('Invalid value for addRows, must be type (array), multi-dimensional.'); } return $this; }
/** * Overrides the global pieSliceTextSlice for this slice. * * @param textStyle Valid textStyle object. * @return \slice */ public function textStyle($textStyle) { if (Helpers::is_textStyle($textStyle)) { $this->textStyle = $textStyle->values(); } else { $this->type_error(__FUNCTION__, 'textStyle'); } return $this; }
/** * Sets The user interaction that causes the tooltip to be displayed. * * 'focus' - The tooltip will be displayed when the user hovers over an element. * 'none' - The tooltip will not be displayed. * * @param string Type of trigger, [ focus | none ]. * @return \tooltip */ public function trigger($trigger) { $values = array('focus', 'none'); if (in_array($trigger, $values)) { $this->trigger = $trigger; } else { $this->type_error(__FUNCTION__, 'string', 'with a value of ' . Helpers::array_string($values)); } return $this; }
/** * Sets the height of the chart in the container. * * @param int Amount in pixels * @return \chartArea */ public function height($height) { if (Helpers::is_int_or_percent($height)) { $this->height = $height; } else { $this->type_error(__FUNCTION__, 'int | string', 'representing pixels or a percent.'); } return $this; }
/** * An object with members to configure various tooltip elements. To specify * properties of this object, create a new tooltip() object, set the values * then pass it to this function or to the constructor. * * @param tooltip $tooltipObj * @return \Chart */ public function tooltip($tooltipObj) { if (Helpers::is_tooltip($tooltipObj)) { $this->addOption($tooltipObj->toArray()); } else { $this->error(__FUNCTION__, 'tooltip'); } return $this; }
/** * Sets the angle of the axis text, if it's drawn slanted. Ignored if * axis.slantedText is false, or is in auto mode, and the chart decided to * draw the text horizontally. * * This option is only supported for a discrete axis. * * @param int Angle of labels * @return \hAxis */ public function slantedTextAngle($angle) { if (is_int($angle) && Helpers::between($angle, 1, 90)) { $this->slantedTextAngle = $angle; } else { $this->type_error(__FUNCTION__, 'int', 'between 1 - 90'); } return $this; }