Mercurial > public > madeira
comparison static/js/tinymce/jscripts/tiny_mce/utils/editable_selects.js @ 45:966cde8635c0
For issue #3, created a separate news app.
Created import management command.
Using TinyMCE editor in the admin.
News model now stores HTML.
The news page is now paginated.
Each story has a perma-link now.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 15 Mar 2012 20:02:39 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
44:42a6bde9913c | 45:966cde8635c0 |
---|---|
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(tinyMCEPopup.editor.translate('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 }; |