aboutsummaryrefslogtreecommitdiffstats
path: root/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js
diff options
context:
space:
mode:
authorMichael Vogel <icarus@dabo.de>2012-03-28 19:52:30 +0200
committerMichael Vogel <icarus@dabo.de>2012-03-28 19:52:30 +0200
commitbdd275474044152a5d9a33ea6b8a8071b931d27e (patch)
treeb10c2b68e0236925992449786d70f45aaca21984 /library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js
parent792edfe9c834e3daeae598727e4cb15dc0ff8475 (diff)
parente894775a39920edc0e438364c818357ab809bace (diff)
downloadvolse-hubzilla-bdd275474044152a5d9a33ea6b8a8071b931d27e.tar.gz
volse-hubzilla-bdd275474044152a5d9a33ea6b8a8071b931d27e.tar.bz2
volse-hubzilla-bdd275474044152a5d9a33ea6b8a8071b931d27e.zip
Merge commit 'upstream/master'
Diffstat (limited to 'library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js')
-rw-r--r--[-rwxr-xr-x]library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
index c0a624329..80284b9f3 100755..100644
--- a/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
@@ -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,6 +76,9 @@ 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();
@@ -111,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();