Skip to content

Commit

Permalink
Refresh calendars on change
Browse files Browse the repository at this point in the history
  • Loading branch information
tananaev committed Feb 8, 2023
1 parent 091d105 commit bf66046
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions modern/src/settings/CalendarPage.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import moment from 'moment';
import React, { useState } from 'react';
import { useDispatch } from 'react-redux';
import TextField from '@mui/material/TextField';
import {
Accordion, AccordionSummary, AccordionDetails, Typography, FormControl, InputLabel, Select, MenuItem,
Expand All @@ -12,6 +13,8 @@ import EditAttributesAccordion from './components/EditAttributesAccordion';
import { useTranslation } from '../common/components/LocalizationProvider';
import SettingsMenu from './components/SettingsMenu';
import { prefixString } from '../common/util/stringUtils';
import { calendarsActions } from '../store';
import { useCatch } from '../reactHelper';

const formatCalendarTime = (time) => {
const tzid = Intl.DateTimeFormat().resolvedOptions().timeZone;
Expand Down Expand Up @@ -66,6 +69,7 @@ const useStyles = makeStyles((theme) => ({

const CalendarPage = () => {
const classes = useStyles();
const dispatch = useDispatch();
const t = useTranslation();

const [item, setItem] = useState();
Expand All @@ -89,6 +93,15 @@ const CalendarPage = () => {
}
};

const onItemSaved = useCatch(async () => {
const response = await fetch('/api/calendars');
if (response.ok) {
dispatch(calendarsActions.update(await response.json()));
} else {
throw Error(await response.text());
}
});

const validate = () => item && item.name && item.data;

return (
Expand All @@ -98,6 +111,7 @@ const CalendarPage = () => {
setItem={setItem}
defaultItem={{ data: simpleCalendar() }}
validate={validate}
onItemSaved={onItemSaved}
menu={<SettingsMenu />}
breadcrumbs={['settingsTitle', 'sharedCalendar']}
>
Expand Down

0 comments on commit bf66046

Please sign in to comment.