mirror of
https://github.com/open-webui/open-webui
synced 2025-04-06 05:35:55 +00:00
refac
This commit is contained in:
parent
a3f2b7045c
commit
3516eea189
@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { toast } from 'svelte-sonner';
|
import { toast } from 'svelte-sonner';
|
||||||
import { onMount, tick, getContext, createEventDispatcher } from 'svelte';
|
import { onMount, tick, getContext, createEventDispatcher, onDestroy } from 'svelte';
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -175,56 +175,59 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleKeyDown = (event: KeyboardEvent) => {
|
||||||
|
if (event.key === 'Escape') {
|
||||||
|
console.log('Escape');
|
||||||
|
dragged = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const onDragOver = (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
dragged = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onDragLeave = () => {
|
||||||
|
dragged = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
const onDrop = async (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
console.log(e);
|
||||||
|
|
||||||
|
if (e.dataTransfer?.files) {
|
||||||
|
const inputFiles = Array.from(e.dataTransfer?.files);
|
||||||
|
if (inputFiles && inputFiles.length > 0) {
|
||||||
|
console.log(inputFiles);
|
||||||
|
inputFilesHandler(inputFiles);
|
||||||
|
} else {
|
||||||
|
toast.error($i18n.t(`File not found.`));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dragged = false;
|
||||||
|
};
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
window.setTimeout(() => chatTextAreaElement?.focus(), 0);
|
window.setTimeout(() => chatTextAreaElement?.focus(), 0);
|
||||||
|
|
||||||
const dropZone = document.getElementById('chat-container');
|
|
||||||
const handleKeyDown = (event: KeyboardEvent) => {
|
|
||||||
if (event.key === 'Escape') {
|
|
||||||
console.log('Escape');
|
|
||||||
dragged = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const onDragOver = (e) => {
|
|
||||||
e.preventDefault();
|
|
||||||
dragged = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
const onDragLeave = () => {
|
|
||||||
dragged = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const onDrop = async (e) => {
|
|
||||||
e.preventDefault();
|
|
||||||
console.log(e);
|
|
||||||
|
|
||||||
if (e.dataTransfer?.files) {
|
|
||||||
const inputFiles = Array.from(e.dataTransfer?.files);
|
|
||||||
if (inputFiles && inputFiles.length > 0) {
|
|
||||||
console.log(inputFiles);
|
|
||||||
inputFilesHandler(inputFiles);
|
|
||||||
} else {
|
|
||||||
toast.error($i18n.t(`File not found.`));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dragged = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
window.addEventListener('keydown', handleKeyDown);
|
window.addEventListener('keydown', handleKeyDown);
|
||||||
|
|
||||||
|
const dropZone = document.getElementById('chat-container');
|
||||||
|
|
||||||
dropZone?.addEventListener('dragover', onDragOver);
|
dropZone?.addEventListener('dragover', onDragOver);
|
||||||
dropZone?.addEventListener('drop', onDrop);
|
dropZone?.addEventListener('drop', onDrop);
|
||||||
dropZone?.addEventListener('dragleave', onDragLeave);
|
dropZone?.addEventListener('dragleave', onDragLeave);
|
||||||
|
});
|
||||||
|
|
||||||
return () => {
|
onDestroy(() => {
|
||||||
window.removeEventListener('keydown', handleKeyDown);
|
window.removeEventListener('keydown', handleKeyDown);
|
||||||
|
|
||||||
dropZone?.removeEventListener('dragover', onDragOver);
|
const dropZone = document.getElementById('chat-container');
|
||||||
dropZone?.removeEventListener('drop', onDrop);
|
|
||||||
dropZone?.removeEventListener('dragleave', onDragLeave);
|
dropZone?.removeEventListener('dragover', onDragOver);
|
||||||
};
|
dropZone?.removeEventListener('drop', onDrop);
|
||||||
|
dropZone?.removeEventListener('dragleave', onDragLeave);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user