{"version":3,"file":"static/js/services-group4.b2a570a6.chunk.js","mappings":"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","sources":["app-react/components/breadcrumbs/boxes/breadcrumbs-item.box.ts","app-react/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.tsx","app-react/services/sitemap/breadcrumbs/non-navigatable-breadcrumb.tsx","app-react/services/sitemap/breadcrumbs/navigatable-breadcrumb.tsx","app-react/services/sitemap/sitemap-node.ts","app-react/services/sitemap/sitemap.service.ts","app-react/services/marketing/marketing.service.ts"],"sourcesContent":["import {styledBox} from \"../../../themes/architecture/styled-box\";\n\nexport const BreadcrumbsItemBox = styledBox('BreadcrumbsItemBox');","import React from 'react';\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\nimport {observer} from 'mobx-react';\nimport {Link} from \"../../raw-components/link/link\";\nimport {BreadcrumbsItemBox} from \"../boxes/breadcrumbs-item.box\";\n\nexport interface BreadcrumbsItemComponentProps {\n readonly title: string;\n position: number;\n readonly url?: string;\n onClick?: () => void;\n\n}\n\n@observer\nexport class BreadcrumbsItemComponent extends OrbitComponent {\n\n render() {\n\n const isClickable = Boolean(this.props.onClick);\n return (\n <>\n \n \n \n {this.props.title}\n \n \n \n \n {isClickable ? {' > '} : null}\n \n );\n }\n}","import React from 'react';\nimport {IBreadcrumb} from './breadcrumb.interface';\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\n\nexport class NonNavigatableBreadcrumb implements IBreadcrumb {\n constructor(private _title: string) {\n }\n\n render(position: number) {\n return (\n \n );\n }\n}\n","import React from 'react';\nimport {IBreadcrumb} from './breadcrumb.interface';\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\n\n\nexport class NavigatableBreadcrumb implements IBreadcrumb {\n constructor(private _title: string, private _url: string, private services: IServiceFactoryExtended) {\n\n }\n\n private _navigate = () => {\n this.services.location.push(this._url);\n };\n\n render(position: number) {\n return (\n \n );\n }\n}\n\n\n","import {NonNavigatableBreadcrumb} from './breadcrumbs/non-navigatable-breadcrumb';\nimport {NavigatableBreadcrumb} from './breadcrumbs/navigatable-breadcrumb';\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\nimport {UriPath} from \"../location/uri-path/uri-path\";\n\nexport class SiteMapNode {\n constructor(private _title: string, private _url: string, children: any[]) {\n this._loadChildren(children);\n this._urlParts = new UriPath(_url).toArray();\n }\n\n private readonly _urlParts: string[];\n\n private _loadChildren(children: any[]): void {\n this._children = (children || []).map(ch => new SiteMapNode(ch.title, ch.url, ch.children));\n }\n\n\n private _children: SiteMapNode[] = [];\n get children(): SiteMapNode[] {\n return this._children;\n }\n\n createBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\n\n for(let i = 0; i < this._urlParts.length; i++) {\n if(this._urlParts[i] !== requestedUrlParts[i]) {\n return [];\n }\n }\n\n if(this._urlParts.length === requestedUrlParts.length) {\n return [new NonNavigatableBreadcrumb(this._title)] //it means this is the last breadcrumb\n } else {\n let breadcrumb = new NavigatableBreadcrumb(this._title, this._url, services);\n\n return [breadcrumb, ...this._createChildrenBreadcrumbs(requestedUrlParts, services)];\n }\n }\n\n private _createChildrenBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\n for(let i = 0; i < this.children.length; i++) {\n let childBreadcrumbs = this.children[i].createBreadcrumbs(requestedUrlParts, services);\n if(childBreadcrumbs.length > 0) {\n return childBreadcrumbs;\n }\n }\n return [];\n }\n\n toFlatSiteMap(): {[key: string]: SiteMapNode} {\n let result = {};\n result[this._url] = this;\n\n this.children.forEach(child => {\n result = Object.assign(result, child.toFlatSiteMap());\n });\n\n return result;\n\n }\n}\n","import {ISiteMapService} from './sitemap.service.interface';\nimport {ServiceBase} from '../ServiceBase';\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\nimport {SiteMapNode} from './sitemap-node';\nimport { action, observable, makeObservable } from 'mobx';\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\nimport {UriPath} from '../location/uri-path/uri-path';\n\nexport class SiteMapService extends ServiceBase implements ISiteMapService {\n\n private _root: SiteMapNode;\n private _flatSiteMapByUrl: {[key: string]: SiteMapNode};\n\n constructor(services: IServiceFactoryExtended) {\n super(services);\n\n makeObservable(this);\n\n try {\n this._initSiteMap();\n }catch (e) {\n this.services.logger.error(`Failed to load sitemap ${e} `);\n }\n\n this.reaction(\n () => this.services.location.currentUri,\n (uri) => {\n this._setBreadcrumbs(this._createBreadCrumbs(uri.pathName));\n },\n {\n fireImmediately: true\n });\n }\n\n private _initSiteMap() {\n let siteMap = this.services.configuration.startupConfiguration.b2c.sitemap;\n this._root = new SiteMapNode(siteMap.title, siteMap.url, siteMap.children);\n this._flatSiteMapByUrl = this._root.toFlatSiteMap();\n }\n\n @observable.ref\n breadcrumbs: IBreadcrumb[] = [];\n\n @action.bound\n private _setBreadcrumbs(breadcrumbs: IBreadcrumb[]) {\n this.breadcrumbs = breadcrumbs;\n }\n\n\n private _createBreadCrumbs(uriPath: UriPath): IBreadcrumb[] {\n if(!uriPath) {\n return [];\n }\n\n if(uriPath.isEmpty) {\n return [];\n }\n\n let uriParts = uriPath.toArray();\n if(uriParts[0] !== '/') {\n uriParts = ['/', ...uriParts];\n }\n\n let breadcrumbs = this._root.createBreadcrumbs(uriParts, this.services);\n if(breadcrumbs.length < uriParts.length) {\n this.services.logger.warning(`URL ${uriPath} was not found in the sitemap`);\n return [];\n }\n\n if(breadcrumbs.length <= 1) {\n return [];\n }\n\n return breadcrumbs;\n }\n\n isUrlInSiteMap(url: string): boolean {\n if(this._flatSiteMapByUrl[url]) {\n return true;\n }\n else {\n return false;\n }\n }\n\n\n\n}\n","import {ServiceBase} from '../ServiceBase';\nimport {IMarketingService} from './marketing.service.interface';\nimport {Check} from '@sparkware/app-utils';\nimport {encodeUriRecursive} from '../../../utils/url-utils';\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\n\n\nconst TEST_DATA_KEY = 'testdata';\n\nexport class MarketingService extends ServiceBase implements IMarketingService {\n\n private get _sCut(): any {\n return this.services.window.getGlobalProperty('sCut');\n }\n\n private get _sCutQueryParams(): string | null {\n let sCut = this._sCut;\n if(sCut) {\n return sCut.toString();\n } else {\n return null;\n }\n }\n\n appendSCutToUrl(url: string): string {\n if(!url) {\n return url;\n }\n\n if(!this._sCutQueryParams) {\n return url;\n }\n\n let urlParts = url.split('?');\n let queryParams = (urlParts[1] || '').trim();\n if(queryParams) {\n if(queryParams.endsWith('&')) {\n return urlParts[0] + '?' + queryParams + this._sCutQueryParams;\n } else {\n return urlParts[0] + '?' + queryParams + '&' + this._sCutQueryParams;\n }\n } else {\n return urlParts[0] + '?' + this._sCutQueryParams;\n }\n }\n\n private _getDlp(): string {\n let urlWithoutSearchAndHash = this.services.location.currentUri.getUrlWithoutSearchAndHash();\n if (urlWithoutSearchAndHash.includes(\"localhost\")) {\n urlWithoutSearchAndHash = urlWithoutSearchAndHash.replace(\"localhost\", \"casinoAOD\");\n }\n return urlWithoutSearchAndHash;\n }\n\n private _convertParameterToNumber(parameterName: string, parameterValue): number {\n let dlAsNumber = parseInt((parameterValue || '').trim());\n if(Check.isNumber(dlAsNumber)) {\n return dlAsNumber;\n } else {\n this.services.logger.error(`Cannot convert marketing parameter ${parameterName} to number because its value is ${parameterValue}`);\n return 999999;\n }\n }\n\n getMarketingData(marketingParams?: MarketingParams): any {\n let sCut = this._sCut;\n if(!Check.isObject(sCut)) {\n return {};\n }\n\n if(!sCut[\"all\"]) {\n this.services.logger.warning(`sCut.all function doesn't exists`);\n return {};\n }\n\n let sCutData = sCut[\"all\"]();\n\n if(!sCutData) {\n this.services.logger.warning(`sCut.all() returned ${sCutData}`);\n return {};\n }\n\n marketingParams = marketingParams || {};\n\n let additionalParams: any = {...sCutData};\n delete additionalParams[TEST_DATA_KEY];\n if(!additionalParams.wtc && marketingParams.wtc) {\n additionalParams.wtc = marketingParams.wtc;\n }\n\n\n let testData: any = {};\n\n try {\n testData = sCutData[TEST_DATA_KEY] ? JSON.parse(sCutData[TEST_DATA_KEY]) : {}\n } catch (err) {\n this.services.logger.error('Failed to parse sCut TestData');\n return {};\n }\n\n if(!testData.dl && marketingParams.dl) {\n testData.dl = marketingParams.dl;\n }\n\n if(testData.dl) {\n //We try to convert the dl to number to see if it is a valid number\n //but we must send it as a string because membership code will throw error on GetFunnelData if it will be number\n testData.dl = (this._convertParameterToNumber('dl', testData.dl)).toString();\n }\n\n testData.dlp = this._getDlp();\n\n if(additionalParams.dlp) {\n additionalParams.dlp = testData.dlp;\n }\n\n return encodeUriRecursive({\n sr: sCutData.sr,\n TestData: testData,\n AdditionalParams: additionalParams\n });\n }\n\n\n\n}\n"],"names":["BreadcrumbsItemBox","styledBox","BreadcrumbsItemComponent","observer","isClickable","Boolean","this","props","onClick","itemProp","itemScope","itemType","href","url","title","content","position","toString","OrbitComponent","NonNavigatableBreadcrumb","_title","NavigatableBreadcrumb","_url","services","_navigate","location","push","SiteMapNode","children","_urlParts","_children","_loadChildren","UriPath","toArray","map","ch","requestedUrlParts","i","length","_createChildrenBreadcrumbs","childBreadcrumbs","createBreadcrumbs","result","forEach","child","Object","assign","toFlatSiteMap","SiteMapService","observable","action","_root","_flatSiteMapByUrl","makeObservable","_initSiteMap","e","logger","error","reaction","currentUri","uri","_setBreadcrumbs","_createBreadCrumbs","pathName","fireImmediately","siteMap","configuration","startupConfiguration","b2c","sitemap","breadcrumbs","uriPath","isEmpty","uriParts","warning","ServiceBase","TEST_DATA_KEY","MarketingService","window","getGlobalProperty","sCut","_sCut","_sCutQueryParams","urlParts","split","queryParams","trim","endsWith","urlWithoutSearchAndHash","getUrlWithoutSearchAndHash","includes","replace","parameterName","parameterValue","dlAsNumber","parseInt","Check","marketingParams","sCutData","additionalParams","wtc","testData","JSON","parse","err","dl","_convertParameterToNumber","dlp","_getDlp","encodeUriRecursive","sr","TestData","AdditionalParams"],"sourceRoot":""}