From: <de...@de...> - 2007-12-17 21:37:26
|
Author: CrawfordCurrie Date: 2007-12-17 15:37:26 -0600 (Mon, 17 Dec 2007) New Revision: 16019 Trac url: http://develop.twiki.org/trac/changeset/16019 Modified: twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/twikibuttons/editor_plugin.js twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/twiki_tiny.js Log: Item5126: forgot to check these in :-( Modified: twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/twikibuttons/editor_plugin.js =================================================================== --- twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/twikibuttons/editor_plugin.js 2007-12-17 21:34:49 UTC (rev 16018) +++ twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/twikibuttons/editor_plugin.js 2007-12-17 21:37:26 UTC (rev 16019) @@ -1,10 +1,10 @@ -tinyMCE.importPluginLanguagePack('twikibuttons');var TWikiButtonsPlugin={getInfo:function(){return{longname:'TWiki Buttons Plugin',author:'Crawford Currie',authorurl:'http://c-dot.co.uk',infourl:'http://c-dot.co.uk',version:1};},initInstance:function(inst){},getControlHTML:function(cn){var html,formats;switch(cn){case"tt":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_tt_desc','{$pluginurl}/images/tt.gif','twikiTT',true);case"colour":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_colour_desc','{$pluginurl}/images/colour.gif','twikiCOLOUR',true);case"attach":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_attach_desc','{$pluginurl}/images/attach.gif','twikiATTACH',true);case"hide":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_hide_desc','{$pluginurl}/images/hide.gif','twikiHIDE',true);case"twikiformat":html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'twikiFORMAT\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';formats=tinyMCE.getParam("twikibuttons_formats");for(var i=0;i<formats.length;i++){html+='<option value="'+formats[i].name+'">' +tinyMCE.importPluginLanguagePack('twikibuttons');var TWikiButtonsPlugin={getInfo:function(){return{longname:'TWiki Buttons Plugin',author:'Crawford Currie',authorurl:'http://c-dot.co.uk',infourl:'http://c-dot.co.uk',version:1};},initInstance:function(inst){},getControlHTML:function(cn){var html,formats;switch(cn){case"tt":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_tt_desc','{$pluginurl}/images/tt.gif','twikiTT',true);case"colour":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_colour_desc','{$pluginurl}/images/colour.gif','twikiCOLOUR',true);case"attach":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_attach_desc','{$pluginurl}/images/attach.gif','twikiATTACH',true);case"hide":return tinyMCE.getButtonHTML(cn,'lang_twikibuttons_hide_desc','{$pluginurl}/images/hide.gif','twikiHIDE',true);case"twikiformat":html='<select id="{$editor_id}_twikiFormatSelect" name="{$editor_id}_twikiFormatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'twikiFORMAT\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';formats=tinyMCE.getParam("twikibuttons_formats");for(var i=0;i<formats.length;i++){html+='<option value="'+formats[i].name+'">' +formats[i].name+'</option>';} html+='</select>';return html;} return"";},execCommand:function(editor_id,element,command,user_interface,value){var em;var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"twikiCOLOUR":var t=inst.selection.getSelectedText();if(!(t&&t.length>0||pe)) return true;template=new Array();template['file']='../../plugins/twikibuttons/colours.htm';template['width']=240;template['height']=140;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"twikiTT":inst=tinyMCE.getInstanceById(editor_id);elm=inst.getFocusElement();var t=inst.selection.getSelectedText();var pe=tinyMCE.getParentElement(elm,'TT');if(!(t&&t.length>0||pe)) return true;if(elm&&elm.nodeName=='TT'){tinyMCE.execCommand('mceBeginUndoLevel');tinyMCE.execCommand('removeformat',user_interface,elm);tinyMCE.triggerNodeChange();tinyMCE.execCommand('mceEndUndoLevel');}else{var s=inst.selection.getSelectedHTML();if(s.length>0){tinyMCE.execCommand('mceBeginUndoLevel');s='<tt>'+s+'</tt>';tinyMCE.execCommand('mceInsertContent',user_interface,s);tinyMCE.triggerNodeChange();tinyMCE.execCommand('mceEndUndoLevel');}} -return true;case"twikiHIDE":tinyMCE.execCommand("mceToggleEditor",user_interface,editor_id);return true;case"twikiATTACH":template=new Array();template['file']='../../plugins/twikibuttons/attach.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"twikiFORMAT":var formats=tinyMCE.getParam("twikibuttons_formats");var format=null;for(var i=0;i<formats.length;i++){if(formats[i].name==value){format=formats[i];}} +return true;case"twikiHIDE":tinyMCE.execCommand("mceToggleEditor",user_interface,editor_id);return true;case"twikiATTACH":template=new Array();template['file']='../../plugins/twikibuttons/attach.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"twikiFORMAT":var formats=tinyMCE.getParam("twikibuttons_formats");var format=null;for(var i=0;i<formats.length;i++){if(formats[i].name==value){format=formats[i];break;}} if(format!=null){tinyMCE.execCommand('mceBeginUndoLevel');if(format.el!=null){var fmt=format.el;if(fmt.length) fmt='<'+fmt+'>';tinyMCE.execInstanceCommand(editor_id,'FormatBlock',user_interface,fmt);if(format.el==''){elm=inst.getFocusElement();tinyMCE.execCommand('removeformat',user_interface,elm);}} if(format.style!=null){tinyMCE.execInstanceCommand(editor_id,'mceSetCSSClass',user_interface,format.style);} @@ -13,4 +13,6 @@ return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null) return;if(!any_selection){tinyMCE.switchClass(editor_id+'_tt','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_colour','mceButtonDisabled');}else{tinyMCE.switchClass(editor_id+'_tt','mceButtonNormal');tinyMCE.switchClass(editor_id+'_colour','mceButtonNormal');} switch(node.nodeName){case"TT":tinyMCE.switchClass(editor_id+'_tt','mceButtonSelected');return true;} +var selectElm=document.getElementById(editor_id+"_twikiFormatSelect");if(selectElm){var formats=tinyMCE.getParam("twikibuttons_formats");var puck=-1;do{for(var i=0;i<formats.length;i++){if(!formats[i].el||formats[i].el==node.nodeName.toLowerCase()){if(!formats[i].style||RegExp('\\b'+formats[i].style+'\\b').test(tinyMCE.getAttrib(node,"class"))){puck=i;if(puck>0) +break;}}}}while(puck<0&&(node=node.parentNode)!=null);if(puck>=0){selectElm.selectedIndex=puck;}} return true;}};tinyMCE.addPlugin("twikibuttons",TWikiButtonsPlugin); \ No newline at end of file Modified: twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/twiki_tiny.js =================================================================== --- twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/twiki_tiny.js 2007-12-17 21:34:49 UTC (rev 16018) +++ twiki/branches/MAIN/twikiplugins/TinyMCEPlugin/pub/TWiki/TinyMCEPlugin/twiki_tiny.js 2007-12-17 21:37:26 UTC (rev 16019) @@ -1,15 +1,17 @@ var TWikiTiny={twikiVars:null,request:null,metaTags:null,tml2html:new Array(),html2tml:new Array(),getTWikiVar:function(name){if(TWikiTiny.twikiVars==null){var sets=tinyMCE.getParam("twiki_vars","");TWikiTiny.twikiVars=eval(sets);} return TWikiTiny.twikiVars[name];},expandVariables:function(url){for(var i in TWikiTiny.twikiVars){url=url.replace('%'+i+'%',TWikiTiny.twikiVars[i],'g');} -return url;},transform:function(editor,handler,text,onReadyToSend,onReply){var url=TWikiTiny.getTWikiVar("SCRIPTURL");var suffix=TWikiTiny.getTWikiVar("SCRIPTSUFFIX");if(suffix==null)suffix='';url+="/rest"+suffix+"/WysiwygPlugin/"+handler;var path=TWikiTiny.getTWikiVar("WEB")+'.' +return url;},enableSave:function(enabled){var status=enabled?null:"disabled";var elm=document.getElementById("save");if(elm) +elm.disabled=status;elm=document.getElementById("preview");if(elm) +elm.disabled=status;},transform:function(editor,handler,text,onReadyToSend,onReply){var url=TWikiTiny.getTWikiVar("SCRIPTURL");var suffix=TWikiTiny.getTWikiVar("SCRIPTSUFFIX");if(suffix==null)suffix='';url+="/rest"+suffix+"/WysiwygPlugin/"+handler;var path=TWikiTiny.getTWikiVar("WEB")+'.' +TWikiTiny.getTWikiVar("TOPIC");TWikiTiny.request=new Object();if(tinyMCE.isIE){TWikiTiny.request.req=new ActiveXObject("Microsoft.XMLHTTP");}else{TWikiTiny.request.req=new XMLHttpRequest();} TWikiTiny.request.editor=editor;TWikiTiny.request.req.open("POST",url,true);TWikiTiny.request.req.setRequestHeader("Content-type","application/x-www-form-urlencoded");var params="nocache="+encodeURIComponent((new Date()).getTime()) +"&topic="+encodeURIComponent(path) -+"&text="+encodeURIComponent(escape(text));TWikiTiny.request.req.setRequestHeader("Content-length",params.length);TWikiTiny.request.req.setRequestHeader("Connection","close");TWikiTiny.request.req.onreadystatechange=function(){if(TWikiTiny.request.req.readyState==4){if(TWikiTiny.request.req.status==200){onReply();}else{onFail();}}};onReadyToSend();TWikiTiny.request.req.send(params);},setUpContent:function(editor_id,body,doc){var editor=tinyMCE.getInstanceById(editor_id);TWikiTiny.switchToWYSIWYG(editor);},switchToRaw:function(inst){var text=inst.getBody().innerHTML;for(var i=0;i<TWikiTiny.html2tml.length;i++){var cb=TWikiTiny.html2tml[i];text=cb.apply(inst,[inst,text]);} -TWikiTiny.transform(inst,"html2tml",text,function(){var te=TWikiTiny.request.editor.oldTargetElement;te.value="Please wait... retrieving page from server";},function(){var te=TWikiTiny.request.editor.oldTargetElement;var text=TWikiTiny.request.req.responseText;te.value=text;},function(){var te=TWikiTiny.request.editor.oldTargetElement;te.value="There was a problem retrieving the page: " ++"&text="+encodeURIComponent(escape(text));TWikiTiny.request.req.setRequestHeader("Content-length",params.length);TWikiTiny.request.req.setRequestHeader("Connection","close");TWikiTiny.request.req.onreadystatechange=function(){if(TWikiTiny.request.req.readyState==4){if(TWikiTiny.request.req.status==200){onReply();}else{onFail();}}};onReadyToSend();TWikiTiny.request.req.send(params);},initialisedFromServer:false,setUpContent:function(editor_id,body,doc){if(TWikiTiny.initialisedFromServer)return;var editor=tinyMCE.getInstanceById(editor_id);TWikiTiny.switchToWYSIWYG(editor);TWikiTiny.initialisedFromServer=true;},switchToRaw:function(inst){var text=inst.getBody().innerHTML;for(var i=0;i<TWikiTiny.html2tml.length;i++){var cb=TWikiTiny.html2tml[i];text=cb.apply(inst,[inst,text]);} +TWikiTiny.transform(inst,"html2tml",text,function(){TWikiTiny.enableSave(false);var te=TWikiTiny.request.editor.oldTargetElement;te.value="Please wait... retrieving page from server";},function(){var te=TWikiTiny.request.editor.oldTargetElement;var text=TWikiTiny.request.req.responseText;te.value=text;TWikiTiny.enableSave(true);},function(){var te=TWikiTiny.request.editor.oldTargetElement;te.value="There was a problem retrieving the page: " +TWikiTiny.request.req.statusText;});var eid=inst.editorId;var id=eid+"_2WYSIWYG";var el=document.getElementById(id);if(el){el.style.display="block";}else{el=document.createElement('INPUT');el.id=id;el.type="button";el.value="WYSIWYG";el.className="twikiButton";el.onclick=function(){tinyMCE.execCommand("mceToggleEditor",null,inst.editorId);return false;} var pel=inst.oldTargetElement.parentNode;pel.insertBefore(el,inst.oldTargetElement);} -inst.oldTargetElement.onchange=function(){var inst=tinyMCE.getInstanceById(eid);inst.isNotDirty=false;return true;}},switchToWYSIWYG:function(editor){editor.oldTargetElement.onchange=null;TWikiTiny.transform(editor,"tml2html",editor.oldTargetElement.value,function(){var editor=TWikiTiny.request.editor;tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),"<span class='twikiAlert'>Please wait... retrieving page from server</span>");},function(){var text=TWikiTiny.request.req.responseText;for(var i=0;i<TWikiTiny.tml2html.length;i++){var cb=TWikiTiny.tml2html[i];text=cb.apply(editor,[editor,text]);} -tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),text);TWikiTiny.request.editor.isNotDirty=true;},function(){tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),"<div class='twikiAlert'>" +inst.oldTargetElement.onchange=function(){var inst=tinyMCE.getInstanceById(eid);inst.isNotDirty=false;return true;}},switchToWYSIWYG:function(editor){editor.oldTargetElement.onchange=null;TWikiTiny.transform(editor,"tml2html",editor.oldTargetElement.value,function(){TWikiTiny.enableSave(false);var editor=TWikiTiny.request.editor;tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),"<span class='twikiAlert'>Please wait... retrieving page from server.</span>");},function(){var text=TWikiTiny.request.req.responseText;for(var i=0;i<TWikiTiny.tml2html.length;i++){var cb=TWikiTiny.tml2html[i];text=cb.apply(editor,[editor,text]);} +tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),text);TWikiTiny.request.editor.isNotDirty=true;TWikiTiny.enableSave(true);},function(){tinyMCE.setInnerHTML(TWikiTiny.request.editor.getBody(),"<div class='twikiAlert'>" +"There was a problem retrieving the page: " +TWikiTiny.request.req.statusText+"</div>");});var id=editor.editorId+"_2WYSIWYG";var el=document.getElementById(id);if(el){el.style.display="none";}},saveCallback:function(editor_id,html,body){var editor=tinyMCE.getInstanceById(editor_id);for(var i=0;i<TWikiTiny.html2tml.length;i++){var cb=TWikiTiny.html2tml[i];html=cb.apply(editor,[editor,html]);} var secret_id=tinyMCE.getParam('twiki_secret_id');if(secret_id!=null&&html.indexOf('<!--'+secret_id+'-->')==-1){html='<!--'+secret_id+'-->'+html;} |