From 22e720c27736cec08133df05123c7f384e510fa3 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 23 Nov 2019 02:04:27 -0500 Subject: move some things around --- teleterm-web/src/lib.rs | 55 ++----------------------------- teleterm-web/src/model.rs | 59 +++++++++++++++++++++++++++++++++ teleterm/static/teleterm_web.js | 62 +++++++++++++++++------------------ teleterm/static/teleterm_web_bg.wasm | Bin 716386 -> 720118 bytes 4 files changed, 92 insertions(+), 84 deletions(-) diff --git a/teleterm-web/src/lib.rs b/teleterm-web/src/lib.rs index 5d59f24..8913e3e 100644 --- a/teleterm-web/src/lib.rs +++ b/teleterm-web/src/lib.rs @@ -12,7 +12,7 @@ enum Msg { List(seed::fetch::ResponseDataResult>), Refresh, StartWatching(String), - Watch(String, ws::WebSocketEvent), + Watch(String, crate::ws::WebSocketEvent), StopWatching, } @@ -29,58 +29,7 @@ fn update( orders: &mut impl Orders, ) { log::trace!("update"); - match msg { - Msg::List(sessions) => match sessions { - Ok(sessions) => { - log::debug!("got sessions"); - model.update_sessions(sessions); - } - Err(e) => { - log::error!("error getting sessions: {:?}", e); - } - }, - Msg::Refresh => { - log::debug!("refreshing"); - orders.perform_cmd(model.list()); - } - Msg::StartWatching(id) => { - log::debug!("watching {}", id); - model.watch(&id, orders); - } - Msg::Watch(id, event) => match event { - ws::WebSocketEvent::Connected(_) => { - log::info!("{}: connected", id); - } - ws::WebSocketEvent::Disconnected(_) => { - log::info!("{}: disconnected", id); - } - ws::WebSocketEvent::Message(msg) => { - log::info!("{}: message: {:?}", id, msg); - let json = msg.data().as_string().unwrap(); - let msg: crate::protocol::Message = - serde_json::from_str(&json).unwrap(); - match msg { - crate::protocol::Message::TerminalOutput { data } => { - model.process(&data); - } - crate::protocol::Message::Disconnected => { - model.disconnect_watch(); - orders.perform_cmd(model.list()); - } - crate::protocol::Message::Resize { size } => { - model.set_size(size.rows, size.cols); - } - } - } - ws::WebSocketEvent::Error(e) => { - log::error!("{}: error: {:?}", id, e); - } - }, - Msg::StopWatching => { - model.disconnect_watch(); - orders.perform_cmd(model.list()); - } - } + model.update(msg, orders); } fn view(model: &crate::model::Model) -> impl View { diff --git a/teleterm-web/src/model.rs b/teleterm-web/src/model.rs index ba707eb..dd95af3 100644 --- a/teleterm-web/src/model.rs +++ b/teleterm-web/src/model.rs @@ -21,6 +21,65 @@ pub struct Model { } impl Model { + pub(crate) fn update( + &mut self, + msg: crate::Msg, + orders: &mut impl Orders, + ) { + match msg { + crate::Msg::List(sessions) => match sessions { + Ok(sessions) => { + log::debug!("got sessions"); + self.update_sessions(sessions); + } + Err(e) => { + log::error!("error getting sessions: {:?}", e); + } + }, + crate::Msg::Refresh => { + log::debug!("refreshing"); + orders.perform_cmd(self.list()); + } + crate::Msg::StartWatching(id) => { + log::debug!("watching {}", id); + self.watch(&id, orders); + } + crate::Msg::Watch(id, event) => match event { + crate::ws::WebSocketEvent::Connected(_) => { + log::info!("{}: connected", id); + } + crate::ws::WebSocketEvent::Disconnected(_) => { + log::info!("{}: disconnected", id); + } + crate::ws::WebSocketEvent::Message(msg) => { + log::info!("{}: message: {:?}", id, msg); + let json = msg.data().as_string().unwrap(); + let msg: crate::protocol::Message = + serde_json::from_str(&json).unwrap(); + match msg { + crate::protocol::Message::TerminalOutput { data } => { + self.process(&data); + } + crate::protocol::Message::Disconnected => { + self.disconnect_watch(); + orders.perform_cmd(self.list()); + } + crate::protocol::Message::Resize { size } => { + self.set_size(size.rows, size.cols); + } + } + } + crate::ws::WebSocketEvent::Error(e) => { + log::error!("{}: error: {:?}", id, e); + } + }, + crate::Msg::StopWatching => { + self.disconnect_watch(); + orders.perform_cmd(self.list()); + } + } + } + pub(crate) fn list( &self, ) -> impl futures::Future { diff --git a/teleterm/static/teleterm_web.js b/teleterm/static/teleterm_web.js index 713ad13..7ada906 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(75)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(295)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding1(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(75)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(77)(arg0, arg1, addHeapObject(arg2)); } -function __wbg_elem_binding2(arg0, arg1) { - wasm.__wbg_function_table.get(227)(arg0, arg1); +function __wbg_elem_binding2(arg0, arg1, arg2) { + wasm.__wbg_function_table.get(77)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding3(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(296)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(77)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding4(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(75)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(81)(arg0, arg1, arg2); } function __wbg_elem_binding5(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(75)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(77)(arg0, arg1, addHeapObject(arg2)); } -function __wbg_elem_binding6(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(79)(arg0, arg1, arg2); +function __wbg_elem_binding6(arg0, arg1) { + wasm.__wbg_function_table.get(226)(arg0, arg1); } function __wbg_elem_binding7(arg0, arg1, arg2, arg3, arg4) { - wasm.__wbg_function_table.get(323)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4)); + wasm.__wbg_function_table.get(322)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4)); } function __wbg_elem_binding8(arg0, arg1, arg2, arg3) { - wasm.__wbg_function_table.get(327)(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); + wasm.__wbg_function_table.get(326)(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); } /** */ @@ -884,16 +884,16 @@ function init(module) { imports.wbg.__wbindgen_throw = function(arg0, arg1) { throw new Error(getStringFromWasm(arg0, arg1)); }; - imports.wbg.__wbindgen_closure_wrapper320 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper309 = 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_binding2(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(76)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(78)(a, state.b); else state.a = a; } } @@ -902,7 +902,7 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper1078 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper317 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; @@ -911,7 +911,7 @@ function init(module) { try { return __wbg_elem_binding3(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(297)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(78)(a, state.b); else state.a = a; } } @@ -920,16 +920,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper314 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper1070 = 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_binding4(a, state.b, arg0); + return __wbg_elem_binding0(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(76)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(296)(a, state.b); else state.a = a; } } @@ -938,16 +938,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper316 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper650 = 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_binding6(a, state.b, arg0); + return __wbg_elem_binding6(a, state.b, ); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(76)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(227)(a, state.b); else state.a = a; } } @@ -956,7 +956,7 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper322 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper315 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; @@ -965,7 +965,7 @@ function init(module) { try { return __wbg_elem_binding1(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(76)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(78)(a, state.b); else state.a = a; } } @@ -974,16 +974,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper658 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper311 = 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_binding4(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(228)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(78)(a, state.b); else state.a = a; } } @@ -992,7 +992,7 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper318 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper313 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; @@ -1001,7 +1001,7 @@ function init(module) { try { return __wbg_elem_binding5(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(76)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(78)(a, state.b); else state.a = a; } } diff --git a/teleterm/static/teleterm_web_bg.wasm b/teleterm/static/teleterm_web_bg.wasm index e1061ef..d89572a 100644 Binary files a/teleterm/static/teleterm_web_bg.wasm and b/teleterm/static/teleterm_web_bg.wasm differ -- cgit v1.2.3-54-g00ecf