{"version":3,"file":"InquiryForm.js","mappings":"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","sources":["webpack://@hedtech/powercampus-self-service/webpack/runtime/chunk loaded","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/AddressSearchModal.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/FieldsHandler.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/FieldsGroupHandler.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/ApplicationCompletedModal.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/ApplicationHandler.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/ApplicationForm/ETSSearchModal.tsx","webpack://@hedtech/powercampus-self-service/./ClientApp/Requests/Admissions/InquiryForm.ts","webpack://@hedtech/powercampus-self-service/./ClientApp/Components/Admissions/InquiryForm/InquiryFormView.tsx","webpack://@hedtech/powercampus-self-service/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://@hedtech/powercampus-self-service/webpack/bootstrap","webpack://@hedtech/powercampus-self-service/webpack/runtime/compat get default export","webpack://@hedtech/powercampus-self-service/webpack/runtime/define property getters","webpack://@hedtech/powercampus-self-service/webpack/runtime/global","webpack://@hedtech/powercampus-self-service/webpack/runtime/hasOwnProperty shorthand","webpack://@hedtech/powercampus-self-service/webpack/runtime/make namespace object","webpack://@hedtech/powercampus-self-service/webpack/runtime/node module decorator","webpack://@hedtech/powercampus-self-service/webpack/runtime/runtimeId","webpack://@hedtech/powercampus-self-service/webpack/runtime/jsonp chunk loading","webpack://@hedtech/powercampus-self-service/webpack/runtime/nonce","webpack://@hedtech/powercampus-self-service/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n * File: AddressSearchModal.tsx\r\n * Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\n\r\n// Core components\r\nimport Button, { ButtonGroup } from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Link from '@hedtech/powercampus-design-system/react/core/Link';\r\nimport Modal from '@hedtech/powercampus-design-system/react/core/Modal';\r\nimport Pagination from '@hedtech/powercampus-design-system/react/core/Pagination';\r\nimport Table, { TableBody, TableCell, TableHead, TableRow } from '@hedtech/powercampus-design-system/react/core/Table';\r\nimport Text from '@hedtech/powercampus-design-system/react/core/Text';\r\nimport TextField from '@hedtech/powercampus-design-system/react/core/TextField';\r\n\r\n// Types\r\nimport { IAddress } from '../../../Types/Account/IAddress';\r\nimport { IAddressSearchModal } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\n\r\n// #endregion Types\r\n\r\n// #region Internal types\r\nexport interface IAddressSearchModalProps {\r\n addresses?: IAddress[];\r\n open: boolean;\r\n pageNumber: number;\r\n pageSize: number;\r\n rowsPerPageOptions: number[];\r\n totalAddress: number;\r\n zipCode?: string;\r\n\r\n // events\r\n onChangePage: (event: any, page: number) => void;\r\n onChangeRowsPerPage: (event: any) => void;\r\n onChangeTextField?: (event: any) => void;\r\n onClear: () => void;\r\n onClickLink: (zipCode?: string, city?: string, stateProvinceId?: number, countryId?: number,\r\n countyId?: number) => void;\r\n onClose: () => void;\r\n onSearch: () => void;\r\n\r\n // resources\r\n resources: IAddressSearchModal;\r\n}\r\n// #endregion Internal types\r\n\r\n// #region Component\r\nconst AddressSearchModal: React.FC = (props: IAddressSearchModalProps): JSX.Element => {\r\n const {\r\n addresses,\r\n open,\r\n pageNumber,\r\n pageSize,\r\n rowsPerPageOptions,\r\n totalAddress,\r\n zipCode,\r\n\r\n // events\r\n onChangePage,\r\n onChangeRowsPerPage,\r\n onChangeTextField,\r\n onClear,\r\n onClickLink,\r\n onClose,\r\n onSearch,\r\n\r\n // resources\r\n resources\r\n } = props;\r\n\r\n const footerModal: JSX.Element = (\r\n \r\n \r\n {resources.btnSearch}\r\n \r\n \r\n {resources.btnClear}\r\n \r\n \r\n );\r\n\r\n let table: JSX.Element | undefined;\r\n\r\n if (addresses && addresses.length > 0) {\r\n const tableBody: JSX.Element[] = [];\r\n addresses.forEach((address, j) => {\r\n tableBody.push(\r\n \r\n \r\n \r\n \r\n {address.zipCode}\r\n \r\n \r\n \r\n \r\n \r\n {address.city}\r\n \r\n \r\n \r\n \r\n {address.state}\r\n \r\n \r\n \r\n \r\n {address.county}\r\n \r\n \r\n \r\n \r\n {address.country}\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n table = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {resources.lblZipCode}\r\n \r\n \r\n {resources.lblCity}\r\n \r\n \r\n {resources.lblState}\r\n \r\n \r\n {resources.lblCounty}\r\n \r\n \r\n {resources.lblCountry}\r\n \r\n \r\n \r\n \r\n {tableBody}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else {\r\n table = (\r\n \r\n {resources.lblNoResults}\r\n \r\n );\r\n }\r\n\r\n let paginationComponent: JSX.Element | undefined;\r\n if (addresses && addresses.length > 0) {\r\n paginationComponent = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let bodyModal: JSX.Element;\r\n bodyModal = (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {footerModal}\r\n \r\n
\r\n
\r\n {table}\r\n {paginationComponent}\r\n \r\n );\r\n\r\n return (\r\n \r\n {bodyModal}\r\n \r\n );\r\n};\r\n// #endregion Component\r\n\r\n// Export: Component\r\nexport default AddressSearchModal;","/* Copyright 2018 - 2022 Ellucian Company L.P. and its affiliates.\r\n * File: FieldsHandle.tsx\r\n * Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\n\r\n// Core components\r\nimport Button from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Checkbox from '@hedtech/powercampus-design-system/react/core/Checkbox';\r\nimport DatePicker from '@hedtech/powercampus-design-system/react/core/DatePicker';\r\nimport Dropdown from '@hedtech/powercampus-design-system/react/core/Dropdown';\r\nimport ExpansionPanel from '@hedtech/powercampus-design-system/react/core/ExpansionPanel';\r\nimport FormControl, { FormControlLabel, FormGroup } from '@hedtech/powercampus-design-system/react/core/FormControl';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Icon from '@hedtech/powercampus-design-system/react/core/Icon';\r\nimport IconButton from '@hedtech/powercampus-design-system/react/core/IconButton';\r\nimport List from '@hedtech/powercampus-design-system/react/core/List';\r\nimport Paragraph, { TextColor, TextSize } from '@hedtech/powercampus-design-system/react/core/Paragraph';\r\nimport RadioGroup from '@hedtech/powercampus-design-system/react/core/RadioGroup';\r\nimport Text from '@hedtech/powercampus-design-system/react/core/Text';\r\nimport TextField from '@hedtech/powercampus-design-system/react/core/TextField';\r\nimport TextLink from '@hedtech/powercampus-design-system/react/core/TextLink';\r\n\r\n// Internal components\r\nimport { IApplicationHandler } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\n\r\n// Helpers\r\nimport Tokens from '@hedtech/powercampus-design-system/react/core/styles/Tokens';\r\nimport { createStyles, withStyles, WithStyles } from '@hedtech/powercampus-design-system/react/core/styles/withStyles';\r\nimport { isWidthUp, withWidth, WithWidth } from '@hedtech/powercampus-design-system/react/core/withWidth';\r\n\r\n// Types\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IApplicationErrors } from '../../../Types/Applications/IApplicationErrors';\r\nimport { IApplicationIpeds } from '../../../Types/Applications/IApplicationIpeds';\r\nimport { IFieldForm } from '../../../Types/Form/IFieldForm';\r\n// #endregion\r\n\r\n// #region Internal types\r\nexport interface IFieldsHandlerProps {\r\n dateTimeCulture: string;\r\n errors: IApplicationErrors[];\r\n expandedPanelId: boolean | string;\r\n fields: IFieldForm[];\r\n governmentIdFormat: string;\r\n groupIndex: number;\r\n isExpansionPanel: boolean;\r\n isHorizontalAligned: boolean;\r\n shortDatePattern: string;\r\n stepIndex: number;\r\n\r\n resources: IApplicationHandler;\r\n\r\n onClickButton: (event: React.MouseEvent) => void;\r\n onChangeCheckBox: (event: React.ChangeEvent) => void;\r\n onChangeDateTimeField: (date: string, id: string, isValid: boolean) => void;\r\n onDeleteItem: (event: any) => void;\r\n onChangeDropDown: (optionSelected: IDropDownOption, id: string) => void;\r\n onChangeExpansionPanel: (label: string) => void;\r\n onChangeListCheckbox: (event: any) => void;\r\n onChangeRadioGroup: (event: React.ChangeEvent, value: string) => void;\r\n onChangeTextField: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nconst styles = createStyles({\r\n category: {\r\n marginBottom: Tokens.spacing30,\r\n marginLeft: Tokens.spacing50\r\n },\r\n federalCategory: {\r\n '& > span:nth-child(2)': {\r\n fontWeight: Tokens.fontWeightBold\r\n },\r\n marginBottom: Tokens.spacing30\r\n }\r\n});\r\n\r\ntype PropsWithStyles = IFieldsHandlerProps & WithStyles & WithWidth;\r\n// #endregion\r\n\r\n// #region Component\r\nconst FieldsHandler: React.FC = (props: PropsWithStyles): JSX.Element => {\r\n const {\r\n classes,\r\n dateTimeCulture,\r\n errors,\r\n expandedPanelId,\r\n fields,\r\n governmentIdFormat,\r\n groupIndex,\r\n isExpansionPanel,\r\n isHorizontalAligned,\r\n resources,\r\n shortDatePattern,\r\n stepIndex,\r\n width,\r\n\r\n onChangeCheckBox,\r\n onChangeDropDown,\r\n onChangeDateTimeField,\r\n onChangeExpansionPanel,\r\n onChangeListCheckbox,\r\n onChangeRadioGroup,\r\n onChangeTextField,\r\n onClickButton,\r\n onDeleteItem\r\n } = props;\r\n\r\n const elements: JSX.Element[] = [];\r\n\r\n // General Sections Arrays\r\n let ids: string[] = [];\r\n const sectionIndexes: number[] = [];\r\n let sectionElements: JSX.Element[] = [];\r\n const sectionContainers: JSX.Element[] = [];\r\n let sectionIndex: number;\r\n\r\n // Header Arrays\r\n let headerDeleteElement: JSX.Element[] = [];\r\n let headerTitleElements: string[] = [];\r\n const firstHeaderTitleElement: string[] = [];\r\n\r\n const getId = (idStringArray: string[], index: number): number => Number(idStringArray[index]);\r\n\r\n const setHeaderTitleElements = (field: IFieldForm): void => {\r\n if (field.isExpansionPanelHeader) {\r\n if (field.value) {\r\n if (headerTitleElements[0] === resources.lblNew) {\r\n headerTitleElements.splice(0, 1);\r\n }\r\n if (field.componentType && field.componentType === 'Dropdown') {\r\n let selectedOption: number = 0;\r\n if (field.data && field.data.options && field.data.options.length > 0) {\r\n selectedOption =\r\n field.data.options.findIndex(x => x.value === field.value);\r\n if (selectedOption > -1) {\r\n headerTitleElements.push(`${field.data.options[selectedOption].description} `);\r\n }\r\n }\r\n }\r\n else {\r\n headerTitleElements.push(`${field.value} `);\r\n }\r\n }\r\n if (headerTitleElements.length === 0) {\r\n headerTitleElements.push(resources.lblNew);\r\n }\r\n }\r\n };\r\n\r\n const fillElements = (fieldElement: JSX.Element, field: IFieldForm): void => {\r\n if (isExpansionPanel && field.componentType === 'DeleteIconButton') {\r\n headerDeleteElement.push(fieldElement);\r\n }\r\n else {\r\n sectionElements.push(fieldElement);\r\n }\r\n };\r\n\r\n const setMultipleFields = (field: IFieldForm, fieldElement: JSX.Element, id: string) => {\r\n ids = field.data.id.split('|');\r\n sectionIndex = errors[getId(ids, 1)].groupErrors[getId(ids, 2)].sectionErrors.findIndex(\r\n section => section.sectionIndex === Number(getId(ids, 4))\r\n );\r\n // Verify if section exists\r\n if (sectionIndexes.includes(getId(ids, 4))) {\r\n setHeaderTitleElements(field);\r\n fillElements(fieldElement, field);\r\n }\r\n // Create a new section\r\n else {\r\n sectionElements = [];\r\n headerDeleteElement = [];\r\n headerTitleElements = [];\r\n\r\n setHeaderTitleElements(field);\r\n fillElements(fieldElement, field);\r\n sectionIndexes.push(getId(ids, 4));\r\n\r\n sectionContainers.push(\r\n isExpansionPanel ? (\r\n -1 ?\r\n errors[getId(ids, 1)].groupErrors[getId(ids, 2)].sectionErrors.length > 0 ?\r\n errors[getId(ids, 1)].groupErrors[getId(ids, 2)].sectionErrors[sectionIndex].isSectionError\r\n : false\r\n : false}\r\n background=\"gray\"\r\n expandIcon={}\r\n expanded={expandedPanelId === `panel|${stepIndex}|${groupIndex}|${getId(ids, 4)}`}\r\n header={(\r\n \r\n \r\n 0 && sectionIndex > -1 ?\r\n errors[getId(ids, 1)].groupErrors[getId(ids, 2)].sectionErrors[sectionIndex].isSectionError ?\r\n 'error' : undefined\r\n : undefined}\r\n >\r\n {headerTitleElements}\r\n \r\n \r\n \r\n {headerDeleteElement}\r\n \r\n \r\n )}\r\n key={`expansionPanel|${field.data.id}|${id}`}\r\n onChange={onChangeExpansionPanel(`panel|${stepIndex}|${groupIndex}|${getId(ids, 4)}`)}\r\n >\r\n \r\n {sectionElements}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {sectionElements}\r\n \r\n \r\n )\r\n );\r\n }\r\n };\r\n if (errors) {\r\n if (errors[stepIndex].groupErrors[groupIndex].groupId === 'addressInformationGroup') {\r\n firstHeaderTitleElement.push(`${resources.lblPrimary} `);\r\n }\r\n }\r\n\r\n fields.forEach((field, j) => {\r\n let fieldElement: JSX.Element | undefined;\r\n\r\n let id: string;\r\n if (field.data.modified) {\r\n id = `${field.data.id}`;\r\n }\r\n else {\r\n id = `${field.data.id}|${stepIndex}|${groupIndex}|${j}`;\r\n }\r\n\r\n let fieldSize: false | 'auto' | true | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\r\n switch (field.gridSize) {\r\n case 'XS':\r\n fieldSize = 2;\r\n break;\r\n case 'S':\r\n fieldSize = 3;\r\n break;\r\n case 'M':\r\n fieldSize = 4;\r\n break;\r\n case 'L':\r\n fieldSize = 6;\r\n break;\r\n case 'XL':\r\n fieldSize = 12;\r\n break;\r\n default:\r\n fieldSize = 12;\r\n }\r\n\r\n switch (field.componentType) {\r\n case 'Button':\r\n fieldSize = isHorizontalAligned ? 3 : fieldSize;\r\n fieldElement = (\r\n \r\n \r\n {field.data.label}\r\n \r\n \r\n );\r\n break;\r\n case 'TextField':\r\n if (id.substr(0, 'postalCodeId'.length) === 'postalCodeId' ||\r\n id.substr(0, 'educationEtsCodeId'.length) === 'educationEtsCodeId') {\r\n let buttonId: string = '';\r\n let isPostalCode: boolean = false;\r\n if (field.data.modified) {\r\n if (id.substr(0, 'postalCodeId'.length) === 'postalCodeId') {\r\n buttonId = id.replace('postalCodeId', 'postalCodeButtonId');\r\n }\r\n if (id.substr(0, 'educationEtsCodeId'.length) === 'educationEtsCodeId') {\r\n buttonId = id.replace('educationEtsCodeId', 'educationEtsCodeButtonId');\r\n }\r\n }\r\n else {\r\n if (id.substr(0, 'postalCodeId'.length) === 'postalCodeId') {\r\n buttonId = `postalCodeButtonId|${stepIndex}|${groupIndex}|${j + 1}`;\r\n isPostalCode = true;\r\n }\r\n if (id.substr(0, 'educationEtsCodeId'.length) === 'educationEtsCodeId') {\r\n buttonId = `educationEtsCodeButtonId|${stepIndex}|${groupIndex}|${j + 1}`;\r\n }\r\n }\r\n\r\n fieldElement = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {resources.lblSearch}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else {\r\n let format: string | undefined;\r\n if (id.substr(0, 'governmentId'.length) === 'governmentId' && governmentIdFormat) {\r\n format = governmentIdFormat;\r\n }\r\n\r\n fieldElement = (\r\n \r\n \r\n \r\n );\r\n }\r\n break;\r\n\r\n case 'Dropdown':\r\n const emptyOption: IDropDownOption = {\r\n description: String(resources.lblSelect),\r\n value: ''\r\n };\r\n let exist: boolean = false;\r\n if (field.default && field.data.options) {\r\n field.data.options.forEach(option => {\r\n if (option.value.toString() === field.default.toString()) {\r\n exist = true;\r\n }\r\n });\r\n }\r\n fieldElement = (\r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'Checkbox':\r\n let checked: boolean = false;\r\n if (field.value !== undefined) {\r\n checked = field.value;\r\n }\r\n fieldElement = (\r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'DatePicker':\r\n fieldElement = (\r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'DeleteIconButton':\r\n fieldSize = isHorizontalAligned ? 1 : fieldSize;\r\n const idDelete: string = field.data.id;\r\n fieldElement = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'CheckboxList':\r\n let messageRequired: JSX.Element | undefined;\r\n if (field.data.error && field.isRequired) {\r\n messageRequired = (\r\n \r\n {field.data.helperText}\r\n \r\n );\r\n }\r\n else {\r\n messageRequired = undefined;\r\n }\r\n const chkElements: JSX.Element[] = [];\r\n let isCheck: boolean;\r\n if (field.data.options) {\r\n field.data.options.forEach((option, i) => {\r\n isCheck = false;\r\n if (field.value) {\r\n const array: string[] = Object.values(field.value.split(','));\r\n if (field.value && array.length > 0) {\r\n const index: number = array.findIndex(x => x === option.value.toString());\r\n if (index > -1) {\r\n isCheck = true;\r\n }\r\n }\r\n }\r\n chkElements.push(\r\n \r\n )\r\n }\r\n label={option.description}\r\n key={`${field.data.id}|list|${i}`}\r\n />\r\n );\r\n });\r\n }\r\n fieldElement = (\r\n \r\n {messageRequired}\r\n {field.data.label ? (\r\n \r\n {field.isRequired ? `${field.data.label} *` : `${field.data.label}`}\r\n \r\n ) : undefined}\r\n \r\n \r\n {chkElements}\r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'Text':\r\n const errorColor: TextColor | undefined = field.data.error ? 'error' : undefined;\r\n let colorText: TextColor | undefined;\r\n if (!errorColor) {\r\n colorText = field.color ? field.color : undefined;\r\n }\r\n else {\r\n colorText = errorColor;\r\n }\r\n const size: TextSize | undefined = field.size;\r\n\r\n if (!field.isWithLink) {\r\n fieldElement = (\r\n \r\n \r\n {field.data.label}\r\n \r\n \r\n );\r\n }\r\n else {\r\n if (field.actionUrl && field.data.label) {\r\n const actions: string[] = field.actionUrl.split('|');\r\n fieldElement = (\r\n \r\n {\r\n if (action.substr(0, 'mailto:'.length) === 'mailto:' ||\r\n action.substr(0, 'tel:'.length) === 'tel:') {\r\n return ((_event: React.MouseEvent) => {\r\n window.location.href = `${action}`;\r\n });\r\n }\r\n else {\r\n return ((_event: React.MouseEvent) => {\r\n window.open(`${action}`, '_blank');\r\n });\r\n }\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n }\r\n break;\r\n\r\n case 'RadioGroup':\r\n const options: IDropDownOption[] = [];\r\n fieldElement = (\r\n \r\n \r\n {field.data.label}\r\n \r\n \r\n \r\n );\r\n break;\r\n\r\n case 'NestedCheckboxList':\r\n const array: IApplicationIpeds[] = [];\r\n if (field.value) {\r\n const ipedsArray = field.value.split(',');\r\n ipedsArray.forEach(iped => {\r\n const ipedItem = iped.split('$');\r\n if (ipedItem[0] !== '') {\r\n if (ipedItem.length > 1) {\r\n array.push({\r\n ipedsEthnicityId: ipedItem[1],\r\n ipedsFederalCategoryId: ipedItem[0]\r\n });\r\n }\r\n else {\r\n array.push({\r\n ipedsFederalCategoryId: ipedItem[0]\r\n });\r\n }\r\n }\r\n });\r\n }\r\n let errorMessage: JSX.Element | undefined;\r\n if (field.data.error) {\r\n errorMessage = (\r\n \r\n {field.data.helperText}\r\n \r\n );\r\n }\r\n else {\r\n errorMessage = undefined;\r\n }\r\n const elementsList: JSX.Element[] = [];\r\n if (field.data.complexOptions && field.data.complexOptions.length > 0) {\r\n field.data.complexOptions.forEach(complexItem => {\r\n const elements: JSX.Element[] = [];\r\n if (complexItem.options && complexItem.options.length > 0) {\r\n complexItem.options.forEach(item => {\r\n let childIsChecked: boolean = false;\r\n if (array.length > 0) {\r\n let index: number = -1;\r\n index =\r\n array.findIndex(x =>\r\n (x.ipedsEthnicityId ?\r\n x.ipedsEthnicityId.toString() : '') === item.value.toString() &&\r\n x.ipedsFederalCategoryId.toString() === complexItem.value.toString());\r\n if (index > -1) {\r\n childIsChecked = true;\r\n }\r\n }\r\n elements.push(\r\n \r\n )\r\n }\r\n label={item.description}\r\n />\r\n );\r\n });\r\n }\r\n let parentIsChecked: boolean = false;\r\n if (array.length > 0) {\r\n let index: number = -1;\r\n index =\r\n array.findIndex(x =>\r\n (x.ipedsFederalCategoryId ?\r\n x.ipedsFederalCategoryId.toString() : '') === complexItem.value.toString());\r\n if (index > -1) {\r\n parentIsChecked = true;\r\n }\r\n }\r\n elementsList.push(\r\n <>\r\n \r\n )\r\n }\r\n label={complexItem.description}\r\n />\r\n {elements}\r\n \r\n );\r\n });\r\n }\r\n fieldElement = (\r\n \r\n {field.data.label ? (\r\n \r\n {field.isRequired ? `${field.data.label} *` : `${field.data.label}`}\r\n \r\n ) : undefined}\r\n \r\n {errorMessage}\r\n \r\n \r\n {elementsList}\r\n \r\n \r\n \r\n \r\n );\r\n break;\r\n case 'Link':\r\n if (field.data.label) {\r\n fieldElement = (\r\n \r\n \r\n {field.data.label}\r\n \r\n \r\n );\r\n }\r\n break;\r\n case 'IconLinkEmail':\r\n if (field.data.label) {\r\n fieldElement = (\r\n \r\n { if (field.actionUrl) { window.location.href = field.actionUrl } }}\r\n >\r\n {field.data.label}\r\n \r\n \r\n );\r\n }\r\n break;\r\n case 'IconLinkPhone':\r\n if (field.data.label) {\r\n fieldElement = (\r\n \r\n { if (field.actionUrl) { window.location.href = field.actionUrl } }}\r\n >\r\n {field.data.label}\r\n \r\n \r\n );\r\n }\r\n break;\r\n case 'Divider':\r\n fieldElement = (\r\n \r\n
\r\n
\r\n );\r\n break;\r\n case 'Image':\r\n fieldElement = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case 'HtmlElement':\r\n fieldElement = (\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n break;\r\n }\r\n\r\n /* Determines the expansion panel header\r\n * for the first element of a group */\r\n if (field.isExpansionPanelHeader && field.value) {\r\n if (!field.data.modified) {\r\n if (field.componentType && field.componentType === 'Dropdown') {\r\n let selectedOption: number = 0;\r\n if (field.data && field.data.options && field.data.options.length > 0) {\r\n selectedOption =\r\n field.data.options.findIndex(x => x.value === field.value);\r\n if (selectedOption > -1) {\r\n firstHeaderTitleElement.push(`${field.data.options[selectedOption].description} `);\r\n }\r\n }\r\n }\r\n else {\r\n firstHeaderTitleElement.push(`${field.value} `);\r\n }\r\n }\r\n }\r\n\r\n /* Determines if the element is copied */\r\n if (fieldElement) {\r\n if (field.data.modified) {\r\n setMultipleFields(field, fieldElement, id);\r\n }\r\n else {\r\n elements.push(fieldElement);\r\n }\r\n }\r\n });\r\n\r\n return (\r\n isExpansionPanel && sectionContainers.length > 0 ? (\r\n <>\r\n }\r\n header={(\r\n \r\n {firstHeaderTitleElement.length > 0 ? firstHeaderTitleElement : resources.lblNew}\r\n \r\n )}\r\n onChange={onChangeExpansionPanel(`panel|${stepIndex}|${groupIndex}`)}\r\n >\r\n \r\n {elements}\r\n \r\n \r\n {sectionContainers}\r\n \r\n ) : (\r\n <>\r\n \r\n {elements}\r\n \r\n {sectionContainers}\r\n \r\n\r\n ));\r\n};\r\n// #endregion\r\n\r\n// Export: Component\r\nexport default withStyles(styles)(withWidth()(FieldsHandler));","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n* File: FieldsGroupHandler.tsx\r\n* Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\n\r\n// Internal components\r\nimport { IApplicationHandler } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\nimport FieldsHandler from './FieldsHandler';\r\n\r\n// Core components\r\nimport Button from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Text from '@hedtech/powercampus-design-system/react/core/Text';\r\n\r\n// Helpers\r\nimport Tokens from '@hedtech/powercampus-design-system/react/core/styles/Tokens';\r\nimport { createStyles, withStyles, WithStyles } from '@hedtech/powercampus-design-system/react/core/styles/withStyles';\r\n\r\n// Types\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IApplicationErrors } from '../../../Types/Applications/IApplicationErrors';\r\nimport { IFieldsGroup } from '../../../Types/Form/IFieldsGroup';\r\n// #endregion\r\n\r\n// #region Internal types\r\nexport interface IFieldsGroupHandlerProps {\r\n dateTimeCulture: string;\r\n errors: IApplicationErrors[];\r\n expanded: boolean | string;\r\n fieldGroup: IFieldsGroup;\r\n fieldGroupIndex: number;\r\n firstDayOfWeek: number;\r\n governmentIdFormat: string;\r\n isExpansionPanel: boolean;\r\n isHorizontalAligned: boolean;\r\n shortDatePattern: string;\r\n stepIndex: number;\r\n\r\n resources: IApplicationHandler;\r\n\r\n onAddMore: (fieldGroup: IFieldsGroup, stepIndex: number, fieldGroupIndex: number) => void;\r\n onChangeCheckBox: (event: React.ChangeEvent) => void;\r\n onChangeDateTimeField: (date: string, id: string, isValid: boolean) => void;\r\n onChangeDropDown: (optionSelected: IDropDownOption, id: string) => void;\r\n onChangeExpansionPanel: (label: string) => void;\r\n onChangeListCheckbox: (event: any) => void;\r\n onChangeRadioGroup: (event: React.ChangeEvent, value: string) => void;\r\n onChangeTextField: (event: React.ChangeEvent) => void;\r\n onClickButton: (event: React.MouseEvent) => void;\r\n onDeleteItem: (event: any) => void;\r\n}\r\n\r\nconst styles = (() => createStyles({\r\n buttonTop: {\r\n marginTop: Tokens.spacing30\r\n },\r\n groupTitleBottom: {\r\n marginBottom: 0\r\n }\r\n}));\r\n\r\ntype PropsWithStyles = IFieldsGroupHandlerProps & WithStyles;\r\n\r\n// #endregion\r\n\r\n// #region Component\r\nconst FieldsGroupHandler: React.FC = (props: PropsWithStyles): JSX.Element => {\r\n const {\r\n classes,\r\n dateTimeCulture,\r\n errors,\r\n expanded,\r\n fieldGroup,\r\n fieldGroupIndex,\r\n firstDayOfWeek,\r\n governmentIdFormat,\r\n isExpansionPanel,\r\n isHorizontalAligned,\r\n shortDatePattern,\r\n stepIndex,\r\n resources,\r\n\r\n onAddMore,\r\n onChangeCheckBox,\r\n onChangeDropDown,\r\n onChangeDateTimeField,\r\n onChangeExpansionPanel,\r\n onChangeListCheckbox,\r\n onChangeRadioGroup,\r\n onChangeTextField,\r\n onClickButton,\r\n onDeleteItem\r\n } = props;\r\n\r\n const isDisabled: boolean = fieldGroup.isDisableButton ? fieldGroup.isDisableButton : false;\r\n\r\n const content: JSX.Element[] = [];\r\n /* Field Id will be created in this way:\r\n * fieldId_sectionIndex_fieldIndex_positionInCollection\r\n * */\r\n const addMore = () => onAddMore(fieldGroup, stepIndex, fieldGroupIndex);\r\n if (fieldGroup.isMultiple) {\r\n content.push(\r\n \r\n \r\n \r\n );\r\n }\r\n let labelElement: JSX.Element | undefined;\r\n if (fieldGroup.label) {\r\n labelElement = (\r\n \r\n {fieldGroup.label}\r\n \r\n );\r\n }\r\n let instructionsElement: JSX.Element | undefined;\r\n if (fieldGroup.instructions) {\r\n instructionsElement = (\r\n \r\n {fieldGroup.instructions}\r\n \r\n );\r\n }\r\n\r\n content.push(\r\n \r\n {(fieldGroup.label !== '' || fieldGroup.instructions) &&\r\n fieldGroup.id !== 'confirmationGroup' ?\r\n (\r\n \r\n \r\n {labelElement}\r\n {instructionsElement}\r\n \r\n \r\n ) : undefined}\r\n \r\n \r\n );\r\n\r\n if (fieldGroup.isMultiple && Number(fieldGroup.maximumAllowed) !== 1) {\r\n content.push(\r\n \r\n \r\n \r\n {resources.lblAddNew}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {content}\r\n \r\n );\r\n};\r\n// #endregion\r\n\r\n// Export: Component\r\nexport default withStyles(styles)(FieldsGroupHandler);","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n * File: ApplicationCompletedModal.tsx\r\n * Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\n\r\n// Core components\r\nimport Button, { ButtonGroup } from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Divider from '@hedtech/powercampus-design-system/react/core/Divider';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Modal from '@hedtech/powercampus-design-system/react/core/Modal';\r\nimport Text from '@hedtech/powercampus-design-system/react/core/Text';\r\n\r\n// Internal components\r\nimport { IApplicationHandler } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\nimport FieldsGroupHandler from './FieldsGroupHandler';\r\n\r\n// Helpers\r\nimport Tokens from '@hedtech/powercampus-design-system/react/core/styles/Tokens';\r\nimport { createStyles, withStyles, WithStyles } from '@hedtech/powercampus-design-system/react/core/styles/withStyles';\r\n\r\n// Types\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IFieldsGroup } from '../../../Types/Form/IFieldsGroup';\r\nimport { IPaymentTransaction } from '../../../Types/Payment/IPaymentTransaction';\r\n// #endregion\r\n\r\n// #region Internal types\r\nexport interface IApplicationCompletedModalProps {\r\n dateTimeCulture: string;\r\n failedPayment: boolean;\r\n fieldGroup?: IFieldsGroup;\r\n paymentTransaction?: IPaymentTransaction;\r\n shortDatePattern: string;\r\n successPayment: boolean;\r\n\r\n onAddMore: (fieldGroup: IFieldsGroup, stepIndex: number, fieldGroupIndex: number) => void;\r\n onChangeCheckBox: (event: React.ChangeEvent) => void;\r\n onChangeDateTimeField: (date: string, id: string, isValid: boolean) => void;\r\n onChangeDropDown: (optionSelected: IDropDownOption, id: string) => void;\r\n onChangeListCheckbox: (event: any) => void;\r\n onChangeRadioGroup: (event: React.ChangeEvent, value: string) => void;\r\n onChangeTextField: (event: React.ChangeEvent) => void;\r\n onClickButton: (event: React.MouseEvent) => void;\r\n onCloseFailedPayment: (event: React.MouseEvent) => void;\r\n\r\n resourcesApplicationHandler: IApplicationHandler;\r\n}\r\n\r\nconst styles = createStyles({\r\n containerDetails: {\r\n backgroundColor: Tokens.colorBrandNeutral200,\r\n padding: Tokens.spacing50\r\n }\r\n});\r\n\r\ntype PropsWithStyles = IApplicationCompletedModalProps & WithStyles;\r\n// #endregion\r\n\r\n// #region Component\r\nconst ApplicationCompletedModal: React.FC = (props: PropsWithStyles): JSX.Element => {\r\n const {\r\n classes,\r\n dateTimeCulture,\r\n failedPayment,\r\n fieldGroup,\r\n paymentTransaction,\r\n shortDatePattern,\r\n successPayment,\r\n\r\n onAddMore,\r\n onChangeCheckBox,\r\n onChangeDateTimeField,\r\n onChangeDropDown,\r\n onChangeListCheckbox,\r\n onChangeRadioGroup,\r\n onChangeTextField,\r\n onClickButton,\r\n onCloseFailedPayment,\r\n\r\n resourcesApplicationHandler\r\n } = props;\r\n\r\n let footerModal: JSX.Element;\r\n footerModal = (\r\n \r\n \r\n {resourcesApplicationHandler.btnOk}\r\n \r\n \r\n );\r\n\r\n const bodyModal: JSX.Element[] = [];\r\n if (fieldGroup) {\r\n bodyModal.push(\r\n \r\n {failedPayment ?\r\n (\r\n \r\n \r\n {resourcesApplicationHandler.lblContentTextApplication}\r\n \r\n \r\n ) :\r\n successPayment && paymentTransaction ?\r\n (\r\n \r\n \r\n
\r\n \r\n {resourcesApplicationHandler.lblTitleDetails}\r\n \r\n \r\n \r\n \r\n \r\n {resourcesApplicationHandler.lblAmount}\r\n \r\n \r\n \r\n \r\n {paymentTransaction.amount}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {resourcesApplicationHandler.lblDescription}\r\n \r\n \r\n \r\n \r\n {paymentTransaction.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {resourcesApplicationHandler.lblAuthorizationCode}\r\n \r\n \r\n \r\n \r\n {paymentTransaction.authorizationNumber}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ) :\r\n undefined\r\n }\r\n {!failedPayment ?\r\n (\r\n \r\n \r\n \r\n ) : undefined}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {bodyModal}\r\n \r\n );\r\n};\r\n// #endregion\r\n\r\n// Export: Component\r\nexport default withStyles(styles)(ApplicationCompletedModal);","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n* File: ApplicationHandler.tsx\r\n* Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\nimport Media from 'react-media';\r\n\r\n// Core components\r\nimport Button, { ButtonGroup } from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Card from '@hedtech/powercampus-design-system/react/core/Card';\r\nimport Divider from '@hedtech/powercampus-design-system/react/core/Divider';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Icon from '@hedtech/powercampus-design-system/react/core/Icon';\r\nimport MessageStyled from '@hedtech/powercampus-design-system/react/core/MessageStyled';\r\nimport StepProgress, {\r\n MobileStepper,\r\n MobileStepperLabel,\r\n MobileStepperStep,\r\n MobileStepperTitle,\r\n Step,\r\n StepButton,\r\n StepContent,\r\n StepLabel\r\n} from '@hedtech/powercampus-design-system/react/core/StepProgress';\r\nimport Text from '@hedtech/powercampus-design-system/react/core/Text';\r\n\r\n// Internal components\r\nimport ApplicationCompletedModal from './ApplicationCompletedModal';\r\nimport FieldsGroupHandler from './FieldsGroupHandler';\r\n\r\n// Helpers\r\nimport Format from '@hedtech/powercampus-design-system/helpers/Format';\r\nimport Tokens from '@hedtech/powercampus-design-system/react/core/styles/Tokens';\r\nimport { createStyles, Theme, withStyles, WithStyles } from '@hedtech/powercampus-design-system/react/core/styles/withStyles';\r\n\r\n// Types\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IApplicationContent } from '../../../Types/Applications/IApplicationContent';\r\nimport { IApplicationErrors } from '../../../Types/Applications/IApplicationErrors';\r\nimport { IApplicationForm } from '../../../Types/Form/IApplicationForm';\r\nimport { IFieldsGroup } from '../../../Types/Form/IFieldsGroup';\r\nimport { IPaymentTransaction } from '../../../Types/Payment/IPaymentTransaction';\r\nimport { IApplicationHandler } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\n// #endregion\r\n\r\n// #region Internal types\r\nexport interface IApplicationHandlerProps {\r\n activeStep: number;\r\n components?: IApplicationForm;\r\n dateTimeCulture: string;\r\n errors: IApplicationErrors[];\r\n expanded: boolean | string;\r\n failedPayment: boolean;\r\n firstDayOfWeek: number;\r\n governmentIdFormat: string;\r\n paymentTransaction: IPaymentTransaction;\r\n saveMessage?: string;\r\n section?: JSON;\r\n shortDatePattern: string;\r\n showSaveButton: boolean;\r\n successPayment: boolean;\r\n\r\n resources: IApplicationHandler;\r\n onAddMore: (fieldGroup: IFieldsGroup) => void;\r\n onBackStep: () => void;\r\n onClickSave?: () => void;\r\n onClickStep: (event: React.MouseEvent) => void;\r\n onChangeCheckBox: (event: React.ChangeEvent) => void;\r\n onChangeDateTimeField: (date: string, id: string, isValid: boolean) => void;\r\n onChangeDropDown: (optionSelected: IDropDownOption, id: string) => void;\r\n onChangeExpansionPanel: (label: string) => void;\r\n onChangeListCheckbox: (event: any) => void;\r\n onChangeRadioGroup: (event: React.ChangeEvent, value: string) => void;\r\n onChangeTextField: (event: React.ChangeEvent) => void;\r\n onClickButton: (event: React.MouseEvent) => void;\r\n onCloseFailedPayment: (event: React.MouseEvent) => void;\r\n onDeleteItem: (event: any) => void;\r\n\r\n onNextStep: () => void;\r\n onSubmit: () => void;\r\n}\r\n\r\nconst styles = (theme: Theme) => createStyles({\r\n backButtonMovil: {\r\n marginLeft: Tokens.spacing30\r\n },\r\n boxStep: {\r\n '& > span > span > span': {\r\n textAlign: 'left'\r\n },\r\n '&:focus': {\r\n boxShadow: 'none'\r\n }\r\n },\r\n buttonContainer: {\r\n marginTop: Tokens.spacing50\r\n },\r\n buttonsContainerMovil: {\r\n marginRight: Tokens.spacing50\r\n },\r\n buttonStep: {\r\n marginRight: Tokens.spacing40\r\n },\r\n cardRoot: {\r\n [theme.breakpoints.up('sm')]: {\r\n marginTop: Tokens.spacing80\r\n }\r\n },\r\n fieldContainer: {\r\n marginTop: Tokens.spacing30\r\n },\r\n footerPadding: {\r\n padding: `${Tokens.spacing50} ${Tokens.spacing50} 0 ${Tokens.spacing50}`,\r\n textAlign: 'center'\r\n },\r\n inline: {\r\n display: 'inline'\r\n },\r\n marginLeft: {\r\n display: 'inline',\r\n marginLeft: Tokens.sizingSmall\r\n },\r\n mobileStepperContent: {\r\n minHeight: '65vh',\r\n padding: `${Tokens.spacing40} ${Tokens.spacing40} 0 ${Tokens.spacing40}`\r\n },\r\n saveButtonMargin: {\r\n marginLeft: Tokens.sizingSmall,\r\n marginRight: Tokens.sizingSmall\r\n },\r\n saveFooter: {\r\n textAlign: 'center'\r\n },\r\n stepperDesktop: {\r\n padding: `${Tokens.spacing50} ${Tokens.spacing50} 0 ${Tokens.spacing50}`\r\n }\r\n});\r\n\r\ntype PropsWithStyles = IApplicationHandlerProps & WithStyles;\r\n// #endregion\r\n\r\n// #region Component\r\n\r\nconst ApplicationHandler: React.FC = (props: PropsWithStyles): JSX.Element => {\r\n const {\r\n activeStep,\r\n classes,\r\n components,\r\n dateTimeCulture,\r\n errors,\r\n expanded,\r\n failedPayment,\r\n firstDayOfWeek,\r\n governmentIdFormat,\r\n paymentTransaction,\r\n saveMessage,\r\n shortDatePattern,\r\n showSaveButton,\r\n successPayment,\r\n\r\n onAddMore,\r\n onBackStep,\r\n onClickSave,\r\n onClickStep,\r\n onChangeCheckBox,\r\n onChangeDateTimeField,\r\n onChangeDropDown,\r\n onChangeExpansionPanel,\r\n onChangeListCheckbox,\r\n onChangeRadioGroup,\r\n onChangeTextField,\r\n onClickButton,\r\n onCloseFailedPayment,\r\n onDeleteItem,\r\n onNextStep,\r\n onSubmit,\r\n\r\n resources\r\n } = props;\r\n\r\n const noContent: JSX.Element = (\r\n \r\n );\r\n\r\n let content: IApplicationContent[] = [];\r\n if (components && components.steps && components.steps.length > 0) {\r\n content = Array(components.steps.length);\r\n components.steps.forEach((step, i) => {\r\n const fieldsGroupsElements: JSX.Element[] = [];\r\n if (step.fieldsGroups && step.fieldsGroups.length > 0) {\r\n step.fieldsGroups.forEach((fieldGroup, j) => {\r\n fieldsGroupsElements.push(\r\n \r\n );\r\n });\r\n }\r\n\r\n content[i] = {\r\n content: (\r\n \r\n \r\n {fieldsGroupsElements}\r\n \r\n ),\r\n instructions: step.instructions,\r\n title: step.title\r\n };\r\n });\r\n }\r\n\r\n const fieldsGroupsModal: JSX.Element[] = [];\r\n const footer: JSX.Element[] = [];\r\n if (components && components.fieldsGroups) {\r\n if (components.fieldsGroups.length > 0) {\r\n // Confirmation Dialog\r\n if (components.isCompletedApplication) {\r\n let confirmationGroup: IFieldsGroup | undefined;\r\n const confirmationIndex: number =\r\n components.fieldsGroups.findIndex(x => x.id === 'confirmationGroup');\r\n if (confirmationIndex > -1) {\r\n confirmationGroup = components.fieldsGroups[confirmationIndex];\r\n }\r\n\r\n fieldsGroupsModal.push(\r\n \r\n );\r\n }\r\n // Footer\r\n let footerGroup: IFieldsGroup | undefined;\r\n const footerGroupIndex: number =\r\n components.fieldsGroups.findIndex(x => x.id === 'footerGroup');\r\n if (footerGroupIndex > -1) {\r\n footerGroup = components.fieldsGroups[footerGroupIndex];\r\n }\r\n if (footerGroup) {\r\n footer.push(\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n {content.length > 0 ? (\r\n \r\n {(matches: boolean): JSX.Element => matches ? (\r\n \r\n {resources.lblNext}\r\n \r\n )\r\n }\r\n backButton={\r\n (\r\n \r\n {resources.lblBack}\r\n \r\n )\r\n }\r\n >\r\n
\r\n \r\n <>\r\n {components ? (\r\n <>\r\n {components.name || ''}\r\n {components.enableOnlinePayment\r\n && components.feeAmount ?\r\n (\r\n \r\n {Format.toString(components.isFlatFee\r\n ? resources.formatHasFee\r\n : resources.formatHasFees,\r\n [components.feeAmount])}\r\n \r\n )\r\n : undefined}\r\n \r\n ) : undefined}\r\n \r\n \r\n\r\n {activeStep !== content.length ? (\r\n <>\r\n \r\n \r\n {content[activeStep].title}\r\n \r\n \r\n {content[activeStep].content}\r\n \r\n ) : (\r\n <>\r\n \r\n {content.map((step, i) => (\r\n \r\n \r\n \r\n {step.title}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {resources.lblSubmit}\r\n \r\n \r\n )\r\n }\r\n
\r\n \r\n ) : (\r\n <>\r\n {components ? (\r\n \r\n \r\n \r\n {components.name || ''}\r\n \r\n {components.enableOnlinePayment\r\n && components.feeAmount ?\r\n (\r\n \r\n {Format.toString(components.isFlatFee\r\n ? resources.formatHasFee\r\n : resources.formatHasFees, [components.feeAmount])}\r\n \r\n )\r\n : undefined}\r\n \r\n \r\n \r\n ) : undefined}\r\n \r\n {content.map((step, i) => (\r\n \r\n \r\n \r\n {step.title}\r\n \r\n \r\n \r\n {step.content}\r\n \r\n \r\n \r\n \r\n {resources.lblBack}\r\n \r\n \r\n {activeStep === content.length - 1\r\n ? resources.lblSubmit\r\n : resources.lblNext}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n }\r\n
\r\n ) : noContent}\r\n {showSaveButton && onClickSave ?\r\n (\r\n
\r\n
\r\n \r\n \r\n {saveMessage}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {resources.lblSave}\r\n
\r\n \r\n
\r\n
\r\n )\r\n : undefined\r\n }\r\n
\r\n {footer}\r\n
\r\n {fieldsGroupsModal}\r\n
\r\n \r\n \r\n );\r\n};\r\n// #endregion\r\n\r\n// Export: Component\r\nexport default withStyles(styles)(ApplicationHandler);","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n * File: ETSSearchModal.tsx\r\n * Type: Presentation component */\r\n\r\n// #region Imports\r\nimport React from 'react';\r\n\r\n// Core components\r\nimport Button, { ButtonGroup } from '@hedtech/powercampus-design-system/react/core/Button';\r\nimport Dropdown from '@hedtech/powercampus-design-system/react/core/Dropdown';\r\nimport Grid from '@hedtech/powercampus-design-system/react/core/Grid';\r\nimport Link from '@hedtech/powercampus-design-system/react/core/Link';\r\nimport Modal from '@hedtech/powercampus-design-system/react/core/Modal';\r\nimport Pagination from '@hedtech/powercampus-design-system/react/core/Pagination';\r\nimport Table, { TableBody, TableCell, TableHead, TableRow } from '@hedtech/powercampus-design-system/react/core/Table';\r\nimport TextField from '@hedtech/powercampus-design-system/react/core/TextField';\r\n\r\n// Types\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IInstitution } from '../../../Types/Applications/IInstitution';\r\nimport { IETSSearchModal } from '../../../Types/Resources/Admissions/IApplicationFormResources';\r\n\r\n// #endregion\r\n\r\n// #region Internal types\r\nexport interface IETSSearchModalProps {\r\n city?: string;\r\n countries: IDropDownOption[];\r\n country?: number;\r\n etsCode?: string;\r\n institutionName?: string;\r\n institutions?: IInstitution[];\r\n open: boolean;\r\n pageNumber: number;\r\n pageSize: number;\r\n rowsPerPageOptions: number[];\r\n state?: number;\r\n states: IDropDownOption[];\r\n totalInstitutions: number;\r\n\r\n // events\r\n onChangeDropDownETSSearch?: (optionSelected: IDropDownOption, id: string) => void;\r\n onChangePage: (event: any, page: number) => void;\r\n onChangeRowsPerPage: (event: any) => void;\r\n onChangeTextFieldETSSearch?: (event: any) => void;\r\n onClear: () => void;\r\n onClickLink: (institutionName?: string, etsCode?: string, ficeCode?: string,\r\n city?: string, stateProvinceId?: number, countryId?: number) => void;\r\n onClose: () => void;\r\n onSearch: () => void;\r\n\r\n // resources\r\n resources: IETSSearchModal;\r\n}\r\n// #endregion\r\n\r\n// #region Component\r\nconst ETSSearchModal: React.FC = (props: IETSSearchModalProps): JSX.Element => {\r\n const {\r\n city,\r\n countries,\r\n country,\r\n etsCode,\r\n institutionName,\r\n institutions,\r\n open,\r\n pageNumber,\r\n pageSize,\r\n rowsPerPageOptions,\r\n state,\r\n states,\r\n totalInstitutions,\r\n\r\n // events\r\n onChangeDropDownETSSearch,\r\n onChangePage,\r\n onChangeRowsPerPage,\r\n onChangeTextFieldETSSearch,\r\n onClear,\r\n onClickLink,\r\n onClose,\r\n onSearch,\r\n\r\n // resources\r\n resources\r\n } = props;\r\n\r\n const emptyOptionState: IDropDownOption = {\r\n description: resources.lblEmptyOptionState,\r\n value: ''\r\n };\r\n\r\n const emptyOptionCountry: IDropDownOption = {\r\n description: resources.lblEmptyOptionCountry,\r\n value: ''\r\n };\r\n\r\n const footerModal: JSX.Element = (\r\n \r\n \r\n {resources.btnSearch}\r\n \r\n \r\n {resources.btnClear}\r\n \r\n \r\n );\r\n\r\n let tableInstitutions: JSX.Element | undefined;\r\n if (institutions && institutions.length > 0) {\r\n tableInstitutions = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {resources.lblInstitutionName}\r\n \r\n \r\n {resources.lblETSCode}\r\n \r\n \r\n {resources.lblFICECode}\r\n \r\n \r\n {resources.lblCity}\r\n \r\n \r\n {resources.lblState}\r\n \r\n \r\n {resources.lblCountry}\r\n \r\n \r\n \r\n \r\n {\r\n institutions.map(\r\n (row, i) => (\r\n \r\n \r\n \r\n \r\n {row.name}\r\n \r\n \r\n \r\n \r\n \r\n {row.etsCode}\r\n \r\n \r\n \r\n \r\n {row.ficeCode}\r\n \r\n \r\n \r\n \r\n {row.city}\r\n \r\n \r\n \r\n \r\n {row.stateDesc}\r\n \r\n \r\n \r\n \r\n {row.countryDesc}\r\n \r\n \r\n \r\n )\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let paginationComponent: JSX.Element | undefined;\r\n if (institutions && institutions.length > 0) {\r\n paginationComponent = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let bodyModal: JSX.Element;\r\n bodyModal = (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {footerModal}\r\n \r\n
\r\n
\r\n {tableInstitutions}\r\n {paginationComponent}\r\n \r\n );\r\n\r\n return (\r\n \r\n {bodyModal}\r\n \r\n );\r\n};\r\n// #endregion\r\n\r\n// Export: Component\r\nexport default ETSSearchModal;","/* Copyright 2019 Ellucian Company L.P. and its affiliates.\r\n* File: InquiryForm.ts */\r\n\r\n// Types\r\nimport { ILogData } from '@hedtech/powercampus-design-system/types/ILogData';\r\nimport { IInquiry } from '../../Types/Inquiries/IInquiry';\r\n\r\n// Helpers\r\nimport Request from '@hedtech/powercampus-design-system/helpers/Request';\r\n\r\n// Functions for requests\r\nconst InquiryFormRequests = {\r\n // #region Addresses\r\n getAddresses(startIndex: number, length: number, zipCode?: string, resolver?: (json: string) => void,\r\n resolveError?: (logData: ILogData) => void): void {\r\n Request.post(this.getAddresses.name, '/Address',\r\n {\r\n length,\r\n startIndex,\r\n zipCode\r\n },\r\n resolver, resolveError);\r\n },\r\n // #endregion Addresses\r\n\r\n // #region ApplicationHandler\r\n getComponents(id: number, resolver: (json: string) => void, resolveError: (logData: ILogData) => void): void {\r\n Request.post(this.getComponents.name, '/Forms/Details',\r\n {\r\n id: id,\r\n type: 1\r\n },\r\n resolver, resolveError);\r\n },\r\n // #endregion\r\n\r\n // #region TestScores\r\n getChildOptions(url: string, id: number, step: string, group: string, targetId: string, isApplicationForm: boolean,\r\n resolver: (json: string) => void, resolveError: (logData: ILogData) => void,\r\n formId?: number): void {\r\n if (!formId) {\r\n Request.post(this.getChildOptions.name, `/${url}`, {\r\n group,\r\n id,\r\n step,\r\n targetId\r\n }, resolver, resolveError);\r\n }\r\n else {\r\n Request.post(this.getChildOptions.name, `/${url}`, {\r\n formId,\r\n group,\r\n id,\r\n step,\r\n targetId,\r\n isApplicationForm\r\n }, resolver, resolveError);\r\n }\r\n },\r\n getValidateScoreType(\r\n applicationId: number,\r\n test: any,\r\n group: string,\r\n componentId: string,\r\n resolver: (json: string) => void,\r\n resolveError: (logData: ILogData) => void): void {\r\n Request.post(this.getValidateScoreType.name,\r\n '/TestScores/ScoreType',\r\n { formId: applicationId, testId: test, group, componentId },\r\n resolver,\r\n resolveError);\r\n },\r\n // #endregion\r\n\r\n // #region Institutions\r\n getCountries(resolver: (json: string) => void, resolveError: (logData: ILogData) => void): void {\r\n Request.get(this.getCountries.name, '/Institutions/Countries', resolver, resolveError);\r\n },\r\n getStates(resolver: (json: string) => void, resolveError: (logData: ILogData) => void): void {\r\n Request.get(this.getCountries.name, '/Institutions/States', resolver, resolveError);\r\n },\r\n getInstitutions(startIndex: number, length: number, institutionName?: string, etsCode?: string,\r\n city?: string, stateId?: number, countryId?: number, resolver?: (json: string) => void,\r\n resolveError?: (logData: ILogData) => void): void {\r\n Request.post(this.getInstitutions.name, '/Institutions',\r\n {\r\n length,\r\n startIndex,\r\n institution: {\r\n city,\r\n countryId,\r\n etsCode,\r\n name: institutionName,\r\n stateProvinceId: stateId\r\n }\r\n },\r\n resolver, resolveError);\r\n },\r\n // #endregion\r\n\r\n // #region InquiryForm\r\n postSubmit(inquiry: IInquiry, resolver: (json: string) => void, resolveError: (logData: ILogData) => void): void {\r\n Request.post(this.postSubmit.name, '/Inquiries/Create', inquiry, resolver, resolveError);\r\n }\r\n // #endregion\r\n};\r\n\r\n// Export object with the requests\r\nexport default InquiryFormRequests;","/* Copyright 2019 - 2021 Ellucian Company L.P. and its affiliates.\r\n * File: InquiryFormView.tsx\r\n * Type: Container component */\r\n\r\n// #region Imports\r\nimport moment from 'moment';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\n// Core components\r\nimport Layout, { withLayout } from '@hedtech/powercampus-design-system/react/components/Layout';\r\n\r\n// Internal Components\r\nimport AddressSearchModal from '../ApplicationForm/AddressSearchModal';\r\nimport ApplicationHandler from '../ApplicationForm/ApplicationHandler';\r\nimport ETSSearchModal from '../ApplicationForm/ETSSearchModal';\r\n\r\n// Types\r\nimport { ICultures } from '@hedtech/powercampus-design-system/types/ICultures';\r\nimport { IDropDownOption } from '@hedtech/powercampus-design-system/types/IDropDownOption';\r\nimport { IJsonResult } from '@hedtech/powercampus-design-system/types/IJsonResult';\r\nimport { ILogData } from '@hedtech/powercampus-design-system/types/ILogData';\r\nimport { IAddress } from '../../../Types/Account/IAddress';\r\nimport { IApplicationActivity } from '../../../Types/Applications/IApplicationActivity';\r\nimport { IApplicationAddress } from '../../../Types/Applications/IApplicationAddress';\r\nimport { IApplicationEducation } from '../../../Types/Applications/IApplicationEducation';\r\nimport { IApplicationErrors } from '../../../Types/Applications/IApplicationErrors';\r\nimport { IGroupErrors } from '../../../Types/Applications/IApplicationErrors';\r\nimport { IApplicationIpeds } from '../../../Types/Applications/IApplicationIpeds';\r\nimport { IApplicationPhoneList } from '../../../Types/Applications/IApplicationPhoneList';\r\nimport { IApplicationProgram } from '../../../Types/Applications/IApplicationProgram';\r\nimport { IApplicationUserDefined } from '../../../Types/Applications/IApplicationUserDefined';\r\nimport { IInstitution } from '../../../Types/Applications/IInstitution';\r\nimport { IApplicationForm } from '../../../Types/Form/IApplicationForm';\r\nimport { IDataForm } from '../../../Types/Form/IDataForm';\r\nimport { IFieldForm } from '../../../Types/Form/IFieldForm';\r\nimport { IFieldsGroup } from '../../../Types/Form/IFieldsGroup';\r\nimport { IInquiry } from '../../../Types/Inquiries/IInquiry';\r\nimport { IInquiryFormResources } from '../../../Types/Resources/Admissions/IInquiryFormResources';\r\n\r\n// Helpers\r\nimport Format from '@hedtech/powercampus-design-system/helpers/Format';\r\nimport LogData from '@hedtech/powercampus-design-system/helpers/LogData';\r\nimport Resolver from '@hedtech/powercampus-design-system/helpers/Resolver';\r\n\r\n// Constants\r\nimport Constants from '@hedtech/powercampus-design-system/helpers/Constants';\r\n\r\n// Requests\r\nimport RequestsInquiry from '../../../Requests/Admissions/InquiryForm';\r\n\r\n// State Management\r\nimport LayoutActions from '@hedtech/powercampus-design-system/flux/actions/LayoutActions';\r\nimport LayoutStore from '@hedtech/powercampus-design-system/flux/stores/LayoutStore';\r\n// #endregion Imports\r\n\r\n// #region Types\r\n\r\ninterface IInquiryFormState {\r\n // Address\r\n addressessCount: number;\r\n\r\n // Address Search Modal\r\n addresses?: IAddress[];\r\n openAddressSearchModal: boolean;\r\n selectedZipCode?: string;\r\n\r\n // Inquiry\r\n activeStep: number;\r\n components?: IApplicationForm;\r\n componentError: boolean;\r\n cultures: ICultures;\r\n dateTimeCulture: string;\r\n errors: IApplicationErrors[];\r\n expanded: boolean | string;\r\n expansionPanelHeaders: string[];\r\n firstDayOfWeek: number;\r\n inquiry: IInquiry;\r\n resources?: IInquiryFormResources;\r\n rowsPerPageOptions: number[];\r\n shortDatePattern: string;\r\n\r\n // Education Information\r\n educationCount: number;\r\n\r\n // ETS Search Modal\r\n countries?: IDropDownOption[];\r\n institutions?: IInstitution[];\r\n openETSSearchModal: boolean;\r\n selectedCity?: string;\r\n selectedCountry?: number;\r\n selectedEtsCode?: string;\r\n selectedFieldId?: string;\r\n selectedInstitutionName?: string;\r\n selectedState?: number;\r\n states?: IDropDownOption[];\r\n pageNumber: number;\r\n pageSize: number;\r\n total: number;\r\n\r\n // Phone\r\n phoneCount: number;\r\n\r\n // Programs\r\n programsCount: number;\r\n\r\n // Activities\r\n activityCount: number;\r\n}\r\n// #endregion Types\r\n\r\n// #region Component\r\nclass InquiryFormView extends React.Component {\r\n private idMainPage: string;\r\n private idModule: string;\r\n private idPage: string;\r\n\r\n public readonly state: Readonly;\r\n\r\n public constructor(props) {\r\n super(props);\r\n\r\n // #region Initialize Variables and State\r\n this.idMainPage = 'Inquiries';\r\n this.idModule = 'Admissions';\r\n this.idPage = 'InquiryForm';\r\n this.state = this.getInitialState();\r\n // #endregion Initialize Variables and State\r\n\r\n // #region Bind State Management Listeners\r\n LayoutStore.addLayoutReadyListener(this.onLayoutReady);\r\n // #endregion State Management Listeners\r\n }\r\n\r\n private getInitialState(): IInquiryFormState {\r\n let resources: IInquiryFormResources | undefined;\r\n if (this.state) {\r\n resources = this.state.resources;\r\n }\r\n\r\n const cultures: ICultures = LayoutStore.getCultures();\r\n\r\n return {\r\n activeStep: 0,\r\n activityCount: 0,\r\n addresses: [],\r\n addressessCount: 0,\r\n componentError: false,\r\n components: undefined,\r\n cultures: LayoutStore.getCultures(),\r\n dateTimeCulture: cultures.dateTimeCulture,\r\n educationCount: 0,\r\n errors: [],\r\n expanded: false,\r\n expansionPanelHeaders: [],\r\n firstDayOfWeek: cultures.firstDayOfWeek,\r\n inquiry: {\r\n addresses: [],\r\n education: [],\r\n phones: [],\r\n userDefined: []\r\n },\r\n institutions: [],\r\n openAddressSearchModal: false,\r\n openETSSearchModal: false,\r\n pageNumber: 0,\r\n pageSize: 5,\r\n phoneCount: 0,\r\n programsCount: 0,\r\n resources: resources,\r\n rowsPerPageOptions: [5, 10, 15, 20, 25, 50],\r\n shortDatePattern: cultures.shortDatePattern,\r\n total: 0\r\n };\r\n }\r\n\r\n // #region Events\r\n\r\n private onAddMore = (fieldGroup: IFieldsGroup, stepIndex: number, fieldGroupIndex: number): void => {\r\n try {\r\n if (fieldGroup.id && fieldGroup.id !== '') {\r\n const {\r\n activityCount,\r\n addressessCount,\r\n components,\r\n educationCount,\r\n errors,\r\n expanded,\r\n phoneCount,\r\n programsCount\r\n } = this.state;\r\n\r\n switch (fieldGroup.id) {\r\n case 'programOfStudyGroup':\r\n if (components) {\r\n this.createNewSection(components, fieldGroup, errors, stepIndex,\r\n fieldGroupIndex, programsCount, 'programOfStudydErrorsId', expanded);\r\n\r\n this.setState({\r\n programsCount: programsCount + 1\r\n });\r\n }\r\n break;\r\n case 'phoneGroup':\r\n if (components) {\r\n this.createNewSection(components, fieldGroup, errors, stepIndex,\r\n fieldGroupIndex, phoneCount, 'phoneErrorsId', expanded);\r\n\r\n this.setState({\r\n phoneCount: phoneCount + 1\r\n });\r\n }\r\n break;\r\n case 'addressInformationGroup':\r\n if (components) {\r\n // Error id is not sent because errorId for this group will be excluded\r\n this.createNewSection(components, fieldGroup, errors, stepIndex,\r\n fieldGroupIndex, addressessCount, '', expanded);\r\n\r\n this.setState({\r\n addressessCount: addressessCount + 1\r\n });\r\n }\r\n break;\r\n case 'educationGroup':\r\n if (components) {\r\n // Error id is not sent because errorId for this group will be excluded\r\n this.createNewSection(components, fieldGroup, errors, stepIndex,\r\n fieldGroupIndex, educationCount, '', expanded);\r\n\r\n this.setState({\r\n educationCount: educationCount + 1\r\n });\r\n }\r\n break;\r\n case 'activityGroup':\r\n if (components) {\r\n const initialGroupLength: number = fieldGroup.fields.length;\r\n\r\n // Error id is not sent because errorId for this group will be excluded\r\n this.createNewSection(components, fieldGroup, errors, stepIndex,\r\n fieldGroupIndex, activityCount, '', expanded);\r\n\r\n const finalGroupLength: number = fieldGroup.fields.length;\r\n const newSet: IFieldForm[] = fieldGroup.fields.slice(initialGroupLength, finalGroupLength);\r\n const parentDropDown: IFieldForm = newSet[newSet.findIndex(e => e.childField !== null)];\r\n const childDropDown: IFieldForm = newSet[newSet.findIndex(e => e.data.id.split('|')[0] === parentDropDown.childField)];\r\n childDropDown.data.options = [];\r\n parentDropDown.childField = childDropDown.data.id;\r\n\r\n this.setState({\r\n activityCount: activityCount + 1\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onAddMore.name, e));\r\n }\r\n };\r\n\r\n private onAddDeleteButton = (fieldGroup: IFieldsGroup, stepIndex: number, fieldGroupIndex:\r\n number, groupLength: number, sectionNumber: number): void => {\r\n try {\r\n const data: IDataForm = {\r\n id: `deleteIcon|${stepIndex}|${fieldGroupIndex}|${groupLength}|${sectionNumber}`,\r\n modified: true,\r\n section: sectionNumber\r\n };\r\n\r\n const deleteButton: IFieldForm = {\r\n componentType: 'DeleteIconButton',\r\n data: data,\r\n isNumeric: false,\r\n isRequired: false,\r\n onClick: this.onDeleteItem,\r\n value: ''\r\n };\r\n\r\n fieldGroup.fields.push(deleteButton);\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onAddDeleteButton.name, e));\r\n }\r\n };\r\n\r\n private onBackStep = (): void => {\r\n try {\r\n const {\r\n activeStep\r\n } = this.state;\r\n\r\n this.setState({\r\n activeStep: activeStep - 1\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onBackStep.name, e));\r\n }\r\n };\r\n\r\n private onClickStep = (event: React.MouseEvent) => {\r\n try {\r\n\r\n const steps: string[] = event.currentTarget.id.split('|');\r\n this.setState({\r\n activeStep: Number(steps[1])\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onClickStep.name, e));\r\n }\r\n };\r\n\r\n private onChangeCheckBox = (event: any): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (inquiry && components) {\r\n const inq: IInquiry = inquiry;\r\n const fieldId: string[] = event.target.id.split('|');\r\n const newComponents: IApplicationForm = components;\r\n const value: boolean = Boolean(event.target.checked);\r\n const evaluateAppJs = eval;\r\n\r\n switch (fieldId[0]) {\r\n case 'extraCurricularActivityId':\r\n inq.isInterestedInExtracurricular = value;\r\n break;\r\n case 'financialAidId':\r\n inq.isInterestedInFinancialAid = value;\r\n break;\r\n case 'retiredId':\r\n inq.isRetired = value;\r\n break;\r\n case 'seekingDegreeId':\r\n inq.isSeekingDegree = value;\r\n break;\r\n case 'policyCheckboxId':\r\n inq.policy = value;\r\n break;\r\n case 'criminalConvictionsId':\r\n inq.isCriminalConviction = value;\r\n break;\r\n }\r\n if (fieldId.length < 5) {\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3]) {\r\n const field: IFieldForm = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n\r\n if (field.isUserDefined && field.customScript) {\r\n if (value) {\r\n field.value = evaluateAppJs(field.customScript);\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n else {\r\n field.value = NaN;\r\n }\r\n }\r\n else {\r\n field.value = value ? value : undefined;\r\n }\r\n }\r\n }\r\n else {\r\n const field: IFieldForm | undefined =\r\n components.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].\r\n fields.find(x =>\r\n x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, fieldId[0].length) === fieldId[0]);\r\n if (field) {\r\n field.value = value;\r\n }\r\n }\r\n\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeCheckBox.name, e));\r\n }\r\n };\r\n\r\n private onChangeDateTimeField = (date: string, id: string, isValid: boolean): void => {\r\n try {\r\n const {\r\n components,\r\n cultures,\r\n inquiry,\r\n resources\r\n } = this.state;\r\n\r\n if (id && id !== '' && inquiry && components) {\r\n const inq: IInquiry = inquiry;\r\n const fieldId: string[] = id.split('|');\r\n let newComponents: IApplicationForm = components;\r\n const field = newComponents.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].\r\n fields[Number(fieldId[3])];\r\n\r\n const dateMinFormat: string =\r\n moment().add(-100, 'years').format(cultures.shortDatePattern.toUpperCase());\r\n const dateMaxFormat: string =\r\n moment().add(100, 'years').format(cultures.shortDatePattern.toUpperCase());\r\n\r\n switch (fieldId[0]) {\r\n case 'dateOfEntryId':\r\n inq.dateOfEntry = date;\r\n newComponents = this.setValues(fieldId, newComponents, date);\r\n if (isValid) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n }\r\n else {\r\n if (date) {\r\n field.data.error = true;\r\n if (resources) {\r\n field.data.helperText =\r\n Format.toString(resources.formatDateOutOfRange, [dateMinFormat, dateMaxFormat]);\r\n }\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n }\r\n break;\r\n case 'dateOfBirthId':\r\n inq.dateOfBirth = date;\r\n newComponents = this.setValues(fieldId, newComponents, date);\r\n if (isValid) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n }\r\n else {\r\n if (date) {\r\n field.data.error = true;\r\n if (resources) {\r\n field.data.helperText =\r\n Format.toString(resources.formatDateOutOfRange, [dateMinFormat, dateMaxFormat]);\r\n }\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n }\r\n break;\r\n case 'visaExpirationDateId':\r\n inq.visaExpiration = date;\r\n newComponents = this.setValues(fieldId, newComponents, date);\r\n if (isValid) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n }\r\n else {\r\n if (date) {\r\n field.data.error = true;\r\n if (resources) {\r\n field.data.helperText =\r\n Format.toString(resources.formatDateOutOfRange, [dateMinFormat, dateMaxFormat]);\r\n }\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n }\r\n break;\r\n case 'passportExpirationDateId':\r\n inq.passportExpiration = date;\r\n newComponents = this.setValues(fieldId, newComponents, date);\r\n if (isValid) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n }\r\n else {\r\n if (date) {\r\n field.data.error = true;\r\n if (resources) {\r\n field.data.helperText =\r\n Format.toString(resources.formatDateOutOfRange, [dateMinFormat, dateMaxFormat]);\r\n }\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n }\r\n break;\r\n default:\r\n newComponents = this.setValues(fieldId, newComponents, date);\r\n if (isValid) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n }\r\n else {\r\n if (date) {\r\n field.data.error = true;\r\n if (resources) {\r\n field.data.helperText =\r\n Format.toString(resources.formatDateOutOfRange, [dateMinFormat, dateMaxFormat]);\r\n }\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n\r\n }\r\n\r\n } catch (e) {\r\n this.logError(LogData.fromException(this.onChangeDateTimeField.name, e));\r\n }\r\n };\r\n\r\n private onChangeDropDown = (optionSelected: IDropDownOption, id: string): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (id && id !== '' && inquiry && components) {\r\n const inq: IInquiry = inquiry;\r\n const fieldId: string[] = id.split('|');\r\n\r\n let valueSelected: any | undefined;\r\n if (optionSelected.value) {\r\n switch (typeof optionSelected.value) {\r\n case 'string':\r\n valueSelected = String(optionSelected.value);\r\n break;\r\n case 'number':\r\n valueSelected = Number(optionSelected.value);\r\n break;\r\n default:\r\n valueSelected = optionSelected.value;\r\n break;\r\n }\r\n }\r\n\r\n switch (fieldId[0]) {\r\n case 'sessionPeriodId':\r\n const selectedPeriod = optionSelected.description.split('/');\r\n if (selectedPeriod.length === 1) {\r\n inquiry.academicYear = Number(optionSelected.value);\r\n }\r\n if (selectedPeriod.length === 2) {\r\n inquiry.termPeriodId = Number(optionSelected.value);\r\n }\r\n if (selectedPeriod.length === 3) {\r\n inquiry.sessionPeriodId = Number(optionSelected.value);\r\n }\r\n break;\r\n case 'hispanicGroupId':\r\n if (components) {\r\n // Get fieldsGroup\r\n const fieldsGroup: IFieldForm[] =\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n // Get checkBoxList hispanicCheckboxListId index\r\n let checkBoxListIndex: number = -1;\r\n fieldsGroup.forEach((field, i) => {\r\n if (field.data.id.substr(0, 'hispanicCheckboxListId'.length) === 'hispanicCheckboxListId') {\r\n checkBoxListIndex = i;\r\n }\r\n });\r\n // Get checkBoxList hispanicCheckboxListId\r\n const checkBoxListField: IFieldForm =\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[checkBoxListIndex];\r\n let ipedsList: IApplicationIpeds[] | undefined = inq.ipeds;\r\n if (valueSelected === '1') {\r\n if (checkBoxListField) {\r\n // Add category in list\r\n const ipeds: IApplicationIpeds = { ipedsEthnicityId: undefined, ipedsFederalCategoryId: 1 };\r\n if (ipedsList) {\r\n const ipedIndex: number =\r\n ipedsList.findIndex(x => x.ipedsFederalCategoryId === 1);\r\n // Category was not found, add category\r\n if (ipedIndex === -1) {\r\n ipedsList.push(ipeds);\r\n }\r\n }\r\n // ipedsList was undefined so add a new item with category\r\n else {\r\n ipedsList = [ipeds];\r\n }\r\n checkBoxListField.value = undefined;\r\n }\r\n }\r\n if (valueSelected === '0') {\r\n if (checkBoxListField) {\r\n if (ipedsList && ipedsList.length > 0) {\r\n let index: number = -1;\r\n do {\r\n index = ipedsList.findIndex(x => x.ipedsFederalCategoryId === 1);\r\n if (index > -1) {\r\n ipedsList.splice(index, 1);\r\n }\r\n } while (index > -1);\r\n }\r\n checkBoxListField.value = undefined;\r\n }\r\n }\r\n if (valueSelected === undefined) {\r\n if (checkBoxListField) {\r\n if (ipedsList && ipedsList.length > 0) {\r\n let index: number = ipedsList.length;\r\n do {\r\n ipedsList.splice(index, 1);\r\n index--;\r\n } while (ipedsList.length > 0);\r\n }\r\n checkBoxListField.value = undefined;\r\n }\r\n }\r\n inq.ipeds = ipedsList;\r\n this.setState({\r\n components: components,\r\n inquiry: inq\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n let newComponents: IApplicationForm = components;\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3]) {\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n newComponents = this.setValues(fieldId, newComponents, valueSelected);\r\n\r\n const fieldGroup: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])];\r\n\r\n const sectionFields: any = fieldGroup.fields.filter(x => (x.data.id.split('|')[4] || '') === (fieldId[4] || ''));\r\n\r\n sectionFields.forEach(field => {\r\n if (fieldId[0] === 'activityTypeId' && field.childField && valueSelected && valueSelected !== '' &&\r\n Number(valueSelected) > 0) {\r\n RequestsInquiry.getChildOptions(\r\n field.childEndPoint,\r\n valueSelected || 0,\r\n fieldId[1],\r\n fieldId[2],\r\n field.childField,\r\n false,\r\n this.resolveGetChildOptions,\r\n this.logError,\r\n Number(newComponents.applicationFormId));\r\n }\r\n });\r\n }\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeDropDown.name, e));\r\n }\r\n };\r\n\r\n private onChangeDropDownETSSearch = (optionSelected: IDropDownOption, id: string): void => {\r\n try {\r\n if (id && id !== '') {\r\n switch (id) {\r\n case 'ddlCountry':\r\n this.setState({\r\n selectedCountry: optionSelected.value === '' ? undefined :\r\n Number(optionSelected.value)\r\n });\r\n break;\r\n case 'ddlState':\r\n this.setState({\r\n selectedState: optionSelected.value === '' ? undefined :\r\n Number(optionSelected.value)\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeDropDownETSSearch.name, e));\r\n }\r\n };\r\n\r\n private onChangeExpansionPanel = (panelId: string) => (): void => {\r\n try {\r\n this.setState({\r\n expanded: panelId\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeExpansionPanel.name, e));\r\n }\r\n };\r\n\r\n private onChangeListCheckbox = (event: any): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n const fieldId: string[] = event.currentTarget.id.split('|');\r\n const inq: IInquiry = inquiry;\r\n\r\n if (inquiry && components) {\r\n const newComponents: IApplicationForm = components;\r\n const childField: string[] = event.target.id.split('|');\r\n if (childField[1] === 'noHispanicNestedCheckboxListId') {\r\n if (event.target.checked === true) {\r\n let ipedNew: IApplicationIpeds = { ipedsFederalCategoryId: 0 };\r\n let ipedIndex: number = -1;\r\n if (childField[0] === 'child') {\r\n ipedNew = {\r\n ipedsEthnicityId: Number(childField[7]),\r\n ipedsFederalCategoryId: Number(childField[6])\r\n };\r\n if (inq.ipeds) {\r\n ipedIndex = inq.ipeds.findIndex(x => x.ipedsEthnicityId === undefined &&\r\n x.ipedsFederalCategoryId === Number(childField[6]));\r\n }\r\n }\r\n else if (childField[0] === 'parent') {\r\n ipedNew = {\r\n ipedsEthnicityId: undefined,\r\n ipedsFederalCategoryId: Number(childField[6])\r\n };\r\n if (inq.ipeds) {\r\n ipedIndex =\r\n inq.ipeds.findIndex(x => x.ipedsFederalCategoryId ===\r\n Number(childField[6]));\r\n }\r\n }\r\n if (inq.ipeds) {\r\n if (ipedIndex > -1) {\r\n inq.ipeds[ipedIndex] = ipedNew;\r\n }\r\n else {\r\n inq.ipeds.push(ipedNew);\r\n }\r\n }\r\n else {\r\n inq.ipeds = [ipedNew];\r\n }\r\n }\r\n else {\r\n if (inq.ipeds) {\r\n if (childField[0] === 'child') {\r\n const itemToRemove: number =\r\n inq.ipeds.findIndex(x => x.ipedsEthnicityId === Number(childField[7]) &&\r\n x.ipedsFederalCategoryId === Number(childField[6]));\r\n inq.ipeds.splice(itemToRemove, 1);\r\n }\r\n else if (childField[0] === 'parent') {\r\n let index: number = -1;\r\n do {\r\n index = inq.ipeds.findIndex(x =>\r\n x.ipedsFederalCategoryId === Number(childField[6]));\r\n if (index > -1) {\r\n inq.ipeds.splice(index, 1);\r\n }\r\n } while (index > -1);\r\n }\r\n }\r\n }\r\n if (childField && childField[2] && childField[3] && childField[4]) {\r\n const field: IFieldForm =\r\n newComponents.steps[Number(childField[2])].\r\n fieldsGroups[Number(childField[3])].\r\n fields[Number(childField[4])];\r\n if (inq.ipeds && inq.ipeds.length === 0 && field.isRequired) {\r\n field.value = undefined;\r\n }\r\n else {\r\n // change value of field\r\n if (inq.ipeds) {\r\n field.value = undefined;\r\n inq.ipeds.forEach(iped => {\r\n if (iped.ipedsFederalCategoryId !== 1) {\r\n if (field.value) {\r\n field.value = field.value +\r\n `${iped.ipedsFederalCategoryId.toString()}$${iped.ipedsEthnicityId ?\r\n iped.ipedsEthnicityId.toString() : ''},`;\r\n }\r\n else {\r\n field.value =\r\n `${iped.ipedsFederalCategoryId.toString()}$${iped.ipedsEthnicityId ?\r\n iped.ipedsEthnicityId.toString() : ''},`;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // const newComponents: IApplicationForm = components;\r\n switch (fieldId[0]) {\r\n case 'interestId':\r\n if (inq.academicInterests) {\r\n const index: number = inq.academicInterests.findIndex(x => x === Number(fieldId[4]));\r\n if (event.target.checked === true) {\r\n inq.academicInterests.push(Number(fieldId[4]));\r\n }\r\n else {\r\n inq.academicInterests.splice(index, 1);\r\n }\r\n }\r\n else {\r\n if (event.target.checked === true) {\r\n inq.academicInterests = [Number(fieldId[4])];\r\n }\r\n }\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3] && fieldId[4]) {\r\n const field: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (inq.academicInterests && inq.academicInterests.length === 0 && field.isRequired) {\r\n field.value = undefined;\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n else {\r\n if (inq.academicInterests) {\r\n field.value = inq.academicInterests.toString();\r\n }\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n }\r\n break;\r\n case 'sourceId':\r\n if (inq.sources) {\r\n const index: number = inq.sources.findIndex(x => x === Number(fieldId[4]));\r\n if (event.target.checked === true) {\r\n inq.sources.push(Number(fieldId[4]));\r\n }\r\n else {\r\n inq.sources.splice(index, 1);\r\n }\r\n }\r\n else {\r\n if (event.target.checked === true) {\r\n inq.sources = [Number(fieldId[4])];\r\n }\r\n }\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3] && fieldId[4]) {\r\n const field: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (inq.sources && inq.sources.length === 0 && field.isRequired) {\r\n field.value = undefined;\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n }\r\n else {\r\n if (inq.sources) {\r\n field.value = inq.sources.toString();\r\n }\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n }\r\n break;\r\n case 'hispanicCheckboxListId':\r\n const ipedNew: IApplicationIpeds = {\r\n ipedsEthnicityId: Number(fieldId[4]),\r\n ipedsFederalCategoryId: 1\r\n };\r\n if (inq.ipeds) {\r\n const ipedIndex: number = inq.ipeds.findIndex(x => x.ipedsEthnicityId === undefined &&\r\n x.ipedsFederalCategoryId === 1);\r\n if (event.target.checked === true) {\r\n // when exists category 1 and null, record should be updated\r\n if (ipedIndex > -1) {\r\n inq.ipeds[ipedIndex] = ipedNew;\r\n }\r\n else {\r\n inq.ipeds.push(ipedNew);\r\n }\r\n }\r\n else {\r\n // remove item from list\r\n const itemToRemove: number =\r\n inq.ipeds.findIndex(x => x.ipedsEthnicityId === Number(fieldId[4]) &&\r\n x.ipedsFederalCategoryId === 1);\r\n inq.ipeds.splice(itemToRemove, 1);\r\n }\r\n }\r\n else {\r\n inq.ipeds = [ipedNew];\r\n }\r\n // Select yes in radio buttons\r\n newComponents.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].fields.forEach(field => {\r\n if (field.data.id === 'hispanicGroupId') {\r\n field.value = '1';\r\n }\r\n });\r\n // Add in the list of value id's selected\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3] && fieldId[4]) {\r\n const field: IFieldForm =\r\n newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (inq.ipeds && inq.ipeds.length === 0 && field.isRequired) {\r\n field.value = undefined;\r\n }\r\n else {\r\n // change value of field\r\n if (inq.ipeds) {\r\n const ipedsArray: string[] = [];\r\n inq.ipeds.forEach(ethnicity => {\r\n if (ethnicity.ipedsFederalCategoryId === 1) {\r\n if (ethnicity.ipedsEthnicityId) {\r\n ipedsArray.push(ethnicity.ipedsEthnicityId.toString());\r\n }\r\n }\r\n });\r\n field.value = ipedsArray.toString();\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeListCheckbox.name, e));\r\n }\r\n };\r\n\r\n private onChangeRadioGroup = (event: any, value: string): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (event.target.name && event.target.name !== '' && inquiry && components) {\r\n const inq: IInquiry = inquiry;\r\n const fieldId: string[] = event.target.name.split('|');\r\n let newComponents: IApplicationForm = components;\r\n\r\n switch (fieldId[0]) {\r\n case 'primaryPhoneId':\r\n newComponents = this.onPrimaryButtonClick(fieldId, newComponents, value);\r\n break;\r\n }\r\n\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n newComponents = this.setValues(fieldId, newComponents, value);\r\n\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n }\r\n\r\n } catch (e) {\r\n this.logError(LogData.fromException(this.onChangeRadioGroup.name, e));\r\n }\r\n };\r\n\r\n private onChangeTextField = (event: any): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (event.target.id && event.target.id !== '' && inquiry && components) {\r\n const inq: IInquiry = inquiry;\r\n const fieldId: string[] = event.target.id.split('|');\r\n let newComponents: IApplicationForm = components;\r\n switch (fieldId[0]) {\r\n case 'emailId':\r\n if (fieldId && fieldId[1] && fieldId[2]) {\r\n const field: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (event.target.value.match(components.emailRegExpression)) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n field.value = event.target.value;\r\n inq.email = event.target.value;\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageNotValid;\r\n }\r\n }\r\n break;\r\n case 'emergencyPhoneId':\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n break;\r\n case 'firstNameId':\r\n inq.firstName = event.target.value;\r\n break;\r\n case 'formerLastNameId':\r\n inq.formerLastName = event.target.value;\r\n break;\r\n case 'governmentId':\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3]) {\r\n const governmentId = event.target.value.replace(/[-.]/g, '');\r\n const field: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (Number(governmentId.length) !== newComponents.governmentIdMaxLength) {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageFormat;\r\n }\r\n else {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n inq.governmentId = governmentId;\r\n }\r\n }\r\n break;\r\n case 'lastNameId':\r\n inq.lastName = event.target.value;\r\n break;\r\n case 'lastNamePrefixId':\r\n inq.lastNamePrefix = event.target.value;\r\n break;\r\n case 'legalNameId':\r\n inq.legalName = event.target.value;\r\n break;\r\n case 'middleNameId':\r\n inq.middleName = event.target.value;\r\n break;\r\n case 'monthsInCountryId':\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3]) {\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n const field: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (Number(event.target.value) >= 0 && Number(event.target.value) <= 9999) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n inq.monthsInCountry = Number(event.target.value);\r\n }\r\n else {\r\n if (Number(event.target.value) > 9999) {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRange;\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageNumeric;\r\n }\r\n }\r\n }\r\n break;\r\n case 'nickNameId':\r\n inq.nickname = event.target.value;\r\n break;\r\n case 'passportNumberId':\r\n inq.passportNumber = event.target.value;\r\n break;\r\n case 'phoneNumberId':\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n break;\r\n case 'visaNumberId':\r\n inq.visaNumber = event.target.value;\r\n break;\r\n case 'numberOfHoursPerWeekId':\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n let fieldHoursPerWeek: any;\r\n if (fieldId.length < 5) {\r\n fieldHoursPerWeek = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n }\r\n else {\r\n fieldHoursPerWeek = newComponents.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].fields.find(x =>\r\n x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, 'numberOfHoursPerWeekId'.length) ===\r\n 'numberOfHoursPerWeekId');\r\n }\r\n if (Number(event.target.value) > 168) {\r\n fieldHoursPerWeek.data.error = true;\r\n fieldHoursPerWeek.data.helperText = fieldHoursPerWeek.data.errorMessageRange;\r\n }\r\n else {\r\n fieldHoursPerWeek.data.error = false;\r\n fieldHoursPerWeek.data.helperText = '';\r\n }\r\n break;\r\n case 'numberOfWeeksPerYearId':\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n let fieldWeeksPerYear: any;\r\n if (fieldId.length < 5) {\r\n fieldWeeksPerYear = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n }\r\n else {\r\n fieldWeeksPerYear = newComponents.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].fields.find(x =>\r\n x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, 'numberOfWeeksPerYearId'.length) ===\r\n 'numberOfWeeksPerYearId');\r\n }\r\n if (Number(event.target.value) > 52) {\r\n fieldWeeksPerYear.data.error = true;\r\n fieldWeeksPerYear.data.helperText = fieldWeeksPerYear.data.errorMessageRange;\r\n }\r\n else {\r\n fieldWeeksPerYear.data.error = false;\r\n fieldWeeksPerYear.data.helperText = '';\r\n }\r\n break;\r\n case 'numberOfYearsId':\r\n if (!event.target.value.match(/^[0-9]*$/g)) {\r\n const onlyNum = new RegExp(/([A-Za-zñ<> äÄëËïÏöÖüÜáÁéÉíÍóÓúÚýÝ'¿\"#_-Ä-´°%;&¨Ñ,¡.*+?^=!:$(){}|[\\]\\/\\\\])/g);\r\n event.target.value = event.target.value.replace(onlyNum, '');\r\n }\r\n let fieldYears: any;\r\n if (fieldId.length < 5) {\r\n fieldYears = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n }\r\n else {\r\n fieldYears = newComponents.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].fields.find(x =>\r\n x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, 'numberOfYearsId'.length) ===\r\n 'numberOfYearsId');\r\n }\r\n if (Number(event.target.value) > 99) {\r\n fieldYears.data.error = true;\r\n fieldYears.data.helperText = fieldYears.data.errorMessageRange;\r\n }\r\n else {\r\n fieldYears.data.error = false;\r\n fieldYears.data.helperText = '';\r\n }\r\n break;\r\n case 'licenseNumberId':\r\n inq.licenseNumber = event.target.value;\r\n break;\r\n case 'portOfEntryId':\r\n inq.portOfEntry = event.target.value;\r\n break;\r\n case 'sevisNumberId':\r\n inq.sevisNumber = event.target.value;\r\n break;\r\n }\r\n\r\n newComponents = this.cleanErrorMessages(fieldId, newComponents);\r\n newComponents = this.setValues(fieldId, newComponents, event.target.value);\r\n\r\n this.setState({\r\n components: newComponents,\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeTextField.name, e));\r\n }\r\n };\r\n\r\n private onChangeTextFieldAddressSearch = (event: any): void => {\r\n try {\r\n if (event.target.id && event.target.id !== '') {\r\n switch (event.target.id) {\r\n case 'txtZipCode':\r\n this.setState({\r\n selectedZipCode: event.target.value\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeTextFieldAddressSearch.name, e));\r\n }\r\n };\r\n\r\n private onChangeTextFieldETSSearch = (event: any): void => {\r\n try {\r\n if (event.target.id && event.target.id !== '') {\r\n switch (event.target.id) {\r\n case 'txtEtsCode':\r\n this.setState({\r\n selectedEtsCode: event.target.value\r\n });\r\n break;\r\n case 'txtCity':\r\n this.setState({\r\n selectedCity: event.target.value\r\n });\r\n break;\r\n case 'txtInstitutionName':\r\n this.setState({\r\n selectedInstitutionName: event.target.value\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeTextFieldETSSearch.name, e));\r\n }\r\n };\r\n\r\n private onClickButton = (event: React.MouseEvent): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (event.currentTarget.id && event.currentTarget.id !== '' && inquiry && components) {\r\n const fieldId: string[] = event.currentTarget.id.split('|');\r\n\r\n switch (fieldId[0]) {\r\n case 'educationEtsCodeButtonId':\r\n this.setState({\r\n institutions: undefined,\r\n openETSSearchModal: true,\r\n selectedCity: undefined,\r\n selectedCountry: undefined,\r\n selectedEtsCode: undefined,\r\n selectedFieldId: event.currentTarget.id,\r\n selectedInstitutionName: undefined,\r\n selectedState: undefined\r\n });\r\n break;\r\n case 'postalCodeButtonId':\r\n // Get zip code\r\n let zipCode: string = '';\r\n const fieldGroup: IFieldForm[] =\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n let fieldIndex: number = -1;\r\n if (fieldId.length > 4) {\r\n fieldIndex = fieldGroup.findIndex(x => x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, 'postalCodeId'.length) === 'postalCodeId');\r\n }\r\n else {\r\n fieldIndex = fieldGroup.findIndex(x => x.data.id === 'postalCodeId');\r\n }\r\n if (fieldIndex > -1) {\r\n zipCode = components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].\r\n fields[fieldIndex].value;\r\n }\r\n\r\n this.setState({\r\n openAddressSearchModal: true,\r\n selectedFieldId: event.currentTarget.id,\r\n selectedZipCode: zipCode\r\n });\r\n\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n pageSize\r\n } = this.state;\r\n\r\n RequestsInquiry.getAddresses(\r\n 0,\r\n pageSize,\r\n zipCode,\r\n this.resolveGetAddress, this.logError);\r\n\r\n const {\r\n total\r\n } = this.state;\r\n\r\n if (total) {\r\n const previousSize = pageSize;\r\n // Fix 60\r\n this.setState({\r\n pageSize: 0\r\n }, () => {\r\n this.setState({\r\n pageNumber: 0,\r\n pageSize: previousSize\r\n });\r\n });\r\n }\r\n break;\r\n case 'finishId':\r\n // Get action of button\r\n const confirmationIndex: number =\r\n components.fieldsGroups.findIndex(x => x.id === 'confirmationGroup');\r\n const finishButtonId: number =\r\n components.fieldsGroups[confirmationIndex].fields.findIndex(x => x.data.id === 'finishId');\r\n if (confirmationIndex > -1 && finishButtonId > -1) {\r\n const actionUrl: string | undefined = components.fieldsGroups[confirmationIndex].fields[finishButtonId].actionUrl;\r\n if (actionUrl) {\r\n window.location.assign(actionUrl);\r\n }\r\n else {\r\n window.location.assign(`${Constants.webUrl}/Admissions/Inquiries`);\r\n }\r\n }\r\n break;\r\n default:\r\n const actionUrl: string | undefined =\r\n components.steps[Number(fieldId[1])].\r\n fieldsGroups[Number(fieldId[2])].\r\n fields[Number(fieldId[3])].actionUrl;\r\n if (actionUrl) {\r\n window.location.assign(actionUrl);\r\n }\r\n else {\r\n window.location.assign(`${Constants.webUrl}/Admissions/Inquiries`);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n } catch (e) {\r\n LayoutActions.setLoading(false);\r\n this.logError(LogData.fromException(this.onClickButton.name, e));\r\n }\r\n };\r\n\r\n private onClickLink = (institutionName?: string, etsCode?: string, ficeCode?: string,\r\n city?: string, stateProvinceId?: number, countryId?: number) => (): void => {\r\n try {\r\n const {\r\n components,\r\n selectedFieldId\r\n } = this.state;\r\n\r\n if (selectedFieldId && components) {\r\n const fieldId: string[] = selectedFieldId.split('|');\r\n\r\n const fieldGroup: IFieldForm[] =\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n\r\n if (fieldId.length > 4) {\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationInstitutionName', true, institutionName);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationEtsCodeId', true, etsCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationFiceCode', true, ficeCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationCityId', true, city);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationStateId', true, stateProvinceId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationCountryId', true, countryId);\r\n }\r\n else {\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationInstitutionName', false, institutionName);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationEtsCodeId', false, etsCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationFiceCode', false, ficeCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationCityId', false, city);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationStateId', false, stateProvinceId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'educationCountryId', false, countryId);\r\n }\r\n }\r\n\r\n this.setState({\r\n openETSSearchModal: false\r\n });\r\n\r\n } catch (e) {\r\n this.logError(LogData.fromException(this.onClickLink.name, e));\r\n }\r\n };\r\n\r\n private onClickZipCodeLink = (zipCode?: string, city?: string, stateProvinceId?: number, countryId?: number,\r\n countyId?: number) => (): void => {\r\n try {\r\n const {\r\n components,\r\n selectedFieldId\r\n } = this.state;\r\n\r\n if (selectedFieldId && components) {\r\n const fieldId: string[] = selectedFieldId.split('|');\r\n\r\n const fieldGroup: IFieldForm[] =\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n\r\n if (fieldId.length > 4) {\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCityId', true, city);\r\n this.assignFieldValue(fieldGroup, fieldId, 'stateProvinceId', true, stateProvinceId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'postalCodeId', true, zipCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCountyId', true, countyId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCountryId', true, countryId);\r\n }\r\n else {\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCityId', false, city);\r\n this.assignFieldValue(fieldGroup, fieldId, 'stateProvinceId', false, stateProvinceId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'postalCodeId', false, zipCode);\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCountyId', false, countyId);\r\n this.assignFieldValue(fieldGroup, fieldId, 'addressCountryId', false, countryId);\r\n }\r\n }\r\n\r\n this.setState({\r\n openAddressSearchModal: false\r\n });\r\n\r\n } catch (e) {\r\n this.logError(LogData.fromException(this.onClickZipCodeLink.name, e));\r\n }\r\n };\r\n\r\n private onCloseAddressSearchModal = (): void => {\r\n try {\r\n this.setState({\r\n addresses: [],\r\n openAddressSearchModal: false,\r\n selectedZipCode: undefined\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onCloseAddressSearchModal.name, e));\r\n }\r\n };\r\n\r\n private onCloseETSSearchModal = (): void => {\r\n try {\r\n this.setState({\r\n institutions: [],\r\n openETSSearchModal: false,\r\n selectedCity: undefined,\r\n selectedCountry: undefined,\r\n selectedEtsCode: undefined,\r\n selectedInstitutionName: undefined,\r\n selectedState: undefined\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onCloseETSSearchModal.name, e));\r\n }\r\n };\r\n\r\n private onDeleteItem = (event: any): void => {\r\n try {\r\n const {\r\n errors,\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n if (components) {\r\n const newComponents: IApplicationForm = { ...components };\r\n const inq: IInquiry = inquiry;\r\n if (event.currentTarget.id) {\r\n const buttonId: string[] = event.currentTarget.id.split('|');\r\n const componentName: string = newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]].id;\r\n const fields: IFieldForm[] = newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]].fields;\r\n if (fields) {\r\n let fieldIndex: number;\r\n do {\r\n fieldIndex = fields.findIndex(x => x.data.section === Number(buttonId[4]));\r\n if (fieldIndex > -1) {\r\n fields.splice(fieldIndex, 1);\r\n }\r\n } while (fieldIndex > -1);\r\n }\r\n newComponents.steps[Number(buttonId[1])].fieldsGroups[Number(buttonId[2])].fields = fields;\r\n\r\n // Delete section from sectionErrors\r\n const sectionIndex = errors[Number(buttonId[1])].groupErrors[Number(buttonId[2])].sectionErrors.findIndex(\r\n section => section.sectionIndex === Number(buttonId[4]));\r\n if (sectionIndex > -1) {\r\n errors[Number(buttonId[1])].groupErrors[Number(buttonId[2])].sectionErrors.splice(sectionIndex, 1);\r\n }\r\n\r\n switch (componentName) {\r\n case 'phoneGroup':\r\n // Search for primary selected in phone group\r\n const primaryPhoneField: IFieldForm[] = newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]]\r\n .fields.filter(x => x.data.id.substr(0, 'primaryPhoneId'.length) === 'primaryPhoneId' && x.value === '1');\r\n // If doesn't exist, select first item as primary\r\n if (primaryPhoneField.length === 0) {\r\n const firstPrimaryPhoneField: number = newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]]\r\n .fields.findIndex(x => x.data.id === 'primaryPhoneId');\r\n if (firstPrimaryPhoneField > -1) {\r\n newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]]\r\n .fields[firstPrimaryPhoneField].value = '1';\r\n }\r\n }\r\n break;\r\n }\r\n const fieldGroup: IFieldsGroup =\r\n newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]];\r\n let maxAdd: number;\r\n if (fieldGroup.maximumAllowed) {\r\n maxAdd = Number(fieldGroup.maximumAllowed) - 1;\r\n }\r\n else {\r\n maxAdd = 99;\r\n }\r\n if (errors[buttonId[1]].groupErrors[buttonId[2]].sectionErrors.length < maxAdd) {\r\n // Add more button if it was remove\r\n newComponents.steps[buttonId[1]].fieldsGroups[buttonId[2]].isMultiple = true;\r\n }\r\n }\r\n\r\n this.setState({\r\n components: newComponents,\r\n errors: errors,\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onDeleteItem.name, e));\r\n }\r\n };\r\n\r\n private onNextStep = (): void => {\r\n try {\r\n const {\r\n activeStep\r\n } = this.state;\r\n\r\n this.setState({\r\n activeStep: activeStep + 1\r\n });\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onNextStep.name, e));\r\n }\r\n };\r\n\r\n private onSubmit = (): void => {\r\n try {\r\n const {\r\n components,\r\n inquiry\r\n } = this.state;\r\n\r\n const applicationTop: HTMLElement | null = document.getElementById('applicationTop');\r\n if (applicationTop) {\r\n applicationTop.scrollIntoView();\r\n }\r\n\r\n if (components) {\r\n components.steps.forEach(step => {\r\n step.fieldsGroups.forEach(fieldsGroup => {\r\n fieldsGroup.fields.forEach(field => {\r\n field.value = field.value ? field.value : field.default;\r\n this.setApplicationValues(field.data.id, field.value);\r\n });\r\n });\r\n });\r\n }\r\n\r\n this.setState({\r\n components\r\n });\r\n\r\n if (this.reviewRequiredFields()) {\r\n if (inquiry) {\r\n LayoutActions.setLoading(true);\r\n RequestsInquiry.postSubmit(inquiry, this.resolveSubmitInquiry, this.logError);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onSubmit.name, e));\r\n }\r\n };\r\n // #endregion Events\r\n\r\n // #region Functions\r\n private assignFieldValue = (fieldGroup: IFieldForm[], fieldId: string[],\r\n fieldIdName: string, isSectionField: boolean, value?: any): void => {\r\n const {\r\n components\r\n } = this.state;\r\n\r\n if (components) {\r\n let fieldIndex: number = 1;\r\n if (isSectionField) {\r\n fieldIndex = fieldGroup.findIndex(x => x.data.section === Number(fieldId[4]) &&\r\n x.data.id.substr(0, fieldIdName.length) === fieldIdName);\r\n }\r\n else {\r\n fieldIndex = fieldGroup.findIndex(x => x.data.id === fieldIdName);\r\n }\r\n if (fieldIndex > -1) {\r\n components.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].\r\n fields[fieldIndex].value = value;\r\n }\r\n }\r\n };\r\n\r\n private cleanErrorMessages = (fieldId: string[], newComponents: IApplicationForm): IApplicationForm => {\r\n if (fieldId && fieldId[1] && fieldId[2] && fieldId[3]) {\r\n let field: IFieldForm | undefined;\r\n\r\n if (fieldId.length > 4) {\r\n const fieldGroup: IFieldForm[] =\r\n newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n field =\r\n fieldGroup.find(x => x.data.id.split('|')[3] === fieldId[3] && x.data.id.split('|')[4] === fieldId[4]);\r\n }\r\n else {\r\n field =\r\n newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n }\r\n\r\n if (field !== undefined) {\r\n if ((field.data.errorMessageDuplicate === undefined ||\r\n field.data.errorMessageDuplicate === null) &&\r\n (field.data.errorMessageFormat === undefined ||\r\n field.data.errorMessageFormat === null) &&\r\n (field.data.errorMessageNotValid === undefined ||\r\n field.data.errorMessageNotValid === null) &&\r\n (field.data.errorMessageNumeric === undefined ||\r\n field.data.errorMessageNumeric === null) &&\r\n (field.data.errorMessagePrimary === undefined ||\r\n field.data.errorMessagePrimary === null) &&\r\n (field.data.errorMessageRange === undefined ||\r\n field.data.errorMessageRange === null)) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n }\r\n }\r\n return newComponents;\r\n };\r\n\r\n private copyField = (id: string, stepIndex: number, fieldGroupIndex: number,\r\n groupLength: number, sectionNumber: number, newComponents: IApplicationForm): IApplicationForm => {\r\n try {\r\n const fields: any =\r\n newComponents.steps[stepIndex].fieldsGroups[fieldGroupIndex].fields;\r\n const fieldIndex: number =\r\n fields.findIndex(x => x.data.id === id);\r\n\r\n const copiedField: IFieldForm = fields[fieldIndex];\r\n const newField: IFieldForm = JSON.parse(JSON.stringify(copiedField));\r\n\r\n newField.data.id =\r\n `${id}|${stepIndex}|${fieldGroupIndex}|${groupLength}|${sectionNumber}`;\r\n newField.value = copiedField.default ? copiedField.default : '';\r\n newField.data.error = false;\r\n newField.data.helperText = '';\r\n newField.data.modified = true;\r\n newField.data.section = sectionNumber;\r\n fields.push(newField);\r\n newComponents.steps[stepIndex].fieldsGroups[fieldGroupIndex].fields = fields;\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.copyField.name, e));\r\n }\r\n return newComponents;\r\n };\r\n\r\n private createNewSection = (components: IApplicationForm, fieldGroup: IFieldsGroup, errors: IApplicationErrors[],\r\n stepIndex: number, fieldGroupIndex: number, count: number, errorTexId: string, expanded): void => {\r\n let newComponents: IApplicationForm = components;\r\n const groupLength: number = fieldGroup.fields.length;\r\n /* Initialization of SectionErrors in errors state variable and set of\r\n * SectionIndex = sectionErrors.length -1; \r\n */\r\n const sectionIndex: number = errors[stepIndex].groupErrors[fieldGroupIndex].sectionErrors.push(\r\n { sectionIndex: count, isSectionError: false, fieldsErrors: [] }) - 1;\r\n\r\n fieldGroup.fields.forEach((field, i) => {\r\n if (!field.data.modified) {\r\n if (field.data.id !== errorTexId) {\r\n newComponents = this.copyField(field.data.id, stepIndex,\r\n fieldGroupIndex, (groupLength - 1) + i, count, newComponents);\r\n }\r\n // Initialization of FieldErrors in errors state variable\r\n errors[stepIndex].groupErrors[fieldGroupIndex].sectionErrors[sectionIndex].fieldsErrors.push(\r\n { fieldId: field.data.id, isFieldError: false }\r\n );\r\n }\r\n });\r\n\r\n this.onAddDeleteButton(fieldGroup, stepIndex, fieldGroupIndex, (groupLength - 1), count);\r\n\r\n let maxAdd: number;\r\n if (fieldGroup.maximumAllowed) {\r\n maxAdd = Number(fieldGroup.maximumAllowed) - 1;\r\n }\r\n else {\r\n maxAdd = 99;\r\n }\r\n if (errors && errors[stepIndex].groupErrors[fieldGroupIndex].sectionErrors.length < maxAdd) {\r\n fieldGroup.isMultiple = true;\r\n }\r\n else {\r\n fieldGroup.isMultiple = false;\r\n }\r\n\r\n this.setState({\r\n components: newComponents,\r\n errors: errors,\r\n expanded: fieldGroup.isExpansionPanel ?\r\n `panel|${stepIndex}|${fieldGroupIndex}|${count}` : expanded\r\n });\r\n };\r\n\r\n private onChangePage = (_event: any, page: number): void => {\r\n try {\r\n this.setState({\r\n pageNumber: page\r\n });\r\n\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n selectedInstitutionName,\r\n selectedEtsCode,\r\n selectedCity,\r\n selectedState,\r\n selectedCountry,\r\n pageSize\r\n } = this.state;\r\n\r\n RequestsInquiry.getInstitutions(\r\n page,\r\n pageSize,\r\n selectedInstitutionName,\r\n selectedEtsCode,\r\n selectedCity,\r\n selectedState,\r\n selectedCountry,\r\n this.resolveGetInstitutions, this.logError);\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangePage.name, e));\r\n }\r\n };\r\n\r\n private onChangePageAddress = (_event: any, page: number): void => {\r\n try {\r\n this.setState({\r\n pageNumber: page\r\n });\r\n\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n selectedZipCode,\r\n pageSize\r\n } = this.state;\r\n\r\n RequestsInquiry.getAddresses(\r\n page,\r\n pageSize,\r\n selectedZipCode,\r\n this.resolveGetAddress, this.logError);\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangePage.name, e));\r\n }\r\n };\r\n\r\n private onChangeRowsPerPage = (event: any): void => {\r\n try {\r\n this.setState({\r\n pageSize: Number(event.target.value)\r\n });\r\n\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n selectedInstitutionName,\r\n selectedEtsCode,\r\n selectedCity,\r\n selectedState,\r\n selectedCountry,\r\n pageNumber\r\n } = this.state;\r\n\r\n RequestsInquiry.getInstitutions(\r\n pageNumber,\r\n Number(event.target.value),\r\n selectedInstitutionName,\r\n selectedEtsCode,\r\n selectedCity,\r\n selectedState,\r\n selectedCountry,\r\n this.resolveGetInstitutions, this.logError);\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeRowsPerPage.name, e));\r\n }\r\n };\r\n\r\n private onChangeRowsPerPageAddress = (event: any): void => {\r\n try {\r\n this.setState({\r\n pageSize: Number(event.target.value)\r\n });\r\n\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n selectedZipCode,\r\n pageNumber\r\n } = this.state;\r\n\r\n RequestsInquiry.getAddresses(\r\n pageNumber,\r\n Number(event.target.value),\r\n selectedZipCode,\r\n this.resolveGetAddress, this.logError);\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.onChangeRowsPerPage.name, e));\r\n }\r\n };\r\n\r\n private onClearAddress = (): void => {\r\n try {\r\n this.setState({\r\n addresses: [],\r\n selectedZipCode: undefined\r\n });\r\n }\r\n catch (e) {\r\n throw e;\r\n }\r\n };\r\n\r\n private onClearInstitution = (): void => {\r\n try {\r\n this.setState({\r\n institutions: [],\r\n selectedCity: undefined,\r\n selectedCountry: undefined,\r\n selectedEtsCode: undefined,\r\n selectedInstitutionName: undefined,\r\n selectedState: undefined\r\n });\r\n }\r\n catch (e) {\r\n throw e;\r\n }\r\n };\r\n\r\n private onPrimaryButtonClick = (fieldId: string[], newComponents: IApplicationForm, value: any): IApplicationForm => {\r\n try {\r\n const phoneFields: any = newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])];\r\n let field: any = [];\r\n let numRow: number = 4;\r\n\r\n field = newComponents;\r\n phoneFields.fields.forEach(function (item, row) {\r\n const idFields: string[] = item.data.id.split('|');\r\n if (fieldId[0] === idFields[0]) {\r\n if (fieldId[3] !== idFields[3] || fieldId[4] !== idFields[4]) {\r\n item.value = '';\r\n }\r\n else {\r\n numRow = row;\r\n }\r\n }\r\n });\r\n\r\n field.steps[Number(fieldId[1])].fieldsGroups[fieldId[2]].fields[Number(numRow)].value = value;\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveLayoutReady.name, e));\r\n }\r\n return newComponents;\r\n };\r\n\r\n private onSearchAddress = (): void => {\r\n try {\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n pageSize,\r\n selectedZipCode\r\n } = this.state;\r\n\r\n RequestsInquiry.getAddresses(\r\n 0,\r\n pageSize,\r\n selectedZipCode,\r\n this.resolveGetAddress, this.logError);\r\n\r\n const {\r\n total\r\n } = this.state;\r\n\r\n if (total) {\r\n const previousSize = pageSize;\r\n // Fix 60\r\n this.setState({\r\n pageSize: 0\r\n }, () => {\r\n this.setState({\r\n pageNumber: 0,\r\n pageSize: previousSize\r\n });\r\n });\r\n }\r\n }\r\n catch (e) {\r\n LayoutActions.setLoading(false);\r\n throw e;\r\n }\r\n };\r\n\r\n private onSearchInstitution = (): void => {\r\n try {\r\n LayoutActions.setLoading(true);\r\n\r\n const {\r\n selectedCity,\r\n selectedEtsCode,\r\n selectedInstitutionName,\r\n selectedState,\r\n selectedCountry,\r\n pageSize\r\n } = this.state;\r\n\r\n RequestsInquiry.getInstitutions(\r\n 0,\r\n pageSize,\r\n selectedInstitutionName,\r\n selectedEtsCode,\r\n selectedCity,\r\n selectedState,\r\n selectedCountry,\r\n this.resolveGetInstitutions, this.logError);\r\n\r\n const {\r\n total\r\n } = this.state;\r\n\r\n if (total) {\r\n const previousSize = pageSize;\r\n // Fix 60\r\n this.setState({\r\n pageSize: 0\r\n }, () => {\r\n this.setState({\r\n pageNumber: 0,\r\n pageSize: previousSize\r\n });\r\n });\r\n }\r\n }\r\n catch (e) {\r\n LayoutActions.setLoading(false);\r\n throw e;\r\n }\r\n };\r\n\r\n private reviewActivities = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n activityCount,\r\n inquiry\r\n } = this.state;\r\n\r\n let isValid = true;\r\n\r\n let activityList: IApplicationActivity[] = [];\r\n const activity: IApplicationActivity = {};\r\n\r\n let activityTypefield: IFieldForm | undefined;\r\n if (activityTypefield = fieldsGroup.fields.find(x => x.data.id === 'activityTypeId')) {\r\n activity.activityType = activityTypefield.value;\r\n }\r\n let activityField: IFieldForm | undefined;\r\n if (activityField = fieldsGroup.fields.find(x => x.data.id === 'activityId')) {\r\n activity.activity = activityField.value;\r\n }\r\n let positionHeldField: IFieldForm | undefined;\r\n if (positionHeldField = fieldsGroup.fields.find(x => x.data.id === 'positionHeldId')) {\r\n activity.position = positionHeldField.value;\r\n }\r\n let numberOfHoursPerWeekField: IFieldForm | undefined;\r\n if (numberOfHoursPerWeekField = fieldsGroup.fields.find(x => x.data.id === 'numberOfHoursPerWeekId')) {\r\n activity.hoursPerWeek = numberOfHoursPerWeekField.value;\r\n }\r\n let numberOfWeeksPerYearField: IFieldForm | undefined;\r\n if (numberOfWeeksPerYearField = fieldsGroup.fields.find(x => x.data.id === 'numberOfWeeksPerYearId')) {\r\n activity.weeksPerYear = numberOfWeeksPerYearField.value;\r\n }\r\n let numberOfYearsField: IFieldForm | undefined;\r\n if (numberOfYearsField = fieldsGroup.fields.find(x => x.data.id === 'numberOfYearsId')) {\r\n activity.numberOfYears = numberOfYearsField.value;\r\n }\r\n let participated9Field: IFieldForm | undefined;\r\n if (participated9Field = fieldsGroup.fields.find(x => x.data.id === 'participated9Id')) {\r\n activity.participatedGrade09 = participated9Field.value;\r\n }\r\n let participated10Field: IFieldForm | undefined;\r\n if (participated10Field = fieldsGroup.fields.find(x => x.data.id === 'participated10Id')) {\r\n activity.participatedGrade10 = participated10Field.value;\r\n }\r\n let participated11Field: IFieldForm | undefined;\r\n if (participated11Field = fieldsGroup.fields.find(x => x.data.id === 'participated11Id')) {\r\n activity.participatedGrade11 = participated11Field.value;\r\n }\r\n let participated12Field: IFieldForm | undefined;\r\n if (participated12Field = fieldsGroup.fields.find(x => x.data.id === 'participated12Id')) {\r\n activity.participatedGrade12 = participated12Field.value;\r\n }\r\n let participatedPostSecondaryField: IFieldForm | undefined;\r\n if (participatedPostSecondaryField = fieldsGroup.fields.find(x => x.data.id === 'participatedPostSecondaryId')) {\r\n activity.participatedPostsecondary = participatedPostSecondaryField.value;\r\n }\r\n\r\n // XNOR\r\n // If any required fields or none are filled that is allowed\r\n activity.activityType = activity.activityType || 0;\r\n activity.activity = activity.activity || 0;\r\n if (!(activity.activityType !== 0 && activity.activity !== 0) &&\r\n (activity.activityType !== 0 || activity.activity !== 0)) {\r\n return false;\r\n }\r\n\r\n activityList = this.setApplicationActivitiesValues(activity, activityList);\r\n\r\n let i: number = 0;\r\n do {\r\n let activityItem: IApplicationActivity = {};\r\n activityItem = this.setApplicationActivitiesAdditional(fieldsGroup, i, activityItem);\r\n\r\n // Duplicated\r\n if (activityList.find(x => x.activityType === activityItem.activityType &&\r\n x.activity === activityItem.activity)) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'activityErrosId'.length) === 'activityErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageDuplicate;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n\r\n activityList = this.setApplicationActivitiesValues(activityItem, activityList);\r\n\r\n i++;\r\n } while (i < activityCount);\r\n\r\n if (activityList.length > 0) {\r\n // Required fields should be filled\r\n activityList.forEach(activity => {\r\n if (activity.position || activity.hoursPerWeek ||\r\n activity.weeksPerYear || activity.numberOfYears ||\r\n activity.participatedGrade09 || activity.participatedGrade10 ||\r\n activity.participatedGrade11 || activity.participatedGrade12 ||\r\n activity.participatedPostsecondary) {\r\n if ((activity.activityType === null || activity.activityType === 0) &&\r\n (activity.activity === null || activity.activity === 0)) {\r\n isValid = false;\r\n }\r\n }\r\n });\r\n }\r\n // List is empty so no error should be show\r\n else {\r\n fieldsGroup.fields.forEach(field => {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n });\r\n isValid = true;\r\n }\r\n if (isValid) {\r\n inquiry.activities = activityList;\r\n }\r\n\r\n this.setState({\r\n inquiry\r\n });\r\n\r\n return isValid;\r\n };\r\n\r\n private reviewAddress = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n addressessCount,\r\n inquiry\r\n } = this.state;\r\n\r\n const addressList: IApplicationAddress[] = [];\r\n let address: IApplicationAddress = { isPrimary: false };\r\n\r\n address = this.setApplicationAddress(fieldsGroup, address);\r\n address = this.setApplicationAddressValues(address);\r\n\r\n if (address.type !== 0 && address.line1 !== '' &&\r\n address.city !== '' && address.country !== 0) {\r\n address.isPrimary = true;\r\n addressList.push(address);\r\n }\r\n else if (address.line2 || address.line3 || address.line4 ||\r\n address.city || address.stateProvince || address.postalCode ||\r\n address.county) {\r\n addressList.push(address);\r\n }\r\n\r\n let i: number = 0;\r\n do {\r\n let address: IApplicationAddress = { isPrimary: false };\r\n address = this.setApplicationAddressAdditional(fieldsGroup, i, address);\r\n\r\n // Duplicated\r\n if (addressList.find(x => x.type === address.type)) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'addressErrorsId'.length) === 'addressErrorsId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageDuplicate;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n\r\n address = this.setApplicationAddressValues(address);\r\n\r\n if (address.type !== 0 && address.line1 !== '' &&\r\n address.city !== '' && address.country !== 0) {\r\n addressList.push(address);\r\n }\r\n else if (address.line2 !== '' || address.line3 !== '' || address.line4 !== '' ||\r\n address.city !== '' || address.stateProvince !== 0 || address.postalCode !== '' ||\r\n address.county !== 0) {\r\n addressList.push(address);\r\n }\r\n i++;\r\n } while (i < addressessCount);\r\n\r\n inquiry.addresses = addressList;\r\n\r\n this.setState({\r\n inquiry\r\n });\r\n\r\n return true;\r\n };\r\n\r\n private reviewEducation = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n components,\r\n educationCount,\r\n inquiry\r\n } = this.state;\r\n\r\n let isValid: boolean = true;\r\n const educationList: IApplicationEducation[] = [];\r\n let education: IApplicationEducation = {\r\n enrollment: {},\r\n institution: {\r\n city: '',\r\n countryDesc: '',\r\n etsCode: '',\r\n ficeCode: '',\r\n id: 0,\r\n name: '',\r\n stateDesc: ''\r\n }\r\n };\r\n\r\n education = this.setApplicationEducation(fieldsGroup, education);\r\n education = this.setApplicationEducationValues(education);\r\n\r\n if (education.institution.city || education.enrollment.startDate || education.enrollment.endDate ||\r\n education.institution.etsCode || education.institution.name || education.institution.ficeCode) {\r\n educationList.push(education);\r\n }\r\n else if (education.enrollment.curriculumId && education.enrollment.curriculumId > 0 ||\r\n education.enrollment.honorsId && education.enrollment.honorsId > 0 ||\r\n education.enrollment.degreeId && education.enrollment.degreeId > 0 ||\r\n education.enrollment.degreeId && education.enrollment.degreeId > 0 ||\r\n education.institution.id && education.institution.id > 0 ||\r\n education.institution.stateProvinceId && education.institution.stateProvinceId > 0 ||\r\n education.institution.countryId && education.institution.countryId > 0) {\r\n educationList.push(education);\r\n }\r\n\r\n // Dates\r\n if (education.enrollment.startDate && education.enrollment.endDate) {\r\n if (components && (education.enrollment.startDate || education.enrollment.endDate)) {\r\n if (moment(education.enrollment.startDate).format('YYYY-MM-DD') > moment(education.enrollment.endDate).format('YYYY-MM-DD')) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageNotValid;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n else if (moment(education.enrollment.startDate).format('YYYY-MM-DD') < moment(education.enrollment.endDate).format('YYYY-MM-DD')) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = '';\r\n field.data.error = false;\r\n });\r\n }\r\n else if (education.enrollment && education.enrollment.startDate && education.enrollment.endDate &&\r\n (education.enrollment.startDate < moment(components.dateTimeMin).format('YYYY-MM-DD') ||\r\n education.enrollment.endDate > moment(components.dateTimeMax).format('YYYY-MM-DD'))) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageRange\r\n + moment(components.dateTimeMin).format('YYYY') + '-' +\r\n + moment(components.dateTimeMax).format('YYYY');\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n else if (education.enrollment && education.enrollment.startDate && education.enrollment.endDate &&\r\n (education.enrollment.startDate < moment(components.dateTimeMin).format('YYYY-MM-DD') ||\r\n education.enrollment.endDate < moment(components.dateTimeMax).format('YYYY-MM-DD'))) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = '';\r\n field.data.error = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n let i: number = 0;\r\n do {\r\n let education: IApplicationEducation = {\r\n enrollment: {},\r\n institution: {\r\n city: '',\r\n countryDesc: '',\r\n etsCode: '',\r\n ficeCode: '',\r\n id: 0,\r\n name: '',\r\n stateDesc: ''\r\n }\r\n };\r\n\r\n education = this.setApplicationEducationAdditional(fieldsGroup, i, education);\r\n education = this.setApplicationEducationValues(education);\r\n\r\n // Dates\r\n if (education.enrollment.startDate && education.enrollment.endDate) {\r\n if (components && (education.enrollment.startDate || education.enrollment.endDate)) {\r\n if (moment(education.enrollment.startDate).format('YYYY-MM-DD') >\r\n moment(education.enrollment.endDate).format('YYYY-MM-DD')) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageNotValid;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n else if (moment(education.enrollment.startDate).format('YYYY-MM-DD') <\r\n moment(education.enrollment.endDate).format('YYYY-MM-DD')) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = '';\r\n field.data.error = false;\r\n });\r\n }\r\n else if (education.enrollment && education.enrollment.startDate && education.enrollment.endDate &&\r\n (education.enrollment.startDate < moment(components.dateTimeMin).format('YYYY-MM-DD') ||\r\n education.enrollment.endDate > moment(components.dateTimeMax).format('YYYY-MM-DD'))) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageRange\r\n + moment(components.dateTimeMin).format('YYYY') + '-' +\r\n + moment(components.dateTimeMax).format('YYYY');\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n else if (education.enrollment && education.enrollment.startDate && education.enrollment.endDate &&\r\n (education.enrollment.startDate < moment(components.dateTimeMin).format('YYYY-MM-DD') ||\r\n education.enrollment.endDate < moment(components.dateTimeMax).format('YYYY-MM-DD'))) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = '';\r\n field.data.error = false;\r\n });\r\n }\r\n }\r\n }\r\n // Duplicated\r\n if (education.enrollment && education.enrollment.degreeId && education.enrollment.curriculumId &&\r\n education.enrollment.honorsId &&\r\n (education.enrollment.degreeId > 0 && education.enrollment.curriculumId > 0 &&\r\n education.enrollment.honorsId > 0)) {\r\n if (educationList.find(x => x.enrollment.degreeId === education.enrollment.degreeId &&\r\n x.enrollment.curriculumId === education.enrollment.curriculumId &&\r\n x.enrollment.honorsId === education.enrollment.honorsId)) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId' &&\r\n x.data.section === i);\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageDuplicate;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n }\r\n else {\r\n if (education.institution.etsCode) {\r\n if (educationList.find(x => x.institution.etsCode === education.institution.etsCode)) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'educationErrosId'.length) === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageDuplicate;\r\n field.data.error = true;\r\n });\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (education.institution.city || education.enrollment.startDate || education.enrollment.endDate ||\r\n education.institution.etsCode || education.institution.city || education.institution.ficeCode) {\r\n educationList.push(education);\r\n }\r\n else if (education.enrollment && education.enrollment.curriculumId && education.enrollment.honorsId &&\r\n education.institution.stateProvinceId && education.institution.countryId &&\r\n (education.enrollment.curriculumId > 0 || education.enrollment.honorsId > 0 ||\r\n education.institution.id > 0 || education.institution.stateProvinceId > 0 ||\r\n education.institution.countryId > 0)) {\r\n educationList.push(education);\r\n }\r\n i++;\r\n } while (i < educationCount);\r\n\r\n // Education is required\r\n if (fieldsGroup.isRequired) {\r\n // List is no empty so no error should be show.\r\n if (educationList.length > 0) {\r\n isValid = true;\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = '';\r\n field.data.error = false;\r\n });\r\n }\r\n // List is empty so error should be show.\r\n else {\r\n isValid = false;\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id === 'educationErrosId');\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageRequired;\r\n field.data.error = true;\r\n });\r\n }\r\n }\r\n // Education is include\r\n else {\r\n // List is empty so no error should be show\r\n if (educationList.length === 0) {\r\n fieldsGroup.fields.forEach(field => {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n });\r\n isValid = true;\r\n }\r\n }\r\n if (isValid) {\r\n inquiry.education = educationList;\r\n }\r\n this.setState({\r\n inquiry: inquiry\r\n });\r\n\r\n return isValid;\r\n };\r\n\r\n private reviewIpeds = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n inquiry\r\n } = this.state;\r\n\r\n let isValid = true;\r\n const hispanicAnswer: string = fieldsGroup.fields[2].value;\r\n\r\n if (hispanicAnswer) {\r\n // If question is responded with NO, user must select at least one subrace\r\n if (hispanicAnswer === '0') {\r\n if (inquiry.ipeds) {\r\n const subRaces: IApplicationIpeds[] =\r\n inquiry.ipeds.filter(x => x.ipedsFederalCategoryId !== 1);\r\n if (subRaces.length === 0) {\r\n isValid = false;\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'ipedsErrorsId');\r\n fieldsGroup.fields[textErrorIndex].data.label =\r\n fieldsGroup.errorMessageRequired;\r\n }\r\n }\r\n else {\r\n isValid = false;\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'ipedsErrorsId');\r\n fieldsGroup.fields[textErrorIndex].data.label =\r\n fieldsGroup.errorMessageRequired;\r\n }\r\n }\r\n }\r\n else {\r\n // If question was not answered and some subraces were selected, user must answer question\r\n if (inquiry.ipeds && inquiry.ipeds.length > 0) {\r\n isValid = false;\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'ipedsErrorsId');\r\n fieldsGroup.fields[textErrorIndex].data.label =\r\n fieldsGroup.errorMessageNotValid;\r\n }\r\n }\r\n return isValid;\r\n };\r\n\r\n private reviewPhoneGroup = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n inquiry,\r\n phoneCount\r\n } = this.state;\r\n\r\n const phoneList: IApplicationPhoneList[] = [];\r\n\r\n const phone: IApplicationPhoneList = { type: '', countryId: 0, number: '', isPrimary: false };\r\n const phoneTypeField = fieldsGroup.fields.findIndex(x => x.data.id === 'phoneTypeId');\r\n if (phoneTypeField > -1) {\r\n phone.type = fieldsGroup.fields[phoneTypeField].value;\r\n }\r\n const phoneCountryField = fieldsGroup.fields.findIndex(x => x.data.id === 'phoneCountryId');\r\n if (phoneCountryField > -1) {\r\n phone.countryId = fieldsGroup.fields[phoneCountryField].value;\r\n }\r\n const phoneNumberField = fieldsGroup.fields.findIndex(x => x.data.id === 'phoneNumberId');\r\n if (phoneNumberField > -1) {\r\n phone.number = fieldsGroup.fields[phoneNumberField].value;\r\n }\r\n const primaryPhoneField = fieldsGroup.fields.findIndex(x => x.data.id === 'primaryPhoneId');\r\n if (primaryPhoneField > -1) {\r\n phone.isPrimary = fieldsGroup.fields[primaryPhoneField].value === '1' ? true : false;\r\n }\r\n\r\n // Set values\r\n phone.type = phone.type === null ? '' : phone.type;\r\n phone.countryId = phone.countryId === 0 ? 0 : phone.countryId;\r\n phone.number = phone.number === null ? '' : phone.number;\r\n phone.isPrimary = phone.isPrimary === null ? false : phone.isPrimary;\r\n\r\n // Add phone to list\r\n if (phone.type !== '' && phone.countryId !== 0 && phone.number !== '') {\r\n phoneList.push(phone);\r\n }\r\n\r\n let i: number = 0;\r\n do {\r\n const phoneItem: IApplicationPhoneList = { type: '', countryId: 0, number: '', isPrimary: false };\r\n\r\n const fieldsBySection = fieldsGroup.fields.filter(x => x.data.section === i);\r\n fieldsBySection.forEach(field => {\r\n if (field.data.id.substr(0, 'phoneTypeId'.length) === 'phoneTypeId') {\r\n phoneItem.type = field.value;\r\n }\r\n if (field.data.id.substr(0, 'phoneCountryId'.length) === 'phoneCountryId') {\r\n phoneItem.countryId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'phoneNumberId'.length) === 'phoneNumberId') {\r\n phoneItem.number = field.value;\r\n }\r\n if (field.data.id.substr(0, 'primaryPhoneId'.length) === 'primaryPhoneId') {\r\n phoneItem.isPrimary = field.value === '1' ? true : false;\r\n }\r\n });\r\n // Duplicated\r\n if (phoneList.length > 0 &&\r\n phoneList.find(x => x.type === phoneItem.type &&\r\n x.countryId === phoneItem.countryId && x.number === phoneItem.number)) {\r\n const fieldsById =\r\n fieldsGroup.fields.filter(x =>\r\n x.data.id.substr(0, 'phoneErrorsId'.length) === 'phoneErrorsId');\r\n fieldsById.forEach(field => {\r\n field.data.label = fieldsGroup.errorMessageDuplicate;\r\n });\r\n return false;\r\n }\r\n // Set values\r\n phoneItem.type = phoneItem.type === null ? '' : phoneItem.type;\r\n phoneItem.countryId = phoneItem.countryId === 0 ? 0 : phoneItem.countryId;\r\n phoneItem.number = phoneItem.number === null ? '' : phoneItem.number;\r\n phoneItem.isPrimary = phoneItem.isPrimary === null ? false : phoneItem.isPrimary;\r\n\r\n // Add phone to list\r\n if (phoneItem.type !== '' && phoneItem.countryId !== 0 && phoneItem.number !== '') {\r\n phoneList.push(phoneItem);\r\n }\r\n i++;\r\n } while (i < phoneCount);\r\n\r\n inquiry.phones = phoneList;\r\n\r\n this.setState({\r\n inquiry\r\n });\r\n\r\n return true;\r\n };\r\n\r\n private reviewPrograms = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n inquiry,\r\n programsCount\r\n } = this.state;\r\n\r\n let isValid = true;\r\n\r\n const programList: IApplicationProgram[] = [];\r\n const program: IApplicationProgram = { programId: 0 };\r\n const programField = fieldsGroup.fields.findIndex(x => x.data.id === 'programOfStudydId');\r\n if (programField > -1) {\r\n program.programId = fieldsGroup.fields[programField].value;\r\n }\r\n const commintmentField = fieldsGroup.fields.findIndex(x => x.data.id === 'commitmentId');\r\n if (commintmentField > -1) {\r\n program.commitmentId = fieldsGroup.fields[commintmentField].value;\r\n }\r\n if (program.programId > 0) {\r\n programList.push(program);\r\n }\r\n let i: number = 0;\r\n do {\r\n const program: IApplicationProgram = { programId: 0 };\r\n\r\n const fieldsBySection = fieldsGroup.fields.filter(x => x.data.section === i);\r\n fieldsBySection.forEach(field => {\r\n if (field.data.id.substr(0, 'programOfStudydId'.length) === 'programOfStudydId') {\r\n program.programId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'commitmentId'.length) === 'commitmentId') {\r\n program.commitmentId = field.value;\r\n }\r\n });\r\n if (programList.find(x => x.programId === program.programId)) {\r\n isValid = false;\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'programOfStudydErrorsId');\r\n fieldsGroup.fields[textErrorIndex].data.label =\r\n fieldsGroup.errorMessageDuplicate;\r\n }\r\n if (programList.find(x => x.programId ===\r\n program.programId && x.commitmentId === program.commitmentId)) {\r\n isValid = false;\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'programOfStudydErrorsId');\r\n fieldsGroup.fields[textErrorIndex].data.label =\r\n fieldsGroup.errorMessageRequired;\r\n }\r\n else if (program.programId > 0) {\r\n programList.push(program);\r\n }\r\n i++;\r\n } while (i < programsCount);\r\n\r\n if (isValid) {\r\n inquiry.programs = programList;\r\n }\r\n\r\n this.setState({\r\n inquiry\r\n });\r\n\r\n return isValid;\r\n };\r\n\r\n private reviewRequiredFields = (): boolean => {\r\n const {\r\n components,\r\n errors,\r\n inquiry\r\n } = this.state;\r\n\r\n let isValid: boolean = true;\r\n if (components) {\r\n let programsValid: boolean = true;\r\n let validPhones: boolean = true;\r\n let ipedsValid: boolean = true;\r\n let addressValid: boolean = true;\r\n let userDefinedValid: boolean = true;\r\n let educationValid: boolean = true;\r\n let activityValid: boolean = true;\r\n\r\n let ids: string[] = [];\r\n let fieldSectionIndex: number;\r\n let fieldId: string;\r\n let sectionErrorIndex: number;\r\n let fieldErrorIndex: number;\r\n\r\n components.steps.forEach((step, stepIndex) => {\r\n fieldErrorIndex = -1;\r\n step.fieldsGroups.forEach((fieldsGroup, groupIndex) => {\r\n fieldsGroup.fields.forEach(field => {\r\n if (field.isRequired && !field.value) {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n isValid = false;\r\n } else if (field.isNumeric && String(field.value).length > 0 && isNaN(Number(field.value))) {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageNumeric;\r\n isValid = false;\r\n } else if (field.isRequired && field.value && field.componentType === 'DatePicker') {\r\n const date = moment(field.value, 'YYYY-MM-DD');\r\n const isDateValid: boolean = date.isValid();\r\n const minDate = new Date(moment().add(-100, 'years').toDate());\r\n const maxDate = new Date(moment().add(+100, 'years').toDate());\r\n\r\n const isDateInRange: boolean =\r\n new Date(moment(field.value).toDate()) >= minDate &&\r\n new Date(moment(field.value).toDate()) <= maxDate;\r\n if (!isDateValid || !isDateInRange) {\r\n field.value = undefined;\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n isValid = false;\r\n }\r\n if (isDateValid && isDateInRange) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n } else if (field.value && field.componentType === 'DatePicker') {\r\n const date = moment(field.value, 'YYYY-MM-DD');\r\n const isDateValid: boolean = date.isValid();\r\n const minDate = new Date(moment().add(-100, 'years').toDate());\r\n const maxDate = new Date(moment().add(+100, 'years').toDate());\r\n\r\n const isDateInRange: boolean =\r\n new Date(moment(field.value).toDate()) >= minDate &&\r\n new Date(moment(field.value).toDate()) <= maxDate;\r\n if (isDateValid && !isDateInRange) {\r\n field.value = undefined;\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n isValid = false;\r\n }\r\n }\r\n else {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n }\r\n });\r\n\r\n // #region Programs\r\n if (fieldsGroup.id === 'programOfStudyGroup') {\r\n programsValid = this.reviewPrograms(fieldsGroup);\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'programOfStudydErrorsId');\r\n if (!programsValid) {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = true;\r\n }\r\n }\r\n else {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = false;\r\n fieldsGroup.fields[textErrorIndex].data.label = '';\r\n }\r\n }\r\n }\r\n // #endregion Programs\r\n\r\n // #region Phones\r\n if (fieldsGroup.id === 'phoneGroup') {\r\n validPhones = this.reviewPhoneGroup(fieldsGroup);\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'phoneErrorsId');\r\n if (!validPhones) {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = true;\r\n }\r\n }\r\n else {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = false;\r\n fieldsGroup.fields[textErrorIndex].data.label = '';\r\n }\r\n }\r\n }\r\n // #endregion Phones\r\n\r\n // #region Ipeds\r\n if (fieldsGroup.id === 'ipedsGroup') {\r\n ipedsValid = this.reviewIpeds(fieldsGroup);\r\n const textErrorIndex: number = fieldsGroup.fields.findIndex(x => x.data.id === 'ipedsErrorsId');\r\n if (!ipedsValid) {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = true;\r\n }\r\n }\r\n else {\r\n if (textErrorIndex > -1) {\r\n fieldsGroup.fields[textErrorIndex].data.error = false;\r\n fieldsGroup.fields[textErrorIndex].data.label = '';\r\n }\r\n }\r\n }\r\n // #endregion Ipeds\r\n\r\n // #region Address\r\n if (fieldsGroup.id === 'addressInformationGroup') {\r\n addressValid = this.reviewAddress(fieldsGroup);\r\n isValid = !addressValid ? false : isValid;\r\n }\r\n // #endregion Address\r\n\r\n // #region UserDefinedFields\r\n if (fieldsGroup.isCustom) {\r\n userDefinedValid = this.reviewUserDefined(fieldsGroup);\r\n isValid = !userDefinedValid ? false : isValid;\r\n }\r\n // #endregion UserDefinedFields\r\n\r\n // #region Education\r\n if (fieldsGroup.id === 'educationGroup') {\r\n educationValid = this.reviewEducation(fieldsGroup);\r\n isValid = !educationValid ? false : isValid;\r\n }\r\n // #endregion Education\r\n\r\n // #region Activities\r\n if (fieldsGroup.id === 'activityGroup') {\r\n activityValid = this.reviewActivities(fieldsGroup);\r\n }\r\n // #endregion Activities\r\n\r\n // Group errors\r\n fieldsGroup.fields.forEach(field => {\r\n // Set errors in copied fields inside the SectionErrors array of errors state variable\r\n if (field.data.modified) {\r\n ids = field.data.id.split('|');\r\n if (ids[0] !== 'deleteIcon') {\r\n // Gets the actual Section index from the field id\r\n fieldSectionIndex = Number(ids[4]);\r\n // Gets the actual Field id\r\n fieldId = ids[0];\r\n // Gets the index of the sectionErrors array\r\n sectionErrorIndex = errors[stepIndex].groupErrors[groupIndex].sectionErrors.findIndex(section =>\r\n section.sectionIndex === fieldSectionIndex);\r\n if (sectionErrorIndex > -1) {\r\n // Gets the index of the fieldErrors array\r\n fieldErrorIndex = errors[stepIndex].groupErrors[groupIndex].sectionErrors[sectionErrorIndex].fieldsErrors\r\n .findIndex(field => field.fieldId === fieldId);\r\n if (fieldErrorIndex > -1) {\r\n // Sets the value of the error\r\n errors[stepIndex].groupErrors[groupIndex].sectionErrors[sectionErrorIndex].fieldsErrors[fieldErrorIndex]\r\n .isFieldError = field.data.error ? field.data.error : false;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // Set errors in first fields inside the firstSectionErrors array state variable\r\n fieldErrorIndex = errors[stepIndex].groupErrors[groupIndex].firstSectionErrors.firstFieldsErrors.findIndex(fieldError =>\r\n fieldError.fieldId === field.data.id);\r\n // Checks if the field is already in firstFieldsErrors\r\n if (fieldErrorIndex > -1) {\r\n errors[stepIndex].groupErrors[groupIndex].firstSectionErrors.firstFieldsErrors[fieldErrorIndex].isFieldError =\r\n field.data.error ? field.data.error : false;\r\n } else {\r\n errors[stepIndex].groupErrors[groupIndex].firstSectionErrors.firstFieldsErrors.push(\r\n { fieldId: field.data.id, isFieldError: field.data.error ? field.data.error : false }\r\n );\r\n }\r\n }\r\n });\r\n\r\n errors[stepIndex].groupErrors[groupIndex].firstSectionErrors.isFirstSectionErrors =\r\n errors[stepIndex].groupErrors[groupIndex].firstSectionErrors.firstFieldsErrors.some(fieldError => fieldError.isFieldError);\r\n\r\n errors[stepIndex].groupErrors[groupIndex].sectionErrors.forEach(sectionError => {\r\n sectionError.isSectionError = sectionError.fieldsErrors.some(fieldError => fieldError.isFieldError);\r\n });\r\n\r\n errors[stepIndex].groupErrors[groupIndex].isGroupError =\r\n fieldsGroup.fields.some(field => field.data.error ? field.data.error : false);\r\n });\r\n errors[stepIndex].isStepError = errors[stepIndex].groupErrors.some(groupError => groupError.isGroupError);\r\n });\r\n\r\n // Multiple components validations\r\n isValid = programsValid &&\r\n validPhones && ipedsValid && addressValid &&\r\n activityValid &&\r\n isValid;\r\n\r\n const allErrors: IGroupErrors[] = [];\r\n const especificErrors: IGroupErrors[] = [];\r\n if (!isValid) {\r\n errors.forEach(step => {\r\n step.groupErrors.forEach(groupError => {\r\n if (groupError.isGroupError) {\r\n if ((groupError.groupId === 'educationGroup' && inquiry.education.length === 0) ||\r\n groupError.groupId === 'activityGroup') {\r\n especificErrors.push(groupError);\r\n }\r\n else {\r\n allErrors.push(groupError);\r\n }\r\n }\r\n });\r\n });\r\n if (allErrors.length === 0) {\r\n isValid = programsValid && validPhones &&\r\n ipedsValid && addressValid &&\r\n educationValid && activityValid;\r\n }\r\n }\r\n\r\n this.setState({\r\n components: components,\r\n errors: errors\r\n });\r\n }\r\n return isValid;\r\n };\r\n\r\n private reviewUserDefined = (fieldsGroup: IFieldsGroup): boolean => {\r\n const {\r\n inquiry\r\n } = this.state;\r\n\r\n let isValid: boolean = true;\r\n fieldsGroup.fields.forEach(field => {\r\n if (field.isUserDefined) {\r\n // validate length of field\r\n const userDefined: IApplicationUserDefined = {\r\n columnLabel: '',\r\n columnName: '',\r\n columnType: 0,\r\n columnValue: '',\r\n isUploading: false\r\n };\r\n if (field.value) {\r\n if (field.maxLength && field.value.toString().length <= field.maxLength) {\r\n field.data.error = false;\r\n field.data.helperText = '';\r\n isValid = true;\r\n\r\n userDefined.columnLabel = field.data.id;\r\n userDefined.columnName = field.data.id;\r\n if (field.dataType === 'nvarchar') {\r\n userDefined.columnType = 1;\r\n }\r\n if (field.dataType === 'date') {\r\n userDefined.columnType = 2;\r\n }\r\n if (field.dataType === 'time') {\r\n userDefined.columnType = 3;\r\n }\r\n userDefined.columnValue = field.value;\r\n userDefined.isUploading = field.isUploading ? field.isUploading : false;\r\n let userDefinedIndex: number = -1;\r\n userDefinedIndex =\r\n inquiry.userDefined.findIndex(x => x.columnName === userDefined.columnName);\r\n if (userDefinedIndex > -1) {\r\n inquiry.userDefined.splice(userDefinedIndex, 1);\r\n }\r\n inquiry.userDefined.push(userDefined);\r\n }\r\n else {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRange;\r\n isValid = false;\r\n }\r\n }\r\n else {\r\n if (field.isRequired) {\r\n field.data.error = true;\r\n field.data.helperText = field.data.errorMessageRequired;\r\n isValid = false;\r\n }\r\n }\r\n }\r\n });\r\n return isValid;\r\n };\r\n\r\n private setApplicationActivitiesValues = (activity: IApplicationActivity,\r\n activityList: IApplicationActivity[]): IApplicationActivity[] => {\r\n activity.activityType = activity.activityType || 0;\r\n activity.activity = activity.activity || 0;\r\n activity.hoursPerWeek = activity.hoursPerWeek || 0;\r\n activity.weeksPerYear = activity.weeksPerYear || 0;\r\n activity.numberOfYears = activity.numberOfYears || 0;\r\n activity.participatedGrade09 = activity.participatedGrade09 || false;\r\n activity.participatedGrade10 = activity.participatedGrade10 || false;\r\n activity.participatedGrade11 = activity.participatedGrade11 || false;\r\n activity.participatedGrade12 = activity.participatedGrade12 || false;\r\n activity.participatedPostsecondary = activity.participatedPostsecondary || false;\r\n\r\n if (activity.activityType !== 0 && activity.activity !== 0) {\r\n activityList.push(activity);\r\n }\r\n else if (activity.position || activity.hoursPerWeek || activity.weeksPerYear ||\r\n activity.numberOfYears || activity.participatedGrade09 || activity.participatedGrade10 ||\r\n activity.participatedGrade11 || activity.participatedGrade12 || activity.participatedPostsecondary) {\r\n activityList.push(activity);\r\n }\r\n return activityList;\r\n };\r\n\r\n private setApplicationActivitiesAdditional = (fieldsGroup: any, sectionNumber: number, activityItem: IApplicationActivity):\r\n IApplicationActivity => {\r\n const fieldsBySection = fieldsGroup.fields.filter(x => x.data.section === sectionNumber);\r\n fieldsBySection.forEach(field => {\r\n if (field.data.id.substr(0, 'activityTypeId'.length) === 'activityTypeId') {\r\n activityItem.activityType = field.value;\r\n }\r\n if (field.data.id.substr(0, 'activityId'.length) === 'activityId') {\r\n activityItem.activity = field.value;\r\n }\r\n if (field.data.id.substr(0, 'positionHeldId'.length) === 'positionHeldId') {\r\n activityItem.position = field.value;\r\n }\r\n if (field.data.id.substr(0, 'numberOfHoursPerWeekId'.length) === 'numberOfHoursPerWeekId') {\r\n activityItem.hoursPerWeek = field.value;\r\n }\r\n if (field.data.id.substr(0, 'numberOfWeeksPerYearId'.length) === 'numberOfWeeksPerYearId') {\r\n activityItem.weeksPerYear = field.value;\r\n }\r\n if (field.data.id.substr(0, 'numberOfYearsId'.length) === 'numberOfYearsId') {\r\n activityItem.numberOfYears = field.value;\r\n }\r\n if (field.data.id.substr(0, 'participated9Id'.length) === 'participated9Id') {\r\n activityItem.participatedGrade09 = Boolean(field.value);\r\n }\r\n if (field.data.id.substr(0, 'participated10Id'.length) === 'participated10Id') {\r\n activityItem.participatedGrade10 = Boolean(field.value);\r\n }\r\n if (field.data.id.substr(0, 'participated11Id'.length) === 'participated11Id') {\r\n activityItem.participatedGrade11 = Boolean(field.value);\r\n }\r\n if (field.data.id.substr(0, 'participated12Id'.length) === 'participated12Id') {\r\n activityItem.participatedGrade12 = Boolean(field.value);\r\n }\r\n if (field.data.id.substr(0, 'participatedPostSecondaryId'.length) === 'participatedPostSecondaryId') {\r\n activityItem.participatedPostsecondary = Boolean(field.value);\r\n }\r\n });\r\n return activityItem;\r\n };\r\n\r\n private setApplicationAddress = (fieldsGroup: any, address: IApplicationAddress):\r\n IApplicationAddress => {\r\n const addressTypefield = fieldsGroup.fields.findIndex(x => x.data.id === 'addressTypeId');\r\n if (addressTypefield > -1) {\r\n address.type = fieldsGroup.fields[addressTypefield].value;\r\n }\r\n const houseNumberField = fieldsGroup.fields.findIndex(x => x.data.id === 'houseNumberId');\r\n if (houseNumberField > -1) {\r\n address.houseNumber = fieldsGroup.fields[houseNumberField].value;\r\n }\r\n const addressLine1Field = fieldsGroup.fields.findIndex(x => x.data.id === 'addressLine1Id');\r\n if (addressLine1Field > -1) {\r\n address.line1 = fieldsGroup.fields[addressLine1Field].value;\r\n }\r\n const addressLine2Field = fieldsGroup.fields.findIndex(x => x.data.id === 'addressLine2Id');\r\n if (addressLine2Field > -1) {\r\n address.line2 = fieldsGroup.fields[addressLine2Field].value;\r\n }\r\n const addressLine3Field = fieldsGroup.fields.findIndex(x => x.data.id === 'addressLine3Id');\r\n if (addressLine3Field > -1) {\r\n address.line3 = fieldsGroup.fields[addressLine3Field].value;\r\n }\r\n const addressLine4Field = fieldsGroup.fields.findIndex(x => x.data.id === 'addressLine4Id');\r\n if (addressLine4Field > -1) {\r\n address.line4 = fieldsGroup.fields[addressLine4Field].value;\r\n }\r\n const addressCityField = fieldsGroup.fields.findIndex(x => x.data.id === 'addressCityId');\r\n if (addressCityField > -1) {\r\n address.city = fieldsGroup.fields[addressCityField].value;\r\n }\r\n const stateProvinceField = fieldsGroup.fields.findIndex(x => x.data.id === 'stateProvinceId');\r\n if (stateProvinceField > -1) {\r\n address.stateProvince = fieldsGroup.fields[stateProvinceField].value;\r\n }\r\n const postalCodeField = fieldsGroup.fields.findIndex(x => x.data.id === 'postalCodeId');\r\n if (postalCodeField > -1) {\r\n address.postalCode = fieldsGroup.fields[postalCodeField].value;\r\n }\r\n const countyIdField = fieldsGroup.fields.findIndex(x => x.data.id === 'addressCountyId');\r\n if (countyIdField > -1) {\r\n address.county = fieldsGroup.fields[countyIdField].value;\r\n }\r\n const addressCountryField = fieldsGroup.fields.findIndex(x => x.data.id === 'addressCountryId');\r\n if (addressCountryField > -1) {\r\n address.country = fieldsGroup.fields[addressCountryField].value;\r\n }\r\n return address;\r\n };\r\n\r\n private setApplicationAddressValues = (address: IApplicationAddress): IApplicationAddress => {\r\n address.type = address.type || 0;\r\n address.line1 = address.line1 || '';\r\n address.city = address.city || '';\r\n address.country = address.country || 0;\r\n\r\n address.line2 = address.line2 || '';\r\n address.line3 = address.line3 || '';\r\n address.line4 = address.line4 || '';\r\n address.city = address.city || '';\r\n address.stateProvince = address.stateProvince || 0;\r\n address.postalCode = address.postalCode || '';\r\n address.county = address.county || 0;\r\n\r\n return address;\r\n };\r\n\r\n private setApplicationAddressAdditional = (fieldsGroup: any, sectionNumber: number,\r\n address: IApplicationAddress): IApplicationAddress => {\r\n const fieldsBySection = fieldsGroup.fields.filter(x => x.data.section === sectionNumber);\r\n fieldsBySection.forEach(field => {\r\n if (field.data.id.substr(0, 'addressTypeId'.length) === 'addressTypeId') {\r\n address.type = field.value;\r\n }\r\n if (field.data.id.substr(0, 'houseNumberId'.length) === 'houseNumberId') {\r\n address.houseNumber = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressLine1Id'.length) === 'addressLine1Id') {\r\n address.line1 = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressLine2Id'.length) === 'addressLine2Id') {\r\n address.line2 = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressLine3Id'.length) === 'addressLine3Id') {\r\n address.line3 = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressLine4Id'.length) === 'addressLine4Id') {\r\n address.line4 = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressCityId'.length) === 'addressCityId') {\r\n address.city = field.value;\r\n }\r\n if (field.data.id.substr(0, 'stateProvinceId'.length) === 'stateProvinceId') {\r\n address.stateProvince = field.value;\r\n }\r\n if (field.data.id.substr(0, 'postalCodeId'.length) === 'postalCodeId') {\r\n address.postalCode = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressCountyId'.length) === 'addressCountyId') {\r\n address.county = field.value;\r\n }\r\n if (field.data.id.substr(0, 'addressCountryId'.length) === 'addressCountryId') {\r\n address.country = field.value;\r\n }\r\n });\r\n return address;\r\n };\r\n\r\n private setApplicationEducation = (fieldsGroup: any, education: IApplicationEducation): IApplicationEducation => {\r\n const degreefield = fieldsGroup.fields.findIndex(x => x.data.id === 'educationDegreeId');\r\n if (degreefield > -1) {\r\n education.enrollment.degreeId = fieldsGroup.fields[degreefield].value;\r\n }\r\n const curriculumField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationCurriculumId');\r\n if (curriculumField > -1) {\r\n education.enrollment.curriculumId = fieldsGroup.fields[curriculumField].value;\r\n }\r\n const honorsField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationHonorsId');\r\n if (honorsField > -1) {\r\n education.enrollment.honorsId = fieldsGroup.fields[honorsField].value;\r\n }\r\n const startDateField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationStartDateId');\r\n if (startDateField > -1) {\r\n education.enrollment.startDate = fieldsGroup.fields[startDateField].value;\r\n }\r\n const endDateField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationEndDateId');\r\n if (endDateField > -1) {\r\n education.enrollment.endDate = fieldsGroup.fields[endDateField].value;\r\n }\r\n const institutionField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationInstitutionName');\r\n if (institutionField > -1) {\r\n education.institution.name = fieldsGroup.fields[institutionField].value;\r\n }\r\n const etsCodeField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationEtsCodeId');\r\n if (etsCodeField > -1) {\r\n education.institution.etsCode = fieldsGroup.fields[etsCodeField].value;\r\n }\r\n const cityField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationCityId');\r\n if (cityField > -1) {\r\n education.institution.city = fieldsGroup.fields[cityField].value;\r\n }\r\n const stateField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationStateId');\r\n if (stateField > -1) {\r\n education.institution.stateProvinceId = fieldsGroup.fields[stateField].value;\r\n }\r\n const countryField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationCountryId');\r\n if (countryField > -1) {\r\n education.institution.countryId = fieldsGroup.fields[countryField].value;\r\n }\r\n const ficeCodeField = fieldsGroup.fields.findIndex(x => x.data.id === 'educationFiceCode');\r\n if (ficeCodeField > -1) {\r\n education.institution.ficeCode = fieldsGroup.fields[ficeCodeField].value;\r\n }\r\n return education;\r\n };\r\n\r\n private setApplicationEducationValues = (education: IApplicationEducation): IApplicationEducation => {\r\n education.institution.city = education.institution.city || '';\r\n education.enrollment.curriculumId = education.enrollment.curriculumId || 0;\r\n education.enrollment.degreeId = education.enrollment.degreeId || 0;\r\n education.enrollment.honorsId = education.enrollment.honorsId || 0;\r\n education.enrollment.startDate = education.enrollment.startDate || undefined;\r\n education.enrollment.endDate = education.enrollment.endDate || undefined;\r\n education.institution.id = education.institution.id || 0;\r\n education.institution.name = education.institution.name || '';\r\n education.institution.etsCode = education.institution.etsCode || '';\r\n education.institution.city = education.institution.city || '';\r\n education.institution.stateProvinceId = education.institution.stateProvinceId || 0;\r\n education.institution.countryId = education.institution.countryId || 0;\r\n education.institution.ficeCode = education.institution.ficeCode || '';\r\n return education;\r\n };\r\n\r\n private setApplicationEducationAdditional = (fieldsGroup: any, sectionNumber: number, education: IApplicationEducation):\r\n IApplicationEducation => {\r\n const fieldsBySection = fieldsGroup.fields.filter(x => x.data.section === sectionNumber);\r\n fieldsBySection.forEach(field => {\r\n if (field.data.id.substr(0, 'educationDegreeId'.length) === 'educationDegreeId') {\r\n education.enrollment.degreeId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationCurriculumId'.length) === 'educationCurriculumId') {\r\n education.enrollment.curriculumId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationHonorsId'.length) === 'educationHonorsId') {\r\n education.enrollment.honorsId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationStartDateId'.length) === 'educationStartDateId') {\r\n education.enrollment.startDate = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationEndDateId'.length) === 'educationEndDateId') {\r\n education.enrollment.endDate = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationInstitutionName'.length) === 'educationInstitutionName') {\r\n education.institution.name = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationEtsCodeId'.length) === 'educationEtsCodeId') {\r\n education.institution.etsCode = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationCityId'.length) === 'educationCityId') {\r\n education.institution.city = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationStateId'.length) === 'educationStateId') {\r\n education.institution.stateProvinceId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationCountryId'.length) === 'educationCountryId') {\r\n education.institution.countryId = field.value;\r\n }\r\n if (field.data.id.substr(0, 'educationFiceCode'.length) === 'educationFiceCode') {\r\n education.institution.ficeCode = field.value;\r\n }\r\n });\r\n return education;\r\n };\r\n\r\n private setApplicationValues = (fieldId: string, fieldDefault: any): void => {\r\n const {\r\n inquiry\r\n } = this.state;\r\n\r\n switch (fieldId) {\r\n case 'attendStatusId':\r\n inquiry.collegeAttendStatus = fieldDefault;\r\n break;\r\n case 'counselorId':\r\n inquiry.counselorId = fieldDefault;\r\n break;\r\n case 'countryOfBirthId':\r\n inquiry.countryOfBirth = fieldDefault;\r\n break;\r\n case 'ethnicityId':\r\n inquiry.ethnicity = fieldDefault;\r\n break;\r\n case 'genderId':\r\n inquiry.gender = fieldDefault;\r\n break;\r\n case 'maritalyId':\r\n inquiry.maritalStatus = fieldDefault;\r\n break;\r\n case 'passportCountryId':\r\n inquiry.passportCountryId = fieldDefault;\r\n break;\r\n case 'primaryCitizenshipId':\r\n inquiry.primaryCitizenship = fieldDefault;\r\n break;\r\n case 'primaryLanguageId':\r\n inquiry.primaryLanguage = fieldDefault;\r\n break;\r\n case 'prefixId':\r\n inquiry.prefix = fieldDefault;\r\n break;\r\n case 'religionId':\r\n inquiry.religion = fieldDefault;\r\n break;\r\n case 'secondayCitizenshipId':\r\n inquiry.secondaryCitizenship = fieldDefault;\r\n break;\r\n case 'secondaryLanguageId':\r\n inquiry.secondaryLanguage = fieldDefault;\r\n break;\r\n case 'sessionPeriodId':\r\n inquiry.period = fieldDefault;\r\n break;\r\n case 'suffixId':\r\n inquiry.suffix = fieldDefault;\r\n break;\r\n case 'veteranId':\r\n inquiry.veteranStatus = fieldDefault;\r\n break;\r\n case 'visaId':\r\n inquiry.visa = fieldDefault;\r\n break;\r\n case 'visaCountryId':\r\n inquiry.visaCountryId = fieldDefault;\r\n break;\r\n case 'licenseStateId':\r\n inquiry.licenseStateId = fieldDefault;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({\r\n inquiry: fieldDefault\r\n });\r\n };\r\n\r\n private setValues = (fieldId: string[], newComponents: IApplicationForm, value: any): IApplicationForm => {\r\n if (fieldId.length > 4) {\r\n const fieldGroup: IFieldForm[] =\r\n newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields;\r\n const field: IFieldForm | undefined =\r\n fieldGroup.find(x => x.data.id.split('|')[3] === fieldId[3] && x.data.id.split('|')[4] === fieldId[4]);\r\n if (field) {\r\n field.value = value;\r\n }\r\n }\r\n else {\r\n const field: IFieldForm =\r\n newComponents.steps[Number(fieldId[1])].fieldsGroups[Number(fieldId[2])].fields[Number(fieldId[3])];\r\n if (fieldId) {\r\n field.value = value;\r\n }\r\n }\r\n return newComponents;\r\n };\r\n // #endregion Functions\r\n\r\n // #region Error Functions\r\n private logError = (logData: ILogData): void => {\r\n LayoutActions.setLogData(logData);\r\n };\r\n\r\n private redirectError = (code: number): void => {\r\n LayoutActions.setRedirectCode(code);\r\n };\r\n // #endregion Error Functions\r\n\r\n // #region Resolvers\r\n private resolveLayoutReady = () => {\r\n try {\r\n const {\r\n resources,\r\n inquiry\r\n } = this.state;\r\n\r\n if (resources) {\r\n document.title = resources.lblPageTitle;\r\n\r\n if (inquiry) {\r\n const hdnAppId: HTMLInputElement | undefined =\r\n document.getElementById('hdnInquiryId') as HTMLInputElement;\r\n const inq: IInquiry = inquiry;\r\n if (hdnAppId && hdnAppId.value) {\r\n inq.inquiryFormSettingId = Number(hdnAppId.value);\r\n hdnAppId.remove();\r\n\r\n RequestsInquiry.getComponents(inq.inquiryFormSettingId, this.resolveGetComponents, this.logError);\r\n\r\n this.setState({\r\n inquiry: inq\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.logError(LogData.noResources(this.resolveLayoutReady.name));\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveLayoutReady.name, e));\r\n }\r\n };\r\n\r\n private resolveCountries = (json: string): void => {\r\n try {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveCountries.name);\r\n\r\n if (result?.status) {\r\n const countries: any = result.data;\r\n this.setState({\r\n countries: countries\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveCountries.name, e));\r\n }\r\n };\r\n\r\n private resolveGetAddress = (json: string): void => {\r\n try {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveGetAddress.name);\r\n\r\n if (result?.status) {\r\n this.setState({\r\n addresses: result.data.addresses,\r\n total: result.data.overallCount\r\n });\r\n LayoutActions.setLoading(false);\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveGetAddress.name, e));\r\n }\r\n };\r\n\r\n private resolveGetComponents = (json: string): void => {\r\n try {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveGetComponents.name);\r\n\r\n if (result?.status) {\r\n const components: IApplicationForm = result.data;\r\n const errors: IApplicationErrors[] = Array(components.steps.length);\r\n components.steps.forEach((step, i) => {\r\n errors[i] = { isStepError: false, groupErrors: Array(step.fieldsGroups.length), stepTitle: step.title };\r\n for (let j = 0; j < step.fieldsGroups.length; j++) {\r\n errors[i].groupErrors[j] = {\r\n firstSectionErrors: {\r\n firstFieldsErrors: [],\r\n isFirstSectionErrors: false\r\n },\r\n groupId: step.fieldsGroups[j].id,\r\n isGroupError: false,\r\n sectionErrors: []\r\n };\r\n }\r\n });\r\n this.setState({\r\n components: components,\r\n errors: errors\r\n }, () => LayoutActions.setLoading(false));\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveGetComponents.name, e));\r\n }\r\n };\r\n\r\n private resolveGetChildOptions = (json: string): void => {\r\n try {\r\n const {\r\n components\r\n } = this.state;\r\n\r\n if (components) {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveGetChildOptions.name);\r\n\r\n if (result?.status) {\r\n if (result.data) {\r\n if (result.data.step && result.data.group && result.data.targetId) {\r\n const fields: any = components.steps[Number(result.data.step)].fieldsGroups[Number(result.data.group)].fields;\r\n const fieldIndex: number =\r\n fields.findIndex(x => x.data.id === result.data.targetId);\r\n if (fieldIndex > -1) {\r\n const childField: IFieldForm = fields[fieldIndex];\r\n if (result.data.results) {\r\n childField.data.options = result.data.results as IDropDownOption[];\r\n }\r\n else {\r\n childField.data.options = [] as IDropDownOption[];\r\n }\r\n if (childField) {\r\n childField.value = undefined;\r\n }\r\n this.setState({\r\n components: components\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveGetChildOptions.name, e));\r\n }\r\n };\r\n\r\n private resolveGetInstitutions = (json: string): void => {\r\n try {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveGetInstitutions.name);\r\n\r\n if (result?.status) {\r\n this.setState({\r\n institutions: result.data.institutions,\r\n total: result.data.overallCount\r\n });\r\n LayoutActions.setLoading(false);\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveGetInstitutions.name, e));\r\n }\r\n };\r\n\r\n private resolveStates = (json: string): void => {\r\n try {\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveStates.name);\r\n\r\n if (result?.status) {\r\n const states: any = result.data;\r\n this.setState({\r\n states: states\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveStates.name, e));\r\n }\r\n };\r\n\r\n private resolveSubmitInquiry = (json: string): void => {\r\n try {\r\n const {\r\n components,\r\n resources\r\n } = this.state;\r\n\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveSubmitInquiry.name);\r\n\r\n if (result?.status && resources) {\r\n LayoutActions.setLoading(false);\r\n\r\n if (components) {\r\n components.isCompletedApplication = true;\r\n }\r\n\r\n this.setState({\r\n components: components\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveSubmitInquiry.name, e));\r\n }\r\n };\r\n\r\n private resolveValidateScore = (json: string): void => {\r\n try {\r\n const {\r\n components\r\n } = this.state;\r\n const result: IJsonResult | undefined\r\n = Resolver(json, this.resolveValidateScore.name);\r\n\r\n if (result?.status && components) {\r\n components.steps.forEach(step => {\r\n const group: IFieldsGroup | undefined = step.fieldsGroups.find(g => g.id === result.data.group);\r\n if (group) {\r\n const field: IFieldForm | undefined = group.fields.find(f => f.data.id === result.data.componentId);\r\n if (field) {\r\n if (result.data.isNumeric) {\r\n field.isNumeric = true;\r\n } else {\r\n field.isNumeric = false;\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.setState({\r\n components: this.state.components\r\n });\r\n }\r\n }\r\n catch (e) {\r\n this.logError(LogData.fromException(this.resolveValidateScore.name, e));\r\n }\r\n };\r\n // #endregion Resolvers\r\n\r\n // #region State Management Events\r\n private onLayoutReady = (): void => {\r\n const ready: boolean = LayoutStore.getLayoutReady();\r\n const resources: IInquiryFormResources | undefined = LayoutStore.getResources();\r\n const cultures: ICultures = LayoutStore.getCultures();\r\n\r\n if (ready) {\r\n\r\n RequestsInquiry.getStates(this.resolveStates, this.logError);\r\n RequestsInquiry.getCountries(this.resolveCountries, this.logError);\r\n\r\n this.setState({\r\n dateTimeCulture: cultures.dateTimeCulture,\r\n firstDayOfWeek: cultures.firstDayOfWeek,\r\n shortDatePattern: cultures.shortDatePattern,\r\n\r\n // Resources\r\n resources: resources\r\n }, this.resolveLayoutReady);\r\n }\r\n else {\r\n this.setState({\r\n componentError: true\r\n }, () => this.logError(LogData.layoutNoReady(this.onLayoutReady.name)));\r\n }\r\n };\r\n // #endregion State Management Events\r\n\r\n // #region Lifecycle\r\n public componentDidMount = (): void => {\r\n // TO DO: Send the ApplicationId\r\n };\r\n\r\n public componentWillUnmount = (): void => {\r\n LayoutStore.removeLayoutReadyListener(this.onLayoutReady);\r\n };\r\n\r\n public componentDidCatch = (error, info): void => {\r\n this.setState({\r\n componentError: true\r\n }, () => {\r\n this.logError(LogData.fromComponentException(this.componentDidCatch.name, error, info));\r\n this.redirectError(500);\r\n });\r\n };\r\n // #endregion Lifecycle\r\n\r\n public render(): JSX.Element {\r\n const {\r\n activeStep,\r\n addresses,\r\n componentError,\r\n components,\r\n countries,\r\n dateTimeCulture,\r\n errors,\r\n expanded,\r\n firstDayOfWeek,\r\n institutions,\r\n openAddressSearchModal,\r\n openETSSearchModal,\r\n pageNumber,\r\n pageSize,\r\n resources,\r\n rowsPerPageOptions,\r\n selectedCity,\r\n selectedCountry,\r\n selectedEtsCode,\r\n selectedInstitutionName,\r\n selectedState,\r\n selectedZipCode,\r\n shortDatePattern,\r\n states,\r\n total\r\n } = this.state;\r\n\r\n let addressSearchModal: JSX.Element | undefined;\r\n\r\n if (resources && resources.addressSearchModal) {\r\n addressSearchModal = (\r\n \r\n );\r\n }\r\n\r\n let etsSearchModal: JSX.Element | undefined;\r\n if (resources && resources.etsSearchModal && states && countries) {\r\n etsSearchModal = (\r\n \r\n );\r\n }\r\n\r\n let contentPage: JSX.Element | undefined;\r\n if (!componentError && resources) {\r\n if (components) {\r\n contentPage = (\r\n <>\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n \r\n {contentPage}\r\n {addressSearchModal}\r\n {etsSearchModal}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InquiryFormViewWithLayout = withLayout(InquiryFormView);\r\n// #endregion Component\r\n\r\n// RenderDOM: Component\r\nReactDOM.render(, document.getElementById('root'));","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 63120,\n\t\"./it-ch.js\": 63120,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 11;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t11: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_hedtech_powercampus_self_service\"] = self[\"webpackChunk_hedtech_powercampus_self_service\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [464], () => (__webpack_require__(4256)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","props","table","paginationComponent","bodyModal","addresses","open","pageNumber","pageSize","rowsPerPageOptions","totalAddress","zipCode","onChangePage","onChangeRowsPerPage","onChangeTextField","onClear","onClickLink","onClose","onSearch","resources","footerModal","Button","id","onClick","btnSearch","color","btnClear","length","tableBody","forEach","address","j","push","Table","key","columnName","lblZipCode","component","scope","Link","city","stateProvinceId","countryId","countyId","lblCity","lblState","state","lblCounty","county","lblCountry","country","Grid","container","spacing","item","xs","breakpoint","Text","lblNoResults","Pagination","count","page","rowsPerPage","onPageChange","onRowsPerPageChange","sm","TextField","label","type","value","onChange","onEnterPress","Modal","header","lblTitle","maxWidth","styles","createStyles","category","marginBottom","Tokens","marginLeft","federalCategory","fontWeight","withStyles","withWidth","sectionIndex","classes","dateTimeCulture","errors","expandedPanelId","fields","governmentIdFormat","groupIndex","isExpansionPanel","isHorizontalAligned","shortDatePattern","stepIndex","width","onChangeCheckBox","onChangeDropDown","onChangeDateTimeField","onChangeExpansionPanel","onChangeListCheckbox","onChangeRadioGroup","onClickButton","onDeleteItem","elements","ids","sectionIndexes","sectionElements","sectionContainers","headerDeleteElement","headerTitleElements","firstHeaderTitleElement","getId","idStringArray","index","Number","setHeaderTitleElements","field","isExpansionPanelHeader","lblNew","splice","componentType","selectedOption","data","options","findIndex","x","description","fillElements","fieldElement","groupErrors","groupId","lblPrimary","fieldSize","modified","gridSize","md","substr","buttonId","isPostalCode","replace","alignItems","direction","error","helperText","required","isRequired","String","maxCharacters","undefined","lblSearch","format","placeholder","emptyOption","lblSelect","exist","option","toString","Dropdown","multiple","allowMultipleSelection","checked","Checkbox","DatePicker","culture","idDelete","IconButton","Icon","name","messageRequired","size","isCheck","chkElements","i","array","Object","values","split","FormControl","root","control","colorText","isWithLink","actionUrl","actions","Paragraph","text","events","map","action","_event","window","location","href","RadioGroup","errorMessage","iped","ipedItem","ipedsEthnicityId","ipedsFederalCategoryId","elementsList","complexOptions","complexItem","childIsChecked","parentIsChecked","List","TextLink","IconProps","align","textVariantStyling","variant","src","alt","dangerouslySetInnerHTML","__html","sectionErrors","section","includes","ExpansionPanel","applicationFormError","isSectionError","background","expandIcon","expanded","justifyContent","isWidthUp","setMultipleFields","firstSectionErrors","isFirstSectionErrors","buttonTop","marginTop","groupTitleBottom","labelElement","instructionsElement","fieldGroup","fieldGroupIndex","firstDayOfWeek","onAddMore","isDisabled","isDisableButton","content","isMultiple","instructions","className","maximumAllowed","disabled","lblAddNew","containerDetails","backgroundColor","padding","failedPayment","paymentTransaction","successPayment","onCloseFailedPayment","resourcesApplicationHandler","btnOk","lblContentTextApplication","lblTitleDetails","Divider","lblAmount","amount","lblDescription","lblAuthorizationCode","authorizationNumber","footer","showTitleBarClose","theme","backButtonMovil","boxStep","textAlign","boxShadow","buttonContainer","buttonsContainerMovil","marginRight","buttonStep","cardRoot","breakpoints","up","fieldContainer","footerPadding","inline","display","mobileStepperContent","minHeight","saveButtonMargin","saveFooter","stepperDesktop","activeStep","components","saveMessage","showSaveButton","onBackStep","onClickSave","onClickStep","onNextStep","onSubmit","noContent","MessageStyled","classMessage","message","lblNotAvailable","steps","Array","step","fieldsGroupsElements","fieldsGroups","title","fieldsGroupsModal","isCompletedApplication","confirmationGroup","confirmationIndex","footerGroup","footerGroupIndex","Card","accent","query","matches","position","nextButton","fluid","lblNext","backButton","lblBack","enableOnlinePayment","feeAmount","Format","isFlatFee","formatHasFee","formatHasFees","StepProgress","nonLinear","orientation","isStepError","optional","lblSubmit","lblSave","tableInstitutions","countries","etsCode","institutionName","institutions","states","totalInstitutions","onChangeDropDownETSSearch","onChangeTextFieldETSSearch","emptyOptionState","lblEmptyOptionState","emptyOptionCountry","lblEmptyOptionCountry","lblInstitutionName","lblETSCode","lblFICECode","row","ficeCode","stateDesc","countryDesc","getAddresses","startIndex","resolver","resolveError","Request","this","getComponents","getChildOptions","url","group","targetId","isApplicationForm","formId","getValidateScoreType","applicationId","test","componentId","testId","getCountries","getStates","getInstitutions","stateId","institution","postSubmit","inquiry","InquiryFormView","activityCount","addressessCount","educationCount","phoneCount","programsCount","createNewSection","setState","initialGroupLength","finalGroupLength","newSet","slice","parentDropDown","e","childField","childDropDown","logError","LogData","groupLength","sectionNumber","deleteButton","isNumeric","onAddDeleteButton","event","currentTarget","inq","fieldId","target","newComponents","Boolean","evaluateAppJs","eval","isInterestedInExtracurricular","isInterestedInFinancialAid","isRetired","isSeekingDegree","policy","isCriminalConviction","isUserDefined","customScript","NaN","find","date","isValid","cultures","dateMinFormat","moment","add","toUpperCase","dateMaxFormat","dateOfEntry","setValues","cleanErrorMessages","formatDateOutOfRange","errorMessageRequired","dateOfBirth","visaExpiration","passportExpiration","optionSelected","valueSelected","selectedPeriod","academicYear","termPeriodId","sessionPeriodId","fieldsGroup","checkBoxListIndex","checkBoxListField","ipedsList","ipeds","filter","RequestsInquiry","childEndPoint","resolveGetChildOptions","applicationFormId","selectedCountry","selectedState","panelId","ipedNew","ipedIndex","itemToRemove","academicInterests","sources","ipedsArray","ethnicity","onPrimaryButtonClick","match","emailRegExpression","email","errorMessageNotValid","onlyNum","RegExp","firstName","formerLastName","governmentId","governmentIdMaxLength","errorMessageFormat","lastName","lastNamePrefix","legalName","middleName","monthsInCountry","errorMessageRange","errorMessageNumeric","nickname","passportNumber","visaNumber","fieldHoursPerWeek","fieldWeeksPerYear","fieldYears","licenseNumber","portOfEntry","sevisNumber","selectedZipCode","onChangeTextFieldAddressSearch","selectedEtsCode","selectedCity","selectedInstitutionName","openETSSearchModal","selectedFieldId","fieldIndex","openAddressSearchModal","LayoutActions","resolveGetAddress","total","previousSize","finishButtonId","assign","Constants","assignFieldValue","onClickZipCodeLink","onCloseAddressSearchModal","onCloseETSSearchModal","componentName","firstPrimaryPhoneField","maxAdd","applicationTop","document","getElementById","scrollIntoView","setApplicationValues","reviewRequiredFields","resolveSubmitInquiry","fieldIdName","isSectionField","errorMessageDuplicate","errorMessagePrimary","copiedField","newField","JSON","parse","stringify","copyField","errorTexId","fieldsErrors","isFieldError","resolveGetInstitutions","phoneFields","numRow","idFields","resolveLayoutReady","activityTypefield","activityField","positionHeldField","numberOfHoursPerWeekField","numberOfWeeksPerYearField","numberOfYearsField","participated9Field","participated10Field","participated11Field","participated12Field","participatedPostSecondaryField","activityList","activity","activityType","hoursPerWeek","weeksPerYear","numberOfYears","participatedGrade09","participatedGrade10","participatedGrade11","participatedGrade12","participatedPostsecondary","setApplicationActivitiesValues","activityItem","setApplicationActivitiesAdditional","activities","addressList","isPrimary","setApplicationAddress","setApplicationAddressValues","line1","line2","line3","line4","stateProvince","postalCode","setApplicationAddressAdditional","educationList","education","enrollment","setApplicationEducation","setApplicationEducationValues","startDate","endDate","curriculumId","honorsId","degreeId","dateTimeMin","dateTimeMax","setApplicationEducationAdditional","hispanicAnswer","textErrorIndex","phoneList","phone","number","phoneTypeField","phoneCountryField","phoneNumberField","primaryPhoneField","phoneItem","phones","programList","program","programId","programField","commintmentField","commitmentId","programs","fieldSectionIndex","sectionErrorIndex","fieldErrorIndex","programsValid","validPhones","ipedsValid","addressValid","userDefinedValid","educationValid","activityValid","isNaN","isDateValid","minDate","Date","toDate","maxDate","isDateInRange","reviewPrograms","reviewPhoneGroup","reviewIpeds","reviewAddress","isCustom","reviewUserDefined","reviewEducation","reviewActivities","firstFieldsErrors","fieldError","some","sectionError","isGroupError","groupError","allErrors","especificErrors","userDefined","columnLabel","columnType","columnValue","isUploading","maxLength","userDefinedIndex","dataType","addressTypefield","houseNumberField","houseNumber","addressLine1Field","addressLine2Field","addressLine3Field","addressLine4Field","addressCityField","stateProvinceField","postalCodeField","countyIdField","addressCountryField","degreefield","curriculumField","honorsField","startDateField","endDateField","institutionField","etsCodeField","cityField","stateField","countryField","ficeCodeField","fieldDefault","collegeAttendStatus","counselorId","countryOfBirth","gender","maritalStatus","passportCountryId","primaryCitizenship","primaryLanguage","prefix","religion","secondaryCitizenship","secondaryLanguage","period","suffix","veteranStatus","visa","visaCountryId","licenseStateId","logData","code","lblPageTitle","hdnAppId","inquiryFormSettingId","remove","resolveGetComponents","json","result","Resolver","resolveCountries","status","overallCount","stepTitle","results","resolveStates","resolveValidateScore","g","f","ready","LayoutStore","componentError","onLayoutReady","info","componentDidCatch","redirectError","idMainPage","idModule","idPage","getInitialState","expansionPanelHeaders","addressSearchModal","etsSearchModal","contentPage","onChangePageAddress","onChangeRowsPerPageAddress","onClearAddress","onSearchAddress","onClearInstitution","onSearchInstitution","applicationHandler","Layout","hideHeader","showCart","showNotifications","React","InquiryFormViewWithLayout","withLayout","ReactDOM","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","keys","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","nc","__webpack_exports__"],"sourceRoot":""}