| | |
| | | /**
|
| | | * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
|
| | | /**
|
| | | * element_common.js
|
| | | *
|
| | | * @author Moxiecode - based on work by Andrew Tetlaw
|
| | | * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
|
| | | * Copyright 2009, Moxiecode Systems AB
|
| | | * Released under LGPL License.
|
| | | *
|
| | | * License: http://tinymce.moxiecode.com/license
|
| | | * Contributing: http://tinymce.moxiecode.com/contributing
|
| | | */
|
| | |
|
| | | tinyMCEPopup.requireLangPack();
|
| | |
| | |
|
| | | element_name = element_name.toLowerCase();
|
| | | var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());
|
| | | if (elm != null && elm.nodeName == element_name.toUpperCase()) {
|
| | | if (elm != null && elm.nodeName.toUpperCase() == element_name.toUpperCase()) {
|
| | | SXE.currentAction = "update";
|
| | | }
|
| | |
|
| | |
| | | SXE.insertElement = function(element_name) {
|
| | | var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()), h, tagName;
|
| | |
|
| | | tinyMCEPopup.execCommand('mceBeginUndoLevel');
|
| | | if (elm == null) {
|
| | | var s = SXE.inst.selection.getContent();
|
| | | if(s.length > 0) {
|
| | | tagName = element_name;
|
| | |
|
| | | if (tinymce.isIE && element_name.indexOf('html:') == 0)
|
| | | element_name = element_name.substring(5).toLowerCase();
|
| | |
|
| | | h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
|
| | |
|
| | | tinyMCEPopup.execCommand('mceInsertContent', false, h);
|
| | |
|
| | | var elementArray = tinymce.grep(SXE.inst.dom.select(element_name), function(n) {return n.id == '#sxe_temp_' + element_name + '#';});
|
| | | insertInlineElement(element_name);
|
| | | var elementArray = tinymce.grep(SXE.inst.dom.select(element_name));
|
| | | for (var i=0; i<elementArray.length; i++) {
|
| | | var elm = elementArray[i];
|
| | |
|
| | | elm.id = '';
|
| | | elm.setAttribute('id', '');
|
| | | elm.removeAttribute('id');
|
| | | if (SXE.inst.dom.getAttrib(elm, 'data-mce-new')) {
|
| | | elm.id = '';
|
| | | elm.setAttribute('id', '');
|
| | | elm.removeAttribute('id');
|
| | | elm.removeAttribute('data-mce-new');
|
| | |
|
| | | setAllCommonAttribs(elm);
|
| | | setAllCommonAttribs(elm);
|
| | | }
|
| | | }
|
| | | }
|
| | | } else {
|
| | |
| | | SXE.removeElement = function(element_name){
|
| | | element_name = element_name.toLowerCase();
|
| | | elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());
|
| | | if(elm && elm.nodeName == element_name.toUpperCase()){
|
| | | tinyMCEPopup.execCommand('mceBeginUndoLevel');
|
| | | if(elm && elm.nodeName.toUpperCase() == element_name.toUpperCase()){
|
| | | tinyMCE.execCommand('mceRemoveNode', false, elm);
|
| | | SXE.inst.nodeChanged();
|
| | | tinyMCEPopup.execCommand('mceEndUndoLevel');
|
| | |
| | | }
|
| | |
|
| | | SXE.showRemoveButton = function() {
|
| | | document.getElementById("remove").style.display = 'block';
|
| | | document.getElementById("remove").style.display = '';
|
| | | }
|
| | |
|
| | | SXE.containsClass = function(elm,cl) {
|
| | |
| | | SXE.addClass = function(elm,cl) {
|
| | | if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
|
| | | return true;
|
| | | } |
| | | }
|
| | |
|
| | | function insertInlineElement(en) {
|
| | | var ed = tinyMCEPopup.editor, dom = ed.dom;
|
| | |
|
| | | ed.getDoc().execCommand('FontName', false, 'mceinline');
|
| | | tinymce.each(dom.select('span,font'), function(n) {
|
| | | if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')
|
| | | dom.replace(dom.create(en, {'data-mce-new' : 1}), n, 1);
|
| | | });
|
| | | }
|