- additional cleanup and validation / fixes

Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
Dave Richer
2024-04-11 14:25:16 -04:00
parent 7c8f276bb0
commit 77c486b4c9
6 changed files with 66 additions and 28 deletions

View File

@@ -27,12 +27,13 @@ export function TaskUpsertModalComponent({
selectedJobId,
setSelectedJobId,
selectedJobDetails,
existingTask,
loading,
error
}) {
const { t } = useTranslation();
const datePickerPresets = [
{ label: t("tasks.date_presets.today"), value: dayjs() },
{ label: t("tasks.date_presets.today"), value: dayjs().add(1, "hour") },
{ label: t("tasks.date_presets.tomorrow"), value: dayjs().add(1, "day") },
{ label: t("tasks.date_presets.next_week"), value: dayjs().add(1, "week") },
{ label: t("tasks.date_presets.two_weeks"), value: dayjs().add(2, "weeks") },
@@ -195,11 +196,38 @@ export function TaskUpsertModalComponent({
</Col>
<Col span={8}>
<Form.Item label={t("tasks.fields.due_date")} name="due_date">
<FormDatePicker onlyFuture format="MM/DD/YYYY" presets={datePickerPresets} />
<FormDatePicker
onlyFuture
format="MM/DD/YYYY"
presets={datePickerPresets}
rules={[
{
validator: (_, value) => {
if (!value || existingTask?.due_date === value || dayjs(value).isAfter(dayjs())) {
return Promise.resolve();
}
return Promise.reject(new Error(t("tasks.validation.due_at_error_message")));
}
}
]}
/>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label={t("tasks.fields.remind_at")} name="remind_at">
<Form.Item
label={t("tasks.fields.remind_at")}
name="remind_at"
rules={[
{
validator: (_, value) => {
if (!value || existingTask?.remind_at === value || dayjs(value).isAfter(dayjs().add(30, "minute"))) {
return Promise.resolve();
}
return Promise.reject(new Error(t("tasks.validation.remind_at_error_message")));
}
}
]}
>
<FormDateTimePickerEnhanced onlyFuture showTime minuteStep={15} presets={datePickerPresets} />
</Form.Item>
</Col>