@unite-us/app-create-referral 0.1.23 → 0.1.24

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.
@@ -36,7 +36,8 @@ function ReferralBuilderForm(_ref) {
36
36
  referralSubtitle = _ref.referralSubtitle,
37
37
  onChange = _ref.onChange,
38
38
  unselected = _ref.unselected,
39
- removeProgram = _ref.removeProgram;
39
+ removeProgram = _ref.removeProgram,
40
+ onSetForm = _ref.onSetForm;
40
41
  var service = referral.service,
41
42
  programs = referral.programs;
42
43
  var _useState = (0, _react.useState)({}),
@@ -70,7 +71,7 @@ function ReferralBuilderForm(_ref) {
70
71
  });
71
72
  setMoveReferralMenus(programMenus);
72
73
  };
73
- var showNetworkSelect = !(0, _lodash.isEmpty)(networks) && networks.length > 1 && programs.length === 1;
74
+ var showNetworkSelect = (0, _utils.shouldShowNetworkSelect)(networks, programs);
74
75
  (0, _react.useEffect)(function () {
75
76
  var programMenus = (0, _map.default)(programs).call(programs, function (p) {
76
77
  return {
@@ -88,75 +89,102 @@ function ReferralBuilderForm(_ref) {
88
89
  if (!values.description) {
89
90
  errors.description = "Required";
90
91
  }
92
+ ;
91
93
  if (isOON && !values.primaryWorker) {
92
94
  errors.primaryWorker = "Required";
93
95
  }
96
+ ;
97
+ if (showNetworkSelect && !values.network) {
98
+ errors.network = "Required";
99
+ }
100
+ ;
94
101
  return errors;
95
- }
96
- }, function (_ref2) {
97
- var values = (0, _values.default)(_ref2);
98
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactFinalForm.FormSpy, {
99
- subscription: {
100
- values: true
101
- },
102
- onChange: onChange
103
- }), /*#__PURE__*/_react.default.createElement("div", {
104
- className: "md:w-full lg:w-2/3 bg-gray-light border border-blue-border rounded"
105
- }, /*#__PURE__*/_react.default.createElement("div", {
106
- className: "p-5 bg-med-pale-blue"
107
- }, /*#__PURE__*/_react.default.createElement("h2", {
108
- className: "text-xl font-black"
109
- }, referralTitle), /*#__PURE__*/_react.default.createElement("h3", null, referralSubtitle)), /*#__PURE__*/_react.default.createElement("div", {
110
- className: "p-5"
111
- }, /*#__PURE__*/_react.default.createElement("h5", {
112
- className: "text-base ui-form-field__label ui-form-field__label--required"
113
- }, "PROGRAMS"), (0, _map.default)(programs).call(programs, function (program) {
114
- var _moveReferralMenus$fi;
115
- var menuIsOpen = (0, _lodash.isEmpty)(moveReferralMenus) ? false : moveReferralMenus === null || moveReferralMenus === void 0 ? void 0 : (_moveReferralMenus$fi = (0, _find.default)(moveReferralMenus).call(moveReferralMenus, function (p) {
116
- return p.id === program.id;
117
- })) === null || _moveReferralMenus$fi === void 0 ? void 0 : _moveReferralMenus$fi.menuIsOpen;
118
- return /*#__PURE__*/_react.default.createElement(_ReferralProgramCard.default, {
119
- key: "referral-program-".concat(program === null || program === void 0 ? void 0 : program.id, "-card"),
120
- program: program,
121
- onClick: onProgramClick,
122
- isOON: !(0, _lodash.get)(program, 'provider.licensed'),
123
- menuIsOpen: menuIsOpen,
124
- unselected: unselected,
125
- referral: referral,
126
- removeProgram: removeProgram
127
- });
128
- }), /*#__PURE__*/_react.default.createElement("p", {
129
- className: "text-center text-gray-600 my-10"
130
- }, "Click on the three-dot icon to edit referral groupings."), showNetworkSelect ? /*#__PURE__*/_react.default.createElement(_ui.SelectField, {
131
- required: true,
132
- label: "Network Selection",
133
- placeholder: "Choose one...",
134
- options: networks,
135
- labelKey: "name",
136
- valueKey: "id"
137
- }) : null, /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
138
- name: "description",
139
- required: true
140
- }, function (params) {
141
- return /*#__PURE__*/_react.default.createElement(_ui.TextField, (0, _extends2.default)({
142
- afterLabelContent: /*#__PURE__*/_react.default.createElement(_InfoPanel.default, {
143
- className: "mb-4 mt-2",
144
- message: _constants.REFERRAL_PII_PHI_DESCRIPTION
145
- }),
146
- id: "referral-description",
147
- label: "Referral Description",
148
- placeholder: "Describe your client's current situation and reason for referral.",
149
- rows: 3,
150
- inline: false,
151
- validations: _validations.isRequired,
102
+ },
103
+ mutators: {
104
+ setFieldTouched: function setFieldTouched(args, state) {
105
+ var _args = (0, _slicedToArray2.default)(args, 2),
106
+ name = _args[0],
107
+ touched = _args[1];
108
+ var field = state.fields[name];
109
+ if (field) {
110
+ field.touched = !!touched;
111
+ }
112
+ }
113
+ },
114
+ render: function render(_ref2) {
115
+ var form = _ref2.form,
116
+ values = (0, _values.default)(_ref2);
117
+ onSetForm && onSetForm(form);
118
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactFinalForm.FormSpy, {
119
+ subscription: {
120
+ values: true
121
+ },
122
+ onChange: onChange
123
+ }), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: "md:w-full lg:w-2/3 bg-gray-light border border-blue-border rounded"
125
+ }, /*#__PURE__*/_react.default.createElement("div", {
126
+ className: "p-5 bg-med-pale-blue"
127
+ }, /*#__PURE__*/_react.default.createElement("h2", {
128
+ className: "text-xl font-black"
129
+ }, referralTitle), /*#__PURE__*/_react.default.createElement("h3", null, referralSubtitle)), /*#__PURE__*/_react.default.createElement("div", {
130
+ className: "p-5"
131
+ }, /*#__PURE__*/_react.default.createElement("h5", {
132
+ className: "text-base ui-form-field__label ui-form-field__label--required"
133
+ }, "PROGRAMS"), (0, _map.default)(programs).call(programs, function (program) {
134
+ var _moveReferralMenus$fi;
135
+ var menuIsOpen = (0, _lodash.isEmpty)(moveReferralMenus) ? false : moveReferralMenus === null || moveReferralMenus === void 0 ? void 0 : (_moveReferralMenus$fi = (0, _find.default)(moveReferralMenus).call(moveReferralMenus, function (p) {
136
+ return p.id === program.id;
137
+ })) === null || _moveReferralMenus$fi === void 0 ? void 0 : _moveReferralMenus$fi.menuIsOpen;
138
+ return /*#__PURE__*/_react.default.createElement(_ReferralProgramCard.default, {
139
+ key: "referral-program-".concat(program === null || program === void 0 ? void 0 : program.id, "-card"),
140
+ program: program,
141
+ onClick: onProgramClick,
142
+ isOON: !(0, _lodash.get)(program, 'provider.licensed'),
143
+ menuIsOpen: menuIsOpen,
144
+ unselected: unselected,
145
+ referral: referral,
146
+ removeProgram: removeProgram
147
+ });
148
+ }), /*#__PURE__*/_react.default.createElement("p", {
149
+ className: "text-center text-gray-600 my-10"
150
+ }, "Click on the three-dot icon to edit referral groupings."), showNetworkSelect ? /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
151
+ name: "network",
152
152
  required: true
153
- }, params));
154
- }), /*#__PURE__*/_react.default.createElement(_FileUpload.FileUpload, {
155
- rejectedFiles: rejectedFiles,
156
- setRejectedFiles: setRejectedFiles,
157
- setUploadedFiles: setUploadedFiles,
158
- uploadedFiles: uploadedFiles
159
- }))));
153
+ }, function (params) {
154
+ return /*#__PURE__*/_react.default.createElement(_ui.SelectField, (0, _extends2.default)({
155
+ required: true,
156
+ id: "network-selection",
157
+ label: "Network Selection",
158
+ placeholder: "Choose one...",
159
+ options: networks,
160
+ labelKey: "name",
161
+ valueKey: "id",
162
+ validations: _validations.isRequired
163
+ }, params));
164
+ }) : null, /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
165
+ name: "description",
166
+ required: true
167
+ }, function (params) {
168
+ return /*#__PURE__*/_react.default.createElement(_ui.TextField, (0, _extends2.default)({
169
+ afterLabelContent: /*#__PURE__*/_react.default.createElement(_InfoPanel.default, {
170
+ className: "mb-4 mt-2",
171
+ message: _constants.REFERRAL_PII_PHI_DESCRIPTION
172
+ }),
173
+ id: "referral-description",
174
+ label: "Referral Description",
175
+ placeholder: "Describe your client's current situation and reason for referral.",
176
+ rows: 3,
177
+ inline: false,
178
+ validations: _validations.isRequired,
179
+ required: true
180
+ }, params));
181
+ }), /*#__PURE__*/_react.default.createElement(_FileUpload.FileUpload, {
182
+ rejectedFiles: rejectedFiles,
183
+ setRejectedFiles: setRejectedFiles,
184
+ setUploadedFiles: setUploadedFiles,
185
+ uploadedFiles: uploadedFiles
186
+ }))));
187
+ }
160
188
  });
