@unite-us/app-create-referral 0.15.101 → 0.15.103
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/__testUtils__/mockData/mockPrograms.js +58 -0
- package/dist/__testUtils__/mockData/mockPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +150 -90
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- 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/builder/__tests__/NonSensitiveGroupedPrograms.test.js +11 -2
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.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
|
@@ -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":"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","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":"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","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":[]}
|