120 lines
336 KiB
JavaScript
120 lines
336 KiB
JavaScript
|
/*!
|
||
|
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
|