packages feed

gf-3.4: src/www/minibar/minibar_online.js

// minibar_online.js, assumes that minibar.js and pgf_online.js have been loaded.

var online_options={
  //grammars_url: "http://www.grammaticalframework.org/grammars/",
  //grammars_url: "http://tournesol.cs.chalmers.se:41296/grammars/",
  //grammars_url: "http://localhost:41296/grammars/",
  //grammar_list: ["Foods.pgf"], // leave undefined to get list from server
}

var minibar_options= {
    show_abstract: true,
    show_trees: true,
    tree_img_format: "png", // or "svg"
    show_grouped_translations: false,
    show_brackets: true,
    word_replacements: true,
    default_source_language: "Eng",
    //feedback_url: "feedback.html",
    try_google: true
}


if(window.Editor) // Syntax editor loaded?
    minibar_options.abstract_action=function(tree) {
	var editor_options = {
	    target: "editor",
	    initial: { grammar: minibar.grammar_menu.value, // hmm
		       startcat: minibar.input.startcat_menu.value, // hmm
		       abstr: tree
		     },
	    lin_action: function(new_input,langFrom) {
		var grammar_url=editor.menu.ui.grammar_menu.value // hmm
		minibar.input.set_input_for(grammar_url,langFrom,
					    gf_lex(new_input))

		//Easier: delete the editor and create a new one next time:
		clear(editor.container)
		editor=null;

		//Better: keep editor around and reactivate it next time:
		//editor.container.style.display="none"

		// Even if the grammar is the same as before, this call is
		// what eventually triggers the new_input to be loaded:
		minibar.select_grammar(grammar_url)

		// Make the minibar visible again
		minibar.minibar.style.display=""
	    }
	}
	minibar.minibar.style.display="none" // Hide the minibar
        var gm = new GrammarManager(server,editor_options);
	var editor=new Editor(gm,editor_options)
    }

if(/^\?\/tmp\//.test(location.search)) {
    var args=decodeURIComponent(location.search.substr(1)).split(" ")
    if(args[0]) online_options.grammars_url=args[0];
    if(args[1]) minibar_options.initial_grammar=args[1];
}
else if(window.localStorage) {
    var s=localStorage["gf.editor.simple.grammardir"]
    if(s) var editor_dir=JSON.parse(s);
}

var server=pgf_online(online_options);
if(editor_dir) server.add_grammars_url(editor_dir+"/");

var minibar=new Minibar(server,minibar_options);