Merge pull request #3011 from AreYouRlyScared/addcronmonth
Adds months for schedules
This commit is contained in:
commit
aab353d91e
12 changed files with 72 additions and 18 deletions
|
@ -19,6 +19,7 @@ type Props = {
|
|||
interface Values {
|
||||
name: string;
|
||||
dayOfWeek: string;
|
||||
month: string;
|
||||
dayOfMonth: string;
|
||||
hour: string;
|
||||
minute: string;
|
||||
|
@ -38,7 +39,7 @@ const EditScheduleModal = ({ schedule, ...props }: Omit<Props, 'onScheduleUpdate
|
|||
label={'Schedule name'}
|
||||
description={'A human readable identifer for this schedule.'}
|
||||
/>
|
||||
<div css={tw`grid grid-cols-2 sm:grid-cols-4 gap-4 mt-6`}>
|
||||
<div css={tw`grid grid-cols-2 sm:grid-cols-5 gap-4 mt-6`}>
|
||||
<div>
|
||||
<Field name={'minute'} label={'Minute'}/>
|
||||
</div>
|
||||
|
@ -48,6 +49,9 @@ const EditScheduleModal = ({ schedule, ...props }: Omit<Props, 'onScheduleUpdate
|
|||
<div>
|
||||
<Field name={'dayOfMonth'} label={'Day of month'}/>
|
||||
</div>
|
||||
<div>
|
||||
<Field name={'month'} label={'Month'}/>
|
||||
</div>
|
||||
<div>
|
||||
<Field name={'dayOfWeek'} label={'Day of week'}/>
|
||||
</div>
|
||||
|
@ -94,6 +98,7 @@ export default ({ schedule, visible, ...props }: Props) => {
|
|||
minute: values.minute,
|
||||
hour: values.hour,
|
||||
dayOfWeek: values.dayOfWeek,
|
||||
month: values.month,
|
||||
dayOfMonth: values.dayOfMonth,
|
||||
},
|
||||
isActive: values.enabled,
|
||||
|
@ -116,10 +121,11 @@ export default ({ schedule, visible, ...props }: Props) => {
|
|||
onSubmit={submit}
|
||||
initialValues={{
|
||||
name: schedule?.name || '',
|
||||
dayOfWeek: schedule?.cron.dayOfWeek || '*',
|
||||
dayOfMonth: schedule?.cron.dayOfMonth || '*',
|
||||
hour: schedule?.cron.hour || '*',
|
||||
minute: schedule?.cron.minute || '*/5',
|
||||
hour: schedule?.cron.hour || '*',
|
||||
dayOfMonth: schedule?.cron.dayOfMonth || '*',
|
||||
month: schedule?.cron.month || '*',
|
||||
dayOfWeek: schedule?.cron.dayOfWeek || '*',
|
||||
enabled: schedule ? schedule.isActive : true,
|
||||
} as Values}
|
||||
validationSchema={null}
|
||||
|
|
|
@ -22,7 +22,7 @@ const ScheduleCronRow = ({ cron, className }: Props) => (
|
|||
<p css={tw`text-2xs text-neutral-500 uppercase`}>Day (Month)</p>
|
||||
</div>
|
||||
<div css={tw`w-1/5 sm:w-auto text-center ml-4`}>
|
||||
<p css={tw`font-medium`}>*</p>
|
||||
<p css={tw`font-medium`}>{cron.month}</p>
|
||||
<p css={tw`text-2xs text-neutral-500 uppercase`}>Month</p>
|
||||
</div>
|
||||
<div css={tw`w-1/5 sm:w-auto text-center ml-4`}>
|
||||
|
|
|
@ -28,9 +28,9 @@ interface State {
|
|||
}
|
||||
|
||||
const CronBox = ({ title, value }: { title: string; value: string }) => (
|
||||
<div css={tw`bg-neutral-700 rounded p-4`}>
|
||||
<div css={tw`bg-neutral-700 rounded p-3`}>
|
||||
<p css={tw`text-neutral-300 text-sm`}>{title}</p>
|
||||
<p css={tw`text-2xl font-medium text-neutral-100`}>{value}</p>
|
||||
<p css={tw`text-xl font-medium text-neutral-100`}>{value}</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
|
@ -88,13 +88,6 @@ export default () => {
|
|||
:
|
||||
<>
|
||||
<ScheduleCronRow cron={schedule.cron} css={tw`sm:hidden bg-neutral-700 rounded mb-4 p-3`}/>
|
||||
<div css={tw`hidden sm:grid grid-cols-5 md:grid-cols-7 gap-4 mb-6`}>
|
||||
<CronBox title={'Minute'} value={schedule.cron.minute}/>
|
||||
<CronBox title={'Hour'} value={schedule.cron.hour}/>
|
||||
<CronBox title={'Day (Month)'} value={schedule.cron.dayOfMonth}/>
|
||||
<CronBox title={'Month'} value={'*'}/>
|
||||
<CronBox title={'Day (Week)'} value={schedule.cron.dayOfWeek}/>
|
||||
</div>
|
||||
<div css={tw`rounded shadow`}>
|
||||
<div css={tw`sm:flex items-center bg-neutral-900 p-3 sm:p-6 border-b-4 border-neutral-600 rounded-t`}>
|
||||
<div css={tw`flex-1`}>
|
||||
|
@ -143,6 +136,13 @@ export default () => {
|
|||
</Can>
|
||||
</div>
|
||||
</div>
|
||||
<div css={tw`hidden sm:grid grid-cols-5 md:grid-cols-5 gap-4 mb-4 mt-4`}>
|
||||
<CronBox title={'Minute'} value={schedule.cron.minute}/>
|
||||
<CronBox title={'Hour'} value={schedule.cron.hour}/>
|
||||
<CronBox title={'Day (Month)'} value={schedule.cron.dayOfMonth}/>
|
||||
<CronBox title={'Month'} value={schedule.cron.month}/>
|
||||
<CronBox title={'Day (Week)'} value={schedule.cron.dayOfWeek}/>
|
||||
</div>
|
||||
<div css={tw`bg-neutral-700 rounded-b`}>
|
||||
{schedule.tasks.length > 0 ?
|
||||
schedule.tasks.map(task => (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue