pos-gis/public/assets/plugins/custom/fullcalendar/fullcalendar.bundle.min.js

120 lines
336 KiB
JavaScript
Raw Permalink Normal View History

2024-10-07 06:13:42 +00:00
/*!
FullCalendar Core Package v4.4.1
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global=global||self).FullCalendar={})}(this,(function(exports){"use strict";var elementPropHash={className:!0,colSpan:!0,rowSpan:!0},containerTagHash={"<tr":"tbody","<td":"tr"};function createElement(tagName,attrs,content){var el=document.createElement(tagName);if(attrs)for(var attrName in attrs)"style"===attrName?applyStyle(el,attrs[attrName]):elementPropHash[attrName]?el[attrName]=attrs[attrName]:el.setAttribute(attrName,attrs[attrName]);return"string"==typeof content?el.innerHTML=content:null!=content&&appendToElement(el,content),el}function htmlToElement(html){html=html.trim();var container=document.createElement(computeContainerTag(html));return container.innerHTML=html,container.firstChild}function htmlToElements(html){return Array.prototype.slice.call(htmlToNodeList(html))}function htmlToNodeList(html){html=html.trim();var container=document.createElement(computeContainerTag(html));return container.innerHTML=html,container.childNodes}function computeContainerTag(html){return containerTagHash[html.substr(0,3)]||"div"}function appendToElement(el,content){for(var childNodes=normalizeContent(content),i=0;i<childNodes.length;i++)el.appendChild(childNodes[i])}function prependToElement(parent,content){for(var newEls=normalizeContent(content),afterEl=parent.firstChild||null,i=0;i<newEls.length;i++)parent.insertBefore(newEls[i],afterEl)}function insertAfterElement(refEl,content){for(var newEls=normalizeContent(content),afterEl=refEl.nextSibling||null,i=0;i<newEls.length;i++)refEl.parentNode.insertBefore(newEls[i],afterEl)}function normalizeContent(content){var els;return els="string"==typeof content?htmlToElements(content):content instanceof Node?[content]:Array.prototype.slice.call(content)}function removeElement(el){el.parentNode&&el.parentNode.removeChild(el)}var matchesMethod=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.msMatchesSelector,closestMethod=Element.prototype.closest||function(selector){var el=this;if(!document.documentElement.contains(el))return null;do{if(elementMatches(el,selector))return el;el=el.parentElement||el.parentNode}while(null!==el&&1===el.nodeType);return null};function elementClosest(el,selector){return closestMethod.call(el,selector)}function elementMatches(el,selector){return matchesMethod.call(el,selector)}function findElements(container,selector){for(var containers=container instanceof HTMLElement?[container]:container,allMatches=[],i=0;i<containers.length;i++)for(var matches=containers[i].querySelectorAll(selector),j=0;j<matches.length;j++)allMatches.push(matches[j]);return allMatches}function findChildren(parent,selector){for(var parents=parent instanceof HTMLElement?[parent]:parent,allMatches=[],i=0;i<parents.length;i++)for(var childNodes=parents[i].children,j=0;j<childNodes.length;j++){var childNode=childNodes[j];selector&&!elementMatches(childNode,selector)||allMatches.push(childNode)}return allMatches}function forceClassName(el,className,bool){bool?el.classList.add(className):el.classList.remove(className)}var PIXEL_PROP_RE=/(top|left|right|bottom|width|height)$/i;function applyStyle(el,props){for(var propName in props)applyStyleProp(el,propName,props[propName])}function applyStyleProp(el,name,val){null==val?el.style[name]="":"number"==typeof val&&PIXEL_PROP_RE.test(name)?el.style[name]=val+"px":el.style[name]=val}function pointInsideRect(point,rect){return point.left>=rect.left&&point.left<rect.right&&point.top>=rect.top&&point.top<rect.bottom}function intersectRects(rect1,rect2){var res={left:Math.max(rect1.left,rect2.left),right:Math.min(rect1.right,rect2.right),top:Math.max(rect1.top,rect2.top),bottom:Math.min(rect1.bottom,rect2.bottom)};return res.left<res.right&&res.top<res.bottom&&res}function translateRect(rect,deltaX,deltaY){return{left:rect.left+deltaX,right:rect.right+deltaX,top:rect.top+deltaY,bottom:rect.bottom+deltaY}}function constrainPoint(point,rect){return{left:Ma
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t}).apply(this,arguments)};function parseRecurring(eventInput,allDayDefault,dateEnv,recurringTypes,leftovers){for(var i=0;i<recurringTypes.length;i++){var localLeftovers={},parsed=recurringTypes[i].parse(eventInput,localLeftovers,dateEnv);if(parsed){var allDay=localLeftovers.allDay;return delete localLeftovers.allDay,null==allDay&&null==(allDay=allDayDefault)&&null==(allDay=parsed.allDayGuess)&&(allDay=!1),__assign(leftovers,localLeftovers),{allDay:allDay,duration:parsed.duration,typeData:parsed.typeData,typeId:i}}}return null}function expandRecurringRanges(eventDef,duration,framingRange,dateEnv,recurringTypes){var typeDef,markers=recurringTypes[eventDef.recurringDef.typeId].expand(eventDef.recurringDef.typeData,{start:dateEnv.subtract(framingRange.start,duration),end:framingRange.end},dateEnv);return eventDef.allDay&&(markers=markers.map(startOfDay)),markers}var hasOwnProperty=Object.prototype.hasOwnProperty;function mergeProps(propObjs,complexProps){var dest={},i,name,complexObjs,j,val,props;if(complexProps)for(i=0;i<complexProps.length;i++){for(name=complexProps[i],complexObjs=[],j=propObjs.length-1;j>=0;j--)if("object"==typeof(val=propObjs[j][name])&&val)complexObjs.unshift(val);else if(void 0!==val){dest[name]=val;break}complexObjs.length&&(dest[name]=mergeProps(complexObjs))}for(i=propObjs.length-1;i>=0;i--)for(name in props=propObjs[i])name in dest||(dest[name]=props[name]);return dest}function filterHash(hash,func){var filtered={};for(var key in hash)func(hash[key],key)&&(filtered[key]=hash[key]);return filtered}function mapHash(hash,func){var newHash={};for(var key in hash)newHash[key]=func(hash[key],key);return newHash}function arrayToHash(a){for(var hash={},_i=0,a_1=a;_i<a_1.length;_i++){var item;hash[a_1[_i]]=!0}return hash}function hashValuesToArray(obj){var a=[];for(var key in obj)a.push(obj[key]);return a}function isPropsEqual(obj0,obj1){for(var key in obj0)if(hasOwnProperty.call(obj0,key)&&!(key in obj1))return!1;for(var key in obj1)if(hasOwnProperty.call(obj1,key)&&obj0[key]!==obj1[key])return!1;return!0}function parseEvents(rawEvents,sourceId,calendar,allowOpenRange){for(var eventStore={defs:{},instances:{}},_i=0,rawEvents_1=rawEvents;_i<rawEvents_1.length;_i++){var rawEvent,tuple=parseEvent(rawEvents_1[_i],sourceId,calendar,allowOpenRange);tuple&&eventTupleToStore(tuple,eventStore)}return eventStore}function eventTupleToStore(tuple,eventStore){return void 0===eventStore&&(eventStore={defs:{},instances:{}}),eventStore.defs[tuple.def.defId]=tuple.def,tuple.instance&&(eventStore.instances[tuple.instance.instanceId]=tuple.instance),eventStore}function expandRecurring(eventStore,framingRange,calendar){var dateEnv=calendar.dateEnv,defs=eventStore.defs,instances=eventStore.instances;for(var defId in instances=filterHash(instances,(function(instance){return!defs[instance.defId].recurringDef})),defs){var def=defs[defId];if(def.recurringDef){var duration=def.recurringDef.duration;duration||(duration=def.allDay?calendar.defaultAllDayEventDuration:calendar.defaultTimedEventDuration);for(var starts,_i=0,starts_1=expandRecurringRanges(def,duration,framingRange,calendar.dateEnv,calendar.pluginSystem.hooks.recurringTypes);_i<starts_1.length;_i++){var start=starts_1[_i],instance=createEventInstance(defId,{start:start,end:dateEnv.add(start,duration)});instances[instance.instanceId]=instance}}}return{defs:defs,instances:instances}}function getRelevantEvents(eventStore,instanceId){var i
/*!
FullCalendar Day Grid Plugin v4.4.1
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],factory):factory((global=global||self).FullCalendarDayGrid={},global.FullCalendar)}(this,(function(exports,core){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t}).apply(this,arguments)},DayGridDateProfileGenerator=function(_super){function DayGridDateProfileGenerator(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(DayGridDateProfileGenerator,_super),DayGridDateProfileGenerator.prototype.buildRenderRange=function(currentRange,currentRangeUnit,isRangeAllDay){var dateEnv=this.dateEnv,renderRange=_super.prototype.buildRenderRange.call(this,currentRange,currentRangeUnit,isRangeAllDay),start=renderRange.start,end=renderRange.end,endOfWeek;if(/^(year|month)$/.test(currentRangeUnit)&&(start=dateEnv.startOfWeek(start),(endOfWeek=dateEnv.startOfWeek(end)).valueOf()!==end.valueOf()&&(end=core.addWeeks(endOfWeek,1))),this.options.monthMode&&this.options.fixedWeekCount){var rowCnt=Math.ceil(core.diffWeeks(start,end));end=core.addWeeks(end,6-rowCnt)}return{start:start,end:end}},DayGridDateProfileGenerator}(core.DateProfileGenerator),Popover=function(){function Popover(options){var _this=this;this.isHidden=!0,this.margin=10,this.documentMousedown=function(ev){_this.el&&!_this.el.contains(ev.target)&&_this.hide()},this.options=options}return Popover.prototype.show=function(){this.isHidden&&(this.el||this.render(),this.el.style.display="",this.position(),this.isHidden=!1,this.trigger("show"))},Popover.prototype.hide=function(){this.isHidden||(this.el.style.display="none",this.isHidden=!0,this.trigger("hide"))},Popover.prototype.render=function(){var _this=this,options=this.options,el=this.el=core.createElement("div",{className:"fc-popover "+(options.className||""),style:{top:"0",left:"0"}});"function"==typeof options.content&&options.content(el),options.parentEl.appendChild(el),core.listenBySelector(el,"click",".fc-close",(function(ev){_this.hide()})),options.autoHide&&document.addEventListener("mousedown",this.documentMousedown)},Popover.prototype.destroy=function(){this.hide(),this.el&&(core.removeElement(this.el),this.el=null),document.removeEventListener("mousedown",this.documentMousedown)},Popover.prototype.position=function(){var options=this.options,el=this.el,elDims=el.getBoundingClientRect(),origin=core.computeRect(el.offsetParent),clippingRect=core.computeClippingRect(options.parentEl),top,left;top=options.top||0,left=void 0!==options.left?options.left:void 0!==options.right?options.right-elDims.width:0,top=Math.min(top,clippingRect.bottom-elDims.height-this.margin),top=Math.max(top,clippingRect.top+this.margin),left=Math.min(left,clippingRect.right-elDims.width-this.margin),left=Math.max(left,clippingRect.left+this.margin),core.applyStyle(el,{top:top-origin.top,left:left-origin.left})},Popover.prototype.trigger=function(name){this.options[name]&&this.options[name].apply(this,Array.prototype.slice.call(arguments,1))},Popover}(),SimpleDayGridEventRenderer=function(_super){function SimpleDayGridEventRenderer(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(SimpleDayGridEventRenderer,_super),SimpleDayGridEventRenderer.prototype.renderSegHtml=function(seg,mirrorInfo){var context=this.context,eventRange=seg.eventRange,eventDef=eventRange.def,eventUi=eventRange.ui,allDay=eventDef.allDay,isDraggable=core.computeEventDraggable(context,eventDef,eventUi),isResizableFromStart=allDay&&seg.isStart&&core.computeEventStartResizable(context,eventDef,eventUi),isResizableFromEnd=allDay&&seg.isEnd&&core.computeEventEndResizable(context,eventDef,eventUi),classes=this.getSegClasses(seg,isDraggable,isResizableFromSt
/*!
FullCalendar Google Calendar Plugin v4.4.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],factory):factory((global=global||self).FullCalendarGoogleCalendar={},global.FullCalendar)}(this,(function(exports,core){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t}).apply(this,arguments)},API_BASE="https://www.googleapis.com/calendar/v3/calendars",STANDARD_PROPS={url:String,googleCalendarApiKey:String,googleCalendarId:String,googleCalendarApiBase:String,data:null},eventSourceDef={parseMeta:function(raw){if("string"==typeof raw&&(raw={url:raw}),"object"==typeof raw){var standardProps=core.refineProps(raw,STANDARD_PROPS);if(!standardProps.googleCalendarId&&standardProps.url&&(standardProps.googleCalendarId=parseGoogleCalendarId(standardProps.url)),delete standardProps.url,standardProps.googleCalendarId)return standardProps}return null},fetch:function(arg,onSuccess,onFailure){var calendar=arg.calendar,meta=arg.eventSource.meta,apiKey=meta.googleCalendarApiKey||calendar.opt("googleCalendarApiKey");if(apiKey){var url=buildUrl(meta),requestParams_1=buildRequestParams(arg.range,apiKey,meta.data,calendar.dateEnv);core.requestJson("GET",url,requestParams_1,(function(body,xhr){body.error?onFailure({message:"Google Calendar API: "+body.error.message,errors:body.error.errors,xhr:xhr}):onSuccess({rawEvents:gcalItemsToRawEventDefs(body.items,requestParams_1.timeZone),xhr:xhr})}),(function(message,xhr){onFailure({message:message,xhr:xhr})}))}else onFailure({message:"Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"})}};function parseGoogleCalendarId(url){var match;return/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(url)?url:(match=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(url))||(match=/^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(url))?decodeURIComponent(match[1]):void 0}function buildUrl(meta){var apiBase=meta.googleCalendarApiBase;return apiBase||(apiBase=API_BASE),apiBase+"/"+encodeURIComponent(meta.googleCalendarId)+"/events"}function buildRequestParams(range,apiKey,extraParams,dateEnv){var params,startStr,endStr;return dateEnv.canComputeOffset?(startStr=dateEnv.formatIso(range.start),endStr=dateEnv.formatIso(range.end)):(startStr=core.addDays(range.start,-1).toISOString(),endStr=core.addDays(range.end,1).toISOString()),params=__assign({},extraParams||{},{key:apiKey,timeMin:startStr,timeMax:endStr,singleEvents:!0,maxResults:9999}),"local"!==dateEnv.timeZone&&(params.timeZone=dateEnv.timeZone),params}function gcalItemsToRawEventDefs(items,gcalTimezone){return items.map((function(item){return gcalItemToRawEventDef(item,gcalTimezone)}))}function gcalItemToRawEventDef(item,gcalTimezone){var url=item.htmlLink||null;return url&&gcalTimezone&&(url=injectQsComponent(url,"ctz="+gcalTimezone)),{id:item.id,title:item.summary,start:item.start.dateTime||item.start.date,end:item.end.dateTime||item.end.date,url:url,location:item.location,description:item.description}}function injectQsComponent(url,component){return url.replace(/(\?.*?)?(#|$)/,(function(whole,qs,hash){return(qs?qs+"&":"?")+component+hash}))}var main=core.createPlugin({eventSourceDefs:[eventSourceDef]});exports.default=main,Object.defineProperty(exports,"__esModule",{value:!0})})),
/*!
FullCalendar Interaction Plugin v4.4.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],factory):factory((global=global||self).FullCalendarInteraction={},global.FullCalendar)}(this,(function(exports,core){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t}).apply(this,arguments)};core.config.touchMouseIgnoreWait=500;var ignoreMouseDepth=0,listenerCnt=0,isWindowTouchMoveCancelled=!1,PointerDragging=function(){function PointerDragging(containerEl){var _this=this;this.subjectEl=null,this.downEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=function(ev){if(!_this.shouldIgnoreMouse()&&isPrimaryMouseButton(ev)&&_this.tryStart(ev)){var pev=_this.createEventFromMouse(ev,!0);_this.emitter.trigger("pointerdown",pev),_this.initScrollWatch(pev),_this.shouldIgnoreMove||document.addEventListener("mousemove",_this.handleMouseMove),document.addEventListener("mouseup",_this.handleMouseUp)}},this.handleMouseMove=function(ev){var pev=_this.createEventFromMouse(ev);_this.recordCoords(pev),_this.emitter.trigger("pointermove",pev)},this.handleMouseUp=function(ev){document.removeEventListener("mousemove",_this.handleMouseMove),document.removeEventListener("mouseup",_this.handleMouseUp),_this.emitter.trigger("pointerup",_this.createEventFromMouse(ev)),_this.cleanup()},this.handleTouchStart=function(ev){if(_this.tryStart(ev)){_this.isTouchDragging=!0;var pev=_this.createEventFromTouch(ev,!0);_this.emitter.trigger("pointerdown",pev),_this.initScrollWatch(pev);var target=ev.target;_this.shouldIgnoreMove||target.addEventListener("touchmove",_this.handleTouchMove),target.addEventListener("touchend",_this.handleTouchEnd),target.addEventListener("touchcancel",_this.handleTouchEnd),window.addEventListener("scroll",_this.handleTouchScroll,!0)}},this.handleTouchMove=function(ev){var pev=_this.createEventFromTouch(ev);_this.recordCoords(pev),_this.emitter.trigger("pointermove",pev)},this.handleTouchEnd=function(ev){if(_this.isDragging){var target=ev.target;target.removeEventListener("touchmove",_this.handleTouchMove),target.removeEventListener("touchend",_this.handleTouchEnd),target.removeEventListener("touchcancel",_this.handleTouchEnd),window.removeEventListener("scroll",_this.handleTouchScroll,!0),_this.emitter.trigger("pointerup",_this.createEventFromTouch(ev)),_this.cleanup(),_this.isTouchDragging=!1,startIgnoringMouse()}},this.handleTouchScroll=function(){_this.wasTouchScroll=!0},this.handleScroll=function(ev){if(!_this.shouldIgnoreMove){var pageX=window.pageXOffset-_this.prevScrollX+_this.prevPageX,pageY=window.pageYOffset-_this.prevScrollY+_this.prevPageY;_this.emitter.trigger("pointermove",{origEvent:ev,isTouch:_this.isTouchDragging,subjectEl:_this.subjectEl,pageX:pageX,pageY:pageY,deltaX:pageX-_this.origPageX,deltaY:pageY-_this.origPageY})}},this.containerEl=containerEl,this.emitter=new core.EmitterMixin,containerEl.addEventListener("mousedown",this.handleMouseDown),containerEl.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),listenerCreated()}return PointerDragging.prototype.destroy=function(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),listenerDestroyed()},PointerDragging.prototype.tryStart=function(ev){var subjectEl=this.querySubjectEl(ev),downEl=ev.target;return!(!subjectEl||this.handleSelector&&!core.elementClosest(downEl,this.handleSelector))&&(this.subjectEl=subjectEl,this.downEl=downEl,this.isDragging=!0,this.wasTouchScroll=!1,!0)},PointerDragging.prototype.cleanup=function(){isWindowTouch
/*!
FullCalendar List View Plugin v4.4.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],factory):factory((global=global||self).FullCalendarList={},global.FullCalendar)}(this,(function(exports,core){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var ListEventRenderer=function(_super){function ListEventRenderer(listView){var _this=_super.call(this)||this;return _this.listView=listView,_this}return __extends(ListEventRenderer,_super),ListEventRenderer.prototype.attachSegs=function(segs){segs.length?this.listView.renderSegList(segs):this.listView.renderEmptyMessage()},ListEventRenderer.prototype.detachSegs=function(){},ListEventRenderer.prototype.renderSegHtml=function(seg){var _a=this.context,theme=_a.theme,options=_a.options,eventRange=seg.eventRange,eventDef=eventRange.def,eventInstance=eventRange.instance,eventUi=eventRange.ui,url=eventDef.url,classes=["fc-list-item"].concat(eventUi.classNames),bgColor=eventUi.backgroundColor,timeHtml;return timeHtml=eventDef.allDay?core.getAllDayHtml(options):core.isMultiDayRange(eventRange.range)?seg.isStart?core.htmlEscape(this._getTimeText(eventInstance.range.start,seg.end,!1)):seg.isEnd?core.htmlEscape(this._getTimeText(seg.start,eventInstance.range.end,!1)):core.getAllDayHtml(options):core.htmlEscape(this.getTimeText(eventRange)),url&&classes.push("fc-has-url"),'<tr class="'+classes.join(" ")+'">'+(this.displayEventTime?'<td class="fc-list-item-time '+theme.getClass("widgetContent")+'">'+(timeHtml||"")+"</td>":"")+'<td class="fc-list-item-marker '+theme.getClass("widgetContent")+'"><span class="fc-event-dot"'+(bgColor?' style="background-color:'+bgColor+'"':"")+'></span></td><td class="fc-list-item-title '+theme.getClass("widgetContent")+'"><a'+(url?' href="'+core.htmlEscape(url)+'"':"")+">"+core.htmlEscape(eventDef.title||"")+"</a></td></tr>"},ListEventRenderer.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:"short"}},ListEventRenderer}(core.FgEventRenderer),ListView=function(_super){function ListView(viewSpec,parentEl){var _this=_super.call(this,viewSpec,parentEl)||this;_this.computeDateVars=core.memoize(computeDateVars),_this.eventStoreToSegs=core.memoize(_this._eventStoreToSegs),_this.renderSkeleton=core.memoizeRendering(_this._renderSkeleton,_this._unrenderSkeleton);var eventRenderer=_this.eventRenderer=new ListEventRenderer(_this);return _this.renderContent=core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer),eventRenderer.unrender.bind(eventRenderer),[_this.renderSkeleton]),_this}return __extends(ListView,_super),ListView.prototype.firstContext=function(context){context.calendar.registerInteractiveComponent(this,{el:this.el})},ListView.prototype.render=function(props,context){_super.prototype.render.call(this,props,context);var _a=this.computeDateVars(props.dateProfile),dayDates=_a.dayDates,dayRanges=_a.dayRanges;this.dayDates=dayDates,this.renderSkeleton(context),this.renderContent(context,this.eventStoreToSegs(props.eventStore,props.eventUiBases,dayRanges))},ListView.prototype.destroy=function(){_super.prototype.destroy.call(this),this.renderSkeleton.unrender(),this.renderContent.unrender(),this.context.calendar.unregisterInteractiveComponent(this)},ListView.prototype._renderSkeleton=function(context){var theme=context.theme;this.el.classList.add("fc-list-view");for(var listViewClassNames,_i=0,listViewClassNames_1=(theme.getClass("listView")||"").split(" ");_i<listViewClassNames_1.length;_i++){var listViewClassName=listViewClassNames_1[_i];listViewClassName&&this.el.classList.add(listViewClassName)}this.scroller=new core.ScrollComponent("hidden","auto"),this.el.appendChild(this.scroller.el),this.contentEl=this.scroller.el},ListView.prototype._unrenderSkeleton=function(){this.scroller.destroy()},ListView.prototype.updateSize=function(isResize,viewHeight,isAuto){_super.prototype.updateSize.call(this,isResize,viewHeight,isAuto
/*!
FullCalendar Time Grid Plugin v4.4.1
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@fullcalendar/core"),require("@fullcalendar/daygrid")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core","@fullcalendar/daygrid"],factory):factory((global=global||self).FullCalendarTimeGrid={},global.FullCalendar,global.FullCalendarDayGrid)}(this,(function(exports,core,daygrid){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t}).apply(this,arguments)},TimeGridEventRenderer=function(_super){function TimeGridEventRenderer(timeGrid){var _this=_super.call(this)||this;return _this.timeGrid=timeGrid,_this}return __extends(TimeGridEventRenderer,_super),TimeGridEventRenderer.prototype.renderSegs=function(context,segs,mirrorInfo){_super.prototype.renderSegs.call(this,context,segs,mirrorInfo),this.fullTimeFormat=core.createFormatter({hour:"numeric",minute:"2-digit",separator:this.context.options.defaultRangeSeparator})},TimeGridEventRenderer.prototype.attachSegs=function(segs,mirrorInfo){for(var segsByCol=this.timeGrid.groupSegsByCol(segs),col=0;col<segsByCol.length;col++)segsByCol[col]=this.sortEventSegs(segsByCol[col]);this.segsByCol=segsByCol,this.timeGrid.attachSegsByCol(segsByCol,this.timeGrid.fgContainerEls)},TimeGridEventRenderer.prototype.detachSegs=function(segs){segs.forEach((function(seg){core.removeElement(seg.el)})),this.segsByCol=null},TimeGridEventRenderer.prototype.computeSegSizes=function(allSegs){var _a=this,timeGrid=_a.timeGrid,segsByCol=_a.segsByCol,colCnt=timeGrid.colCnt;if(timeGrid.computeSegVerticals(allSegs),segsByCol)for(var col=0;col<colCnt;col++)this.computeSegHorizontals(segsByCol[col])},TimeGridEventRenderer.prototype.assignSegSizes=function(allSegs){var _a=this,timeGrid=_a.timeGrid,segsByCol=_a.segsByCol,colCnt=timeGrid.colCnt;if(timeGrid.assignSegVerticals(allSegs),segsByCol)for(var col=0;col<colCnt;col++)this.assignSegCss(segsByCol[col])},TimeGridEventRenderer.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:!1}},TimeGridEventRenderer.prototype.computeDisplayEventEnd=function(){return!0},TimeGridEventRenderer.prototype.renderSegHtml=function(seg,mirrorInfo){var eventRange=seg.eventRange,eventDef=eventRange.def,eventUi=eventRange.ui,allDay=eventDef.allDay,isDraggable=core.computeEventDraggable(this.context,eventDef,eventUi),isResizableFromStart=seg.isStart&&core.computeEventStartResizable(this.context,eventDef,eventUi),isResizableFromEnd=seg.isEnd&&core.computeEventEndResizable(this.context,eventDef,eventUi),classes=this.getSegClasses(seg,isDraggable,isResizableFromStart||isResizableFromEnd,mirrorInfo),skinCss=core.cssToStr(this.getSkinCss(eventUi)),timeText,fullTimeText,startTimeText;if(classes.unshift("fc-time-grid-event"),core.isMultiDayRange(eventRange.range)){if(seg.isStart||seg.isEnd){var unzonedStart=seg.start,unzonedEnd=seg.end;timeText=this._getTimeText(unzonedStart,unzonedEnd,allDay),fullTimeText=this._getTimeText(unzonedStart,unzonedEnd,allDay,this.fullTimeFormat),startTimeText=this._getTimeText(unzonedStart,unzonedEnd,allDay,null,!1)}}else timeText=this.getTimeText(eventRange),fullTimeText=this.getTimeText(eventRange,this.fullTimeFormat),startTimeText=this.getTimeText(eventRange,null,!1);return'<a class="'+classes.join(" ")+'"'+(eventDef.url?' href="'+core.htmlEscape(eventDef.url)+'"':"")+(skinCss?' style="'+skinCss+'"':"")+'><div class="fc-content">'+(timeText?'<div class="fc-time" data-start="'+core.htmlEscape(startTimeText)+'" data-full="'+core.htmlEscape(fullTimeText)+'"><span>'+core.htmlEscape(timeText)+"</span></div>":"")+(eventDef.title?'<div class="fc-title">'+core.htmlEscape(eventDef.title)+"</div>":"")+"</div>"+(isResizableFromEnd?'<div class="fc-resizer fc-end-resizer"></div>':"")+"</a>"},TimeGridEventRenderer.prototype.computeSegHorizontals=function(segs){var levels,level0,i;if(computeForwardSlotSegs(levels=buildSlotSeg