161
189
  }
162
190
  ReferralBuilderForm.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralBuilderForm.js","names":["_react","_interopRequireWildcard","require","_propTypes","_reactFinalForm","_ReferralProgramCard","_interopRequireDefault","_ui","_InfoPanel","_validations","_constants","_FileUpload","_lodash","_utils","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","ReferralBuilderForm","_ref","_context","_context2","_context3","referral","index","referralSubtitle","onChange","unselected","removeProgram","service","programs","_useState","useState","_useState2","_slicedToArray2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState6","rejectedFiles","setRejectedFiles","isOON","referralIsOON","isGrouped","referralIsGrouped","referralTitle","_concat","concat","name","networks","head","onProgramClick","id","programMenus","_map","p","menuIsOpen","showNetworkSelect","isEmpty","length","useEffect","createElement","Form","initialValues","onSubmit","validate","values","errors","description","primaryWorker","_ref2","_values","Fragment","FormSpy","subscription","className","program","_moveReferralMenus$fi","_find","onClick","SelectField","required","label","placeholder","options","labelKey","valueKey","Field","params","TextField","_extends2","afterLabelContent","message","REFERRAL_PII_PHI_DESCRIPTION","rows","inline","validations","isRequired","FileUpload","propTypes","PropTypes","shape","string","array","number","defaultProps","_default","exports"],"sources":["../../../src/pages/referrals/ReferralBuilderForm.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { TextField, SelectField } from '@unite-us/ui';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport { isEmpty, head, get } from 'lodash';\nimport { referralIsOON, referralIsGrouped } from './utils';\n\nexport function ReferralBuilderForm({\n referral, index, referralSubtitle, onChange, unselected, removeProgram,\n}) {\n const { service, programs } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState([]);\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral)\n const isGrouped = referralIsGrouped(referral);\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Out of Network' : ''}`;\n\n const networks = get(head(programs), 'provider.networks', []);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n })\n\n setMoveReferralMenus(programMenus)\n }\n\n const showNetworkSelect = !isEmpty(networks) && networks.length > 1 && programs.length === 1;\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n return (\n <Form\n initialValues={referral}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description) { errors.description = \"Required\" }\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" }\n return errors;\n }}\n >\n {({ values }) => (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className=\"md:w-full lg:w-2/3 bg-gray-light border border-blue-border rounded\">\n <div className=\"p-5 bg-med-pale-blue\">\n <h2 className=\"text-xl font-black\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n <h5 className=\"text-base ui-form-field__label ui-form-field__label--required\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={!get(program, 'provider.licensed')}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n />\n );\n })}\n <p className=\"text-center text-gray-600 my-10\">\n Click on the three-dot icon to edit referral groupings.\n </p>\n\n {showNetworkSelect ? (\n <SelectField\n required\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n />\n ) : null}\n\n <Field\n name=\"description\"\n required\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n {...params}\n />\n )}\n </Field>\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={uploadedFiles}\n />\n </div>\n {/* Primary worker field */}\n\n {/* Payment auth form */}\n </div>\n </>\n )}\n </Form>\n )\n}\n\nReferralBuilderForm.propTypes = {\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ReferralBuilderForm.js","names":["_react","_interopRequireWildcard","require","_propTypes","_reactFinalForm","_ReferralProgramCard","_interopRequireDefault","_ui","_InfoPanel","_validations","_constants","_FileUpload","_lodash","_utils","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","ReferralBuilderForm","_ref","_context","_context2","_context3","referral","index","referralSubtitle","onChange","unselected","removeProgram","onSetForm","service","programs","_useState","useState","_useState2","_slicedToArray2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState6","rejectedFiles","setRejectedFiles","isOON","referralIsOON","isGrouped","referralIsGrouped","referralTitle","_concat","concat","name","networks","head","onProgramClick","id","programMenus","_map","p","menuIsOpen","showNetworkSelect","shouldShowNetworkSelect","useEffect","createElement","Form","initialValues","onSubmit","validate","values","errors","description","primaryWorker","network","mutators","setFieldTouched","args","state","_args","touched","field","fields","render","_ref2","form","_values","Fragment","FormSpy","subscription","className","program","_moveReferralMenus$fi","isEmpty","_find","onClick","Field","required","params","SelectField","_extends2","label","placeholder","options","labelKey","valueKey","validations","isRequired","TextField","afterLabelContent","message","REFERRAL_PII_PHI_DESCRIPTION","rows","inline","FileUpload","propTypes","PropTypes","shape","string","array","number","defaultProps","_default","exports"],"sources":["../../../src/pages/referrals/ReferralBuilderForm.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { TextField, SelectField } from '@unite-us/ui';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport { isEmpty, head, get } from 'lodash';\nimport { referralIsOON, referralIsGrouped, shouldShowNetworkSelect } from './utils';\n\nexport function ReferralBuilderForm({\n referral,\n index,\n referralSubtitle,\n onChange,\n unselected,\n removeProgram,\n onSetForm\n}) {\n const { service, programs } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState([]);\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral)\n const isGrouped = referralIsGrouped(referral);\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Out of Network' : ''}`;\n\n const networks = get(head(programs), 'provider.networks', []);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n })\n\n setMoveReferralMenus(programMenus)\n }\n\n const showNetworkSelect = shouldShowNetworkSelect(networks, programs);\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n return (\n <Form\n initialValues={referral}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description) { errors.description = \"Required\" };\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" };\n if (showNetworkSelect && !values.network) { errors.network = \"Required\" };\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className=\"md:w-full lg:w-2/3 bg-gray-light border border-blue-border rounded\">\n <div className=\"p-5 bg-med-pale-blue\">\n <h2 className=\"text-xl font-black\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n <h5 className=\"text-base ui-form-field__label ui-form-field__label--required\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={!get(program, 'provider.licensed')}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n />\n );\n })}\n <p className=\"text-center text-gray-600 my-10\">\n Click on the three-dot icon to edit referral groupings.\n </p>\n\n {showNetworkSelect ? (\n <Field\n name=\"network\"\n required\n >\n {(params) => (\n <SelectField\n required\n id=\"network-selection\"\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n ) : null}\n\n <Field\n name=\"description\"\n required\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n {...params}\n />\n )}\n </Field>\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={uploadedFiles}\n />\n </div>\n {/* Primary worker field */}\n\n {/* Payment auth form */}\n </div>\n </>\n )}}\n />\n )\n}\n\nReferralBuilderForm.propTypes = {\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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"}
@@ -17,16 +17,16 @@ function ReferralCard(_ref) {
17
17
  var referral = _ref.referral,
18
18
  index = _ref.index,
19
19
  selectedIndex = _ref.selectedIndex,
20
- onClick = _ref.onClick;
20
+ onClick = _ref.onClick,
21
+ errors = _ref.errors;
21
22
  var programs = referral.programs,
22
23
  service = referral.service;
23
24
  var onCardClick = function onCardClick() {
24
25
  onClick(referral, index);
25
26
  };
26
- var missingRequiredFields = (0, _lodash.compact)([!referral.description ? 'description' : null, (0, _utils.referralIsOON)(referral) && !referral.primaryWorker ? 'primaryWorker' : null]);
27
27
  var status = (0, _utils.getReferralStatus)(referral);
28
28
  var backgroundColor = selectedIndex === index ? 'bg-med-pale-blue' : '';
29
- var actionItems = missingRequiredFields.length === 1 ? '1 Action Item' : "".concat(missingRequiredFields.length, " Action Items");
29
+ var actionItems = errors.length === 1 ? '1 Action Item' : "".concat(errors.length, " Action Items");
30
30
  return !(0, _lodash.isEmpty)(programs) ? /*#__PURE__*/_react.default.createElement("div", {
31
31
  className: "".concat(backgroundColor, " border border-blue-border rounded cursor-pointer"),
32
32
  onClick: onCardClick
@@ -40,7 +40,7 @@ function ReferralCard(_ref) {
40
40
  className: "font-black text-gray-700 whitespace-pre"
41
41
  }, "Referral ".concat(index + 1, ": ")), /*#__PURE__*/_react.default.createElement("p", {
42
42
  className: "font-hairline text-gray-600"
43
- }, status)), !missingRequiredFields.length ? /*#__PURE__*/_react.default.createElement("div", {
43
+ }, status)), !errors.length ? /*#__PURE__*/_react.default.createElement("div", {
44
44
  className: "flex flex-none"
45
45
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
46
46
  icon: "IconCheck",
@@ -70,10 +70,12 @@ ReferralCard.propTypes = {
70
70
  }).isRequired,
71
71
  index: _propTypes.PropTypes.number.isRequired,
72
72
  onClick: _propTypes.PropTypes.func.isRequired,
73
- selectedIndex: _propTypes.PropTypes.number
73
+ selectedIndex: _propTypes.PropTypes.number,
74
+ errors: _propTypes.PropTypes.array
74
75
  };
75
76
  ReferralCard.defaultProps = {
76
- selectedIndex: 0
77
+ selectedIndex: 0,
78
+ errors: []
77
79
  };
78
80
  var _default = ReferralCard;
79
81
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralCard.js","names":["_react","_interopRequireDefault","require","_propTypes","_ui","_utils","_lodash","ReferralCard","_ref","referral","index","selectedIndex","onClick","programs","service","onCardClick","missingRequiredFields","compact","description","referralIsOON","primaryWorker","status","getReferralStatus","backgroundColor","actionItems","length","concat","isEmpty","default","createElement","className","Icon","icon","color","name","_map","call","program","key","id","propTypes","PropTypes","shape","array","isRequired","isFunded","number","object","func","defaultProps","_default","exports"],"sources":["../../../src/pages/referrals/ReferralCard.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Icon } from '@unite-us/ui';\nimport { getReferralStatus } from './utils';\nimport { compact, isEmpty } from 'lodash';\nimport { referralIsOON } from './utils';\n\nexport function ReferralCard({\n referral,\n index,\n selectedIndex,\n onClick,\n}) {\n const { programs, service } = referral;\n\n const onCardClick = () => {\n onClick(referral, index);\n };\n\n const missingRequiredFields = compact([\n !referral.description ? 'description' : null,\n (referralIsOON(referral) && !referral.primaryWorker) ? 'primaryWorker' : null,\n ]);\n\n const status = getReferralStatus(referral);\n const backgroundColor = selectedIndex === index ? 'bg-med-pale-blue' : '';\n const actionItems = missingRequiredFields.length === 1 ? '1 Action Item' : `${missingRequiredFields.length} Action Items`;\n\n return (\n !isEmpty(programs) ? (\n <div className={`${backgroundColor} border border-blue-border rounded cursor-pointer`} onClick={onCardClick}>\n <div className=\"m-4\">\n <div className=\"flex xs:flex-wrap-reverse justify-between\">\n <div className=\"flex flex-wrap mb-2\">\n <h5 className=\"font-black text-gray-700 whitespace-pre\">{`Referral ${index + 1}: `}</h5>\n <p className=\"font-hairline text-gray-600\">{status}</p>\n </div>\n {!missingRequiredFields.length ? (\n <div className=\"flex flex-none\">\n <Icon icon=\"IconCheck\" color=\"#68d391\" className=\"mr-1 mt-px\" />\n <h4 className=\"text-green-500 font-extrabold mb-2\">Ready</h4>\n </div>\n ) : (\n <h4 className=\"text-red flex-none font-extrabold mb-2\">{actionItems}</h4>\n )}\n </div>\n <h4 className=\"mb-2 text-purple font-black\">{service?.name}</h4>\n <div className=\"pl-5\">\n {programs.map((program) => (\n <p className=\"mb-2\" key={`program-${program?.id}-name`}>\n {program?.name}\n </p>\n ))}\n </div>\n </div>\n </div>\n ) : null\n );\n};\n\nReferralCard.propTypes = {\n referral: PropTypes.shape({\n programs: PropTypes.array.isRequired,\n isFunded: PropTypes.number.isRequired,\n service: PropTypes.object.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n onClick: PropTypes.func.isRequired,\n selectedIndex: PropTypes.number,\n};\n\nReferralCard.defaultProps = {\n selectedIndex: 0,\n}\n\nexport default ReferralCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ReferralCard.js","names":["_react","_interopRequireDefault","require","_propTypes","_ui","_utils","_lodash","ReferralCard","_ref","referral","index","selectedIndex","onClick","errors","programs","service","onCardClick","status","getReferralStatus","backgroundColor","actionItems","length","concat","isEmpty","default","createElement","className","Icon","icon","color","name","_map","call","program","key","id","propTypes","PropTypes","shape","array","isRequired","isFunded","number","object","func","defaultProps","_default","exports"],"sources":["../../../src/pages/referrals/ReferralCard.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Icon } from '@unite-us/ui';\nimport { getReferralStatus } from './utils';\nimport { isEmpty } from 'lodash';\n\nexport function ReferralCard({\n referral,\n index,\n selectedIndex,\n onClick,\n errors,\n}) {\n const { programs, service } = referral;\n\n const onCardClick = () => {\n onClick(referral, index);\n };\n\n const status = getReferralStatus(referral);\n const backgroundColor = selectedIndex === index ? 'bg-med-pale-blue' : '';\n const actionItems = errors.length === 1 ? '1 Action Item' : `${errors.length} Action Items`;\n\n return (\n !isEmpty(programs) ? (\n <div className={`${backgroundColor} border border-blue-border rounded cursor-pointer`} onClick={onCardClick}>\n <div className=\"m-4\">\n <div className=\"flex xs:flex-wrap-reverse justify-between\">\n <div className=\"flex flex-wrap mb-2\">\n <h5 className=\"font-black text-gray-700 whitespace-pre\">{`Referral ${index + 1}: `}</h5>\n <p className=\"font-hairline text-gray-600\">{status}</p>\n </div>\n {!errors.length ? (\n <div className=\"flex flex-none\">\n <Icon icon=\"IconCheck\" color=\"#68d391\" className=\"mr-1 mt-px\" />\n <h4 className=\"text-green-500 font-extrabold mb-2\">Ready</h4>\n </div>\n ) : (\n <h4 className=\"text-red flex-none font-extrabold mb-2\">{actionItems}</h4>\n )}\n </div>\n <h4 className=\"mb-2 text-purple font-black\">{service?.name}</h4>\n <div className=\"pl-5\">\n {programs.map((program) => (\n <p className=\"mb-2\" key={`program-${program?.id}-name`}>\n {program?.name}\n </p>\n ))}\n </div>\n </div>\n </div>\n ) : null\n );\n};\n\nReferralCard.propTypes = {\n referral: PropTypes.shape({\n programs: PropTypes.array.isRequired,\n isFunded: PropTypes.number.isRequired,\n service: PropTypes.object.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n onClick: PropTypes.func.isRequired,\n selectedIndex: PropTypes.number,\n errors: PropTypes.array,\n};\n\nReferralCard.defaultProps = {\n selectedIndex: 0,\n errors: [],\n}\n\nexport default ReferralCard;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+ var _Object$keys2 = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
5
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
6
  var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
7
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
@@ -16,6 +16,9 @@ _Object$defineProperty(exports, "__esModule", {
16
16
  exports.default = Referrals;
17
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
18
18
  var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
19
+ var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int"));
20
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
21
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
19
22
  var _flatMap = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat-map"));
20
23
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
21
24
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
@@ -24,6 +27,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
24
27
  var _react = _interopRequireWildcard(require("react"));
25
28
  var _propTypes = require("prop-types");
26
29
  var _lodash = require("lodash");
30
+ var _ui = require("@unite-us/ui");
27
31
  var _getBaseUrl = _interopRequireDefault(require("../../utils/getBaseUrl"));
28
32
  var _api = require("../../config/api");
29
33
  var _AppCreateReferralProvider = require("../../context/AppCreateReferralProvider");
@@ -41,7 +45,7 @@ var _noReferralsDisplay = _interopRequireDefault(require("./noReferralsDisplay")
41
45
  var _removeReferralProgram = require("../../actions/Referral/removeReferralProgram");
42
46
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
47
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
48
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
49
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
46
50
  function Referrals(props) {
47
51
  var location = props.location;
@@ -52,6 +56,7 @@ function Referrals(props) {
52
56
  selectedPrograms = _useAppCreateReferral2.selectedPrograms;
53
57
  var _useBuildReferrals = (0, _useBuildReferrals2.default)(),
54
58
  isLoading = _useBuildReferrals.isLoading;
59
+ var form = (0, _react.useRef)();
55
60
  var _useState = (0, _react.useState)(false),
56
61
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
62
  aboutGroupedReferralsModalIsOpen = _useState2[0],
@@ -64,6 +69,14 @@ function Referrals(props) {
64
69
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
65
70
  referralIndexes = _useState6[0],
66
71
  setReferralIndexes = _useState6[1];
72
+ var _useState7 = (0, _react.useState)({}),
73
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
74
+ errors = _useState8[0],
75
+ setErrors = _useState8[1];
76
+ var _useState9 = (0, _react.useState)(false),
77
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
78
+ nextClicked = _useState10[0],
79
+ setNextClicked = _useState10[1];
67
80
  var onLearnMoreClick = function onLearnMoreClick() {
68
81
  setAboutGroupedReferralsModalIsOpen(true);
69
82
  };
@@ -87,6 +100,10 @@ function Referrals(props) {
87
100
  var onReferralCardClick = function onReferralCardClick(referral, index) {
88
101
  setSelectedIndex(index);
89
102
  };
103
+ (0, _react.useEffect)(function () {
104
+ var errors = (0, _utils.mapReferralErrorsToIndex)(referrals, referralIndexes);
105
+ setErrors(errors);
106
+ }, [referrals, referralIndexes]);
90
107
  var getSelected = function getSelected() {
91
108
  return referrals && referrals[selectedIndex];
92
109
  };
@@ -97,6 +114,36 @@ function Referrals(props) {
97
114
  referrals: (0, _toConsumableArray2.default)(referrals)
98
115
  }));
99
116
  };
117
+ var onNextClick = function onNextClick() {
118
+ if ((0, _lodash.isEmpty)(errors)) {
119
+ return _api.browserHistory.push("".concat((0, _getBaseUrl.default)(), "/supporting-info"));
120
+ }
121
+ if ((0, _lodash.isEmpty)(errors[selectedIndex])) {
122
+ var firstErrorIndex = (0, _parseInt2.default)((0, _keys.default)(errors)[0]);
123
+ setSelectedIndex(firstErrorIndex);
124
+ setFocus(firstErrorIndex);
125
+ } else {
126
+ setFocus(selectedIndex);
127
+ }
128
+ setNextClicked(true);
129
+ };
130
+ var setFocus = function setFocus(index) {
131
+ setTimeout(function () {
132
+ var _context, _context2;
133
+ if ((0, _includes.default)(_context = errors[index]).call(_context, 'network')) {
134
+ var _form$current, _form$current$mutator;
135
+ (_form$current = form.current) === null || _form$current === void 0 ? void 0 : (_form$current$mutator = _form$current.mutators) === null || _form$current$mutator === void 0 ? void 0 : _form$current$mutator.setFieldTouched('network', true);
136
+ var networkField = document.getElementById("network-selection").parentElement.parentElement;
137
+ return networkField.focus();
138
+ }
139
+ if ((0, _includes.default)(_context2 = errors[index]).call(_context2, 'description')) {
140
+ var _form$current2, _form$current2$mutato;
141
+ (_form$current2 = form.current) === null || _form$current2 === void 0 ? void 0 : (_form$current2$mutato = _form$current2.mutators) === null || _form$current2$mutato === void 0 ? void 0 : _form$current2$mutato.setFieldTouched('description', true);
142
+ var descriptionField = document.getElementById("referral-description");
143
+ return descriptionField.focus();
144
+ } // update when primary worker select is implemented
145
+ }, 100);
146
+ };
100
147
  var removeProgram = function removeProgram(programId) {
101
148
  var referral = referrals[selectedIndex];
102
149
  var newReferral = (0, _removeReferralProgram.removeReferralProgram)({
@@ -125,6 +172,7 @@ function Referrals(props) {
125
172
  var allPrograms = (0, _flatMap.default)(referrals).call(referrals, function (r) {
126
173
  return r.programs;
127
174
  });
175
+ var errorMessage = (0, _utils.generateErrorMessage)(errors);
128
176
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ClientHeader.default, {
129
177
  name: "Richard Wilson",
130
178
  consentStatus: "accepted",
@@ -148,12 +196,18 @@ function Referrals(props) {
148
196
  onBackClick: function onBackClick() {
149
197
  return _api.browserHistory.goBack();
150
198
  },
151
- onForwardClick: function onForwardClick() {
152
- return _api.browserHistory.push("".concat((0, _getBaseUrl.default)(), "/supporting-info"));
153
- },
199
+ onForwardClick: onNextClick,
154
200
  primaryLabel: "Next",
155
201
  hideForwardButtons: (0, _lodash.isEmpty)(referrals)
156
- }), !(0, _lodash.isEmpty)(allPrograms) ? /*#__PURE__*/_react.default.createElement("div", {
202
+ }), !(0, _lodash.isEmpty)(allPrograms) ? /*#__PURE__*/_react.default.createElement("div", null, errorMessage && nextClicked ? /*#__PURE__*/_react.default.createElement("div", {
203
+ className: "flex justify-end"
204
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
205
+ icon: "IconInfoCircle",
206
+ color: "red",
207
+ className: "mr-2 mt-px"
208
+ }), /*#__PURE__*/_react.default.createElement("p", {
209
+ className: "text-red"
210
+ }, errorMessage)) : null, /*#__PURE__*/_react.default.createElement("div", {
157
211
  className: "flex md:flex-wrap gap-6 mt-5"
158
212
  }, /*#__PURE__*/_react.default.createElement("div", {
159
213
  className: "md:w-full lg:w-1/3 bg-gray-light border border-blue-border rounded"
@@ -169,7 +223,8 @@ function Referrals(props) {
169
223
  referral: referral,
170
224
  index: index,
171
225
  selectedIndex: selectedIndex,
172
- onClick: onReferralCardClick
226
+ onClick: onReferralCardClick,
227
+ errors: errors[index]
173
228
  }));
174
229
  }))), !(0, _lodash.isEmpty)((0, _lodash.get)(getSelected(), 'programs', [])) ? /*#__PURE__*/_react.default.createElement(_ReferralBuilderForm.default, {
175
230
  referral: getSelected(),
@@ -178,8 +233,11 @@ function Referrals(props) {
178
233
  index: selectedIndex,
179
234
  onChange: saveValuesOnChange,
180
235
  unselected: unselectedReferralIndexes,
181
- removeProgram: removeProgram
182
- }) : null) : /*#__PURE__*/_react.default.createElement(_noReferralsDisplay.default, {
236
+ removeProgram: removeProgram,
237
+ onSetForm: function onSetForm(newForm) {
238
+ form.current = newForm;
239
+ }
240
+ }) : null)) : /*#__PURE__*/_react.default.createElement(_noReferralsDisplay.default, {
183
241
  onClick: function onClick() {
184
242
  return _api.browserHistory.goBack();
185
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Referrals.js","names":["_react","_interopRequireWildcard","require","_propTypes","_lodash","_getBaseUrl","_interopRequireDefault","_api","_AppCreateReferralProvider","_Stepper","_StepHeader","_constants","_AboutGroupedReferralsModal","_ReferralCard","_ReferralBuilderForm","_utils","_useBuildReferrals2","_ClientHeader","_NavButtons","_noReferralsDisplay","_removeReferralProgram","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","_filterInstanceProperty2","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","Referrals","props","location","_useAppCreateReferral","useAppCreateReferralContext","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","_useBuildReferrals","useBuildReferrals","isLoading","_useState","useState","_useState2","_slicedToArray2","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState3","_useState4","selectedIndex","setSelectedIndex","_useState5","_useState6","referralIndexes","setReferralIndexes","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","useRef","useEffect","current","openDialog","indexes","_map","r","index","onReferralCardClick","referral","getSelected","saveValuesOnChange","values","_values","setData","_toConsumableArray2","removeProgram","programId","newReferral","removeReferralProgram","newReferrals","compact","newReferralPrograms","_flatMap","programs","newSelectedPrograms","intersectionBy","referralSubtitle","getReferralSubtitle","unselectedReferralIndexes","_filter","allPrograms","createElement","Fragment","name","consentStatus","dob","Date","now","tel","email","className","header","REFERRAL_BUILDER_DESCRIPTION","type","onClick","onCloseModal","onBackClick","browserHistory","goBack","onForwardClick","concat","getBaseUrl","primaryLabel","hideForwardButtons","isEmpty","id","onChange","unselected","propTypes","PropTypes","shape","isRequired"],"sources":["../../../src/pages/referrals/Referrals.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { isEmpty, get, compact, intersectionBy } from 'lodash';\nimport getBaseUrl from '../../utils/getBaseUrl';\nimport { browserHistory } from \"../../config/api\";\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport Stepper from '../../components/Stepper';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { getReferralSubtitle } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport ClientHeader from '../../components/ClientHeader/ClientHeader';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './noReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\n\nexport default function Referrals(props) {\n const { location } = props;\n const { dispatch, state: { referrals, selectedPrograms } } = useAppCreateReferralContext();\n const { isLoading } = useBuildReferrals();\n\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [referralIndexes, setReferralIndexes] = useState([]);\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 const indexes = referrals.map((r, i) => ({ index: i }))\n setReferralIndexes(indexes);\n }, [referrals])\n\n const onReferralCardClick = (referral, index) => {\n setSelectedIndex(index);\n }\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n referrals[selectedIndex] = {\n ...values\n }\n\n dispatch(setData({\n referrals: [...referrals]\n }))\n }\n\n const removeProgram = (programId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programId });\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 if (isLoading) return null;\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\n return (\n <>\n <ClientHeader name=\"Richard Wilson\" consentStatus=\"accepted\" dob={Date.now()} tel=\"9876543210\" email=\"rwilson@test.com\" />\n <Stepper location={location} />\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 grouped referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n\n <>\n <NavButtons\n onBackClick={() => browserHistory.goBack()}\n onForwardClick={() => browserHistory.push(`${getBaseUrl()}/supporting-info`)}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"flex md:flex-wrap gap-6 mt-5\">\n <div className=\"md:w-full lg:w-1/3 bg-gray-light border border-blue-border rounded\">\n <div className=\"p-5\">\n <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n {referrals.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${referral?.id}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(getSelected(), 'programs', [])) ? (\n <ReferralBuilderForm\n referral={getSelected()}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n />\n ) : null\n }\n </div>\n ) : (\n <NoReferralsDisplay onClick={() => browserHistory.goBack()} />\n )}\n </>\n </div>\n </>\n )\n}\n\nReferrals.propTypes = {\n location: PropTypes.shape.isRequired,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Referrals.js","names":["_react","_interopRequireWildcard","require","_propTypes","_lodash","_ui","_getBaseUrl","_interopRequireDefault","_api","_AppCreateReferralProvider","_Stepper","_StepHeader","_constants","_AboutGroupedReferralsModal","_ReferralCard","_ReferralBuilderForm","_utils","_useBuildReferrals2","_ClientHeader","_NavButtons","_noReferralsDisplay","_removeReferralProgram","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","_Object$keys2","_Object$getOwnPropertySymbols","symbols","_filterInstanceProperty2","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","Referrals","props","location","_useAppCreateReferral","useAppCreateReferralContext","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","_useBuildReferrals","useBuildReferrals","isLoading","form","useRef","_useState","useState","_useState2","_slicedToArray2","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState3","_useState4","selectedIndex","setSelectedIndex","_useState5","_useState6","referralIndexes","setReferralIndexes","_useState7","_useState8","errors","setErrors","_useState9","_useState10","nextClicked","setNextClicked","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","useEffect","current","openDialog","indexes","_map","r","index","onReferralCardClick","referral","mapReferralErrorsToIndex","getSelected","saveValuesOnChange","values","_values","setData","_toConsumableArray2","onNextClick","isEmpty","browserHistory","concat","getBaseUrl","firstErrorIndex","_parseInt2","_keys","setFocus","setTimeout","_context","_context2","_includes","_form$current","_form$current$mutator","mutators","setFieldTouched","networkField","document","getElementById","parentElement","focus","_form$current2","_form$current2$mutato","descriptionField","removeProgram","programId","newReferral","removeReferralProgram","newReferrals","compact","newReferralPrograms","_flatMap","programs","newSelectedPrograms","intersectionBy","referralSubtitle","getReferralSubtitle","unselectedReferralIndexes","_filter","allPrograms","errorMessage","generateErrorMessage","createElement","Fragment","name","consentStatus","dob","Date","now","tel","email","className","header","REFERRAL_BUILDER_DESCRIPTION","type","onClick","onCloseModal","onBackClick","goBack","onForwardClick","primaryLabel","hideForwardButtons","Icon","icon","color","id","onChange","unselected","onSetForm","newForm","propTypes","PropTypes","shape","isRequired"],"sources":["../../../src/pages/referrals/Referrals.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { isEmpty, get, compact, intersectionBy } from 'lodash';\nimport { Icon } from '@unite-us/ui';\nimport getBaseUrl from '../../utils/getBaseUrl';\nimport { browserHistory } from \"../../config/api\";\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport Stepper from '../../components/Stepper';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { getReferralSubtitle, mapReferralErrorsToIndex, generateErrorMessage } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport ClientHeader from '../../components/ClientHeader/ClientHeader';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './noReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\n\nexport default function Referrals(props) {\n const { location } = props;\n const { dispatch, state: { referrals, selectedPrograms } } = useAppCreateReferralContext();\n const { isLoading } = useBuildReferrals();\n const form = useRef();\n\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [referralIndexes, setReferralIndexes] = useState([]);\n const [errors, setErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\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 const indexes = referrals.map((r, i) => ({ index: i }))\n setReferralIndexes(indexes);\n }, [referrals])\n\n const onReferralCardClick = (referral, index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n const errors = mapReferralErrorsToIndex(referrals, referralIndexes)\n setErrors(errors);\n }, [referrals, referralIndexes])\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n referrals[selectedIndex] = {\n ...values\n }\n\n dispatch(setData({\n referrals: [...referrals]\n }))\n }\n\n const onNextClick = () => {\n if (isEmpty(errors)) {\n return browserHistory.push(`${getBaseUrl()}/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 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 } // update when primary worker select is implemented\n }, 100);\n }\n\n const removeProgram = (programId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programId });\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 if (isLoading) return null;\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\n return (\n <>\n <ClientHeader name=\"Richard Wilson\" consentStatus=\"accepted\" dob={Date.now()} tel=\"9876543210\" email=\"rwilson@test.com\" />\n <Stepper location={location} />\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 grouped referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n\n <>\n <NavButtons\n onBackClick={() => browserHistory.goBack()}\n onForwardClick={onNextClick}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div>\n {\n (errorMessage && nextClicked) ? (\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 md:flex-wrap gap-6 mt-5\">\n <div className=\"md:w-full lg:w-1/3 bg-gray-light border border-blue-border rounded\">\n <div className=\"p-5\">\n <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n {referrals.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${referral?.id}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(getSelected(), 'programs', [])) ? (\n <ReferralBuilderForm\n referral={getSelected()}\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 />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay onClick={() => browserHistory.goBack()} />\n )}\n </>\n </div>\n </>\n )\n}\n\nReferrals.propTypes = {\n location: PropTypes.shape.isRequired,\n};\n"],"mappings":"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"}
@@ -5,12 +5,14 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
5
5
  _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.referralIsOON = exports.referralIsGrouped = exports.getReferralSubtitle = exports.getReferralStatus = exports.getProgramStatusDisplay = exports.buildReferralsFromPrograms = void 0;
