PageSourceSearch

https://dankerath.de/wp-content/plugins/eventON/assets/js/eventon_functions.js?ver=2.8.2

js dankerath.de collected 2026-10-03 02:43:44 UTC 10,182 bytes, 366 lines download raw bytes

1/*
2	Javascript: EventON functions for all calendars
3	version:	0.1
4*/
5(function($){
6	// access page GLOBALS
7		$.fn.evo_get_global = function(opt){
8			var defaults = { S1:'', S2:''}
9			var OPT = $.extend({}, defaults, opt);
10
11			var BUS = $('#evo_global_data').data('d');
12
13			if(!(OPT.S1 in BUS)) return false;
14			if(!(OPT.S2 in BUS[OPT.S1])) return false;
15			return BUS[OPT.S1][OPT.S2];
16		}
17		$.fn.evo_get_txt = function(opt){
18			var defaults = { V:''}
19			var OPT = $.extend({}, defaults, opt);
20
21			var BUS = $('#evo_global_data').data('d');
22			if(!('txt' in BUS)) return false;
23			if(!(OPT.V in BUS.txt)) return false;
24			return BUS.txt[OPT.V];
25		}
26		$.fn.evo_get_cal_def = function(opt){
27			var defaults = { V:''}
28			var OPT = $.extend({}, defaults, opt);
29
30			var BUS = $('#evo_global_data').data('d');
31			if(!('cal_def' in BUS)) return false;
32			if(!(OPT.V in BUS.cal_def)) return false;
33			return BUS.cal_def[OPT.V];
34		}
35
36	// Handlebar process template data into html
37		$.fn.evo_HB_process_template = function(opt){
38			var defaults = { TD:'', part:''}
39			var OPT = $.extend({}, defaults, opt);
40
41			BUS = $('#evo_global_data').data('d');
42						
43			template = Handlebars.compile( BUS.temp[ OPT.part ] );
44			return template( OPT.TD );
45		}
46
47	// Date range and events
48		// Date range and events - from webpage
49		$.fn.evo_cal_events_in_range = function(opt){
50			var defaults = { S:'', E:'', hide: true, 
51				closeEC:true,
52				showEV: false, // show events
53				showEVL: false, // show events list
54			};
55			var OPT = $.extend({}, defaults, opt);
56			var CAL = $(this);
57
58			eJSON = CAL.find('.evo_cal_events').data('events');
59
60			R = {};
61			html = '';
62			json = {};
63
64			show = 0;
65
66			$.each(eJSON, function(ind, ED){
67				eO = CAL.find('#event_'+ ED._ID);
68				if(eO === undefined || eO.length==0) return;
69
70				if(OPT.hide)	eO.hide(); // pre hide
71				this_show = false;
72
73				// month long or year long events
74				if( ED.month_long || ED.year_long ){
75					this_show = true;
76
77				}else{
78					if(CAL.evo_is_in_range({
79						'S': OPT.S,	'E': OPT.E,	'start': ED.event_start_unix ,	'end':ED.event_end_unix 
80					})){						
81						this_show = true;
82					} 
83				}
84				
85				if( this_show){	
86					// show event
87					if( OPT.showEV) eO.show();
88
89					// close open event cards
90					if(OPT.closeEC && SC.evc_open == 'no') eO.find('.event_description').hide().removeClass('open');
91
92					html += eO[0].outerHTML;
93					json[ ED._ID] = ED;
94					show++;	
95				} 
96			});
97
98			// No events
99			if( OPT.showEV){
100				tx_noevents = CAL.evo_get_txt({V:'no_events'});
101				EL = CAL.find('.eventon_events_list');
102				EL.find('.eventon_list_event.no_events').remove();
103				if( show == 0 )
104					EL.append('<div class="eventon_list_event no_events"><p class="no_events">'+tx_noevents+'</p></div>');
105			}
106
107			// if show events list
108			if( OPT.showEVL){
109				CAL.find('.eventon_events_list').show().removeClass('evo_hide');
110			}
111
112			R['count'] = show;
113			R['html'] = html;
114			R['json'] = json;
115
116			return R;
117		}
118		$.fn.evo_is_in_range = function(opt){
119			var defaults = { S:'', E:'', start:'',end:''}
120			var OPT = $.extend({}, defaults, opt);
121
122			S = parseInt(OPT.S);
123			E = parseInt(OPT.E);
124			start = parseInt(OPT.start);
125			end = parseInt(OPT.end);
126
127			return (
128				( start <= S && end >= E ) ||
129				( start <= S && end >= S && end <= E) ||
130				( start <= E && end >= E ) ||
131				( start >= S && end <= E )
132			) ? true: false;
133		}
134		$.fn.evo_cal_hide_events = function(){
135			CAL = $(this);
136			CAL.find('.eventon_list_event').hide();
137		}
138
139	// DATE time functions @+2.8		
140		$.fn.evo_day_in_month = function(opt){
141			var defaults = { M:'', Y:''}
142			var OPT = $.extend({}, defaults, opt);
143
144			return new Date(OPT.Y, OPT.M, 0).getDate();
145		}
146		$.fn.evo_get_day_name_index = function(opt){
147			var defaults = { M:'', Y:'', D:''}
148			var OPT = $.extend({}, defaults, opt);
149
150			//return moment(OPT.Y+'-'+OPT.M+'-'+OPT.D).utc().day();
151
152			return new Date(  Date.UTC(OPT.Y, OPT.M-1, OPT.D) ).getUTCDay();
153		}
154
155	// page Lightbox functions @+2.8
156	// append to the lightbox main class name .evo_lightbox
157		$.fn.evo_prepare_lb = function(){
158			$(this).find('.evo_lightbox_body').html('');
159		}
160		$.fn.evo_show_lb = function(opt){
161			var defaults = { RTL:'', calid:''}
162			var OPT = $.extend({}, defaults, opt);
163
164			$(this).addClass('show '+ OPT.RTL).attr('data-cal_id', OPT.calid);
165			$('body').trigger('evolightbox_show');
166		}
167		$.fn.evo_append_lb = function(opt){
168			var defaults = { C:''}
169			var OPT = $.extend({}, defaults, opt);
170			$(this).find('.evo_lightbox_body').html( OPT.C);
171		}
172
173	// Shortcodes
174		// update shortcode values from filter changes
175		$.fn.evo_update_sc_from_filters = function(){
176			var ev_cal = $(this); 	
177			SC = ev_cal.find('.evo_cal_data').data('sc');		
178
179			var filter_section = ev_cal.find('.eventon_filter_line');
180			
181			filter_section.find('.eventon_filter').each(function(index){
182				O = $(this);
183				var filter_val = O.data('filter_val');	
184				filter_val = filter_val == ''? 'NOT-all': filter_val;				
185
186				ADD = (O.data('fl_o') && O.data('fl_o') != 'IN')? O.data('fl_o')+'-': '';
187				SC[ O.data('filter_field') ] = ADD + filter_val;
188			});	
189
190			ev_cal.find('.evo_cal_data').data( 'sc', SC );
191		}
192		
193		// get shortcodes from evo bottom
194		$.fn.evo_shortcode_data = function(){			
195			var ev_cal = $(this);
196			return ev_cal.find('.evo_cal_data').data('sc');			
197		}
198
199		// get shortcode single value
200		$.fn.evo_get_sc_val = function(opt){
201			var defaults = {	F:''}
202			var OPT = $.extend({}, defaults, opt);
203			var ev_cal = $(this); 
204
205			if(OPT.F=='') return false;
206			SC = ev_cal.find('.evo_cal_data').data('sc');
207			if(!(SC[ OPT.F])) return false;
208			return SC[ OPT.F];
209		}
210		// UPDATE Single value
211		$.fn.evo_update_cal_sc = function(opt){
212			var defaults = {
213				F:'', V:''
214			}
215			var OPT = $.extend({}, defaults, opt);
216			var ev_cal = $(this); 
217			SC = ev_cal.find('.evo_cal_data').data('sc');
218
219			SC[ OPT.F ] = OPT.V;
220
221			ev_cal.find('.evo_cal_data').data( 'sc', SC );
222		}
223		// UPDATE all shortcode values
224		$.fn.evo_update_all_cal_sc = function(opt){
225			var defaults = {SC:''}
226			var OPT = $.extend({}, defaults, opt);
227			var CAL = $(this);
228			CAL.find('.evo_cal_data').data( 'sc', OPT.SC );
229		}
230
231	// OTHERS
232		// hex colors // @+2.8
233		$.fn.evo_is_hex_dark = function(opt){
234			var defaults = { hex:'808080'}
235			var OPT = $.extend({}, defaults, opt);
236
237			hex = OPT.hex;
238
239			var c = hex.replace('#','');
240			var is_hex = typeof c === 'string' && c.length === 6 && !isNaN(Number('0x' + c));
241
242			if(is_hex){	
243				var values = c.split('');
244				r = parseInt(values[0].toString() + values[1].toString(), 16);
245			    g = parseInt(values[2].toString() + values[3].toString(), 16);
246			    b = parseInt(values[4].toString() + values[5].toString(), 16);
247			}else{
248				var vals = c.substring(c.indexOf('(') +1, c.length -1).split(', ');
249				var r = vals[0]  // extract red
250				var g = vals[1];  // extract green
251				var b = vals[2];
252			}
253
254			var luma = ((r * 299) + (g * 587) + (b * 114)) / 1000; // per ITU-R BT.709
255
256			return luma>155? true:false;
257		}
258	// Other data
259		$.fn.evo_get_OD = function(){			
260			var ev_cal = $(this);
261			return ev_cal.find('.evo_cal_data').data('od');			
262		}
263
264	// return all filter values for given calendar -- DEP 2.8
265		$.fn.evoGetFilters = function(){
266
267			var ev_cal = $(this); 
268			var evodata = ev_cal.find('.evo-data');
269			
270			var filters_on = ( evodata.attr('data-filters_on')=='true')?'true':'false';
271			
272			// creat the filtering data array if exist
273			if(filters_on =='true'){
274				var filter_section = ev_cal.find('.eventon_filter_line');
275				var filter_array = [];
276				
277
278				filter_section.find('.eventon_filter').each(function(index){
279					var filter_val = $(this).attr('data-filter_val');
280					
281					if(filter_val !='all'){
282						var filter_ar = {};
283						filter_ar['filter_type'] = $(this).attr('data-filter_type');
284						filter_ar['filter_name'] = $(this).attr('data-filter_field');
285
286						if($(this).attr('data-fl_o')=='NOT'){
287							filter_ar['filter_op']='NOT IN';
288						}
289						filter_ar['filter_val'] = filter_val;
290						filter_array.push(filter_ar);
291					}
292				});		
293			}else{
294				var filter_array ='';
295			}			
296			return filter_array;
297		}
298	// old shortcode method -- DEP
299		$.fn.evo_item_shortcodes = function(){			
300			var OBJ = $(this);
301			var shortcode_array ={};			
302			OBJ.each(function(){	
303				$.each(this.attributes, function(i, attrib){
304					var name = attrib.name;
305					if(attrib.name!='class' && attrib.name!='style' && attrib.value !=''){
306						name__ = attrib.name.split('-');
307						shortcode_array[name__[1]] = attrib.value;	
308					}
309				});
310			});
311			return shortcode_array;
312		}
313		$.fn.evo_shortcodes = function(){			
314			var ev_cal = $(this);
315			var shortcode_array ={};
316					
317			ev_cal.find('.cal_arguments').each(function(){
318				$.each(this.attributes, function(i, attrib){
319					var name = attrib.name;
320					if(attrib.name!='class' && attrib.name!='style' && attrib.value !=''){
321						name__ = attrib.name.split('-');
322						shortcode_array[name__[1]] = attrib.value;	
323					}
324				});
325			});	
326			return shortcode_array;
327		}
328
329		// get evo data for a given calendar
330		$.fn.evo_getevodata = function(){
331
332			var ev_cal = $(this);
333			var evoData = {};
334			
335			ev_cal.find('.evo-data').each(function(){
336				$.each(this.attributes, function(i, attrib){
337					var name = attrib.name;
338					if(attrib.name!='class' && attrib.name!='style' ){
339						name__ = attrib.name.split('-');
340						evoData[name__[1]] = attrib.value;	
341					}
342				});
343			});	
344
345			return evoData;
346		}
347
348	// eventon loading functions
349	// v 2.4.5
350		$.fn.evo_loader_animation = function(opt){
351			var defaults = {
352				direction:'start'
353			}
354			var OPT = $.extend({}, defaults, opt);
355
356			if(OPT.direction == 'start'){
357				$(this).find('#eventon_loadbar').slideDown();
358			}else{
359				$(this).find('#eventon_loadbar').slideUp();
360			}
361		}
362
363	
364		
365
366}(jQuery));

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.