{"version":3,"file":"SelfSignup.js","sourceRoot":"","sources":["SelfSignup.ts"],"names":[],"mappings":"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","sourcesContent":["/// \r\n/// \r\n/// \r\n\r\ndeclare var grecaptcha: any;\r\n// @ts-ignore\r\nlet viewModel: AccurateAppend.Shared.SelfSignup.ViewModel;\r\n\r\n// @ts-ignore\r\nfunction intializeViewModel(links: any) {\r\n $(document).ready(() => {\r\n viewModel = new AccurateAppend.Shared.SelfSignup.ViewModel(links);\r\n viewModel.init();\r\n });\r\n}\r\n\r\nmodule AccurateAppend.Shared.SelfSignup {\r\n\r\n type ExtendedCallbackHub = Omit & {\r\n client: CallbackHubClient & {\r\n setErrorMessage: (message: string) => void;\r\n jwt: (token?: string | null) => void;\r\n }\r\n }\r\n export class ViewModel {\r\n\r\n links: {\r\n Signup: string;\r\n Login?: string;\r\n }\r\n\r\n submitBtnInitialLabel: string;\r\n\r\n constructor(links: any) {\r\n this.submitBtnInitialLabel = $(\"#submitBtn\").text()\r\n this.links = links;\r\n let channel = $.connection.callbackHub as ExtendedCallbackHub;\r\n channel.client.jwt = (token?: string | null) => this.login(token);\r\n channel.client.setErrorMessage = this.setValidationErrorMessage;\r\n }\r\n\r\n public init() {\r\n \r\n // Disable submits until we have a connection\r\n $(\"#submitBtn\").prop(\"disabled\", true);\r\n\r\n $.connection.hub.start().done(() => {\r\n console.log(\"Connection established: \" + $.connection.hub.id);\r\n $(\"#requestId\").val($.connection.hub.id);\r\n // Enable submits now we have a connection\r\n $(\"#submitBtn\").prop(\"disabled\", false);\r\n })\r\n\r\n $(\"#signupForm\").on(\"submit\", (e) => {\r\n e.preventDefault();\r\n this.handleSubmit()\r\n })\r\n\r\n }\r\n\r\n public setValidationErrorMessage(message: string) {\r\n let el = $(\"#responseError\");\r\n el.attr('class', 'field-validation-error')\r\n el.text(message)\r\n $(\"#submitBtn\").html(this.submitBtnInitialLabel).prop(\"disabled\", false);\r\n\r\n // Reset the captcha to allow new post\r\n grecaptcha.reset();\r\n }\r\n\r\n // Displays a generic error message for failes log ins. (bad or expired JWT data)\r\n public displayLoginError() {\r\n let el = $(\"#responseError\");\r\n el.attr('class', 'field-validation-error')\r\n el.text(\"There was an error while trying to log into your new account. Please log in again.\")\r\n }\r\n\r\n public login(token?: string) {\r\n const self = this;\r\n if (!token) {\r\n $(\"#submitForm\").trigger('reset');\r\n $(\"#submitBtn\").html(this.submitBtnInitialLabel).prop(\"disabled\", false);\r\n\r\n // Reset the captcha to allow new post\r\n grecaptcha.reset();\r\n\r\n return this.displayLoginError();\r\n }\r\n\r\n // Display msg telling the user the account creation process went fine.\r\n $(\"#submitBtn\").html('Account Created').prop(\"disabled\", true);\r\n\r\n // Request login\r\n $.ajax({\r\n url: this.links.Login,\r\n type: \"POST\",\r\n headers: {\r\n \"Authorization\": \"Bearer \" + token\r\n },\r\n success(res) {\r\n if (res.Success) {\r\n window.location.replace(res.RedirectUrl);\r\n } else {\r\n console.error(res.Error)\r\n self.displayLoginError()\r\n }\r\n },\r\n });\r\n }\r\n\r\n public handleSubmit() {\r\n const self = this;\r\n $(\"#submitBtn\").html('').prop(\"disabled\", true);\r\n const form = $(\"#signupForm\");\r\n $(\".field-validation-error\").each((_, el) => {\r\n el.setAttribute('class', 'field-validation-valid')\r\n el.textContent = ''\r\n })\r\n\r\n $.post(\r\n self.links.Signup,\r\n form.serialize(),\r\n (res) => {\r\n if (res.Success) {\r\n $(\"#submitBtn\").html('Submitted')\r\n // Set LoginUrl\r\n self.links.Login = res.LoginUrl;\r\n } else {\r\n $(\"#submitBtn\").html(this.submitBtnInitialLabel).prop(\"disabled\", false);\r\n\r\n // If controller indicates a redirect, do it\r\n if (res.RedirectUrl) return window.location.replace(res.RedirectUrl);\r\n\r\n // Reset the captcha to allow new post\r\n grecaptcha.reset();\r\n\r\n // Parse validation error messages and add them to the form\r\n Object.keys(res.Errors).forEach(key => {\r\n let el = $(`span[data-valmsg-for=\"${key}\"]`);\r\n el.attr('class', 'field-validation-error');\r\n el.text(res.Errors[key])\r\n })\r\n }\r\n },\r\n )\r\n }\r\n }\r\n }\r\n"]}