diff options
Diffstat (limited to 'phpBB/assets/javascript/core.js')
-rw-r--r-- | phpBB/assets/javascript/core.js | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index 3c1e39fca6..76615eb051 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -452,24 +452,31 @@ phpbb.add_ajax_callback('alt_text', function() { * It replaces the current text with the text in the alt-text data attribute, * and replaces the text in the attribute with the current text so that the * process can be repeated. - * Additionally it replaces the icon of the link and changes the link itself. + * Additionally it replaces the class of the link's parent + * and changes the link itself. */ -phpbb.add_ajax_callback('toggle_subscribe', function() { +phpbb.add_ajax_callback('toggle_link', function() { var el = $(this), - alt_text; - - phpbb.ajax_callbacks['alt_text'].call(this); - - if (el.attr('href').indexOf('unwatch') !== -1) - { - el.attr('href', el.attr('href').replace('unwatch', 'watch')); - el.parent().attr('class', 'icon-subscribe'); - } - else - { - el.attr('href', el.attr('href').replace('watch', 'unwatch')); - el.parent().attr('class', 'icon-unsubscribe'); - } + toggle_text, + toggle_url, + toggle_class; + + // Toggle link text + + toggle_text = el.attr('data-toggle-text'); + el.attr('data-toggle-text', el.text()); + el.attr('title', toggle_text); + el.text(toggle_text); + + // Toggle link url + toggle_url = el.attr('data-toggle-url'); + el.attr('data-toggle-url', el.attr('href')); + el.attr('href', toggle_url); + + // Toggle class of link parent + toggle_class = el.attr('data-toggle-class'); + el.attr('data-toggle-class', el.parent().attr('class')); + el.parent().attr('class', toggle_class); }); })(jQuery); // Avoid conflicts with other libraries |