A React cron editor built with material ui
Live demo and usage at https://baymac.github.io/material-ui-cron/
Be sure that you have these dependencies on your project:
- react (>=17.0.1)
- @mui/material (>=5.0.0)
More dependencies
# Yarn
yarn add material-ui-cron
# NPM
npm install --save material-ui-cron
import Scheduler from 'material-ui-cron'
import React from 'react'
export default function SchedulerDemo() {
const [cronExp, setCronExp] = React.useState('0 0 * * *')
const [cronError, setCronError] = React.useState('') // get error message if cron is invalid
const [isAdmin, setIsAdmin] = React.useState(true) // set admin or non-admin to enable or disable high frequency scheduling (more than once a day)
return (
<Scheduler
cron={cronExp}
setCron={setCronExp}
setCronError={setCronError}
isAdmin={isAdmin}
/>
)
}
material-ui-cron
is written in TypeScript with complete definitions.
This library supports Internalization (i18n). Currently languages supported are:
- English
- Chinese (Simplified)
We are welcoming translation contributions from the community.
-
Clone
/src/localization/enLocal.ts
and rename it to desired langauge prefix (based on https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code). -
Add language prefix to
definedLocales
type inside/src/types.ts
-
Add locale mapping inside
/src/i18n.ts
<Scheduler
cron={cronExp}
setCron={setCronExp}
setCronError={setCronError}
isAdmin={isAdmin}
locale={'en'} // if not supplied, localization defaults to en
/>
<Scheduler
cron={cronExp}
setCron={setCronExp}
setCronError={setCronError}
isAdmin={isAdmin}
customLocale={{...your translations}} // should be a valid object of type Locale, overrides value supplied to locale prop
/>
This library was developed as a part of Udaan's Data Platform for scheduling queries. Big thanks to Amod Malviya for supporting this project.
MIT © baymac