lolita 3.0.3 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,70 +1,70 @@
1
- /**
2
- * editable_selects.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
- var TinyMCE_EditableSelects = {
12
- editSelectElm : null,
13
-
14
- init : function() {
15
- var nl = document.getElementsByTagName("select"), i, d = document, o;
16
-
17
- for (i=0; i<nl.length; i++) {
18
- if (nl[i].className.indexOf('mceEditableSelect') != -1) {
19
- o = new Option('(value)', '__mce_add_custom__');
20
-
21
- o.className = 'mceAddSelectValue';
22
-
23
- nl[i].options[nl[i].options.length] = o;
24
- nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect;
25
- }
26
- }
27
- },
28
-
29
- onChangeEditableSelect : function(e) {
30
- var d = document, ne, se = window.event ? window.event.srcElement : e.target;
31
-
32
- if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
33
- ne = d.createElement("input");
34
- ne.id = se.id + "_custom";
35
- ne.name = se.name + "_custom";
36
- ne.type = "text";
37
-
38
- ne.style.width = se.offsetWidth + 'px';
39
- se.parentNode.insertBefore(ne, se);
40
- se.style.display = 'none';
41
- ne.focus();
42
- ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
43
- ne.onkeydown = TinyMCE_EditableSelects.onKeyDown;
44
- TinyMCE_EditableSelects.editSelectElm = se;
45
- }
46
- },
47
-
48
- onBlurEditableSelectInput : function() {
49
- var se = TinyMCE_EditableSelects.editSelectElm;
50
-
51
- if (se) {
52
- if (se.previousSibling.value != '') {
53
- addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
54
- selectByValue(document.forms[0], se.id, se.previousSibling.value);
55
- } else
56
- selectByValue(document.forms[0], se.id, '');
57
-
58
- se.style.display = 'inline';
59
- se.parentNode.removeChild(se.previousSibling);
60
- TinyMCE_EditableSelects.editSelectElm = null;
61
- }
62
- },
63
-
64
- onKeyDown : function(e) {
65
- e = e || window.event;
66
-
67
- if (e.keyCode == 13)
68
- TinyMCE_EditableSelects.onBlurEditableSelectInput();
69
- }
70
- };
1
+ /**
2
+ * editable_selects.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
+ var TinyMCE_EditableSelects = {
12
+ editSelectElm : null,
13
+
14
+ init : function() {
15
+ var nl = document.getElementsByTagName("select"), i, d = document, o;
16
+
17
+ for (i=0; i<nl.length; i++) {
18
+ if (nl[i].className.indexOf('mceEditableSelect') != -1) {
19
+ o = new Option('(value)', '__mce_add_custom__');
20
+
21
+ o.className = 'mceAddSelectValue';
22
+
23
+ nl[i].options[nl[i].options.length] = o;
24
+ nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect;
25
+ }
26
+ }
27
+ },
28
+
29
+ onChangeEditableSelect : function(e) {
30
+ var d = document, ne, se = window.event ? window.event.srcElement : e.target;
31
+
32
+ if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
33
+ ne = d.createElement("input");
34
+ ne.id = se.id + "_custom";
35
+ ne.name = se.name + "_custom";
36
+ ne.type = "text";
37
+
38
+ ne.style.width = se.offsetWidth + 'px';
39
+ se.parentNode.insertBefore(ne, se);
40
+ se.style.display = 'none';
41
+ ne.focus();
42
+ ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
43
+ ne.onkeydown = TinyMCE_EditableSelects.onKeyDown;
44
+ TinyMCE_EditableSelects.editSelectElm = se;
45
+ }
46
+ },
47
+
48
+ onBlurEditableSelectInput : function() {
49
+ var se = TinyMCE_EditableSelects.editSelectElm;
50
+
51
+ if (se) {
52
+ if (se.previousSibling.value != '') {
53
+ addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
54
+ selectByValue(document.forms[0], se.id, se.previousSibling.value);
55
+ } else
56
+ selectByValue(document.forms[0], se.id, '');
57
+
58
+ se.style.display = 'inline';
59
+ se.parentNode.removeChild(se.previousSibling);
60
+ TinyMCE_EditableSelects.editSelectElm = null;
61
+ }
62
+ },
63
+
64
+ onKeyDown : function(e) {
65
+ e = e || window.event;
66
+
67
+ if (e.keyCode == 13)
68
+ TinyMCE_EditableSelects.onBlurEditableSelectInput();
69
+ }
70
+ };
@@ -1,207 +1,207 @@
1
- /**
2
- * form_utils.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
- var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
12
-
13
- function getColorPickerHTML(id, target_form_element) {
14
- var h = "", dom = tinyMCEPopup.dom;
15
-
16
- if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
17
- label.id = label.id || dom.uniqueId();
18
- }
19
-
20
- h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
21
- h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
22
-
23
- return h;
24
- }
25
-
26
- function updateColor(img_id, form_element_id) {
27
- document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
28
- }
29
-
30
- function setBrowserDisabled(id, state) {
31
- var img = document.getElementById(id);
32
- var lnk = document.getElementById(id + "_link");
33
-
34
- if (lnk) {
35
- if (state) {
36
- lnk.setAttribute("realhref", lnk.getAttribute("href"));
37
- lnk.removeAttribute("href");
38
- tinyMCEPopup.dom.addClass(img, 'disabled');
39
- } else {
40
- if (lnk.getAttribute("realhref"))
41
- lnk.setAttribute("href", lnk.getAttribute("realhref"));
42
-
43
- tinyMCEPopup.dom.removeClass(img, 'disabled');
44
- }
45
- }
46
- }
47
-
48
- function getBrowserHTML(id, target_form_element, type, prefix) {
49
- var option = prefix + "_" + type + "_browser_callback", cb, html;
50
-
51
- cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
52
-
53
- if (!cb)
54
- return "";
55
-
56
- html = "";
57
- html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
58
- html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';
59
-
60
- return html;
61
- }
62
-
63
- function openBrowser(img_id, target_form_element, type, option) {
64
- var img = document.getElementById(img_id);
65
-
66
- if (img.className != "mceButtonDisabled")
67
- tinyMCEPopup.openBrowser(target_form_element, type, option);
68
- }
69
-
70
- function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
71
- if (!form_obj || !form_obj.elements[field_name])
72
- return;
73
-
74
- if (!value)
75
- value = "";
76
-
77
- var sel = form_obj.elements[field_name];
78
-
79
- var found = false;
80
- for (var i=0; i<sel.options.length; i++) {
81
- var option = sel.options[i];
82
-
83
- if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
84
- option.selected = true;
85
- found = true;
86
- } else
87
- option.selected = false;
88
- }
89
-
90
- if (!found && add_custom && value != '') {
91
- var option = new Option(value, value);
92
- option.selected = true;
93
- sel.options[sel.options.length] = option;
94
- sel.selectedIndex = sel.options.length - 1;
95
- }
96
-
97
- return found;
98
- }
99
-
100
- function getSelectValue(form_obj, field_name) {
101
- var elm = form_obj.elements[field_name];
102
-
103
- if (elm == null || elm.options == null || elm.selectedIndex === -1)
104
- return "";
105
-
106
- return elm.options[elm.selectedIndex].value;
107
- }
108
-
109
- function addSelectValue(form_obj, field_name, name, value) {
110
- var s = form_obj.elements[field_name];
111
- var o = new Option(name, value);
112
- s.options[s.options.length] = o;
113
- }
114
-
115
- function addClassesToList(list_id, specific_option) {
116
- // Setup class droplist
117
- var styleSelectElm = document.getElementById(list_id);
118
- var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
119
- styles = tinyMCEPopup.getParam(specific_option, styles);
120
-
121
- if (styles) {
122
- var stylesAr = styles.split(';');
123
-
124
- for (var i=0; i<stylesAr.length; i++) {
125
- if (stylesAr != "") {
126
- var key, value;
127
-
128
- key = stylesAr[i].split('=')[0];
129
- value = stylesAr[i].split('=')[1];
130
-
131
- styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
132
- }
133
- }
134
- } else {
135
- tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
136
- styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
137
- });
138
- }
139
- }
140
-
141
- function isVisible(element_id) {
142
- var elm = document.getElementById(element_id);
143
-
144
- return elm && elm.style.display != "none";
145
- }
146
-
147
- function convertRGBToHex(col) {
148
- var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
149
-
150
- var rgb = col.replace(re, "$1,$2,$3").split(',');
151
- if (rgb.length == 3) {
152
- r = parseInt(rgb[0]).toString(16);
153
- g = parseInt(rgb[1]).toString(16);
154
- b = parseInt(rgb[2]).toString(16);
155
-
156
- r = r.length == 1 ? '0' + r : r;
157
- g = g.length == 1 ? '0' + g : g;
158
- b = b.length == 1 ? '0' + b : b;
159
-
160
- return "#" + r + g + b;
161
- }
162
-
163
- return col;
164
- }
165
-
166
- function convertHexToRGB(col) {
167
- if (col.indexOf('#') != -1) {
168
- col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
169
-
170
- r = parseInt(col.substring(0, 2), 16);
171
- g = parseInt(col.substring(2, 4), 16);
172
- b = parseInt(col.substring(4, 6), 16);
173
-
174
- return "rgb(" + r + "," + g + "," + b + ")";
175
- }
176
-
177
- return col;
178
- }
179
-
180
- function trimSize(size) {
181
- return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2');
182
- }
183
-
184
- function getCSSSize(size) {
185
- size = trimSize(size);
186
-
187
- if (size == "")
188
- return "";
189
-
190
- // Add px
191
- if (/^[0-9]+$/.test(size))
192
- size += 'px';
193
-
194
- return size;
195
- }
196
-
197
- function getStyle(elm, attrib, style) {
198
- var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
199
-
200
- if (val != '')
201
- return '' + val;
202
-
203
- if (typeof(style) == 'undefined')
204
- style = attrib;
205
-
206
- return tinyMCEPopup.dom.getStyle(elm, style);
207
- }
1
+ /**
2
+ * form_utils.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
+ var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
12
+
13
+ function getColorPickerHTML(id, target_form_element) {
14
+ var h = "", dom = tinyMCEPopup.dom;
15
+
16
+ if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
17
+ label.id = label.id || dom.uniqueId();
18
+ }
19
+
20
+ h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
21
+ h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
22
+
23
+ return h;
24
+ }
25
+
26
+ function updateColor(img_id, form_element_id) {
27
+ document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
28
+ }
29
+
30
+ function setBrowserDisabled(id, state) {
31
+ var img = document.getElementById(id);
32
+ var lnk = document.getElementById(id + "_link");
33
+
34
+ if (lnk) {
35
+ if (state) {
36
+ lnk.setAttribute("realhref", lnk.getAttribute("href"));
37
+ lnk.removeAttribute("href");
38
+ tinyMCEPopup.dom.addClass(img, 'disabled');
39
+ } else {
40
+ if (lnk.getAttribute("realhref"))
41
+ lnk.setAttribute("href", lnk.getAttribute("realhref"));
42
+
43
+ tinyMCEPopup.dom.removeClass(img, 'disabled');
44
+ }
45
+ }
46
+ }
47
+
48
+ function getBrowserHTML(id, target_form_element, type, prefix) {
49
+ var option = prefix + "_" + type + "_browser_callback", cb, html;
50
+
51
+ cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
52
+
53
+ if (!cb)
54
+ return "";
55
+
56
+ html = "";
57
+ html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
58
+ html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';
59
+
60
+ return html;
61
+ }
62
+
63
+ function openBrowser(img_id, target_form_element, type, option) {
64
+ var img = document.getElementById(img_id);
65
+
66
+ if (img.className != "mceButtonDisabled")
67
+ tinyMCEPopup.openBrowser(target_form_element, type, option);
68
+ }
69
+
70
+ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
71
+ if (!form_obj || !form_obj.elements[field_name])
72
+ return;
73
+
74
+ if (!value)
75
+ value = "";
76
+
77
+ var sel = form_obj.elements[field_name];
78
+
79
+ var found = false;
80
+ for (var i=0; i<sel.options.length; i++) {
81
+ var option = sel.options[i];
82
+
83
+ if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
84
+ option.selected = true;
85
+ found = true;
86
+ } else
87
+ option.selected = false;
88
+ }
89
+
90
+ if (!found && add_custom && value != '') {
91
+ var option = new Option(value, value);
92
+ option.selected = true;
93
+ sel.options[sel.options.length] = option;
94
+ sel.selectedIndex = sel.options.length - 1;
95
+ }
96
+
97
+ return found;
98
+ }
99
+
100
+ function getSelectValue(form_obj, field_name) {
101
+ var elm = form_obj.elements[field_name];
102
+
103
+ if (elm == null || elm.options == null || elm.selectedIndex === -1)
104
+ return "";
105
+
106
+ return elm.options[elm.selectedIndex].value;
107
+ }
108
+
109
+ function addSelectValue(form_obj, field_name, name, value) {
110
+ var s = form_obj.elements[field_name];
111
+ var o = new Option(name, value);
112
+ s.options[s.options.length] = o;
113
+ }
114
+
115
+ function addClassesToList(list_id, specific_option) {
116
+ // Setup class droplist
117
+ var styleSelectElm = document.getElementById(list_id);
118
+ var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
119
+ styles = tinyMCEPopup.getParam(specific_option, styles);
120
+
121
+ if (styles) {
122
+ var stylesAr = styles.split(';');
123
+
124
+ for (var i=0; i<stylesAr.length; i++) {
125
+ if (stylesAr != "") {
126
+ var key, value;
127
+
128
+ key = stylesAr[i].split('=')[0];
129
+ value = stylesAr[i].split('=')[1];
130
+
131
+ styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
132
+ }
133
+ }
134
+ } else {
135
+ tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
136
+ styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
137
+ });
138
+ }
139
+ }
140
+
141
+ function isVisible(element_id) {
142
+ var elm = document.getElementById(element_id);
143
+
144
+ return elm && elm.style.display != "none";
145
+ }
146
+
147
+ function convertRGBToHex(col) {
148
+ var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
149
+
150
+ var rgb = col.replace(re, "$1,$2,$3").split(',');
151
+ if (rgb.length == 3) {
152
+ r = parseInt(rgb[0]).toString(16);
153
+ g = parseInt(rgb[1]).toString(16);
154
+ b = parseInt(rgb[2]).toString(16);
155
+
156
+ r = r.length == 1 ? '0' + r : r;
157
+ g = g.length == 1 ? '0' + g : g;
158
+ b = b.length == 1 ? '0' + b : b;
159
+
160
+ return "#" + r + g + b;
161
+ }
162
+
163
+ return col;
164
+ }
165
+
166
+ function convertHexToRGB(col) {
167
+ if (col.indexOf('#') != -1) {
168
+ col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
169
+
170
+ r = parseInt(col.substring(0, 2), 16);
171
+ g = parseInt(col.substring(2, 4), 16);
172
+ b = parseInt(col.substring(4, 6), 16);
173
+
174
+ return "rgb(" + r + "," + g + "," + b + ")";
175
+ }
176
+
177
+ return col;
178
+ }
179
+
180
+ function trimSize(size) {
181
+ return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2');
182
+ }
183
+
184
+ function getCSSSize(size) {
185
+ size = trimSize(size);
186
+
187
+ if (size == "")
188
+ return "";
189
+
190
+ // Add px
191
+ if (/^[0-9]+$/.test(size))
192
+ size += 'px';
193
+
194
+ return size;
195
+ }
196
+
197
+ function getStyle(elm, attrib, style) {
198
+ var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
199
+
200
+ if (val != '')
201
+ return '' + val;
202
+
203
+ if (typeof(style) == 'undefined')
204
+ style = attrib;
205
+
206
+ return tinyMCEPopup.dom.getStyle(elm, style);
207
+ }