35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
// $Id$
 | 
						|
 | 
						|
Drupal.textareaAttach = function() {
 | 
						|
  $('textarea.resizable:not(.processed)').each(function() {
 | 
						|
    var textarea = $(this).addClass('processed'), staticOffset = null;
 | 
						|
    
 | 
						|
    $(this).wrap('<div class="resizable-textarea"></div>')
 | 
						|
      .parent().append($('<div class="grippie"></div>').mousedown(startDrag));
 | 
						|
 | 
						|
    var grippie = $('div.grippie', $(this).parent())[0];
 | 
						|
    grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
 | 
						|
 | 
						|
    function startDrag(e) {
 | 
						|
      staticOffset = textarea.height() - Drupal.mousePosition(e).y;
 | 
						|
      textarea.css('opacity', 0.25);
 | 
						|
      $(document).mousemove(performDrag).mouseup(endDrag);
 | 
						|
      return false;
 | 
						|
    }
 | 
						|
 | 
						|
    function performDrag(e) {
 | 
						|
      textarea.height(Math.max(32, staticOffset + Drupal.mousePosition(e).y) + 'px');
 | 
						|
      return false;
 | 
						|
    }
 | 
						|
 | 
						|
    function endDrag(e) {
 | 
						|
      $(document).unmousemove(performDrag).unmouseup(endDrag);
 | 
						|
      textarea.css('opacity', 1);
 | 
						|
    }
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
if (Drupal.jsEnabled) {
 | 
						|
  $(document).ready(Drupal.textareaAttach);
 | 
						|
}
 |