import { DayHeader, DateProfileGenerator, DateProfile, memoize, DaySeriesModel, DayTableModel, ChunkContentCallbackArgs, } from '@fullcalendar/core/internal' import { createElement, createRef } from '@fullcalendar/core/preact' import { TableView } from './TableView.js' import { DayTable } from './DayTable.js' export class DayTableView extends TableView { private buildDayTableModel = memoize(buildDayTableModel) private headerRef = createRef() private tableRef = createRef() render() { let { options, dateProfileGenerator } = this.context let { props } = this let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator) let headerContent = options.dayHeaders && ( ) let bodyContent = (contentArg: ChunkContentCallbackArgs) => ( ) return options.dayMinWidth ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth) : this.renderSimpleLayout(headerContent, bodyContent) } // can't override any lifecycle methods from parent } export function buildDayTableModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator) { let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator) return new DayTableModel( daySeries, /year|month|week/.test(dateProfile.currentRangeUnit), ) }