add file property to drag data

This commit is contained in:
Evan Almloff committed 2023-04-27 10:21:05 -05:00
1 parent c904411190
commit ada246c12e
11 files changed
+133 -77

No files matched your search

+2 -1
View File
@@ -79,7 +79,8 @@ features = [
"console",
"FileList",
"File",
"FileReader"
"FileReader",
"DataTransfer"
]
[features]
+10 -1
View File
@@ -244,8 +244,17 @@ pub fn virtual_event_from_websys_event(event: web_sys::Event, target: Element) -
}
"drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart"
| "drop" => {
let mut files = None;
if let Some(event) = event.dyn_ref::<web_sys::DragEvent>() {
if let Some(data) = event.data_transfer() {
if let Some(file_list) = data.files() {
files = WebFileEngine::new(file_list)
.map(|f| Arc::new(f) as Arc<dyn FileEngine>);
}
}
}
let mouse = MouseData::from(event);
Rc::new(DragData { mouse })
Rc::new(DragData { mouse, files })
}
"pointerdown" | "pointermove" | "pointerup" | "pointercancel" | "gotpointercapture"