X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0f29eadd474473203a1182f52af1aa82721cecbd..refs/tags/wordpress-3.3.1-scripts:/wp-includes/js/quicktags.js diff --git a/wp-includes/js/quicktags.js b/wp-includes/js/quicktags.js index be628e07..fb2ed4fe 100644 --- a/wp-includes/js/quicktags.js +++ b/wp-includes/js/quicktags.js @@ -1,389 +1 @@ -// new edit toolbar used with permission -// by Alex King -// http://www.alexking.org/ - -var edButtons = new Array(); -var edLinks = new Array(); -var edOpenTags = new Array(); - -function edButton(id, display, tagStart, tagEnd, access, open) { - this.id = id; // used to name the toolbar button - this.display = display; // label on button - this.tagStart = tagStart; // open tag - this.tagEnd = tagEnd; // close tag - this.access = access; // access key - this.open = open; // set to -1 if tag does not need to be closed -} - -function zeroise(number, threshold) { - // FIXME: or we could use an implementation of printf in js here - var str = number.toString(); - if (number < 0) { str = str.substr(1, str.length) } - while (str.length < threshold) { str = "0" + str } - if (number < 0) { str = '-' + str } - return str; -} - -var now = new Date(); -var datetime = now.getUTCFullYear() + '-' + -zeroise(now.getUTCMonth() + 1, 2) + '-' + -zeroise(now.getUTCDate(), 2) + 'T' + -zeroise(now.getUTCHours(), 2) + ':' + -zeroise(now.getUTCMinutes(), 2) + ':' + -zeroise(now.getUTCSeconds() ,2) + -'+00:00'; - -edButtons[edButtons.length] = -new edButton('ed_strong' -,'b' -,'' -,'' -,'b' -); - -edButtons[edButtons.length] = -new edButton('ed_em' -,'i' -,'' -,'' -,'i' -); - -edButtons[edButtons.length] = -new edButton('ed_link' -,'link' -,'' -,'' -,'a' -); // special case - -edButtons[edButtons.length] = -new edButton('ed_block' -,'b-quote' -,'\n\n
' -,'
\n\n' -,'q' -); - - -edButtons[edButtons.length] = -new edButton('ed_del' -,'del' -,'' -,'' -,'d' -); - -edButtons[edButtons.length] = -new edButton('ed_ins' -,'ins' -,'' -,'' -,'s' -); - -edButtons[edButtons.length] = -new edButton('ed_img' -,'img' -,'' -,'' -,'m' -,-1 -); // special case - -edButtons[edButtons.length] = -new edButton('ed_ul' -,'ul' -,'\n\n' -,'u' -); - -edButtons[edButtons.length] = -new edButton('ed_ol' -,'ol' -,'
    \n' -,'
