You are here

function highcharttable_get_js_settings in HighchartTable 7

Set up an array of configurations for the DataTables JS call.

Parameters

array $decoration: An array of HighchartTable jQuery settings, indexed by the table selector

1 call to highcharttable_get_js_settings()
highcharttable_preprocess_page in ./highcharttable.module
Implements hook_preprocess_page().

File

./highcharttable.module, line 95
highcharttable.module

Code

function highcharttable_get_js_settings($global_settings, $decoration) {
  $table_selector = empty($decoration['pages-and-selector']['table-selector']) ? HIGHCHARTTABLE_DEFAULT_TABLE_SELECTOR : $decoration['pages-and-selector']['table-selector'];
  $decoration_params = empty($decoration['decoration-params']) ? array() : $decoration['decoration-params'];
  $chart_type = isset($decoration_params['chart-type']) ? $decoration_params['chart-type'] : NULL;
  $settings = array(
    $table_selector => array(
      'animation' => empty($global_settings['animation']) ? NULL : $global_settings['animation'],
      'color-1' => empty($decoration_params['color-1']) ? NULL : $decoration_params['color-1'],
      'color-2' => empty($decoration_params['color-2']) ? NULL : $decoration_params['color-2'],
      'color-3' => empty($decoration_params['color-3']) ? NULL : $decoration_params['color-3'],
      'container-before' => 1,
      'datalabels-enabled' => !empty($decoration_params['labels']),
      'height' => empty($decoration_params['height']) ? NULL : (int) $decoration_params['height'],
      'hide-table' => !empty($decoration['pages-and-selector']['hide-table']),
      'inverted' => !empty($decoration_params['swap-axes']),
      'legend-disabled' => empty($decoration_params['legend']),
      'legend-layout' => empty($decoration_params['legend']) ? NULL : $decoration_params['legend'],
      'pie-show-in-legend' => $chart_type == 'pie' && !empty($decoration_params['legend']),
      'subtitle-text' => empty($decoration_params['subtitle']) ? NULL : filter_xss_admin($decoration_params['subtitle']),
      'suppress-invalid-series' => isset($decoration_params['suppress-invalid-series']) ? $decoration_params['suppress-invalid-series'] : 2,
      'type' => $chart_type,
      'xaxis' => empty($decoration_params['xaxis']) ? 0 : max(0, (int) $decoration_params['xaxis'] - 1),
      // Only doing formatter for primary yaxis, ignoring opposite yaxes.
      'yaxis-1-formatter-callback' => empty($decoration_params['formatter']) ? NULL : $decoration_params['formatter'],
    ),
  );
  return $settings;
}