aboutsummaryrefslogtreecommitdiff
path: root/app/src/web/ts/auto_resize_textarea.ts
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/web/ts/auto_resize_textarea.ts')
-rw-r--r--app/src/web/ts/auto_resize_textarea.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/src/web/ts/auto_resize_textarea.ts b/app/src/web/ts/auto_resize_textarea.ts
new file mode 100644
index 00000000..f690d4c0
--- /dev/null
+++ b/app/src/web/ts/auto_resize_textarea.ts
@@ -0,0 +1,22 @@
+// Credits to https://codepen.io/tomhodgins/pen/KgazaE
+(function () {
+ const textareas = <NodeListOf<HTMLTextAreaElement>>document.querySelectorAll('textarea.frostAutoExpand');
+
+ const _frostAutoExpand = (el: HTMLElement) => {
+ el.style.height = 'inherit'
+ el.style.height = `${el.scrollHeight}px`
+ };
+ function _frostExpandAll() {
+ textareas.forEach(_frostAutoExpand);
+ }
+ textareas.forEach(el => {
+ const __frostAutoExpand = () => {
+ _frostAutoExpand(el)
+ };
+ el.addEventListener('paste', __frostAutoExpand)
+ el.addEventListener('input', __frostAutoExpand)
+ el.addEventListener('keyup', __frostAutoExpand)
+ });
+ window.addEventListener('load', _frostExpandAll)
+ window.addEventListener('resize', _frostExpandAll)
+}).call(undefined);