| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | /** * @file * Converts a normal link into javascript rules link. */(function($) {  Drupal.behaviors.rules_link = {    attach: function(context) {      $('a.rules-link-js').once( function() {        var message = $('<span class="rules-link-message">Link executed</span>').hide();        var wrapper = $(this).parents('.rules-link-wrapper').append(message);      });      $('a.rules-link-js').click(rules_link);    }  };  function rules_link(context) {    var element = this;    var wrapper = $(element).parents('.rules-link-wrapper');    var message = wrapper.children('.rules-link-message');    if (wrapper.is('.rules-link-waiting')) {      return false;    }    wrapper.addClass('rules-link-waiting');    $.ajax({      type: 'GET',      url: element.href,      dataType: 'json',      success: function (data) {        wrapper.removeClass('rules-link-waiting');        if (data.message.status !== undefined) {          $(element).replaceWith("<span>" + data.message.status +"</span>");        }        else {          $(element).remove();        }      },      error: function (xmlhttp) {        alert(Drupal.t('An HTTP error '+ xmlhttp.status +' occurred.\n'+ element.href));        wrapper.removeClass('rules-link-waiting');        message.text("Error while executing the rules link.");        message.show();        setTimeout(function(){          message.fadeOut();        }, 3000);      }    });    return false;  };})(jQuery);
 |