Issue #1929064 by damiankloip, dawehner: Refactor views_ui_rearrange_form() to remove theme function for table render.

8.0.x
Alex Pott 2013-04-10 23:52:04 +01:00
parent 5433aad75a
commit dee9ef6647
2 changed files with 24 additions and 57 deletions

View File

@ -74,23 +74,23 @@ class Rearrange extends ViewsFormBase {
$relationships[$id] = $handler->label();
}
// Filters can now be grouped so we do a little bit extra:
$groups = array();
$grouping = FALSE;
if ($type == 'filter') {
$group_info = $executable->display_handler->getOption('filter_groups');
if (!empty($group_info['groups']) && count($group_info['groups']) > 1) {
$grouping = TRUE;
$groups = array(0 => array());
}
}
$form['fields'] = array(
'#type' => 'table',
'#header' => array('', t('Weight'), t('Remove')),
'#empty' => t('No fields available.'),
'#tabledrag' => array(
array('order', 'sibling', 'weight'),
),
'#tree' => TRUE,
'#prefix' => '<div class="scroll">',
'#suffix' => '</div>',
);
foreach ($display->getOption($types[$type]['plural']) as $id => $field) {
$form['fields'][$id] = array('#tree' => TRUE);
$form['fields'][$id]['weight'] = array(
'#type' => 'textfield',
'#default_value' => ++$count,
);
$form['fields'][$id] = array();
$form['fields'][$id]['#attributes'] = array('class' => array('draggable'), 'id' => 'views-row-' . $id);
$handler = $display->getHandler($type, $id);
if ($handler) {
$name = $handler->adminLabel() . ' ' . $handler->adminSummary();
@ -105,30 +105,29 @@ class Rearrange extends ViewsFormBase {
else {
$form['fields'][$id]['name'] = array('#markup' => t('Broken field @id', array('@id' => $id)));
}
$form['fields'][$id]['weight'] = array(
'#type' => 'textfield',
'#default_value' => ++$count,
'#attributes' => array('class' => array('weight')),
);
$form['fields'][$id]['removed'] = array(
'#type' => 'checkbox',
'#id' => 'views-removed-' . $id,
'#attributes' => array('class' => array('views-remove-checkbox')),
'#default_value' => 0,
'#suffix' => l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $id, 'class' => array('views-hidden', 'views-button-remove', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => TRUE)),
);
}
// Add javascript settings that will be added via $.extend for tabledragging
$form['#js']['tableDrag']['arrange']['weight'][0] = array(
'target' => 'weight',
'source' => NULL,
'relationship' => 'sibling',
'action' => 'order',
'hidden' => TRUE,
'limit' => 0,
);
$name = NULL;
if (isset($form_state['update_name'])) {
$name = $form_state['update_name'];
}
$view->getStandardButtons($form, $form_state, 'views_ui_rearrange_form');
return $form;
}

View File

@ -242,38 +242,6 @@ function theme_views_ui_reorder_displays_form($vars) {
return $output;
}
/**
* Turn the rearrange form into a proper table
*/
function theme_views_ui_rearrange_form($variables) {
$form = $variables['form'];
$rows = array();
foreach (element_children($form['fields']) as $id) {
if (isset($form['fields'][$id]['name'])) {
$row = array();
$row[] = drupal_render($form['fields'][$id]['name']);
$form['fields'][$id]['weight']['#attributes']['class'] = array('weight');
$row[] = drupal_render($form['fields'][$id]['weight']);
$row[] = drupal_render($form['fields'][$id]['removed']) . l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $id, 'class' => array('views-hidden', 'views-button-remove', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => TRUE));
$rows[] = array('data' => $row, 'class' => array('draggable'), 'id' => 'views-row-' . $id);
}
}
if (empty($rows)) {
$rows[] = array(array('data' => t('No fields available.'), 'colspan' => '2'));
}
$header = array('', t('Weight'), t('Remove'));
$output = drupal_render($form['override']);
$output .= '<div class="scroll">';
$output .= theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'arrange')));
$output .= '</div>';
$output .= drupal_render_children($form);
drupal_add_tabledrag('arrange', 'order', 'sibling', 'weight');
return $output;
}
/**
* Turn the rearrange form into a proper table
*/