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(" ")