gioser-web: fix graph click — clone Element before dyn_into

- dyn_into() consumes the value; clicking after that is a no-op.
- Clone the Element first, then dyn_into to HtmlElement and call click()
This commit is contained in:
Sergio
2026-05-23 17:02:40 +00:00
parent 97bea4c99f
commit a072538465
5 changed files with 39 additions and 37 deletions
+6 -6
View File
@@ -9,14 +9,14 @@ export interface InitOutput {
readonly memory: WebAssembly.Memory; readonly memory: WebAssembly.Memory;
readonly boot: () => void; readonly boot: () => void;
readonly __wasm_bindgen_func_elem_232: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_232: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_1456: (a: number, b: number, c: number, d: number) => void; readonly __wasm_bindgen_func_elem_1462: (a: number, b: number, c: number, d: number) => void;
readonly __wasm_bindgen_func_elem_231: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_231: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_231_3: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_231_3: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_512: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_518: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_632: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_638: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_512_6: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_518_6: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_304: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_310: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_305: (a: number, b: number) => void; readonly __wasm_bindgen_func_elem_311: (a: number, b: number) => void;
readonly __wbindgen_export: (a: number, b: number) => number; readonly __wbindgen_export: (a: number, b: number) => number;
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
readonly __wbindgen_export3: (a: number) => void; readonly __wbindgen_export3: (a: number) => void;
+24 -24
View File
@@ -591,8 +591,8 @@ function __wbg_get_imports() {
return ret; return ret;
}, },
__wbindgen_cast_0000000000000001: function(arg0, arg1) { __wbindgen_cast_0000000000000001: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 195, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 201, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1456); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1462);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000002: function(arg0, arg1) { __wbindgen_cast_0000000000000002: function(arg0, arg1) {
@@ -611,28 +611,28 @@ function __wbg_get_imports() {
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000005: function(arg0, arg1) { __wbindgen_cast_0000000000000005: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 143, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 149, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_512); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_518);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000006: function(arg0, arg1) { __wbindgen_cast_0000000000000006: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 189, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 195, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_632); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_638);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000007: function(arg0, arg1) { __wbindgen_cast_0000000000000007: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 143, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 149, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_512_6); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_518_6);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000008: function(arg0, arg1) { __wbindgen_cast_0000000000000008: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 73, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 79, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_304); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_310);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_0000000000000009: function(arg0, arg1) { __wbindgen_cast_0000000000000009: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 75, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 81, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_305); const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_311);
return addHeapObject(ret); return addHeapObject(ret);
}, },
__wbindgen_cast_000000000000000a: function(arg0, arg1) { __wbindgen_cast_000000000000000a: function(arg0, arg1) {
@@ -659,8 +659,8 @@ function __wbg_get_imports() {
}; };
} }
function __wasm_bindgen_func_elem_305(arg0, arg1) { function __wasm_bindgen_func_elem_311(arg0, arg1) {
wasm.__wasm_bindgen_func_elem_305(arg0, arg1); wasm.__wasm_bindgen_func_elem_311(arg0, arg1);
} }
function __wasm_bindgen_func_elem_231(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_231(arg0, arg1, arg2) {
@@ -671,26 +671,26 @@ function __wasm_bindgen_func_elem_231_3(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_231_3(arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_231_3(arg0, arg1, addHeapObject(arg2));
} }
function __wasm_bindgen_func_elem_512(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_518(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_512(arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_518(arg0, arg1, addHeapObject(arg2));
} }
function __wasm_bindgen_func_elem_632(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_638(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_632(arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_638(arg0, arg1, addHeapObject(arg2));
} }
function __wasm_bindgen_func_elem_512_6(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_518_6(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_512_6(arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_518_6(arg0, arg1, addHeapObject(arg2));
} }
function __wasm_bindgen_func_elem_304(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_310(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_304(arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_310(arg0, arg1, addHeapObject(arg2));
} }
function __wasm_bindgen_func_elem_1456(arg0, arg1, arg2) { function __wasm_bindgen_func_elem_1462(arg0, arg1, arg2) {
try { try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.__wasm_bindgen_func_elem_1456(retptr, arg0, arg1, addHeapObject(arg2)); wasm.__wasm_bindgen_func_elem_1462(retptr, arg0, arg1, addHeapObject(arg2));
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
if (r1) { if (r1) {
Binary file not shown.
+6 -6
View File
@@ -3,14 +3,14 @@
export const memory: WebAssembly.Memory; export const memory: WebAssembly.Memory;
export const boot: () => void; export const boot: () => void;
export const __wasm_bindgen_func_elem_232: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_232: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_1456: (a: number, b: number, c: number, d: number) => void; export const __wasm_bindgen_func_elem_1462: (a: number, b: number, c: number, d: number) => void;
export const __wasm_bindgen_func_elem_231: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_231: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_231_3: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_231_3: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_512: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_518: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_632: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_638: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_512_6: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_518_6: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_304: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_310: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_305: (a: number, b: number) => void; export const __wasm_bindgen_func_elem_311: (a: number, b: number) => void;
export const __wbindgen_export: (a: number, b: number) => number; export const __wbindgen_export: (a: number, b: number) => number;
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number; export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
export const __wbindgen_export3: (a: number) => void; export const __wbindgen_export3: (a: number) => void;
+3 -1
View File
@@ -353,7 +353,9 @@ impl AppState {
if let Some(tip) = document_clone.query_selector( if let Some(tip) = document_clone.query_selector(
&format!(".tip[data-md][id='tip-{}']", el) &format!(".tip[data-md][id='tip-{}']", el)
).ok().flatten() { ).ok().flatten() {
let _ = tip.dyn_into::<HtmlElement>().map(|e| e.click()); // Clonar referencia antes de dyn_into (consume)
let tip_html: HtmlElement = tip.clone().dyn_into().unwrap();
tip_html.click();
} }
}); });
let mut graph = GraphWidget::new( let mut graph = GraphWidget::new(