@unite-us/app-create-referral 0.11.1 → 0.11.2
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.
|
@@ -4,7 +4,6 @@ import Dialog from '../../components/modal/Dialog';
|
|
|
4
4
|
import { Button } from '@unite-us/ui';
|
|
5
5
|
export function ChooseOneServiceTypeModal(_ref) {
|
|
6
6
|
var programs = _ref.programs,
|
|
7
|
-
referrals = _ref.referrals,
|
|
8
7
|
modalRef = _ref.modalRef,
|
|
9
8
|
servicesState = _ref.servicesState,
|
|
10
9
|
findServiceName = _ref.findServiceName,
|
|
@@ -17,7 +16,7 @@ export function ChooseOneServiceTypeModal(_ref) {
|
|
|
17
16
|
serviceToFind: serviceToFind
|
|
18
17
|
});
|
|
19
18
|
var isSelected = ((_servicesState$find = servicesState.find(function (service) {
|
|
20
|
-
return service.programId === program.id && service.serviceId === serviceToFind;
|
|
19
|
+
return (service === null || service === void 0 ? void 0 : service.programId) === program.id && (service === null || service === void 0 ? void 0 : service.serviceId) === serviceToFind;
|
|
21
20
|
})) === null || _servicesState$find === void 0 ? void 0 : _servicesState$find.selected) || false;
|
|
22
21
|
return /*#__PURE__*/React.createElement("div", {
|
|
23
22
|
key: "".concat(program.id, "-").concat(serviceToFind),
|
|
@@ -35,19 +34,21 @@ export function ChooseOneServiceTypeModal(_ref) {
|
|
|
35
34
|
}, serviceName));
|
|
36
35
|
};
|
|
37
36
|
var renderProgram = function renderProgram(program) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
if (program.services.length > 1) {
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
key: program.id,
|
|
40
|
+
className: "bg-white border border-solid border-blue-border rounded mt-6 p-4 w-full h-full box-border"
|
|
41
|
+
}, /*#__PURE__*/React.createElement("h2", {
|
|
42
|
+
className: "text-base mb-1 text-text-blue font-proxima font-bold"
|
|
43
|
+
}, "Program: ".concat(program.name)), /*#__PURE__*/React.createElement("p", null, programs.length > 1 ? "We recommend selecting only one service type" : "Select one service type to send one referral:"), program.services.map(function (serviceToFind) {
|
|
44
|
+
return renderServiceCheckbox(program, serviceToFind);
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
46
47
|
};
|
|
47
48
|
var getDialogMessage = function getDialogMessage() {
|
|
48
49
|
return programs.length > 1 ? "Multiple referrals to the same program increase the possibility of rejections. Consider choosing the service type that best fits the client’s needs." : "Sending multiple referrals to the same program increases the likelihood of rejection. Consider choosing one service type to represent the client's needs.";
|
|
49
50
|
};
|
|
50
|
-
return
|
|
51
|
+
return /*#__PURE__*/React.createElement(Dialog, {
|
|
51
52
|
ref: modalRef,
|
|
52
53
|
title: "Choose one service type",
|
|
53
54
|
close: closeDialog,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChooseOneServiceTypeModal.js","names":["React","PropTypes","Dialog","Button","ChooseOneServiceTypeModal","_ref","programs","
|
|
1
|
+
{"version":3,"file":"ChooseOneServiceTypeModal.js","names":["React","PropTypes","Dialog","Button","ChooseOneServiceTypeModal","_ref","programs","modalRef","servicesState","findServiceName","onServiceSelectionChange","onConfirm","closeDialog","renderServiceCheckbox","program","serviceToFind","_servicesState$find","serviceName","isSelected","find","service","programId","id","serviceId","selected","createElement","key","concat","className","type","checked","onChange","htmlFor","renderProgram","services","length","name","map","getDialogMessage","ref","title","close","dataTestId","width","titleStyles","fontWeight","fontSize","color","actions","label","onClick","primary","propTypes","array","isRequired","referrals","object","func"],"sources":["../../../src/pages/builder/ChooseOneServiceTypeModal.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport Dialog from '../../components/modal/Dialog';\nimport { Button } from '@unite-us/ui';\n\nexport function ChooseOneServiceTypeModal({ programs, modalRef, servicesState, findServiceName, onServiceSelectionChange, onConfirm, closeDialog }) {\n \n const renderServiceCheckbox = (program, serviceToFind) => {\n const serviceName = findServiceName({ serviceToFind });\n const isSelected = servicesState.find(service =>\n service?.programId === program.id && service?.serviceId === serviceToFind\n )?.selected || false;\n\n return (\n <div key={`${program.id}-${serviceToFind}`} className=\"ui-checkbox-field pt-4\">\n <input\n id={`service-${program.id}-${serviceToFind}`}\n type=\"checkbox\"\n checked={isSelected}\n onChange={() => onServiceSelectionChange(program.id, serviceToFind)}\n />\n <label\n htmlFor={`service-${program.id}-${serviceToFind}`}\n className=\"ui-form-field__label\"\n >\n {serviceName}\n </label>\n </div>\n );\n };\n\n const renderProgram = (program) => {\n if (program.services.length > 1) {\n return (\n <div key={program.id} className=\"bg-white border border-solid border-blue-border rounded mt-6 p-4 w-full h-full box-border\">\n <h2 className=\"text-base mb-1 text-text-blue font-proxima font-bold\">\n {`Program: ${program.name}`}\n </h2>\n <p>{programs.length > 1 ? \"We recommend selecting only one service type\" : \"Select one service type to send one referral:\"}</p>\n {program.services.map(serviceToFind => renderServiceCheckbox(program, serviceToFind))}\n </div>\n )\n }\n } \n\n const getDialogMessage = () => \n programs.length > 1\n ? \"Multiple referrals to the same program increase the possibility of rejections. Consider choosing the service type that best fits the client’s needs.\"\n : \"Sending multiple referrals to the same program increases the likelihood of rejection. Consider choosing one service type to represent the client's needs.\";\n\n return (\n <Dialog\n ref={modalRef}\n title=\"Choose one service type\"\n close={closeDialog}\n dataTestId=\"auth-requests-details-dialog\"\n width=\"normal\"\n titleStyles={{ fontWeight: 900, fontSize: 18, color: \"#182A44\" }}\n actions={(\n <div className=\"confirmation-dialog__actions\">\n <Button\n className=\"confirmation-dialog__actions--skip mr-6\"\n label=\"Skip\"\n onClick={closeDialog}\n />\n <Button\n className=\"confirmation-dialog__actions--apply\"\n onClick={onConfirm}\n label=\"Apply Changes\"\n primary\n />\n </div>\n )}\n >\n <p>{getDialogMessage()}</p>\n {programs.map(renderProgram)}\n </Dialog>\n )\n}\n\nChooseOneServiceTypeModal.propTypes = {\n programs: PropTypes.array.isRequired,\n referrals: PropTypes.array.isRequired,\n modalRef: PropTypes.object.isRequired,\n servicesState: PropTypes.array.isRequired,\n findServiceName: PropTypes.func.isRequired,\n onServiceSelectionChange: PropTypes.func.isRequired,\n onConfirm: PropTypes.func.isRequired,\n closeDialog: PropTypes.func.isRequired,\n};\n\nexport default ChooseOneServiceTypeModal;\n"],"mappings":"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"}
|
|
@@ -182,7 +182,7 @@ export default function ReferralBuilder() {
|
|
|
182
182
|
programId: program.id,
|
|
183
183
|
serviceId: serviceToFind,
|
|
184
184
|
serviceName: serviceName,
|
|
185
|
-
selected:
|
|
185
|
+
selected: program.services.length === 1
|
|
186
186
|
};
|
|
187
187
|
});
|
|
188
188
|
});
|
|
@@ -268,9 +268,13 @@ export default function ReferralBuilder() {
|
|
|
268
268
|
referrals: updatedReferrals
|
|
269
269
|
}));
|
|
270
270
|
setloadedDocuments(true);
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
}
|
|
272
|
+
if (crtb1299HighRejectionSolution) {
|
|
273
|
+
var hasMorethanOneServiceType = selectedPrograms.find(function (program) {
|
|
274
|
+
var _program$services;
|
|
275
|
+
return (program === null || program === void 0 || (_program$services = program.services) === null || _program$services === void 0 ? void 0 : _program$services.length) > 1;
|
|
276
|
+
});
|
|
277
|
+
setChooseOneServiceTypeModalIsOpen(hasMorethanOneServiceType);
|
|
274
278
|
}
|
|
275
279
|
}, [referrals]);
|
|
276
280
|
var getSelected = function getSelected() {
|
|
@@ -501,7 +505,7 @@ export default function ReferralBuilder() {
|
|
|
501
505
|
}, "Learn more about referrals.")), /*#__PURE__*/React.createElement(AboutGroupedReferralsModal, {
|
|
502
506
|
refModal: refModal,
|
|
503
507
|
onCloseModal: onCloseGroupedReferralsModal
|
|
504
|
-
}), crtb1299HighRejectionSolution && /*#__PURE__*/React.createElement(ChooseOneServiceTypeModal, {
|
|
508
|
+
}), crtb1299HighRejectionSolution && isOpenChooseOneServiceTypeModal && /*#__PURE__*/React.createElement(ChooseOneServiceTypeModal, {
|
|
505
509
|
closeDialog: closeChooseOneServiceTypeModal,
|
|
506
510
|
programs: selectedPrograms,
|
|
507
511
|
referrals: referrals,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","Array","from","isArray","_arrayLikeToArray","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","test","len","arr2","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","intersectionBy","compact","useNavigate","useLocation","Icon","setData","useAppCreateReferralContext","StepHeader","REFERRAL_BUILDER_DESCRIPTION","AboutGroupedReferralsModal","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","pays3551AuthInSuperset","crtb1299HighRejectionSolution","showOpenedDate","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","loadedDocuments","setloadedDocuments","isEmrSource","_useState23","_useState24","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","errors","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","doc","attached","document","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","_errors$index","_errors$index2","_errors$index3","_errors$index4","_errors$index5","_errors$index6","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","descriptionField","_form$current5","primaryWorkerField","moveToExistingReferral","programs","concat","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_callee","onSaveDraftReferral","_callee$","_context","draft","notify","success","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","className","header","onClick","onCloseModal","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","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 { Icon } from '@unite-us/ui';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex } 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 } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\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 },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\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 crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const pays3551AuthInSuperset = useFeatureFlag('pays3551AuthInSuperset', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', 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 [width, setWidth] = useState(window.innerWidth);\n const [documents, setDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\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 }\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, pays3551AuthInSuperset, showOpenedDate);\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: false\n };\n })\n );\n };\n \n\n useEffect(() => {\n if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (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 }, []);\n\n useEffect(() => {\n const handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n width > (isEmrSource ? 800 : 1200) && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\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.openDialog();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution && !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 (!isEmpty(referrals) && !loadedDocuments && !isEmpty(documents)) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: documents.map((doc) => ({\n attached: false,\n document: doc,\n })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n if (crtb1299HighRejectionSolution) {\n setChooseOneServiceTypeModalIsOpen(updatedReferrals.length > 1)\n }\n }\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n referrals[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: [...referrals]\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/supporting-info');\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.network) {\n form.current?.mutators?.setFieldTouched('network', true);\n const networkField = document.getElementById(\"network-selection\").parentElement.parentElement;\n return networkField.focus();\n }\n if (errors[index]?.amount_requested) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.amount_requested', true);\n const amountRequested = document.getElementById(\"authorization-request-amount-requested\");\n return amountRequested.focus();\n }\n if (errors[index]?.service_end || errors[index]?.passthrough_dates) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.service_end', true);\n const selectDatesButton = document.getElementById(\"authorization-request-service-dates\");\n return selectDatesButton.focus();\n }\n if (errors[index]?.description) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index]?.primary_worker) {\n form.current?.mutators?.setFieldTouched('primaryWorker', true);\n const primaryWorkerField = document.getElementById(\"primary-worker\").parentElement.parentElement;\n return primaryWorkerField.focus();\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 = (programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, 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 = () => CALLBACKS.onNavigateBack ? CALLBACKS.onNavigateBack() : navigate(-1);\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(!expandReferralsCard);\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': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected })\n const updatedReferrals = referrals.filter((referral) => {\n return filteredSelectedServices.some((service) => service.serviceId === referral.service.id);\n })\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n closeChooseOneServiceTypeModal();\n }\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-text-blue\"\n type=\"button\"\n onClick={onLearnMoreClick}\n >\n Learn more about referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n {crtb1299HighRejectionSolution && (\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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=\"IconInfoCircle\" 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 space-x-0 my-5 sm:space-x-0 md:space-x-0 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={\"bg-white border border-solid border-blue-border rounded \" +\n (expandReferralsCard ? 'absolute inset-y-0 left-0 z-20 md:w-3/6 lg:w-3/6': '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 <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon icon={expandReferralsCard ? \"V2ChevronLeft\" : \"V2ChevronRight\"} className=\"w-6 h-6\" onClick={() => changeWidthReferralCard()}/>\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReferralBuilder.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","Array","from","isArray","_arrayLikeToArray","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","test","len","arr2","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","intersectionBy","compact","useNavigate","useLocation","Icon","setData","useAppCreateReferralContext","StepHeader","REFERRAL_BUILDER_DESCRIPTION","AboutGroupedReferralsModal","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","pays3551AuthInSuperset","crtb1299HighRejectionSolution","showOpenedDate","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","loadedDocuments","setloadedDocuments","isEmrSource","_useState23","_useState24","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","errors","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","doc","attached","document","hasMorethanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","_errors$index","_errors$index2","_errors$index3","_errors$index4","_errors$index5","_errors$index6","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","descriptionField","_form$current5","primaryWorkerField","moveToExistingReferral","programs","concat","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_callee","onSaveDraftReferral","_callee$","_context","draft","notify","success","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","className","header","onClick","onCloseModal","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","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 { Icon } from '@unite-us/ui';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex } 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 } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\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 },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\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 crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const pays3551AuthInSuperset = useFeatureFlag('pays3551AuthInSuperset', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', 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 [width, setWidth] = useState(window.innerWidth);\n const [documents, setDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\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 }\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, pays3551AuthInSuperset, showOpenedDate);\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\n useEffect(() => {\n if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (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 }, []);\n\n useEffect(() => {\n const handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n width > (isEmrSource ? 800 : 1200) && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\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.openDialog();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution && !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 (!isEmpty(referrals) && !loadedDocuments && !isEmpty(documents)) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: documents.map((doc) => ({\n attached: false,\n document: doc,\n })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n if (crtb1299HighRejectionSolution) {\n const hasMorethanOneServiceType = selectedPrograms.find((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMorethanOneServiceType)\n }\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n referrals[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: [...referrals]\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/supporting-info');\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.network) {\n form.current?.mutators?.setFieldTouched('network', true);\n const networkField = document.getElementById(\"network-selection\").parentElement.parentElement;\n return networkField.focus();\n }\n if (errors[index]?.amount_requested) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.amount_requested', true);\n const amountRequested = document.getElementById(\"authorization-request-amount-requested\");\n return amountRequested.focus();\n }\n if (errors[index]?.service_end || errors[index]?.passthrough_dates) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.service_end', true);\n const selectDatesButton = document.getElementById(\"authorization-request-service-dates\");\n return selectDatesButton.focus();\n }\n if (errors[index]?.description) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index]?.primary_worker) {\n form.current?.mutators?.setFieldTouched('primaryWorker', true);\n const primaryWorkerField = document.getElementById(\"primary-worker\").parentElement.parentElement;\n return primaryWorkerField.focus();\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 = (programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, 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 = () => CALLBACKS.onNavigateBack ? CALLBACKS.onNavigateBack() : navigate(-1);\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(!expandReferralsCard);\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': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected })\n const updatedReferrals = referrals.filter((referral) => {\n return filteredSelectedServices.some((service) => service.serviceId === referral.service.id);\n })\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n closeChooseOneServiceTypeModal();\n }\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-text-blue\"\n type=\"button\"\n onClick={onLearnMoreClick}\n >\n Learn more about referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n {crtb1299HighRejectionSolution && 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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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=\"IconInfoCircle\" 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 space-x-0 my-5 sm:space-x-0 md:space-x-0 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={\"bg-white border border-solid border-blue-border rounded \" +\n (expandReferralsCard ? 'absolute inset-y-0 left-0 z-20 md:w-3/6 lg:w-3/6': '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 <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon icon={expandReferralsCard ? \"V2ChevronLeft\" : \"V2ChevronRight\"} className=\"w-6 h-6\" onClick={() => changeWidthReferralCard()}/>\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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"}
|