summaryrefslogtreecommitdiff
path: root/misc/contextual_links.js
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-12-01 13:27:27 +0000
committerDries Buytaert <dries@buytaert.net>2009-12-01 13:27:27 +0000
commitc908edebeb0fb24c943071f5ac9f1d0631b08c98 (patch)
tree4a9bf6cd6edd39ea21b838bb0088972260ba085a /misc/contextual_links.js
parent5fbaa631cb7bb40eb03be5aebe4b2de89b2fddc0 (diff)
downloadbrdo-c908edebeb0fb24c943071f5ac9f1d0631b08c98.tar.gz
brdo-c908edebeb0fb24c943071f5ac9f1d0631b08c98.tar.bz2
- Patch #601150 by eojthebrave, bganicky, sun, seutje, JacobSingh, ivansf: improved UI for contextual links.
Diffstat (limited to 'misc/contextual_links.js')
-rw-r--r--misc/contextual_links.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/misc/contextual_links.js b/misc/contextual_links.js
index d7fafbd25..0dfc9ddfa 100644
--- a/misc/contextual_links.js
+++ b/misc/contextual_links.js
@@ -8,8 +8,17 @@ Drupal.contextualLinks = Drupal.contextualLinks || {};
*/
Drupal.behaviors.contextualLinks = {
attach: function (context) {
- $('ul.contextual-links', context).once('contextual-links', function () {
- $(this).hover(Drupal.contextualLinks.hover, Drupal.contextualLinks.hoverOut);
+ $('div.contextual-links-wrapper', context).once('contextual-links', function () {
+ var $wrapper = $(this);
+ var $trigger = $('<a class="contextual-links-trigger" href="#" />').text(Drupal.t('Configure')).click(
+ function () {
+ $wrapper.find('ul.contextual-links').slideToggle(100);
+ $wrapper.toggleClass('contextual-links-active');
+ return false;
+ }
+ );
+ $wrapper.prepend($trigger)
+ .closest('.contextual-links-region').hover(Drupal.contextualLinks.hover, Drupal.contextualLinks.hoverOut);
});
}
};
@@ -18,16 +27,16 @@ Drupal.behaviors.contextualLinks = {
* Enables outline for the region contextual links are associated with.
*/
Drupal.contextualLinks.hover = function () {
- $(this).addClass('contextual-links-link-active')
- .closest('.contextual-links-region').addClass('contextual-links-region-active');
+ $(this).closest('.contextual-links-region').addClass('contextual-links-region-active');
};
/**
* Disables outline for the region contextual links are associated with.
*/
Drupal.contextualLinks.hoverOut = function () {
- $(this).removeClass('contextual-links-link-active')
- .closest('.contextual-links-region').removeClass('contextual-links-region-active');
+ $(this).closest('.contextual-links-region').removeClass('contextual-links-region-active')
+ .find('.contextual-links-active').removeClass('contextual-links-active')
+ .find('ul.contextual-links').hide();
};
})(jQuery);