summaryrefslogtreecommitdiff
path: root/src/client/rz_core.js
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-05-18 16:48:05 +0300
committerLV-426 <lv-426@taproot.org.il>2015-05-18 18:32:29 +0300
commit83f028ec5e31851b113c7cfa9cae726f27a637f3 (patch)
tree2dc2dd70adc3a91ec17e65f0af0cff26bdacb820 /src/client/rz_core.js
parentf24ea66edca6dc74963646e9532963cb46e56101 (diff)
rz_code: rzdoc__create_and_open()
Diffstat (limited to 'src/client/rz_core.js')
-rw-r--r--src/client/rz_core.js38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/client/rz_core.js b/src/client/rz_core.js
index 8b18f975..5fbb6f07 100644
--- a/src/client/rz_core.js
+++ b/src/client/rz_core.js
@@ -1,7 +1,7 @@
"use strict"
-define(['jquery', 'd3', 'consts', 'rz_bus', 'util', 'model/graph', 'model/core', 'view/item_info', 'rz_observer', 'view/selection', 'rz_mesh', 'model/diff', "view/graph_view", 'view/svg_input', 'view/filter_menu', 'view/activity'],
-function($, d3, consts, rz_bus, util, model_graph, model_core, item_info, rz_observer, selection, rz_mesh, model_diff, graph_view, svg_input, filter_menu, activity) {
+define(['jquery', 'd3', 'consts', 'rz_bus', 'util', 'model/graph', 'model/core', 'view/item_info', 'rz_observer', 'view/selection', 'rz_mesh', 'model/diff', "view/graph_view", 'view/svg_input', 'view/filter_menu', 'view/activity', 'rz_api_backend'],
+function($, d3, consts, rz_bus, util, model_graph, model_core, item_info, rz_observer, selection, rz_mesh, model_diff, graph_view, svg_input, filter_menu, activity, rz_api_backend) {
// fix circular module dependency
var search;
@@ -282,6 +282,39 @@ function url_for_doc(rzdoc_name)
return '/rz/' + rzdoc_name;
}
+function rzdoc__create_and_open(rzdoc_name) {
+
+ var on_success = function (clone_obj) {
+ rzdoc__open(rzdoc_name);
+ };
+
+ var on_error = function(xhr, status, err_thrown) {
+
+ var status_bar,
+ status_bar_body;
+
+ // TODO: handle malformed doc name
+ status_bar_body = $('<div>Cannot create document titled \'' + rzdoc_name + '\', document already exists.</div>');
+
+ close_btn = $('<div>x</div>');
+ close_btn.addClass('toolbar__close_btn');
+
+ status_bar = $('#status-bar'); // reset
+ status_bar.children().remove();
+ status_bar.append(close_btn);
+ status_bar.append(status_bar_body);
+
+ close_btn.click(function() {
+ status_bar.hide();
+ });
+
+ status_bar.show();
+ };
+
+ // TODO: validate rzdoc name
+ rz_api_backend.rzdoc_create(rzdoc_name, on_success, on_error);
+}
+
/**
* open rzdoc:
* - set rz_config.rzdoc_cur__name
@@ -320,6 +353,7 @@ var published_var_dict = {
// functions
init: init,
load_from_json: load_from_json,
+ rzdoc__create_and_open: rzdoc__create_and_open,
rzdoc__open: rzdoc__open,
rzdoc__current__get_name: rzdoc__current__get_name,
rzdoc__open_default: rzdoc__open_default,