@progress/kendo-angular-gantt
Version:
Kendo UI Angular Gantt
83 lines (82 loc) • 3.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 { DateFormatOptions, IntlService } from '@progress/kendo-angular-intl';
import { MappingService } from '../common/mapping.service';
import { TimelineOptions } from '../models/timeline-options.interface';
import { DateRange } from '../models/date-range.interface';
import { Slot } from '../models/slot.interface';
/**
* @hidden
*/
export declare const DAY_FORMAT = "E d/MM";
/**
* @hidden
*/
export declare const HOUR_FORMAT = "HH:mm aa";
/**
* @hidden
*/
export declare const MONTH_FORMAT = "MMM";
/**
* @hidden
*/
export declare const YEAR_FORMAT = "yyyy";
/**
* @hidden
*/
export declare abstract class TimelineBaseViewService {
protected intlService: IntlService;
protected mapper: MappingService;
options: TimelineOptions;
private _viewStart;
constructor(intlService: IntlService, mapper: MappingService);
get viewStart(): number;
/**
*
* @param tasks - The tasks which are going to be rendered in the table
* @returns {number}
*/
abstract getSlots(tasks: any[]): Array<Slot[]>;
/**
*
* @param tasks - The tasks which are going to be rendered in the table
* @returns {Array<Object>} - A collection containing the day and hours slots
* Used to render the number of columns and the header
*/
abstract getTableWidth(tasks: any[]): number;
/**
* Gets the date which will be used for the first slot.
* The first slot should not be the range start - it might not leave space for dependency connections drawn on the left.
*/
abstract getStartOffset(rangeStart: Date): Date;
/**
* Gets the date which will be used for the last slot.
* The last slot should not be the range end - it might not leave space for dependency connections drawn on the right.
*/
abstract getEndOffset(rangeEnd: Date): Date;
/**
*
* @param tasks - The tasks which are going to be rendered in the table
* @returns {Object} - An object containing the range start and end dates
*/
protected getRange(tasks: any): DateRange;
/**
*
* @param start - The tasks' range start date
* @param end - The tasks' range end date
* @returns {Array<Object>} - A collection containing the hour slots
*/
protected getHours(start: any, end: any, customDateFormat?: string | DateFormatOptions): Array<Slot>;
/**
*
* @param start - The tasks' range start date
* @param end - The tasks' range end date
* @returns {Array<Object>} - A collection containing the day slots
*/
protected getDays(start: any, end: any, customDateFormat?: string | DateFormatOptions): Array<Slot>;
protected getWeeks(start: any, end: any, customDateFormat?: string | DateFormatOptions): Array<Slot>;
protected getMonths(start: any, end: any, isMainViewType?: boolean, customDateFormat?: string | DateFormatOptions): Array<Slot>;
protected getYears(start: any, end: any, customDateFormat?: any): Array<Slot>;
}