Skip to content
Snippets Groups Projects
Commit b2bba525 authored by drunkenmonkey's avatar drunkenmonkey Committed by Daniel Cothran
Browse files

Issue #2209467 by quicksketch, drunken monkey: Google Charts only: Pass...

Issue #2209467 by quicksketch, drunken monkey: Google Charts only: Pass library-specific options via existing #raw_options
parent 8c0c15d2
No related branches found
No related tags found
No related merge requests found
......@@ -90,6 +90,11 @@ function _charts_google_populate_chart_options($chart, $chart_definition) {
$chart_definition['options']['animation']['duration'] = 10000;
$chart_definition['options']['animation']['easing'] = 'out';
// Merge in chart raw options.
if (isset($chart['#raw_options'])) {
$chart_definition['options'] = drupal_array_merge_deep($chart_definition['options'], $chart['#raw_options']);
}
return $chart_definition;
}
......@@ -130,6 +135,11 @@ function _charts_google_populate_chart_axes($chart, $chart_definition) {
$axis['viewWindow']['max'] = strlen($chart[$key]['#max']) ? (int) $chart[$key]['#max'] : NULL;
$axis['viewWindow']['min'] = strlen($chart[$key]['#min']) ? (int) $chart[$key]['#min'] : NULL;
// Merge in axis raw options.
if (isset($chart[$key]['#raw_options'])) {
$axis = drupal_array_merge_deep($axis, $chart[$key]['#raw_options']);
}
// Multi-axis support only applies to the major axis in Google charts.
$chart_type_info = chart_get_type($chart['#chart_type']);
$axis_index = $chart[$key]['#opposite'] ? 1 : 0;
......@@ -245,6 +255,11 @@ function _charts_google_populate_chart_data(&$chart, $chart_definition) {
$series['type'] = $data_chart_type;
}
// Merge in series raw options.
if (isset($chart[$key]['#raw_options'])) {
$series = drupal_array_merge_deep($series, $chart[$key]['#raw_options']);
}
// Add the series to the main chart definition.
charts_trim_array($series);
$chart_definition['options']['series'][$series_number] = $series;
......@@ -266,6 +281,12 @@ function _charts_google_populate_chart_data(&$chart, $chart_definition) {
// Color role not yet supported. See https://code.google.com/p/google-visualization-api-issues/issues/detail?id=1267
$chart_definition['_data'][$sub_key + 1][$series_number + 1]['color'] = $data_item['#color'];
$chart_definition['_data'][$sub_key + 1][$series_number + 1]['tooltip'] = $data_item['#title'];
// Merge in data point raw options.
if (isset($data_item['#raw_options'])) {
$chart_definition['_data'][$sub_key + 1][$series_number + 1] = drupal_array_merge_deep($chart_definition['_data'][$sub_key + 1][$series_number + 1], $data_item['#raw_options']);
}
charts_trim_array($chart_definition['_data'][$sub_key + 1][$series_number + 1]);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment