function draggableviews_preprocess_views_view_table in DraggableViews 7.2
Same name and namespace in other branches
- 8 draggableviews.module \draggableviews_preprocess_views_view_table()
- 2.0.x draggableviews.module \draggableviews_preprocess_views_view_table()
Implements hook_preprocess_views_view_table().
File
- ./
draggableviews.module, line 157
Code
function draggableviews_preprocess_views_view_table(&$vars) {
if ($order_view = _draggableviews_load_order_view($vars['view'])) {
// Add indentation if hierarchy is available.
if (!empty($order_view->field['draggableviews']->options['draggableviews']['hierarchy_handler'])) {
$hierarchy_handler_object = draggableviews_get_handler_class($order_view->field['draggableviews']->options['draggableviews']['hierarchy_handler'], 'hierarchy_handler');
foreach ($vars['rows'] as $key => $row) {
$first_column = current(array_keys($row));
$field = (object) array(
'view' => $vars['view'],
);
$depth = $hierarchy_handler_object
->get_depth($field, $key);
$vars['rows'][$key][$first_column] = theme('indentation', array(
'size' => $depth,
)) . $vars['rows'][$key][$first_column];
$vars['row_classes'][$key][] = 'depth-' . $depth;
}
}
}
// If this view is not the sort view, then stop here.
if (!isset($vars['view']->field['draggableviews'])) {
return;
}
// Check permissions.
if (!user_access('access draggableviews')) {
// Remove column "draggableviews" from results and header.
foreach ($vars['rows'] as &$row) {
unset($row['draggableviews']);
}
unset($vars['header']['draggableviews']);
return;
}
// Add table class.
$vars['classes_array'][] = 'draggable';
// Add row class.
foreach ($vars['row_classes'] as &$row_classes) {
$row_classes[] = 'draggable';
}
$vars['attributes_array']['id'] = drupal_html_id('draggableviews-table-' . $vars['view']->name . '-' . $vars['view']->current_display);
// Add JavaScript.
drupal_add_tabledrag($vars['attributes_array']['id'], 'order', 'sibling', 'draggableviews-weight');
// Add JavaScript for auto-save functionality.
if ($vars['view']->field['draggableviews']->options['draggableviews']['ajax']) {
drupal_add_js(drupal_get_path('module', 'draggableviews') . '/js/draggableviews_table.js');
}
// Parent JavaScripts.
if (!empty($vars['view']->field['draggableviews']->options['draggableviews']['hierarchy_handler'])) {
drupal_add_tabledrag($vars['attributes_array']['id'], 'match', 'parent', 'draggableviews-parent', 'draggableviews-parent', 'draggableviews-id', FALSE);
drupal_add_tabledrag($vars['attributes_array']['id'], 'depth', 'group', 'draggableviews-depth', NULL, NULL, FALSE);
}
}