+++ /dev/null
-tinyMCEPopup.requireLangPack();\r
-\r
-var SearchReplaceDialog = {\r
- init : function(ed) {\r
- var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");\r
-\r
- this.switchMode(m);\r
-\r
- f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string");\r
-\r
- // Focus input field\r
- f[m + '_panel_searchstring'].focus();\r
- },\r
-\r
- switchMode : function(m) {\r
- var f, lm = this.lastMode;\r
-\r
- if (lm != m) {\r
- f = document.forms[0];\r
-\r
- if (lm) {\r
- f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value;\r
- f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked;\r
- f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked;\r
- f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked;\r
- }\r
-\r
- mcTabs.displayTab(m + '_tab', m + '_panel');\r
- document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none";\r
- document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none";\r
- this.lastMode = m;\r
- }\r
- },\r
-\r
- searchNext : function(a) {\r
- var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0;\r
-\r
- // Get input\r
- f = document.forms[0];\r
- s = f[m + '_panel_searchstring'].value;\r
- b = f[m + '_panel_backwardsu'].checked;\r
- ca = f[m + '_panel_casesensitivebox'].checked;\r
- rs = f['replace_panel_replacestring'].value;\r
-\r
- if (s == '')\r
- return;\r
-\r
- function fix() {\r
- // Correct Firefox graphics glitches\r
- r = se.getRng().cloneRange();\r
- ed.getDoc().execCommand('SelectAll', false, null);\r
- se.setRng(r);\r
- };\r
-\r
- function replace() {\r
- if (tinymce.isIE)\r
- ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE\r
- else\r
- ed.getDoc().execCommand('InsertHTML', false, rs);\r
- };\r
-\r
- // IE flags\r
- if (ca)\r
- fl = fl | 4;\r
-\r
- switch (a) {\r
- case 'all':\r
- // Move caret to beginning of text\r
- ed.execCommand('SelectAll');\r
- ed.selection.collapse(true);\r
-\r
- if (tinymce.isIE) {\r
- while (r.findText(s, b ? -1 : 1, fl)) {\r
- r.scrollIntoView();\r
- r.select();\r
- replace();\r
- fo = 1;\r
-\r
- if (b) {\r
- r.moveEnd("character", -(rs.length)); // Otherwise will loop forever\r
- }\r
- }\r
-\r
- tinyMCEPopup.storeSelection();\r
- } else {\r
- while (w.find(s, ca, b, false, false, false, false)) {\r
- replace();\r
- fo = 1;\r
- }\r
- }\r
-\r
- if (fo)\r
- tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced'));\r
- else\r
- tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));\r
-\r
- return;\r
-\r
- case 'current':\r
- if (!ed.selection.isCollapsed())\r
- replace();\r
-\r
- break;\r
- }\r
-\r
- se.collapse(b);\r
- r = se.getRng();\r
-\r
- // Whats the point\r
- if (!s)\r
- return;\r
-\r
- if (tinymce.isIE) {\r
- if (r.findText(s, b ? -1 : 1, fl)) {\r
- r.scrollIntoView();\r
- r.select();\r
- } else\r
- tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));\r
-\r
- tinyMCEPopup.storeSelection();\r
- } else {\r
- if (!w.find(s, ca, b, false, false, false, false))\r
- tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));\r
- else\r
- fix();\r
- }\r
- }\r
-};\r
-\r
-tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog);\r