import emptyMetadata from "@assets/images/empty-metadata.svg"; import Button from "@material-ui/core/Button"; import Card from "@material-ui/core/Card"; import CardActions from "@material-ui/core/CardActions"; import CardContent from "@material-ui/core/CardContent"; import IconButton from "@material-ui/core/IconButton"; import Table from "@material-ui/core/Table"; import TableBody from "@material-ui/core/TableBody"; import TableCell from "@material-ui/core/TableCell"; import TableHead from "@material-ui/core/TableHead"; import TableRow from "@material-ui/core/TableRow"; import TextField from "@material-ui/core/TextField"; import Typography from "@material-ui/core/Typography"; import ToggleIcon from "@material-ui/icons/ArrowDropDown"; import DeleteIcon from "@material-ui/icons/Delete"; import { FormChange } from "@saleor/hooks/useForm"; import { MetadataInput } from "@saleor/types/globalTypes"; import React, { useEffect } from "react"; import SVG from "react-inlinesvg"; import { useIntl } from "react-intl"; import { FormattedMessage } from "react-intl"; import CardTitle from "../CardTitle"; import Skeleton from "../Skeleton"; import useStyles from "./styles"; import { EventDataAction, EventDataField } from "./types"; export interface MetadataCardProps { data: MetadataInput[]; isPrivate: boolean; onChange: FormChange; } export const nameSeparator = ":"; export const nameInputPrefix = EventDataField.name; export const valueInputPrefix = EventDataField.value; const MetadataCard: React.FC = ({ data, isPrivate, onChange }) => { const intl = useIntl(); const loaded = React.useRef(false); const [expanded, setExpanded] = React.useState(true); const classes = useStyles({}); useEffect(() => { if (data !== undefined) { loaded.current = true; if (data.length > 0) { setExpanded(false); } } }, [data === undefined]); return ( {data === undefined ? ( ) : ( <> {data.length > 0 && (
setExpanded(!expanded)} >
)}
{expanded && ( <> {data.length === 0 ? (
{isPrivate ? ( ) : ( )}
) : ( {data.map((field, fieldIndex) => ( onChange({ target: { name: EventDataAction.delete, value: fieldIndex } }) } > ))}
)} )} )}
); }; MetadataCard.displayName = "MetadataCard"; export default MetadataCard;