forked from GitHub/gf-core
+ Transfer current astract syntax tree when activating the syntax editor
from the minibar.
+ Add options to start the minibar with given input. You need to include
the current grammar url, the current language and the input, like this:
initial_grammar: "/grammars/Foods.pgf",
initial: { from: "FoodsEng", input:["that","fish","is","fresh"]}
+ Fix a style sheet clash.
50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
// 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
|
|
}
|
|
}
|
|
minibar.minibar.style.display="none"
|
|
minibar.editor=new Editor(server,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);
|