fix double diologs on desktop renderer
This commit is contained in:
1 parent
9cfb655478
commit
d749fff11b
2 files changed
+10
-6
No files matched your search
@@ -273,16 +273,21 @@ pub fn launch_with_props<P: 'static>(root: Component<P>, props: P, cfg: Config)
|
|||||||
let event_name = &file_diolog.event;
|
let event_name = &file_diolog.event;
|
||||||
let event_bubbles = file_diolog.bubbles;
|
let event_bubbles = file_diolog.bubbles;
|
||||||
let files = file_upload::get_file_event(&file_diolog);
|
let files = file_upload::get_file_event(&file_diolog);
|
||||||
let data = FormData {
|
let data = Rc::new(FormData {
|
||||||
value: Default::default(),
|
value: Default::default(),
|
||||||
values: Default::default(),
|
values: Default::default(),
|
||||||
files: Some(Arc::new(NativeFileEngine::new(files))),
|
files: Some(Arc::new(NativeFileEngine::new(files))),
|
||||||
};
|
});
|
||||||
|
|
||||||
let view = webviews.get_mut(&event.1).unwrap();
|
let view = webviews.get_mut(&event.1).unwrap();
|
||||||
|
|
||||||
view.dom
|
if event_name == "change&input" {
|
||||||
.handle_event(event_name, Rc::new(data), id, event_bubbles);
|
view.dom
|
||||||
|
.handle_event("input", data.clone(), id, event_bubbles);
|
||||||
|
view.dom.handle_event("change", data, id, event_bubbles);
|
||||||
|
} else {
|
||||||
|
view.dom.handle_event(event_name, data, id, event_bubbles);
|
||||||
|
}
|
||||||
|
|
||||||
send_edits(view.dom.render_immediate(), &view.webview);
|
send_edits(view.dom.render_immediate(), &view.webview);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ fn module_loader(root_name: &str) -> String {
|
|||||||
const message = serializeIpcMessage("file_diolog", { accept: target.getAttribute("accept"), multiple: target.hasAttribute("multiple"), target: parseInt(target_id), bubbles: event_bubbles(event_name), event: event_name });
|
const message = serializeIpcMessage("file_diolog", { accept: target.getAttribute("accept"), multiple: target.hasAttribute("multiple"), target: parseInt(target_id), bubbles: event_bubbles(event_name), event: event_name });
|
||||||
window.ipc.postMessage(message);
|
window.ipc.postMessage(message);
|
||||||
};
|
};
|
||||||
send("change");
|
send("change&input");
|
||||||
send("input");
|
|
||||||
}
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user