rf: message input dom queries
This commit is contained in:
		
							parent
							
								
									fe19f125d4
								
							
						
					
					
						commit
						cc471597cd
					
				| 
						 | 
					@ -19,7 +19,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	export let suggestionPrompts = [];
 | 
						export let suggestionPrompts = [];
 | 
				
			||||||
	export let autoScroll = true;
 | 
						export let autoScroll = true;
 | 
				
			||||||
 | 
						let chatTextArea:HTMLTextAreaElement
 | 
				
			||||||
	let filesInputElement;
 | 
						let filesInputElement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	let promptsElement;
 | 
						let promptsElement;
 | 
				
			||||||
| 
						 | 
					@ -43,11 +43,9 @@
 | 
				
			||||||
	let speechRecognition;
 | 
						let speechRecognition;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	$: if (prompt) {
 | 
						$: if (prompt) {
 | 
				
			||||||
		const chatInput = document.getElementById('chat-textarea');
 | 
							if (chatTextArea) {
 | 
				
			||||||
 | 
								chatTextArea.style.height = '';
 | 
				
			||||||
		if (chatInput) {
 | 
								chatTextArea.style.height = Math.min(chatTextArea.scrollHeight, 200) + 'px';
 | 
				
			||||||
			chatInput.style.height = '';
 | 
					 | 
				
			||||||
			chatInput.style.height = Math.min(chatInput.scrollHeight, 200) + 'px';
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,9 +84,7 @@
 | 
				
			||||||
			if (res) {
 | 
								if (res) {
 | 
				
			||||||
				prompt = res.text;
 | 
									prompt = res.text;
 | 
				
			||||||
				await tick();
 | 
									await tick();
 | 
				
			||||||
 | 
									chatTextArea?.focus();
 | 
				
			||||||
				const inputElement = document.getElementById('chat-textarea');
 | 
					 | 
				
			||||||
				inputElement?.focus();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (prompt !== '' && $settings?.speechAutoSend === true) {
 | 
									if (prompt !== '' && $settings?.speechAutoSend === true) {
 | 
				
			||||||
					submitPrompt(prompt, user);
 | 
										submitPrompt(prompt, user);
 | 
				
			||||||
| 
						 | 
					@ -191,8 +187,7 @@
 | 
				
			||||||
						prompt = `${prompt}${transcript}`;
 | 
											prompt = `${prompt}${transcript}`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						await tick();
 | 
											await tick();
 | 
				
			||||||
						const inputElement = document.getElementById('chat-textarea');
 | 
											chatTextArea?.focus();
 | 
				
			||||||
						inputElement?.focus();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
						// Restart the inactivity timeout
 | 
											// Restart the inactivity timeout
 | 
				
			||||||
						timeoutId = setTimeout(() => {
 | 
											timeoutId = setTimeout(() => {
 | 
				
			||||||
| 
						 | 
					@ -294,8 +289,7 @@
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	onMount(() => {
 | 
						onMount(() => {
 | 
				
			||||||
		const chatInput = document.getElementById('chat-textarea');
 | 
							window.setTimeout(() => chatTextArea?.focus(), 0);
 | 
				
			||||||
		window.setTimeout(() => chatInput?.focus(), 0);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		const dropZone = document.querySelector('body');
 | 
							const dropZone = document.querySelector('body');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -663,6 +657,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						<textarea
 | 
											<textarea
 | 
				
			||||||
							id="chat-textarea"
 | 
												id="chat-textarea"
 | 
				
			||||||
 | 
												bind:this={chatTextArea}
 | 
				
			||||||
							class=" dark:bg-gray-900 dark:text-gray-100 outline-none w-full py-3 px-3 {fileUploadEnabled
 | 
												class=" dark:bg-gray-900 dark:text-gray-100 outline-none w-full py-3 px-3 {fileUploadEnabled
 | 
				
			||||||
								? ''
 | 
													? ''
 | 
				
			||||||
								: ' pl-4'} rounded-xl resize-none h-[48px]"
 | 
													: ' pl-4'} rounded-xl resize-none h-[48px]"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue