37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
(function ($) {
|
|
|
|
Drupal.behaviors.menu_block = {
|
|
attach: function (context, settings) {
|
|
// This behavior attaches by ID, so is only valid once on a page.
|
|
if ($('#menu-block-settings.menu-block-processed').size()) {
|
|
return;
|
|
}
|
|
$('#menu-block-settings', context).addClass('menu-block-processed');
|
|
|
|
// Show the "display options" if javascript is on.
|
|
$('.form-item-display-options.form-type-radios>label', context).addClass('element-invisible');
|
|
$('.form-item-display-options.form-type-radios', context).show();
|
|
// Make the radio set into a jQuery UI buttonset.
|
|
$('#edit-display-options', context).buttonset();
|
|
|
|
// Override the default show/hide animation for Form API states.
|
|
$('#menu-block-settings', context).bind('state:visible', function(e) {
|
|
if (e.trigger) {
|
|
e.stopPropagation() /* Stop the handler further up the tree. */
|
|
$(e.target).closest('.form-item, .form-wrapper')[e.value ? 'slideDown' : 'slideUp']('fast');
|
|
}
|
|
});
|
|
|
|
// Syncronize the display of menu and parent item selects.
|
|
$('.menu-block-parent-mlid', context).change( function() {
|
|
var menuItem = $(this).val().split(':');
|
|
$('.menu-block-menu-name').val(menuItem[0]);
|
|
});
|
|
$('.menu-block-menu-name', context).change( function() {
|
|
$('.menu-block-parent-mlid').val($(this).val() + ':0');
|
|
});
|
|
}
|
|
};
|
|
|
|
})(jQuery);
|