Skip to content

Commit 1e9dae2

Browse files
author
Dmitry Yadrikhinsky
committed
Observer
1 parent 02e99fa commit 1e9dae2

File tree

12 files changed

+47
-28
lines changed

12 files changed

+47
-28
lines changed

src/components/CircleButton/CircleButton.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { SyntheticEvent } from 'react';
2+
import { observer } from 'mobx-react';
23

34
import './CircleButton.less';
45

@@ -10,7 +11,7 @@ interface CircleButtonProps {
1011
children: React.ReactNode;
1112
}
1213

13-
export default function CircleButton({
14+
export default observer(function CircleButton({
1415
className,
1516
children,
1617
onClick,
@@ -20,4 +21,4 @@ export default function CircleButton({
2021
{children}
2122
</span>
2223
);
23-
}
24+
});
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import React from 'react';
2+
import { observer } from 'mobx-react';
23

34
import './HeaderMenu.less';
45

56
interface HeaderMenuProps {
67
children: React.ReactNode;
78
}
89

9-
export default function HeaderMenu({ children }: HeaderMenuProps) {
10+
export default observer(function HeaderMenu({ children }: HeaderMenuProps) {
1011
return <span className="header-menu">{children}</span>;
11-
}
12+
});

src/components/IconTile/IconTile.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { observer } from 'mobx-react';
23

34
import './IconTile.less';
45
import cn from '../../helpers/ClassNameHelper';
@@ -9,7 +10,7 @@ interface IconTileProps {
910
className?: string;
1011
}
1112

12-
export default function IconTile({
13+
export default observer(function IconTile({
1314
className,
1415
children,
1516
backgroundColor,
@@ -19,4 +20,4 @@ export default function IconTile({
1920
{children}
2021
</span>
2122
);
22-
}
23+
});

src/components/TimeRangeModal/TimeRangeModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Button, Col, Form, Input, Modal, Row, TimePicker } from 'antd';
33
import { Moment } from 'moment/moment';
44
import moment from 'moment';
55
import { DeleteFilled } from '@ant-design/icons';
6+
import { observer } from 'mobx-react';
67

78
import './TimeRangeModal.less';
89

@@ -24,7 +25,7 @@ interface TimeRangeModalProps {
2425
onClose: () => void;
2526
}
2627

27-
export default function TimeRangeModal({
28+
export default observer(function TimeRangeModal({
2829
taskTime,
2930
visible,
3031
onClose,
@@ -118,4 +119,4 @@ export default function TimeRangeModal({
118119
</Form>
119120
</Modal>
120121
);
121-
}
122+
});

src/screens/hours/components/SelectDate/SelectDate.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Button, DatePicker, Space } from 'antd';
33
import { LeftOutlined, RightOutlined } from '@ant-design/icons';
44
import moment from 'moment';
55
import addDays from 'date-fns/addDays';
6+
import { observer } from 'mobx-react';
67

78
interface SelectDateProps {
89
date: Date;
@@ -13,7 +14,10 @@ function changeDate(date: Date, offsetDay: number) {
1314
return addDays(date, offsetDay);
1415
}
1516

16-
export default function SelectDate({ date, onChange }: SelectDateProps) {
17+
export default observer(function SelectDate({
18+
date,
19+
onChange,
20+
}: SelectDateProps) {
1721
return (
1822
<Space direction="horizontal">
1923
<Button
@@ -34,4 +38,4 @@ export default function SelectDate({ date, onChange }: SelectDateProps) {
3438
/>
3539
</Space>
3640
);
37-
}
41+
});
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { observer } from 'mobx-react';
23

34
import { useTimeItemsDuration } from '../../../../hooks/TaskHooks';
45
import TaskTimeModel from '../../../../models/TaskTimeModel';
@@ -7,7 +8,7 @@ interface TotalHoursProps {
78
timeItems: TaskTimeModel[];
89
}
910

10-
export default function TotalHours({ timeItems }: TotalHoursProps) {
11+
export default observer(function TotalHours({ timeItems }: TotalHoursProps) {
1112
const duration = useTimeItemsDuration(timeItems);
1213
return <div>{duration}</div>;
13-
}
14+
});

src/screens/projects/components/HoursByTask/HoursByTask.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Card, Space } from 'antd';
33
import { BellFilled } from '@ant-design/icons';
44
import isSameDay from 'date-fns/isSameDay';
55
import format from 'date-fns/format';
6+
import { observer } from 'mobx-react';
67

78
import './HoursByTask.less';
89

@@ -22,10 +23,10 @@ function getDurationPerDay(timeItems: ITimeRangeModel[], date: Date) {
2223
}
2324

2425
interface HoursByTaskProps {
25-
task: TaskModel | undefined;
26+
task?: TaskModel;
2627
}
2728

28-
export default function HoursByTask({ task }: HoursByTaskProps) {
29+
export default observer(function HoursByTask({ task }: HoursByTaskProps) {
2930
return (
3031
<Card className="hours-by-task-container">
3132
<Space direction="vertical" className="hours-by-task">
@@ -51,4 +52,4 @@ export default function HoursByTask({ task }: HoursByTaskProps) {
5152
</Space>
5253
</Card>
5354
);
54-
}
55+
});

src/screens/projects/components/HoursByTask/HoursItem.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
22
import { Card } from 'antd';
33
import format from 'date-fns/format';
4+
import { observer } from 'mobx-react';
45

56
import './HoursItem.less';
67

@@ -29,7 +30,7 @@ interface HoursItemProps {
2930
range: ITimeRangeModel;
3031
}
3132

32-
export default function HoursItem({ range }: HoursItemProps) {
33+
export default observer(function HoursItem({ range }: HoursItemProps) {
3334
return (
3435
<Card className="hours-item">
3536
<div className="description">{range.description}</div>
@@ -39,4 +40,4 @@ export default function HoursItem({ range }: HoursItemProps) {
3940
</div>
4041
</Card>
4142
);
42-
}
43+
});

src/screens/projects/components/ProjectModals/EditProjectModal.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import React, { useEffect, useState } from 'react';
2-
import ProjectModel from '../../../../models/ProjectModel';
32
import { Button, Input, Modal, Space } from 'antd';
4-
import rootStore from '../../../../services/RootStore';
53
import { DeleteFilled } from '@ant-design/icons';
4+
import { observer } from 'mobx-react';
5+
6+
import ProjectModel from '../../../../models/ProjectModel';
7+
import rootStore from '../../../../services/RootStore';
68

79
const { projectStore } = rootStore;
810

@@ -11,7 +13,9 @@ interface EditProjectModalProps {
1113
onClose: () => void;
1214
}
1315

14-
export default function EditProjectModal({ project }: EditProjectModalProps) {
16+
export default observer(function EditProjectModal({
17+
project,
18+
}: EditProjectModalProps) {
1519
const [title, setTitle] = useState<string>('');
1620

1721
useEffect(() => {
@@ -67,4 +71,4 @@ export default function EditProjectModal({ project }: EditProjectModalProps) {
6771
</Space>
6872
</Modal>
6973
);
70-
}
74+
});

src/screens/projects/components/ProjectNode/ProjectNode.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
import React, { SyntheticEvent } from 'react';
22
import { EditOutlined } from '@ant-design/icons';
3+
import { observer } from 'mobx-react';
34

45
import './ProjectNode.less';
56

67
import ProjectModel from '../../../../models/ProjectModel';
78
import rootStore from '../../../../services/RootStore';
89

9-
const {projectStore} = rootStore;
10+
const { projectStore } = rootStore;
1011

1112
interface ProjectNodeProps {
1213
project: ProjectModel;
1314
}
1415

15-
export default function ProjectNode({ project }: ProjectNodeProps) {
16+
export default observer(function ProjectNode({ project }: ProjectNodeProps) {
1617
function onClick(e: SyntheticEvent) {
1718
e.stopPropagation();
1819
projectStore.setEditableProject(project);
@@ -24,4 +25,4 @@ export default function ProjectNode({ project }: ProjectNodeProps) {
2425
<EditOutlined className="edit-button" onClick={onClick} />
2526
</div>
2627
);
27-
};
28+
});

0 commit comments

Comments
 (0)