{"version":3,"file":"contact.ZnGvH73Q.js","sources":["../Client/legacy/Contact.tsx"],"sourcesContent":["import * as AdminApi from '@api/AdminApi';\r\nimport * as EmailApi from '@api/EmailApi';\r\nimport { policyNumber } from '@business/Validation/policyNumber';\r\nimport { Svg } from '@legacy/Components/Svg';\r\nimport * as Main from '@legacy/Main';\r\nimport '@legacy/css/sass/Contact/index.scss';\r\nimport * as Common from '@shared/Common';\r\nimport * as Constants from '@shared/Constants';\r\nimport { AlertFooterType, dateFormat } from '@shared/Constants';\r\nimport * as Models from '@shared/Models';\r\nimport * as Storage from '@shared/Storage';\r\nimport * as Validations from '@shared/Validations';\r\nimport { Rules, Value } from '@webkit/index';\r\nimport dayjs from 'dayjs';\r\nimport * as React from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { PrimaryGreenButton } from './Components/FormGroups/Buttons';\r\nimport { CheckboxFormGroup } from './Components/FormGroups/Checkbox';\r\nimport { DatePickerFormGroup } from './Components/FormGroups/DatePicker';\r\nimport { DropdownFormGroup } from './Components/FormGroups/Dropdown';\r\nimport { RadioFormGroup } from './Components/FormGroups/Radio';\r\nimport { TextFormGroup } from './Components/FormGroups/Text';\r\nimport Alert, { AlertType } from './Components/Modals/Alert';\r\nimport { DropdownItem } from './FormFields';\r\n\r\nconst query = Common.getQueryObject();\r\n\r\nenum RadioCancel {\r\n Duplicate,\r\n Sold,\r\n Other,\r\n}\r\n\r\nenum RadioBank {\r\n First,\r\n Second,\r\n Paid,\r\n}\r\n\r\ninterface IContactPageProps {\r\n zenDeskChatEnabled: boolean;\r\n officeAddress: Models.IPhysicalAddress;\r\n}\r\n\r\ninterface IContactPageState {\r\n errorMessage: string;\r\n authorizedMessage: string;\r\n cancelMessage: string;\r\n errorFound: boolean;\r\n userId: string;\r\n success: boolean;\r\n loading: boolean;\r\n modalVisible: boolean;\r\n canAdditionalInterestsBeEdited: boolean;\r\n contactName: Value<string>;\r\n contactEmail: Value<string>;\r\n agencyName: Value<string>;\r\n agencyPhone: Value<string>;\r\n bankName: Value<string>;\r\n bankNameOld: Value<string>;\r\n bankEmail: Value<string>;\r\n bankFax: Value<string>;\r\n bankLoan: Value<string>;\r\n policyNumber: Value<string>;\r\n policyZip: Value<string>;\r\n reason: Value<string>;\r\n other: Value<string>;\r\n date: Value<dayjs.Dayjs | null>;\r\n address: Value<string>;\r\n city: Value<string>;\r\n stateId: Value<string>;\r\n zip: Value<string>;\r\n subject: Value<string>;\r\n message: Value<string>;\r\n fax: Value<string>;\r\n ckFax: Value<boolean>;\r\n ckEmail: Value<boolean>;\r\n ckDownload: Value<boolean>;\r\n ckConfirm: Value<boolean>;\r\n ckUpdateAddress: Value<boolean>;\r\n ckBusinessCommercial: Value<boolean>;\r\n ckBusinessHomeowners: Value<boolean>;\r\n isBusy: boolean;\r\n minDate: Date;\r\n maxDate: Date;\r\n radioCancel: RadioCancel;\r\n radioBank: RadioBank;\r\n subjectLabel: string;\r\n messageLabel: string;\r\n subjectPlaceholder: string;\r\n}\r\n\r\nexport class ContactPage extends React.Component<IContactPageProps, IContactPageState> {\r\n alert: Alert;\r\n expirationYears: number[];\r\n\r\n constructor(props: IContactPageProps) {\r\n super(props);\r\n\r\n this.state = this.initialState;\r\n }\r\n\r\n get initialState() {\r\n const initial = {\r\n errorMessage: '',\r\n authorizedMessage:\r\n 'I am authorized to make this change. Swyfft, LLC reserves the right to request additional information if needed.',\r\n cancelMessage:\r\n 'No claims of any type will be made against the insurance company, its agents, or its representatives under this policy for losses which occur after the date of cancellations requested above. Any premium adjustment will be made in accordance with the terms and conditions of the policy. ',\r\n errorFound: false,\r\n userId: '',\r\n success: false,\r\n modalVisible: false,\r\n loading: false,\r\n policyNumber: new Value<string>('policy number', query.get('policynumber') || '', [\r\n Rules.required(),\r\n policyNumber(),\r\n ]),\r\n policyZip: new Value<string>('zip code', '', [Rules.required(), Rules.zip()]),\r\n reason: new Value<string>('reason', '', [Rules.required()]),\r\n other: new Value<string>('subject', '', [Rules.maxLength(100)]),\r\n date: new Value<dayjs.Dayjs | null>('date', null, [Rules.required()]),\r\n address: new Value<string>('address', '', [Rules.required(), Rules.maxLength(100)]),\r\n city: new Value<string>('city', '', [Rules.required(), Rules.maxLength(100)]),\r\n stateId: new Value<string>('state', '', [Rules.required()]),\r\n zip: new Value<string>('zip code', '', [Rules.required(), Rules.zip()]),\r\n subject: new Value<string>('subject', '', [Rules.required(), Rules.maxLength(100)]),\r\n message: new Value<string>('message', '', [Rules.required(), Rules.maxLength(400)]),\r\n contactName: new Value<string>('name', Storage.getAgentName() || '', [\r\n Rules.required(),\r\n Rules.maxLength(50),\r\n ]),\r\n contactEmail: new Value<string>('email', Storage.getUserName() || '', [Rules.required(), Rules.email()]),\r\n agencyName: new Value<string>('agency name', '', [Rules.required(), Rules.maxLength(50)]),\r\n agencyPhone: new Value<string>('agency phone', '', [Rules.required(), Rules.phone()]),\r\n bankName: new Value<string>('bank name', '', [Rules.required(), Rules.maxLength(50)]),\r\n bankNameOld: new Value<string>('banknameold', '', [Rules.required(), Rules.maxLength(50)]),\r\n bankEmail: new Value<string>('bank email', '', [\r\n Rules.required(),\r\n Rules.email('Please valid bank email or fax.'),\r\n ]),\r\n bankFax: new Value<string>('bank fax', '', [Rules.phone('Please valid bank fax or email')]),\r\n bankLoan: new Value<string>('bank loan', '', [Rules.maxLength(50)]),\r\n fax: new Value<string>('fax', '', [Rules.phone()]),\r\n ckFax: new Value<boolean>('ckFax', false),\r\n ckEmail: new Value<boolean>('ckEmail', false),\r\n ckDownload: new Value<boolean>('ckDownload', false),\r\n ckConfirm: new Value<boolean>('ckConfirm', false, [Rules.required()]),\r\n ckUpdateAddress: new Value<boolean>('ckUpdateAddress', false),\r\n isBusy: false,\r\n minDate: dayjs().add(-90, 'day').toDate(),\r\n maxDate: dayjs().add(90, 'day').toDate(),\r\n radioCancel: RadioCancel.Duplicate,\r\n radioBank: RadioBank.First,\r\n canAdditionalInterestsBeEdited: false,\r\n subjectLabel: 'Subject',\r\n messageLabel: 'Message',\r\n subjectPlaceholder: '',\r\n ckBusinessCommercial: new Value<boolean>('ckBusinessCommercial', false),\r\n ckBusinessHomeowners: new Value<boolean>('ckBusinessHomeowners', false),\r\n };\r\n\r\n const rule = {\r\n id: 'homeowner-or-commercial',\r\n validator: () =>\r\n this.state.ckBusinessHomeowners.content === true || this.state.ckBusinessCommercial.content === true,\r\n error: () => 'At least one of homeowner or commercial should be selected.',\r\n };\r\n\r\n initial.ckBusinessHomeowners.addRule(rule);\r\n initial.ckBusinessCommercial.addRule(rule);\r\n\r\n return initial;\r\n }\r\n\r\n componentDidMount() {\r\n const reason = query.get('r');\r\n if (reason) this.onDropdownChanged(reason);\r\n\r\n if (this.props.zenDeskChatEnabled) Common.loadZenDeskChatWidget();\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n <div className='container template-container'>\r\n <Alert\r\n ref={c => {\r\n this.alert = c as Alert;\r\n }}\r\n />\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <h1>Contact Us</h1>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col mdOffset={2} md={4} smOffset={0} sm={6} xs={12}>\r\n <DropdownFormGroup\r\n id='reason'\r\n label='Reason'\r\n options={Constants.contactReasonsByNameAndValue.map(\r\n s => new DropdownItem(s.value, s.name, `ddItem${s.value}`)\r\n )}\r\n onChange={(item: DropdownItem) => this.onDropdownChanged(item.value as string)}\r\n value={this.state.reason}\r\n placeholder='Please select a reason'\r\n scrollable={false}\r\n />\r\n </Col>\r\n </Row>\r\n {this.isBankVisible() && (\r\n <div className='template-radio-wrapper-ly'>\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <RadioFormGroup\r\n id='first-radio'\r\n label='Replace Existing Mortgagee'\r\n selected={this.state.radioBank === RadioBank.First}\r\n onSelect={() => this.setState({ radioBank: RadioBank.First })}\r\n className='mortgage-radio-ly'\r\n />\r\n\r\n <RadioFormGroup\r\n id='second-radio'\r\n label='Add A Second Mortgagee'\r\n selected={this.state.radioBank === RadioBank.Second}\r\n onSelect={() => this.setState({ radioBank: RadioBank.Second })}\r\n className='mortgage-radio-ly'\r\n />\r\n\r\n <RadioFormGroup\r\n id='third-radio'\r\n label='Mortgage Paid Off'\r\n selected={this.state.radioBank === RadioBank.Paid}\r\n onSelect={() => this.setState({ radioBank: RadioBank.Paid })}\r\n className='mortgage-radio-ly'\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n\r\n {this.isPolicyNumberVisible() && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} sm={6} xs={12}>\r\n <TextFormGroup\r\n id='policyNumber'\r\n label='Policy Number'\r\n onChange={e =>\r\n this.setState({ policyNumber: this.state.policyNumber.set(e.target.value) })\r\n }\r\n value={this.state.policyNumber}\r\n onBlur={this.checkIfAdditionalInterestsCanBeEdited.bind(this)}\r\n placeholder='e.g. AL01-123456-00'\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='policyZip'\r\n label='Insured Address Zip Code'\r\n onChange={e =>\r\n this.setState({ policyZip: this.state.policyZip.set(e.target.value) })\r\n }\r\n value={this.state.policyZip}\r\n placeholder='Zip Code'\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} sm={6} xs={12}>\r\n <TextFormGroup\r\n id='contactName'\r\n label='Your Full Name'\r\n onChange={e =>\r\n this.setState({ contactName: this.state.contactName.set(e.target.value) })\r\n }\r\n value={this.state.contactName}\r\n placeholder='Name'\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='contactEmail'\r\n label='Your Email'\r\n onChange={e =>\r\n this.setState({ contactEmail: this.state.contactEmail.set(e.target.value.trim()) })\r\n }\r\n value={this.state.contactEmail}\r\n placeholder='Email'\r\n />\r\n </Col>\r\n </Row>\r\n {this.isDateVisible() && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <DatePickerFormGroup\r\n id='date-picker'\r\n label={`${this.isCancelVisible() ? 'Cancellation ' : ''}Effective Date`}\r\n labelId='effectiveDateLabel'\r\n placeholderText='Enter or Select Date'\r\n date={this.state.date}\r\n onChange={date => this.setState({ date: this.state.date.set(date) })}\r\n selected={\r\n this.state.date.content\r\n ? dayjs(this.state.date.content, dateFormat).toDate()\r\n : null\r\n }\r\n minDate={\r\n this.isCancelVisible()\r\n ? dayjs().add(-30, 'day').toDate()\r\n : this.state.minDate\r\n }\r\n maxDate={\r\n this.isCancelVisible()\r\n ? dayjs().add(30, 'day').toDate()\r\n : this.state.maxDate\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n {this.isCancelVisible() &&\r\n this.state.date.content &&\r\n this.state.date.content > dayjs().add(30, 'day') && (\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <p className='input-info-text-cp'>\r\n {this.state.date.content > dayjs().add(30, 'day')\r\n ? 'You have selected a cancellation date more than 30 days in the future from today’s date. A Customer Service Representative may need to contact you for additional information.'\r\n : null}\r\n </p>\r\n </Col>\r\n </Row>\r\n )}\r\n </div>\r\n )}\r\n {this.isCancelVisible() && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckUpdateAddress'\r\n value={this.state.ckUpdateAddress}\r\n label='Select this option to update the mailing address on file for this policy'\r\n onChange={(checked: boolean) =>\r\n this.setState({ ckUpdateAddress: this.state.ckUpdateAddress.set(checked) })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n {this.state.reason.content === 'signupAgent' && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} sm={6} xs={12}>\r\n <TextFormGroup\r\n id='agencyPhone'\r\n label='Phone Number'\r\n onChange={e =>\r\n this.setState({ agencyPhone: this.state.agencyPhone.set(e.target.value) })\r\n }\r\n value={this.state.agencyPhone}\r\n placeholder=''\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='agencyName'\r\n label='Agency Name'\r\n onChange={e =>\r\n this.setState({ agencyName: this.state.agencyName.set(e.target.value) })\r\n }\r\n value={this.state.agencyName}\r\n placeholder=''\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={6} xs={12}>\r\n <div className='form-group-cp'>\r\n <label className={'form-group-label-cp'}>Type Of Business You Write</label>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={3} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckBusinessHomeowners'\r\n value={this.state.ckBusinessHomeowners}\r\n label='Homeowners'\r\n onChange={(checked: boolean) =>\r\n this.setState({\r\n ckBusinessHomeowners: this.state.ckBusinessHomeowners.set(checked),\r\n })\r\n }\r\n />\r\n </Col>\r\n <Col md={3} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckBusinessCommercial'\r\n value={this.state.ckBusinessCommercial}\r\n label='Commercial'\r\n onChange={(checked: boolean) =>\r\n this.setState({\r\n ckBusinessCommercial: this.state.ckBusinessCommercial.set(checked),\r\n })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n {this.isAddressVisible() && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='address'\r\n label='Address'\r\n onChange={e =>\r\n this.setState({ address: this.state.address.set(e.target.value) })\r\n }\r\n value={this.state.address}\r\n placeholder='Address'\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='city'\r\n label='City'\r\n onChange={e => this.setState({ city: this.state.city.set(e.target.value) })}\r\n value={this.state.city}\r\n placeholder='City'\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} smOffset={0} sm={6} xs={12}>\r\n <DropdownFormGroup\r\n id='state'\r\n placeholder='Select State...'\r\n label='State'\r\n options={Constants.statesByNameAndValue.map(\r\n s => new DropdownItem(s.value, s.name, `ddItem${s.value}`)\r\n )}\r\n onChange={(item: DropdownItem) =>\r\n this.setState({\r\n stateId: this.state.stateId.set(item.value as string),\r\n })\r\n }\r\n value={this.state.stateId}\r\n scrollable={true}\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='zip'\r\n label='Zip Code'\r\n onChange={e => this.setState({ zip: this.state.zip.set(e.target.value) })}\r\n value={this.state.zip}\r\n placeholder='Zip Code'\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n\r\n {this.isVerifyVisible() && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='fax'\r\n label='Fax'\r\n onChange={e => this.setState({ fax: this.state.fax.set(e.target.value) })}\r\n value={this.state.fax}\r\n placeholder='Fax Number'\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={3} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckDownload'\r\n value={this.state.ckDownload}\r\n label='Download Policy'\r\n onChange={(checked: boolean) =>\r\n this.setState({ ckDownload: this.state.ckDownload.set(checked) })\r\n }\r\n />\r\n </Col>\r\n <Col md={3} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckEmail'\r\n value={this.state.ckEmail}\r\n label='Email Policy'\r\n onChange={(checked: boolean) =>\r\n this.setState({ ckEmail: this.state.ckEmail.set(checked) })\r\n }\r\n />\r\n </Col>\r\n <Col md={3} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckFax'\r\n value={this.state.ckFax}\r\n label='Fax Policy'\r\n onChange={(checked: boolean) =>\r\n this.setState({ ckFax: this.state.ckFax.set(checked) })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n {this.isCancelVisible() && (\r\n <div className='template-radio-wrapper-ly'>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <div className='form-group-cp add-label-margin-bottom-ly'>\r\n <p className='form-group-label-cp'>Select a Reason for Cancelling the Policy</p>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <RadioFormGroup\r\n id='radio-duplicate'\r\n label='Duplicate Coverage - Supporting documentation of duplicate coverage may be requested'\r\n selected={this.state.radioCancel === RadioCancel.Duplicate}\r\n onSelect={() => this.setState({ radioCancel: RadioCancel.Duplicate })}\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <RadioFormGroup\r\n id='radio-sold'\r\n label='Property Sold - Supporting documentation of property sale may be requested.'\r\n selected={this.state.radioCancel === RadioCancel.Sold}\r\n onSelect={() => this.setState({ radioCancel: RadioCancel.Sold })}\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <RadioFormGroup\r\n id='radio-other'\r\n label='Other'\r\n selected={this.state.radioCancel === RadioCancel.Other}\r\n onSelect={() => this.setState({ radioCancel: RadioCancel.Other })}\r\n />\r\n </Col>\r\n </Row>\r\n {this.state.radioCancel === RadioCancel.Other && (\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='other'\r\n label='Please explain'\r\n onChange={e =>\r\n this.setState({ other: this.state.other.set(e.target.value) })\r\n }\r\n value={this.state.other}\r\n placeholder='Other'\r\n />\r\n </Col>\r\n </Row>\r\n )}\r\n </div>\r\n )}\r\n {this.isSubjectVisible() && (\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='subject'\r\n label={this.state.subjectLabel}\r\n onChange={e => this.setState({ subject: this.state.subject.set(e.target.value) })}\r\n value={this.state.subject}\r\n placeholder={this.state.subjectPlaceholder}\r\n />\r\n </Col>\r\n </Row>\r\n )}\r\n {this.isBankVisible() && this.state.radioBank != RadioBank.Paid && (\r\n <div>\r\n {this.state.radioBank == RadioBank.First && (\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='bankNameOld'\r\n label='Name of the Mortgage Company Being Replaced'\r\n onChange={e =>\r\n this.setState({ subject: this.state.bankNameOld.set(e.target.value) })\r\n }\r\n value={this.state.bankNameOld}\r\n placeholder=''\r\n />\r\n </Col>\r\n </Row>\r\n )}\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} sm={6} xs={12}>\r\n <TextFormGroup\r\n id='bankName'\r\n label='New Bank Name'\r\n onChange={e =>\r\n this.setState({ bankName: this.state.bankName.set(e.target.value) })\r\n }\r\n value={this.state.bankName}\r\n placeholder='Name'\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='bankLoan'\r\n label='New Loan Number'\r\n onChange={e =>\r\n this.setState({ bankLoan: this.state.bankLoan.set(e.target.value) })\r\n }\r\n value={this.state.bankLoan}\r\n placeholder='Loan Number'\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <p className='disclaimer-text-ly'>\r\n Please provide at least one type of contact information.\r\n </p>\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} sm={6} xs={12}>\r\n <TextFormGroup\r\n id='bankFax'\r\n label='New Bank Fax'\r\n onChange={e => {\r\n this.setState({ bankFax: this.state.bankFax.set(e.target.value) });\r\n if (\r\n this.state.bankEmail.content === '' &&\r\n this.state.bankFax.content !== ''\r\n ) {\r\n this.setState({ bankEmail: this.state.bankEmail.set('') });\r\n }\r\n }}\r\n value={this.state.bankFax}\r\n placeholder='Fax'\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='bankEmail'\r\n label='New Email'\r\n onChange={e => {\r\n this.setState({\r\n bankEmail: this.state.bankEmail.set(e.target.value.trim()),\r\n });\r\n if (\r\n this.state.bankFax.content === '' &&\r\n this.state.bankEmail.content !== ''\r\n ) {\r\n this.setState({ bankFax: this.state.bankFax.set('') });\r\n }\r\n }}\r\n value={this.state.bankEmail}\r\n placeholder='Email address'\r\n />\r\n </Col>\r\n </Row>\r\n {(this.state.radioBank === RadioBank.First ||\r\n this.state.radioBank === RadioBank.Second) && (\r\n <div>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='address'\r\n label='New Bank Mailing Address'\r\n onChange={e =>\r\n this.setState({ address: this.state.address.set(e.target.value) })\r\n }\r\n value={this.state.address}\r\n placeholder='Address'\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='city'\r\n label='City'\r\n onChange={e =>\r\n this.setState({ city: this.state.city.set(e.target.value) })\r\n }\r\n value={this.state.city}\r\n placeholder='City'\r\n />\r\n </Col>\r\n </Row>\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={4} smOffset={0} sm={6} xs={12}>\r\n <DropdownFormGroup\r\n id='state'\r\n label='State'\r\n placeholder='Select State...'\r\n options={Constants.statesByNameAndValue.map(\r\n s => new DropdownItem(s.value, s.name, `ddItem${s.value}`)\r\n )}\r\n onChange={(item: DropdownItem) =>\r\n this.setState({\r\n stateId: this.state.stateId.set(item.value as string),\r\n })\r\n }\r\n value={this.state.stateId}\r\n scrollable={true}\r\n />\r\n </Col>\r\n <Col md={4} sm={6} xs={12} className='add-mobile-margin-ly'>\r\n <TextFormGroup\r\n id='zip'\r\n label='Zip Code'\r\n onChange={e =>\r\n this.setState({ zip: this.state.zip.set(e.target.value) })\r\n }\r\n value={this.state.zip}\r\n placeholder='Zip Code'\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n {this.isMessageVisible() && (\r\n <Row className='row-spacing-cp'>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <TextFormGroup\r\n id='message'\r\n label={this.state.messageLabel}\r\n onChange={e => this.setState({ message: this.state.message.set(e.target.value) })}\r\n value={this.state.message}\r\n placeholder=''\r\n multiline={true}\r\n />\r\n </Col>\r\n </Row>\r\n )}\r\n\r\n {this.state.reason.content && this.isConfirmVisible() && (\r\n <Row>\r\n <Col mdOffset={2} md={8} xs={12}>\r\n <CheckboxFormGroup\r\n id='ckConfirm'\r\n className='confirm-checkbox-ly'\r\n value={this.state.ckConfirm}\r\n boldHeader={\r\n this.state.date.content && this.isCancelVisible()\r\n ? `I confirm that my policy should be cancelled effective ${dayjs(\r\n this.state.date.content\r\n ).format('dddd MMMM DD, YYYY')}.`\r\n : null\r\n }\r\n boldHeaderId='cancelEffectiveBoldHeader'\r\n label={\r\n this.state.reason.content && !this.isCancelVisible()\r\n ? this.state.authorizedMessage\r\n : `${this.state.authorizedMessage} ${this.state.cancelMessage}`\r\n }\r\n onChange={(checked: boolean) =>\r\n this.setState({ ckConfirm: this.state.ckConfirm.set(checked) })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n )}\r\n <Row className='button-spacing-cp'>\r\n <Col mdOffset={7} md={3} smOffset={8} sm={4} xs={12}>\r\n <PrimaryGreenButton\r\n id='submit-button'\r\n label={\r\n this.isLoggedIn() && this.state.reason.content === 'changeMortgagee'\r\n ? 'Change Mortgagee'\r\n : 'Submit Request'\r\n }\r\n onClick={() => this.Contact()}\r\n disabled={\r\n this.state.loading ||\r\n (!this.state.ckConfirm.content && this.isConfirmVisible()) ||\r\n (this.state.reason.content === 'verifyPolicy' &&\r\n this.state.ckFax.content === false &&\r\n this.state.ckEmail.content === false &&\r\n this.state.ckDownload.content === false)\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n <section className='container-fluid offices-section-bs offices-section-ly'>\r\n <div className='offices-wrapper-ly'>\r\n <Row>\r\n <Col mdOffset={2} md={9} smOffset={0} sm={12}>\r\n <h2>Offices and Payment Addresses</h2>\r\n </Col>\r\n </Row>\r\n\r\n <Row>\r\n <Col mdOffset={2} md={9} smOffset={0} sm={12}>\r\n <Row>\r\n <Col sm={8}>\r\n <Row>\r\n <Col xs={12}>\r\n <h3>Payment Addresses</h3>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col xs={12}>\r\n <h4>Homeowners Overnight Payments & All Commercial Payments</h4>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col sm={6}>\r\n <div className='office-ly office-bs'>\r\n <Svg\r\n path='/images/location.svg'\r\n alt='Homeowners: Address for Overnight Payments, Commercial: Address for All Mailed Payments'\r\n />\r\n <p>{this.props.officeAddress.Street1}</p>\r\n {this.props.officeAddress.Street2 && (\r\n <p>{this.props.officeAddress.Street2}</p>\r\n )}\r\n <p>{`${this.props.officeAddress.City}, ${this.props.officeAddress.StateCode} ${this.props.officeAddress.Zip}`}</p>\r\n </div>\r\n </Col>\r\n <Col sm={6}>\r\n <div className='office-ly info-bs'>\r\n <Svg\r\n path='/images/info.svg'\r\n alt='Homeowners: Address for Overnight Payments, Commercial: Address for All Mailed Payments'\r\n />\r\n <p>\r\n <strong>Homeowners:</strong>\r\n </p>\r\n <p>Overnight Payments</p>\r\n <p>\r\n <strong>Commercial:</strong>\r\n </p>\r\n <p>All Mailed Payments</p>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col xs={12}>\r\n <h4>Homeowners Standard Annual Payments</h4>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col sm={6}>\r\n <div className='office-ly office-bs'>\r\n <Svg\r\n path='/images/location.svg'\r\n alt='Homeowners (Only): Address for Standard Annual Payments'\r\n />\r\n <p>Swyfft LLC</p>\r\n <p>PO Box 21649</p>\r\n <p>New York, NY 10087-1649</p>\r\n </div>\r\n </Col>\r\n <Col sm={6}>\r\n <div className='office-ly info-bs'>\r\n <Svg\r\n path='/images/info.svg'\r\n alt='Homeowners (Only): Address for Standard Annual Payments'\r\n />\r\n <p>\r\n <strong>Homeowners (Only):</strong>\r\n </p>\r\n <p>Standard Annual Payments</p>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col xs={12}>\r\n <h3>Additional Locations</h3>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col className='two-column-ly' sm={6}>\r\n <h4>Tallahassee (No Payments)</h4>\r\n <div className='office-ly office-bs'>\r\n <Svg path='/images/location.svg' alt='Tallahassee Office' />\r\n <p>2457 Care Drive</p>\r\n <p>Suite 204</p>\r\n <p>Tallahassee, FL 32308</p>\r\n </div>\r\n </Col>\r\n <Col className='two-column-ly' sm={6}>\r\n <h4>Claims</h4>\r\n <div className='office-ly office-bs'>\r\n <Svg path='/images/location.svg' alt='Tallahassee Office' />\r\n <p>{this.props.officeAddress.Street1}</p>\r\n {this.props.officeAddress.Street2 && (\r\n <p>{this.props.officeAddress.Street2}</p>\r\n )}\r\n <p>{`${this.props.officeAddress.City}, ${this.props.officeAddress.StateCode} ${this.props.officeAddress.Zip}`}</p>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col sm={4}>\r\n <div className='payment-info-bs payment-info-ly'>\r\n <h4>Payment Information</h4>\r\n <p>\r\n Payments should be made payable to <strong>Swyfft LLC.</strong>\r\n </p>\r\n <p>\r\n Mailing payment options are <strong>not available</strong> to monthly\r\n pay plans.\r\n </p>\r\n\r\n <h4>Contact Phone Number</h4>\r\n <a\r\n href={`tel:${Common.removeRegEx(\r\n (window as any).customerSupportPhoneNumber,\r\n Constants.regExPatterns.allEnDashes\r\n )}`}\r\n className='phone-bs phone-ly'\r\n >\r\n <span>\r\n <Svg\r\n path='/images/icon-phone.svg'\r\n alt={`Contact customer support at ${\r\n (window as any).customerSupportPhoneNumber\r\n }`}\r\n />\r\n {(window as any).customerSupportPhoneNumber}\r\n </span>\r\n </a>\r\n\r\n <h4>Fax Number</h4>\r\n <a\r\n href={`tel:${Common.removeRegEx(\r\n (window as any).faxNumber,\r\n Constants.regExPatterns.allEnDashes\r\n )}`}\r\n className='phone-bs phone-ly'\r\n >\r\n <span>\r\n <Svg\r\n path='/images/icon-phone.svg'\r\n alt={`Contact customer support at ${(window as any).faxNumber}`}\r\n />\r\n {(window as any).faxNumber}\r\n </span>\r\n </a>\r\n\r\n <h4>Claims Phone Number</h4>\r\n <a\r\n href={`tel:${Common.removeRegEx(\r\n (window as any).claimsPhoneNumber,\r\n Constants.regExPatterns.allEnDashes\r\n )}`}\r\n className='phone-bs phone-ly'\r\n >\r\n <span>\r\n <Svg\r\n path='/images/icon-phone.svg'\r\n alt={`Contact customer support at ${\r\n (window as any).claimsPhoneNumber\r\n }`}\r\n />\r\n {(window as any).claimsPhoneNumber}\r\n </span>\r\n </a>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n </div>\r\n </section>\r\n </div>\r\n );\r\n }\r\n\r\n onChange(e) {\r\n const target = e.target;\r\n const key = target.name;\r\n if (key) {\r\n const state = this.state;\r\n state[key] = this.state[key].set(e.target.value);\r\n this.setState(state);\r\n }\r\n }\r\n\r\n isSubjectVisible() {\r\n if (this.state.reason.content === 'other') {\r\n return true;\r\n }\r\n if (this.state.reason.content === 'signupAgent') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isBankVisible() {\r\n if (this.state.reason.content === 'changeMortgagee' && !this.isLoggedIn()) {\r\n this.state.bankName.setRules([Rules.required()]);\r\n this.state.bankLoan.setRules([Rules.required()]);\r\n if (this.state.bankFax.content === '' && this.state.bankEmail.content === '') {\r\n this.state.bankFax.setRules([Rules.required()]);\r\n this.state.bankEmail.setRules([Rules.required()]);\r\n } else {\r\n this.state.bankFax.setRules([Rules.required(false)]);\r\n this.state.bankEmail.setRules([Rules.required(false)]);\r\n }\r\n return true;\r\n }\r\n this.state.bankName.setRules([Rules.required(false)]);\r\n this.state.bankLoan.setRules([Rules.required(false)]);\r\n this.state.bankFax.setRules([Rules.required(false)]);\r\n return false;\r\n }\r\n\r\n isLoggedIn() {\r\n if (Storage.hasAuth()) return true;\r\n return false;\r\n }\r\n\r\n async checkIfAdditionalInterestsCanBeEdited() {\r\n this.state.policyNumber.validate();\r\n if (this.state.policyNumber.error) {\r\n this.setState({ canAdditionalInterestsBeEdited: false });\r\n } else\r\n this.setState({\r\n canAdditionalInterestsBeEdited: await AdminApi.canAdditionalInterestBeEdited(\r\n this.state.policyNumber.content,\r\n false\r\n ),\r\n });\r\n }\r\n\r\n isMessageVisible() {\r\n if (this.state.reason.content === '') return false;\r\n if (this.state.reason.content === 'changeCancelPolicy') return false;\r\n if (this.state.reason.content === 'verifyPolicy') return false;\r\n //ChangeMortgagee displays the Message box only for users who are not logged in.\r\n if (this.state.reason.content === 'changeMortgagee' && Storage.getLoginDetails()) return false;\r\n return true;\r\n }\r\n\r\n isPolicyNumberVisible() {\r\n if (this.state.reason.content === '') return false;\r\n if (this.state.reason.content === 'signupAgent') return false;\r\n if (this.state.reason.content === 'other') return false;\r\n return true;\r\n }\r\n\r\n isPhoneNumberVisible() {\r\n const reason = this.state.reason.content;\r\n return !!reason && reason === 'signupAgent';\r\n }\r\n\r\n isAgencyNameVisible() {\r\n const reason = this.state.reason.content;\r\n return !!reason && reason === 'signupAgent';\r\n }\r\n\r\n isVerifyVisible() {\r\n if (this.state.reason.content === 'verifyPolicy') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isCancelVisible() {\r\n if (this.state.reason.content === 'changeCancelPolicy') {\r\n if (this.state.ckFax.content === true) {\r\n this.state.fax.setRules([Rules.required()]);\r\n } else {\r\n this.state.fax.setRules([Rules.required(false)]);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isConfirmVisible() {\r\n if (this.state.reason.content === 'signupAgent') return false;\r\n if (this.state.reason.content === 'other') return false;\r\n if (this.state.reason.content === 'verifyPolicy') return false;\r\n return true;\r\n }\r\n\r\n isDateVisible() {\r\n if (this.state.reason.content === 'changeCancelPolicy') {\r\n return true;\r\n }\r\n if (this.state.reason.content === 'changeMortgagee' || this.state.reason.content === 'changeMailingAddress') {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n isAddressVisible() {\r\n if (this.state.reason.content === 'changeMailingAddress') return true;\r\n if (this.state.ckUpdateAddress.content) return true;\r\n return false;\r\n }\r\n\r\n onDropdownChanged(value: string) {\r\n const state = this.initialState;\r\n state.reason = this.state.reason.set(value);\r\n\r\n if (this.state.reason.content === 'claim') {\r\n Common.navigate('claims');\r\n } else if (this.state.reason.content === 'signupAgent') {\r\n // SW-21160 - Marketing has added their own agent signup page, which selecting from this dropdown will navigate to\r\n // The code for the agent signup on this page is otherwise unchanged in case we need to use it again - Darius Carrick 11/29/22\r\n Common.navigate(Constants.pages.NewAgent);\r\n state.messageLabel = 'How Did You Hear About Us';\r\n state.subjectLabel = 'States Where You Do Business';\r\n state.subjectPlaceholder = 'e.g. MA, NY, NJ';\r\n } else {\r\n state.messageLabel = 'Message';\r\n state.subjectLabel = 'Subject';\r\n state.subjectPlaceholder = '';\r\n }\r\n\r\n this.setState(state);\r\n }\r\n\r\n async notifyCancellationDateRange() {\r\n const date = this.state.date.content;\r\n if (!date) {\r\n return;\r\n }\r\n\r\n if (this.state.reason.content === 'changeCancelPolicy' && date < dayjs().add(-7, 'days')) {\r\n await this.alert.message(\r\n \"You have selected a date prior to today's date, a Customer Service Representative may need to contact you for additional information.\",\r\n 'Cancellation Date',\r\n AlertType.Info\r\n );\r\n }\r\n\r\n if (this.state.reason.content === 'changeCancelPolicy' && date > dayjs().add(30, 'days')) {\r\n await this.alert.message(\r\n 'You have selected a cancellation date more than 30 days in the future, a Customer Service Representative may need to contact you for additional information.',\r\n 'Cancellation Date',\r\n AlertType.Info\r\n );\r\n }\r\n }\r\n\r\n async Contact() {\r\n if (this.submitValidationHandler()) {\r\n return;\r\n }\r\n\r\n const policyNumber: string = this.state.policyNumber.content;\r\n\r\n if (this.state.reason.content === '') {\r\n Common.showError('Please review the form and try again.');\r\n return;\r\n }\r\n\r\n // Extra validation logic\r\n if (this.isPolicyNumberVisible()) {\r\n this.state.policyNumber.validate();\r\n if (this.state.policyNumber.error) {\r\n Common.showError('Policy number is not valid, please review it and try again.');\r\n return;\r\n }\r\n if ((await EmailApi.verifyPolicyNumber(policyNumber)) === false) {\r\n Common.showError('Policy number could not be found, please review it and try again.');\r\n return;\r\n }\r\n if ((await EmailApi.verifyPolicyZip(policyNumber, this.state.policyZip.content)) === false) {\r\n Common.showError('Policy number and zip code could not be verified, please review it and try again.');\r\n return;\r\n }\r\n // If they're logged in and they want to change mortgagee and the policy zip is verified, redirect to PolicyBank page\r\n if (\r\n this.state.reason.content === 'changeMortgagee' &&\r\n Storage.getLoginDetails() &&\r\n policyNumber.length > 0\r\n ) {\r\n if (await AdminApi.canAdditionalInterestBeEdited(policyNumber)) {\r\n const url = `${Constants.pages.EditBillableInterests}?policyNumber=${policyNumber}`;\r\n Common.navigate(url);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (this.state.contactEmail.content && !Validations.validateEmail(this.state.contactEmail.content)) {\r\n Common.showError('Please enter a valid email address and try again.');\r\n return;\r\n }\r\n\r\n if (\r\n this.isVerifyVisible() &&\r\n !this.state.ckFax.content &&\r\n !this.state.ckEmail.content &&\r\n !this.state.ckDownload.content\r\n ) {\r\n Common.showError('Please select at least one type of verification (download, email, or fax.)');\r\n return;\r\n }\r\n\r\n this.setState({\r\n errorMessage: '',\r\n loading: true,\r\n });\r\n let cancelReason = 'Undefined';\r\n if (this.state.radioCancel === RadioCancel.Other) cancelReason = 'Other';\r\n if (this.state.radioCancel === RadioCancel.Sold) cancelReason = 'Sold';\r\n if (this.state.radioCancel === RadioCancel.Duplicate) cancelReason = 'Duplicate';\r\n let message = this.state.message.content;\r\n if (this.state.reason.content === 'signupAgent') {\r\n message = '\\r\\nStates: ' + this.state.subject.content + ',\\r\\n Selling: ';\r\n if (this.state.ckBusinessCommercial.content === true) message += 'Commercial, ';\r\n if (this.state.ckBusinessHomeowners.content === true) message += 'Homeowners, ';\r\n message += '\\r\\nPhone: ' + this.state.agencyPhone.content;\r\n message += '\\r\\nAgency: ' + this.state.agencyName.content;\r\n message += '\\r\\nSource: ' + this.state.message.content;\r\n }\r\n if (this.state.reason.content === 'changeMortgagee') {\r\n if (this.state.radioBank === RadioBank.First) {\r\n message = `Update First Mortgage to: '${this.state.bankName.content}', (replacing:' ${this.state.bankNameOld.content}')\\r\\n`;\r\n message += `Effective Date: ${this.state.date.content}\\r\\n`;\r\n message += `New Loan #: ${this.state.bankLoan.content}\\r\\nNew Fax: ${\r\n this.state.bankFax.content ? this.state.bankFax.content : 'None listed'\r\n }\\r\\nNew Bank Email: ${\r\n this.state.bankEmail.content ? this.state.bankEmail.content : 'None listed'\r\n }\\r\\n`;\r\n message += `New Bank Address: ${this.state.address.content}, ${this.state.city.content}, ${this.state.stateId.content} ${this.state.zip.content}\\r\\n`;\r\n message += `Additional Notes: ${\r\n this.state.message.content ? this.state.message.content : 'No notes added.'\r\n }`;\r\n }\r\n if (this.state.radioBank === RadioBank.Second) {\r\n message = `Add Second Mortgage: '${this.state.bankName.content}'\\r\\n`;\r\n message += `Effective Date: ${this.state.date.content}\\r\\n`;\r\n message += `New Loan #: ${this.state.bankLoan.content}\\r\\nNew Bank Fax: ${\r\n this.state.bankFax.content\r\n }\\r\\nNew Bank Email: ${\r\n this.state.bankEmail.content ? this.state.bankEmail.content : 'None listed'\r\n }\\r\\n`;\r\n message += `Second Mortgagee Address: ${this.state.address.content}, ${this.state.city.content}, ${this.state.stateId.content} ${this.state.zip.content}\\r\\n`;\r\n message += `Additional Notes: ${\r\n this.state.message.content ? this.state.message.content : 'No notes added.'\r\n }`;\r\n }\r\n if (this.state.radioBank === RadioBank.Paid) {\r\n message = `\\r\\nMortgage Paid Off, Effective Date: ${this.state.date.content}\\r\\n`;\r\n message += `\\r\\nAdditional Notes: ${\r\n this.state.message.content ? this.state.message.content : 'No notes added.'\r\n }`;\r\n }\r\n }\r\n const model: Models.ContactModel = {\r\n Name: this.state.contactName.content,\r\n Email: this.state.contactEmail.content,\r\n Subject: this.state.subject.content,\r\n Message: message,\r\n ContactType: this.state.reason.content,\r\n PolicyNumber: '',\r\n PolicyZip: this.state.policyZip.content,\r\n Phone: '',\r\n Date: this.state.date.content?.toISOString() ?? '',\r\n FaxNumber: '',\r\n Address: '',\r\n City: '',\r\n StateId: this.state.stateId.content,\r\n Zip: '',\r\n CancelSigned: this.state.ckConfirm.content,\r\n UpdateAddress: this.state.ckUpdateAddress.content,\r\n CancelReason: cancelReason,\r\n CancelDetail: '',\r\n };\r\n\r\n if (this.state.policyNumber.content) {\r\n model.PolicyNumber = await EmailApi.latestPolicyNumber(policyNumber);\r\n }\r\n if (this.state.address.content) model.Address = this.state.address.content;\r\n if (this.state.city.content) model.City = this.state.city.content;\r\n if (this.state.stateId.content) model.StateId = this.state.stateId.content;\r\n if (this.state.zip.content) model.Zip = this.state.zip.content;\r\n if (this.state.other.content) model.CancelDetail = this.state.other.content;\r\n //For the Verify option, an empty email address means do not email the policy\r\n if (this.isVerifyVisible()) {\r\n if (this.state.ckEmail.content) {\r\n if (this.state.contactEmail.content) model.Email = this.state.contactEmail.content;\r\n } else {\r\n model.Email = '';\r\n }\r\n if (this.state.ckFax.content) {\r\n if (this.state.fax.content) model.FaxNumber = this.state.fax.content;\r\n }\r\n if (this.state.ckDownload.content) {\r\n window.open(\r\n `/api/ims/declarationpagezipcode?policyNumber=${this.state.policyNumber.content}&zip=${this.state.policyZip.content}`,\r\n '_blank',\r\n 'noopener noreferrer'\r\n );\r\n }\r\n }\r\n\r\n try {\r\n await EmailApi.sendContactEmail(model);\r\n } catch (err) {\r\n Common.handleGeneralError(err);\r\n } finally {\r\n if (this.state.reason.content === 'signupAgent') {\r\n this.alert.message(\r\n 'Your information has been submitted.',\r\n 'You Chose Us. Awesome!',\r\n AlertType.Message,\r\n AlertFooterType.MarketingTeam\r\n );\r\n } else {\r\n this.alert.message('Your information has been submitted.', 'Thank You', AlertType.Message);\r\n }\r\n\r\n this.setState({\r\n success: true,\r\n errorMessage: '',\r\n errorFound: false,\r\n isBusy: false,\r\n userId: '',\r\n loading: false,\r\n ckUpdateAddress: this.state.ckUpdateAddress.set(false),\r\n policyNumber: this.state.policyNumber.set(''),\r\n policyZip: this.state.policyZip.set(''),\r\n reason: this.state.reason.set(''),\r\n date: this.state.date.set(dayjs()),\r\n address: this.state.address.set(''),\r\n city: this.state.city.set(''),\r\n stateId: this.state.stateId.set(''),\r\n zip: this.state.zip.set(''),\r\n subject: this.state.subject.set(''),\r\n message: this.state.message.set(''),\r\n });\r\n }\r\n }\r\n\r\n //Iterates through state keys and returns 'true' if any value validation errors are found.\r\n private submitValidationHandler(): boolean {\r\n const result: any[] = [];\r\n result.push(this.state.reason.validate());\r\n if (this.isAddressVisible()) {\r\n result.push(this.state.address.validate());\r\n result.push(this.state.city.validate());\r\n result.push(this.state.stateId.validate());\r\n result.push(this.state.zip.validate());\r\n }\r\n\r\n if (this.isSubjectVisible()) {\r\n result.push(this.state.message.validate());\r\n result.push(this.state.subject.validate());\r\n }\r\n if (this.isPolicyNumberVisible()) {\r\n result.push(this.state.policyNumber.validate());\r\n result.push(this.state.policyZip.validate());\r\n }\r\n if (\r\n this.isBankVisible() &&\r\n (this.state.radioBank === RadioBank.First || this.state.radioBank === RadioBank.Second)\r\n ) {\r\n result.push(this.state.bankFax.validate());\r\n result.push(this.state.bankEmail.validate());\r\n result.push(this.state.address.validate());\r\n result.push(this.state.city.validate());\r\n result.push(this.state.stateId.validate());\r\n result.push(this.state.zip.validate());\r\n }\r\n if (this.isCancelVisible()) {\r\n result.push(this.state.ckConfirm.validate());\r\n }\r\n if (this.isVerifyVisible()) {\r\n result.push(this.state.ckFax.validate());\r\n result.push(this.state.ckDownload.validate());\r\n result.push(this.state.ckEmail.validate());\r\n if (this.state.ckEmail.content) {\r\n result.push(this.state.contactEmail.validate());\r\n }\r\n if (this.state.ckFax.content) {\r\n result.push(this.state.fax.validate());\r\n }\r\n }\r\n // We verifyEmail for everything except Other when EMail is unchecked\r\n else {\r\n result.push(this.state.contactEmail.validate());\r\n result.push(this.state.contactName.validate());\r\n }\r\n\r\n if (this.isDateVisible()) {\r\n result.push(this.state.date.validate());\r\n }\r\n\r\n if (this.isPhoneNumberVisible()) {\r\n result.push(this.state.agencyPhone.validate());\r\n }\r\n\r\n if (this.isAgencyNameVisible()) {\r\n result.push(this.state.agencyName.validate());\r\n }\r\n\r\n if (this.state.reason.content === 'signupAgent') {\r\n result.push(this.state.ckBusinessHomeowners.validate());\r\n result.push(this.state.ckBusinessCommercial.validate());\r\n }\r\n\r\n const errorFound = result.some(value => !!value);\r\n this.setState({\r\n errorFound,\r\n });\r\n return errorFound;\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n officeAddress: Models.IPhysicalAddress;\r\n }\r\n}\r\n\r\nfunction init() {\r\n try {\r\n Main.init();\r\n Common.renderComponent(\r\n <ContactPage zenDeskChatEnabled={(window as any).zenDeskChatEnabled} officeAddress={window.officeAddress} />\r\n );\r\n } catch (err) {\r\n Common.handleGeneralError(err);\r\n }\r\n}\r\n\r\ninit();\r\n"],"names":["query","Common.getQueryObject","ContactPage","React.Component","props","__publicField","initial","Value","Rules.required","policyNumber","Rules.zip","Rules.maxLength","Storage.getAgentName","Storage.getUserName","Rules.email","Rules.phone","dayjs","rule","reason","Common.loadZenDeskChatWidget","jsxs","jsx","Alert","c","Row","Col","DropdownFormGroup","Constants.contactReasonsByNameAndValue","s","DropdownItem","item","RadioFormGroup","TextFormGroup","e","DatePickerFormGroup","date","dateFormat","CheckboxFormGroup","checked","Constants.statesByNameAndValue","PrimaryGreenButton","Svg","Common.removeRegEx","Constants.regExPatterns","key","state","Storage.hasAuth","AdminApi.canAdditionalInterestBeEdited","Storage.getLoginDetails","value","Common.navigate","Constants.pages","AlertType","Common.showError","EmailApi.verifyPolicyNumber","EmailApi.verifyPolicyZip","url","Validations.validateEmail","cancelReason","message","model","_a","EmailApi.latestPolicyNumber","EmailApi.sendContactEmail","err","Common.handleGeneralError","AlertFooterType","result","errorFound","init","Main.init","Common.renderComponent"],"mappings":"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"}