summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/buttons.js28
-rw-r--r--src/client/rz_core.js38
2 files changed, 38 insertions, 28 deletions
diff --git a/src/client/buttons.js b/src/client/buttons.js
index c2c5c785..1a80dd36 100644
--- a/src/client/buttons.js
+++ b/src/client/buttons.js
@@ -99,8 +99,7 @@ $('#btn_rzdoc__new').click(function() {
var cmd_bar,
cmd_bar_body,
submit_btn,
- close_btn,
- error_element;
+ close_btn;
cmd_bar = $('#cmd_bar__rzdoc_new');
if (cmd_bar.length > 0) { // cmd bar present
@@ -114,7 +113,6 @@ $('#btn_rzdoc__new').click(function() {
cmd_bar_body = $('<div class="cmd-bar_body" id="cmd_bar__rzdoc_new__body">');
close_btn = $('<span class="cmd-bar_btn" id="cmd_bar__rzdoc_close">x</span>');
submit_btn = $('<span class="cmd-bar_btn" id="cmd_bar__rzdoc_new__submit">Create</span>');
- error_element = $('<span id="cmd_bar__rzdoc_new__submit_error"></span>');
cmd_bar.append(close_btn);
cmd_bar.append(cmd_bar_body);
@@ -123,39 +121,17 @@ $('#btn_rzdoc__new').click(function() {
cmd_bar_body.append('<label for="cmd_bar__rzdoc_new__input" id="cmd_bar__rzdoc_new__label">Rhizi Title:');
cmd_bar_body.append('<input id="cmd_bar__rzdoc_new__input">');
cmd_bar_body.append(submit_btn);
- cmd_bar_body.append(error_element);
cmd_bar.css('display', 'none');
cmd_bar.insertAfter('.top-bar');
- function display_doc_name_taken_error(rzdoc_name) {
- error_element.text("Cannot create document - A document titled '" + rzdoc_name + "' already exists");
- }
-
// submit
submit_btn.attr('tabindex', 1); // assume focus on next tab key press
submit_btn.on('click', function() {
-
- var on_success = function (clone_obj) {
-
- cmd_bar.fadeToggle(200, function() {
- cmd_bar.remove();
- });
-
- rz_core.rzdoc__open(rzdoc_name);
- };
-
- var on_error = function() {
- // TODO: handle malformed doc name
- display_doc_name_taken_error(rzdoc_name);
- };
-
- // TODO: validate rzdoc name
var rzdoc_name = $('#cmd_bar__rzdoc_new__input').val();
- rz_api_backend.rzdoc_create(rzdoc_name, on_success, on_error);
+ rz_core.rzdoc__create_and_open(rzdoc_name);
});
-
cmd_bar.on('keyup', function(event) { // create on Enter key pressed
if(event.keyCode == 13) {
submit_btn.click();
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,