summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-03-30 20:56:22 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-01 22:25:54 +0300
commit105b3917e9d37aad8c59ee0025b6721c11ba70e1 (patch)
treead7b09c8f6839638fcaefddfcf6a5f7f1641558d /src/client
parent00bc8c909fe7f70c13595087f8a08ad554bb7351 (diff)
buttons.js: btn_rzdoc__open()
Diffstat (limited to 'src/client')
-rw-r--r--src/client/buttons.js55
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'};