diff options
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/buttons.js | 28 | ||||
| -rw-r--r-- | src/client/rz_core.js | 38 |
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, |
