@unite-us/app-create-referral 0.4.2-PAYS-5506-4544a3f → 0.4.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.
@@ -20,7 +20,6 @@ var _LineItem = _interopRequireDefault(require("../../pages/builder/LineItem"));
20
20
  var _usePerson = _interopRequireDefault(require("../../hooks/usePerson"));
21
21
  var _ApiHooks = require("../../api/ApiHooks");
22
22
  var _DollarAmount = _interopRequireDefault(require("../DollarAmount"));
23
- var _ErrorMessage = _interopRequireDefault(require("../../common/form/ErrorMessage"));
24
23
  function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
25
  function InformationText(_ref) {
@@ -35,7 +34,7 @@ function InformationText(_ref) {
35
34
  }, value);
36
35
  }
37
36
  InformationText.propTypes = {
38
- name: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]).isRequired,
37
+ name: _propTypes.default.string.isRequired,
39
38
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.number]).isRequired,
40
39
  isLoaded: _propTypes.default.bool.isRequired
41
40
  };
@@ -55,79 +54,50 @@ Spend.propTypes = {
55
54
  isCostBased: _propTypes.default.bool.isRequired
56
55
  };
57
56
  function CapsInfo(_ref3) {
58
- var _formValues$paymentAu, _formValues$paymentAu2, _formValues$paymentAu3;
57
+ var _formValues$paymentAu, _formValues$paymentAu2;
59
58
  var formValues = _ref3.formValues,
60
59
  feeScheduleProgram = _ref3.feeScheduleProgram,
61
60
  isCostBased = _ref3.isCostBased,
62
- assignReferralErrors = _ref3.assignReferralErrors;
63
- var serviceStart = formValues === null || formValues === void 0 || (_formValues$paymentAu = formValues.paymentAuthForm) === null || _formValues$paymentAu === void 0 ? void 0 : _formValues$paymentAu.service_start;
64
- var requestedStartDate = serviceStart && _moment.default.unix(serviceStart).toISOString();
65
- var serviceEnd = formValues === null || formValues === void 0 || (_formValues$paymentAu2 = formValues.paymentAuthForm) === null || _formValues$paymentAu2 === void 0 ? void 0 : _formValues$paymentAu2.service_end;
66
- var requestedEndDate = serviceEnd && _moment.default.unix(serviceEnd).toISOString();
61
+ hasDatesSelected = _ref3.hasDatesSelected,
62
+ assignErrors = _ref3.assignErrors;
67
63
  var person = (0, _usePerson.default)();
68
64
  var _useFind = (0, _ApiHooks.useFind)('authorized_spend', {
69
65
  person: person === null || person === void 0 ? void 0 : person.id,
70
66
  fee_schedule_program: feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.id,
71
- requested_starts_at: requestedStartDate,
72
- requested_ends_at: requestedEndDate
67
+ requested_starts_at: _moment.default.unix(formValues === null || formValues === void 0 || (_formValues$paymentAu = formValues.paymentAuthForm) === null || _formValues$paymentAu === void 0 ? void 0 : _formValues$paymentAu.service_start).toISOString(),
68
+ requested_ends_at: _moment.default.unix(formValues === null || formValues === void 0 || (_formValues$paymentAu2 = formValues.paymentAuthForm) === null || _formValues$paymentAu2 === void 0 ? void 0 : _formValues$paymentAu2.service_end).toISOString()
73
69
  }, {
74
70
  queryConfig: {
75
- enabled: !!(person !== null && person !== void 0 && person.id && feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.id),
71
+ enabled: !!(hasDatesSelected && person !== null && person !== void 0 && person.id && feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.id),
76
72
  placeholderData: undefined
77
73
  }
78
74
  }),
79
75
  authorizedSpendsData = _useFind.data,
80
76
  isFetching = _useFind.isFetching,
81
77
  isLoading = _useFind.isLoading;
82
- var _useFind2 = (0, _ApiHooks.useFind)('insurance', {
83
- person: person === null || person === void 0 ? void 0 : person.id,
84
- state: 'active',
85
- 'plan.fee_schedules': feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.fee_schedule.id,
86
- enrolled_before: requestedStartDate,
87
- expired_after: requestedEndDate
88
- }, {
89
- queryClient: {
90
- enabled: !!(feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.id),
91
- placeholderData: undefined
92
- }
93
- }),
94
- insurancesData = _useFind2.data,
95
- isFindInsuranceSuccess = _useFind2.isSuccess,
96
- isFindInsuranceLoading = _useFind2.isLoading;
97
- var insurances = (0, _lodash.get)(insurancesData, 'data.data', []);
98
- var invalidInsuranceAuthorizationDates = !(insurances !== null && insurances !== void 0 && insurances.length);
99
78
  var isLoaded = !isFetching && !isLoading;
100
79
  var authorizationSpends = (0, _lodash.get)(authorizedSpendsData, 'data.data', []); //todo use this on the modal
101
80
  var totalApprovedSpend = (0, _lodash.get)(authorizedSpendsData, 'data.meta.total_approved_spend', 0);
102
81
  var totalRequestedSpend = (0, _lodash.get)(authorizedSpendsData, 'data.meta.total_requested_spend', 0);
103
82
  var authorizationSpendsErrors = (0, _lodash.get)(authorizedSpendsData, 'data.meta.errors', []);
104
83
  var availableCap = (0, _lodash.get)(authorizedSpendsData, 'data.meta.available_cap', 0);
105
- var totalCap = (0, _lodash.get)(authorizedSpendsData, 'data.meta.total_cap', 0);
106
84
  var showClientUtilizationError = authorizationSpendsErrors.some(function (e) {
107
85
  return e.title === _messageConstants.UTILIZATION_ERROR;
108
86
  });
109
- var showPassthroughDatesError = authorizationSpendsErrors.some(function (e) {
87
+ var showPassthroughDatesError = hasDatesSelected && authorizationSpendsErrors.some(function (e) {
110
88
  return e.title === _messageConstants.DATES_ERROR;
111
89
  });
90
+ (0, _react.useEffect)(function () {
91
+ assignErrors([showClientUtilizationError, showPassthroughDatesError]);
92
+ }, [showClientUtilizationError, showPassthroughDatesError, assignErrors]);
112
93
  var startDate = (0, _moment.default)(authorizedSpendsData === null || authorizedSpendsData === void 0 ? void 0 : authorizedSpendsData.cap_starts_at).utc().startOf('day');
113
- var hasCap = feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.has_cap;
94
+ var hasCap = feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.hasCap;
114
95
  var formattedCap = hasCap ? /*#__PURE__*/_react.default.createElement(Spend, {
115
- amount: totalCap,
96
+ amount: authorizedSpendsData === null || authorizedSpendsData === void 0 ? void 0 : authorizedSpendsData.total_cap,
116
97
  unit: feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.unit,
117
98
  isCostBased: isCostBased
118
99
  }) : 'No Cap';
119
100
  var formattedCapPeriod = (feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.cap_reset_cadence) === 'lifetime' ? 'Lifetime' : "".concat((0, _formatShortDate.default)(startDate));
120
- var amountRequested = formValues === null || formValues === void 0 || (_formValues$paymentAu3 = formValues.paymentAuthForm) === null || _formValues$paymentAu3 === void 0 ? void 0 : _formValues$paymentAu3.amount_requested;
121
- var isAmountExceeded = (0, _lodash.isNumber)(amountRequested) && hasCap && amountRequested > availableCap;
122
- (0, _react.useEffect)(function () {
123
- if (isFindInsuranceSuccess) {
124
- var errors = [];
125
- if (showClientUtilizationError) errors.push('service');
126
- if (showPassthroughDatesError || invalidInsuranceAuthorizationDates) errors.push('paymentAuthForm.service_end');
127
- if (isAmountExceeded) errors.push('paymentAuthForm.amount_requested');
128
- assignReferralErrors(errors);
129
- }
130
- }, [isFindInsuranceSuccess, assignReferralErrors, showClientUtilizationError, showPassthroughDatesError, isAmountExceeded, invalidInsuranceAuthorizationDates, requestedStartDate, requestedEndDate, amountRequested]);
131
101
  return /*#__PURE__*/_react.default.createElement("div", {
132
102
  className: "mb-12 grid grid-cols-2 gap-2",
133
103
  "data-testid": "caps-info-section"
@@ -167,23 +137,14 @@ function CapsInfo(_ref3) {
167
137
  unit: feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.unit
168
138
  }),
169
139
  isLoaded: isLoaded
170
- }), /*#__PURE__*/_react.default.createElement("div", {
171
- className: "mt-6"
172
- }, "View Details"), isAmountExceeded && /*#__PURE__*/_react.default.createElement("div", {
173
- className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0"
174
- }, /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, null, "The amount requested is more than the amount available for authorization. Please adjust the amount requested, or search for another program to meet the client's needs.")), showClientUtilizationError && /*#__PURE__*/_react.default.createElement("div", {
175
- className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0"
176
- }, /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, null, "The client is already receiving this service through either a passthrough or non-passthrough service within this program group.")), showPassthroughDatesError && /*#__PURE__*/_react.default.createElement("div", {
177
- className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0"
178
- }, /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, null, "Clients can only receive services from this program for 30 days or until their social coverage ends, whichever comes first.")), (isFindInsuranceSuccess || !isFindInsuranceLoading) && isLoaded && invalidInsuranceAuthorizationDates && /*#__PURE__*/_react.default.createElement("div", {
179
- className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0"
180
- }, /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, null, "The service delivery dates requested fall outside the client's enrollment dates for all enrolled plans. Please edit the service delivery dates.")));
140
+ }), /*#__PURE__*/_react.default.createElement("div", null, "View Details"));
181
141
  }
