diff options
author | Dries Buytaert <dries@buytaert.net> | 2008-02-10 19:14:08 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2008-02-10 19:14:08 +0000 |
commit | ec9f8e090a3572511b7f42490c70d7f3d5d590c8 (patch) | |
tree | 860f8a485d6530b94b32375b4bde2a166a1d5cd7 | |
parent | 88eda488b3ff78531003ee5ccc7a552312b4b2fc (diff) | |
download | brdo-ec9f8e090a3572511b7f42490c70d7f3d5d590c8.tar.gz brdo-ec9f8e090a3572511b7f42490c70d7f3d5d590c8.tar.bz2 |
- Patch #216904 by pwolanin et al: if there are more than 21 menu items under a parent, the weights got screwy.
-rw-r--r-- | misc/tabledrag.js | 9 | ||||
-rw-r--r-- | modules/menu/menu.admin.inc | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/misc/tabledrag.js b/misc/tabledrag.js index edcb5def5..609681104 100644 --- a/misc/tabledrag.js +++ b/misc/tabledrag.js @@ -690,9 +690,16 @@ Drupal.tableDrag.prototype.updateField = function(changedRow, group) { $('option', targetElement).each(function() { values.push(this.value); }); + var maxVal = values[values.length - 1]; // Populate the values in the siblings. $(targetClass, siblings).each(function() { - this.value = values.shift(); + // If there are more items than possible values, assign the maximum value to the row. + if (values.length > 0) { + this.value = values.shift(); + } + else { + this.value = maxVal; + } }); } else { diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc index 185fe78f1..f0800f758 100644 --- a/modules/menu/menu.admin.inc +++ b/modules/menu/menu.admin.inc @@ -80,6 +80,7 @@ function _menu_overview_tree_form($tree) { ); $form[$mlid]['weight'] = array( '#type' => 'weight', + '#delta' => 50, '#default_value' => isset($form_state[$mlid]['weight']) ? $form_state[$mlid]['weight'] : $item['weight'], ); $form[$mlid]['mlid'] = array( |