diff options
author | alecpl <alec@alec.pl> | 2010-03-06 18:59:25 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-03-06 18:59:25 +0000 |
commit | 5821ff51239b7f24d18e3097b3e85813f81768dd (patch) | |
tree | 7bfef758c56fa1196f75a54d25edff4cee1bad54 /program/js | |
parent | 94fe9ca1a87b20ddeee55024986e95ca72097af6 (diff) |
- Don't show a warning on html2text switch when textarea is empty
- Set properly select's value when html2text is aborted
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/editor.js | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/program/js/editor.js b/program/js/editor.js index 361741e3b..10511a03d 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -83,10 +83,15 @@ function rcmail_editor_tabindex() } // switch html/plain mode -function rcmail_toggle_editor(ishtml, textAreaId, flagElement) +function rcmail_toggle_editor(select, textAreaId, flagElement) { var composeElement = document.getElementById(textAreaId); - var flag; + var flag, ishtml; + + if (select.tagName != 'SELECT') + ishtml = select.checked; + else + ishtml = select.value == 'html'; if (ishtml) { @@ -100,12 +105,19 @@ function rcmail_toggle_editor(ishtml, textAreaId, flagElement) } else { - if (!confirm(rcmail.get_label('editorwarning'))) - return false; - var thisMCE = tinyMCE.get(textAreaId); var existingHtml = thisMCE.getContent(); - rcmail.html2plain(existingHtml, textAreaId); + + if (existingHtml) { + if (!confirm(rcmail.get_label('editorwarning'))) { + if (select.tagName == 'SELECT') + select.value = 'html'; + return false; + } + + rcmail.html2plain(existingHtml, textAreaId); + } + tinyMCE.execCommand('mceRemoveControl', true, textAreaId); rcmail.display_spellcheck_controls(true); if (flagElement && (flag = rcube_find_object(flagElement))) |