42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
(function(window) {
|
|
"use strict";
|
|
|
|
window.ls.container.get("view").add({
|
|
selector: "data-forms-text-resize",
|
|
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);
|