npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ts-react-scheduler

v1.0.15

Published

Scheduler component based on TypeScript and ReactJS

Downloads

5

Readme

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

| Property | Type | Required | Default | Info | | ----------------------- | -------- | -------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | contentHeight | number | false | 300 | | | dayNameSun | string | false | Sunday | can be used for translation | | dayNameMon | string | false | Monday | can be used for translation | | dayNameTue | string | false | Tuesday | can be used for translation | | dayNameWed | string | false | Wednesday | can be used for translation | | dayNameThu | string | false | Thursday | can be used for translation | | dayNameFri | string | false | Friday | can be used for translation | | dayNameSat | string | false | Saturday | can be used for translation | | events | array | false | Default Demo Events | | | eventDialogTitleCreate | string | false | Create Event | can be used for translation | | eventDialogTitleUpdate | string | false | Update Event | can be used for translation | | headerDateFormat | string | false | YYYY-MM-DD | | | headerTitle | string | false | Tsdev React Scheduler | can be used for translation | | id | string | false | TsdevReactScheduler | | | labelDialogBtnCancel | string | false | Cancel | can be used for translation | | labelDialogBtnCreate | string | false | Create | can be used for translation | | labelDialogBtnDelete | string | false | Delete | can be used for translation | | labelDialogBtnUpdate | string | false | Update | can be used for translation | | labelHeaderBtnDay | string | false | Day | can be used for translation | | labelHeaderBtnMonth | string | false | Month | can be used for translation | | labelHeaderBtnToday | string | false | Today | can be used for translation | | labelHeaderBtnWeek | string | false | Week | can be used for translation | | labelHeaderBtnYear | string | false | Year | can be used for translation | | labelDialogColor | string | false | Color | can be used for translation | | labelDialogDescription | string | false | Description | can be used for translation | | labelDialogEnd | string | false | End | can be used for translation | | labelDialogLongLasting | string | false | Long Lasting | can be used for translation | | labelDialogTitle | string | false | Title | can be used for translation | | labelDialogUntil | string | false | Until | can be used for translation | | labelDialogUntilDaily | string | false | Mark as daily event | can be used for translation | | labelDialogUntilWeekly | string | false | Mark as weekly event | can be used for translation | | labelDialogUntilMonthly | string | false | Mark as monthly event | can be used for translation | | labelDialogUntilYearly | string | false | Mark as yearly event | can be used for translation | | monthNameJan | string | false | January | can be used for translation | | monthNameFeb | string | false | February | can be used for translation | | monthNameMar | string | false | March | can be used for translation | | monthNameApr | string | false | April | can be used for translation | | monthNameMay | string | false | May | can be used for translation | | monthNameJun | string | false | June | can be used for translation | | monthNameJul | string | false | July | can be used for translation | | monthNameAug | string | false | August | can be used for translation | | monthNameSep | string | false | September | can be used for translation | | monthNameOct | string | false | October | can be used for translation | | monthNameNov | string | false | Novemver | can be used for translation | | monthNameDec | string | false | December | can be used for translation | | noDataText | string | false | No data | can be used for translation | | onClickBtnDay | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForDay (array) | | onClickBtnMonth | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForMonth (array) | | onClickBtnNext | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number) | | onClickBtnPrev | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number) | | onClickBtnWeek | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForWeek (array), week (number) | | onClickBtnYear | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number), eventsForYear (array), week (number) | | onCloseEventDialog | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number) | | onCreateEvent | function | false | noop | first argument is an object with keys: newEvent (object), allEvents (array) | | onDeleteEvent | function | false | noop | first argument is an object with keys: deletedEvent (object), filteredEvents (array) | | onOpenEventDialog | function | false | noop | first argument is an object with keys: selectedYear (number), selectedMonth (number), selectedDay (number) | | onUpdateEvent | function | false | noop | first argument is an object with keys: updatedEvent (object), allEvents (array) | | readOnly | boolean | false | false | | | selectedYear | number | false | Current year | | | selectedMonth | number | false | Current month | | | selectedDay | number | false | Current day | | | showHeader | boolean | false | true | | | showHeaderAction | boolean | false | true | | | showHeaderBtnGroupDay | boolean | false | true | | | showHeaderBtnGroupWeek | boolean | false | true | | | showHeaderBtnGroupMonth | boolean | false | true | | | showHeaderBtnGroupYear | boolean | false | true | | | showHeaderDate | boolean | false | true | | | showHeaderLongLasting | boolean | false | true | | | showHeaderNavigation | boolean | false | true | | | showHeaderTitle | boolean | false | true | | | showNoDataAlert | boolean | false | true | | | subClass | string | false | '' | | | tooltipHeaderBtnNext | string | false | Next | can be used for translation | | tooltipHeaderBtnPrev | string | false | Previous | can 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:

| Property | Type | Required | | ---------------------- | ------- | -------- | | color | string | yes | | description | string | yes | | id | string | yes | | endYear | number | yes | | endMonth | number | yes | | endDay | number | yes | | endHour | number | yes | | endMinute | number | yes | | isLongLastingDayItem | boolean | yes | | isLongLastingWeekItem | boolean | yes | | isLongLastingMonthItem | boolean | yes | | isLongLastingYearItem | boolean | yes | | startYear | number | yes | | startMonth | number | yes | | startDay | number | yes | | startHour | number | yes | | startMinute | number | yes | | untilYear | number | yes | | untilMonth | number | yes | | untilDay | number | yes |

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.