| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | (function ($) {/** * Attaches double-click behavior to toggle full path of Krumo elements. */Drupal.behaviors.devel = {  attach: function (context, settings) {    // Add hint to footnote    $('.krumo-footnote .krumo-call').once().before('<img style="vertical-align: middle;" title="Click to expand. Double-click to show path." src="' + settings.basePath + 'misc/help.png"/>');    var krumo_name = [];    var krumo_type = [];    function krumo_traverse(el) {      krumo_name.push($(el).html());      krumo_type.push($(el).siblings('em').html().match(/\w*/)[0]);      if ($(el).closest('.krumo-nest').length > 0) {        krumo_traverse($(el).closest('.krumo-nest').prev().find('.krumo-name'));      }    }    $('.krumo-child > div:first-child', context).dblclick(      function(e) {        if ($(this).find('> .krumo-php-path').length > 0) {          // Remove path if shown.          $(this).find('> .krumo-php-path').remove();        }        else {          // Get elements.          krumo_traverse($(this).find('> a.krumo-name'));          // Create path.          var krumo_path_string = '';          for (var i = krumo_name.length - 1; i >= 0; --i) {            // Start element.            if ((krumo_name.length - 1) == i)              krumo_path_string += '$' + krumo_name[i];            if (typeof krumo_name[(i-1)] !== 'undefined') {              if (krumo_type[i] == 'Array') {                krumo_path_string += "[";                if (!/^\d*$/.test(krumo_name[(i-1)]))                  krumo_path_string += "'";                krumo_path_string += krumo_name[(i-1)];                if (!/^\d*$/.test(krumo_name[(i-1)]))                  krumo_path_string += "'";                krumo_path_string += "]";              }              if (krumo_type[i] == 'Object')                krumo_path_string += '->' + krumo_name[(i-1)];            }          }          $(this).append('<div class="krumo-php-path" style="font-family: Courier, monospace; font-weight: bold;">' + krumo_path_string + '</div>');          // Reset arrays.          krumo_name = [];          krumo_type = [];        }      }    );  }};})(jQuery);
 |