source: branches/rsr.v5.1/web/app/plugins/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js @ 1

Last change on this file since 1 was 1, checked in by dj3c1t, 12 years ago

import initial

File size: 3.7 KB
Line 
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-2006, Moxiecode Systems AB, All rights reserved.
6 */
7
8function init() {
9        tinyMCEPopup.resizeToInnerSize();
10        var inst = tinyMCEPopup.editor;
11        var dom = inst.dom;
12        var elm = inst.selection.getNode();
13        var f = document.forms[0];
14        var onclick = dom.getAttrib(elm, 'onclick');
15
16        setFormValue('title', dom.getAttrib(elm, 'title'));
17        setFormValue('id', dom.getAttrib(elm, 'id'));
18        setFormValue('style', dom.getAttrib(elm, "style"));
19        setFormValue('dir', dom.getAttrib(elm, 'dir'));
20        setFormValue('lang', dom.getAttrib(elm, 'lang'));
21        setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
22        setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
23        setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));
24        setFormValue('onblur', dom.getAttrib(elm, 'onblur'));
25        setFormValue('onclick', onclick);
26        setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));
27        setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));
28        setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));
29        setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));
30        setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));
31        setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));
32        setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));
33        setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));
34        setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));
35        className = dom.getAttrib(elm, 'class');
36
37        addClassesToList('classlist', 'advlink_styles');
38        selectByValue(f, 'classlist', className, true);
39
40        TinyMCE_EditableSelects.init();
41}
42
43function setFormValue(name, value) {
44        if(value && document.forms[0].elements[name]){
45                document.forms[0].elements[name].value = value;
46        }
47}
48
49function insertAction() {
50        var inst = tinyMCEPopup.editor;
51        var elm = inst.selection.getNode();
52
53        tinyMCEPopup.execCommand("mceBeginUndoLevel"); 
54        setAllAttribs(elm);
55        tinyMCEPopup.execCommand("mceEndUndoLevel");
56        tinyMCEPopup.close();
57}
58
59function setAttrib(elm, attrib, value) {
60        var formObj = document.forms[0];
61        var valueElm = formObj.elements[attrib.toLowerCase()];
62        var inst = tinyMCEPopup.editor;
63        var dom = inst.dom;
64
65        if (typeof(value) == "undefined" || value == null) {
66                value = "";
67
68                if (valueElm)
69                        value = valueElm.value;
70        }
71
72        if (value != "") {
73                dom.setAttrib(elm, attrib.toLowerCase(), value);
74
75                if (attrib == "style")
76                        attrib = "style.cssText";
77
78                if (attrib.substring(0, 2) == 'on')
79                        value = 'return true;' + value;
80
81                if (attrib == "class")
82                        attrib = "className";
83
84                eval('elm.' + attrib + "=value;");
85        } else
86                elm.removeAttribute(attrib);
87}
88
89function setAllAttribs(elm) {
90        var f = document.forms[0];
91
92        setAttrib(elm, 'title');
93        setAttrib(elm, 'id');
94        setAttrib(elm, 'style');
95        setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
96        setAttrib(elm, 'dir');
97        setAttrib(elm, 'lang');
98        setAttrib(elm, 'tabindex');
99        setAttrib(elm, 'accesskey');
100        setAttrib(elm, 'onfocus');
101        setAttrib(elm, 'onblur');
102        setAttrib(elm, 'onclick');
103        setAttrib(elm, 'ondblclick');
104        setAttrib(elm, 'onmousedown');
105        setAttrib(elm, 'onmouseup');
106        setAttrib(elm, 'onmouseover');
107        setAttrib(elm, 'onmousemove');
108        setAttrib(elm, 'onmouseout');
109        setAttrib(elm, 'onkeypress');
110        setAttrib(elm, 'onkeydown');
111        setAttrib(elm, 'onkeyup');
112
113        // Refresh in old MSIE
114//      if (tinyMCE.isMSIE5)
115//              elm.outerHTML = elm.outerHTML;
116}
117
118function insertAttribute() {
119        tinyMCEPopup.close();
120}
121
122tinyMCEPopup.onInit.add(init);
123tinyMCEPopup.requireLangPack();
Note: See TracBrowser for help on using the repository browser.