test/emission_fichiers/textarea.js
author hamidouk
Mon, 19 Dec 2011 15:25:22 +0100
branchpopcorn-port
changeset 481 a46cfeee6d77
parent 0 c357d5b60635
permissions -rw-r--r--
using jquery ui draggable changes the state of an element from absolute to relative positioning, which breaks the way our seek button expands itself, so we need to force absolute positioning, quite uglily, using jquery.
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
};