mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
Added partial definition for React-Big-Scheduler (#35095)
* Added partial definition for React-Big-Scheduler * Removed invalid package.json file * Updated TS version to match React dependency * Fixed errors from test
This commit is contained in:
parent
82a98ba6a6
commit
65c223ac80
153
types/react-big-scheduler/index.d.ts
vendored
Normal file
153
types/react-big-scheduler/index.d.ts
vendored
Normal file
@ -0,0 +1,153 @@
|
||||
// Type definitions for react-big-scheduler 0.2
|
||||
// Project: https://github.com/StephenChou1017/react-big-scheduler
|
||||
// Definitions by: Trent Jones <https://github.com/FizzBuzz791>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.8
|
||||
|
||||
import * as React from "react";
|
||||
import * as moment from "moment";
|
||||
|
||||
export class Scheduler extends React.Component<SchedulerProps, any> { }
|
||||
|
||||
export interface SchedulerProps {
|
||||
schedulerData: SchedulerData;
|
||||
prevClick(schedulerData: SchedulerData): void;
|
||||
nextClick(schedulerData: SchedulerData): void;
|
||||
onSelectDate(schedulerData: SchedulerData, date: string): void;
|
||||
onViewChange(schedulerData: SchedulerData, view: View): void;
|
||||
}
|
||||
|
||||
export class SchedulerData {
|
||||
localeMoment(date: string): moment.Moment;
|
||||
cellUnit: CellUnits;
|
||||
viewType: ViewTypes;
|
||||
startDate: string;
|
||||
|
||||
constructor(
|
||||
date?: string,
|
||||
viewType?: ViewTypes,
|
||||
showAgenda?: boolean,
|
||||
isEventPerspective?: boolean,
|
||||
newConfig?: SchedulerDataConfig,
|
||||
newBehaviours?: object,
|
||||
localeMoment?: typeof moment
|
||||
);
|
||||
|
||||
setResources(resources: Resource[]): void;
|
||||
setEvents(events: Event[]): void;
|
||||
prev(): void;
|
||||
next(): void;
|
||||
setViewType(
|
||||
viewType?: ViewTypes,
|
||||
showAgenda?: boolean,
|
||||
isEventPerspective?: boolean
|
||||
): void;
|
||||
setDate(date?: string): void;
|
||||
}
|
||||
|
||||
export enum CellUnits {
|
||||
Day,
|
||||
Hour
|
||||
}
|
||||
|
||||
export enum ViewTypes {
|
||||
Day,
|
||||
Week,
|
||||
Month,
|
||||
Quarter,
|
||||
Year,
|
||||
Custom,
|
||||
Custom1,
|
||||
Custom2
|
||||
}
|
||||
|
||||
export interface View {
|
||||
viewName?: string;
|
||||
viewType: ViewTypes;
|
||||
showAgenda: boolean;
|
||||
isEventPerspective: boolean;
|
||||
}
|
||||
|
||||
export interface Event {
|
||||
id: number;
|
||||
start: string;
|
||||
end: string;
|
||||
resourceId: string;
|
||||
title: string;
|
||||
bgColor?: string;
|
||||
rrule?: string;
|
||||
}
|
||||
|
||||
export interface Resource {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface SchedulerDataConfig {
|
||||
schedulerWidth?: number | string;
|
||||
schedulerMaxHeight?: number;
|
||||
tableHeaderHeight?: number;
|
||||
agendaResourceTableWidth?: number;
|
||||
agendaMaxEventWidth?: number;
|
||||
dayResourceTableWidth?: number;
|
||||
weekResourceTableWidth?: number;
|
||||
monthResourceTableWidth?: number;
|
||||
yearResourceTableWidth?: number;
|
||||
quarterResourceTableWidth?: number;
|
||||
dayCellWidth?: number;
|
||||
weekCellWidth?: number;
|
||||
monthCellWidth?: number;
|
||||
yearCellWidth?: number;
|
||||
quarterCellWidth?: number;
|
||||
dayMaxEvents?: number;
|
||||
weekMaxEvents?: number;
|
||||
monthMaxEvents?: number;
|
||||
yearMaxEvents?: number;
|
||||
quarterMaxEvents?: number;
|
||||
eventItemHeight?: number;
|
||||
eventItemLineHeight?: number;
|
||||
nonAgendaSlotMinHeight?: number;
|
||||
dayStartFrom?: number;
|
||||
dayStopTo?: number;
|
||||
defaultEventBgColor?: string;
|
||||
selectedAreaColor?: string;
|
||||
nonWorkingTimeHeadColor?: string;
|
||||
nonWorkingTimeHeadBgColor?: string;
|
||||
nonWorkingTimeBodyBgColor?: string;
|
||||
summaryColor?: string;
|
||||
summaryPos?: SummaryPos;
|
||||
startResizable?: boolean;
|
||||
endResizable?: boolean;
|
||||
movable?: boolean;
|
||||
creatable?: boolean;
|
||||
crossResourceMove?: boolean;
|
||||
checkConflict?: boolean;
|
||||
scrollToSpecialMomentEnabled?: boolean;
|
||||
eventItemPopoverEnabled?: boolean;
|
||||
calendarPopoverEnabled?: boolean;
|
||||
recurringEventsEnabled?: boolean;
|
||||
headerEnabled?: boolean;
|
||||
displayWeekend?: boolean;
|
||||
relativeMove?: boolean;
|
||||
minuteStep?: number;
|
||||
views?: View[];
|
||||
resourceName?: string;
|
||||
}
|
||||
|
||||
export enum SummaryPos {
|
||||
Top,
|
||||
TopRight,
|
||||
TopLeft,
|
||||
Bottom,
|
||||
BottomRight,
|
||||
BottomLeft
|
||||
}
|
||||
|
||||
export interface SchedulerDataBehaviors {
|
||||
isNonWorkingTimeFunc?(schedulerData: SchedulerData, time: string): boolean;
|
||||
getCustomDateFunc?(
|
||||
schedulerData: SchedulerData,
|
||||
num: number,
|
||||
date?: string
|
||||
): { startDate: string; endDate: string; cellUnit: CellUnits };
|
||||
}
|
||||
6
types/react-big-scheduler/package.json
Normal file
6
types/react-big-scheduler/package.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"moment": "^2.18.1"
|
||||
}
|
||||
}
|
||||
5
types/react-big-scheduler/react-big-scheduler-tests.ts
Normal file
5
types/react-big-scheduler/react-big-scheduler-tests.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { SchedulerData } from 'react-big-scheduler';
|
||||
|
||||
const sd = new SchedulerData();
|
||||
|
||||
sd.next(); // #ExpectType void
|
||||
23
types/react-big-scheduler/tsconfig.json
Normal file
23
types/react-big-scheduler/tsconfig.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"react-big-scheduler-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/react-big-scheduler/tslint.json
Normal file
1
types/react-big-scheduler/tslint.json
Normal file
@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Loading…
Reference in New Issue
Block a user