Merge 54a1287441 into 0de73e8971
				
					
				
			This commit is contained in:
		
						commit
						cd658d143f
					
				| @ -91,14 +91,41 @@ watch( | ||||
|   { immediate: true }, | ||||
| ); | ||||
| 
 | ||||
| /** | ||||
|  * Checks if the given HTMLElement overflows | ||||
|  * copied from stackoverflow: https://stackoverflow.com/questions/143815/determine-if-an-html-elements-content-overflows | ||||
|  * @param el The HTMLElement to check | ||||
|  */ | ||||
| function checkOverflow(el: HTMLElement) { | ||||
|   const curOverflow = el.style.overflow; | ||||
|   if (!curOverflow || curOverflow === 'visible') { | ||||
|     el.style.overflow = 'hidden'; | ||||
|   } | ||||
| 
 | ||||
|   const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight; | ||||
| 
 | ||||
|   el.style.overflow = curOverflow; | ||||
| 
 | ||||
|   return isOverflowing; | ||||
| } | ||||
| 
 | ||||
| function resizeTextarea() { | ||||
|   if (!textareaRef.value || !inputWrapperRef.value) { | ||||
|   if (textareaRef.value === undefined) { | ||||
|     return; // cannot chnge textarea if element is not available | ||||
|   } | ||||
| 
 | ||||
|   if (!multiline) { | ||||
|     return; // textarea wont be displayed if multiline === false | ||||
|   } | ||||
| 
 | ||||
|   if (!checkOverflow(textareaRef.value)) { | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|   const scrollHeight = textareaRef.value.scrollHeight + 2; | ||||
|   const textAreaElement = textareaRef.value!; | ||||
| 
 | ||||
|   inputWrapperRef.value.style.height = `${scrollHeight}px`; | ||||
|   const scrollHeight = textAreaElement.scrollHeight + 2; | ||||
|   textAreaElement.style.height = `${scrollHeight}px`; | ||||
| } | ||||
| 
 | ||||
| const htmlInputType = computed(() => { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user