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