\n\n' -,'o' -); - -edButtons[edButtons.length] = -new edButton('ed_li' -,'li' -,'\t
  • ' -,'
  • \n' -,'l' -); - -edButtons[edButtons.length] = -new edButton('ed_code' -,'code' -,'' -,'' -,'c' -); - -edButtons[edButtons.length] = -new edButton('ed_more' -,'more' -,'' -,'' -,'t' -,-1 -); -/* -edButtons[edButtons.length] = -new edButton('ed_next' -,'page' -,'' -,'' -,'p' -,-1 -); -*/ -function edLink() { - this.display = ''; - this.URL = ''; - this.newWin = 0; -} - -edLinks[edLinks.length] = new edLink('WordPress' - ,'http://wordpress.org/' - ); - -edLinks[edLinks.length] = new edLink('alexking.org' - ,'http://www.alexking.org/' - ); - -function edShowButton(button, i) { - if (button.id == 'ed_img') { - document.write(''); - } - else if (button.id == 'ed_link') { - document.write(''); - } - else { - document.write(''); - } -} - -function edShowLinks() { - var tempStr = ''; - document.write(tempStr); -} - -function edAddTag(button) { - if (edButtons[button].tagEnd != '') { - edOpenTags[edOpenTags.length] = button; - document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value; - } -} - -function edRemoveTag(button) { - for (i = 0; i < edOpenTags.length; i++) { - if (edOpenTags[i] == button) { - edOpenTags.splice(i, 1); - document.getElementById(edButtons[button].id).value = document.getElementById(edButtons[button].id).value.replace('/', ''); - } - } -} - -function edCheckOpenTags(button) { - var tag = 0; - for (i = 0; i < edOpenTags.length; i++) { - if (edOpenTags[i] == button) { - tag++; - } - } - if (tag > 0) { - return true; // tag found - } - else { - return false; // tag not found - } -} - -function edCloseAllTags() { - var count = edOpenTags.length; - for (o = 0; o < count; o++) { - edInsertTag(edCanvas, edOpenTags[edOpenTags.length - 1]); - } -} - -function edQuickLink(i, thisSelect) { - if (i > -1) { - var newWin = ''; - if (edLinks[i].newWin == 1) { - newWin = ' target="_blank"'; - } - var tempStr = '' - + edLinks[i].display - + ''; - thisSelect.selectedIndex = 0; - edInsertContent(edCanvas, tempStr); - } - else { - thisSelect.selectedIndex = 0; - } -} - -function edSpell(myField) { - var word = ''; - if (document.selection) { - myField.focus(); - var sel = document.selection.createRange(); - if (sel.text.length > 0) { - word = sel.text; - } - } - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - if (startPos != endPos) { - word = myField.value.substring(startPos, endPos); - } - } - if (word == '') { - word = prompt('Enter a word to look up:', ''); - } - if (word !== null && /^\w[\w ]*$/.test(word)) { - window.open('http://www.answers.com/' + escape(word)); - } -} - -function edToolbar() { - document.write('
    '); - for (i = 0; i < edButtons.length; i++) { - edShowButton(edButtons[i], i); - } - document.write(''); - document.write(''); -// edShowLinks(); // disabled by default - document.write('
    '); -} - -// insertion code - -function edInsertTag(myField, i) { - //IE support - if (document.selection) { - myField.focus(); - sel = document.selection.createRange(); - if (sel.text.length > 0) { - sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - sel.text = edButtons[i].tagStart; - edAddTag(i); - } - else { - sel.text = edButtons[i].tagEnd; - edRemoveTag(i); - } - } - myField.focus(); - } - //MOZILLA/NETSCAPE support - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - var cursorPos = endPos; - var scrollTop = myField.scrollTop; - - if (startPos != endPos) { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagStart - + myField.value.substring(startPos, endPos) - + edButtons[i].tagEnd - + myField.value.substring(endPos, myField.value.length); - cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagStart - + myField.value.substring(endPos, myField.value.length); - edAddTag(i); - cursorPos = startPos + edButtons[i].tagStart.length; - } - else { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagEnd - + myField.value.substring(endPos, myField.value.length); - edRemoveTag(i); - cursorPos = startPos + edButtons[i].tagEnd.length; - } - } - myField.focus(); - myField.selectionStart = cursorPos; - myField.selectionEnd = cursorPos; - myField.scrollTop = scrollTop; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - myField.value += edButtons[i].tagStart; - edAddTag(i); - } - else { - myField.value += edButtons[i].tagEnd; - edRemoveTag(i); - } - myField.focus(); - } -} - -function edInsertContent(myField, myValue) { - //IE support - if (document.selection) { - myField.focus(); - sel = document.selection.createRange(); - sel.text = myValue; - myField.focus(); - } - //MOZILLA/NETSCAPE support - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - myField.value = myField.value.substring(0, startPos) - + myValue - + myField.value.substring(endPos, myField.value.length); - myField.focus(); - myField.selectionStart = startPos + myValue.length; - myField.selectionEnd = startPos + myValue.length; - } else { - myField.value += myValue; - myField.focus(); - } -} - -function edInsertLink(myField, i, defaultValue) { - if (!defaultValue) { - defaultValue = 'http://'; - } - if (!edCheckOpenTags(i)) { - var URL = prompt('Enter the URL' ,defaultValue); - if (URL) { - edButtons[i].tagStart = ''; - edInsertTag(myField, i); - } - } - else { - edInsertTag(myField, i); - } -} - -function edInsertImage(myField) { - var myValue = prompt('Enter the URL of the image', 'http://'); - if (myValue) { - myValue = '' + prompt('Enter a description of the image', '') 
