{"version":3,"file":"app.js","mappings":"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","sources":["webpack://App/./client/src/app.ts","webpack://App/./client/src/controls/mainMenu.ts","webpack://App/./client/src/controls/toasts/toast.ts","webpack://App/./client/src/controls/toasts/toaster.ts","webpack://App/./client/src/infrastructure/browser.ts","webpack://App/./client/src/infrastructure/errorHandler.ts","webpack://App/./client/src/infrastructure/eventAggregator.ts","webpack://App/./client/src/infrastructure/httpClient/httpClient.ts","webpack://App/./client/src/infrastructure/httpClient/index.ts","webpack://App/./client/src/infrastructure/httpClient/serviceException.ts","webpack://App/./client/src/infrastructure/httpClient/validationMessage.ts","webpack://App/./client/src/infrastructure/logging/clientError.ts","webpack://App/./client/src/infrastructure/logging/index.ts","webpack://App/./client/src/infrastructure/logging/log.ts","webpack://App/./client/src/infrastructure/logging/loggingApiModels.ts","webpack://App/./client/src/infrastructure/logging/loggingService.ts","webpack://App/./client/src/infrastructure/routes.ts","webpack://App/./client/src/infrastructure/serializer.ts","webpack://App/./client/src/infrastructure/storage/cartStore.ts","webpack://App/./client/src/infrastructure/storage/cookieStorage.ts","webpack://App/./client/src/infrastructure/storage/localStorage.ts","webpack://App/./client/src/knockoutExtensions/index.ts","webpack://App/./client/src/knockoutExtensions/popoverBindingHandler.ts","webpack://App/./client/src/pages/cart/cartViewModel.ts","webpack://App/./client/src/pages/contactUs/contactUs.ts","webpack://App/./client/src/pages/home/homeViewModel.ts","webpack://App/./client/src/pages/pricingAndOrdering/pricingAndOrder.ts","webpack://App/./client/src/pages/sandbox/cartViewModel.ts","webpack://App/./client/src/pages/sandbox/loggingViewModel.ts","webpack://App/./client/src/pages/sandbox/toastsViewModel.ts","webpack://App/webpack/bootstrap","webpack://App/webpack/before-startup","webpack://App/webpack/startup","webpack://App/webpack/after-startup"],"sourcesContent":["import '@src/knockoutExtensions/index';\r\n\r\nimport { HomeViewModel } from './pages/home/homeViewModel';\r\nimport { PricingAndOrdering } from './pages/pricingAndOrdering/pricingAndOrder';\r\nimport { MainMenu } from './controls/mainMenu';\r\nimport { LoggingViewModel } from './pages/sandbox/loggingViewModel';\r\nimport { ToastsViewModel } from './pages/sandbox/toastsViewModel';\r\nimport { CartViewModel as SandboxCartViewModel } from './pages/sandbox/cartViewModel';\r\nimport { CartViewModel } from './pages/cart/cartViewModel';\r\nimport { ContactUs } from './pages/contactUs/contactUs';\r\n\r\nexport = {\r\n HomeViewModel,\r\n PricingAndOrdering,\r\n CartViewModel,\r\n ContactUs,\r\n sandbox: {\r\n LoggingViewModel,\r\n ToastsViewModel,\r\n CartViewModel: SandboxCartViewModel,\r\n },\r\n};\r\n\r\nclass App {\r\n start(){\r\n const mainMenu = new MainMenu();\r\n mainMenu.build();\r\n }\r\n}\r\nconst app = new App();\r\n$(() => app.start());","\r\nexport class MainMenu {\r\n build = () => {\r\n $('#main-menu .site-navigation').on('click', () => {\r\n if ($('#main-menu .site-navigation').attr('aria-expanded') === 'true') {\r\n $('#main-menu .js-site-nav-close').show();\r\n $('#main-menu .js-site-nav-open').hide();\r\n } else {\r\n $('#main-menu .js-site-nav-close').hide();\r\n $('#main-menu .js-site-nav-open').show();\r\n }\r\n });\r\n }\r\n}","import { EventAggregator } from '@src/infrastructure/eventAggregator';\r\n\r\nexport type ToastType = 'Success' | 'Info' | 'Error';\r\n\r\nexport class Toast {\r\n public message = ko.observable('');\r\n public headerIconClass: KnockoutComputed;\r\n public headerBackgroundColorClass: KnockoutComputed\r\n public id: string;\r\n public duplicateCount = ko.observable('');\r\n public duplicateCountClass = ko.observable('');\r\n\r\n constructor(\r\n public uniqueId: number,\r\n private eventAggregator: EventAggregator,\r\n private toastType: ToastType,\r\n message: string) {\r\n this.message(message);\r\n this.headerIconClass = ko.pureComputed(this.headerIconClassHandler, this);\r\n this.headerBackgroundColorClass = ko.pureComputed(this.headerBackgroundColorClassHandler, this);\r\n this.id = `toast-${uniqueId}`;\r\n }\r\n\r\n show() {\r\n let scoppedEventAggregator = this.eventAggregator;\r\n let scoppedToastObject = this;\r\n let display: any;\r\n\r\n display = { autohide: false };\r\n\r\n $(`#${this.id}`)\r\n .toast(display)\r\n .toast('show');\r\n //Invoke the CloseClicked method to make sure the toast object is removed from the array.\r\n $(`#${this.id}`).on('hidden.bs.toast', function () {\r\n scoppedEventAggregator.publish('CloseClicked', scoppedToastObject);\r\n });\r\n }\r\n\r\n close() {\r\n $(`#${this.id}`).toast('hide');\r\n this.eventAggregator.publish('CloseClicked', this);\r\n }\r\n\r\n headerIconClassHandler() {\r\n switch (this.toastType) {\r\n case 'Info':\r\n return 'fa-question-circle';\r\n case 'Success':\r\n return 'fa-check-circle';\r\n case 'Error':\r\n return 'fa-info-circle';\r\n }\r\n }\r\n\r\n headerBackgroundColorClassHandler() {\r\n switch (this.toastType) {\r\n case 'Info':\r\n return 'bg-info';\r\n case 'Success':\r\n return 'bg-success';\r\n case 'Error':\r\n return 'bg-danger';\r\n }\r\n }\r\n}","import { EventAggregator } from '@src/infrastructure/eventAggregator';\r\nimport { Toast, ToastType } from './toast';\r\n\r\nexport { Toast, ToastType };\r\n\r\nexport class Toaster {\r\n private readonly eventAggregator: EventAggregator;\r\n private static instance: Toaster;\r\n private toasts: KnockoutObservableArray = ko.observableArray([]);\r\n private uniqueIds = 1;\r\n\r\n private constructor() {\r\n this.eventAggregator = new EventAggregator();\r\n ko.applyBindings(this, document.getElementById('toaster'));\r\n this.eventAggregator.subscribe('CloseClicked', this.toastClosed)\r\n }\r\n\r\n private static getInstance(): Toaster {\r\n if (!Toaster.instance) {\r\n Toaster.instance = new Toaster();\r\n }\r\n return Toaster.instance;\r\n }\r\n\r\n private toastClosed = (toast: Toast) => {\r\n this.toasts.remove(toast);\r\n }\r\n\r\n public static show(toastType: ToastType, message: string): Toast {\r\n const toaster = this.getInstance();\r\n if (toaster.toasts().length > 0) {\r\n let newToastRequired: boolean = true;\r\n\r\n for (let i = 0, len = toaster.toasts().length; i < len; ++i) {\r\n let existingToast = toaster.toasts()[i];\r\n if (message === existingToast.message()) {\r\n newToastRequired = false;\r\n let count: number;\r\n if (existingToast.duplicateCount() === '') {\r\n count = 0;\r\n }\r\n else {\r\n count = +existingToast.duplicateCount();\r\n }\r\n count++;\r\n existingToast.duplicateCount(count.toString());\r\n existingToast.duplicateCountClass(\"toast-counter\");\r\n return existingToast;\r\n }\r\n }\r\n //If no existing toast in the array was found, create a new one for specific message type. \r\n if (newToastRequired) {\r\n const toast = new Toast(++toaster.uniqueIds, toaster.eventAggregator, toastType, message);\r\n toaster.toasts.push(toast);\r\n toast.show();\r\n return toast;\r\n }\r\n }\r\n else { //Create first toast in array\r\n const toast = new Toast(++toaster.uniqueIds, toaster.eventAggregator, toastType, message);\r\n toaster.toasts.push(toast);\r\n toast.show();\r\n return toast;\r\n }\r\n }\r\n}","export class Browser {\r\n\r\n location(): string {\r\n return window.location.href;\r\n }\r\n\r\n userAgent(): string {\r\n return window.navigator.userAgent;\r\n }\r\n\r\n isCookiesEnabled(): boolean {\r\n return window.navigator.cookieEnabled;\r\n }\r\n\r\n language(): string {\r\n return window.navigator.language;\r\n }\r\n\r\n getQueryStringParam(key: string): string | null {\r\n if (URLSearchParams) {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n return urlParams.get(key);\r\n }\r\n const url = window.location.href;\r\n let name = key.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n\r\n gotoUrl(url: string, queryStringParams?: {}) {\r\n const newUrl = this.createRoute(url, queryStringParams);\r\n window.location.href = newUrl;\r\n }\r\n\r\n createRoute(url: string, queryStringParams?: {}): string {\r\n var newUrl = url;\r\n if (queryStringParams) {\r\n const queryString = this.constructQueryStringParamsFromObject(queryStringParams);\r\n if (queryString !== '') {\r\n if (newUrl.indexOf('?') >= 0) {\r\n newUrl += '&' + queryString;\r\n }\r\n else {\r\n newUrl += '?' + queryString;\r\n }\r\n }\r\n }\r\n return newUrl;\r\n }\r\n\r\n refreshPage() {\r\n window.location.reload();\r\n }\r\n\r\n goBack() {\r\n window.history.back();\r\n }\r\n\r\n private constructQueryStringParamsFromObject(params: {}) {\r\n var query = Object.keys(params)\r\n .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`)\r\n .join('&');\r\n return query;\r\n }\r\n}","import { ServiceException, ValidationMessage } from '@src/infrastructure/httpClient/index';\r\nimport { Toaster } from '@src/controls/toasts/toaster';\r\nimport { Log } from '@src/infrastructure/logging/index';\r\nimport { ServerSettings } from '@src/infrastructure/serverSettings';\r\nimport { ServerValidationCodes } from '@src/infrastructure/constants/serverValidationCodes';\r\n\r\nexport class ErrorHandler {\r\n private readonly log: Log;\r\n public validationMessages = ko.observableArray([]);\r\n\r\n constructor(serverSettings: ServerSettings) {\r\n this.log = new Log(serverSettings);\r\n }\r\n\r\n handleError(e: any) {\r\n if (e instanceof ServiceException && e.isBusinessException === true) {\r\n this.mapServiceException(e);\r\n return;\r\n } else {\r\n this.log.exception(e);\r\n const message = 'There was an unexpected error on the server. Please try again later or contact support.';\r\n this.validationMessages.push({ code: 'SERVERERROR', message: message });\r\n Toaster.show('Error', message);\r\n }\r\n }\r\n\r\n public errorContainsValidationCode(e: any, serverValidationCode: ServerValidationCodes) {\r\n if (!(e instanceof ServiceException && e.isBusinessException === true)) {\r\n return false;\r\n }\r\n const serviceException = e;\r\n return serviceException.errors.some(e => e.code === serverValidationCode);\r\n }\r\n\r\n public reset() {\r\n this.validationMessages.removeAll();\r\n }\r\n\r\n private mapServiceException(serviceException: ServiceException) {\r\n if (!serviceException.errors) {\r\n return;\r\n }\r\n if (serviceException.errors.length === 1) {\r\n Toaster.show('Error', serviceException.errors[0].message);\r\n return;\r\n }\r\n this.validationMessages.push(...serviceException.errors);\r\n }\r\n}","interface Events {\r\n [key: string]: Array<(payload: any) => void>;\r\n}\r\n\r\nexport class EventAggregator {\r\n\r\n private events: Events = {};\r\n\r\n public subscribe(event: string, callback: (payload: any) => void) {\r\n if (!event) {\r\n throw new Error('Event channel/type was invalid');\r\n }\r\n if (!this.events.hasOwnProperty(event)) {\r\n this.events[event] = [];\r\n }\r\n this.events[event].push(callback);\r\n }\r\n\r\n public publish(event: string, payload?: any) {\r\n if (!this.events.hasOwnProperty(event)) {\r\n return;\r\n }\r\n this.events[event].forEach(callback => {\r\n callback.call(null, payload);\r\n });\r\n }\r\n}","import { ServerSettings } from '../serverSettings';\r\nimport { ServiceException } from './serviceException';\r\nimport { ValidationMessage } from './validationMessage';\r\n\r\ntype HttpMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\r\n\r\nexport interface FileUploadModel {\r\n file: File;\r\n id: number;\r\n fileUploadSessionId: string;\r\n autoMarkDelete?: boolean;\r\n}\r\n\r\nexport class HttpClient {\r\n private readonly baseUrl: string;\r\n\r\n constructor(serverSettings: ServerSettings) {\r\n this.baseUrl = serverSettings.baseUrl;\r\n }\r\n\r\n public get(route: string, data?: any): Promise {\r\n return this.call('GET', route, data);\r\n }\r\n\r\n public post(route: string, data?: any): Promise {\r\n return this.call('POST', route, data);\r\n }\r\n\r\n public put(route: string, data?: any): Promise {\r\n return this.call('PUT', route, data);\r\n }\r\n\r\n public delete(route: string, data?: any): Promise {\r\n return this.call('DELETE', route, data);\r\n }\r\n\r\n private call(method: HttpMethods, route: string, data?: any): Promise {\r\n const uri = this.combine(this.baseUrl, route);\r\n const settings = this.getAjaxSettings(method, uri, data);\r\n settings.contentType = 'application/json';\r\n return new Promise((resolve, reject) => {\r\n settings.success = resolve;\r\n settings.error = this.handleError(reject, uri);\r\n $.ajax(settings);\r\n });\r\n }\r\n\r\n private getAjaxSettings(method: HttpMethods, uri: string, data?: any): JQueryAjaxSettings {\r\n let processedData = data;\r\n if (data !== undefined && method !== 'GET') {\r\n processedData = JSON.stringify(data);\r\n }\r\n const settings: JQueryAjaxSettings = {\r\n // dataType: 'json',\r\n method: method,\r\n url: uri,\r\n data: processedData,\r\n accepts: { json: 'application/json' },\r\n };\r\n return settings;\r\n }\r\n\r\n private handleError = (reject, uri: string) => {\r\n return (xhr?: any): void => {\r\n if (xhr.status === 400 && xhr.responseJSON && Array.isArray(xhr.responseJSON)) {\r\n reject(new ServiceException(true, this.mapValidationMessages(xhr.responseJSON)));\r\n return;\r\n } else if (xhr.status === 401) {\r\n reject(this.unauthorizedMessage());\r\n return;\r\n } else if (xhr.status === 404) {\r\n reject(this.notFoundsMessage(uri));\r\n }\r\n reject(xhr);\r\n }\r\n };\r\n\r\n private mapValidationMessages(serverValidationMessages: any[]) {\r\n if (!serverValidationMessages) {\r\n return [];\r\n }\r\n return serverValidationMessages.map(msg => new ValidationMessage(msg.code, msg.message));\r\n }\r\n\r\n private unauthorizedMessage() {\r\n return new ServiceException(true, [new ValidationMessage('UNAUTHORIZED', 'You are not authorized to perform that action')]);\r\n }\r\n\r\n private notFoundsMessage(uri: string) {\r\n return new ServiceException(false, [new ValidationMessage('NOTFOUND', `The url requested returned a 404: ${uri}`)]);\r\n }\r\n\r\n private combine(baseUrl: string, route: string) {\r\n let url = baseUrl;\r\n if (baseUrl.endsWith('/')) {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n let modifiedRoute = route;\r\n if (route.startsWith('/')) {\r\n modifiedRoute = route.substr(1, route.length);\r\n }\r\n return `${url}/${modifiedRoute}`;\r\n }\r\n}","import { HttpClient } from './httpClient';\r\nimport { ServiceException } from './serviceException';\r\nimport { ValidationMessage } from './validationMessage';\r\n\r\nexport {\r\n HttpClient,\r\n ServiceException,\r\n ValidationMessage\r\n}","import { ValidationMessage } from './validationMessage';\r\n\r\nexport class ServiceException {\r\n constructor(public isBusinessException: boolean, public errors: ValidationMessage[]) { }\r\n}","export class ValidationMessage {\r\n constructor(public code: string, public message: string) { }\r\n}","import { ErrorCodes } from './errorCodes';\r\n\r\nexport class ClientError {\r\n constructor(public code: ErrorCodes, public message: string) { }\r\n}","import { Log } from './log';\r\nimport { ErrorCodes } from './errorCodes';\r\nimport { InformationCodes } from './informationCodes';\r\nimport { ClientError } from './clientError';\r\n\r\nexport {\r\n Log,\r\n ErrorCodes,\r\n InformationCodes,\r\n ClientError\r\n}","import { ServerSettings } from '../serverSettings';\r\nimport { ErrorCodes, InformationCodes } from './index';\r\nimport { Browser } from '../browser';\r\nimport { ClientError } from './clientError';\r\nimport { HttpClient } from '../httpClient/index';\r\nimport { routes } from '../routes';\r\nimport { LoggingService, ApiModels } from './loggingService';\r\n\r\ndeclare global {\r\n var html2canvas: (element: HTMLElement) => Promise;\r\n}\r\n\r\nlet hasBoundGlobalErrorEvent = false;\r\nenum SeverityTypes {\r\n Information = 1,\r\n Error = 2,\r\n}\r\n\r\nexport class Log {\r\n private readonly browser: Browser;\r\n private readonly debug: boolean;\r\n private readonly httpClient: HttpClient;\r\n private readonly loggingService: LoggingService;\r\n\r\n constructor(serverSettings: ServerSettings) {\r\n this.browser = new Browser();\r\n this.debug = serverSettings.debug;\r\n this.httpClient = new HttpClient(serverSettings);\r\n this.loggingService = new LoggingService(serverSettings);\r\n if (!hasBoundGlobalErrorEvent) {\r\n hasBoundGlobalErrorEvent = true;\r\n window.onerror = this.handleError.bind(this);\r\n }\r\n }\r\n\r\n public async exception(e: any) {\r\n if (this.debug) {\r\n console.error(e);\r\n }\r\n var code: ErrorCodes = 'UnexpectedException';\r\n var message = this.formatException(e);\r\n if (e instanceof ClientError) {\r\n code = e.code;\r\n message = e.message;\r\n }\r\n const request: ApiModels.LogErrorApiRequestModel = {\r\n code: code,\r\n severityTypeId: SeverityTypes.Error,\r\n message: message,\r\n ...this.getBaseRequestProperties(),\r\n logId: this.getLogId(e),\r\n image: await this.screenshot(),\r\n };\r\n await this.loggingService.log(request);\r\n }\r\n\r\n private formatException(e: any) {\r\n if (e.message && e.stack && e.name) {\r\n return `\r\n${e.name}\r\n${e.message}\r\n${e.stack}\r\n `;\r\n }\r\n return JSON.stringify(e, null, 2);\r\n }\r\n\r\n private getLogId(e: any) {\r\n if (e?.status === 500 && e?.responseJSON?.logId) {\r\n return e.responseJSON.logId;\r\n }\r\n return null;\r\n }\r\n\r\n public async error(errorCode: ErrorCodes, message: string) {\r\n if (this.debug) {\r\n console.error(errorCode, message);\r\n }\r\n const request: ApiModels.LogErrorApiRequestModel = {\r\n code: errorCode,\r\n severityTypeId: SeverityTypes.Error,\r\n message: message,\r\n ...this.getBaseRequestProperties(),\r\n image: await this.screenshot()\r\n };\r\n await this.httpClient.post(routes.api.logging.logError, request);\r\n await this.loggingService.log(request);\r\n }\r\n\r\n public async information(informationCode: InformationCodes, message: string) {\r\n if (this.debug) {\r\n console.log(informationCode, message);\r\n }\r\n const request: ApiModels.LogErrorApiRequestModel = {\r\n code: informationCode,\r\n severityTypeId: SeverityTypes.Information,\r\n message: message,\r\n ...this.getBaseRequestProperties(),\r\n image: await this.screenshot()\r\n };\r\n await this.loggingService.log(request);\r\n }\r\n\r\n private handleError = async (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error) => {\r\n if (this.debug) {\r\n console.error(event, source, lineno, colno, error);\r\n }\r\n let message: string;\r\n if (typeof error === 'string') {\r\n message = error;\r\n } else {\r\n message = error.message;\r\n }\r\n const request: ApiModels.LogErrorApiRequestModel = {\r\n code: 'UnexpectedException',\r\n severityTypeId: SeverityTypes.Error,\r\n message: message,\r\n stackTrace: error.stack,\r\n lineNo: lineno,\r\n columnNo: colno,\r\n ...this.getBaseRequestProperties(),\r\n image: await this.screenshot()\r\n }\r\n await this.loggingService.log(request);\r\n }\r\n\r\n private getBaseRequestProperties() {\r\n return {\r\n url: this.browser.location(),\r\n userAgent: this.browser.userAgent(),\r\n cookieEnabled: this.browser.isCookiesEnabled(),\r\n language: this.browser.language()\r\n }\r\n }\r\n\r\n private async screenshot() {\r\n var canvas = await html2canvas(document.body);\r\n return canvas.toDataURL('image/png');\r\n }\r\n}","\r\nimport { ErrorCodes } from './errorCodes';\r\nimport { InformationCodes } from './informationCodes';\r\n\r\nexport interface LogErrorApiRequestModel {\r\n severityTypeId: number;\r\n code: ErrorCodes | InformationCodes;\r\n message: string;\r\n url: string;\r\n stackTrace?: string;\r\n lineNo?: string | number | null;\r\n columnNo?: string | number | null;\r\n userAgent: string;\r\n cookieEnabled: boolean;\r\n language: string;\r\n image: string | null;\r\n logId?: number | null;\r\n}","import { ServerSettings } from '@src/infrastructure/serverSettings';\r\nimport { HttpClient } from '@src/infrastructure/httpClient/index';\r\nimport { ErrorCodes } from './errorCodes';\r\nimport { InformationCodes } from './informationCodes';\r\nimport * as ApiModels from './loggingApiModels';\r\nimport { routes } from \"@src/infrastructure/routes\";\r\n\r\nexport { ApiModels };\r\n\r\nexport class LoggingService {\r\n private readonly httpClient: HttpClient;\r\n\r\n constructor(serverSettings: ServerSettings){\r\n this.httpClient = new HttpClient(serverSettings);\r\n }\r\n\r\n public log(request: ApiModels.LogErrorApiRequestModel): Promise {\r\n return this.httpClient.post(routes.api.logging.logError, request);\r\n }\r\n}","\r\nconst routes = {\r\n api: {\r\n cart: {\r\n testing: 'api/Cart/Testing',\r\n },\r\n logging: {\r\n logError: 'api/Logging/Log',\r\n },\r\n sandbox: {\r\n throwError: 'api/Sandbox/ThrowError'\r\n }\r\n },\r\n web: {\r\n cart: '/Cart',\r\n sandbox: {\r\n throwError: '/Sandbox/ThrowError',\r\n }\r\n }\r\n}\r\n\r\nexport { routes };","\r\nexport class Serializer {\r\n\r\n serialize(object: T): string {\r\n return JSON.stringify(object);\r\n }\r\n\r\n deserialize(json: string): T {\r\n return JSON.parse(json);\r\n }\r\n}","import { Storage } from './storage';\r\nimport { LocalStorage } from './localStorage';\r\nimport { CookieStorage } from './cookieStorage';\r\n\r\n// gathered ideas from https://github.com/samyk/evercookie/blob/master/js/evercookie.js\r\n\r\nexport type CartItemTypes = 'blaze' | 'luminex' | 'no-steno';\r\n\r\nexport interface CartState {\r\n cartItems: CartItem[];\r\n}\r\n\r\nexport interface CartItem {\r\n item: CartItemTypes;\r\n amount: number;\r\n}\r\n\r\nexport class CartStore { \r\n private stores: Storage[] = [];\r\n\r\n constructor() {\r\n this.stores.push(new LocalStorage());\r\n this.stores.push(new CookieStorage());\r\n }\r\n\r\n set = async (cart: CartState) => {\r\n for (let store of this.stores) {\r\n store.set(cart);\r\n }\r\n }\r\n\r\n get = async (): Promise => {\r\n let value;\r\n for (let store of this.stores) {\r\n value = await store.get()\r\n if (value) {\r\n break;\r\n }\r\n }\r\n if (!value) {\r\n return { cartItems: [] };\r\n }\r\n return value;\r\n }\r\n}","import { CartState } from '@src/infrastructure/storage/cartStore';\r\nimport { Serializer } from '../serializer';\r\nimport { Storage } from './storage';\r\n\r\n\r\nexport class CookieStorage implements Storage {\r\n private readonly key = 'cart';\r\n private readonly serializer: Serializer;\r\n\r\n constructor() {\r\n this.serializer = new Serializer();\r\n }\r\n\r\n set = async (cart: CartState) => {\r\n // expire the old cookie first then set the new one\r\n const currentYear = new Date().getFullYear();\r\n const yearPlus10 = currentYear + 10;\r\n const yearMinus10 = currentYear - 10;\r\n const cartSerialized = this.serializer.serialize(cart);\r\n document.cookie = `${this.key}=${cartSerialized}; expires=Mon, 20 Sep ${yearMinus10} 00:00:00 UTC; path=/`\r\n document.cookie = `${this.key}=${cartSerialized}; expires=Tue, 31 Dec ${yearPlus10} 00:00:00 UTC; path=/`\r\n }\r\n\r\n get = async (): Promise => {\r\n const cartSerialized = this.getFromStr(this.key, decodeURIComponent(document.cookie));\r\n return this.serializer.deserialize(cartSerialized);\r\n }\r\n\r\n private getFromStr(name, text) {\r\n if (typeof text !== \"string\") {\r\n return;\r\n }\r\n var nameEQ = name + \"=\",\r\n ca = text.split(/[;&]/),\r\n i, c;\r\n for (i = 0; i < ca.length; i++) {\r\n c = ca[i];\r\n while (c.charAt(0) === \" \") {\r\n c = c.substring(1, c.length);\r\n }\r\n if (c.indexOf(nameEQ) === 0) {\r\n return c.substring(nameEQ.length, c.length);\r\n }\r\n }\r\n }\r\n}","import { CartState } from '@src/infrastructure/storage/cartStore';\r\nimport { Serializer } from '../serializer';\r\nimport { Storage } from './storage';\r\n\r\nexport class LocalStorage implements Storage {\r\n private readonly serializer: Serializer;\r\n\r\n constructor() {\r\n this.serializer = new Serializer;\r\n }\r\n\r\n async set(cart: CartState) {\r\n if (!window.localStorage) {\r\n return;\r\n }\r\n const cartSerialized = this.serializer.serialize(cart);\r\n window.localStorage.setItem('cart', cartSerialized);\r\n }\r\n\r\n async get(): Promise {\r\n if (!window.localStorage) {\r\n return;\r\n }\r\n const cartSerialized = window.localStorage.getItem('cart');\r\n return this.serializer.deserialize(cartSerialized);\r\n }\r\n}","import './popoverBindingHandler';","import { Popover, PopoverContent, PopoverTemplate } from \"@src/controls/popoverControl\";\r\nimport { ClientError } from \"@src/infrastructure/logging/index\";\r\n\r\nlet defaultPopoverSettings = {\r\n html: true,\r\n trigger: 'hover focus',\r\n title: '',\r\n placement: 'auto'\r\n};\r\n\r\nfunction bindContent(popover: PopoverContent, $elem: JQuery, popoverSettings: any) {\r\n popoverSettings.content = ko.unwrap(popover.content);\r\n $elem.popover(popoverSettings);\r\n}\r\n\r\nfunction bindTemplate(popover: PopoverTemplate, $elem: JQuery, popoverSettings: any, bindingContext: KnockoutBindingContext) {\r\n const template = ko.unwrap(popover.template);\r\n const templateHtml = $(`#${template}`).html();\r\n const $templateHtml = $(templateHtml);\r\n\r\n const thePopover = $templateHtml.get(0);\r\n ko.cleanNode(thePopover);\r\n if (popover.viewModel != null) {\r\n const childBindingContext = bindingContext.createChildContext(popover.viewModel);\r\n ko.applyBindings(childBindingContext, thePopover);\r\n }\r\n\r\n popoverSettings.content = thePopover;\r\n $elem.popover(popoverSettings);\r\n}\r\n\r\nfunction bindPopover(element, valueAccessor, allBindings, viewModel, bindingContext) {\r\n const popover: Popover = valueAccessor();\r\n let popoverSettings: any = Object.assign({}, defaultPopoverSettings);\r\n popoverSettings.title = popover.title ?? defaultPopoverSettings.title;\r\n popoverSettings.placement = popover.placement ?? defaultPopoverSettings.placement;\r\n popoverSettings.trigger = popover.trigger ?? defaultPopoverSettings.trigger;\r\n const $elem = $(element);\r\n\r\n if ('content' in popover) {\r\n bindContent(popover, $elem, popoverSettings);\r\n }\r\n else if ('template' in popover) {\r\n bindTemplate(popover, $elem, popoverSettings, bindingContext);\r\n }\r\n else {\r\n throw new ClientError('PopoverBindingNotRecognized',\r\n `popover knockout binding was not passed a correct object of type Popover: ${element.outerHTML}`);\r\n }\r\n}\r\n\r\nko.bindingHandlers.popover = {\r\n init: bindPopover,\r\n update: bindPopover\r\n}","import { Browser } from '@src/infrastructure/browser';\r\nimport { ErrorHandler } from '@src/infrastructure/errorHandler';\r\nimport { CartStore } from '@src/infrastructure/storage/cartStore';\r\nimport { ServerSettings } from '@src/infrastructure/serverSettings';\r\n\r\nexport class CartViewModel {\r\n private readonly cartStore: CartStore;\r\n private readonly errorHandler: ErrorHandler;\r\n private readonly browser: Browser;\r\n\r\n constructor(serverSettings: ServerSettings) {\r\n this.cartStore = new CartStore();\r\n this.browser = new Browser();\r\n this.errorHandler = new ErrorHandler(serverSettings);\r\n }\r\n\r\n private async initialize() {\r\n const cartState = await this.cartStore.get();\r\n }\r\n}","import { PopoverContent } from \"@src/controls/popoverControl\";\r\n\r\nexport class ContactUs {\r\n isSending = ko.observable(false);\r\n recaptchaResponse = ko.observable('');\r\n sendPopover: PopoverContent;\r\n\r\n constructor() {\r\n this.sendPopover = { content: 'Please check \"I\\'m not a robot\"', trigger: 'click', placement: 'right' };\r\n }\r\n\r\n sendEmail = () => {\r\n if (this.isSending()) {\r\n return false;\r\n }\r\n let recaptchaResponse = grecaptcha.getResponse();\r\n if (recaptchaResponse == \"\") {\r\n return false;\r\n }\r\n this.recaptchaResponse(recaptchaResponse);\r\n this.isSending(true);\r\n gtag('event', 'lp_contact_form');\r\n return true;\r\n }\r\n}","export class HomeViewModel {\r\n private allItems: HTMLCollectionOf;\r\n\r\n constructor(){\r\n window.onload = this.setLayoutOfTestimonialsForMosaic.bind(this);\r\n window.addEventListener(\"resize\", this.resizeAllGridItems.bind(this));\r\n this.allItems = document.getElementsByClassName(\"testimony\");\r\n }\r\n \r\n setLayoutOfTestimonialsForMosaic(){\r\n $('.testimonials')\r\n .removeClass('testimonials')\r\n .addClass('testimonials-mosaic');\r\n this.resizeAllGridItems();\r\n }\r\n\r\n resizeGridItem(item) {\r\n let grid = document.getElementsByClassName(\"testimonials-mosaic\")[0];\r\n let rowHeight = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-auto-rows'));\r\n let rowGap = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-row-gap'));\r\n let rowSpan = Math.ceil((item.querySelector('.testimony-card').getBoundingClientRect().height + rowGap) / (rowHeight + rowGap));\r\n item.style.gridRowEnd = \"span \" + rowSpan;\r\n }\r\n\r\n resizeAllGridItems() {\r\n this.allItems = document.getElementsByClassName(\"testimony\");\r\n for (let x = 0; x < this.allItems.length; x++) {\r\n this.resizeGridItem(this.allItems[x]);\r\n }\r\n }\r\n\r\n resizeInstance(instance) {\r\n const item = instance.elements[0];\r\n this.resizeGridItem(item);\r\n }\r\n}","import { Browser } from '@src/infrastructure/browser';\r\nimport { ErrorHandler } from '@src/infrastructure/errorHandler';\r\nimport { HttpClient } from '@src/infrastructure/httpClient/index';\r\nimport { routes } from '@src/infrastructure/routes';\r\nimport { ServerSettings } from '@src/infrastructure/serverSettings';\r\nimport { CartStore } from '@src/infrastructure/storage/cartStore';\r\n\r\ntype CartItems = 'blaze' | 'luminex' | 'no-steno';\r\n\r\nexport class PricingAndOrdering {\r\n private readonly httpClient: HttpClient;\r\n private readonly cartStore: CartStore;\r\n private readonly errorHandler: ErrorHandler;\r\n private readonly browser: Browser;\r\n\r\n constructor(serverSettings: ServerSettings){\r\n this.httpClient = new HttpClient(serverSettings);\r\n this.cartStore = new CartStore();\r\n this.browser = new Browser();\r\n this.httpClient = new HttpClient(serverSettings);\r\n }\r\n\r\n addBlazeToCart = async () => {\r\n await this.addToCart('blaze');\r\n }\r\n\r\n addLuminexToCart = async () => {\r\n await this.addToCart('luminex');\r\n }\r\n\r\n addNoStenoToCart = async () => {\r\n await this.addToCart('no-steno');\r\n }\r\n\r\n private async addToCart(cartItem: CartItems) {\r\n try {\r\n const cart = await this.cartStore.get();\r\n const item = cart.cartItems.find(c => c.item === cartItem);\r\n if (!item) {\r\n cart.cartItems.push({ item: cartItem, amount: 1 });\r\n }\r\n else {\r\n item.amount++;\r\n }\r\n await this.cartStore.set(cart);\r\n this.browser.gotoUrl(routes.web.cart);\r\n }\r\n catch (e) {\r\n this.errorHandler.handleError(e);\r\n }\r\n }\r\n} ","import { CartStore } from '@src/infrastructure/storage/cartStore';\r\n\r\nexport class CartViewModel {\r\n private cartStore: CartStore;\r\n\r\n\r\n luminexCount = ko.observable(0);\r\n blazeCount = ko.observable(0);\r\n\r\n\r\n constructor() {\r\n this.cartStore = new CartStore()\r\n }\r\n\r\n private async resetUiWithCartState() {\r\n const cartState = await this.cartStore.get();\r\n const luminexes = cartState.cartItems.find(i => i.item === 'luminex');\r\n this.luminexCount(luminexes.amount);\r\n const blazes = cartState.cartItems.find(i => i.item === 'blaze');\r\n this.blazeCount(blazes.amount);\r\n }\r\n\r\n removeLuminex = async () => {\r\n if (this.luminexCount() === 0) {\r\n return;\r\n }\r\n this.luminexCount(this.luminexCount() - 1);\r\n const cartState = await this.cartStore.get();\r\n }\r\n}","import { ServerSettings } from \"@src/infrastructure/serverSettings\";\r\nimport { Browser } from \"@src/infrastructure/browser\";\r\nimport { routes } from \"@src/infrastructure/routes\";\r\nimport { HttpClient } from \"@src/infrastructure/httpClient/index\";\r\nimport { ErrorHandler } from \"@src/infrastructure/errorHandler\";\r\nimport { Log } from \"@src/infrastructure/logging/log\";\r\n\r\nexport class LoggingViewModel {\r\n private httpClient: HttpClient;\r\n private log: Log;\r\n errorHandler: ErrorHandler;\r\n message: KnockoutObservable;\r\n browser: Browser;\r\n\r\n constructor(serverSettings: ServerSettings) {\r\n this.message = ko.observable('');\r\n this.browser = new Browser();\r\n this.httpClient = new HttpClient(serverSettings);\r\n this.errorHandler = new ErrorHandler(serverSettings);\r\n this.log = new Log(serverSettings);\r\n }\r\n\r\n webRequest() {\r\n this.browser.gotoUrl(routes.web.sandbox.throwError);\r\n }\r\n\r\n async apiRequest () {\r\n try {\r\n await this.httpClient.post(routes.api.sandbox.throwError);\r\n }\r\n catch (e) {\r\n this.errorHandler.handleError(e);\r\n }\r\n }\r\n\r\n browserError() {\r\n throw new Error('Hello world browser error!');\r\n }\r\n\r\n async logInformational() {\r\n try {\r\n await this.log.information('SandboxLogInfo', this.message());\r\n }\r\n catch (e) {\r\n this.errorHandler.handleError(e);\r\n }\r\n }\r\n}","import { Toaster } from '@src/controls/toasts/toaster';\r\n\r\nexport class ToastsViewModel {\r\n info() {\r\n Toaster.show('Info', 'Hello World!');\r\n }\r\n\r\n error() {\r\n Toaster.show('Error', 'Error message');\r\n }\r\n\r\n success() {\r\n Toaster.show('Success', 'Success message');\r\n }\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./client/src/app.ts\");\n",""],"names":[],"sourceRoot":""}