• R/O
  • SSH
  • HTTPS

islidemaker: 提交


Commit MetaInfo

修订版72 (tree)
时间2010-08-06 16:33:06
作者isao-hara

Log Message

TextEditor class appended 3

更改概述

差异

--- SvgEditor.js (revision 71)
+++ SvgEditor.js (revision 72)
@@ -174,11 +174,12 @@
174174 /// Create New File
175175 TextEditor.prototype.reallyCreateNewFileAction=function(name){
176176 this.db.transaction(
177- 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);");
179- transaction.executeSql('INSERT INTO filedata (datablob) VALUES ("");', [], myfunc, this.errorHandler);
180- }
181- );
177+ new Function("transaction",
178+ "transaction.executeSql('INSERT INTO filedata (datablob) VALUES (\"\");', [],"+
179+ "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);"));
182183 fileSelector();
183184 }
184185
@@ -185,10 +186,9 @@
185186 TextEditor.prototype.createNewFileAction=function(){
186187 var name = document.getElementById('createFilename').value
187188 if(name == "") {
188- if (confirm('Filename is required, try agein?')) { createNewFile(); }else{ fileSelector(); }
189+ if (confirm('Filename is required, try agein?')) { this.createNewFile(); }else{ fileSelector(); }
189190 return;
190191 }
191-
192192 this.db.transaction(
193193 new Function("transaction", "transaction.executeSql('SELECT id,name from files where name=?;',['"+name+"'],"+
194194 "function (transaction, results) {"+
@@ -196,7 +196,7 @@
196196 this.name+".reallyCreateNewFileAction('"+name+"');"+
197197 "}else{"+
198198 "if (confirm(results.rows.item(0)['name']+' already exist, try agein?')) {"+
199- "createNewFile();"+
199+ this.name+".createNewFile();"+
200200 "}else{"+
201201 "fileSelector();"+
202202 "}"+
@@ -415,8 +415,8 @@
415415 var res = "<tr class='filerow'>";
416416 res += "<td class='filenamecell' onClick=\""+this.name+".showFile('"+name+"');\">"+name+"</td>";
417417 res += "<td class='filelinkcell'>";
418- res += "<button class='blue' onClick=\"editFile('"+name+"');\">&nbsp;Edit&nbsp;</button> &nbsp;";
419- res += "<button class='green' onClick=\"renameFile('"+name+"',"+files_id+");\">&nbsp;Rename&nbsp;</button> &nbsp;";
418+ res += "<button class='blue' onClick=\""+this.name+".editFile('"+name+"');\">&nbsp;Edit&nbsp;</button> &nbsp;";
419+ res += "<button class='green' onClick=\""+this.name+".renameFile('"+name+"',"+files_id+");\">&nbsp;Rename&nbsp;</button> &nbsp;";
420420 res += "<button onClick=\"uploadFile('"+name+"');\">Upload</button>";
421421 res += "<button class='red' onClick=\""+this.name+".deleteFile('"+name+"');\">Delete</button>";
422422 res += "</td></tr>\n";
@@ -426,7 +426,7 @@
426426
427427 TextEditor.prototype.createMenuBar=function(){
428428 var menu = "<ul id='menubar'>";
429- menu += "<li><button onClick='createNewFile()'>Create New File</button></li>";
429+ menu += "<li><button onClick='"+this.name+".createNewFile()'>Create New File</button></li>";
430430 // menu += "<li><button onClick='deleteAllFile()'>Delete All</button></li>";
431431 menu += "<li><button onClick='getRemoteFileList()'>File List on a Server</button></li>";
432432 menu += "<li><button onClick='configServer()'>Server Configuration</button></li>";
@@ -434,7 +434,78 @@
434434 return menu;
435435 }
436436
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";
437447
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+
438509 /////////
439510 function fileSelector() {
440511 if(!systemDB){
@@ -504,40 +575,7 @@
504575 popupDiv.style.display='block';
505576 }
506577
507-////
508-function createNewFile(){
509- var popupDiv = document.getElementById('popup');
510- var string = "";
511-
512- string += "<H1 class='title'>Create New File</H1>\n";
513- string += "<div class=\"input_form\">\n";
514- string += "Filename:<input id='createFilename' name='name' value=\"\" />\n";
515- string += "<button onClick=\"Editor.createNewFileAction();hideItemById('popup'); \">Create</button>\n";
516- string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";
517- string += "</div>\n";
518-
519- popupDiv.innerHTML=string;
520- popupDiv.style.display='block';
521-}
522-
523578 /////
524-function renameFile(name, id){
525- var popupDiv = document.getElementById('popup');
526- var string = "";
527-
528- string += "<H1 class='title'>Rename File</H1>\n";
529- string += "<div class='input_form'>\n";
530- string += "Old Filename: "+name+"<br>";
531- string += "New Filename:<input id='newFilename' name='newname' value=\"\" />\n";
532- string += "<input type='hidden' id='fileId' value=\""+id+"\" /><br>\n";
533- string += "<button onClick=\"Editor.renameFileAction();hideItemById('popup');\">Rename</button>\n";
534- string += "<button onClick=\"hideItemById('popup'); \">Cancel</button>\n";
535- string += "</div>\n";
536-
537- popupDiv.innerHTML=string;
538- popupDiv.style.display='block';
539-}
540-
541579 /// EditMenu
542580 function insertStr(str, len){
543581 var editarea = document.getElementById('editarea');
@@ -614,46 +652,6 @@
614652 menuDiv.style.display='block';
615653 }
616654
617-//// Editor
618-function editFileData(transaction, results){
619- var editDiv = document.getElementById('editDiv');
620- var datadiv = document.getElementById('tempdata');
621-
622- if( results.rows.length == 0) return;
623- var data = results.rows.item(0);
624- var filename = data['name'];
625- var filedata = data['datablob'];
626- datadiv.setAttribute('lfdataid', parseInt(data['filedata_id']));
627-
628- var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+filedata+"</textarea>\n";
629-
630- document.title="EditFile: "+filename;
631- updateEditMenu();
632- editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;
633-
634- setMode('Edit');
635-}
636-
637-function editFile(name){
638- if(currentMode == 'Preview'){
639- var data = getSVGContent();
640- var editcontent="<textarea id=\"editarea\" rows=\""+editarea_h+"\" cols=\""+editarea_w+"\">"+data+"</textarea>\n";
641- updateEditMenu();
642- editDiv.innerHTML = editMenuBar() +"<br>"+ editcontent;
643-
644- setMode('Edit');
645- }else{
646- Editor.getFile(name, 'editFileData');
647- }
648-}
649-
650-function editCurrentFile(){
651- var datadiv = document.getElementById('tempdata');
652- var name = datadiv.getAttribute('lfname');
653-
654- editFile(name);
655-}
656-
657655 //////////////////////////////
658656 // Show File (GUI Editor)
659657 function updateShowMenu(){
Show on old repository browser