-				+ ''; - edInsertContent(myField, myValue); - } -} +var QTags,edButtons=[],edCanvas,edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};function quicktags(a){return new QTags(a)}function edInsertContent(b,a){return QTags.insertContent(a)}function edButton(f,e,c,b,a,d){return QTags.addButton(f,e,c,b,a,"",-1)}(function(){var b=function(g){var f,e,d;if(typeof jQuery!="undefined"){jQuery(document).ready(g)}else{f=b;f.funcs=[];f.ready=function(){if(!f.isReady){f.isReady=true;for(e=0;e0){while(typeof(edButtons[k])!="undefined"){k++}edButtons[k]=f}else{edButtons[edButtons.length]=f}if(this.buttonsInitDone){this._buttonsInit()}};c.insertContent=function(g){var h,f,e,i,j,d=document.getElementById(wpActiveEditor);if(!d){return false}if(document.selection){d.focus();h=document.selection.createRange();h.text=g;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){j=d.value;f=d.selectionStart;e=d.selectionEnd;i=d.scrollTop;d.value=j.substring(0,f)+g+j.substring(e,j.length);d.focus();d.selectionStart=f+g.length;d.selectionEnd=f+g.length;d.scrollTop=i}else{d.value+=g;d.focus()}}return true};c.Button=function(i,g,e,h,d){var f=this;f.id=i;f.display=g;f.access=e;f.title=h||"";f.instance=d||""};c.Button.prototype.html=function(e){var d=this.access?' accesskey="'+this.access+'"':"";return''};c.Button.prototype.callback=function(){};c.TagButton=function(k,i,g,f,e,j,d){var h=this;c.Button.call(h,k,i,e,j,d);h.tagStart=g;h.tagEnd=f};c.TagButton.prototype=new c.Button();c.TagButton.prototype.openTag=function(g,d){var f=this;if(!d.openTags){d.openTags=[]}if(f.tagEnd){d.openTags.push(f.id);g.value="/"+g.value}};c.TagButton.prototype.closeTag=function(h,d){var g=this,f=g.isOpen(d);if(f!==false){d.openTags.splice(f,1)}h.value=g.display};c.TagButton.prototype.isOpen=function(d){var g=this,f=0,e=false;if(d.openTags){while(e===false&&f0){if(!u.tagEnd){f.text=f.text+u.tagStart}else{f.text=u.tagStart+f.text+k}}else{if(!u.tagEnd){f.text=u.tagStart}else{if(u.isOpen(p)===false){f.text=u.tagStart;u.openTag(o,p)}else{f.text=k;u.closeTag(o,p)}}}h.focus()}else{if(h.selectionStart||h.selectionStart=="0"){q=h.selectionStart;e=h.selectionEnd;m=e;g=h.scrollTop;j=s.substring(0,q);d=s.substring(e,s.length);n=s.substring(q,e);if(q!=e){if(!u.tagEnd){h.value=j+n+u.tagStart+d;m+=u.tagStart.length}else{h.value=j+u.tagStart+n+k+d;m+=u.tagStart.length+k.length}}else{if(!u.tagEnd){h.value=j+u.tagStart+d;m=q+u.tagStart.length}else{if(u.isOpen(p)===false){h.value=j+u.tagStart+d;u.openTag(o,p);m=q+u.tagStart.length}else{h.value=j+k+d;m=q+k.length;u.closeTag(o,p)}}}h.focus();h.selectionStart=m;h.selectionEnd=m;h.scrollTop=g}else{if(!k){h.value+=u.tagStart}else{if(u.isOpen(p)!==false){h.value+=u.tagStart;u.openTag(o,p)}else{h.value+=k;u.closeTag(o,p)}}h.focus()}}};c.SpellButton=function(){c.Button.call(this,"spell",quicktagsL10n.lookup,"",quicktagsL10n.dictionaryLookup)};c.SpellButton.prototype=new c.Button();c.SpellButton.prototype.callback=function(h,g,d){var j="",i,f,e;if(document.selection){g.focus();i=document.selection.createRange();if(i.text.length>0){j=i.text}}else{if(g.selectionStart||g.selectionStart=="0"){f=g.selectionStart;e=g.selectionEnd;if(f!=e){j=g.value.substring(f,e)}}}if(j===""){j=prompt(quicktagsL10n.wordLookup,"")}if(j!==null&&/^\w[\w ]*$/.test(j)){window.open("http://www.answers.com/"+encodeURIComponent(j))}};c.CloseButton=function(){c.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)};c.CloseButton.prototype=new c.Button();c._close=function(i,j,d){var g,f,h=d.openTags;if(h){while(h.length>0){g=d.getButton(h[h.length-1]);f=document.getElementById(d.name+"_"+g.id);if(i){g.callback.call(g,f,j,d)}else{g.closeTag(f,d)}}}};c.CloseButton.prototype.callback=c._close;c.closeAllTags=function(e){var d=this.getInstance(e);c._close("",d.canvas,d)};c.LinkButton=function(){c.TagButton.call(this,"link","link","","","a")};c.LinkButton.prototype=new c.TagButton();c.LinkButton.prototype.callback=function(i,j,g,f){var d,h=this;if(typeof(wpLink)!="undefined"){wpLink.open();return}if(!f){f="http://"}if(h.isOpen(g)===false){d=prompt(quicktagsL10n.enterURL,f);if(d){h.tagStart='';c.TagButton.prototype.callback.call(h,i,j,g)}}else{c.TagButton.prototype.callback.call(h,i,j,g)}};c.ImgButton=function(){c.TagButton.call(this,"img","img","","","m")};c.ImgButton.prototype=new c.TagButton();c.ImgButton.prototype.callback=function(h,j,f,d){if(!d){d="http://"}var i=prompt(quicktagsL10n.enterImageURL,d),g;if(i){g=prompt(quicktagsL10n.enterImageDescription,"");this.tagStart=''+g+'';c.TagButton.prototype.callback.call(this,h,j,f)}};c.FullscreenButton=function(){c.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)};c.FullscreenButton.prototype=new c.Button();c.FullscreenButton.prototype.callback=function(d,f){if(f.id!="content"||typeof(fullscreen)=="undefined"){return}fullscreen.on()};edButtons[10]=new c.TagButton("strong","b","","","b");edButtons[20]=new c.TagButton("em","i","","","i"),edButtons[30]=new c.LinkButton(),edButtons[40]=new c.TagButton("block","b-quote","\n\n
    ","
    \n\n","q"),edButtons[50]=new c.TagButton("del","del",'',"","d"),edButtons[60]=new c.TagButton("ins","ins",'',"","s"),edButtons[70]=new c.ImgButton(),edButtons[80]=new c.TagButton("ul","ul","\n\n","u"),edButtons[90]=new c.TagButton("ol","ol","
      \n","
    \n\n","o"),edButtons[100]=new c.TagButton("li","li","\t
  • ","
  • \n","l"),edButtons[110]=new c.TagButton("code","code","","","c"),edButtons[120]=new c.TagButton("more","more","","","t"),edButtons[130]=new c.SpellButton(),edButtons[140]=new c.CloseButton()})(); \ No newline at end of file