function theme_views_ef_fieldset_reorder_form in Views Exposed Form Fieldset 7.2
Same name and namespace in other branches
- 7 views_ef_fieldset.theme.inc \theme_views_ef_fieldset_reorder_form()
Theme callback to render the option form as a draggable table.
1 theme call to theme_views_ef_fieldset_reorder_form()
File
- theme/
theme.inc, line 10 - Module file containing theme implementations.
Code
function theme_views_ef_fieldset_reorder_form($vars) {
$form = $vars['form'];
$table_rows = array();
foreach (element_children($form) as $key) {
$classes = array(
'draggable',
);
$element = $form[$key];
$element['id']['#attributes']['class'][] = 'item-id';
$element['pid']['#attributes']['class'][] = 'item-pid';
$element['weight']['#attributes']['class'][] = 'item-weight';
$item = $element['#item'];
if (!empty($item['is_root'])) {
$classes[] = 'tabledrag-root';
}
if (empty($item['is_group'])) {
$classes[] = 'tabledrag-leaf';
}
$indent = theme('indentation', array(
'size' => $item['depth'],
));
$label = check_plain($item['label']);
$row = array(
$indent . $label . drupal_render($element['id']) . ' (' . $item['id'] . ')',
drupal_render($element['pid']),
drupal_render($element['weight']),
// @todo Having additional form elements seems to cause invalid indentations with tabledrag.
drupal_render($element['options']),
drupal_render($element['remove']),
);
$table_rows[] = array(
'data' => $row,
'class' => $classes,
'id' => 'display-row-' . $key,
);
}
if (!$table_rows) {
return t('<p><em>No items have been added. To get started, select an item to add.</em></p>');
}
drupal_add_tabledrag('reorder-fieldset-filters', 'match', 'parent', 'item-pid', 'item-pid', 'item-id');
drupal_add_tabledrag('reorder-fieldset-filters', 'order', 'sibling', 'item-weight');
$header = array(
t('Item'),
t('Parent'),
t('Weight'),
t('Options'),
'',
);
return theme('table', array(
'header' => $header,
'rows' => $table_rows,
'attributes' => array(
'id' => 'reorder-fieldset-filters',
),
));
}