1.0.15 • Published 4 years ago

ts-react-scheduler v1.0.15

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

ts-react-scheduler

example-pic

Look and Feel

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.

Features:

  • Design based on Material-UI
  • Four date modes (day, week, month, year)
  • Togglable header elements
  • More than 70 properties to help you with an individual design
  • Functions as properties to help with the further use of the data
  • There is also an opportunity to display events as read-only
  • There is a dialog for configuring / exploring current 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
  • TypeScript implementation
  • ...

Installation

npm install --save ts-react-scheduler

Usage

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

...

<Scheduler />

CSS

./node_modules/ts-react-scheduler/dist/index.css;

Properties

PropertyTypeRequiredDefaultInfo
contentHeightnumberfalse300
dayNameSunstringfalseSundaycan be used for translation
dayNameMonstringfalseMondaycan be used for translation
dayNameTuestringfalseTuesdaycan be used for translation
dayNameWedstringfalseWednesdaycan be used for translation
dayNameThustringfalseThursdaycan be used for translation
dayNameFristringfalseFridaycan be used for translation
dayNameSatstringfalseSaturdaycan be used for translation
eventsarrayfalseDefault Demo Events
eventDialogTitleCreatestringfalseCreate Eventcan be used for translation
eventDialogTitleUpdatestringfalseUpdate Eventcan be used for translation
headerDateFormatstringfalseYYYY-MM-DD
headerTitlestringfalseTsdev React Schedulercan be used for translation
idstringfalseTsdevReactScheduler
labelDialogBtnCancelstringfalseCancelcan be used for translation
labelDialogBtnCreatestringfalseCreatecan be used for translation
labelDialogBtnDeletestringfalseDeletecan be used for translation
labelDialogBtnUpdatestringfalseUpdatecan be used for translation
labelHeaderBtnDaystringfalseDaycan be used for translation
labelHeaderBtnMonthstringfalseMonthcan be used for translation
labelHeaderBtnTodaystringfalseTodaycan be used for translation
labelHeaderBtnWeekstringfalseWeekcan be used for translation
labelHeaderBtnYearstringfalseYearcan be used for translation
labelDialogColorstringfalseColorcan be used for translation
labelDialogDescriptionstringfalseDescriptioncan be used for translation
labelDialogEndstringfalseEndcan be used for translation
labelDialogLongLastingstringfalseLong Lastingcan be used for translation
labelDialogTitlestringfalseTitlecan be used for translation
labelDialogUntilstringfalseUntilcan be used for translation
labelDialogUntilDailystringfalseMark as daily eventcan be used for translation
labelDialogUntilWeeklystringfalseMark as weekly eventcan be used for translation
labelDialogUntilMonthlystringfalseMark as monthly eventcan be used for translation
labelDialogUntilYearlystringfalseMark as yearly eventcan be used for translation
monthNameJanstringfalseJanuarycan be used for translation
monthNameFebstringfalseFebruarycan be used for translation
monthNameMarstringfalseMarchcan be used for translation
monthNameAprstringfalseAprilcan be used for translation
monthNameMaystringfalseMaycan be used for translation
monthNameJunstringfalseJunecan be used for translation
monthNameJulstringfalseJulycan be used for translation
monthNameAugstringfalseAugustcan be used for translation
monthNameSepstringfalseSeptembercan be used for translation
monthNameOctstringfalseOctobercan be used for translation
monthNameNovstringfalseNovemvercan be used for translation
monthNameDecstringfalseDecembercan be used for translation
noDataTextstringfalseNo datacan be used for translation
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), allEvents (array)
onDeleteEventfunctionfalsenoopfirst argument is an object with keys: deletedEvent (object), filteredEvents (array)
onOpenEventDialogfunctionfalsenoopfirst argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number)
onUpdateEventfunctionfalsenoopfirst argument is an object with keys: updatedEvent (object), allEvents (array)
readOnlybooleanfalsefalse
selectedYearnumberfalseCurrent year
selectedMonthnumberfalseCurrent month
selectedDaynumberfalseCurrent day
showHeaderbooleanfalsetrue
showHeaderActionbooleanfalsetrue
showHeaderBtnGroupDaybooleanfalsetrue
showHeaderBtnGroupWeekbooleanfalsetrue
showHeaderBtnGroupMonthbooleanfalsetrue
showHeaderBtnGroupYearbooleanfalsetrue
showHeaderDatebooleanfalsetrue
showHeaderLongLastingbooleanfalsetrue
showHeaderNavigationbooleanfalsetrue
showHeaderTitlebooleanfalsetrue
showNoDataAlertbooleanfalsetrue
subClassstringfalse''
tooltipHeaderBtnNextstringfalseNextcan be used for translation
tooltipHeaderBtnPrevstringfalsePreviouscan be used for translation

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 'ts-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}/>

How to ...

Create a new event:

Make sure the property for readOnly is set to false. Click the header button for Day. Then you can double-click on a corresponding time slot for when you are planning the event. A dialog opens where you can make settings. If the event slot (besides the time slot) is still free, you can double click here as well.

Update an event:

Make sure the property for readOnly is set to false. Click the header button for Day. Then you can click on a corresponding event item. A dialog opens where you can make settings. It is also possible to click on a long scaled event in the header.