TextEditor class appended 3
@@ -174,11 +174,12 @@ | ||
174 | 174 | /// Create New File |
175 | 175 | TextEditor.prototype.reallyCreateNewFileAction=function(name){ |
176 | 176 | 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);")); | |
182 | 183 | fileSelector(); |
183 | 184 | } |
184 | 185 |
@@ -185,10 +186,9 @@ | ||
185 | 186 | TextEditor.prototype.createNewFileAction=function(){ |
186 | 187 | var name = document.getElementById('createFilename').value |
187 | 188 | 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(); } | |
189 | 190 | return; |
190 | 191 | } |
191 | - | |
192 | 192 | this.db.transaction( |
193 | 193 | new Function("transaction", "transaction.executeSql('SELECT id,name from files where name=?;',['"+name+"'],"+ |
194 | 194 | "function (transaction, results) {"+ |
@@ -196,7 +196,7 @@ | ||
196 | 196 | this.name+".reallyCreateNewFileAction('"+name+"');"+ |
197 | 197 | "}else{"+ |
198 | 198 | "if (confirm(results.rows.item(0)['name']+' already exist, try agein?')) {"+ |
199 | - "createNewFile();"+ | |
199 | + this.name+".createNewFile();"+ | |
200 | 200 | "}else{"+ |
201 | 201 | "fileSelector();"+ |
202 | 202 | "}"+ |
@@ -415,8 +415,8 @@ | ||
415 | 415 | var res = "<tr class='filerow'>"; |
416 | 416 | res += "<td class='filenamecell' onClick=\""+this.name+".showFile('"+name+"');\">"+name+"</td>"; |
417 | 417 | res += "<td class='filelinkcell'>"; |
418 | - res += "<button class='blue' onClick=\"editFile('"+name+"');\"> Edit </button> "; | |
419 | - res += "<button class='green' onClick=\"renameFile('"+name+"',"+files_id+");\"> Rename </button> "; | |
418 | + res += "<button class='blue' onClick=\""+this.name+".editFile('"+name+"');\"> Edit </button> "; | |
419 | + res += "<button class='green' onClick=\""+this.name+".renameFile('"+name+"',"+files_id+");\"> Rename </button> "; | |
420 | 420 | res += "<button onClick=\"uploadFile('"+name+"');\">Upload</button>"; |
421 | 421 | res += "<button class='red' onClick=\""+this.name+".deleteFile('"+name+"');\">Delete</button>"; |
422 | 422 | res += "</td></tr>\n"; |
@@ -426,7 +426,7 @@ | ||
426 | 426 | |
427 | 427 | TextEditor.prototype.createMenuBar=function(){ |
428 | 428 | 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>"; | |
430 | 430 | // menu += "<li><button onClick='deleteAllFile()'>Delete All</button></li>"; |
431 | 431 | menu += "<li><button onClick='getRemoteFileList()'>File List on a Server</button></li>"; |
432 | 432 | menu += "<li><button onClick='configServer()'>Server Configuration</button></li>"; |
@@ -434,7 +434,78 @@ | ||
434 | 434 | return menu; |
435 | 435 | } |
436 | 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"; | |
437 | 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 | + | |
438 | 509 | ///////// |
439 | 510 | function fileSelector() { |
440 | 511 | if(!systemDB){ |
@@ -504,40 +575,7 @@ | ||
504 | 575 | popupDiv.style.display='block'; |
505 | 576 | } |
506 | 577 | |
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 | - | |
523 | 578 | ///// |
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 | - | |
541 | 579 | /// EditMenu |
542 | 580 | function insertStr(str, len){ |
543 | 581 | var editarea = document.getElementById('editarea'); |
@@ -614,46 +652,6 @@ | ||
614 | 652 | menuDiv.style.display='block'; |
615 | 653 | } |
616 | 654 | |
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 | - | |
657 | 655 | ////////////////////////////// |
658 | 656 | // Show File (GUI Editor) |
659 | 657 | function updateShowMenu(){ |