Develop and Download Open Source Software

Browse Subversion Repository

Diff of /SvgEditor.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 72 by isao-hara, Fri Aug 6 07:33:06 2010 UTC revision 73 by isao-hara, Fri Aug 6 08:02:11 2010 UTC
# Line 158  TextEditor.prototype.createTables=functi Line 158  TextEditor.prototype.createTables=functi
158    this.db.transaction(    this.db.transaction(
159      function (transaction) {      function (transaction) {
160        transaction.executeSql('CREATE TABLE IF NOT EXISTS files(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, filedata_id INTEGER NOT NULL, deleted INTEGER NOT NULL DEFAULT 0);', [], this.nullDataHandler, this.killTransaction);        transaction.executeSql('CREATE TABLE IF NOT EXISTS files(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, filedata_id INTEGER NOT NULL, deleted INTEGER NOT NULL DEFAULT 0);', [], this.nullDataHandler, this.killTransaction);
161        transaction.executeSql('CREATE TABLE IF NOT EXISTS filedata(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, datablob BLOB NOT NULL DEFAULT "");', [], this.nullDataHandler, this.errorHandler);        transaction.executeSql('CREATE TABLE IF NOT EXISTS filedata(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, datablob BLOB NOT NULL DEFAULT "");', [], TextEditor.nullDataHandler, TextEditor.errorHandler);
162      }      }
163    );    );
164  }  }
# Line 178  TextEditor.prototype.reallyCreateNewFile Line 178  TextEditor.prototype.reallyCreateNewFile
178         "transaction.executeSql('INSERT INTO filedata (datablob) VALUES (\"\");', [],"+         "transaction.executeSql('INSERT INTO filedata (datablob) VALUES (\"\");', [],"+
179         "function(transaction,results){"+         "function(transaction,results){"+
180           "transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);',"+           "transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);',"+
181          "['"+name+"',results.insertId],"+this.name+".nullDataHandler,"+this.name+".killTransaction);},"+          "['"+name+"',results.insertId],TextEditor.nullDataHandler,TextEditor.killTransaction);},"+
182          this.name+".errorHandler);"));          "TextEditor.errorHandler);"));
183    fileSelector();    fileSelector();
184  }  }
185    
# Line 201  TextEditor.prototype.createNewFileAction Line 201  TextEditor.prototype.createNewFileAction
201                 "fileSelector();"+                 "fileSelector();"+
202               "}"+               "}"+
203             "}"+             "}"+
204          "}, "+this.name+".errorHandler);")          "}, TextEditor.errorHandler);")
205    );    );
206  }  }
207    
# Line 213  TextEditor.prototype.deleteUpdateResults Line 213  TextEditor.prototype.deleteUpdateResults
213  TextEditor.prototype.reallyDelete=function(id){  TextEditor.prototype.reallyDelete=function(id){
214    this.db.transaction(    this.db.transaction(
215      new Function("transaction",      new Function("transaction",
216        "transaction.executeSql('DELETE FROM  files where id=?;', ["+id+"], null, "+this.name+".errorHandler);"        "transaction.executeSql('DELETE FROM  files where id=?;', ["+id+"], null, TextEditor.errorHandler);"
217       +"transaction.executeSql('DELETE FROM filedata where id=?;',["+id+"],"+this.name+".deleteUpdateResults, "+       +"transaction.executeSql('DELETE FROM filedata where id=?;',["+id+"],"+this.name+".deleteUpdateResults, "+
218        this.name+".errorHandler);")        "TextEditor.errorHandler);")
219    );    );
220  }  }
221    
# Line 226  TextEditor.prototype.deleteFile=function Line 226  TextEditor.prototype.deleteFile=function
226             "if (confirm('Really delete '+results.rows.item(0)['name']+'?')) {"+             "if (confirm('Really delete '+results.rows.item(0)['name']+'?')) {"+
227                 this.name+".reallyDelete(results.rows.item(0)['id']);"+                 this.name+".reallyDelete(results.rows.item(0)['id']);"+
228             "}"+             "}"+
229          "}, "+this.name+".errorHandler);")          "}, TextEditor.errorHandler);")
230    );    );
231  }  }
232    
233  TextEditor.prototype.reallyDeleteAll=function(){  TextEditor.prototype.reallyDeleteAll=function(){
234    this.transaction(    this.transaction(
235      new Function("transaction",      new Function("transaction",
236        "transaction.executeSql('DELETE FROM  files;',[],null, "+this.name+".errorHandler);"        "transaction.executeSql('DELETE FROM  files;',[],null,TextEditor.errorHandler);"
237       +"transaction.executeSql('DELETE FROM filedata;',[],"+this.name+".deleteUpdateResults, "+this.name+".errorHandler);")       +"transaction.executeSql('DELETE FROM filedata;',[],"+this.name+".deleteUpdateResults,TextEditor.errorHandler);")
238    );    );
239  }  }
240    
# Line 246  TextEditor.prototype.deleteAllFile=funct Line 246  TextEditor.prototype.deleteAllFile=funct
246  TextEditor.prototype.reallyRenameFileAction=function(id, newname){  TextEditor.prototype.reallyRenameFileAction=function(id, newname){
247    this.db.transaction(    this.db.transaction(
248      function (transaction) {      function (transaction) {
249        transaction.executeSql('UPDATE files set name=? where id=?;', [newname,id ], null, this.errorHandler);        transaction.executeSql('UPDATE files set name=? where id=?;', [newname,id ], null,TextEditor.errorHandler);
250      }      }
251    );    );
252    fileSelector();    fileSelector();
# Line 267  TextEditor.prototype.renameFileAction=fu Line 267  TextEditor.prototype.renameFileAction=fu
267               "alert(results.rows.item(0)['name']+' already exist');"+               "alert(results.rows.item(0)['name']+' already exist');"+
268               "fileSelector();"+               "fileSelector();"+
269             "}"+             "}"+
270          "}, "+this.name+".errorHandler);")          "},TextEditor.errorHandler);")
271    );    );
272  }  }
273    
# Line 295  TextEditor.prototype.saveContent=functio Line 295  TextEditor.prototype.saveContent=functio
295        var filedata_id = datadiv.getAttribute('lfdataid');        var filedata_id = datadiv.getAttribute('lfdataid');
296    
297        transaction.executeSql("UPDATE filedata set datablob=? where id=?;",        transaction.executeSql("UPDATE filedata set datablob=? where id=?;",
298          [ contents, filedata_id ], this.nullDataHandler, this.errorHandler);          [ contents, filedata_id ], TextEditor.nullDataHandler, TextEditor.errorHandler);
299    
300        alert('Saved.');        alert('Saved.');
301      }      }
# Line 308  TextEditor.prototype.reallySaveNewFileAc Line 308  TextEditor.prototype.reallySaveNewFileAc
308    
309    this.db.transaction(    this.db.transaction(
310      function (transaction) {      function (transaction) {
311        var myfunc = new Function("transaction", "results", "transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);', [ '"+fname+"', results.insertId], "+this.name+".nullDataHandler, "+this.name+".killTransaction);");        var myfunc = new Function("transaction", "results", "transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);', [ '"+fname+"', results.insertId], TextEditor.nullDataHandler, TextEditor.killTransaction);");
312    
313         transaction.executeSql('INSERT INTO filedata (datablob) VALUES (?);', [content], myfunc, this.errorHandler);         transaction.executeSql('INSERT INTO filedata (datablob) VALUES (?);', [content], myfunc,TextEditor.errorHandler);
314      }      }
315    );    );
316    datadiv.textContent="";    datadiv.textContent="";
# Line 343  TextEditor.prototype.saveContentWithFile Line 343  TextEditor.prototype.saveContentWithFile
343                 "fileSelector();"+                 "fileSelector();"+
344               "}"+               "}"+
345             "}"+             "}"+
346          "}, "+this.name+".errorHandler);")          "}, TextEditor.errorHandler);")
347    );    );
348  }  }
349    
# Line 353  TextEditor.prototype.getFile=function(na Line 353  TextEditor.prototype.getFile=function(na
353    
354    this.db.transaction(    this.db.transaction(
355      function (transaction) {      function (transaction) {
356        transaction.executeSql('SELECT * from files, filedata where files.name=? and files.filedata_id = filedata.id;', [name], eval(func), this.errorHandler);        transaction.executeSql('SELECT * from files, filedata where files.name=? and files.filedata_id = filedata.id;', [name], eval(func), TextEditor.errorHandler);
357      }      }
358    );    );
359  }  }
# Line 404  TextEditor.prototype.mkfileList=function Line 404  TextEditor.prototype.mkfileList=function
404            "}"+            "}"+
405            "menuDiv.innerHTML='<H1 class=\"title\">'+MainTitle+'</H1>'+"+this.name+".createMenuBar()+filelist;"+            "menuDiv.innerHTML='<H1 class=\"title\">'+MainTitle+'</H1>'+"+this.name+".createMenuBar()+filelist;"+
406          "}"+          "}"+
407         "}, "+this.name+".errorHandler);")         "}, TextEditor.errorHandler);")
408    );    );
409  }  }
410    
# Line 575  function configServer(){ Line 575  function configServer(){
575    popupDiv.style.display='block';    popupDiv.style.display='block';
576  }  }
577    
578    ///////  Access Server
579    function newXMLRequest(){
580      if(this.XMLHttpRequest){
581        return new XMLHttpRequest();
582      }else {
583        return new ActiveXObject("Microsoft.XMLHTTP");
584      }
585    }
586    
587    function createRequestData(data){
588      var str="filetype=svg";
589      for (var i in data){
590        str = str +"&"+ i +"="+encodeURIComponent(data[i]);
591      }
592      return str;
593    }
594    
595    function postRequest(url, data, func){
596      var postData=createRequestData(data);
597      var obj=newXMLRequest();
598    
599      try{
600        obj.onreadystatechange = function(){
601          if (obj.readyState == 4){
602            if (obj.status == 200){
603              func(obj.responseText);
604            }else{
605              alert("Fail to postRequest: status="+obj.status);
606              return;
607            }
608          }
609        }
610        obj.open("POST", url, true);
611        obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
612        obj.send(postData);
613      }catch(e){
614      }
615    }
616    
617    function commnadFinishAlert(s){
618      alert(s);
619    }
620    
621    function uploadFileData(transaction, results){
622      var data = results.rows.item(0);
623      var updata = new Array(0);
624      updata['name']= data['name'];
625      updata['datalob'] = data['datablob'];
626      updata['cmd'] = 'upload'
627    
628      postRequest(Config.MgrPath+iSlideMgr, updata, commnadFinishAlert);
629    }
630    
631    function uploadFile(name){
632       Editor.getFile(name, 'uploadFileData');
633    }
634    
635    function getRemoteFileList(){
636      var data=new Array();
637      data['name'] = "SVG";
638      data['cmd'] = "list";
639      postRequest(Config.MgrPath+iSlideMgr, data, fileSelectorOnServer);
640    }
641    
642    function previewRemoteFile(content){
643      previewFile(content);
644      setMode('Preview');
645    }
646    
647    function getRemoteFile(name){
648      var data=new Array();
649      data['name'] = name;
650      data['cmd'] = "get";
651      postRequest(Config.MgrPath+iSlideMgr, data, previewRemoteFile);
652    }
653    
654    function saveRemoteFile(content){
655      var datadiv = document.getElementById('tempdata');
656      var fname = datadiv.getAttribute('lfname');
657      Editor.saveContentWithFilename(fname, content);
658    }
659    
660    function downloadFile(name){
661      var data=new Array();
662      data['name'] = name;
663      data['cmd'] = "get";
664      var datadiv = document.getElementById('tempdata');
665      datadiv.setAttribute('lfname', name);
666      postRequest(Config.MgrPath+iSlideMgr, data, saveRemoteFile);
667    }
668    
669    function showRemoteFile(name){
670      getRemoteFile(name);
671    }
672    
673    function downloadToFile(name){
674      var downloadForm = "";
675      downloadForm += "<form action=\"iSlideManager.php\" method=\"post\">";
676      downloadForm += "<input type=\"hidden\" name=\"cmd\" value=\"download\">";
677      downloadForm += "<input type=\"hidden\" name=\"name\" value=\""+name+"\">";
678      downloadForm += "<input type=\"hidden\" name=\"filetype\" value=\"svg\">";
679      downloadForm += "<input type=\"submit\">";
680      downloadForm += "</form>";
681    
682      var cmdForm = document.getElementById('cmdForm');
683      cmdForm.innerHTML = downloadForm;
684      cmdForm.firstChild.submit();
685    }
686    
687    
688  /////  /////
689  /// EditMenu  /// EditMenu
690  function insertStr(str, len){  function insertStr(str, len){
# Line 1634  function trim(str){ Line 1744  function trim(str){
1744    return str.replace(/(^\s+)|(\s+$)/g, "");    return str.replace(/(^\s+)|(\s+$)/g, "");
1745  }  }
1746    
 ///////  Access Server  
 function newXMLRequest(){  
   if(this.XMLHttpRequest){  
     return new XMLHttpRequest();  
   }else {  
     return new ActiveXObject("Microsoft.XMLHTTP");  
   }  
 }  
   
 function createRequestData(data){  
   var str="filetype=svg";  
   for (var i in data){  
     str = str +"&"+ i +"="+encodeURIComponent(data[i]);  
   }  
   return str;  
 }  
   
 function postRequest(url, data, func){  
   var postData=createRequestData(data);  
   var obj=newXMLRequest();  
   
   try{  
     obj.onreadystatechange = function(){  
       if (obj.readyState == 4){  
         if (obj.status == 200){  
           func(obj.responseText);  
         }else{  
           alert("Fail to postRequest: status="+obj.status);  
           return;  
         }  
       }  
     }  
     obj.open("POST", url, true);  
     obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
     obj.send(postData);  
   }catch(e){  
   }  
 }  
   
 function commnadFinishAlert(s){  
   alert(s);  
 }  
   
 function uploadFileData(transaction, results){  
   var data = results.rows.item(0);  
   var updata = new Array(0);  
   updata['name']= data['name'];  
   updata['datalob'] = data['datablob'];  
   updata['cmd'] = 'upload'  
   
   postRequest(Config.MgrPath+iSlideMgr, updata, commnadFinishAlert);  
 }  
   
 function uploadFile(name){  
    Editor.getFile(name, 'uploadFileData');  
 }  
   
 function getRemoteFileList(){  
   var data=new Array();  
   data['name'] = "SVG";  
   data['cmd'] = "list";  
   postRequest(Config.MgrPath+iSlideMgr, data, fileSelectorOnServer);  
 }  
   
 function previewRemoteFile(content){  
   previewFile(content);  
   setMode('Preview');  
 }  
   
 function getRemoteFile(name){  
   var data=new Array();  
   data['name'] = name;  
   data['cmd'] = "get";  
   postRequest(Config.MgrPath+iSlideMgr, data, previewRemoteFile);  
 }  
   
 function saveRemoteFile(content){  
   var datadiv = document.getElementById('tempdata');  
   var fname = datadiv.getAttribute('lfname');  
   Editor.saveContentWithFilename(fname, content);  
 }  
   
 function downloadFile(name){  
   var data=new Array();  
   data['name'] = name;  
   data['cmd'] = "get";  
   var datadiv = document.getElementById('tempdata');  
   datadiv.setAttribute('lfname', name);  
   postRequest(Config.MgrPath+iSlideMgr, data, saveRemoteFile);  
 }  
   
 function showRemoteFile(name){  
   getRemoteFile(name);  
 }  
   
 function downloadToFile(name){  
   var downloadForm = "";  
   downloadForm += "<form action=\"iSlideManager.php\" method=\"post\">";  
   downloadForm += "<input type=\"hidden\" name=\"cmd\" value=\"download\">";  
   downloadForm += "<input type=\"hidden\" name=\"name\" value=\""+name+"\">";  
   downloadForm += "<input type=\"hidden\" name=\"filetype\" value=\"svg\">";  
   downloadForm += "<input type=\"submit\">";  
   downloadForm += "</form>";  
   
   var cmdForm = document.getElementById('cmdForm');  
   cmdForm.innerHTML = downloadForm;  
   cmdForm.firstChild.submit();  
 }  
   
1747  //////// Event Handler  //////// Event Handler
1748  function selectedRectangle(x, y, ex, ey){  function selectedRectangle(x, y, ex, ey){
1749    if(!svg_select) return null;    if(!svg_select) return null;

Legend:
Removed from v.72  
changed lines
  Added in v.73

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26