function theme_slickgrid in Slickgrid 7.2
Same name and namespace in other branches
- 6 slickgrid.module \theme_slickgrid()
- 7 theme/theme.inc \theme_slickgrid()
The main theme function for the slickgrid
Parameters
array $view_name:
1 theme call to theme_slickgrid()
File
- theme/
theme.inc, line 283
Code
function theme_slickgrid($variables) {
$output = '';
$view = $variables['view'];
// Add all the CSS & JS
// Add the core slickgrid library
drupal_add_library('slickgrid', 'slickgrid');
// Add this modules slickgrid files
$path = drupal_get_path('module', 'slickgrid');
// Add bespoke slickgrid js/css
drupal_add_js($path . '/js/slickgrid.js');
drupal_add_js($path . '/js/slickgrid.theme.js');
drupal_add_js($path . '/js/slickgrid.remote.js');
drupal_add_js($path . '/js/slickgrid.command.js');
drupal_add_css($path . '/css/slickgrid.css');
drupal_add_js(array(
'slickgrid' => array(
'slickgrid_callback_url' => url('slickgrid/callback/', array(
'absolute' => TRUE,
)),
'get_data_callback_url' => url('slickgrid/get/data/', array(
'absolute' => TRUE,
)),
'loading_image_url' => file_create_url(drupal_get_path('module', 'views') . '/images/loading.gif'),
),
), 'setting');
// Add beautytips
beautytips_add_beautytips();
// If this slickgrid is editable, add the ctools modal plugins
if (isset($view->style_plugin->options['editable']) || isset($view->style_plugin->options['add'])) {
slickgrid_add_modal();
}
// Inline JS defining the slickgrid
$js = array();
$js[] = 'var options = ' . drupal_json_encode($view->style_plugin->options) . ';';
$js[] = 'var data = [];';
$js[] = 'var columns = ' . slickgrid_encode_columns($view->columns) . ';';
$js[] = 'var slickgrid;';
$js[] = '(function($) {';
$js[] = '$(document).ready(function(){';
$js[] = 'slickgrid = new Slickgrid("#slickgrid", "' . $view->name . '", "' . $view->current_display . '");';
$js[] = '});';
$js[] = '})(jQuery);';
drupal_add_js(implode("\n", $js), array(
'type' => 'inline',
));
if (isset($view->style_plugin->options['filterable'])) {
$output .= '<span class="ui-icon ui-icon-search" title="Toggle search panel" id="slickgrid-toggle-search-panel"></span>';
}
$output .= '<div id="slickgrid" style="width:100%;height:' . $view->style_plugin->options['viewport_height'] . 'px;" class="hideCols hideRows' . (isset($view->style_plugin->options['editable']) && $view->style_plugin->options['editable'] ? ' editable' : '') . '"></div>';
return $output;
}