Blame view

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