Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / plugins / xhtmlxtras / js / element_common.js
index 5cdeb21a46938e68d3c39bddc674ad8991888cbc..4e5d9c3bbd81e61a49d2b0927a4eec38e0a56c7f 100644 (file)
@@ -1,8 +1,11 @@
- /**\r
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $\r
+/**\r
+ * element_common.js\r
  *\r
- * @author Moxiecode - based on work by Andrew Tetlaw\r
- * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\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
 tinyMCEPopup.requireLangPack();\r
@@ -151,25 +154,21 @@ SXE.initElementDialog = function(element_name) {
 SXE.insertElement = function(element_name) {\r
        var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()), h, tagName;\r
 \r
-       tinyMCEPopup.execCommand('mceBeginUndoLevel');\r
        if (elm == null) {\r
                var s = SXE.inst.selection.getContent();\r
                if(s.length > 0) {\r
                        tagName = element_name;\r
 \r
-                       if (tinymce.isIE && element_name.indexOf('html:') == 0)\r
-                               element_name = element_name.substring(5).toLowerCase();\r
-\r
                        insertInlineElement(element_name);\r
                        var elementArray = tinymce.grep(SXE.inst.dom.select(element_name));\r
                        for (var i=0; i<elementArray.length; i++) {\r
                                var elm = elementArray[i];\r
 \r
-                               if (SXE.inst.dom.getAttrib(elm, '_mce_new')) {\r
+                               if (SXE.inst.dom.getAttrib(elm, 'data-mce-new')) {\r
                                        elm.id = '';\r
                                        elm.setAttribute('id', '');\r
                                        elm.removeAttribute('id');\r
-                                       elm.removeAttribute('_mce_new');\r
+                                       elm.removeAttribute('data-mce-new');\r
 \r
                                        setAllCommonAttribs(elm);\r
                                }\r
@@ -186,7 +185,6 @@ SXE.removeElement = function(element_name){
        element_name = element_name.toLowerCase();\r
        elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());\r
        if(elm && elm.nodeName.toUpperCase() == element_name.toUpperCase()){\r
-               tinyMCEPopup.execCommand('mceBeginUndoLevel');\r
                tinyMCE.execCommand('mceRemoveNode', false, elm);\r
                SXE.inst.nodeChanged();\r
                tinyMCEPopup.execCommand('mceEndUndoLevel');\r
@@ -194,7 +192,7 @@ SXE.removeElement = function(element_name){
 }\r
 \r
 SXE.showRemoveButton = function() {\r
-               document.getElementById("remove").style.display = 'block';\r
+               document.getElementById("remove").style.display = '';\r
 }\r
 \r
 SXE.containsClass = function(elm,cl) {\r
@@ -224,8 +222,8 @@ function insertInlineElement(en) {
        var ed = tinyMCEPopup.editor, dom = ed.dom;\r
 \r
        ed.getDoc().execCommand('FontName', false, 'mceinline');\r
-       tinymce.each(dom.select(tinymce.isWebKit ? 'span' : 'font'), function(n) {\r
+       tinymce.each(dom.select('span,font'), function(n) {\r
                if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')\r
-                       dom.replace(dom.create(en, {_mce_new : 1}), n, 1);\r
+                       dom.replace(dom.create(en, {'data-mce-new' : 1}), n, 1);\r
        });\r
 }\r