textarea.js 920 B

1234567891011121314151617181920212223242526272829303132
  1. (function ($) {
  2. Drupal.behaviors.textarea = {
  3. attach: function (context, settings) {
  4. $('.form-textarea-wrapper.resizable', context).once('textarea', function () {
  5. var staticOffset = null;
  6. var textarea = $(this).addClass('resizable-textarea').find('textarea');
  7. var grippie = $('<div class="grippie"></div>').mousedown(startDrag);
  8. grippie.insertAfter(textarea);
  9. function startDrag(e) {
  10. staticOffset = textarea.height() - e.pageY;
  11. textarea.css('opacity', 0.25);
  12. $(document).mousemove(performDrag).mouseup(endDrag);
  13. return false;
  14. }
  15. function performDrag(e) {
  16. textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
  17. return false;
  18. }
  19. function endDrag(e) {
  20. $(document).unbind('mousemove', performDrag).unbind('mouseup', endDrag);
  21. textarea.css('opacity', 1);
  22. }
  23. });
  24. }
  25. };
  26. })(jQuery);