diff options
-rw-r--r-- | includes/common.inc | 10 | ||||
-rw-r--r-- | modules/filter/filter.admin.inc | 10 |
2 files changed, 18 insertions, 2 deletions
diff --git a/includes/common.inc b/includes/common.inc index 94a5cc537..b6963c677 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -1957,6 +1957,16 @@ function drupal_get_js($scope = 'header', $javascript = NULL) { * $form['my_elements'][$delta]['weight']['#attributes']['class'] = "my-elements-weight"; * @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: * @code * drupal_add_tabledrag('my-module-table', 'order', 'sibling', 'my-elements-weight'); diff --git a/modules/filter/filter.admin.inc b/modules/filter/filter.admin.inc index 697e631ca..b2a5aaca0 100644 --- a/modules/filter/filter.admin.inc +++ b/modules/filter/filter.admin.inc @@ -357,13 +357,19 @@ function theme_filter_admin_order($form) { foreach (element_children($form['names']) as $id) { // Don't take form control structures. 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); + drupal_add_tabledrag('filter-order', 'order', 'sibling', 'filter-order-weight', NULL, NULL, FALSE); + return $output; } |