Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (repeat2freq.hasOwnProperty(val)){
return repeat2freq[val]
} else {
console.error("Unable to convert '" + val + "' to RRule frequency")
}
}
function rRuleFreqToRepeatEvery(val) {
if (freq2repeat.hasOwnProperty(val)){
return freq2repeat[val]
} else {
console.error("Unable to convert '" + val + "' to repeat type")
}
}
let rRuleWeekDays = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR, RRule.SA, RRule.SU]
export default {
name: "RecurrenceSelector",
components: {
DateTimePicker
},
props: {
startDate: {
type: String,
required: true
},
recurrence: {
type: String,
default: null
},
callback: {
},
{
title: 'Recurs yearly on the 10th of the current month',
color: colors.blue,
rrule: {
freq: RRule.YEARLY,
bymonth: moment().month() + 1,
bymonthday: 10
}
},
{
title: 'Recurs weekly on mondays',
color: colors.red,
rrule: {
freq: RRule.WEEKLY,
byweekday: [RRule.MO]
}
}
];
calendarEvents: CalendarEvent[] = [];
viewPeriod: ViewPeriod;
constructor(private cdr: ChangeDetectorRef) {}
updateCalendarEvents(
viewRender:
| CalendarMonthViewBeforeRenderEvent
| CalendarWeekViewBeforeRenderEvent
| CalendarDayViewBeforeRenderEvent
): void {
const doesRecurringEventsOverlap = (startingDate, endingDate, recurringRule) => {
if (!recurringRule || !startingDate || !endingDate ||
!('frequency' in recurringRule) || !('interval' in recurringRule)) return false;
const freqMap = {
YEARLY: RRule.YEARLY,
MONTHLY: RRule.MONTHLY,
WEEKLY: RRule.WEEKLY,
DAILY: RRule.DAILY,
};
const dayMap = {
MO: RRule.MO,
TU: RRule.TU,
WE: RRule.WE,
TH: RRule.TH,
FR: RRule.FR,
SA: RRule.SA,
SU: RRule.SU,
};
const rules = {
freq: freqMap[recurringRule.frequency],
interval: parseInt(recurringRule.interval, 10) || 1,
dtstart: startingDate.toDate(),
count: 2,
};
if ('byday' in recurringRule) {