summaryrefslogtreecommitdiff
path: root/src/editor/simple/cloud.js
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
committerhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
commit44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (patch)
treed51076a708997d6f1af6ac0deefd535bbc25f804 /src/editor/simple/cloud.js
parent0aba45560d2033c37c3d2e876e6f3ef89e1554d6 (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.js148
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)
-}