upgrading tinymce to 2.0.5.1

This commit is contained in:
JT Smith 2006-04-15 20:03:31 +00:00
parent cb2a8d025e
commit 00d46f6148
342 changed files with 13043 additions and 11487 deletions

View file

@ -1,6 +1,6 @@
/* This is the CSS file for the noneditable elements plugin */
.mceItemEditable {
.mceEditable {
/*border: 1px dotted #0000cc;*/
-moz-user-focus: none;
-moz-user-input: auto;
@ -8,7 +8,7 @@
-moz-user-select: text;
}
.mceItemNonEditable {
.mceNonEditable {
/*border: 1px dotted #cc0000;*/
-moz-user-focus: ignore;
/*-moz-user-input: disabled;*/

View file

@ -1 +1 @@
function TinyMCE_noneditable_getInfo(){return{longname:'Non editable elements',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_noneditable_initInstance(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable');if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"keyup",TinyMCE_noneditable_fixKeyUp);}}function TinyMCE_noneditable_fixKeyUp(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var rng=inst.getRng();var an=sel.anchorNode;if((e.keyCode==38||e.keyCode==37||e.keyCode==40||e.keyCode==39)&&(elm=TinyMCE_noneditable_isNonEditable(an))!=null){rng=inst.getDoc().createRange();rng.selectNode(elm);rng.collapse(true);sel.removeAllRanges();sel.addRange(rng);tinyMCE.cancelEvent(e);}}function TinyMCE_noneditable_selectAll(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var doc=inst.getDoc();if((elm=TinyMCE_noneditable_isNonEditable(sel.focusNode))!=null){inst.selectNode(elm,false);tinyMCE.cancelEvent(e);return;}if((elm=TinyMCE_noneditable_isNonEditable(sel.anchorNode))!=null){inst.selectNode(elm,false);tinyMCE.cancelEvent(e);return;}}function TinyMCE_noneditable_isNonEditable(elm){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");if(!elm)return;do{var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)return null;if(className.indexOf(nonEditClass)!=-1)return elm;}while(elm=elm.parentNode);return null;}function TinyMCE_noneditable_cleanup(type,content,inst){switch(type){case "insert_to_editor_dom":var nodes=tinyMCE.getNodeTree(content,new Array(),1);var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");for(var i=0;i<nodes.length;i++){var elm=nodes[i];var editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_noneditable_setEditable(elm,editable=="true");if(tinyMCE.isMSIE){var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)elm.contentEditable=true;if(className.indexOf(nonEditClass)!=-1)elm.contentEditable=false;}}break;case "insert_to_editor":if(tinyMCE.isMSIE){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");content=content.replace(new RegExp("<(.*?)class=\"(.*?)("+editClass+")(.*?)\"(.*?)>","gi"),'<$1class="$2$3$4" contenteditable="true"$5>');content=content.replace(new RegExp("<(.*?)class=\"(.*?)("+nonEditClass+")(.*?)\"(.*?)>","gi"),'<$1class="$2$3$4" contenteditable="false"$5>');}break;case "get_from_editor_dom":if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable");}break;}return content;}function TinyMCE_noneditable_setEditable(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className;}
var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable');if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"keyup",TinyMCE_NonEditablePlugin._fixKeyUp);}},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes=tinyMCE.getNodeTree(content,new Array(),1);var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(var i=0;i<nodes.length;i++){var elm=nodes[i];var editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isMSIE){var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)elm.contentEditable=true;if(className.indexOf(nonEditClass)!=-1)elm.contentEditable=false;}}break;case"insert_to_editor":if(tinyMCE.isMSIE){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(new RegExp("class=\"(.*)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.*)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"');}break;case"get_from_editor_dom":if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable");}break;}return content;},_fixKeyUp:function(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var rng=inst.getRng();var an=sel.anchorNode;if((e.keyCode==38||e.keyCode==37||e.keyCode==40||e.keyCode==39)&&(elm=TinyMCE_NonEditablePlugin._isNonEditable(an))!=null){rng=inst.getDoc().createRange();rng.selectNode(elm);rng.collapse(true);sel.removeAllRanges();sel.addRange(rng);tinyMCE.cancelEvent(e);}},_isNonEditable:function(elm){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");if(!elm)return;do{var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)return null;if(className.indexOf(nonEditClass)!=-1)return elm;}while(elm=elm.parentNode);return null;},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className;}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);

