diff --git a/app/javascript/components/EditPopup/EditPopup.js b/app/javascript/components/EditPopup/EditPopup.js
index e15319f..b58a6e8 100644
--- a/app/javascript/components/EditPopup/EditPopup.js
+++ b/app/javascript/components/EditPopup/EditPopup.js
@@ -15,8 +15,9 @@ import Modal from '@material-ui/core/Modal';
import Form from 'components/EditPopup/Form';
import useStyles from './useStyles';
+import TaskPresenter from '../../presenters/TaskPresenter';
-const EditPopup = ({ cardId, onClose, onCardDestroy, onLoadCard, onCardUpdate }) => {
+const EditPopup = ({ cardId, onClose, onCardDestroy, onLoadCard, onCardUpdate, onAttachImage, onRemoveImage }) => {
const [task, setTask] = useState(null);
const [isSaving, setSaving] = useState(false);
const [errors, setErrors] = useState({});
@@ -49,6 +50,17 @@ const EditPopup = ({ cardId, onClose, onCardDestroy, onLoadCard, onCardUpdate })
});
};
+ const handleImageAttach = (params) => {
+ const id = TaskPresenter.id(task);
+ onCardUpdate(task);
+ onAttachImage(id, params);
+ };
+
+ const handleImageRemove = () => {
+ onCardUpdate(task);
+ onRemoveImage(TaskPresenter.id(task));
+ };
+
const isLoading = isNil(task);
return (
@@ -68,7 +80,13 @@ const EditPopup = ({ cardId, onClose, onCardDestroy, onLoadCard, onCardUpdate })
) : (
-
+
)}
@@ -102,6 +120,8 @@ EditPopup.propTypes = {
onCardDestroy: PropTypes.func.isRequired,
onLoadCard: PropTypes.func.isRequired,
onCardUpdate: PropTypes.func.isRequired,
+ onAttachImage: PropTypes.func.isRequired,
+ onRemoveImage: PropTypes.func.isRequired,
};
export default EditPopup;
diff --git a/app/javascript/components/EditPopup/Form/Form.js b/app/javascript/components/EditPopup/Form/Form.js
index 355f680..c425a63 100644
--- a/app/javascript/components/EditPopup/Form/Form.js
+++ b/app/javascript/components/EditPopup/Form/Form.js
@@ -1,15 +1,17 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { has } from 'ramda';
+import { has, isNil } from 'ramda';
import TextField from '@material-ui/core/TextField';
+import Button from '@material-ui/core/Button';
import UserSelect from 'components/UserSelect';
import TaskPresenter from 'presenters/TaskPresenter';
+import ImageUpload from 'components/ImageUpload';
import useStyles from './useStyles';
-const Form = ({ errors, onChange, task }) => {
+const Form = ({ errors, onChange, onRemoveImage, onAttachImage, task }) => {
const handleChangeTextField = (fieldName) => (event) => onChange({ ...task, [fieldName]: event.target.value });
const handleChangeSelect = (fieldName) => (user) => onChange({ ...task, [fieldName]: user });
@@ -17,6 +19,18 @@ const Form = ({ errors, onChange, task }) => {
return (