nessprim-planby-pro/dist/Epg/components/Layout.d.ts
2024-08-04 16:14:27 -06:00

88 lines
3.1 KiB
TypeScript

import React from "react";
import { Area, Grid as IGrid, HoursInDayDiffTime, Line as ILine, Mode, Overlap, ProgramOverlaps, DragAndDrop, Timezone, Snap, GridCell } from "../helpers/interfaces";
import { Timeline as ITimeline, CurrentTimeIndicator } from "../helpers/interfaces";
import { ProgramItem, ChannelWithPosition, DateTime, Position, BaseTimeFormat, DragMouseUp } from "../helpers/types";
interface LayoutProps {
isToday: boolean;
isVerticalMode?: boolean;
isRTL?: boolean;
isBaseTimeFormat?: BaseTimeFormat;
isSidebar?: boolean;
isTimeline?: boolean;
isLine?: boolean;
isCurrentTime?: boolean;
isResize?: boolean;
programs: ProgramItem[];
programOverlaps: ProgramOverlaps;
layerOverlapLevel: number;
channels: ChannelWithPosition[];
channelOverlapsCount: Record<string, number>;
startDate: DateTime;
endDate: DateTime;
hoursInDays: HoursInDayDiffTime[];
scrollY: number;
dayWidth: number;
hourWidth: number;
days: string[];
months: string[];
currentDate: string;
numberOfDays: number;
numberOfHoursInDay: number;
numberOfMonths: number;
monthWidth: number;
offsetStartHoursRange: number;
sidebarWidth: number;
timelineHeight: number;
itemHeight: number;
liveRefreshTime: number;
snap?: Snap;
mode: Mode;
dnd: DragAndDrop;
overlapMode: Overlap["mode"];
timelineDividers: number;
timezone: Timezone;
areas: Area[];
gridItems: {
position: Position;
channel: ChannelWithPosition;
}[];
grid: IGrid;
overlap: Overlap;
isProgramVisible: (position: Position, overlapsCount: number) => boolean;
isChannelVisible: (position: Pick<Position, "top" | "height">) => boolean;
isTimelineVisible: (position: Pick<Position, "left" | "width">) => boolean;
dragMouseUp: (position: DragMouseUp) => void;
resizeMouseUp: (data: any) => void;
openChannelGroupTree: (data: ChannelWithPosition) => void;
onScroll: (e: React.UIEvent<HTMLDivElement, UIEvent> & {
target: Element;
}) => void;
onLayoutBgClick?: () => void;
renderProgram?: (v: {
program: ProgramItem;
isRTL: boolean;
isVerticalMode: boolean;
isBaseTimeFormat: BaseTimeFormat;
startDate: DateTime;
liveRefreshTime: number;
dayWidth: number;
hourWidth: number;
itemHeight: number;
contentHeight: number;
snap?: Snap;
mode: Mode;
dnd: DragAndDrop;
dragMouseUp: (data: DragMouseUp) => void;
resizeMouseUp: (data: any) => void;
}) => React.ReactNode;
renderChannel?: (v: {
channel: ChannelWithPosition;
}) => React.ReactNode;
renderTimeline?: (v: ITimeline) => React.ReactNode;
renderLine?: (v: ILine) => React.ReactNode;
renderCurrentTime?: (v: CurrentTimeIndicator) => React.ReactElement;
renderGridCell?: (v: GridCell) => React.ReactElement;
}
export declare const Layout: React.ForwardRefExoticComponent<LayoutProps & React.RefAttributes<HTMLDivElement>>;
export {};