+++ /dev/null
-/**\r
- * editor_plugin_src.js\r
- *\r
- * Copyright 2009, Moxiecode Systems AB\r
- * Released under LGPL License.\r
- *\r
- * License: http://tinymce.moxiecode.com/license\r
- * Contributing: http://tinymce.moxiecode.com/contributing\r
- */\r
-\r
-(function() {\r
- var Event = tinymce.dom.Event;\r
-\r
- tinymce.create('tinymce.plugins.NonEditablePlugin', {\r
- init : function(ed, url) {\r
- var t = this, editClass, nonEditClass;\r
-\r
- t.editor = ed;\r
- editClass = ed.getParam("noneditable_editable_class", "mceEditable");\r
- nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable");\r
-\r
- ed.onNodeChange.addToTop(function(ed, cm, n) {\r
- var sc, ec;\r
-\r
- // Block if start or end is inside a non editable element\r
- sc = ed.dom.getParent(ed.selection.getStart(), function(n) {\r
- return ed.dom.hasClass(n, nonEditClass);\r
- });\r
-\r
- ec = ed.dom.getParent(ed.selection.getEnd(), function(n) {\r
- return ed.dom.hasClass(n, nonEditClass);\r
- });\r
-\r
- // Block or unblock\r
- if (sc || ec) {\r
- t._setDisabled(1);\r
- return false;\r
- } else\r
- t._setDisabled(0);\r
- });\r
- },\r
-\r
- getInfo : function() {\r
- return {\r
- longname : 'Non editable elements',\r
- author : 'Moxiecode Systems AB',\r
- authorurl : 'http://tinymce.moxiecode.com',\r
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',\r
- version : tinymce.majorVersion + "." + tinymce.minorVersion\r
- };\r
- },\r
-\r
- _block : function(ed, e) {\r
- var k = e.keyCode;\r
-\r
- // Don't block arrow keys, pg up/down, and F1-F12\r
- if ((k > 32 && k < 41) || (k > 111 && k < 124))\r
- return;\r
-\r
- return Event.cancel(e);\r
- },\r
-\r
- _setDisabled : function(s) {\r
- var t = this, ed = t.editor;\r
-\r
- tinymce.each(ed.controlManager.controls, function(c) {\r
- c.setDisabled(s);\r
- });\r
-\r
- if (s !== t.disabled) {\r
- if (s) {\r
- ed.onKeyDown.addToTop(t._block);\r
- ed.onKeyPress.addToTop(t._block);\r
- ed.onKeyUp.addToTop(t._block);\r
- ed.onPaste.addToTop(t._block);\r
- } else {\r
- ed.onKeyDown.remove(t._block);\r
- ed.onKeyPress.remove(t._block);\r
- ed.onKeyUp.remove(t._block);\r
- ed.onPaste.remove(t._block);\r
- }\r
-\r
- t.disabled = s;\r
- }\r
- }\r
- });\r
-\r
- // Register plugin\r
- tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin);\r
-})();
\ No newline at end of file