-
Notifications
You must be signed in to change notification settings - Fork 66
Open
Description
Focused signal works great for text inputs but for picker style inputs it doesn't work.
Unsure exactly how to implement it though, also heavily dependant on how/if/when the wasm-bindgen guys get the following issue working.
wasm-bindgen/wasm-bindgen#3036
pub(crate) fn show_picker(elem: &HtmlElement) {
elem.show_picker().unwrap_throw();
}fn set_focused_signal<B>(&mut self, value: B)
where B: Signal<Item = bool> + 'static {
let element = self.element.as_ref().clone();
// This needs to use `after_insert` because calling `.focus()` on an element before it is in the DOM has no effect
self.callbacks.after_insert(move |callbacks| {
// TODO verify that this is correct under all circumstances
callbacks.after_remove(for_each(value, move |value| {
// TODO avoid updating if the focused state hasn't changed ?
if value {
bindings::focus(&element);
}
else if value { // && [ "date", "datetime-local", "month", "time", "week", "color", "file"].contains(input_type) ??
bindings::show_picker(&element); // COULD ADD HERE?
} else {
bindings::blur(&element);
// NOT SURE HOW TO HANDLE BLUR-ING
}
}));
});
}Metadata
Metadata
Assignees
Labels
No labels