import React from 'react'; import CollectionNodeProperties from './CollectionNodeProperties'; import ErrorBoundary from '../../static/js/helpers/ErrorBoundary'; import withStandardTabInfo from '../../static/js/helpers/withStandardTabInfo'; import { BROWSER_PANELS } from '../../browser/static/js/constants'; import ObjectNodeProperties from './ObjectNodeProperties'; import EmptyPanelMessage from '../../static/js/components/EmptyPanelMessage'; import gettext from 'sources/gettext'; import { Box, makeStyles } from '@material-ui/core'; import { usePgAdmin } from '../../static/js/BrowserComponent'; import PropTypes from 'prop-types'; const useStyles = makeStyles((theme) => ({ root: { height: '100%', background: theme.otherVars.emptySpaceBg, display: 'flex', flexDirection: 'column' }, })); function Properties(props) { const isCollection = props.nodeData?._type?.startsWith('coll-'); const classes = useStyles(); const pgAdmin = usePgAdmin(); if(!props.node) { return ( ); } if(isCollection) { return ( ); } else { return ( { pgAdmin.Browser.Node.callbacks.show_obj_properties.call( props.node, {action: 'edit'} ); }} /> ); } } Properties.propTypes = { node: PropTypes.func, treeNodeInfo: PropTypes.object, nodeData: PropTypes.object, nodeItem: PropTypes.object, }; export default withStandardTabInfo(Properties, BROWSER_PANELS.PROPERTIES);