/webroot/js/tinymce/plugins/xhtmlxtras/js/ins.js
[return to app]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);
60