scinote-web/app/assets/javascripts/sitewide/textarea_autosize.js
Luka Murn a3bbf94643 Add a smart_text_area tag & implement it throughout application
This fixes the mentioned issues @mlorb mentioned.
Closes SCI-637.
2016-11-16 17:57:01 +01:00

30 lines
786 B
JavaScript

$(document).on(
'focus',
'textarea.smart-text-area:not([readonly]):not([disabled])',
function() {
var $this = $(this);
var height = $this.css('height');
if ($this.hasClass('textarea-sm-present')) {
$this
.removeClass('textarea-sm-present')
.addClass('textarea-sm');
$this.attr('rows', '1');
} else if ($this.hasClass('textarea-sm')) {
// Set the nr. of rows to 1 if small textarea
$this.attr('rows', '1');
} else {
$this.removeAttr('rows');
}
// Initialize autosize plugin if it's not initialized yet
if (_.isUndefined($this.data('autosize'))) {
$this.autosize({append: ''});
// Restore previous height!
$this.css('height', height);
}
$this.trigger('autosize.resize');
}
);