PageSourceSearch

https://digitalfoodconference.nl/wp-content/themes/rehub-theme/js/comparechart.js?ver=1.9

js digitalfoodconference.nl collected 2026-10-08 12:01:24 UTC 13,868 bytes, 375 lines download raw bytes

1jQuery(document).ready(function($) {
2	"use strict";
3	//Compare multigroup functions
4	if ($('#re-compare-bar').length > 0) {
5		$.post(rhscriptvars.ajax_url, {
6			action: 're_compare_panel',
7			security: comparechart.comparenonce
8		}, function (response) {
9			//$('#re-compare-icon-fixed').addClass(response.cssactive);
10			var pageids = response.pageids;
11			var total_comparing_ids = response.total_comparing_ids;
12			var pageid;
13			var total_comparing_id;
14
15			for (let index = 0; index < pageids.length; index++) {
16				var pageid = pageids[index];
17				$('.re-compare-wrap-'+ pageid).html(response.content[pageid]);
18				$('.re-compare-tab-' + pageid + ' span').text(response.count[pageid]);
19				$('.re-compare-tab-' + pageid).attr('data-comparing', response.comparing[pageid]);			
20			}
21
22			for (let index = 0; index < total_comparing_ids.length; index++){//Here we ensure to deactivate compare buttons if item is in compare
23				var total_comparing_id = total_comparing_ids[index];
24				var comparebtn = $('.addcompare-id-' + total_comparing_id);
25				if(comparebtn.hasClass('not-incompare')) {
26	        		comparebtn.removeClass('not-incompare').addClass('comparing'); 	
27	        	}
28			}
29			
30			pageid = $('#re-compare-bar-tabs').children("ul").children("li:first").attr("data-page");
31			$('.re-compare-tab-' + pageid).attr('data-comparing', response.comparing[pageid]);
32
33			var  total_count = response.total_count;
34			if( '' == total_count ) {
35				total_count = 0;
36			}
37			if (total_count > 0){
38				if($('.top_chart').length > 0){
39
40				}
41				else{
42					$('#re-compare-icon-fixed').removeClass('rhhidden');
43				}
44				$('.re-compare-icon-toggle .re-compare-notice').text(total_count);
45			}				
46			
47			var compareurl = $('#re-compare-bar-tabs').children("ul").children("li:first").attr("data-url");
48			var comparing = $('#re-compare-bar-tabs').children("ul").children("li:first").attr("data-comparing");
49			
50			comparing = (comparing) ? '?compareids=' + comparing : '';
51			$('.re-compare-destin').attr('data-compareurl', compareurl + comparing); 
52			
53			$('#re-compare-bar-tabs').children("ul").children("li").on("click", function(){
54				pageid = parseInt($(this).attr("data-page"));
55				compareurl = $(this).attr("data-url");
56				comparing = $(this).attr("data-comparing");
57				comparing = (comparing) ? '?compareids=' + comparing : '';
58				$('.re-compare-destin').attr('data-compareurl', compareurl + comparing); 
59			});			
60		});      
61	}
62
63	//compare multigroup button
64	$(document).on('click', '.wpsm-button-new-compare', function(e){
65	  	var thistoggle = $(this);
66	  	var panel = $('#re-compare-bar');       
67	  	var compareID = thistoggle.data('addcompare-id');
68	  	var alltoggles = $('.addcompare-id-' + compareID); 
69	  	alltoggles.addClass('loading');
70	  	if(thistoggle.hasClass('not-incompare')) {       
71	     	$.post(rhscriptvars.ajax_url, {
72	        	action: 're_add_compare',
73	        	compareID: compareID,
74	        	perform: 'add',
75	        	security: comparechart.comparenonce
76	     	}, function (response) {   
77	        	//panel.addClass('active'); 
78	        	alltoggles.removeClass('not-incompare').removeClass('loading');
79	        	alltoggles.addClass('comparing'); 
80	        	if($('.top_chart').length > 0){
81
82				}
83				else{
84					$('#re-compare-icon-fixed').removeClass('rhhidden');
85				}
86			
87	        	$('.re-compare-wrap-' + response.pageid).append(response.content).find(".re-compare-item:last").hide().fadeIn('slow');
88	        	$('.re-compare-tab-' + response.pageid+' span').text(response.count);
89				$('.re-compare-tab-' + response.pageid).attr('data-comparing', response.comparing);
90
91				var  total_count = $('.re-compare-icon-toggle .re-compare-notice').first().text();
92				$('.re-compare-icon-toggle .re-compare-notice').text(parseInt(total_count) + 1);				
93			
94				var compareurl = $('.re-compare-tab-' + response.pageid).data('url');
95				$('.re-compare-destin').attr('data-compareurl', compareurl + '?compareids=' + response.comparing); 
96
97				$('.re-compare-icon-toggle').addClass('proccessed');
98				setTimeout(function() {
99				   $('.re-compare-icon-toggle').removeClass('proccessed');
100				}, 300);				
101
102	     	}); 
103	  	} else {
104	     	$('.compare-item-' + compareID).css({'opacity': '.17'});         
105	     	$.post(rhscriptvars.ajax_url, {
106	        	action: 're_add_compare',
107	        	compareID: compareID,
108	        	perform: 'remove',
109	        	security: comparechart.comparenonce
110	     	}, function (response) {
111	        	alltoggles.addClass('not-incompare');
112	        	alltoggles.removeClass('comparing').removeClass('loading');
113			
114	        	$('.compare-item-' + compareID).remove(); 
115	        	$('.re-compare-tab-' + response.pageid + ' span').text(response.count);
116				$('.re-compare-tab-' + response.pageid).attr('data-comparing', response.comparing);
117
118				var total_count = $('.re-compare-icon-toggle .re-compare-notice').first().text();
119				$('.re-compare-icon-toggle .re-compare-notice').text(parseInt(total_count) - 1);
120			
121				var compareurl = $('.re-compare-tab-' + response.pageid).data('url'); 
122			
123	        	if(total_count <= 1) {
124	           		panel.removeClass('active');
125	           		$('#re-compare-icon-fixed').addClass('rhhidden');
126	        	}
127
128	        	$('.re-compare-destin').attr('data-compareurl', compareurl + '?compareids=' + response.comparing); 
129
130				$('.re-compare-icon-toggle').addClass('proccessed');
131				setTimeout(function() {
132				   $('.re-compare-icon-toggle').removeClass('proccessed');
133				}, 300);
134
135	     	});                
136	  	} 
137	});  
138
139	//Compare multigroup close button
140	$('body').on('click', '.re-compare-new-close', function(e){
141	  	var block = $(this).parent();
142	  	var panel = $('#re-compare-bar');       
143	  	var compareID = block.data('compareid');
144	  	var alltoggles = $('.addcompare-id-' + compareID);
145	  	block.css({'opacity': '.17'});
146	  	$.post(rhscriptvars.ajax_url, {
147	     	action: 're_add_compare',
148	     	compareID: compareID,
149	     	perform: 'remove',
150	     	security: comparechart.comparenonce    
151	  	}, function (response) { 
152	     	alltoggles.addClass('not-incompare').removeClass('comparing');           
153	     	block.remove(); 
154		 
155	     	$('.re-compare-tab-' + response.pageid + ' span').text(response.count);
156		 	$('.re-compare-tab-' + response.pageid).attr('data-comparing', response.comparing);
157
158			var  total_count = $('.re-compare-icon-toggle .re-compare-notice').first().text();
159			$('.re-compare-icon-toggle .re-compare-notice').text(parseInt(total_count) - 1);		 	
160		 
161			var compareurl = $('.re-compare-tab-' + response.pageid).data('url'); 
162			var comparing = $('.re-compare-tab-' + response.pageid).data('comparing');
163		 
164	    	if(total_count <= 1) {
165	        	panel.removeClass('active');
166	        	$('#re-compare-icon-fixed').addClass('rhhidden');
167	    	}
168	    	$('.re-compare-destin').attr('data-compareurl', compareurl + '?compareids=' + response.comparing);         
169	  	});   
170	}); 
171
172	// Compare multigroup click button
173	$( 'body' ).on("click", ".re-compare-destin", function(e){
174	  	var $this = $(this);
175	  	var $error = 0;
176	  
177	  	let iftab = $this.closest('#re-compare-bar-tabs');
178		if(iftab.length > 0){
179			var check_tab = $( "#re-compare-bar-tabs ul li.current span" );
180			if( '0' == check_tab.text() ) {
181				$this.after('<p class="re-compare-error">'+ comparechart.item_error_add +'</p>');
182				$error = 1;
183			} else if( '1' == check_tab.text() ) {
184				$this.after('<p class="re-compare-error">'+ comparechart.item_error_comp +'</p>');
185				$error = 1;
186			}
187		}
188		setTimeout(function() {
189		   	$('p.re-compare-error').remove();
190		}, 4500);
191	  
192	  	var compareurl = $this.attr('data-compareurl'); 
193	  	if( compareurl != "" && $error == 0 ){
194	     	window.location.href= compareurl;
195	  	}
196	}); 
197
198	$("#re-compare-bar-tabs").lightTabs();
199
200	$(document).on('click', '.re-compare-icon-toggle, #re-compare-icon-fixed', function(event){
201		event.preventDefault();
202		$('#re-compare-bar').addClass('active');
203	});	
204
205   
206   //Compare close button in chart
207   $(document).on('click touchstart', '.re-compare-close-in-chart', function(e){
208      var block = $(this).closest('.top_rating_item'); 
209      $(this).closest('.table_view_charts').find('li').removeClass('row-is-different');      
210      var compareID = block.data('compareid');    
211      var alltoggles = $('.addcompare-id-' + compareID);  
212      block.css({'opacity': '.17'});
213      $.post(rhscriptvars.ajax_url, {
214         action: 're_add_compare',
215         compareID: compareID,
216         perform: 'remove',
217         security: comparechart.comparenonce    
218      }, function (response) {           
219         block.remove();
220         table_charts_rehub();
221	     alltoggles.addClass('not-incompare');
222	     alltoggles.removeClass('comparing').removeClass('loading');  
223		$('.compare-item-' + compareID).remove(); 
224		$('.re-compare-tab-' + response.pageid + ' span').text(response.count);
225		$('.re-compare-tab-' + response.pageid).attr('data-comparing', response.comparing);
226
227		var total_count = $('.re-compare-icon-toggle .re-compare-notice').first().text();
228		$('.re-compare-icon-toggle .re-compare-notice').text(parseInt(total_count) - 1);
229
230		var compareurl = $('.re-compare-tab-' + response.pageid).data('url'); 
231
232		if($('#re-compare-bar-tabs div ').length == 0) {
233				panel.removeClass('active');
234		} else { 
235			$('.re-compare-destin').attr('data-compareurl', compareurl + '?compareids=' + response.comparing);          
236		}
237
238		$('.re-compare-icon-toggle').addClass('proccessed');
239		setTimeout(function() {
240		   $('.re-compare-icon-toggle').removeClass('proccessed');
241		}, 300);	            
242         if (typeof (history.pushState) != "undefined") {
243            var obj = { Page: 'Compare items', Url: window.location.pathname + '?compareids=' + response.comparing };
244            history.pushState(obj, obj.Page, obj.Url);
245         } else {
246            window.location.href= window.location.pathname + '?compareids=' + response.comparing;
247         }
248         window.location.reload();                                     
249      }); 
250                 
251   });	
252
253});
254
255(function($){				
256	jQuery.fn.lightTabs = function(options){
257		var createTabs = function(){
258			tabs = this;
259			i = 0;
260			showPage = function(i){
261				$(tabs).children("div").children("div").hide();
262				$(tabs).children("div").children("div").eq(i).show();
263				$(tabs).children("ul").children("li").removeClass("current");
264				$(tabs).children("ul").children("li").eq(i).addClass("current");
265			}	
266			showPage(0);
267			$(tabs).children("ul").children("li").each(function(index, element){
268				$(element).attr("data-id", i);
269				i++;                        
270			});
271			$(tabs).children("ul").children("li").on("click", function(){
272				showPage(parseInt($(this).attr("data-id")));
273			});				
274		};		
275		return this.each(createTabs);
276	};	
277})(jQuery);
278
279(function(window) {
280
281	'use strict';
282
283	var dataSearch = document.getElementById('compare_search_data');
284
285	if( dataSearch == null ){
286		return;
287	}
288
289	var mainContainer = document.querySelector('.rh-outer-wrap'),		
290		openCtrl = document.getElementById('btn_search'),
291		closeCtrl = document.getElementById('btn_search_close'),
292		searchContainer = document.querySelector('.comp-search'),
293		inputSearch = searchContainer.querySelector('.comp-search-input'),
294		outputSearch = searchContainer.querySelector('.comp-ajax-search-wrap');
295
296	function runCompareSearch() {
297		initEvents();	
298	}
299
300	function initEvents() {
301		openCtrl.addEventListener('click', openSearch);
302		closeCtrl.addEventListener('click', closeSearch);
303		document.addEventListener('keyup', function(ev) {
304			// escape key.
305			if( ev.keyCode == 27 ) {
306				closeSearch();
307			}
308			
309			setTimeout(function(){
310				doSearch(inputSearch);
311			}, 100);
312		});
313	}
314
315	function openSearch() {
316		mainContainer.classList.add('rh-outer-wrap-move');
317		searchContainer.classList.add('comp-search-open');
318		setTimeout(function() {
319			inputSearch.focus();
320		}, 600);
321	}
322
323	function closeSearch() {
324		mainContainer.classList.remove('rh-outer-wrap-move');
325		outputSearch.classList.remove('comp-ajax-search-open');
326		outputSearch.innerHTML = "";
327		searchContainer.classList.remove('comp-search-open');
328		inputSearch.blur();
329		inputSearch.value = '';
330	}
331	
332    function doSearch(elem) {
333        var posttype = dataSearch.dataset.posttype;
334        var terms = dataSearch.dataset.terms;
335		var taxonomy = dataSearch.dataset.taxonomy;
336        var search_query = elem.value;
337		
338        if (search_query == '') {
339			outputSearch.innerHTML = "";
340            return;
341        }
342		
343		jQuery('#btn_search_close i').attr('class', 'rhicon fa-spin rhi-spinner-third');
344		
345        jQuery.ajax({
346            type: 'POST',
347            url: rhscriptvars.ajax_url,
348            data: {
349                action: 'add_to_compare_search',
350                search_query : search_query,
351                posttype : posttype,
352                terms : terms,
353				taxonomy : taxonomy,
354				security: comparechart.comparenonce
355            },
356            success: function(data, textStatus, XMLHttpRequest){
357
358				var responseObject = JSON.parse(data);
359				outputSearch.innerHTML = responseObject.compare_html;
360				
361				if (window.innerHeight < 700){
362				  outputSearch.classList.add('comp-ajax-search-overflow');
363				}
364				jQuery('#btn_search_close i').attr('class', 'rhicon rhi-times');
365				outputSearch.classList.add('comp-ajax-search-open');
366            },
367            error: function(MLHttpRequest, textStatus, errorThrown){
368                console.log(errorThrown);
369            }
370        });
371    }
372
373	runCompareSearch();
374
375})(window);

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.