WASM: buttons to set entire input

This commit is contained in:
Arne Keller 2021-03-19 19:29:46 +01:00
parent b2eeecfae6
commit 1895421d68
2 changed files with 13 additions and 0 deletions

View File

@ -39,6 +39,7 @@
</p>
<p id="examples">
Load <a href="#--111100">example 1</a>, <a href="#-1111000-1-01---">example 2</a>, <a href="#11101111111111111111101111111101">example 3</a>.
Set all cells to <button id="set-0">0</button>, <button id="set-1">1</button> or <button id="set-any">-</button>.
</p>
<div id="input-container"></div>
<div><label>Generate: <select id="mode-select">

View File

@ -158,6 +158,18 @@ fn set_var_number(x: usize) {
}
fn init_settings() {
let set0 = web!(document).get_element_by_id("set-0").unwrap().unchecked_into::<EventTarget>();
let closure = Closure::wrap(Box::new(|| set_input_function(&"0".repeat(2usize.pow(get_var_number() as u32)))) as Box<dyn FnMut()>);
set0.add_event_listener_with_callback("click", closure.as_ref().unchecked_ref()).unwrap();
closure.forget();
let set1 = web!(document).get_element_by_id("set-1").unwrap().unchecked_into::<EventTarget>();
let closure = Closure::wrap(Box::new(|| set_input_function(&"1".repeat(2usize.pow(get_var_number() as u32)))) as Box<dyn FnMut()>);
set1.add_event_listener_with_callback("click", closure.as_ref().unchecked_ref()).unwrap();
closure.forget();
let seta = web!(document).get_element_by_id("set-any").unwrap().unchecked_into::<EventTarget>();
let closure = Closure::wrap(Box::new(|| set_input_function(&"-".repeat(2usize.pow(get_var_number() as u32)))) as Box<dyn FnMut()>);
seta.add_event_listener_with_callback("click", closure.as_ref().unchecked_ref()).unwrap();
closure.forget();
let calculate = web!(document).get_element_by_id("calculate").unwrap().unchecked_into::<EventTarget>();
let closure = Closure::wrap(Box::new(|| run()) as Box<dyn FnMut()>);
calculate.add_event_listener_with_callback("click", closure.as_ref().unchecked_ref()).unwrap();