1.0.1 • Published 4 years ago

tsdev-react-scheduler v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
4 years ago

tsdev-react-scheduler

example-pic

Abstract:

Here you will find a ReactJS component with which you can display and organize your appointments in a web project. You can easily transfer an array of events to the component and the events are visualized. How you can do this is explained below.

Documented Version:

v1.0.0

Features:

  • Design based on Material-UI
  • Four date modes (day, week, month, year)
  • Togglable header elements
  • More than 70 properties help you with an individual design
  • Functions as properties help with the further use of the data
  • There is also an opportunity to display the events as read-only
  • There is a dialog for configuring/exploring the event
  • Event dialog contains a color picker
  • Long lasting events can be marked
  • No required properties - you can start right away
  • Labels are configurable, which helps with translation
  • ...

Installation

npm install --save tsdev-react-scheduler

Import & Usage

import {
    Scheduler
} from 'tsdev-react-scheduler';

...

<Scheduler />

CSS

./node_modules/tsdev-react-scheduler/dist/index.css

Storybook

./storybook-static/index.html

Properties

PropertyTypeRequiredDefaultInfo
contentHeightnumberfalse307
dayNameSunstringfalseSunday
dayNameMonstringfalseMonday
dayNameTuestringfalseTuesday
dayNameWedstringfalseWednesday
dayNameThustringfalseThursday
dayNameFristringfalseFriday
dayNameSatstringfalseSaturday
eventsarrayfalseDefault Demo Events
eventDialogTitleCreatestringfalseCreate Event
eventDialogTitleUpdatestringfalseUpdate Event
headerDateFormatstringfalseYYYY-MM-DD
headerTitlestringfalseTsdev React Scheduler
idstringfalseTsdevReactScheduler
labelDialogBtnCancelstringfalseCancel
labelDialogBtnCreatestringfalseCreate
labelDialogBtnDeletestringfalseDelete
labelDialogBtnUpdatestringfalseUpdate
labelHeaderBtnDaystringfalseDay
labelHeaderBtnMonthstringfalseMonth
labelHeaderBtnTodaystringfalseToday
labelHeaderBtnWeekstringfalseWeek
labelHeaderBtnYearstringfalseYear
labelDialogColorstringfalseColor
labelDialogDescriptionstringfalseDescription
labelDialogEndstringfalseEnd
labelDialogLongLastingstringfalseLong Lasting
labelDialogTitlestringfalseTitle
labelDialogUntilstringfalseUntil
labelDialogUntilDailystringfalseMark as daily event
labelDialogUntilWeeklystringfalseMark as weekly event
labelDialogUntilMonthlystringfalseMark as monthly event
labelDialogUntilYearlystringfalseMark as yearly event
monthNameJanstringfalseJanuary
monthNameFebstringfalseFebruary
monthNameMarstringfalseMarch
monthNameAprstringfalseApril
monthNameMaystringfalseMay
monthNameJunstringfalseJune
monthNameJulstringfalseJuly
monthNameAugstringfalseAugust
monthNameSepstringfalseSeptember
monthNameOctstringfalseOctober
monthNameNovstringfalseNovemver
monthNameDecstringfalseDecember
noDataTextstringfalseNo data
onClickBtnDayfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForDay (array)
onClickBtnMonthfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForMonth (array)
onClickBtnNextfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number)
onClickBtnPrevfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number)
onClickBtnWeekfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForWeek (array), week (number)
onClickBtnYearfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForYear (array), week (number)
onCloseEventDialogfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number)
onCreateEventfunctionfalsenoopfirst argument is an object with keys: newEvent (object)
onDeleteEventfunctionfalsenoopfirst argument is an object with keys: deletedEvent (object), filtred events (array)
onOpenEventDialogfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number)
onUpdateEventfunctionfalsenoopfirst argument is an object with keys: updatedEvent (object)
readOnlybooleanfalsefalse
selectedYearnumberfalseCurrent year
selectedMonthnumberfalseCurrent month
selectedDaynumberfalseCurrent day
showHeaderbooleanfalsetrue
showHeaderActionbooleanfalsetrue
showHeaderBtnGroupDaybooleanfalsetrue
showHeaderBtnGroupWeekbooleanfalsetrue
showHeaderBtnGroupMonthbooleanfalsetrue
showHeaderBtnGroupYearbooleanfalsetrue
showHeaderDatebooleanfalsetrue
showHeaderLongLastingbooleanfalsetrue
showHeaderNavigationbooleanfalsetrue
showHeaderTitlebooleanfalsetrue
showNoDataAlertbooleanfalsetrue
subClassstringfalse''
tooltipHeaderBtnNextstringfalseNext
tooltipHeaderBtnPrevstringfalsePrevious

Events:

The events are processed as an array of individual event items. An event item consists of several properties.

Event Item:

PropertyTypeRequired
colorstringyes
descriptionstringyes
idstringyes
endYearnumberyes
endMonthnumberyes
endDaynumberyes
endHournumberyes
endMinutenumberyes
isLongLastingDayItembooleanyes
isLongLastingWeekItembooleanyes
isLongLastingMonthItembooleanyes
isLongLastingYearItembooleanyes
startYearnumberyes
startMonthnumberyes
startDaynumberyes
startHournumberyes
startMinutenumberyes
untilYearnumberyes
untilMonthnumberyes
untilDaynumberyes

Example:

import {
    Scheduler
} from 'tsdev-react-scheduler';

// ...

const myEvents = [];
const mySpecialEvent = {
    title: 'This is my title',
    description: 'This is only a demo description',
    color: '#64b5f6',
    startYear: 2020,
    startMonth: 8,
    startDay: 1,
    startHour: 3,
    startMinute: 45,
    endYear: 2020,
    endMonth: 8,
    endDay: 1,
    endHour: 4,
    endMinute: 45,
    untilYear: 2021,
    untilMonth: 8,
    untilDay: 1,
    isLongLastingDayItem: true,
    isLongLastingWeekItem: false,
    isLongLastingMonthItem: false,
    isLongLastingYearItem: true,
};

myEvents.push(mySpecialEvent);

// ...

<Scheduler events={myEvents}/>