UNPKG

@progress/kendo-angular-gantt

Version:
83 lines (82 loc) 3.34 kB
/**----------------------------------------------------------------------------------------- * 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>; }