diff --git a/menu_attributes.js b/menu_attributes.js index 07a0c9e..59112a1 100644 --- a/menu_attributes.js +++ b/menu_attributes.js @@ -113,6 +113,20 @@ Drupal.behaviors.menuAttributesOptionsSummary = { } }); + // Menu item onclick. + $('fieldset#edit-onclick', context).drupalSetSummary(function (context) { + if (!$('input[type="checkbox"]:checked', context).val()) { + return Drupal.t('Disabled'); + } + var value = $('.form-textarea', context).val(); + if (!value) { + return Drupal.t('No onclick'); + } + else { + return Drupal.checkPlain(value); + } + }); + } }; diff --git a/menu_attributes.module b/menu_attributes.module index dabaf3c..8153026 100644 --- a/menu_attributes.module +++ b/menu_attributes.module @@ -101,6 +101,14 @@ function menu_attributes_menu_attribute_info() { ), 'scope' => array(MENU_ATTRIBUTES_LINK), ); + $info['onclick'] = array( + 'label' => t('Onclick'), + 'description' => t('Enter an onclick event.'), + 'form' => array( + '#type' => 'textarea', + '#rows' => 2, + ), + ); return $info; } diff --git a/menu_attributes.test b/menu_attributes.test index 4cabdfd..0d51295 100644 --- a/menu_attributes.test +++ b/menu_attributes.test @@ -40,6 +40,7 @@ class MenuAttributesTestHelper extends DrupalWebTestCase { 'style' => $this->randomName(10), 'target' => '_top', 'accesskey' => $this->randomName(1), + 'onclick' => $this->randomName(10), ); $this->menu_attributes_edit = array( @@ -51,6 +52,7 @@ class MenuAttributesTestHelper extends DrupalWebTestCase { 'style' => $this->randomName(10), 'target' => '_self', 'accesskey' => $this->randomName(1), + 'onclick' => $this->randomName(10), ); } @@ -91,6 +93,7 @@ class MenuAttributesTestHelper extends DrupalWebTestCase { 'options[attributes][style]' => $menu_attributes['style'], 'options[attributes][target]' => $menu_attributes['target'], 'options[attributes][accesskey]' => $menu_attributes['accesskey'], + 'options[attributes][onclick]' => $menu_attributes['onclick'], ); // Add menu link. @@ -225,6 +228,7 @@ class MenuAttributesNodeTestCase extends MenuAttributesTestHelper { 'menu[options][attributes][style]' => $this->menu_attributes_new['style'], 'menu[options][attributes][target]' => $this->menu_attributes_new['target'], 'menu[options][attributes][accesskey]' => $this->menu_attributes_new['accesskey'], + 'menu[options][attributes][onclick]' => $this->menu_attributes_new['onclick'], ); $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save')); // Assert that the link exists. @@ -248,6 +252,7 @@ class MenuAttributesNodeTestCase extends MenuAttributesTestHelper { 'menu[options][attributes][style]' => $this->menu_attributes_edit['style'], 'menu[options][attributes][target]' => $this->menu_attributes_edit['target'], 'menu[options][attributes][accesskey]' => $this->menu_attributes_edit['accesskey'], + 'menu[options][attributes][onclick]' => $this->menu_attributes_new['onclick'], ); $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));