summaryrefslogtreecommitdiff
path: root/src/www/gfmorpho/morpho.js
blob: d154b8bf7651ae16b5d21de0e59ee3203d66c46e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

var local=appLocalStorage("gf.morpho.")

function quote(s) {
    return s[0]=="_" ? s.substr(1) : '"'+s+'"'
}

function show_output(output) {
    morpho_output.className=output ? "morpho_output" : ""
    replaceChildren(morpho_output,text(output))
}

function submitmorpho() {
    clear(morpho_output)
    var args=morpho.args.value.split(/ +/)
    var lang=args[0]
    var cat=args[1]
    var wordforms=args.slice(2).map(quote).join(" ")
    //console.log("submitmorpho",lang,cat,wordforms)
    switch("") {
    case lang: show_output("No language"); break;
    case cat: show_output("No category"); break;
    case wordforms: show_output("No word forms"); break;
    default:
	gfshell("e",function() {
	    gfshell("i -retain alltenses/Paradigms"+lang+".gfo",function() {
		gfshell("cc -table -unqual mk"+cat+wordforms,show_output)
	    })
	})
    }
    return false;
}

function resetmorpho() {
    show_output("")
}

function submit_example(b) {
    //console.log("submit_example",b.value)
    morpho.args.value=b.value
    submitmorpho()
}