@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.
68 lines (67 loc) • 2.7 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 { SlotDirective, ResourceGroup, SlotID } from '../view-items/types';
import { MonthViewItemComponent } from './month-view-item.component';
import { BaseSlotService } from '../view-items/base-slot.service';
/**
* @hidden
*/
export declare class SlotRange {
index: number;
get slots(): any[];
get items(): any[];
private slotMap;
private itemMap;
get start(): Date;
get end(): Date;
get hasSlots(): boolean;
get hasItems(): boolean;
get firstSlot(): any;
get lastSlot(): any;
get rect(): any;
constructor(index: number);
registerItem(component: MonthViewItemComponent): void;
unregisterItem(component: MonthViewItemComponent, index: number): void;
registerSlot(slot: any): void;
unregisterSlot(slot: any): void;
layout(eventHeight: number | 'auto', eventsPerDay: number | 'auto', adaptiveSlotHeight: boolean): void;
private renderAutoHeightEvents;
/**
* Extracted to a separate method to address SonarQube suggestion:
* "Refactor this code to not nest functions more than 4 levels deep"
*/
private calculateEventWidth;
}
/**
* @hidden
*/
export declare class MonthResourceGroup implements ResourceGroup {
readonly index: number;
dayRanges: SlotRange[];
constructor(index: number);
get hasSlots(): boolean;
registerSlot(slot: SlotDirective): void;
unregisterSlot(slot: SlotDirective): void;
registerItem(component: MonthViewItemComponent): void;
unregisterItem(component: MonthViewItemComponent, id: SlotID): void;
slotRange(slot: SlotDirective): SlotRange;
forEachRange(callback: (slot: SlotRange) => void): void;
cleanRanges(): void;
}
/**
* @hidden
*/
export declare class MonthSlotService extends BaseSlotService {
layout(eventHeight: number | 'auto', eventsPerDay: number | 'auto', adaptiveSlotHeight: boolean): void;
slotByIndex(slotIndex: string): any;
forEachSlot(callback: any): void;
forEachItem(callback: (e: MonthViewItemComponent) => void): void;
createGroup(index: number): MonthResourceGroup;
invalidate(): void;
slotByPosition(x: any, y: any): any;
dragRanges(currentSlot: any, offset: any): any;
groupSlotByPosition(currentSlot: any, x: any, y: any): any;
resizeRanges(currentSlot: any, task: any, resizeStart: boolean, offset: any): any;
}