diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-03-30 20:56:22 +0300 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-04-01 22:25:54 +0300 |
| commit | 105b3917e9d37aad8c59ee0025b6721c11ba70e1 (patch) | |
| tree | ad7b09c8f6839638fcaefddfcf6a5f7f1641558d /src/client | |
| parent | 00bc8c909fe7f70c13595087f8a08ad554bb7351 (diff) | |
buttons.js: btn_rzdoc__open()
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/buttons.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/client/buttons.js b/src/client/buttons.js index 08d3ea9d..2beb09a5 100644 --- a/src/client/buttons.js +++ b/src/client/buttons.js @@ -160,6 +160,61 @@ $('#btn_rzdoc__new').click(function() { }); $('#btn_rzdoc__open').click(function() { + var cmd_bar, + cmd_bar_body, + close_btn; + + cmd_bar = $('#cmd_bar__rzdoc_open'); + if (cmd_bar.length > 0) { // cmd bar present + cmd_bar.fadeToggle(400, function() { + cmd_bar.remove(); + }); + return; + } + + cmd_bar = $('<div class="cmd-bar" id="cmd_bar__rzdoc_open">'); + cmd_bar.css('display', 'none'); + + close_btn = $('<span class="cmd-bar_btn" id="cmd_bar__rzdoc_close">x</span>'); + close_btn.appendTo(cmd_bar); + + cmd_bar_body = $('<div class="cmd-bar_body" id="cmd_bar__rzdoc_open__rzdoc_list">'); + cmd_bar.append(cmd_bar_body); + + cmd_bar.append($('<div class="cmd-bar_close_bar">Open Rhizi</div>')); + cmd_bar.insertAfter('.top-bar'); + + // close + close_btn.on('click', function() { + cmd_bar.remove(); + }); + + var on_success = function (rzdoc_name_list) { + rzdoc_name_list.sort(); + for (var i = 0; i < rzdoc_name_list.length; i++) { + var rzdoc_item = $('<div class="cmd_bar__rzdoc_open__item"><span title="Open Rhizi">' + rzdoc_name_list[i] + '</span></div>'); + cmd_bar_body.append(rzdoc_item); + } + $('.cmd_bar__rzdoc_open__item').on('click', function(click_event) { // attach common click handler + var rzdoc_name = click_event.currentTarget.textContent; + var rzdoc_cur_name = rz_core.rzdoc__current__get_name(); + if (rzdoc_name == rzdoc_cur_name) { + console.log('rzdoc__open: ignoring request to reopen currently rzdoc: name: ' + rzdoc_cur_name); + return; + } + + rz_core.rzdoc__open(rzdoc_name); + cmd_bar.fadeToggle(200, function() { + cmd_bar.remove(); + }); + }); + } + var on_error = function() { + // TODO: handle doc list timeout + } + + rz_api_backend.rzdoc_list(on_success, on_error); + cmd_bar.fadeToggle(400); }); return {'buttons': 'nothing here'}; |