182
142
  CapsInfo.propTypes = {
183
143
  formValues: _propTypes.default.object.isRequired,
184
144
  feeScheduleProgram: _propTypes.default.object.isRequired,
185
145
  isCostBased: _propTypes.default.bool.isRequired,
186
- assignReferralErrors: _propTypes.default.func.isRequired
146
+ hasDatesSelected: _propTypes.default.bool.isRequired,
147
+ assignErrors: _propTypes.default.func.isRequired
187
148
  };
188
149
  var _default = exports.default = CapsInfo;
189
150
  //# sourceMappingURL=CapsInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CapsInfo.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_moment","_lodash","_pluralize","_messageConstants","_formatShortDate","_LineItem","_usePerson","_ApiHooks","_DollarAmount","_ErrorMessage","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","InformationText","_ref","name","value","isLoaded","createElement","field","fieldClassName","valueClassName","propTypes","PropTypes","oneOfType","string","element","isRequired","node","number","bool","Spend","_ref2","amount","unit","isCostBased","convertCents","pluralize","CapsInfo","_ref3","_formValues$paymentAu","_formValues$paymentAu2","_formValues$paymentAu3","formValues","feeScheduleProgram","assignReferralErrors","serviceStart","paymentAuthForm","service_start","requestedStartDate","moment","unix","toISOString","serviceEnd","service_end","requestedEndDate","person","usePerson","_useFind","useFind","id","fee_schedule_program","requested_starts_at","requested_ends_at","queryConfig","enabled","placeholderData","undefined","authorizedSpendsData","data","isFetching","isLoading","_useFind2","state","fee_schedule","enrolled_before","expired_after","queryClient","insurancesData","isFindInsuranceSuccess","isSuccess","isFindInsuranceLoading","insurances","invalidInsuranceAuthorizationDates","length","authorizationSpends","totalApprovedSpend","totalRequestedSpend","authorizationSpendsErrors","availableCap","totalCap","showClientUtilizationError","some","title","UTILIZATION_ERROR","showPassthroughDatesError","DATES_ERROR","startDate","cap_starts_at","utc","startOf","hasCap","has_cap","formattedCap","formattedCapPeriod","cap_reset_cadence","concat","formatShortDate","amountRequested","amount_requested","isAmountExceeded","isNumber","useEffect","errors","push","className","Fragment","isValid","object","func","_default","exports"],"sources":["../../../src/components/service_authorization/CapsInfo.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { get, isNumber } from 'lodash';\nimport pluralize from 'pluralize';\nimport { UTILIZATION_ERROR, DATES_ERROR } from './messageConstants';\nimport formatShortDate from './formatShortDate';\nimport LineItem from '../../pages/builder/LineItem';\nimport usePerson from '../../hooks/usePerson';\nimport { useFind } from '../../api/ApiHooks';\nimport DollarAmount from '../DollarAmount';\nimport ErrorMessage from '../../common/form/ErrorMessage';\n\nfunction InformationText({\n name, value, isLoaded\n}) {\n return (\n <LineItem\n field={name}\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"flex text-dark-blue\"\n isLoaded={isLoaded}\n >\n {value}\n </LineItem>\n );\n}\n\nInformationText.propTypes = {\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]).isRequired,\n isLoaded: PropTypes.bool.isRequired,\n};\n\nfunction Spend ({amount, unit, isCostBased}) {\n return isCostBased ? (\n <DollarAmount convertCents value={amount} />\n ) : (\n <span>\n {amount} {pluralize(unit || '', amount)}\n </span>\n )\n};\n\nSpend.propTypes = {\n amount: PropTypes.number.isRequired,\n unit: PropTypes.string,\n isCostBased: PropTypes.bool.isRequired,\n};\n\nfunction CapsInfo({\n formValues,\n feeScheduleProgram,\n isCostBased,\n assignReferralErrors,\n}) {\n\n const serviceStart = formValues?.paymentAuthForm?.service_start;\n const requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = formValues?.paymentAuthForm?.service_end;\n const requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n const person = usePerson();\n const { data: authorizedSpendsData, isFetching, isLoading } = useFind(\n 'authorized_spend',\n {\n person: person?.id,\n fee_schedule_program: feeScheduleProgram?.id,\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n },\n { \n queryConfig: { \n enabled: !!(person?.id && feeScheduleProgram?.id),\n placeholderData: undefined,\n } \n }\n );\n\n const { \n data: insurancesData,\n isSuccess: isFindInsuranceSuccess,\n isLoading: isFindInsuranceLoading,\n } = useFind(\n 'insurance',\n {\n person: person?.id,\n state: 'active',\n 'plan.fee_schedules': feeScheduleProgram?.fee_schedule.id,\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n },\n {\n queryClient: {\n enabled: !!feeScheduleProgram?.id,\n placeholderData: undefined,\n }\n }\n );\n\n const insurances = get(insurancesData, 'data.data', []);\n const invalidInsuranceAuthorizationDates = !insurances?.length;\n\n const isLoaded = !isFetching && !isLoading;\n\n const authorizationSpends = get(authorizedSpendsData, 'data.data', []); //todo use this on the modal\n const totalApprovedSpend = get(authorizedSpendsData, 'data.meta.total_approved_spend', 0);\n const totalRequestedSpend = get(authorizedSpendsData, 'data.meta.total_requested_spend', 0);\n const authorizationSpendsErrors = get(authorizedSpendsData, 'data.meta.errors', []);\n const availableCap = get(authorizedSpendsData, 'data.meta.available_cap', 0);\n const totalCap = get(authorizedSpendsData, 'data.meta.total_cap', 0);\n\n const showClientUtilizationError = authorizationSpendsErrors.some((e) => e.title === UTILIZATION_ERROR);\n const showPassthroughDatesError = authorizationSpendsErrors.some((e) => e.title === DATES_ERROR);\n \n const startDate = moment(authorizedSpendsData?.cap_starts_at).utc().startOf('day');\n const hasCap = feeScheduleProgram?.has_cap;\n const formattedCap = hasCap ? <Spend amount={totalCap} unit={feeScheduleProgram?.unit} isCostBased={isCostBased}/> : 'No Cap';\n const formattedCapPeriod = feeScheduleProgram?.cap_reset_cadence === 'lifetime' ?\n 'Lifetime' : `${formatShortDate(startDate)}`;\n\n const amountRequested = formValues?.paymentAuthForm?.amount_requested;\n const isAmountExceeded = isNumber(amountRequested) && hasCap && (amountRequested > availableCap);\n\n useEffect(() => {\n if(isFindInsuranceSuccess) {\n const errors = [];\n\n if (showClientUtilizationError) errors.push('service');\n if (showPassthroughDatesError || invalidInsuranceAuthorizationDates) errors.push('paymentAuthForm.service_end');\n if (isAmountExceeded) errors.push('paymentAuthForm.amount_requested');\n \n assignReferralErrors(errors);\n }\n }, [\n isFindInsuranceSuccess,\n assignReferralErrors,\n showClientUtilizationError,\n showPassthroughDatesError,\n isAmountExceeded,\n invalidInsuranceAuthorizationDates,\n requestedStartDate,\n requestedEndDate,\n amountRequested,\n ]);\n\n return (\n <div className=\"mb-12 grid grid-cols-2 gap-2\" data-testid=\"caps-info-section\">\n { hasCap && (\n <InformationText\n name={<span className=\"font-bold\">AMOUNT AVAILABLE FOR AUTHORIZATION</span>}\n value={(\n <span className=\"font-bold\">\n <Spend isCostBased={isCostBased} amount={availableCap} unit={feeScheduleProgram?.unit}/>\n </span>\n )}\n isLoaded={isLoaded}\n />\n )}\n <InformationText\n name=\"Amount Currently Authorized\"\n value={<Spend isCostBased={isCostBased} amount={totalApprovedSpend} unit={feeScheduleProgram?.unit}/>}\n isLoaded={isLoaded}\n />\n { hasCap && (\n <>\n <InformationText name=\"Cap\" value={formattedCap} isLoaded={isLoaded} />\n {startDate?.isValid() &&\n (<InformationText name=\"Cap Period\" value={formattedCapPeriod} isLoaded={isLoaded} />)}\n </>\n )}\n <InformationText\n name=\"Amount Pending Authorization\"\n value={\n <Spend isCostBased={isCostBased} amount={totalRequestedSpend} unit={feeScheduleProgram?.unit}/>\n }\n isLoaded={isLoaded}\n />\n <div className=\"mt-6\">\n View Details\n </div>\n {isAmountExceeded && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The amount requested is more than the amount available for authorization.\n Please adjust the amount requested, or search for another program\n to meet the client&apos;s needs.\n </ErrorMessage>\n </div>\n )}\n {showClientUtilizationError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The client is already receiving this service through either a passthrough or non-passthrough service within this program group.\n </ErrorMessage>\n </div>\n )}\n {showPassthroughDatesError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n Clients can only receive services from this program for 30 days or until their social coverage ends,\n whichever comes first.\n </ErrorMessage>\n </div>\n )}\n {((isFindInsuranceSuccess || !isFindInsuranceLoading) && isLoaded) && invalidInsuranceAuthorizationDates && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The service delivery dates requested fall outside the client&apos;s\n enrollment dates for all enrolled plans. Please edit the service delivery dates.\n </ErrorMessage>\n </div>\n )}\n </div>\n );\n}\n\nCapsInfo.propTypes = {\n formValues: PropTypes.object.isRequired,\n feeScheduleProgram: PropTypes.object.isRequired,\n isCostBased: PropTypes.bool.isRequired,\n assignReferralErrors: PropTypes.func.isRequired,\n};\n\nexport default CapsInfo;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,aAAA,GAAAV,sBAAA,CAAAF,OAAA;AAA0D,SAAAa,yBAAAC,CAAA,6BAAAC,QAAA,mBAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAc,CAAA,SAAAK,CAAA,GAAAR,CAAA,GAAAE,gCAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAK,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,sBAAA,CAAAH,CAAA,EAAAK,CAAA,EAAAK,CAAA,IAAAV,CAAA,CAAAK,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAL,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAE1D,SAASY,eAAeA,CAAAC,IAAA,EAErB;EAAA,IADFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAEpB,oBACEzC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAChC,SAAA,CAAAY,OAAQ;IACPqB,KAAK,EAAEJ,IAAK;IACZK,cAAc,EAAC,+BAA+B;IAC9CC,cAAc,EAAC,qBAAqB;IACpCJ,QAAQ,EAAEA;EAAS,GAElBD,KACO,CAAC;AAEf;AAEAH,eAAe,CAACS,SAAS,GAAG;EAC1BP,IAAI,EAAEQ,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACG,OAAO,CAAC,CAAC,CAACC,UAAU;EAC3EX,KAAK,EAAEO,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACK,IAAI,EAAEL,kBAAS,CAACM,MAAM,CAAC,CAAC,CAACF,UAAU;EAC3FV,QAAQ,EAAEM,kBAAS,CAACO,IAAI,CAACH;AAC3B,CAAC;AAED,SAASI,KAAKA,CAAAC,KAAA,EAA+B;EAAA,IAA5BC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;IAAEC,WAAW,GAAAH,KAAA,CAAXG,WAAW;EACxC,OAAOA,WAAW,gBAChB3D,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAC7B,aAAA,CAAAS,OAAY;IAACsC,YAAY;IAACpB,KAAK,EAAEiB;EAAO,CAAE,CAAC,gBAE5CzD,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,eACGe,MAAM,EAAC,GAAC,EAAC,IAAAI,kBAAS,EAACH,IAAI,IAAI,EAAE,EAAED,MAAM,CAClC,CACP;AACH;AAAC;AAEDF,KAAK,CAACT,SAAS,GAAG;EAChBW,MAAM,EAAEV,kBAAS,CAACM,MAAM,CAACF,UAAU;EACnCO,IAAI,EAAEX,kBAAS,CAACE,MAAM;EACtBU,WAAW,EAAEZ,kBAAS,CAACO,IAAI,CAACH;AAC9B,CAAC;AAED,SAASW,QAAQA,CAAAC,KAAA,EAKd;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,IAJDC,UAAU,GAAAJ,KAAA,CAAVI,UAAU;IACVC,kBAAkB,GAAAL,KAAA,CAAlBK,kBAAkB;IAClBT,WAAW,GAAAI,KAAA,CAAXJ,WAAW;IACXU,oBAAoB,GAAAN,KAAA,CAApBM,oBAAoB;EAGpB,IAAMC,YAAY,GAAGH,UAAU,aAAVA,UAAU,gBAAAH,qBAAA,GAAVG,UAAU,CAAEI,eAAe,cAAAP,qBAAA,uBAA3BA,qBAAA,CAA6BQ,aAAa;EAC/D,IAAMC,kBAAkB,GAAGH,YAAY,IAAII,eAAM,CAACC,IAAI,CAACL,YAAY,CAAC,CAACM,WAAW,CAAC,CAAC;EAClF,IAAMC,UAAU,GAAGV,UAAU,aAAVA,UAAU,gBAAAF,sBAAA,GAAVE,UAAU,CAAEI,eAAe,cAAAN,sBAAA,uBAA3BA,sBAAA,CAA6Ba,WAAW;EAC3D,IAAMC,gBAAgB,GAAGF,UAAU,IAAIH,eAAM,CAACC,IAAI,CAACE,UAAU,CAAC,CAACD,WAAW,CAAC,CAAC;EAE5E,IAAMI,MAAM,GAAG,IAAAC,kBAAS,EAAC,CAAC;EAC1B,IAAAC,QAAA,GAA8D,IAAAC,iBAAO,EACnE,kBAAkB,EAClB;MACEH,MAAM,EAAEA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,EAAE;MAClBC,oBAAoB,EAAEjB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEgB,EAAE;MAC5CE,mBAAmB,EAAEb,kBAAkB;MACvCc,iBAAiB,EAAER;IACrB,CAAC,EACD;MACES,WAAW,EAAE;QACXC,OAAO,EAAE,CAAC,EAAET,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEI,EAAE,IAAIhB,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEgB,EAAE,CAAC;QACjDM,eAAe,EAAEC;MACnB;IACF,CACF,CAAC;IAdaC,oBAAoB,GAAAV,QAAA,CAA1BW,IAAI;IAAwBC,UAAU,GAAAZ,QAAA,CAAVY,UAAU;IAAEC,SAAS,GAAAb,QAAA,CAATa,SAAS;EAgBzD,IAAAC,SAAA,GAII,IAAAb,iBAAO,EACT,WAAW,EACX;MACEH,MAAM,EAAEA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,EAAE;MAClBa,KAAK,EAAE,QAAQ;MACf,oBAAoB,EAAE7B,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAE8B,YAAY,CAACd,EAAE;MACzDe,eAAe,EAAE1B,kBAAkB;MACnC2B,aAAa,EAAErB;IACjB,CAAC,EACD;MACEsB,WAAW,EAAE;QACXZ,OAAO,EAAE,CAAC,EAACrB,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEgB,EAAE;QACjCM,eAAe,EAAEC;MACnB;IACF,CACF,CAAC;IAlBOW,cAAc,GAAAN,SAAA,CAApBH,IAAI;IACOU,sBAAsB,GAAAP,SAAA,CAAjCQ,SAAS;IACEC,sBAAsB,GAAAT,SAAA,CAAjCD,SAAS;EAkBX,IAAMW,UAAU,GAAG,IAAAlF,WAAG,EAAC8E,cAAc,EAAE,WAAW,EAAE,EAAE,CAAC;EACvD,IAAMK,kCAAkC,GAAG,EAACD,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEE,MAAM;EAE9D,IAAMnE,QAAQ,GAAG,CAACqD,UAAU,IAAI,CAACC,SAAS;EAE1C,IAAMc,mBAAmB,GAAG,IAAArF,WAAG,EAACoE,oBAAoB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;EACxE,IAAMkB,kBAAkB,GAAG,IAAAtF,WAAG,EAACoE,oBAAoB,EAAE,gCAAgC,EAAE,CAAC,CAAC;EACzF,IAAMmB,mBAAmB,GAAG,IAAAvF,WAAG,EAACoE,oBAAoB,EAAE,iCAAiC,EAAE,CAAC,CAAC;EAC3F,IAAMoB,yBAAyB,GAAG,IAAAxF,WAAG,EAACoE,oBAAoB,EAAE,kBAAkB,EAAE,EAAE,CAAC;EACnF,IAAMqB,YAAY,GAAG,IAAAzF,WAAG,EAACoE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC,CAAC;EAC5E,IAAMsB,QAAQ,GAAG,IAAA1F,WAAG,EAACoE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC,CAAC;EAEpE,IAAMuB,0BAA0B,GAAGH,yBAAyB,CAACI,IAAI,CAAC,UAACpG,CAAC;IAAA,OAAKA,CAAC,CAACqG,KAAK,KAAKC,mCAAiB;EAAA,EAAC;EACvG,IAAMC,yBAAyB,GAAGP,yBAAyB,CAACI,IAAI,CAAC,UAACpG,CAAC;IAAA,OAAKA,CAAC,CAACqG,KAAK,KAAKG,6BAAW;EAAA,EAAC;EAEhG,IAAMC,SAAS,GAAG,IAAA/C,eAAM,EAACkB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE8B,aAAa,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;EAClF,IAAMC,MAAM,GAAGzD,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAE0D,OAAO;EAC1C,IAAMC,YAAY,GAAGF,MAAM,gBAAI7H,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACa,KAAK;IAACE,MAAM,EAAEyD,QAAS;IAACxD,IAAI,EAAEU,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEV,IAAK;IAACC,WAAW,EAAEA;EAAY,CAAC,CAAC,GAAG,QAAQ;EAC9H,IAAMqE,kBAAkB,GAAG,CAAA5D,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAE6D,iBAAiB,MAAK,UAAU,GAC7E,UAAU,MAAAC,MAAA,CAAM,IAAAC,wBAAe,EAACV,SAAS,CAAC,CAAE;EAE9C,IAAMW,eAAe,GAAGjE,UAAU,aAAVA,UAAU,gBAAAD,sBAAA,GAAVC,UAAU,CAAEI,eAAe,cAAAL,sBAAA,uBAA3BA,sBAAA,CAA6BmE,gBAAgB;EACrE,IAAMC,gBAAgB,GAAG,IAAAC,gBAAQ,EAACH,eAAe,CAAC,IAAIP,MAAM,IAAKO,eAAe,GAAGnB,YAAa;EAEhG,IAAAuB,gBAAS,EAAC,YAAM;IACd,IAAGjC,sBAAsB,EAAE;MACvB,IAAMkC,MAAM,GAAG,EAAE;MAEjB,IAAItB,0BAA0B,EAAEsB,MAAM,CAACC,IAAI,CAAC,SAAS,CAAC;MACtD,IAAInB,yBAAyB,IAAIZ,kCAAkC,EAAE8B,MAAM,CAACC,IAAI,CAAC,6BAA6B,CAAC;MAC/G,IAAIJ,gBAAgB,EAAEG,MAAM,CAACC,IAAI,CAAC,kCAAkC,CAAC;MAErErE,oBAAoB,CAACoE,MAAM,CAAC;IAChC;EACF,CAAC,EAAE,CACDlC,sBAAsB,EACtBlC,oBAAoB,EACpB8C,0BAA0B,EAC1BI,yBAAyB,EACzBe,gBAAgB,EAChB3B,kCAAkC,EAClClC,kBAAkB,EAClBM,gBAAgB,EAChBqD,eAAe,CAChB,CAAC;EAEF,oBACEpI,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC,8BAA8B;IAAC,eAAY;EAAmB,GACzEd,MAAM,iBACN7H,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACL,eAAe;IACdE,IAAI,eAAEvC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;MAAMiG,SAAS,EAAC;IAAW,GAAC,oCAAwC,CAAE;IAC5EnG,KAAK,eACHxC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;MAAMiG,SAAS,EAAC;IAAW,gBACzB3I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACa,KAAK;MAACI,WAAW,EAAEA,WAAY;MAACF,MAAM,EAAEwD,YAAa;MAACvD,IAAI,EAAEU,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEV;IAAK,CAAC,CACnF,CACN;IACFjB,QAAQ,EAAEA;EAAS,CACpB,CACF,eACDzC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACL,eAAe;IACdE,IAAI,EAAC,6BAA6B;IAClCC,KAAK,eAAExC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACa,KAAK;MAACI,WAAW,EAAEA,WAAY;MAACF,MAAM,EAAEqD,kBAAmB;MAACpD,IAAI,EAAEU,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEV;IAAK,CAAC,CAAE;IACtGjB,QAAQ,EAAEA;EAAS,CACpB,CAAC,EACAoF,MAAM,iBACN7H,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAA1C,MAAA,CAAAsB,OAAA,CAAAsH,QAAA,qBACE5I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACL,eAAe;IAACE,IAAI,EAAC,KAAK;IAACC,KAAK,EAAEuF,YAAa;IAACtF,QAAQ,EAAEA;EAAS,CAAE,CAAC,EACtE,CAAAgF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,OAAO,CAAC,CAAC,kBACnB7I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACL,eAAe;IAACE,IAAI,EAAC,YAAY;IAACC,KAAK,EAAEwF,kBAAmB;IAACvF,QAAQ,EAAEA;EAAS,CAAE,CACrF,CACH,eACDzC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACL,eAAe;IACdE,IAAI,EAAC,8BAA8B;IACnCC,KAAK,eACHxC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAACa,KAAK;MAACI,WAAW,EAAEA,WAAY;MAACF,MAAM,EAAEsD,mBAAoB;MAACrD,IAAI,EAAEU,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEV;IAAK,CAAC,CAC/F;IACDjB,QAAQ,EAAEA;EAAS,CACpB,CAAC,eACFzC,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC;EAAM,GAAC,cAEjB,CAAC,EACLL,gBAAgB,iBACftI,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC;EAA0C,gBACvD3I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAC5B,aAAA,CAAAQ,OAAY,QAAC,yKAIA,CACX,CACN,EACA6F,0BAA0B,iBACzBnH,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC;EAA0C,gBACvD3I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAC5B,aAAA,CAAAQ,OAAY,QAAC,iIAEA,CACX,CACN,EACAiG,yBAAyB,iBACxBvH,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC;EAA0C,gBACvD3I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAC5B,aAAA,CAAAQ,OAAY,QAAC,6HAGA,CACX,CACN,EACC,CAACiF,sBAAsB,IAAI,CAACE,sBAAsB,KAAKhE,QAAQ,IAAKkE,kCAAkC,iBACtG3G,MAAA,CAAAsB,OAAA,CAAAoB,aAAA;IAAKiG,SAAS,EAAC;EAA0C,gBACvD3I,MAAA,CAAAsB,OAAA,CAAAoB,aAAA,CAAC5B,aAAA,CAAAQ,OAAY,QAAC,iJAGA,CACX,CAEJ,CAAC;AAEV;AAEAwC,QAAQ,CAAChB,SAAS,GAAG;EACnBqB,UAAU,EAAEpB,kBAAS,CAAC+F,MAAM,CAAC3F,UAAU;EACvCiB,kBAAkB,EAAErB,kBAAS,CAAC+F,MAAM,CAAC3F,UAAU;EAC/CQ,WAAW,EAAEZ,kBAAS,CAACO,IAAI,CAACH,UAAU;EACtCkB,oBAAoB,EAAEtB,kBAAS,CAACgG,IAAI,CAAC5F;AACvC,CAAC;AAAC,IAAA6F,QAAA,GAAAC,OAAA,CAAA3H,OAAA,GAEawC,QAAQ"}
