PageSourceSearch

https://gretchenrubin.com/wp-content/plugins/gr-customize/gr-filters/gr-search/js/gr-search.js?ver=1.2.0

js gretchenrubin.com collected 2026-10-01 08:36:20 UTC 9,217 bytes, 254 lines download raw bytes

1
2jQuery( document ).ready(function() {
3	
4	var headingTxt=jQuery(".gr-cust-search-filter").closest(".elementor-section").find(".elementor-element.elementor-widget.elementor-widget-heading .elementor-heading-title").first().html();
5	jQuery(".gr-cust-search-filter").attr("data-defaulttxt",headingTxt).data("defaulttxt",headingTxt);
6	
7	document.querySelector(".gr-cust-search-filter .gr-cust-search-txt").addEventListener("search", function(event) {
8	  jQuery(".gr-cust-search-filter .gr-cust-search-btn").trigger( "click" );  
9	});
10	
11	jQuery(document).on("keypress", ".gr-cust-search-filter .gr-cust-search-txt",function(e){
12		if(e.keyCode==13){
13			var txtv=jQuery(this).val();
14			var elemsrch=jQuery(".gr-cust-search-filter");
15			var inisrch=elemsrch.data("internal");
16			if(inisrch=="1"){
17				if(txtv.trim()){
18					jQuery(".gr-cust-loop").attr("data-nopg",0).data("nopg",0);
19					jQuery(".gr-cust-tab-filter .gr-tab-item.gr-selected").removeClass("gr-selected");
20					jQuery(".gr-cust-tab-filter .gr-tab-items").val("All");
21					
22					
23					var smptxt=elemsrch.data("chtxt");
24					smptxt=smptxt.replace("#","<span class='gr-srch-txt'>"+txtv.trim()+"</span>");
25					
26					grLoadSearch(txtv.trim());
27				}
28				else{
29					var smptxt=jQuery(".gr-cust-search-filter").data("defaulttxt");
30					
31					grLoadSearch("");
32				}
33			}
34			else{
35				if(txtv.trim()){
36					window.location.replace("/?s="+txtv.trim());
37				}
38			}
39				
40		}
41	});
42	jQuery(document).on("click", ".gr-cust-search-filter .gr-cust-search-btn",function(e){
43		var txtv=jQuery(".gr-cust-search-filter .gr-cust-search-txt").val();
44		
45		var elemsrch=jQuery(".gr-cust-search-filter");
46		var inisrch=elemsrch.data("internal");
47		if(inisrch=="1"){
48			if(txtv.trim()){
49				jQuery(".gr-cust-loop").attr("data-nopg",0).data("nopg",0);
50				jQuery(".gr-cust-tab-filter .gr-tab-item.gr-selected").removeClass("gr-selected");
51				jQuery(".gr-cust-tab-filter .gr-tab-items").val("All");
52				
53					var smptxt=elemsrch.data("chtxt");
54				smptxt=smptxt.replace("#","<span class='gr-srch-txt'>"+txtv.trim()+"</span>");
55				
56				grupdatesearch();
57			}
58			else{
59					var smptxt=jQuery(".gr-cust-search-filter").data("defaulttxt");
60					
61					grupdatesearch();
62			}
63		}
64		else{
65			if(txtv.trim()){
66				window.location.replace("/?s="+txtv.trim());
67			}
68		}
69		
70		
71	});
72	
73	function grupdatesearch(){
74		let looplen=jQuery(".gr-cust-loop").length;
75		
76		if(looplen>0){
77			jQuery(".gr-cust-loop").each(function(){
78				let loopname =jQuery(this).data("iname");
79				if(loopname){
80					setloopelembysearch("."+loopname);
81				}
82						
83			});
84		}
85		scrolltoresult();
86	}
87	
88	
89	function setloopelembysearch(loopelemn){
90		jQuery(loopelemn).attr("data-nopg",0).data("nopg",0);
91		var elem=jQuery(loopelemn).first();
92		var orderbyv='date';
93		if(jQuery(loopelemn+"-srt")){
94			orderbyv=jQuery(loopelemn+"-srt").find(".gr-sortby-items").val();
95		}
96		
97		var uparamsrl = elem.data('stxt');
98		var nxtpgv=(elem.data('nopg'));
99		var nosv=(elem.data('nos'));
100		var txtval=jQuery(".gr-cust-search-filter .gr-cust-search-txt").val();
101		var tabfiltername=elem.data('tabfilter');
102		if(tabfiltername){
103			var elemtab=jQuery('.gr-cust-'+tabfiltername).first();
104			var ptypev="";
105			var termsv="";			
106			var forposttypev=elemtab.data("forposttype");
107			var itagsv=elemtab.data("itags");
108			var icatgv=elemtab.data("icatg");
109			var filterv=elemtab.data("filter");
110			var for_termv=elemtab.data("forterms");
111			switch(elemtab.data("filter")){
112				case "terms":
113					if(elemtab.data("displaytype")=="dropdown"){
114						ptypev=elemtab.find(".gr-tab-items").data("ptype");
115						termsv=elemtab.find(".gr-tab-items :selected").data("terms");
116						}
117					else{
118						ptypev=elemtab.find(".gr-tab-item.gr-selected").data("ptype");
119						termsv=elemtab.find(".gr-tab-item.gr-selected").data("terms");
120					}
121				break;
122				case "post_type":
123					if(elemtab.data("displaytype")=="dropdown"){
124						ptypev=elemtab.find(".gr-tab-items :selected").data("ptype");
125						
126					}
127					else{
128						ptypev=elemtab.find(".gr-tab-item.gr-selected").data("ptype");
129					}
130				break;
131			}
132		}
133		else{
134			var ptypev=elem.data("forposttype");
135			var termsv=elem.data("terms");		
136			var forposttypev=elem.data("forposttype");
137			var itagsv=elem.data("itags");
138			var icatgv=elem.data("icatg");
139			var filterv=elem.data("filter");
140			var for_termv=elem.data("forterms");
141		}
142		
143		elem.find(".gr-loop-content").html("");
144		elem.find(".gr-loop-loader").removeClass("gr-loop-noloader");
145		let obj = {action: 'get_gr_request_list',ptype:ptypev,nos:elem.data("nos"),itags:itagsv,icatg:icatgv,filter:filterv,terms:termsv,for_terms:for_termv,stxt:txtval,forposttype:forposttypev,nxtpg:nxtpgv,nos:nosv,uprm:uparamsrl,orderby:orderbyv};
146		
147		jQuery.post(gr_search.ajaxurl, obj, function(data) {
148		 
149		  elem.attr("data-found",data["found_posts"]).data("found",data["found_posts"]);
150		  elem.attr("data-nopg",data["nopg"]).data("nopg",data["nopg"]);
151		  elem.attr("data-total",data["total_pages"]).data("total",data["total_pages"]);
152		  elem.attr("data-vw",data["vwno"]).data("vw",data["vwno"]);
153		  
154		  if(jQuery(loopelemn+"-ldm")){
155			  jQuery(loopelemn+"-ldm .gr-loaded-count").html(data["vwno"]);
156				jQuery(loopelemn+"-ldm .gr-total-count").html(data["found_posts"]);
157			  if(parseInt(data["vwno"])==parseInt(data["found_posts"]) || parseInt(data["found_posts"])==0){
158				  
159				  jQuery(loopelemn+"-ldm .gr-loadmore-btn").hide();
160				  jQuery(loopelemn+"-ldm .gr-loadmore-divider").hide();
161			  }
162			  else{
163					  jQuery(loopelemn+"-ldm .gr-loadmore-btn").show();
164					  jQuery(loopelemn+"-ldm .gr-loadmore-divider").show();
165				  }
166		  }
167		  if(jQuery(loopelemn+"-pgn")){
168			  grPaginationload(jQuery(loopelemn+"-pgn"),loopelemn);
169		  }
170		  elem.find(".gr-loop-content").html(data["html"]);
171		  elem.find(".gr-loop-loader").addClass("gr-loop-noloader");
172		   
173		},'json');
174
175	}
176	
177	function scrolltoresult(){
178		var elem=jQuery(".gr-cust-loop").first();
179		var tabfiltername=elem.data('tabfilter');
180		var mcontainer = jQuery("html,body");
181		  var etop=0;
182		  var htop=jQuery(".elementor.elementor-location-header").outerHeight(true);
183		  if(tabfiltername){
184			  etop=jQuery('.gr-cust-'+tabfiltername).first().closest(".elementor-section").offset().top;
185		  }
186		  else{
187			  etop=elem.offset().top;
188		  }
189			
190			setTimeout(function(){mcontainer.animate({scrollTop: etop -htop},600);},100);
191	}
192	function grLoadSearch(txtval){
193		var elem=jQuery('.gr-cust-loop').first();
194		var uparamsrl = elem.data('stxt');
195		var nxtpgv=(elem.data('nopg'));
196	var nosv=(elem.data('nos'));
197		var elemtab=jQuery('.gr-cust-tab-filter').first();
198		var ptypev="";
199		var termsv="";
200		var itagsv=elemtab.data("itags");
201		var icatgv=elemtab.data("icatg");
202		var filterv=elemtab.data("filter");
203		var for_termv=elemtab.data("forterms");
204		var forposttypev=elemtab.data("forposttype");
205		switch(elemtab.data("filter")){
206			case "terms":
207				if(elemtab.data("displaytype")=="dropdown"){
208					ptypev=elemtab.find(".gr-tab-items").data("ptype");
209					termsv=elemtab.find(".gr-tab-items :selected").data("terms");
210					}
211				else{
212					ptypev=elemtab.find(".gr-tab-item.gr-selected").data("ptype");
213					termsv=elemtab.find(".gr-tab-item.gr-selected").data("terms");
214				}
215			break;
216			case "post_type":
217				if(elemtab.data("displaytype")=="dropdown"){
218					ptypev=elemtab.find(".gr-tab-items :selected").data("ptype");
219					
220				}
221				else{
222					ptypev=elemtab.find(".gr-tab-item.gr-selected").data("ptype");
223				}
224			break;
225		}
226		jQuery(".gr-cust-loop .gr-loop-content").html("");
227		jQuery(".gr-cust-loop .gr-loop-loader").removeClass("gr-loop-noloader");
228		let obj = {action: 'get_gr_request_list',ptype:ptypev,nos:elem.data("nos"),itags:itagsv,icatg:icatgv,filter:filterv,terms:termsv,for_terms:for_termv,stxt:txtval,forposttype:forposttypev,nxtpg:nxtpgv,nos:nosv,uprm:uparamsrl};
229		
230		
231		jQuery.post(gr_search.ajaxurl, obj, function(data) {
232		
233		 jQuery(".gr-cust-loop").attr("data-found",data["found_posts"]).data("found",data["found_posts"]);
234	  jQuery(".gr-cust-loop").attr("data-nopg",data["nopg"]).data("nopg",data["nopg"]);
235	  jQuery(".gr-cust-loop").attr("data-total",data["total_pages"]).data("total",data["total_pages"]);
236	  jQuery(".gr-cust-loop").attr("data-vw",data["vwno"]).data("vw",data["vwno"]);
237	  jQuery(".gr-cust-loadmore-filter .gr-loaded-count").html(data["vwno"]);
238	  jQuery(".gr-cust-loadmore-filter .gr-total-count").html(data["found_posts"]);
239		if(parseInt(data["vwno"])==parseInt(data["found_posts"]) || parseInt(data["found_posts"])==0){
240		  
241		  jQuery(".gr-cust-loadmore-filter .gr-loadmore-btn").hide();
242		  jQuery(".gr-cust-loadmore-filter .gr-loadmore-divider").hide();
243		}
244		else{
245			  jQuery(".gr-cust-loadmore-filter .gr-loadmore-btn").show();
246			  jQuery(".gr-cust-loadmore-filter .gr-loadmore-divider").show();
247		  }	
248		  
249		  jQuery(".gr-cust-loop .gr-loop-content").html(data["html"]);
250		  jQuery(".gr-cust-loop .gr-loop-loader").addClass("gr-loop-noloader");
251		},'json');
252	}
253	
254});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.