@fullcalendar/daygrid 6.0.1 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.global.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Day Grid Plugin v6.0.1
2
+ FullCalendar Day Grid Plugin v6.0.2
3
3
  Docs & License: https://fullcalendar.io/docs/month-view
4
4
  (c) 2022 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Day Grid Plugin v6.0.1
2
+ FullCalendar Day Grid Plugin v6.0.2
3
3
  Docs & License: https://fullcalendar.io/docs/month-view
4
4
  (c) 2022 Adam Shaw
5
5
  */
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/TableDateProfileGenerator.ts","../src/index.ts"],"sourcesContent":["import {\n DateProfileGenerator,\n addWeeks, diffWeeks,\n DateRange,\n} from '@fullcalendar/core/internal'\n\nexport class TableDateProfileGenerator extends DateProfileGenerator {\n // Computes the date range that will be rendered.\n buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay): DateRange {\n let { dateEnv } = this.props\n let renderRange = super.buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay)\n let start = renderRange.start\n let end = renderRange.end\n let endOfWeek\n\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\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\n // ensure 6 weeks\n if (\n this.props.monthMode &&\n this.props.fixedWeekCount\n ) {\n let rowCnt = Math.ceil( // could be partial weeks due to hiddenDays\n diffWeeks(start, end),\n )\n end = addWeeks(end, 6 - rowCnt)\n }\n\n return { start, end }\n }\n}\n","import { createPlugin, PluginDef } from '@fullcalendar/core'\nimport { DayTableView } from './DayTableView.js'\nimport { TableDateProfileGenerator } from './TableDateProfileGenerator.js'\nimport './index.css'\n\nexport default createPlugin({\n name: '<%= pkgName %>',\n initialView: 'dayGridMonth',\n views: {\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\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}) as PluginDef\n"],"names":[],"mappings":";;;;;AAMM,MAAO,yBAA0B,SAAQ,oBAAoB,CAAA;;AAEjE,IAAA,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAA;AAC5D,QAAA,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;AAC5B,QAAA,IAAI,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAA;AACvF,QAAA,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;AAC7B,QAAA,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAA;AACzB,QAAA,IAAI,SAAS,CAAA;;AAGb,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC3C,YAAA,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;;AAGlC,YAAA,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;AACzC,gBAAA,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AAC7B,aAAA;AACF,SAAA;;AAGD,QAAA,IACE,IAAI,CAAC,KAAK,CAAC,SAAS;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,cAAc,EACzB;AACA,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI;AACpB,YAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CACtB,CAAA;YACD,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;AAChC,SAAA;AAED,QAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KACtB;AACF;;;;;AClCD,YAAe,YAAY,CAAC;AAC1B,IAAA,IAAI,EAAE,uBAAgB;AACtB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,yBAAyB,EAAE,yBAAyB;AACrD,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACtB,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;AACvB,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;AACvB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,cAAc,EAAE,IAAI;AACrB,SAAA;AACF,KAAA;AACF,CAAA,CAAc;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sources":["../src/TableSeg.ts","../src/event-rendering.ts","../src/TableBlockEvent.tsx","../src/TableListItemEvent.tsx","../src/TableCellMoreLink.tsx","../src/TableCell.tsx","../src/event-placement.ts","../src/TableRow.tsx","../src/Table.tsx","../src/DayTableSlicer.ts","../src/DayTable.tsx","../src/TableView.tsx","../src/DayTableView.tsx"],"sourcesContent":["import { EventSegUiInteractionState, Seg } from '@fullcalendar/core/internal'\n\n// this is a DATA STRUCTURE, not a component\n\nexport interface TableSeg extends Seg {\n row: number\n firstCol: number\n lastCol: number\n}\n\nexport function splitSegsByRow(segs: TableSeg[], rowCnt: number) {\n let byRow: TableSeg[][] = []\n\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = []\n }\n\n for (let seg of segs) {\n byRow[seg.row].push(seg)\n }\n\n return byRow\n}\n\nexport function splitSegsByFirstCol(segs: TableSeg[], colCnt: number) {\n let byCol: TableSeg[][] = []\n\n for (let i = 0; i < colCnt; i += 1) {\n byCol[i] = []\n }\n\n for (let seg of segs) {\n byCol[seg.firstCol].push(seg)\n }\n\n return byCol\n}\n\nexport function splitInteractionByRow(ui: EventSegUiInteractionState | null, rowCnt: number) {\n let byRow: EventSegUiInteractionState[] = []\n\n if (!ui) {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = null\n }\n } else {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n }\n }\n\n for (let seg of ui.segs) {\n byRow[seg.row].segs.push(seg)\n }\n }\n\n return byRow\n}\n","import { createFormatter, DateFormatter } from '@fullcalendar/core/internal'\nimport { TableSeg } from './TableSeg.js'\n\nexport const DEFAULT_TABLE_EVENT_TIME_FORMAT: DateFormatter = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow',\n})\n\nexport function hasListItemDisplay(seg: TableSeg) {\n let { display } = seg.eventRange.ui\n\n return display === 'list-item' || (\n display === 'auto' &&\n !seg.eventRange.def.allDay &&\n seg.firstCol === seg.lastCol && // can't be multi-day\n seg.isStart && // \"\n seg.isEnd // \"\n )\n}\n","import { StandardEvent, BaseComponent, MinimalEventProps } from '@fullcalendar/core/internal'\nimport { createElement } from '@fullcalendar/core/preact'\nimport { DEFAULT_TABLE_EVENT_TIME_FORMAT } from './event-rendering.js'\n\nexport interface TableBlockEventProps extends MinimalEventProps {\n defaultDisplayEventEnd: boolean\n}\n\nexport class TableBlockEvent extends BaseComponent<TableBlockEventProps> {\n render() {\n let { props } = this\n\n return (\n <StandardEvent\n {...props}\n elClasses={['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event']}\n defaultTimeFormat={DEFAULT_TABLE_EVENT_TIME_FORMAT}\n defaultDisplayEventEnd={props.defaultDisplayEventEnd}\n disableResizing={!props.seg.eventRange.def.allDay}\n />\n )\n }\n}\n","import { EventContentArg } from '@fullcalendar/core'\nimport {\n BaseComponent,\n Seg,\n buildSegTimeText,\n EventContainer,\n getSegAnchorAttrs,\n} from '@fullcalendar/core/internal'\nimport { createElement, Fragment } from '@fullcalendar/core/preact'\nimport { DEFAULT_TABLE_EVENT_TIME_FORMAT } from './event-rendering.js'\n\nexport interface DotTableEventProps {\n seg: Seg\n isDragging: boolean\n isSelected: boolean\n isPast: boolean\n isFuture: boolean\n isToday: boolean\n defaultDisplayEventEnd: boolean\n children?: never\n}\n\nexport class TableListItemEvent extends BaseComponent<DotTableEventProps> {\n render() {\n let { props, context } = this\n let { options } = context\n let { seg } = props\n let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT\n let timeText = buildSegTimeText(\n seg,\n timeFormat,\n context,\n true,\n props.defaultDisplayEventEnd,\n )\n\n return (\n <EventContainer\n {...props}\n elTag=\"a\"\n elClasses={['fc-daygrid-event', 'fc-daygrid-dot-event']}\n elAttrs={getSegAnchorAttrs(props.seg, context)}\n defaultGenerator={renderInnerContent}\n timeText={timeText}\n isResizing={false}\n isDateSelecting={false}\n />\n )\n }\n}\n\nfunction renderInnerContent(renderProps: EventContentArg) {\n return (\n <Fragment>\n <div\n className=\"fc-daygrid-event-dot\"\n style={{ borderColor: renderProps.borderColor || renderProps.backgroundColor }}\n />\n {renderProps.timeText && (\n <div className=\"fc-event-time\">{renderProps.timeText}</div>\n )}\n <div className=\"fc-event-title\">\n {renderProps.event.title || <Fragment>&nbsp;</Fragment>}\n </div>\n </Fragment>\n )\n}\n","import {\n MoreLinkContainer,\n BaseComponent,\n memoize,\n DateMarker,\n Dictionary,\n DateProfile,\n DateRange,\n EventSegUiInteractionState,\n getSegMeta,\n} from '@fullcalendar/core/internal'\nimport { createElement, RefObject, Fragment } from '@fullcalendar/core/preact'\nimport { TableSegPlacement } from './event-placement.js'\nimport { hasListItemDisplay } from './event-rendering.js'\nimport { TableBlockEvent } from './TableBlockEvent.js'\nimport { TableListItemEvent } from './TableListItemEvent.js'\nimport { TableSeg } from './TableSeg.js'\n\nexport interface TableCellMoreLinkProps {\n allDayDate: DateMarker\n singlePlacements: TableSegPlacement[]\n moreCnt: number\n alignmentElRef: RefObject<HTMLElement>\n alignGridTop: boolean // for popover\n extraDateSpan?: Dictionary\n dateProfile: DateProfile\n todayRange: DateRange\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n}\n\nexport class TableCellMoreLink extends BaseComponent<TableCellMoreLinkProps> {\n compileSegs = memoize(compileSegs)\n\n render() {\n let { props } = this\n let { allSegs, invisibleSegs } = this.compileSegs(props.singlePlacements)\n\n return (\n <MoreLinkContainer\n elClasses={['fc-daygrid-more-link']}\n dateProfile={props.dateProfile}\n todayRange={props.todayRange}\n allDayDate={props.allDayDate}\n moreCnt={props.moreCnt}\n allSegs={allSegs}\n hiddenSegs={invisibleSegs}\n alignmentElRef={props.alignmentElRef}\n alignGridTop={props.alignGridTop}\n extraDateSpan={props.extraDateSpan}\n popoverContent={() => {\n let isForcedInvisible =\n (props.eventDrag ? props.eventDrag.affectedInstances : null) ||\n (props.eventResize ? props.eventResize.affectedInstances : null) ||\n {}\n return (\n <Fragment>\n {allSegs.map((seg) => {\n let instanceId = seg.eventRange.instance.instanceId\n return (\n <div\n className=\"fc-daygrid-event-harness\"\n key={instanceId}\n style={{\n visibility: isForcedInvisible[instanceId] ? 'hidden' : ('' as any),\n }}\n >\n {hasListItemDisplay(seg) ? (\n <TableListItemEvent\n seg={seg}\n isDragging={false}\n isSelected={instanceId === props.eventSelection}\n defaultDisplayEventEnd={false}\n {...getSegMeta(seg, props.todayRange)}\n />\n ) : (\n <TableBlockEvent\n seg={seg}\n isDragging={false}\n isResizing={false}\n isDateSelecting={false}\n isSelected={instanceId === props.eventSelection}\n defaultDisplayEventEnd={false}\n {...getSegMeta(seg, props.todayRange)}\n />\n )}\n </div>\n )\n })}\n </Fragment>\n )\n }}\n />\n )\n }\n}\n\nfunction compileSegs(singlePlacements: TableSegPlacement[]): {\n allSegs: TableSeg[]\n invisibleSegs: TableSeg[]\n} {\n let allSegs: TableSeg[] = []\n let invisibleSegs: TableSeg[] = []\n\n for (let placement of singlePlacements) {\n allSegs.push(placement.seg)\n\n if (!placement.isVisible) {\n invisibleSegs.push(placement.seg)\n }\n }\n\n return { allSegs, invisibleSegs }\n}\n","import { DayCellContentArg } from '@fullcalendar/core'\nimport {\n DateMarker,\n DateComponent,\n DateRange,\n buildNavLinkAttrs,\n WeekNumberContainer,\n DayCellContainer,\n DateProfile,\n setRef,\n createFormatter,\n Dictionary,\n EventSegUiInteractionState,\n getUniqueDomId,\n hasCustomDayCellContent,\n} from '@fullcalendar/core/internal'\nimport {\n Ref,\n ComponentChildren,\n createElement,\n createRef,\n ComponentChild,\n Fragment,\n} from '@fullcalendar/core/preact'\nimport { TableCellMoreLink } from './TableCellMoreLink.js'\nimport { TableSegPlacement } from './event-placement.js'\n\nexport interface TableCellProps {\n elRef?: Ref<HTMLTableCellElement>\n date: DateMarker\n dateProfile: DateProfile\n extraRenderProps?: Dictionary\n extraDataAttrs?: Dictionary\n extraClassNames?: string[]\n extraDateSpan?: Dictionary\n innerElRef?: Ref<HTMLDivElement>\n bgContent: ComponentChildren\n fgContentElRef?: Ref<HTMLDivElement> // TODO: rename!!! classname confusion. is the \"event\" div\n fgContent: ComponentChildren\n moreCnt: number\n moreMarginTop: number\n showDayNumber: boolean\n showWeekNumber: boolean\n forceDayTop: boolean\n todayRange: DateRange\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n singlePlacements: TableSegPlacement[]\n}\n\nconst DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'narrow' })\n\nexport class TableCell extends DateComponent<TableCellProps> {\n private rootElRef = createRef<HTMLElement>()\n state = {\n dayNumberId: getUniqueDomId(),\n }\n\n render() {\n let { context, props, state, rootElRef } = this\n let { options } = context\n let { date, dateProfile } = props\n\n return (\n <DayCellContainer\n elTag=\"td\"\n elRef={this.handleRootEl}\n elClasses={[\n 'fc-daygrid-day',\n ...(props.extraClassNames || []),\n ]}\n elAttrs={{\n ...props.extraDataAttrs,\n ...(props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {}),\n role: 'gridcell',\n }}\n defaultGenerator={renderTopInner}\n date={date}\n dateProfile={dateProfile}\n todayRange={props.todayRange}\n showDayNumber={props.showDayNumber}\n extraRenderProps={props.extraRenderProps}\n >\n {(InnerContent, renderProps) => (\n <div className=\"fc-daygrid-day-frame fc-scrollgrid-sync-inner\" ref={props.innerElRef}>\n {props.showWeekNumber && (\n <WeekNumberContainer\n elTag=\"a\"\n elClasses={['fc-daygrid-week-number']}\n elAttrs={buildNavLinkAttrs(context, date, 'week')}\n date={date}\n defaultFormat={DEFAULT_WEEK_NUM_FORMAT}\n />\n )}\n {Boolean(\n !renderProps.isDisabled &&\n (props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop),\n ) && (\n <div className=\"fc-daygrid-day-top\">\n <InnerContent\n elTag=\"a\"\n elClasses={['fc-daygrid-day-number']}\n elAttrs={{\n ...buildNavLinkAttrs(context, date),\n id: state.dayNumberId,\n }}\n />\n </div>\n )}\n <div\n className=\"fc-daygrid-day-events\"\n ref={props.fgContentElRef}\n >\n {props.fgContent}\n <div className=\"fc-daygrid-day-bottom\" style={{ marginTop: props.moreMarginTop }}>\n <TableCellMoreLink\n allDayDate={date}\n singlePlacements={props.singlePlacements}\n moreCnt={props.moreCnt}\n alignmentElRef={rootElRef}\n alignGridTop={!props.showDayNumber}\n extraDateSpan={props.extraDateSpan}\n dateProfile={props.dateProfile}\n eventSelection={props.eventSelection}\n eventDrag={props.eventDrag}\n eventResize={props.eventResize}\n todayRange={props.todayRange}\n />\n </div>\n </div>\n <div className=\"fc-daygrid-day-bg\">\n {props.bgContent}\n </div>\n </div>\n )}\n </DayCellContainer>\n )\n }\n\n handleRootEl = (el: HTMLElement) => {\n setRef(this.rootElRef, el)\n setRef(this.props.elRef, el)\n }\n}\n\nfunction renderTopInner(props: DayCellContentArg): ComponentChild {\n return props.dayNumberText || <Fragment>&nbsp;</Fragment>\n}\n","import { EventRenderRange } from '@fullcalendar/core'\nimport {\n SegHierarchy,\n SegRect,\n SegEntry,\n SegInsertion,\n buildEntryKey,\n intersectRanges,\n addDays,\n DayTableCell,\n intersectSpans,\n} from '@fullcalendar/core/internal'\nimport { TableSeg } from './TableSeg.js'\n\nexport interface TableSegPlacement {\n seg: TableSeg\n isVisible: boolean\n isAbsolute: boolean\n absoluteTop: number // populated regardless of isAbsolute\n marginTop: number\n}\n\nexport function computeFgSegPlacement(\n segs: TableSeg[], // assumed already sorted\n dayMaxEvents: boolean | number,\n dayMaxEventRows: boolean | number,\n strictOrder: boolean,\n eventInstanceHeights: { [instanceId: string]: number },\n maxContentHeight: number | null,\n cells: DayTableCell[],\n) {\n let hierarchy = new DayGridSegHierarchy()\n hierarchy.allowReslicing = true\n hierarchy.strictOrder = strictOrder\n\n if (dayMaxEvents === true || dayMaxEventRows === true) {\n hierarchy.maxCoord = maxContentHeight\n hierarchy.hiddenConsumes = true\n } else if (typeof dayMaxEvents === 'number') {\n hierarchy.maxStackCnt = dayMaxEvents\n } else if (typeof dayMaxEventRows === 'number') {\n hierarchy.maxStackCnt = dayMaxEventRows\n hierarchy.hiddenConsumes = true\n }\n\n // create segInputs only for segs with known heights\n let segInputs: SegEntry[] = []\n let unknownHeightSegs: TableSeg[] = []\n for (let i = 0; i < segs.length; i += 1) {\n let seg = segs[i]\n let { instanceId } = seg.eventRange.instance\n let eventHeight = eventInstanceHeights[instanceId]\n\n if (eventHeight != null) {\n segInputs.push({\n index: i,\n thickness: eventHeight,\n span: {\n start: seg.firstCol,\n end: seg.lastCol + 1,\n },\n })\n } else {\n unknownHeightSegs.push(seg)\n }\n }\n\n let hiddenEntries = hierarchy.addSegs(segInputs)\n let segRects = hierarchy.toRects()\n let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells)\n\n let moreCnts: number[] = []\n let moreMarginTops: number[] = []\n\n // add segs with unknown heights\n for (let seg of unknownHeightSegs) {\n multiColPlacements[seg.firstCol].push({\n seg,\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n })\n\n for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n })\n }\n }\n\n // add the hidden entries\n for (let col = 0; col < cells.length; col += 1) {\n moreCnts.push(0)\n }\n for (let hiddenEntry of hiddenEntries) {\n let seg = segs[hiddenEntry.index]\n let hiddenSpan = hiddenEntry.span\n\n multiColPlacements[hiddenSpan.start].push({\n seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n })\n\n for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {\n moreCnts[col] += 1\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n })\n }\n }\n\n // deal with leftover margins\n for (let col = 0; col < cells.length; col += 1) {\n moreMarginTops.push(leftoverMargins[col])\n }\n\n return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops }\n}\n\n// rects ordered by top coord, then left\nfunction placeRects(allRects: SegRect[], segs: TableSeg[], cells: DayTableCell[]) {\n let rectsByEachCol = groupRectsByEachCol(allRects, cells.length)\n let singleColPlacements: TableSegPlacement[][] = []\n let multiColPlacements: TableSegPlacement[][] = []\n let leftoverMargins: number[] = []\n\n for (let col = 0; col < cells.length; col += 1) {\n let rects = rectsByEachCol[col]\n\n // compute all static segs in singlePlacements\n let singlePlacements: TableSegPlacement[] = []\n let currentHeight = 0\n let currentMarginTop = 0\n for (let rect of rects) {\n let seg = segs[rect.index]\n singlePlacements.push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: rect.levelCoord - currentHeight,\n })\n currentHeight = rect.levelCoord + rect.thickness\n }\n\n // compute mixed static/absolute segs in multiPlacements\n let multiPlacements: TableSegPlacement[] = []\n currentHeight = 0\n currentMarginTop = 0\n for (let rect of rects) {\n let seg = segs[rect.index]\n let isAbsolute = rect.span.end - rect.span.start > 1 // multi-column?\n let isFirstCol = rect.span.start === col\n\n currentMarginTop += rect.levelCoord - currentHeight // amount of space since bottom of previous seg\n currentHeight = rect.levelCoord + rect.thickness // height will now be bottom of current seg\n\n if (isAbsolute) {\n currentMarginTop += rect.thickness\n if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: true,\n absoluteTop: rect.levelCoord,\n marginTop: 0,\n })\n }\n } else if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: currentMarginTop, // claim the margin\n })\n currentMarginTop = 0\n }\n }\n\n singleColPlacements.push(singlePlacements)\n multiColPlacements.push(multiPlacements)\n leftoverMargins.push(currentMarginTop)\n }\n\n return { singleColPlacements, multiColPlacements, leftoverMargins }\n}\n\nfunction groupRectsByEachCol(rects: SegRect[], colCnt: number): SegRect[][] {\n let rectsByEachCol: SegRect[][] = []\n\n for (let col = 0; col < colCnt; col += 1) {\n rectsByEachCol.push([])\n }\n\n for (let rect of rects) {\n for (let col = rect.span.start; col < rect.span.end; col += 1) {\n rectsByEachCol[col].push(rect)\n }\n }\n\n return rectsByEachCol\n}\n\nfunction resliceSeg(seg: TableSeg, spanStart: number, spanEnd: number, cells: DayTableCell[]): TableSeg {\n if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {\n return seg\n }\n\n let eventRange = seg.eventRange\n let origRange = eventRange.range\n let slicedRange = intersectRanges(origRange, {\n start: cells[spanStart].date,\n end: addDays(cells[spanEnd - 1].date, 1),\n })\n\n return {\n ...seg,\n firstCol: spanStart,\n lastCol: spanEnd - 1,\n eventRange: {\n def: eventRange.def,\n ui: { ...eventRange.ui, durationEditable: false }, // hack to disable resizing\n instance: eventRange.instance,\n range: slicedRange,\n } as EventRenderRange,\n isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(),\n isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf(),\n }\n}\n\nclass DayGridSegHierarchy extends SegHierarchy {\n // config\n hiddenConsumes: boolean = false\n\n // allows us to keep hidden entries in the hierarchy so they take up space\n forceHidden: { [entryId: string]: true } = {}\n\n addSegs(segInputs: SegEntry[]): SegEntry[] {\n const hiddenSegs = super.addSegs(segInputs)\n const { entriesByLevel } = this\n const excludeHidden = (entry: SegEntry) => !this.forceHidden[buildEntryKey(entry)]\n\n // remove the forced-hidden segs\n for (let level = 0; level < entriesByLevel.length; level += 1) {\n entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden)\n }\n\n return hiddenSegs\n }\n\n handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]) {\n const { entriesByLevel, forceHidden } = this\n const { touchingEntry, touchingLevel, touchingLateral } = insertion\n\n if (this.hiddenConsumes && touchingEntry) {\n const touchingEntryId = buildEntryKey(touchingEntry)\n // if not already hidden\n if (!forceHidden[touchingEntryId]) {\n if (this.allowReslicing) {\n const placeholderEntry: SegEntry = { // placeholder of the \"more\" link\n ...touchingEntry,\n span: intersectSpans(touchingEntry.span, entry.span),\n }\n const placeholderEntryId = buildEntryKey(placeholderEntry)\n forceHidden[placeholderEntryId] = true\n entriesByLevel[touchingLevel][touchingLateral] = placeholderEntry // replace touchingEntry with our placeholder\n this.splitEntry(touchingEntry, entry, hiddenEntries) // split up the touchingEntry, reinsert it\n } else {\n forceHidden[touchingEntryId] = true\n hiddenEntries.push(touchingEntry)\n }\n }\n }\n\n return super.handleInvalidInsertion(insertion, entry, hiddenEntries)\n }\n}\n","import { CssDimValue } from '@fullcalendar/core'\nimport {\n EventSegUiInteractionState,\n DateComponent,\n PositionCache,\n RefMap,\n DateRange,\n getSegMeta,\n DateProfile,\n BgEvent,\n renderFill,\n isPropsEqual,\n buildEventRangeKey,\n sortEventSegs,\n DayTableCell,\n} from '@fullcalendar/core/internal'\nimport {\n VNode,\n createElement,\n Fragment,\n createRef,\n} from '@fullcalendar/core/preact'\nimport { TableSeg, splitSegsByFirstCol } from './TableSeg.js'\nimport { TableCell } from './TableCell.js'\nimport { TableListItemEvent } from './TableListItemEvent.js'\nimport { TableBlockEvent } from './TableBlockEvent.js'\nimport { computeFgSegPlacement, TableSegPlacement } from './event-placement.js'\nimport { hasListItemDisplay } from './event-rendering.js'\n\n// TODO: attach to window resize?\n\nexport interface TableRowProps {\n cells: DayTableCell[]\n renderIntro?: () => VNode\n businessHourSegs: TableSeg[]\n bgEventSegs: TableSeg[]\n fgEventSegs: TableSeg[]\n dateSelectionSegs: TableSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n clientWidth: number | null\n clientHeight: number | null // simply for causing an updateSize, for when liquid height\n dateProfile: DateProfile\n todayRange: DateRange\n showDayNumbers: boolean\n showWeekNumbers: boolean\n forPrint: boolean\n}\n\ninterface TableRowState {\n framePositions: PositionCache\n maxContentHeight: number | null\n eventInstanceHeights: { [instanceId: string]: number } // integers\n}\n\nexport class TableRow extends DateComponent<TableRowProps, TableRowState> {\n private cellElRefs = new RefMap<HTMLTableCellElement>() // the <td>\n private frameElRefs = new RefMap<HTMLElement>() // the fc-daygrid-day-frame\n private fgElRefs = new RefMap<HTMLDivElement>() // the fc-daygrid-day-events\n private segHarnessRefs = new RefMap<HTMLDivElement>() // indexed by \"instanceId:firstCol\"\n private rootElRef = createRef<HTMLTableRowElement>()\n\n state: TableRowState = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n }\n\n render() {\n let { props, state, context } = this\n let { options } = context\n let colCnt = props.cells.length\n\n let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt)\n let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt)\n let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt)\n let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt)\n\n let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(\n sortEventSegs(props.fgEventSegs, options.eventOrder) as TableSeg[],\n props.dayMaxEvents,\n props.dayMaxEventRows,\n options.eventOrderStrict,\n state.eventInstanceHeights,\n state.maxContentHeight,\n props.cells,\n )\n\n let isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {}\n\n return (\n <tr ref={this.rootElRef} role=\"row\">\n {props.renderIntro && props.renderIntro()}\n {props.cells.map((cell, col) => {\n let normalFgNodes = this.renderFgSegs(\n col,\n props.forPrint ? singleColPlacements[col] : multiColPlacements[col],\n props.todayRange,\n isForcedInvisible,\n )\n\n let mirrorFgNodes = this.renderFgSegs(\n col,\n buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements),\n props.todayRange,\n {},\n Boolean(props.eventDrag),\n Boolean(props.eventResize),\n false, // date-selecting (because mirror is never drawn for date selection)\n )\n\n return (\n <TableCell\n key={cell.key}\n elRef={this.cellElRefs.createRef(cell.key)}\n innerElRef={this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */}\n dateProfile={props.dateProfile}\n date={cell.date}\n showDayNumber={props.showDayNumbers}\n showWeekNumber={props.showWeekNumbers && col === 0}\n forceDayTop={props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */}\n todayRange={props.todayRange}\n eventSelection={props.eventSelection}\n eventDrag={props.eventDrag}\n eventResize={props.eventResize}\n extraRenderProps={cell.extraRenderProps}\n extraDataAttrs={cell.extraDataAttrs}\n extraClassNames={cell.extraClassNames}\n extraDateSpan={cell.extraDateSpan}\n moreCnt={moreCnts[col]}\n moreMarginTop={moreMarginTops[col]}\n singlePlacements={singleColPlacements[col]}\n fgContentElRef={this.fgElRefs.createRef(cell.key)}\n fgContent={( // Fragment scopes the keys\n <Fragment>\n <Fragment>{normalFgNodes}</Fragment>\n <Fragment>{mirrorFgNodes}</Fragment>\n </Fragment>\n )}\n bgContent={( // Fragment scopes the keys\n <Fragment>\n {this.renderFillSegs(highlightSegsByCol[col], 'highlight')}\n {this.renderFillSegs(businessHoursByCol[col], 'non-business')}\n {this.renderFillSegs(bgEventSegsByCol[col], 'bg-event')}\n </Fragment>\n )}\n />\n )\n })}\n </tr>\n )\n }\n\n componentDidMount() {\n this.updateSizing(true)\n this.context.addResizeHandler(this.handleResize)\n }\n\n componentDidUpdate(prevProps: TableRowProps, prevState: TableRowState) {\n let currentProps = this.props\n\n this.updateSizing(\n !isPropsEqual(prevProps, currentProps),\n )\n }\n\n componentWillUnmount() {\n this.context.removeResizeHandler(this.handleResize)\n }\n\n handleResize = (isForced: boolean) => {\n if (isForced) {\n this.updateSizing(true) // isExternal=true\n }\n }\n\n getHighlightSegs(): TableSeg[] {\n let { props } = this\n\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs as TableSeg[]\n }\n\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs as TableSeg[]\n }\n\n return props.dateSelectionSegs\n }\n\n getMirrorSegs(): TableSeg[] {\n let { props } = this\n\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs as TableSeg[]\n }\n\n return []\n }\n\n renderFgSegs(\n col: number,\n segPlacements: TableSegPlacement[],\n todayRange: DateRange,\n isForcedInvisible: { [instanceId: string]: any },\n isDragging?: boolean,\n isResizing?: boolean,\n isDateSelecting?: boolean,\n ): VNode[] {\n let { context } = this\n let { eventSelection } = this.props\n let { framePositions } = this.state\n let defaultDisplayEventEnd = this.props.cells.length === 1 // colCnt === 1\n let isMirror = isDragging || isResizing || isDateSelecting\n let nodes: VNode[] = []\n\n if (framePositions) {\n for (let placement of segPlacements) {\n let { seg } = placement\n let { instanceId } = seg.eventRange.instance\n let key = instanceId + ':' + col\n let isVisible = placement.isVisible && !isForcedInvisible[instanceId]\n let isAbsolute = placement.isAbsolute\n let left: CssDimValue = ''\n let right: CssDimValue = ''\n\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol]\n } else {\n left = 0\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol]\n }\n }\n\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(\n <div\n className={'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : '')}\n key={key}\n ref={isMirror ? null : this.segHarnessRefs.createRef(key)}\n style={{\n visibility: isVisible ? ('' as any) : 'hidden',\n marginTop: isAbsolute ? '' : placement.marginTop,\n top: isAbsolute ? placement.absoluteTop : '',\n left,\n right,\n }}\n >\n {hasListItemDisplay(seg) ? (\n <TableListItemEvent\n seg={seg}\n isDragging={isDragging}\n isSelected={instanceId === eventSelection}\n defaultDisplayEventEnd={defaultDisplayEventEnd}\n {...getSegMeta(seg, todayRange)}\n />\n ) : (\n <TableBlockEvent\n seg={seg}\n isDragging={isDragging}\n isResizing={isResizing}\n isDateSelecting={isDateSelecting}\n isSelected={instanceId === eventSelection}\n defaultDisplayEventEnd={defaultDisplayEventEnd}\n {...getSegMeta(seg, todayRange)}\n />\n )}\n </div>,\n )\n }\n }\n\n return nodes\n }\n\n renderFillSegs(segs: TableSeg[], fillType: string): VNode {\n let { isRtl } = this.context\n let { todayRange } = this.props\n let { framePositions } = this.state\n let nodes: VNode[] = []\n\n if (framePositions) {\n for (let seg of segs) {\n let leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n }\n\n nodes.push(\n <div\n key={buildEventRangeKey(seg.eventRange)}\n className=\"fc-daygrid-bg-harness\"\n style={leftRightCss}\n >\n {fillType === 'bg-event' ?\n <BgEvent seg={seg} {...getSegMeta(seg, todayRange)} /> :\n renderFill(fillType)}\n </div>,\n )\n }\n }\n\n return createElement(Fragment, {}, ...nodes)\n }\n\n updateSizing(isExternalSizingChange) {\n let { props, frameElRefs } = this\n\n if (\n !props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n let frameEls = props.cells.map((cell) => frameElRefs.currentMap[cell.key])\n\n if (frameEls.length) {\n let originEl = this.rootElRef.current\n\n this.setState({ // will trigger isCellPositionsChanged...\n framePositions: new PositionCache(\n originEl,\n frameEls,\n true, // isHorizontal\n false,\n ),\n })\n }\n }\n\n const oldInstanceHeights = this.state.eventInstanceHeights\n const newInstanceHeights = this.queryEventInstanceHeights()\n const limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true\n\n this.safeSetState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: { ...oldInstanceHeights, ...newInstanceHeights },\n\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n })\n }\n }\n\n queryEventInstanceHeights() {\n let segElMap = this.segHarnessRefs.currentMap\n let eventInstanceHeights: { [key: string]: number } = {}\n\n // get the max height amongst instance segs\n for (let key in segElMap) {\n let height = Math.round(segElMap[key].getBoundingClientRect().height)\n let instanceId = key.split(':')[0] // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height)\n }\n\n return eventInstanceHeights\n }\n\n computeMaxContentHeight() {\n let firstKey = this.props.cells[0].key\n let cellEl = this.cellElRefs.currentMap[firstKey]\n let fcContainerEl = this.fgElRefs.currentMap[firstKey]\n\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top\n }\n\n public getCellEls() {\n let elMap = this.cellElRefs.currentMap\n\n return this.props.cells.map((cell) => elMap[cell.key])\n }\n}\n\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n})\n\nfunction buildMirrorPlacements(mirrorSegs: TableSeg[], colPlacements: TableSegPlacement[][]): TableSegPlacement[] {\n if (!mirrorSegs.length) {\n return []\n }\n let topsByInstanceId = buildAbsoluteTopHash(colPlacements) // TODO: cache this at first render?\n return mirrorSegs.map((seg: TableSeg) => ({\n seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }))\n}\n\nfunction buildAbsoluteTopHash(colPlacements: TableSegPlacement[][]): { [instanceId: string]: number } {\n let topsByInstanceId: { [instanceId: string]: number } = {}\n\n for (let placements of colPlacements) {\n for (let placement of placements) {\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop\n }\n }\n\n return topsByInstanceId\n}\n","import { CssDimValue } from '@fullcalendar/core'\nimport {\n EventSegUiInteractionState,\n DateComponent,\n PositionCache,\n memoize,\n addDays,\n RefMap,\n DateRange,\n NowTimer,\n DateMarker,\n DateProfile,\n Hit,\n DayTableCell,\n} from '@fullcalendar/core/internal'\nimport {\n VNode,\n RefObject,\n createElement,\n Fragment,\n} from '@fullcalendar/core/preact'\nimport { TableSeg, splitSegsByRow, splitInteractionByRow } from './TableSeg.js'\nimport { TableRow } from './TableRow.js'\n\nexport interface TableProps {\n dateProfile: DateProfile\n cells: DayTableCell[][] // cells-BY-ROW\n renderRowIntro?: () => VNode\n colGroupNode: VNode\n tableMinWidth: CssDimValue\n expandRows: boolean\n showWeekNumbers: boolean\n clientWidth: number | null\n clientHeight: number | null\n businessHourSegs: TableSeg[]\n bgEventSegs: TableSeg[]\n fgEventSegs: TableSeg[]\n dateSelectionSegs: TableSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n headerAlignElRef?: RefObject<HTMLElement>\n forPrint: boolean\n isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean\n}\n\nexport class Table extends DateComponent<TableProps> {\n private splitBusinessHourSegs = memoize(splitSegsByRow)\n private splitBgEventSegs = memoize(splitSegsByRow)\n private splitFgEventSegs = memoize(splitSegsByRow)\n private splitDateSelectionSegs = memoize(splitSegsByRow)\n private splitEventDrag = memoize(splitInteractionByRow)\n private splitEventResize = memoize(splitInteractionByRow)\n private rootEl: HTMLElement\n private rowRefs = new RefMap<TableRow>()\n private rowPositions: PositionCache\n private colPositions: PositionCache\n\n render() {\n let { props } = this\n let { dateProfile, dayMaxEventRows, dayMaxEvents, expandRows } = props\n let rowCnt = props.cells.length\n\n let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt)\n let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt)\n let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt)\n let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt)\n let eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt)\n let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt)\n\n let limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true\n\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false\n dayMaxEventRows = null\n dayMaxEvents = null\n }\n\n let classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced', // will all row heights be equal?\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ]\n\n return (\n <div\n className={classNames.join(' ')}\n ref={this.handleRootEl}\n style={{\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n }}\n >\n <NowTimer unit=\"day\">\n {(nowDate: DateMarker, todayRange: DateRange) => (\n <Fragment>\n <table\n role=\"presentation\"\n className=\"fc-scrollgrid-sync-table\"\n style={{\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n height: expandRows ? props.clientHeight : '',\n }}\n >\n {props.colGroupNode}\n <tbody role=\"presentation\">\n {props.cells.map((cells, row) => (\n <TableRow\n ref={this.rowRefs.createRef(row)}\n key={\n cells.length\n ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */\n : row // in case there are no cells (like when resource view is loading)\n }\n showDayNumbers={rowCnt > 1}\n showWeekNumbers={props.showWeekNumbers}\n todayRange={todayRange}\n dateProfile={dateProfile}\n cells={cells}\n renderIntro={props.renderRowIntro}\n businessHourSegs={businessHourSegsByRow[row]}\n eventSelection={props.eventSelection}\n bgEventSegs={bgEventSegsByRow[row].filter(isSegAllDay) /* hack */}\n fgEventSegs={fgEventSegsByRow[row]}\n dateSelectionSegs={dateSelectionSegsByRow[row]}\n eventDrag={eventDragByRow[row]}\n eventResize={eventResizeByRow[row]}\n dayMaxEvents={dayMaxEvents}\n dayMaxEventRows={dayMaxEventRows}\n clientWidth={props.clientWidth}\n clientHeight={props.clientHeight}\n forPrint={props.forPrint}\n />\n ))}\n </tbody>\n </table>\n </Fragment>\n )}\n </NowTimer>\n </div>\n )\n }\n\n handleRootEl = (rootEl: HTMLElement | null) => {\n this.rootEl = rootEl\n\n if (rootEl) {\n this.context.registerInteractiveComponent(this, {\n el: rootEl,\n isHitComboAllowed: this.props.isHitComboAllowed,\n })\n } else {\n this.context.unregisterInteractiveComponent(this)\n }\n }\n\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n\n prepareHits() {\n this.rowPositions = new PositionCache(\n this.rootEl,\n this.rowRefs.collect().map((rowObj) => rowObj.getCellEls()[0]), // first cell el in each row. TODO: not optimal\n false,\n true, // vertical\n )\n\n this.colPositions = new PositionCache(\n this.rootEl,\n this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false,\n )\n }\n\n queryHit(positionLeft: number, positionTop: number): Hit {\n let { colPositions, rowPositions } = this\n let col = colPositions.leftToIndex(positionLeft)\n let row = rowPositions.topToIndex(positionTop)\n\n if (row != null && col != null) {\n let cell = this.props.cells[row][col]\n\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: {\n range: this.getCellRange(row, col),\n allDay: true,\n ...cell.extraDateSpan,\n },\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n }\n }\n\n return null\n }\n\n private getCellEl(row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col] // TODO: not optimal\n }\n\n private getCellRange(row, col) {\n let start = this.props.cells[row][col].date\n let end = addDays(start, 1)\n return { start, end }\n }\n}\n\nfunction isSegAllDay(seg: TableSeg) {\n return seg.eventRange.def.allDay\n}\n","import { DayTableModel, DateRange, Slicer } from '@fullcalendar/core/internal'\nimport { TableSeg } from './TableSeg.js'\n\nexport class DayTableSlicer extends Slicer<TableSeg, [DayTableModel]> {\n forceDayIfListItem = true\n\n sliceRange(dateRange: DateRange, dayTableModel: DayTableModel): TableSeg[] {\n return dayTableModel.sliceRange(dateRange)\n }\n}\n","import { Duration, CssDimValue } from '@fullcalendar/core'\nimport {\n EventStore,\n EventUiHash,\n DateSpan,\n EventInteractionState,\n DayTableModel,\n DateComponent,\n ViewContext,\n DateProfile,\n} from '@fullcalendar/core/internal'\nimport {\n createElement,\n createRef,\n VNode,\n RefObject,\n} from '@fullcalendar/core/preact'\nimport { Table } from './Table.js'\nimport { DayTableSlicer } from './DayTableSlicer.js'\n\nexport interface DayTableProps {\n dateProfile: DateProfile,\n dayTableModel: DayTableModel\n nextDayThreshold: Duration\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 colGroupNode: VNode\n tableMinWidth: CssDimValue\n renderRowIntro?: () => VNode\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n expandRows: boolean\n showWeekNumbers: boolean\n headerAlignElRef?: RefObject<HTMLElement> // for more popover alignment\n clientWidth: number | null\n clientHeight: number | null\n forPrint: boolean\n}\n\nexport class DayTable extends DateComponent<DayTableProps, ViewContext> {\n private slicer = new DayTableSlicer()\n private tableRef = createRef<Table>()\n\n render() {\n let { props, context } = this\n\n return (\n <Table\n ref={this.tableRef}\n {...this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel)}\n dateProfile={props.dateProfile}\n cells={props.dayTableModel.cells}\n colGroupNode={props.colGroupNode}\n tableMinWidth={props.tableMinWidth}\n renderRowIntro={props.renderRowIntro}\n dayMaxEvents={props.dayMaxEvents}\n dayMaxEventRows={props.dayMaxEventRows}\n showWeekNumbers={props.showWeekNumbers}\n expandRows={props.expandRows}\n headerAlignElRef={props.headerAlignElRef}\n clientWidth={props.clientWidth}\n clientHeight={props.clientHeight}\n forPrint={props.forPrint}\n />\n )\n }\n}\n","import {\n SimpleScrollGrid,\n SimpleScrollGridSection,\n ChunkContentCallbackArgs,\n ScrollGridSectionConfig,\n ViewContainer,\n DateComponent,\n ViewProps,\n renderScrollShim,\n getStickyHeaderDates,\n getStickyFooterScrollbar,\n ChunkConfigRowContent,\n Dictionary,\n} from '@fullcalendar/core/internal'\nimport {\n VNode,\n createElement,\n createRef,\n RefObject,\n} from '@fullcalendar/core/preact'\n\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 Table subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\n\nexport abstract class TableView<State=Dictionary> extends DateComponent<ViewProps, State> {\n protected headerElRef: RefObject<HTMLTableCellElement> = createRef<HTMLTableCellElement>()\n\n renderSimpleLayout(\n headerRowContent: ChunkConfigRowContent,\n bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode,\n ) {\n let { props, context } = this\n let sections: SimpleScrollGridSection[] = []\n let stickyHeaderDates = getStickyHeaderDates(context.options)\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n })\n }\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunk: { content: bodyContent },\n })\n\n return (\n <ViewContainer elClasses={['fc-daygrid']} viewSpec={context.viewSpec}>\n <SimpleScrollGrid\n liquid={!props.isHeightAuto && !props.forPrint}\n collapsibleWidth={props.forPrint}\n cols={[] /* TODO: make optional? */}\n sections={sections}\n />\n </ViewContainer>\n )\n }\n\n renderHScrollLayout(\n headerRowContent: ChunkConfigRowContent,\n bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode,\n colCnt: number,\n dayMinWidth: number,\n ) {\n let ScrollGrid = this.context.pluginHooks.scrollGridImpl\n\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation')\n }\n\n let { props, context } = this\n let stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options)\n let stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options)\n let sections: ScrollGridSectionConfig[] = []\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunks: [{\n key: 'main',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n }],\n })\n }\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunks: [{\n key: 'main',\n content: bodyContent,\n }],\n })\n\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [{\n key: 'main',\n content: renderScrollShim,\n }],\n })\n }\n\n return (\n <ViewContainer elClasses={['fc-daygrid']} viewSpec={context.viewSpec}>\n <ScrollGrid\n liquid={!props.isHeightAuto && !props.forPrint}\n collapsibleWidth={props.forPrint}\n colGroups={[{ cols: [{ span: colCnt, minWidth: dayMinWidth }] }]}\n sections={sections}\n />\n </ViewContainer>\n )\n }\n}\n","import {\n DayHeader,\n DateProfileGenerator,\n DateProfile,\n memoize,\n DaySeriesModel,\n DayTableModel,\n ChunkContentCallbackArgs,\n} from '@fullcalendar/core/internal'\nimport { createElement, createRef } from '@fullcalendar/core/preact'\nimport { TableView } from './TableView.js'\nimport { DayTable } from './DayTable.js'\n\nexport class DayTableView extends TableView {\n private buildDayTableModel = memoize(buildDayTableModel)\n private headerRef = createRef<DayHeader>()\n private tableRef = createRef<DayTable>()\n\n render() {\n let { options, dateProfileGenerator } = this.context\n let { props } = this\n let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator)\n\n let headerContent = options.dayHeaders && (\n <DayHeader\n ref={this.headerRef}\n dateProfile={props.dateProfile}\n dates={dayTableModel.headerDates}\n datesRepDistinctDays={dayTableModel.rowCnt === 1}\n />\n )\n\n let bodyContent = (contentArg: ChunkContentCallbackArgs) => (\n <DayTable\n ref={this.tableRef}\n dateProfile={props.dateProfile}\n dayTableModel={dayTableModel}\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 nextDayThreshold={options.nextDayThreshold}\n colGroupNode={contentArg.tableColGroupNode}\n tableMinWidth={contentArg.tableMinWidth}\n dayMaxEvents={options.dayMaxEvents}\n dayMaxEventRows={options.dayMaxEventRows}\n showWeekNumbers={options.weekNumbers}\n expandRows={!props.isHeightAuto}\n headerAlignElRef={this.headerElRef}\n clientWidth={contentArg.clientWidth}\n clientHeight={contentArg.clientHeight}\n forPrint={props.forPrint}\n />\n )\n\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent)\n }\n}\n\nexport function buildDayTableModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator) {\n let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator)\n\n return new DayTableModel(\n daySeries,\n /year|month|week/.test(dateProfile.currentRangeUnit),\n )\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fullcalendar/daygrid",
3
- "version": "6.0.1",
3
+ "version": "6.0.2",
4
4
  "title": "FullCalendar Day Grid Plugin",
5
5
  "description": "Display events on a month view or \"day grid\" view",
6
6
  "homepage": "https://fullcalendar.io/docs/month-view",
@@ -13,7 +13,7 @@
13
13
  "month-view"
14
14
  ],
15
15
  "peerDependencies": {
16
- "@fullcalendar/core": "~6.0.1"
16
+ "@fullcalendar/core": "~6.0.2"
17
17
  },
18
18
  "type": "module",
19
19
  "bugs": "https://fullcalendar.io/reporting-bugs",