From b7e92198bb4e75b1ca4d8df87dc61445ed4953a3 Mon Sep 17 00:00:00 2001 From: Rajab Shakirov Date: Thu, 5 May 2016 19:25:01 +0300 Subject: [PATCH] Added type definitions for react-calendar-timeline (#9158) * Added type definitions for react-calendar-timeline * fix not implicit any in react-calendar-timeline.d.ts * add reference to react * add react-calendar-timeline-tests.tsx --- .../react-calendar-timeline-tests.tsx | 33 +++++++++ .../react-calendar-timeline.d.ts | 68 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 react-calendar-timeline/react-calendar-timeline-tests.tsx create mode 100644 react-calendar-timeline/react-calendar-timeline.d.ts diff --git a/react-calendar-timeline/react-calendar-timeline-tests.tsx b/react-calendar-timeline/react-calendar-timeline-tests.tsx new file mode 100644 index 0000000000..ab477ec6e7 --- /dev/null +++ b/react-calendar-timeline/react-calendar-timeline-tests.tsx @@ -0,0 +1,33 @@ +/// +/// +/// + +import * as React from "react"; +import * as moment from 'moment'; +import * as Timeline from 'react-calendar-timeline'; + +const groups = [ + {id: 1, title: 'group 1'}, + {id: 2, title: 'group 2'} +] + +const items = [ + {id: 1, group: 1, title: 'item 1', start_time: moment(), end_time: moment().add(1, 'hour')}, + {id: 2, group: 2, title: 'item 2', start_time: moment().add(-0.5, 'hour'), end_time: moment().add(0.5, 'hour')}, + {id: 3, group: 1, title: 'item 3', start_time: moment().add(2, 'hour'), end_time: moment().add(3, 'hour')} +] + +class ReactCalendarTimeline extends React.Component<{}, {}> { + render(){ + return( +
+ Rendered by react! + +
+ ); + } +}; \ No newline at end of file diff --git a/react-calendar-timeline/react-calendar-timeline.d.ts b/react-calendar-timeline/react-calendar-timeline.d.ts new file mode 100644 index 0000000000..c44b70a59d --- /dev/null +++ b/react-calendar-timeline/react-calendar-timeline.d.ts @@ -0,0 +1,68 @@ +// Type definitions for react-calendar-timeline v0.7.9 +// Project: https://github.com/namespace-ee/react-calendar-timeline +// Definitions by: Rajab Shakirov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare module "react-calendar-timeline" { + interface ReactCalendarTimeline { + groups?:any; + items?:{ + id: number; + group: number; + title?: string; + 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?: any; + visibleTimeEnd?: any; + onTimeChange?(visibleTimeStart:any, visibleTimeEnd:any): any; + onTimeInit?(visibleTimeStart:any, visibleTimeEnd:any): any; + onBoundsChange?(canvasTimeStart:any, canvasTimeEnd:any): any; + children?: any; + } + + let ReactCalendarTimeline: __React.ClassicComponentClass; + export = ReactCalendarTimeline; +}