by Crell: fix drag and drop documentation and add drag and drop ordering to filter formats

6.x
Gábor Hojtsy 2007-11-20 20:13:04 +00:00
parent 4c0a0006bd
commit 8bd692d618
2 changed files with 18 additions and 2 deletions
includes
modules/filter

View File

@ -1957,6 +1957,16 @@ function drupal_get_js($scope = 'header', $javascript = NULL) {
* $form['my_elements'][$delta]['weight']['#attributes']['class'] = "my-elements-weight"; * $form['my_elements'][$delta]['weight']['#attributes']['class'] = "my-elements-weight";
* @endcode * @endcode
* *
* Each row of the table must also have a class of "draggable" in order to enable the
* drag handles:
* @code
* $row = array(...);
* $rows[] = array(
* 'data' => $row,
* 'class' => 'draggable',
* );
* @endcode
*
* Calling drupal_add_tabledrag() would then be written as such: * Calling drupal_add_tabledrag() would then be written as such:
* @code * @code
* drupal_add_tabledrag('my-module-table', 'order', 'sibling', 'my-elements-weight'); * drupal_add_tabledrag('my-module-table', 'order', 'sibling', 'my-elements-weight');

View File

@ -357,13 +357,19 @@ function theme_filter_admin_order($form) {
foreach (element_children($form['names']) as $id) { foreach (element_children($form['names']) as $id) {
// Don't take form control structures. // Don't take form control structures.
if (is_array($form['names'][$id])) { if (is_array($form['names'][$id])) {
$rows[] = array(drupal_render($form['names'][$id]), drupal_render($form['weights'][$id])); $form['weights'][$id]['#attributes']['class'] = 'filter-order-weight';
$rows[] = array(
'data' => array(drupal_render($form['names'][$id]), drupal_render($form['weights'][$id])),
'class' => 'draggable',
);
} }
} }
$output = theme('table', $header, $rows); $output = theme('table', $header, $rows, array('id' => 'filter-order'));
$output .= drupal_render($form); $output .= drupal_render($form);
drupal_add_tabledrag('filter-order', 'order', 'sibling', 'filter-order-weight', NULL, NULL, FALSE);
return $output; return $output;
} }