Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var dateEnv = context.dateEnv, theme = context.theme;
var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.
var classes = getDayClasses(date, dateProfile, context);
classes.unshift('fc-day', theme.getClass('widgetContent'));
return '';
}
var DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });
var WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });
var DayGrid = /** @class */ (function (_super) {
__extends(DayGrid, _super);
function DayGrid(context, el, renderProps) {
var _this = _super.call(this, context, el) || this;
_this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid
_this.isCellSizesDirty = false;
var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);
var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);
_this.mirrorRenderer = new DayGridMirrorRenderer(_this);
var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);
_this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);
_this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);
_this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);
_this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);
_this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
_this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);
ListView.prototype.buildDayHeaderRow = function (dayDate) {
var dateEnv = this.dateEnv;
var mainFormat = createFormatter(this.opt('listDayFormat')); // TODO: cache
var altFormat = createFormatter(this.opt('listDayAltFormat')); // TODO: cache
return createElement('tr', {
className: 'fc-list-heading',
'data-date': dateEnv.formatIso(dayDate, { omitTime: true })
}, '' +
(mainFormat ?
buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-main' }, htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
) :
'') +
(altFormat ?
buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-alt' }, htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
) :
'') +
'');
};
return ListView;
ListView.prototype.buildDayHeaderRow = function (dayDate) {
var dateEnv = this.dateEnv;
var mainFormat = createFormatter(this.opt('listDayFormat')); // TODO: cache
var altFormat = createFormatter(this.opt('listDayAltFormat')); // TODO: cache
return createElement('tr', {
className: 'fc-list-heading',
'data-date': dateEnv.formatIso(dayDate, { omitTime: true })
}, '' +
(mainFormat ?
buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-main' }, htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
) :
'') +
(altFormat ?
buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-alt' }, htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
) :
'') +
'');
};
buildDayHeaderRow(dayDate) {
let { theme, dateEnv, options } = this.context
let mainFormat = createFormatter(options.listDayFormat) // TODO: cache
let altFormat = createFormatter(options.listDayAltFormat) // TODO: cache
return createElement('tr', {
className: 'fc-list-heading',
'data-date': dateEnv.formatIso(dayDate, { omitTime: true })
}, '' +
(mainFormat ?
buildGotoAnchorHtml(
options,
dateEnv,
dayDate,
{ 'class': 'fc-list-heading-main' },
htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
function renderCellHtml(date, dateProfile, context, otherAttrs) {
var dateEnv = context.dateEnv, theme = context.theme;
var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.
var classes = getDayClasses(date, dateProfile, context);
classes.unshift('fc-day', theme.getClass('widgetContent'));
return '';
}
var DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });
var WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });
var DayGrid = /** @class */ (function (_super) {
__extends(DayGrid, _super);
function DayGrid(context, el, renderProps) {
var _this = _super.call(this, context, el) || this;
_this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid
_this.isCellSizesDirty = false;
var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);
var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);
_this.mirrorRenderer = new DayGridMirrorRenderer(_this);
var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);
_this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);
_this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);
_this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);
_this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);
_this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
AllDaySplitter.prototype.getKeysForEventDef = function (eventDef) {
if (!eventDef.allDay) {
return ['timed'];
}
else if (hasBgRendering(eventDef)) {
return ['timed', 'allDay'];
}
else {
return ['allDay'];
}
};
return AllDaySplitter;
}(Splitter));
var TIMEGRID_ALL_DAY_EVENT_LIMIT = 5;
var WEEK_HEADER_FORMAT = createFormatter({ week: 'short' });
/* An abstract class for all timegrid-related views. Displays one more columns with time slots running vertically.
----------------------------------------------------------------------------------------------------------------------*/
// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).
// Responsible for managing width/height.
var TimeGridView = /** @class */ (function (_super) {
__extends(TimeGridView, _super);
function TimeGridView(context, viewSpec, dateProfileGenerator, parentEl) {
var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
_this.splitter = new AllDaySplitter();
/* Header Render Methods
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that will go before the day-of week header cells
_this.renderHeadIntroHtml = function () {
var _a = _this, theme = _a.theme, dateEnv = _a.dateEnv;
var range = _this.props.dateProfile.renderRange;
var dayCnt = diffDays(range.start, range.end);
import {
findElements, createElement, htmlEscape,
matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight,
ScrollComponent,
View,
ComponentContext,
createFormatter, diffDays,
buildGotoAnchorHtml, getAllDayHtml, Duration, ViewProps,
memoizeRendering
} from '@fullcalendar/core'
import { DayGrid } from '@fullcalendar/daygrid'
import TimeGrid from './TimeGrid'
import AllDaySplitter from './AllDaySplitter'
const TIMEGRID_ALL_DAY_EVENT_LIMIT = 5
const WEEK_HEADER_FORMAT = createFormatter({ week: 'short' })
/* An abstract class for all timegrid-related views. Displays one more columns with time slots running vertically.
----------------------------------------------------------------------------------------------------------------------*/
// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).
// Responsible for managing width/height.
export default abstract class AbstractTimeGridView extends View {
timeGrid: TimeGrid // the main time-grid subcomponent of this view
dayGrid: DayGrid // the "all-day" subcomponent. if all-day is turned off, this will be null
scroller: ScrollComponent
axisWidth: any // the width of the time axis running down the side
protected splitter = new AllDaySplitter()
distributeHeight,
undistributeHeight,
createFormatter,
ScrollComponent,
View,
buildGotoAnchorHtml,
Duration,
ComponentContext,
ViewProps,
memoize,
memoizeRendering
} from '@fullcalendar/core'
import DayGridDateProfileGenerator from './DayGridDateProfileGenerator'
import DayGrid from './DayGrid'
const WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' })
/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.
----------------------------------------------------------------------------------------------------------------------*/
// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.
// It is responsible for managing width/height.
export default abstract class AbstractDayGridView extends View {
scroller: ScrollComponent
dayGrid: DayGrid // the main subcomponent that does most of the heavy lifting
colWeekNumbersVisible: boolean
cellWeekNumbersVisible: boolean
weekNumberWidth: number
EventRenderRange,
buildGotoAnchorHtml,
getDayClasses,
DateProfile,
memoizeRendering,
MemoizedRendering,
ComponentContext
} from '@fullcalendar/core'
import Popover from './Popover'
import DayGridEventRenderer from './DayGridEventRenderer'
import DayGridMirrorRenderer from './DayGridMirrorRenderer'
import DayGridFillRenderer from './DayGridFillRenderer'
import DayTile from './DayTile'
import DayBgRow from './DayBgRow'
const DAY_NUM_FORMAT = createFormatter({ day: 'numeric' })
const WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' })
/* A component that renders a grid of whole-days that runs horizontally. There can be multiple rows, one per week.
----------------------------------------------------------------------------------------------------------------------*/
export interface RenderProps { // TODO: combine with DayGridProps
renderNumberIntroHtml: (row: number, dayGrid: DayGrid) => string
renderBgIntroHtml: () => string
renderIntroHtml: () => string
colWeekNumbersVisible: boolean // week numbers render in own column? (caller does HTML via intro)
cellWeekNumbersVisible: boolean // display week numbers in day cell?
}
export interface DayGridSeg extends Seg {
row: number
private initWeekDayShortNames(): string[] {
let formatter = createFormatter({weekday: 'narrow'});
let names = [];
for (let i = 0; i < 7; i++) {
let date = addDays(new Date(), i);
names[date.getDay()] = this.dateEnv.format(date, formatter);
}
return names;
}