2.0.5 • Published 2 years ago

@hightype/react-scheduler v2.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

React Scheduler Component

npm package Twitter URL

Information

A fork of https://github.com/aldabil21/react-scheduler. Please note that this fork may not work. Not a web developer so having a nightmare of a time getting this thing running.

Changes

  • Can now customize what happens when clicking on a cell

Installation

npm i git+https://github.com/RLangridge/react-scheduler.git

Usage

import { Scheduler } from "@hightype/react-scheduler";

Example

<Scheduler
  view="month"
  events={[
    {
      event_id: 1,
      title: "Event 1",
      start: new Date("2021 5 2 09:30"),
      end: new Date("2021 5 2 10:30"),
    },
    {
      event_id: 2,
      title: "Event 2",
      start: new Date("2021 5 4 10:00"),
      end: new Date("2021 5 4 11:00"),
    },
  ]}
/>

Options

OptionValue
heightnumber. Min height of table. Default: 600
viewstring. Initial view to load. options: "week", "month", "day". Default: "week" (if it's not null)
monthObject. Month view props. default: {weekDays: 0, 1, 2, 3, 4, 5, weekStartOn: 6, startHour: 9, endHour: 17,}
weekObject. Month view props. default: { weekDays: 0, 1, 2, 3, 4, 5, weekStartOn: 6, startHour: 9, endHour: 17,step: 60 }
dayObject. Month view props. default: {startHour: 9, endHour: 17, step: 60 }
selectedDateDate. Initial selected date. Default: new Date()
eventsArray of Objects. Default: []
remoteEventsFunction(query: string). Return promise of array of events. Used for remote data
fieldsArray of extra fields with configurations. Example: { name: "description", type: "input" , config: { label: "Description", required: true, min: 3, email: true, variant: "outlined", ....}
loadingboolean. Loading state of the calendar table
onConfirmFunction(event, action). Return promise with the new added/edited event use with remote data. action: "add", "edit"
onDeleteFunction(id) Return promise with the deleted event id to use with remote data.
customEditorFunction(scheduler). Override editor modal. Provided prop scheduler object with helper props: {state: state obj, close(): voidloading(status: boolean): voidedited?: ProcessedEventonConfirm(event: ProcessedEvent, action:EventActions): void}
viewerExtraComponentFunction(fields, event) OR Component. Additional component in event viewer popper
resourcesArray. Resources array to split event views with resources Example {assignee: 1,text: "User One", subtext: "Sales Manager", avatar: "https://picsum.photos/200/300", color: "#ab2d2d", }
resourceFieldsObject. Map the resources correct fields. Example: { idField: "admin_id", textField: "title", subTextField: "mobile", avatarField: "title", colorField: "background", }
recourseHeaderComponentFunction(resource). Override header component of resource
resourceViewModeDisplay resources mode. Options: "default", "tabs"
directionstring. Table direction. "rtl", "ltr"
dialogMaxWidthEdito dialog maxWith. Ex: "lg", "md", "sm"... Default:"md"
localeLocale of date-fns. Default:enUS
onEventDropFunction(droppedOn: Date, updatedEvent: ProcessedEvent, originalEvent: ProcessedEvent). Return a promise, used to update remote data of the dropped event. Return an event to update state internally, or void if event state is managed within component

Demos

Todos

  • Tests
  • Drag&Drop - partially
  • Resizable
  • Recurring events
  • Localization