2 * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
\r
4 * @author Moxiecode - based on work by Andrew Tetlaw
\r
5 * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
\r
10 tinyMCE.setWindowArg('mce_windowresize', false);
\r
14 tinyMCEPopup.resizeToInnerSize();
\r
15 var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
\r
16 var elm = inst.getFocusElement();
\r
18 var f = document.forms[0];
\r
20 var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
\r
22 setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
\r
23 setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
\r
24 setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
\r
25 setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
\r
26 setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
\r
27 setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
\r
28 setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
\r
29 setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
\r
30 setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
\r
31 setFormValue('onclick', onclick);
\r
32 setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
\r
33 setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
\r
34 setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
\r
35 setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
\r
36 setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
\r
37 setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
\r
38 setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
\r
39 setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
\r
40 setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
\r
42 className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
\r
44 addClassesToList('classlist', 'advlink_styles');
\r
45 selectByValue(f, 'classlist', className, true);
\r
47 TinyMCE_EditableSelects.init();
\r
50 function setFormValue(name, value) {
\r
51 if(value && document.forms[0].elements[name]){
\r
52 document.forms[0].elements[name].value = value;
\r
56 function insertAction() {
\r
57 var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
\r
58 var elm = inst.getFocusElement();
\r
60 tinyMCEPopup.execCommand("mceBeginUndoLevel");
\r
61 tinyMCEPopup.restoreSelection();
\r
65 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
\r
66 tinyMCE._setEventsEnabled(inst.getBody(), false);
\r
67 tinyMCEPopup.execCommand("mceEndUndoLevel");
\r
68 tinyMCEPopup.close();
\r
71 function setAttrib(elm, attrib, value) {
\r
72 var formObj = document.forms[0];
\r
73 var valueElm = formObj.elements[attrib.toLowerCase()];
\r
75 if (typeof(value) == "undefined" || value == null) {
\r
79 value = valueElm.value;
\r
83 tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
\r
85 if (attrib == "style")
\r
86 attrib = "style.cssText";
\r
88 if (attrib.substring(0, 2) == 'on')
\r
89 value = 'return true;' + value;
\r
91 if (attrib == "class")
\r
92 attrib = "className";
\r
94 eval('elm.' + attrib + "=value;");
\r
96 elm.removeAttribute(attrib);
\r
99 function setAllAttribs(elm) {
\r
100 var f = document.forms[0];
\r
102 setAttrib(elm, 'title');
\r
103 setAttrib(elm, 'id');
\r
104 setAttrib(elm, 'style');
\r
105 setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
\r
106 setAttrib(elm, 'dir');
\r
107 setAttrib(elm, 'lang');
\r
108 setAttrib(elm, 'tabindex');
\r
109 setAttrib(elm, 'accesskey');
\r
110 setAttrib(elm, 'onfocus');
\r
111 setAttrib(elm, 'onblur');
\r
112 setAttrib(elm, 'onclick');
\r
113 setAttrib(elm, 'ondblclick');
\r
114 setAttrib(elm, 'onmousedown');
\r
115 setAttrib(elm, 'onmouseup');
\r
116 setAttrib(elm, 'onmouseover');
\r
117 setAttrib(elm, 'onmousemove');
\r
118 setAttrib(elm, 'onmouseout');
\r
119 setAttrib(elm, 'onkeypress');
\r
120 setAttrib(elm, 'onkeydown');
\r
121 setAttrib(elm, 'onkeyup');
\r
123 // Refresh in old MSIE
\r
124 if (tinyMCE.isMSIE5)
\r
125 elm.outerHTML = elm.outerHTML;
\r
128 function insertAttribute() {
\r
129 tinyMCEPopup.close();
\r