33 lines
920 B
JavaScript
33 lines
920 B
JavaScript
|
(function ($) {
|
||
|
|
||
|
Drupal.behaviors.textarea = {
|
||
|
attach: function (context, settings) {
|
||
|
$('.form-textarea-wrapper.resizable', context).once('textarea', function () {
|
||
|
var staticOffset = null;
|
||
|
var textarea = $(this).addClass('resizable-textarea').find('textarea');
|
||
|
var grippie = $('<div class="grippie"></div>').mousedown(startDrag);
|
||
|
|
||
|
grippie.insertAfter(textarea);
|
||
|
|
||
|
function startDrag(e) {
|
||
|
staticOffset = textarea.height() - e.pageY;
|
||
|
textarea.css('opacity', 0.25);
|
||
|
$(document).mousemove(performDrag).mouseup(endDrag);
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
function performDrag(e) {
|
||
|
textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
function endDrag(e) {
|
||
|
$(document).unbind('mousemove', performDrag).unbind('mouseup', endDrag);
|
||
|
textarea.css('opacity', 1);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
})(jQuery);
|