{"version":3,"sources":["services/UsStates.js","components/LoadingAnimation/LoadingAnimation.js","components/ContentLoader/ContentLoader.js","components/UsHeatMap/UsHeatMap.js","components/PrintButton.js","components/index.js","services/DataTableHelper.js","services/StringExtensions.js","PalladientComponent.js","views/Shared/SubscriptionAgreementCard.js","providers/Api.js","providers/ProviderBase.js","providers/CustomerProvider.js","providers/CustomerSummaryProvider.js","providers/ProductProvider.js","providers/CustomerEnrollmentProvider.js","providers/UserProvider.js","providers/CustomerContractProvider.js","providers/NoteableTenantProvider.js","providers/UserInvitationProvider.js","providers/UsageImportEventProvider.js","providers/TenantUsageDataProvider.js","providers/SubscriptionProvider.js","providers/InvoiceProvider.js","providers/LocationProvider.js","providers/SalesSummaryDataProvider.js","providers/ReleaseAnnouncementProvider.js","providers/TrainingVideoProvider.js","providers/ApiKeyProvider.js","providers/MonthlySalesReportProvider.js","providers/NoteableTreatmentProgramProvider.js","providers/CustomerNotesProvider.js","providers/CustomerAgreementTemplateProvider.js","providers/TelehealthProvisioningProvider.js","providers/IncidentProvider.js","providers/RapidEnrollmentProvider.js","providers/SalespersonProvider.js","providers/index.js","enums/CustomerEnrollmentStatusEnum.js","enums/CustomerBillingStatusEnum.js","enums/UsageImportEventStatusEnum.js","enums/CustomerPaymentMethodEnum.js","enums/ProductCostBasisEnum.js","enums/DiscountStrategyEnum.js","enums/InvoiceLineItemTypeEnum.js","enums/InvoiceStatusEnum.js","enums/InvoicePaymentMethodEnum.js","enums/CustomerNoteDisplayModeEnum.js","enums/IncidentStatusEnum.js","enums/index.js","views/Shared/AgreementTermsCard.js","services/FormValidator.js","assets/img/brand/logo.svg","assets/img/brand/sygnet.svg","assets/img/brand/logo.png","services/NoteabillApi.js","polyfill.js","nav-admin.js","nav-customer.js","routes.js","containers/DefaultLayout/DefaultFooter.js","containers/DefaultLayout/DefaultHeaderDropdown.js","containers/DefaultLayout/DefaultHeader.js","containers/DefaultLayout/DefaultLayout.js","views/Pages/Login/Login.js","views/Pages/Page404/Page404.js","views/Pages/Page500/Page500.js","views/Pages/Register/Register.js","views/Pages/SigninPage/SigninPage.js","views/Pages/SignoutPage/SignoutPage.js","views/Pages/ForgotPasswordPage/ForgotPasswordPage.js","views/Pages/ResetPasswordPage/ResetPasswordPage.js","views/Pages/CustomerEnrollmentPage/CustomerEnrollmentPage.js","views/Pages/RapidEnrollmentPage/NewCustomerInfoPanel.js","views/Pages/RapidEnrollmentPage/SubscriptionAgreementPanel.js","views/Pages/RapidEnrollmentPage/PaymentInfoPanel.js","views/Pages/RapidEnrollmentPage/RapidEnrollmentPage.js","views/Pages/UserInvitationPage/UserInvitationPage.js","views/Pages/CustomerUserInvitationPage/CustomerUserInvitationPage.js","views/Pages/ViewInvoicePage/ViewInvoicePage.js","App.js","serviceWorker.js","index.js","services/PaymentFormHelper.js","config.js","views/Shared/StatePicker.js"],"names":["__webpack_require__","d","__webpack_exports__","UsStates","name","abbreviation","LoadingAnimation","react_default","a","createElement","reactstrap_es","className","this","props","text","Component","offsets","VT","NH","MA","RI","CT","NJ","DE","MD","DC","colorScale","scaleQuantize","domain","range","UsHeatMap","PropTypes","array","isRequired","_this","Object","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","state","data","ready","_this2","allStates","map","s","interim","find","i","code","id","val","count","setState","loadingMessage","_this3","index_umd","projection","geography","_ref","geographies","Fragment","geo","cur","key","rsmKey","stroke","fill","placement","target","stateNameFromCode","centroid","geoCentroid","keys","indexOf","coordinates","y","fontSize","textAnchor","subject","dx","dy","x","alignmentBaseline","renderLoading","PrintButton","modalIsOpen","content","document","getElementById","innerHTML","window","open","format","height","width","write","windowTitle","bodyClasses","close","setTimeout","print","color","onClick","handleClicked","bind","label","React","components_LoadingAnimation_LoadingAnimation","components_UsHeatMap_UsHeatMap","components_PrintButton","selectRow","cellEdit","usCurrencyFormatter","shortDateFormatter","percentageFormatter","formatUsCurrency","moment__WEBPACK_IMPORTED_MODULE_1__","moment__WEBPACK_IMPORTED_MODULE_1___default","n","mode","cell","row","formatted","moment","num","toString","replace","isNaN","sign","Math","abs","cents","floor","length","substring","String","prototype","f","arguments","RegExp","truncateWithEllipsis","len","concat","stripHtml","DOMParser","parseFromString","body","textContent","isDefaultGuid","isNumeric","parseFloat","toastStyle","zIndex","CanonicalNamePattern","PalladientComponent","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__","handleChange","event","type","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__","checked","value","blurTargetOnEnterKey","keyCode","which","blur","returnValue","preventDefault","alertVisible","alertMessage","alertColor","loading","tooltips","actionsEnabled","goBack","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__","handleNumericInputChange","isTooltipOpen","toggleTooltip","showAlert","hideAlert","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","history","message","valueAsNumber","valueAsString","eventTarget","error","console","log","tryNavigate","response","errorOn404","status","cookie","remove","sessionStorage","removeItem","statusText","json","then","exceptionMessage","path","push","tooltipId","tooltip","t","toast","success","info","warn","dismiss","date","react__WEBPACK_IMPORTED_MODULE_8___default","reactstrap__WEBPACK_IMPORTED_MODULE_9__","propTypes","customer","object","contract","agreementTerms","primarySubscription","products","invoiceLocation","onAccepted","func","buttonDisabled","bool","inReadMode","SubscriptionAgreementCard","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","defineState","confirmOrder","customerProvider","CustomerProvider","productProvider","ProductProvider","contractProvider","CustomerContractProvider","handleAcceptClicked","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","e","productId","product","p","costBasis","ProductCostBasisEnum","FixedPrice","basePrice","Consumption","tiers","perUnitCost","consumptionCostUnit","consumptionCostThreshold","subscription","discountStrategy","DiscountStrategyEnum","None","FixedAmount","discountAmount","FixedReduction","react__WEBPACK_IMPORTED_MODULE_6___default","renderFeeTable","unitMinCount","unitMaxCount","Number","bordered","tierNumber","toLowerCase","addonProductIds","addons","addon","index","description","getPriceTextForProduct","getProduct","initialProductId","_components__WEBPACK_IMPORTED_MODULE_13__","borderless","size","billingContactName","billingEmail","addressLine1","addressLine2","city","stateOrRegion","postalCode","upfrontCost","renderSubscriptionFees","getDiscountText","renderAddonDetails","additionalTerms","contractedGoLiveDate","_AgreementTermsCard__WEBPACK_IMPORTED_MODULE_15__","customerSignedOn","customerSignerEmail","check","onChange","form","disabled","isOpen","toggle","Api","apiBaseUrl","Config","ApiBaseUrl","apiKey","ApiKey","method","headers","startTimestamp","Date","getTime","url","token","load","append","fetch","timespan","Headers","doFetch","image","imageType","file","formData","FormData","ProviderBase","baseEndpoint","api","includes","queryString","endpointNotSet","uri","buildGetOneUrl","get","filter","encodeURIComponent","buildGetManyUrl","post","JSON","stringify","put","patch","delete","notImplemented","endpointType","baseUrl","args","join","BaseEndpoint","_getOne","_getAll","_post","_put","_patch","_delete","securityZoneId","month","year","subscriptionData","contractData","paymentData","accountCode","chargeDetails","locationData","invoiceData","videoData","videoId","tenantData","imageFile","postFile","subscriptionId","relevant","noteId","noteData","CustomerSummaryProvider","imageData","productImage","customerId","CustomerEnrollmentProvider","trialData","UserProvider","avatarData","fileData","NoteableTenantProvider","tenantIds","tenantId","payers","programIds","enabled","UserInvitationProvider","studioId","invitation","UsageImportEventProvider","TenantUsageDataProvider","SubscriptionProvider","InvoiceProvider","invoiceNumber","includeCustomer","requestData","ids","invoiceIds","importToAccount","paymentDetails","paymentMethod","paymentDate","test","LocationProvider","canonicalName","ArLocationCode","SalesSummaryProvider","ReleaseAnnouncementProvider","TrainingVideoProvider","streamingToken","ApiKeyProvider","MonthlySalesReportProvider","NoteableTreatmentProgramProvider","CustomerNotesProvider","CustomerAgreementTemplateProvider","TelehealthProvisioningProvider","userIds","noteableUserIds","IncidentProvider","RapidEnrollmentProvider","SalespersonProvider","customerIds","providers_CustomerProvider","providers_CustomerSummaryProvider","providers_ProductProvider","providers_CustomerEnrollmentProvider","providers_UserProvider","providers_CustomerContractProvider","providers_NoteableTenantProvider","providers_UserInvitationProvider","providers_UsageImportEventProvider","providers_TenantUsageDataProvider","providers_SubscriptionProvider","providers_InvoiceProvider","providers_LocationProvider","SalesSummaryDataProvider","providers_ReleaseAnnouncementProvider","providers_TrainingVideoProvider","providers_ApiKeyProvider","providers_MonthlySalesReportProvider","providers_NoteableTreatmentProgramProvider","providers_CustomerNotesProvider","providers_CustomerAgreementTemplateProvider","providers_TelehealthProvisioningProvider","providers_IncidentProvider","providers_RapidEnrollmentProvider","providers_SalespersonProvider","CustomerEnrollmentStatusEnum","Pending","Trial","Sent","Committed","Signed","PaymentConfirmed","Onboarding","Active","Unenrolled","CustomerBillingStatusEnum","Current","Delinquent","Inactive","UsageImportEventStatusEnum","Running","Completed","Failed","CustomerPaymentMethodEnum","Manual","Ach","Credit","BasePricePlusConsumption","ManualEntry","PercentageReduction","InvoiceLineItemTypeEnum","Normal","Subheading","Subtotal","Custom","InvoiceStatusEnum","Open","Paid","PartiallyPaid","Viewed","InvoicePaymentMethodEnum","Unpaid","DebitAch","DebitCard","ManualCheck","ManualAch","ManualCard","ManualNoPayment","CustomerNoteDisplayModeEnum","Always","UntilRelevantMonth","DuringRelevantMonth","AfterRelevantMonth","IncidentStatusEnum","New","Responded","Assigned","AwaitingClarification","AwaitingRelease","AwaitingDev","Resolved","Confirming","Closed","Aging","Reopened","MeetingForScreenshare","enums_CustomerEnrollmentStatusEnum","enums_CustomerBillingStatusEnum","enums_UsageImportEventStatusEnum","enums_CustomerPaymentMethodEnum","enums_ProductCostBasisEnum","enums_DiscountStrategyEnum","enums_InvoiceLineItemTypeEnum","enums_InvoiceStatusEnum","enums_InvoicePaymentMethodEnum","enums_CustomerNoteDisplayModeEnum","enums_IncidentStatusEnum","string","style","AgreementTermsCard","react__WEBPACK_IMPORTED_MODULE_5___default","reactstrap__WEBPACK_IMPORTED_MODULE_8__","dangerouslySetInnerHTML","__html","FormValidator","validations","validation","valid","forEach","rule","field","isInvalid","field_value","validator","apply","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__","validWhen","isValid","module","exports","AuthorizationEndpoint","PasswordRecoveryEndpoint","EnrollmentByCustomerEndpoint","CustomerCurrentContractEndpoint","SignatureUrlRequestEndpoint","SigningCompletedEndpoint","CustomerBillingLocationEndpoint","CustomerPaymentProfileEndpoint","SessionAvatarEndpoint","NoteabillApi","C_Code_Noteabill_Noteabill_UI_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__","CustomEvent","params","bubbles","cancelable","detail","undefined","evt","createEvent","initCustomEvent","Event","workNav","items","icon","children","customerNav","Loading","AdminHome","Loadable","loader","Promise","all","ProductsPage","EditProductPage","CustomersPage","CustomerPage","CustomerHome","MakeAPaymentPage","MyTrainingsPage","ProfilePage","ImportUsagePage","BrowseUsagePage","MonthlySalesPage","SalesDashboardPage","SalespeoplePage","SalespersonPage","CustomerSubscriptionsPage","CustomerTrainingsPage","CustomerNotesPage","CustomerLocationsPage","CustomerInvoicesPage","InvoicesPage","InvoicePage","SettingsPage","ReleasesPage","PastInvoicesPage","AccountSettingsPage","InternalUsersPage","routes","component","exact","DefaultFooter","_this$props","objectWithoutProperties","href","defaultProps","DefaultHeaderDropdown","dropdownOpen","tasks","avatar","userEmailAddress","userDisplayName","customerName","timer","assertThisInitialized","refreshAvatar","accnt","sessionString","getItem","session","parse","avatarImage","emailAddress","companyName","firstName","lastName","addEventListener","removeEventListener","nav","src","alt","userIsAdmin","dropAccnt","DefaultHeader","es","display","mobile","full","logo","minimized","sygnet","fontWeight","navbar","DefaultLayout_DefaultHeaderDropdown","DefaultLayout","activeNav","adminNav","idleTimer","onAction","onActive","onIdle","home","expire","setTime","save","expires","canConfigure","canManageStudioAccount","salesMenu","c","setHome","index_es","ref","element","debounce","timeout","fixed","DefaultLayout_DefaultHeader","assign","navConfig","appRoutes","fluid","Switch","route","idx","Route","render","Redirect","from","to","DefaultLayout_DefaultFooter","Login","md","addonType","placeholder","autoComplete","xs","active","Page404","Page500","Register","block","sm","AuthEndpoint","logoStyle","textAlign","marginBottom","rememberMeStyle","marginLeft","SigninPage","rememberMe","defineProperty","handleSubmit","validate","submitted","disableForm","email","password","handleUnauthorized","completeLogin","catch","handleReject","formEnabled","buttonText","requestedPath","localStorage","setItem","finally","redirectOnLogin","location","ok","enableForm","alertText","onSubmit","controlid","autoFocus","invalid","components","SignoutPage","headingText","buttonEnabled","handleError","handleResponse","RecoveryEndpoint","ForgotPasswordPage","handleCompleted","handleRejected","ResetPasswordPage","passwordMatch","confirmation","passwordStrength","schema","passwordValidator","is","min","max","has","uppercase","lowercase","digits","not","spaces","qs","search","endpoint","requestId","handleErrorResponse","formVisible","passwordConfirm","handleCheckRequestCompleted","enrollment","onFormCompleted","NewCustomerInfoPanel","title","zip","phone","goLiveDate","add","completed","stateData","react_text_mask_hoc_esm","mask","InputAdapter","StatePicker","handleAddressStateChanged","react_datepicker_min_default","dateFormat","showMonthDropdown","showYearDropdown","selected","toDate","handleGoLiveDateChanged","handleNextClicked","agreementData","onAgreementAccepted","SubscriptionAgreementPanel","handleAgreementAccepted","setupInvoice","isProcessing","onPaymentInfoUpdated","PaymentInfoPanel","bankAccountValidator","creditCardValidator","storedPaymentType","saving","nameOnAccount","cardNumber","cardExpMonth","getMonth","cardExpYear","getFullYear","cardCode","routingNumber","accountNumber","bankName","typeOfAccount","billingFirstName","billingLastName","billingAddressLine1","billingAddressLine2","billingCity","billingState","billingZip","ccValidation","baValidation","paymentInfoSubmitted","enrollmentProvider","paymentProfile","billingPhone","paymentType","billedAmount","lg","handlePaymentMethodChanged","htmlFor","accountType","accountNumberLastFour","required","getCcExpYears","BankAccountType","Checking","Savings","handleSavePaymentClicked","RapidEnrollmentPage","currentStep","processingPayment","customerEnrollmentProvider","rapidEnrollmentProvider","startLoading","invitationId","getOne","screenApiResponse","loadAgreementData","enrollmentStatus","handleApiRejection","stopLoading","enrollmentId","getEnrollmentAgreement","_this4","updatedEnrollment","_this5","signEnrollmentAgreement","responseData","paymentInfo","_this6","savePaymentProfile","contractId","_this7","getSigningUrl","signUrlResponse","isLoading","RapidEnrollmentPage_NewCustomerInfoPanel","handleCustomerInfoFormCompleted","RapidEnrollmentPage_SubscriptionAgreementPanel","RapidEnrollmentPage_PaymentInfoPanel","handlePaymentInfoUpdated","UserInvitationPage","userInvitationProvider","completeInvitation","userPassword","userFirstName","userLastName","userData","getInvitation","CustomerUserInvitationPage","getBySecurityZoneId","ViewInvoicePage","invoice","payNowModalIsOpen","historyPanelIsExpanded","invoiceProvider","handlePrintClicked","handlePayClicked","toggleHistoryPanel","invoiceId","loadInvoice","markInvoiceViewed","sort","b","eventDateTime","markViewed","lineItems","nextNumber","itemType","lineItemNumber","renderInvoiceIdMissing","numberLineItems","arLocation","receivablesAddress","invoiceAddress","paymentSubstatus","paymentFailedReason","phoneNumber","invoiceDate","striped","responsive","li","lineItem","colSpan","itemName","amount","quantity","unitCost","subtotal","invoiceText","balance","dist","eventDescription","createdAt","react_timeago_lib_default","iconColor","isAuthenticated","AuthRoute","rest","ProtectedRoute","_ref2","pathname","App","HashRouter","App_AuthRoute","App_ProtectedRoute","Boolean","hostname","match","ReactDOM","src_App_0","navigator","serviceWorker","registration","unregister","moment__WEBPACK_IMPORTED_MODULE_0__","moment__WEBPACK_IMPORTED_MODULE_0___default","years","dateStart","dateEnd","diff","Settings","BaseUrl","process","DefaultRoute","FirebaseDomain","CompanyName","DemoTenantId","CompassTenantId","SuperAdminId","getSetting","reactstrap__WEBPACK_IMPORTED_MODULE_6__","handleStateSelected"],"mappings":"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","file":"static/js/main.4ce722d8.chunk.js","sourcesContent":["\r\nexport const UsStates = [\r\n {\r\n \"name\": \"Alabama\",\r\n \"abbreviation\": \"AL\"\r\n },\r\n {\r\n \"name\": \"Alaska\",\r\n \"abbreviation\": \"AK\"\r\n },\r\n {\r\n \"name\": \"American Samoa\",\r\n \"abbreviation\": \"AS\"\r\n },\r\n {\r\n \"name\": \"Arizona\",\r\n \"abbreviation\": \"AZ\"\r\n },\r\n {\r\n \"name\": \"Arkansas\",\r\n \"abbreviation\": \"AR\"\r\n },\r\n {\r\n \"name\": \"California\",\r\n \"abbreviation\": \"CA\"\r\n },\r\n {\r\n \"name\": \"Colorado\",\r\n \"abbreviation\": \"CO\"\r\n },\r\n {\r\n \"name\": \"Connecticut\",\r\n \"abbreviation\": \"CT\"\r\n },\r\n {\r\n \"name\": \"Delaware\",\r\n \"abbreviation\": \"DE\"\r\n },\r\n {\r\n \"name\": \"District Of Columbia\",\r\n \"abbreviation\": \"DC\"\r\n },\r\n {\r\n \"name\": \"Federated States Of Micronesia\",\r\n \"abbreviation\": \"FM\"\r\n },\r\n {\r\n \"name\": \"Florida\",\r\n \"abbreviation\": \"FL\"\r\n },\r\n {\r\n \"name\": \"Georgia\",\r\n \"abbreviation\": \"GA\"\r\n },\r\n {\r\n \"name\": \"Guam\",\r\n \"abbreviation\": \"GU\"\r\n },\r\n {\r\n \"name\": \"Hawaii\",\r\n \"abbreviation\": \"HI\"\r\n },\r\n {\r\n \"name\": \"Idaho\",\r\n \"abbreviation\": \"ID\"\r\n },\r\n {\r\n \"name\": \"Illinois\",\r\n \"abbreviation\": \"IL\"\r\n },\r\n {\r\n \"name\": \"Indiana\",\r\n \"abbreviation\": \"IN\"\r\n },\r\n {\r\n \"name\": \"Iowa\",\r\n \"abbreviation\": \"IA\"\r\n },\r\n {\r\n \"name\": \"Kansas\",\r\n \"abbreviation\": \"KS\"\r\n },\r\n {\r\n \"name\": \"Kentucky\",\r\n \"abbreviation\": \"KY\"\r\n },\r\n {\r\n \"name\": \"Louisiana\",\r\n \"abbreviation\": \"LA\"\r\n },\r\n {\r\n \"name\": \"Maine\",\r\n \"abbreviation\": \"ME\"\r\n },\r\n {\r\n \"name\": \"Marshall Islands\",\r\n \"abbreviation\": \"MH\"\r\n },\r\n {\r\n \"name\": \"Maryland\",\r\n \"abbreviation\": \"MD\"\r\n },\r\n {\r\n \"name\": \"Massachusetts\",\r\n \"abbreviation\": \"MA\"\r\n },\r\n {\r\n \"name\": \"Michigan\",\r\n \"abbreviation\": \"MI\"\r\n },\r\n {\r\n \"name\": \"Minnesota\",\r\n \"abbreviation\": \"MN\"\r\n },\r\n {\r\n \"name\": \"Mississippi\",\r\n \"abbreviation\": \"MS\"\r\n },\r\n {\r\n \"name\": \"Missouri\",\r\n \"abbreviation\": \"MO\"\r\n },\r\n {\r\n \"name\": \"Montana\",\r\n \"abbreviation\": \"MT\"\r\n },\r\n {\r\n \"name\": \"Nebraska\",\r\n \"abbreviation\": \"NE\"\r\n },\r\n {\r\n \"name\": \"Nevada\",\r\n \"abbreviation\": \"NV\"\r\n },\r\n {\r\n \"name\": \"New Hampshire\",\r\n \"abbreviation\": \"NH\"\r\n },\r\n {\r\n \"name\": \"New Jersey\",\r\n \"abbreviation\": \"NJ\"\r\n },\r\n {\r\n \"name\": \"New Mexico\",\r\n \"abbreviation\": \"NM\"\r\n },\r\n {\r\n \"name\": \"New York\",\r\n \"abbreviation\": \"NY\"\r\n },\r\n {\r\n \"name\": \"North Carolina\",\r\n \"abbreviation\": \"NC\"\r\n },\r\n {\r\n \"name\": \"North Dakota\",\r\n \"abbreviation\": \"ND\"\r\n },\r\n {\r\n \"name\": \"Northern Mariana Islands\",\r\n \"abbreviation\": \"MP\"\r\n },\r\n {\r\n \"name\": \"Ohio\",\r\n \"abbreviation\": \"OH\"\r\n },\r\n {\r\n \"name\": \"Oklahoma\",\r\n \"abbreviation\": \"OK\"\r\n },\r\n {\r\n \"name\": \"Oregon\",\r\n \"abbreviation\": \"OR\"\r\n },\r\n {\r\n \"name\": \"Palau\",\r\n \"abbreviation\": \"PW\"\r\n },\r\n {\r\n \"name\": \"Pennsylvania\",\r\n \"abbreviation\": \"PA\"\r\n },\r\n {\r\n \"name\": \"Puerto Rico\",\r\n \"abbreviation\": \"PR\"\r\n },\r\n {\r\n \"name\": \"Rhode Island\",\r\n \"abbreviation\": \"RI\"\r\n },\r\n {\r\n \"name\": \"South Carolina\",\r\n \"abbreviation\": \"SC\"\r\n },\r\n {\r\n \"name\": \"South Dakota\",\r\n \"abbreviation\": \"SD\"\r\n },\r\n {\r\n \"name\": \"Tennessee\",\r\n \"abbreviation\": \"TN\"\r\n },\r\n {\r\n \"name\": \"Texas\",\r\n \"abbreviation\": \"TX\"\r\n },\r\n {\r\n \"name\": \"Utah\",\r\n \"abbreviation\": \"UT\"\r\n },\r\n {\r\n \"name\": \"Vermont\",\r\n \"abbreviation\": \"VT\"\r\n },\r\n {\r\n \"name\": \"Virgin Islands\",\r\n \"abbreviation\": \"VI\"\r\n },\r\n {\r\n \"name\": \"Virginia\",\r\n \"abbreviation\": \"VA\"\r\n },\r\n {\r\n \"name\": \"Washington\",\r\n \"abbreviation\": \"WA\"\r\n },\r\n {\r\n \"name\": \"West Virginia\",\r\n \"abbreviation\": \"WV\"\r\n },\r\n {\r\n \"name\": \"Wisconsin\",\r\n \"abbreviation\": \"WI\"\r\n },\r\n {\r\n \"name\": \"Wyoming\",\r\n \"abbreviation\": \"WY\"\r\n }\r\n]\r\n","import React, { Component } from 'react';\r\nimport { Container, Row } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst propTypes = {\r\n text: PropTypes.string,\r\n};\r\n\r\nclass LoadingAnimation extends Component {\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n
 \r\n
 \r\n
 \r\n
 \r\n
\r\n
\r\n
\r\n \r\n

{this.props.text}

\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nLoadingAnimation.propTypes = propTypes;\r\n\r\nexport default LoadingAnimation;","import React, { Component } from 'react';\r\nimport { Collapse } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\nimport LoadingAnimation from '../LoadingAnimation';\r\n\r\nconst propTypes = {\r\n children: PropTypes.node.isRequired,\r\n loading: PropTypes.bool,\r\n};\r\n \r\nclass ContentLoader extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nContentLoader.propTypes = propTypes;\r\n\r\nexport default ContentLoader;\r\n\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, UncontrolledTooltip } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\nimport { geoCentroid } from \"d3-geo\";\r\nimport { scaleQuantize } from \"d3-scale\";\r\nimport {\r\n ComposableMap,\r\n Geographies,\r\n Geography,\r\n Marker,\r\n Annotation\r\n} from \"react-simple-maps\";\r\nimport { UsStates } from '../../services/UsStates';\r\nimport allStates from \"./data/allstates.json\";\r\n\r\nconst geoUrl = \"https://cdn.jsdelivr.net/npm/us-atlas@3/states-10m.json\";\r\n\r\nconst offsets = {\r\n VT: [50, -8],\r\n NH: [34, 2],\r\n MA: [30, -1],\r\n RI: [28, 2],\r\n CT: [35, 10],\r\n NJ: [34, 1],\r\n DE: [33, 0],\r\n MD: [47, 10],\r\n DC: [49, 21]\r\n};\r\n\r\nconst colorScale = scaleQuantize()\r\n .domain([0, 9])\r\n .range([\r\n \"#ffedea\",\r\n \"#ffcec5\",\r\n \"#ffad9f\",\r\n \"#ff8a75\",\r\n \"#ff5533\",\r\n \"#e2492d\",\r\n \"#be3d26\",\r\n \"#9a311f\",\r\n \"#782618\"\r\n ]);\r\n\r\nconst propTypes = {\r\n data: PropTypes.array.isRequired,\r\n}\r\n\r\nclass UsHeatMap extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n data: [],\r\n ready: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const data = allStates.map(s => {\r\n const interim = this.props.data.find(i => i.code === s.id);\r\n return {\r\n id: s.val,\r\n code: s.id,\r\n count: interim ? interim.count : 0,\r\n }\r\n });\r\n this.setState({data: data, ready: true});\r\n }\r\n\r\n stateNameFromCode(code) {\r\n return UsStates.find(s => s.abbreviation === code).name;\r\n }\r\n\r\n renderLoading(loadingMessage) {\r\n return (\r\n \r\n \r\n
\r\n
 \r\n
 \r\n
 \r\n
 \r\n
\r\n
\r\n
\r\n \r\n

{loadingMessage ? loadingMessage : this.state.loadingMessage}

\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return this.state.ready ? (\r\n \r\n \r\n {({ geographies }) => (\r\n <>\r\n {geographies.map(geo => {\r\n const cur = this.state.data.find(s => s.id === geo.id);\r\n return (\r\n \r\n \r\n \r\n {this.stateNameFromCode(cur.code)} - {cur.count}\r\n \r\n \r\n )\r\n })}\r\n {geographies.map(geo => {\r\n const centroid = geoCentroid(geo);\r\n const cur = allStates.find(s => s.val === geo.id);\r\n return (\r\n \r\n {cur &&\r\n centroid[0] > -160 &&\r\n centroid[0] < -67 &&\r\n (Object.keys(offsets).indexOf(cur.id) === -1 ? (\r\n \r\n \r\n {cur.id}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {cur.id}\r\n \r\n \r\n ))}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n ) : this.renderLoading(); \r\n }\r\n};\r\n\r\nexport default UsHeatMap;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Button,\r\n} from 'reactstrap';\r\n\r\nconst propTypes = {\r\n target: PropTypes.string,\r\n color: PropTypes.string,\r\n className: PropTypes.string,\r\n label: PropTypes.string,\r\n height: PropTypes.number,\r\n width: PropTypes.number,\r\n bodyClasses: PropTypes.string,\r\n windowTitle: PropTypes.string,\r\n}\r\n\r\nclass PrintButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n modalIsOpen: false,\r\n }\r\n }\r\n\r\n handleClicked() {\r\n var content = document.getElementById(this.props.target).innerHTML;\r\n var a = window.open('','',\"height={0}, width={1}\".format(this.props.height, this.props.width));\r\n a.document.write('');\r\n a.document.write('');\r\n a.document.write('' + this.props.windowTitle + '')\r\n a.document.write('')\r\n a.document.write('');\r\n a.document.write(\"\".format(this.props.bodyClasses));\r\n a.document.write(content);\r\n a.document.write('');\r\n a.document.write('');\r\n a.document.close();\r\n setTimeout(() => a.print(), 1000);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nPrintButton.propTypes = propTypes;\r\n\r\nexport default PrintButton;","import ContentLoader from './ContentLoader';\r\nimport LoadingAnimation from './LoadingAnimation';\r\nimport UsHeatMap from './UsHeatMap/UsHeatMap';\r\nimport PrintButton from './PrintButton';\r\n\r\nexport { ContentLoader, LoadingAnimation, UsHeatMap, PrintButton };\r\n","import Moment from 'react-moment';\r\nimport moment from 'moment';\r\n\r\nexport const selectRow = {\r\n mode: 'checkbox',\r\n};\r\n\r\nexport const cellEdit = {\r\n mode: 'click',\r\n}\r\n\r\nexport function usCurrencyFormatter(cell, row) {\r\n return formatUsCurrency(cell);\r\n}\r\n\r\nexport function stringListFormatter(cell, row) {\r\n if (cell.length < 1) return 'None';\r\n return cell.join(', ');\r\n}\r\n\r\nexport function shortDateFormatter(cell, row) {\r\n if (!cell) return '';\r\n var formatted = moment(cell).format('MM/DD/YYYY');\r\n if (formatted === '01/01/0001') return '';\r\n else return formatted;\r\n}\r\n\r\nexport function percentageFormatter(cell, row) {\r\n return (cell * 100) + '%';\r\n}\r\n\r\nexport function formatUsCurrency(num)\r\n{\r\n if (!num) return \"$0.00\";\r\n num = num.toString().replace(/\\$|\\,/g, '');\r\n if (isNaN(num))\r\n {\r\n num = \"0\";\r\n }\r\n\r\n var sign = (num == (num = Math.abs(num)));\r\n num = Math.floor(num * 100 + 0.50000000001);\r\n var cents = num % 100;\r\n num = Math.floor(num / 100).toString();\r\n\r\n if (cents < 10)\r\n {\r\n cents = \"0\" + cents;\r\n }\r\n for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)\r\n {\r\n num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));\r\n }\r\n\r\n return (((sign) ? '' : '-') + '$' + num + '.' + cents);\r\n}","const DefaultGuid = '00000000-0000-0000-0000-000000000000';\r\n\r\nString.prototype.format = String.prototype.f = function() {\r\n var s = this,\r\n i = arguments.length;\r\n\r\n while (i--) {\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arguments[i]);\r\n }\r\n return s;\r\n};\r\n\r\nString.prototype.truncateWithEllipsis = String.prototype.f = function() { \r\n var s = this,\r\n len = arguments[0];\r\n return s.length > len ? `${s.substring(0, len)}...` : s;\r\n};\r\n\r\n\r\nString.prototype.stripHtml = String.prototype.f = function() {\r\n var s = this;\r\n var doc = new DOMParser().parseFromString(s, 'text/html');\r\n return doc.body.textContent || \"\"; \r\n}\r\n\r\nString.prototype.isDefaultGuid = String.prototype.f = function() {\r\n var s = this;\r\n return s == DefaultGuid;\r\n}\r\n\r\nString.prototype.isNumeric = String.prototype.f = function() {\r\n var str = this;\r\n return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\r\n !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row } from 'reactstrap';\r\nimport { toast } from 'react-toastify';\r\nimport cookie from 'react-cookies';\r\nimport moment from 'moment';\r\nimport Config from './config';\r\n\r\nexport const toastStyle = {\r\n zIndex: 1999\r\n};\r\n\r\nexport const CanonicalNamePattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/i;\r\n\r\nclass PalladientComponent extends Component { \r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n alertVisible: false,\r\n alertMessage: \"\",\r\n alertColor: \"info\",\r\n loading: false,\r\n loadingMessage: \"Loading...\",\r\n tooltips: [],\r\n actionsEnabled: true,\r\n }\r\n\r\n this.goBack = this.goBack.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleNumericInputChange = this.handleNumericInputChange.bind(this);\r\n this.isTooltipOpen = this.isTooltipOpen.bind(this);\r\n this.toggleTooltip = this.toggleTooltip.bind(this);\r\n this.showAlert = this.showAlert.bind(this);\r\n this.hideAlert = this.hideAlert.bind(this);\r\n }\r\n \r\n defineState(state) {\r\n this.state = {...this.state, ...state};\r\n }\r\n\r\n goBack() {\r\n this.props.history.goBack();\r\n }\r\n \r\n showAlert(message, color) {\r\n this.setState({ alertVisible: true, alertMessage: message, alertColor: color });\r\n }\r\n\r\n hideAlert() {\r\n this.setState({ alertVisible: false });\r\n }\r\n \r\n handleChange = (event) => {\r\n if (event.target.type == 'checkbox') {\r\n this.setState({\r\n [event.target.id]: event.target.checked\r\n });\r\n } else {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n }); \r\n }\r\n }\r\n\r\n handleNumericInputChange(valueAsNumber, valueAsString, eventTarget) {\r\n this.setState({\r\n [eventTarget.id]: valueAsNumber\r\n });\r\n }\r\n\r\n handleApiRejection(error) {\r\n console.log(error);\r\n this.tryNavigate('/500');\r\n }\r\n\r\n handleApiRejectionInModal(error) {\r\n console.log(error);\r\n this.showAlert(\"An unexpected error occurred. The dev team are notified. Please try your request later.\", \"danger\");\r\n this.setState({actionsEnabled: false});\r\n }\r\n\r\n screenApiResponse(response, errorOn404) {\r\n if (response.status === 401) {\r\n // session on server is toast. need to sign in.\r\n cookie.remove('token');\r\n sessionStorage.removeItem('session');\r\n this.tryNavigate('/signin');\r\n return response;\r\n }\r\n else if ((response.status === 404 && errorOn404) || response.status === 409) {\r\n this.showAlert(response.status + \" - \" + response.statusText, \"warn\");\r\n }\r\n else if (response.status === 500 || response.status === 400) {\r\n response.json().then(data => {\r\n console.log(data);\r\n if (data.exceptionMessage) {\r\n this.showAlert(data.exceptionMessage, \"danger\")\r\n } else {\r\n this.showAlert(response.statusText, \"danger\");\r\n }\r\n });\r\n }\r\n else if (response.status != 200 && response.status != 201) {\r\n // bad request or something unexpected.\r\n console.log(response);\r\n this.showAlert(response.status + \" - \" + response.statusText, \"danger\");\r\n } else {\r\n this.hideAlert();\r\n return response;\r\n }\r\n }\r\n\r\n screenApiResponseInModal(response) {\r\n if (response.status === 500) {\r\n response.json().then(data => {\r\n console.log(data);\r\n if (data.exceptionMessage) {\r\n this.showAlert(data.exceptionMessage, \"danger\")\r\n } else {\r\n this.showAlert(response.statusText, \"danger\");\r\n }\r\n });\r\n }\r\n else if (response.status != 201 && response.status != 200) {\r\n console.log(response);\r\n this.showAlert(response.status + \" - \" + response.statusText, \"danger\");\r\n } else{\r\n return response;\r\n }\r\n }\r\n\r\n tryNavigate(path) {\r\n if (this.props.history) this.props.history.push(path);\r\n }\r\n\r\n blurTargetOnEnterKey = event => {\r\n const keyCode = event.keyCode || event.which\r\n\r\n if (keyCode === 13) {\r\n event.target.blur();\r\n event.returnValue = false;\r\n if (event.preventDefault) event.preventDefault()\r\n }\r\n }\r\n\r\n toggleTooltip(tooltipId) {\r\n var tooltips = this.state.tooltips;\r\n var tooltip = tooltips.find(t => t.id === tooltipId);\r\n if (tooltip) tooltip.open = !tooltip.open;\r\n this.setState({tooltips:tooltips});\r\n }\r\n\r\n isTooltipOpen(tooltipId) {\r\n var tooltip = this.state.tooltips.find(t => t.id == tooltipId);\r\n if (tooltip) return tooltip.open; \r\n }\r\n\r\n getTooltipText(tooltipId) {\r\n var tooltip = this.state.tooltips.find(t => t.id == tooltipId);\r\n return tooltip ? tooltip.text : tooltipId; \r\n }\r\n\r\n toast(message) {\r\n return toast(message);\r\n }\r\n \r\n toastDanger(message) {\r\n return toast.error(message);\r\n }\r\n\r\n toastSuccess(message) {\r\n return toast.success(message);\r\n }\r\n\r\n toastInfo(message) {\r\n return toast.info(message);\r\n }\r\n\r\n toastWarn(message) {\r\n return toast.warn(message);\r\n }\r\n\r\n toastClear() {\r\n return toast.dismiss();\r\n }\r\n\r\n isLoading() {\r\n return this.state.loading;\r\n }\r\n\r\n startLoading(message) {\r\n if (!message) message = \"Loading...\";\r\n return this.setState({loading: true, loadingMessage: message});\r\n }\r\n\r\n stopLoading() {\r\n this.setState({loading: false});\r\n } \r\n\r\n formatShortDate(date) {\r\n var formatted = moment(date).format('MM/DD/YYYY');\r\n if (formatted === '01/01/0001') return 'N/A';\r\n else return formatted; \r\n }\r\n\r\n renderLoading(loadingMessage) {\r\n return (\r\n \r\n \r\n
\r\n
 \r\n
 \r\n
 \r\n
 \r\n
\r\n
\r\n
\r\n \r\n

{loadingMessage ? loadingMessage : this.state.loadingMessage}

\r\n
\r\n
\r\n );\r\n }\r\n} \r\n\r\nexport default PalladientComponent;","import React from 'react';\r\nimport PalladientComponent from '../../PalladientComponent';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Table,\r\n Row, Col, CardHeader, Card, CardBody,\r\n Form, FormGroup, Input, Label, Alert } from 'reactstrap';\r\nimport { CustomerProvider, ProductProvider, CustomerContractProvider } from '../../providers';\r\nimport { formatUsCurrency } from '../../services/DataTableHelper';\r\nimport { ProductCostBasisEnum, DiscountStrategyEnum } from '../../enums';\r\nimport { PrintButton } from '../../components';\r\nimport moment from 'moment';\r\nimport AgreementTermsCard from './AgreementTermsCard';\r\n\r\nconst propTypes = {\r\n customer: PropTypes.object.isRequired,\r\n contract: PropTypes.object.isRequired,\r\n agreementTerms: PropTypes.object.isRequired,\r\n primarySubscription: PropTypes.object.isRequired,\r\n products: PropTypes.array.isRequired,\r\n invoiceLocation: PropTypes.object.isRequired,\r\n onAccepted: PropTypes.func,\r\n buttonDisabled: PropTypes.bool,\r\n inReadMode: PropTypes.bool,\r\n}\r\n\r\nclass SubscriptionAgreementCard extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.defineState({\r\n confirmOrder: false,\r\n });\r\n\r\n this.products = [];\r\n this.contract = {};\r\n this.invoiceLocation= {};\r\n\r\n this.customerProvider = new CustomerProvider();\r\n this.productProvider = new ProductProvider();\r\n this.contractProvider = new CustomerContractProvider();\r\n\r\n this.handleAcceptClicked = this.handleAcceptClicked.bind(this);\r\n }\r\n\r\n handleAcceptClicked(e) {\r\n e.preventDefault();\r\n if (!this.state.confirmOrder) {\r\n this.showAlert(\"You must check the box to provide consent before continuing.\", \"warning\");\r\n } else {\r\n this.hideAlert();\r\n if (this.props.onAccepted) this.props.onAccepted();\r\n }\r\n }\r\n\r\n getProduct(productId) {\r\n const product = this.props.products.find(p => p.id === productId);\r\n return product ? product : {};\r\n }\r\n\r\n getPriceTextForProduct(product) {\r\n if (product.costBasis === ProductCostBasisEnum.FixedPrice) {\r\n return \"{0}/mo\".format(formatUsCurrency(product.basePrice));\r\n } else if (product.costBasis === ProductCostBasisEnum.Consumption) {\r\n var text = \"{0}/{1}/mo\".format(formatUsCurrency(product.tiers[0].perUnitCost), product.consumptionCostUnit);\r\n if (product.tiers.length > 1) text += \" ({0} more price tiers)\".format(product.tiers.length-1);\r\n return text;\r\n } else {\r\n var text = \"Base {0}/mo + {1}/{2} over {3}\".format(formatUsCurrency(product.basePrice), formatUsCurrency(product.tiers[0].perUnitCost), product.consumptionCostUnit, product.consumptionCostThreshold);\r\n if (product.tiers.length > 1) text += \" ({0} more price tiers)\".format(product.tiers.length-1);\r\n return text;\r\n }\r\n }\r\n\r\n getDiscountText(subscription) {\r\n if (subscription.discountStrategy === DiscountStrategyEnum.None) {\r\n return '';\r\n } else if (subscription.discountStrategy === DiscountStrategyEnum.FixedAmount) {\r\n return 'Fixed price of ' + formatUsCurrency(subscription.discountAmount);\r\n } else if (subscription.discountStrategy === DiscountStrategyEnum.FixedReduction) {\r\n return '{0} off each month'.format(formatUsCurrency(subscription.discountAmount));\r\n } else {\r\n return '{0}% off each month'.format(subscription.discountAmount);\r\n }\r\n }\r\n\r\n renderSubscriptionFees(product) {\r\n if (product) {\r\n if (product.code === 'NBL' || product.code === 'NBSP') {\r\n return (\r\n <>\r\n

\r\n The table below represents standard per-user pricing for the Noteable EHR Platform. Any modifications to\r\n these terms will be shown below. Once active, you will be charged the minimum base price each\r\n month, even if you do not have active users in that month.\r\n

\r\n {this.renderFeeTable(product)}\r\n \r\n )\r\n } else if (product.code === 'NBL:ST' || product.code === 'NBSP-S') {\r\n return (\r\n <>\r\n

\r\n {formatUsCurrency(product.basePrice)}/month for first {product.consumptionCostThreshold} users.\r\n  {formatUsCurrency(product.tiers[0].perUnitCost)}/month for users {product.tiers[0].unitMinCount} - \r\n {product.tiers[0].unitMaxCount}. Once user {Number(product.tiers[0].unitMaxCount) + 1} is added, \r\n pricing will switch to standard.\r\n

\r\n

\r\n Once startup pricing no longer applies, the fee table below represents standard per-user pricing.\r\n  Once active, you will be charged the minimum base price each month, even if you do not \r\n have active users in that month.\r\n

\r\n {this.renderFeeTable(product)}\r\n \r\n )\r\n } else if (product.code === 'NBL:GH') {\r\n return (\r\n <>\r\n

\r\n {formatUsCurrency(product.tiers[0].perUnitCost)} per bed. Fee applies to beds whether or not they are occupied. Indicate \r\n number of beds in notes. If this number changes you MUST notify us or be in breach of this agreement.\r\n

\r\n \r\n )\r\n } else if (product.code === 'NBL:GH2') {\r\n return (\r\n <>\r\n

\r\n {formatUsCurrency(product.basePrice)} for the first {product.consumptionCostThreshold} beds. \r\n {formatUsCurrency(product.tiers[0].perUnitCost)} per bed per month after that. Fee applies to \r\n beds whether or not they are occupied. Indicate number of beds in notes. If this number changes \r\n you MUST notify us or be in breach of this agreement.\r\n

\r\n \r\n )\r\n } else if (product.code === 'NBL:ADS' || product.code === 'NABADS') {\r\n return (\r\n <>\r\n

\r\n {formatUsCurrency(product.basePrice)} per month for the first {product.consumptionCostThreshold} clients. \r\n {formatUsCurrency(product.tiers[0].perUnitCost)} per client, per month, for additional clients.\r\n

\r\n \r\n )\r\n }\r\n }\r\n }\r\n\r\n renderFeeTable(product) {\r\n return (\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 product.tiers.map(t => (\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
Active UsersMonthly
Base Price{formatUsCurrency(product.basePrice)}, up to {product.consumptionCostThreshold} users
{product.consumptionCostUnit}s {t.unitMinCount} {t.unitMaxCount === 0 ? 'and up' : ' - ' + t.unitMaxCount}{formatUsCurrency(t.perUnitCost)}/{product.consumptionCostUnit.toLowerCase()}
\r\n )\r\n }\r\n\r\n renderAddonDetails() {\r\n if (this.props.contract.addonProductIds) {\r\n let addons = this.props.contract.addonProductIds.map(a => {\r\n const product = this.props.products.find(p => p.id === a);\r\n return product;\r\n });\r\n \r\n return (\r\n <>\r\n \r\n \r\n ) \r\n }\r\n\r\n return '';\r\n }\r\n\r\n render() {\r\n let customer = this.props.customer,\r\n contract = this.props.contract,\r\n invoiceLocation = this.props.invoiceLocation,\r\n product = this.getProduct(contract.initialProductId);\r\n \r\n return (\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
Noteable Order Form
\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 \r\n \r\n \r\n
Customer:{customer.name}
Authorized Person:{customer.billingContactName}
Email Address:{customer.billingEmail}
Billing Address:\r\n {invoiceLocation.addressLine1}
\r\n {invoiceLocation.addressLine2 ? (invoiceLocation.addressLine2 + '
') : ''}\r\n {invoiceLocation.city}, {invoiceLocation.stateOrRegion} {invoiceLocation.postalCode}\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 \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 \r\n \r\n \r\n \r\n
Initial Services:\r\n

\r\n Initial service fees for the setup of your Noteable account include:\r\n

\r\n
    \r\n
  1. Support on the general configuration of your tenancy on Noteable, including program settings and billing rules
  2. \r\n
  3. Initial implementation of report templates
  4. \r\n
  5. One administrator training, virtual
  6. \r\n
  7. One supervisor training, virtual
  8. \r\n
  9. One clinician/counselor training, virtual
  10. \r\n
  11. Expert business analysis and consulting
  12. \r\n
\r\n
Initial Service Fees:{formatUsCurrency(contract.upfrontCost)}
Base Subscription Type:{product.name}
{product.description}
Subscription Fees:\r\n {this.renderSubscriptionFees(product)}\r\n {\r\n this.props.primarySubscription.discountStrategy !== DiscountStrategyEnum.None ? (\r\n

\r\n Discount applied: \r\n {this.getDiscountText(this.props.primarySubscription)}\r\n

\r\n ) : ''\r\n }\r\n
Addons:\r\n {this.renderAddonDetails()}\r\n
Custom Terms:{contract.additionalTerms}
Preferred Go-live Date:\r\n

\r\n {moment(contract.contractedGoLiveDate).format('MM-DD-yyyy')}\r\n

\r\n

\r\n Noteable reserves the right to adjust this date as needed to accommodate your\r\n enrollment needs. You will be notified if this date needs to be adjusted. You \r\n agree that Noteable will begin sending monthly usage-based invoices once your\r\n go-live date arrives.\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 !this.props.inReadMode ? (\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 {this.state.alertMessage}\r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n Agreement accepted {moment(this.props.contract.customerSignedOn).format('MM/DD/yyyy')} by {this.props.contract.customerSignerEmail}\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\nSubscriptionAgreementCard.propTypes = propTypes;\r\n\r\nexport default SubscriptionAgreementCard;","import Config from '../config';\r\nimport cookie from 'react-cookies';\r\n\r\nclass Api {\r\n constructor() {\r\n this.apiBaseUrl = Config.ApiBaseUrl;\r\n this.apiKey = Config.ApiKey;\r\n }\r\n\r\n doFetch(path, method, headers, body) { \r\n var startTimestamp = new Date().getTime(); \r\n var url = this.apiBaseUrl + path;\r\n var token = cookie.load('token');\r\n if (token) headers.append('Authorization', 'token ' + token);\r\n if (this.apiKey) headers.append('ApiKey', this.apiKey);\r\n console.log(\"calling server: \" + method + \" - \" + url);\r\n var fetchPromise = headers ? \r\n fetch(url, {method: method, mode:'cors', headers: headers, body: body}) :\r\n fetch(url, {method: method, mode:'cors', body: body});\r\n return fetchPromise\r\n .then(function(response) {\r\n var endTimestamp = new Date().getTime();\r\n var timespan = endTimestamp - startTimestamp;\r\n console.log(\"(\" + timespan + \"ms) \" + \"response for \" + method + \" - \" + url + \": \" + response.status + \" - \" + response.statusText);\r\n return response;\r\n });\r\n }\r\n\r\n post(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'post', headers, body);\r\n }\r\n\r\n postImage(path, image, imageType) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'image/' + imageType);\r\n return this.doFetch(path, 'post', headers, image);\r\n }\r\n\r\n postFile(path, file) {\r\n var headers = new Headers();\r\n var formData = new FormData(); \r\n formData.append('file', file);\r\n return this.doFetch(path, 'post', headers, formData);\r\n }\r\n\r\n put(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'put', headers, body);\r\n }\r\n\r\n patch(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'patch', headers, body);\r\n }\r\n\r\n get(path) {\r\n return this.doFetch(path, 'get', new Headers(), null);\r\n }\r\n\r\n delete(path) {\r\n return this.doFetch(path, 'delete', new Headers(), null);\r\n }\r\n}\r\n\r\nexport default Api;","import Api from './Api';\r\n\r\nclass ProviderBase {\r\n constructor(baseEndpoint) {\r\n this.api = new Api();\r\n this.baseEndpoint = baseEndpoint;\r\n }\r\n\r\n _getOne(id, includes, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n var uri = this.buildGetOneUrl(this.baseEndpoint + '/' + id, includes, queryString);\r\n return this.api.get(uri);\r\n }\r\n\r\n _getAll(filter, includes, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n if (filter) filter = encodeURIComponent(filter);\r\n var uri = this.buildGetManyUrl(this.baseEndpoint, includes, filter, queryString);\r\n return this.api.get(uri);\r\n }\r\n\r\n _post(data, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n var uri = this.baseEndpoint;\r\n if (queryString) uri += '?' + queryString;\r\n return this.api.post(uri, JSON.stringify(data));\r\n }\r\n\r\n _put(id, data, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n var uri = this.baseEndpoint + '/' + id;\r\n if (queryString) uri += '?' + queryString;\r\n return this.api.put(uri, JSON.stringify(data));\r\n }\r\n\r\n _patch(id, data, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n var uri = this.baseEndpoint + '/' + id;\r\n if (queryString) uri += '?' + queryString;\r\n return this.api.patch(uri, JSON.stringify(data));\r\n }\r\n\r\n _delete(id, queryString) {\r\n if (!this.baseEndpoint) throw this.endpointNotSet('base');\r\n var uri = this.baseEndpoint + '/' + id;\r\n if (queryString) uri += '?' + queryString;\r\n return this.api.delete(uri);\r\n }\r\n\r\n getOne(id, includes, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n getAll(filter, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n post(data, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n put(id, data, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n patch(id, data, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n delete(id, queryString) {\r\n throw this.notImplemented();\r\n }\r\n\r\n endpointNotSet(endpointType) {\r\n return \"The {0} endpoint is not set\".format(endpointType);\r\n } \r\n\r\n notImplemented() {\r\n return \"method not implemented\";\r\n }\r\n\r\n buildGetOneUrl(baseUrl, includes, queryString) {\r\n var uri = baseUrl;\r\n if (includes && includes.length > 0) {\r\n uri += '?include=' + includes[0];\r\n for (var i=1;i 0) {\r\n args += '?include=';\r\n args += includes.join('&include=');\r\n }\r\n if (filter) {\r\n args += (args.length > 0 ? '&' : '?');\r\n args += 'filter=' + filter;\r\n }\r\n if (queryString) {\r\n args += (args.length > 0 ? '&' : '?');\r\n args += queryString;\r\n }\r\n return baseUrl + args; \r\n }\r\n}\r\n\r\nexport default ProviderBase;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/customer',\r\n CurrentContractEndpoint = '/customer/{0}/contract/current',\r\n EnrollmentEndpoint = '/customer/{0}/enrollment',\r\n UsageEndpoint = '/customer/{0}/usage/month/{1}/year/{2}',\r\n SubscriptionSummaryEndpoint = '/customer/{0}/subscriptionsummary',\r\n CreateContractEndpoint = '/customer/{0}/contract',\r\n BySecurityZoneIdEndpoint = '/customer/byzone/{0}',\r\n PaymentProfileEndpoint = '/customer/{0}/payment',\r\n PaymentProfileSyncEndpoint = '/customer/{0}/payment/sync',\r\n PaymentProfileChargeEndpoint = '/customer/{0}/payment/charge',\r\n PaymentInfoClearEndpoint = '/customer/{0}/payment/clear',\r\n SetAccountCodeEndpoint = '/customer/{0}/payment/code',\r\n AutoPayEndpoint = '/customer/{0}/payment/auto',\r\n SubscriptionEndpoint = '/customer/{0}/subscription',\r\n SetPrimarySubscriptionEndpoint = '/customer/{0}/subscription/{1}/setprimary',\r\n GetPrimarySubscriptionEndpoint = '/customer/{0}/subscription/primary',\r\n BillingLocationEndpoint = '/customer/{0}/location/billing',\r\n InvoiceLocationEndpoint = '/customer/{0}/location/invoice',\r\n InvoicesEndpoint = '/customer/{0}/invoices',\r\n SalesSummaryEndpoint = '/customer/{0}/salessummary',\r\n TrainingVideosEndpoint = '/customer/{0}/trainingvideo',\r\n TrainingVideoEndpoint = '/customer/{0}/trainingvideo/{1}',\r\n BillingContactsEndpoint = '/customer/billingcontactlist',\r\n SetupInvoiceEndpoint = '/customer/{0}/invoices/setup',\r\n CreateTenantEndpoint = '/customer/{0}/tenant',\r\n UploadTenantLogoEndpoint = '/customer/{0}/tenant/logo',\r\n PaymentHistoryEndpoint = '/customer/{0}/paymenthistory',\r\n NotesEndpoint = '/customer/{0}/notes',\r\n NoteEndpoint = '/customer/{0}/notes/{1}',\r\n ArchiveEndpoint = '/customer/{0}/archive',\r\n LocationsEndpoint = '/customer/{0}/location',\r\n PaymentFailedEndpoint = '/customer/{0}/notify-payment-failed';\r\n\r\nclass CustomerProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n patch(id, data) {\r\n return this._patch(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n archive(id) {\r\n return this.api.delete(ArchiveEndpoint.format(id));\r\n }\r\n\r\n getBySecurityZoneId(securityZoneId, includes) {\r\n var url = this.buildGetOneUrl(BySecurityZoneIdEndpoint.format(securityZoneId), includes);\r\n return this.api.get(url);\r\n }\r\n\r\n getCurrentContract(id) {\r\n return this.api.get(CurrentContractEndpoint.format(id));\r\n }\r\n\r\n getEnrollment(id) {\r\n return this.api.get(EnrollmentEndpoint.format(id));\r\n }\r\n\r\n getUsage(id, month, year) {\r\n return this.api.get(UsageEndpoint.format(id, month, year));\r\n }\r\n\r\n getSalesSummary(id) {\r\n return this.api.get(SalesSummaryEndpoint.format(id));\r\n }\r\n\r\n addSubscription(id, subscriptionData) {\r\n return this.api.post(SubscriptionEndpoint.format(id), JSON.stringify(subscriptionData));\r\n }\r\n\r\n getSubscriptionSummary(id) {\r\n return this.api.get(SubscriptionSummaryEndpoint.format(id));\r\n }\r\n\r\n createContract(id, contractData) {\r\n return this.api.post(CreateContractEndpoint.format(id), JSON.stringify(contractData));\r\n }\r\n\r\n savePaymentProfile(id, paymentData) {\r\n return this.api.post(PaymentProfileEndpoint.format(id), JSON.stringify(paymentData));\r\n }\r\n\r\n getPaymentProfile(id) {\r\n return this.api.get(PaymentProfileEndpoint.format(id));\r\n }\r\n\r\n setAccountCode(id, accountCode) {\r\n return this.api.put(SetAccountCodeEndpoint.format(id), JSON.stringify({accountCode:accountCode}));\r\n }\r\n\r\n syncPaymentProfileFromGateway(id) {\r\n return this.api.get(PaymentProfileSyncEndpoint.format(id));\r\n }\r\n\r\n chargePaymentProfile(id, chargeDetails) {\r\n return this.api.post(PaymentProfileChargeEndpoint.format(id), JSON.stringify(chargeDetails));\r\n }\r\n\r\n clearPaymentInfo(id) {\r\n return this.api.put(PaymentInfoClearEndpoint.format(id));\r\n }\r\n\r\n getPaymentHistory(id, filter) {\r\n let uri = PaymentHistoryEndpoint.format(id);\r\n if (filter) {\r\n uri += '?filter=' + encodeURIComponent(filter);\r\n }\r\n return this.api.get(uri);\r\n }\r\n\r\n toggleAutoPay(id) {\r\n return this.api.put(AutoPayEndpoint.format(id));\r\n }\r\n\r\n getBillingLocation(id) {\r\n return this.api.get(BillingLocationEndpoint.format(id));\r\n }\r\n\r\n getInvoiceLocation(id) {\r\n return this.api.get(InvoiceLocationEndpoint.format(id));\r\n }\r\n\r\n setInvoiceLocation(id, locationData) {\r\n return this.api.post(InvoiceLocationEndpoint.format(id), JSON.stringify(locationData));\r\n }\r\n\r\n getAllLocations(id, filter) {\r\n let uri = LocationsEndpoint.format(id);\r\n if (filter) {\r\n uri += '?filter=' + encodeURIComponent(filter);\r\n }\r\n return this.api.get(uri);\r\n }\r\n\r\n getInvoices(id, filter) { \r\n var uri = InvoicesEndpoint.format(id);\r\n if (filter) {\r\n uri += '?filter=' + encodeURIComponent(filter);\r\n }\r\n return this.api.get(uri);\r\n }\r\n\r\n createSetupInvoice(id, invoiceData) {\r\n return this.api.post(SetupInvoiceEndpoint.format(id), JSON.stringify(invoiceData));\r\n }\r\n\r\n postTrainingVideo(id, videoData) {\r\n return this.api.post(TrainingVideosEndpoint.format(id), JSON.stringify(videoData));\r\n }\r\n\r\n putTrainingVideo(id, videoId, videoData) {\r\n return this.api.put(TrainingVideoEndpoint.format(id, videoId), JSON.stringify(videoData));\r\n }\r\n\r\n getAllTrainingVideos(id) {\r\n return this.api.get(TrainingVideosEndpoint.format(id));\r\n }\r\n\r\n getAllBillingContacts() {\r\n return this.api.get(BillingContactsEndpoint);\r\n }\r\n\r\n notifyPaymentFailed(id) {\r\n return this.api.post(PaymentFailedEndpoint.format(id));\r\n }\r\n\r\n createTenant(id, tenantData) {\r\n return this.api.post(CreateTenantEndpoint.format(id), JSON.stringify(tenantData));\r\n }\r\n\r\n uploadTenantLogo(id, imageFile) {\r\n return this.api.postFile(UploadTenantLogoEndpoint.format(id), imageFile);\r\n }\r\n\r\n setPrimarySubscription(id, subscriptionId) {\r\n return this.api.put(SetPrimarySubscriptionEndpoint.format(id, subscriptionId));\r\n }\r\n\r\n getPrimarySubscription(id) {\r\n return this.api.get(GetPrimarySubscriptionEndpoint.format(id));\r\n }\r\n\r\n getNotes(id, relevant) {\r\n let url = NotesEndpoint.format(id);\r\n if (relevant) url += '?relevant=true';\r\n return this.api.get(url)\r\n }\r\n\r\n getNote(id, noteId) {\r\n return this.api.get(NoteEndpoint.format(id, noteId));\r\n }\r\n\r\n postNote(id, noteData) {\r\n return this.api.post(NotesEndpoint.format(id), JSON.stringify(noteData));\r\n }\r\n\r\n putNote(id, noteId, noteData) {\r\n return this.api.put(NoteEndpoint.format(id, noteId), JSON.stringify(noteData));\r\n }\r\n\r\n deleteNote(id, noteId) {\r\n return this.api.delete(NoteEndpoint.format(id, noteId));\r\n }\r\n}\r\n\r\nexport default CustomerProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/customersummary';\r\n\r\nclass CustomerSummaryProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n}\r\n\r\nexport default CustomerSummaryProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/product',\r\n ImageEndpoint = '/product/{0}/image',\r\n AgreementEndpoint = '/product/{0}/agreement/{1}';\r\n\r\nclass ProductProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n patch(id, data) {\r\n return this._patch(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n postImage(id, imageData) {\r\n return this.api.post(ImageEndpoint.format(id), JSON.stringify({productImage: imageData}));\r\n }\r\n\r\n getAgreement(id, customerId) {\r\n return this.api.get(AgreementEndpoint.format(id, customerId));\r\n }\r\n}\r\n\r\nexport default ProductProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/enrollment',\r\n StartTrialEndpoint = '/enrollment/trial',\r\n EnrollmentReminderEndpoint = '/enrollment/{0}/send-reminder';\r\n\r\nclass CustomerEnrollmentProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n patch(id, data) {\r\n return this._patch(id, data);\r\n }\r\n\r\n startTrial(id, trialData) {\r\n return this.api.post(StartTrialEndpoint.format(id), JSON.stringify(trialData));\r\n }\r\n\r\n sendReminder(id) {\r\n return this.api.post(EnrollmentReminderEndpoint.format(id));\r\n }\r\n}\r\n\r\nexport default CustomerEnrollmentProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/user',\r\n AvatarEndpoint = '/user/{0}/avatar';\r\n\r\nclass UserProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n patch(id, data) {\r\n return this._patch(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n getAvatar(id) {\r\n return this.api.get(AvatarEndpoint.format(id));\r\n }\r\n\r\n setAvatar(id, avatarData) {\r\n return this.api.patch(AvatarEndpoint.format(id), JSON.stringify(avatarData));\r\n }\r\n}\r\n\r\nexport default UserProvider;","import ProviderBase from './ProviderBase';\r\nconst BaseEndpoint = '/customercontract',\r\n RequestSigningUrlEndpoint = '/customercontract/{0}/sign',\r\n SigningCompleteEndpoint = '/customercontract/{0}/signingcomplete',\r\n FilesEndpoint = '/customercontract/{0}/files',\r\n GenerateEndpoint = '/customercontract/{0}/generate',\r\n MarkSignedEndpoint = '/customercontract/{0}/marksigned';\r\n\r\nclass CustomerContractProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getSigningUrl(id) {\r\n return this.api.get(RequestSigningUrlEndpoint.format(id));\r\n }\r\n\r\n completeSigning(id) {\r\n return this.api.post(SigningCompleteEndpoint.format(id));\r\n }\r\n\r\n uploadFile(id, fileData) {\r\n return this.api.postFile(FilesEndpoint.format(id), fileData);\r\n }\r\n\r\n downloadFile(id) {\r\n return this.api.get(FilesEndpoint.format(id));\r\n }\r\n\r\n generate(id) {\r\n return this.api.post(GenerateEndpoint.format(id));\r\n }\r\n\r\n markSigned(id) {\r\n return this.api.put(MarkSignedEndpoint.format(id));\r\n }\r\n}\r\n\r\nexport default CustomerContractProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/noteabletenant',\r\n ImportEndpoint = '/noteabletenant/import',\r\n PayersEndpoint = '/noteabletenant/{0}/payers',\r\n ProgramsEndpoint = '/noteabletenant/{0}/programs',\r\n SetupEndpoint = '/noteabletenant/{0}/setup',\r\n StaffEndpoint = '/noteabletenant/{0}/staff',\r\n ToggleEnabledEndpoint = '/noteabletenant/{0}/toggle-enabled?enabled={1}';\r\n\r\nclass NoteableTenantProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n getNew() {\r\n return this.api.get(BaseEndpoint + '?onlyNew=true');\r\n }\r\n\r\n import(tenantIds) {\r\n return this.api.post(ImportEndpoint, JSON.stringify({tenantIds:tenantIds}));\r\n }\r\n\r\n getPayersForTenant(tenantId) {\r\n return this.api.get(PayersEndpoint.format(tenantId));\r\n }\r\n\r\n addPayersToTenant(tenantId, payers) {\r\n return this.api.post(PayersEndpoint.format(tenantId), JSON.stringify(payers));\r\n }\r\n\r\n getProgramsForTenant(tenantId) {\r\n return this.api.get(ProgramsEndpoint.format(tenantId));\r\n }\r\n\r\n enrollInPrograms(tenantId, programIds) {\r\n return this.api.post(ProgramsEndpoint.format(tenantId), JSON.stringify({programIds:programIds}));\r\n }\r\n\r\n setup(tenantId, programIds, payers) {\r\n return this.api.post(SetupEndpoint.format(tenantId), JSON.stringify({programIds:programIds, payers:payers}));\r\n }\r\n\r\n getStaff(tenantId) {\r\n return this.api.get(StaffEndpoint.format(tenantId));\r\n }\r\n\r\n toggleEnabled(tenantId, enabled) {\r\n return this.api.patch(ToggleEnabledEndpoint.format(tenantId, enabled));\r\n }\r\n}\r\n\r\nexport default NoteableTenantProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/userinvitation';\r\n\r\nclass UserInvitationProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n createInvitation(data) {\r\n return this._post(data);\r\n }\r\n\r\n getInvitation(id, studioId) {\r\n return this._getOne(id, '', 'studioId=' + studioId);\r\n }\r\n\r\n completeInvitation(id, studioId, invitation) {\r\n return this._patch(id, invitation, 'studioId=' + studioId);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n}\r\n\r\nexport default UserInvitationProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/usageimportevent',\r\n MostRecentEndpoint = '/usageimportevent/mostrecent';\r\n\r\nclass UsageImportEventProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getMostRecent() {\r\n return this.api.get(MostRecentEndpoint);\r\n }\r\n}\r\n\r\nexport default UsageImportEventProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/tenantusagedata',\r\n ForMonthEndpoint = '/tenantusagedata/month/{0}/year/{1}',\r\n CalculatedRevenueEndpoint = '/tenantusagedata/revenue/month/{0}/year/{1}';\r\n\r\nclass TenantUsageDataProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getForMonth(month, year) {\r\n return this.api.get(ForMonthEndpoint.format(month, year));\r\n }\r\n\r\n getCalculatedRevenueForMonth(month, year) {\r\n return this.api.get(CalculatedRevenueEndpoint.format(month, year));\r\n }\r\n}\r\n\r\nexport default TenantUsageDataProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/subscription';\r\n\r\nclass SubscriptionProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n}\r\n\r\nexport default SubscriptionProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/invoice',\r\n CalculateEndpoint = '/invoice/calculate/{0}/month/{1}/year/{2}',\r\n DeleteManyEndpoint = '/invoice/deletemany',\r\n QbExportManyCsvEndpoint = '/invoice/qbexportmany/csv',\r\n QbExportManyIifEndpoint = '/invoice/qbexportmany/iif',\r\n PayManyEndpoint = '/invoice/paymany',\r\n SendManyEndpoint = '/invoice/sendmany', \r\n GenerateEndpoint = '/invoice/generate',\r\n MarkViewedEndpoint = '/invoice/{0}/viewed',\r\n PayOneEndpoint = '/invoice/{0}/pay',\r\n SendOneEndpoint = '/invoice/{0}/send',\r\n SendReminderEndpoint = '/invoice/{0}/remind',\r\n ClearManyEndpoint = '/invoice/clearmany',\r\n ClearOneEndpoint = '/invoice/{0}/clear',\r\n NextNumberEndpoint = '/invoice/nextnumber',\r\n DebitForOneEndpoint = '/invoice/{0}/debit?test={1}',\r\n GetByNumberEndpoint = '/invoice/bynumber/{0}',\r\n ReturnOneEndpoint = '/invoice/{0}/return',\r\n ApplyCreditEndpoint = '/invoice/{0}/applycredit'; \r\n\r\nclass InvoiceProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll(filter, includes) {\r\n return this._getAll(filter, includes);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getByInvoiceNumber(invoiceNumber, includeCustomer) {\r\n let url = GetByNumberEndpoint.format(invoiceNumber);\r\n if (includeCustomer) {\r\n url += '?include=Customer';\r\n }\r\n return this.api.get(url);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n calculate(id, month, year) {\r\n return this.api.get(CalculateEndpoint.format(id, month, year));\r\n }\r\n\r\n generate(requestData) {\r\n return this.api.post(GenerateEndpoint, JSON.stringify(requestData));\r\n }\r\n\r\n deleteMany(ids) {\r\n return this.api.post(DeleteManyEndpoint, JSON.stringify({invoiceIds: ids}));\r\n }\r\n\r\n qbExportManyCsv(ids) {\r\n return this.api.post(QbExportManyCsvEndpoint, JSON.stringify({invoiceIds:ids}));\r\n }\r\n\r\n qbExportManyIif(ids, importToAccount) {\r\n return this.api.post(QbExportManyIifEndpoint, JSON.stringify({invoiceIds: ids, importToAccount: importToAccount}));\r\n } \r\n\r\n payMany(ids, paymentDetails) {\r\n return this.api.post(PayManyEndpoint, JSON.stringify({invoiceIds:ids, paymentMethod: paymentDetails.paymentMethod, paymentDate: paymentDetails.paymentDate}));\r\n }\r\n\r\n sendMany(ids) {\r\n return this.api.post(SendManyEndpoint, JSON.stringify({invoiceIds:ids}));\r\n }\r\n\r\n sendOne(id) {\r\n return this.api.post(SendOneEndpoint.format(id));\r\n }\r\n\r\n sendReminder(id) {\r\n return this.api.post(SendReminderEndpoint.format(id));\r\n }\r\n\r\n clearMany(ids) {\r\n return this.api.post(ClearManyEndpoint, JSON.stringify({invoiceIds:ids}));\r\n } \r\n\r\n markViewed(id) {\r\n return this.api.patch(MarkViewedEndpoint.format(id));\r\n }\r\n\r\n markPaid(id, paymentDetails) {\r\n return this.api.post(PayOneEndpoint.format(id), JSON.stringify(paymentDetails));\r\n }\r\n\r\n markCleared(id) {\r\n return this.api.post(ClearOneEndpoint.format(id));\r\n }\r\n\r\n markReturned(id) {\r\n return this.api.post(ReturnOneEndpoint.format(id));\r\n }\r\n\r\n getNextNumber() {\r\n return this.api.get(NextNumberEndpoint);\r\n }\r\n\r\n debitOne(id, test) {\r\n return this.api.post(DebitForOneEndpoint.format(id, test));\r\n }\r\n\r\n applyCredit(id) {\r\n return this.api.post(ApplyCreditEndpoint.format(id));\r\n }\r\n}\r\n\r\nexport default InvoiceProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/location',\r\n ByNameEndpoint = '/location/byname/{0}';\r\n\r\nclass LocationProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getOneByName(canonicalName) {\r\n return this.api.get(ByNameEndpoint.format(canonicalName));\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n patch(id, data) {\r\n return this._patch(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n}\r\n\r\nLocationProvider.ArLocationCode = \"AccountsReceivable\";\r\n\r\nexport default LocationProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/salessummary';\r\n\r\nclass SalesSummaryProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getSummary() {\r\n return this.api.get(BaseEndpoint);\r\n }\r\n}\r\n\r\nexport default SalesSummaryProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/releaseannouncement',\r\n LatestEndpoint = '/releaseannouncement/latest';\r\n\r\nclass ReleaseAnnouncementProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll(filter, includes) {\r\n return this._getAll(filter, includes);\r\n } \r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getLatest() {\r\n return this.api.get(LatestEndpoint);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n}\r\n\r\nexport default ReleaseAnnouncementProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/trainingvideo',\r\n ContentEndpoint = '/trainingvideo/{0}/content',\r\n StreamingTokenEndpoint = '/trainingvideo/{0}/token',\r\n StreamingEndpoint = '/trainingvideo/{0}/stream?streamingToken={1}';\r\n\r\nclass TrainingVideoProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n uploadContent(id, fileData) {\r\n return this.api.postFile(ContentEndpoint.format(id), fileData);\r\n }\r\n\r\n downloadContent(id) {\r\n return this.api.get(ContentEndpoint.format(id));\r\n }\r\n \r\n getStreamingToken(id) {\r\n return this.api.get(StreamingTokenEndpoint.format(id));\r\n }\r\n\r\n getVideoStreamUrl(id, streamingToken) {\r\n return this.api.apiBaseUrl + StreamingEndpoint.format(id, streamingToken);\r\n }\r\n}\r\n\r\nexport default TrainingVideoProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/apikey',\r\n RequestEndpoint = '/apikey/request';\r\n\r\nclass ApiKeyProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll() {\r\n return this._getAll();\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n request(data) {\r\n return this.api.post(RequestEndpoint, JSON.stringify(data));\r\n }\r\n}\r\n\r\nexport default ApiKeyProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/monthlysales',\r\n GenerateForMonthEndpoint = '/monthlysales/generate/formonth',\r\n GenerateFromMonthEndpoint= '/monthlysales/generate/frommonth';\r\n\r\nclass MonthlySalesReportProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n generateForMonth(month, year) {\r\n return this.api.post(GenerateForMonthEndpoint, JSON.stringify({month: month, year: year}));\r\n }\r\n\r\n generateFromMonth(month, year) {\r\n return this.api.post(GenerateFromMonthEndpoint, JSON.stringify({month: month, year: year}));\r\n }\r\n}\r\n\r\nexport default MonthlySalesReportProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/noteableprogram';\r\n\r\nclass NoteableTreatmentProgramProvider extends ProviderBase {\r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n}\r\n\r\nexport default NoteableTreatmentProgramProvider;\r\n","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/customernote';\r\n\r\nclass CustomerNotesProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getForMonth(month, year) {\r\n const url = BaseEndpoint + ('?month={0}&year={1}'.format(month, year));\r\n return this.api.get(url);\r\n }\r\n}\r\n\r\nexport default CustomerNotesProvider;\r\n","import ProviderBase from './ProviderBase';\r\nconst BaseEndpoint = '/customer-agreement-template',\r\n VersionEndpoint = '/customer-agreement-template/version',\r\n LatestForCustomerEndpoint = '/customer-agreement-template/forcustomer/{0}/latest',\r\n AcceptedByCustomerEndpoint = '/customer-agreement-template/forcustomer/{0}/accepted';\r\n\r\nclass CustomerAgreementTemplateProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n postVersion() {\r\n return this.api.post(VersionEndpoint);\r\n }\r\n\r\n getLatestVersion() {\r\n return this.api.get(VersionEndpoint);\r\n }\r\n\r\n getLatestVersionForCustomer(customerId) {\r\n return this.api.get(LatestForCustomerEndpoint.format(customerId));\r\n }\r\n\r\n getAcceptedVersionForCustomer(customerId) {\r\n return this.api.get(AcceptedByCustomerEndpoint.format(customerId));\r\n }\r\n\r\n acceptLatestVersionForCustomer(customerId) {\r\n return this.api.post(AcceptedByCustomerEndpoint.format(customerId));\r\n }\r\n}\r\n\r\nexport default CustomerAgreementTemplateProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/telehealth',\r\n ProvisionEndpoint = '/telehealth/{0}/provision';\r\n\r\nclass TelehealthProvisioningProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getProvisioningStatuses(customerId) {\r\n return this.api.get(ProvisionEndpoint.format(customerId));\r\n }\r\n\r\n toggleForMany(customerId, userIds, toggle) {\r\n const requestData = {\r\n noteableUserIds: userIds,\r\n toggle: toggle,\r\n };\r\n\r\n return this.api.post(ProvisionEndpoint.format(customerId), JSON.stringify(requestData));\r\n }\r\n}\r\n\r\nexport default TelehealthProvisioningProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/incident',\r\n ForCustomerEndpoint = '/incident/customer/{0}';\r\n\r\nclass IncidentProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getForCustomer(customerId) {\r\n return this.api.get(ForCustomerEndpoint.format(customerId));\r\n }\r\n}\r\n\r\nexport default IncidentProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/rapid-enroll',\r\n AgreementEndpoint = '/rapid-enroll/{0}/agreement',\r\n PaymentEndpoint = '/rapid-enroll/{0}/payment';\r\n\r\nclass RapidEnrollmentProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getEnrollmentAgreement(id) {\r\n return this.api.get(AgreementEndpoint.format(id));\r\n }\r\n\r\n signEnrollmentAgreement(id) {\r\n return this.api.post(AgreementEndpoint.format(id));\r\n }\r\n\r\n savePaymentProfile(id, paymentData) {\r\n return this.api.post(PaymentEndpoint.format(id), JSON.stringify(paymentData));\r\n }\r\n}\r\n\r\nexport default RapidEnrollmentProvider;","import ProviderBase from './ProviderBase';\r\n\r\nconst BaseEndpoint = '/salesperson',\r\n AccountsEndpoint = '/salesperson/{0}/accounts',\r\n PerformanceReportEndpoint = '/salesperson/{0}/performance-report';\r\n\r\nclass SalespersonProvider extends ProviderBase { \r\n constructor() {\r\n super(BaseEndpoint);\r\n }\r\n\r\n getOne(id, includes) {\r\n return this._getOne(id, includes);\r\n }\r\n\r\n getAll(filter) {\r\n return this._getAll(filter);\r\n }\r\n\r\n post(data) {\r\n return this._post(data);\r\n }\r\n\r\n put(id, data) {\r\n return this._put(id, data);\r\n }\r\n\r\n delete(id) {\r\n return this._delete(id);\r\n }\r\n\r\n getPerformanceReport(id) {\r\n return this.api.get(PerformanceReportEndpoint.format(id));\r\n }\r\n\r\n postAccounts(id, customerIds) {\r\n return this.api.post(AccountsEndpoint.format(id), JSON.stringify({customerIds:customerIds}));\r\n }\r\n}\r\n\r\nexport default SalespersonProvider;","import CustomerProvider from './CustomerProvider';\r\nimport CustomerSummaryProvider from './CustomerSummaryProvider';\r\nimport ProductProvider from './ProductProvider';\r\nimport CustomerEnrollmentProvider from './CustomerEnrollmentProvider';\r\nimport UserProvider from './UserProvider';\r\nimport CustomerContractProvider from './CustomerContractProvider';\r\nimport NoteableTenantProvider from './NoteableTenantProvider';\r\nimport UserInvitationProvider from './UserInvitationProvider';\r\nimport UsageImportEventProvider from './UsageImportEventProvider';\r\nimport TenantUsageDataProvider from './TenantUsageDataProvider';\r\nimport SubscriptionProvider from './SubscriptionProvider';\r\nimport InvoiceProvider from './InvoiceProvider';\r\nimport LocationProvider from './LocationProvider';\r\nimport SalesSummaryDataProvider from './SalesSummaryDataProvider';\r\nimport ReleaseAnnouncementProvider from './ReleaseAnnouncementProvider';\r\nimport TrainingVideoProvider from './TrainingVideoProvider';\r\nimport ApiKeyProvider from './ApiKeyProvider';\r\nimport MonthlySalesReportProvider from './MonthlySalesReportProvider';\r\nimport NoteableTreatmentProgramProvider from './NoteableTreatmentProgramProvider';\r\nimport CustomerNotesProvider from './CustomerNotesProvider';\r\nimport CustomerAgreementTemplateProvider from './CustomerAgreementTemplateProvider';\r\nimport TelehealthProvisioningProvider from './TelehealthProvisioningProvider';\r\nimport ReportBuildingTaskProvider from './ReportBuildingTaskProvider';\r\nimport IncidentProvider from './IncidentProvider';\r\nimport RapidEnrollmentProvider from './RapidEnrollmentProvider';\r\nimport SalespersonProvider from './SalespersonProvider';\r\n\r\nexport {\r\n CustomerProvider, CustomerSummaryProvider, ProductProvider, CustomerEnrollmentProvider, UserProvider,\r\n CustomerContractProvider, NoteableTenantProvider, UserInvitationProvider, UsageImportEventProvider,\r\n TenantUsageDataProvider, SubscriptionProvider, InvoiceProvider, LocationProvider, SalesSummaryDataProvider,\r\n ReleaseAnnouncementProvider, TrainingVideoProvider, ApiKeyProvider, MonthlySalesReportProvider,\r\n NoteableTreatmentProgramProvider, CustomerNotesProvider, CustomerAgreementTemplateProvider,\r\n TelehealthProvisioningProvider, ReportBuildingTaskProvider, IncidentProvider, RapidEnrollmentProvider,\r\n SalespersonProvider,\r\n}","const CustomerEnrollmentStatusEnum = {\r\n Pending: 'Pending',\r\n Trial: 'Trial',\r\n Sent: 'Sent',\r\n Committed: 'Committed',\r\n Signed: 'Signed',\r\n PaymentConfirmed: 'PaymentConfirmed',\r\n Onboarding: 'Onboarding',\r\n Active: 'Active',\r\n Unenrolled: 'Unenrolled',\r\n}\r\n\r\nexport default CustomerEnrollmentStatusEnum;","const CustomerBillingStatusEnum = {\r\n Current: 'Current',\r\n Delinquent: 'Delinquent',\r\n Inactive: 'Inactive',\r\n}\r\n\r\nexport default CustomerBillingStatusEnum;","const UsageImportEventStatusEnum = {\r\n Running: 'Running',\r\n Completed: 'Completed',\r\n Failed: 'Failed',\r\n}\r\n\r\nexport default UsageImportEventStatusEnum;","const CustomerPaymentMethodEnum = {\r\n Manual: 'Manual',\r\n Ach: 'Ach',\r\n Credit: 'Credit',\r\n}\r\n\r\nexport default CustomerPaymentMethodEnum;","const ProductCostBasisEnum = {\r\n FixedPrice: 'FixedPrice',\r\n Consumption: 'Consumption',\r\n BasePricePlusConsumption: 'BasePricePlusConsumption',\r\n ManualEntry: 'ManualEntry',\r\n}\r\n\r\nexport default ProductCostBasisEnum;","const DiscountStrategyEnum = {\r\n None: 'None',\r\n FixedAmount: 'FixedAmount',\r\n FixedReduction: 'FixedReduction',\r\n PercentageReduction: 'PercentageReduction',\r\n}\r\n\r\nexport default DiscountStrategyEnum;","const InvoiceLineItemTypeEnum = {\r\n Normal: 'Normal',\r\n Subheading: 'Subheading',\r\n Subtotal: 'Subtotal',\r\n Custom: 'Custom',\r\n ManualEntry: 'ManualEntry',\r\n}\r\n\r\nexport default InvoiceLineItemTypeEnum;","const InvoiceStatusEnum = { \r\n Open: 'Open',\r\n Sent: 'Sent',\r\n Paid: 'Paid',\r\n PartiallyPaid: 'PartiallyPaid',\r\n Viewed: 'Viewed',\r\n}\r\n\r\nexport default InvoiceStatusEnum;","const InvoicePaymentMethodEnum = { \r\n Unpaid: 'Unpaid',\r\n DebitAch: 'DebitAch',\r\n DebitCard: 'DebitCard',\r\n ManualCheck: 'ManualCheck',\r\n ManualAch: 'ManualAch',\r\n ManualCard: 'ManualCard',\r\n ManualNoPayment: 'ManualNoPayment',\r\n}\r\n\r\nexport default InvoicePaymentMethodEnum;","const CustomerNoteDisplayModeEnum = {\r\n Always: 'Always',\r\n UntilRelevantMonth: 'UntilRelevantMonth',\r\n DuringRelevantMonth: 'DuringRelevantMonth',\r\n AfterRelevantMonth: 'AfterRelevantMonth',\r\n}\r\n\r\nexport default CustomerNoteDisplayModeEnum;","const IncidentStatusEnum = { \r\n New: 'New',\r\n Responded: 'Responded',\r\n Assigned: 'Assigned',\r\n AwaitingClarification: 'Awaiting Clarification',\r\n AwaitingRelease: 'Awaiting Release',\r\n AwaitingDev: 'Awaiting Dev',\r\n Resolved: 'Resolved',\r\n Confirming: 'Confirming',\r\n Closed: 'Closed',\r\n Aging: 'Aging',\r\n Reopened: 'Reopened',\r\n MeetingForScreenshare: 'Meeting For Screenshare',\r\n}\r\n\r\nexport default IncidentStatusEnum;","import CustomerEnrollmentStatusEnum from './CustomerEnrollmentStatusEnum';\r\nimport CustomerBillingStatusEnum from './CustomerBillingStatusEnum';\r\nimport UsageImportEventStatusEnum from './UsageImportEventStatusEnum';\r\nimport CustomerPaymentMethodEnum from './CustomerPaymentMethodEnum';\r\nimport ProductCostBasisEnum from './ProductCostBasisEnum';\r\nimport DiscountStrategyEnum from './DiscountStrategyEnum';\r\nimport InvoiceLineItemTypeEnum from './InvoiceLineItemTypeEnum';\r\nimport InvoiceStatusEnum from './InvoiceStatusEnum';\r\nimport InvoicePaymentMethodEnum from './InvoicePaymentMethodEnum';\r\nimport CustomerNoteDisplayModeEnum from './CustomerNoteDisplayModeEnum';\r\nimport ReportBuildingStatusEnum from './ReportBuildingStatusEnum';\r\nimport IncidentStatusEnum from './IncidentStatusEnum';\r\n\r\nexport { \r\n CustomerEnrollmentStatusEnum, CustomerBillingStatusEnum, UsageImportEventStatusEnum, CustomerPaymentMethodEnum,\r\n ProductCostBasisEnum, DiscountStrategyEnum, InvoiceLineItemTypeEnum, InvoiceStatusEnum, InvoicePaymentMethodEnum,\r\n CustomerNoteDisplayModeEnum, ReportBuildingStatusEnum, IncidentStatusEnum,\r\n}","import React from 'react';\r\nimport PalladientComponent from '../../PalladientComponent';\r\nimport PropTypes from 'prop-types';\r\nimport { Card, CardBody } from 'reactstrap';\r\n\r\nconst propTypes = {\r\n agreementTerms: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n}\r\n\r\nclass AgreementTermsCard extends PalladientComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nAgreementTermsCard.propTypes = propTypes;\r\n\r\nexport default AgreementTermsCard;","import validator from 'validator';\r\n\r\nclass FormValidator {\r\n static CanonicalNamePattern = [/^[a-zA-Z_][a-zA-Z0-9_]*$/i];\r\n\r\n constructor(validations) {\r\n // validations is an array of rules specific to a form\r\n this.validations = validations;\r\n }\r\n \r\n validate(state) {\r\n // start out assuming valid\r\n let validation = this.valid(); // for each validation rule\r\n this.validations.forEach(rule => { \r\n // if the field isn't already marked invalid by an earlier rule\r\n if (!validation[rule.field].isInvalid) {\r\n // determine the field value, the method to invoke and\r\n // optional args from the rule definition\r\n const field = state[rule.field];\r\n const field_value = field ? field.toString() : '';\r\n const args = rule.args || [];\r\n const validation_method = typeof rule.method === 'string' ?\r\n validator[rule.method] :\r\n rule.method // call the validation_method with the current field value\r\n // as the first argument, any additional arguments, and the\r\n // whole state as a final argument. If the result doesn't\r\n // match the rule.validWhen property, then modify the\r\n // validation object for the field and set the isValid\r\n // field to false\r\n if(validation_method(field_value, ...args, state) != rule.validWhen) {\r\n validation[rule.field] = { \r\n isInvalid: true, \r\n message: rule.message \r\n }\r\n validation.isValid = false;\r\n } \r\n }\r\n });\r\n\r\n return validation;\r\n } \r\n \r\n // create a validation object for a valid form\r\n valid() {\r\n const validation = {}\r\n \r\n this.validations.map(rule => (\r\n validation[rule.field] = { isInvalid: false, message: '' }\r\n )); \r\n \r\n return { isValid: true, ...validation };\r\n }\r\n }\r\n \r\n export default FormValidator;","module.exports = __webpack_public_path__ + \"static/media/logo.2da6bed2.svg\";","module.exports = __webpack_public_path__ + \"static/media/sygnet.35c05063.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo.06f81ac7.png\";","import Config from '../config';\r\nimport cookie from 'react-cookies';\r\n\r\nexport const AuthorizationEndpoint = '/authorization/token';\r\nexport const PasswordRecoveryEndpoint = '/authorization/recovery';\r\nexport const SessionUserEndpoint = '/user/me';\r\nexport const ProductsEndpoint = '/product';\r\nexport const ProductEndpoint = '/product/{0}';\r\nexport const ProductImageEndpoint = '/product/{0}/image';\r\nexport const CustomersEndpoint = '/customer';\r\nexport const CustomerSummariesEndpoint = '/customersummary';\r\nexport const CustomerEndpoint = '/customer/{0}';\r\nexport const CustomerByZoneEndpoint = '/customer/byzone/{0}';\r\nexport const CustomerUsageEndpoint = '/customer/{0}/usage/month/{1}/year/{2}';\r\nexport const CustomerBillsEndpoint = '/customer/{0}/bills';\r\nexport const CustomerSubscriptionsEndpoint = '/customer/{0}/subscriptions';\r\nexport const CustomerSubscriptionSummariesEndpoint = '/customer/{0}/subscriptionsummary';\r\nexport const EnrollmentsEndpoint = '/enrollment';\r\nexport const EnrollmentEndpoint = '/enrollment/{0}';\r\nexport const CustomerEnrollmentEndpoint = '/enrollment/{0}';\r\nexport const EnrollmentByCustomerEndpoint = '/customer/{0}/enrollment';\r\nexport const CustomerCurrentContractEndpoint = '/customer/{0}/contract/current';\r\nexport const SignatureUrlRequestEndpoint = '/customercontract/{0}/sign';\r\nexport const SigningCompletedEndpoint = '/customercontract/{0}/signingcomplete';\r\nexport const UserAvatarEndpoint = '/user/{0}/avatar';\r\nexport const CustomerBillingLocationEndpoint = '/customer/{0}/location/billing';\r\nexport const CustomerPaymentProfileEndpoint = '/customer/{0}/payment';\r\nexport const UsersEndpoint = '/user';\r\nexport const SessionAvatarEndpoint = '/user/me/avatar';\r\n\r\nexport class NoteabillApi {\r\n constructor() {\r\n this.apiBaseUrl = Config.ApiBaseUrl;\r\n }\r\n\r\n doFetch(path, method, headers, body) {\r\n var startTimestamp = new Date().getTime(); \r\n var url = this.apiBaseUrl + path;\r\n var token = cookie.load('token');\r\n if (token) headers.append('Authorization', 'token ' + token);\r\n console.log(\"calling server: \" + method + \" - \" + url);\r\n return fetch(url, {method: method, headers: headers, body: body})\r\n .then(function(response) {\r\n var endTimestamp = new Date().getTime();\r\n var timespan = endTimestamp - startTimestamp;\r\n console.log(\"(\" + timespan + \"ms) \" + \"response for \" + method + \" - \" + url + \": \" + response.status + \" - \" + response.statusText);\r\n return response;\r\n });\r\n }\r\n\r\n post(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'post', headers, body);\r\n }\r\n\r\n postImage(path, image, imageType) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'image/' + imageType);\r\n return this.doFetch(path, 'post', headers, image);\r\n }\r\n\r\n put(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'put', headers, body);\r\n }\r\n\r\n patch(path, body) {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.doFetch(path, 'patch', headers, body);\r\n }\r\n\r\n get(path) {\r\n return this.doFetch(path, 'get', new Headers(), null);\r\n }\r\n\r\n delete(path) {\r\n return this.doFetch(path, 'delete', new Headers(), null);\r\n }\r\n}","/*\r\n* required polyfills\r\n*/\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n// import 'core-js/es6/symbol'\r\n// import 'core-js/es6/object'\r\n// import 'core-js/es6/function'\r\n// import 'core-js/es6/parse-int'\r\n// import 'core-js/es6/parse-float'\r\n// import 'core-js/es6/number'\r\n// import 'core-js/es6/math'\r\n// import 'core-js/es6/string'\r\n// import 'core-js/es6/date'\r\nimport 'core-js/es6/array'\r\n// import 'core-js/es6/regexp'\r\nimport 'core-js/es6/map'\r\n// import 'core-js/es6/weak-map'\r\nimport 'core-js/es6/set'\r\nimport 'core-js/es7/object'\r\nimport 'core-js/es6/promise'\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es6/reflect'\r\n\r\n/** Evergreen browsers require these. **/\r\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\r\n// import 'core-js/es7/reflect'\r\n\r\n// CustomEvent() constructor functionality in IE9, IE10, IE11\r\n(function () {\r\n\r\n if ( typeof window.CustomEvent === \"function\" ) return false\r\n\r\n function CustomEvent ( event, params ) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined }\r\n var evt = document.createEvent( 'CustomEvent' )\r\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )\r\n return evt\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype\r\n\r\n window.CustomEvent = CustomEvent\r\n})()\r\n","const workNav = {\r\n items: [\r\n {\r\n name: 'Home',\r\n url: '/admin',\r\n icon: 'fa fa-home',\r\n },\r\n {\r\n name: 'Customers',\r\n url: '/admin/customers',\r\n icon: 'fa fa-handshake-o',\r\n },\r\n {\r\n name: 'Products',\r\n url: '/admin/products',\r\n icon: 'fa fa-shopping-bag',\r\n },\r\n {\r\n name: 'Internal Users',\r\n url: '/admin/users',\r\n icon: 'fa fa-user',\r\n },\r\n {\r\n name: 'Sales',\r\n url: '/admin/usage/browse',\r\n icon: 'fa fa-dashboard',\r\n children: [\r\n {\r\n name: 'Manage Invoices',\r\n url: '/admin/usage/invoices',\r\n icon: 'fa fa-usd',\r\n },\r\n {\r\n name: 'Import Usage',\r\n url: '/admin/usage/import',\r\n icon: 'fa fa-download'\r\n },\r\n {\r\n name: 'Browse Usage',\r\n url: '/admin/usage/browse',\r\n icon: 'fa fa-list',\r\n }\r\n ]\r\n },\r\n // {\r\n // name: 'Communications',\r\n // url: '/admin/communications/home',\r\n // icon: 'fa fa-bullhorn',\r\n // children: [\r\n // {\r\n // name: 'Product Releases',\r\n // url: '/admin/communications/releases',\r\n // icon: 'fa fa-refresh',\r\n // },\r\n // {\r\n // name: 'News Bulletins',\r\n // url: '/admin/communications/bulletins',\r\n // icon: 'fa fa-newspaper-o'\r\n // }\r\n // ]\r\n // }\r\n ]\r\n}\r\n\r\nexport default workNav;\r\n","const customerNav = {\r\n items: [\r\n {\r\n name: 'Home',\r\n url: '/customer',\r\n icon: 'fa fa-home',\r\n },\r\n {\r\n name: 'Payments',\r\n url: '/customer/payments',\r\n icon: 'fa fa-dollar'\r\n },\r\n {\r\n name: 'Invoices',\r\n url: '/customer/invoices',\r\n icon: 'fa fa-tasks',\r\n },\r\n {\r\n name: 'Support',\r\n url: '/customer/support',\r\n icon: 'fa fa-ticket',\r\n },\r\n {\r\n name: 'Trainings',\r\n url: '/customer/trainings',\r\n icon: 'fa fa-rocket',\r\n },\r\n {\r\n name: 'Addons',\r\n url: '/customer/addons',\r\n icon: 'fa fa-puzzle-piece'\r\n }\r\n ]\r\n}\r\n\r\nexport default customerNav;\r\n","import React from 'react';\r\nimport { Container, Row } from 'reactstrap';\r\nimport Loadable from 'react-loadable'\r\n\r\nfunction Loading() {\r\n return (\r\n \r\n \r\n
\r\n
 \r\n
 \r\n
 \r\n
 \r\n
\r\n
\r\n
\r\n \r\n

Loading...

\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst AdminHome = Loadable({\r\n loader: () => import('./views/Admin/AdminHome'), \r\n loading: Loading,\r\n});\r\n\r\nconst ProductsPage = Loadable({\r\n loader: () => import('./views/Admin/Products/ProductsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst EditProductPage = Loadable({\r\n loader: () => import('./views/Admin/Products/EditProductPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomersPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomersPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerHome = Loadable({\r\n loader: () => import('./views/Customer/CustomerDashboardPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst MakeAPaymentPage = Loadable({\r\n loader: () => import('./views/Customer/MakeAPaymentPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst MyTrainingsPage = Loadable({\r\n loader: () => import('./views/Customer/MyTrainingsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst ProfilePage = Loadable({\r\n loader: () => import('./views/Profile/ProfilePage'),\r\n loading: Loading,\r\n});\r\n\r\nconst ImportUsagePage = Loadable({\r\n loader: () => import('./views/Admin/Usage/ImportUsagePage'),\r\n loading: Loading,\r\n});\r\n\r\nconst BrowseUsagePage = Loadable({\r\n loader: () => import('./views/Admin/Usage/BrowseUsagePage'),\r\n loading: Loading,\r\n});\r\n\r\nconst MonthlySalesPage = Loadable({\r\n loader: () => import('./views/Admin/Usage/MonthlySalesPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst SalesDashboardPage = Loadable({\r\n loader: () => import('./views/Admin/Usage/SalesDashboardPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst SalespeoplePage = Loadable({\r\n loader: () => import('./views/Admin/Usage/SalespeoplePage'),\r\n loading: Loading,\r\n});\r\n\r\nconst SalespersonPage = Loadable({\r\n loader: () => import('./views/Admin/Usage/SalespersonPage'),\r\n loading: Loading,\r\n});\r\n\r\n// const PricingChangeImpactPage = Loadable({\r\n// loader: () => import('./views/Admin/Usage/PricingChangeImpactPage'),\r\n// loading: Loading,\r\n// });\r\n\r\nconst CustomerSubscriptionsPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerSubscriptionsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerTrainingsPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerTrainingsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerNotesPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerNotesPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerLocationsPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerLocationsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerInvoicesPage = Loadable({\r\n loader: () => import('./views/Admin/Customers/CustomerInvoicesPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst InvoicesPage = Loadable({\r\n loader: () => import('./views/Admin/Usage/InvoicesPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst InvoicePage = Loadable({\r\n loader: () => import('./views/Admin/Usage/InvoicePage'),\r\n loading: Loading,\r\n});\r\n\r\nconst SettingsPage = Loadable({\r\n loader: () => import('./views/Admin/SettingsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst ReleasesPage = Loadable({\r\n loader: () => import('./views/Admin/Communications/ReleaseAnnouncementsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst PastInvoicesPage = Loadable({\r\n loader: () => import('./views/Customer/PastInvoicesPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst AccountSettingsPage = Loadable({\r\n loader: () => import('./views/Customer/AccountSettingsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst InternalUsersPage = Loadable({\r\n loader: () => import('./views/Admin/Users/InternalUsersPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst AddonsPage = Loadable({\r\n loader: () => import('./views/Customer/AddonsPage'),\r\n loading: Loading,\r\n});\r\n\r\nconst CustomerSupportPage = Loadable({\r\n loader: () => import('./views/Customer/CustomerSupportPage'),\r\n loading: Loading,\r\n});\r\n\r\n// https://github.com/ReactTraining/react-router/tree/master/packages/react-router-config\r\nconst routes = [\r\n { path: '/admin', name: \"Home\", component: AdminHome, exact: true },\r\n { path: '/admin/settings', name: \"Settings\", component: SettingsPage, exact: true },\r\n { path: '/admin/products', name: \"Products\", component: ProductsPage, exact: true },\r\n { path: '/admin/products/:productId', name: \"Product\", component: EditProductPage, exact: true },\r\n { path: '/admin/customers', name: \"Customers\", component: CustomersPage, exact: true },\r\n { path: '/admin/customers/:customerId', name: \"Customer\", component: CustomerPage, exact: true },\r\n { path: '/admin/customers/:customerId/subscriptions', name: \"Subscriptions\", component: CustomerSubscriptionsPage, exact: true },\r\n { path: '/admin/customers/:customerId/trainings', name: \"Trainings\", component: CustomerTrainingsPage, exact: true },\r\n { path: '/admin/customers/:customerId/notes', name: \"Notes\", component: CustomerNotesPage, exact: true },\r\n { path: '/admin/customers/:customerId/locations', name: \"Locations\", component: CustomerLocationsPage, exact: true },\r\n { path: '/admin/customers/:customerId/invoices', name: \"Invoices\", component: CustomerInvoicesPage, exact: true },\r\n { path: '/customer', name: \"Home\", component: CustomerHome, exact: true },\r\n { path: '/customer/payments', name: \"Payments\", component: MakeAPaymentPage, exact: true },\r\n { path: '/customer/invoices', name: \"Invoices\", component: PastInvoicesPage, exact: true },\r\n { path: '/customer/trainings', name: \"My Trainings\", component: MyTrainingsPage, exact: true },\r\n { path: '/customer/settings', name: \"Account Settings\", component: AccountSettingsPage, exact: true },\r\n { path: '/customer/addons', name: \"My Addons\", component: AddonsPage, exact: true},\r\n { path: '/customer/support', name: \"Support Center\", component: CustomerSupportPage, exact: true},\r\n { path: '/profile', name: \"Profile\", component: ProfilePage, exact: true },\r\n { path: '/admin/usage/import', name: \"Import Usage\", component: ImportUsagePage, exact: true },\r\n { path: '/admin/usage/browse', name: \"Browse Usage\", component: BrowseUsagePage, exact: true },\r\n // { page: '/admin/usage/pricechangeimpact', name: \"Pricing Change Impact\", component: PricingChangeImpactPage, exact: true },\r\n { path: '/admin/usage/salesdashboard', name: \"Sales Dashboard\", component: SalesDashboardPage, exact: true },\r\n { path: '/admin/usage/monthlysales', name: \"Monthly Sales\", component: MonthlySalesPage, exact: true },\r\n { path: '/admin/usage/invoices', name: \"Manage Invoices\", component: InvoicesPage, exact: true },\r\n { path: '/admin/usage/invoices/:invoiceId', name: \"Invoice\", component: InvoicePage, exact: true },\r\n { path: '/admin/usage/salespeople', name: \"Salespeople\", component: SalespeoplePage, exact: true },\r\n { path: '/admin/usage/salespeople/:salespersonId', name: \"Salesperson\", component: SalespersonPage, exact: true },\r\n { path: '/admin/communications/releases', name: \"Manage Release Announcements\", component: ReleasesPage, exact: true },\r\n { path: '/admin/users', name: \"Manage Internal Users\", component: InternalUsersPage, exact: true },\r\n];\r\n\r\nexport default routes;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst propTypes = {\r\n children: PropTypes.node,\r\n};\r\n\r\nconst defaultProps = {};\r\n\r\nclass DefaultFooter extends Component {\r\n render() {\r\n\r\n // eslint-disable-next-line\r\n const { children, ...attributes } = this.props;\r\n\r\n return (\r\n \r\n Noteable © 2020 Noteable, LLC.\r\n \r\n );\r\n }\r\n}\r\n\r\nDefaultFooter.propTypes = propTypes;\r\nDefaultFooter.defaultProps = defaultProps;\r\n\r\nexport default DefaultFooter;\r\n","import React, { Component } from 'react';\r\nimport { Badge, Dropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap';\r\nimport '../../services/StringExtensions';\r\nimport { NoteabillApi, TasksForUserEndpoint } from '../../services/NoteabillApi';\r\nimport TimeAgo from 'react-timeago';\r\n\r\nconst defaultProps = {\r\n notif: false,\r\n accnt: false,\r\n tasks: false,\r\n mssgs: false,\r\n};\r\n\r\nclass DefaultHeaderDropdown extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n dropdownOpen: false,\r\n tasks: [],\r\n avatar: null,\r\n userEmailAddress: '',\r\n userDisplayName: '',\r\n customerName: '',\r\n };\r\n\r\n this.timer = null;\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.refreshAvatar = this.refreshAvatar.bind(this);\r\n }\r\n\r\n toggle() {\r\n this.setState({\r\n dropdownOpen: !this.state.dropdownOpen,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n const { accnt, tasks } = this.props;\r\n var sessionString = sessionStorage.getItem('session');\r\n if (sessionString && sessionString !== 'undefined') {\r\n var session = JSON.parse(sessionString);\r\n if (accnt && session) {\r\n this.setState({avatar: session.avatarImage, userEmailAddress: session.emailAddress, customerName: session.companyName, userDisplayName: session.firstName + ' ' + session.lastName});\r\n window.addEventListener('session', this.refreshAvatar);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { accnt } = this.props;\r\n if (accnt) {\r\n window.removeEventListener('session', this.refreshAvatar);\r\n }\r\n }\r\n\r\n refreshAvatar() {\r\n var sessionString = sessionStorage.getItem('session');\r\n if (sessionString && sessionString !== 'undefined') {\r\n var session = JSON.parse(sessionString);\r\n this.setState({avatar: session.avatarImage, userEmailAddress: session.emailAddress}); \r\n }\r\n }\r\n \r\n userIsAdmin() {\r\n var session = JSON.parse(sessionStorage.getItem('session'));\r\n return session && session.securityZoneId.isDefaultGuid();\r\n }\r\n\r\n dropAccnt() {\r\n return (\r\n \r\n \r\n {\r\n this.state.avatar ? (\r\n {this.state.userEmailAddress}\r\n ) : (\r\n {this.state.userDisplayName ? this.state.userDisplayName : this.state.userEmailAddress} ({this.state.customerName}) \r\n )\r\n }\r\n \r\n \r\n Profile\r\n Sign out\r\n {\r\n this.userIsAdmin() ? (\r\n Company Settings\r\n ) : ''\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n this.dropAccnt()\r\n );\r\n }\r\n}\r\n\r\nexport default DefaultHeaderDropdown;\r\n","import React, { Component } from 'react';\r\nimport { Nav, NavItem, NavLink } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { AppAsideToggler, AppNavbarBrand, AppSidebarToggler } from '@coreui/react';\r\nimport DefaultHeaderDropdown from './DefaultHeaderDropdown'\r\nimport logo from '../../assets/img/brand/logo.svg'\r\nimport sygnet from '../../assets/img/brand/sygnet.svg'\r\n\r\nconst propTypes = {\r\n children: PropTypes.node,\r\n};\r\n\r\nconst defaultProps = {};\r\n\r\nclass DefaultHeader extends Component {\r\n\r\n constructor(props) {\r\n super(props); \r\n }\r\n\r\n render() {\r\n // eslint-disable-next-line\r\n const { children, ...attributes } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n Noteable Account Management Center\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDefaultHeader.propTypes = propTypes;\r\nDefaultHeader.defaultProps = defaultProps;\r\n\r\nexport default DefaultHeader;\r\n","import React, { Component } from 'react';\r\nimport { Redirect, Route, Switch } from 'react-router-dom';\r\nimport { Container } from 'reactstrap';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport '../../services/StringExtensions';\r\n\r\nimport {\r\n AppBreadcrumb,\r\n AppFooter,\r\n AppHeader,\r\n AppSidebar,\r\n AppSidebarFooter,\r\n AppSidebarForm,\r\n AppSidebarHeader,\r\n AppSidebarMinimizer,\r\n AppSidebarNav,\r\n} from '@coreui/react';\r\n// sidebar nav config\r\nimport adminNav from '../../nav-admin';\r\nimport customerNav from '../../nav-customer';\r\nimport cookie from 'react-cookies';\r\n// routes config\r\nimport routes from '../../routes';\r\n\r\nimport DefaultFooter from './DefaultFooter';\r\nimport DefaultHeader from './DefaultHeader';\r\n\r\nconst Areas = ['admin','customer'];\r\n\r\nclass DefaultLayout extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.activeNav = adminNav;\r\n this.idleTimer = null;\r\n \r\n this.onAction = this.onAction.bind(this);\r\n this.onActive = this.onActive.bind(this);\r\n this.onIdle = this.onIdle.bind(this);\r\n\r\n this.home = '/';\r\n }\r\n\r\n onAction(e) {\r\n // keep the session alive. the server is doing the same thing when api calls\r\n // are made.\r\n var token = cookie.load('token');\r\n if (token) {\r\n var expire = new Date();\r\n expire.setTime(expire.getTime()+(30*60*1000));\r\n cookie.save('token', token, {path: '/', expires: expire}); \r\n }\r\n }\r\n\r\n onActive(e) {\r\n }\r\n\r\n onIdle(e) {\r\n cookie.remove('token');\r\n if (this.props.history) this.props.history.push('/signin');\r\n }\r\n\r\n setHome() {\r\n var session = JSON.parse(sessionStorage.getItem('session'));\r\n if (session) {\r\n if (session.canConfigure || session.canManageStudioAccount) {\r\n this.home = '/admin';\r\n if (session.canManageStudioAccount) {\r\n let salesMenu = adminNav.items.find(i => i.name === 'Sales');\r\n // Executive View - Monthly Sales\r\n if (salesMenu && !salesMenu.children.find(c => c.name === 'Monthly Sales')) {\r\n salesMenu.children.push(\r\n {\r\n name: 'Monthly Sales',\r\n url: '/admin/usage/monthlysales',\r\n icon: 'fa fa-dollar',\r\n }\r\n )\r\n }\r\n // Executive View - Salespeople\r\n if (salesMenu && !salesMenu.children.find(c => c.name === 'Salespeople')) {\r\n salesMenu.children.push(\r\n {\r\n name: 'Salespeople',\r\n url: '/admin/usage/salespeople',\r\n icon: 'fa fa-user'\r\n }\r\n )\r\n }\r\n }\r\n this.activeNav = adminNav;\r\n } else if (!session.securityZoneId.isDefaultGuid()) {\r\n this.home = '/customer';\r\n this.activeNav = customerNav;\r\n } else {\r\n // the security zone id is default, implying an admin, but the necessary permissions\r\n // aren't set, as they would be on all admins, so something has gone wrong here.\r\n if (this.props.history) this.props.history.push('/404');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n this.setHome();\r\n return (\r\n
\r\n { this.idleTimer = ref}}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={30*60*1000} />\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 {routes.map((route, idx) => {\r\n return route.component ? ( (\r\n \r\n )} />)\r\n : (null);\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\nexport default DefaultLayout;\r\n","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, CardGroup, Col, Container, Form, Input, InputGroup, InputGroupAddon, InputGroupText, Row } from 'reactstrap';\r\n\r\nclass Login extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Login

\r\n

Sign In to your account

\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 \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Sign up

\r\n

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut\r\n labore et dolore magna aliqua.

\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\nexport default Login;\r\n","import React, { Component } from 'react';\r\nimport { Button, Col, Container, Input, InputGroup, InputGroupAddon, InputGroupText, Row } from 'reactstrap';\r\n\r\nclass Page404 extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

404

\r\n

Can't find that.

\r\n

\r\n The page or resource you are looking for was not found.\r\n

\r\n
\r\n
\r\n
\r\n

\r\n You were redirected here because you attempted to access a resource that we couldn't find or that you don't\r\n have access to.\r\n It's possible you clicked an external link to an entity or workflow or other item that was either\r\n deleted or renamed. Otherwise, there may be an issue and you should let us know by emailing support@noteablenow.com.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Page404;\r\n","import React, { Component } from 'react';\r\nimport { Button, Col, Container, Input, InputGroup, InputGroupAddon, InputGroupText, Row } from 'reactstrap';\r\n\r\nclass Page500 extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

500

\r\n

Houston, we have a problem!

\r\n

The page you are looking for is temporarily unavailable.

\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\nexport default Page500;\r\n","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, CardFooter, Col, Container, Form, Input, InputGroup, InputGroupAddon, InputGroupText, Row } from 'reactstrap';\r\n\r\nclass Register extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Register

\r\n

Create your account

\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 \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 \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Register;\r\n","import React, { Component } from 'react';\r\nimport { \r\n Button, Card, CardBody, CardGroup, Col, Container, Form, FormFeedback, \r\n FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText, \r\n Row, Alert, Collapse } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { NoteabillApi, AuthorizationEndpoint, SessionAvatarEndpoint } from '../../../services/NoteabillApi';\r\nimport cookie from 'react-cookies';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport { LoadingAnimation } from '../../../components';\r\n\r\nconst AuthEndpoint = AuthorizationEndpoint;\r\n\r\nconst logoStyle = {\r\n height: '80px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n\r\nconst rememberMeStyle = {\r\n marginLeft: '20px'\r\n}\r\n\r\nclass SigninPage extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'email',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Email is required'\r\n },\r\n {\r\n field: 'email',\r\n method: 'isEmail',\r\n validWhen: true,\r\n message: 'Please enter a valid email'\r\n },\r\n {\r\n field: 'password',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Password is required'\r\n }\r\n ]);\r\n\r\n this.state = {\r\n email: \"\",\r\n password: \"\",\r\n rememberMe: false,\r\n alertVisible: false,\r\n alertMessage: \"\",\r\n alertColor: \"info\",\r\n formEnabled: true,\r\n buttonText: \"Sign in\",\r\n requestedPath: \"\",\r\n validation: this.validator.valid()\r\n }\r\n\r\n this.submitted = false;\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.hideAlert = this.hideAlert.bind(this);\r\n } \r\n\r\n handleChange = (event) => {\r\n if (event.target.id == 'rememberMe') {\r\n this.setState({rememberMe: event.target.checked})\r\n } else {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n }); \r\n }\r\n }\r\n\r\n handleSubmit = (event) => {\r\n event.preventDefault();\r\n \r\n // validate\r\n const validation = this.validator.validate(this.state);\r\n this.setState({validation})\r\n this.submitted = true;\r\n\r\n if (validation.isValid) {\r\n // prepare request to the auth endpoint\r\n this.disableForm();\r\n var api = new NoteabillApi();\r\n api.post(AuthEndpoint, JSON.stringify({email: this.state.email, password: this.state.password}), false)\r\n .then(response => this.handleUnauthorized(response))\r\n .then(response => response && response.json())\r\n .then(data => data && this.completeLogin(data))\r\n .catch(error => this.handleReject(error));\r\n }\r\n }\r\n\r\n showAlert(message, color) {\r\n this.setState({ alertVisible: true, alertMessage: message, alertColor: color });\r\n }\r\n\r\n hideAlert() {\r\n this.setState({ alertVisible: false });\r\n }\r\n\r\n completeLogin(session) { \r\n // handle \"remember me\" checkbox\r\n if (this.state.rememberMe) {\r\n // save email to local storage\r\n localStorage.setItem('email', this.state.email);\r\n } else {\r\n // remove email from local storage if it's there\r\n localStorage.removeItem('email');\r\n }\r\n var expire = new Date();\r\n expire.setTime(expire.getTime()+(30*60*1000));\r\n cookie.save('token', session.token, {path: '/', expires: expire});\r\n\r\n // fetch the user avatar\r\n var api = new NoteabillApi();\r\n api.get(SessionAvatarEndpoint)\r\n .then(response => response && response.json())\r\n .then(avatarData => {\r\n session.avatarImage = avatarData.avatarImage;\r\n })\r\n .finally(function() {\r\n // keep session data in local storage\r\n sessionStorage.setItem(\"session\", JSON.stringify(session));\r\n var redirectOnLogin = this.props.location.state ? this.props.location.state.requestedPath : '/';\r\n this.props.history.push(redirectOnLogin);\r\n }.bind(this));\r\n }\r\n\r\n handleUnauthorized(response) {\r\n if (!response.ok) {\r\n if (response.status == 401) {\r\n this.showAlert(\"We could not log you in with that email and password. Please try again.\", \"danger\");\r\n } else {\r\n this.showAlert(\"Hmm, something went wrong \" + response.statusText, \"danger\");\r\n }\r\n this.enableForm();\r\n } else {\r\n return response;\r\n }\r\n }\r\n\r\n handleReject(error) {\r\n console.log(error);\r\n this.showAlert(\"An unexpected error occurred: \" + error, \"danger\");\r\n this.setState({ password: \"\"})\r\n this.enableForm();\r\n }\r\n\r\n disableForm() {\r\n this.setState({ formEnabled: false, buttonText: \"Signing in...\", alertVisible: false, alertText: \"\" });\r\n }\r\n\r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Sign in\" });\r\n }\r\n\r\n handleLogoutComplete() {\r\n cookie.remove('token');\r\n sessionStorage.removeItem('session');\r\n this.enableForm();\r\n this.showAlert(\"You have been logged out\", \"primary\");\r\n }\r\n\r\n componentDidMount() {\r\n if (localStorage.getItem('email')) {\r\n this.setState({rememberMe: true, email: localStorage.getItem('email')});\r\n }\r\n }\r\n\r\n render() {\r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

Account Management and Billing Center

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Sign in

\r\n

Sign in to your account to continue. If you need access, contact your Noteable account administrator.

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.email.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n {' '} Remember me?\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 );\r\n }\r\n}\r\n\r\nexport default SigninPage;\r\n","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, CardGroup, Col, Container, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { NoteabillApi, AuthorizationEndpoint } from '../../../services/NoteabillApi';\r\nimport cookie from 'react-cookies';\r\n\r\nconst AuthEndpoint = AuthorizationEndpoint;\r\n\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n }\r\n\r\n class SignoutPage extends Component {\r\n constructor(props) {\r\n super(props); \r\n\r\n this.state = {\r\n alertVisible: false,\r\n alertMessage: \"\",\r\n alertColor: \"info\",\r\n headingText: \"Signing you out...\",\r\n buttonText: \"Please wait\",\r\n buttonEnabled: false\r\n }\r\n }\r\n\r\n showAlert(message, color) {\r\n this.setState({ alertVisible: true, alertMessage: message, alertColor: color });\r\n }\r\n\r\n hideAlert() {\r\n this.setState({ alertVisible: false });\r\n }\r\n\r\n componentDidMount() {\r\n var api = new NoteabillApi();\r\n var token = cookie.load('token');\r\n if (token && token != 'undefined') {\r\n api.delete(AuthEndpoint, false)\r\n .then(response => this.handleError(response))\r\n .then(response => response && this.handleResponse(response))\r\n .catch(error => this.handleReject(error)); \r\n } else {\r\n this.setState({buttonEnabled: true, buttonText: \"Sign in again\", headingText: \"You have been signed out.\"});\r\n }\r\n }\r\n\r\n handleError(response) {\r\n if (!response.ok) {\r\n this.showAlert(\"We were unable to sign you out. \" + response.statusText);\r\n } else {\r\n return response;\r\n }\r\n }\r\n\r\n handleResponse(response) {\r\n cookie.remove('token');\r\n sessionStorage.removeItem('session');\r\n this.setState({buttonEnabled: true, buttonText: \"Sign in again\", headingText: \"You have been signed out.\"});\r\n }\r\n\r\n handleReject(error) {\r\n this.showAlert(\"An error occurred while trying to sign you out. \" + error);\r\n }\r\n \r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

{this.state.headingText}

\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 export default SignoutPage;\r\n ","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, Col, Container, Form, FormFeedback, FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { NoteabillApi } from '../../../services/NoteabillApi';\r\nimport FormValidator from '../../../services/FormValidator';\r\n\r\n\r\nconst RecoveryEndpoint = \"/authorization/recovery\";\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n\r\nclass ForgotPasswordPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'email',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Email is required'\r\n },\r\n {\r\n field: 'email',\r\n method: 'isEmail',\r\n validWhen: true,\r\n message: 'Please enter a valid email'\r\n } \r\n ]);\r\n \r\n this.state = {\r\n email: \"\",\r\n alertVisible: false,\r\n alertMessage: \"\",\r\n alertColor: \"info\",\r\n formEnabled: true,\r\n buttonText: \"Send Email\",\r\n validation: this.validator.valid()\r\n }\r\n\r\n this.submitted = false;\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.hideAlert = this.hideAlert.bind(this);\r\n \r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n }\r\n\r\n handleSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n // validate\r\n const validation = this.validator.validate(this.state);\r\n this.setState({validation})\r\n this.submitted = true;\r\n\r\n if (validation.isValid) {\r\n // prepare request to the auth endpoint\r\n this.disableForm();\r\n var api = new NoteabillApi();\r\n api.post(RecoveryEndpoint, JSON.stringify({email: this.state.email}), false)\r\n .then(response => this.handleUnauthorized(response))\r\n .then(data => data && this.handleCompleted())\r\n .catch(error => this.handleRejected(error));\r\n }\r\n }\r\n\r\n handleCompleted() { \r\n this.showAlert(\"An email has been sent to the address provided. Please check your email.\");\r\n this.enableForm();\r\n }\r\n \r\n handleUnauthorized(response) {\r\n if (!response.ok) {\r\n if (response.status == 401) {\r\n this.showAlert(\"That email address could not be found.\", \"danger\");\r\n } else {\r\n this.showAlert(\"Hmm, something went wrong \" + response.statusText, \"danger\");\r\n }\r\n this.enableForm();\r\n } else {\r\n return response;\r\n }\r\n }\r\n \r\n handleRejected(error) {\r\n console.log(error);\r\n this.showAlert(\"An unexpected error occurred: \" + error, \"danger\");\r\n this.enableForm();\r\n }\r\n \r\n showAlert(message, color) {\r\n this.setState({ alertVisible: true, alertMessage: message, alertColor: color });\r\n }\r\n \r\n hideAlert() {\r\n this.setState({ alertVisible: false });\r\n }\r\n \r\n disableForm() {\r\n this.setState({ formEnabled: false, buttonText: \"Sending...\", alertVisible: false, alertText: \"\" });\r\n }\r\n \r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Submit\" });\r\n }\r\n \r\n render() {\r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n
\r\n

Recover a password

\r\n

\r\n Please enter the email address with which you sign in. If we recognize it, we'll\r\n send an email with instructions to recover your password.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.email.message}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Still stuck? Email support@noteablenow.com for assistance.\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPasswordPage;","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, Col, Collapse, Container, Form, FormFeedback, FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { NoteabillApi, PasswordRecoveryEndpoint } from '../../../services/NoteabillApi';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport 'spinkit/css/spinkit.css';\r\nimport queryString from 'query-string';\r\nimport passwordValidator from 'password-validator';\r\n\r\nconst RecoveryEndpoint = PasswordRecoveryEndpoint;\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n\r\nclass ResetPasswordPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'password',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must enter a new password'\r\n },\r\n {\r\n field: 'password',\r\n method: this.passwordStrength,\r\n validWhen: true,\r\n message: 'Please choose a stronger password'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must re-type your password here'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: this.passwordMatch, // custom function\r\n validWhen: true,\r\n message: 'The passwords do not match'\r\n }\r\n ]);\r\n \r\n this.state = {\r\n alertVisible: false,\r\n alertMessage: \"\",\r\n alertColor: \"info\",\r\n loading: false,\r\n formVisible: false,\r\n formEnabled: true,\r\n buttonText: \"Change Password\",\r\n password: \"\",\r\n passwordConfirm: \"\",\r\n validation: this.validator.valid()\r\n }\r\n\r\n this.submitted = false;\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.hideAlert = this.hideAlert.bind(this);\r\n }\r\n\r\n passwordMatch = (confirmation, state) => (state.password === confirmation);\r\n\r\n passwordStrength = (password) => {\r\n var schema = new passwordValidator();\r\n schema\r\n .is().min(8)\r\n .is().max(100)\r\n .has().uppercase()\r\n .has().lowercase()\r\n .has().digits()\r\n .has().not().spaces();\r\n return schema.validate(password);\r\n };\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n }\r\n\r\n handleSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n // validate\r\n const validation = this.validator.validate(this.state);\r\n this.setState({validation})\r\n this.submitted = true;\r\n\r\n if (validation.isValid) {\r\n // prepare request to the auth endpoint\r\n this.disableForm();\r\n var api = new NoteabillApi();\r\n const qs = queryString.parse(this.props.location.search);\r\n var endpoint = RecoveryEndpoint + '/' + qs.requestId;\r\n api.post(endpoint, JSON.stringify({password: this.state.password}), false)\r\n .then(response => this.handleErrorResponse(response))\r\n .then(data => data && this.handleCompleted())\r\n .catch(error => this.handleRejected(error));\r\n }\r\n }\r\n\r\n handleCompleted() { \r\n this.setState({ formVisible: false });\r\n this.showAlert(\"Success! Return to the sign-in page and use your new password to login\", \"success\");\r\n }\r\n \r\n handleErrorResponse(response) {\r\n if (response.status === 404) {\r\n this.showAlert(\"The password recovery token was not found\", \"danger\");\r\n this.setState({ loading: false });\r\n } \r\n else if (response.status === 401) {\r\n this.showAlert(\"Password recovery requests expire after a short time. You'll need to submit another and respond right away.\", \"warning\")\r\n this.setState({ loading: false });\r\n }\r\n else if (!response.ok) {\r\n this.showAlert(\"Hmm, something went wrong: \" + response.statusText, \"danger\");\r\n this.setState({ loading: false });\r\n } else {\r\n return response;\r\n }\r\n }\r\n \r\n handleRejected(error) {\r\n console.log(error);\r\n this.showAlert(\"An unexpected error occurred: \" + error, \"danger\");\r\n this.enableForm();\r\n this.setState({ loading: false });\r\n }\r\n \r\n showAlert(message, color) {\r\n this.setState({ alertVisible: true, alertMessage: message, alertColor: color });\r\n }\r\n \r\n hideAlert() {\r\n this.setState({ alertVisible: false });\r\n }\r\n \r\n disableForm() {\r\n this.setState({ formEnabled: false, alertVisible: false, alertText: \"\" });\r\n }\r\n \r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Submit\" });\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ loading: true });\r\n const qs = queryString.parse(this.props.location.search);\r\n if (!qs.requestId) {\r\n this.showAlert('You must be here by mistake. You have not provided a password recovery token.');\r\n this.setState({ loading: false });\r\n } else {\r\n var api = new NoteabillApi();\r\n var endpoint = RecoveryEndpoint + '/' + qs.requestId;\r\n api.get(endpoint, false)\r\n .then(response => this.handleErrorResponse(response))\r\n .then(response => response && response.json())\r\n .then(data => data && this.handleCheckRequestCompleted())\r\n .catch(error => this.handleRejected(error)); \r\n }\r\n }\r\n\r\n handleCheckRequestCompleted() {\r\n this.setState({ loading: false, formVisible: true });\r\n }\r\n \r\n render() {\r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\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

Checking status of password reset request...

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Reset your password

\r\n

\r\n Enter a new password for your account below. Your password should\r\n consist of a minimum of 8 alphanumeric characters and exhibit a mixture\r\n of upper and lower case and at least one digit.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.passwordConfirm.message}\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}\r\n\r\nexport default ResetPasswordPage;","import React, { Component } from 'react';\r\nimport { \r\n Button, Card, CardBody, Col, Collapse, Container, Form, FormFeedback, FormGroup, FormText,\r\n Input, Label, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { CustomerEnrollmentProvider } from '../../../providers';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport 'spinkit/css/spinkit.css';\r\nimport queryString from 'query-string';\r\nimport passwordValidator from 'password-validator';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\nimport StatePicker from '../../Shared/StatePicker';\r\nimport { TextMask, InputAdapter } from 'react-text-mask-hoc';\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n \r\nclass CustomerEnrollmentPage extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'companyName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must enter a company name'\r\n },\r\n {\r\n field: 'firstName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your first name'\r\n },\r\n {\r\n field: 'lastName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your last name'\r\n },\r\n {\r\n field: 'title',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your title'\r\n },\r\n {\r\n field: 'addressLine1',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address cannot be empty'\r\n },\r\n {\r\n field: 'city',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address must have a city'\r\n },\r\n {\r\n field: 'zip',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter 5 digit zip code'\r\n },\r\n {\r\n field: 'password',\r\n method: this.passwordStrength,\r\n validWhen: true,\r\n message: 'Please choose a stronger password'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must re-type your password here'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: this.passwordMatch, // custom function\r\n validWhen: true,\r\n message: 'The passwords do not match'\r\n }\r\n ]);\r\n \r\n this.defineState({\r\n formVisible: false,\r\n formEnabled: true,\r\n buttonText: \"Continue to Dashboard\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n companyName: \"\",\r\n title: \"\",\r\n addressLine1: \"\",\r\n addressLine2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n phone: \"\",\r\n password: \"\",\r\n passwordConfirm: \"\",\r\n completed: false,\r\n validation: this.validator.valid(),\r\n });\r\n\r\n this.submitted = false;\r\n this.customerEnrollmentProvider = new CustomerEnrollmentProvider();\r\n\r\n this.handleAddressStateChanged = this.handleAddressStateChanged.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.hideAlert = this.hideAlert.bind(this);\r\n }\r\n\r\n passwordMatch = (confirmation, state) => (state.password === confirmation);\r\n\r\n passwordStrength = (password) => {\r\n var schema = new passwordValidator();\r\n schema\r\n .is().min(8)\r\n .is().max(100)\r\n .has().uppercase()\r\n .has().lowercase()\r\n .has().digits()\r\n .has().not().spaces();\r\n return schema.validate(password);\r\n };\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n }\r\n\r\n handleSubmit(e) {\r\n // validate\r\n var validation = this.validator.validate(this.state);\r\n this.submitted = true;\r\n if (validation.isValid) {\r\n this.disableForm();\r\n const qs = queryString.parse(this.props.location.search);\r\n var enrollment = {\r\n password: this.state.password,\r\n firstName: this.state.firstName,\r\n lastName: this.state.lastName, \r\n companyName: this.state.companyName,\r\n title: this.state.title,\r\n addressLine1: this.state.addressLine1,\r\n addressLine2: this.state.addressLine2,\r\n city: this.state.city,\r\n state: this.state.state,\r\n zip: this.state.zip,\r\n phone: this.state.phone,\r\n }\r\n this.customerEnrollmentProvider.patch(qs.invitationId, enrollment)\r\n .then(response => this.handleErrorResponse(response))\r\n .then(data => data && this.handleCompleted())\r\n .catch(error => this.handleRejected(error));\r\n }\r\n else {\r\n this.setState({validation:validation});\r\n } \r\n }\r\n\r\n handleCompleted() { \r\n this.setState({ formVisible: false, completed: true });\r\n this.showAlert(\"Success! Return to the sign-in page to login\", \"success\");\r\n }\r\n \r\n handleErrorResponse(response) {\r\n if (response.status === 404) {\r\n this.showAlert(\"The confirmation token was not found\", \"danger\");\r\n this.setState({ loading: false });\r\n } \r\n else if (response.status === 401) {\r\n this.showAlert(response.statusText, \"warning\")\r\n this.setState({ loading: false });\r\n }\r\n else if (!response.ok) {\r\n this.showAlert(\"Hmm, something went wrong: \" + response.statusText, \"danger\");\r\n this.enableForm();\r\n this.setState({ loading: false }); \r\n } else {\r\n return response;\r\n }\r\n }\r\n \r\n handleRejected(error) {\r\n this.showAlert(\"An unexpected error occurred: \" + error, \"danger\");\r\n this.enableForm();\r\n this.setState({ loading: false });\r\n }\r\n \r\n disableForm() {\r\n this.setState({ formEnabled: false, alertVisible: false, alertText: \"\", buttonText: \"Please wait...\" });\r\n }\r\n \r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Continue to Dashboard\"});\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ loading: true });\r\n const qs = queryString.parse(this.props.location.search);\r\n if (!qs.invitationId) {\r\n this.showAlert('You must be here by mistake. You have not provided a confirmation token.');\r\n this.setState({ loading: false });\r\n } else {\r\n this.customerEnrollmentProvider.getOne(qs.invitationId)\r\n .then(response => this.handleErrorResponse(response))\r\n .then(response => response && response.json())\r\n .then(data => data && this.handleCheckRequestCompleted(data))\r\n .catch(error => this.handleRejected(error)); \r\n }\r\n }\r\n\r\n handleCheckRequestCompleted(data) {\r\n this.setState({ \r\n firstName: data.firstName,\r\n lastName: data.lastName,\r\n companyName: data.companyName,\r\n loading: false, \r\n formVisible: true \r\n });\r\n }\r\n\r\n handleAddressStateChanged(stateData) {\r\n this.setState({state: stateData.abbreviation});\r\n }\r\n \r\n render() {\r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

Account Management and Billing Center

\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

Checking status of enrollment invitation...

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n Thank you for confirming your email address. We need a bit more information\r\n about your company/agency in order to generate your agreement and set\r\n you up in our billing platform.\r\n

\r\n \r\n \r\n \r\n \r\n {validation.companyName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.firstName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.lastName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.title.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ex. (999) 999-9999\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.addressLine1.message}\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 {validation.city.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.zip.message}\r\n \r\n \r\n \r\n

\r\n In order to protect your privacy, we insist on the use of\r\n a strong password. Therefore, make sure the password you choose is at least\r\n 8 alpha-numeric characters long, contains a mixture of upper and lower case\r\n and at least one number.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.passwordConfirm.message}\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's Get Started!

\r\n

\r\n Thanks for enrolling in the Noteable Account Management and Billing Center. Next lets get you signed in\r\n so you can review your subscription agreement and enter your recurring payment info. Click the link below\r\n to go to the sign-in page. We can't start setting up your account until you've accepted the agreement\r\n and paid the setup invoice.\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\nexport default CustomerEnrollmentPage;","import React, { Component } from 'react';\r\nimport { \r\n Button, Col, Form, FormFeedback, FormGroup, FormText,\r\n Input, Label, InputGroup, InputGroupAddon, InputGroupText, Row } from 'reactstrap';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport passwordValidator from 'password-validator';\r\nimport StatePicker from '../../Shared/StatePicker';\r\nimport { TextMask, InputAdapter } from 'react-text-mask-hoc';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\nimport PropTypes from 'prop-types';\r\nimport DatePicker from 'react-datepicker';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport moment from 'moment';\r\n\r\nconst propTypes = {\r\n enrollment: PropTypes.object,\r\n onFormCompleted: PropTypes.func,\r\n}\r\n\r\nclass NewCustomerInfoPanel extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'companyName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must enter a company name'\r\n },\r\n {\r\n field: 'firstName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your first name'\r\n },\r\n {\r\n field: 'lastName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your last name'\r\n },\r\n {\r\n field: 'title',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your title'\r\n },\r\n {\r\n field: 'addressLine1',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address cannot be empty'\r\n },\r\n {\r\n field: 'city',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address must have a city'\r\n },\r\n {\r\n field: 'zip',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter 5 digit zip code'\r\n },\r\n {\r\n field: 'password',\r\n method: this.passwordStrength,\r\n validWhen: true,\r\n message: 'Please choose a stronger password'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must re-type your password here'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: this.passwordMatch, // custom function\r\n validWhen: true,\r\n message: 'The passwords do not match'\r\n }\r\n ]);\r\n \r\n this.defineState({\r\n firstName: this.props.enrollment ? this.props.enrollment.firstName : '',\r\n lastName: this.props.enrollment ? this.props.enrollment.lastName : '',\r\n companyName: this.props.enrollment ? this.props.enrollment.companyName : '',\r\n title: \"\",\r\n addressLine1: \"\",\r\n addressLine2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n phone: \"\",\r\n password: \"\",\r\n passwordConfirm: \"\",\r\n goLiveDate: this.props.enrollment ? this.props.enrollment.goLiveDate : moment().add(30, \"days\").format('MM-DD-yyyy'), \r\n completed: false,\r\n validation: this.validator.valid(),\r\n });\r\n\r\n this.submitted = false;\r\n }\r\n\r\n passwordMatch = (confirmation, state) => (state.password === confirmation);\r\n\r\n passwordStrength = (password) => {\r\n var schema = new passwordValidator();\r\n schema\r\n .is().min(8)\r\n .is().max(100)\r\n .has().uppercase()\r\n .has().lowercase()\r\n .has().digits()\r\n .has().not().spaces();\r\n return schema.validate(password);\r\n };\r\n\r\n handleNextClicked() {\r\n // validate\r\n var validation = this.validator.validate(this.state);\r\n this.submitted = true;\r\n if (validation.isValid) {\r\n if (this.props.onFormCompleted) {\r\n this.props.onFormCompleted({\r\n password: this.state.password,\r\n firstName: this.state.firstName,\r\n lastName: this.state.lastName, \r\n companyName: this.state.companyName,\r\n title: this.state.title,\r\n addressLine1: this.state.addressLine1,\r\n addressLine2: this.state.addressLine2,\r\n city: this.state.city,\r\n state: this.state.state,\r\n zip: this.state.zip,\r\n phone: this.state.phone, \r\n goLiveDate: this.state.goLiveDate, \r\n });\r\n }\r\n }\r\n else {\r\n this.setState({validation:validation});\r\n } \r\n }\r\n \r\n handleAddressStateChanged(stateData) {\r\n this.setState({state: stateData.abbreviation});\r\n }\r\n \r\n handleGoLiveDateChanged(date) {\r\n this.setState({goLiveDate: moment(date).format('MM-DD-yyyy')});\r\n }\r\n \r\n render() {\r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {validation.companyName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.firstName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.lastName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.title.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ex. (999) 999-9999\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.addressLine1.message}\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 {validation.city.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.zip.message}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Password
\r\n

\r\n In order to protect your privacy, we insist on the use of\r\n a strong password. Therefore, make sure the password you choose is at least\r\n 8 alpha-numeric characters long, contains a mixture of upper and lower case\r\n and at least one number.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.passwordConfirm.message}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Preferred Go-live Date
\r\n

\r\n Please indicate the date by which you would like to \"go live\". You will begin receiving monthly invoices after\r\n your go-live date. Keep in mind that the enrollment process can take as much as 4 weeks to complete, depending\r\n on complexity.\r\n

\r\n

\r\n Noteable reserves the right to adjust this date as needed to accommodate your site configuration needs. Your\r\n partner advocate will notify you if this date needs to be changed. \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 \r\n
\r\n );\r\n }\r\n}\r\n\r\nNewCustomerInfoPanel.propTypes = propTypes;\r\n\r\nexport default NewCustomerInfoPanel;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\nimport SubscriptionAgreementCard from '../../Shared/SubscriptionAgreementCard';\r\n\r\nconst propTypes = {\r\n agreementData: PropTypes.object,\r\n onAgreementAccepted: PropTypes.func,\r\n}\r\n\r\nclass SubscriptionAgreementPanel extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n handleAgreementAccepted() {\r\n if (this.props.onAgreementAccepted) this.props.onAgreementAccepted();\r\n }\r\n\r\n render() {\r\n if (!this.props.agreementData) return;\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nSubscriptionAgreementPanel.propTypes = propTypes;\r\n\r\nexport default SubscriptionAgreementPanel;","import React, { Component } from 'react';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\nimport PropTypes from 'prop-types';\r\nimport { FormGroup, FormFeedback, Label, \r\n Form, Input, InputGroup, InputGroupAddon, InputGroupText, Button,\r\n Container, Row, Col, Alert, Card, CardHeader, CardBody } from 'reactstrap';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport {getCcExpYears, BankAccountType} from '../../../services/PaymentFormHelper';\r\nimport 'react-dates/initialize';\r\nimport 'react-dates/lib/css/_datepicker.css';\r\nimport { CustomerProvider, RapidEnrollmentProvider } from '../../../providers';\r\nimport StatePicker from '../../Shared/StatePicker';\r\nimport { CustomerEnrollmentStatusEnum } from '../../../enums';\r\nimport { formatUsCurrency } from '../../../services/DataTableHelper';\r\n \r\nconst propTypes = {\r\n customer: PropTypes.object.isRequired,\r\n setupInvoice: PropTypes.object,\r\n isOpen: PropTypes.bool,\r\n isProcessing: PropTypes.bool,\r\n onPaymentInfoUpdated: PropTypes.func,\r\n toggle: PropTypes.func,\r\n}\r\n\r\nclass PaymentInfoPanel extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.bankAccountValidator = new FormValidator([\r\n {\r\n field: 'bankName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Bank name was not provided'\r\n },\r\n {\r\n field: 'routingNumber',\r\n method: 'isNumeric',\r\n validWhen: true,\r\n message: 'Routing number is not valid'\r\n },\r\n {\r\n field: 'accountNumber',\r\n method: 'isNumeric',\r\n validWhen: true,\r\n message: 'Account number is not valid'\r\n },\r\n ]);\r\n\r\n this.creditCardValidator = new FormValidator([\r\n {\r\n field: 'cardNumber',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Card number was not provided'\r\n },\r\n {\r\n field: 'billingFirstName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'First Name cannot be empty'\r\n },\r\n {\r\n field: 'billingLastName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Last Name cannot be empty'\r\n }, \r\n {\r\n field: 'billingAddressLine1',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address cannot be empty'\r\n },\r\n {\r\n field: 'billingCity',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Address must have a city'\r\n },\r\n {\r\n field: 'billingZip',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter 5 digit zip code'\r\n },\r\n ]);\r\n\r\n this.defineState({\r\n paymentMethod: '',\r\n storedPaymentType: '',\r\n saving: false,\r\n nameOnAccount: '', \r\n cardNumber: '',\r\n cardExpMonth: new Date().getMonth(),\r\n cardExpYear: new Date().getFullYear(),\r\n cardCode: '',\r\n routingNumber: '',\r\n accountNumber: '',\r\n bankName: '',\r\n typeOfAccount: '',\r\n billingFirstName: '',\r\n billingLastName: '',\r\n billingAddressLine1: '',\r\n billingAddressLine2: '',\r\n billingCity: '',\r\n billingState: '',\r\n billingZip: '',\r\n ccValidation: this.creditCardValidator.valid(),\r\n baValidation: this.bankAccountValidator.valid(),\r\n });\r\n\r\n this.paymentInfoSubmitted = false;\r\n this.customerProvider = new CustomerProvider();\r\n this.enrollmentProvider = new RapidEnrollmentProvider();\r\n }\r\n\r\n handleAddressStateChanged(stateData) {\r\n this.setState({billingState: stateData.abbreviation});\r\n }\r\n \r\n handlePaymentMethodChanged(e) {\r\n this.setState({storedPaymentType: e.target.value});\r\n }\r\n\r\n handleSavePaymentClicked() {\r\n var isValid = true;\r\n this.paymentInfoSubmitted = true;\r\n if (this.state.storedPaymentType === 'CreditCard') {\r\n var validation = this.creditCardValidator.validate(this.state); \r\n isValid = validation.isValid;\r\n if (!isValid) this.setState({ccValidation: validation});\r\n } else if (this.state.storedPaymentType === 'BankAccount') {\r\n var validation = this.bankAccountValidator.validate(this.state);\r\n isValid = validation.isValid;\r\n if (!isValid) this.setState({baValidation: validation});\r\n }\r\n \r\n if (isValid) {\r\n var paymentProfile = { \r\n addressLine1: this.state.billingAddressLine1,\r\n addressLine2: this.state.billingAddressLine2,\r\n city: this.state.billingCity,\r\n state: this.state.billingState,\r\n zip: this.state.billingZip,\r\n phone: this.state.billingPhone,\r\n cardNumber: this.state.cardNumber.replace(/\\s+/g, ''),\r\n cardExpMonth: this.state.cardExpMonth,\r\n cardExpYear: this.state.cardExpYear,\r\n cardCode: this.state.cardCode,\r\n routingNumber: this.state.routingNumber,\r\n accountNumber: this.state.accountNumber,\r\n paymentType: this.state.storedPaymentType,\r\n typeOfAccount: this.state.typeOfAccount,\r\n nameOnAccount: this.state.nameOnAccount,\r\n bankName: this.state.bankName, \r\n firstName: this.state.billingFirstName, \r\n lastName: this.state.billingLastName,\r\n }\r\n paymentProfile.method = this.state.storedPaymentType === 'CreditCard' ? 'Credit' : 'Ach';\r\n if (this.props.onPaymentInfoUpdated) this.props.onPaymentInfoUpdated(paymentProfile);\r\n }\r\n }\r\n\r\n render() {\r\n let ccValidation = this.paymentInfoSubmitted ? this.creditCardValidator.validate(this.state) : this.state.ccValidation;\r\n let baValidation = this.paymentInfoSubmitted ? this.bankAccountValidator.validate(this.state) : this.state.baValidation;\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
Amount Due Now: {formatUsCurrency(this.props.setupInvoice.billedAmount)}
\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 this.state.storedPaymentType === 'CreditCard' ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ccValidation.cardNumber.message}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n getCcExpYears().map((year, index) =>(\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 \r\n {ccValidation.billingFirstName.message}\r\n \r\n \r\n \r\n \r\n \r\n {ccValidation.billingLastName.message}\r\n \r\n \r\n \r\n \r\n \r\n {ccValidation.billingAddressLine1.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ccValidation.billingCity.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ccValidation.billingZip.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : this.state.storedPaymentType === 'BankAccount' ? (\r\n \r\n \r\n \r\n \r\n \r\n {baValidation.bankName.message}\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 {baValidation.routingNumber.message}\r\n \r\n \r\n \r\n \r\n {baValidation.accountNumber.message}\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 The amount due shown will be debited immediately and your payment information will be stored with our payment partner for monthly payment processing.\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nPaymentInfoPanel.propTypes = propTypes;\r\n\r\nexport default PaymentInfoPanel;","import React, { Component } from 'react';\r\nimport { \r\n Button, Card, CardBody, Col, Collapse, Container, Form, FormFeedback, FormGroup, FormText,\r\n Input, Label, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { CustomerProvider, RapidEnrollmentProvider, CustomerEnrollmentProvider } from '../../../providers';\r\nimport { CustomerEnrollmentStatusEnum } from '../../../enums';\r\nimport 'spinkit/css/spinkit.css';\r\nimport queryString from 'query-string';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\nimport NewCustomerInfoPanel from './NewCustomerInfoPanel';\r\nimport SubscriptionAgreementPanel from './SubscriptionAgreementPanel';\r\nimport PaymentInfoPanel from './PaymentInfoPanel';\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n \r\nclass RapidEnrollmentPage extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.defineState({\r\n currentStep: -1,\r\n enrollment: {},\r\n agreementData: null,\r\n processingPayment: false,\r\n });\r\n\r\n this.customerProvider = new CustomerProvider();\r\n this.customerEnrollmentProvider = new CustomerEnrollmentProvider();\r\n this.rapidEnrollmentProvider = new RapidEnrollmentProvider();\r\n }\r\n\r\n componentDidMount() {\r\n this.startLoading();\r\n const qs = queryString.parse(this.props.location.search);\r\n if (!qs.invitationId) {\r\n this.stopLoading();\r\n this.showAlert('You must be here by mistake. You have not provided a confirmation token.');\r\n } else {\r\n this.customerEnrollmentProvider.getOne(qs.invitationId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(enrollment => {\r\n if (!enrollment || enrollment.status === \"Cancelled\" || enrollment.status === \"Expired\") {\r\n this.showAlert(\"The confirmation token is not valid\", \"danger\");\r\n this.setState({currentStep: -1});\r\n return;\r\n }\r\n\r\n this.setState({enrollment: enrollment});\r\n\r\n if (enrollment.status === \"Pending\" || enrollment.status === \"Sent\") {\r\n this.setState({currentStep: 0});\r\n } else if (enrollment.status === \"Confirmed\") {\r\n // customer previously completed the enrollment step. To continue, need to load the agreement data\r\n // and determine which step they left off on.\r\n this.loadAgreementData(enrollment.id)\r\n .then(agreementData => {\r\n if (!agreementData) {\r\n this.showAlert(\"Something went wrong. Please contact your Noteable representative to continue\");\r\n return;\r\n }\r\n \r\n this.setState({agreementData: agreementData});\r\n\r\n const customer = agreementData.customer;\r\n \r\n if (customer.enrollmentStatus === CustomerEnrollmentStatusEnum.Committed) {\r\n // Customer needs to accept agreement.\r\n this.setState({currentStep: 1});\r\n } else if (customer.enrollmentStatus === CustomerEnrollmentStatusEnum.Signed) {\r\n // Customer needs to enter payment details.\r\n this.setState({currentStep: 2});\r\n } else {\r\n // Enrollment is complete\r\n this.setState({currentStep: 3});\r\n } \r\n });\r\n }\r\n })\r\n .catch(error => this.handleApiRejection(error))\r\n .finally(() => this.stopLoading());\r\n }\r\n }\r\n\r\n loadAgreementData(enrollmentId) {\r\n return this.rapidEnrollmentProvider.getEnrollmentAgreement(enrollmentId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(data => {\r\n return data;\r\n })\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n \r\n handleCheckRequestCompleted(data) {\r\n this.setState({\r\n enrollment: data,\r\n });\r\n }\r\n\r\n handleCustomerInfoFormCompleted(enrollment) {\r\n this.customerEnrollmentProvider.patch(this.state.enrollment.id, enrollment)\r\n .then(response => this.screenApiResponse(response))\r\n .then(updatedEnrollment => {\r\n this.loadAgreementData(this.state.enrollment.id)\r\n .then(data => {\r\n if (!data) {\r\n this.showAlert(\"Something went wrong. Please contact your Noteable representative to continue\", \"danger\");\r\n return;\r\n }\r\n this.setState({agreementData: data, currentStep: 1});\r\n });\r\n })\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n\r\n handleAgreementAccepted() {\r\n this.hideAlert();\r\n this.setState({saving: true});\r\n // the customer has signed\r\n this.rapidEnrollmentProvider.signEnrollmentAgreement(this.state.enrollment.id)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(responseData => {\r\n let agreementData = this.state.agreementData;\r\n agreementData.customer = responseData.customer;\r\n agreementData.contract = responseData.contract;\r\n agreementData.setupInvoice = responseData.setupInvoice;\r\n this.setState({agreementData: agreementData, currentStep: 2});\r\n })\r\n .catch(error => this.handleApiRejection(error)); \r\n }\r\n\r\n handlePaymentInfoUpdated(paymentInfo) {\r\n this.hideAlert();\r\n this.setState({processingPayment: true});\r\n // payment info provided\r\n this.rapidEnrollmentProvider.savePaymentProfile(this.state.enrollment.id, paymentInfo)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(response => {\r\n if (response) {\r\n // payment info has been saved successfully. Possible that the setup invoice payment\r\n // failed, but we'll just show a warning if that's the case.\r\n let agreementData = this.state.agreementData;\r\n agreementData.customer = response.customer;\r\n agreementData.setupInvoice = response.setupInvoice;\r\n this.setState({agreementData: agreementData, currentStep: 3});\r\n }\r\n })\r\n .catch(error => this.handleApiRejection(error))\r\n .finally(() => this.setState({processingPayment: false}));\r\n }\r\n\r\n getSigningUrl(contractId) {\r\n this.contractProvider.getSigningUrl(contractId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(signUrlResponse => {\r\n return signUrlResponse;\r\n })\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

Account Management and Billing Center

\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n this.isLoading() ? this.renderLoading() : (\r\n <>\r\n \r\n \r\n \r\n

1.

\r\n \r\n \r\n \r\n \r\n

Welcome to Noteable!

\r\n

\r\n We are ready to start your onboarding process, where we will help you configure your site,\r\n design your note and report templates and train your staff. First, lets get you signed up!\r\n Please fill in some info for us.\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

2.

\r\n \r\n \r\n \r\n \r\n

Sign the Agreement

\r\n

\r\n Please look over the subscription details below and make sure they are what you were\r\n expecting. Keep in mind this is not a long term contract. You can cancel your subscription\r\n at any time, with 30 days notice.\r\n

\r\n

\r\n To continue, you must scroll to the bottom of the agreement, check the box to provide consent and click 'Accept'.\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n this.state.agreementData ? (\r\n \r\n ) : (<>)\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

3.

\r\n \r\n \r\n \r\n \r\n

Enter Payment Details

\r\n

\r\n Please provide a method of payment, to be used now for setup fees and for monthly subscription invoices. You\r\n will be able to change this information at any time by logging into the account management portal.\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n this.state.agreementData && this.state.agreementData.setupInvoice ? (\r\n \r\n ) : (<>)\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

4.

\r\n \r\n \r\n \r\n \r\n

That's it!

\r\n

\r\n You are ready to begin onboarding. Our team will reach out shortly to schedule trainings, and\r\n plan your site configuration. You will also need to sign a HIPAA Business Associate Agreement.\r\n We're excited to work with you and look forward to serving your agency.\r\n

\r\n

\r\n In the meantime, you can sign into the Account Management Portal using the information you've\r\n just provided. Here you can see your invoices, current usage and estimated fees, manage your\r\n payment info, and more. Just click the link below to sign in.\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}\r\n\r\nexport default RapidEnrollmentPage;","import React, { Component } from 'react';\r\nimport { \r\n Button, Card, CardBody, Col, Collapse, Container, Form, FormFeedback, FormGroup, FormText,\r\n Input, Label, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { UserInvitationProvider } from '../../../providers';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport 'spinkit/css/spinkit.css';\r\nimport queryString from 'query-string';\r\nimport passwordValidator from 'password-validator';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n\r\nclass UserInvitationPage extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'firstName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your first name'\r\n },\r\n {\r\n field: 'lastName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your last name'\r\n },\r\n {\r\n field: 'password',\r\n method: this.passwordStrength,\r\n validWhen: true,\r\n message: 'Please choose a stronger password'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must re-type your password here'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: this.passwordMatch, // custom function\r\n validWhen: true,\r\n message: 'The passwords do not match'\r\n }\r\n ]);\r\n \r\n this.defineState({\r\n formVisible: false,\r\n formEnabled: true,\r\n buttonText: \"Continue to Dashboard\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n password: \"\",\r\n passwordConfirm: \"\",\r\n completed: false,\r\n validation: this.validator.valid(),\r\n });\r\n\r\n this.submitted = false;\r\n this.userInvitationProvider = new UserInvitationProvider();\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n passwordMatch = (confirmation, state) => (state.password === confirmation);\r\n\r\n passwordStrength = (password) => {\r\n var schema = new passwordValidator();\r\n schema\r\n .is().min(8)\r\n .is().max(100)\r\n .has().uppercase()\r\n .has().lowercase()\r\n .has().digits()\r\n .has().not().spaces();\r\n return schema.validate(password);\r\n };\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n\r\n // validate\r\n var validation = this.validator.validate(this.state);\r\n if (validation.isValid) {\r\n this.disableForm();\r\n const qs = queryString.parse(this.props.location.search);\r\n this.userInvitationProvider.completeInvitation(qs.invitationId, qs.studioId,\r\n {\r\n userPassword: this.state.password,\r\n userFirstName: this.state.firstName,\r\n userLastName: this.state.lastName, \r\n })\r\n .then(response => this.screenApiResponse(response))\r\n .then(data => data && this.handleCompleted(data))\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n else {\r\n this.setState({validation:validation, submitted:true});\r\n } \r\n }\r\n\r\n handleCompleted(userData) {\r\n this.setState({ formVisible: false, completed: true });\r\n this.showAlert(\"Registration completed! Return to the sign-in page to login\", \"success\");\r\n }\r\n \r\n disableForm() {\r\n this.setState({ formEnabled: false, alertVisible: false, alertText: \"\", buttonText: \"Please wait...\" });\r\n }\r\n \r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Continue to Dashboard\"});\r\n }\r\n\r\n componentDidMount() {\r\n this.startLoading();\r\n const qs = queryString.parse(this.props.location.search);\r\n if (!qs.invitationId) {\r\n this.showAlert('You must be here by mistake. You have not provided a confirmation token.');\r\n this.stopLoading();\r\n } else {\r\n this.userInvitationProvider.getInvitation(qs.invitationId, qs.studioId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(data => {\r\n if (!data) this.showAlert(\"The invitation was not found.\", \"danger\");\r\n else {\r\n if (data.status === 'Expired') this.showAlert(\"The invitation is no longer valid.\", \"danger\");\r\n else this.setState({formVisible: true});\r\n }\r\n })\r\n .catch(error => this.handleApiRejection(error))\r\n .finally(this.stopLoading());\r\n }\r\n }\r\n \r\n render() {\r\n if (this.isLoading()) return this.renderLoading(); \r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

Noteable Account Management

\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

Checking status of invitation...

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n Welcome to the Noteable Account Management and Billing Center.\r\n

\r\n

\r\n Please provide the following information so we can finish setting up your account.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n {validation.firstName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.lastName.message}\r\n \r\n \r\n \r\n

\r\n In order to protect your privacy, we insist on the use of\r\n a strong password. Therefore, make sure the password you choose is at least\r\n 8 alpha-numeric characters long, contains a mixture of upper and lower case\r\n and at least one number.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.passwordConfirm.message}\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

That's it!

\r\n

\r\n Your account is setup. Return to the sign-in page and login with your email and password.\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\nexport default UserInvitationPage;\r\n","import React, { Component } from 'react';\r\nimport { \r\n Button, Card, CardBody, Col, Collapse, Container, Form, FormFeedback, FormGroup, FormText,\r\n Input, Label, InputGroup, InputGroupAddon, InputGroupText, Row, Alert } from 'reactstrap';\r\nimport logo from '../../../assets/img/brand/logo.png'\r\nimport { UserInvitationProvider, CustomerProvider } from '../../../providers';\r\nimport FormValidator from '../../../services/FormValidator';\r\nimport 'spinkit/css/spinkit.css';\r\nimport queryString from 'query-string';\r\nimport passwordValidator from 'password-validator';\r\nimport PalladientComponent from '../../../PalladientComponent';\r\n\r\nconst logoStyle = {\r\n height: '50px',\r\n textAlign: 'center',\r\n marginBottom: '15px'\r\n}\r\n\r\nclass CustomerUserInvitationPage extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validator = new FormValidator([\r\n {\r\n field: 'firstName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your first name'\r\n },\r\n {\r\n field: 'lastName',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'Please enter your last name'\r\n },\r\n {\r\n field: 'password',\r\n method: this.passwordStrength,\r\n validWhen: true,\r\n message: 'Please choose a stronger password'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: 'isEmpty',\r\n validWhen: false,\r\n message: 'You must re-type your password here'\r\n },\r\n {\r\n field: 'passwordConfirm',\r\n method: this.passwordMatch, // custom function\r\n validWhen: true,\r\n message: 'The passwords do not match'\r\n }\r\n ]);\r\n \r\n this.defineState({\r\n formVisible: false,\r\n formEnabled: true,\r\n buttonText: \"Continue to Dashboard\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n password: \"\",\r\n passwordConfirm: \"\",\r\n customer: {},\r\n completed: false,\r\n validation: this.validator.valid(),\r\n });\r\n\r\n this.submitted = false;\r\n this.userInvitationProvider = new UserInvitationProvider();\r\n this.customerProvider = new CustomerProvider();\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n passwordMatch = (confirmation, state) => (state.password === confirmation);\r\n\r\n passwordStrength = (password) => {\r\n var schema = new passwordValidator();\r\n schema\r\n .is().min(8)\r\n .is().max(100)\r\n .has().uppercase()\r\n .has().lowercase()\r\n .has().digits()\r\n .has().not().spaces();\r\n return schema.validate(password);\r\n };\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n\r\n // validate\r\n var validation = this.validator.validate(this.state);\r\n if (validation.isValid) {\r\n this.disableForm();\r\n const qs = queryString.parse(this.props.location.search);\r\n this.userInvitationProvider.completeInvitation(qs.invitationId, qs.studioId,\r\n {\r\n userPassword: this.state.password,\r\n userFirstName: this.state.firstName,\r\n userLastName: this.state.lastName, \r\n })\r\n .then(response => this.screenApiResponse(response))\r\n .then(data => data && this.handleCompleted(data))\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n else {\r\n this.setState({validation:validation, submitted:true});\r\n } \r\n }\r\n\r\n handleCompleted(userData) {\r\n this.setState({ formVisible: false, completed: true });\r\n this.showAlert(\"Registration completed! Return to the sign-in page to login\", \"success\");\r\n }\r\n \r\n disableForm() {\r\n this.setState({ formEnabled: false, alertVisible: false, alertText: \"\", buttonText: \"Please wait...\" });\r\n }\r\n \r\n enableForm() {\r\n this.setState({ formEnabled: true, buttonText: \"Continue to Dashboard\"});\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ loading: true });\r\n const qs = queryString.parse(this.props.location.search);\r\n if (!qs.invitationId) {\r\n this.showAlert('You must be here by mistake. You have not provided a confirmation token.');\r\n this.setState({ loading: false });\r\n } else {\r\n this.userInvitationProvider.getInvitation(qs.invitationId, qs.studioId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(data => data && this.handleCheckRequestCompleted(data))\r\n .catch(error => this.handleApiRejection(error))\r\n .finally(() => this.stopLoading()); \r\n }\r\n }\r\n\r\n handleCheckRequestCompleted(invitation) {\r\n this.customerProvider.getBySecurityZoneId(invitation.securityZoneId)\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => response && response.json())\r\n .then(customer => customer && this.setState({ \r\n customer: customer,\r\n firstName: invitation.firstName ? invitation.firstName : '',\r\n lastName: invitation.lastName ? invitation.lastName : '',\r\n loading: false, \r\n formVisible: true \r\n }))\r\n .catch(error => this.handleApiRejection(error)); \r\n \r\n }\r\n \r\n render() {\r\n if (this.state.loading) return this.renderLoading(); \r\n let validation = this.submitted ? this.validator.validate(this.state) : this.state.validation;\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.alertMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n

Account Management and Billing Center

\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

Checking status of invitation...

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n Welcome to the Noteable Account Management and Billing Center. Here you'll\r\n be able to monitor usage on your account, review current and past invoices,\r\n make payments and more.\r\n

\r\n

\r\n You were invited as a representative of {this.state.customer.name}.\r\n Please provide the following information so we can finish setting up your account.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n {validation.firstName.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.lastName.message}\r\n \r\n \r\n \r\n

\r\n In order to protect your privacy, we insist on the use of\r\n a strong password. Therefore, make sure the password you choose is at least\r\n 8 alpha-numeric characters long, contains a mixture of upper and lower case\r\n and at least one number.\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.password.message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validation.passwordConfirm.message}\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

That's it!

\r\n

\r\n Your account is setup. Return to the sign-in page and login with your email and password.\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\nexport default CustomerUserInvitationPage;\r\n","import React, { Component } from 'react';\r\nimport { Card, CardHeader, CardBody, Row, Col, Table, Button,\r\n Input, Collapse, Alert } from 'reactstrap';\r\nimport PalladientComponent, { toastStyle } from '../../../PalladientComponent';\r\nimport { InvoiceProvider } from '../../../providers';\r\nimport moment from 'moment';\r\nimport { formatUsCurrency } from '../../../services/DataTableHelper';\r\nimport { InvoiceLineItemTypeEnum } from '../../../enums';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport queryString from 'query-string';\r\nimport { Timeline, TimelineEvent } from 'react-event-timeline';\r\nimport TimeAgo from 'react-timeago';\r\n\r\nclass ViewInvoicePage extends PalladientComponent {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.defineState({\r\n invoice: null,\r\n payNowModalIsOpen: false,\r\n historyPanelIsExpanded: false,\r\n });\r\n\r\n this.invoiceProvider = new InvoiceProvider();\r\n\r\n this.handlePrintClicked = this.handlePrintClicked.bind(this);\r\n this.handlePayClicked = this.handlePayClicked.bind(this);\r\n this.toggleHistoryPanel = this.toggleHistoryPanel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const qs = queryString.parse(this.props.location.search);\r\n if (qs.invoiceId) {\r\n this.startLoading();\r\n this.loadInvoice(qs.invoiceId)\r\n .then(() => this.markInvoiceViewed(qs.invoiceId))\r\n .finally(() => this.stopLoading());\r\n }\r\n }\r\n\r\n loadInvoice(id) {\r\n return this.invoiceProvider.getOne(id, ['Customer'])\r\n .then(response => this.screenApiResponse(response))\r\n .then(response => {\r\n if (response.status === 404) this.tryNavigate('/404');\r\n else return response;\r\n })\r\n .then(response => response && response.json())\r\n .then(invoice => {\r\n if (invoice.history.length > 0)\r\n invoice.history = invoice.history.sort((a,b) => moment(b.eventDateTime).toDate() - moment(a.eventDateTime).toDate());\r\n this.setState({invoice:invoice});\r\n })\r\n .catch(error => this.handleApiRejection(error))\r\n }\r\n\r\n markInvoiceViewed(id) {\r\n return this.invoiceProvider.markViewed(id)\r\n .then(response => this.screenApiResponse(response))\r\n .catch(error => this.handleApiRejection(error));\r\n }\r\n\r\n numberLineItems(lineItems) {\r\n var nextNumber = 1;\r\n for (var i=0;i\r\n

Invoice id not provided

\r\n \r\n )\r\n }\r\n\r\n toggleHistoryPanel(e) {\r\n e.preventDefault();\r\n this.setState({historyPanelIsExpanded: !this.state.historyPanelIsExpanded});\r\n }\r\n \r\n render() {\r\n if (this.isLoading()) return this.renderLoading();\r\n if (!this.state.invoice) return this.renderInvoiceIdMissing();\r\n let invoice = this.state.invoice;\r\n let lineItems = this.numberLineItems(this.state.invoice.lineItems);\r\n let arLocation = this.state.invoice.receivablesAddress,\r\n invoiceLocation = this.state.invoice.invoiceAddress;\r\n return (\r\n
\r\n \r\n \r\n
\r\n
Invoice #{invoice.invoiceNumber}
\r\n

Status: \r\n {\r\n invoice.status === 'Paid' ? 'Paid on ' + moment(invoice.paymentDate).format('MM-dd-yyyy') : \r\n invoice.status === 'PartiallyPaid' ? 'Partially paid on ' + moment(invoice.paymentDate).format('MM-dd-yyyy') : \r\n 'Open'\r\n }\r\n {\r\n invoice.paymentSubstatus === 'Failed' ? ' (Payment Failed)' :\r\n ''\r\n }\r\n

\r\n
\r\n
\r\n {\r\n invoice.status !== 'Paid' ? (\r\n \r\n ) : ''\r\n }\r\n \r\n
\r\n
\r\n \r\n {\r\n invoice.paymentSubstatus === 'Failed' ?\r\n (\r\n \r\n \r\n \r\n A recent attempt to debit for this invoice failed with reason: {invoice.paymentFailedReason}. Please click the 'Pay Now'\r\n button to update your payment information and re-attempt the payment.\r\n \r\n \r\n \r\n ) : (<>)\r\n }\r\n \r\n \r\n
From:
\r\n
Noteable, LLC
\r\n
{arLocation.addressLine1}
\r\n
{arLocation.city}, {arLocation.stateOrRegion} {arLocation.postalCode}
\r\n
Email: {arLocation.emailAddress}
\r\n
Phone: {arLocation.phoneNumber}
\r\n \r\n \r\n
To:
\r\n
{invoice.customer.name}
\r\n
{invoiceLocation.addressLine1}
\r\n
{invoiceLocation.city}, {invoiceLocation.stateOrRegion} {invoiceLocation.postalCode}
\r\n
Email: {invoice.customer.billingEmail}
\r\n
Phone: {invoice.customer.billingPhone}
\r\n \r\n \r\n
Details:
\r\n
Invoice #{invoice.invoiceNumber}
\r\n
Invoice Date: {moment(invoice.invoiceDate).format('MMMM DD, yyyy')}
\r\n
Account Code: {invoice.customer.code}
\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 lineItems.filter(li => li.itemType !== InvoiceLineItemTypeEnum.Custom).map((lineItem, index) => (\r\n \r\n {\r\n lineItem.itemType === InvoiceLineItemTypeEnum.Subheading ? (\r\n \r\n \r\n \r\n ) : lineItem.itemType === InvoiceLineItemTypeEnum.Subtotal ? (\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 }\r\n \r\n ))\r\n }\r\n \r\n
#ItemDescriptionQuantityUnit CostTotal
\r\n
{lineItem.description}
\r\n
 {lineItem.itemName}   {formatUsCurrency(lineItem.amount)}{lineItem.lineItemNumber}{lineItem.itemName}{lineItem.description}{lineItem.quantity}{formatUsCurrency(lineItem.unitCost)}{formatUsCurrency(lineItem.amount)}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Subtotal{formatUsCurrency(invoice.subtotal)}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n lineItems.filter(li => li.itemType === InvoiceLineItemTypeEnum.Custom).map((lineItem, index) => (\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
{lineItem.lineItemNumber}{lineItem.itemName}{lineItem.description}{lineItem.quantity}{formatUsCurrency(lineItem.unitCost)}{formatUsCurrency(lineItem.amount)}
\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

Invoice Total

{formatUsCurrency(invoice.billedAmount)}

Balance Due
{formatUsCurrency(invoice.balance)}
\r\n \r\n
\r\n \r\n \r\n Show Invoice History \r\n \r\n \r\n \r\n {\r\n invoice.history.length > 0 ? (\r\n \r\n {\r\n invoice.history.map((event, index) => \r\n (\r\n \r\n } icon={} iconColor={'#63c2de'}/>\r\n \r\n ))\r\n } \r\n \r\n ) : (\r\n
No history found for this invoice
\r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ViewInvoicePage;\r\n","import React, { Component } from 'react';\r\nimport { HashRouter, Route, Switch, Redirect } from 'react-router-dom';\r\nimport './App.scss';\r\nimport cookie from 'react-cookies';\r\n\r\n// Containers\r\nimport { DefaultLayout } from './containers';\r\n// Pages\r\nimport { Login, Page404, Page500, RapidEnrollmentPage, Register } from './views/Pages';\r\nimport { \r\n SigninPage, SignoutPage, ForgotPasswordPage, ResetPasswordPage, \r\n CustomerEnrollmentPage, UserInvitationPage, CustomerUserInvitationPage,\r\n ViewInvoicePage,\r\n} from './views/Pages';\r\n\r\n\r\nconst isAuthenticated = () => {\r\n var token = cookie.load('token');\r\n if (token) {\r\n // keep the session alive. the server is doing the same thing when api calls\r\n // are made.\r\n var expire = new Date();\r\n expire.setTime(expire.getTime()+(30*60*1000));\r\n cookie.save('token', token, {path: '/', expires: expire});\r\n return true;\r\n }\r\n \r\n return false;\r\n}\r\n\r\nconst AuthRoute = ({ component: Component, ...rest }) => (\r\n (\r\n !isAuthenticated() \r\n ? \r\n : \r\n )} />\r\n);\r\n\r\nconst ProtectedRoute = ({ component: Component, path: path, ...rest }) => (\r\n { \r\n return (\r\n isAuthenticated() \r\n ? \r\n : \r\n )\r\n }} />\r\n);\r\n\r\nclass App extends Component {\r\n render() {\r\n return (\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\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n\r\n // Execute callback\r\n if (config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie9'; // For IE 9-11 support\r\nimport 'react-app-polyfill/ie11'; // For IE 11 support\r\nimport './polyfill'\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import moment from 'moment';\r\n\r\nexport const BankAccountType = {\r\n None: \"None\",\r\n Checking: \"Checking\",\r\n Savings: \"Savings\"\r\n}\r\n\r\nexport function getCcExpYears(yearCount = 10) {\r\n const years = []\r\n const dateStart = moment()\r\n const dateEnd = moment().add(10, 'y')\r\n while (dateEnd.diff(dateStart, 'years') >= 0) {\r\n years.push(dateStart.format('YYYY'))\r\n dateStart.add(1, 'year')\r\n }\r\n return years\r\n}","const Settings = {\r\n BaseUrl: process.env.REACT_APP_URL,\r\n ApiBaseUrl: process.env.REACT_APP_API_URL + \"/api\",\r\n ApiKey: process.env.REACT_APP_API_KEY,\r\n DefaultRoute: '/',\r\n FirebaseDomain: process.env.REACT_APP_FIREBASE_DOMAIN,\r\n CompanyName: 'Noteable', \r\n DemoTenantId: '00000024',\r\n CompassTenantId: '00000006', \r\n SuperAdminId: process.env.REACT_APP_SUPERADMIN_ID,\r\n}\r\n\r\nexport default class Config {\r\n static getSetting(key) {\r\n return Settings[key];\r\n }\r\n\r\n static get BaseUrl() {\r\n return Config.getSetting('BaseUrl');\r\n }\r\n\r\n static get ApiBaseUrl() {\r\n return Config.getSetting('ApiBaseUrl');\r\n }\r\n\r\n static get ApiKey() {\r\n return Config.getSetting('ApiKey');\r\n }\r\n\r\n static get DefaultRoute() {\r\n return Config.getSetting('DefaultRoute');\r\n }\r\n\r\n static get FirebaseDomain() {\r\n return Config.getSetting('FirebaseDomain');\r\n }\r\n\r\n static get CompanyName() {\r\n return Config.getSetting('CompanyName');\r\n }\r\n\r\n static get DemoTenantId() {\r\n return Config.getSetting('DemoTenantId');\r\n }\r\n\r\n static get CompassTenantId() {\r\n return Config.getSetting('CompassTenantId');\r\n }\r\n\r\n static get SuperAdminId() {\r\n return Config.getSetting('SuperAdminId');\r\n }\r\n}","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Input } from 'reactstrap';\r\nimport { UsStates } from '../../services/UsStates';\r\n\r\nconst propTypes = {\r\n id: PropTypes.string,\r\n value: PropTypes.string,\r\n onChange: PropTypes.func,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n}\r\n\r\nclass StatePicker extends Component {\r\n\r\n handleStateSelected(e) {\r\n var state = UsStates.find(s => s.abbreviation === e.target.value);\r\n this.props.onChange(state);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {\r\n UsStates.map((state, index) => (\r\n \r\n ))\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nStatePicker.propTypes = propTypes;\r\n\r\nexport default StatePicker"],"sourceRoot":""}