{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./src/views/Calendar.vue?61f9","webpack:///./src/views/Calendar.vue?8f34","webpack:///./node_modules/@fullcalendar/daygrid/main.esm.js","webpack:///src/views/Calendar.vue","webpack:///./src/views/Calendar.vue?cede","webpack:///./src/views/Calendar.vue","webpack:///./node_modules/core-js/modules/_create-property.js"],"names":["ctx","$export","toObject","call","isArrayIter","toLength","createProperty","getIterFn","S","F","iter","Array","from","arrayLike","length","result","step","iterator","O","C","this","aLen","arguments","mapfn","undefined","mapping","index","iterFn","next","done","value","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","directives","name","rawName","expression","attrs","on","$event","preventDefault","openFilter","params","clearFilter","_e","getContacts","model","callback","$$v","selectedContacts","filterCalendar","count","fileStateByCount","toggleStatus","_l","Object","keys","upcomingMonths","month","key","Date","toLocaleDateString","locale","year","expirationCount","calendar","gotoDate","toISOString","ref","staticRenderFns","extendStatics","d","b","setPrototypeOf","__proto__","p","hasOwnProperty","__extends","__","constructor","prototype","create","__assign","assign","t","s","i","n","apply","_super","DayGridDateProfileGenerator","buildRenderRange","currentRange","currentRangeUnit","isRangeAllDay","endOfWeek","dateEnv","renderRange","start","end","test","startOfWeek","valueOf","options","monthMode","fixedWeekCount","rowCnt","Math","ceil","Popover","_this","isHidden","margin","documentMousedown","ev","el","contains","target","hide","show","style","display","position","trigger","className","top","left","content","parentEl","appendChild","autoHide","document","addEventListener","destroy","removeEventListener","elDims","getBoundingClientRect","origin","offsetParent","clippingRect","right","width","min","bottom","height","max","slice","SimpleDayGridEventRenderer","renderSegHtml","seg","mirrorInfo","timeText","titleHtml","context","eventRange","eventDef","def","eventUi","ui","allDay","isDraggable","isResizableFromStart","isStart","isResizableFromEnd","isEnd","classes","getSegClasses","skinCss","getSkinCss","timeHtml","unshift","getTimeText","title","join","url","dir","computeEventTimeFormat","hour","minute","omitZeroMinute","meridiem","computeDisplayEventEnd","DayGridEventRenderer","dayGrid","attachSegs","segs","rowStructs","renderSegRows","rowEls","forEach","rowNode","querySelector","tbodyEl","removeSegPopover","detachSegs","rowStruct","pop","segRows","row","groupSegRows","push","renderSegRow","rowSegs","levelSegs","col","tr","j","td","isRtl","colCnt","segLevels","buildSegLevels","levelCnt","tbody","createElement","segMatrix","cellMatrix","loneCellMatrix","emptyCellsUntil","endCol","rowSpan","leftCol","lastCol","firstCol","rightCol","colSpan","introHtml","renderProps","renderIntroHtml","levels","sortEventSegs","isDaySegCollision","level","sort","compareDaySegCols","otherSegs","otherSeg","a","DayGridMirrorRenderer","sourceSeg","skeletonTopEl","skeletonTop","skeletonEl","EMPTY_CELL_HTML","DayGridFillRenderer","fillSegTag","renderSegs","type","filter","els","renderFillRow","trEl","startCol","toLowerCase","getElementsByTagName","DayTile","eventRenderer","renderFrame","_renderFrame","renderFgEvents","bind","unrender","renderEventSelection","selectByInstanceId","unselectByInstanceId","renderEventDrag","hideByHash","showByHash","renderEventResize","firstContext","registerInteractiveComponent","useEventCenter","props","date","fgSegs","eventSelection","eventDragInstances","eventResizeInstances","unregisterInteractiveComponent","_a","theme","format","dayPopoverFormat","innerHTML","getClass","getIconClass","segContainerEl","queryHit","positionLeft","positionTop","elWidth","elHeight","component","dateSpan","range","dayEl","rect","layer","DayTileEventRenderer","dayTile","_i","segs_1","segs_2","DayBgRow","renderHtml","parts","cells","cell","renderCellHtml","dateProfile","htmlAttrs","reverse","otherAttrs","isDateValid","activeRange","formatIso","omitTime","DAY_NUM_FORMAT","day","WEEK_NUM_FORMAT","week","DayGrid","bottomCoordPadding","isCellSizesDirty","fillRenderer","mirrorRenderer","renderCells","_renderCells","_unrenderCells","renderBusinessHours","renderDateSelection","renderBgEvents","_renderEventDrag","_unrenderEventDrag","_renderEventResize","_unrenderEventResize","isRigid","businessHourSegs","dateSelectionSegs","bgEventSegs","fgEventSegs","eventDrag","eventResize","segPopoverTile","updateSegPopoverTile","getCellRange","ownProps","receiveProps","affectedInstances","view","_b","html","renderDayRowHtml","cellEls","rowPositions","colPositions","publiclyTrigger","toDate","getCellEl","bgRow","renderBgIntroHtml","getIsNumbersVisible","renderNumberTrHtml","getIsDayNumbersVisible","cellWeekNumbersVisible","colWeekNumbersVisible","intro","renderNumberIntroHtml","renderNumberCellsHtml","htmls","renderNumberCellHtml","weekCalcFirstDow","isDayNumberVisible","weekDow","getUTCDay","updateSize","isResize","isEventsUpdated","buildPositionCaches","computeSizes","assignSizes","buildColPositions","buildRowPositions","build","bottoms","positionToHit","leftPosition","topPosition","leftToIndex","topToIndex","relativeRect","lefts","rights","tops","state","isResizing","segPopover","limitRows","levelLimit","rowLevelLimit","unlimitRow","computeRowLevelLimit","limitRow","rowEl","rowBottom","trEls","classList","remove","limitedNodes","segsBelow","totalSegsBelow","colSegsBelow","segMoreNodes","moreTd","moreWrap","moreLink","moreNodes","getCellSegs","renderMoreLink","node","add","concat","moreEls","limitedEls","limitedEl","hiddenSegs","innerText","getMoreLinkText","clickOption","eventLimitClick","_col","moreEl","currentTarget","allSegs","reslicedAllSegs","resliceDaySegs","reslicedHiddenSegs","jsEvent","showSegPopover","zoomTo","topEl","parentNode","releaseAfterSizingTriggers","dayDate","dayStart","dayEnd","dayRange","newSegs","origRange","slicedRange","durationEditable","instance","num","opt","eventLimitText","startLevel","WEEK_NUM_FORMAT$1","AbstractDayGridView","processOptions","_processOptions","renderSkeleton","_renderSkeleton","_unrenderSkeleton","renderHeadIntroHtml","weekNumberStyleAttr","weekLabel","renderDayGridNumberIntroHtml","weekStart","forceOff","renderDayGridBgIntroHtml","renderDayGridIntroHtml","weekNumbers","weekNumbersWithinDays","renderSkeletonHtml","scroller","dayGridContainerEl","dayGridEl","columnHeader","weekNumberWidth","hasRigidRows","eventLimit","viewHeight","isAuto","updateBaseSize","scrollerHeight","scrollbarWidths","headRowEl","header","clear","computeScrollerHeight","setGridHeight","setHeight","getScrollbarWidths","lockOverflow","computeDateScroll","duration","queryDateScroll","getScrollTop","applyDateScroll","scroll","setScrollTop","dateProfileGeneratorClass","SimpleDayGrid","slicer","DayGridSlicer","dayTable","receiveContext","sliceProps","nextDayThreshold","rawHit","sliceRange","dateRange","DayGridView","buildDayTable","dateProfileGenerator","dates","headerDates","datesRepDistinctDays","simpleDayGrid","businessHours","dateSelection","eventStore","eventUiBases","daySeries","main","defaultView","views","dayGridDay","days","dayGridWeek","weeks","dayGridMonth","months","$defineProperty","createDesc","module","exports","object","f"],"mappings":"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","file":"js/calendar~31ecd969.bf67ebee.js","sourcesContent":["'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=style&index=0&id=1041699e&lang=sass&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=style&index=0&id=1041699e&lang=sass&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper-page calendar-wrapper\"},[_c('div',{staticClass:\"container-fluid\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('calendar.title'))+\"\\n \")]),_c('p',{staticClass:\"subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('calendar.subtitle'))+\"\\n \")]),_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeFilter),expression:\"closeFilter\"}],staticClass:\"filter filter-wrapper\"},[_c('a',{staticClass:\"filter-by\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.openFilter = !_vm.openFilter}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('folders_list.filter_by'))+\"\\n \"),_c('i',{staticClass:\"fa fa-sort-down\"})]),(_vm.params['filter[folders][contact_id]'])?_c('p',{staticClass:\"filter-results\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('calendar.updated_results'))+\"\\n \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.clearFilter()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('folders_list.clear_filters'))+\"\\n \")])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.openFilter),expression:\"openFilter\"}],staticClass:\"form-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"\\n \"+_vm._s(_vm.$t('folders_list.contacts'))+\"\\n \")]),_c('multi-select',{attrs:{\"getter\":_vm.getContacts},model:{value:(_vm.selectedContacts),callback:function ($$v) {_vm.selectedContacts=$$v},expression:\"selectedContacts\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('a',{staticClass:\"btn btn-outline-primary float-right\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.filterCalendar()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('folders_list.filter'))+\"\\n \")]),_c('a',{staticClass:\"btn btn-neutral float-right m-r-10\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.clearFilter()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('folders_list.clear_filters'))+\"\\n \")])])])]),_c('ul',{staticClass:\"calendar-filter expiration-status-filter\"},[_c('li',[_c('label',{staticClass:\"container\"},[_vm._v(_vm._s(_vm.$t('calendar.current_files', { count: _vm.fileStateByCount['current'] || 0 }))+\"\\n \"),_c('input',{attrs:{\"type\":\"checkbox\",\"checked\":\"checked\",\"value\":\"current\"},on:{\"click\":function($event){return _vm.toggleStatus($event, 'current')}}}),_c('span',{staticClass:\"checkmark\"})])]),_c('li',{staticClass:\"soon\"},[_c('label',{staticClass:\"container\"},[_vm._v(_vm._s(_vm.$t('calendar.soon_files', { count: _vm.fileStateByCount['soon'] || 0 }))+\"\\n \"),_c('input',{attrs:{\"type\":\"checkbox\",\"checked\":\"checked\",\"value\":\"soon\"},on:{\"click\":function($event){return _vm.toggleStatus($event, 'soon')}}}),_c('span',{staticClass:\"checkmark\"})])]),_c('li',{staticClass:\"expired\"},[_c('label',{staticClass:\"container\"},[_vm._v(_vm._s(_vm.$t('calendar.expired_files', { count: _vm.fileStateByCount['expired'] || 0 }))+\"\\n \"),_c('input',{attrs:{\"type\":\"checkbox\",\"checked\":\"checked\",\"value\":\"expired\"},on:{\"click\":function($event){return _vm.toggleStatus($event, 'expired')}}}),_c('span',{staticClass:\"checkmark\"})])])]),_c('h3',[_vm._v(_vm._s(_vm.$t('calendar.upcoming_expirations')))]),_c('table',{staticClass:\"table upcoming\"},[_c('thead',[_c('tr',_vm._l((Object.keys(_vm.upcomingMonths)),function(month,index){return _c('th',{key:index},[_vm._v(\"\\n \"+_vm._s(new Date(month).toLocaleDateString(_vm.locale, {month: 'short', year: 'numeric'}))+\"\\n \")])}),0)]),_c('tbody',[_c('tr',_vm._l((_vm.upcomingMonths),function(expirationCount,month){return _c('td',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.calendar.gotoDate(new Date(month).toISOString())}}},[_vm._v(_vm._s(expirationCount))])])}),0)])]),_c('div',{ref:\"calendar\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\nFullCalendar Day Grid Plugin v4.4.2\nDocs & License: https://fullcalendar.io/\n(c) 2019 Adam Shaw\n*/\n\nimport { addWeeks, diffWeeks, DateProfileGenerator, createElement, listenBySelector, removeElement, computeRect, computeClippingRect, applyStyle, computeEventDraggable, computeEventStartResizable, computeEventEndResizable, cssToStr, htmlEscape, FgEventRenderer, appendToElement, prependToElement, htmlToElement, FillRenderer, memoizeRendering, createFormatter, addDays, DateComponent, rangeContainsMarker, getDayClasses, findElements, PositionCache, buildGotoAnchorHtml, findChildren, insertAfterElement, intersectRanges, memoize, ScrollComponent, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, distributeHeight, undistributeHeight, View, Slicer, DayHeader, DaySeries, DayTable, createPlugin } from '@fullcalendar/core';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar DayGridDateProfileGenerator = /** @class */ (function (_super) {\n __extends(DayGridDateProfileGenerator, _super);\n function DayGridDateProfileGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // Computes the date range that will be rendered.\n DayGridDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n var dateEnv = this.dateEnv;\n var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n var start = renderRange.start;\n var end = renderRange.end;\n var endOfWeek;\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start);\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end);\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1);\n }\n }\n // ensure 6 weeks\n if (this.options.monthMode &&\n this.options.fixedWeekCount) {\n var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n diffWeeks(start, end));\n end = addWeeks(end, 6 - rowCnt);\n }\n return { start: start, end: end };\n };\n return DayGridDateProfileGenerator;\n}(DateProfileGenerator));\n\n/* A rectangular panel that is absolutely positioned over other content\n------------------------------------------------------------------------------------------------------------------------\nOptions:\n - className (string)\n - content (HTML string, element, or element array)\n - parentEl\n - top\n - left\n - right (the x coord of where the right edge should be. not a \"CSS\" right)\n - autoHide (boolean)\n - show (callback)\n - hide (callback)\n*/\nvar Popover = /** @class */ (function () {\n function Popover(options) {\n var _this = this;\n this.isHidden = true;\n this.margin = 10; // the space required between the popover and the edges of the scroll container\n // Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n this.documentMousedown = function (ev) {\n // only hide the popover if the click happened outside the popover\n if (_this.el && !_this.el.contains(ev.target)) {\n _this.hide();\n }\n };\n this.options = options;\n }\n // Shows the popover on the specified position. Renders it if not already\n Popover.prototype.show = function () {\n if (this.isHidden) {\n if (!this.el) {\n this.render();\n }\n this.el.style.display = '';\n this.position();\n this.isHidden = false;\n this.trigger('show');\n }\n };\n // Hides the popover, through CSS, but does not remove it from the DOM\n Popover.prototype.hide = function () {\n if (!this.isHidden) {\n this.el.style.display = 'none';\n this.isHidden = true;\n this.trigger('hide');\n }\n };\n // Creates `this.el` and renders content inside of it\n Popover.prototype.render = function () {\n var _this = this;\n var options = this.options;\n var el = this.el = createElement('div', {\n className: 'fc-popover ' + (options.className || ''),\n style: {\n top: '0',\n left: '0'\n }\n });\n if (typeof options.content === 'function') {\n options.content(el);\n }\n options.parentEl.appendChild(el);\n // when a click happens on anything inside with a 'fc-close' className, hide the popover\n listenBySelector(el, 'click', '.fc-close', function (ev) {\n _this.hide();\n });\n if (options.autoHide) {\n document.addEventListener('mousedown', this.documentMousedown);\n }\n };\n // Hides and unregisters any handlers\n Popover.prototype.destroy = function () {\n this.hide();\n if (this.el) {\n removeElement(this.el);\n this.el = null;\n }\n document.removeEventListener('mousedown', this.documentMousedown);\n };\n // Positions the popover optimally, using the top/left/right options\n Popover.prototype.position = function () {\n var options = this.options;\n var el = this.el;\n var elDims = el.getBoundingClientRect(); // only used for width,height\n var origin = computeRect(el.offsetParent);\n var clippingRect = computeClippingRect(options.parentEl);\n var top; // the \"position\" (not \"offset\") values for the popover\n var left; //\n // compute top and left\n top = options.top || 0;\n if (options.left !== undefined) {\n left = options.left;\n }\n else if (options.right !== undefined) {\n left = options.right - elDims.width; // derive the left value from the right value\n }\n else {\n left = 0;\n }\n // constrain to the view port. if constrained by two edges, give precedence to top/left\n top = Math.min(top, clippingRect.bottom - elDims.height - this.margin);\n top = Math.max(top, clippingRect.top + this.margin);\n left = Math.min(left, clippingRect.right - elDims.width - this.margin);\n left = Math.max(left, clippingRect.left + this.margin);\n applyStyle(el, {\n top: top - origin.top,\n left: left - origin.left\n });\n };\n // Triggers a callback. Calls a function in the option hash of the same name.\n // Arguments beyond the first `name` are forwarded on.\n // TODO: better code reuse for this. Repeat code\n // can kill this???\n Popover.prototype.trigger = function (name) {\n if (this.options[name]) {\n this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\n }\n };\n return Popover;\n}());\n\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\n// \"Simple\" is bad a name. has nothing to do with SimpleDayGrid\nvar SimpleDayGridEventRenderer = /** @class */ (function (_super) {\n __extends(SimpleDayGridEventRenderer, _super);\n function SimpleDayGridEventRenderer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // Builds the HTML to be used for the default element for an individual segment\n SimpleDayGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {\n var context = this.context;\n var eventRange = seg.eventRange;\n var eventDef = eventRange.def;\n var eventUi = eventRange.ui;\n var allDay = eventDef.allDay;\n var isDraggable = computeEventDraggable(context, eventDef, eventUi);\n var isResizableFromStart = allDay && seg.isStart && computeEventStartResizable(context, eventDef, eventUi);\n var isResizableFromEnd = allDay && seg.isEnd && computeEventEndResizable(context, eventDef, eventUi);\n var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);\n var skinCss = cssToStr(this.getSkinCss(eventUi));\n var timeHtml = '';\n var timeText;\n var titleHtml;\n classes.unshift('fc-day-grid-event', 'fc-h-event');\n // Only display a timed events time if it is the starting segment\n if (seg.isStart) {\n timeText = this.getTimeText(eventRange);\n if (timeText) {\n timeHtml = '' + htmlEscape(timeText) + '';\n }\n }\n titleHtml =\n '' +\n (htmlEscape(eventDef.title || '') || ' ') + // we always want one line of height\n '';\n return '' +\n '
' +\n (context.options.dir === 'rtl' ?\n titleHtml + ' ' + timeHtml : // put a natural space in between\n timeHtml + ' ' + titleHtml //\n ) +\n '
' +\n (isResizableFromStart ?\n '
' :\n '') +\n (isResizableFromEnd ?\n '
' :\n '') +\n '
';\n };\n // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined\n SimpleDayGridEventRenderer.prototype.computeEventTimeFormat = function () {\n return {\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow'\n };\n };\n SimpleDayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n return false; // TODO: somehow consider the originating DayGrid's column count\n };\n return SimpleDayGridEventRenderer;\n}(FgEventRenderer));\n\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\nvar DayGridEventRenderer = /** @class */ (function (_super) {\n __extends(DayGridEventRenderer, _super);\n function DayGridEventRenderer(dayGrid) {\n var _this = _super.call(this) || this;\n _this.dayGrid = dayGrid;\n return _this;\n }\n // Renders the given foreground event segments onto the grid\n DayGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n var rowStructs = this.rowStructs = this.renderSegRows(segs);\n // append to each row's content skeleton\n this.dayGrid.rowEls.forEach(function (rowNode, i) {\n rowNode.querySelector('.fc-content-skeleton > table').appendChild(rowStructs[i].tbodyEl);\n });\n // removes the \"more..\" events popover\n if (!mirrorInfo) {\n this.dayGrid.removeSegPopover();\n }\n };\n // Unrenders all currently rendered foreground event segments\n DayGridEventRenderer.prototype.detachSegs = function () {\n var rowStructs = this.rowStructs || [];\n var rowStruct;\n while ((rowStruct = rowStructs.pop())) {\n removeElement(rowStruct.tbodyEl);\n }\n this.rowStructs = null;\n };\n // Uses the given events array to generate elements that should be appended to each row's content skeleton.\n // Returns an array of rowStruct objects (see the bottom of `renderSegRow`).\n // PRECONDITION: each segment shoud already have a rendered and assigned `.el`\n DayGridEventRenderer.prototype.renderSegRows = function (segs) {\n var rowStructs = [];\n var segRows;\n var row;\n segRows = this.groupSegRows(segs); // group into nested arrays\n // iterate each row of segment groupings\n for (row = 0; row < segRows.length; row++) {\n rowStructs.push(this.renderSegRow(row, segRows[row]));\n }\n return rowStructs;\n };\n // Given a row # and an array of segments all in the same row, render a element, a skeleton that contains\n // the segments. Returns object with a bunch of internal data about how the render was calculated.\n // NOTE: modifies rowSegs\n DayGridEventRenderer.prototype.renderSegRow = function (row, rowSegs) {\n var isRtl = this.context.isRtl;\n var dayGrid = this.dayGrid;\n var colCnt = dayGrid.colCnt;\n var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels\n var levelCnt = Math.max(1, segLevels.length); // ensure at least one level\n var tbody = document.createElement('tbody');\n var segMatrix = []; // lookup for which segments are rendered into which level+col cells\n var cellMatrix = []; // lookup for all elements of the level+col matrix\n var loneCellMatrix = []; // lookup for elements that only take up a single column\n var i;\n var levelSegs;\n var col;\n var tr;\n var j;\n var seg;\n var td;\n // populates empty cells from the current column (`col`) to `endCol`\n function emptyCellsUntil(endCol) {\n while (col < endCol) {\n // try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell\n td = (loneCellMatrix[i - 1] || [])[col];\n if (td) {\n td.rowSpan = (td.rowSpan || 1) + 1;\n }\n else {\n td = document.createElement('td');\n tr.appendChild(td);\n }\n cellMatrix[i][col] = td;\n loneCellMatrix[i][col] = td;\n col++;\n }\n }\n for (i = 0; i < levelCnt; i++) { // iterate through all levels\n levelSegs = segLevels[i];\n col = 0;\n tr = document.createElement('tr');\n segMatrix.push([]);\n cellMatrix.push([]);\n loneCellMatrix.push([]);\n // levelCnt might be 1 even though there are no actual levels. protect against this.\n // this single empty row is useful for styling.\n if (levelSegs) {\n for (j = 0; j < levelSegs.length; j++) { // iterate through segments in level\n seg = levelSegs[j];\n var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n emptyCellsUntil(leftCol);\n // create a container that occupies or more columns. append the event element.\n td = createElement('td', { className: 'fc-event-container' }, seg.el);\n if (leftCol !== rightCol) {\n td.colSpan = rightCol - leftCol + 1;\n }\n else { // a single-column segment\n loneCellMatrix[i][col] = td;\n }\n while (col <= rightCol) {\n cellMatrix[i][col] = td;\n segMatrix[i][col] = seg;\n col++;\n }\n tr.appendChild(td);\n }\n }\n emptyCellsUntil(colCnt); // finish off the row\n var introHtml = dayGrid.renderProps.renderIntroHtml();\n if (introHtml) {\n if (isRtl) {\n appendToElement(tr, introHtml);\n }\n else {\n prependToElement(tr, introHtml);\n }\n }\n tbody.appendChild(tr);\n }\n return {\n row: row,\n tbodyEl: tbody,\n cellMatrix: cellMatrix,\n segMatrix: segMatrix,\n segLevels: segLevels,\n segs: rowSegs\n };\n };\n // Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.\n // NOTE: modifies segs\n DayGridEventRenderer.prototype.buildSegLevels = function (segs) {\n var isRtl = this.context.isRtl;\n var colCnt = this.dayGrid.colCnt;\n var levels = [];\n var i;\n var seg;\n var j;\n // Give preference to elements with certain criteria, so they have\n // a chance to be closer to the top.\n segs = this.sortEventSegs(segs);\n for (i = 0; i < segs.length; i++) {\n seg = segs[i];\n // loop through levels, starting with the topmost, until the segment doesn't collide with other segments\n for (j = 0; j < levels.length; j++) {\n if (!isDaySegCollision(seg, levels[j])) {\n break;\n }\n }\n // `j` now holds the desired subrow index\n seg.level = j;\n seg.leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol; // for sorting only\n seg.rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol // for sorting only\n ;\n (levels[j] || (levels[j] = [])).push(seg);\n }\n // order segments left-to-right. very important if calendar is RTL\n for (j = 0; j < levels.length; j++) {\n levels[j].sort(compareDaySegCols);\n }\n return levels;\n };\n // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row\n DayGridEventRenderer.prototype.groupSegRows = function (segs) {\n var segRows = [];\n var i;\n for (i = 0; i < this.dayGrid.rowCnt; i++) {\n segRows.push([]);\n }\n for (i = 0; i < segs.length; i++) {\n segRows[segs[i].row].push(segs[i]);\n }\n return segRows;\n };\n // Computes a default `displayEventEnd` value if one is not expliclty defined\n DayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n return this.dayGrid.colCnt === 1; // we'll likely have space if there's only one day\n };\n return DayGridEventRenderer;\n}(SimpleDayGridEventRenderer));\n// Computes whether two segments' columns collide. They are assumed to be in the same row.\nfunction isDaySegCollision(seg, otherSegs) {\n var i;\n var otherSeg;\n for (i = 0; i < otherSegs.length; i++) {\n otherSeg = otherSegs[i];\n if (otherSeg.firstCol <= seg.lastCol &&\n otherSeg.lastCol >= seg.firstCol) {\n return true;\n }\n }\n return false;\n}\n// A cmp function for determining the leftmost event\nfunction compareDaySegCols(a, b) {\n return a.leftCol - b.leftCol;\n}\n\nvar DayGridMirrorRenderer = /** @class */ (function (_super) {\n __extends(DayGridMirrorRenderer, _super);\n function DayGridMirrorRenderer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DayGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n var sourceSeg = mirrorInfo.sourceSeg;\n var rowStructs = this.rowStructs = this.renderSegRows(segs);\n // inject each new event skeleton into each associated row\n this.dayGrid.rowEls.forEach(function (rowNode, row) {\n var skeletonEl = htmlToElement('
'); // will be absolutely positioned\n var skeletonTopEl;\n var skeletonTop;\n // If there is an original segment, match the top position. Otherwise, put it at the row's top level\n if (sourceSeg && sourceSeg.row === row) {\n skeletonTopEl = sourceSeg.el;\n }\n else {\n skeletonTopEl = rowNode.querySelector('.fc-content-skeleton tbody');\n if (!skeletonTopEl) { // when no events\n skeletonTopEl = rowNode.querySelector('.fc-content-skeleton table');\n }\n }\n skeletonTop = skeletonTopEl.getBoundingClientRect().top -\n rowNode.getBoundingClientRect().top; // the offsetParent origin\n skeletonEl.style.top = skeletonTop + 'px';\n skeletonEl.querySelector('table').appendChild(rowStructs[row].tbodyEl);\n rowNode.appendChild(skeletonEl);\n });\n };\n return DayGridMirrorRenderer;\n}(DayGridEventRenderer));\n\nvar EMPTY_CELL_HTML = '';\nvar DayGridFillRenderer = /** @class */ (function (_super) {\n __extends(DayGridFillRenderer, _super);\n function DayGridFillRenderer(dayGrid) {\n var _this = _super.call(this) || this;\n _this.fillSegTag = 'td'; // override the default tag name\n _this.dayGrid = dayGrid;\n return _this;\n }\n DayGridFillRenderer.prototype.renderSegs = function (type, context, segs) {\n // don't render timed background events\n if (type === 'bgEvent') {\n segs = segs.filter(function (seg) {\n return seg.eventRange.def.allDay;\n });\n }\n _super.prototype.renderSegs.call(this, type, context, segs);\n };\n DayGridFillRenderer.prototype.attachSegs = function (type, segs) {\n var els = [];\n var i;\n var seg;\n var skeletonEl;\n for (i = 0; i < segs.length; i++) {\n seg = segs[i];\n skeletonEl = this.renderFillRow(type, seg);\n this.dayGrid.rowEls[seg.row].appendChild(skeletonEl);\n els.push(skeletonEl);\n }\n return els;\n };\n // Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.\n DayGridFillRenderer.prototype.renderFillRow = function (type, seg) {\n var dayGrid = this.dayGrid;\n var isRtl = this.context.isRtl;\n var colCnt = dayGrid.colCnt;\n var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n var startCol = leftCol;\n var endCol = rightCol + 1;\n var className;\n var skeletonEl;\n var trEl;\n if (type === 'businessHours') {\n className = 'bgevent';\n }\n else {\n className = type.toLowerCase();\n }\n skeletonEl = htmlToElement('
' +\n '
' +\n '
');\n trEl = skeletonEl.getElementsByTagName('tr')[0];\n if (startCol > 0) {\n appendToElement(trEl, \n // will create (startCol + 1) td's\n new Array(startCol + 1).join(EMPTY_CELL_HTML));\n }\n seg.el.colSpan = endCol - startCol;\n trEl.appendChild(seg.el);\n if (endCol < colCnt) {\n appendToElement(trEl, \n // will create (colCnt - endCol) td's\n new Array(colCnt - endCol + 1).join(EMPTY_CELL_HTML));\n }\n var introHtml = dayGrid.renderProps.renderIntroHtml();\n if (introHtml) {\n if (isRtl) {\n appendToElement(trEl, introHtml);\n }\n else {\n prependToElement(trEl, introHtml);\n }\n }\n return skeletonEl;\n };\n return DayGridFillRenderer;\n}(FillRenderer));\n\nvar DayTile = /** @class */ (function (_super) {\n __extends(DayTile, _super);\n function DayTile(el) {\n var _this = _super.call(this, el) || this;\n var eventRenderer = _this.eventRenderer = new DayTileEventRenderer(_this);\n var renderFrame = _this.renderFrame = memoizeRendering(_this._renderFrame);\n _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderFrame]);\n _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n _this.renderEventDrag = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n _this.renderEventResize = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n return _this;\n }\n DayTile.prototype.firstContext = function (context) {\n context.calendar.registerInteractiveComponent(this, {\n el: this.el,\n useEventCenter: false\n });\n };\n DayTile.prototype.render = function (props, context) {\n this.renderFrame(props.date);\n this.renderFgEvents(context, props.fgSegs);\n this.renderEventSelection(props.eventSelection);\n this.renderEventDrag(props.eventDragInstances);\n this.renderEventResize(props.eventResizeInstances);\n };\n DayTile.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.renderFrame.unrender(); // should unrender everything else\n this.context.calendar.unregisterInteractiveComponent(this);\n };\n DayTile.prototype._renderFrame = function (date) {\n var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;\n var title = dateEnv.format(date, createFormatter(options.dayPopoverFormat) // TODO: cache\n );\n this.el.innerHTML =\n '
' +\n '' +\n htmlEscape(title) +\n '' +\n '' +\n '
' +\n '
' +\n '
' +\n '
';\n this.segContainerEl = this.el.querySelector('.fc-event-container');\n };\n DayTile.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n var date = this.props.date; // HACK\n if (positionLeft < elWidth && positionTop < elHeight) {\n return {\n component: this,\n dateSpan: {\n allDay: true,\n range: { start: date, end: addDays(date, 1) }\n },\n dayEl: this.el,\n rect: {\n left: 0,\n top: 0,\n right: elWidth,\n bottom: elHeight\n },\n layer: 1\n };\n }\n };\n return DayTile;\n}(DateComponent));\nvar DayTileEventRenderer = /** @class */ (function (_super) {\n __extends(DayTileEventRenderer, _super);\n function DayTileEventRenderer(dayTile) {\n var _this = _super.call(this) || this;\n _this.dayTile = dayTile;\n return _this;\n }\n DayTileEventRenderer.prototype.attachSegs = function (segs) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n this.dayTile.segContainerEl.appendChild(seg.el);\n }\n };\n DayTileEventRenderer.prototype.detachSegs = function (segs) {\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n removeElement(seg.el);\n }\n };\n return DayTileEventRenderer;\n}(SimpleDayGridEventRenderer));\n\nvar DayBgRow = /** @class */ (function () {\n function DayBgRow(context) {\n this.context = context;\n }\n DayBgRow.prototype.renderHtml = function (props) {\n var parts = [];\n if (props.renderIntroHtml) {\n parts.push(props.renderIntroHtml());\n }\n for (var _i = 0, _a = props.cells; _i < _a.length; _i++) {\n var cell = _a[_i];\n parts.push(renderCellHtml(cell.date, props.dateProfile, this.context, cell.htmlAttrs));\n }\n if (!props.cells.length) {\n parts.push('');\n }\n if (this.context.options.dir === 'rtl') {\n parts.reverse();\n }\n return '' + parts.join('') + '';\n };\n return DayBgRow;\n}());\nfunction renderCellHtml(date, dateProfile, context, otherAttrs) {\n var dateEnv = context.dateEnv, theme = context.theme;\n var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n var classes = getDayClasses(date, dateProfile, context);\n classes.unshift('fc-day', theme.getClass('widgetContent'));\n return '';\n}\n\nvar DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });\nvar WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });\nvar DayGrid = /** @class */ (function (_super) {\n __extends(DayGrid, _super);\n function DayGrid(el, renderProps) {\n var _this = _super.call(this, el) || this;\n _this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid\n _this.isCellSizesDirty = false;\n _this.renderProps = renderProps;\n var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);\n var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);\n _this.mirrorRenderer = new DayGridMirrorRenderer(_this);\n var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);\n _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);\n _this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);\n _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);\n _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);\n _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);\n _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderCells]);\n return _this;\n }\n DayGrid.prototype.render = function (props, context) {\n var cells = props.cells;\n this.rowCnt = cells.length;\n this.colCnt = cells[0].length;\n this.renderCells(cells, props.isRigid);\n this.renderBusinessHours(context, props.businessHourSegs);\n this.renderDateSelection(context, props.dateSelectionSegs);\n this.renderBgEvents(context, props.bgEventSegs);\n this.renderFgEvents(context, props.fgEventSegs);\n this.renderEventSelection(props.eventSelection);\n this.renderEventDrag(props.eventDrag);\n this.renderEventResize(props.eventResize);\n if (this.segPopoverTile) {\n this.updateSegPopoverTile();\n }\n };\n DayGrid.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.renderCells.unrender(); // will unrender everything else\n };\n DayGrid.prototype.getCellRange = function (row, col) {\n var start = this.props.cells[row][col].date;\n var end = addDays(start, 1);\n return { start: start, end: end };\n };\n DayGrid.prototype.updateSegPopoverTile = function (date, segs) {\n var ownProps = this.props;\n this.segPopoverTile.receiveProps({\n date: date || this.segPopoverTile.props.date,\n fgSegs: segs || this.segPopoverTile.props.fgSegs,\n eventSelection: ownProps.eventSelection,\n eventDragInstances: ownProps.eventDrag ? ownProps.eventDrag.affectedInstances : null,\n eventResizeInstances: ownProps.eventResize ? ownProps.eventResize.affectedInstances : null\n }, this.context);\n };\n /* Date Rendering\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype._renderCells = function (cells, isRigid) {\n var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, dateEnv = _a.dateEnv;\n var _b = this, rowCnt = _b.rowCnt, colCnt = _b.colCnt;\n var html = '';\n var row;\n var col;\n for (row = 0; row < rowCnt; row++) {\n html += this.renderDayRowHtml(row, isRigid);\n }\n this.el.innerHTML = html;\n this.rowEls = findElements(this.el, '.fc-row');\n this.cellEls = findElements(this.el, '.fc-day, .fc-disabled-day');\n if (isRtl) {\n this.cellEls.reverse();\n }\n this.rowPositions = new PositionCache(this.el, this.rowEls, false, true // vertical\n );\n this.colPositions = new PositionCache(this.el, this.cellEls.slice(0, colCnt), // only the first row\n true, false // horizontal\n );\n // trigger dayRender with each cell's element\n for (row = 0; row < rowCnt; row++) {\n for (col = 0; col < colCnt; col++) {\n calendar.publiclyTrigger('dayRender', [\n {\n date: dateEnv.toDate(cells[row][col].date),\n el: this.getCellEl(row, col),\n view: view\n }\n ]);\n }\n }\n this.isCellSizesDirty = true;\n };\n DayGrid.prototype._unrenderCells = function () {\n this.removeSegPopover();\n };\n // Generates the HTML for a single row, which is a div that wraps a table.\n // `row` is the row number.\n DayGrid.prototype.renderDayRowHtml = function (row, isRigid) {\n var theme = this.context.theme;\n var classes = ['fc-row', 'fc-week', theme.getClass('dayRow')];\n if (isRigid) {\n classes.push('fc-rigid');\n }\n var bgRow = new DayBgRow(this.context);\n return '' +\n '
' +\n '
' +\n '' +\n bgRow.renderHtml({\n cells: this.props.cells[row],\n dateProfile: this.props.dateProfile,\n renderIntroHtml: this.renderProps.renderBgIntroHtml\n }) +\n '
' +\n '
' +\n '
' +\n '' +\n (this.getIsNumbersVisible() ?\n '' +\n this.renderNumberTrHtml(row) +\n '' :\n '') +\n '
' +\n '
' +\n '
';\n };\n DayGrid.prototype.getIsNumbersVisible = function () {\n return this.getIsDayNumbersVisible() ||\n this.renderProps.cellWeekNumbersVisible ||\n this.renderProps.colWeekNumbersVisible;\n };\n DayGrid.prototype.getIsDayNumbersVisible = function () {\n return this.rowCnt > 1;\n };\n /* Grid Number Rendering\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype.renderNumberTrHtml = function (row) {\n var isRtl = this.context.isRtl;\n var intro = this.renderProps.renderNumberIntroHtml(row, this);\n return '' +\n '' +\n (isRtl ? '' : intro) +\n this.renderNumberCellsHtml(row) +\n (isRtl ? intro : '') +\n '';\n };\n DayGrid.prototype.renderNumberCellsHtml = function (row) {\n var htmls = [];\n var col;\n var date;\n for (col = 0; col < this.colCnt; col++) {\n date = this.props.cells[row][col].date;\n htmls.push(this.renderNumberCellHtml(date));\n }\n if (this.context.isRtl) {\n htmls.reverse();\n }\n return htmls.join('');\n };\n // Generates the HTML for the s of the \"number\" row in the DayGrid's content skeleton.\n // The number row will only exist if either day numbers or week numbers are turned on.\n DayGrid.prototype.renderNumberCellHtml = function (date) {\n var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;\n var html = '';\n var isDateValid = rangeContainsMarker(this.props.dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n var isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;\n var classes;\n var weekCalcFirstDow;\n if (!isDayNumberVisible && !this.renderProps.cellWeekNumbersVisible) {\n // no numbers in day cell (week number must be along the side)\n return ''; // will create an empty space above events :(\n }\n classes = getDayClasses(date, this.props.dateProfile, this.context);\n classes.unshift('fc-day-top');\n if (this.renderProps.cellWeekNumbersVisible) {\n weekCalcFirstDow = dateEnv.weekDow;\n }\n html += '';\n if (this.renderProps.cellWeekNumbersVisible && (date.getUTCDay() === weekCalcFirstDow)) {\n html += buildGotoAnchorHtml(options, dateEnv, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML\n );\n }\n if (isDayNumberVisible) {\n html += buildGotoAnchorHtml(options, dateEnv, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML\n );\n }\n html += '';\n return html;\n };\n /* Sizing\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype.updateSize = function (isResize) {\n var calendar = this.context.calendar;\n var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;\n if (isResize ||\n this.isCellSizesDirty ||\n calendar.isEventsUpdated // hack\n ) {\n this.buildPositionCaches();\n this.isCellSizesDirty = false;\n }\n fillRenderer.computeSizes(isResize);\n eventRenderer.computeSizes(isResize);\n mirrorRenderer.computeSizes(isResize);\n fillRenderer.assignSizes(isResize);\n eventRenderer.assignSizes(isResize);\n mirrorRenderer.assignSizes(isResize);\n };\n DayGrid.prototype.buildPositionCaches = function () {\n this.buildColPositions();\n this.buildRowPositions();\n };\n DayGrid.prototype.buildColPositions = function () {\n this.colPositions.build();\n };\n DayGrid.prototype.buildRowPositions = function () {\n this.rowPositions.build();\n this.rowPositions.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack\n };\n /* Hit System\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype.positionToHit = function (leftPosition, topPosition) {\n var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n var col = colPositions.leftToIndex(leftPosition);\n var row = rowPositions.topToIndex(topPosition);\n if (row != null && col != null) {\n return {\n row: row,\n col: col,\n dateSpan: {\n range: this.getCellRange(row, col),\n allDay: true\n },\n dayEl: this.getCellEl(row, col),\n relativeRect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row]\n }\n };\n }\n };\n /* Cell System\n ------------------------------------------------------------------------------------------------------------------*/\n // FYI: the first column is the leftmost column, regardless of date\n DayGrid.prototype.getCellEl = function (row, col) {\n return this.cellEls[row * this.colCnt + col];\n };\n /* Event Drag Visualization\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype._renderEventDrag = function (state) {\n if (state) {\n this.eventRenderer.hideByHash(state.affectedInstances);\n this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n }\n };\n DayGrid.prototype._unrenderEventDrag = function (state) {\n if (state) {\n this.eventRenderer.showByHash(state.affectedInstances);\n this.fillRenderer.unrender('highlight', this.context);\n }\n };\n /* Event Resize Visualization\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype._renderEventResize = function (state) {\n if (state) {\n this.eventRenderer.hideByHash(state.affectedInstances);\n this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n }\n };\n DayGrid.prototype._unrenderEventResize = function (state) {\n if (state) {\n this.eventRenderer.showByHash(state.affectedInstances);\n this.fillRenderer.unrender('highlight', this.context);\n this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n }\n };\n /* More+ Link Popover\n ------------------------------------------------------------------------------------------------------------------*/\n DayGrid.prototype.removeSegPopover = function () {\n if (this.segPopover) {\n this.segPopover.hide(); // in handler, will call segPopover's removeElement\n }\n };\n // Limits the number of \"levels\" (vertically stacking layers of events) for each row of the grid.\n // `levelLimit` can be false (don't limit), a number, or true (should be computed).\n DayGrid.prototype.limitRows = function (levelLimit) {\n var rowStructs = this.eventRenderer.rowStructs || [];\n var row; // row #\n var rowLevelLimit;\n for (row = 0; row < rowStructs.length; row++) {\n this.unlimitRow(row);\n if (!levelLimit) {\n rowLevelLimit = false;\n }\n else if (typeof levelLimit === 'number') {\n rowLevelLimit = levelLimit;\n }\n else {\n rowLevelLimit = this.computeRowLevelLimit(row);\n }\n if (rowLevelLimit !== false) {\n this.limitRow(row, rowLevelLimit);\n }\n }\n };\n // Computes the number of levels a row will accomodate without going outside its bounds.\n // Assumes the row is \"rigid\" (maintains a constant height regardless of what is inside).\n // `row` is the row number.\n DayGrid.prototype.computeRowLevelLimit = function (row) {\n var rowEl = this.rowEls[row]; // the containing \"fake\" row div\n var rowBottom = rowEl.getBoundingClientRect().bottom; // relative to viewport!\n var trEls = findChildren(this.eventRenderer.rowStructs[row].tbodyEl);\n var i;\n var trEl;\n // Reveal one level at a time and stop when we find one out of bounds\n for (i = 0; i < trEls.length; i++) {\n trEl = trEls[i];\n trEl.classList.remove('fc-limited'); // reset to original state (reveal)\n if (trEl.getBoundingClientRect().bottom > rowBottom) {\n return i;\n }\n }\n return false; // should not limit at all\n };\n // Limits the given grid row to the maximum number of levels and injects \"more\" links if necessary.\n // `row` is the row number.\n // `levelLimit` is a number for the maximum (inclusive) number of levels allowed.\n DayGrid.prototype.limitRow = function (row, levelLimit) {\n var _this = this;\n var colCnt = this.colCnt;\n var isRtl = this.context.isRtl;\n var rowStruct = this.eventRenderer.rowStructs[row];\n var moreNodes = []; // array of \"more\" links and DOM nodes\n var col = 0; // col #, left-to-right (not chronologically)\n var levelSegs; // array of segment objects in the last allowable level, ordered left-to-right\n var cellMatrix; // a matrix (by level, then column) of all elements in the row\n var limitedNodes; // array of temporarily hidden level and segment DOM nodes\n var i;\n var seg;\n var segsBelow; // array of segment objects below `seg` in the current `col`\n var totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies\n var colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)\n var td;\n var rowSpan;\n var segMoreNodes; // array of \"more\" cells that will stand-in for the current seg's cell\n var j;\n var moreTd;\n var moreWrap;\n var moreLink;\n // Iterates through empty level cells and places \"more\" links inside if need be\n var emptyCellsUntil = function (endCol) {\n while (col < endCol) {\n segsBelow = _this.getCellSegs(row, col, levelLimit);\n if (segsBelow.length) {\n td = cellMatrix[levelLimit - 1][col];\n moreLink = _this.renderMoreLink(row, col, segsBelow);\n moreWrap = createElement('div', null, moreLink);\n td.appendChild(moreWrap);\n moreNodes.push(moreWrap);\n }\n col++;\n }\n };\n if (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?\n levelSegs = rowStruct.segLevels[levelLimit - 1];\n cellMatrix = rowStruct.cellMatrix;\n limitedNodes = findChildren(rowStruct.tbodyEl).slice(levelLimit); // get level elements past the limit\n limitedNodes.forEach(function (node) {\n node.classList.add('fc-limited'); // hide elements and get a simple DOM-nodes array\n });\n // iterate though segments in the last allowable level\n for (i = 0; i < levelSegs.length; i++) {\n seg = levelSegs[i];\n var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n emptyCellsUntil(leftCol); // process empty cells before the segment\n // determine *all* segments below `seg` that occupy the same columns\n colSegsBelow = [];\n totalSegsBelow = 0;\n while (col <= rightCol) {\n segsBelow = this.getCellSegs(row, col, levelLimit);\n colSegsBelow.push(segsBelow);\n totalSegsBelow += segsBelow.length;\n col++;\n }\n if (totalSegsBelow) { // do we need to replace this segment with one or many \"more\" links?\n td = cellMatrix[levelLimit - 1][leftCol]; // the segment's parent cell\n rowSpan = td.rowSpan || 1;\n segMoreNodes = [];\n // make a replacement for each column the segment occupies. will be one for each colspan\n for (j = 0; j < colSegsBelow.length; j++) {\n moreTd = createElement('td', { className: 'fc-more-cell', rowSpan: rowSpan });\n segsBelow = colSegsBelow[j];\n moreLink = this.renderMoreLink(row, leftCol + j, [seg].concat(segsBelow) // count seg as hidden too\n );\n moreWrap = createElement('div', null, moreLink);\n moreTd.appendChild(moreWrap);\n segMoreNodes.push(moreTd);\n moreNodes.push(moreTd);\n }\n td.classList.add('fc-limited');\n insertAfterElement(td, segMoreNodes);\n limitedNodes.push(td);\n }\n }\n emptyCellsUntil(this.colCnt); // finish off the level\n rowStruct.moreEls = moreNodes; // for easy undoing later\n rowStruct.limitedEls = limitedNodes; // for easy undoing later\n }\n };\n // Reveals all levels and removes all \"more\"-related elements for a grid's row.\n // `row` is a row number.\n DayGrid.prototype.unlimitRow = function (row) {\n var rowStruct = this.eventRenderer.rowStructs[row];\n if (rowStruct.moreEls) {\n rowStruct.moreEls.forEach(removeElement);\n rowStruct.moreEls = null;\n }\n if (rowStruct.limitedEls) {\n rowStruct.limitedEls.forEach(function (limitedEl) {\n limitedEl.classList.remove('fc-limited');\n });\n rowStruct.limitedEls = null;\n }\n };\n // Renders an element that represents hidden event element for a cell.\n // Responsible for attaching click handler as well.\n DayGrid.prototype.renderMoreLink = function (row, col, hiddenSegs) {\n var _this = this;\n var _a = this.context, calendar = _a.calendar, view = _a.view, dateEnv = _a.dateEnv, options = _a.options, isRtl = _a.isRtl;\n var a = createElement('a', { className: 'fc-more' });\n a.innerText = this.getMoreLinkText(hiddenSegs.length);\n a.addEventListener('click', function (ev) {\n var clickOption = options.eventLimitClick;\n var _col = isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n var date = _this.props.cells[row][_col].date;\n var moreEl = ev.currentTarget;\n var dayEl = _this.getCellEl(row, col);\n var allSegs = _this.getCellSegs(row, col);\n // rescope the segments to be within the cell's date\n var reslicedAllSegs = _this.resliceDaySegs(allSegs, date);\n var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);\n if (typeof clickOption === 'function') {\n // the returned value can be an atomic option\n clickOption = calendar.publiclyTrigger('eventLimitClick', [\n {\n date: dateEnv.toDate(date),\n allDay: true,\n dayEl: dayEl,\n moreEl: moreEl,\n segs: reslicedAllSegs,\n hiddenSegs: reslicedHiddenSegs,\n jsEvent: ev,\n view: view\n }\n ]);\n }\n if (clickOption === 'popover') {\n _this.showSegPopover(row, col, moreEl, reslicedAllSegs);\n }\n else if (typeof clickOption === 'string') { // a view name\n calendar.zoomTo(date, clickOption);\n }\n });\n return a;\n };\n // Reveals the popover that displays all events within a cell\n DayGrid.prototype.showSegPopover = function (row, col, moreLink, segs) {\n var _this = this;\n var _a = this.context, calendar = _a.calendar, view = _a.view, theme = _a.theme, isRtl = _a.isRtl;\n var _col = isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n var moreWrap = moreLink.parentNode; // the
wrapper around the \n var topEl; // the element we want to match the top coordinate of\n var options;\n if (this.rowCnt === 1) {\n topEl = view.el; // will cause the popover to cover any sort of header\n }\n else {\n topEl = this.rowEls[row]; // will align with top of row\n }\n options = {\n className: 'fc-more-popover ' + theme.getClass('popover'),\n parentEl: view.el,\n top: computeRect(topEl).top,\n autoHide: true,\n content: function (el) {\n _this.segPopoverTile = new DayTile(el);\n _this.updateSegPopoverTile(_this.props.cells[row][_col].date, segs);\n },\n hide: function () {\n _this.segPopoverTile.destroy();\n _this.segPopoverTile = null;\n _this.segPopover.destroy();\n _this.segPopover = null;\n }\n };\n // Determine horizontal coordinate.\n // We use the moreWrap instead of the to avoid border confusion.\n if (isRtl) {\n options.right = computeRect(moreWrap).right + 1; // +1 to be over cell border\n }\n else {\n options.left = computeRect(moreWrap).left - 1; // -1 to be over cell border\n }\n this.segPopover = new Popover(options);\n this.segPopover.show();\n calendar.releaseAfterSizingTriggers(); // hack for eventPositioned\n };\n // Given the events within an array of segment objects, reslice them to be in a single day\n DayGrid.prototype.resliceDaySegs = function (segs, dayDate) {\n var dayStart = dayDate;\n var dayEnd = addDays(dayStart, 1);\n var dayRange = { start: dayStart, end: dayEnd };\n var newSegs = [];\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var eventRange = seg.eventRange;\n var origRange = eventRange.range;\n var slicedRange = intersectRanges(origRange, dayRange);\n if (slicedRange) {\n newSegs.push(__assign({}, seg, { eventRange: {\n def: eventRange.def,\n ui: __assign({}, eventRange.ui, { durationEditable: false }),\n instance: eventRange.instance,\n range: slicedRange\n }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() }));\n }\n }\n return newSegs;\n };\n // Generates the text that should be inside a \"more\" link, given the number of events it represents\n DayGrid.prototype.getMoreLinkText = function (num) {\n var opt = this.context.options.eventLimitText;\n if (typeof opt === 'function') {\n return opt(num);\n }\n else {\n return '+' + num + ' ' + opt;\n }\n };\n // Returns segments within a given cell.\n // If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.\n DayGrid.prototype.getCellSegs = function (row, col, startLevel) {\n var segMatrix = this.eventRenderer.rowStructs[row].segMatrix;\n var level = startLevel || 0;\n var segs = [];\n var seg;\n while (level < segMatrix.length) {\n seg = segMatrix[level][col];\n if (seg) {\n segs.push(seg);\n }\n level++;\n }\n return segs;\n };\n return DayGrid;\n}(DateComponent));\n\nvar WEEK_NUM_FORMAT$1 = createFormatter({ week: 'numeric' });\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\nvar AbstractDayGridView = /** @class */ (function (_super) {\n __extends(AbstractDayGridView, _super);\n function AbstractDayGridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.processOptions = memoize(_this._processOptions);\n _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);\n /* Header Rendering\n ------------------------------------------------------------------------------------------------------------------*/\n // Generates the HTML that will go before the day-of week header cells\n _this.renderHeadIntroHtml = function () {\n var _a = _this.context, theme = _a.theme, options = _a.options;\n if (_this.colWeekNumbersVisible) {\n return '' +\n '' +\n '' + // needed for matchCellWidths\n htmlEscape(options.weekLabel) +\n '' +\n '';\n }\n return '';\n };\n /* Day Grid Rendering\n ------------------------------------------------------------------------------------------------------------------*/\n // Generates the HTML that will go before content-skeleton cells that display the day/week numbers\n _this.renderDayGridNumberIntroHtml = function (row, dayGrid) {\n var _a = _this.context, options = _a.options, dateEnv = _a.dateEnv;\n var weekStart = dayGrid.props.cells[row][0].date;\n if (_this.colWeekNumbersVisible) {\n return '' +\n '' +\n buildGotoAnchorHtml(// aside from link, important for matchCellWidths\n options, dateEnv, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT$1) // inner HTML\n ) +\n '';\n }\n return '';\n };\n // Generates the HTML that goes before the day bg cells for each day-row\n _this.renderDayGridBgIntroHtml = function () {\n var theme = _this.context.theme;\n if (_this.colWeekNumbersVisible) {\n return '';\n }\n return '';\n };\n // Generates the HTML that goes before every other type of row generated by DayGrid.\n // Affects mirror-skeleton and highlight-skeleton rows.\n _this.renderDayGridIntroHtml = function () {\n if (_this.colWeekNumbersVisible) {\n return '';\n }\n return '';\n };\n return _this;\n }\n AbstractDayGridView.prototype._processOptions = function (options) {\n if (options.weekNumbers) {\n if (options.weekNumbersWithinDays) {\n this.cellWeekNumbersVisible = true;\n this.colWeekNumbersVisible = false;\n }\n else {\n this.cellWeekNumbersVisible = false;\n this.colWeekNumbersVisible = true;\n }\n }\n else {\n this.colWeekNumbersVisible = false;\n this.cellWeekNumbersVisible = false;\n }\n };\n AbstractDayGridView.prototype.render = function (props, context) {\n _super.prototype.render.call(this, props, context);\n this.processOptions(context.options);\n this.renderSkeleton(context);\n };\n AbstractDayGridView.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.renderSkeleton.unrender();\n };\n AbstractDayGridView.prototype._renderSkeleton = function (context) {\n this.el.classList.add('fc-dayGrid-view');\n this.el.innerHTML = this.renderSkeletonHtml();\n this.scroller = new ScrollComponent('hidden', // overflow x\n 'auto' // overflow y\n );\n var dayGridContainerEl = this.scroller.el;\n this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);\n dayGridContainerEl.classList.add('fc-day-grid-container');\n var dayGridEl = createElement('div', { className: 'fc-day-grid' });\n dayGridContainerEl.appendChild(dayGridEl);\n this.dayGrid = new DayGrid(dayGridEl, {\n renderNumberIntroHtml: this.renderDayGridNumberIntroHtml,\n renderBgIntroHtml: this.renderDayGridBgIntroHtml,\n renderIntroHtml: this.renderDayGridIntroHtml,\n colWeekNumbersVisible: this.colWeekNumbersVisible,\n cellWeekNumbersVisible: this.cellWeekNumbersVisible\n });\n };\n AbstractDayGridView.prototype._unrenderSkeleton = function () {\n this.el.classList.remove('fc-dayGrid-view');\n this.dayGrid.destroy();\n this.scroller.destroy();\n };\n // Builds the HTML skeleton for the view.\n // The day-grid component will render inside of a container defined by this HTML.\n AbstractDayGridView.prototype.renderSkeletonHtml = function () {\n var _a = this.context, theme = _a.theme, options = _a.options;\n return '' +\n '' +\n (options.columnHeader ?\n '' +\n '' +\n '' +\n '' +\n '' :\n '') +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
 
';\n };\n // Generates an HTML attribute string for setting the width of the week number column, if it is known\n AbstractDayGridView.prototype.weekNumberStyleAttr = function () {\n if (this.weekNumberWidth != null) {\n return 'style=\"width:' + this.weekNumberWidth + 'px\"';\n }\n return '';\n };\n // Determines whether each row should have a constant height\n AbstractDayGridView.prototype.hasRigidRows = function () {\n var eventLimit = this.context.options.eventLimit;\n return eventLimit && typeof eventLimit !== 'number';\n };\n /* Dimensions\n ------------------------------------------------------------------------------------------------------------------*/\n AbstractDayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {\n _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first\n this.dayGrid.updateSize(isResize);\n };\n // Refreshes the horizontal dimensions of the view\n AbstractDayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {\n var dayGrid = this.dayGrid;\n var eventLimit = this.context.options.eventLimit;\n var headRowEl = this.header ? this.header.el : null; // HACK\n var scrollerHeight;\n var scrollbarWidths;\n // hack to give the view some height prior to dayGrid's columns being rendered\n // TODO: separate setting height from scroller VS dayGrid.\n if (!dayGrid.rowEls) {\n if (!isAuto) {\n scrollerHeight = this.computeScrollerHeight(viewHeight);\n this.scroller.setHeight(scrollerHeight);\n }\n return;\n }\n if (this.colWeekNumbersVisible) {\n // Make sure all week number cells running down the side have the same width.\n this.weekNumberWidth = matchCellWidths(findElements(this.el, '.fc-week-number'));\n }\n // reset all heights to be natural\n this.scroller.clear();\n if (headRowEl) {\n uncompensateScroll(headRowEl);\n }\n dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n // is the event limit a constant level number?\n if (eventLimit && typeof eventLimit === 'number') {\n dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after\n }\n // distribute the height to the rows\n // (viewHeight is a \"recommended\" value if isAuto)\n scrollerHeight = this.computeScrollerHeight(viewHeight);\n this.setGridHeight(scrollerHeight, isAuto);\n // is the event limit dynamically calculated?\n if (eventLimit && typeof eventLimit !== 'number') {\n dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set\n }\n if (!isAuto) { // should we force dimensions of the scroll container?\n this.scroller.setHeight(scrollerHeight);\n scrollbarWidths = this.scroller.getScrollbarWidths();\n if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n if (headRowEl) {\n compensateScroll(headRowEl, scrollbarWidths);\n }\n // doing the scrollbar compensation might have created text overflow which created more height. redo\n scrollerHeight = this.computeScrollerHeight(viewHeight);\n this.scroller.setHeight(scrollerHeight);\n }\n // guarantees the same scrollbar widths\n this.scroller.lockOverflow(scrollbarWidths);\n }\n };\n // given a desired total height of the view, returns what the height of the scroller should be\n AbstractDayGridView.prototype.computeScrollerHeight = function (viewHeight) {\n return viewHeight -\n subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n };\n // Sets the height of just the DayGrid component in this view\n AbstractDayGridView.prototype.setGridHeight = function (height, isAuto) {\n if (this.context.options.monthMode) {\n // if auto, make the height of each row the height that it would be if there were 6 weeks\n if (isAuto) {\n height *= this.dayGrid.rowCnt / 6;\n }\n distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows\n }\n else {\n if (isAuto) {\n undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding\n }\n else {\n distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows\n }\n }\n };\n /* Scroll\n ------------------------------------------------------------------------------------------------------------------*/\n AbstractDayGridView.prototype.computeDateScroll = function (duration) {\n return { top: 0 };\n };\n AbstractDayGridView.prototype.queryDateScroll = function () {\n return { top: this.scroller.getScrollTop() };\n };\n AbstractDayGridView.prototype.applyDateScroll = function (scroll) {\n if (scroll.top !== undefined) {\n this.scroller.setScrollTop(scroll.top);\n }\n };\n return AbstractDayGridView;\n}(View));\nAbstractDayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;\n\nvar SimpleDayGrid = /** @class */ (function (_super) {\n __extends(SimpleDayGrid, _super);\n function SimpleDayGrid(dayGrid) {\n var _this = _super.call(this, dayGrid.el) || this;\n _this.slicer = new DayGridSlicer();\n _this.dayGrid = dayGrid;\n return _this;\n }\n SimpleDayGrid.prototype.firstContext = function (context) {\n context.calendar.registerInteractiveComponent(this, { el: this.dayGrid.el });\n };\n SimpleDayGrid.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.context.calendar.unregisterInteractiveComponent(this);\n };\n SimpleDayGrid.prototype.render = function (props, context) {\n var dayGrid = this.dayGrid;\n var dateProfile = props.dateProfile, dayTable = props.dayTable;\n dayGrid.receiveContext(context); // hack because context is used in sliceProps\n dayGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, context.calendar, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }), context);\n };\n SimpleDayGrid.prototype.buildPositionCaches = function () {\n this.dayGrid.buildPositionCaches();\n };\n SimpleDayGrid.prototype.queryHit = function (positionLeft, positionTop) {\n var rawHit = this.dayGrid.positionToHit(positionLeft, positionTop);\n if (rawHit) {\n return {\n component: this.dayGrid,\n dateSpan: rawHit.dateSpan,\n dayEl: rawHit.dayEl,\n rect: {\n left: rawHit.relativeRect.left,\n right: rawHit.relativeRect.right,\n top: rawHit.relativeRect.top,\n bottom: rawHit.relativeRect.bottom\n },\n layer: 0\n };\n }\n };\n return SimpleDayGrid;\n}(DateComponent));\nvar DayGridSlicer = /** @class */ (function (_super) {\n __extends(DayGridSlicer, _super);\n function DayGridSlicer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DayGridSlicer.prototype.sliceRange = function (dateRange, dayTable) {\n return dayTable.sliceRange(dateRange);\n };\n return DayGridSlicer;\n}(Slicer));\n\nvar DayGridView = /** @class */ (function (_super) {\n __extends(DayGridView, _super);\n function DayGridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDayTable = memoize(buildDayTable);\n return _this;\n }\n DayGridView.prototype.render = function (props, context) {\n _super.prototype.render.call(this, props, context); // will call _renderSkeleton/_unrenderSkeleton\n var dateProfile = this.props.dateProfile;\n var dayTable = this.dayTable =\n this.buildDayTable(dateProfile, props.dateProfileGenerator);\n if (this.header) {\n this.header.receiveProps({\n dateProfile: dateProfile,\n dates: dayTable.headerDates,\n datesRepDistinctDays: dayTable.rowCnt === 1,\n renderIntroHtml: this.renderHeadIntroHtml\n }, context);\n }\n this.simpleDayGrid.receiveProps({\n dateProfile: dateProfile,\n dayTable: dayTable,\n businessHours: props.businessHours,\n dateSelection: props.dateSelection,\n eventStore: props.eventStore,\n eventUiBases: props.eventUiBases,\n eventSelection: props.eventSelection,\n eventDrag: props.eventDrag,\n eventResize: props.eventResize,\n isRigid: this.hasRigidRows(),\n nextDayThreshold: this.context.nextDayThreshold\n }, context);\n };\n DayGridView.prototype._renderSkeleton = function (context) {\n _super.prototype._renderSkeleton.call(this, context);\n if (context.options.columnHeader) {\n this.header = new DayHeader(this.el.querySelector('.fc-head-container'));\n }\n this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);\n };\n DayGridView.prototype._unrenderSkeleton = function () {\n _super.prototype._unrenderSkeleton.call(this);\n if (this.header) {\n this.header.destroy();\n }\n this.simpleDayGrid.destroy();\n };\n return DayGridView;\n}(AbstractDayGridView));\nfunction buildDayTable(dateProfile, dateProfileGenerator) {\n var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);\n return new DayTable(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n\nvar main = createPlugin({\n defaultView: 'dayGridMonth',\n views: {\n dayGrid: DayGridView,\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 }\n },\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 }\n },\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true\n }\n }\n});\n\nexport default main;\nexport { AbstractDayGridView, DayBgRow, DayGrid, DayGridSlicer, DayGridView, SimpleDayGrid, buildDayTable as buildBasicDayTable };\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Calendar.vue?vue&type=template&id=1041699e&scoped=true&\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js&\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Calendar.vue?vue&type=style&index=0&id=1041699e&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1041699e\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n"],"sourceRoot":""}