1
+ {"version":3,"file":"CapsInfo.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_moment","_lodash","_pluralize","_messageConstants","_formatShortDate","_LineItem","_usePerson","_ApiHooks","_DollarAmount","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","InformationText","_ref","name","value","isLoaded","createElement","field","fieldClassName","valueClassName","propTypes","PropTypes","string","isRequired","oneOfType","node","number","bool","Spend","_ref2","amount","unit","isCostBased","convertCents","pluralize","CapsInfo","_ref3","_formValues$paymentAu","_formValues$paymentAu2","formValues","feeScheduleProgram","hasDatesSelected","assignErrors","person","usePerson","_useFind","useFind","id","fee_schedule_program","requested_starts_at","moment","unix","paymentAuthForm","service_start","toISOString","requested_ends_at","service_end","queryConfig","enabled","placeholderData","undefined","authorizedSpendsData","data","isFetching","isLoading","authorizationSpends","totalApprovedSpend","totalRequestedSpend","authorizationSpendsErrors","availableCap","showClientUtilizationError","some","title","UTILIZATION_ERROR","showPassthroughDatesError","DATES_ERROR","useEffect","startDate","cap_starts_at","utc","startOf","hasCap","formattedCap","total_cap","formattedCapPeriod","cap_reset_cadence","concat","formatShortDate","className","Fragment","isValid","object","func","_default","exports"],"sources":["../../../src/components/service_authorization/CapsInfo.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { get } from 'lodash';\nimport pluralize from 'pluralize';\nimport { UTILIZATION_ERROR, DATES_ERROR } from './messageConstants';\nimport formatShortDate from './formatShortDate';\nimport LineItem from '../../pages/builder/LineItem';\nimport usePerson from '../../hooks/usePerson';\nimport { useFind } from '../../api/ApiHooks';\nimport DollarAmount from '../DollarAmount';\nfunction InformationText({\n name, value, isLoaded\n}) {\n return (\n <LineItem\n field={name}\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"flex text-dark-blue\"\n isLoaded={isLoaded}\n >\n {value}\n </LineItem>\n );\n}\n\nInformationText.propTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]).isRequired,\n isLoaded: PropTypes.bool.isRequired,\n};\n\nfunction Spend ({amount, unit, isCostBased}) {\n return isCostBased ? (\n <DollarAmount convertCents value={amount} />\n ) : (\n <span>\n {amount} {pluralize(unit || '', amount)}\n </span>\n )\n};\n\nSpend.propTypes = {\n amount: PropTypes.number.isRequired,\n unit: PropTypes.string,\n isCostBased: PropTypes.bool.isRequired,\n};\n\nfunction CapsInfo({\n formValues,\n feeScheduleProgram,\n isCostBased,\n hasDatesSelected,\n assignErrors,\n}) {\n\n const person = usePerson();\n const { data: authorizedSpendsData, isFetching, isLoading } = useFind(\n 'authorized_spend',\n {\n person: person?.id,\n fee_schedule_program: feeScheduleProgram?.id,\n requested_starts_at: moment.unix(formValues?.paymentAuthForm?.service_start).toISOString(),\n requested_ends_at: moment.unix(formValues?.paymentAuthForm?.service_end).toISOString(),\n },\n { \n queryConfig: { \n enabled: !!(hasDatesSelected && person?.id && feeScheduleProgram?.id),\n placeholderData: undefined,\n } \n }\n );\n\n const isLoaded = !isFetching && !isLoading;\n\n const authorizationSpends = get(authorizedSpendsData, 'data.data', []); //todo use this on the modal\n const totalApprovedSpend = get(authorizedSpendsData, 'data.meta.total_approved_spend', 0);\n const totalRequestedSpend = get(authorizedSpendsData, 'data.meta.total_requested_spend', 0);\n const authorizationSpendsErrors = get(authorizedSpendsData, 'data.meta.errors', []);\n const availableCap = get(authorizedSpendsData, 'data.meta.available_cap', 0);\n\n const showClientUtilizationError = authorizationSpendsErrors.some((e) => e.title === UTILIZATION_ERROR);\n const showPassthroughDatesError = hasDatesSelected &&\n authorizationSpendsErrors.some((e) => e.title === DATES_ERROR);\n\n useEffect(() => {\n assignErrors([showClientUtilizationError, showPassthroughDatesError]);\n }, [showClientUtilizationError, showPassthroughDatesError, assignErrors]);\n\n const startDate = moment(authorizedSpendsData?.cap_starts_at).utc().startOf('day');\n const hasCap = feeScheduleProgram?.hasCap;\n const formattedCap = hasCap ? <Spend amount={authorizedSpendsData?.total_cap} unit={feeScheduleProgram?.unit} isCostBased={isCostBased}/> : 'No Cap';\n const formattedCapPeriod = feeScheduleProgram?.cap_reset_cadence === 'lifetime' ?\n 'Lifetime' : `${formatShortDate(startDate)}`;\n\n\n return (\n <div className=\"mb-12 grid grid-cols-2 gap-2\" data-testid=\"caps-info-section\">\n { hasCap && (\n <InformationText\n name={<span className=\"font-bold\">AMOUNT AVAILABLE FOR AUTHORIZATION</span>}\n value={(\n <span className=\"font-bold\">\n <Spend isCostBased={isCostBased} amount={availableCap} unit={feeScheduleProgram?.unit}/>\n </span>\n )}\n isLoaded={isLoaded}\n />\n )}\n <InformationText\n name=\"Amount Currently Authorized\"\n value={<Spend isCostBased={isCostBased} amount={totalApprovedSpend} unit={feeScheduleProgram?.unit}/>}\n isLoaded={isLoaded}\n />\n { hasCap && (\n <>\n <InformationText name=\"Cap\" value={formattedCap} isLoaded={isLoaded} />\n {startDate?.isValid() &&\n (<InformationText name=\"Cap Period\" value={formattedCapPeriod} isLoaded={isLoaded} />)}\n </>\n )}\n <InformationText\n name=\"Amount Pending Authorization\"\n value={\n <Spend isCostBased={isCostBased} amount={totalRequestedSpend} unit={feeScheduleProgram?.unit}/>\n }\n isLoaded={isLoaded}\n />\n <div>\n View Details\n </div>\n </div>\n );\n}\n\nCapsInfo.propTypes = {\n formValues: PropTypes.object.isRequired,\n feeScheduleProgram: PropTypes.object.isRequired,\n isCostBased: PropTypes.bool.isRequired,\n hasDatesSelected: PropTypes.bool.isRequired,\n assignErrors: PropTypes.func.isRequired,\n};\n\nexport default CapsInfo;\n"],"mappings":"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"}
@@ -18,7 +18,6 @@ var _ui = require("@unite-us/ui");
18
18
  var _CurrencyField = _interopRequireDefault(require("../../common/form/CurrencyField"));
