aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-23 05:51:00 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-23 05:51:00 -0500
commit69d725d56cb43d92042eecbcc6d306782799ab88 (patch)
tree519f63929af020effc0ed30eeba86375989a39ff
parent0650ecd21a522536c5dc3a764847583e0fae61df (diff)
downloadteleterm-69d725d56cb43d92042eecbcc6d306782799ab88.tar.gz
teleterm-69d725d56cb43d92042eecbcc6d306782799ab88.zip
pass configuration from the web server to the web app
-rw-r--r--teleterm-web/src/config.rs18
-rw-r--r--teleterm-web/src/lib.rs3
-rw-r--r--teleterm-web/src/model.rs14
-rw-r--r--teleterm-web/src/views/page.rs8
-rw-r--r--teleterm/src/web.rs57
-rw-r--r--teleterm/src/web/view.rs37
-rw-r--r--teleterm/static/index.html.tmpl4
-rw-r--r--teleterm/static/teleterm_web.js316
-rw-r--r--teleterm/static/teleterm_web_bg.wasmbin697715 -> 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
index f034ebe..87a4f8f 100644
--- a/teleterm/static/teleterm_web_bg.wasm
+++ b/teleterm/static/teleterm_web_bg.wasm
Binary files differ