test/emission_fichiers/textarea.js
author hamidouk
Mon, 16 Jan 2012 15:06:41 +0100
branchpopcorn-port
changeset 640 a6b64eeeb76d
parent 0 c357d5b60635
permissions -rw-r--r--
redid samuel's decimal to hexa conversion function.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
// $Id: textarea.js,v 1.22 2008/01/17 19:31:56 goba Exp $
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
Drupal.behaviors.textarea = function(context) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
  $('textarea.resizable:not(.textarea-processed)', context).each(function() {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
    // Avoid non-processed teasers.
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
    if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
      return false;  
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
    var textarea = $(this).addClass('textarea-processed'), staticOffset = null;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    // When wrapping the text area, work around an IE margin bug.  See:
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    $(this).wrap('<div class="resizable-textarea"><span></span></div>')
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
      .parent().append($('<div class="grippie"></div>').mousedown(startDrag));
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    var grippie = $('div.grippie', $(this).parent())[0];
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    function startDrag(e) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
      staticOffset = textarea.height() - e.pageY;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
      textarea.css('opacity', 0.25);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
      $(document).mousemove(performDrag).mouseup(endDrag);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
      return false;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    function performDrag(e) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
      textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
      return false;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    function endDrag(e) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
      $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
      textarea.css('opacity', 1);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
  });
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
};