diff --git a/package-lock.json b/package-lock.json index 9445b7da..e0318358 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55089,4 +55089,4 @@ "integrity": "sha512-Bq0B+ixT/DMyG8kgX2xWcI5jUvCwqrMxSFam7m0lAf78nf04hv6lNCsyLYdyYTrCVMqNDY/206K7eExYCeSyUQ==" } } -} +} \ No newline at end of file diff --git a/src/components/GrowerDetail.js b/src/components/GrowerDetail.js index b48bd92a..dfd0d5c6 100644 --- a/src/components/GrowerDetail.js +++ b/src/components/GrowerDetail.js @@ -506,6 +506,8 @@ const GrowerDetail = ({ open, growerId, onClose }) => { ) : ( --- diff --git a/src/components/GrowerOrganization.js b/src/components/GrowerOrganization.js index ae2334f1..cc9d8921 100644 --- a/src/components/GrowerOrganization.js +++ b/src/components/GrowerOrganization.js @@ -1,9 +1,9 @@ import React, { useContext } from 'react'; - +import { Typography } from '@material-ui/core'; import { AppContext } from '../context/AppContext.js'; import PropTypes from 'prop-types'; -import { Typography } from '@material-ui/core'; import { getOrganizationById } from 'utilities/index.js'; +import SubOrgs from './SubOrgs.js'; /** * @function @@ -19,7 +19,13 @@ import { getOrganizationById } from 'utilities/index.js'; */ const GrowerOrganization = (props) => { const appContext = useContext(AppContext); - const { organizationName, assignedOrganizationId, compact } = props; + const { + organizationName, + assignedOrganizationId, + compact, + isCard, + isSidePanel, + } = props; const assignedOrganization = getOrganizationById( appContext.orgList, @@ -27,17 +33,22 @@ const GrowerOrganization = (props) => { ); const renderGrowerOrganization = () => ( - - {organizationName} - + {organizationName} ); - const renderGrowerAssignedOrganization = (assignedOrganization) => { + const renderGrowerAssignedOrganizationSide = (assignedOrganization) => { + return ( + + ); + }; + + const renderGrowerAssignedOrganizationCard = (assignedOrganization) => { return ( - + {assignedOrganization.name} ({assignedOrganization.id}) ); }; + const orgNamesMatch = assignedOrganizationId && organizationName && @@ -49,7 +60,16 @@ const GrowerOrganization = (props) => { return ( <> {assignedOrganization && - renderGrowerAssignedOrganization(assignedOrganization)} + isCard && + renderGrowerAssignedOrganizationCard(assignedOrganization)} + {organizationName && + (!compact || !assignedOrganization) && + !orgNamesMatch && + renderGrowerOrganization()} + + {assignedOrganization && + isSidePanel && + renderGrowerAssignedOrganizationSide(assignedOrganization)} {organizationName && (!compact || !assignedOrganization) && !orgNamesMatch && diff --git a/src/components/Growers/Grower.js b/src/components/Growers/Grower.js index 1f71b950..8ce9c2bd 100644 --- a/src/components/Growers/Grower.js +++ b/src/components/Growers/Grower.js @@ -62,6 +62,8 @@ export const Grower = ({ grower, growerClick }) => { organizationName={grower?.organization} assignedOrganizationId={grower?.organization_id} compact={true} + isCard={true} + isSidePanel={false} /> diff --git a/src/components/SubOrgs.js b/src/components/SubOrgs.js new file mode 100644 index 00000000..f7f18714 --- /dev/null +++ b/src/components/SubOrgs.js @@ -0,0 +1,82 @@ +import React from 'react'; +import { + Paper, + Typography, + List, + ListItem, + Collapse, + FormControlLabel, + Radio, + ListItemText, +} from '@material-ui/core'; + +const SubOrgs = ({ name, id }) => { + const [expanded, setExpanded] = React.useState(false); + + const handleExpandClick = () => { + setExpanded(!expanded); + }; + const subOrganizations = [ + 'Sub-organization1', + 'Sub-organization2', + 'Sub-organization3', + ]; + + return ( + <> +
+ +
+ + {name} ({id}) + +
+ +
+ + {subOrganizations.map((subOrg, index) => ( + + + + ))} + +
+
+
+
+ } + label="Sub-organization/s" + style={{ + right: '0', + position: 'absolute', + top: '15px', + left: '-160px', + display: 'block', + }} + /> +
+
+ + ); +}; + +export default SubOrgs;