瀏覽代碼

refac: chat item edit title behaviour

Timothy Jaeryang Baek 2 月之前
父節點
當前提交
8da08ad73a
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      src/lib/components/layout/Sidebar/ChatItem.svelte

+ 12 - 0
src/lib/components/layout/Sidebar/ChatItem.svelte

@@ -184,8 +184,18 @@
 		dragged = false;
 	};
 
+	const onClickOutside = (event) => {
+		if (confirmEdit && !event.target.closest(`#chat-title-input-${id}`)) {
+			confirmEdit = false;
+			ignoreBlur = false;
+			chatTitle = '';
+		}
+	};
+
 	onMount(() => {
 		if (itemElement) {
+			document.addEventListener('click', onClickOutside, true);
+
 			// Event listener for when dragging starts
 			itemElement.addEventListener('dragstart', onDragStart);
 			// Event listener for when dragging occurs (optional)
@@ -197,6 +207,8 @@
 
 	onDestroy(() => {
 		if (itemElement) {
+			document.removeEventListener('click', onClickOutside, true);
+
 			itemElement.removeEventListener('dragstart', onDragStart);
 			itemElement.removeEventListener('drag', onDrag);
 			itemElement.removeEventListener('dragend', onDragEnd);