diff options
author | patdenice <patdenice@piwigo.org> | 2011-04-12 11:12:51 +0000 |
---|---|---|
committer | patdenice <patdenice@piwigo.org> | 2011-04-12 11:12:51 +0000 |
commit | a740ef91e6689f86011b70c7bbe2589abf78ae6b (patch) | |
tree | bb4a6deb7395b0f545bb760cf34f093e910f1cff /plugins/LocalFilesEditor/editarea/search_replace.js | |
parent | bb7c28f86febddd376ee0400807507991a2d7b48 (diff) |
feature:2262
Replace editarea by Codemirror:
http://codemirror.net
git-svn-id: http://piwigo.org/svn/trunk@10307 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'plugins/LocalFilesEditor/editarea/search_replace.js')
-rw-r--r-- | plugins/LocalFilesEditor/editarea/search_replace.js | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/plugins/LocalFilesEditor/editarea/search_replace.js b/plugins/LocalFilesEditor/editarea/search_replace.js deleted file mode 100644 index bd266b35a..000000000 --- a/plugins/LocalFilesEditor/editarea/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="<strong>"+search+"</strong> "+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+="<strong>"+search+"</strong> 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="<strong>"+search+"</strong> "+this.get_translation("not_found");
- }else{
- this.textarea.value= new_text;
- _$("area_search_msg").innerHTML="<strong>"+nb_change+"</strong> "+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);
- }
-
-
- };
|