Line # Revision Author
1 3 ahitrov@rambler.ru /**
2 * ins.js
3 *
4 * Copyright 2009, Moxiecode Systems AB
5 * Released under LGPL License.
6 *
7 * License: http://tinymce.moxiecode.com/license
8 * Contributing: http://tinymce.moxiecode.com/contributing
9 */
10
11 function init() {
12 SXE.initElementDialog('ins');
13 if (SXE.currentAction == "update") {
14 setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));
15 setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));
16 SXE.showRemoveButton();
17 }
18 }
19
20 function setElementAttribs(elm) {
21 setAllCommonAttribs(elm);
22 setAttrib(elm, 'datetime');
23 setAttrib(elm, 'cite');
24 }
25
26 function insertIns() {
27 var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS');
28 tinyMCEPopup.execCommand('mceBeginUndoLevel');
29 if (elm == null) {
30 var s = SXE.inst.selection.getContent();
31 if(s.length > 0) {
32 insertInlineElement('INS');
33 var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';});
34 for (var i=0; i<elementArray.length; i++) {
35 var elm = elementArray[i];
36 setElementAttribs(elm);
37 }
38 }
39 } else {
40 setElementAttribs(elm);
41 }
42 tinyMCEPopup.editor.nodeChanged();
43 tinyMCEPopup.execCommand('mceEndUndoLevel');
44 tinyMCEPopup.close();
45 }
46
47 function removeIns() {
48 SXE.removeElement('ins');
49 tinyMCEPopup.close();
50 }
51
52 function insertInlineElement(en) {
53 var ed = tinyMCEPopup.editor, dom = ed.dom;
54
55 ed.getDoc().execCommand('FontName', false, 'mceinline');
56 tinymce.each(dom.select(tinymce.isWebKit ? 'span' : 'font'), function(n) {
57 if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')
58 dom.replace(dom.create(en), n, 1);
59 });
60 }
61
62 tinyMCEPopup.onInit.add(init);