, input: InteractionSettingsInput): InteractionSettings {\n return {\n component: component,\n el: input.el,\n useEventCenter: input.useEventCenter != null ? input.useEventCenter : true\n }\n}\n\nexport function interactionSettingsToStore(settings: InteractionSettings) {\n return {\n [settings.component.uid]: settings\n }\n}\n\n\n\n// global state\nexport let interactionSettingsStore: InteractionSettingsStore = {}\n","import { listenBySelector } from '../util/dom-event'\nimport EventApi from '../api/EventApi'\nimport { elementClosest } from '../util/dom-manip'\nimport { getElSeg } from '../component/event-rendering'\nimport { Interaction, InteractionSettings } from './interaction'\n\n/*\nDetects when the user clicks on an event within a DateComponent\n*/\nexport default class EventClicking extends Interaction {\n\n constructor(settings: InteractionSettings) {\n super(settings)\n let { component } = settings\n\n this.destroy = listenBySelector(\n component.el,\n 'click',\n component.fgSegSelector + ',' + component.bgSegSelector,\n this.handleSegClick\n )\n }\n\n handleSegClick = (ev: Event, segEl: HTMLElement) => {\n let { component } = this\n let seg = getElSeg(segEl)\n\n if (\n seg && // might be the surrounding the more link\n component.isValidSegDownEl(ev.target as HTMLElement)\n ) {\n\n // our way to simulate a link click for elements that can't be
tags\n // grab before trigger fired in case trigger trashes DOM thru rerendering\n let hasUrlContainer = elementClosest(ev.target as HTMLElement, '.fc-has-url')\n let url = hasUrlContainer ? (hasUrlContainer.querySelector('a[href]') as any).href : ''\n\n component.publiclyTrigger('eventClick', [\n {\n el: segEl,\n event: new EventApi(\n component.calendar,\n seg.eventRange.def,\n seg.eventRange.instance\n ),\n jsEvent: ev as MouseEvent, // Is this always a mouse event? See #4655\n view: component.view\n }\n ])\n\n if (url && !ev.defaultPrevented) {\n window.location.href = url\n }\n }\n }\n\n}\n","import { listenToHoverBySelector } from '../util/dom-event'\nimport EventApi from '../api/EventApi'\nimport { getElSeg } from '../component/event-rendering'\nimport { Interaction, InteractionSettings } from './interaction'\n\n/*\nTriggers events and adds/removes core classNames when the user's pointer\nenters/leaves event-elements of a component.\n*/\nexport default class EventHovering extends Interaction {\n\n removeHoverListeners: () => void\n currentSegEl: HTMLElement\n\n constructor(settings: InteractionSettings) {\n super(settings)\n let { component } = settings\n\n this.removeHoverListeners = listenToHoverBySelector(\n component.el,\n component.fgSegSelector + ',' + component.bgSegSelector,\n this.handleSegEnter,\n this.handleSegLeave\n )\n\n component.calendar.on('eventElRemove', this.handleEventElRemove)\n }\n\n destroy() {\n this.removeHoverListeners()\n this.component.calendar.off('eventElRemove', this.handleEventElRemove)\n }\n\n // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it\n handleEventElRemove = (el: HTMLElement) => {\n if (el === this.currentSegEl) {\n this.handleSegLeave(null, this.currentSegEl)\n }\n }\n\n handleSegEnter = (ev: Event, segEl: HTMLElement) => {\n if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper\n segEl.classList.add('fc-allow-mouse-resize')\n this.currentSegEl = segEl\n this.triggerEvent('eventMouseEnter', ev, segEl)\n }\n }\n\n handleSegLeave = (ev: Event | null, segEl: HTMLElement) => {\n if (this.currentSegEl) {\n segEl.classList.remove('fc-allow-mouse-resize')\n this.currentSegEl = null\n this.triggerEvent('eventMouseLeave', ev, segEl)\n }\n }\n\n triggerEvent(publicEvName: 'eventMouseEnter' | 'eventMouseLeave', ev: Event | null, segEl: HTMLElement) {\n let { component } = this\n let seg = getElSeg(segEl)!\n\n if (!ev || component.isValidSegDownEl(ev.target as HTMLElement)) {\n component.publiclyTrigger(publicEvName, [\n {\n el: segEl,\n event: new EventApi(\n this.component.calendar,\n seg.eventRange.def,\n seg.eventRange.instance\n ),\n jsEvent: ev as MouseEvent, // Is this always a mouse event? See #4655\n view: component.view\n }\n ])\n }\n }\n\n}\n","import Theme from './Theme'\n\nexport default class StandardTheme extends Theme {\n}\n\nStandardTheme.prototype.classes = {\n widget: 'fc-unthemed',\n widgetHeader: 'fc-widget-header',\n widgetContent: 'fc-widget-content',\n\n buttonGroup: 'fc-button-group',\n button: 'fc-button fc-button-primary',\n buttonActive: 'fc-button-active',\n\n popoverHeader: 'fc-widget-header',\n popoverContent: 'fc-widget-content',\n\n // day grid\n headerRow: 'fc-widget-header',\n dayRow: 'fc-widget-content',\n\n // list view\n listView: 'fc-widget-content'\n}\n\nStandardTheme.prototype.baseIconClass = 'fc-icon'\nStandardTheme.prototype.iconClasses = {\n close: 'fc-icon-x',\n prev: 'fc-icon-chevron-left',\n next: 'fc-icon-chevron-right',\n prevYear: 'fc-icon-chevrons-left',\n nextYear: 'fc-icon-chevrons-right'\n}\n\nStandardTheme.prototype.iconOverrideOption = 'buttonIcons'\nStandardTheme.prototype.iconOverrideCustomButtonOption = 'icon'\nStandardTheme.prototype.iconOverridePrefix = 'fc-icon-'\n","import { listenBySelector } from './util/dom-event'\nimport { capitaliseFirstLetter, debounce } from './util/misc'\nimport { default as EmitterMixin, EmitterInterface } from './common/EmitterMixin'\nimport OptionsManager from './OptionsManager'\nimport View from './View'\nimport Theme from './theme/Theme'\nimport { OptionsInput, EventHandlerName, EventHandlerArgs } from './types/input-types'\nimport { Locale, buildLocale, parseRawLocales, RawLocaleMap } from './datelib/locale'\nimport { DateEnv, DateInput } from './datelib/env'\nimport { DateMarker, startOfDay } from './datelib/marker'\nimport { createFormatter } from './datelib/formatting'\nimport { Duration, createDuration, DurationInput } from './datelib/duration'\nimport reduce from './reducers/main'\nimport { parseDateSpan, DateSpanInput, DateSpan, buildDateSpanApi, DateSpanApi, buildDatePointApi, DatePointApi } from './structs/date-span'\nimport { memoize, memoizeOutput } from './util/memoize'\nimport { mapHash, isPropsEqual } from './util/object'\nimport { DateRangeInput } from './datelib/date-range'\nimport DateProfileGenerator from './DateProfileGenerator'\nimport { EventSourceInput, parseEventSource, EventSourceHash } from './structs/event-source'\nimport { EventInput, parseEvent, EventDefHash } from './structs/event'\nimport { CalendarState, Action } from './reducers/types'\nimport EventSourceApi from './api/EventSourceApi'\nimport EventApi from './api/EventApi'\nimport { createEmptyEventStore, EventStore, eventTupleToStore } from './structs/event-store'\nimport { processScopedUiProps, EventUiHash, EventUi } from './component/event-ui'\nimport { buildViewSpecs, ViewSpecHash, ViewSpec } from './structs/view-spec'\nimport { PluginSystem } from './plugin-system'\nimport CalendarComponent from './CalendarComponent'\nimport { __assign } from 'tslib'\nimport { refinePluginDefs } from './options'\nimport DateComponent from './component/DateComponent'\nimport { PointerDragEvent } from './interactions/pointer'\nimport { InteractionSettingsInput, parseInteractionSettings, Interaction, interactionSettingsStore, InteractionClass } from './interactions/interaction'\nimport EventClicking from './interactions/EventClicking'\nimport EventHovering from './interactions/EventHovering'\nimport StandardTheme from './theme/StandardTheme'\nimport { CmdFormatterFunc } from './datelib/formatting-cmd'\nimport { NamedTimeZoneImplClass } from './datelib/timezone'\n\nexport interface DateClickApi extends DatePointApi {\n dayEl: HTMLElement\n jsEvent: UIEvent\n view: View\n}\n\nexport interface DateSelectionApi extends DateSpanApi {\n jsEvent: UIEvent\n view: View\n}\n\nexport type DatePointTransform = (dateSpan: DateSpan, calendar: Calendar) => any\nexport type DateSpanTransform = (dateSpan: DateSpan, calendar: Calendar) => any\n\nexport type CalendarInteraction = { destroy() }\nexport type CalendarInteractionClass = { new(calendar: Calendar): CalendarInteraction }\n\nexport type OptionChangeHandler = (propValue: any, calendar: Calendar, deepEquals) => void\nexport type OptionChangeHandlerMap = { [propName: string]: OptionChangeHandler }\n\nexport default class Calendar {\n\n // global handler registry\n static on: EmitterInterface['on']\n static off: EmitterInterface['off']\n static trigger: EmitterInterface['trigger']\n\n on: EmitterInterface['on']\n one: EmitterInterface['one']\n off: EmitterInterface['off']\n trigger: EmitterInterface['trigger']\n triggerWith: EmitterInterface['triggerWith']\n hasHandlers: EmitterInterface['hasHandlers']\n\n private parseRawLocales = memoize(parseRawLocales)\n private buildLocale = memoize(buildLocale)\n private buildDateEnv = memoize(buildDateEnv)\n private buildTheme = memoize(buildTheme)\n private buildEventUiSingleBase = memoize(this._buildEventUiSingleBase)\n private buildSelectionConfig = memoize(this._buildSelectionConfig)\n private buildEventUiBySource = memoizeOutput(buildEventUiBySource, isPropsEqual)\n private buildEventUiBases = memoize(buildEventUiBases)\n\n eventUiBases: EventUiHash // solely for validation system\n selectionConfig: EventUi // doesn't need all the info EventUi provides. only validation-related. TODO: separate data structs\n\n optionsManager: OptionsManager\n viewSpecs: ViewSpecHash\n dateProfileGenerators: { [viewName: string]: DateProfileGenerator }\n theme: Theme\n dateEnv: DateEnv\n availableRawLocales: RawLocaleMap\n pluginSystem: PluginSystem\n defaultAllDayEventDuration: Duration\n defaultTimedEventDuration: Duration\n\n calendarInteractions: CalendarInteraction[]\n interactionsStore: { [componentUid: string]: Interaction[] } = {}\n removeNavLinkListener: any\n\n windowResizeProxy: any\n isHandlingWindowResize: boolean\n\n state: CalendarState\n actionQueue = []\n isReducing: boolean = false\n\n // isDisplaying: boolean = false // installed in DOM? accepting renders?\n needsRerender: boolean = false // needs a render?\n needsFullRerender: boolean = false\n isRendering: boolean = false // currently in the executeRender function?\n renderingPauseDepth: number = 0\n renderableEventStore: EventStore\n buildDelayedRerender = memoize(buildDelayedRerender)\n delayedRerender: any\n afterSizingTriggers: any = {}\n isViewUpdated: boolean = false\n isDatesUpdated: boolean = false\n isEventsUpdated: boolean = false\n\n el: HTMLElement\n component: CalendarComponent\n\n\n constructor(el: HTMLElement, overrides?: OptionsInput) {\n this.el = el\n\n this.optionsManager = new OptionsManager(overrides || {})\n this.pluginSystem = new PluginSystem()\n\n // only do once. don't do in handleOptions. because can't remove plugins\n this.addPluginInputs(this.optionsManager.computed.plugins || [])\n\n this.handleOptions(this.optionsManager.computed)\n this.publiclyTrigger('_init') // for tests\n this.hydrate()\n\n this.calendarInteractions = this.pluginSystem.hooks.calendarInteractions\n .map((calendarInteractionClass) => {\n return new calendarInteractionClass(this)\n })\n }\n\n\n addPluginInputs(pluginInputs) {\n let pluginDefs = refinePluginDefs(pluginInputs)\n\n for (let pluginDef of pluginDefs) {\n this.pluginSystem.add(pluginDef)\n }\n }\n\n\n // public API\n get view(): View {\n return this.component ? this.component.view : null\n }\n\n\n // Public API for rendering\n // -----------------------------------------------------------------------------------------------------------------\n\n\n render() {\n if (!this.component) {\n this.renderableEventStore = createEmptyEventStore()\n this.bindHandlers()\n this.executeRender()\n } else {\n this.requestRerender(true)\n }\n }\n\n\n destroy() {\n if (this.component) {\n this.unbindHandlers()\n this.component.destroy() // don't null-out. in case API needs access\n this.component = null // umm ???\n\n for (let interaction of this.calendarInteractions) {\n interaction.destroy()\n }\n\n this.publiclyTrigger('_destroyed')\n }\n }\n\n\n // Handlers\n // -----------------------------------------------------------------------------------------------------------------\n\n\n bindHandlers() {\n\n // event delegation for nav links\n this.removeNavLinkListener = listenBySelector(this.el, 'click', 'a[data-goto]', (ev, anchorEl) => {\n let gotoOptions: any = anchorEl.getAttribute('data-goto')\n gotoOptions = gotoOptions ? JSON.parse(gotoOptions) : {}\n\n let { dateEnv } = this\n let dateMarker = dateEnv.createMarker(gotoOptions.date)\n let viewType = gotoOptions.type\n\n // property like \"navLinkDayClick\". might be a string or a function\n let customAction = this.viewOpt('navLink' + capitaliseFirstLetter(viewType) + 'Click')\n\n if (typeof customAction === 'function') {\n customAction(dateEnv.toDate(dateMarker), ev)\n } else {\n if (typeof customAction === 'string') {\n viewType = customAction\n }\n this.zoomTo(dateMarker, viewType)\n }\n })\n\n if (this.opt('handleWindowResize')) {\n window.addEventListener('resize',\n this.windowResizeProxy = debounce( // prevents rapid calls\n this.windowResize.bind(this),\n this.opt('windowResizeDelay')\n )\n )\n }\n }\n\n unbindHandlers() {\n this.removeNavLinkListener()\n\n if (this.windowResizeProxy) {\n window.removeEventListener('resize', this.windowResizeProxy)\n this.windowResizeProxy = null\n }\n }\n\n\n // Dispatcher\n // -----------------------------------------------------------------------------------------------------------------\n\n\n hydrate() {\n this.state = this.buildInitialState()\n\n let rawSources = this.opt('eventSources') || []\n let singleRawSource = this.opt('events')\n let sources = [] // parsed\n\n if (singleRawSource) {\n rawSources.unshift(singleRawSource)\n }\n\n for (let rawSource of rawSources) {\n let source = parseEventSource(rawSource, this)\n if (source) {\n sources.push(source)\n }\n }\n\n this.batchRendering(() => {\n this.dispatch({ type: 'INIT' }) // pass in sources here?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources })\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: this.opt('defaultView') || this.pluginSystem.hooks.defaultView\n })\n })\n }\n\n\n buildInitialState(): CalendarState {\n return {\n viewType: null,\n loadingLevel: 0,\n eventSourceLoadingLevel: 0,\n currentDate: this.getInitialDate(),\n dateProfile: null,\n eventSources: {},\n eventStore: createEmptyEventStore(),\n dateSelection: null,\n eventSelection: '',\n eventDrag: null,\n eventResize: null\n }\n }\n\n\n dispatch(action: Action) {\n this.actionQueue.push(action)\n\n if (!this.isReducing) {\n this.isReducing = true\n let oldState = this.state\n\n while (this.actionQueue.length) {\n this.state = this.reduce(\n this.state,\n this.actionQueue.shift(),\n this\n )\n }\n\n let newState = this.state\n this.isReducing = false\n\n if (!oldState.loadingLevel && newState.loadingLevel) {\n this.publiclyTrigger('loading', [ true ])\n } else if (oldState.loadingLevel && !newState.loadingLevel) {\n this.publiclyTrigger('loading', [ false ])\n }\n\n let view = this.component && this.component.view\n\n if (oldState.eventStore !== newState.eventStore || this.needsFullRerender) {\n if (oldState.eventStore) {\n this.isEventsUpdated = true\n }\n }\n\n if (oldState.dateProfile !== newState.dateProfile || this.needsFullRerender) {\n if (oldState.dateProfile && view) { // why would view be null!?\n this.publiclyTrigger('datesDestroy', [\n {\n view,\n el: view.el\n }\n ])\n }\n this.isDatesUpdated = true\n }\n\n if (oldState.viewType !== newState.viewType || this.needsFullRerender) {\n if (oldState.viewType && view) { // why would view be null!?\n this.publiclyTrigger('viewSkeletonDestroy', [\n {\n view,\n el: view.el\n }\n ])\n }\n this.isViewUpdated = true\n }\n\n this.requestRerender()\n }\n }\n\n\n reduce(state: CalendarState, action: Action, calendar: Calendar): CalendarState {\n return reduce(state, action, calendar)\n }\n\n\n // Render Queue\n // -----------------------------------------------------------------------------------------------------------------\n\n\n requestRerender(needsFull = false) {\n this.needsRerender = true\n this.needsFullRerender = this.needsFullRerender || needsFull\n this.delayedRerender() // will call a debounced-version of tryRerender\n }\n\n\n tryRerender() {\n if (\n this.component && // must be accepting renders\n this.needsRerender && // indicates that a rerender was requested\n !this.renderingPauseDepth && // not paused\n !this.isRendering // not currently in the render loop\n ) {\n this.executeRender()\n }\n }\n\n\n batchRendering(func) {\n this.renderingPauseDepth++\n func()\n this.renderingPauseDepth--\n\n if (this.needsRerender) {\n this.requestRerender()\n }\n }\n\n\n // Rendering\n // -----------------------------------------------------------------------------------------------------------------\n\n executeRender() {\n let { needsFullRerender } = this // save before clearing\n\n // clear these BEFORE the render so that new values will accumulate during render\n this.needsRerender = false\n this.needsFullRerender = false\n\n this.isRendering = true\n this.renderComponent(needsFullRerender)\n this.isRendering = false\n\n // received a rerender request while rendering\n if (this.needsRerender) {\n this.delayedRerender()\n }\n }\n\n /*\n don't call this directly. use executeRender instead\n */\n renderComponent(needsFull) {\n let { state, component } = this\n let { viewType } = state\n let viewSpec = this.viewSpecs[viewType]\n let savedScroll = (needsFull && component) ? component.view.queryScroll() : null\n\n if (!viewSpec) {\n throw new Error(`View type \"${viewType}\" is not valid`)\n }\n\n // if event sources are still loading and progressive rendering hasn't been enabled,\n // keep rendering the last fully loaded set of events\n let renderableEventStore = this.renderableEventStore =\n (state.eventSourceLoadingLevel && !this.opt('progressiveEventRendering')) ?\n this.renderableEventStore :\n state.eventStore\n\n let eventUiSingleBase = this.buildEventUiSingleBase(viewSpec.options)\n let eventUiBySource = this.buildEventUiBySource(state.eventSources)\n let eventUiBases = this.eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource)\n\n if (needsFull || !component) {\n\n if (component) {\n component.freezeHeight() // next component will unfreeze it\n component.destroy()\n }\n\n component = this.component = new CalendarComponent({\n calendar: this,\n view: null, // HACK. will get populated by Component\n dateEnv: this.dateEnv,\n theme: this.theme,\n options: this.optionsManager.computed\n }, this.el)\n }\n\n component.receiveProps({\n ...state,\n viewSpec,\n dateProfile: state.dateProfile,\n dateProfileGenerator: this.dateProfileGenerators[viewType],\n eventStore: renderableEventStore,\n eventUiBases,\n dateSelection: state.dateSelection,\n eventSelection: state.eventSelection,\n eventDrag: state.eventDrag,\n eventResize: state.eventResize\n })\n\n if (savedScroll) {\n component.view.applyScroll(savedScroll, false)\n }\n\n if (this.isViewUpdated) {\n this.isViewUpdated = false\n this.publiclyTrigger('viewSkeletonRender', [\n {\n view: component.view,\n el: component.view.el\n }\n ])\n }\n\n if (this.isDatesUpdated) {\n this.isDatesUpdated = false\n this.publiclyTrigger('datesRender', [\n {\n view: component.view,\n el: component.view.el\n }\n ])\n }\n\n if (this.isEventsUpdated) {\n this.isEventsUpdated = false\n }\n\n this.releaseAfterSizingTriggers()\n }\n\n\n // Options\n // -----------------------------------------------------------------------------------------------------------------\n\n\n setOption(name: string, val) {\n this.mutateOptions({ [name]: val }, [], true)\n }\n\n\n getOption(name: string) { // getter, used externally\n return this.optionsManager.computed[name]\n }\n\n\n opt(name: string) { // getter, used internally\n return this.optionsManager.computed[name]\n }\n\n\n viewOpt(name: string) { // getter, used internally\n return this.viewOpts()[name]\n }\n\n\n viewOpts() {\n return this.viewSpecs[this.state.viewType].options\n }\n\n /*\n handles option changes (like a diff)\n */\n mutateOptions(updates, removals: string[], isDynamic?: boolean, deepEquals?) {\n let changeHandlers = this.pluginSystem.hooks.optionChangeHandlers\n let normalUpdates = {}\n let specialUpdates = {}\n let oldDateEnv = this.dateEnv // do this before handleOptions\n let isTimeZoneDirty = false\n let isSizeDirty = false\n let anyDifficultOptions = Boolean(removals.length)\n\n for (let name in updates) {\n if (changeHandlers[name]) {\n specialUpdates[name] = updates[name]\n } else {\n normalUpdates[name] = updates[name]\n }\n }\n\n for (let name in normalUpdates) {\n if (/^(height|contentHeight|aspectRatio)$/.test(name)) {\n isSizeDirty = true\n } else if (/^(defaultDate|defaultView)$/.test(name)) {\n // can't change date this way. use gotoDate instead\n } else {\n anyDifficultOptions = true\n\n if (name === 'timeZone') {\n isTimeZoneDirty = true\n }\n }\n }\n\n this.optionsManager.mutate(normalUpdates, removals, isDynamic)\n\n if (anyDifficultOptions) {\n this.handleOptions(this.optionsManager.computed)\n this.needsFullRerender = true\n }\n\n console.log('anyDifficultOptions', anyDifficultOptions)\n this.batchRendering(() => {\n\n if (anyDifficultOptions) {\n\n if (isTimeZoneDirty) {\n this.dispatch({\n type: 'CHANGE_TIMEZONE',\n oldDateEnv\n })\n }\n\n /* HACK\n has the same effect as calling this.requestRerender(true)\n but recomputes the state's dateProfile\n */\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: this.state.viewType\n })\n\n } else if (isSizeDirty) {\n this.updateSize()\n }\n\n // special updates\n if (deepEquals) {\n for (let name in specialUpdates) {\n changeHandlers[name](specialUpdates[name], this, deepEquals)\n }\n }\n\n })\n }\n\n /*\n rebuilds things based off of a complete set of refined options\n */\n handleOptions(options) {\n let pluginHooks = this.pluginSystem.hooks\n\n this.defaultAllDayEventDuration = createDuration(options.defaultAllDayEventDuration)\n this.defaultTimedEventDuration = createDuration(options.defaultTimedEventDuration)\n this.delayedRerender = this.buildDelayedRerender(options.rerenderDelay)\n this.theme = this.buildTheme(options)\n\n let available = this.parseRawLocales(options.locales)\n this.availableRawLocales = available.map\n let locale = this.buildLocale(options.locale || available.defaultCode, available.map)\n\n this.dateEnv = this.buildDateEnv(\n locale,\n options.timeZone,\n pluginHooks.namedTimeZonedImpl,\n options.firstDay,\n options.weekNumberCalculation,\n options.weekLabel,\n pluginHooks.cmdFormatter\n )\n\n this.selectionConfig = this.buildSelectionConfig(options) // needs dateEnv. do after :(\n\n // ineffecient to do every time?\n this.viewSpecs = buildViewSpecs(\n pluginHooks.views,\n this.optionsManager\n )\n\n // ineffecient to do every time?\n this.dateProfileGenerators = mapHash(this.viewSpecs, (viewSpec) => {\n return new viewSpec.class.prototype.dateProfileGeneratorClass(viewSpec, this)\n })\n }\n\n\n getAvailableLocaleCodes() {\n return Object.keys(this.availableRawLocales)\n }\n\n\n _buildSelectionConfig(rawOpts) {\n return processScopedUiProps('select', rawOpts, this)\n }\n\n\n _buildEventUiSingleBase(rawOpts) {\n if (rawOpts.editable) { // so 'editable' affected events\n rawOpts = { ...rawOpts, eventEditable: true }\n }\n return processScopedUiProps('event', rawOpts, this)\n }\n\n\n // Trigger\n // -----------------------------------------------------------------------------------------------------------------\n\n\n hasPublicHandlers(name: T): boolean {\n return this.hasHandlers(name) ||\n this.opt(name) // handler specified in options\n }\n\n\n publiclyTrigger(name: T, args?: EventHandlerArgs) {\n let optHandler = this.opt(name)\n\n this.triggerWith(name, this, args)\n\n if (optHandler) {\n return optHandler.apply(this, args)\n }\n }\n\n\n publiclyTriggerAfterSizing(name: T, args: EventHandlerArgs) {\n let { afterSizingTriggers } = this;\n\n (afterSizingTriggers[name] || (afterSizingTriggers[name] = [])).push(args)\n }\n\n\n releaseAfterSizingTriggers() {\n let { afterSizingTriggers } = this\n\n for (let name in afterSizingTriggers) {\n for (let args of afterSizingTriggers[name]) {\n this.publiclyTrigger(name as EventHandlerName, args)\n }\n }\n\n this.afterSizingTriggers = {}\n }\n\n\n // View\n // -----------------------------------------------------------------------------------------------------------------\n\n\n // Returns a boolean about whether the view is okay to instantiate at some point\n isValidViewType(viewType: string): boolean {\n return Boolean(this.viewSpecs[viewType])\n }\n\n\n changeView(viewType: string, dateOrRange?: DateRangeInput | DateInput) {\n let dateMarker = null\n\n if (dateOrRange) {\n if ((dateOrRange as DateRangeInput).start && (dateOrRange as DateRangeInput).end) { // a range\n this.optionsManager.mutate({ visibleRange: dateOrRange }, []) // will not rerender\n this.handleOptions(this.optionsManager.computed) // ...but yuck\n } else { // a date\n dateMarker = this.dateEnv.createMarker(dateOrRange as DateInput) // just like gotoDate\n }\n }\n\n this.unselect()\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType,\n dateMarker\n })\n }\n\n\n // Forces navigation to a view for the given date.\n // `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n // needs to change\n zoomTo(dateMarker: DateMarker, viewType?: string) {\n let spec\n\n viewType = viewType || 'day' // day is default zoom\n spec = this.viewSpecs[viewType] ||\n this.getUnitViewSpec(viewType)\n\n this.unselect()\n\n if (spec) {\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: spec.type,\n dateMarker\n })\n } else {\n this.dispatch({\n type: 'SET_DATE',\n dateMarker\n })\n }\n }\n\n\n // Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n // Preference is given to views that have corresponding buttons.\n getUnitViewSpec(unit: string): ViewSpec | null {\n let { component } = this\n let viewTypes = []\n let i\n let spec\n\n // put views that have buttons first. there will be duplicates, but oh\n if (component.header) {\n viewTypes.push(...component.header.viewsWithButtons)\n }\n if (component.footer) {\n viewTypes.push(...component.footer.viewsWithButtons)\n }\n\n for (let viewType in this.viewSpecs) {\n viewTypes.push(viewType)\n }\n\n for (i = 0; i < viewTypes.length; i++) {\n spec = this.viewSpecs[viewTypes[i]]\n if (spec) {\n if (spec.singleUnit === unit) {\n return spec\n }\n }\n }\n }\n\n\n // Current Date\n // -----------------------------------------------------------------------------------------------------------------\n\n\n getInitialDate() {\n let defaultDateInput = this.opt('defaultDate')\n\n // compute the initial ambig-timezone date\n if (defaultDateInput != null) {\n return this.dateEnv.createMarker(defaultDateInput)\n } else {\n return this.getNow() // getNow already returns unzoned\n }\n }\n\n\n prev() {\n this.unselect()\n this.dispatch({ type: 'PREV' })\n }\n\n\n next() {\n this.unselect()\n this.dispatch({ type: 'NEXT' })\n }\n\n\n prevYear() {\n this.unselect()\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.addYears(this.state.currentDate, -1)\n })\n }\n\n\n nextYear() {\n this.unselect()\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.addYears(this.state.currentDate, 1)\n })\n }\n\n\n today() {\n this.unselect()\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.getNow()\n })\n }\n\n\n gotoDate(zonedDateInput) {\n this.unselect()\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.createMarker(zonedDateInput)\n })\n }\n\n\n incrementDate(deltaInput) { // is public facing\n let delta = createDuration(deltaInput)\n\n if (delta) { // else, warn about invalid input?\n this.unselect()\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.add(this.state.currentDate, delta)\n })\n }\n }\n\n\n // for external API\n getDate(): Date {\n return this.dateEnv.toDate(this.state.currentDate)\n }\n\n\n // Date Formatting Utils\n // -----------------------------------------------------------------------------------------------------------------\n\n\n formatDate(d: DateInput, formatter): string {\n const { dateEnv } = this\n return dateEnv.format(\n dateEnv.createMarker(d),\n createFormatter(formatter)\n )\n }\n\n\n // `settings` is for formatter AND isEndExclusive\n formatRange(d0: DateInput, d1: DateInput, settings) {\n const { dateEnv } = this\n return dateEnv.formatRange(\n dateEnv.createMarker(d0),\n dateEnv.createMarker(d1),\n createFormatter(settings, this.opt('defaultRangeSeparator')),\n settings\n )\n }\n\n\n formatIso(d: DateInput, omitTime?: boolean) {\n const { dateEnv } = this\n return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime })\n }\n\n\n // Sizing\n // -----------------------------------------------------------------------------------------------------------------\n\n\n windowResize(ev: Event) {\n if (\n !this.isHandlingWindowResize &&\n this.component && // why?\n (ev as any).target === window // not a jqui resize event\n ) {\n this.isHandlingWindowResize = true\n this.updateSize()\n this.publiclyTrigger('windowResize', [ this.view ])\n this.isHandlingWindowResize = false\n }\n }\n\n\n updateSize() { // public\n if (this.component) { // when?\n this.component.updateSize(true)\n }\n }\n\n\n // Component Registration\n // -----------------------------------------------------------------------------------------------------------------\n\n\n registerInteractiveComponent(component: DateComponent, settingsInput: InteractionSettingsInput) {\n let settings = parseInteractionSettings(component, settingsInput)\n let DEFAULT_INTERACTIONS: InteractionClass[] = [\n EventClicking,\n EventHovering\n ]\n let interactionClasses: InteractionClass[] = DEFAULT_INTERACTIONS.concat(\n this.pluginSystem.hooks.componentInteractions\n )\n let interactions = interactionClasses.map((interactionClass) => {\n return new interactionClass(settings)\n })\n\n this.interactionsStore[component.uid] = interactions\n interactionSettingsStore[component.uid] = settings\n }\n\n\n unregisterInteractiveComponent(component: DateComponent) {\n\n for (let listener of this.interactionsStore[component.uid]) {\n listener.destroy()\n }\n\n delete this.interactionsStore[component.uid]\n delete interactionSettingsStore[component.uid]\n }\n\n\n // Date Selection / Event Selection / DayClick\n // -----------------------------------------------------------------------------------------------------------------\n\n\n // this public method receives start/end dates in any format, with any timezone\n // NOTE: args were changed from v3\n select(dateOrObj: DateInput | any, endDate?: DateInput) {\n let selectionInput: DateSpanInput\n\n if (endDate == null) {\n if (dateOrObj.start != null) {\n selectionInput = dateOrObj as DateSpanInput\n } else {\n selectionInput = {\n start: dateOrObj,\n end: null\n }\n }\n } else {\n selectionInput = {\n start: dateOrObj,\n end: endDate\n } as DateSpanInput\n }\n\n let selection = parseDateSpan(\n selectionInput,\n this.dateEnv,\n createDuration({ days: 1 }) // TODO: cache this?\n )\n\n if (selection) { // throw parse error otherwise?\n this.dispatch({ type: 'SELECT_DATES', selection })\n this.triggerDateSelect(selection)\n }\n }\n\n\n // public method\n unselect(pev?: PointerDragEvent) {\n if (this.state.dateSelection) {\n this.dispatch({ type: 'UNSELECT_DATES' })\n this.triggerDateUnselect(pev)\n }\n }\n\n\n triggerDateSelect(selection: DateSpan, pev?: PointerDragEvent) {\n const arg = {\n ...this.buildDateSpanApi(selection),\n jsEvent: pev ? pev.origEvent as MouseEvent : null, // Is this always a mouse event? See #4655\n view: this.view\n }\n this.publiclyTrigger('select', [ arg ])\n }\n\n\n triggerDateUnselect(pev?: PointerDragEvent) {\n this.publiclyTrigger('unselect', [\n {\n jsEvent: pev ? pev.origEvent : null,\n view: this.view\n }\n ])\n }\n\n\n // TODO: receive pev?\n triggerDateClick(dateSpan: DateSpan, dayEl: HTMLElement, view: View, ev: UIEvent) {\n const arg = {\n ...this.buildDatePointApi(dateSpan),\n dayEl,\n jsEvent: ev as MouseEvent, // Is this always a mouse event? See #4655\n view\n }\n\n this.publiclyTrigger('dateClick', [ arg ])\n }\n\n\n buildDatePointApi(dateSpan: DateSpan) {\n let props = {} as DatePointApi\n\n for (let transform of this.pluginSystem.hooks.datePointTransforms) {\n __assign(props, transform(dateSpan, this))\n }\n\n __assign(props, buildDatePointApi(dateSpan, this.dateEnv))\n\n return props\n }\n\n\n buildDateSpanApi(dateSpan: DateSpan) {\n let props = {} as DateSpanApi\n\n for (let transform of this.pluginSystem.hooks.dateSpanTransforms) {\n __assign(props, transform(dateSpan, this))\n }\n\n __assign(props, buildDateSpanApi(dateSpan, this.dateEnv))\n\n return props\n }\n\n\n // Date Utils\n // -----------------------------------------------------------------------------------------------------------------\n\n\n // Returns a DateMarker for the current date, as defined by the client's computer or from the `now` option\n getNow(): DateMarker {\n let now = this.opt('now')\n\n if (typeof now === 'function') {\n now = now()\n }\n\n if (now == null) {\n return this.dateEnv.createNowMarker()\n }\n\n return this.dateEnv.createMarker(now)\n }\n\n\n // Event-Date Utilities\n // -----------------------------------------------------------------------------------------------------------------\n\n\n // Given an event's allDay status and start date, return what its fallback end date should be.\n // TODO: rename to computeDefaultEventEnd\n getDefaultEventEnd(allDay: boolean, marker: DateMarker): DateMarker {\n let end = marker\n\n if (allDay) {\n end = startOfDay(end)\n end = this.dateEnv.add(end, this.defaultAllDayEventDuration)\n } else {\n end = this.dateEnv.add(end, this.defaultTimedEventDuration)\n }\n\n return end\n }\n\n\n // Public Events API\n // -----------------------------------------------------------------------------------------------------------------\n\n\n addEvent(eventInput: EventInput, sourceInput?: EventSourceApi | string | number): EventApi | null {\n\n if (eventInput instanceof EventApi) {\n let def = eventInput._def\n let instance = eventInput._instance\n\n // not already present? don't want to add an old snapshot\n if (!this.state.eventStore.defs[def.defId]) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore({ def, instance }) // TODO: better util for two args?\n })\n }\n\n return eventInput\n }\n\n let sourceId\n if (sourceInput instanceof EventSourceApi) {\n sourceId = sourceInput.internalEventSource.sourceId\n } else if (sourceInput != null) {\n let sourceApi = this.getEventSourceById(sourceInput) // TODO: use an internal function\n\n if (!sourceApi) {\n console.warn('Could not find an event source with ID \"' + sourceInput + '\"') // TODO: test\n return null\n } else {\n sourceId = sourceApi.internalEventSource.sourceId\n }\n }\n\n let tuple = parseEvent(eventInput, sourceId, this)\n\n if (tuple) {\n\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore(tuple)\n })\n\n return new EventApi(\n this,\n tuple.def,\n tuple.def.recurringDef ? null : tuple.instance\n )\n }\n\n return null\n }\n\n\n // TODO: optimize\n getEventById(id: string): EventApi | null {\n let { defs, instances } = this.state.eventStore\n\n id = String(id)\n\n for (let defId in defs) {\n let def = defs[defId]\n\n if (def.publicId === id) {\n\n if (def.recurringDef) {\n return new EventApi(this, def, null)\n } else {\n\n for (let instanceId in instances) {\n let instance = instances[instanceId]\n\n if (instance.defId === def.defId) {\n return new EventApi(this, def, instance)\n }\n }\n }\n }\n }\n\n return null\n }\n\n\n getEvents(): EventApi[] {\n let { defs, instances } = this.state.eventStore\n let eventApis: EventApi[] = []\n\n for (let id in instances) {\n let instance = instances[id]\n let def = defs[instance.defId]\n\n eventApis.push(new EventApi(this, def, instance))\n }\n\n return eventApis\n }\n\n\n removeAllEvents() {\n this.dispatch({ type: 'REMOVE_ALL_EVENTS' })\n }\n\n\n rerenderEvents() { // API method. destroys old events if previously rendered.\n this.dispatch({ type: 'RESET_EVENTS' })\n }\n\n\n // Public Event Sources API\n // -----------------------------------------------------------------------------------------------------------------\n\n\n getEventSources(): EventSourceApi[] {\n let sourceHash = this.state.eventSources\n let sourceApis: EventSourceApi[] = []\n\n for (let internalId in sourceHash) {\n sourceApis.push(new EventSourceApi(this, sourceHash[internalId]))\n }\n\n return sourceApis\n }\n\n\n getEventSourceById(id: string | number): EventSourceApi | null {\n let sourceHash = this.state.eventSources\n\n id = String(id)\n\n for (let sourceId in sourceHash) {\n if (sourceHash[sourceId].publicId === id) {\n return new EventSourceApi(this, sourceHash[sourceId])\n }\n }\n\n return null\n }\n\n\n addEventSource(sourceInput: EventSourceInput): EventSourceApi {\n\n if (sourceInput instanceof EventSourceApi) {\n\n // not already present? don't want to add an old snapshot\n if (!this.state.eventSources[sourceInput.internalEventSource.sourceId]) {\n this.dispatch({\n type: 'ADD_EVENT_SOURCES',\n sources: [ sourceInput.internalEventSource ]\n })\n }\n\n return sourceInput\n }\n\n let eventSource = parseEventSource(sourceInput, this)\n\n if (eventSource) { // TODO: error otherwise?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [ eventSource ] })\n\n return new EventSourceApi(this, eventSource)\n }\n\n return null\n }\n\n\n removeAllEventSources() {\n this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' })\n }\n\n\n refetchEvents() {\n this.dispatch({ type: 'FETCH_EVENT_SOURCES' })\n }\n\n\n // Scroll\n // -----------------------------------------------------------------------------------------------------------------\n\n scrollToTime(timeInput: DurationInput) {\n let time = createDuration(timeInput)\n\n if (time) {\n this.component.view.scrollToTime(time)\n }\n }\n\n}\n\nEmitterMixin.mixInto(Calendar)\n\n\n// for memoizers\n// -----------------------------------------------------------------------------------------------------------------\n\n\nfunction buildDateEnv(locale: Locale, timeZone, namedTimeZoneImpl: NamedTimeZoneImplClass, firstDay, weekNumberCalculation, weekLabel, cmdFormatter: CmdFormatterFunc) {\n return new DateEnv({\n calendarSystem: 'gregory', // TODO: make this a setting\n timeZone,\n namedTimeZoneImpl,\n locale,\n weekNumberCalculation,\n firstDay,\n weekLabel,\n cmdFormatter\n })\n}\n\n\nfunction buildTheme(this: Calendar, calendarOptions) {\n let themeClass = this.pluginSystem.hooks.themeClasses[calendarOptions.themeSystem] || StandardTheme\n return new themeClass(calendarOptions)\n}\n\n\nfunction buildDelayedRerender(this: Calendar, wait) {\n let func = this.tryRerender.bind(this)\n\n if (wait != null) {\n func = debounce(func, wait)\n }\n\n return func\n}\n\n\nfunction buildEventUiBySource(eventSources: EventSourceHash): EventUiHash {\n return mapHash(eventSources, function(eventSource) {\n return eventSource.ui\n })\n}\n\n\nfunction buildEventUiBases(eventDefs: EventDefHash, eventUiSingleBase: EventUi, eventUiBySource: EventUiHash) {\n let eventUiBases: EventUiHash = { '': eventUiSingleBase }\n\n for (let defId in eventDefs) {\n let def = eventDefs[defId]\n\n if (def.sourceId && eventUiBySource[def.sourceId]) {\n eventUiBases[defId] = eventUiBySource[def.sourceId]\n }\n }\n\n return eventUiBases\n}\n","import { parseFieldSpecs } from './util/misc'\nimport DateProfileGenerator, { DateProfile } from './DateProfileGenerator'\nimport { DateMarker, addMs } from './datelib/marker'\nimport { createDuration, Duration } from './datelib/duration'\nimport { default as EmitterMixin, EmitterInterface } from './common/EmitterMixin'\nimport { ViewSpec } from './structs/view-spec'\nimport { createElement } from './util/dom-manip'\nimport { ComponentContext } from './component/Component'\nimport DateComponent from './component/DateComponent'\nimport { EventStore } from './structs/event-store'\nimport { EventUiHash } from './component/event-ui'\nimport { sliceEventStore, EventRenderRange } from './component/event-rendering'\nimport { DateSpan } from './structs/date-span'\nimport { EventInteractionState } from './interactions/event-interaction-state'\nimport { memoizeRendering } from './component/memoized-rendering'\nimport { __assign } from 'tslib'\n\nexport interface ViewProps {\n dateProfile: DateProfile\n businessHours: EventStore\n eventStore: EventStore\n eventUiBases: EventUiHash\n dateSelection: DateSpan | null\n eventSelection: string\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n}\n\nexport default abstract class View extends DateComponent {\n\n // config properties, initialized after class on prototype\n usesMinMaxTime: boolean // whether minTime/maxTime will affect the activeRange. Views must opt-in.\n dateProfileGeneratorClass: any // initialized after class. used by Calendar\n\n on: EmitterInterface['on']\n one: EmitterInterface['one']\n off: EmitterInterface['off']\n trigger: EmitterInterface['trigger']\n triggerWith: EmitterInterface['triggerWith']\n hasHandlers: EmitterInterface['hasHandlers']\n\n viewSpec: ViewSpec\n dateProfileGenerator: DateProfileGenerator\n type: string // subclass' view name (string). for the API\n title: string // the text that will be displayed in the header's title. SET BY CALLER for API\n\n queuedScroll: any\n\n eventOrderSpecs: any // criteria for ordering events when they have same date/time\n nextDayThreshold: Duration\n\n // now indicator\n isNowIndicatorRendered: boolean\n initialNowDate: DateMarker // result first getNow call\n initialNowQueriedMs: number // ms time the getNow was called\n nowIndicatorTimeoutID: any // for refresh timing of now indicator\n nowIndicatorIntervalID: any // \"\n\n private renderDatesMem = memoizeRendering(this.renderDatesWrap, this.unrenderDatesWrap)\n private renderBusinessHoursMem = memoizeRendering(this.renderBusinessHours, this.unrenderBusinessHours, [ this.renderDatesMem ])\n private renderDateSelectionMem = memoizeRendering(this.renderDateSelectionWrap, this.unrenderDateSelectionWrap, [ this.renderDatesMem ])\n private renderEventsMem = memoizeRendering(this.renderEvents, this.unrenderEvents, [ this.renderDatesMem ])\n private renderEventSelectionMem = memoizeRendering(this.renderEventSelectionWrap, this.unrenderEventSelectionWrap, [ this.renderEventsMem ])\n private renderEventDragMem = memoizeRendering(this.renderEventDragWrap, this.unrenderEventDragWrap, [ this.renderDatesMem ])\n private renderEventResizeMem = memoizeRendering(this.renderEventResizeWrap, this.unrenderEventResizeWrap, [ this.renderDatesMem ])\n\n\n constructor(context: ComponentContext, viewSpec: ViewSpec, dateProfileGenerator: DateProfileGenerator, parentEl: HTMLElement) {\n super(\n context,\n createElement('div', { className: 'fc-view fc-' + viewSpec.type + '-view' }),\n true // isView (HACK)\n )\n\n this.viewSpec = viewSpec\n this.dateProfileGenerator = dateProfileGenerator\n this.type = viewSpec.type\n this.eventOrderSpecs = parseFieldSpecs(this.opt('eventOrder'))\n this.nextDayThreshold = createDuration(this.opt('nextDayThreshold'))\n\n parentEl.appendChild(this.el)\n this.initialize()\n }\n\n\n initialize() { // convenient for sublcasses\n }\n\n\n // Date Setting/Unsetting\n // -----------------------------------------------------------------------------------------------------------------\n\n\n get activeStart(): Date {\n return this.dateEnv.toDate(this.props.dateProfile.activeRange.start)\n }\n\n get activeEnd(): Date {\n return this.dateEnv.toDate(this.props.dateProfile.activeRange.end)\n }\n\n get currentStart(): Date {\n return this.dateEnv.toDate(this.props.dateProfile.currentRange.start)\n }\n\n get currentEnd(): Date {\n return this.dateEnv.toDate(this.props.dateProfile.currentRange.end)\n }\n\n\n // General Rendering\n // -----------------------------------------------------------------------------------------------------------------\n\n\n render(props: ViewProps) {\n this.renderDatesMem(props.dateProfile)\n this.renderBusinessHoursMem(props.businessHours)\n this.renderDateSelectionMem(props.dateSelection)\n this.renderEventsMem(props.eventStore)\n this.renderEventSelectionMem(props.eventSelection)\n this.renderEventDragMem(props.eventDrag)\n this.renderEventResizeMem(props.eventResize)\n }\n\n\n destroy() {\n super.destroy()\n\n this.renderDatesMem.unrender() // should unrender everything else\n }\n\n\n // Sizing\n // -----------------------------------------------------------------------------------------------------------------\n\n\n updateSize(isResize: boolean, viewHeight: number, isAuto: boolean) {\n let { calendar } = this\n\n if (isResize || calendar.isViewUpdated || calendar.isDatesUpdated || calendar.isEventsUpdated) {\n // sort of the catch-all sizing\n // anything that might cause dimension changes\n this.updateBaseSize(isResize, viewHeight, isAuto)\n }\n }\n\n\n updateBaseSize(isResize: boolean, viewHeight: number, isAuto: boolean) {\n }\n\n\n // Date Rendering\n // -----------------------------------------------------------------------------------------------------------------\n\n renderDatesWrap(dateProfile: DateProfile) {\n this.renderDates(dateProfile)\n this.addScroll({\n timeMs: createDuration(this.opt('scrollTime')).milliseconds\n })\n this.startNowIndicator(dateProfile) // shouldn't render yet because updateSize will be called soon\n }\n\n unrenderDatesWrap() {\n this.stopNowIndicator()\n this.unrenderDates()\n }\n\n renderDates(dateProfile: DateProfile) {}\n unrenderDates() {}\n\n\n // Business Hours\n // -----------------------------------------------------------------------------------------------------------------\n\n renderBusinessHours(businessHours: EventStore) {}\n unrenderBusinessHours() {}\n\n\n // Date Selection\n // -----------------------------------------------------------------------------------------------------------------\n\n renderDateSelectionWrap(selection: DateSpan) {\n if (selection) {\n this.renderDateSelection(selection)\n }\n }\n\n unrenderDateSelectionWrap(selection: DateSpan) {\n if (selection) {\n this.unrenderDateSelection(selection)\n }\n }\n\n renderDateSelection(selection: DateSpan) {}\n unrenderDateSelection(selection: DateSpan) {}\n\n\n // Event Rendering\n // -----------------------------------------------------------------------------------------------------------------\n\n renderEvents(eventStore: EventStore) {}\n unrenderEvents() {}\n\n // util for subclasses\n sliceEvents(eventStore: EventStore, allDay: boolean): EventRenderRange[] {\n let { props } = this\n\n return sliceEventStore(\n eventStore,\n props.eventUiBases,\n props.dateProfile.activeRange,\n allDay ? this.nextDayThreshold : null\n ).fg\n }\n\n\n // Event Selection\n // -----------------------------------------------------------------------------------------------------------------\n\n renderEventSelectionWrap(instanceId: string) {\n if (instanceId) {\n this.renderEventSelection(instanceId)\n }\n }\n\n unrenderEventSelectionWrap(instanceId: string) {\n if (instanceId) {\n this.unrenderEventSelection(instanceId)\n }\n }\n\n renderEventSelection(instanceId: string) {}\n unrenderEventSelection(instanceId: string) {}\n\n\n // Event Drag\n // -----------------------------------------------------------------------------------------------------------------\n\n renderEventDragWrap(state: EventInteractionState) {\n if (state) {\n this.renderEventDrag(state)\n }\n }\n\n unrenderEventDragWrap(state: EventInteractionState) {\n if (state) {\n this.unrenderEventDrag(state)\n }\n }\n\n renderEventDrag(state: EventInteractionState) {}\n unrenderEventDrag(state: EventInteractionState) {}\n\n\n // Event Resize\n // -----------------------------------------------------------------------------------------------------------------\n\n renderEventResizeWrap(state: EventInteractionState) {\n if (state) {\n this.renderEventResize(state)\n }\n }\n\n unrenderEventResizeWrap(state: EventInteractionState) {\n if (state) {\n this.unrenderEventResize(state)\n }\n }\n\n renderEventResize(state: EventInteractionState) {}\n unrenderEventResize(state: EventInteractionState) {}\n\n\n /* Now Indicator\n ------------------------------------------------------------------------------------------------------------------*/\n\n\n // Immediately render the current time indicator and begins re-rendering it at an interval,\n // which is defined by this.getNowIndicatorUnit().\n // TODO: somehow do this for the current whole day's background too\n startNowIndicator(dateProfile: DateProfile) {\n let { dateEnv } = this\n let unit\n let update\n let delay // ms wait value\n\n if (this.opt('nowIndicator')) {\n unit = this.getNowIndicatorUnit(dateProfile)\n if (unit) {\n update = this.updateNowIndicator.bind(this)\n\n this.initialNowDate = this.calendar.getNow()\n this.initialNowQueriedMs = new Date().valueOf()\n\n // wait until the beginning of the next interval\n delay = dateEnv.add(\n dateEnv.startOf(this.initialNowDate, unit),\n createDuration(1, unit)\n ).valueOf() - this.initialNowDate.valueOf()\n\n // TODO: maybe always use setTimeout, waiting until start of next unit\n this.nowIndicatorTimeoutID = setTimeout(() => {\n this.nowIndicatorTimeoutID = null\n update()\n\n if (unit === 'second') {\n delay = 1000 // every second\n } else {\n delay = 1000 * 60 // otherwise, every minute\n }\n\n this.nowIndicatorIntervalID = setInterval(update, delay) // update every interval\n }, delay)\n }\n\n // rendering will be initiated in updateSize\n }\n }\n\n\n // rerenders the now indicator, computing the new current time from the amount of time that has passed\n // since the initial getNow call.\n updateNowIndicator() {\n if (\n this.props.dateProfile && // a way to determine if dates were rendered yet\n this.initialNowDate // activated before?\n ) {\n this.unrenderNowIndicator() // won't unrender if unnecessary\n this.renderNowIndicator(\n addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs)\n )\n this.isNowIndicatorRendered = true\n }\n }\n\n\n // Immediately unrenders the view's current time indicator and stops any re-rendering timers.\n // Won't cause side effects if indicator isn't rendered.\n stopNowIndicator() {\n if (this.isNowIndicatorRendered) {\n\n if (this.nowIndicatorTimeoutID) {\n clearTimeout(this.nowIndicatorTimeoutID)\n this.nowIndicatorTimeoutID = null\n }\n if (this.nowIndicatorIntervalID) {\n clearInterval(this.nowIndicatorIntervalID)\n this.nowIndicatorIntervalID = null\n }\n\n this.unrenderNowIndicator()\n this.isNowIndicatorRendered = false\n }\n }\n\n\n getNowIndicatorUnit(dateProfile: DateProfile) {\n // subclasses should implement\n }\n\n\n // Renders a current time indicator at the given datetime\n renderNowIndicator(date) {\n // SUBCLASSES MUST PASS TO CHILDREN!\n }\n\n\n // Undoes the rendering actions from renderNowIndicator\n unrenderNowIndicator() {\n // SUBCLASSES MUST PASS TO CHILDREN!\n }\n\n\n /* Scroller\n ------------------------------------------------------------------------------------------------------------------*/\n\n\n addScroll(scroll) {\n let queuedScroll = this.queuedScroll || (this.queuedScroll = {})\n\n __assign(queuedScroll, scroll)\n }\n\n\n popScroll(isResize: boolean) {\n this.applyQueuedScroll(isResize)\n this.queuedScroll = null\n }\n\n\n applyQueuedScroll(isResize: boolean) {\n this.applyScroll(this.queuedScroll || {}, isResize)\n }\n\n\n queryScroll() {\n let scroll = {} as any\n\n if (this.props.dateProfile) { // dates rendered yet?\n __assign(scroll, this.queryDateScroll())\n }\n\n return scroll\n }\n\n\n applyScroll(scroll, isResize: boolean) {\n let { timeMs } = scroll\n\n if (timeMs != null) {\n delete scroll.timeMs\n\n if (this.props.dateProfile) { // dates rendered yet?\n __assign(scroll, this.computeDateScroll(timeMs))\n }\n }\n\n if (this.props.dateProfile) { // dates rendered yet?\n this.applyDateScroll(scroll)\n }\n }\n\n\n computeDateScroll(timeMs: number) {\n return {} // subclasses must implement\n }\n\n\n queryDateScroll() {\n return {} // subclasses must implement\n }\n\n\n applyDateScroll(scroll) {\n // subclasses must implement\n }\n\n\n // for API\n scrollToTime(time: Duration) {\n this.applyScroll({\n timeMs: time.milliseconds\n }, false)\n }\n\n}\n\nEmitterMixin.mixInto(View)\n\nView.prototype.usesMinMaxTime = false\nView.prototype.dateProfileGeneratorClass = DateProfileGenerator\n","import { DateMarker } from '../../datelib/marker'\nimport { createFormatter, DateFormatter } from '../../datelib/formatting'\nimport { htmlToElements } from '../../util/dom-manip'\nimport { compareByFieldSpecs } from '../../util/misc'\nimport { EventUi } from '../event-ui'\nimport { EventRenderRange, filterSegsViaEls } from '../event-rendering'\nimport { Seg } from '../DateComponent'\nimport { ComponentContext } from '../Component'\n\n\nexport default abstract class FgEventRenderer {\n\n context: ComponentContext\n\n // derived from options\n eventTimeFormat: DateFormatter\n displayEventTime: boolean\n displayEventEnd: boolean\n\n segs: Seg[] = []\n isSizeDirty: boolean = false\n\n\n constructor(context: ComponentContext) {\n this.context = context\n }\n\n\n renderSegs(segs: Seg[], mirrorInfo?) {\n this.rangeUpdated() // called too frequently :(\n\n // render an `.el` on each seg\n // returns a subset of the segs. segs that were actually rendered\n segs = this.renderSegEls(segs, mirrorInfo)\n\n this.segs = segs\n this.attachSegs(segs, mirrorInfo)\n\n this.isSizeDirty = true\n this.context.view.triggerRenderedSegs(this.segs, Boolean(mirrorInfo))\n }\n\n\n unrender(_segs: Seg[], mirrorInfo?) {\n this.context.view.triggerWillRemoveSegs(this.segs, Boolean(mirrorInfo))\n this.detachSegs(this.segs)\n this.segs = []\n }\n\n\n abstract renderSegHtml(seg: Seg, mirrorInfo): string\n abstract attachSegs(segs: Seg[], mirrorInfo)\n abstract detachSegs(segs: Seg[])\n\n\n // Updates values that rely on options and also relate to range\n rangeUpdated() {\n let { options } = this.context\n let displayEventTime\n let displayEventEnd\n\n this.eventTimeFormat = createFormatter(\n options.eventTimeFormat || this.computeEventTimeFormat(),\n options.defaultRangeSeparator\n )\n\n displayEventTime = options.displayEventTime\n if (displayEventTime == null) {\n displayEventTime = this.computeDisplayEventTime() // might be based off of range\n }\n\n displayEventEnd = options.displayEventEnd\n if (displayEventEnd == null) {\n displayEventEnd = this.computeDisplayEventEnd() // might be based off of range\n }\n\n this.displayEventTime = displayEventTime\n this.displayEventEnd = displayEventEnd\n }\n\n\n // Renders and assigns an `el` property for each foreground event segment.\n // Only returns segments that successfully rendered.\n renderSegEls(segs: Seg[], mirrorInfo) {\n let html = ''\n let i\n\n if (segs.length) { // don't build an empty html string\n\n // build a large concatenation of event segment HTML\n for (i = 0; i < segs.length; i++) {\n html += this.renderSegHtml(segs[i], mirrorInfo)\n }\n\n // Grab individual elements from the combined HTML string. Use each as the default rendering.\n // Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.\n htmlToElements(html).forEach((el, i) => {\n let seg = segs[i]\n\n if (el) {\n seg.el = el\n }\n })\n\n segs = filterSegsViaEls(this.context.view, segs, Boolean(mirrorInfo))\n }\n\n return segs\n }\n\n\n // Generic utility for generating the HTML classNames for an event segment's element\n getSegClasses(seg: Seg, isDraggable, isResizable, mirrorInfo) {\n let classes = [\n 'fc-event',\n seg.isStart ? 'fc-start' : 'fc-not-start',\n seg.isEnd ? 'fc-end' : 'fc-not-end'\n ].concat(seg.eventRange.ui.classNames)\n\n if (isDraggable) {\n classes.push('fc-draggable')\n }\n\n if (isResizable) {\n classes.push('fc-resizable')\n }\n\n if (mirrorInfo) {\n classes.push('fc-mirror')\n\n if (mirrorInfo.isDragging) {\n classes.push('fc-dragging')\n }\n\n if (mirrorInfo.isResizing) {\n classes.push('fc-resizing')\n }\n }\n\n return classes\n }\n\n\n // Compute the text that should be displayed on an event's element.\n // `range` can be the Event object itself, or something range-like, with at least a `start`.\n // If event times are disabled, or the event has no time, will return a blank string.\n // If not specified, formatter will default to the eventTimeFormat setting,\n // and displayEnd will default to the displayEventEnd setting.\n getTimeText(eventRange: EventRenderRange, formatter?, displayEnd?) {\n let { def, instance } = eventRange\n\n return this._getTimeText(\n instance.range.start,\n def.hasEnd ? instance.range.end : null,\n def.allDay,\n formatter,\n displayEnd,\n instance.forcedStartTzo,\n instance.forcedEndTzo\n )\n }\n\n\n _getTimeText(\n start: DateMarker,\n end: DateMarker,\n allDay,\n formatter?,\n displayEnd?,\n forcedStartTzo?: number,\n forcedEndTzo?: number\n) {\n let { dateEnv } = this.context\n\n if (formatter == null) {\n formatter = this.eventTimeFormat\n }\n\n if (displayEnd == null) {\n displayEnd = this.displayEventEnd\n }\n\n if (this.displayEventTime && !allDay) {\n if (displayEnd && end) {\n return dateEnv.formatRange(start, end, formatter, {\n forcedStartTzo,\n forcedEndTzo\n })\n } else {\n return dateEnv.format(start, formatter, {\n forcedTzo: forcedStartTzo\n })\n }\n }\n\n return ''\n }\n\n\n computeEventTimeFormat(): any {\n return {\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true\n }\n }\n\n\n computeDisplayEventTime() {\n return true\n }\n\n\n computeDisplayEventEnd() {\n return true\n }\n\n\n // Utility for generating event skin-related CSS properties\n getSkinCss(ui: EventUi) {\n return {\n 'background-color': ui.backgroundColor,\n 'border-color': ui.borderColor,\n color: ui.textColor\n }\n }\n\n\n sortEventSegs(segs): Seg[] {\n let specs = this.context.view.eventOrderSpecs\n let objs = segs.map(buildSegCompareObj)\n\n objs.sort(function(obj0, obj1) {\n return compareByFieldSpecs(obj0, obj1, specs)\n })\n\n return objs.map(function(c) {\n return c._seg\n })\n }\n\n\n computeSizes(force: boolean) {\n if (force || this.isSizeDirty) {\n this.computeSegSizes(this.segs)\n }\n }\n\n\n assignSizes(force: boolean) {\n if (force || this.isSizeDirty) {\n this.assignSegSizes(this.segs)\n this.isSizeDirty = false\n }\n }\n\n\n computeSegSizes(segs: Seg[]) {\n }\n\n\n assignSegSizes(segs: Seg[]) {\n }\n\n\n // Manipulation on rendered segs\n\n\n hideByHash(hash) {\n if (hash) {\n for (let seg of this.segs) {\n if (hash[seg.eventRange.instance.instanceId]) {\n seg.el.style.visibility = 'hidden'\n }\n }\n }\n }\n\n\n showByHash(hash) {\n if (hash) {\n for (let seg of this.segs) {\n if (hash[seg.eventRange.instance.instanceId]) {\n seg.el.style.visibility = ''\n }\n }\n }\n }\n\n\n selectByInstanceId(instanceId: string) {\n if (instanceId) {\n for (let seg of this.segs) {\n let eventInstance = seg.eventRange.instance\n if (\n eventInstance && eventInstance.instanceId === instanceId &&\n seg.el // necessary?\n ) {\n seg.el.classList.add('fc-selected')\n }\n }\n }\n }\n\n\n unselectByInstanceId(instanceId: string) {\n if (instanceId) {\n for (let seg of this.segs) {\n if (seg.el) { // necessary?\n seg.el.classList.remove('fc-selected')\n }\n }\n }\n }\n\n}\n\n\n// returns a object with all primitive props that can be compared\nexport function buildSegCompareObj(seg: Seg) {\n let eventDef = seg.eventRange.def\n let range = seg.eventRange.instance.range\n let start = range.start ? range.start.valueOf() : 0 // TODO: better support for open-range events\n let end = range.end ? range.end.valueOf() : 0 // \"\n\n return {\n ...eventDef.extendedProps,\n ...eventDef,\n id: eventDef.publicId,\n start,\n end,\n duration: end - start,\n allDay: Number(eventDef.allDay),\n _seg: seg // for later retrieval\n }\n}\n","import { cssToStr } from '../../util/html'\nimport { htmlToElements, removeElement, elementMatches } from '../../util/dom-manip'\nimport { Seg } from '../DateComponent'\nimport { filterSegsViaEls } from '../event-rendering'\nimport { ComponentContext } from '../Component'\n\n\nexport default abstract class FillRenderer { // use for highlight, background events, business hours\n\n context: ComponentContext\n fillSegTag: string = 'div'\n containerElsByType: any // a hash of element sets used for rendering each fill. Keyed by fill name.\n segsByType: any\n dirtySizeFlags: any = {}\n\n\n constructor(context: ComponentContext) {\n this.context = context\n this.containerElsByType = {}\n this.segsByType = {}\n }\n\n\n getSegsByType(type: string) {\n return this.segsByType[type] || []\n }\n\n\n renderSegs(type, segs: Seg[]) {\n let renderedSegs = this.renderSegEls(type, segs) // assignes `.el` to each seg. returns successfully rendered segs\n let containerEls = this.attachSegs(type, renderedSegs)\n\n if (containerEls) {\n (this.containerElsByType[type] || (this.containerElsByType[type] = []))\n .push(...containerEls)\n }\n\n this.segsByType[type] = renderedSegs\n\n if (type === 'bgEvent') {\n this.context.view.triggerRenderedSegs(renderedSegs, false) // isMirror=false\n }\n\n this.dirtySizeFlags[type] = true\n }\n\n\n // Unrenders a specific type of fill that is currently rendered on the grid\n unrender(type) {\n let segs = this.segsByType[type]\n\n if (segs) {\n\n if (type === 'bgEvent') {\n this.context.view.triggerWillRemoveSegs(segs, false) // isMirror=false\n }\n\n this.detachSegs(type, segs)\n }\n }\n\n\n // Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.\n // Only returns segments that successfully rendered.\n renderSegEls(type, segs: Seg[]) {\n let html = ''\n let i\n\n if (segs.length) {\n\n // build a large concatenation of segment HTML\n for (i = 0; i < segs.length; i++) {\n html += this.renderSegHtml(type, segs[i])\n }\n\n // Grab individual elements from the combined HTML string. Use each as the default rendering.\n // Then, compute the 'el' for each segment.\n htmlToElements(html).forEach((el, i) => {\n let seg = segs[i]\n\n if (el) {\n seg.el = el\n }\n })\n\n if (type === 'bgEvent') {\n segs = filterSegsViaEls(\n this.context.view,\n segs,\n false // isMirror. background events can never be mirror elements\n )\n }\n\n // correct element type? (would be bad if a non-TD were inserted into a table for example)\n segs = segs.filter((seg) => {\n return elementMatches(seg.el, this.fillSegTag)\n })\n }\n\n return segs\n }\n\n\n // Builds the HTML needed for one fill segment. Generic enough to work with different types.\n renderSegHtml(type, seg: Seg) {\n let css = null\n let classNames = []\n\n if (type !== 'highlight' && type !== 'businessHours') {\n css = {\n 'background-color': seg.eventRange.ui.backgroundColor\n }\n }\n\n if (type !== 'highlight') {\n classNames = classNames.concat(seg.eventRange.ui.classNames)\n }\n\n if (type === 'businessHours') {\n classNames.push('fc-bgevent')\n } else {\n classNames.push('fc-' + type.toLowerCase())\n }\n\n return '<' + this.fillSegTag +\n (classNames.length ? ' class=\"' + classNames.join(' ') + '\"' : '') +\n (css ? ' style=\"' + cssToStr(css) + '\"' : '') +\n '>' + this.fillSegTag + '>'\n }\n\n\n abstract attachSegs(type, segs: Seg[]): HTMLElement[] | void\n\n\n detachSegs(type, segs: Seg[]) {\n let containerEls = this.containerElsByType[type]\n\n if (containerEls) {\n containerEls.forEach(removeElement)\n delete this.containerElsByType[type]\n }\n }\n\n\n computeSizes(force: boolean) {\n for (let type in this.segsByType) {\n if (force || this.dirtySizeFlags[type]) {\n this.computeSegSizes(this.segsByType[type])\n }\n }\n }\n\n\n assignSizes(force: boolean) {\n for (let type in this.segsByType) {\n if (force || this.dirtySizeFlags[type]) {\n this.assignSegSizes(this.segsByType[type])\n }\n }\n\n this.dirtySizeFlags = {}\n }\n\n\n computeSegSizes(segs: Seg[]) {\n }\n\n\n assignSegSizes(segs: Seg[]) {\n }\n\n}\n","\nexport abstract class NamedTimeZoneImpl {\n\n timeZoneName: string\n\n constructor(timeZoneName: string) {\n this.timeZoneName = timeZoneName\n }\n\n abstract offsetForArray(a: number[]): number\n abstract timestampToArray(ms: number): number[]\n}\n\nexport type NamedTimeZoneImplClass = { new(timeZoneName: string): NamedTimeZoneImpl }\n","import EmitterMixin from '../common/EmitterMixin'\n\n/*\nAn abstraction for a dragging interaction originating on an event.\nDoes higher-level things than PointerDragger, such as possibly:\n- a \"mirror\" that moves with the pointer\n- a minimum number of pixels or other criteria for a true drag to begin\n\nsubclasses must emit:\n- pointerdown\n- dragstart\n- dragmove\n- pointerup\n- dragend\n*/\nexport default abstract class ElementDragging { // TODO: rename to *Interface?\n\n emitter: EmitterMixin\n\n constructor(el: HTMLElement) {\n this.emitter = new EmitterMixin()\n }\n\n destroy() {\n }\n\n // if given true, should prevent dragstart+dragmove+dragend from firing\n abstract setIgnoreMove(bool: boolean): void\n\n setMirrorIsVisible(bool: boolean) {\n // optional if subclass doesn't want to support a mirror\n }\n\n setMirrorNeedsRevert(bool: boolean) {\n // optional if subclass doesn't want to support a mirror\n }\n\n setAutoScrollEnabled(bool: boolean) {\n // optional\n }\n\n}\n\nexport type ElementDraggingClass = { new(el: HTMLElement): ElementDragging }\n","import { DateEnv, DateInput } from './datelib/env'\nimport { createFormatter } from './datelib/formatting'\nimport { parseRawLocales, buildLocale } from './datelib/locale'\nimport { globalDefaults } from './options'\n\nexport function formatDate(dateInput: DateInput, settings = {}) {\n let dateEnv = buildDateEnv(settings)\n let formatter = createFormatter(settings)\n let dateMeta = dateEnv.createMarkerMeta(dateInput)\n\n if (!dateMeta) { // TODO: warning?\n return ''\n }\n\n return dateEnv.format(dateMeta.marker, formatter, {\n forcedTzo: dateMeta.forcedTzo\n })\n}\n\nexport function formatRange(\n startInput: DateInput,\n endInput: DateInput,\n settings // mixture of env and formatter settings\n) {\n let dateEnv = buildDateEnv(typeof settings === 'object' && settings ? settings : {}) // pass in if non-null object\n let formatter = createFormatter(settings, globalDefaults.defaultRangeSeparator)\n let startMeta = dateEnv.createMarkerMeta(startInput)\n let endMeta = dateEnv.createMarkerMeta(endInput)\n\n if (!startMeta || !endMeta) { // TODO: warning?\n return ''\n }\n\n return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {\n forcedStartTzo: startMeta.forcedTzo,\n forcedEndTzo: endMeta.forcedTzo,\n isEndExclusive: settings.isEndExclusive\n })\n}\n\n// TODO: more DRY and optimized\nfunction buildDateEnv(settings) {\n let locale = buildLocale(settings.locale || 'en', parseRawLocales([]).map) // TODO: don't hardcode 'en' everywhere\n\n // ensure required settings\n settings = {\n timeZone: globalDefaults.timeZone,\n calendarSystem: 'gregory',\n ...settings,\n locale\n }\n\n return new DateEnv(settings)\n}\n","import { createDuration, Duration, DurationInput } from '../datelib/duration'\nimport { refineProps } from '../util/misc'\nimport { EventNonDateInput } from '../structs/event'\n\n/*\nInformation about what will happen when an external element is dragged-and-dropped\nonto a calendar. Contains information for creating an event.\n*/\n\nexport interface DragMetaInput extends EventNonDateInput {\n startTime?: DurationInput\n duration?: DurationInput\n create?: boolean\n sourceId?: string\n}\n\nexport interface DragMeta {\n startTime: Duration | null\n duration: Duration | null\n create: boolean // create an event when dropped?\n sourceId: string // similar to addEvent's parameter\n leftoverProps: object\n}\n\nconst DRAG_META_PROPS = {\n startTime: createDuration,\n duration: createDuration,\n create: Boolean,\n sourceId: String\n}\n\nconst DRAG_META_DEFAULTS = {\n create: true\n}\n\nexport function parseDragMeta(raw: DragMetaInput): DragMeta {\n let leftoverProps = {}\n let refined = refineProps(raw, DRAG_META_PROPS, DRAG_META_DEFAULTS, leftoverProps) as DragMeta\n\n refined.leftoverProps = leftoverProps\n\n return refined\n}\n","import { rangeContainsMarker } from '../datelib/date-range'\nimport { htmlEscape } from '../util/html'\nimport { buildGotoAnchorHtml, getDayClasses } from '../component/date-rendering'\nimport { DateMarker, DAY_IDS } from '../datelib/marker'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { ComponentContext } from '../component/Component'\n\n// Computes a default column header formatting string if `colFormat` is not explicitly defined\nexport function computeFallbackHeaderFormat(datesRepDistinctDays: boolean, dayCnt: number) {\n // if more than one week row, or if there are a lot of columns with not much space,\n // put just the day numbers will be in each cell\n if (!datesRepDistinctDays || dayCnt > 10) {\n return { weekday: 'short' } // \"Sat\"\n } else if (dayCnt > 1) {\n return { weekday: 'short', month: 'numeric', day: 'numeric', omitCommas: true } // \"Sat 11/12\"\n } else {\n return { weekday: 'long' } // \"Saturday\"\n }\n}\n\nexport function renderDateCell(\n dateMarker: DateMarker,\n dateProfile: DateProfile,\n datesRepDistinctDays,\n colCnt,\n colHeadFormat,\n context: ComponentContext,\n colspan?,\n otherAttrs?\n): string {\n let { view, dateEnv, theme, options } = context\n let isDateValid = rangeContainsMarker(dateProfile.activeRange, dateMarker) // TODO: called too frequently. cache somehow.\n let classNames = [\n 'fc-day-header',\n theme.getClass('widgetHeader')\n ]\n let innerHtml\n\n if (typeof options.columnHeaderHtml === 'function') {\n innerHtml = options.columnHeaderHtml(\n dateEnv.toDate(dateMarker)\n )\n } else if (typeof options.columnHeaderText === 'function') {\n innerHtml = htmlEscape(\n options.columnHeaderText(\n dateEnv.toDate(dateMarker)\n )\n )\n } else {\n innerHtml = htmlEscape(dateEnv.format(dateMarker, colHeadFormat))\n }\n\n // if only one row of days, the classNames on the header can represent the specific days beneath\n if (datesRepDistinctDays) {\n classNames = classNames.concat(\n // includes the day-of-week class\n // noThemeHighlight=true (don't highlight the header)\n getDayClasses(dateMarker, dateProfile, context, true)\n )\n } else {\n classNames.push('fc-' + DAY_IDS[dateMarker.getUTCDay()]) // only add the day-of-week class\n }\n\n return '' +\n ' 1 ?\n ' colspan=\"' + colspan + '\"' :\n '') +\n (otherAttrs ?\n ' ' + otherAttrs :\n '') +\n '>' +\n (isDateValid ?\n // don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)\n buildGotoAnchorHtml(\n view,\n { date: dateMarker, forceOff: !datesRepDistinctDays || colCnt === 1 },\n innerHtml\n ) :\n // if not valid, display text, but no link\n innerHtml\n ) +\n ' | '\n}\n","import Component, { ComponentContext } from '../component/Component'\nimport { htmlToElement, removeElement } from '../util/dom-manip'\nimport { DateMarker } from '../datelib/marker'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { createFormatter } from '../datelib/formatting'\nimport { computeFallbackHeaderFormat, renderDateCell } from './table-utils'\n\nexport interface DayTableHeaderProps {\n dates: DateMarker[]\n dateProfile: DateProfile\n datesRepDistinctDays: boolean\n renderIntroHtml?: () => string\n}\n\nexport default class DayHeader extends Component {\n\n el: HTMLElement\n thead: HTMLElement\n\n constructor(context: ComponentContext, parentEl: HTMLElement) {\n super(context)\n\n parentEl.innerHTML = '' // because might be nbsp\n parentEl.appendChild(\n this.el = htmlToElement(\n ''\n )\n )\n\n this.thead = this.el.querySelector('thead')\n }\n\n destroy() {\n removeElement(this.el)\n }\n\n render(props: DayTableHeaderProps) {\n let { dates, datesRepDistinctDays } = props\n let parts = []\n\n if (props.renderIntroHtml) {\n parts.push(props.renderIntroHtml())\n }\n\n let colHeadFormat = createFormatter(\n this.opt('columnHeaderFormat') ||\n computeFallbackHeaderFormat(datesRepDistinctDays, dates.length)\n )\n\n for (let date of dates) {\n parts.push(\n renderDateCell(\n date,\n props.dateProfile,\n datesRepDistinctDays,\n dates.length,\n colHeadFormat,\n this.context\n )\n )\n }\n\n if (this.isRtl) {\n parts.reverse()\n }\n\n this.thead.innerHTML = '' + parts.join('') + '
'\n }\n\n}\n","import DateProfileGenerator from '../DateProfileGenerator'\nimport { DateMarker, addDays, diffDays } from '../datelib/marker'\nimport { DateRange } from '../datelib/date-range'\n\nexport interface DaySeriesSeg {\n firstIndex: number\n lastIndex: number\n isStart: boolean\n isEnd: boolean\n}\n\nexport default class DaySeries {\n\n cnt: number\n dates: DateMarker[] // whole-day dates for each column. left to right\n indices: number[] // for each day from start, the offset\n\n constructor(range: DateRange, dateProfileGenerator: DateProfileGenerator) {\n let date: DateMarker = range.start\n let end: DateMarker = range.end\n let indices: number[] = []\n let dates: DateMarker[] = []\n let dayIndex = -1\n\n while (date < end) { // loop each day from start to end\n if (dateProfileGenerator.isHiddenDay(date)) {\n indices.push(dayIndex + 0.5) // mark that it's between indices\n } else {\n dayIndex++\n indices.push(dayIndex)\n dates.push(date)\n }\n date = addDays(date, 1)\n }\n\n this.dates = dates\n this.indices = indices\n this.cnt = dates.length\n }\n\n sliceRange(range: DateRange): DaySeriesSeg | null {\n let firstIndex = this.getDateDayIndex(range.start) // inclusive first index\n let lastIndex = this.getDateDayIndex(addDays(range.end, -1)) // inclusive last index\n\n let clippedFirstIndex = Math.max(0, firstIndex)\n let clippedLastIndex = Math.min(this.cnt - 1, lastIndex)\n\n // deal with in-between indices\n clippedFirstIndex = Math.ceil(clippedFirstIndex) // in-between starts round to next cell\n clippedLastIndex = Math.floor(clippedLastIndex) // in-between ends round to prev cell\n\n if (clippedFirstIndex <= clippedLastIndex) {\n return {\n firstIndex: clippedFirstIndex,\n lastIndex: clippedLastIndex,\n isStart: firstIndex === clippedFirstIndex,\n isEnd: lastIndex === clippedLastIndex\n }\n } else {\n return null\n }\n }\n\n // Given a date, returns its chronolocial cell-index from the first cell of the grid.\n // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\n // If before the first offset, returns a negative number.\n // If after the last offset, returns an offset past the last cell offset.\n // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\n private getDateDayIndex(date: DateMarker) {\n let indices = this.indices\n let dayOffset = Math.floor(diffDays(this.dates[0], date))\n\n if (dayOffset < 0) {\n return indices[0] - 1\n } else if (dayOffset >= indices.length) {\n return indices[indices.length - 1] + 1\n } else {\n return indices[dayOffset]\n }\n }\n\n}\n","import DaySeries from './DaySeries'\nimport { DateRange } from '../datelib/date-range'\nimport { DateMarker } from '../datelib/marker'\nimport { Seg } from '../component/DateComponent'\n\nexport interface DayTableSeg extends Seg {\n row: number\n firstCol: number\n lastCol: number\n}\n\nexport interface DayTableCell {\n date: DateMarker\n htmlAttrs?: string\n}\n\nexport default class DayTable {\n\n rowCnt: number\n colCnt: number\n cells: DayTableCell[][]\n headerDates: DateMarker[]\n\n private daySeries: DaySeries\n\n constructor(daySeries: DaySeries, breakOnWeeks: boolean) {\n let { dates } = daySeries\n let daysPerRow\n let firstDay\n let rowCnt\n\n if (breakOnWeeks) {\n // count columns until the day-of-week repeats\n firstDay = dates[0].getUTCDay()\n for (daysPerRow = 1; daysPerRow < dates.length; daysPerRow++) {\n if (dates[daysPerRow].getUTCDay() === firstDay) {\n break\n }\n }\n rowCnt = Math.ceil(dates.length / daysPerRow)\n } else {\n rowCnt = 1\n daysPerRow = dates.length\n }\n\n this.rowCnt = rowCnt\n this.colCnt = daysPerRow\n this.daySeries = daySeries\n this.cells = this.buildCells()\n this.headerDates = this.buildHeaderDates()\n }\n\n private buildCells() {\n let rows = []\n\n for (let row = 0; row < this.rowCnt; row++) {\n let cells = []\n\n for (let col = 0; col < this.colCnt; col++) {\n cells.push(\n this.buildCell(row, col)\n )\n }\n\n rows.push(cells)\n }\n\n return rows\n }\n\n private buildCell(row, col) {\n return {\n date: this.daySeries.dates[row * this.colCnt + col]\n }\n }\n\n private buildHeaderDates() {\n let dates = []\n\n for (let col = 0; col < this.colCnt; col++) {\n dates.push(this.cells[0][col].date)\n }\n\n return dates\n }\n\n sliceRange(range: DateRange): DayTableSeg[] {\n let { colCnt } = this\n let seriesSeg = this.daySeries.sliceRange(range)\n let segs: DayTableSeg[] = []\n\n if (seriesSeg) {\n let { firstIndex, lastIndex } = seriesSeg\n let index = firstIndex\n\n while (index <= lastIndex) {\n let row = Math.floor(index / colCnt)\n let nextIndex = Math.min((row + 1) * colCnt, lastIndex + 1)\n\n segs.push({\n row,\n firstCol: index % colCnt,\n lastCol: (nextIndex - 1) % colCnt,\n isStart: seriesSeg.isStart && index === firstIndex,\n isEnd: seriesSeg.isEnd && (nextIndex - 1) === lastIndex\n })\n\n index = nextIndex\n }\n }\n\n return segs\n }\n\n}\n","import { DateRange } from '../datelib/date-range'\nimport { EventStore, expandRecurring } from '../structs/event-store'\nimport { EventUiHash } from '../component/event-ui'\nimport { sliceEventStore, EventRenderRange } from '../component/event-rendering'\nimport { DateProfile } from '../DateProfileGenerator'\nimport DateComponent, { Seg, EventSegUiInteractionState } from '../component/DateComponent' // TODO: rename EventSegUiInteractionState, move here\nimport { DateSpan, fabricateEventRange } from '../structs/date-span'\nimport { EventInteractionState } from '../interactions/event-interaction-state'\nimport { Duration } from '../datelib/duration'\nimport { memoize } from '../util/memoize'\nimport { DateMarker, addMs } from '../datelib/marker'\n\nexport interface SliceableProps {\n dateSelection: DateSpan\n businessHours: EventStore\n eventStore: EventStore\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n eventSelection: string\n eventUiBases: EventUiHash\n}\n\nexport interface SlicedProps {\n dateSelectionSegs: SegType[]\n businessHourSegs: SegType[]\n fgEventSegs: SegType[]\n bgEventSegs: SegType[]\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n eventSelection: string\n}\n\nexport default abstract class Slicer {\n\n private sliceBusinessHours = memoize(this._sliceBusinessHours)\n private sliceDateSelection = memoize(this._sliceDateSpan)\n private sliceEventStore = memoize(this._sliceEventStore)\n private sliceEventDrag = memoize(this._sliceInteraction)\n private sliceEventResize = memoize(this._sliceInteraction)\n\n abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): SegType[]\n\n sliceProps(\n props: SliceableProps,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): SlicedProps {\n let { eventUiBases } = props\n let eventSegs = this.sliceEventStore(props.eventStore, eventUiBases, dateProfile, nextDayThreshold, component, ...extraArgs)\n\n return {\n dateSelectionSegs: this.sliceDateSelection(props.dateSelection, eventUiBases, component, ...extraArgs),\n businessHourSegs: this.sliceBusinessHours(props.businessHours, dateProfile, nextDayThreshold, component, ...extraArgs),\n fgEventSegs: eventSegs.fg,\n bgEventSegs: eventSegs.bg,\n eventDrag: this.sliceEventDrag(props.eventDrag, eventUiBases, dateProfile, nextDayThreshold, component, ...extraArgs),\n eventResize: this.sliceEventResize(props.eventResize, eventUiBases, dateProfile, nextDayThreshold, component, ...extraArgs),\n eventSelection: props.eventSelection\n } // TODO: give interactionSegs?\n }\n\n sliceNowDate( // does not memoize\n date: DateMarker,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): SegType[] {\n return this._sliceDateSpan(\n { range: { start: date, end: addMs(date, 1) }, allDay: false }, // add 1 ms, protect against null range\n {},\n component,\n ...extraArgs\n )\n }\n\n private _sliceBusinessHours(\n businessHours: EventStore,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): SegType[] {\n if (!businessHours) {\n return []\n }\n\n return this._sliceEventStore(\n expandRecurring(\n businessHours,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n component.calendar\n ),\n {},\n dateProfile,\n nextDayThreshold,\n component,\n ...extraArgs\n ).bg\n }\n\n private _sliceEventStore(\n eventStore: EventStore,\n eventUiBases: EventUiHash,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): { bg: SegType[], fg: SegType[] } {\n if (eventStore) {\n let rangeRes = sliceEventStore(\n eventStore,\n eventUiBases,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n nextDayThreshold\n )\n\n return {\n bg: this.sliceEventRanges(rangeRes.bg, component, extraArgs),\n fg: this.sliceEventRanges(rangeRes.fg, component, extraArgs)\n }\n\n } else {\n return { bg: [], fg: [] }\n }\n }\n\n private _sliceInteraction(\n interaction: EventInteractionState,\n eventUiBases: EventUiHash,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): EventSegUiInteractionState {\n if (!interaction) {\n return null\n }\n\n let rangeRes = sliceEventStore(\n interaction.mutatedEvents,\n eventUiBases,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n nextDayThreshold\n )\n\n return {\n segs: this.sliceEventRanges(rangeRes.fg, component, extraArgs),\n affectedInstances: interaction.affectedEvents.instances,\n isEvent: interaction.isEvent,\n sourceSeg: interaction.origSeg\n }\n }\n\n private _sliceDateSpan(\n dateSpan: DateSpan,\n eventUiBases: EventUiHash,\n component: DateComponent, // TODO: kill\n ...extraArgs: ExtraArgs\n ): SegType[] {\n if (!dateSpan) {\n return []\n }\n\n let eventRange = fabricateEventRange(dateSpan, eventUiBases, component.calendar)\n let segs = this.sliceRange(dateSpan.range, ...extraArgs)\n\n for (let seg of segs) {\n seg.component = component\n seg.eventRange = eventRange\n }\n\n return segs\n }\n\n /*\n \"complete\" seg means it has component and eventRange\n */\n private sliceEventRanges(\n eventRanges: EventRenderRange[],\n component: DateComponent, // TODO: kill\n extraArgs: ExtraArgs\n ): SegType[] {\n let segs: SegType[] = []\n\n for (let eventRange of eventRanges) {\n segs.push(...this.sliceEventRange(eventRange, component, extraArgs))\n }\n\n return segs\n }\n\n /*\n \"complete\" seg means it has component and eventRange\n */\n private sliceEventRange(\n eventRange: EventRenderRange,\n component: DateComponent, // TODO: kill\n extraArgs: ExtraArgs\n ): SegType[] {\n let segs = this.sliceRange(eventRange.range, ...extraArgs)\n\n for (let seg of segs) {\n seg.component = component\n seg.eventRange = eventRange\n seg.isStart = eventRange.isStart && seg.isStart\n seg.isEnd = eventRange.isEnd && seg.isEnd\n }\n\n return segs\n }\n\n}\n\n/*\nfor incorporating minTime/maxTime if appropriate\nTODO: should be part of DateProfile!\nTimelineDateProfile already does this btw\n*/\nfunction computeActiveRange(dateProfile: DateProfile, isComponentAllDay: boolean): DateRange {\n let range = dateProfile.activeRange\n\n if (isComponentAllDay) {\n return range\n }\n\n return {\n start: addMs(range.start, dateProfile.minTime.milliseconds),\n end: addMs(range.end, dateProfile.maxTime.milliseconds - 864e5) // 864e5 = ms in a day\n }\n}\n","\n// exports\n// --------------------------------------------------------------------------------------------------\n\nexport const version = '<%= version %>'\n\n// types\nexport { OptionsInput } from './types/input-types'\nexport {\n EventInput, EventDef, EventDefHash, EventInstance, EventInstanceHash,\n parseEventDef, createEventInstance, EventTuple\n} from './structs/event'\nexport { BusinessHoursInput, parseBusinessHours } from './structs/business-hours'\n\nexport {\n applyAll,\n debounce,\n padStart,\n isInt,\n capitaliseFirstLetter,\n parseFieldSpecs,\n compareByFieldSpecs,\n compareByFieldSpec,\n flexibleCompare,\n computeVisibleDayRange,\n refineProps,\n matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight,\n isMultiDayRange,\n distributeHeight,\n undistributeHeight,\n preventSelection, allowSelection, preventContextMenu, allowContextMenu,\n compareNumbers, enableCursor, disableCursor,\n diffDates\n} from './util/misc'\n\nexport {\n htmlEscape,\n cssToStr\n} from './util/html'\n\nexport {\n removeExact,\n isArraysEqual\n} from './util/array'\n\nexport { memoize, memoizeOutput } from './util/memoize'\nexport { memoizeRendering, MemoizedRendering } from './component/memoized-rendering'\n\nexport {\n intersectRects,\n Rect, pointInsideRect,\n constrainPoint,\n getRectCenter, diffPoints, Point,\n translateRect\n} from './util/geom'\n\nexport { mapHash, filterHash, isPropsEqual } from './util/object'\n\nexport {\n findElements,\n findChildren,\n htmlToElement,\n createElement,\n insertAfterElement,\n prependToElement,\n removeElement,\n appendToElement,\n applyStyle,\n applyStyleProp,\n elementMatches,\n elementClosest,\n forceClassName\n} from './util/dom-manip'\n\nexport { EventStore, filterEventStoreDefs, createEmptyEventStore, mergeEventStores, getRelevantEvents, eventTupleToStore } from './structs/event-store'\nexport { EventUiHash, EventUi, processScopedUiProps, combineEventUis } from './component/event-ui'\nexport { default as Splitter, SplittableProps } from './component/event-splitting'\nexport { buildGotoAnchorHtml, getAllDayHtml, getDayClasses } from './component/date-rendering'\n\nexport {\n preventDefault,\n listenBySelector,\n whenTransitionDone\n} from './util/dom-event'\n\nexport {\n computeInnerRect,\n computeEdges,\n computeHeightAndMargins,\n getClippingParents,\n computeClippingRect,\n computeRect\n} from './util/dom-geom'\n\nexport { unpromisify } from './util/promise'\n\nexport { default as EmitterMixin, EmitterInterface } from './common/EmitterMixin'\nexport { DateRange, rangeContainsMarker, intersectRanges, rangesEqual, rangesIntersect, rangeContainsRange } from './datelib/date-range'\nexport { default as Mixin } from './common/Mixin'\nexport { default as PositionCache } from './common/PositionCache'\nexport { default as ScrollComponent, ScrollbarWidths } from './common/ScrollComponent'\nexport { ScrollController, ElementScrollController, WindowScrollController } from './common/scroll-controller'\nexport { default as Theme } from './theme/Theme'\nexport { default as Component, ComponentContext } from './component/Component'\nexport { default as DateComponent, Seg, EventSegUiInteractionState } from './component/DateComponent'\nexport { default as Calendar, DatePointTransform, DateSpanTransform, DateSelectionApi } from './Calendar'\nexport { default as View, ViewProps } from './View'\nexport { default as FgEventRenderer, buildSegCompareObj } from './component/renderers/FgEventRenderer'\nexport { default as FillRenderer } from './component/renderers/FillRenderer'\n\nexport { default as DateProfileGenerator, DateProfile } from './DateProfileGenerator'\nexport { ViewDef } from './structs/view-def'\nexport { ViewSpec } from './structs/view-spec'\nexport { DateSpan, DateSpanApi, DatePointApi, isDateSpansEqual } from './structs/date-span'\n\nexport { DateMarker, addDays, startOfDay, addMs, addWeeks, diffWeeks, diffWholeWeeks, diffWholeDays, diffDayAndTime, diffDays, isValidDate } from './datelib/marker'\nexport {\n Duration, createDuration,\n isSingleDay, multiplyDuration, addDurations,\n asRoughMinutes, asRoughSeconds, asRoughMs,\n wholeDivideDurations, greatestDurationDenominator\n} from './datelib/duration'\nexport { DateEnv, DateMarkerMeta } from './datelib/env'\n\nexport {\n DateFormatter,\n createFormatter,\n VerboseFormattingArg,\n formatIsoTimeString\n} from './datelib/formatting'\nexport { NamedTimeZoneImpl } from './datelib/timezone'\nexport { parse as parseMarker } from './datelib/parsing'\n\nexport { EventSourceDef, EventSource, EventSourceHash } from './structs/event-source'\n\nexport { Interaction, InteractionSettings, interactionSettingsToStore, interactionSettingsStore, InteractionSettingsStore } from './interactions/interaction'\nexport { PointerDragEvent } from './interactions/pointer'\nexport { Hit } from './interactions/hit'\nexport { dateSelectionJoinTransformer } from './interactions/date-selecting'\nexport { eventDragMutationMassager } from './interactions/event-dragging'\nexport { EventResizeJoinTransforms } from './interactions/event-resizing'\nexport { default as ElementDragging } from './interactions/ElementDragging'\n\nexport { formatDate, formatRange } from './formatting-api'\n\nexport { globalDefaults, config } from './options'\n\nexport { RecurringType, ParsedRecurring } from './structs/recurring-event'\n\nexport { DragMetaInput, DragMeta, parseDragMeta } from './structs/drag-meta'\n\nexport { createPlugin, PluginDef, PluginDefInput, ViewPropsTransformer, ViewContainerModifier } from './plugin-system'\nexport { reducerFunc, Action, CalendarState } from './reducers/types'\nexport { CalendarComponentProps } from './CalendarComponent'\n\nexport { default as DayHeader } from './common/DayHeader'\nexport { computeFallbackHeaderFormat, renderDateCell } from './common/table-utils'\n\nexport { default as DaySeries } from './common/DaySeries'\n\nexport { EventInteractionState } from './interactions/event-interaction-state'\nexport { EventRenderRange, sliceEventStore, hasBgRendering, getElSeg } from './component/event-rendering'\n\nexport { default as DayTable, DayTableSeg, DayTableCell } from './common/DayTable'\n\nexport { default as Slicer, SlicedProps } from './common/slicing-utils'\n\nexport { EventMutation, applyMutationToEventStore } from './structs/event-mutation'\nexport { Constraint, ConstraintInput, AllowFunc, isPropsValid, isInteractionValid } from './validation'\nexport { default as EventApi } from './api/EventApi'\n\nexport { default as requestJson } from './util/requestJson'\n"],"names":["tslib_1.__assign","tslib_1.__extends","uid","eventSourceDef","buildDateEnv"],"mappings":"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"}