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 71 by isao-hara, Fri Aug 6 06:55:41 2010 UTC revision 72 by isao-hara, Fri Aug 6 07:33:06 2010 UTC
# Line 174  TextEditor.prototype.dropTable=function( Line 174  TextEditor.prototype.dropTable=function(
174  /// Create New File  /// Create New File
175  TextEditor.prototype.reallyCreateNewFileAction=function(name){  TextEditor.prototype.reallyCreateNewFileAction=function(name){
176    this.db.transaction(    this.db.transaction(
177      function (transaction) {      new Function("transaction",
178        var myfunc = new Function("transaction","results","transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);', [ '"+name+"', results.insertId], "+this.name+".nullDataHandler,"+this.name+".killTransaction);");         "transaction.executeSql('INSERT INTO filedata (datablob) VALUES (\"\");', [],"+
179         transaction.executeSql('INSERT INTO filedata (datablob) VALUES ("");', [], myfunc, this.errorHandler);         "function(transaction,results){"+
180      }           "transaction.executeSql('INSERT INTO files (name, filedata_id) VALUES (?, ?);',"+
181    );          "['"+name+"',results.insertId],"+this.name+".nullDataHandler,"+this.name+".killTransaction);},"+
182            this.name+".errorHandler);"));
183    fileSelector();    fileSelector();
184  }  }
185    
186  TextEditor.prototype.createNewFileAction=function(){  TextEditor.prototype.createNewFileAction=function(){
187    var name = document.getElementById('createFilename').value    var name = document.getElementById('createFilename').value
188    if(name == "") {    if(name == "") {
189      if (confirm('Filename is required, try agein?')) { createNewFile(); }else{ fileSelector(); }      if (confirm('Filename is required, try agein?')) { this.createNewFile(); }else{ fileSelector(); }
190      return;      return;
191    }    }
   
192    this.db.transaction(    this.db.transaction(
193      new Function("transaction", "transaction.executeSql('SELECT id,name from files where name=?;',['"+name+"'],"+      new Function("transaction", "transaction.executeSql('SELECT id,name from files where name=?;',['"+name+"'],"+
194          "function (transaction, results) {"+          "function (transaction, results) {"+
# Line 196  TextEditor.prototype.createNewFileAction Line 196  TextEditor.prototype.createNewFileAction
196                 this.name+".reallyCreateNewFileAction('"+name+"');"+                 this.name+".reallyCreateNewFileAction('"+name+"');"+
197             "}else{"+             "}else{"+
198               "if (confirm(results.rows.item(0)['name']+' already exist, try agein?')) {"+               "if (confirm(results.rows.item(0)['name']+' already exist, try agein?')) {"+
199                 "createNewFile();"+                 this.name+".createNewFile();"+
200               "}else{"+               "}else{"+
201                 "fileSelector();"+                 "fileSelector();"+
202               "}"+               "}"+
# Line 415  TextEditor.prototype.fileEntry=function( Line 415  TextEditor.prototype.fileEntry=function(
415    var res =  "<tr class='filerow'>";    var res =  "<tr class='filerow'>";
416    res += "<td class='filenamecell'  onClick=\""+this.name+".showFile('"+name+"');\">"+name+"</td>";    res += "<td class='filenamecell'  onClick=\""+this.name+".showFile('"+name+"');\">"+name+"</td>";
417    res += "<td class='filelinkcell'>";    res += "<td class='filelinkcell'>";
418    res += "<button class='blue' onClick=\"editFile('"+name+"');\">&nbsp;Edit&nbsp;</button> &nbsp;";    res += "<button class='blue' onClick=\""+this.name+".editFile('"+name+"');\">&nbsp;Edit&nbsp;</button> &nbsp;";
419    res += "<button class='green' onClick=\"renameFile('"+name+"',"+files_id+");\">&nbsp;Rename&nbsp;</button> &nbsp;";    res += "<button class='green' onClick=\""+this.name+".renameFile('"+name+"',"+files_id+");\">&nbsp;Rename&nbsp;</button> &nbsp;";
420    res += "<button  onClick=\"uploadFile('"+name+"');\">Upload</button>";    res += "<button  onClick=\"uploadFile('"+name+"');\">Upload</button>";
421    res += "<button class='red' onClick=\""+this.name+".deleteFile('"+name+"');\">Delete</button>";    res += "<button class='red' onClick=\""+this.name+".deleteFile('"+name+"');\">Delete</button>";
422    res += "</td></tr>\n";    res += "</td></tr>\n";
# Line 426  TextEditor.prototype.fileEntry=function( Line 426  TextEditor.prototype.fileEntry=function(
426    
427  TextEditor.prototype.createMenuBar=function(){  TextEditor.prototype.createMenuBar=function(){
428    var menu = "<ul id='menubar'>";    var menu = "<ul id='menubar'>";
429    menu += "<li><button onClick='createNewFile()'>Create New File</button></li>";    menu += "<li><button onClick='"+this.name+".createNewFile()'>Create New File</button></li>";
430  //  menu += "<li><button onClick='deleteAllFile()'>Delete All</button></li>";  //  menu += "<li><button onClick='deleteAllFile()'>Delete All</button></li>";
431    menu += "<li><button onClick='getRemoteFileList()'>File List on a Server</button></li>";    menu += "<li><button onClick='getRemoteFileList()'>File List on a Server</button></li>";
432    menu += "<li><button onClick='configServer()'>Server Configuration</button></li>";    menu += "<li><button onClick='configServer()'>Server Configuration</button></li>";
# Line 434  TextEditor.prototype.createMenuBar=funct Line 434  TextEditor.prototype.createMenuBar=funct
434    return menu;    return menu;
435  }  }
436    
437    TextEditor.prototype.createNewFile=function(){
438      var popupDiv = document.getElementById('popup');
439      var string = "";
440    
441      string += "<H1 class='title'>Create New File</H1>\n";
442      string += "<div class=\"input_form\">\n";
443      string += "Filename:<input id='createFilename' name='name' value=\"\" />\n";
444      string += "<button onClick=\""+this.name+".createNewFileAction();hideItemById('popup'); \">Create</button>\n";
445      string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";
446      string += "</div>\n";
447    
448      popupDiv.innerHTML=string;
449      popupDiv.style.display='block';
450    }
451    
452    TextEditor.prototype.renameFile=function(name, id){
453      var popupDiv = document.getElementById('popup');
454      var string = "";
455    
456      string += "<H1 class='title'>Rename File</H1>\n";
457      string += "<div class='input_form'>\n";
458      string += "Old Filename: "+name+"<br>";
459      string += "New Filename:<input id='newFilename' name='newname' value=\"\" />\n";
460      string += "<input type='hidden' id='fileId' value=\""+id+"\" /><br>\n";
461      string += "<button onClick=\""+this.name+".renameFileAction();hideItemById('popup');\">Rename</button>\n";
462      string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";
463      string += "</div>\n";
464    
465      popupDiv.innerHTML=string;
466      popupDiv.style.display='block';
467    }
468    
469    TextEditor.prototype.editFile=function(name){
470       if(currentMode == 'Preview'){
471         var data = getSVGContent();
472         var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+data+"</textarea>\n";
473         updateEditMenu();
474         editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;
475    
476         setMode('Edit');
477       }else{
478         this.getFile(name, this.name+'.editFileData');
479       }
480    }
481    
482    TextEditor.prototype.editFileData=function(transaction, results){
483      var editDiv = document.getElementById('editDiv');
484      var datadiv = document.getElementById('tempdata');
485    
486      if( results.rows.length == 0) return;
487      var data = results.rows.item(0);
488      var filename = data['name'];
489      var filedata = data['datablob'];
490      datadiv.setAttribute('lfdataid', parseInt(data['filedata_id']));
491    
492      var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+filedata+"</textarea>\n";
493    
494      document.title="EditFile: "+filename;
495      updateEditMenu();
496      editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;
497    
498      setMode('Edit');
499    }
500    
501    TextEditor.prototype.editCurrentFile=function(){
502      var datadiv = document.getElementById('tempdata');
503      var name = datadiv.getAttribute('lfname');
504    
505      this.editFile(name);
506    }
507    
508    
509  /////////  /////////
510  function fileSelector() {  function fileSelector() {
# Line 504  function configServer(){ Line 575  function configServer(){
575    popupDiv.style.display='block';    popupDiv.style.display='block';
576  }  }
577    
 ////  
 function createNewFile(){  
   var popupDiv = document.getElementById('popup');  
   var string = "";  
   
   string += "<H1 class='title'>Create New File</H1>\n";  
   string += "<div class=\"input_form\">\n";  
   string += "Filename:<input id='createFilename' name='name' value=\"\" />\n";  
   string += "<button onClick=\"Editor.createNewFileAction();hideItemById('popup'); \">Create</button>\n";  
   string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";  
   string += "</div>\n";  
   
   popupDiv.innerHTML=string;  
   popupDiv.style.display='block';  
 }  
   
578  /////  /////
 function renameFile(name, id){  
   var popupDiv = document.getElementById('popup');  
   var string = "";  
   
   string += "<H1 class='title'>Rename File</H1>\n";  
   string += "<div class='input_form'>\n";  
   string += "Old Filename: "+name+"<br>";  
   string += "New Filename:<input id='newFilename' name='newname' value=\"\" />\n";  
   string += "<input type='hidden' id='fileId' value=\""+id+"\" /><br>\n";  
   string += "<button onClick=\"Editor.renameFileAction();hideItemById('popup');\">Rename</button>\n";  
   string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";  
   string += "</div>\n";  
   
   popupDiv.innerHTML=string;  
   popupDiv.style.display='block';  
 }  
   
579  /// EditMenu  /// EditMenu
580  function insertStr(str, len){  function insertStr(str, len){
581    var editarea = document.getElementById('editarea');    var editarea = document.getElementById('editarea');
# Line 614  function updateEditMenu(){ Line 652  function updateEditMenu(){
652    menuDiv.style.display='block';    menuDiv.style.display='block';
653  }  }
654    
 //// Editor  
 function editFileData(transaction, results){  
   var editDiv = document.getElementById('editDiv');  
   var datadiv = document.getElementById('tempdata');  
   
   if( results.rows.length == 0) return;  
   var data = results.rows.item(0);  
   var filename = data['name'];  
   var filedata = data['datablob'];  
   datadiv.setAttribute('lfdataid', parseInt(data['filedata_id']));  
   
   var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+filedata+"</textarea>\n";  
   
   document.title="EditFile: "+filename;  
   updateEditMenu();  
   editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;  
   
   setMode('Edit');  
 }  
   
 function editFile(name){  
    if(currentMode == 'Preview'){  
      var data = getSVGContent();  
      var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+data+"</textarea>\n";  
      updateEditMenu();  
      editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;  
   
      setMode('Edit');  
    }else{  
      Editor.getFile(name, 'editFileData');  
    }  
 }  
   
 function editCurrentFile(){  
   var datadiv = document.getElementById('tempdata');  
   var name = datadiv.getAttribute('lfname');  
   
   editFile(name);  
 }  
   
655  //////////////////////////////  //////////////////////////////
656  //  Show File (GUI Editor)  //  Show File (GUI Editor)
657  function updateShowMenu(){  function updateShowMenu(){

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

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