Skip to content

Commit dc04e4f

Browse files
committed
main 🧊 change type for use drop zone
1 parent 46504b8 commit dc04e4f

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

‎packages/core/src/bundle/hooks/useDropZone/useDropZone.js‎

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,15 @@ export const useDropZone = (...params) => {
118118
}
119119
if (event.type === 'dragover') options.onOver?.(event);
120120
};
121-
const onDrop = (event) => onEvent(event);
122-
const onDragOver = (event) => onEvent(event);
123-
const onDragEnter = (event) => onEvent(event);
124-
const onDragLeave = (event) => onEvent(event);
125-
element.addEventListener('dragenter', onDragEnter);
126-
element.addEventListener('dragover', onDragOver);
127-
element.addEventListener('dragleave', onDragLeave);
128-
element.addEventListener('drop', onDrop);
121+
element.addEventListener('dragenter', onEvent);
122+
element.addEventListener('dragover', onEvent);
123+
element.addEventListener('dragleave', onEvent);
124+
element.addEventListener('drop', onEvent);
129125
return () => {
130-
element.removeEventListener('dragenter', onDragEnter);
131-
element.removeEventListener('dragover', onDragOver);
132-
element.removeEventListener('dragleave', onDragLeave);
133-
element.removeEventListener('drop', onDrop);
126+
element.removeEventListener('dragenter', onEvent);
127+
element.removeEventListener('dragover', onEvent);
128+
element.removeEventListener('dragleave', onEvent);
129+
element.removeEventListener('drop', onEvent);
134130
};
135131
}, [target && isTarget.getRawElement(target), internalRef.state]);
136132
if (target) return { overed, files };

‎packages/core/src/hooks/useDropZone/useDropZone.ts‎

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,7 @@ export const useDropZone = ((...params: any[]) => {
154154
const element = target ? isTarget.getElement(target) : internalRef.current;
155155

156156
if (!element) return;
157-
158-
const controller = new AbortController();
159-
const options = { signal: controller.signal };
160-
157+
161158
const onEvent = (event: DragEvent) => {
162159
if (!event.dataTransfer) return;
163160

@@ -187,7 +184,9 @@ export const useDropZone = ((...params: any[]) => {
187184
return;
188185
}
189186

190-
if (event.type === 'dragleave' && (counterRef.current -= 1) === 0) {
187+
if (event.type === 'dragleave') {
188+
counterRef.current -= 1;
189+
if (counterRef.current !== 0) return;
191190
setOvered(false);
192191
options.onLeave?.(event);
193192
return;
@@ -196,13 +195,16 @@ export const useDropZone = ((...params: any[]) => {
196195
if (event.type === 'dragover') options.onOver?.(event);
197196
};
198197

199-
element.addEventListener('dragenter', onEvent, options);
200-
element.addEventListener('dragover', onEvent, options);
201-
element.addEventListener('dragleave', onEvent, options);
202-
element.addEventListener('drop', onEvent, options);
198+
element.addEventListener('dragenter', onEvent as EventListener);
199+
element.addEventListener('dragover', onEvent as EventListener);
200+
element.addEventListener('dragleave', onEvent as EventListener);
201+
element.addEventListener('drop', onEvent as EventListener);
203202

204203
return () => {
205-
controller.abort();
204+
element.removeEventListener('dragenter', onEvent as EventListener);
205+
element.removeEventListener('dragover', onEvent as EventListener);
206+
element.removeEventListener('dragleave', onEvent as EventListener);
207+
element.removeEventListener('drop', onEvent as EventListener);
206208
};
207209
}, [target && isTarget.getRawElement(target), internalRef.state]);
208210

0 commit comments

Comments
 (0)