~kosova/+junk/tuxfamily-twiki

« back to all changes in this revision

Viewing changes to foswiki/pub/System/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/foswikibuttons/editor_plugin.js

  • Committer: James Michael DuPont
  • Date: 2009-07-18 19:58:49 UTC
  • Revision ID: jamesmikedupont@gmail.com-20090718195849-vgbmaht2ys791uo2
added foswiki

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
tinyMCE.importPluginLanguagePack('foswikibuttons');var FoswikiButtonsPlugin={getInfo:function(){return{longname:'Foswiki 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_foswikibuttons_tt_desc','{$pluginurl}/images/tt.gif','foswikiTT',true);case"colour":return tinyMCE.getButtonHTML(cn,'lang_foswikibuttons_colour_desc','{$pluginurl}/images/colour.gif','foswikiCOLOUR',true);case"attach":return tinyMCE.getButtonHTML(cn,'lang_foswikibuttons_attach_desc','{$pluginurl}/images/attach.gif','foswikiATTACH',true);case"hide":return tinyMCE.getButtonHTML(cn,'lang_foswikibuttons_hide_desc','{$pluginurl}/images/hide.gif','foswikiHIDE',true);case"foswikiformat":html='<select id="{$editor_id}_foswikiFormatSelect" name="{$editor_id}_foswikiFormatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'foswikiFORMAT\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';formats=tinyMCE.getParam("foswikibuttons_formats");for(var i=0;i<formats.length;i++){html+='<option value="'+formats[i].name+'">'
 
2
+formats[i].name+'</option>';}
 
3
html+='</select>';return html;}
 
4
return"";},execCommand:function(editor_id,element,command,user_interface,value){var em;var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"foswikiCOLOUR":var t=inst.selection.getSelectedText();if(!(t&&t.length>0||pe))
 
5
return true;template=new Array();template['file']='../../plugins/foswikibuttons/colours.htm';template['width']=240;template['height']=140;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"foswikiTT":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))
 
6
return true;var s=inst.selection.getSelectedHTML();if(s.length>0){tinyMCE.execCommand('mceBeginUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceSetCSSClass',user_interface,"WYSIWYG_TT");tinyMCE.execCommand('mceEndUndoLevel');}
 
7
return true;case"foswikiHIDE":tinyMCE.execCommand("mceToggleEditor",user_interface,editor_id);return true;case"foswikiATTACH":template=new Array();template['file']='../../plugins/foswikibuttons/attach.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"foswikiFORMAT":var formats=tinyMCE.getParam("foswikibuttons_formats");var format=null;for(var i=0;i<formats.length;i++){if(formats[i].name==value){format=formats[i];break;}}
 
8
if(format!=null){tinyMCE.execCommand('mceBeginUndoLevel');if(format.el!=null){var fmt=format.el;if(fmt.length)
 
9
fmt='<'+fmt+'>';tinyMCE.execInstanceCommand(editor_id,'FormatBlock',user_interface,fmt);if(format.el==''){elm=inst.getFocusElement();tinyMCE.execCommand('removeformat',user_interface,elm);}}
 
10
if(format.style!=null){tinyMCE.execInstanceCommand(editor_id,'mceSetCSSClass',user_interface,format.style);}
 
11
tinyMCE.triggerNodeChange();}
 
12
tinyMCE.execCommand('mceEndUndoLevel');return true;}
 
13
return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null)
 
14
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');}
 
15
switch(node.nodeName){case"TT":tinyMCE.switchClass(editor_id+'_tt','mceButtonSelected');return true;}
 
16
var selectElm=document.getElementById(editor_id+"_foswikiFormatSelect");if(selectElm){var formats=tinyMCE.getParam("foswikibuttons_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)
 
17
break;}}}}while(puck<0&&(node=node.parentNode)!=null);if(puck>=0){selectElm.selectedIndex=puck;}}
 
18
return true;}};tinyMCE.addPlugin("foswikibuttons",FoswikiButtonsPlugin);
 
 
b'\\ No newline at end of file'