19
19
  var _DollarAmount = _interopRequireDefault(require("../../components/DollarAmount"));
20
20
  var _LineItem = _interopRequireDefault(require("./LineItem"));
21
- var _validateUnitAmount = _interopRequireDefault(require("../../utils/validateUnitAmount"));
22
21
  var AuthFormLineItem = function AuthFormLineItem(props) {
23
22
  return /*#__PURE__*/_react.default.createElement(_LineItem.default, (0, _extends2.default)({
24
23
  fieldClassName: "col-span-1 p-0 text-dark-grey",
@@ -28,8 +27,7 @@ var AuthFormLineItem = function AuthFormLineItem(props) {
28
27
  var AuthorizationSubform = function AuthorizationSubform(_ref) {
29
28
  var _formValues$paymentAu, _formValues$paymentAu2, _formValues$amount_re;
30
29
  var feeScheduleProgram = _ref.feeScheduleProgram,
31
- formValues = _ref.formValues,
32
- assignReferralErrors = _ref.assignReferralErrors;
30
+ formValues = _ref.formValues;
33
31
  var isCostBased = _feeSchedulePrograms.default.isCostPaymentType(feeScheduleProgram.payment_type);
34
32
  var showUnits = !isCostBased && (feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.unit);
35
33
  var showRate = showUnits && (feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.unit_rate) > 0;
@@ -64,10 +62,13 @@ var AuthorizationSubform = function AuthorizationSubform(_ref) {
64
62
  }, /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
65
63
  name: "paymentAuthForm.amount_requested",
66
64
  validate: function validate(value) {
67
- return isCostBased ? (0, _validateUnitAmount.default)(value) : (0, _validations.isRequired)(value);
65
+ return (0, _validations.isRequired)(value);
68
66
  }
69
67
  }, function (params) {
70
- return isCostBased ? /*#__PURE__*/_react.default.createElement(_CurrencyField.default, (0, _extends2.default)({
68
+ return isCostBased ?
69
+ /*#__PURE__*/
70
+ // TODO unit amount validation https://uniteus.atlassian.net/browse/PAYS-5506
71
+ _react.default.createElement(_CurrencyField.default, (0, _extends2.default)({
71
72
  className: "col-span-1 p-0",
72
73
  id: "authorization-request-amount-requested",
73
74
  label: "Amount Requested",
@@ -117,13 +118,14 @@ var AuthorizationSubform = function AuthorizationSubform(_ref) {
117
118
  feeScheduleProgram: feeScheduleProgram,
118
119
  formValues: formValues,
119
120
  isCostBased: isCostBased,
120
- assignReferralErrors: assignReferralErrors
121
+ assignErrors: function assignErrors() {} // todo use when create validation https://uniteus.atlassian.net/browse/PAYS-5506
122
+ ,
123
+ hasDatesSelected: hasDatesSelected
121
124
  })));
122
125
  };
123
126
  AuthorizationSubform.propTypes = {
124
127
  feeScheduleProgram: _propTypes.default.object.isRequired,
125
- formValues: _propTypes.default.object.isRequired,
126
- assignReferralErrors: _propTypes.default.func.isRequired
128
+ formValues: _propTypes.default.object.isRequired
127
129
  };
128
130
  var _default = exports.default = AuthorizationSubform;
129
131
  //# sourceMappingURL=AuthorizationSubform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationSubform.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactFinalForm","_pluralize","_feeSchedulePrograms","_validations","_CapsInfo","_ui","_CurrencyField","_DollarAmount","_LineItem","_validateUnitAmount","AuthFormLineItem","props","default","createElement","_extends2","fieldClassName","valueClassName","AuthorizationSubform","_ref","_formValues$paymentAu","_formValues$paymentAu2","_formValues$amount_re","feeScheduleProgram","formValues","assignReferralErrors","isCostBased","fspUtils","isCostPaymentType","payment_type","showUnits","unit","showRate","unit_rate","hasDatesSelected","paymentAuthForm","service_start","service_end","Fragment","className","field","name","PAYMENT_TYPES","value","convertCents","cap_information","dangerouslySetInnerHTML","__html","Field","validate","validateUnitAmount","isRequired","params","id","label","required","InputField","type","pluralize","amount_requested","startProps","endProps","DurationField","startField","startFieldPath","endField","endFieldPath","style","container","width","propTypes","PropTypes","object","func","_default","exports"],"sources":["../../../src/pages/builder/AuthorizationSubform.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Field } from 'react-final-form';\nimport pluralize from 'pluralize';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isRequired } from '@unite-us/client-utils/dist/utils/validations/validations';\nimport CapsInfo from '../../components/service_authorization/CapsInfo';\nimport {\n DurationField,\n InputField,\n} from '@unite-us/ui';\nimport CurrencyField from '../../common/form/CurrencyField';\nimport DollarAmount from '../../components/DollarAmount';\nimport LineItem from './LineItem';\nimport validateUnitAmount from '../../utils/validateUnitAmount';\n\nconst AuthFormLineItem = (props) => (\n <LineItem\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"col-span-2 m-0 p-0 text-dark-blue\"\n {...props}\n />\n);\n\nconst AuthorizationSubform = ({ feeScheduleProgram, formValues, assignReferralErrors }) => {\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const showUnits = !isCostBased && feeScheduleProgram?.unit;\n const showRate = showUnits && feeScheduleProgram?.unit_rate > 0;\n const hasDatesSelected = !!(\n formValues?.paymentAuthForm?.service_start &&\n formValues?.paymentAuthForm?.service_end\n );\n\n return (\n <>\n <div className=\"space-y-6\">\n <h5 className=\"text-sm ui-form-field__label m-0\">\n AUTHORIZATION REQUEST\n </h5>\n <dl className=\"grid grid-cols-3 gap-x-6 gap-y-2\">\n <AuthFormLineItem field=\"Contracted Program\">\n {feeScheduleProgram.name}\n </AuthFormLineItem>\n <AuthFormLineItem field=\"Payment Approach\">\n {fspUtils.PAYMENT_TYPES[feeScheduleProgram.payment_type] || 'N/A'}\n </AuthFormLineItem>\n {showUnits && (\n <AuthFormLineItem field=\"Unit\">\n {feeScheduleProgram.unit}\n </AuthFormLineItem>\n )}\n {showRate && (\n <AuthFormLineItem field=\"Rate\">\n <DollarAmount value={feeScheduleProgram.unit_rate} convertCents />\n {' per '}\n {feeScheduleProgram.unit}\n </AuthFormLineItem>\n )}\n <AuthFormLineItem field=\"Program Cap\">\n {feeScheduleProgram.cap_information ? (\n <div dangerouslySetInnerHTML={{ __html: feeScheduleProgram.cap_information }} />\n ) : (\n 'No cap'\n )}\n </AuthFormLineItem>\n </dl>\n <hr className=\"p-0\" />\n <div className=\"grid grid-cols-3 gap-x-6\">\n <Field\n name=\"paymentAuthForm.amount_requested\"\n validate={(value) => {\n return isCostBased ? validateUnitAmount(value) : isRequired(value);\n }}\n >\n {(params) => (isCostBased ? (\n <CurrencyField\n className=\"col-span-1 p-0\"\n id=\"authorization-request-amount-requested\"\n label=\"Amount Requested\"\n required\n {...params}\n />\n ) : (\n <InputField\n className=\"col-span-1 p-0\"\n id=\"authorization-request-amount-requested\"\n label=\"Amount Requested\"\n type=\"number\"\n required\n {...params}\n />\n ))}\n </Field>\n <div className=\"col-span-2 p-0 space-y-2\">\n <div className=\"font-heavy-font text-dark-grey\">Unit</div>\n <div className=\"capitalize\">\n {isCostBased ? 'Dollars' :\n pluralize(\n feeScheduleProgram.unit || '',\n formValues?.amount_requested?.value || 0,\n )}\n </div>\n </div>\n <div className=\"col-span-1 p-0\">\n <Field name=\"paymentAuthForm.service_start\">\n {(startProps) => (\n <Field name=\"paymentAuthForm.service_end\" validate={(value) => isRequired(value)}>\n {(endProps) => (\n <DurationField\n id=\"authorization-request-service-dates\"\n label=\"Service Delivery Date(s)\"\n startField={startProps}\n startFieldPath=\"startField\"\n endField={endProps}\n endFieldPath=\"endField\"\n required\n style={{ container: { width: 'unset' } }}\n />\n )}\n </Field>\n )}\n </Field>\n </div>\n </div>\n </div>\n {\n hasDatesSelected &&\n <>\n <hr className=\"mb-6\"/>\n <CapsInfo\n feeScheduleProgram={feeScheduleProgram}\n formValues={formValues}\n isCostBased={isCostBased}\n assignReferralErrors={assignReferralErrors}\n />\n </>\n }\n </>\n );\n};\n\nAuthorizationSubform.propTypes = {\n feeScheduleProgram: PropTypes.object.isRequired,\n formValues: PropTypes.object.isRequired,\n assignReferralErrors: PropTypes.func.isRequired,\n};\n\nexport default AuthorizationSubform;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthorizationSubform.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactFinalForm","_pluralize","_feeSchedulePrograms","_validations","_CapsInfo","_ui","_CurrencyField","_DollarAmount","_LineItem","AuthFormLineItem","props","default","createElement","_extends2","fieldClassName","valueClassName","AuthorizationSubform","_ref","_formValues$paymentAu","_formValues$paymentAu2","_formValues$amount_re","feeScheduleProgram","formValues","isCostBased","fspUtils","isCostPaymentType","payment_type","showUnits","unit","showRate","unit_rate","hasDatesSelected","paymentAuthForm","service_start","service_end","Fragment","className","field","name","PAYMENT_TYPES","value","convertCents","cap_information","dangerouslySetInnerHTML","__html","Field","validate","isRequired","params","id","label","required","InputField","type","pluralize","amount_requested","startProps","endProps","DurationField","startField","startFieldPath","endField","endFieldPath","style","container","width","assignErrors","propTypes","PropTypes","object","_default","exports"],"sources":["../../../src/pages/builder/AuthorizationSubform.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Field } from 'react-final-form';\nimport pluralize from 'pluralize';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isRequired } from '@unite-us/client-utils/dist/utils/validations/validations';\nimport CapsInfo from '../../components/service_authorization/CapsInfo';\nimport {\n DurationField,\n InputField,\n} from '@unite-us/ui';\nimport CurrencyField from '../../common/form/CurrencyField';\nimport DollarAmount from '../../components/DollarAmount';\nimport LineItem from './LineItem';\n\nconst AuthFormLineItem = (props) => (\n <LineItem\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"col-span-2 m-0 p-0 text-dark-blue\"\n {...props}\n />\n);\n\nconst AuthorizationSubform = ({ feeScheduleProgram, formValues }) => {\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const showUnits = !isCostBased && feeScheduleProgram?.unit;\n const showRate = showUnits && feeScheduleProgram?.unit_rate > 0;\n const hasDatesSelected = !!(\n formValues?.paymentAuthForm?.service_start &&\n formValues?.paymentAuthForm?.service_end\n );\n\n return (\n <>\n <div className=\"space-y-6\">\n <h5 className=\"text-sm ui-form-field__label m-0\">\n AUTHORIZATION REQUEST\n </h5>\n <dl className=\"grid grid-cols-3 gap-x-6 gap-y-2\">\n <AuthFormLineItem field=\"Contracted Program\">\n {feeScheduleProgram.name}\n </AuthFormLineItem>\n <AuthFormLineItem field=\"Payment Approach\">\n {fspUtils.PAYMENT_TYPES[feeScheduleProgram.payment_type] || 'N/A'}\n </AuthFormLineItem>\n {showUnits && (\n <AuthFormLineItem field=\"Unit\">\n {feeScheduleProgram.unit}\n </AuthFormLineItem>\n )}\n {showRate && (\n <AuthFormLineItem field=\"Rate\">\n <DollarAmount value={feeScheduleProgram.unit_rate} convertCents />\n {' per '}\n {feeScheduleProgram.unit}\n </AuthFormLineItem>\n )}\n <AuthFormLineItem field=\"Program Cap\">\n {feeScheduleProgram.cap_information ? (\n <div dangerouslySetInnerHTML={{ __html: feeScheduleProgram.cap_information }} />\n ) : (\n 'No cap'\n )}\n </AuthFormLineItem>\n </dl>\n <hr className=\"p-0\" />\n <div className=\"grid grid-cols-3 gap-x-6\">\n <Field name=\"paymentAuthForm.amount_requested\" validate={(value) => isRequired(value)}>\n {(params) => (isCostBased ? (\n // TODO unit amount validation https://uniteus.atlassian.net/browse/PAYS-5506\n <CurrencyField\n className=\"col-span-1 p-0\"\n id=\"authorization-request-amount-requested\"\n label=\"Amount Requested\"\n required\n {...params}\n />\n ) : (\n <InputField\n className=\"col-span-1 p-0\"\n id=\"authorization-request-amount-requested\"\n label=\"Amount Requested\"\n type=\"number\"\n required\n {...params}\n />\n ))}\n </Field>\n <div className=\"col-span-2 p-0 space-y-2\">\n <div className=\"font-heavy-font text-dark-grey\">Unit</div>\n <div className=\"capitalize\">\n {isCostBased ? 'Dollars' :\n pluralize(\n feeScheduleProgram.unit || '',\n formValues?.amount_requested?.value || 0,\n )}\n </div>\n </div>\n <div className=\"col-span-1 p-0\">\n <Field name=\"paymentAuthForm.service_start\">\n {(startProps) => (\n <Field name=\"paymentAuthForm.service_end\" validate={(value) => isRequired(value)}>\n {(endProps) => (\n <DurationField\n id=\"authorization-request-service-dates\"\n label=\"Service Delivery Date(s)\"\n startField={startProps}\n startFieldPath=\"startField\"\n endField={endProps}\n endFieldPath=\"endField\"\n required\n style={{ container: { width: 'unset' } }}\n />\n )}\n </Field>\n )}\n </Field>\n </div>\n </div>\n </div>\n {\n hasDatesSelected &&\n <>\n <hr className=\"mb-6\"/>\n <CapsInfo\n feeScheduleProgram={feeScheduleProgram}\n formValues={formValues}\n isCostBased={isCostBased}\n assignErrors={()=>{}}// todo use when create validation https://uniteus.atlassian.net/browse/PAYS-5506\n hasDatesSelected={hasDatesSelected}\n />\n </>\n }\n </>\n );\n};\n\nAuthorizationSubform.propTypes = {\n feeScheduleProgram: PropTypes.object.isRequired,\n formValues: PropTypes.object.isRequired,\n};\n\nexport default AuthorizationSubform;\n"],"mappings":"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"}
@@ -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, _context11;
58
+ var _location$state$selec, _location$state;
59
59
  var location = (0, _reactRouterDom.useLocation)();
60
60
  var navigate = (0, _reactRouterDom.useNavigate)();
61
61
  var _useAppCreateReferral = (0, _AppCreateReferralProvider.useAppCreateReferralContext)(),
@@ -73,16 +73,16 @@ function ReferralBuilder() {
73
73
  var form = (0, _react.useRef)();
74
74
  var _useState = (0, _react.useState)(false),
75
75
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
76
- isErrorsExecutedOnce = _useState2[0],
77
- setIsErrorsExecutedOnce = _useState2[1];
78
- var _useState3 = (0, _react.useState)(false),
76
+ aboutGroupedReferralsModalIsOpen = _useState2[0],
77
+ setAboutGroupedReferralsModalIsOpen = _useState2[1];
78
+ var _useState3 = (0, _react.useState)((_location$state$selec = (_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.selectedReferral) !== null && _location$state$selec !== void 0 ? _location$state$selec : 0),
79
79
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
80
- aboutGroupedReferralsModalIsOpen = _useState4[0],
81
- setAboutGroupedReferralsModalIsOpen = _useState4[1];
82
- var _useState5 = (0, _react.useState)((_location$state$selec = (_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.selectedReferral) !== null && _location$state$selec !== void 0 ? _location$state$selec : 0),
80
+ selectedIndex = _useState4[0],
81
+ setSelectedIndex = _useState4[1];
82
+ var _useState5 = (0, _react.useState)([]),
83
83
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
84
- selectedIndex = _useState6[0],
85
- setSelectedIndex = _useState6[1];
84
+ referralIndexes = _useState6[0],
85
+ setReferralIndexes = _useState6[1];
86
86
  var _useState7 = (0, _react.useState)({}),
87
87
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
88
88
  errors = _useState8[0],
@@ -117,13 +117,6 @@ function ReferralBuilder() {
117
117
  networksUnlistedProgram = _useState22[0],
118
118
  setNetworksUnlistedProgram = _useState22[1];
119
119
  var hint542SupersetUnlistedPrograms = (0, _useFeatureFlag.useFeatureFlag)('hint542SupersetUnlistedPrograms', false);
120
- (0, _react.useEffect)(function () {
121
- if (!isErrorsExecutedOnce && !(0, _lodash.isEmpty)(referrals)) {
122
- var _errors = (0, _utils.mapReferralErrorsToIndex)(referrals);
123
- setIsErrorsExecutedOnce(true);
124
- setErrors(_errors);
125
- }
126
- }, [isErrorsExecutedOnce, referrals, isLoading]);
127
120
  (0, _react.useEffect)(function () {
128
121
  if (hint542SupersetUnlistedPrograms) {
129
122
  // If the selected programs contain unlisted programs, fetch the networks from the user provider
@@ -166,13 +159,23 @@ function ReferralBuilder() {
166
159
  refModal.current.openDialog();
167
160
  }
168
161
  }, [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]);
169
172
  var onReferralCardClick = function onReferralCardClick(index) {
170
173
  setSelectedIndex(index);
171
174
  };
172
175
  (0, _react.useEffect)(function () {
173
- var errors = (0, _utils.mapReferralErrorsToIndex)(referrals);
176
+ var errors = (0, _utils.mapReferralErrorsToIndex)(referrals, referralIndexes);
174
177
  setErrors(errors);
175
- }, [selectedIndex]);
178
+ }, [referrals, referralIndexes]);
176
179
  (0, _react.useEffect)(function () {
177
180
  (0, _fetchContactDocuments.default)(person.id).then(function (result) {
178
181
  setDocuments(result);
@@ -225,7 +228,7 @@ function ReferralBuilder() {
225
228
  }
226
229
  };
227
230
  var onNextClick = function onNextClick() {
228
- if (isEmptyErrors(errors)) {
231
+ if ((0, _lodash.isEmpty)(errors)) {
229
232
  return navigate('/create/supporting-info');
230
233
  }
231
234
  if ((0, _lodash.isEmpty)(errors[selectedIndex])) {
@@ -240,41 +243,29 @@ function ReferralBuilder() {
240
243
  };
241
244
  var setFocus = function setFocus(index) {
242
245
  setTimeout(function () {
243
- var _context, _context2, _context3, _context4, _context5;
246
+ var _context, _context2, _context3;
244
247
  if ((0, _includes.default)(_context = errors[index]).call(_context, 'network')) {
245
248
  var _form$current;
246
249
  (_form$current = form.current) === null || _form$current === void 0 || (_form$current = _form$current.mutators) === null || _form$current === void 0 || _form$current.setFieldTouched('network', true);
247
250
  var networkField = document.getElementById("network-selection").parentElement.parentElement;
248
251
  return networkField.focus();
249
252
  }
250
- if ((0, _includes.default)(_context2 = errors[index]).call(_context2, 'paymentAuthForm.amount_requested')) {
253
+ if ((0, _includes.default)(_context2 = errors[index]).call(_context2, 'description')) {
251
254
  var _form$current2;
252
- (_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);
253
- var amountRequested = document.getElementById("authorization-request-amount-requested");
254
- return amountRequested.focus();
255
- }
256
- if ((0, _includes.default)(_context3 = errors[index]).call(_context3, 'paymentAuthForm.service_end')) {
257
- var _form$current3;
258
- (_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);
259
- var selectDatesButton = document.getElementById("authorization-request-service-dates");
260
- return selectDatesButton.focus();
261
- }
262
- if ((0, _includes.default)(_context4 = errors[index]).call(_context4, 'description')) {
263
- var _form$current4;
264
- (_form$current4 = form.current) === null || _form$current4 === void 0 || (_form$current4 = _form$current4.mutators) === null || _form$current4 === void 0 || _form$current4.setFieldTouched('description', true);
255
+ (_form$current2 = form.current) === null || _form$current2 === void 0 || (_form$current2 = _form$current2.mutators) === null || _form$current2 === void 0 || _form$current2.setFieldTouched('description', true);
265
256
  var descriptionField = document.getElementById("referral-description");
266
257
  return descriptionField.focus();
267
258
  }
268
- if ((0, _includes.default)(_context5 = errors[index]).call(_context5, 'primary_worker')) {
269
- var _form$current5;
270
- (_form$current5 = form.current) === null || _form$current5 === void 0 || (_form$current5 = _form$current5.mutators) === null || _form$current5 === void 0 || _form$current5.setFieldTouched('primaryWorker', true);
259
+ if ((0, _includes.default)(_context3 = errors[index]).call(_context3, 'primary_worker')) {
260
+ var _form$current3;
261
+ (_form$current3 = form.current) === null || _form$current3 === void 0 || (_form$current3 = _form$current3.mutators) === null || _form$current3 === void 0 || _form$current3.setFieldTouched('primaryWorker', true);
271
262
  var primaryWorkerField = document.getElementById("primary-worker").parentElement.parentElement;
272
263
  return primaryWorkerField.focus();
273
264
  }
274
265
  }, 100);
275
266
  };
276
267
  var moveToExistingReferral = function moveToExistingReferral(index, program) {
277
- var _context6;
268
+ var _context4;
278
269
  var programs = referrals[selectedIndex].programs;
279
270
  referrals[selectedIndex] = _objectSpread(_objectSpread({}, referrals[selectedIndex]), {}, {
280
271
  programs: (0, _filter.default)(programs).call(programs, function (p) {
@@ -285,7 +276,7 @@ function ReferralBuilder() {
285
276
  referrals[selectedIndex] = null;
286
277
  }
287
278
  referrals[index] = _objectSpread(_objectSpread({}, referrals[index]), {}, {
288
- programs: (0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(referrals[index].programs), [program])
279
+ programs: (0, _concat.default)(_context4 = []).call(_context4, (0, _toConsumableArray2.default)(referrals[index].programs), [program])
289
280
  });
290
281
  dispatch((0, _AppCreateReferralProvider.setData)({
291
282
  referrals: (0, _lodash.compact)(referrals)
@@ -294,16 +285,16 @@ function ReferralBuilder() {
294
285
  setSelectedIndex(newIndex);
295
286
  };
296
287
  var moveToNewReferral = function moveToNewReferral(program) {
297
- var _context7, _context8;
288
+ var _context5, _context6;
298
289
  var referral = referrals[selectedIndex];
299
- referral.programs = (0, _filter.default)(_context7 = referral.programs).call(_context7, function (p) {
290
+ referral.programs = (0, _filter.default)(_context5 = referral.programs).call(_context5, function (p) {
300
291
  return p.id !== program.id;
301
292
  });
302
293
  var newReferral = _objectSpread(_objectSpread({}, referral), {}, {
303
294
  programs: [program],
304
295
  description: ''
305
296
  });
306
- var newReferrals = (0, _concat.default)(_context8 = []).call(_context8, (0, _toConsumableArray2.default)(referrals), [newReferral]);
297
+ var newReferrals = (0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(referrals), [newReferral]);
307
298
  dispatch((0, _AppCreateReferralProvider.setData)({
308
299
  referrals: newReferrals
309
300
  }));
@@ -338,31 +329,22 @@ function ReferralBuilder() {
338
329
  referrals: referrals
339
330
  }));
340
331
  };
341
- var assignReferralErrors = (0, _react.useCallback)(function () {
342
- var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
343
- setErrors(function (previousErrors) {
344
- var _context9;
345
- var modelErrors = (0, _concat.default)(_context9 = []).call(_context9, (0, _toConsumableArray2.default)((0, _utils.mapReferralErrorsToIndex)(referrals)[selectedIndex] || []), (0, _toConsumableArray2.default)(errors));
346
- var isInvalid = (0, _lodash.isEmpty)([modelErrors]);
347
- return _objectSpread(_objectSpread({}, previousErrors), !isInvalid && (0, _defineProperty2.default)({}, selectedIndex, (0, _toConsumableArray2.default)(modelErrors)));
348
- });
349
- }, [selectedIndex, referrals]);
350
332
  var navigateBack = function navigateBack() {
351
333
  return _config.CALLBACKS.onNavigateBack ? _config.CALLBACKS.onNavigateBack() : navigate(-1);
352
334
  };
353
335
  var createReferrals = (0, _useCreateReferrals.default)();
354
336
  var handleSaveDraftReferral = /*#__PURE__*/function () {
355
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
337
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
356
338
  var onSaveDraftReferral;
357
- return _regenerator.default.wrap(function _callee$(_context10) {
358
- while (1) switch (_context10.prev = _context10.next) {
339
+ return _regenerator.default.wrap(function _callee$(_context7) {
340
+ while (1) switch (_context7.prev = _context7.next) {
359
341
  case 0:
360
342
  setSaveDraftClicked(true);
361
- if (!isEmptyErrors(errors)) {
362
- _context10.next = 9;
343
+ if (!(0, _lodash.isEmpty)(errors)) {
344
+ _context7.next = 9;
363
345
  break;
364
346
  }
365
- _context10.next = 4;
347
+ _context7.next = 4;
366
348
  return createReferrals({
367
349
  draft: true
368
350
  });
@@ -370,18 +352,18 @@ function ReferralBuilder() {
370
352
  onSaveDraftReferral = _config.CALLBACKS.onSaveDraftReferral;
371
353
  onSaveDraftReferral && onSaveDraftReferral();
372
354
  _config.CALLBACKS.notify.success('Draft referral successfully saved');
373
- _context10.next = 10;
355
+ _context7.next = 10;
374
356
  break;
375
357
  case 9:
376
358
  focusErrors();
377
359
  case 10:
378
360
  case "end":
379
- return _context10.stop();
361
+ return _context7.stop();
380
362
  }
381
363
  }, _callee);
382
364
  }));
383
365
  return function handleSaveDraftReferral() {
384
- return _ref2.apply(this, arguments);
366
+ return _ref.apply(this, arguments);
385
367
  };
386
368
  }();
387
369
  var changeWidthReferralCard = function changeWidthReferralCard() {
@@ -391,10 +373,8 @@ function ReferralBuilder() {
391
373
  center: true
392
374
  });
393
375
  var referralSubtitle = (0, _utils.getReferralSubtitle)(referrals, getSelected());
394
- var unselectedReferralIndexes = (0, _filter.default)(_context11 = (0, _map.default)(referrals).call(referrals, function (_referral, index) {
395
- return index;
396
- })).call(_context11, function (index) {
397
- return index !== selectedIndex;
376
+ var unselectedReferralIndexes = (0, _filter.default)(referralIndexes).call(referralIndexes, function (r) {
377
+ return r.index !== selectedIndex;
398
378
  });
399
379
  var allPrograms = referrals === null || referrals === void 0 ? void 0 : (0, _flatMap.default)(referrals).call(referrals, function (r) {
400
380
  return r.programs;
@@ -487,8 +467,7 @@ function ReferralBuilder() {
487
467
  moveToExistingReferral: moveToExistingReferral,
488
468
  updateAttachments: updateAttachments,
489
469
  source: source,
490
- networksUnlistedProgram: networksUnlistedProgram,
491
- assignReferralErrors: assignReferralErrors
470
+ networksUnlistedProgram: networksUnlistedProgram
492
471
  }) : null)) : /*#__PURE__*/_react.default.createElement(_NoReferralsDisplay.default, {
493
472
  onClick: navigateBack
494
473
  }), /*#__PURE__*/_react.default.createElement(_NavButtons.default, {
@@ -501,15 +480,4 @@ function ReferralBuilder() {
501
480
  hasOffPlatformReferrals: (0, _utils.hasOffPlatformReferrals)(referrals)
502
481
  }))));
503
482
  }
504
- function isEmptyErrors(errors) {
505
- if ((0, _keys.default)(errors).length === 0) {
506
- return true;
507
- }
508
- for (var key in errors) {
509
- if (Array.isArray(errors[key]) && errors[key].length > 0) {
510
- return false;
511
- }
512
- }
513
- return true;
514
- }
515
483
  //# sourceMappingURL=ReferralBuilder.js.map