| 123456789101112131415161718192021222324252627282930 |
- import DateProfileGenerator from '../DateProfileGenerator'
- import { addWeeks } from '../datelib/marker'
- import { DateRange } from '../datelib/date-range'
- export default class BasicViewDateProfileGenerator extends DateProfileGenerator {
- // Computes the date range that will be rendered.
- buildRenderRange(currentUnzonedRange, currentRangeUnit, isRangeAllDay): DateRange {
- let dateEnv = this._view.calendar.dateEnv
- let renderUnzonedRange = super.buildRenderRange(currentUnzonedRange, currentRangeUnit, isRangeAllDay)
- let start = renderUnzonedRange.start
- let end = renderUnzonedRange.end
- let endOfWeek
- // year and month views should be aligned with weeks. this is already done for week
- if (/^(year|month)$/.test(currentRangeUnit)) {
- start = dateEnv.startOfWeek(start)
- // make end-of-week if not already
- endOfWeek = dateEnv.startOfWeek(end)
- if (endOfWeek.valueOf() !== end.valueOf()) {
- end = addWeeks(endOfWeek, 1)
- }
- }
- return { start, end }
- }
- }
|