diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-23 05:51:00 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-23 05:51:00 -0500 |
commit | 69d725d56cb43d92042eecbcc6d306782799ab88 (patch) | |
tree | 519f63929af020effc0ed30eeba86375989a39ff | |
parent | 0650ecd21a522536c5dc3a764847583e0fae61df (diff) | |
download | teleterm-69d725d56cb43d92042eecbcc6d306782799ab88.tar.gz teleterm-69d725d56cb43d92042eecbcc6d306782799ab88.zip |
pass configuration from the web server to the web app
-rw-r--r-- | teleterm-web/src/config.rs | 18 | ||||
-rw-r--r-- | teleterm-web/src/lib.rs | 3 | ||||
-rw-r--r-- | teleterm-web/src/model.rs | 14 | ||||
-rw-r--r-- | teleterm-web/src/views/page.rs | 8 | ||||
-rw-r--r-- | teleterm/src/web.rs | 57 | ||||
-rw-r--r-- | teleterm/src/web/view.rs | 37 | ||||
-rw-r--r-- | teleterm/static/index.html.tmpl | 4 | ||||
-rw-r--r-- | teleterm/static/teleterm_web.js | 316 | ||||
-rw-r--r-- | teleterm/static/teleterm_web_bg.wasm | bin | 697715 -> 703802 bytes |
9 files changed, 256 insertions, 201 deletions
diff --git a/teleterm-web/src/config.rs b/teleterm-web/src/config.rs new file mode 100644 index 0000000..c6dbc50 --- /dev/null +++ b/teleterm-web/src/config.rs @@ -0,0 +1,18 @@ +use crate::prelude::*; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen] + static TELETERM_CONFIG: JsValue; +} + +#[derive(Clone, Debug, serde::Deserialize)] +pub(crate) struct Config { + pub(crate) title: String, +} + +impl Config { + pub(crate) fn load() -> Self { + TELETERM_CONFIG.into_serde().unwrap() + } +} diff --git a/teleterm-web/src/lib.rs b/teleterm-web/src/lib.rs index 1b8fdde..7b17421 100644 --- a/teleterm-web/src/lib.rs +++ b/teleterm-web/src/lib.rs @@ -1,3 +1,4 @@ +mod config; mod model; mod prelude; mod protocol; @@ -19,7 +20,7 @@ enum Msg { fn init(_: Url, orders: &mut impl Orders<Msg>) -> Init<crate::model::Model> { log::trace!("init"); orders.send_msg(Msg::Refresh); - Init::new(crate::model::Model::default()) + Init::new(crate::model::Model::new(crate::config::Config::load())) } fn update( diff --git a/teleterm-web/src/model.rs b/teleterm-web/src/model.rs index 8a22f1b..1ba1f40 100644 --- a/teleterm-web/src/model.rs +++ b/teleterm-web/src/model.rs @@ -15,13 +15,21 @@ impl Drop for WatchConn { } } -#[derive(Default)] pub(crate) struct Model { + config: crate::config::Config, sessions: Vec<crate::protocol::Session>, watch_conn: Option<WatchConn>, } impl Model { + pub(crate) fn new(config: crate::config::Config) -> Self { + Self { + config, + sessions: vec![], + watch_conn: None, + } + } + pub(crate) fn update( &mut self, msg: crate::Msg, @@ -84,6 +92,10 @@ impl Model { } } + pub(crate) fn title(&self) -> &str { + &self.config.title + } + pub(crate) fn screen(&self) -> Option<&vt100::Screen> { self.watch_conn.as_ref().map(|conn| conn.term.screen()) } diff --git a/teleterm-web/src/views/page.rs b/teleterm-web/src/views/page.rs index 7842172..e30e085 100644 --- a/teleterm-web/src/views/page.rs +++ b/teleterm-web/src/views/page.rs @@ -1,9 +1,13 @@ use crate::prelude::*; pub(crate) fn render(model: &crate::model::Model) -> Vec<Node<crate::Msg>> { + let mut view = vec![seed::h1![model.title()]]; + if model.watching() { - super::watch::render(model) + view.extend(super::watch::render(model)) } else { - super::list::render(model) + view.extend(super::list::render(model)) } + + view } diff --git a/teleterm/src/web.rs b/teleterm/src/web.rs index bfc5bcb..40f23ce 100644 --- a/teleterm/src/web.rs +++ b/teleterm/src/web.rs @@ -1,44 +1,12 @@ +mod view; mod ws; use crate::prelude::*; use gotham::router::builder::{DefineSingleRoute as _, DrawRoutes as _}; use gotham::state::FromState as _; -use lazy_static::lazy_static; -use lazy_static_include::*; use tokio_tungstenite::tungstenite; -lazy_static_include::lazy_static_include_bytes!( - INDEX_HTML_TMPL, - "static/index.html.tmpl" -); -lazy_static_include::lazy_static_include_bytes!( - TELETERM_WEB_JS, - "static/teleterm_web.js" -); -lazy_static_include::lazy_static_include_bytes!( - TELETERM_WEB_WASM, - "static/teleterm_web_bg.wasm" -); -lazy_static_include::lazy_static_include_bytes!( - TELETERM_CSS, - "static/teleterm.css" -); - -const INDEX_HTML_TMPL_NAME: &str = "index"; -lazy_static::lazy_static! { - static ref HANDLEBARS: handlebars::Handlebars = { - let mut handlebars = handlebars::Handlebars::new(); - handlebars - .register_template_string( - INDEX_HTML_TMPL_NAME, - String::from_utf8(INDEX_HTML_TMPL.to_vec()).unwrap(), - ) - .unwrap(); - handlebars - }; -} - #[derive( serde::Deserialize, gotham_derive::StateData, @@ -49,7 +17,7 @@ struct WatchQueryParams { } #[derive(Clone, serde::Serialize)] -struct TemplateData { +struct Config { title: String, } @@ -59,7 +27,7 @@ pub struct Server { impl Server { pub fn new<T: std::net::ToSocketAddrs + 'static>(addr: T) -> Self { - let data = TemplateData { + let data = Config { title: "teleterm".to_string(), }; Self { @@ -96,22 +64,23 @@ impl futures::Future for Server { } } -fn router(data: &TemplateData) -> impl gotham::handler::NewHandler { +fn router(data: &Config) -> impl gotham::handler::NewHandler { gotham::router::builder::build_simple_router(|route| { route.get("/").to_new_handler(serve_template( "text/html", - INDEX_HTML_TMPL_NAME, + view::INDEX_HTML_TMPL_NAME, data, )); - route - .get("/teleterm_web.js") - .to(serve_static("application/javascript", &TELETERM_WEB_JS)); + route.get("/teleterm_web.js").to(serve_static( + "application/javascript", + &view::TELETERM_WEB_JS, + )); route .get("/teleterm_web_bg.wasm") - .to(serve_static("application/wasm", &TELETERM_WEB_WASM)); + .to(serve_static("application/wasm", &view::TELETERM_WEB_WASM)); route .get("/teleterm.css") - .to(serve_static("text/css", &TELETERM_CSS)); + .to(serve_static("text/css", &view::TELETERM_CSS)); route.get("/list").to(handle_list); route .get("/watch") @@ -136,13 +105,13 @@ fn serve_static( fn serve_template( content_type: &'static str, name: &'static str, - data: &TemplateData, + data: &Config, ) -> impl gotham::handler::NewHandler { let data = data.clone(); move || { let data = data.clone(); Ok(move |state| { - let rendered = HANDLEBARS.render(name, &data).unwrap(); + let rendered = view::HANDLEBARS.render(name, &data).unwrap(); let response = hyper::Response::builder() .header("Content-Type", content_type) .body(hyper::Body::from(rendered)) diff --git a/teleterm/src/web/view.rs b/teleterm/src/web/view.rs new file mode 100644 index 0000000..5745614 --- /dev/null +++ b/teleterm/src/web/view.rs @@ -0,0 +1,37 @@ +use handlebars::handlebars_helper; +use lazy_static::lazy_static; +use lazy_static_include::*; + +lazy_static_include::lazy_static_include_bytes!( + pub INDEX_HTML_TMPL, + "static/index.html.tmpl" +); +lazy_static_include::lazy_static_include_bytes!( + pub TELETERM_WEB_JS, + "static/teleterm_web.js" +); +lazy_static_include::lazy_static_include_bytes!( + pub TELETERM_WEB_WASM, + "static/teleterm_web_bg.wasm" +); +lazy_static_include::lazy_static_include_bytes!( + pub TELETERM_CSS, + "static/teleterm.css" +); + +handlebars_helper!(json: |x: object| serde_json::to_string(x).unwrap()); + +pub const INDEX_HTML_TMPL_NAME: &str = "index"; +lazy_static::lazy_static! { + pub static ref HANDLEBARS: handlebars::Handlebars = { + let mut handlebars = handlebars::Handlebars::new(); + handlebars.register_helper("json", Box::new(json)); + handlebars + .register_template_string( + INDEX_HTML_TMPL_NAME, + String::from_utf8(INDEX_HTML_TMPL.to_vec()).unwrap(), + ) + .unwrap(); + handlebars + }; +} diff --git a/teleterm/static/index.html.tmpl b/teleterm/static/index.html.tmpl index c489d87..7a2af50 100644 --- a/teleterm/static/index.html.tmpl +++ b/teleterm/static/index.html.tmpl @@ -4,8 +4,10 @@ <link rel="stylesheet" href="teleterm.css" type="text/css" /> </head> <body> - <h1>{{title}}</h1> <section id="app"></section> + <script type="text/javascript"> + TELETERM_CONFIG = {{json .}}; + </script> <script type="module"> import init from "./teleterm_web.js"; init(); diff --git a/teleterm/static/teleterm_web.js b/teleterm/static/teleterm_web.js index 82cd6a4..e863f35 100644 --- a/teleterm/static/teleterm_web.js +++ b/teleterm/static/teleterm_web.js @@ -18,31 +18,31 @@ function addHeapObject(obj) { return idx; } function __wbg_elem_binding0(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(62)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding1(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(6)(arg0, arg1, arg2); + wasm.__wbg_function_table.get(62)(arg0, arg1, addHeapObject(arg2)); } -function __wbg_elem_binding2(arg0, arg1) { - wasm.__wbg_function_table.get(38)(arg0, arg1); +function __wbg_elem_binding2(arg0, arg1, arg2) { + wasm.__wbg_function_table.get(61)(arg0, arg1, arg2); } function __wbg_elem_binding3(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(62)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding4(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(62)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding5(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(62)(arg0, arg1, addHeapObject(arg2)); } -function __wbg_elem_binding6(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2)); +function __wbg_elem_binding6(arg0, arg1) { + wasm.__wbg_function_table.get(31)(arg0, arg1); } function __wbg_elem_binding7(arg0, arg1, arg2, arg3, arg4) { - wasm.__wbg_function_table.get(22)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4)); + wasm.__wbg_function_table.get(17)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4)); } function __wbg_elem_binding8(arg0, arg1, arg2, arg3) { - wasm.__wbg_function_table.get(26)(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); + wasm.__wbg_function_table.get(21)(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); } /** */ @@ -64,6 +64,8 @@ function takeObject(idx) { return ret; } +function notDefined(what) { return () => { throw new Error(`${what} is not defined`); }; } + function isLikeNone(x) { return x === undefined || x === null; } @@ -216,8 +218,6 @@ function debugString(val) { return className; } -function notDefined(what) { return () => { throw new Error(`${what} is not defined`); }; } - function init(module) { if (typeof module === 'undefined') { module = import.meta.url.replace(/\.js$/, '_bg.wasm'); @@ -225,6 +225,9 @@ function init(module) { let result; const imports = {}; imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; imports.wbg.__wbindgen_cb_drop = function(arg0) { const obj = takeObject(arg0).original; if (obj.cnt-- == 1) { @@ -234,89 +237,56 @@ function init(module) { const ret = false; return ret; }; - imports.wbg.__widl_f_target_Event = function(arg0) { - const ret = getObject(arg0).target; + imports.wbg.__wbg_clearTimeout_42a8676f07d366c5 = typeof clearTimeout == 'function' ? clearTimeout : notDefined('clearTimeout'); + imports.wbg.__widl_f_first_child_Node = function(arg0) { + const ret = getObject(arg0).firstChild; return isLikeNone(ret) ? 0 : addHeapObject(ret); }; - imports.wbg.__widl_instanceof_Element = function(arg0) { - const ret = getObject(arg0) instanceof Element; - return ret; - }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); + imports.wbg.__widl_f_next_sibling_Node = function(arg0) { + const ret = getObject(arg0).nextSibling; + return isLikeNone(ret) ? 0 : addHeapObject(ret); }; - imports.wbg.__widl_f_closest_Element = function(arg0, arg1, arg2) { + imports.wbg.__widl_f_remove_child_Node = function(arg0, arg1) { try { - const ret = getObject(arg0).closest(getStringFromWasm(arg1, arg2)); - return isLikeNone(ret) ? 0 : addHeapObject(ret); + const ret = getObject(arg0).removeChild(getObject(arg1)); + return addHeapObject(ret); } catch (e) { handleError(e) } }; - imports.wbg.__widl_f_tag_name_Element = function(arg0, arg1) { - const ret = getObject(arg1).tagName; - const ret0 = passStringToWasm(ret); - const ret1 = WASM_VECTOR_LEN; - getInt32Memory()[arg0 / 4 + 0] = ret0; - getInt32Memory()[arg0 / 4 + 1] = ret1; - }; - imports.wbg.__widl_f_get_attribute_Element = function(arg0, arg1, arg2, arg3) { - const ret = getObject(arg1).getAttribute(getStringFromWasm(arg2, arg3)); - const ptr0 = isLikeNone(ret) ? 0 : passStringToWasm(ret); - const len0 = WASM_VECTOR_LEN; - const ret0 = ptr0; - const ret1 = len0; - getInt32Memory()[arg0 / 4 + 0] = ret0; - getInt32Memory()[arg0 / 4 + 1] = ret1; - }; - imports.wbg.__widl_f_prevent_default_Event = function(arg0) { - getObject(arg0).preventDefault(); - }; - imports.wbg.__wbindgen_json_parse = function(arg0, arg1) { - const ret = JSON.parse(getStringFromWasm(arg0, arg1)); + imports.wbg.__widl_f_create_text_node_Document = function(arg0, arg1, arg2) { + const ret = getObject(arg0).createTextNode(getStringFromWasm(arg1, arg2)); return addHeapObject(ret); }; - imports.wbg.__widl_f_history_Window = function(arg0) { - try { - const ret = getObject(arg0).history; - return addHeapObject(ret); - } catch (e) { - handleError(e) - } + imports.wbg.__widl_instanceof_Node = function(arg0) { + const ret = getObject(arg0) instanceof Node; + return ret; }; - imports.wbg.__widl_f_push_state_with_url_History = function(arg0, arg1, arg2, arg3, arg4, arg5) { + imports.wbg.__widl_f_replace_child_Node = function(arg0, arg1, arg2) { try { - getObject(arg0).pushState(getObject(arg1), getStringFromWasm(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm(arg4, arg5)); + const ret = getObject(arg0).replaceChild(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); } catch (e) { handleError(e) } }; - imports.wbg.__widl_instanceof_PopStateEvent = function(arg0) { - const ret = getObject(arg0) instanceof PopStateEvent; - return ret; + imports.wbg.__widl_f_set_text_content_Node = function(arg0, arg1, arg2) { + getObject(arg0).textContent = arg1 === 0 ? undefined : getStringFromWasm(arg1, arg2); }; - imports.wbg.__widl_f_state_PopStateEvent = function(arg0) { - const ret = getObject(arg0).state; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); return addHeapObject(ret); }; - imports.wbg.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg0); - if (typeof(obj) !== 'string') return 0; - const ptr = passStringToWasm(obj); - getUint32Memory()[arg1 / 4] = WASM_VECTOR_LEN; - const ret = ptr; - return ret; - }; - imports.wbg.__widl_instanceof_HashChangeEvent = function(arg0) { - const ret = getObject(arg0) instanceof HashChangeEvent; + imports.wbg.__widl_instanceof_Element = function(arg0) { + const ret = getObject(arg0) instanceof Element; return ret; }; - imports.wbg.__widl_f_new_url_HashChangeEvent = function(arg0, arg1) { - const ret = getObject(arg1).newURL; - const ret0 = passStringToWasm(ret); - const ret1 = WASM_VECTOR_LEN; - getInt32Memory()[arg0 / 4 + 0] = ret0; - getInt32Memory()[arg0 / 4 + 1] = ret1; + imports.wbg.__widl_f_remove_attribute_Element = function(arg0, arg1, arg2) { + try { + getObject(arg0).removeAttribute(getStringFromWasm(arg1, arg2)); + } catch (e) { + handleError(e) + } }; imports.wbg.__widl_f_status_text_Response = function(arg0, arg1) { const ret = getObject(arg1).statusText; @@ -329,9 +299,13 @@ function init(module) { const ret = getObject(arg0).status; return ret; }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg0); + if (typeof(obj) !== 'string') return 0; + const ptr = passStringToWasm(obj); + getUint32Memory()[arg1 / 4] = WASM_VECTOR_LEN; + const ret = ptr; + return ret; }; imports.wbg.__wbg_new_59cb74e423758ede = function() { const ret = new Error(); @@ -408,13 +382,6 @@ function init(module) { const ret = getObject(arg0).nodeType; return ret; }; - imports.wbg.__widl_f_remove_attribute_Element = function(arg0, arg1, arg2) { - try { - getObject(arg0).removeAttribute(getStringFromWasm(arg1, arg2)); - } catch (e) { - handleError(e) - } - }; imports.wbg.__widl_f_append_child_Node = function(arg0, arg1) { try { const ret = getObject(arg0).appendChild(getObject(arg1)); @@ -536,7 +503,6 @@ function init(module) { imports.wbg.__widl_f_set_checked_HTMLMenuItemElement = function(arg0, arg1) { getObject(arg0).checked = arg1 !== 0; }; - imports.wbg.__wbg_clearTimeout_42a8676f07d366c5 = typeof clearTimeout == 'function' ? clearTimeout : notDefined('clearTimeout'); imports.wbg.__widl_f_abort_AbortController = function(arg0) { getObject(arg0).abort(); }; @@ -598,14 +564,6 @@ function init(module) { handleError(e) } }; - imports.wbg.__widl_f_create_text_node_Document = function(arg0, arg1, arg2) { - const ret = getObject(arg0).createTextNode(getStringFromWasm(arg1, arg2)); - return addHeapObject(ret); - }; - imports.wbg.__widl_instanceof_Node = function(arg0) { - const ret = getObject(arg0) instanceof Node; - return ret; - }; imports.wbg.__widl_instanceof_HTMLElement = function(arg0) { const ret = getObject(arg0) instanceof HTMLElement; return ret; @@ -617,52 +575,106 @@ function init(module) { handleError(e) } }; - imports.wbg.__widl_f_first_child_Node = function(arg0) { - const ret = getObject(arg0).firstChild; - return isLikeNone(ret) ? 0 : addHeapObject(ret); + imports.wbg.__widl_f_add_event_listener_with_callback_EventTarget = function(arg0, arg1, arg2, arg3) { + try { + getObject(arg0).addEventListener(getStringFromWasm(arg1, arg2), getObject(arg3)); + } catch (e) { + handleError(e) + } }; - imports.wbg.__widl_f_next_sibling_Node = function(arg0) { - const ret = getObject(arg0).nextSibling; - return isLikeNone(ret) ? 0 : addHeapObject(ret); + imports.wbg.__wbg_resolve_04ca3cb0d333a4f0 = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); + return addHeapObject(ret); }; - imports.wbg.__widl_f_remove_child_Node = function(arg0, arg1) { + imports.wbg.__widl_f_request_animation_frame_Window = function(arg0, arg1) { try { - const ret = getObject(arg0).removeChild(getObject(arg1)); - return addHeapObject(ret); + const ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); + return ret; } catch (e) { handleError(e) } }; - imports.wbg.__widl_f_replace_child_Node = function(arg0, arg1, arg2) { + imports.wbg.__wbg_static_accessor_TELETERM_CONFIG_82484f76e33c0b8c = function() { + const ret = TELETERM_CONFIG; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_json_serialize = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = JSON.stringify(obj === undefined ? null : obj); + const ret0 = passStringToWasm(ret); + const ret1 = WASM_VECTOR_LEN; + getInt32Memory()[arg0 / 4 + 0] = ret0; + getInt32Memory()[arg0 / 4 + 1] = ret1; + }; + imports.wbg.__widl_f_target_Event = function(arg0) { + const ret = getObject(arg0).target; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__widl_f_closest_Element = function(arg0, arg1, arg2) { try { - const ret = getObject(arg0).replaceChild(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); + const ret = getObject(arg0).closest(getStringFromWasm(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); } catch (e) { handleError(e) } }; - imports.wbg.__widl_f_set_text_content_Node = function(arg0, arg1, arg2) { - getObject(arg0).textContent = arg1 === 0 ? undefined : getStringFromWasm(arg1, arg2); + imports.wbg.__widl_f_tag_name_Element = function(arg0, arg1) { + const ret = getObject(arg1).tagName; + const ret0 = passStringToWasm(ret); + const ret1 = WASM_VECTOR_LEN; + getInt32Memory()[arg0 / 4 + 0] = ret0; + getInt32Memory()[arg0 / 4 + 1] = ret1; }; - imports.wbg.__wbg_resolve_04ca3cb0d333a4f0 = function(arg0) { - const ret = Promise.resolve(getObject(arg0)); + imports.wbg.__widl_f_get_attribute_Element = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg1).getAttribute(getStringFromWasm(arg2, arg3)); + const ptr0 = isLikeNone(ret) ? 0 : passStringToWasm(ret); + const len0 = WASM_VECTOR_LEN; + const ret0 = ptr0; + const ret1 = len0; + getInt32Memory()[arg0 / 4 + 0] = ret0; + getInt32Memory()[arg0 / 4 + 1] = ret1; + }; + imports.wbg.__widl_f_prevent_default_Event = function(arg0) { + getObject(arg0).preventDefault(); + }; + imports.wbg.__wbindgen_json_parse = function(arg0, arg1) { + const ret = JSON.parse(getStringFromWasm(arg0, arg1)); return addHeapObject(ret); }; - imports.wbg.__widl_f_add_event_listener_with_callback_EventTarget = function(arg0, arg1, arg2, arg3) { + imports.wbg.__widl_f_history_Window = function(arg0) { try { - getObject(arg0).addEventListener(getStringFromWasm(arg1, arg2), getObject(arg3)); + const ret = getObject(arg0).history; + return addHeapObject(ret); } catch (e) { handleError(e) } }; - imports.wbg.__widl_f_request_animation_frame_Window = function(arg0, arg1) { + imports.wbg.__widl_f_push_state_with_url_History = function(arg0, arg1, arg2, arg3, arg4, arg5) { try { - const ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); - return ret; + getObject(arg0).pushState(getObject(arg1), getStringFromWasm(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm(arg4, arg5)); } catch (e) { handleError(e) } }; + imports.wbg.__widl_instanceof_PopStateEvent = function(arg0) { + const ret = getObject(arg0) instanceof PopStateEvent; + return ret; + }; + imports.wbg.__widl_f_state_PopStateEvent = function(arg0) { + const ret = getObject(arg0).state; + return addHeapObject(ret); + }; + imports.wbg.__widl_instanceof_HashChangeEvent = function(arg0) { + const ret = getObject(arg0) instanceof HashChangeEvent; + return ret; + }; + imports.wbg.__widl_f_new_url_HashChangeEvent = function(arg0, arg1) { + const ret = getObject(arg1).newURL; + const ret0 = passStringToWasm(ret); + const ret1 = WASM_VECTOR_LEN; + getInt32Memory()[arg0 / 4 + 0] = ret0; + getInt32Memory()[arg0 / 4 + 1] = ret1; + }; imports.wbg.__widl_f_get_attribute_names_Element = function(arg0) { const ret = getObject(arg0).getAttributeNames(); return addHeapObject(ret); @@ -714,21 +726,6 @@ function init(module) { getInt32Memory()[arg0 / 4 + 0] = ret0; getInt32Memory()[arg0 / 4 + 1] = ret1; }; - imports.wbg.__widl_f_error_1_ = function(arg0) { - console.error(getObject(arg0)); - }; - imports.wbg.__widl_f_query_selector_Document = function(arg0, arg1, arg2) { - try { - const ret = getObject(arg0).querySelector(getStringFromWasm(arg1, arg2)); - return isLikeNone(ret) ? 0 : addHeapObject(ret); - } catch (e) { - handleError(e) - } - }; - imports.wbg.__widl_f_get_element_by_id_Document = function(arg0, arg1, arg2) { - const ret = getObject(arg0).getElementById(getStringFromWasm(arg1, arg2)); - return isLikeNone(ret) ? 0 : addHeapObject(ret); - }; imports.wbg.__wbg_new_de17f04ab3be4063 = function() { const ret = new Object(); return addHeapObject(ret); @@ -776,6 +773,9 @@ function init(module) { handleError(e) } }; + imports.wbg.__widl_f_error_1_ = function(arg0) { + console.error(getObject(arg0)); + }; imports.wbg.__widl_f_remove_event_listener_with_callback_EventTarget = function(arg0, arg1, arg2, arg3) { try { getObject(arg0).removeEventListener(getStringFromWasm(arg1, arg2), getObject(arg3)); @@ -783,6 +783,18 @@ function init(module) { handleError(e) } }; + imports.wbg.__widl_f_query_selector_Document = function(arg0, arg1, arg2) { + try { + const ret = getObject(arg0).querySelector(getStringFromWasm(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + } catch (e) { + handleError(e) + } + }; + imports.wbg.__widl_f_get_element_by_id_Document = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getElementById(getStringFromWasm(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; imports.wbg.__wbindgen_throw = function(arg0, arg1) { throw new Error(getStringFromWasm(arg0, arg1)); }; @@ -884,16 +896,16 @@ function init(module) { imports.wbg.__widl_f_warn_1_ = function(arg0) { console.warn(getObject(arg0)); }; - imports.wbg.__wbindgen_closure_wrapper126 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper673 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding3(a, state.b, arg0); + return __wbg_elem_binding2(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -902,16 +914,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper133 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper604 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding5(a, state.b, arg0); + return __wbg_elem_binding4(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -920,16 +932,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper525 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper605 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; - const real = () => { + const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding2(a, state.b, ); + return __wbg_elem_binding0(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -938,16 +950,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper789 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper506 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; - const real = (arg0) => { + const real = () => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding4(a, state.b, arg0); + return __wbg_elem_binding6(a, state.b, ); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -956,16 +968,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper128 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper603 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding6(a, state.b, arg0); + return __wbg_elem_binding3(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -974,16 +986,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper130 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper665 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding0(a, state.b, arg0); + return __wbg_elem_binding5(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } @@ -992,7 +1004,7 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper131 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper794 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; @@ -1001,7 +1013,7 @@ function init(module) { try { return __wbg_elem_binding1(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(32)(a, state.b); else state.a = a; } } diff --git a/teleterm/static/teleterm_web_bg.wasm b/teleterm/static/teleterm_web_bg.wasm Binary files differindex f034ebe..87a4f8f 100644 --- a/teleterm/static/teleterm_web_bg.wasm +++ b/teleterm/static/teleterm_web_bg.wasm |