@unite-us/app-create-referral 0.4.3 → 0.5.0
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/common/form/ErrorMessage/index.js +26 -0
- package/dist/common/form/ErrorMessage/index.js.map +1 -0
- package/dist/components/service_authorization/CapsInfo.js +73 -16
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/pages/builder/AuthorizationSubform.js +8 -10
- package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +82 -66
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +8 -13
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +9 -13
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +39 -19
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +17 -0
- package/dist/utils/validateUnitAmount.js.map +1 -0
- package/package.json +1 -1
|
@@ -55,7 +55,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
55
55
|
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty2(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
56
56
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
57
57
|
function ReferralBuilder() {
|
|
58
|
-
var _location$state$selec, _location$state;
|
|
58
|
+
var _location$state$selec, _location$state, _context11;
|
|
59
59
|
var location = (0, _reactRouterDom.useLocation)();
|
|
60
60
|
var navigate = (0, _reactRouterDom.useNavigate)();
|
|
61
61
|
var _useAppCreateReferral = (0, _AppCreateReferralProvider.useAppCreateReferralContext)(),
|
|
@@ -68,8 +68,6 @@ function ReferralBuilder() {
|
|
|
68
68
|
fieldsConfig = _useAppCreateReferral2.fieldsConfig,
|
|
69
69
|
source = _useAppCreateReferral2.source,
|
|
70
70
|
person = _useAppCreateReferral2.person;
|
|
71
|
-
var _useBuildReferrals = (0, _useBuildReferrals2.default)(),
|
|
72
|
-
isLoading = _useBuildReferrals.isLoading;
|
|
73
71
|
var form = (0, _react.useRef)();
|
|
74
72
|
var _useState = (0, _react.useState)(false),
|
|
75
73
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -79,44 +77,48 @@ function ReferralBuilder() {
|
|
|
79
77
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
80
78
|
selectedIndex = _useState4[0],
|
|
81
79
|
setSelectedIndex = _useState4[1];
|
|
82
|
-
var _useState5 = (0, _react.useState)(
|
|
80
|
+
var _useState5 = (0, _react.useState)({}),
|
|
83
81
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var _useState7 = (0, _react.useState)(
|
|
82
|
+
errors = _useState6[0],
|
|
83
|
+
setErrors = _useState6[1];
|
|
84
|
+
var _useState7 = (0, _react.useState)(false),
|
|
87
85
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
nextClicked = _useState8[0],
|
|
87
|
+
setNextClicked = _useState8[1];
|
|
90
88
|
var _useState9 = (0, _react.useState)(false),
|
|
91
89
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
saveDraftClicked = _useState10[0],
|
|
91
|
+
setSaveDraftClicked = _useState10[1];
|
|
94
92
|
var _useState11 = (0, _react.useState)(false),
|
|
95
93
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var _useState13 = (0, _react.useState)(
|
|
94
|
+
expandReferralsCard = _useState12[0],
|
|
95
|
+
setExpandReferralsCard = _useState12[1];
|
|
96
|
+
var _useState13 = (0, _react.useState)(window.innerWidth),
|
|
99
97
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var _useState15 = (0, _react.useState)(
|
|
98
|
+
width = _useState14[0],
|
|
99
|
+
setWidth = _useState14[1];
|
|
100
|
+
var _useState15 = (0, _react.useState)([]),
|
|
103
101
|
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
var _useState17 = (0, _react.useState)(
|
|
102
|
+
documents = _useState16[0],
|
|
103
|
+
setDocuments = _useState16[1];
|
|
104
|
+
var _useState17 = (0, _react.useState)(false),
|
|
107
105
|
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var _useState19 = (0, _react.useState)(false),
|
|
111
|
-
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
112
|
-
loadedDocuments = _useState20[0],
|
|
113
|
-
setloadedDocuments = _useState20[1];
|
|
106
|
+
loadedDocuments = _useState18[0],
|
|
107
|
+
setloadedDocuments = _useState18[1];
|
|
114
108
|
var isEmrSource = source === 'emr';
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
networksUnlistedProgram =
|
|
118
|
-
setNetworksUnlistedProgram =
|
|
109
|
+
var _useState19 = (0, _react.useState)([]),
|
|
110
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
111
|
+
networksUnlistedProgram = _useState20[0],
|
|
112
|
+
setNetworksUnlistedProgram = _useState20[1];
|
|
119
113
|
var hint542SupersetUnlistedPrograms = (0, _useFeatureFlag.useFeatureFlag)('hint542SupersetUnlistedPrograms', false);
|
|
114
|
+
var onReferralsBuilt = function onReferralsBuilt(groupedReferrals) {
|
|
115
|
+
if (!(0, _lodash.isEmpty)(groupedReferrals)) {
|
|
116
|
+
var _errors = (0, _utils.mapReferralErrorsToIndex)(groupedReferrals);
|
|
117
|
+
setErrors(_errors);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
var _useBuildReferrals = (0, _useBuildReferrals2.default)(onReferralsBuilt),
|
|
121
|
+
isLoading = _useBuildReferrals.isLoading;
|
|
120
122
|
(0, _react.useEffect)(function () {
|
|
121
123
|
if (hint542SupersetUnlistedPrograms) {
|
|
122
124
|
// If the selected programs contain unlisted programs, fetch the networks from the user provider
|
|
@@ -159,23 +161,13 @@ function ReferralBuilder() {
|
|
|
159
161
|
refModal.current.openDialog();
|
|
160
162
|
}
|
|
161
163
|
}, [aboutGroupedReferralsModalIsOpen]);
|
|
162
|
-
(0, _react.useEffect)(function () {
|
|
163
|
-
if (!(0, _lodash.isEmpty)(referrals)) {
|
|
164
|
-
var indexes = (0, _map.default)(referrals).call(referrals, function (r, i) {
|
|
165
|
-
return {
|
|
166
|
-
index: i
|
|
167
|
-
};
|
|
168
|
-
});
|
|
169
|
-
setReferralIndexes(indexes);
|
|
170
|
-
}
|
|
171
|
-
}, [referrals]);
|
|
172
164
|
var onReferralCardClick = function onReferralCardClick(index) {
|
|
173
165
|
setSelectedIndex(index);
|
|
174
166
|
};
|
|
175
167
|
(0, _react.useEffect)(function () {
|
|
176
|
-
var errors = (0, _utils.mapReferralErrorsToIndex)(referrals
|
|
168
|
+
var errors = (0, _utils.mapReferralErrorsToIndex)(referrals);
|
|
177
169
|
setErrors(errors);
|
|
178
|
-
}, [
|
|
170
|
+
}, [selectedIndex]);
|
|
179
171
|
(0, _react.useEffect)(function () {
|
|
180
172
|
(0, _fetchContactDocuments.default)(person.id).then(function (result) {
|
|
181
173
|
setDocuments(result);
|
|
@@ -228,7 +220,7 @@ function ReferralBuilder() {
|
|
|
228
220
|
}
|
|
229
221
|
};
|
|
230
222
|
var onNextClick = function onNextClick() {
|
|
231
|
-
if ((0,
|
|
223
|
+
if ((0, _utils.isEmptyErrors)(errors)) {
|
|
232
224
|
return navigate('/create/supporting-info');
|
|
233
225
|
}
|
|
234
226
|
if ((0, _lodash.isEmpty)(errors[selectedIndex])) {
|
|
@@ -243,29 +235,41 @@ function ReferralBuilder() {
|
|
|
243
235
|
};
|
|
244
236
|
var setFocus = function setFocus(index) {
|
|
245
237
|
setTimeout(function () {
|
|
246
|
-
var _context, _context2, _context3;
|
|
238
|
+
var _context, _context2, _context3, _context4, _context5;
|
|
247
239
|
if ((0, _includes.default)(_context = errors[index]).call(_context, 'network')) {
|
|
248
240
|
var _form$current;
|
|
249
241
|
(_form$current = form.current) === null || _form$current === void 0 || (_form$current = _form$current.mutators) === null || _form$current === void 0 || _form$current.setFieldTouched('network', true);
|
|
250
242
|
var networkField = document.getElementById("network-selection").parentElement.parentElement;
|
|
251
243
|
return networkField.focus();
|
|
252
244
|
}
|
|
253
|
-
if ((0, _includes.default)(_context2 = errors[index]).call(_context2, '
|
|
245
|
+
if ((0, _includes.default)(_context2 = errors[index]).call(_context2, 'amount_requested')) {
|
|
254
246
|
var _form$current2;
|
|
255
|
-
(_form$current2 = form.current) === null || _form$current2 === void 0 || (_form$current2 = _form$current2.mutators) === null || _form$current2 === void 0 || _form$current2.setFieldTouched('
|
|
247
|
+
(_form$current2 = form.current) === null || _form$current2 === void 0 || (_form$current2 = _form$current2.mutators) === null || _form$current2 === void 0 || _form$current2.setFieldTouched('paymentAuthForm.amount_requested', true);
|
|
248
|
+
var amountRequested = document.getElementById("authorization-request-amount-requested");
|
|
249
|
+
return amountRequested.focus();
|
|
250
|
+
}
|
|
251
|
+
if ((0, _includes.default)(_context3 = errors[index]).call(_context3, 'paymentAuthForm.service_end')) {
|
|
252
|
+
var _form$current3;
|
|
253
|
+
(_form$current3 = form.current) === null || _form$current3 === void 0 || (_form$current3 = _form$current3.mutators) === null || _form$current3 === void 0 || _form$current3.setFieldTouched('paymentAuthForm.service_end', true);
|
|
254
|
+
var selectDatesButton = document.getElementById("authorization-request-service-dates");
|
|
255
|
+
return selectDatesButton.focus();
|
|
256
|
+
}
|
|
257
|
+
if ((0, _includes.default)(_context4 = errors[index]).call(_context4, 'description')) {
|
|
258
|
+
var _form$current4;
|
|
259
|
+
(_form$current4 = form.current) === null || _form$current4 === void 0 || (_form$current4 = _form$current4.mutators) === null || _form$current4 === void 0 || _form$current4.setFieldTouched('description', true);
|
|
256
260
|
var descriptionField = document.getElementById("referral-description");
|
|
257
261
|
return descriptionField.focus();
|
|
258
262
|
}
|
|
259
|
-
if ((0, _includes.default)(
|
|
260
|
-
var _form$
|
|
261
|
-
(_form$
|
|
263
|
+
if ((0, _includes.default)(_context5 = errors[index]).call(_context5, 'primary_worker')) {
|
|
264
|
+
var _form$current5;
|
|
265
|
+
(_form$current5 = form.current) === null || _form$current5 === void 0 || (_form$current5 = _form$current5.mutators) === null || _form$current5 === void 0 || _form$current5.setFieldTouched('primaryWorker', true);
|
|
262
266
|
var primaryWorkerField = document.getElementById("primary-worker").parentElement.parentElement;
|
|
263
267
|
return primaryWorkerField.focus();
|
|
264
268
|
}
|
|
265
269
|
}, 100);
|
|
266
270
|
};
|
|
267
271
|
var moveToExistingReferral = function moveToExistingReferral(index, program) {
|
|
268
|
-
var
|
|
272
|
+
var _context6;
|
|
269
273
|
var programs = referrals[selectedIndex].programs;
|
|
270
274
|
referrals[selectedIndex] = _objectSpread(_objectSpread({}, referrals[selectedIndex]), {}, {
|
|
271
275
|
programs: (0, _filter.default)(programs).call(programs, function (p) {
|
|
@@ -276,7 +280,7 @@ function ReferralBuilder() {
|
|
|
276
280
|
referrals[selectedIndex] = null;
|
|
277
281
|
}
|
|
278
282
|
referrals[index] = _objectSpread(_objectSpread({}, referrals[index]), {}, {
|
|
279
|
-
programs: (0, _concat.default)(
|
|
283
|
+
programs: (0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(referrals[index].programs), [program])
|
|
280
284
|
});
|
|
281
285
|
dispatch((0, _AppCreateReferralProvider.setData)({
|
|
282
286
|
referrals: (0, _lodash.compact)(referrals)
|
|
@@ -285,16 +289,16 @@ function ReferralBuilder() {
|
|
|
285
289
|
setSelectedIndex(newIndex);
|
|
286
290
|
};
|
|
287
291
|
var moveToNewReferral = function moveToNewReferral(program) {
|
|
288
|
-
var
|
|
292
|
+
var _context7, _context8;
|
|
289
293
|
var referral = referrals[selectedIndex];
|
|
290
|
-
referral.programs = (0, _filter.default)(
|
|
294
|
+
referral.programs = (0, _filter.default)(_context7 = referral.programs).call(_context7, function (p) {
|
|
291
295
|
return p.id !== program.id;
|
|
292
296
|
});
|
|
293
297
|
var newReferral = _objectSpread(_objectSpread({}, referral), {}, {
|
|
294
298
|
programs: [program],
|
|
295
299
|
description: ''
|
|
296
300
|
});
|
|
297
|
-
var newReferrals = (0, _concat.default)(
|
|
301
|
+
var newReferrals = (0, _concat.default)(_context8 = []).call(_context8, (0, _toConsumableArray2.default)(referrals), [newReferral]);
|
|
298
302
|
dispatch((0, _AppCreateReferralProvider.setData)({
|
|
299
303
|
referrals: newReferrals
|
|
300
304
|
}));
|
|
@@ -329,22 +333,31 @@ function ReferralBuilder() {
|
|
|
329
333
|
referrals: referrals
|
|
330
334
|
}));
|
|
331
335
|
};
|
|
336
|
+
var assignReferralErrors = (0, _react.useCallback)(function () {
|
|
337
|
+
var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
338
|
+
setErrors(function (previousErrors) {
|
|
339
|
+
var _context9;
|
|
340
|
+
var modelErrors = (0, _concat.default)(_context9 = []).call(_context9, (0, _toConsumableArray2.default)((0, _utils.mapReferralErrorsToIndex)(referrals)[selectedIndex] || []), (0, _toConsumableArray2.default)(errors));
|
|
341
|
+
var isInvalid = (0, _lodash.isEmpty)([modelErrors]);
|
|
342
|
+
return _objectSpread(_objectSpread({}, previousErrors), !isInvalid && (0, _defineProperty2.default)({}, selectedIndex, (0, _toConsumableArray2.default)(modelErrors)));
|
|
343
|
+
});
|
|
344
|
+
}, [selectedIndex, referrals]);
|
|
332
345
|
var navigateBack = function navigateBack() {
|
|
333
346
|
return _config.CALLBACKS.onNavigateBack ? _config.CALLBACKS.onNavigateBack() : navigate(-1);
|
|
334
347
|
};
|
|
335
348
|
var createReferrals = (0, _useCreateReferrals.default)();
|
|
336
349
|
var handleSaveDraftReferral = /*#__PURE__*/function () {
|
|
337
|
-
var
|
|
350
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
338
351
|
var onSaveDraftReferral;
|
|
339
|
-
return _regenerator.default.wrap(function _callee$(
|
|
340
|
-
while (1) switch (
|
|
352
|
+
return _regenerator.default.wrap(function _callee$(_context10) {
|
|
353
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
341
354
|
case 0:
|
|
342
355
|
setSaveDraftClicked(true);
|
|
343
|
-
if (!(0,
|
|
344
|
-
|
|
356
|
+
if (!(0, _utils.isEmptyErrors)(errors)) {
|
|
357
|
+
_context10.next = 9;
|
|
345
358
|
break;
|
|
346
359
|
}
|
|
347
|
-
|
|
360
|
+
_context10.next = 4;
|
|
348
361
|
return createReferrals({
|
|
349
362
|
draft: true
|
|
350
363
|
});
|
|
@@ -352,18 +365,18 @@ function ReferralBuilder() {
|
|
|
352
365
|
onSaveDraftReferral = _config.CALLBACKS.onSaveDraftReferral;
|
|
353
366
|
onSaveDraftReferral && onSaveDraftReferral();
|
|
354
367
|
_config.CALLBACKS.notify.success('Draft referral successfully saved');
|
|
355
|
-
|
|
368
|
+
_context10.next = 10;
|
|
356
369
|
break;
|
|
357
370
|
case 9:
|
|
358
371
|
focusErrors();
|
|
359
372
|
case 10:
|
|
360
373
|
case "end":
|
|
361
|
-
return
|
|
374
|
+
return _context10.stop();
|
|
362
375
|
}
|
|
363
376
|
}, _callee);
|
|
364
377
|
}));
|
|
365
378
|
return function handleSaveDraftReferral() {
|
|
366
|
-
return
|
|
379
|
+
return _ref2.apply(this, arguments);
|
|
367
380
|
};
|
|
368
381
|
}();
|
|
369
382
|
var changeWidthReferralCard = function changeWidthReferralCard() {
|
|
@@ -373,8 +386,10 @@ function ReferralBuilder() {
|
|
|
373
386
|
center: true
|
|
374
387
|
});
|
|
375
388
|
var referralSubtitle = (0, _utils.getReferralSubtitle)(referrals, getSelected());
|
|
376
|
-
var unselectedReferralIndexes = (0, _filter.default)(
|
|
377
|
-
return
|
|
389
|
+
var unselectedReferralIndexes = (0, _filter.default)(_context11 = (0, _map.default)(referrals).call(referrals, function (_referral, index) {
|
|
390
|
+
return index;
|
|
391
|
+
})).call(_context11, function (index) {
|
|
392
|
+
return index !== selectedIndex;
|
|
378
393
|
});
|
|
379
394
|
var allPrograms = referrals === null || referrals === void 0 ? void 0 : (0, _flatMap.default)(referrals).call(referrals, function (r) {
|
|
380
395
|
return r.programs;
|
|
@@ -467,7 +482,8 @@ function ReferralBuilder() {
|
|
|
467
482
|
moveToExistingReferral: moveToExistingReferral,
|
|
468
483
|
updateAttachments: updateAttachments,
|
|
469
484
|
source: source,
|
|
470
|
-
networksUnlistedProgram: networksUnlistedProgram
|
|
485
|
+
networksUnlistedProgram: networksUnlistedProgram,
|
|
486
|
+
assignReferralErrors: assignReferralErrors
|
|
471
487
|
}) : null)) : /*#__PURE__*/_react.default.createElement(_NoReferralsDisplay.default, {
|
|
472
488
|
onClick: navigateBack
|
|
473
489
|
}), /*#__PURE__*/_react.default.createElement(_NavButtons.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["_react","_interopRequireWildcard","require","_lodash","_reactRouterDom","_ui","_AppCreateReferralProvider","_StepHeader","_interopRequireDefault","_constants","_AboutGroupedReferralsModal","_ReferralCard","_ReferralBuilderForm","_utils","_useBuildReferrals2","_CreateReferralContainer","_NavButtons","_NoReferralsDisplay","_removeReferralProgram","_Spinner","_useCreateReferrals","_config","_fetchContactDocuments","_classnames","_fetchNetworks","_useFeatureFlag","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys2","_Object$getOwnPropertySymbols","o","_filterInstanceProperty2","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","ReferralBuilder","_location$state$selec","_location$state","location","useLocation","navigate","useNavigate","_useAppCreateReferral","useAppCreateReferralContext","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","_useBuildReferrals","useBuildReferrals","isLoading","form","useRef","_useState","useState","_useState2","_slicedToArray2","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState3","selectedReferral","_useState4","selectedIndex","setSelectedIndex","_useState5","_useState6","referralIndexes","setReferralIndexes","_useState7","_useState8","errors","setErrors","_useState9","_useState10","nextClicked","setNextClicked","_useState11","_useState12","saveDraftClicked","setSaveDraftClicked","_useState13","_useState14","expandReferralsCard","setExpandReferralsCard","_useState15","window","innerWidth","_useState16","width","setWidth","_useState17","_useState18","documents","setDocuments","_useState19","_useState20","loadedDocuments","setloadedDocuments","isEmrSource","_useState21","_useState22","networksUnlistedProgram","setNetworksUnlistedProgram","hint542SupersetUnlistedPrograms","useFeatureFlag","useEffect","hasUnlistedPrograms","some","program","isUnlistedProgram","fetchNetworks","then","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","current","openDialog","isEmpty","indexes","_map","index","onReferralCardClick","mapReferralErrorsToIndex","fetchContactDocuments","id","result","updatedReferrals","referral","attachableDocuments","doc","attached","document","setData","getSelected","saveValuesOnChange","props","values","_values","setTimeout","_toConsumableArray2","focusErrors","firstErrorIndex","_parseInt2","_keys","setFocus","onNextClick","_context","_context2","_context3","_includes","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","descriptionField","_form$current3","primaryWorkerField","moveToExistingReferral","_context4","programs","_filter","p","_concat","compact","newIndex","moveToNewReferral","_context5","_context6","newReferral","description","newReferrals","removeProgram","programId","serviceId","removeReferralProgram","newReferralPrograms","_flatMap","newSelectedPrograms","intersectionBy","updateAttachments","attachments","navigateBack","CALLBACKS","onNavigateBack","createReferrals","useCreateReferrals","handleSaveDraftReferral","_ref","_asyncToGenerator2","_regenerator","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context7","prev","next","draft","notify","success","stop","createElement","center","referralSubtitle","getReferralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","generateErrorMessage","currentReferral","xlOrLgInvisibleChevron","classNames","xlOrLgSpaceReferralDiv","className","header","REFERRAL_BUILDER_DESCRIPTION","type","onClick","onCloseModal","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","Icon","icon","color","concat","key","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport { isEmpty, get, compact, intersectionBy } 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, mapReferralErrorsToIndex, generateErrorMessage, hasOffPlatformReferrals } 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';\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 },\n } = useAppCreateReferralContext();\n const { isLoading } = useBuildReferrals();\n const form = useRef();\n\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [referralIndexes, setReferralIndexes] = useState([]);\n const [errors, setErrors] = 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 hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\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 (!isEmpty(referrals)) {\n const indexes = referrals.map((r, i) => ({ index: i }))\n setReferralIndexes(indexes);\n }\n }, [referrals])\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n const errors = mapReferralErrorsToIndex(referrals, referralIndexes)\n setErrors(errors);\n }, [referrals, referralIndexes])\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 }, [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 focusErrors = () => {\n if (isEmpty(errors[selectedIndex])) {\n const firstErrorIndex = parseInt(Object.keys(errors)[0]);\n setSelectedIndex(firstErrorIndex);\n setFocus(firstErrorIndex);\n } else {\n setFocus(selectedIndex);\n }\n }\n\n const onNextClick = () => {\n if (isEmpty(errors)) {\n return navigate('/create/supporting-info');\n }\n\n if (isEmpty(errors[selectedIndex])) {\n const firstErrorIndex = parseInt(Object.keys(errors)[0]);\n setSelectedIndex(firstErrorIndex);\n setFocus(firstErrorIndex)\n } else {\n setFocus(selectedIndex)\n }\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index].includes('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].includes('description')) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index].includes('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 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 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\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmpty(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 = referralIndexes.filter((r) => r.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 return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header='Prepare Your Referrals'>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-current-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\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 />\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 currentEmployee={currentEmployee}\n currentProvider={currentProvider}\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 />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay onClick={navigateBack} />\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 />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReferralBuilder.js","names":["_react","_interopRequireWildcard","require","_lodash","_reactRouterDom","_ui","_AppCreateReferralProvider","_StepHeader","_interopRequireDefault","_constants","_AboutGroupedReferralsModal","_ReferralCard","_ReferralBuilderForm","_utils","_useBuildReferrals2","_CreateReferralContainer","_NavButtons","_NoReferralsDisplay","_removeReferralProgram","_Spinner","_useCreateReferrals","_config","_fetchContactDocuments","_classnames","_fetchNetworks","_useFeatureFlag","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys2","_Object$getOwnPropertySymbols","o","_filterInstanceProperty2","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","ReferralBuilder","_location$state$selec","_location$state","_context11","location","useLocation","navigate","useNavigate","_useAppCreateReferral","useAppCreateReferralContext","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","form","useRef","_useState","useState","_useState2","_slicedToArray2","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState3","selectedReferral","_useState4","selectedIndex","setSelectedIndex","_useState5","_useState6","errors","setErrors","_useState7","_useState8","nextClicked","setNextClicked","_useState9","_useState10","saveDraftClicked","setSaveDraftClicked","_useState11","_useState12","expandReferralsCard","setExpandReferralsCard","_useState13","window","innerWidth","_useState14","width","setWidth","_useState15","_useState16","documents","setDocuments","_useState17","_useState18","loadedDocuments","setloadedDocuments","isEmrSource","_useState19","_useState20","networksUnlistedProgram","setNetworksUnlistedProgram","hint542SupersetUnlistedPrograms","useFeatureFlag","onReferralsBuilt","groupedReferrals","isEmpty","mapReferralErrorsToIndex","_useBuildReferrals","useBuildReferrals","isLoading","useEffect","hasUnlistedPrograms","some","program","isUnlistedProgram","fetchNetworks","then","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","current","openDialog","onReferralCardClick","index","fetchContactDocuments","id","result","updatedReferrals","_map","referral","attachableDocuments","doc","attached","document","setData","getSelected","saveValuesOnChange","props","values","_values","setTimeout","_toConsumableArray2","focusErrors","firstErrorIndex","_parseInt2","_keys","setFocus","onNextClick","isEmptyErrors","_context","_context2","_context3","_context4","_context5","_includes","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","descriptionField","_form$current5","primaryWorkerField","moveToExistingReferral","_context6","programs","_filter","p","_concat","compact","newIndex","moveToNewReferral","_context7","_context8","newReferral","description","newReferrals","removeProgram","programId","serviceId","removeReferralProgram","newReferralPrograms","_flatMap","newSelectedPrograms","intersectionBy","updateAttachments","attachments","assignReferralErrors","useCallback","undefined","previousErrors","_context9","modelErrors","isInvalid","navigateBack","CALLBACKS","onNavigateBack","createReferrals","useCreateReferrals","handleSaveDraftReferral","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context10","prev","next","draft","notify","success","stop","createElement","center","referralSubtitle","getReferralSubtitle","unselectedReferralIndexes","_referral","allPrograms","errorMessage","generateErrorMessage","currentReferral","xlOrLgInvisibleChevron","classNames","xlOrLgSpaceReferralDiv","className","header","REFERRAL_BUILDER_DESCRIPTION","type","onClick","onCloseModal","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","Icon","icon","color","concat","key","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useCallback, useEffect, useState, useRef } from 'react';\nimport { isEmpty, get, compact, intersectionBy } 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, mapReferralErrorsToIndex, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors } 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';\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 },\n } = useAppCreateReferralContext();\n const form = useRef();\n\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [errors, setErrors] = 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 hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const errors = mapReferralErrorsToIndex(groupedReferrals);\n setErrors(errors);\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\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 const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n const errors = mapReferralErrorsToIndex(referrals)\n setErrors(errors);\n }, [selectedIndex])\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 }, [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 focusErrors = () => {\n if (isEmpty(errors[selectedIndex])) {\n const firstErrorIndex = parseInt(Object.keys(errors)[0]);\n setSelectedIndex(firstErrorIndex);\n setFocus(firstErrorIndex);\n } else {\n setFocus(selectedIndex);\n }\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate('/create/supporting-info');\n }\n\n if (isEmpty(errors[selectedIndex])) {\n const firstErrorIndex = parseInt(Object.keys(errors)[0]);\n setSelectedIndex(firstErrorIndex);\n setFocus(firstErrorIndex)\n } else {\n setFocus(selectedIndex)\n }\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index].includes('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].includes('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].includes('paymentAuthForm.service_end')) {\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].includes('description')) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index].includes('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 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 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 assignReferralErrors = useCallback((errors = []) => {\n setErrors((previousErrors) => {\n const modelErrors = [...(mapReferralErrorsToIndex(referrals)[selectedIndex] || []), ...errors];\n const isInvalid = isEmpty([modelErrors]);\n return {\n ...previousErrors,\n ...(!isInvalid && { [selectedIndex]: [...modelErrors] }),\n }\n })\n }, [selectedIndex, referrals]);\n\n const navigateBack = () => CALLBACKS.onNavigateBack ? CALLBACKS.onNavigateBack() : navigate(-1);\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 return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header='Prepare Your Referrals'>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-current-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\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 />\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 currentEmployee={currentEmployee}\n currentProvider={currentProvider}\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 assignReferralErrors={assignReferralErrors}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay onClick={navigateBack} />\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 />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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"}
|
|
@@ -38,7 +38,6 @@ var _ReferralProgramCard = _interopRequireDefault(require("./ReferralProgramCard
|
|
|
38
38
|
var _FileUpload = require("../../common/form/FileUploadV2/FileUpload");
|
|
39
39
|
var _utils = require("./utils");
|
|
40
40
|
var _fetchPrimaryWorkers = _interopRequireDefault(require("../../actions/Referral/fetchPrimaryWorkers"));
|
|
41
|
-
var _ApiHooks = require("../../api/ApiHooks");
|
|
42
41
|
var _useDebounce = require("../../utils/useDebounce");
|
|
43
42
|
var _useFeatureFlag = require("../../utils/useFeatureFlag");
|
|
44
43
|
var _cannotMoveToReferralReasons = require("../../actions/Referral/cannotMoveToReferralReasons");
|
|
@@ -49,7 +48,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
49
48
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
50
49
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
51
50
|
function ReferralBuilderForm(_ref) {
|
|
52
|
-
var _context, _context2, _context3, _context4
|
|
51
|
+
var _context, _context2, _context3, _context4;
|
|
53
52
|
var currentEmployee = _ref.currentEmployee,
|
|
54
53
|
currentProvider = _ref.currentProvider,
|
|
55
54
|
referral = _ref.referral,
|
|
@@ -64,7 +63,8 @@ function ReferralBuilderForm(_ref) {
|
|
|
64
63
|
moveToExistingReferral = _ref.moveToExistingReferral,
|
|
65
64
|
updateAttachments = _ref.updateAttachments,
|
|
66
65
|
source = _ref.source,
|
|
67
|
-
networksUnlistedProgram = _ref.networksUnlistedProgram
|
|
66
|
+
networksUnlistedProgram = _ref.networksUnlistedProgram,
|
|
67
|
+
assignReferralErrors = _ref.assignReferralErrors;
|
|
68
68
|
var service = referral.service,
|
|
69
69
|
programs = referral.programs,
|
|
70
70
|
primaryWorker = referral.primaryWorker,
|
|
@@ -168,14 +168,7 @@ function ReferralBuilderForm(_ref) {
|
|
|
168
168
|
updateAttachments(uploadedFiles);
|
|
169
169
|
}
|
|
170
170
|
}, [uploadedFiles]);
|
|
171
|
-
var
|
|
172
|
-
var _useFindRecord = (0, _ApiHooks.useFindRecord)('fee_schedule_program', feeScheduleProgramID, {
|
|
173
|
-
queryConfig: {
|
|
174
|
-
enabled: !!feeScheduleProgramID
|
|
175
|
-
}
|
|
176
|
-
}),
|
|
177
|
-
fspData = _useFindRecord.data;
|
|
178
|
-
var feeScheduleProgram = fspData === null || fspData === void 0 || (_fspData$data = fspData.data) === null || _fspData$data === void 0 ? void 0 : _fspData$data.data;
|
|
171
|
+
var feeScheduleProgram = (0, _lodash.get)(programs, '[0].fee_schedule_program');
|
|
179
172
|
return /*#__PURE__*/_react.default.createElement(_reactFinalForm.Form, {
|
|
180
173
|
initialValues: initialValues,
|
|
181
174
|
onSubmit: function onSubmit() {},
|
|
@@ -279,7 +272,8 @@ function ReferralBuilderForm(_ref) {
|
|
|
279
272
|
}, params));
|
|
280
273
|
})) : null, isAuthorizationWorkflowEnabled && (feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.authorization_required) && /*#__PURE__*/_react.default.createElement(_AuthorizationSubform.default, {
|
|
281
274
|
feeScheduleProgram: feeScheduleProgram,
|
|
282
|
-
formValues: values
|
|
275
|
+
formValues: values,
|
|
276
|
+
assignReferralErrors: assignReferralErrors
|
|
283
277
|
}), /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
|
|
284
278
|
name: "description",
|
|
285
279
|
required: true,
|
|
@@ -350,7 +344,8 @@ ReferralBuilderForm.propTypes = {
|
|
|
350
344
|
removeProgram: _propTypes.PropTypes.func.isRequired,
|
|
351
345
|
moveToNewReferral: _propTypes.PropTypes.func.isRequired,
|
|
352
346
|
moveToExistingReferral: _propTypes.PropTypes.func.isRequired,
|
|
353
|
-
onSetForm: _propTypes.PropTypes.func.isRequired
|
|
347
|
+
onSetForm: _propTypes.PropTypes.func.isRequired,
|
|
348
|
+
assignReferralErrors: _propTypes.PropTypes.func.isRequired
|
|
354
349
|
};
|
|
355
350
|
ReferralBuilderForm.defaultProps = {
|
|
356
351
|
referralSubtitle: '',
|