summaryrefslogtreecommitdiff
path: root/modules/menu
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-11-05 19:47:20 +0000
committerDries Buytaert <dries@buytaert.net>2010-11-05 19:47:20 +0000
commitae85abb9833e0600afa0595a912be8065f8bccab (patch)
tree93940d8f28f7f5c63c07ecab9d94bdf20544fbbe /modules/menu
parente920fe34ef16d30af0f4fb8e33b565e572ab30c8 (diff)
downloadbrdo-ae85abb9833e0600afa0595a912be8065f8bccab.tar.gz
brdo-ae85abb9833e0600afa0595a912be8065f8bccab.tar.bz2
- Patch #955610 by casey: impossible to have multiple node forms on one page due to fixed IDs.
Diffstat (limited to 'modules/menu')
-rw-r--r--modules/menu/menu.js78
1 files changed, 40 insertions, 38 deletions
diff --git a/modules/menu/menu.js b/modules/menu/menu.js
index c7041bbdf..8da220143 100644
--- a/modules/menu/menu.js
+++ b/modules/menu/menu.js
@@ -5,8 +5,8 @@
Drupal.behaviors.menuFieldsetSummaries = {
attach: function (context) {
$('fieldset.menu-link-form', context).drupalSetSummary(function (context) {
- if ($('#edit-menu-enabled', context).attr('checked')) {
- return Drupal.checkPlain($('#edit-menu-link-title', context).val());
+ if ($('.form-item-menu-enabled input', context).is(':checked')) {
+ return Drupal.checkPlain($('.form-item-menu-link-title input', context).val());
}
else {
return Drupal.t('Not in menu');
@@ -20,44 +20,46 @@ Drupal.behaviors.menuFieldsetSummaries = {
*/
Drupal.behaviors.menuLinkAutomaticTitle = {
attach: function (context) {
- // Try to find menu settings widget elements as well as a 'title' field in
- // the form, but play nicely with user permissions and form alterations.
- var $checkbox = $('fieldset.menu-link-form #edit-menu-enabled', context);
- var $link_title = $('#edit-menu-link-title', context);
- var $title = $('#edit-title', context);
- // Bail out if we do not have all required fields.
- if (!($checkbox.length && $link_title.length && $title.length)) {
- return;
- }
- // If there is a link title already, mark it as overridden. The user expects
- // that toggling the checkbox twice will take over the node's title.
- if ($checkbox.attr('checked') && $link_title.val().length) {
- $link_title.data('menuLinkAutomaticTitleOveridden', true);
- }
- // Whenever the value is changed manually, disable this behavior.
- $link_title.keyup(function () {
- $link_title.data('menuLinkAutomaticTitleOveridden', true);
- });
- // Global trigger on checkbox (do not fill-in a value when disabled).
- $checkbox.change(function () {
- if ($checkbox.attr('checked')) {
- if (!$link_title.data('menuLinkAutomaticTitleOveridden')) {
- $link_title.val($title.val());
- }
- }
- else {
- $link_title.val('');
- $link_title.removeData('menuLinkAutomaticTitleOveridden');
+ $('fieldset.menu-link-form', context).each(function () {
+ // Try to find menu settings widget elements as well as a 'title' field in
+ // the form, but play nicely with user permissions and form alterations.
+ var $checkbox = $('.form-item-menu-enabled input', this);
+ var $link_title = $('.form-item-menu-link-title input', context);
+ var $title = $(this).closest('form').find('.form-item-title input');
+ // Bail out if we do not have all required fields.
+ if (!($checkbox.length && $link_title.length && $title.length)) {
+ return;
}
- $checkbox.closest('fieldset.vertical-tabs-pane').trigger('summaryUpdated');
- $checkbox.trigger('formUpdated');
- });
- // Take over any title change.
- $title.keyup(function () {
- if (!$link_title.data('menuLinkAutomaticTitleOveridden') && $checkbox.attr('checked')) {
- $link_title.val($title.val());
- $link_title.val($title.val()).trigger('formUpdated');
+ // If there is a link title already, mark it as overridden. The user expects
+ // that toggling the checkbox twice will take over the node's title.
+ if ($checkbox.is(':checked') && $link_title.val().length) {
+ $link_title.data('menuLinkAutomaticTitleOveridden', true);
}
+ // Whenever the value is changed manually, disable this behavior.
+ $link_title.keyup(function () {
+ $link_title.data('menuLinkAutomaticTitleOveridden', true);
+ });
+ // Global trigger on checkbox (do not fill-in a value when disabled).
+ $checkbox.change(function () {
+ if ($checkbox.is(':checked')) {
+ if (!$link_title.data('menuLinkAutomaticTitleOveridden')) {
+ $link_title.val($title.val());
+ }
+ }
+ else {
+ $link_title.val('');
+ $link_title.removeData('menuLinkAutomaticTitleOveridden');
+ }
+ $checkbox.closest('fieldset.vertical-tabs-pane').trigger('summaryUpdated');
+ $checkbox.trigger('formUpdated');
+ });
+ // Take over any title change.
+ $title.keyup(function () {
+ if (!$link_title.data('menuLinkAutomaticTitleOveridden') && $checkbox.is(':checked')) {
+ $link_title.val($title.val());
+ $link_title.val($title.val()).trigger('formUpdated');
+ }
+ });
});
}
};