///////////////////////////////////////////////////////////// // // pgAdmin 4 - PostgreSQL Tools // // Copyright (C) 2013 - 2023, The pgAdmin Development Team // This software is released under the PostgreSQL Licence // ////////////////////////////////////////////////////////////// import React from 'react'; import { ToggleButton, ToggleButtonGroup } from '@material-ui/lab'; import CheckRoundedIcon from '@material-ui/icons/CheckRounded'; import { DefaultButton, PrimaryButton } from '../../../../static/js/components/Buttons'; import { makeStyles } from '@material-ui/core/styles'; import PropTypes from 'prop-types'; import { getAWSSummary } from './aws'; import {getAzureSummary} from './azure'; import { getBigAnimalSummary } from './biganimal'; import { commonTableStyles } from '../../../../static/js/Theme'; import { Table, TableBody, TableCell, TableHead, TableRow } from '@material-ui/core'; import clsx from 'clsx'; import gettext from 'sources/gettext'; const useStyles = makeStyles(() => ({ toggleButton: { height: '100px', }, }), ); export function ToggleButtons(props) { const classes = useStyles(); const handleCloudProvider = (event, provider) => { if (provider) props.setCloudProvider(provider); }; return ( { (props.options||[]).map((option)=>{ return (   {option.icon}  {option.label} ); }) } ); } ToggleButtons.propTypes = { setCloudProvider: PropTypes.func, cloudProvider: PropTypes.string, options: PropTypes.array, }; export function FinalSummary(props) { const tableClasses = commonTableStyles(); let summary = [], summaryHeader = ['Cloud Details', 'Version and Instance Details', 'Storage Details', 'Database Details']; if (props.cloudProvider == 'biganimal') { summary = getBigAnimalSummary(props.cloudProvider, props.clusterTypeData, props.instanceData, props.databaseData); summaryHeader = ['Cloud Details', 'Cluster Details' ,'Version Details', 'Storage Details', 'Database Details']; } else if(props.cloudProvider == 'azure') { summaryHeader.push('Network Connectivity','Availability'); summary = getAzureSummary(props.cloudProvider, props.instanceData, props.databaseData); }else { summaryHeader.push('Availability'); summary = getAWSSummary(props.cloudProvider, props.instanceData, props.databaseData); } const displayTableRows = (rows) => { return rows.map((row) => ( {row.name} {row.value} )); }; return summary.map((item, index) => { return ( {gettext(summaryHeader[index])} {displayTableRows(item)}
); }); } FinalSummary.propTypes = { cloudProvider: PropTypes.string, instanceData: PropTypes.object, databaseData: PropTypes.object, clusterTypeData: PropTypes.object, };