@unite-us/app-create-referral 0.15.101 → 0.15.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NavButtons.js +17 -5
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +16 -5
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/review/Review.js +11 -4
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +22 -13
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PropTypes } from 'prop-types';
|
|
3
3
|
import { Button, Icon } from '@unite-us/app-components';
|
|
4
|
+
import Spinner from './spinners/Spinner';
|
|
4
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
6
|
const NavButtons = _ref => {
|
|
6
7
|
let {
|
|
@@ -13,7 +14,8 @@ const NavButtons = _ref => {
|
|
|
13
14
|
hasOffPlatformReferrals,
|
|
14
15
|
disabled,
|
|
15
16
|
hasDraftReferral = false,
|
|
16
|
-
isForwardReferralPath = false
|
|
17
|
+
isForwardReferralPath = false,
|
|
18
|
+
isSavingDraft = false
|
|
17
19
|
} = _ref;
|
|
18
20
|
return /*#__PURE__*/_jsx("div", {
|
|
19
21
|
className: "flex justify-center responsive-max-width flex-col mx-auto mb-6",
|
|
@@ -34,9 +36,17 @@ const NavButtons = _ref => {
|
|
|
34
36
|
}), !hideForwardButtons ? /*#__PURE__*/_jsxs("div", {
|
|
35
37
|
className: "flex",
|
|
36
38
|
children: [!hideSaveDraftLink && !hasOffPlatformReferrals && !isForwardReferralPath && /*#__PURE__*/_jsxs("button", {
|
|
37
|
-
className: "mr-10 text-current-blue font-bold",
|
|
39
|
+
className: "mr-10 text-current-blue font-bold inline-flex items-center disabled:opacity-50 disabled:cursor-not-allowed",
|
|
38
40
|
onClick: onSaveDraftReferral,
|
|
39
|
-
|
|
41
|
+
disabled: isSavingDraft,
|
|
42
|
+
"aria-busy": isSavingDraft,
|
|
43
|
+
children: [isSavingDraft ? /*#__PURE__*/_jsx(Spinner, {
|
|
44
|
+
className: "mr-2 inline-flex",
|
|
45
|
+
style: {
|
|
46
|
+
width: '16px',
|
|
47
|
+
height: '16px'
|
|
48
|
+
}
|
|
49
|
+
}) : /*#__PURE__*/_jsx(Icon, {
|
|
40
50
|
icon: "Save",
|
|
41
51
|
color: "action-blue",
|
|
42
52
|
className: "mr-2 mb-1"
|
|
@@ -67,13 +77,15 @@ NavButtons.propTypes = {
|
|
|
67
77
|
hideSaveDraftLink: PropTypes.bool,
|
|
68
78
|
hasOffPlatformReferrals: PropTypes.bool,
|
|
69
79
|
hasDraftReferral: PropTypes.bool,
|
|
70
|
-
disabled: PropTypes.bool
|
|
80
|
+
disabled: PropTypes.bool,
|
|
81
|
+
isSavingDraft: PropTypes.bool
|
|
71
82
|
};
|
|
72
83
|
NavButtons.defaultProps = {
|
|
73
84
|
hideForwardButtons: false,
|
|
74
85
|
hideSaveDraftLink: false,
|
|
75
86
|
hasOffPlatformReferrals: false,
|
|
76
|
-
disabled: false
|
|
87
|
+
disabled: false,
|
|
88
|
+
isSavingDraft: false
|
|
77
89
|
};
|
|
78
90
|
export default NavButtons;
|
|
79
91
|
//# sourceMappingURL=NavButtons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavButtons.js","names":["React","PropTypes","Button","Icon","jsx","_jsx","jsxs","_jsxs","NavButtons","_ref","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","disabled","hasDraftReferral","isForwardReferralPath","className","children","id","onClick","label","icon","name","direction","color","position","secondary","primary","propTypes","func","isRequired","string","bool","defaultProps"],"sources":["../../src/components/NavButtons.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Button, Icon } from '@unite-us/app-components';\n\nconst NavButtons = ({\n onBackClick,\n onForwardClick,\n onSaveDraftReferral,\n primaryLabel,\n hideForwardButtons,\n hideSaveDraftLink,\n hasOffPlatformReferrals,\n disabled,\n hasDraftReferral = false,\n isForwardReferralPath = false,\n}) => (\n <div className=\"flex justify-center responsive-max-width flex-col mx-auto mb-6\">\n <div className=\"flex justify-between\">\n <Button\n id=\"back\"\n onClick={onBackClick}\n label={hasDraftReferral ? \"Draft Referral\" : \"Back\"}\n icon={\n {\n name: \"ChevronArrow\",\n direction: \"left\",\n color: \"text-blue\",\n position: \"left\"\n }\n }\n className=\"md:h-12 normal-case\"\n secondary={true}\n />\n\n {\n !hideForwardButtons ? (\n <div className=\"flex\">\n {!hideSaveDraftLink && !hasOffPlatformReferrals && !isForwardReferralPath && (\n <button
|
|
1
|
+
{"version":3,"file":"NavButtons.js","names":["React","PropTypes","Button","Icon","Spinner","jsx","_jsx","jsxs","_jsxs","NavButtons","_ref","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","disabled","hasDraftReferral","isForwardReferralPath","isSavingDraft","className","children","id","onClick","label","icon","name","direction","color","position","secondary","style","width","height","primary","propTypes","func","isRequired","string","bool","defaultProps"],"sources":["../../src/components/NavButtons.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Button, Icon } from '@unite-us/app-components';\nimport Spinner from './spinners/Spinner';\n\nconst NavButtons = ({\n onBackClick,\n onForwardClick,\n onSaveDraftReferral,\n primaryLabel,\n hideForwardButtons,\n hideSaveDraftLink,\n hasOffPlatformReferrals,\n disabled,\n hasDraftReferral = false,\n isForwardReferralPath = false,\n isSavingDraft = false,\n}) => (\n <div className=\"flex justify-center responsive-max-width flex-col mx-auto mb-6\">\n <div className=\"flex justify-between\">\n <Button\n id=\"back\"\n onClick={onBackClick}\n label={hasDraftReferral ? \"Draft Referral\" : \"Back\"}\n icon={\n {\n name: \"ChevronArrow\",\n direction: \"left\",\n color: \"text-blue\",\n position: \"left\"\n }\n }\n className=\"md:h-12 normal-case\"\n secondary={true}\n />\n\n {\n !hideForwardButtons ? (\n <div className=\"flex\">\n {!hideSaveDraftLink && !hasOffPlatformReferrals && !isForwardReferralPath && (\n <button\n className=\"mr-10 text-current-blue font-bold inline-flex items-center disabled:opacity-50 disabled:cursor-not-allowed\"\n onClick={onSaveDraftReferral}\n disabled={isSavingDraft}\n aria-busy={isSavingDraft}\n >\n {isSavingDraft ? (\n <Spinner className=\"mr-2 inline-flex\" style={{ width: '16px', height: '16px' }} />\n ) : (\n <Icon icon=\"Save\" color=\"action-blue\" className=\"mr-2 mb-1\" />\n )}\n Save Draft Referral(s)\n </button>\n )}\n <Button\n id=\"submit\"\n disabled={disabled}\n onClick={onForwardClick}\n className='md:w-64 md:h-12 w-64 normal-case'\n label={primaryLabel}\n icon={\n {\n name: \"Referral\",\n color: \"white\",\n position: \"left\"\n }\n }\n primary\n />\n </div>\n ) : null\n }\n </div>\n </div>\n);\n\nNavButtons.propTypes = {\n onBackClick: PropTypes.func.isRequired,\n onForwardClick: PropTypes.func.isRequired,\n onSaveDraftReferral:PropTypes.func.isRequired,\n primaryLabel: PropTypes.string.isRequired,\n hideForwardButtons: PropTypes.bool,\n hideSaveDraftLink: PropTypes.bool,\n hasOffPlatformReferrals: PropTypes.bool,\n hasDraftReferral: PropTypes.bool,\n disabled: PropTypes.bool,\n isSavingDraft: PropTypes.bool,\n}\n\nNavButtons.defaultProps = {\n hideForwardButtons: false,\n hideSaveDraftLink: false,\n hasOffPlatformReferrals: false,\n disabled: false,\n isSavingDraft: false,\n}\n\nexport default NavButtons;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,6 +68,7 @@ export default function ReferralBuilder() {
|
|
|
68
68
|
const [fieldErrors, setFieldErrors] = useState({});
|
|
69
69
|
const [nextClicked, setNextClicked] = useState(false);
|
|
70
70
|
const [saveDraftClicked, setSaveDraftClicked] = useState(false);
|
|
71
|
+
const [isSavingDraft, setIsSavingDraft] = useState(false);
|
|
71
72
|
const [expandReferralsCard, setExpandReferralsCard] = useState(false);
|
|
72
73
|
const [documents, setDocuments] = useState([]);
|
|
73
74
|
const [caseDocuments, setCaseDocuments] = useState([]);
|
|
@@ -435,7 +436,13 @@ export default function ReferralBuilder() {
|
|
|
435
436
|
const createReferrals = useCreateReferrals();
|
|
436
437
|
const handleSaveDraftReferral = async () => {
|
|
437
438
|
setSaveDraftClicked(true);
|
|
438
|
-
if (
|
|
439
|
+
if (isSavingDraft) return;
|
|
440
|
+
if (!isEmptyErrors(errors)) {
|
|
441
|
+
focusErrors();
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
setIsSavingDraft(true);
|
|
445
|
+
try {
|
|
439
446
|
await createReferrals({
|
|
440
447
|
draft: true
|
|
441
448
|
});
|
|
@@ -444,8 +451,8 @@ export default function ReferralBuilder() {
|
|
|
444
451
|
} = CALLBACKS;
|
|
445
452
|
onSaveDraftReferral && onSaveDraftReferral();
|
|
446
453
|
CALLBACKS.notify.success('Draft referral successfully saved');
|
|
447
|
-
}
|
|
448
|
-
|
|
454
|
+
} finally {
|
|
455
|
+
setIsSavingDraft(false);
|
|
449
456
|
}
|
|
450
457
|
};
|
|
451
458
|
const changeWidthReferralCard = () => {
|
|
@@ -521,7 +528,9 @@ export default function ReferralBuilder() {
|
|
|
521
528
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
522
529
|
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
523
530
|
hasDraftReferral: hasDraftReferral,
|
|
524
|
-
isForwardReferralPath: isForwardReferralPath
|
|
531
|
+
isForwardReferralPath: isForwardReferralPath,
|
|
532
|
+
disabled: isSavingDraft,
|
|
533
|
+
isSavingDraft: isSavingDraft
|
|
525
534
|
}), !isEmpty(allPrograms) ? /*#__PURE__*/_jsxs("div", {
|
|
526
535
|
className: "relative mx-auto responsive-max-width",
|
|
527
536
|
children: [errorMessage && (nextClicked || saveDraftClicked) ? /*#__PURE__*/_jsxs("div", {
|
|
@@ -611,7 +620,9 @@ export default function ReferralBuilder() {
|
|
|
611
620
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
612
621
|
hasDraftReferral: hasDraftReferral,
|
|
613
622
|
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
614
|
-
isForwardReferralPath: isForwardReferralPath
|
|
623
|
+
isForwardReferralPath: isForwardReferralPath,
|
|
624
|
+
disabled: isSavingDraft,
|
|
625
|
+
isSavingDraft: isSavingDraft
|
|
615
626
|
})]
|
|
616
627
|
})]
|
|
617
628
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","draftCaseId","redirectToDraftReferral","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (hasDraftReferral) {\n const draftCaseId = get(draftState, 'case.id', null);\n CALLBACKS.redirectToDraftReferral(draftCaseId);\n } else if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n };\n\n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","isSavingDraft","setIsSavingDraft","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","draftCaseId","redirectToDraftReferral","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (hasDraftReferral) {\n const draftCaseId = get(draftState, 'case.id', null);\n CALLBACKS.redirectToDraftReferral(draftCaseId);\n } else if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n };\n\n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isSavingDraft) return;\n if (!isEmptyErrors(errors)) {\n focusErrors();\n return;\n }\n\n setIsSavingDraft(true);\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n disabled={isSavingDraft}\n isSavingDraft={isSavingDraft}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n disabled={isSavingDraft}\n isSavingDraft={isSavingDraft}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,6 +64,7 @@ export default function Review() {
|
|
|
64
64
|
const [consented, setConsented] = useState(true);
|
|
65
65
|
const [consentCompleted, setConsentCompleted] = useState(false);
|
|
66
66
|
const [disableSubmit, setDisableSubmit] = useState(false);
|
|
67
|
+
const [isSavingDraft, setIsSavingDraft] = useState(false);
|
|
67
68
|
const [loading, setLoading] = useState(false);
|
|
68
69
|
const formRefs = useRef({});
|
|
69
70
|
const [referralsResultDetail, setReferralsResultDetail] = useState([]);
|
|
@@ -189,6 +190,8 @@ export default function Review() {
|
|
|
189
190
|
const createReferrals = useCreateReferrals();
|
|
190
191
|
const forwardReferral = useForwardReferral();
|
|
191
192
|
const handleSaveDraftReferral = async () => {
|
|
193
|
+
if (isSavingDraft) return;
|
|
194
|
+
setIsSavingDraft(true);
|
|
192
195
|
try {
|
|
193
196
|
await createReferrals({
|
|
194
197
|
draft: true
|
|
@@ -199,6 +202,8 @@ export default function Review() {
|
|
|
199
202
|
onSaveDraftReferral && onSaveDraftReferral();
|
|
200
203
|
} catch (err) {
|
|
201
204
|
console.error(err);
|
|
205
|
+
} finally {
|
|
206
|
+
setIsSavingDraft(false);
|
|
202
207
|
}
|
|
203
208
|
};
|
|
204
209
|
const setFocus = index => {
|
|
@@ -513,8 +518,9 @@ export default function Review() {
|
|
|
513
518
|
hideForwardButtons: isEmpty(referrals),
|
|
514
519
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
515
520
|
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
516
|
-
disabled: disableSubmit,
|
|
517
|
-
isForwardReferralPath: isForwardReferralPath
|
|
521
|
+
disabled: disableSubmit || isSavingDraft,
|
|
522
|
+
isForwardReferralPath: isForwardReferralPath,
|
|
523
|
+
isSavingDraft: isSavingDraft
|
|
518
524
|
}), hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && /*#__PURE__*/_jsx(DropdownMultiplesReferrals, {
|
|
519
525
|
referrals: referrals,
|
|
520
526
|
setReferralErrors: setReferralErrors,
|
|
@@ -678,8 +684,9 @@ export default function Review() {
|
|
|
678
684
|
primaryLabel: "Confirm & Submit",
|
|
679
685
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
680
686
|
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
681
|
-
disabled: disableSubmit,
|
|
682
|
-
isForwardReferralPath: isForwardReferralPath
|
|
687
|
+
disabled: disableSubmit || isSavingDraft,
|
|
688
|
+
isForwardReferralPath: isForwardReferralPath,
|
|
689
|
+
isSavingDraft: isSavingDraft
|
|
683
690
|
})
|
|
684
691
|
})]
|
|
685
692
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Review","_currentProvider$nh_c","_features$nh_consent2","_features$nh_consent3","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","selectedPrograms","personId","crtb854ForwardingSuperset","featureFlagClientNeeds","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","features","nhConsentEnabled","length","enabled","data","clientNeedsData","concat","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","_clientNeedsData$data","needs","reduce","map","condition","id","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","createReferrals","forwardReferral","handleSaveDraftReferral","draft","onSaveDraftReferral","err","setFocus","setTimeout","_errors$index","_formRefs$current","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","notify","success","warn","addIsGrouped","detail","referralsList","item","referral","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","response","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","_referralIdsByIndex$i","getForwardErrorMessage","_forwardReferrals$err","handleForwardReferralSubmit","_referrals$selectedRe","referralToForward","status","newReferrals","originalReferral","_referral$data","push","handleStandardSubmit","_person$consent","_referralIdsByIndex$i2","consent","handleSubmit","onConsentComplete","event","_event$data","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","_features$nh_consent","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","_CALLBACKS$consent","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","isAuthRequired","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","documents","uploadedFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/ui';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values, intersectionBy, upperFirst } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport {\n referralIsGrouped,\n referralIsOON,\n} from '../builder/utils.js';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../builder/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView'\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\nimport { useFind } from '../../api/ApiHooks';\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n selectedPrograms,\n personId,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({})\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [referralsToConsent, setReferralsToConsent] = useState([]);\n const showNHConsent = currentProvider?.nh_consent ?? false;\n\n const features = useMemo(() => {\n const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;\n return {\n nh_consent: {\n enabled: nhConsentEnabled,\n referrals: nhConsentEnabled ? referralsToConsent : [],\n }\n };\n }, [showNHConsent, referralsToConsent]);\n\n const { data: clientNeedsData } = useFind(\n `people/${personId}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n }\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n ref.expanded = !ref.expanded\n }\n return ref;\n })\n setExpandedReferrals(expanded);\n }\n\n const onDeleteReferralClick = (index) => {\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n }\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n }\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments ? r.attachableDocuments.filter((doc) => doc.attached) : [],\n expanded: true,\n index: i,\n isOON: referralIsOON(r),\n }));\n setExpandedReferrals(expanded)\n }, [referrals]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\nuseEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries = (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n}, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById(\"referralSelected\");\n return referralSelectedField.focus();\n }\n }, 100);\n }\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find(idx =>\n some(values(errors[idx]), Boolean)\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n\n if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n const addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every(response => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\n const newReferrals = referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map(referral => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral));\n }\n };\n\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n }\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n }\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent = referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted));\n\n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, features.nh_consent?.enabled, consentCompleted]);\n\n if (referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted))) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>\n {CONSENT_DESCRIPTION}\n </StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n features={features}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : (hasBeenSubmitted) ?\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && <DropdownMultiplesReferrals referrals={referrals} setReferralErrors={setReferralErrors} formRefs={formRefs} setSelectedReferralToLink={setSelectedReferralToLink} serviceTypeName={serviceTypeName} />}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required');\n\n return (\n <div className=\"mb-6 mx-auto responsive-max-width\" key={`referral-review-card-${index}`} data-testid={`referral-review-card-${index}`}>\n <div className={`bg-white border border-solid border-blue-border ${referral?.expanded ? \"rounded-t-lg\" : \"rounded\"}`}>\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">Referral {index + 1}: {get(referral, 'service.name')}</h2>\n <div>\n <Icon\n icon=\"IconPencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => navigate('/create/builder', { state: { selectedReferral: index } })}\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n <Icon icon=\"IconTrash\" color=\"#182A44\" className=\"mr-3\" onClick={() => onDeleteReferralClick(index)} data-testid={`referral-review-card-trash-${index}`} ariaLabel=\"delete\" />\n <Icon\n icon={referral?.expanded ? \"IconChevronDown\" : \"IconChevronRight\"}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={el => deleteModal.current[index] = el}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {\n get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Programs</h2>\n {\n programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')} {get(program, 'provider.name') ? '(' + get(program, 'provider.name') + ')' : ''}\n </p>\n ))\n }\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Network</h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us.\n We'll create an off-platform case where you can document communication with or services provided by the program.\n </p>\n </div>\n )}\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Authorization Request</h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(referral, 'programs[0].fee_schedule_program')}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">{newLanguageDashboard ? 'Description' : 'Referral Description'}</h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">{newLanguageDashboard ? 'Case Open Date' : 'Open Date'}</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.length') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Associated Need{get(referral, 'client_need.length') > 1 ? 's' : ''}</h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>\n {getClientNeedName(needId)}\n </p>\n ))}\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Primary Worker</h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Attached Documents</h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(get(referral, 'attachments')) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper uploadedFiles={get(referral, 'attachments')} />\n </div>\n )}\n {isEmpty(get(referral, 'attachments')) && isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon icon=\"IconExclamationCircle\" color=\"#182A44\" className=\"mt-px mr-4\" />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null\n }\n </div>\n )\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":";;;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,OAAOC,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,OAAO,QAAQ,OAAO;AACnE,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAEC,UAAU,QAAQ,QAAQ;AAClG,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,OAAOC,UAAU,MAAM,6BAA6B;AACpD,SACEC,yBAAyB,EACzBC,2BAA2B,EAC3BC,mBAAmB,EACnBC,iBAAiB,EACjBC,iCAAiC,QAC5B,aAAa;AACpB,SACEC,iBAAiB,EACjBC,aAAa,QACR,qBAAqB;AAC5B,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,kBAAkB,MAAM,+BAA+B;AAC9D,SAASC,OAAO,EAAEC,2BAA2B,QAAQ,yCAAyC;AAC9F,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,UAAU,MAAM,6BAA6B;AACpD,OAAOC,uBAAuB,MAAM,0CAA0C;AAC9E,OAAOC,mCAAmC,MAAM,4EAA4E;AAC5H,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,SAASC,SAAS,EAAEC,UAAU,EAAEC,eAAe,QAAQ,kBAAkB;AACzE,OAAOC,kBAAkB,MAAM,8DAA8D;AAC7F,OAAOC,mBAAmB,MAAM,iCAAiC;AACjE,OAAOC,iBAAiB,MAAM,iEAAiE;AAC/F,SAASC,uBAAuB,EAAEC,aAAa,QAAQ,kBAAkB;AACzE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,OAAOC,iBAAiB,MAAM,+BAA+B;AAC7D,SAASC,6BAA6B,QAAQ,wDAAwD;AACtG,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,OAAOC,0BAA0B,MAAM,8BAA8B;AACrE,SAASC,OAAO,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE7C,eAAe,SAASC,MAAMA,CAAA,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EAC/B,MAAMC,QAAQ,GAAG1C,WAAW,CAAC,CAAC;EAE9B,MAAM;IACJ2C,QAAQ;IACRC,KAAK,EAAE;MACLC,YAAY;MACZC,SAAS;MACTC,MAAM;MACNC,cAAc;MACdC,eAAe;MACfC,eAAe;MACfC,MAAM;MACNC,UAAU;MACVC,YAAY;MACZC,eAAe;MACfC,gBAAgB;MAChBC;IACF;EACF,CAAC,GAAG5C,2BAA2B,CAAC,CAAC;EAEjC,MAAM6C,yBAAyB,GAAG/B,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC;EACpF,MAAMgC,sBAAsB,GAAGhC,cAAc,CAAC,6BAA6B,EAAE,KAAK,CAAC;EACnF,MAAMiC,oBAAoB,GAAGjC,cAAc,CAAC,iCAAiC,EAAE,KAAK,CAAC;EACrF,MAAM,CAACkC,IAAI,EAAEC,UAAU,CAAC,GAAG1E,QAAQ,CAAC,KAAK,CAAC;EAC1C,MAAM,CAAC2E,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG5E,QAAQ,CAAC,KAAK,CAAC;EAC7E,MAAM,CAAC6E,WAAW,EAAEC,cAAc,CAAC,GAAG9E,QAAQ,CAAC,CAAC,CAAC,CAAC;EAClD,MAAM,CAAC+E,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGhF,QAAQ,CAAC,EAAE,CAAC;EAC9D,MAAM,CAACiF,yBAAyB,EAAEC,4BAA4B,CAAC,GAAGlF,QAAQ,CAAC,KAAK,CAAC;EACjF,MAAM,CAACmF,wBAAwB,EAAEC,2BAA2B,CAAC,GAAGpF,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC5E,MAAM,CAACqF,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGtF,QAAQ,CAAC,CAAC,CAAC;EACvE;EACA;EACA,MAAM,CAACuF,SAAS,EAAEC,YAAY,CAAC,GAAGxF,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACyF,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG1F,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM,CAAC2F,aAAa,EAAEC,gBAAgB,CAAC,GAAG5F,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAAC6F,OAAO,EAAEC,UAAU,CAAC,GAAG9F,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM+F,QAAQ,GAAG7F,MAAM,CAAC,CAAC,CAAC,CAAC;EAC3B,MAAM,CAAC8F,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGjG,QAAQ,CAAC,EAAE,CAAC;EACtE,MAAM,CAACkG,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGnG,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM,CAACoG,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGrG,QAAQ,CAAC,EAAE,CAAC;EAChE,MAAMsG,aAAa,IAAAlD,qBAAA,GAAGW,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEwC,UAAU,cAAAnD,qBAAA,cAAAA,qBAAA,GAAI,KAAK;EAE1D,MAAMoD,QAAQ,GAAGrG,OAAO,CAAC,MAAM;IAC7B,MAAMsG,gBAAgB,GAAGH,aAAa,IAAIF,kBAAkB,CAACM,MAAM,GAAG,CAAC;IACvE,OAAO;MACLH,UAAU,EAAE;QACVI,OAAO,EAAEF,gBAAgB;QACzB9C,SAAS,EAAE8C,gBAAgB,GAAGL,kBAAkB,GAAG;MACrD;IACF,CAAC;EACH,CAAC,EAAE,CAACE,aAAa,EAAEF,kBAAkB,CAAC,CAAC;EAEvC,MAAM;IAAEQ,IAAI,EAAEC;EAAgB,CAAC,GAAGjE,OAAO,WAAAkE,MAAA,CAC7BzC,QAAQ,wBAClB;IACE0C,WAAW,EAAE;EACf,CAAC,EACD;IACEC,WAAW,EAAE;MACXC,eAAe,EAAEC;IACnB;EACF,CACF,CAAC;EAED,MAAMC,cAAc,GAAGhH,OAAO,CAAC,MAAM;IAAA,IAAAiH,qBAAA;IACnC,MAAMC,KAAK,GAAG,CAAAR,eAAe,aAAfA,eAAe,gBAAAO,qBAAA,GAAfP,eAAe,CAAED,IAAI,cAAAQ,qBAAA,uBAArBA,qBAAA,CAAuBR,IAAI,KAAI,EAAE;IAC/C,OAAOS,KAAK,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,SAAS,KAAK;MACtCD,GAAG,CAACC,SAAS,CAACC,EAAE,CAAC,GAAG7G,UAAU,CAAC4G,SAAS,CAACE,IAAI,CAAC;MAC9C,OAAOH,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC,EAAE,CAACV,eAAe,CAAC,CAAC;EAErB,MAAMc,iBAAiB,GAAIC,MAAM,IAAK;IACpC,OAAOT,cAAc,CAACS,MAAM,CAAC,IAAIA,MAAM;EACzC,CAAC;EAED,MAAMC,gBAAgB,GAAG1F,mBAAmB,CAAC,CAAC;EAC9C,MAAM2F,qBAAqB,GAAG,CAAC,CAAC7D,UAAU,IAAI,CAAC,CAACC,YAAY;EAC5D,MAAM6D,wBAAwB,GAAGtD,IAAI,IAAIE,uBAAuB;EAEhE,MAAMqD,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACrD,WAAW,CAAC,CAACyC,MAAM,CAAC,CAACa,GAAG,EAAEC,KAAK,KAAK;IAC7D,MAAMC,UAAU,GAAGxD,WAAW,CAACuD,KAAK,CAAC;IACrCD,GAAG,CAACC,KAAK,CAAC,GAAG;MACXE,gBAAgB,EAAED,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC;IAChC,CAAC;IACD,OAAOH,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMI,oBAAoB,GAAGA,CAAA,KAAM5E,SAAS,CAAC+C,MAAM,GAAG,CAAC;EAEvD,MAAM8B,iBAAiB,GAAGA,CAACC,aAAa,EAAEC,SAAS,KAAK;IACtD5D,cAAc,CAAE6D,eAAe,IAAK;MAClC,MAAMC,aAAa,GAAGD,eAAe,CAACF,aAAa,CAAC;MACpD,MAAMI,aAAa,GAAAC,aAAA,CAAAA,aAAA,KAAQF,aAAa,GAAKF,SAAS,CAAE;MAExD,IAAIlI,OAAO,CAACqI,aAAa,EAAED,aAAa,CAAC,EAAE;QACzC,OAAOD,eAAe;MACxB;MAEA,OAAAG,aAAA,CAAAA,aAAA,KACKH,eAAe;QAClB,CAACF,aAAa,GAAGI;MAAa;IAElC,CAAC,CAAC;EACJ,CAAC;EAED,MAAME,cAAc,GAAIX,KAAK,IAAK;IAChC,MAAMY,QAAQ,GAAGjE,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEwC,GAAG,CAAE0B,GAAG,IAAK;MAC/C,IAAIA,GAAG,CAACb,KAAK,KAAKA,KAAK,EAAE;QACvBa,GAAG,CAACD,QAAQ,GAAG,CAACC,GAAG,CAACD,QAAQ;MAC9B;MACA,OAAOC,GAAG;IACZ,CAAC,CAAC;IACFjE,oBAAoB,CAACgE,QAAQ,CAAC;EAChC,CAAC;EAED,MAAME,qBAAqB,GAAId,KAAK,IAAK;IACvChD,2BAA2B,CAACgD,KAAK,CAAC;IAClClD,4BAA4B,CAAC,IAAI,CAAC;EACpC,CAAC;EAED,MAAMiE,0BAA0B,GAAGA,CAAA,KAAM;IACvCjE,4BAA4B,CAAC,KAAK,CAAC;EACrC,CAAC;EAEDjF,SAAS,CAAC,MAAM;IACd,MAAM+I,QAAQ,GAAGrF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE4D,GAAG,CAAC,CAAC6B,CAAC,EAAEC,CAAC,KAAAP,aAAA,CAAAA,aAAA,KAChCM,CAAC;MACJE,iBAAiB,EAAEF,CAAC,CAACG,mBAAmB,GAAGH,CAAC,CAACG,mBAAmB,CAACC,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACC,QAAQ,CAAC,GAAG,EAAE;MACnGV,QAAQ,EAAE,IAAI;MACdZ,KAAK,EAAEiB,CAAC;MACRM,KAAK,EAAEtI,aAAa,CAAC+H,CAAC;IAAC,EACvB,CAAC;IACHpE,oBAAoB,CAACgE,QAAQ,CAAC;EAChC,CAAC,EAAE,CAACrF,SAAS,CAAC,CAAC;EAEf,MAAMiG,WAAW,GAAG1J,MAAM,CAAC,EAAE,CAAC;EAE9BD,SAAS,CAAC,MAAM;IACd,IAAI,CAACK,OAAO,CAACqD,SAAS,CAAC,EAAE;MACvB,IAAIsB,yBAAyB,EAAE;QAC7B2E,WAAW,CAACC,OAAO,CAAC1E,wBAAwB,CAAC,CAAC2E,UAAU,CAAC,CAAC;MAC5D,CAAC,MAAM,IAAI3E,wBAAwB,IAAI,CAAC,EAAE;QACxCyE,WAAW,CAACC,OAAO,CAAC1E,wBAAwB,CAAC,CAAC4E,WAAW,CAAC,CAAC;QAC3D3E,2BAA2B,CAAC,CAAC,CAAC,CAAC;MACjC;IACF;EACF,CAAC,EAAE,CAACH,yBAAyB,EAAEE,wBAAwB,EAAExB,SAAS,CAAC,CAAC;EAEtE1D,SAAS,CAAC,MAAM;IACd,IAAI,CAAA+F,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEU,MAAM,IAAG,CAAC,EAAE;MACrCsD,cAAc,CAACC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtD;IAEA,IAAIC,MAAM,CAACC,WAAW,EAAE;MACtB,IAAI;QACF,MAAMC,UAAU,GAAID,WAAW,CAACE,gBAAgB,IAAIF,WAAW,CAACE,gBAAgB,CAAC,YAAY,CAAC,IAAK,EAAE;QACrG,MAAMC,SAAS,GAAGF,UAAU,CAAC1D,MAAM,GAAG,CAAC,IAAI0D,UAAU,CAAC,CAAC,CAAC,CAACG,IAAI,KAAK,QAAQ;QAC1E,MAAMC,sBAAsB,GAAGR,cAAc,CAACS,OAAO,CAAC,oBAAoB,CAAC,KAAK,MAAM;QAEtF,IAAIH,SAAS,IAAIE,sBAAsB,EAAE;UACvCR,cAAc,CAACU,UAAU,CAAC,oBAAoB,CAAC;UAC/C3I,SAAS,CAAC4I,gBAAgB,CAAC,CAAC;QAC9B;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF;EACF,CAAC,EAAE,CAAC5E,qBAAqB,CAAC,CAAC;EAEzB,MAAM8E,sBAAsB,GAAGA,CAAA,KAAM;IACnC,MAAMC,gBAAgB,GAAGpH,SAAS,CAAC6F,MAAM,CAAC,CAACJ,CAAC,EAAEC,CAAC,KAAKA,CAAC,KAAKlE,wBAAwB,CAAC;IACnF,MAAM6F,mBAAmB,GAAGD,gBAAgB,CAACE,OAAO,CAAE7B,CAAC,IAAKA,CAAC,CAAC8B,QAAQ,CAAC;IACvE,MAAMC,mBAAmB,GAAGxK,cAAc,CAACyD,gBAAgB,EAAE4G,mBAAmB,EAAE,IAAI,CAAC;IACvFxH,QAAQ,CAAChC,OAAO,CAAC;MACfmC,SAAS,EAAE,CAAC,GAAGoH,gBAAgB,CAAC;MAChC3G,gBAAgB,EAAE,CAAC,GAAG+G,mBAAmB;IAC3C,CAAC,CAAC,CAAC;IACHhC,0BAA0B,CAAC,CAAC;EAC9B,CAAC;EAED,MAAMiC,eAAe,GAAGtJ,kBAAkB,CAAC,CAAC;EAC5C,MAAMuJ,eAAe,GAAG3I,kBAAkB,CAAC,CAAC;EAE5C,MAAM4I,uBAAuB,GAAG,MAAAA,CAAA,KAAY;IAC1C,IAAI;MACF,MAAMF,eAAe,CAAC;QAAEG,KAAK,EAAE;MAAK,CAAC,CAAC;MACtC,MAAM;QAAEC;MAAoB,CAAC,GAAGzJ,SAAS;MACzCyJ,mBAAmB,IAAIA,mBAAmB,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZZ,OAAO,CAACD,KAAK,CAACa,GAAG,CAAC;IACpB;EACF,CAAC;EAED,MAAMC,QAAQ,GAAItD,KAAK,IAAK;IAC1BuD,UAAU,CAAC,MAAM;MAAA,IAAAC,aAAA;MACf,KAAAA,aAAA,GAAI5D,MAAM,CAACI,KAAK,CAAC,cAAAwD,aAAA,eAAbA,aAAA,CAAetD,gBAAgB,EAAE;QAAA,IAAAuD,iBAAA;QACnC,CAAAA,iBAAA,GAAA9F,QAAQ,CAAC8D,OAAO,cAAAgC,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBC,QAAQ,cAAAD,iBAAA,eAA1BA,iBAAA,CAA4BE,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrE,MAAMC,qBAAqB,GAAGC,QAAQ,CAACC,cAAc,CAAC,kBAAkB,CAAC;QACzE,OAAOF,qBAAqB,CAACG,KAAK,CAAC,CAAC;MACtC;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIhE,KAAK,GAAG,CAAC;IACb,MAAMiE,oBAAoB,GAAGpE,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAACsE,IAAI,CAACC,GAAG,IACvD9L,IAAI,CAACC,MAAM,CAACsH,MAAM,CAACuE,GAAG,CAAC,CAAC,EAAEC,OAAO,CACnC,CAAC;IAED,IAAI,CAAC/L,IAAI,CAACC,MAAM,CAACsH,MAAM,CAACI,KAAK,CAAC,CAAC,EAAEoE,OAAO,CAAC,IAAIH,oBAAoB,EAAE;MACjEjE,KAAK,GAAGqE,QAAQ,CAACJ,oBAAoB,CAAC;IACxC;IACAX,QAAQ,CAACtD,KAAK,CAAC;EACjB,CAAC;EAED,MAAMsE,0BAA0B,GAAIC,iBAAiB,IAAK;IACxD,MAAMC,qBAAqB,GAAGD,iBAAiB,CAACnD,MAAM,CAACqD,IAAA;MAAA,IAAC;QAAEpI;MAAK,CAAC,GAAAoI,IAAA;MAAA,OAAKpI,IAAI;IAAA,EAAC,CAACiC,MAAM;IACjF,MAAMoG,cAAc,GAAGH,iBAAiB,CAACjG,MAAM;IAE/C,IAAIkG,qBAAqB,KAAKE,cAAc,EAAE;MAC5C/K,SAAS,CAACgL,MAAM,CAACC,OAAO,CAAC,mBAAmB,CAAC;IAC/C,CAAC,MAAM,IAAIJ,qBAAqB,GAAG,CAAC,EAAE;MACpC7K,SAAS,CAACgL,MAAM,CAACE,IAAI,CAAC,wBAAwB,CAAC;IACjD,CAAC,MAAM;MACLlL,SAAS,CAACgL,MAAM,CAACnC,KAAK,CAAC,sBAAsB,CAAC;IAChD;EACF,CAAC;EAED,MAAMsC,YAAY,GAAGA,CAACC,MAAM,EAAEC,aAAa,KAAK;IAC9C,OAAO,CAACD,MAAM,IAAI,EAAE,EAAE5F,GAAG,CAAE8F,IAAI,IAAK;MAClC,MAAMC,QAAQ,GAAGF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGC,IAAI,CAACjF,KAAK,CAAC;MAE5C,OAAAU,aAAA,CAAAA,aAAA,KACKuE,IAAI;QACPE,SAAS,EAAED,QAAQ,GAAGlM,iBAAiB,CAACkM,QAAQ,CAAC,GAAG;MAAK;IAE7D,CAAC,CAAC;EACJ,CAAC;EAED,MAAME,qBAAqB,GAAG,SAAAA,CAAA,EAA2B;IAAA,IAA1BC,gBAAgB,GAAAC,SAAA,CAAAhH,MAAA,QAAAgH,SAAA,QAAAxG,SAAA,GAAAwG,SAAA,MAAG,EAAE;IAClD,OAAOD,gBAAgB,CAACnG,MAAM,CAAC,UAACqG,iBAAiB,EAAiC;MAAA,IAA/B;QAAElF,aAAa;QAAEhB;MAAG,CAAC,GAAAiG,SAAA,CAAAhH,MAAA,QAAAgH,SAAA,QAAAxG,SAAA,GAAAwG,SAAA,MAAG,CAAC,CAAC;MAC3E,IAAIjF,aAAa,IAAI,IAAI,EAAE;QACzB,OAAOkF,iBAAiB;MAC1B;MAEAA,iBAAiB,CAAClF,aAAa,CAAC,GAAGhB,EAAE,IAAI,EAAE;MAE3C,OAAOkG,iBAAiB;IAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC;EAED,MAAMC,mBAAmB,GAAGA,CAACT,MAAM,EAAEU,sBAAsB,KAAK;IAC9D,MAAMC,kBAAkB,GAAGZ,YAAY,CAACC,MAAM,EAAExJ,SAAS,CAAC;IAC1D0C,qBAAqB,CAACwH,sBAAsB,CAAC;IAC7C5H,wBAAwB,CAAC6H,kBAAkB,CAAC;IAC5CpB,0BAA0B,CAACoB,kBAAkB,CAAC;EAChD,CAAC;EAED,MAAMC,sBAAsB,GAAIC,gBAAgB,IAC9CA,gBAAgB,KAAK,KAAK,IAC1B,EAACA,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEC,YAAY,KAC/BD,gBAAgB,CAACE,KAAK,CAACC,QAAQ,IAAIA,QAAQ,KAAK,KAAK,CAAC;EAExD,MAAMC,mBAAmB,GAAGA,CAACJ,gBAAgB,EAAEK,aAAa,KAC1DN,sBAAsB,CAACC,gBAAgB,CAAC,IAAIK,aAAa;EAE3D,MAAMC,wBAAwB,GAAG,MAAAA,CAAA,KAAY;IAC3C,IAAI3K,SAAS,CAAC+C,MAAM,GAAG,CAAC,EAAE,OAAO;MAAEyG,MAAM,EAAE,EAAE;MAAEgB,QAAQ,EAAE;QAAE/H,kBAAkB,EAAE;MAAG;IAAE,CAAC;IAErF,MAAMmI,wBAAwB,GAAG5K,SAAS,CAAC6K,MAAM,CAACnJ,sBAAsB,EAAE,CAAC,CAAC;IAC5E,MAAM8I,QAAQ,GAAG,MAAM/C,eAAe,CAAC,CAAC;IACxC,MAAMqD,kBAAkB,GAAGjB,qBAAqB,CAACW,QAAQ,CAACxK,SAAS,CAAC;IACpE,MAAMwJ,MAAM,GAAGgB,QAAQ,CAACO,cAAc,CAACnH,GAAG,CAAC8F,IAAI;MAAA,IAAAsB,qBAAA;MAAA,OAAK;QAClDvG,KAAK,EAAEiF,IAAI,CAACjF,KAAK,IAAI/C,sBAAsB,GAAGgI,IAAI,CAACjF,KAAK,GAAG,CAAC,GAAGiF,IAAI,CAACjF,KAAK;QACzE3D,IAAI,EAAE4I,IAAI,CAAC5I,IAAI;QACfT,MAAM,EAAEqJ,IAAI,CAACrJ,MAAM;QACnB4G,KAAK,EAAEyC,IAAI,CAACzC,KAAK;QACjB3G,UAAU,GAAA0K,qBAAA,GAAEF,kBAAkB,CAACpB,IAAI,CAACjF,KAAK,CAAC,cAAAuG,qBAAA,cAAAA,qBAAA,GAAI;MAChD,CAAC;IAAA,CAAC,CAAC;IACHhL,SAAS,CAAC6K,MAAM,CAACnJ,sBAAsB,EAAE,CAAC,EAAEkJ,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAExE,OAAO;MAAEpB,MAAM;MAAEgB;IAAS,CAAC;EAC7B,CAAC;EAED,MAAMS,sBAAsB,GAAGA,CAACZ,gBAAgB,EAAEK,aAAa;IAAA,IAAAQ,qBAAA;IAAA,QAAAA,qBAAA,GAC7Db,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEC,YAAY,cAAAY,qBAAA,cAAAA,qBAAA,GAAKR,aAAa,GAAG,IAAI,GAAG,kBAAkB;EAAA,CAAC;EAE/E,MAAMS,2BAA2B,GAAG,MAAAA,CAAA,KAAY;IAAA,IAAAC,qBAAA;IAC9C,MAAMC,iBAAiB,IAAAD,qBAAA,GAAGpL,SAAS,CAAC0B,sBAAsB,CAAC,cAAA0J,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IACnE,MAAMf,gBAAgB,GAAG,MAAM3C,eAAe,CAAC;MAC7CrH,MAAM;MACNgL;IACF,CAAC,CAAC;IAEF,IAAIX,aAAa,GAAG,KAAK;IAEzB,IAAIN,sBAAsB,CAACC,gBAAgB,CAAC,EAAE;MAC5CK,aAAa,GAAGL,gBAAgB,CAACE,KAAK,CAACC,QAAQ,IAAI,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEc,MAAM,KAAI,GAAG,IAAI,CAAAd,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEc,MAAM,IAAG,GAAG,CAAC;IACvG;IAAC;IAED,MAAM;MAAE9B,MAAM;MAAEgB;IAAS,CAAC,GAAG,MAAMG,wBAAwB,CAAC,CAAC;IAE7D,MAAML,YAAY,GAAGW,sBAAsB,CAACZ,gBAAgB,EAAEK,aAAa,CAAC;IAC5ElB,MAAM,CAACqB,MAAM,CAACnJ,sBAAsB,EAAE,CAAC,EAAE;MACvC+C,KAAK,EAAE/C,sBAAsB;MAC7BZ,IAAI,EAAE4J,aAAa;MACnBzD,KAAK,EAAEqD,YAAY;MACnBhK,UAAU,EAAE5D,GAAG,CAAC2N,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,CAAC;MACzDhK,MAAM,EAAEA;IACV,CAAC,CAAC;;IAEF;IACA,IAAIoK,mBAAmB,CAACJ,gBAAgB,EAAEK,aAAa,CAAC,EAAE;MACxD,MAAMa,YAAY,GAAG1M,iBAAiB,CAAC;QACnC2M,gBAAgB,EAAEH,iBAAiB;QACnCvB,gBAAgB,EAAEO,gBAAgB,CAACzG,GAAG,CAAC+F,QAAQ;UAAA,IAAA8B,cAAA;UAAA,QAAAA,cAAA,GAAI9B,QAAQ,CAAC1G,IAAI,cAAAwI,cAAA,uBAAbA,cAAA,CAAexI,IAAI;QAAA;MACxE,CAAC,CAAC;MAEJ,IAAIsI,YAAY,EAAEf,QAAQ,CAAC/H,kBAAkB,CAACiJ,IAAI,CAACH,YAAY,CAAC;IAClE;IAEAtK,0BAA0B,CAACyJ,aAAa,CAAC;IACzCT,mBAAmB,CAACT,MAAM,EAAEgB,QAAQ,CAAC/H,kBAAkB,CAAC;EAC1D,CAAC;EAED,MAAMkJ,oBAAoB,GAAG,MAAAA,CAAA,KAAY;IAAA,IAAAC,eAAA;IACvC,MAAMpB,QAAQ,GAAG,MAAM/C,eAAe,CAAC;MAAEpH;IAAO,CAAC,CAAC;IAClDU,UAAU,CAAC,IAAI,CAAC;IAChB,MAAM+J,kBAAkB,GAAGjB,qBAAqB,CAACW,QAAQ,CAACxK,SAAS,CAAC;IACpE,MAAMwJ,MAAM,GAAGgB,QAAQ,CAACO,cAAc,CAACnH,GAAG,CAAC8F,IAAI;MAAA,IAAAmC,sBAAA;MAAA,OAAK;QAClDpH,KAAK,EAAEiF,IAAI,CAACjF,KAAK;QACjB3D,IAAI,EAAE4I,IAAI,CAAC5I,IAAI;QACfT,MAAM,EAAEqJ,IAAI,CAACrJ,MAAM;QACnB4G,KAAK,EAAEyC,IAAI,CAACzC,KAAK;QACjB3G,UAAU,GAAAuL,sBAAA,GAAEf,kBAAkB,CAACpB,IAAI,CAACjF,KAAK,CAAC,cAAAoH,sBAAA,cAAAA,sBAAA,GAAI;MAChD,CAAC;IAAA,CAAC,CAAC;IAEH5B,mBAAmB,CAACT,MAAM,EAAEgB,QAAQ,CAAC/H,kBAAkB,CAAC;IACxDZ,YAAY,CAAC,EAAA+J,eAAA,GAAA3L,MAAM,CAAC6L,OAAO,cAAAF,eAAA,uBAAdA,eAAA,CAAgB9L,KAAK,MAAK,UAAU,CAAC;IAClD;IACA;IACA,IAAII,cAAc,EAAE;MAClBsK,QAAQ,CAACxK,SAAS,CAAC4D,GAAG,CAAE+F,QAAQ,IAAKzF,gBAAgB,CAACyF,QAAQ,CAAC,CAAC;IAClE;EACF,CAAC;EAED,MAAMoC,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAI,CAACpN,aAAa,CAAC0F,MAAM,CAAC,EAAE,OAAOoE,WAAW,CAAC,CAAC;IAEhDtG,UAAU,CAAC,IAAI,CAAC;IAChBF,gBAAgB,CAAC,IAAI,CAAC;IAEtB,IAAI;MACF,IAAIkC,qBAAqB,EAAE;QACzB,MAAMgH,2BAA2B,CAAC,CAAC;MACrC,CAAC,MAAM;QACL,MAAMQ,oBAAoB,CAAC,CAAC;MAC9B;IACF,CAAC,CAAC,OAAO7D,GAAG,EAAE;MACZZ,OAAO,CAACD,KAAK,CAACa,GAAG,CAAC;MAClB7F,gBAAgB,CAAC,KAAK,CAAC;IACzB,CAAC,SAAS;MACRE,UAAU,CAAC,KAAK,CAAC;MACjBK,mBAAmB,CAAC,IAAI,CAAC;IAC3B;EACF,CAAC;;EAED;EACA,MAAMwJ,iBAAiB,GAAG,MAAOC,KAAK,IAAK;IAAA,IAAAC,WAAA;IACzC,MAAMC,aAAa,GAAG7N,eAAe,CAAC8N,UAAU;IAChD,MAAMC,WAAW,GAAG3P,GAAG,CAACuP,KAAK,EAAE,QAAQ,CAAC;IACxC,MAAMK,kBAAkB,GAAG1P,QAAQ,CAACuP,aAAa,EAAEE,WAAW,CAAC;IAE/D,IAAI,CAAAJ,KAAK,aAALA,KAAK,gBAAAC,WAAA,GAALD,KAAK,CAAEhJ,IAAI,cAAAiJ,WAAA,uBAAXA,WAAA,CAAaZ,MAAM,MAAK/N,iBAAiB,IAAI+O,kBAAkB,EAAE;MACnElO,SAAS,CAACgL,MAAM,CAACC,OAAO,CAAC,iCAAiC,CAAC;MAC3DkD,cAAc,CAAC,CAAC;IAClB;EACF,CAAC;;EAED;EACA,MAAMA,cAAc,GAAGA,CAAA,KAAM;IAC3BnO,SAAS,CAACoO,eAAe,CAAC,CAAC;IAC3B3K,YAAY,CAAC,IAAI,CAAC;IAClBE,mBAAmB,CAAC,IAAI,CAAC;EAC3B,CAAC;EAEDzF,SAAS,CAAC,MAAM;IACdiK,MAAM,CAACkG,gBAAgB,CAAC,SAAS,EAAET,iBAAiB,CAAC;IAErD,OAAO,MAAM;MACXzF,MAAM,CAACmG,mBAAmB,CAAC,SAAS,EAAEV,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN1P,SAAS,CAAC,MAAM;IAAA,IAAAqQ,oBAAA;IACd,MAAMC,cAAc,GAAGxI,wBAAwB,KAAK,CAACxC,SAAS,IAAK,EAAA+K,oBAAA,GAAA9J,QAAQ,CAACD,UAAU,cAAA+J,oBAAA,uBAAnBA,oBAAA,CAAqB3J,OAAO,KAAI,CAAClB,gBAAiB,CAAC;IAEtH,IAAI8K,cAAc,EAAE;MAClBrG,MAAM,CAACsG,OAAO,CAACC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAEvG,MAAM,CAACwG,QAAQ,CAACC,IAAI,CAAC;MAC1D,MAAMC,cAAc,GAAIhB,KAAK,IAAK;QAChCA,KAAK,CAACiB,cAAc,CAAC,CAAC;QACtB9O,SAAS,CAAC+O,mBAAmB,CAAC,CAAC;MACjC,CAAC;MACD5G,MAAM,CAACkG,gBAAgB,CAAC,UAAU,EAAEQ,cAAc,CAAC;MACnD,OAAO,MAAM;QACX1G,MAAM,CAACmG,mBAAmB,CAAC,UAAU,EAAEO,cAAc,CAAC;MACxD,CAAC;IACH;EACF,CAAC,EAAE,CAAC7I,wBAAwB,EAAExC,SAAS,GAAAlC,qBAAA,GAAEmD,QAAQ,CAACD,UAAU,cAAAlD,qBAAA,uBAAnBA,qBAAA,CAAqBsD,OAAO,EAAElB,gBAAgB,CAAC,CAAC;EAEzF,IAAIsC,wBAAwB,KAAK,CAACxC,SAAS,IAAK,CAAAjC,qBAAA,GAAAkD,QAAQ,CAACD,UAAU,cAAAjD,qBAAA,eAAnBA,qBAAA,CAAqBqD,OAAO,IAAI,CAAClB,gBAAiB,CAAC,EAAE;IAAA,IAAAsL,kBAAA;IACnG,MAAM;MAAEC;IAAQ,CAAC,GAAGhP,UAAU;IAE9B,oBACEc,IAAA,CAAClB,uBAAuB;MAACqP,kBAAkB,EAAE,IAAK;MAAAC,QAAA,eAChDlO,KAAA;QAAKmO,SAAS,EAAC,aAAa;QAAAD,QAAA,gBAC1BpO,IAAA,CAAChC,UAAU;UAACsQ,MAAM,EAAE,kBAAmB;UAAAF,QAAA,EACpCjQ;QAAmB,CACV,CAAC,eACb6B,IAAA,CAACkO,OAAO;UACNK,OAAO,EAAEzN,MAAO;UAChBE,eAAe,EAAEA,eAAgB;UACjCwN,gBAAgB,EAAC,kBAAkB;UACnCC,iBAAiB,EAAExP,SAAS,aAATA,SAAS,gBAAAgP,kBAAA,GAAThP,SAAS,CAAE0N,OAAO,cAAAsB,kBAAA,uBAAlBA,kBAAA,CAAoBQ,iBAAkB;UACzDC,mBAAmB,EAAE,qBAAsB;UAC3CtB,cAAc,EAAEA,cAAe;UAC/B1J,QAAQ,EAAEA;QAAS,CACpB,CAAC;MAAA,CACC;IAAC,CACiB,CAAC;EAE9B;EAEA,oBACE1D,IAAA,CAAAI,SAAA;IAAAgO,QAAA,EACGrL,OAAO,gBACN/C,IAAA,CAAClB,uBAAuB;MAAAsP,QAAA,eACtBlO,KAAA;QAAKmO,SAAS,EAAC,OAAO;QAAAD,QAAA,gBACpBpO,IAAA;UAAIqO,SAAS,EAAC,kFAAkF;UAAAD,QAAA,EAC7F/P;QAAiC,CAChC,CAAC,eACL2B,IAAA;UAAKqO,SAAS,EAAC,uCAAuC;UAAAD,QAAA,eACpDlO,KAAA;YAAKmO,SAAS,EAAC,uDAAuD;YAAAD,QAAA,gBACpElO,KAAA;cAAKmO,SAAS,EAAC,2CAA2C;cAAAD,QAAA,gBACxDpO,IAAA,CAAC1C,QAAQ;gBAACqR,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpE9O,IAAA,CAAC1C,QAAQ;gBAACqR,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpE9O,IAAA,CAAC1C,QAAQ;gBAACqR,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC;YAAA,CACjE,CAAC,eACN5O,KAAA;cAAKmO,SAAS,EAAC,gEAAgE;cAAAD,QAAA,gBAC7EpO,IAAA,CAAC1C,QAAQ;gBAACqR,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpE9O,IAAA,CAAC1C,QAAQ;gBAACqR,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC;YAAA,CACjE,CAAC;UAAA,CACH;QAAC,CACH,CAAC;MAAA,CACH;IAAC,CACiB,CAAC,GACnB1L,gBAAgB,gBACnBpD,IAAA,CAACxB,aAAa;MACZqC,SAAS,EAAEA,SAAU;MACrBqC,qBAAqB,EAAEA,qBAAsB;MAC7CrB,uBAAuB,EAAEA,uBAAwB;MACjDmD,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC,gBAENhF,IAAA,CAAClB,uBAAuB;MAAAsP,QAAA,eACtBlO,KAAA;QAAKmO,SAAS,EAAC,OAAO;QAAAD,QAAA,gBACpBpO,IAAA,CAAChC,UAAU;UAAC+Q,IAAI;UAACT,MAAM,EAAE,kBAAmB;UAAAF,QAAA,EACzClQ;QAA2B,CAClB,CAAC,eAEb8B,IAAA,CAACnB,UAAU;UACTmQ,WAAW,EAAEA,CAAA,KAAMvO,QAAQ,CAAC,CAAC,CAAC,CAAE;UAChCwO,cAAc,EAAErC,YAAa;UAC7BlE,mBAAmB,EAAEF,uBAAwB;UAC7C0G,YAAY,EAAC,kBAAkB;UAC/BC,kBAAkB,EAAE3R,OAAO,CAACqD,SAAS,CAAE;UACvCuO,iBAAiB,EAAE7R,GAAG,CAACqD,YAAY,EAAE,mBAAmB,CAAE;UAC1DrB,uBAAuB,EAAEA,uBAAuB,CAACsB,SAAS,CAAE;UAC5DwO,QAAQ,EAAExM,aAAc;UACxBmC,qBAAqB,EAAEA;QAAsB,CAC9C,CAAC,EAEDS,oBAAoB,CAAC,CAAC,IAAIjE,yBAAyB,IAAIwD,qBAAqB,iBAAIhF,IAAA,CAACH,0BAA0B;UAACgB,SAAS,EAAEA,SAAU;UAAC6E,iBAAiB,EAAEA,iBAAkB;UAACzC,QAAQ,EAAEA,QAAS;UAACT,yBAAyB,EAAEA,yBAA0B;UAACnB,eAAe,EAAEA;QAAgB,CAAE,CAAC,EAEtR7D,OAAO,CAACqD,SAAS,CAAC,gBACjBb,IAAA,CAACvB,kBAAkB;UAAC6Q,OAAO,EAAEA,CAAA,KAAMrQ,SAAS,CAACsQ,cAAc,CAAC;QAAE,CAAE,CAAC,GAEjEtN,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEwC,GAAG,CAAC,CAAC+F,QAAQ,EAAElF,KAAK,KAAK;UAC1C,MAAM;YAAE8C;UAAS,CAAC,GAAGoC,QAAQ;UAC7B,MAAMgF,cAAc,GAAGjS,GAAG,CAACiN,QAAQ,EAAE,yDAAyD,CAAC;UAE/F,oBACEtK,KAAA;YAAKmO,SAAS,EAAC,mCAAmC;YAAuC,uCAAArK,MAAA,CAAqCsB,KAAK,CAAG;YAAA8I,QAAA,gBACpIpO,IAAA;cAAKqO,SAAS,qDAAArK,MAAA,CAAqDwG,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEtE,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAG;cAAAkI,QAAA,eACnHlO,KAAA;gBAAKmO,SAAS,EAAC,gCAAgC;gBAAAD,QAAA,gBAC7ClO,KAAA;kBAAImO,SAAS,EAAC,0CAA0C;kBAAAD,QAAA,GAAC,WAAS,EAAC9I,KAAK,GAAG,CAAC,EAAC,IAAE,EAAC/H,GAAG,CAACiN,QAAQ,EAAE,cAAc,CAAC;gBAAA,CAAK,CAAC,eACnHtK,KAAA;kBAAAkO,QAAA,gBACEpO,IAAA,CAAChD,IAAI;oBACH+R,IAAI,EAAC,YAAY;oBACjBU,KAAK,EAAC,SAAS;oBACfpB,SAAS,EAAC,MAAM;oBAChBiB,OAAO,EAAEA,CAAA,KAAM7O,QAAQ,CAAC,iBAAiB,EAAE;sBAAEE,KAAK,EAAE;wBAAE+O,gBAAgB,EAAEpK;sBAAM;oBAAE,CAAC,CAAE;oBACnF,yCAAAtB,MAAA,CAAuCsB,KAAK,CAAG;oBAC/CqK,SAAS,EAAC;kBAAM,CACjB,CAAC,eACF3P,IAAA,CAAChD,IAAI;oBAAC+R,IAAI,EAAC,WAAW;oBAACU,KAAK,EAAC,SAAS;oBAACpB,SAAS,EAAC,MAAM;oBAACiB,OAAO,EAAEA,CAAA,KAAMlJ,qBAAqB,CAACd,KAAK,CAAE;oBAAC,6CAAAtB,MAAA,CAA2CsB,KAAK,CAAG;oBAACqK,SAAS,EAAC;kBAAQ,CAAE,CAAC,eAC9K3P,IAAA,CAAChD,IAAI;oBACH+R,IAAI,EAAEvE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEtE,QAAQ,GAAG,iBAAiB,GAAG,kBAAmB;oBAClEuJ,KAAK,EAAC,SAAS;oBACfH,OAAO,EAAEA,CAAA,KAAMrJ,cAAc,CAACX,KAAK,CAAE;oBACrC,+CAAAtB,MAAA,CAA6CsB,KAAK,CAAG;oBACrDqK,SAAS,EAAC;kBAAQ,CACnB,CAAC;gBAAA,CACC,CAAC;cAAA,CACH;YAAC,CACH,CAAC,eAEN3P,IAAA,CAACpB,mBAAmB;cAClBgR,QAAQ,EAAEC,EAAE,IAAI/I,WAAW,CAACC,OAAO,CAACzB,KAAK,CAAC,GAAGuK,EAAG;cAChDC,YAAY,EAAEzJ,0BAA2B;cACzCmE,QAAQ,EAAEA,QAAS;cACnBuF,wBAAwB,EAAE/H;YAAuB,CAClD,CAAC,EAGAzK,GAAG,CAACiN,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,gBAC7BxK,IAAA;cAAKqO,SAAS,EAAC,8DAA8D;cAAAD,QAAA,eAC3EpO,IAAA;gBAAKqO,SAAS,EAAC,iBAAiB;gBAAAD,QAAA,eAC9BlO,KAAA;kBAAKmO,SAAS,EAAC,kBAAkB;kBAAAD,QAAA,gBAC/BlO,KAAA;oBAAKmO,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAiB,CAAI,CAAC,EAExFhG,QAAQ,CAAC3D,GAAG,CAAC,CAACuL,OAAO,EAAEzJ,CAAC,kBACtBrG,KAAA;sBAAAkO,QAAA,GACG7Q,GAAG,CAACyS,OAAO,EAAE,MAAM,CAAC,EAAC,GAAC,EAACzS,GAAG,CAACyS,OAAO,EAAE,eAAe,CAAC,GAAG,GAAG,GAAGzS,GAAG,CAACyS,OAAO,EAAE,eAAe,CAAC,GAAG,GAAG,GAAG,EAAE;oBAAA,GADhGzJ,CAEL,CACJ,CAAC;kBAAA,CAED,CAAC,eACNrG,KAAA;oBAAKmO,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAgB,CAAI,CAAC,eACzFpO,IAAA;sBAAAoO,QAAA,EAAI7Q,GAAG,CAACiN,QAAQ,EAAE,cAAc;oBAAC,CAAI,CAAC;kBAAA,CACnC,CAAC,EACL9I,oBAAoB,IAAI8I,QAAQ,CAAC3D,KAAK,iBACrC7G,IAAA;oBAAKqO,SAAS,EAAC,+FAA+F;oBAAAD,QAAA,eAC5GpO,IAAA;sBAAGqO,SAAS,EAAC,iBAAiB;sBAAAD,QAAA,EAAC;oBAG/B,CAAG;kBAAC,CACD,CACN,EACA7Q,GAAG,CAACiN,QAAQ,EAAE,iBAAiB,CAAC,IAAIgF,cAAc,iBACjDtP,KAAA;oBAAKmO,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAqB,CAAI,CAAC,eAC9FpO,IAAA,CAACjB,mCAAmC;sBAClCkR,oBAAoB,EAAE1S,GAAG,CAACiN,QAAQ,EAAE,iBAAiB,CAAE;sBACvD0F,kBAAkB,EAAE3S,GAAG,CAACiN,QAAQ,EAAE,kCAAkC;oBAAE,CACvE,CAAC;kBAAA,CACC,CACN,eACDtK,KAAA;oBAAKmO,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAE1M,oBAAoB,GAAG,aAAa,GAAG;oBAAsB,CAAK,CAAC,eACxI1B,IAAA;sBAAAoO,QAAA,EAAI7Q,GAAG,CAACiN,QAAQ,EAAE,aAAa;oBAAC,CAAI,CAAC;kBAAA,CAClC,CAAC,EACLjN,GAAG,CAACiN,QAAQ,EAAE,aAAa,CAAC,iBAC3BtK,KAAA;oBAAKmO,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAE1M,oBAAoB,GAAG,gBAAgB,GAAG;oBAAW,CAAK,CAAC,eAChI1B,IAAA;sBAAAoO,QAAA,EAAIzO,6BAA6B,CAACpC,GAAG,CAACiN,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI;oBAAC,CAAI,CAAC;kBAAA,CACvE,CACN,EACA/I,sBAAsB,IAAIlE,GAAG,CAACiN,QAAQ,EAAE,oBAAoB,CAAC,iBAC5DtK,KAAA;oBAAKmO,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnClO,KAAA;sBAAImO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,GAAC,iBAAe,EAAC7Q,GAAG,CAACiN,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;oBAAA,CAAK,CAAC,EAC3IjN,GAAG,CAACiN,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC/F,GAAG,CAAC,CAACK,MAAM,EAAEqL,SAAS,kBACtDnQ,IAAA;sBAAAoO,QAAA,EACGvJ,iBAAiB,CAACC,MAAM;oBAAC,GADpBqL,SAEL,CACJ,CAAC;kBAAA,CACC,CACN,EACA5S,GAAG,CAACiN,QAAQ,EAAE,yBAAyB,CAAC,iBACvCtK,KAAA;oBAAKmO,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAc,CAAI,CAAC,eACvFpO,IAAA;sBAAAoO,QAAA,EAAI7Q,GAAG,CAACiN,QAAQ,EAAE,yBAAyB;oBAAC,CAAI,CAAC;kBAAA,CAC9C,CACN,eACDtK,KAAA;oBAAKmO,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCpO,IAAA;sBAAIqO,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAkB,CAAI,CAAC,EAC1F,CAAC5Q,OAAO,CAACD,GAAG,CAACiN,QAAQ,EAAE,mBAAmB,CAAC,CAAC,iBAC3CxK,IAAA,CAACV,iBAAiB;sBAAC8Q,SAAS,EAAE7S,GAAG,CAACiN,QAAQ,EAAE,mBAAmB;oBAAE,CAAE,CACpE,EACA,CAAChN,OAAO,CAACD,GAAG,CAACiN,QAAQ,EAAE,aAAa,CAAC,CAAC,iBACrCxK,IAAA;sBAAKqO,SAAS,EAAC,gCAAgC;sBAAAD,QAAA,eAC7CpO,IAAA,CAACZ,kBAAkB;wBAACiR,aAAa,EAAE9S,GAAG,CAACiN,QAAQ,EAAE,aAAa;sBAAE,CAAE;oBAAC,CAChE,CACN,EACAhN,OAAO,CAACD,GAAG,CAACiN,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAIhN,OAAO,CAACD,GAAG,CAACiN,QAAQ,EAAE,mBAAmB,CAAC,CAAC,iBACnFxK,IAAA;sBAAAoO,QAAA,EAAG;oBAAqB,CAAG,CAC5B;kBAAA,CACE,CAAC,eACNlO,KAAA;oBAAKmO,SAAS,EAAC,qDAAqD;oBAAAD,QAAA,gBAClEpO,IAAA,CAAChD,IAAI;sBAAC+R,IAAI,EAAC,uBAAuB;sBAACU,KAAK,EAAC,SAAS;sBAACpB,SAAS,EAAC;oBAAY,CAAE,CAAC,eAC5ErO,IAAA;sBAAAoO,QAAA,EAAInQ;oBAAyB,CAAI,CAAC;kBAAA,CAC/B,CAAC;gBAAA,CACH;cAAC,CACH;YAAC,CACH,CAAC,GACJ,IAAI;UAAA,2BAAA+F,MAAA,CAnHoEsB,KAAK,CAqHhF,CAAC;QAEV,CAAC,CACF,EAEA,CAAC9H,OAAO,CAACqD,SAAS,CAAC,iBAClBb,IAAA;UAAKqO,SAAS,EAAC,MAAM;UAAAD,QAAA,eACnBpO,IAAA,CAACnB,UAAU;YACTmQ,WAAW,EAAEA,CAAA,KAAMvO,QAAQ,CAAC,CAAC,CAAC,CAAE;YAChCwO,cAAc,EAAErC,YAAa;YAC7BlE,mBAAmB,EAAEF,uBAAwB;YAC7C0G,YAAY,EAAC,kBAAkB;YAC/BE,iBAAiB,EAAE7R,GAAG,CAACqD,YAAY,EAAE,mBAAmB,CAAE;YAC1DrB,uBAAuB,EAAEA,uBAAuB,CAACsB,SAAS,CAAE;YAC5DwO,QAAQ,EAAExM,aAAc;YACxBmC,qBAAqB,EAAEA;UAAsB,CAC9C;QAAC,CACC,CACN;MAAA,CACE;IAAC,CACiB;EAC1B,CACD,CAAC;AAEP","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Review","_currentProvider$nh_c","_features$nh_consent2","_features$nh_consent3","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","selectedPrograms","personId","crtb854ForwardingSuperset","featureFlagClientNeeds","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","isSavingDraft","setIsSavingDraft","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","features","nhConsentEnabled","length","enabled","data","clientNeedsData","concat","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","_clientNeedsData$data","needs","reduce","map","condition","id","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","createReferrals","forwardReferral","handleSaveDraftReferral","draft","onSaveDraftReferral","err","setFocus","setTimeout","_errors$index","_formRefs$current","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","notify","success","warn","addIsGrouped","detail","referralsList","item","referral","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","response","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","_referralIdsByIndex$i","getForwardErrorMessage","_forwardReferrals$err","handleForwardReferralSubmit","_referrals$selectedRe","referralToForward","status","newReferrals","originalReferral","_referral$data","push","handleStandardSubmit","_person$consent","_referralIdsByIndex$i2","consent","handleSubmit","onConsentComplete","event","_event$data","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","_features$nh_consent","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","_CALLBACKS$consent","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","isAuthRequired","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","documents","uploadedFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/ui';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values, intersectionBy, upperFirst } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport {\n referralIsGrouped,\n referralIsOON,\n} from '../builder/utils.js';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../builder/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView'\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\nimport { useFind } from '../../api/ApiHooks';\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n selectedPrograms,\n personId,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({})\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [referralsToConsent, setReferralsToConsent] = useState([]);\n const showNHConsent = currentProvider?.nh_consent ?? false;\n\n const features = useMemo(() => {\n const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;\n return {\n nh_consent: {\n enabled: nhConsentEnabled,\n referrals: nhConsentEnabled ? referralsToConsent : [],\n }\n };\n }, [showNHConsent, referralsToConsent]);\n\n const { data: clientNeedsData } = useFind(\n `people/${personId}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n }\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n ref.expanded = !ref.expanded\n }\n return ref;\n })\n setExpandedReferrals(expanded);\n }\n\n const onDeleteReferralClick = (index) => {\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n }\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n }\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments ? r.attachableDocuments.filter((doc) => doc.attached) : [],\n expanded: true,\n index: i,\n isOON: referralIsOON(r),\n }));\n setExpandedReferrals(expanded)\n }, [referrals]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\nuseEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries = (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n}, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById(\"referralSelected\");\n return referralSelectedField.focus();\n }\n }, 100);\n }\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find(idx =>\n some(values(errors[idx]), Boolean)\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n\n if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n const addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every(response => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\n const newReferrals = referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map(referral => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral));\n }\n };\n\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n }\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n }\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent = referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted));\n\n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, features.nh_consent?.enabled, consentCompleted]);\n\n if (referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted))) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>\n {CONSENT_DESCRIPTION}\n </StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n features={features}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : (hasBeenSubmitted) ?\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && <DropdownMultiplesReferrals referrals={referrals} setReferralErrors={setReferralErrors} formRefs={formRefs} setSelectedReferralToLink={setSelectedReferralToLink} serviceTypeName={serviceTypeName} />}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required');\n\n return (\n <div className=\"mb-6 mx-auto responsive-max-width\" key={`referral-review-card-${index}`} data-testid={`referral-review-card-${index}`}>\n <div className={`bg-white border border-solid border-blue-border ${referral?.expanded ? \"rounded-t-lg\" : \"rounded\"}`}>\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">Referral {index + 1}: {get(referral, 'service.name')}</h2>\n <div>\n <Icon\n icon=\"IconPencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => navigate('/create/builder', { state: { selectedReferral: index } })}\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n <Icon icon=\"IconTrash\" color=\"#182A44\" className=\"mr-3\" onClick={() => onDeleteReferralClick(index)} data-testid={`referral-review-card-trash-${index}`} ariaLabel=\"delete\" />\n <Icon\n icon={referral?.expanded ? \"IconChevronDown\" : \"IconChevronRight\"}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={el => deleteModal.current[index] = el}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {\n get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Programs</h2>\n {\n programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')} {get(program, 'provider.name') ? '(' + get(program, 'provider.name') + ')' : ''}\n </p>\n ))\n }\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Network</h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us.\n We'll create an off-platform case where you can document communication with or services provided by the program.\n </p>\n </div>\n )}\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Authorization Request</h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(referral, 'programs[0].fee_schedule_program')}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">{newLanguageDashboard ? 'Description' : 'Referral Description'}</h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">{newLanguageDashboard ? 'Case Open Date' : 'Open Date'}</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.length') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Associated Need{get(referral, 'client_need.length') > 1 ? 's' : ''}</h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>\n {getClientNeedName(needId)}\n </p>\n ))}\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Primary Worker</h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Attached Documents</h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(get(referral, 'attachments')) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper uploadedFiles={get(referral, 'attachments')} />\n </div>\n )}\n {isEmpty(get(referral, 'attachments')) && isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon icon=\"IconExclamationCircle\" color=\"#182A44\" className=\"mt-px mr-4\" />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null\n }\n </div>\n )\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,6 +36,7 @@ export default function SupportingInfo() {
|
|
|
36
36
|
const [expandedFormCard, setExpandedFormCard] = useState(0);
|
|
37
37
|
const [showErrors, setShowErrors] = useState(false);
|
|
38
38
|
const [isDisabled, setIsDisabled] = useState(true);
|
|
39
|
+
const [isSavingDraft, setIsSavingDraft] = useState(false);
|
|
39
40
|
const formsRenderedRef = useRef(0);
|
|
40
41
|
const providerId = currentProvider === null || currentProvider === void 0 ? void 0 : currentProvider.id;
|
|
41
42
|
useEffect(() => {
|
|
@@ -121,15 +122,21 @@ export default function SupportingInfo() {
|
|
|
121
122
|
};
|
|
122
123
|
const createReferrals = useCreateReferrals();
|
|
123
124
|
const handleSaveDraftReferral = async () => {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
125
|
+
if (isSavingDraft) return;
|
|
126
|
+
setIsSavingDraft(true);
|
|
127
|
+
try {
|
|
128
|
+
const responses = dispatchAssessmentResponses();
|
|
129
|
+
await createReferrals({
|
|
130
|
+
draft: true,
|
|
131
|
+
latestResponses: responses
|
|
132
|
+
});
|
|
133
|
+
const {
|
|
134
|
+
onSaveDraftReferral
|
|
135
|
+
} = CALLBACKS;
|
|
136
|
+
onSaveDraftReferral && onSaveDraftReferral();
|
|
137
|
+
} finally {
|
|
138
|
+
setIsSavingDraft(false);
|
|
139
|
+
}
|
|
133
140
|
};
|
|
134
141
|
return /*#__PURE__*/_jsxs(CreateReferralContainer, {
|
|
135
142
|
children: [/*#__PURE__*/_jsx(StepHeader, {
|
|
@@ -142,9 +149,10 @@ export default function SupportingInfo() {
|
|
|
142
149
|
onForwardClick: () => onButtonClick(false),
|
|
143
150
|
onSaveDraftReferral: handleSaveDraftReferral,
|
|
144
151
|
primaryLabel: "Next",
|
|
145
|
-
disabled: isDisabled,
|
|
152
|
+
disabled: isDisabled || isSavingDraft,
|
|
146
153
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
147
|
-
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals)
|
|
154
|
+
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
155
|
+
isSavingDraft: isSavingDraft
|
|
148
156
|
}), showErrors ? /*#__PURE__*/_jsxs("div", {
|
|
149
157
|
className: "flex justify-end responsive-max-width mx-auto mb-4",
|
|
150
158
|
children: [/*#__PURE__*/_jsx(Icon, {
|
|
@@ -194,9 +202,10 @@ export default function SupportingInfo() {
|
|
|
194
202
|
onForwardClick: () => onButtonClick(false),
|
|
195
203
|
onSaveDraftReferral: handleSaveDraftReferral,
|
|
196
204
|
primaryLabel: "Next",
|
|
197
|
-
disabled: isDisabled,
|
|
205
|
+
disabled: isDisabled || isSavingDraft,
|
|
198
206
|
hideSaveDraftLink: get(fieldsConfig, 'hideSaveDraftLink'),
|
|
199
|
-
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals)
|
|
207
|
+
hasOffPlatformReferrals: hasOffPlatformReferrals(referrals),
|
|
208
|
+
isSavingDraft: isSavingDraft
|
|
200
209
|
})
|
|
201
210
|
})]
|
|
202
211
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupportingInfo.js","names":["React","useEffect","useRef","useState","useCallback","useNavigate","get","isEmpty","some","buildResponses","Icon","StepHeader","SUPPORTING_INFO","setData","useAppCreateReferralContext","CreateReferralContainer","fetchCoreGroupForms","NavButtons","FormForm","useCreateReferrals","CALLBACKS","hasOffPlatformReferrals","jsx","_jsx","jsxs","_jsxs","SupportingInfo","navigate","dispatch","state","person","currentEmployee","currentProvider","referrals","fieldsConfig","formResponses","groupForms","setGroupForms","formRefs","expandedFormCard","setExpandedFormCard","showErrors","setShowErrors","isDisabled","setIsDisabled","formsRenderedRef","providerId","id","serviceIds","map","referral","service","then","data","handleRef","totalForms","length","current","hasErrors","form","_form$ref","ref","handleExpandChange","index","goToReviewStep","dispatchAssessmentResponses","responses","getAssessmentsResponses","onButtonClick","back","dispatchedResponses","forms","Object","keys","forEach","formId","_formRef$ref","formRef","response","find","f","createReferrals","handleSaveDraftReferral","draft","latestResponses","onSaveDraftReferral","children","header","className","onBackClick","onForwardClick","primaryLabel","disabled","hideSaveDraftLink","icon","color","size","_formRefs$current$for","concat","setRef","_objectSpread","groupId","expanded","contextType","contextPerson","usage_type"],"sources":["../../../src/pages/supporting-info/SupportingInfo.js"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { get, isEmpty, some } from 'lodash';\nimport { buildResponses } from '@unite-us/ui-surveyjs2';\nimport { Icon } from '@unite-us/ui';\nimport StepHeader from '../../components/StepHeader';\nimport { SUPPORTING_INFO } from '../builder/constants';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport fetchCoreGroupForms from '../../actions/Group/fetchCoreGroupForms';\nimport NavButtons from '../../components/NavButtons';\nimport FormForm from '../../common/form/FormForm';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport { hasOffPlatformReferrals } from '../builder/utils';\nimport './SupportingInfo.scss';\n\nexport default function SupportingInfo() {\n const navigate = useNavigate();\n const { dispatch, state: { person, currentEmployee, currentProvider, referrals, fieldsConfig, formResponses } } = useAppCreateReferralContext();\n const [groupForms, setGroupForms] = useState([]);\n const formRefs = useRef({});\n const [expandedFormCard, setExpandedFormCard] = useState(0);\n const [showErrors, setShowErrors] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n const formsRenderedRef = useRef(0);\n const providerId = currentProvider?.id;\n\n useEffect(() => {\n const serviceIds = referrals?.map((referral) => referral.service.id);\n fetchCoreGroupForms(providerId, serviceIds).then((data) => {\n setGroupForms(data);\n if(isEmpty(data)) { setIsDisabled(false) };\n });\n }, [providerId, referrals]);\n\n const handleRef = useCallback(() => {\n if (isDisabled) {\n const totalForms = groupForms.length;\n formsRenderedRef.current += 1;\n if (formsRenderedRef.current === totalForms) {\n setIsDisabled(false);\n }\n }\n }, [isDisabled, groupForms.length]);\n\n // no dependencies in order to hide error message by checking hasErrors on every render of forms\n useEffect(() => {\n const hasErrors = some((formRefs?.current), (form) =>\n form?.ref?.hasErrors()\n );\n if (!hasErrors) { setShowErrors(false) };\n }, []);\n\n const handleExpandChange = (index) => {\n if (index === expandedFormCard)\n setExpandedFormCard(null);\n else {\n setExpandedFormCard(index);\n }\n };\n\n const goToReviewStep = () => {\n navigate('/create/review')\n }\n\n const dispatchAssessmentResponses = () => {\n const responses = getAssessmentsResponses();\n dispatch(setData({\n formResponses: responses,\n }));\n return responses;\n }\n\n const onButtonClick = (back) => {\n const dispatchedResponses = dispatchAssessmentResponses();\n if (back) {\n navigate('/create/builder')\n } else if (dispatchedResponses) {\n goToReviewStep();\n }\n }\n\n const getAssessmentsResponses = () => {\n const formResponses = {};\n let hasErrors = false;\n const forms = formRefs.current;\n Object.keys(forms).forEach((formId) => {\n const formRef = forms[formId];\n\n if (formRef?.ref?.hasErrors()) {\n hasErrors = true;\n }\n if (formRef?.ref) {\n const response = buildResponses(formRef.ref);\n if (!isEmpty(response)) {\n formResponses[formId] = {\n responses: response,\n form: groupForms.find(f => f.id === formId)\n }\n }\n }\n });\n\n if (hasErrors) {\n setShowErrors(true);\n return;\n };\n\n return formResponses\n }\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n const responses = dispatchAssessmentResponses();\n await createReferrals({ draft: true, latestResponses: responses });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n };\n\n return (\n <CreateReferralContainer>\n <StepHeader header={'Complete Assessments'}>\n {SUPPORTING_INFO}\n </StepHeader>\n\n <div className=\"px-12 pb-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n />\n\n {\n showErrors ? (\n <div className=\"flex justify-end responsive-max-width mx-auto mb-4\">\n <Icon icon=\"ExclamationTriangle\" color=\"#D0021B\" className=\"mr-2 mt-0.5\" size={12} />\n <p className=\"text-red\">One or more assessments require your attention.</p>\n </div>\n ) : null\n }\n\n <div className=\"bg-white border border-solid border-blue-border rounded mx-auto responsive-max-width\">\n <div className=\"add-supporting-details-step\">\n <div>\n {\n groupForms.map((form, index) => {\n const formRef = formRefs?.current[form.id]?.ref;\n\n return (\n <FormForm\n id={`group-form-${index}`}\n className={`custom-form-${index}`}\n setRef={(ref) => {\n formRefs.current = {\n ...formRefs.current,\n [form.id]: ref,\n };\n handleRef();\n }}\n key={`${form.id}formform`}\n formId={form.id}\n groupId={providerId}\n handleExpandChange={() => handleExpandChange(index)}\n expanded={index === expandedFormCard}\n currentEmployee={currentEmployee}\n hasErrors={showErrors ? formRef?.hasErrors() : false}\n contextType=\"case\"\n contextPerson={person.id}\n response={formResponses?.[form.id]}\n usage_type=\"referral_assessment\"\n />\n )\n })\n }\n </div>\n </div>\n </div>\n {!isEmpty(groupForms) && (\n <div className=\"pt-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACvE,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,GAAG,EAAEC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAC3C,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,UAAU,MAAM,6BAA6B;AACpD,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,OAAO,EAAEC,2BAA2B,QAAQ,yCAAyC;AAC9F,OAAOC,uBAAuB,MAAM,0CAA0C;AAC9E,OAAOC,mBAAmB,MAAM,yCAAyC;AACzE,OAAOC,UAAU,MAAM,6BAA6B;AACpD,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,OAAO,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/B,eAAe,SAASC,cAAcA,CAAA,EAAG;EACvC,MAAMC,QAAQ,GAAGtB,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEuB,QAAQ;IAAEC,KAAK,EAAE;MAAEC,MAAM;MAAEC,eAAe;MAAEC,eAAe;MAAEC,SAAS;MAAEC,YAAY;MAAEC;IAAc;EAAE,CAAC,GAAGrB,2BAA2B,CAAC,CAAC;EAC/I,MAAM,CAACsB,UAAU,EAAEC,aAAa,CAAC,GAAGlC,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAMmC,QAAQ,GAAGpC,MAAM,CAAC,CAAC,CAAC,CAAC;EAC3B,MAAM,CAACqC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGrC,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAM,CAACsC,UAAU,EAAEC,aAAa,CAAC,GAAGvC,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACwC,UAAU,EAAEC,aAAa,CAAC,GAAGzC,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM0C,gBAAgB,GAAG3C,MAAM,CAAC,CAAC,CAAC;EAClC,MAAM4C,UAAU,GAAGd,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEe,EAAE;EAEtC9C,SAAS,CAAC,MAAM;IACd,MAAM+C,UAAU,GAAGf,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgB,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,OAAO,CAACJ,EAAE,CAAC;IACpE/B,mBAAmB,CAAC8B,UAAU,EAAEE,UAAU,CAAC,CAACI,IAAI,CAAEC,IAAI,IAAK;MACzDhB,aAAa,CAACgB,IAAI,CAAC;MACnB,IAAG9C,OAAO,CAAC8C,IAAI,CAAC,EAAE;QAAET,aAAa,CAAC,KAAK,CAAC;MAAC;MAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,EAAE,CAACE,UAAU,EAAEb,SAAS,CAAC,CAAC;EAE3B,MAAMqB,SAAS,GAAGlD,WAAW,CAAC,MAAM;IAClC,IAAIuC,UAAU,EAAE;MACd,MAAMY,UAAU,GAAGnB,UAAU,CAACoB,MAAM;MACpCX,gBAAgB,CAACY,OAAO,IAAI,CAAC;MAC7B,IAAIZ,gBAAgB,CAACY,OAAO,KAAKF,UAAU,EAAE;QAC3CX,aAAa,CAAC,KAAK,CAAC;MACtB;IACF;EACF,CAAC,EAAE,CAACD,UAAU,EAAEP,UAAU,CAACoB,MAAM,CAAC,CAAC;;EAEnC;EACAvD,SAAS,CAAC,MAAM;IACd,MAAMyD,SAAS,GAAGlD,IAAI,CAAE8B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEmB,OAAO,EAAIE,IAAI;MAAA,IAAAC,SAAA;MAAA,OAC/CD,IAAI,aAAJA,IAAI,gBAAAC,SAAA,GAAJD,IAAI,CAAEE,GAAG,cAAAD,SAAA,uBAATA,SAAA,CAAWF,SAAS,CAAC,CAAC;IAAA,CACxB,CAAC;IACD,IAAI,CAACA,SAAS,EAAE;MAAEhB,aAAa,CAAC,KAAK,CAAC;IAAC;IAAC;EAC1C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMoB,kBAAkB,GAAIC,KAAK,IAAK;IACpC,IAAIA,KAAK,KAAKxB,gBAAgB,EAC5BC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KACvB;MACHA,mBAAmB,CAACuB,KAAK,CAAC;IAC5B;EACF,CAAC;EAED,MAAMC,cAAc,GAAGA,CAAA,KAAM;IAC3BrC,QAAQ,CAAC,gBAAgB,CAAC;EAC5B,CAAC;EAED,MAAMsC,2BAA2B,GAAGA,CAAA,KAAM;IACxC,MAAMC,SAAS,GAAGC,uBAAuB,CAAC,CAAC;IAC3CvC,QAAQ,CAACf,OAAO,CAAC;MACfsB,aAAa,EAAE+B;IACjB,CAAC,CAAC,CAAC;IACH,OAAOA,SAAS;EAClB,CAAC;EAED,MAAME,aAAa,GAAIC,IAAI,IAAK;IAC9B,MAAMC,mBAAmB,GAAGL,2BAA2B,CAAC,CAAC;IACzD,IAAII,IAAI,EAAE;MACR1C,QAAQ,CAAC,iBAAiB,CAAC;IAC7B,CAAC,MAAM,IAAI2C,mBAAmB,EAAE;MAC9BN,cAAc,CAAC,CAAC;IAClB;EACF,CAAC;EAED,MAAMG,uBAAuB,GAAGA,CAAA,KAAM;IACpC,MAAMhC,aAAa,GAAG,CAAC,CAAC;IACxB,IAAIuB,SAAS,GAAG,KAAK;IACrB,MAAMa,KAAK,GAAGjC,QAAQ,CAACmB,OAAO;IAC9Be,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,OAAO,CAAEC,MAAM,IAAK;MAAA,IAAAC,YAAA;MACrC,MAAMC,OAAO,GAAGN,KAAK,CAACI,MAAM,CAAC;MAE7B,IAAIE,OAAO,aAAPA,OAAO,gBAAAD,YAAA,GAAPC,OAAO,CAAEhB,GAAG,cAAAe,YAAA,eAAZA,YAAA,CAAclB,SAAS,CAAC,CAAC,EAAE;QAC7BA,SAAS,GAAG,IAAI;MAClB;MACA,IAAImB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEhB,GAAG,EAAE;QAChB,MAAMiB,QAAQ,GAAGrE,cAAc,CAACoE,OAAO,CAAChB,GAAG,CAAC;QAC5C,IAAI,CAACtD,OAAO,CAACuE,QAAQ,CAAC,EAAE;UACtB3C,aAAa,CAACwC,MAAM,CAAC,GAAG;YACtBT,SAAS,EAAEY,QAAQ;YACnBnB,IAAI,EAAEvB,UAAU,CAAC2C,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjC,EAAE,KAAK4B,MAAM;UAC5C,CAAC;QACH;MACF;IACF,CAAC,CAAC;IAEF,IAAIjB,SAAS,EAAE;MACbhB,aAAa,CAAC,IAAI,CAAC;MACnB;IACF;IAAC;IAED,OAAOP,aAAa;EACtB,CAAC;EAED,MAAM8C,eAAe,GAAG9D,kBAAkB,CAAC,CAAC;EAC5C,MAAM+D,uBAAuB,GAAG,MAAAA,CAAA,KAAY;IAC1C,MAAMhB,SAAS,GAAGD,2BAA2B,CAAC,CAAC;IAC/C,MAAMgB,eAAe,CAAC;MAAEE,KAAK,EAAE,IAAI;MAAEC,eAAe,EAAElB;IAAU,CAAC,CAAC;IAClE,MAAM;MAAEmB;IAAoB,CAAC,GAAGjE,SAAS;IACzCiE,mBAAmB,IAAIA,mBAAmB,CAAC,CAAC;EAC9C,CAAC;EAED,oBACE5D,KAAA,CAACV,uBAAuB;IAAAuE,QAAA,gBACtB/D,IAAA,CAACZ,UAAU;MAAC4E,MAAM,EAAE,sBAAuB;MAAAD,QAAA,EACxC1E;IAAe,CACN,CAAC,eAEba,KAAA;MAAK+D,SAAS,EAAC,YAAY;MAAAF,QAAA,gBACzB/D,IAAA,CAACN,UAAU;QACTwE,WAAW,EAAEA,CAAA,KAAMrB,aAAa,CAAC,IAAI,CAAE;QACvCsB,cAAc,EAAEA,CAAA,KAAMtB,aAAa,CAAC,KAAK,CAAE;QAC3CiB,mBAAmB,EAAEH,uBAAwB;QAC7CS,YAAY,EAAC,MAAM;QACnBC,QAAQ,EAAEjD,UAAW;QACrBkD,iBAAiB,EAAEvF,GAAG,CAAC4B,YAAY,EAAE,mBAAmB,CAAE;QAC1Db,uBAAuB,EAAEA,uBAAuB,CAACY,SAAS;MAAE,CAC7D,CAAC,EAGFQ,UAAU,gBACRhB,KAAA;QAAK+D,SAAS,EAAC,oDAAoD;QAAAF,QAAA,gBACjE/D,IAAA,CAACb,IAAI;UAACoF,IAAI,EAAC,qBAAqB;UAACC,KAAK,EAAC,SAAS;UAACP,SAAS,EAAC,aAAa;UAACQ,IAAI,EAAE;QAAG,CAAE,CAAC,eACrFzE,IAAA;UAAGiE,SAAS,EAAC,UAAU;UAAAF,QAAA,EAAC;QAA+C,CAAG,CAAC;MAAA,CACxE,CAAC,GACJ,IAAI,eAGR/D,IAAA;QAAKiE,SAAS,EAAC,sFAAsF;QAAAF,QAAA,eACnG/D,IAAA;UAAKiE,SAAS,EAAC,6BAA6B;UAAAF,QAAA,eAC1C/D,IAAA;YAAA+D,QAAA,EAEIlD,UAAU,CAACa,GAAG,CAAC,CAACU,IAAI,EAAEI,KAAK,KAAK;cAAA,IAAAkC,qBAAA;cAC9B,MAAMpB,OAAO,GAAGvC,QAAQ,aAARA,QAAQ,gBAAA2D,qBAAA,GAAR3D,QAAQ,CAAEmB,OAAO,CAACE,IAAI,CAACZ,EAAE,CAAC,cAAAkD,qBAAA,uBAA1BA,qBAAA,CAA4BpC,GAAG;cAE/C,oBACEtC,IAAA,CAACL,QAAQ;gBACP6B,EAAE,gBAAAmD,MAAA,CAAgBnC,KAAK,CAAG;gBAC1ByB,SAAS,iBAAAU,MAAA,CAAiBnC,KAAK,CAAG;gBAClCoC,MAAM,EAAGtC,GAAG,IAAK;kBACfvB,QAAQ,CAACmB,OAAO,GAAA2C,aAAA,CAAAA,aAAA,KACX9D,QAAQ,CAACmB,OAAO;oBACnB,CAACE,IAAI,CAACZ,EAAE,GAAGc;kBAAG,EACf;kBACDP,SAAS,CAAC,CAAC;gBACb,CAAE;gBAEFqB,MAAM,EAAEhB,IAAI,CAACZ,EAAG;gBAChBsD,OAAO,EAAEvD,UAAW;gBACpBgB,kBAAkB,EAAEA,CAAA,KAAMA,kBAAkB,CAACC,KAAK,CAAE;gBACpDuC,QAAQ,EAAEvC,KAAK,KAAKxB,gBAAiB;gBACrCR,eAAe,EAAEA,eAAgB;gBACjC2B,SAAS,EAAEjB,UAAU,GAAGoC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnB,SAAS,CAAC,CAAC,GAAG,KAAM;gBACrD6C,WAAW,EAAC,MAAM;gBAClBC,aAAa,EAAE1E,MAAM,CAACiB,EAAG;gBACzB+B,QAAQ,EAAE3C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGwB,IAAI,CAACZ,EAAE,CAAE;gBACnC0D,UAAU,EAAC;cAAqB,MAAAP,MAAA,CAVxBvC,IAAI,CAACZ,EAAE,aAWhB,CAAC;YAEN,CAAC;UAAC,CAED;QAAC,CACH;MAAC,CACH,CAAC,EACL,CAACxC,OAAO,CAAC6B,UAAU,CAAC,iBACnBb,IAAA;QAAKiE,SAAS,EAAC,MAAM;QAAAF,QAAA,eACnB/D,IAAA,CAACN,UAAU;UACTwE,WAAW,EAAEA,CAAA,KAAMrB,aAAa,CAAC,IAAI,CAAE;UACvCsB,cAAc,EAAEA,CAAA,KAAMtB,aAAa,CAAC,KAAK,CAAE;UAC3CiB,mBAAmB,EAAEH,uBAAwB;UAC7CS,YAAY,EAAC,MAAM;UACnBC,QAAQ,EAAEjD,UAAW;UACrBkD,iBAAiB,EAAEvF,GAAG,CAAC4B,YAAY,EAAE,mBAAmB,CAAE;UAC1Db,uBAAuB,EAAEA,uBAAuB,CAACY,SAAS;QAAE,CAC7D;MAAC,CACC,CACN;IAAA,CACE,CAAC;EAAA,CACiB,CAAC;AAE9B","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SupportingInfo.js","names":["React","useEffect","useRef","useState","useCallback","useNavigate","get","isEmpty","some","buildResponses","Icon","StepHeader","SUPPORTING_INFO","setData","useAppCreateReferralContext","CreateReferralContainer","fetchCoreGroupForms","NavButtons","FormForm","useCreateReferrals","CALLBACKS","hasOffPlatformReferrals","jsx","_jsx","jsxs","_jsxs","SupportingInfo","navigate","dispatch","state","person","currentEmployee","currentProvider","referrals","fieldsConfig","formResponses","groupForms","setGroupForms","formRefs","expandedFormCard","setExpandedFormCard","showErrors","setShowErrors","isDisabled","setIsDisabled","isSavingDraft","setIsSavingDraft","formsRenderedRef","providerId","id","serviceIds","map","referral","service","then","data","handleRef","totalForms","length","current","hasErrors","form","_form$ref","ref","handleExpandChange","index","goToReviewStep","dispatchAssessmentResponses","responses","getAssessmentsResponses","onButtonClick","back","dispatchedResponses","forms","Object","keys","forEach","formId","_formRef$ref","formRef","response","find","f","createReferrals","handleSaveDraftReferral","draft","latestResponses","onSaveDraftReferral","children","header","className","onBackClick","onForwardClick","primaryLabel","disabled","hideSaveDraftLink","icon","color","size","_formRefs$current$for","concat","setRef","_objectSpread","groupId","expanded","contextType","contextPerson","usage_type"],"sources":["../../../src/pages/supporting-info/SupportingInfo.js"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { get, isEmpty, some } from 'lodash';\nimport { buildResponses } from '@unite-us/ui-surveyjs2';\nimport { Icon } from '@unite-us/ui';\nimport StepHeader from '../../components/StepHeader';\nimport { SUPPORTING_INFO } from '../builder/constants';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport fetchCoreGroupForms from '../../actions/Group/fetchCoreGroupForms';\nimport NavButtons from '../../components/NavButtons';\nimport FormForm from '../../common/form/FormForm';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport { hasOffPlatformReferrals } from '../builder/utils';\nimport './SupportingInfo.scss';\n\nexport default function SupportingInfo() {\n const navigate = useNavigate();\n const { dispatch, state: { person, currentEmployee, currentProvider, referrals, fieldsConfig, formResponses } } = useAppCreateReferralContext();\n const [groupForms, setGroupForms] = useState([]);\n const formRefs = useRef({});\n const [expandedFormCard, setExpandedFormCard] = useState(0);\n const [showErrors, setShowErrors] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const formsRenderedRef = useRef(0);\n const providerId = currentProvider?.id;\n\n useEffect(() => {\n const serviceIds = referrals?.map((referral) => referral.service.id);\n fetchCoreGroupForms(providerId, serviceIds).then((data) => {\n setGroupForms(data);\n if(isEmpty(data)) { setIsDisabled(false) };\n });\n }, [providerId, referrals]);\n\n const handleRef = useCallback(() => {\n if (isDisabled) {\n const totalForms = groupForms.length;\n formsRenderedRef.current += 1;\n if (formsRenderedRef.current === totalForms) {\n setIsDisabled(false);\n }\n }\n }, [isDisabled, groupForms.length]);\n\n // no dependencies in order to hide error message by checking hasErrors on every render of forms\n useEffect(() => {\n const hasErrors = some((formRefs?.current), (form) =>\n form?.ref?.hasErrors()\n );\n if (!hasErrors) { setShowErrors(false) };\n }, []);\n\n const handleExpandChange = (index) => {\n if (index === expandedFormCard)\n setExpandedFormCard(null);\n else {\n setExpandedFormCard(index);\n }\n };\n\n const goToReviewStep = () => {\n navigate('/create/review')\n }\n\n const dispatchAssessmentResponses = () => {\n const responses = getAssessmentsResponses();\n dispatch(setData({\n formResponses: responses,\n }));\n return responses;\n }\n\n const onButtonClick = (back) => {\n const dispatchedResponses = dispatchAssessmentResponses();\n if (back) {\n navigate('/create/builder')\n } else if (dispatchedResponses) {\n goToReviewStep();\n }\n }\n\n const getAssessmentsResponses = () => {\n const formResponses = {};\n let hasErrors = false;\n const forms = formRefs.current;\n Object.keys(forms).forEach((formId) => {\n const formRef = forms[formId];\n\n if (formRef?.ref?.hasErrors()) {\n hasErrors = true;\n }\n if (formRef?.ref) {\n const response = buildResponses(formRef.ref);\n if (!isEmpty(response)) {\n formResponses[formId] = {\n responses: response,\n form: groupForms.find(f => f.id === formId)\n }\n }\n }\n });\n\n if (hasErrors) {\n setShowErrors(true);\n return;\n };\n\n return formResponses\n }\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n const responses = dispatchAssessmentResponses();\n await createReferrals({ draft: true, latestResponses: responses });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n return (\n <CreateReferralContainer>\n <StepHeader header={'Complete Assessments'}>\n {SUPPORTING_INFO}\n </StepHeader>\n\n <div className=\"px-12 pb-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n\n {\n showErrors ? (\n <div className=\"flex justify-end responsive-max-width mx-auto mb-4\">\n <Icon icon=\"ExclamationTriangle\" color=\"#D0021B\" className=\"mr-2 mt-0.5\" size={12} />\n <p className=\"text-red\">One or more assessments require your attention.</p>\n </div>\n ) : null\n }\n\n <div className=\"bg-white border border-solid border-blue-border rounded mx-auto responsive-max-width\">\n <div className=\"add-supporting-details-step\">\n <div>\n {\n groupForms.map((form, index) => {\n const formRef = formRefs?.current[form.id]?.ref;\n\n return (\n <FormForm\n id={`group-form-${index}`}\n className={`custom-form-${index}`}\n setRef={(ref) => {\n formRefs.current = {\n ...formRefs.current,\n [form.id]: ref,\n };\n handleRef();\n }}\n key={`${form.id}formform`}\n formId={form.id}\n groupId={providerId}\n handleExpandChange={() => handleExpandChange(index)}\n expanded={index === expandedFormCard}\n currentEmployee={currentEmployee}\n hasErrors={showErrors ? formRef?.hasErrors() : false}\n contextType=\"case\"\n contextPerson={person.id}\n response={formResponses?.[form.id]}\n usage_type=\"referral_assessment\"\n />\n )\n })\n }\n </div>\n </div>\n </div>\n {!isEmpty(groupForms) && (\n <div className=\"pt-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|