@progress/kendo-angular-scheduler
Version:
Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.
112 lines (111 loc) • 4.34 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IntlService } from '@progress/kendo-angular-intl';
import { Day } from '@progress/kendo-date-math';
import { RecurrenceService, Frequency } from './recurrence.service';
import { NumericTextBoxOptions } from '../../types/numeric-options.interface';
import { DatePickerOptions } from './../../types/datepicker-options.interface';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare const RECURRENCE_VALUE_ACCESSOR: any;
/**
* Represents the Kendo UI Recurrence Editor component for Angular. Use this component to let users set recurrence rules for Scheduler events.
*
* [This example](slug:custom_reactive_editing_scheduler) demonstrates the Recurrence Editor, among other components.
*
* @example
* ```html
* <kendo-scheduler
* [kendoSchedulerBinding]="events"
* [kendoSchedulerReactiveEditing]="createFormGroup"
* >
* <ng-template kendoSchedulerEditDialogTemplate let-formGroup="formGroup" let-event>
* <kendo-formfield>
* <kendo-recurrence-editor
* [start]="event.value.start"
* [formControl]="formGroup.get('recurrenceRule')"
* ></kendo-recurrence-editor>
* </kendo-formfield>
* </ng-template>
* </kendo-scheduler>
* ```
*/
export declare class RecurrenceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
private recurrenceService;
private intl;
cssClass: boolean;
/**
* Sets the start date for the event.
*/
set start(value: Date);
get start(): Date;
/**
* Sets the id of the timezone to use.
*
* @default 'Etc/UTC'
*/
timezone: string;
/**
* Sets the first day of the week. Uses the locale settings by default.
*/
weekStart: Day;
/**
* Sets the options for the **Repeat Every** NumericTextBox in the recurrence `interval` editor.
*/
repeatEveryOptions: NumericTextBoxOptions;
/**
* Sets the options for the **End After** NumericTextBox in the recurrence `count` rule editor.
*/
endAfterOptions: NumericTextBoxOptions;
/**
* Sets the options for the **Repeat On** NumericTextBox for choosing the day an event occurs in the monthly and yearly sections.
*/
repeatOnOptions: NumericTextBoxOptions;
/**
* Sets the options for the **End On** DatePicker in the recurrence `until` rule editor.
*/
endOnOptions: DatePickerOptions;
/**
* Fires when the value of the component changes.
*/
valueChange: EventEmitter<string>;
private _start;
private subscriptions;
constructor(recurrenceService: RecurrenceService, intl: IntlService);
/**
* @hidden
*/
get currentFreq(): Frequency;
/**
* @hidden
*/
ngOnInit(): void;
ngOnChanges(changes: any): void;
/**
* @hidden
*/
ngOnDestroy(): void;
/**
* @hidden
*/
writeValue(rrule: any): void;
protected onTouchedCallback: Function;
protected onChangeCallback: Function;
/**
* @hidden
*/
registerOnChange(fn: any): void;
/**
* @hidden
*/
registerOnTouched(fn: any): void;
private emitChange;
static ɵfac: i0.ɵɵFactoryDeclaration<RecurrenceEditorComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<RecurrenceEditorComponent, "kendo-recurrence-editor", ["kendoRecurrenceEditor"], { "start": { "alias": "start"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "repeatEveryOptions": { "alias": "repeatEveryOptions"; "required": false; }; "endAfterOptions": { "alias": "endAfterOptions"; "required": false; }; "repeatOnOptions": { "alias": "repeatOnOptions"; "required": false; }; "endOnOptions": { "alias": "endOnOptions"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}