mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 14:57:10 +00:00
Merge pull request #25631 from acemac/master
Updated react-calendar-timeline type definitions to 0.15.12
This commit is contained in:
+122
-62
@@ -1,71 +1,131 @@
|
||||
// Type definitions for react-calendar-timeline v0.8.1
|
||||
// Type definitions for react-calendar-timeline v0.16.3
|
||||
// Project: https://github.com/namespace-ee/react-calendar-timeline
|
||||
// Definitions by: Rajab Shakirov <https://github.com/radziksh>
|
||||
// Alex Maclean <https://github.com/acemac>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.6
|
||||
|
||||
/// <reference types="react"/>
|
||||
|
||||
declare module "react-calendar-timeline" {
|
||||
interface ReactCalendarTimeline {
|
||||
groups: {
|
||||
id: number;
|
||||
title: any; // string | Element (React.ClassicComponentClass<any>);
|
||||
}[];
|
||||
items:{
|
||||
id: number;
|
||||
group: number;
|
||||
title?: any; // string | Element (React.ClassicComponentClass<any>);
|
||||
start_time: any;
|
||||
end_time: any;
|
||||
canMove?: boolean;
|
||||
canResize?: boolean;
|
||||
canChangeGroup?: boolean;
|
||||
className?: string;
|
||||
}[];
|
||||
keys?:{
|
||||
groupIdKey: string;
|
||||
groupTitleKey: string;
|
||||
itemIdKey: string;
|
||||
itemTitleKey: string;
|
||||
itemGroupKey: string;
|
||||
itemTimeStartKey: string;
|
||||
itemTimeEndKey: string;
|
||||
};
|
||||
sidebarWidth?: number;
|
||||
dragSnap?: number;
|
||||
minResizeWidth?: number;
|
||||
fixedHeader?: "fixed" | "none";
|
||||
zIndexStart?: number;
|
||||
lineHeight?: number;
|
||||
headerLabelGroupHeight?: number;
|
||||
headerLabelHeight?: number;
|
||||
itemHeightRatio?: number;
|
||||
minZoom?: number;
|
||||
maxZoom?: number;
|
||||
canMove?: boolean;
|
||||
canChangeGroup?: boolean;
|
||||
canResize?: boolean;
|
||||
useResizeHandle?: boolean;
|
||||
stackItems?: boolean;
|
||||
traditionalZoom?: boolean;
|
||||
itemTouchSendsClick?: boolean;
|
||||
onItemMove?(itemId:any, dragTime:any, newGroupOrder:any): any;
|
||||
onItemResize?(itemId:any, newResizeEnd:any): any;
|
||||
onItemSelect?(itemId:any): any;
|
||||
onItemClick?(itemId:any): any;
|
||||
onCanvasClick?(groupId:any, time:any, e:any): any;
|
||||
onItemDoubleClick?(itemId:any): any;
|
||||
moveResizeValidator?(action:any, itemId:any, time:any): any;
|
||||
defaultTimeStart?: any;
|
||||
defaultTimeEnd?: any;
|
||||
visibleTimeStart?: number;
|
||||
visibleTimeEnd?: number;
|
||||
onTimeChange?(visibleTimeStart:any, visibleTimeEnd:any): any;
|
||||
onTimeInit?(visibleTimeStart:any, visibleTimeEnd:any): any;
|
||||
onBoundsChange?(canvasTimeStart:any, canvasTimeEnd:any): any;
|
||||
children?: any;
|
||||
}
|
||||
let ReactCalendarTimeline : React.ClassicComponentClass<ReactCalendarTimeline>;
|
||||
export default ReactCalendarTimeline;
|
||||
|
||||
export interface TimelineGroup {
|
||||
id: number;
|
||||
title: React.ReactNode;
|
||||
rightTitle?: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface TimelineItem {
|
||||
id: number;
|
||||
group: number;
|
||||
title?: React.ReactNode;
|
||||
start_time: any;
|
||||
end_time: any;
|
||||
canMove?: boolean;
|
||||
canResize?: boolean | "left" | "right" | "both";
|
||||
canChangeGroup?: boolean;
|
||||
className?: string;
|
||||
itemProps?: {};
|
||||
}
|
||||
|
||||
export interface TimelineContext {
|
||||
visibletimeStart: number,
|
||||
visibleTimeEnd: number,
|
||||
timelineWidth: number
|
||||
}
|
||||
|
||||
export interface TimelineTimeSteps {
|
||||
second: number,
|
||||
minute: number,
|
||||
hour: number,
|
||||
day: number,
|
||||
month: number,
|
||||
year: number
|
||||
}
|
||||
|
||||
export interface TimelineHeaderLabelFormat {
|
||||
yearShort: string,
|
||||
yearLong: string,
|
||||
monthShort: string,
|
||||
monthMedium: string,
|
||||
monthMediumLong: string,
|
||||
monthLong: string,
|
||||
dayShort: string,
|
||||
dayLong: string,
|
||||
hourShort: string,
|
||||
hourMedium: string,
|
||||
hourMediumLong: string,
|
||||
hourLong: string,
|
||||
time: string
|
||||
}
|
||||
|
||||
export interface ReactCalendarTimelineProps {
|
||||
groups: TimelineGroup[];
|
||||
items: TimelineItem[];
|
||||
keys?:{
|
||||
groupIdKey: string;
|
||||
groupTitleKey: string;
|
||||
itemIdKey: string;
|
||||
itemTitleKey: string;
|
||||
itemGroupKey: string;
|
||||
itemTimeStartKey: string;
|
||||
itemTimeEndKey: string;
|
||||
};
|
||||
defaultTimeStart?: any;
|
||||
defaultTimeEnd?: any;
|
||||
visibleTimeStart?: any;
|
||||
visibleTimeEnd?: any;
|
||||
selected?: number[];
|
||||
sidebarWidth?: number;
|
||||
sidebarContent?: React.ReactNode;
|
||||
rightSidebarWidth?: number;
|
||||
rightSidebarContent?: React.ReactNode;
|
||||
dragSnap?: number;
|
||||
minResizeWidth?: number;
|
||||
stickyOffset?: number;
|
||||
stickyHeader?: boolean;
|
||||
headerRef?: any;
|
||||
lineHeight?: number;
|
||||
headerLabelGroupHeight?: number;
|
||||
headerLabelHeight?: number;
|
||||
itemHeightRatio?: number;
|
||||
minZoom?: number;
|
||||
maxZoom?: number;
|
||||
clickTolerance?: number;
|
||||
canMove?: boolean;
|
||||
canChangeGroup?: boolean;
|
||||
canResize?: boolean | "left" | "right" | "both";
|
||||
useResizeHandle?: boolean;
|
||||
showCursorLine?: boolean;
|
||||
stackItems?: boolean;
|
||||
traditionalZoom?: boolean;
|
||||
itemTouchSendsClick?: boolean;
|
||||
timeSteps?: TimelineTimeSteps,
|
||||
onItemMove?(itemId: number, dragTime: number, newGroupOrder: number): any;
|
||||
onItemResize?(itemId: number, newResizeEnd: number, edge: "left" | "right"): any;
|
||||
onItemSelect?(itemId: number, e: any, time: number): any;
|
||||
onItemClick?(itemId: number, e: any, time: number): any;
|
||||
onItemDoubleClick?(itemId: number, e: any, time: number): any;
|
||||
onCanvasClick?(groupId:number, time:number, e:any): any;
|
||||
onCanvasDoubleClick?(group: TimelineGroup, time: number, e: any): any;
|
||||
onCanvasContextMenu?(group: TimelineGroup, time: number, e: any): any;
|
||||
onZoom?(timelineContext: TimelineContext): any;
|
||||
moveResizeValidator?(action:"move" | "resize", itemId: number, time: number, resizeEdge: "left" | "right"): any;
|
||||
headerLabelFormats?: TimelineHeaderLabelFormat,
|
||||
subHeaderLabelFormats?: TimelineHeaderLabelFormat,
|
||||
onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any;
|
||||
onTimeInit?(canvasTimeStart: number, canvasTimeEnd: number): any;
|
||||
onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any;
|
||||
itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>;
|
||||
groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>;
|
||||
minimumWidthForItemContentVisibility?: number;
|
||||
children?: any;
|
||||
}
|
||||
|
||||
export const defaultHeaderLabelFormats: TimelineHeaderLabelFormat;
|
||||
export const defaultSubHeaderLabelFormats: TimelineHeaderLabelFormat;
|
||||
|
||||
let ReactCalendarTimeline : React.ClassicComponentClass<ReactCalendarTimelineProps>;
|
||||
export default ReactCalendarTimeline;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user