PageSourceSearch

https://www.lahauteville.fr/wp-content/plugins/giweather/extras/mod_giweather/tmpl/js/giweather.js?ver=1.5.1

js lahauteville.fr collected 2026-10-02 23:02:50 UTC 11,195 bytes, 360 lines download raw bytes

1/**
2 * @author     Garda Informatica <[email protected]>
3 * @copyright  Copyright (C) 2015 Garda Informatica. All rights reserved.
4 * @license    http://www.gnu.org/licenses/gpl-3.0.html  GNU General Public License version 3
5 * @package    giWeather Wordpress Widget
6 * @link       http://www.gardainformatica.it
7 */
8
9
10function GIWeatherWidget(giweather_element,options)
11{
12	
13  giweather_element=jQuery(giweather_element);
14	
15	
16	
17  var self = this;
18  var carousel_element = jQuery(".giw-fc-thumb-list-container", giweather_element);
19  
20  var giw_btns_element= jQuery(".giw-btns", giweather_element);
21  var giw_btns = jQuery(".giw-btn", giw_btns_element);
22  
23  
24  var giw_ts_btns_element= jQuery(".giw-ts-btns", giweather_element);
25  var giw_ts_btns = jQuery(".giw-ts-btn", giw_ts_btns_element);
26  
27  var giw_arrow_left = jQuery(".giw-arrow-left", giweather_element);  
28  var giw_arrow_right = jQuery(".giw-arrow-right", giweather_element);  
29
30  var giwlist = jQuery(">div", carousel_element);
31  var giwthumbs = jQuery(">div>div", carousel_element);
32
33  var giwthumb_width = giwthumbs.first().outerWidth();
34  var giwthumb_count = giwthumbs.length;
35  
36	giwlist.width(giwthumb_width*giwthumb_count);
37  
38  var num_visible_giwthumb=Math.ceil(carousel_element.width()/giwthumb_width);
39
40  var px=0;
41  
42  var current_giwthumb = 0;
43
44  this.setCurrentThumb=function(thumb){
45		var num_to_slide=(carousel_element.width()/giwthumb_width)/2;
46
47		var num_prev=thumb.prevAll().length;
48		px=-num_prev*giwthumb_width-giwthumb_width*0.5+giwthumb_width*num_to_slide;
49	  
50		px=Math.round(px/giwthumb_width)*giwthumb_width;
51		
52		var ww=Math.floor(carousel_element.width()/giwthumb_width)*giwthumb_width;
53		var minpx=ww-giwthumb_width*giwthumb_count;
54		var maxpx=0;
55		
56		
57		px=Math.max(px,minpx);
58		px=Math.min(px,0);
59		
60		giwlist.css("left", px+"px");
61		giwlist.addClass("animate");
62	
63		giwthumbs.removeClass('giw-fc-thumb-current');
64		thumb.addClass('giw-fc-thumb-current');
65		
66		//setCurrentThumb
67		jQuery('.giw-fc-current-date',giweather_element).text(jQuery('.giw-fc-thumb-day',thumb).text());
68		jQuery('.giw-fc-current-desc',giweather_element).text(jQuery('.giw-fc-thumb-img',thumb).attr("title"));
69		jQuery('.giw-fc-current-temp .giw-tc',giweather_element).text(jQuery('.giw-fc-thumb-perc-temp .giw-tc',thumb).text().slice(0, - 1));//max
70		jQuery('.giw-fc-current-temp .giw-tf',giweather_element).text(jQuery('.giw-fc-thumb-perc-temp .giw-tf',thumb).text().slice(0, - 1));//max
71		
72		var el=jQuery('.giw-fc-thumb-humidity-val',thumb);
73		if (el.length==1){
74			jQuery('.giw-fc-cur-humidity > span',giweather_element).text(el.text());
75			jQuery('.giw-fc-cur-humidity',giweather_element).show();
76		}else{
77			jQuery('.giw-fc-cur-humidity',giweather_element).hide();
78		}
79		
80		var el_metric=jQuery('.giw-fc-thumb-pressure-val > .giw-metric',thumb);
81		var el_imperial=jQuery('.giw-fc-thumb-pressure-val > .giw-imperial',thumb);
82		if (el_metric.length==1){
83			jQuery('.giw-fc-cur-pressure > span.giw-metric',giweather_element).text(el_metric.text());
84			jQuery('.giw-fc-cur-pressure > span.giw-imperial',giweather_element).text(el_imperial.text());
85			jQuery('.giw-fc-cur-pressure',giweather_element).show();
86		}else{
87			jQuery('.giw-fc-cur-pressure',giweather_element).hide();
88		}
89		
90		el_metric=jQuery('.giw-fc-thumb-wind-val > .giw-metric',thumb);
91		el_imperial=jQuery('.giw-fc-thumb-wind-val > .giw-imperial',thumb);
92		if (el_metric.length==1){
93			jQuery('.giw-fc-cur-wind > span.giw-metric',giweather_element).text(el_metric.text());
94			jQuery('.giw-fc-cur-wind > span.giw-imperial',giweather_element).text(el_imperial.text());
95			jQuery('.giw-fc-cur-wind',giweather_element).show();
96		}else{
97			jQuery('.giw-fc-cur-wind',giweather_element).hide();
98		}
99		
100		var full_img=jQuery('.giw-fc-full-img',thumb).clone();
101		full_img.removeClass('giw-fc-full-img');
102		full_img.addClass('giw-fc-current-icon');
103		
104		jQuery('.giw-fc-current-icon',giweather_element).replaceWith(full_img);
105		
106		
107	}
108
109
110  var hc=new Hammer(carousel_element[0]);
111  hc.get('pan').set({ direction: Hammer.DIRECTION_HORIZONTAL });
112  hc.on("panleft panright panend pancancel tap", function (ev){
113    switch(ev.type) {
114      case 'panend':
115      case 'pancancel':
116		//console.log("end"+ev.deltaX+" vel"+ev.velocityX);
117		px=px+ev.deltaX;
118		px=Math.round(px/giwthumb_width)*giwthumb_width;
119		
120		var ww=Math.floor(carousel_element.width()/giwthumb_width)*giwthumb_width;
121		var minpx=ww-giwthumb_width*giwthumb_count;
122		var maxpx=0;
123		
124		
125		px=Math.max(px,minpx);
126		px=Math.min(px,0);
127		
128		giwlist.css("left", px+"px");
129	    giwlist.addClass("animate");
130		break;
131      case 'panleft':
132      case 'panright':
133	  //console.log("pan"+ev.deltaX+" vel"+ev.velocityX);
134		//break;
135		var tmpx=px+ev.deltaX;
136		
137		var ww=Math.floor(carousel_element.width()/giwthumb_width)*giwthumb_width;
138		var minpx=ww-giwthumb_width*giwthumb_count;
139		var maxpx=0;
140		
141		if (tmpx<minpx){
142			tmpx=minpx+(tmpx-minpx)*0.3;
143		}else if (tmpx>maxpx){
144			tmpx=maxpx+(tmpx-maxpx)*0.3;
145		}
146		
147	    giwlist.removeClass("animate");
148		giwlist.css("left", (tmpx)+"px");
149		
150        break;
151      case 'tap':
152	  
153			var thumb=jQuery(ev.target).closest('.giw-fc-thumb');
154			if (thumb.length==1){
155				self.setCurrentThumb(thumb);
156			}
157			
158			
159	  
160		break;
161
162    }	  
163  });
164  
165
166  
167  this.setBtnView=function(btn){
168	giw_btns.removeClass('giw-btn-clicked');
169	giw_btns.addClass('giw-btn-notclicked');
170	btn.addClass('giw-btn-clicked');
171	btn.removeClass('giw-btn-notclicked');
172	
173	if (btn.hasClass('giw-btn-temp')){
174		jQuery('.giw-fc-thumb-temp-hist',giwthumbs).show();
175		jQuery('.giw-fc-thumb-wind',giwthumbs).hide();
176	}else{
177		jQuery('.giw-fc-thumb-temp-hist',giwthumbs).hide();
178		jQuery('.giw-fc-thumb-wind',giwthumbs).show();
179	}
180	  
181  }
182  
183  
184  var hb=new Hammer(giw_btns_element[0]);
185  hb.on("tap", function(ev){
186	  
187		var btn=jQuery(ev.target).closest('.giw-btn');
188		if (btn.length==1){
189			self.setBtnView(btn);
190		}
191  });
192  
193  this.setTemperatureScaleBtnView=function(btn){
194	giw_ts_btns.removeClass('giw-ts-btn-active');
195	btn.addClass('giw-ts-btn-active');
196	
197	if (btn.hasClass('giw-ts-btn-celsius')){
198		jQuery('.giw-imperial',giweather_element).hide();
199		jQuery('.giw-metric',giweather_element).show();
200		jQuery('.giw-tf',giweather_element).hide();
201		jQuery('.giw-tc',giweather_element).show();
202	}else{
203		jQuery('.giw-imperial',giweather_element).show();
204		jQuery('.giw-metric',giweather_element).hide();
205		jQuery('.giw-tf',giweather_element).show();
206		jQuery('.giw-tc',giweather_element).hide();
207	}
208	  
209  }
210  
211  var ht=new Hammer(giw_ts_btns_element[0]);
212  ht.on("tap", function(ev){
213	  
214		var btn=jQuery(ev.target).closest('.giw-ts-btn');
215		if (btn.length==1){
216			self.setTemperatureScaleBtnView(btn);
217		}
218  });
219  
220  this.prevOrNext=function(is_prev){
221		
222		var num_visible_thumb=Math.floor(carousel_element.width()/giwthumb_width);
223		
224		var num_to_slide=Math.max(Math.floor(num_visible_thumb/2),1);
225		
226		var ww=num_visible_thumb*giwthumb_width;
227		var minpx=ww-giwthumb_width*giwthumb_count;
228		var maxpx=0;
229		
230	  deltax=-num_to_slide*giwthumb_width;
231	  if (is_prev){
232		  //prev
233		  deltax=deltax*-1;;
234	  }
235	  
236		px=px+deltax;
237		px=Math.round(px/giwthumb_width)*giwthumb_width;
238		
239		px=Math.max(px,minpx);
240		px=Math.min(px,0);
241		
242		giwlist.css("left", px+"px");
243		giwlist.addClass("animate");
244	  
245  }
246  
247  var hl=new Hammer(giw_arrow_left[0]);
248  hl.on("tap", function(ev){
249		//left
250		self.prevOrNext(true);
251  });
252  
253  var hr=new Hammer(giw_arrow_right[0]);
254  hr.on("tap", function(ev){
255		//right
256		self.prevOrNext(false);
257  });
258  
259  self.setCurrentThumb(jQuery('.giw-fc-thumb:first',giwlist));
260  self.setBtnView(jQuery('.giw-btn-temp',giw_btns_element));
261  
262  if (options['unitofmeasure']=='metric'){
263	self.setTemperatureScaleBtnView(jQuery('.giw-ts-btn-celsius',giw_ts_btns_element));
264  }else{
265	self.setTemperatureScaleBtnView(jQuery('.giw-ts-btn-fahrenheit',giw_ts_btns_element));
266  }
267  
268  if (!options['show_head_details']){
269	   jQuery('.giw-fc-current-city',giweather_element).hide();
270	   jQuery('.giw-fc-current-date',giweather_element).hide();
271	   jQuery('.giw-fc-current-desc',giweather_element).hide();
272	   
273	   jQuery('.giw-fc-current-main',giweather_element).css('padding-top',0);
274  }
275  if (!options['show_right_details']){
276	  jQuery('.giw-fc-current-right',giweather_element).hide();
277  }
278  if (!options['show_forecasts']){
279	  jQuery('.giw-fc-thumb-list-pane',giweather_element).hide();
280  }
281  if (!options['show_forecasts_tempwind']){
282	  jQuery('.giw-fc-thumb-temp',giweather_element).hide();
283	  jQuery('.giw-fc-thumb-wind',giweather_element).hide();
284	  jQuery('.giw-fc-thumb-temp-hist',giweather_element).hide();
285	  jQuery('.giw-btns',giweather_element).hide();
286  }
287  
288	
289	
290  var list_height=jQuery('.giw-fc-thumb-list',giweather_element).outerHeight(true);
291  
292  
293  
294  var arrow_height=jQuery('.giw-arrow:first',giweather_element).outerHeight();
295
296  jQuery('.giw-fc-thumb-list-pane',giweather_element).height(list_height);
297  
298  var arrow_top=(list_height-arrow_height)/2;
299  jQuery('.giw-arrow',giweather_element).css('top',arrow_top+'px');
300  
301  /*
302  if (options['show_mode']=='full'){
303	  //all displayed
304  }else if (options['show_mode']=='no_thumbs'){
305	  jQuery('.giw-fc-thumb-list-pane',giweather_element).hide();
306	  jQuery('.giw-btns',giweather_element).hide();
307  }else if (options['show_mode']=='minimal'){
308	  jQuery('.giw-fc-thumb-list-pane',giweather_element).hide();
309	  jQuery('.giw-fc-current-right',giweather_element).hide();
310  }
311  */
312    
313  var initial_width=giweather_element.outerWidth();
314  
315  
316	jQuery(window).on("load resize orientationchange", function() {
317	  var list_width = jQuery('.giw-fc-thumb-list',giweather_element).width();
318	  var list_container_width = jQuery('.giw-fc-thumb-list-pane',giweather_element).width();
319	  if (list_width<=list_container_width){
320		  jQuery('.giw-fc-thumb-list-container',giweather_element).css('left','0');
321		  jQuery('.giw-fc-thumb-list-container',giweather_element).css('right','0');
322		  jQuery('.giw-arrow',giweather_element).hide();
323	  }else{
324		  jQuery('.giw-fc-thumb-list-container',giweather_element).css('left','28px');
325		  jQuery('.giw-fc-thumb-list-container',giweather_element).css('right','28px');
326		  jQuery('.giw-arrow',giweather_element).show();
327	  }
328
329
330		//aggiusto il px!
331		px=Math.round(px/giwthumb_width)*giwthumb_width;
332		
333		var ww=Math.floor(carousel_element.width()/giwthumb_width)*giwthumb_width;
334		var minpx=ww-giwthumb_width*giwthumb_count;
335		var maxpx=0;
336		
337		
338		px=Math.max(px,minpx);
339		px=Math.min(px,0);
340		
341		giwlist.css("left", px+"px");
342	    giwlist.addClass("animate");
343		
344		  if (options['widget_align']=='right'){
345				var container_width=giweather_element.parent().width();
346				
347				var margin_left=Math.max(container_width-initial_width,0);
348				giweather_element.css("margin-left",margin_left+"px");
349				
350		  }
351		
352		
353		
354		
355	}).resize();
356  
357  
358}
359
360

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.