summaryrefslogtreecommitdiff
path: root/src/client/rz_core.js
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-04-09 01:49:24 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-09 02:03:45 +0300
commit059428fdf0c613e92e84f7360558815f2e0c9dd9 (patch)
tree4399893c02dd6345990d73b4337ba1a92e7652ad /src/client/rz_core.js
parentb239c007f5b7dae085f732a2ce007643e758698c (diff)
rz_core.js, rz_mesh.js: we init/destroy
Diffstat (limited to 'src/client/rz_core.js')
-rw-r--r--src/client/rz_core.js19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/client/rz_core.js b/src/client/rz_core.js
index dea53292..5ab8456f 100644
--- a/src/client/rz_core.js
+++ b/src/client/rz_core.js
@@ -162,10 +162,6 @@ var initDrawingArea = function () {
});
// $('#canvas_d3').dblclick(canvas_handler_dblclick); - see #138
- if (rz_config.backend_enabled) {
- var cur_rzdoc_name = rzdoc__current__get_name();
- rzdoc__open(cur_rzdoc_name);
- }
root_element_id_to_graph_view = {};
root_element_id_to_graph_view[main_graph_view.root_element.id] = main_graph_view;
@@ -186,12 +182,25 @@ var initDrawingArea = function () {
function init_ws_connection(){
if (true == rz_config.backend__maintain_ws_connection){
rz_mesh.init({graph: main_graph});
+
+ // attempt to actively disconnect on tab/window close
+ // ref: https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onbeforeunload
+ window.addEventListener("beforeunload", function(e){
+ var cur_rzdoc_name = rzdoc__current__get_name();
+ rz_mesh.emit__rzdoc_unsubscribe(cur_rzdoc_name);
+ rz_mesh.destroy();
+ });
}
}
function init() {
initDrawingArea();
init_ws_connection();
+
+ if (rz_config.backend_enabled) {
+ var cur_rzdoc_name = rzdoc__current__get_name();
+ rzdoc__open(cur_rzdoc_name);
+ }
}
/**
@@ -267,6 +276,8 @@ function rzdoc__open(rzdoc_name) {
rzdoc_bar__doc_lable.text(rzdoc_name);
rzdoc_bar.fadeToggle(500);
});
+
+ rz_mesh.emit__rzdoc_subscribe(rzdoc_name);
console.log('rzdoc: opened rzdoc : \'' + rzdoc_name + '\'');
}