Upgrade TinyMCE to 3.4.2, fixes bugs 11955, 11992

This commit is contained in:
Colin Kuskie 2011-04-11 15:05:42 -07:00
parent faddfc5d8a
commit 38de00f931
422 changed files with 17224 additions and 23491 deletions

View file

@ -2,14 +2,18 @@ tinyMCEPopup.requireLangPack();
var SearchReplaceDialog = {
init : function(ed) {
var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");
var t = this, f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");
this.switchMode(m);
t.switchMode(m);
f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string");
// Focus input field
f[m + '_panel_searchstring'].focus();
mcTabs.onChange.add(function(tab_id, panel_id) {
t.switchMode(tab_id.substring(0, tab_id.indexOf('_')));
});
},
switchMode : function(m) {
@ -42,21 +46,23 @@ var SearchReplaceDialog = {
ca = f[m + '_panel_casesensitivebox'].checked;
rs = f['replace_panel_replacestring'].value;
if (tinymce.isIE) {
r = ed.getDoc().selection.createRange();
}
if (s == '')
return;
function fix() {
// Correct Firefox graphics glitches
// TODO: Verify if this is actually needed any more, maybe it was for very old FF versions?
r = se.getRng().cloneRange();
ed.getDoc().execCommand('SelectAll', false, null);
se.setRng(r);
};
function replace() {
if (tinymce.isIE)
ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE
else
ed.getDoc().execCommand('InsertHTML', false, rs);
ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE
};
// IE flags
@ -70,11 +76,18 @@ var SearchReplaceDialog = {
ed.selection.collapse(true);
if (tinymce.isIE) {
ed.focus();
r = ed.getDoc().selection.createRange();
while (r.findText(s, b ? -1 : 1, fl)) {
r.scrollIntoView();
r.select();
replace();
fo = 1;
if (b) {
r.moveEnd("character", -(rs.length)); // Otherwise will loop forever
}
}
tinyMCEPopup.storeSelection();
@ -107,6 +120,9 @@ var SearchReplaceDialog = {
return;
if (tinymce.isIE) {
ed.focus();
r = ed.getDoc().selection.createRange();
if (r.findText(s, b ? -1 : 1, fl)) {
r.scrollIntoView();
r.select();