From ee2f0a748737dc6e4a1723a9c73e91b73621a645 Mon Sep 17 00:00:00 2001 From: "john.j.camilleri" Date: Fri, 23 Nov 2012 08:25:00 +0000 Subject: [PATCH] Syntax editor: return to editor after having switched to minibar --- src/www/syntax-editor/editor.html | 3 +- src/www/syntax-editor/editor.js | 8 ++++- src/www/syntax-editor/editor_online.js | 43 ++++++++++++++++++-------- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/src/www/syntax-editor/editor.html b/src/www/syntax-editor/editor.html index 1d4cc401c..b9cfa0ec2 100644 --- a/src/www/syntax-editor/editor.html +++ b/src/www/syntax-editor/editor.html @@ -9,7 +9,8 @@

Syntax Editor

-
+
+

diff --git a/src/www/syntax-editor/editor.js b/src/www/syntax-editor/editor.js index 70dbab8e9..ca4e8628f 100644 --- a/src/www/syntax-editor/editor.js +++ b/src/www/syntax-editor/editor.js @@ -71,6 +71,12 @@ function Editor(server,opts) { clear(this.container); this.container.classList.remove("editor"); } + this.hide = function() { + this.container.style.display="none"; + } + this.show = function() { + this.container.style.display="block"; + } } @@ -243,7 +249,7 @@ Editor.prototype.update_linearisation=function(){ function row(lang, lin) { var langname = langpart(lang, t.grammar.name); var btn = button(langname, function(){ - t.options.lin_action(lin,lang); + bind(t.options.lin_action,t)(lin,lang); }); var c1 = th(btn); var c2 = td(text(lin)); diff --git a/src/www/syntax-editor/editor_online.js b/src/www/syntax-editor/editor_online.js index feeb09efb..9edcf2947 100644 --- a/src/www/syntax-editor/editor_online.js +++ b/src/www/syntax-editor/editor_online.js @@ -20,21 +20,38 @@ var editor_options = { } if(window.Minibar) // Minibar loaded? editor_options.lin_action=function(s,langFrom) { - editor.shutdown(); - var minibar_options = { - target: "editor", - show_abstract: true, - show_trees: true, - show_grouped_translations: false, - show_brackets: true, - word_replacements: true, - initial_grammar: editor.menu.ui.grammar_menu.value, // hmm - initial: { + var editor=this; + var minibar_options = { + target: "minibar", + show_abstract: true, + show_trees: true, + show_grouped_translations: false, + show_brackets: true, + word_replacements: true, + initial_grammar: editor.menu.ui.grammar_menu.value, // hmm + initial: { from: langFrom, input: s.split(" ") // is it that easy? - } - } - editor.minibar=new Minibar(server,minibar_options); + }, + // get us back to the editor! + abstract_action: function(tree) { + var minibar=this; + // how to get hold of new minibar? + var editor_options = { + target: "editor", + initial: { + grammar: editor.minibar.grammar_menu.value, // hmm + startcat: editor.minibar.input.startcat_menu.value, // hmm + abstr: tree + } + } + minibar.hide(); + minibar.editor.show(); + } + } + editor.hide(); + editor.minibar=new Minibar(server,minibar_options); + editor.minibar.editor = editor; // :S } if(/^\?\/tmp\//.test(location.search)) { var args=decodeURIComponent(location.search.substr(1)).split(" ")