PageSourceSearch

https://jovialconcepts.org/wp-content/litespeed/js/fd29e3a5fc7e6aa75e5c3a094dc8b8ca.js?ver=a8e6e

js jovialconcepts.org collected 2026-10-05 19:18:34 UTC 3,265 bytes, 18 lines download raw bytes

1/*!
2 * FullCalendar v2.9.0 Google Calendar Plugin
3 * Docs & License: http://fullcalendar.io/
4 * (c) 2016 Adam Shaw
5 */
6(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){module.exports=factory(require('jquery'))}else{factory(jQuery)}})(function($){var API_BASE='https://www.googleapis.com/calendar/v3/calendars';var FC=$.fullCalendar;var applyAll=FC.applyAll;FC.sourceNormalizers.push(function(sourceOptions){var googleCalendarId=sourceOptions.googleCalendarId;var url=sourceOptions.url;var match;if(!googleCalendarId&&url){if(/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(url)){googleCalendarId=url}else if((match=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(url))||(match=/^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(url))){googleCalendarId=decodeURIComponent(match[1])}
7if(googleCalendarId){sourceOptions.googleCalendarId=googleCalendarId}}
8if(googleCalendarId){if(sourceOptions.editable==null){sourceOptions.editable=!1}
9sourceOptions.url=googleCalendarId}});FC.sourceFetchers.push(function(sourceOptions,start,end,timezone){if(sourceOptions.googleCalendarId){return transformOptions(sourceOptions,start,end,timezone,this)}});function transformOptions(sourceOptions,start,end,timezone,calendar){var url=API_BASE+'/'+encodeURIComponent(sourceOptions.googleCalendarId)+'/events?callback=?';var apiKey=sourceOptions.googleCalendarApiKey||calendar.options.googleCalendarApiKey;var success=sourceOptions.success;var data;var timezoneArg;function reportError(message,apiErrorObjs){var errorObjs=apiErrorObjs||[{message:message}];(sourceOptions.googleCalendarError||$.noop).apply(calendar,errorObjs);(calendar.options.googleCalendarError||$.noop).apply(calendar,errorObjs);FC.warn.apply(null,[message].concat(apiErrorObjs||[]))}
10if(!apiKey){reportError("Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/");return{}}
11if(!start.hasZone()){start=start.clone().utc().add(-1,'day')}
12if(!end.hasZone()){end=end.clone().utc().add(1,'day')}
13if(timezone&&timezone!='local'){timezoneArg=timezone.replace(' ','_')}
14data=$.extend({},sourceOptions.data||{},{key:apiKey,timeMin:start.format(),timeMax:end.format(),timeZone:timezoneArg,singleEvents:!0,maxResults:9999});return $.extend({},sourceOptions,{googleCalendarId:null,url:url,data:data,startParam:!1,endParam:!1,timezoneParam:!1,success:function(data){var events=[];var successArgs;var successRes;if(data.error){reportError('Google Calendar API: '+data.error.message,data.error.errors)}else if(data.items){$.each(data.items,function(i,entry){var url=entry.htmlLink||null;if(timezoneArg&&url!==null){url=injectQsComponent(url,'ctz='+timezoneArg)}
15events.push({id:entry.id,title:entry.summary,start:entry.start.dateTime||entry.start.date,end:entry.end.dateTime||entry.end.date,url:url,location:entry.location,description:entry.description})});successArgs=[events].concat(Array.prototype.slice.call(arguments,1));successRes=applyAll(success,this,successArgs);if($.isArray(successRes)){return successRes}}
16return events}})}
17function injectQsComponent(url,component){return url.replace(/(\?.*?)?(#|$)/,function(whole,qs,hash){return(qs?qs+'&':'?')+component+hash})}})
18;

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.