From 9dac2c325dca1b5b92d6ba11dadf470538bae28e Mon Sep 17 00:00:00 2001 From: matitaweb Date: Fri, 16 Sep 2011 13:18:56 +0000 Subject: [PATCH] File uploading --- matitaB/matita/index.html | 33 ++++++++++----- matitaB/matita/matitaweb.css | 80 ++++++++++++++++++++++++++++++------ matitaB/matita/matitaweb.js | 61 +++++++++++++++++++++++---- 3 files changed, 142 insertions(+), 32 deletions(-) diff --git a/matitaB/matita/index.html b/matitaB/matita/index.html index e665bede6..14027f7f2 100644 --- a/matitaB/matita/index.html +++ b/matitaB/matita/index.html @@ -11,35 +11,38 @@ +
-
- -

+ Advance - Retract - Play - Bottom - - +

+
+ + -

+ +
-
+

@@ -59,6 +62,7 @@

   
+
@@ -68,9 +72,18 @@ + + + diff --git a/matitaB/matita/matitaweb.css b/matitaB/matita/matitaweb.css index e11f7a967..b75aaf301 100644 --- a/matitaB/matita/matitaweb.css +++ b/matitaB/matita/matitaweb.css @@ -1,9 +1,23 @@ +div.upload { + position:absolute; + top: 50%; + left: 50%; + width:450px; + height:50px; + margin-top: -250px; /*set to a negative number 1/2 of your height*/ + margin-left: -225px; /*set to a negative number 1/2 of your width*/ + border: 1px solid #ccc; + padding: 3px; + background-color: #f3f3f3; +} + + div.dialog { position:absolute; top: 50%; left: 50%; width:450px; - height:i500px; + height:500px; margin-top: -250px; /*set to a negative number 1/2 of your height*/ margin-left: -225px; /*set to a negative number 1/2 of your width*/ border: 1px solid #ccc; @@ -13,11 +27,30 @@ div.dialog { div.diaTitle { display: block; - margin-left: auto; + margin-left: 3px; margin-right: auto; - width: 444px; + width: 414px; background-color: #007fff; color: white; + float: left; + line-height: 32px; +} + +div.diaClose { + display: block; + margin-left: auto; + margin-right: 3px; + background-color: red; + width: 30px; + color: white; + float: right; + text-align: center; + vertical-align: middle; + line-height: 32px +} + +a#butClose { + color: inherit; } input.diaFile { @@ -42,7 +75,7 @@ div.matitaapparea { display: block; margin-left: auto; margin-right: auto; - height:100%; + height:100%; width:100%; background-color: white; color:black; @@ -52,8 +85,10 @@ div.toparea { display: block; margin-left: auto; margin-right: auto; - height:15%; + height:64px; width:100%; + line-height:64px; +/* float:left;*/ } div.bottomarea { @@ -72,37 +107,56 @@ div.workarea { width:100%; } +div.navibar { + display: inline-block; + margin-left: auto; + margin-right: auto; + height:100%; + width:33%; + float:left; +} + div.toolbar { - display: inline; + display: inline-block; margin-left: auto; margin-right: auto; height:100%; - width:67%; + width:33%; + float:left; } div.caption { - display: inline; + display: inline-block; margin-left: auto; margin-right: auto; height:100%; - width:33%; + width:34%; text-align: center; + float:right; +} + +img.topimg { + bottom:0px; } div.scriptarea { - display: inline; + display: inline-block; margin-left: auto; margin-right: auto; height:100%; - width:67%; + width:100%; + min-width:67%; + float:left; } div.goalarea { - display: inline; + display: inline-block; margin-left: auto; margin-right: auto; height:100%; - width:33%; + width:33%; + min-width:33%; + float:right; } diff --git a/matitaB/matita/matitaweb.js b/matitaB/matita/matitaweb.js index ec19562b2..837c687cb 100644 --- a/matitaB/matita/matitaweb.js +++ b/matitaB/matita/matitaweb.js @@ -685,6 +685,36 @@ function showLibrary(title,callback) } +function uploadDialog() +{ + uploadBox.style.display = "block"; +} + +function uploadOK() +{ + var file = document.getElementById("uploadFilename").files[0]; + if (file) { + var filecontent = file.getAsText("UTF-8"); + locked.innerHTML = lockedbackup; + unlocked.innerHTML = filecontent; + uploadBox.style.display = "none"; + } +// if (file) { +// var reader = new FileReader(); +// reader.readAsText(file, "UTF-8"); +// reader.onloadend = function (evt) { +// lockedbackup = ""; +// locked.innerHTML = lockedbackup +// unlocked.innerHTML = evt.target.result; +// uploadBox.style.display = "none"; +// } +// reader.onerror = function (evt) { +// debug("file open failed"); +// uploadBox.style.display = "none"; +// } +// } +} + function openDialog() { callback = function (fname) { retrieveFile(fname); }; @@ -707,15 +737,15 @@ function newDialog() { callback = function (fname) { dialogBox.style.display = "none"; - saveFile(fname,"","",false,newDialog); - retrieveFile(fname); + saveFile(fname,"","",false,newDialog,true); }; showLibrary("Create new file", callback); } -function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog) +function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog,reloadFile) { + if (!is_defined(reloadFile)) { reloadFile = true }; if (!is_defined(fname)) { fname = current_fname; lockedtxt = (locked.innerHTML.html_to_matita()).sescape(); @@ -727,13 +757,14 @@ function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog) if (is_defined(xml)) { if (xml.childNodes[0].textContent != "ok") { if (confirm("File already exists. All existing data will be lost.\nDo you want to proceed anyway?")) { - saveFile(fname,lockedtxt,unlockedtxt,true); + saveFile(fname,lockedtxt,unlockedtxt,true,reloadDialog,reloadFile); } else { reloadDialog(); } } else { current_fname = fname; debug("file saved!"); + if (reloadFile) { retrieveFile(fname); } } } else { debug("save file failed"); @@ -767,20 +798,32 @@ function commitAll() var goalcell; function hideSequent() { - goalcell.parentNode.removeChild(goalcell); - scriptcell.setAttribute("colspan","2"); + goalcell.style.display = "none"; + scriptcell.style.width = "100%"; + scriptcell.style.minWidth = "100%"; + scriptcell.style.maxWidth = "100%"; } function showSequent() { - scriptcell.setAttribute("colspan","1"); - workarea.appendChild(goalcell); + scriptcell.style.width = "67%"; + scriptcell.style.minWidth = "67%"; + scriptcell.style.maxWidth = "67%"; + goalcell.style.display = "inline-block"; } function showDialog(title,content,callback) { dialogTitle.innerHTML = title; dialogContent.innerHTML = content; - dialogBox.style.display = "block"; dialogBox.callback = callback; + dialogBox.style.display = "block"; +} + +function abortDialog() { + dialogBox.style.display = "none"; +} + +function abortUpload() { + uploadBox.style.display = "none"; } function removeElement(id) { -- 2.39.2