View file

@ -1,149 +1,164 @@
function TinyMCE_noneditable_getInfo() {
return {
longname : 'Non editable elements',
author : 'Moxiecode Systems',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
};
/**
* $RCSfile: editor_plugin_src.js,v $
* $Revision: 1.7 $
* $Date: 2006/02/06 20:02:38 $
*
* @author Moxiecode
* @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/
function TinyMCE_noneditable_initInstance(inst) {
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
var TinyMCE_NonEditablePlugin = {
getInfo : function() {
return {
longname : 'Non editable elements',
author : 'Moxiecode Systems',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
// Ugly hack
if (tinyMCE.isMSIE5_0)
tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
initInstance : function(inst) {
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
if (tinyMCE.isGecko) {
tinyMCE.addEvent(inst.getDoc(), "keyup", TinyMCE_noneditable_fixKeyUp);
// tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_noneditable_selectAll);
// tinyMCE.addEvent(inst.getDoc(), "mouseup", TinyMCE_noneditable_selectAll);
}
}
// Ugly hack
if (tinyMCE.isMSIE5_0)
tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
function TinyMCE_noneditable_fixKeyUp(e) {
var inst = tinyMCE.selectedInstance;
var sel = inst.getSel();
var rng = inst.getRng();
var an = sel.anchorNode;
if (tinyMCE.isGecko) {
tinyMCE.addEvent(inst.getDoc(), "keyup", TinyMCE_NonEditablePlugin._fixKeyUp);
// tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_NonEditablePlugin._selectAll);
// tinyMCE.addEvent(inst.getDoc(), "mouseup", TinyMCE_NonEditablePlugin._selectAll);
}
},
// Move cursor outside non editable fields
if ((e.keyCode == 38 || e.keyCode == 37 || e.keyCode == 40 || e.keyCode == 39) && (elm = TinyMCE_noneditable_isNonEditable(an)) != null) {
rng = inst.getDoc().createRange();
rng.selectNode(elm);
rng.collapse(true);
sel.removeAllRanges();
sel.addRange(rng);
tinyMCE.cancelEvent(e);
}
}
cleanup : function(type, content, inst) {
switch (type) {
case "insert_to_editor_dom":
var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
function TinyMCE_noneditable_selectAll(e) {
var inst = tinyMCE.selectedInstance;
var sel = inst.getSel();
var doc = inst.getDoc();
for (var i=0; i<nodes.length; i++) {
var elm = nodes[i];
if ((elm = TinyMCE_noneditable_isNonEditable(sel.focusNode)) != null) {
inst.selectNode(elm, false);
tinyMCE.cancelEvent(e);
return;
}
// Convert contenteditable to classes
var editable = tinyMCE.getAttrib(elm, "contenteditable");
if (new RegExp("true|false","gi").test(editable))
TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
if ((elm = TinyMCE_noneditable_isNonEditable(sel.anchorNode)) != null) {
inst.selectNode(elm, false);
tinyMCE.cancelEvent(e);
return;
}
}
if (tinyMCE.isMSIE) {
var className = elm.className ? elm.className : "";
function TinyMCE_noneditable_isNonEditable(elm) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
if (className.indexOf(editClass) != -1)
elm.contentEditable = true;
if (!elm)
return;
if (className.indexOf(nonEditClass) != -1)
elm.contentEditable = false;
}
}
break;
case "insert_to_editor":
if (tinyMCE.isMSIE) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
content = content.replace(new RegExp("class=\"(.*)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
content = content.replace(new RegExp("class=\"(.*)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
}
break;
case "get_from_editor_dom":
if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
for (var i=0; i<nodes.length; i++)
nodes[i].removeAttribute("contenteditable");
}
break;
}
return content;
},
// Private internal plugin methods
_fixKeyUp : function(e) {
var inst = tinyMCE.selectedInstance;
var sel = inst.getSel();
var rng = inst.getRng();
var an = sel.anchorNode;
// Move cursor outside non editable fields
if ((e.keyCode == 38 || e.keyCode == 37 || e.keyCode == 40 || e.keyCode == 39) && (elm = TinyMCE_NonEditablePlugin._isNonEditable(an)) != null) {
rng = inst.getDoc().createRange();
rng.selectNode(elm);
rng.collapse(true);
sel.removeAllRanges();
sel.addRange(rng);
tinyMCE.cancelEvent(e);
}
},
/*
_selectAll : function(e) {
var inst = tinyMCE.selectedInstance;
var sel = inst.getSel();
var doc = inst.getDoc();
if ((elm = TinyMCE_NonEditablePlugin._isNonEditable(sel.focusNode)) != null) {
inst.selection.selectNode(elm, false);
tinyMCE.cancelEvent(e);
return;
}
if ((elm = TinyMCE_NonEditablePlugin._isNonEditable(sel.anchorNode)) != null) {
inst.selection.selectNode(elm, false);
tinyMCE.cancelEvent(e);
return;
}
},*/
_isNonEditable : function(elm) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
if (!elm)
return;
do {
var className = elm.className ? elm.className : "";
if (className.indexOf(editClass) != -1)
return null;
if (className.indexOf(nonEditClass) != -1)
return elm;
} while (elm = elm.parentNode);
return null;
},
_setEditable : function(elm, state) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
do {
var className = elm.className ? elm.className : "";
if (className.indexOf(editClass) != -1)
return null;
if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
return;
if (className.indexOf(nonEditClass) != -1)
return elm;
} while (elm = elm.parentNode);
if ((className = tinyMCE.getAttrib(elm, "class")) != "")
className += " ";
return null;
}
className += state ? editClass : nonEditClass;
function TinyMCE_noneditable_cleanup(type, content, inst) {
switch (type) {
case "insert_to_editor_dom":
var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
for (var i=0; i<nodes.length; i++) {
var elm = nodes[i];
// Convert contenteditable to classes
var editable = tinyMCE.getAttrib(elm, "contenteditable");
if (new RegExp("true|false","gi").test(editable))
TinyMCE_noneditable_setEditable(elm, editable == "true");
if (tinyMCE.isMSIE) {
var className = elm.className ? elm.className : "";
if (className.indexOf(editClass) != -1)
elm.contentEditable = true;
if (className.indexOf(nonEditClass) != -1)
elm.contentEditable = false;
}
}
break;
case "insert_to_editor":
if (tinyMCE.isMSIE) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
content = content.replace(new RegExp("<(.*?)class=\"(.*?)(" + editClass + ")(.*?)\"(.*?)>", "gi"), '<$1class="$2$3$4" contenteditable="true"$5>');
content = content.replace(new RegExp("<(.*?)class=\"(.*?)(" + nonEditClass + ")(.*?)\"(.*?)>", "gi"), '<$1class="$2$3$4" contenteditable="false"$5>');
}
break;
case "get_from_editor_dom":
if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
for (var i=0; i<nodes.length; i++)
nodes[i].removeAttribute("contenteditable");
}
break;
elm.setAttribute("class", className);
elm.className = className;
}
};
return content;
}
function TinyMCE_noneditable_setEditable(elm, state) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
var className = elm.className ? elm.className : "";
if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
return;
if ((className = tinyMCE.getAttrib(elm, "class")) != "")
className += " ";
className += state ? editClass : nonEditClass;
elm.setAttribute("class", className);
elm.className = className;
}
tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);