11import React , { useEffect , useState } from "react" ;
2- import { Box , Button , Dialog , Divider , Grid , IconButton , Menu , MenuItem , Tab , Tabs , Typography } from "@mui/material" ;
2+ import { Box , Button , Dialog , Divider , Grid , IconButton , Menu , MenuItem , Tab , Tabs , Typography , DialogActions , DialogContent , DialogContentText , DialogTitle , } from "@mui/material" ;
33import { ClowderInput } from "../styledComponents/ClowderInput" ;
44import { ClowderButton } from "../styledComponents/ClowderButton" ;
55import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown" ;
@@ -26,6 +26,7 @@ import {parseDate} from "../../utils/common";
2626import config from "../../app.config" ;
2727import { DatasetIn , MetadataIn } from "../../openapi/v2" ;
2828import { DisplayMetadata } from "../metadata/DisplayMetadata" ;
29+ import { CreateMetadataDefinition } from "../metadata/CreateMetadataDefinition" ;
2930import { EditMetadata } from "../metadata/EditMetadata" ;
3031import {
3132 deleteDatasetMetadata as deleteDatasetMetadataAction ,
@@ -92,6 +93,7 @@ export const Dataset = (): JSX.Element => {
9293 const [ datasetDescription , setDatasetDescription ] = React . useState < string > ( "" ) ;
9394 const [ enableAddMetadata , setEnableAddMetadata ] = React . useState < boolean > ( false ) ;
9495 const [ metadataRequestForms , setMetadataRequestForms ] = useState ( { } ) ;
96+ const [ openPopup , setOpenPopup ] = React . useState < boolean > ( false )
9597
9698 // component did mount list all files in dataset
9799 useEffect ( ( ) => {
@@ -276,6 +278,9 @@ export const Dataset = (): JSX.Element => {
276278 >
277279 < CloseIcon />
278280 </ IconButton >
281+ < Button variant = "contained" onClick = { ( ) => { setOpenPopup ( true ) ; } } sx = { { mt : 1 , mr : 1 , "alignItems" : "right" } } >
282+ Add new metadata definition
283+ </ Button >
279284 < EditMetadata resourceType = "dataset" resourceId = { datasetId }
280285 setMetadata = { setMetadata }
281286 />
@@ -286,6 +291,22 @@ export const Dataset = (): JSX.Element => {
286291 sx = { { mt : 1 , mr : 1 } } >
287292 Cancel
288293 </ Button >
294+ {
295+ openPopup ?
296+ < >
297+ < Dialog open = { openPopup } onClose = { ( ) => { setOpenPopup ( false ) ; } } fullWidth = { true } maxWidth = { "md" } >
298+ < DialogTitle > Add new metadata definition</ DialogTitle >
299+ < DialogContent >
300+ < DialogContentText > Please fill out the metadata information here.</ DialogContentText >
301+ < CreateMetadataDefinition />
302+ </ DialogContent >
303+ < DialogActions >
304+ < Button onClick = { ( ) => { setOpenPopup ( false ) ; } } > Cancel</ Button >
305+ </ DialogActions >
306+ </ Dialog >
307+ </ >
308+ : < > </ >
309+ }
289310 </ >
290311 :
291312 < >
0 commit comments