diff options
author | Andreas Gohr <andi@splitbrain.org> | 2005-10-29 02:26:52 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2005-10-29 02:26:52 +0200 |
commit | bad31ae944f074dab12f7a6d1362775d8f2b18dd (patch) | |
tree | af7ed25d7d8ef9c2c836afdd21b1ee7398db3dcd /lib/scripts/edit.js | |
parent | 551242f8292dd257969d52089332f6ddb8bd70b2 (diff) | |
download | rpg-bad31ae944f074dab12f7a6d1362775d8f2b18dd.tar.gz rpg-bad31ae944f074dab12f7a6d1362775d8f2b18dd.tar.bz2 |
JavaScript refactoring
This patch addes a first go on a central javascript and CSS dispatcher
which builds a single script from all needed scripts, does optimizing
and caching.
darcs-hash:20051029002652-7ad00-7558b569c2bf65f5e41820644580d97c62edd0d6.gz
Diffstat (limited to 'lib/scripts/edit.js')
-rw-r--r-- | lib/scripts/edit.js | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 43e6843b0..fd4cb8d0b 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -59,7 +59,7 @@ function createPicker(id,list,icobase,edid){ for(var key in list){ var btn = document.createElement('button'); - btn.className = 'pickerbutton' + btn.className = 'pickerbutton'; // associative array? if(isNaN(key)){ @@ -69,16 +69,14 @@ function createPicker(id,list,icobase,edid){ btn.appendChild(ico); eval("btn.onclick = function(){pickerInsert('"+id+"','"+ jsEscape(key)+"','"+ - jsEscape(edid) - +"');return false;}"); + jsEscape(edid)+"');return false;}"); }else{ var txt = document.createTextNode(list[key]); btn.title = list[key]; btn.appendChild(txt); eval("btn.onclick = function(){pickerInsert('"+id+"','"+ jsEscape(list[key])+"','"+ - jsEscape(edid) - +"');return false;}"); + jsEscape(edid)+"');return false;}"); } picker.appendChild(btn); @@ -127,7 +125,7 @@ function showPicker(pickerid,btn){ * @author Andreas Gohr <andi@splitbrain.org> */ function initToolbar(tbid,edid,tb){ - if(!document.getElementById) return; + if(!document.getElementById){ return; } var toolbar = document.getElementById(tbid); var cnt = tb.length; for(i=0; i<cnt; i++){ @@ -141,7 +139,7 @@ function initToolbar(tbid,edid,tb){ switch(tb[i]['type']){ case 'format': var sample = tb[i]['title']; - if(tb[i]['sample']) sample = tb[i]['sample']; + if(tb[i]['sample']){ sample = tb[i]['sample']; } eval("btn.onclick = function(){insertTags('"+ jsEscape(edid)+"','"+ @@ -199,7 +197,7 @@ function insertTags(edid,tagOpen, tagClose, sampleText) { txtarea.focus(); // This has change - text = theSelection; + var text = theSelection; if(theSelection.charAt(theSelection.length - 1) == " "){// exclude ending space char, if any theSelection = theSelection.substring(0, theSelection.length - 1); r = document.selection.createRange(); @@ -215,10 +213,10 @@ function insertTags(edid,tagOpen, tagClose, sampleText) { r.select(); // Mozilla } else if(txtarea.selectionStart || txtarea.selectionStart == '0') { - var replaced = false; + replaced = false; var startPos = txtarea.selectionStart; var endPos = txtarea.selectionEnd; - if(endPos - startPos) replaced = true; + if(endPos - startPos){ replaced = true; } var scrollTop=txtarea.scrollTop; var myText = (txtarea.value).substring(startPos, endPos); if(!myText) { myText=sampleText;} @@ -248,7 +246,7 @@ function insertTags(edid,tagOpen, tagClose, sampleText) { var re2=new RegExp("\\$2","g"); copy_alertText=copy_alertText.replace(re1,sampleText); copy_alertText=copy_alertText.replace(re2,tagOpen+sampleText+tagClose); - var text; + if (sampleText) { text=prompt(copy_alertText); } else { @@ -266,7 +264,9 @@ function insertTags(edid,tagOpen, tagClose, sampleText) { } // reposition cursor if possible - if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate(); + if (txtarea.createTextRange){ + txtarea.caretPos = document.selection.createRange().duplicate(); + } } /* @@ -280,7 +280,7 @@ function insertAtCarret(edid,value){ //IE support if (document.selection) { field.focus(); - if(opener == null){ + if(opener === null){ sel = document.selection.createRange(); }else{ sel = opener.document.selection.createRange(); @@ -291,9 +291,9 @@ function insertAtCarret(edid,value){ var startPos = field.selectionStart; var endPos = field.selectionEnd; var scrollTop = field.scrollTop; - field.value = field.value.substring(0, startPos) - + value - + field.value.substring(endPos, field.value.length); + field.value = field.value.substring(0, startPos) + + value + + field.value.substring(endPos, field.value.length); field.focus(); var cPos=startPos+(value.length); @@ -304,7 +304,9 @@ function insertAtCarret(edid,value){ field.value += "\n"+value; } // reposition cursor if possible - if (field.createTextRange) field.caretPos = document.selection.createRange().duplicate(); + if (field.createTextRange){ + field.caretPos = document.selection.createRange().duplicate(); + } } @@ -331,7 +333,7 @@ function changeCheck(msg){ * Sets focus to the editbox as well */ function initChangeCheck(msg){ - if(!document.getElementById) return; + if(!document.getElementById){ return false; } // add change check for links var links = document.getElementsByTagName('a'); for(var i=0; i < links.length; i++){ @@ -361,7 +363,7 @@ function initChangeCheck(msg){ edit_text.onchange = function(){ textChanged = true; //global var summaryCheck(); - } + }; edit_text.onkeyup = summaryCheck; var summary = document.getElementById('summary'); summary.onchange = summaryCheck; @@ -378,7 +380,7 @@ function initChangeCheck(msg){ */ function summaryCheck(){ var sum = document.getElementById('summary'); - if(sum.value == ''){ + if(sum.value === ''){ sum.className='missing'; }else{ sum.className='edit'; |