8
+ exports.shouldShowNetworkSelect = exports.referralIsOON = exports.referralIsGrouped = exports.mapReferralErrorsToIndex = exports.getReferralSubtitle = exports.getReferralStatus = exports.getProgramStatusDisplay = exports.generateErrorMessage = exports.buildReferralsFromPrograms = void 0;
9
9
  var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
10
10
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
11
11
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
12
12
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
13
13
  var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int"));
14
+ var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
15
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
14
16
  var _lodash = require("lodash");
15
17
  var mapProgramsPerService = function mapProgramsPerService(programs) {
16
18
  var result = (0, _reduce.default)(programs).call(programs, function (out, program) {
@@ -48,6 +50,7 @@ var buildReferral = function buildReferral(programIds, service) {
48
50
  primaryWorker: null,
49
51
  attachments: null,
50
52
  paymentAuthForm: null,
53
+ network: null,
51
54
  // Some random values until we do the funded features
52
55
  get isFunded() {
53
56
  return (0, _parseInt2.default)(Math.random() * 10) % 2;
@@ -124,4 +127,32 @@ var getReferralSubtitle = function getReferralSubtitle(referrals, selected) {
124
127
  return 'The recipient will be able to accept, reject, or forward this referral.';
125
128
  };
126
129
  exports.getReferralSubtitle = getReferralSubtitle;
130
+ var mapReferralErrorsToIndex = function mapReferralErrorsToIndex(referrals, indexes) {
131
+ var errors = {};
132
+ (0, _map.default)(indexes).call(indexes, function (i) {
133
+ var referral = referrals[i.index];
134
+ if (referral) {
135
+ var programs = referral.programs;
136
+ var networks = (0, _lodash.get)((0, _lodash.head)(programs), 'provider.networks', []);
137
+ var missingRequiredFields = (0, _lodash.compact)([!referral.description ? 'description' : null, referralIsOON(referral) && !referral.primaryWorker ? 'primary worker' : null, shouldShowNetworkSelect(networks, programs) && !referral.network ? 'network' : null]);
138
+ if (!(0, _lodash.isEmpty)(missingRequiredFields)) {
139
+ errors[i.index] = missingRequiredFields;
140
+ }
141
+ }
142
+ return null;
143
+ });
144
+ return errors;
145
+ };
146
+ exports.mapReferralErrorsToIndex = mapReferralErrorsToIndex;
147
+ var shouldShowNetworkSelect = function shouldShowNetworkSelect(networks, programs) {
148
+ return !(0, _lodash.isEmpty)(networks) && networks.length > 1 && programs.length === 1;
149
+ };
150
+ exports.shouldShowNetworkSelect = shouldShowNetworkSelect;
151
+ var generateErrorMessage = function generateErrorMessage(errors) {
152
+ var _context4;
153
+ var errorCount = (0, _flat.default)(_context4 = (0, _values.default)(errors)).call(_context4).length;
154
+ var prefix = errorCount === 1 ? '1 action item needs' : "".concat(errorCount, " action items need");
155
+ return errorCount > 0 ? "".concat(prefix, " your attention before you can submit your referral(s).") : null;
156
+ };
157
+ exports.generateErrorMessage = generateErrorMessage;
127
158
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_lodash","require","mapProgramsPerService","programs","result","_reduce","default","call","out","program","services","forEach","serviceId","existingService","_find","item","service","push","id","buildReferral","programIds","_context","_context2","_map","_concat","description","primaryWorker","attachments","paymentAuthForm","isFunded","_parseInt2","Math","random","buildReferralsFromPrograms","programsByService","referrals","referral","exports","referralIsGrouped","length","referralIsOON","_context3","some","p","provider","licensed","getReferralStatus","grouped","funded","oon","compact","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected"],"sources":["../../../src/pages/referrals/utils.js"],"sourcesContent":["import { compact, some } from 'lodash';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service) => {\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: '',\n primaryWorker: null,\n attachments: null,\n paymentAuthForm: null,\n // Some random values until we do the funded features\n get isFunded() { return parseInt(Math.random() * 10) % 2 },\n }\n}\n\nexport const buildReferralsFromPrograms = (programs) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n if (programsByService) {\n referrals = programsByService.map(item => {\n const referral = buildReferral(item.programs, item.service);\n return referral;\n })\n }\n return referrals;\n}\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const referralIsOON = (referral) => some(referral.programs.map((p) => !p.provider.licensed));\n\nexport const getReferralStatus = (referral) => {\n const { isFunded } = referral;\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = isFunded ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Out of Network' : '';\n\n return compact([grouped, funded, oon]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Out of Network', icon: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && selected.isOON) { return 'The case manager will be responsible for following up with the client.'; }\n if (referrals && referrals.length > 1) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient will be able to accept, reject, or forward this referral.';\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,QAAQ,EAAK;EAC1C,IAAMC,MAAM,GAAG,IAAAC,OAAA,CAAAC,OAAA,EAAAH,QAAQ,EAAAI,IAAA,CAARJ,QAAQ,EAAQ,UAACK,GAAG,EAAEC,OAAO,EAAK;IAC/C,IAAIA,OAAO,CAACC,QAAQ,EAAE;MACpBD,OAAO,CAACC,QAAQ,CAACC,OAAO,CAAC,UAACC,SAAS,EAAK;QACtC,IAAMC,eAAe,GAAG,IAAAC,KAAA,CAAAR,OAAA,EAAAE,GAAG,EAAAD,IAAA,CAAHC,GAAG,EAAM,UAAAO,IAAI;UAAA,OAAIA,IAAI,CAACC,OAAO,KAAKJ,SAAS;QAAA,EAAC;QACpE,IAAI,CAACC,eAAe,EAAE;UACpBL,GAAG,CAACS,IAAI,CAAC;YACPD,OAAO,EAAEJ,SAAS;YAClBT,QAAQ,EAAE,CAACM,OAAO,CAACS,EAAE;UACvB,CAAC,CAAC;QACJ,CAAC,MAAM;UACLL,eAAe,CAACV,QAAQ,CAACc,IAAI,CAACR,OAAO,CAACS,EAAE,CAAC;QAC3C;MACF,CAAC,CAAC;IACJ;IACA,OAAOV,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,MAAM;AACf,CAAC;AAED,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,UAAU,EAAEJ,OAAO,EAAK;EAAA,IAAAK,QAAA,EAAAC,SAAA;EAC7C,OAAO;IACLnB,QAAQ,EAAE,IAAAoB,IAAA,CAAAjB,OAAA,EAAAe,QAAA,OAAAG,OAAA,CAAAlB,OAAA,EAAAgB,SAAA,KAAE,EAAAf,IAAA,CAAAe,SAAA,EAAQF,UAAU,CAAC,EAAAb,IAAA,CAAAc,QAAA,EAAK,UAAAH,EAAE;MAAA,OAAK;QAAEA,EAAE,EAAFA;MAAG,CAAC;IAAA,CAAC,CAAC;IACnDF,OAAO,EAAE;MACPE,EAAE,EAAEF;IACN,CAAC;IACDS,WAAW,EAAE,EAAE;IACfC,aAAa,EAAE,IAAI;IACnBC,WAAW,EAAE,IAAI;IACjBC,eAAe,EAAE,IAAI;IACrB;IACA,IAAIC,QAAQA,CAAA,EAAG;MAAE,OAAO,IAAAC,UAAA,CAAAxB,OAAA,EAASyB,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAAC;EAC3D,CAAC;AACH,CAAC;AAEM,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAI9B,QAAQ,EAAK;EACtD,IAAM+B,iBAAiB,GAAGhC,qBAAqB,CAACC,QAAQ,CAAC;EACzD,IAAIgC,SAAS,GAAG,EAAE;EAClB,IAAID,iBAAiB,EAAE;IACrBC,SAAS,GAAG,IAAAZ,IAAA,CAAAjB,OAAA,EAAA4B,iBAAiB,EAAA3B,IAAA,CAAjB2B,iBAAiB,EAAK,UAAAnB,IAAI,EAAI;MACxC,IAAMqB,QAAQ,GAAGjB,aAAa,CAACJ,IAAI,CAACZ,QAAQ,EAAEY,IAAI,CAACC,OAAO,CAAC;MAC3D,OAAOoB,QAAQ;IACjB,CAAC,CAAC;EACJ;EACA,OAAOD,SAAS;AAClB,CAAC;AAAAE,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA;AAEM,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIF,QAAQ;EAAA,OAAKA,QAAQ,CAACjC,QAAQ,CAACoC,MAAM,GAAG,CAAC;AAAA;AAACF,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAErE,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIJ,QAAQ;EAAA,IAAAK,SAAA;EAAA,OAAK,IAAAC,YAAI,EAAC,IAAAnB,IAAA,CAAAjB,OAAA,EAAAmC,SAAA,GAAAL,QAAQ,CAACjC,QAAQ,EAAAI,IAAA,CAAAkC,SAAA,EAAK,UAACE,CAAC;IAAA,OAAK,CAACA,CAAC,CAACC,QAAQ,CAACC,QAAQ;EAAA,EAAC,CAAC;AAAA;AAACR,OAAA,CAAAG,aAAA,GAAAA,aAAA;AAE7F,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIV,QAAQ,EAAK;EAC7C,IAAQP,QAAQ,GAAKO,QAAQ,CAArBP,QAAQ;EAChB,IAAMkB,OAAO,GAAGT,iBAAiB,CAACF,QAAQ,CAAC,GAAG,SAAS,GAAG,EAAE;EAC5D,IAAMY,MAAM,GAAGnB,QAAQ,GAAG,QAAQ,GAAG,EAAE;EACvC,IAAMoB,GAAG,GAAGT,aAAa,CAACJ,QAAQ,CAAC,GAAG,gBAAgB,GAAG,EAAE;EAE3D,OAAO,IAAAc,eAAO,EAAC,CAACH,OAAO,EAAEC,MAAM,EAAEC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,IAAI,CAAC;AACnD,CAAC;AAACd,OAAA,CAAAS,iBAAA,GAAAA,iBAAA;AAEK,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,oBAAoB,EAAEC,KAAK,EAAK;EACtE,IAAIA,KAAK,EAAE;IAAE,OAAO;MAAEC,KAAK,EAAE,gBAAgB;MAAEC,IAAI,EAAE,oBAAoB;MAAEC,KAAK,EAAE;IAAG,CAAC;EAAE;EACxF,IAAIJ,oBAAoB,EAAE;IAAE,OAAO;MAAEE,KAAK,EAAE,qBAAqB;MAAEC,IAAI,EAAE,iBAAiB;MAAEC,KAAK,EAAE;IAAU,CAAC;EAAE;EAChH,IAAI,CAACJ,oBAAoB,EAAE;IAAE,OAAO;MAAEE,KAAK,EAAE,yBAAyB;MAAEC,IAAI,EAAE,iBAAiB;MAAGC,KAAK,EAAE;IAAU,CAAC;EAAE;EAEtH,OAAO;IAAEF,KAAK,EAAE,EAAE;IAAEC,IAAI,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC;AAC3C,CAAC;AAACpB,OAAA,CAAAe,uBAAA,GAAAA,uBAAA;AAEK,IAAMM,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIvB,SAAS,EAAEwB,QAAQ,EAAK;EAC1D,IAAIA,QAAQ,IAAIA,QAAQ,CAACL,KAAK,EAAE;IAAE,OAAO,wEAAwE;EAAE;EACnH,IAAInB,SAAS,IAAIA,SAAS,CAACI,MAAM,GAAG,CAAC,EAAE;IAAE,OAAO,0EAA0E;EAAE;EAE5H,OAAO,yEAAyE;AAClF,CAAC;AAACF,OAAA,CAAAqB,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"utils.js","names":["_lodash","require","mapProgramsPerService","programs","result","_reduce","default","call","out","program","services","forEach","serviceId","existingService","_find","item","service","push","id","buildReferral","programIds","_context","_context2","_map","_concat","description","primaryWorker","attachments","paymentAuthForm","network","isFunded","_parseInt2","Math","random","buildReferralsFromPrograms","programsByService","referrals","referral","exports","referralIsGrouped","length","referralIsOON","_context3","some","p","provider","licensed","getReferralStatus","grouped","funded","oon","compact","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected","mapReferralErrorsToIndex","indexes","errors","i","index","networks","get","head","missingRequiredFields","shouldShowNetworkSelect","isEmpty","generateErrorMessage","_context4","errorCount","_flat","_values","prefix","concat"],"sources":["../../../src/pages/referrals/utils.js"],"sourcesContent":["import {\n compact,\n some,\n isEmpty,\n get,\n head,\n} from 'lodash';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service) => {\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: '',\n primaryWorker: null,\n attachments: null,\n paymentAuthForm: null,\n network: null,\n // Some random values until we do the funded features\n get isFunded() { return parseInt(Math.random() * 10) % 2 },\n }\n}\n\nexport const buildReferralsFromPrograms = (programs) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n if (programsByService) {\n referrals = programsByService.map(item => {\n const referral = buildReferral(item.programs, item.service);\n return referral;\n })\n }\n return referrals;\n}\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const referralIsOON = (referral) => some(referral.programs.map((p) => !p.provider.licensed));\n\nexport const getReferralStatus = (referral) => {\n const { isFunded } = referral;\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = isFunded ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Out of Network' : '';\n\n return compact([grouped, funded, oon]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Out of Network', icon: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && selected.isOON) { return 'The case manager will be responsible for following up with the client.'; }\n if (referrals && referrals.length > 1) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient will be able to accept, reject, or forward this referral.';\n};\n\nexport const mapReferralErrorsToIndex = (referrals, indexes) => {\n const errors = {};\n indexes.map((i) => {\n const referral = referrals[i.index];\n if (referral) {\n const { programs } = referral;\n const networks = get(head(programs), 'provider.networks', []);\n \n const missingRequiredFields = compact([\n !referral.description ? 'description' : null,\n (referralIsOON(referral) && !referral.primaryWorker) ? 'primary worker' : null,\n (shouldShowNetworkSelect(networks, programs) && !referral.network ? 'network' : null),\n ]);\n if (!isEmpty(missingRequiredFields)) {\n errors[i.index] = missingRequiredFields;\n }\n }\n return null;\n });\n\n return errors;\n};\n\nexport const shouldShowNetworkSelect = (networks, programs) => !isEmpty(networks) && networks.length > 1 && programs.length === 1;\n\nexport const generateErrorMessage = (errors) => {\n const errorCount = Object.values(errors).flat().length\n const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;\n return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unite-us/app-create-referral",
3
- "version": "0.1.23",
3
+ "version": "0.1.24",
4
4
  "main": "build/index.js",
5
5
  "author": "Alex Morales",
6
6
  "dependencies": {