Line # Revision Author
1 481 ahitrov /**
2 * attributes.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 tinyMCEPopup.resizeToInnerSize();
13 var inst = tinyMCEPopup.editor;
14 var dom = inst.dom;
15 var elm = inst.selection.getNode();
16 var f = document.forms[0];
17 var onclick = dom.getAttrib(elm, 'onclick');
18
19 setFormValue('title', dom.getAttrib(elm, 'title'));
20 setFormValue('id', dom.getAttrib(elm, 'id'));
21 setFormValue('style', dom.getAttrib(elm, "style"));
22 setFormValue('dir', dom.getAttrib(elm, 'dir'));
23 setFormValue('lang', dom.getAttrib(elm, 'lang'));
24 setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
25 setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
26 setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));
27 setFormValue('onblur', dom.getAttrib(elm, 'onblur'));
28 setFormValue('onclick', onclick);
29 setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));
30 setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));
31 setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));
32 setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));
33 setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));
34 setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));
35 setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));
36 setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));
37 setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));
38 className = dom.getAttrib(elm, 'class');
39
40 addClassesToList('classlist', 'advlink_styles');
41 selectByValue(f, 'classlist', className, true);
42
43 TinyMCE_EditableSelects.init();
44 }
45
46 function setFormValue(name, value) {
47 if(value && document.forms[0].elements[name]){
48 document.forms[0].elements[name].value = value;
49 }
50 }
51
52 function insertAction() {
53 var inst = tinyMCEPopup.editor;
54 var elm = inst.selection.getNode();
55
56 setAllAttribs(elm);
57 tinyMCEPopup.execCommand("mceEndUndoLevel");
58 tinyMCEPopup.close();
59 }
60
61 function setAttrib(elm, attrib, value) {
62 var formObj = document.forms[0];
63 var valueElm = formObj.elements[attrib.toLowerCase()];
64 var inst = tinyMCEPopup.editor;
65 var dom = inst.dom;
66
67 if (typeof(value) == "undefined" || value == null) {
68 value = "";
69
70 if (valueElm)
71 value = valueElm.value;
72 }
73
74 dom.setAttrib(elm, attrib.toLowerCase(), value);
75 }
76
77 function setAllAttribs(elm) {
78 var f = document.forms[0];
79
80 setAttrib(elm, 'title');
81 setAttrib(elm, 'id');
82 setAttrib(elm, 'style');
83 setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
84 setAttrib(elm, 'dir');
85 setAttrib(elm, 'lang');
86 setAttrib(elm, 'tabindex');
87 setAttrib(elm, 'accesskey');
88 setAttrib(elm, 'onfocus');
89 setAttrib(elm, 'onblur');
90 setAttrib(elm, 'onclick');
91 setAttrib(elm, 'ondblclick');
92 setAttrib(elm, 'onmousedown');
93 setAttrib(elm, 'onmouseup');
94 setAttrib(elm, 'onmouseover');
95 setAttrib(elm, 'onmousemove');
96 setAttrib(elm, 'onmouseout');
97 setAttrib(elm, 'onkeypress');
98 setAttrib(elm, 'onkeydown');
99 setAttrib(elm, 'onkeyup');
100
101 // Refresh in old MSIE
102 // if (tinyMCE.isMSIE5)
103 // elm.outerHTML = elm.outerHTML;
104 }
105
106 function insertAttribute() {
107 tinyMCEPopup.close();
108 }
109
110 tinyMCEPopup.onInit.add(init);
111 tinyMCEPopup.requireLangPack();