X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e8fe7696e2fc6334ef96495ea6d9d71354c53b6d..65048f64d018c105be3921ca4bcb9f5183e2382e:/project/static/js/search_replace.js diff --git a/project/static/js/search_replace.js b/project/static/js/search_replace.js deleted file mode 100755 index bd266b35..00000000 --- a/project/static/js/search_replace.js +++ /dev/null @@ -1,174 +0,0 @@ - EditArea.prototype.show_search = function(){ - if(_$("area_search_replace").style.visibility=="visible"){ - this.hidden_search(); - }else{ - this.open_inline_popup("area_search_replace"); - var text= this.area_get_selection(); - var search= text.split("\n")[0]; - _$("area_search").value= search; - _$("area_search").focus(); - } - }; - - EditArea.prototype.hidden_search= function(){ - /*_$("area_search_replace").style.visibility="hidden"; - this.textarea.focus(); - var icon= _$("search"); - setAttribute(icon, "class", getAttribute(icon, "class").replace(/ selected/g, "") );*/ - this.close_inline_popup("area_search_replace"); - }; - - EditArea.prototype.area_search= function(mode){ - - if(!mode) - mode="search"; - _$("area_search_msg").innerHTML=""; - var search=_$("area_search").value; - - this.textarea.focus(); - this.textarea.textareaFocused=true; - - var infos= this.get_selection_infos(); - var start= infos["selectionStart"]; - var pos=-1; - var pos_begin=-1; - var length=search.length; - - if(_$("area_search_replace").style.visibility!="visible"){ - this.show_search(); - return; - } - if(search.length==0){ - _$("area_search_msg").innerHTML=this.get_translation("search_field_empty"); - return; - } - // advance to the next occurence if no text selected - if(mode!="replace" ){ - if(_$("area_search_reg_exp").checked) - start++; - else - start+= search.length; - } - - //search - if(_$("area_search_reg_exp").checked){ - // regexp search - var opt="m"; - if(!_$("area_search_match_case").checked) - opt+="i"; - var reg= new RegExp(search, opt); - pos= infos["full_text"].substr(start).search(reg); - pos_begin= infos["full_text"].search(reg); - if(pos!=-1){ - pos+=start; - length=infos["full_text"].substr(start).match(reg)[0].length; - }else if(pos_begin!=-1){ - length=infos["full_text"].match(reg)[0].length; - } - }else{ - if(_$("area_search_match_case").checked){ - pos= infos["full_text"].indexOf(search, start); - pos_begin= infos["full_text"].indexOf(search); - }else{ - pos= infos["full_text"].toLowerCase().indexOf(search.toLowerCase(), start); - pos_begin= infos["full_text"].toLowerCase().indexOf(search.toLowerCase()); - } - } - - // interpret result - if(pos==-1 && pos_begin==-1){ - _$("area_search_msg").innerHTML=""+search+" "+this.get_translation("not_found"); - return; - }else if(pos==-1 && pos_begin != -1){ - begin= pos_begin; - _$("area_search_msg").innerHTML=this.get_translation("restart_search_at_begin"); - }else - begin= pos; - - //_$("area_search_msg").innerHTML+=""+search+" found at "+begin+" strat at "+start+" pos "+pos+" curs"+ infos["indexOfCursor"]+"."; - if(mode=="replace" && pos==infos["indexOfCursor"]){ - var replace= _$("area_replace").value; - var new_text=""; - if(_$("area_search_reg_exp").checked){ - var opt="m"; - if(!_$("area_search_match_case").checked) - opt+="i"; - var reg= new RegExp(search, opt); - new_text= infos["full_text"].substr(0, begin) + infos["full_text"].substr(start).replace(reg, replace); - }else{ - new_text= infos["full_text"].substr(0, begin) + replace + infos["full_text"].substr(begin + length); - } - this.textarea.value=new_text; - this.area_select(begin, length); - this.area_search(); - }else - this.area_select(begin, length); - }; - - - - - EditArea.prototype.area_replace= function(){ - this.area_search("replace"); - }; - - EditArea.prototype.area_replace_all= function(){ - /* this.area_select(0, 0); - _$("area_search_msg").innerHTML=""; - while(_$("area_search_msg").innerHTML==""){ - this.area_replace(); - }*/ - - var base_text= this.textarea.value; - var search= _$("area_search").value; - var replace= _$("area_replace").value; - if(search.length==0){ - _$("area_search_msg").innerHTML=this.get_translation("search_field_empty"); - return ; - } - - var new_text=""; - var nb_change=0; - if(_$("area_search_reg_exp").checked){ - // regExp - var opt="mg"; - if(!_$("area_search_match_case").checked) - opt+="i"; - var reg= new RegExp(search, opt); - nb_change= infos["full_text"].match(reg).length; - new_text= infos["full_text"].replace(reg, replace); - - }else{ - - if(_$("area_search_match_case").checked){ - var tmp_tab=base_text.split(search); - nb_change= tmp_tab.length -1 ; - new_text= tmp_tab.join(replace); - }else{ - // case insensitive - var lower_value=base_text.toLowerCase(); - var lower_search=search.toLowerCase(); - - var start=0; - var pos= lower_value.indexOf(lower_search); - while(pos!=-1){ - nb_change++; - new_text+= this.textarea.value.substring(start , pos)+replace; - start=pos+ search.length; - pos= lower_value.indexOf(lower_search, pos+1); - } - new_text+= this.textarea.value.substring(start); - } - } - if(new_text==base_text){ - _$("area_search_msg").innerHTML=""+search+" "+this.get_translation("not_found"); - }else{ - this.textarea.value= new_text; - _$("area_search_msg").innerHTML=""+nb_change+" "+this.get_translation("occurrence_replaced"); - // firefox and opera doesn't manage with the focus if it's done directly - //editArea.textarea.focus();editArea.textarea.textareaFocused=true; - setTimeout("editArea.textarea.focus();editArea.textarea.textareaFocused=true;", 100); - } - - - };