kandimat/redaktions-app/src/components/DialogChangeCategory.tsx
2020-12-30 21:13:06 +01:00

52 lines
1.6 KiB
TypeScript

import React from 'react';
import Dialog from '@material-ui/core/Dialog';
import DialogContent from '@material-ui/core/DialogContent';
import DialogTitle from '@material-ui/core/DialogTitle';
import {DialogActionBar} from "./DialogActionBar";
import {DialogTitleAndDetails} from "./DialogTitleAndDetails";
import {makeVar} from "@apollo/client";
export interface ChangeCategoryDialogContent {
id: string
title: string,
details: string | null,
}
interface DialogChangeCategoryProps {
title: string,
confirmButtonText: string,
open: boolean,
content: ChangeCategoryDialogContent,
loading: boolean,
handleContentChange(content: ChangeCategoryDialogContent): void
handleConfirmButtonClick(): void,
handleClose(): void,
}
export default function DialogChangeCategory(props: DialogChangeCategoryProps) {
return (
<Dialog open={props.open} onClose={props.handleClose} aria-labelledby="form-dialog-title">
<DialogTitle id="form-dialog-title">{props.title}</DialogTitle>
<DialogContent>
<DialogTitleAndDetails
title={props.content.title}
details={props.content.details}
handleTitleChange={newTitle => props.handleContentChange({...props.content, title: newTitle})}
handleDetailsChange={newDetails => props.handleContentChange({...props.content, details: newDetails})}
/>
</DialogContent>
<DialogActionBar
onClose={props.handleClose}
onConfirmButtonClick={props.handleConfirmButtonClick}
confirmButtonText={props.confirmButtonText}
loading={props.loading}
/>
</Dialog>
);
}