+++ /dev/null
-/**\r
- * editable_selects.js\r
- *\r
- * Copyright 2009, Moxiecode Systems AB\r
- * Released under LGPL License.\r
- *\r
- * License: http://tinymce.moxiecode.com/license\r
- * Contributing: http://tinymce.moxiecode.com/contributing\r
- */\r
-\r
-var TinyMCE_EditableSelects = {\r
- editSelectElm : null,\r
-\r
- init : function() {\r
- var nl = document.getElementsByTagName("select"), i, d = document, o;\r
-\r
- for (i=0; i<nl.length; i++) {\r
- if (nl[i].className.indexOf('mceEditableSelect') != -1) {\r
- o = new Option('(value)', '__mce_add_custom__');\r
-\r
- o.className = 'mceAddSelectValue';\r
-\r
- nl[i].options[nl[i].options.length] = o;\r
- nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect;\r
- }\r
- }\r
- },\r
-\r
- onChangeEditableSelect : function(e) {\r
- var d = document, ne, se = window.event ? window.event.srcElement : e.target;\r
-\r
- if (se.options[se.selectedIndex].value == '__mce_add_custom__') {\r
- ne = d.createElement("input");\r
- ne.id = se.id + "_custom";\r
- ne.name = se.name + "_custom";\r
- ne.type = "text";\r
-\r
- ne.style.width = se.offsetWidth + 'px';\r
- se.parentNode.insertBefore(ne, se);\r
- se.style.display = 'none';\r
- ne.focus();\r
- ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;\r
- ne.onkeydown = TinyMCE_EditableSelects.onKeyDown;\r
- TinyMCE_EditableSelects.editSelectElm = se;\r
- }\r
- },\r
-\r
- onBlurEditableSelectInput : function() {\r
- var se = TinyMCE_EditableSelects.editSelectElm;\r
-\r
- if (se) {\r
- if (se.previousSibling.value != '') {\r
- addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);\r
- selectByValue(document.forms[0], se.id, se.previousSibling.value);\r
- } else\r
- selectByValue(document.forms[0], se.id, '');\r
-\r
- se.style.display = 'inline';\r
- se.parentNode.removeChild(se.previousSibling);\r
- TinyMCE_EditableSelects.editSelectElm = null;\r
- }\r
- },\r
-\r
- onKeyDown : function(e) {\r
- e = e || window.event;\r
-\r
- if (e.keyCode == 13)\r
- TinyMCE_EditableSelects.onBlurEditableSelectInput();\r
- }\r
-};\r