Skip to content

Commit

Permalink
Pickup section.isExpanded (#82)
Browse files Browse the repository at this point in the history
  • Loading branch information
samuelmale authored May 23, 2023
1 parent c2f52a2 commit fd804a6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 18 deletions.
8 changes: 4 additions & 4 deletions src/components/encounter/ohri-encounter-form.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ interface OHRIEncounterFormProps {
location: SessionLocation;
visit?: Visit;
values: Record<string, any>;
isCollapsed: boolean;
isFormExpanded: boolean;
sessionMode: SessionMode;
scrollablePages: Set<OHRIFormPageProps>;
handlers: Map<string, FormSubmissionHandler>;
Expand All @@ -60,7 +60,7 @@ export const OHRIEncounterForm: React.FC<OHRIEncounterFormProps> = ({
location,
visit,
values,
isCollapsed,
isFormExpanded,
sessionMode,
scrollablePages,
workspaceLayout,
Expand Down Expand Up @@ -651,7 +651,7 @@ export const OHRIEncounterForm: React.FC<OHRIEncounterFormProps> = ({
location={location}
visit={visit}
values={values}
isCollapsed={isCollapsed}
isFormExpanded={isFormExpanded}
sessionMode={sessionMode}
scrollablePages={scrollablePages}
setAllInitialValues={setAllInitialValues}
Expand All @@ -672,7 +672,7 @@ export const OHRIEncounterForm: React.FC<OHRIEncounterFormProps> = ({
page={page}
onFieldChange={onFieldChange}
setSelectedPage={setSelectedPage}
isCollapsed={isCollapsed}
isFormExpanded={isFormExpanded}
key={index}
/>
);
Expand Down
17 changes: 6 additions & 11 deletions src/components/page/ohri-form-page.tsx
Original file line number Diff line number Diff line change
@@ -1,33 +1,28 @@
import React from 'react';
import React, { useMemo } from 'react';
import { Accordion, AccordionItem } from '@carbon/react';
import { Waypoint } from 'react-waypoint';
import { isTrue } from '../../utils/boolean-utils';
import OHRIFormSection from '../section/ohri-form-section.component';
import styles from './ohri-form-page.scss';

function OHRIFormPage({ page, onFieldChange, setSelectedPage, isCollapsed }) {
let newLabel = page.label.replace(/\s/g, '');

const handleEnter = elementID => {
setSelectedPage(elementID);
};

function OHRIFormPage({ page, onFieldChange, setSelectedPage, isFormExpanded }) {
const trimmedLabel = useMemo(() => page.label.replace(/\s/g, ''), [page.label]);
const visibleSections = page.sections.filter(section => {
const hasVisibleQuestions = section.questions.some(question => !isTrue(question.isHidden));
return !isTrue(section.isHidden) && hasVisibleQuestions;
});

return (
<Waypoint onEnter={() => handleEnter(newLabel)} topOffset="50%" bottomOffset="60%">
<div id={newLabel} className={styles.pageContent}>
<Waypoint onEnter={() => setSelectedPage(trimmedLabel)} topOffset="50%" bottomOffset="60%">
<div id={trimmedLabel} className={styles.pageContent}>
<div className={styles.pageHeader}>
<p className={styles.pageTitle}>{page.label}</p>
</div>
<Accordion>
{visibleSections.map(section => (
<AccordionItem
title={section.label}
open={isCollapsed}
open={isFormExpanded !== undefined ? isFormExpanded : isTrue(section.isExpanded)}
className={styles.sectionContent}
key={`section-${section.id}`}>
<div className={styles.formSection}>
Expand Down
6 changes: 3 additions & 3 deletions src/ohri-form.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ const OHRIForm: React.FC<OHRIFormProps> = ({
const [initialValues, setInitialValues] = useState({});
const [scrollablePages, setScrollablePages] = useState(new Set<OHRIFormPageProps>());
const [selectedPage, setSelectedPage] = useState('');
const [collapsed, setCollapsed] = useState(true);
const [isFormExpanded, setIsFormExpanded] = useState<boolean | undefined>(undefined);
const [isLoadingFormDependencies, setIsLoadingFormDependencies] = useState(true);
const [isSubmitting, setIsSubmitting] = useState(false);
const [pagesWithErrors, setPagesWithErrors] = useState([]);
Expand All @@ -134,7 +134,7 @@ const OHRIForm: React.FC<OHRIFormProps> = ({
),
meta: {
handleCollapse: (value: boolean) => {
setCollapsed(value);
setIsFormExpanded(value);
},
},
};
Expand Down Expand Up @@ -290,7 +290,7 @@ const OHRIForm: React.FC<OHRIFormProps> = ({
location={location}
visit={visit}
values={props.values}
isCollapsed={collapsed}
isFormExpanded={isFormExpanded}
sessionMode={sessionMode}
scrollablePages={scrollablePages}
setAllInitialValues={setInitialValues}
Expand Down

0 comments on commit fd804a6

Please sign in to comment.