summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc10
-rw-r--r--modules/filter/filter.admin.inc10
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;
}