123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- /**
- * Created with JetBrains PhpStorm.
- * User: xuheng
- * Date: 12-9-26
- * Time: 下午12:29
- * To change this template use File | Settings | File Templates.
- */
- //清空上次查选的痕迹
- editor.firstForSR = 0;
- editor.currentRangeForSR = null;
- //给tab注册切换事件
- /**
- * tab点击处理事件
- * @param tabHeads
- * @param tabBodys
- * @param obj
- */
- function clickHandler( tabHeads,tabBodys,obj ) {
- //head样式更改
- for ( var k = 0, len = tabHeads.length; k < len; k++ ) {
- tabHeads[k].className = "";
- }
- obj.className = "focus";
- //body显隐
- var tabSrc = obj.getAttribute( "tabSrc" );
- for ( var j = 0, length = tabBodys.length; j < length; j++ ) {
- var body = tabBodys[j],
- id = body.getAttribute( "id" );
- if ( id != tabSrc ) {
- body.style.zIndex = 1;
- } else {
- body.style.zIndex = 200;
- }
- }
- }
- /**
- * TAB切换
- * @param tabParentId tab的父节点ID或者对象本身
- */
- function switchTab( tabParentId ) {
- var tabElements = $G( tabParentId ).children,
- tabHeads = tabElements[0].children,
- tabBodys = tabElements[1].children;
- for ( var i = 0, length = tabHeads.length; i < length; i++ ) {
- var head = tabHeads[i];
- if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head );
- head.onclick = function () {
- clickHandler(tabHeads,tabBodys,this);
- }
- }
- }
- $G('searchtab').onmousedown = function(){
- $G('search-msg').innerHTML = '';
- $G('replace-msg').innerHTML = ''
- }
- //是否区分大小写
- function getMatchCase(id) {
- return $G(id).checked ? true : false;
- }
- //查找
- $G("nextFindBtn").onclick = function (txt, dir, mcase) {
- var findtxt = $G("findtxt").value, obj;
- if (!findtxt) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- dir:1,
- casesensitive:getMatchCase("matchCase")
- };
- if (!frCommond(obj)) {
- var bk = editor.selection.getRange().createBookmark();
- $G('search-msg').innerHTML = lang.getEnd;
- editor.selection.getRange().moveToBookmark(bk).select();
- }
- };
- $G("nextReplaceBtn").onclick = function (txt, dir, mcase) {
- var findtxt = $G("findtxt1").value, obj;
- if (!findtxt) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- dir:1,
- casesensitive:getMatchCase("matchCase1")
- };
- frCommond(obj);
- };
- $G("preFindBtn").onclick = function (txt, dir, mcase) {
- var findtxt = $G("findtxt").value, obj;
- if (!findtxt) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- dir:-1,
- casesensitive:getMatchCase("matchCase")
- };
- if (!frCommond(obj)) {
- $G('search-msg').innerHTML = lang.getStart;
- }
- };
- $G("preReplaceBtn").onclick = function (txt, dir, mcase) {
- var findtxt = $G("findtxt1").value, obj;
- if (!findtxt) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- dir:-1,
- casesensitive:getMatchCase("matchCase1")
- };
- frCommond(obj);
- };
- //替换
- $G("repalceBtn").onclick = function () {
- var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj,
- replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, "");
- if (!findtxt) {
- return false;
- }
- if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- dir:1,
- casesensitive:getMatchCase("matchCase1"),
- replaceStr:replacetxt
- };
- frCommond(obj);
- };
- //全部替换
- $G("repalceAllBtn").onclick = function () {
- var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj,
- replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, "");
- if (!findtxt) {
- return false;
- }
- if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) {
- return false;
- }
- obj = {
- searchStr:findtxt,
- casesensitive:getMatchCase("matchCase1"),
- replaceStr:replacetxt,
- all:true
- };
- var num = frCommond(obj);
- if (num) {
- $G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num);
- }
- };
- //执行
- var frCommond = function (obj) {
- return editor.execCommand("searchreplace", obj);
- };
- switchTab("searchtab");
|