diff options
Diffstat (limited to 'program/js/tiny_mce/utils/editable_selects.js')
-rw-r--r-- | program/js/tiny_mce/utils/editable_selects.js | 122 |
1 files changed, 61 insertions, 61 deletions
diff --git a/program/js/tiny_mce/utils/editable_selects.js b/program/js/tiny_mce/utils/editable_selects.js index add2aa5a1..9b40922c0 100644 --- a/program/js/tiny_mce/utils/editable_selects.js +++ b/program/js/tiny_mce/utils/editable_selects.js @@ -1,61 +1,61 @@ -/** - * $Id: editable_selects.js 162 2007-01-03 16:16:52Z spocke $ - * - * Makes select boxes editable. - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -var TinyMCE_EditableSelects = { - editSelectElm : null, - - init : function() { - var nl = document.getElementsByTagName("select"), i, d = document, o; - - for (i=0; i<nl.length; i++) { - if (nl[i].className.indexOf('mceEditableSelect') != -1) { - o = new Option('(value)', '__mce_add_custom__'); - - o.className = 'mceAddSelectValue'; - - nl[i].options[nl[i].options.length] = o; - nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);'); - } - } - }, - - onChangeEditableSelect : function(se) { - var d = document, ne; - - if (se.options[se.selectedIndex].value == '__mce_add_custom__') { - ne = d.createElement("input"); - ne.id = se.id + "_custom"; - ne.name = se.name + "_custom"; - ne.type = "text"; - - ne.style.width = se.clientWidth; - se.parentNode.insertBefore(ne, se); - se.style.display = 'none'; - ne.focus(); - ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput; - TinyMCE_EditableSelects.editSelectElm = se; - } - }, - - onBlurEditableSelectInput : function() { - var se = TinyMCE_EditableSelects.editSelectElm; - - if (se) { - if (se.previousSibling.value != '') { - addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value); - selectByValue(document.forms[0], se.id, se.previousSibling.value); - } else - selectByValue(document.forms[0], se.id, ''); - - se.style.display = 'inline'; - se.parentNode.removeChild(se.previousSibling); - TinyMCE_EditableSelects.editSelectElm = null; - } - } -}; +/**
+ * $Id: editable_selects.js 520 2008-01-07 16:30:32Z spocke $
+ *
+ * Makes select boxes editable.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_EditableSelects = {
+ editSelectElm : null,
+
+ init : function() {
+ var nl = document.getElementsByTagName("select"), i, d = document, o;
+
+ for (i=0; i<nl.length; i++) {
+ if (nl[i].className.indexOf('mceEditableSelect') != -1) {
+ o = new Option('(value)', '__mce_add_custom__');
+
+ o.className = 'mceAddSelectValue';
+
+ nl[i].options[nl[i].options.length] = o;
+ nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect;
+ }
+ }
+ },
+
+ onChangeEditableSelect : function(e) {
+ var d = document, ne, se = window.event ? window.event.srcElement : e.target;
+
+ if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
+ ne = d.createElement("input");
+ ne.id = se.id + "_custom";
+ ne.name = se.name + "_custom";
+ ne.type = "text";
+
+ ne.style.width = se.offsetWidth + 'px';
+ se.parentNode.insertBefore(ne, se);
+ se.style.display = 'none';
+ ne.focus();
+ ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
+ TinyMCE_EditableSelects.editSelectElm = se;
+ }
+ },
+
+ onBlurEditableSelectInput : function() {
+ var se = TinyMCE_EditableSelects.editSelectElm;
+
+ if (se) {
+ if (se.previousSibling.value != '') {
+ addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
+ selectByValue(document.forms[0], se.id, se.previousSibling.value);
+ } else
+ selectByValue(document.forms[0], se.id, '');
+
+ se.style.display = 'inline';
+ se.parentNode.removeChild(se.previousSibling);
+ TinyMCE_EditableSelects.editSelectElm = null;
+ }
+ }
+};
|