includes/clientside/tinymce/plugins/xhtmlxtras/js/ins.js
changeset 1344 dc96d6c5cd1e
parent 1343 2a31905a567d
child 1345 1de01205143b
equal deleted inserted replaced
1343:2a31905a567d 1344:dc96d6c5cd1e
     1  /**
       
     2  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
       
     3  *
       
     4  * @author Moxiecode - based on work by Andrew Tetlaw
       
     5  * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
       
     6  */
       
     7 
       
     8 function init() {
       
     9 	SXE.initElementDialog('ins');
       
    10 	if (SXE.currentAction == "update") {
       
    11 		setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));
       
    12 		setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));
       
    13 		SXE.showRemoveButton();
       
    14 	}
       
    15 }
       
    16 
       
    17 function setElementAttribs(elm) {
       
    18 	setAllCommonAttribs(elm);
       
    19 	setAttrib(elm, 'datetime');
       
    20 	setAttrib(elm, 'cite');
       
    21 }
       
    22 
       
    23 function insertIns() {
       
    24 	var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS');
       
    25 	tinyMCEPopup.execCommand('mceBeginUndoLevel');
       
    26 	if (elm == null) {
       
    27 		var s = SXE.inst.selection.getContent();
       
    28 		if(s.length > 0) {
       
    29 			insertInlineElement('INS');
       
    30 			var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';});
       
    31 			for (var i=0; i<elementArray.length; i++) {
       
    32 				var elm = elementArray[i];
       
    33 				setElementAttribs(elm);
       
    34 			}
       
    35 		}
       
    36 	} else {
       
    37 		setElementAttribs(elm);
       
    38 	}
       
    39 	tinyMCEPopup.editor.nodeChanged();
       
    40 	tinyMCEPopup.execCommand('mceEndUndoLevel');
       
    41 	tinyMCEPopup.close();
       
    42 }
       
    43 
       
    44 function removeIns() {
       
    45 	SXE.removeElement('ins');
       
    46 	tinyMCEPopup.close();
       
    47 }
       
    48 
       
    49 function insertInlineElement(en) {
       
    50 	var ed = tinyMCEPopup.editor, dom = ed.dom;
       
    51 
       
    52 	ed.getDoc().execCommand('FontName', false, 'mceinline');
       
    53 	tinymce.each(dom.select(tinymce.isWebKit ? 'span' : 'font'), function(n) {
       
    54 		if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')
       
    55 			dom.replace(dom.create(en), n, 1);
       
    56 	});
       
    57 }
       
    58 
       
    59 tinyMCEPopup.onInit.add(init);