@syncfusion/ej2-schedule
Version:
Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.
112 lines (96 loc) • 3.32 kB
TypeScript
import { Component, Property, NotifyPropertyChanges, INotifyPropertyChanged, Event, Browser, detach } from '@syncfusion/ej2-base';import { EmitType, getDefaultDateObject, getValue, cldrData, L10n, isNullOrUndefined, removeClass, addClass } from '@syncfusion/ej2-base';import { DropDownList, ChangeEventArgs } from '@syncfusion/ej2-dropdowns';import { NumericTextBox } from '@syncfusion/ej2-inputs';import { DatePicker, ChangedEventArgs } from '@syncfusion/ej2-calendars';import { Button, RadioButton } from '@syncfusion/ej2-buttons';import { EventHandler, MouseEventArgs, classList } from '@syncfusion/ej2-base';import { EJ2Instance } from '../schedule/base/interface';import { RecRule, extractObjectFromRule, generate, generateSummary, getRecurrenceStringFromDate, getCalendarUtil } from './date-generator';import { CalendarUtil, CalendarType } from '../common/calendar-util';import { capitalizeFirstWord } from '../schedule/base/util';
import {RepeatType,EndType,RecurrenceEditorChangeEventArgs} from "./recurrence-editor";
import {ComponentModel} from '@syncfusion/ej2-base';
/**
* Interface for a class RecurrenceEditor
*/
export interface RecurrenceEditorModel extends ComponentModel{
/**
* Sets the recurrence pattern on the editor.
*
* @default ['none', 'daily', 'weekly', 'monthly', 'yearly']
*/
frequencies?: RepeatType[];
/**
* Sets the type of recurrence end for the recurrence pattern on the editor.
*
* @default ['never', 'until', 'count']
*/
endTypes?: EndType[];
/**
* Sets the first day of the week.
*
* @default 0
*/
firstDayOfWeek?: number;
/**
* Sets the start date on recurrence editor.
*
* @default new Date()
* @aspDefaultValue DateTime.Now
*/
startDate?: Date;
/**
* Sets the user specific date format on recurrence editor.
*
* @default null
*/
dateFormat?: string;
/**
* Sets the specific calendar type to be applied on recurrence editor.
*
* @default 'Gregorian'
*/
calendarMode?: CalendarType;
/**
* Allows styling with custom class names.
*
* @default null
*/
cssClass?: string;
/**
* Sets the recurrence rule as its output values.
*
* @default null
*/
value?: string;
/**
* Sets the minimum date on recurrence editor.
*
* @default new Date(1900, 0, 1)
* @aspDefaultValue new DateTime(1900, 1, 1)
*/
minDate?: Date;
/**
* Sets the maximum date on recurrence editor.
*
* @default new Date(2099, 11, 31)
* @aspDefaultValue new DateTime(2099, 12, 31)
*/
maxDate?: Date;
/**
* Sets the current repeat type to be set on the recurrence editor.
*
* @default 0
* @aspType int
*/
selectedType?: number;
/**
* Triggers for value changes on every sub-controls rendered within the recurrence editor.
*
* @event 'change'
*/
change?: EmitType<RecurrenceEditorChangeEventArgs>;
/**
* Triggers when the component is created.
*
* @event 'created'
*/
created?: EmitType<Object>;
/**
* Triggers when the component is destroyed.
*
* @event 'destroyed'
*/
destroyed?: EmitType<Object>;
}