aboutsummaryrefslogtreecommitdiff
path: root/mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-06-07 22:46:47 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-06-07 22:46:47 +0000
commitceab24db2a7bf459684a650c287770b4ff090f54 (patch)
tree171760af3de53f07b77c12d8e7931241a8d0377e /mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
parentd924a462f39ff922a4cc9f6635cfe5d0c0f14db3 (diff)
downloadelgg-ceab24db2a7bf459684a650c287770b4ff090f54.tar.gz
elgg-ceab24db2a7bf459684a650c287770b4ff090f54.tar.bz2
Refs #3510, #9113. Updated tinyMCE version in trunk.
git-svn-id: http://code.elgg.org/elgg/trunk@9140 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js')
-rw-r--r--mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
index c0a624329..80284b9f3 100644
--- a/mod/tinymce/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
+++ b/mod/tinymce/vendor/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();