35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
|
(function (window) {
|
||
|
"use strict";
|
||
|
|
||
|
window.Litespeed.container.get('view').add(
|
||
|
{
|
||
|
selector: 'data-forms-text-resize',
|
||
|
repeat: false,
|
||
|
controller: function(element, window) {
|
||
|
function resize () {
|
||
|
|
||
|
var scrollLeft = window.pageXOffset || (window.document.documentElement || window.document.body.parentNode || window.document.body).scrollLeft;
|
||
|
var scrollTop = window.pageYOffset || (window.document.documentElement || window.document.body.parentNode || window.document.body).scrollTop;
|
||
|
|
||
|
var offset = element.offsetHeight - element.clientHeight;
|
||
|
|
||
|
element.style.height = 'auto';
|
||
|
element.style.height = element.scrollHeight + offset + 'px';
|
||
|
|
||
|
window.scrollTo(scrollLeft, scrollTop);
|
||
|
}
|
||
|
|
||
|
element.addEventListener('keyup', resize);
|
||
|
element.addEventListener('change', resize);
|
||
|
element.addEventListener('cut', resize);
|
||
|
element.addEventListener('paste', resize);
|
||
|
element.addEventListener('drop', resize);
|
||
|
|
||
|
window.addEventListener('resize', resize);
|
||
|
|
||
|
resize();
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
|
||
|
})(window);
|