ft/adds function on enter key per input

This commit is contained in:
itsscb 2024-05-24 20:54:45 +02:00
parent 9339920c9a
commit 4362e59a2d
5 changed files with 42 additions and 15 deletions

View File

@ -600,6 +600,13 @@ function __wbg_get_imports() {
imports.wbg.__wbg_pushState_b8e8d346f8bb33fd = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) { imports.wbg.__wbg_pushState_b8e8d346f8bb33fd = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
getObject(arg0).pushState(getObject(arg1), getStringFromWasm0(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm0(arg4, arg5)); getObject(arg0).pushState(getObject(arg1), getStringFromWasm0(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm0(arg4, arg5));
}, arguments) }; }, arguments) };
imports.wbg.__wbg_key_dccf9e8aa1315a8e = function(arg0, arg1) {
const ret = getObject(arg1).key;
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len1 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len1;
getInt32Memory0()[arg0 / 4 + 0] = ptr1;
};
imports.wbg.__wbg_setchecked_931ff2ed2cd3ebfd = function(arg0, arg1) { imports.wbg.__wbg_setchecked_931ff2ed2cd3ebfd = function(arg0, arg1) {
getObject(arg0).checked = arg1 !== 0; getObject(arg0).checked = arg1 !== 0;
}; };
@ -929,16 +936,16 @@ function __wbg_get_imports() {
const ret = wasm.memory; const ret = wasm.memory;
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper6475 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper6534 = function(arg0, arg1, arg2) {
const ret = makeClosure(arg0, arg1, 695, __wbg_adapter_40); const ret = makeClosure(arg0, arg1, 711, __wbg_adapter_40);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper8356 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper8417 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 823, __wbg_adapter_43); const ret = makeMutClosure(arg0, arg1, 839, __wbg_adapter_43);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper8553 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper8614 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 836, __wbg_adapter_46); const ret = makeMutClosure(arg0, arg1, 852, __wbg_adapter_46);
return addHeapObject(ret); return addHeapObject(ret);
}; };
@ -981,7 +988,7 @@ async function __wbg_init(input) {
if (wasm !== undefined) return wasm; if (wasm !== undefined) return wasm;
if (typeof input === 'undefined') { if (typeof input === 'undefined') {
input = new URL('digitaler-frieden-99416daee9ea8526c8fab295cf408199d61d343ac420e4bfdedf075a84ad23790895e67c4c0b56bc254c3227297f1095_bg.wasm', import.meta.url); input = new URL('digitaler-frieden-0f443414bd108417282961b2a7ed017b22de829a3fb8f586fe6d512339ae7333c5c15674156a782cc70b2df0627f26c6_bg.wasm', import.meta.url);
} }
const imports = __wbg_get_imports(); const imports = __wbg_get_imports();

8
dist/index.html vendored
View File

@ -7,15 +7,15 @@
<link rel="manifest" href="public/manifest.json"> <link rel="manifest" href="public/manifest.json">
<link rel="preload" href="/digitaler-frieden-99416daee9ea8526c8fab295cf408199d61d343ac420e4bfdedf075a84ad23790895e67c4c0b56bc254c3227297f1095_bg.wasm" as="fetch" type="application/wasm" crossorigin="anonymous" integrity="sha384-mUFtrunqhSbI-rKVz0CBmdYdNDrEIOS_3t8HWoStI3kIleZ8TAtWvCVMMicpfxCV"> <link rel="preload" href="/digitaler-frieden-0f443414bd108417282961b2a7ed017b22de829a3fb8f586fe6d512339ae7333c5c15674156a782cc70b2df0627f26c6_bg.wasm" as="fetch" type="application/wasm" crossorigin="anonymous" integrity="sha384-D0Q0FL0QhBcoKWGyp-0BeyLegpo_uPWG_m1RIzmuczPFwVZ0FWp4LMcLLfBifybG">
<link rel="modulepreload" href="/digitaler-frieden-99416daee9ea8526c8fab295cf408199d61d343ac420e4bfdedf075a84ad23790895e67c4c0b56bc254c3227297f1095.js" crossorigin="anonymous" integrity="sha384-xraHREWfrlizQrGCM18bLm1zxSE-Kn_u2GZMV9WNl8D6gn7ftjkn4ACF02Ci2dSf"></head> <link rel="modulepreload" href="/digitaler-frieden-0f443414bd108417282961b2a7ed017b22de829a3fb8f586fe6d512339ae7333c5c15674156a782cc70b2df0627f26c6.js" crossorigin="anonymous" integrity="sha384-su_WWtcNIEGOQdPYbV_ukjxeupmnMjRqxqHtZ6aN5vHne0JwI8rckvMt2mutSx5T"></head>
<body class="bg-black text-white"> <body class="bg-black text-white">
<script type="module"> <script type="module">
import init, * as bindings from '/digitaler-frieden-99416daee9ea8526c8fab295cf408199d61d343ac420e4bfdedf075a84ad23790895e67c4c0b56bc254c3227297f1095.js'; import init, * as bindings from '/digitaler-frieden-0f443414bd108417282961b2a7ed017b22de829a3fb8f586fe6d512339ae7333c5c15674156a782cc70b2df0627f26c6.js';
init('/digitaler-frieden-99416daee9ea8526c8fab295cf408199d61d343ac420e4bfdedf075a84ad23790895e67c4c0b56bc254c3227297f1095_bg.wasm'); init('/digitaler-frieden-0f443414bd108417282961b2a7ed017b22de829a3fb8f586fe6d512339ae7333c5c15674156a782cc70b2df0627f26c6_bg.wasm');
window.wasmBindings = bindings; window.wasmBindings = bindings;
</script><script>"use strict"; </script><script>"use strict";

View File

@ -1,3 +1,4 @@
use web_sys::{KeyboardEvent, MouseEvent};
use yew::{classes, function_component, html, Html}; use yew::{classes, function_component, html, Html};
use yew_router::components::Link; use yew_router::components::Link;
@ -9,7 +10,7 @@ pub fn Clues() -> Html {
let mails_callback = mails.clone(); let mails_callback = mails.clone();
let mail = yew::NodeRef::default(); let mail = yew::NodeRef::default();
let on_mail_add: yew::Callback<yew::MouseEvent> = { let mail_add = {
let mail = mail.clone(); let mail = mail.clone();
yew::Callback::from(move |_| { yew::Callback::from(move |_| {
if let Some(input) = mail.cast::<web_sys::HtmlInputElement>() { if let Some(input) = mail.cast::<web_sys::HtmlInputElement>() {
@ -23,6 +24,15 @@ pub fn Clues() -> Html {
}; };
}) })
}; };
let on_mail_add = mail_add.clone();
let on_mail_add_press = {
yew::Callback::from(move |event: KeyboardEvent| {
if event.key() == "Enter" {
on_mail_add.emit(());
}
})
};
let on_mail_add_click = yew::Callback::from(move |_: MouseEvent| mail_add.emit(()));
let on_mail_remove = { let on_mail_remove = {
let mails = mails.clone(); let mails = mails.clone();
@ -36,7 +46,7 @@ pub fn Clues() -> Html {
let phones_callback = phones.clone(); let phones_callback = phones.clone();
let phone = yew::NodeRef::default(); let phone = yew::NodeRef::default();
let on_phone_add: yew::Callback<yew::MouseEvent> = { let phone_add = {
let phone = phone.clone(); let phone = phone.clone();
yew::Callback::from(move |_| { yew::Callback::from(move |_| {
if let Some(input) = phone.cast::<web_sys::HtmlInputElement>() { if let Some(input) = phone.cast::<web_sys::HtmlInputElement>() {
@ -50,6 +60,13 @@ pub fn Clues() -> Html {
}; };
}) })
}; };
let on_phone_add = phone_add.clone();
let on_phone_add_press = yew::Callback::from(move |event: KeyboardEvent| {
if event.key() == "Enter" {
on_phone_add.emit(());
}
});
let on_phone_add_click = yew::Callback::from(move |_: MouseEvent| phone_add.emit(()));
let on_phone_remove = { let on_phone_remove = {
let phones = phones.clone(); let phones = phones.clone();
@ -124,6 +141,7 @@ pub fn Clues() -> Html {
</div> </div>
<div class="flex justify-center items-center space-x-4 w-full"> <div class="flex justify-center items-center space-x-4 w-full">
<input <input
onkeypress={on_mail_add_press}
id="email" id="email"
ref={mail} ref={mail}
class={classes!( class={classes!(
@ -148,7 +166,7 @@ pub fn Clues() -> Html {
)} )}
type="text" type="text"
/> />
<button onclick={on_mail_add}> <button onclick={on_mail_add_click}>
<svg <svg
class="text-primary w-16" class="text-primary w-16"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -190,6 +208,7 @@ pub fn Clues() -> Html {
</div> </div>
<div class="flex justify-center items-center space-x-4 w-full"> <div class="flex justify-center items-center space-x-4 w-full">
<input <input
onkeypress={on_phone_add_press}
id="phone" id="phone"
ref={phone} ref={phone}
class={classes!( class={classes!(
@ -214,7 +233,7 @@ pub fn Clues() -> Html {
)} )}
type="text" type="text"
/> />
<button onclick={on_phone_add}> <button onclick={on_phone_add_click}>
<svg <svg
class="text-primary w-16" class="text-primary w-16"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"

1
xsel Normal file
View File

@ -0,0 +1 @@
asdf