remove some warnings, add configuration pane
This commit is contained in:
60
src/lib.rs
60
src/lib.rs
@@ -1,5 +1,3 @@
|
||||
mod utils;
|
||||
|
||||
use js_sys::Date;
|
||||
use rand::prelude::*;
|
||||
use wasm_bindgen::prelude::*;
|
||||
@@ -16,29 +14,37 @@ extern "C" {
|
||||
fn alert(s: &str);
|
||||
}
|
||||
|
||||
fn le_document() -> web_sys::Document {
|
||||
let window = web_sys::window().expect("pas de window");
|
||||
window.document().expect("pas_de_document")
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn intervalle_orateurice() {
|
||||
let document = le_document();
|
||||
let now: f64 = Date::new_0().get_time();
|
||||
let prochain = document.get_element_by_id("orateurice").expect("blu");
|
||||
let compte = document.get_element_by_id("compte").expect("blaou");
|
||||
match js_sys::Reflect::get(&prochain, &JsValue::from("debut")) {
|
||||
Err(_) => return,
|
||||
Ok(date_debut) => {
|
||||
let date_debut = date_debut.as_f64().expect("tut tut");
|
||||
let diff = ((now - date_debut) / 1000.0) as u64;
|
||||
let sec = diff % 60;
|
||||
let min = diff / 60;
|
||||
compte.set_inner_html(&format!("{}:{:02}", min, sec));
|
||||
}
|
||||
let prochain = document
|
||||
.get_element_by_id("orateurice")
|
||||
.expect("pas de prochain");
|
||||
let compte = document.get_element_by_id("compte");
|
||||
match compte {
|
||||
None => return,
|
||||
Some(compte) => match js_sys::Reflect::get(&prochain, &JsValue::from("debut")) {
|
||||
Err(_) => return,
|
||||
Ok(date_debut) => {
|
||||
if date_debut == JsValue::UNDEFINED {
|
||||
return;
|
||||
};
|
||||
let date_debut = date_debut.as_f64().expect("tut tut");
|
||||
let diff = ((now - date_debut) / 1000.0) as u64;
|
||||
let sec = diff % 60;
|
||||
let min = diff / 60;
|
||||
compte.set_inner_html(&format!("{}:{:02}", min, sec));
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
fn le_document() -> web_sys::Document {
|
||||
let window = web_sys::window().expect("no global `window` exists");
|
||||
window.document().expect("should have a document on window")
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn next() {
|
||||
let document = le_document();
|
||||
@@ -66,12 +72,13 @@ pub fn next() {
|
||||
let nom_prochain = li.text_content().expect("");
|
||||
let temps_debut = Date::new_0().get_time();
|
||||
prochain.set_text_content(Some(nom_prochain.as_str()));
|
||||
js_sys::Reflect::set(
|
||||
let _ = js_sys::Reflect::set(
|
||||
&prochain,
|
||||
&JsValue::from("debut"),
|
||||
&JsValue::from(temps_debut),
|
||||
);
|
||||
li.parent_element().expect("").remove_child(&li);
|
||||
)
|
||||
.unwrap();
|
||||
li.parent_element().expect("").remove_child(&li).unwrap();
|
||||
prochain.set_class_name("");
|
||||
}
|
||||
None => {
|
||||
@@ -113,12 +120,19 @@ pub fn ajoute(id: &str) {
|
||||
let n = lis.length();
|
||||
let mut rng = thread_rng();
|
||||
let k = rng.gen_range(0, n + 1);
|
||||
let old_new_lis = document.get_elements_by_class_name("dernier_arrive");
|
||||
for i in 0..old_new_lis.length() {
|
||||
if let Some(li) = old_new_lis.item(i) {
|
||||
li.class_list().remove_1("dernier_arrive").unwrap();
|
||||
}
|
||||
}
|
||||
let new_li = document.create_element("li").unwrap();
|
||||
new_li.set_inner_html(&content);
|
||||
new_li.set_class_name("dernier_arrive");
|
||||
if k == n {
|
||||
ol.append_child(&new_li);
|
||||
ol.append_child(&new_li).unwrap();
|
||||
} else {
|
||||
let li = lis.item(k).unwrap();
|
||||
li.after_with_node_1(&new_li);
|
||||
li.after_with_node_1(&new_li).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user