summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-02-10 19:14:08 +0000
committerDries Buytaert <dries@buytaert.net>2008-02-10 19:14:08 +0000
commitec9f8e090a3572511b7f42490c70d7f3d5d590c8 (patch)
tree860f8a485d6530b94b32375b4bde2a166a1d5cd7
parent88eda488b3ff78531003ee5ccc7a552312b4b2fc (diff)
downloadbrdo-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.js9
-rw-r--r--modules/menu/menu.admin.inc1
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(