diff options
| author | hallgren <hallgren@chalmers.se> | 2011-10-12 17:03:54 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2011-10-12 17:03:54 +0000 |
| commit | 44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (patch) | |
| tree | d51076a708997d6f1af6ac0deefd535bbc25f804 /src/editor/simple/cloud.js | |
| parent | 0aba45560d2033c37c3d2e876e6f3ef89e1554d6 (diff) | |
Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and
the grammar editor (including example-based grammar writing).
The Setup.hs script installs the required files where gf -server can find them.
These files have been moved to a new directory: src/www.
The separate server program pgf-http is now obsolete.
Diffstat (limited to 'src/editor/simple/cloud.js')
| -rw-r--r-- | src/editor/simple/cloud.js | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/src/editor/simple/cloud.js b/src/editor/simple/cloud.js deleted file mode 100644 index f19b6ee37..000000000 --- a/src/editor/simple/cloud.js +++ /dev/null @@ -1,148 +0,0 @@ - -function with_dir(cont) { - var dir=local.get("dir",""); - if(dir) cont(dir); - else ajax_http_get("upload.cgi?dir", - function(dir) { - local.put("dir",dir); - cont(dir); - }); -} - -function remove_cloud_grammar(g) { - var dir=local.get("dir") - if(dir && g.unique_name) { - var path=dir+"/"+g.unique_name+".json" - ajax_http_get("upload.cgi?rm="+encodeURIComponent(path),debug); - } -} - -// Upload the grammar to the server and check it for errors -function upload(g) { - function upload2(dir) { - var form=node("form",{method:"post",action:"upload.cgi"+dir}, - [hidden(g.basename+".gf",show_abstract(g))]) - for(var i in g.concretes) - form.appendChild(hidden(g.basename+g.concretes[i].langcode+".gf", - show_concrete(g.basename)(g.concretes[i]))); - editor.appendChild(form); - form.submit(); - form.parentNode.removeChild(form); - } - - with_dir(upload2); -} - -// Upload the grammar to store it in the cloud -function upload_json(cont) { - function upload3(resptext,status) { - local.put("json_uploaded",Date.now()); - //debug("Upload complete") - if(cont) cont(); - else { - var sharing=element("sharing"); - if(sharing) sharing.innerHTML=resptext; - } - } - function upload2(dir) { - var prefix=dir.substr(10)+"-" // skip "/tmp/gfse." - //debug("New form data"); - //var form=new FormData(); // !!! Doesn't work on Android 2.2! - var form="",sep=""; - //debug("Preparing form data"); - for(var i=0;i<local.count;i++) { - var g=local.get(i,null); - if(g) { - if(!g.unique_name) { - g.unique_name=prefix+i; - save_grammar(g) - } - //form.append(g.unique_name+".json",JSON.stringify(g)); - form+=sep+encodeURIComponent(g.unique_name+".json")+"="+ - encodeURIComponent(JSON.stringify(g)) - sep="&" - } - } - //debug("Upload to "+prefix); - ajax_http_post("upload.cgi"+dir,form,upload3,cont) - } - - with_dir(upload2); -} - -function download_json() { - var dir=local.get("dir"); - var index=grammar_index(); - var downloading=0; - - function get_list(ok,err) { - ajax_http_get("upload.cgi?ls="+dir,ok,err); - } - - function get_file(file,ok,err) { - downloading++; - ajax_http_get("upload.cgi?download="+encodeURIComponent(dir+"/"+file),ok,err); - } - - function file_failed(errormsg,status) { - debug(errormsg) - downloading--; - } - function file_downloaded(grammar) { - downloading--; - var newg=JSON.parse(grammar); - debug("Downloaded "+newg.unique_name) - var i=index[newg.unique_name]; - if(i!=undefined) merge_grammar(i,newg) - else { - debug("New") - newg.index=null; - save_grammar(newg); - } - if(downloading==0) done() - } - - function done() { - setTimeout(function(){location.href="."},2000); - } - - function download_files(ls) { - local.put("current",0); - if(ls) { - //debug("Downloading "+ls); - var files=ls.split(" "); - cleanup_deleted(files); - for(var i in files) get_file(files[i],file_downloaded,file_failed); - } - else { - debug("No grammars in the cloud") - done() - } - } - - get_list(download_files); -} - -function link_directories(newdir,cont) { - with_dir(function(olddir) { - ajax_http_get("upload.cgi?rmdir="+olddir+"&newdir="+newdir,cont) - }) -} - -/* -------------------------------------------------------------------------- */ - -// Send a command to the GF shell -function gfshell(cmd,cont) { - alert("gfshell(...) not implmemented!!!") -} - -// Check the syntax of an expression -function check_exp(s,cont) { - function check(gf_message) { - //debug("cc "+s+" = "+gf_message); - cont(/parse error/.test(gf_message) ? "parse error" : null); - } - if(navigator.onLine) - ajax_http_get("upload.cgi?cc="+encodeURIComponent(s),check) - else cont(null) -} |
