Mercurial > defr > drupal > core
comparison misc/textarea.js @ 1:c1f4ac30525a 6.0
Drupal 6.0
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 23 Dec 2008 14:28:28 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:5a113a1c4740 | 1:c1f4ac30525a |
---|---|
1 // $Id: textarea.js,v 1.22 2008/01/17 19:31:56 goba Exp $ | |
2 | |
3 Drupal.behaviors.textarea = function(context) { | |
4 $('textarea.resizable:not(.textarea-processed)', context).each(function() { | |
5 // Avoid non-processed teasers. | |
6 if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) { | |
7 return false; | |
8 } | |
9 var textarea = $(this).addClass('textarea-processed'), staticOffset = null; | |
10 | |
11 // When wrapping the text area, work around an IE margin bug. See: | |
12 // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout | |
13 $(this).wrap('<div class="resizable-textarea"><span></span></div>') | |
14 .parent().append($('<div class="grippie"></div>').mousedown(startDrag)); | |
15 | |
16 var grippie = $('div.grippie', $(this).parent())[0]; | |
17 grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px'; | |
18 | |
19 function startDrag(e) { | |
20 staticOffset = textarea.height() - e.pageY; | |
21 textarea.css('opacity', 0.25); | |
22 $(document).mousemove(performDrag).mouseup(endDrag); | |
23 return false; | |
24 } | |
25 | |
26 function performDrag(e) { | |
27 textarea.height(Math.max(32, staticOffset + e.pageY) + 'px'); | |
28 return false; | |
29 } | |
30 | |
31 function endDrag(e) { | |
32 $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag); | |
33 textarea.css('opacity', 1); | |
34 } | |
35 }); | |
36 }; |