{"version":3,"file":"main.js","mappings":"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yDAAyD,kCAAkC,sCAAsC,oPAAoP,+BAA+B,mCAAmC,yMAAyM,uHAAuH,sBAAsB,2BAA2B,6WAA6W,EAAE,qbAAqb,uFAAuF,EAAE,EAAE,mBAAmB,gwBAAgwB,iBAAiB,gBAAgB,EAAE,6BAA6B,QAAQ,EAAE,mBAAmB,gBAAgB,EAAE,kCAAkC,QAAQ,EAAE,mBAAmB,qCAAqC,kBAAkB,YAAY,sCAAsC,8CAA8C,2CAA2C,SAAS;;;;;;;;;;;ACDr+kC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;ACrPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/map/map.component.ts","./src/app/components/popover/popover.component.ts","./src/app/models/filter-serch.ts","./src/app/pipes/global-search.pipe.ts","./src/app/services/data-tools.service.ts","./src/app/services/interceptor.service.ts","./src/environments/environment.ts","./src/main.ts","./src/assets/map.essential.js","./node_modules/@ionic/core/dist/esm|lazy|/^/.*/.entry/.js$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object","./node_modules/moment/locale|sync|/^/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: 'home',\n loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)\n },\n {\n path: '',\n redirectTo: 'home',\n pathMatch: 'full'\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, HostListener } from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { Platform } from '@ionic/angular';\r\n//import { initializeApp } from \"firebase/app\";\r\n//import { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { DataToolsService } from './services/data-tools.service';\r\n//import { SplashScreen } from '';\r\n//import { StatusBar } from '@awesome-cordova-plugins/status-bar/ngx';\r\n//import { ScreensizeService } from './services/screensize.service';\r\nimport * as _ from 'lodash';\r\nimport { FilterSerch } from './models/filter-serch';\r\n//import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';\r\n//import { getMessaging, getToken, onMessage } from \"firebase/messaging\";\r\n//import { TopicService } from './services/topic.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss'],\r\n})\r\nexport class AppComponent {\r\n urlParam: string;\r\n show = true;\r\n text: any;\r\n itemSearch: any;\r\n listAllCat: any;\r\n generalInfos: any;\r\n title: string;\r\n searchTerm: string;\r\n titleParent: string;\r\n lastChild: any;\r\n lastChildIni: any;\r\n showSearch: boolean = false;\r\n isDesktop: boolean = false;\r\n hideInDesktopTemp: boolean = false;\r\n\r\n filter: FilterSerch = JSON.parse(sessionStorage.getItem('Filters'));\r\n isBookmarksMode = localStorage.getItem('isBookmarksMode');\r\n\r\n constructor(\r\n private platform: Platform,\r\n //private splashScreen: SplashScreen,\r\n //private statusBar: StatusBar,\r\n // private screensizeService: ScreensizeService,\r\n // private spinner: NgxSpinnerService,\r\n private dataToolsService: DataToolsService,\r\n private router: Router,\r\n // private fcm: FCM,\r\n // private topicService: TopicService\r\n ) {\r\n this.initializeApp();\r\n // this.router.events.subscribe((event: RouterEvent) => {\r\n // this.navigationInterceptor(event)\r\n // })\r\n /** spinner starts on init */\r\n // this.spinner.show();\r\n\r\n // setTimeout(() => {\r\n // /** spinner ends after 5 seconds */\r\n // this.spinner.hide();\r\n // }, 5000);\r\n this.getNavigatorLanguage();\r\n this.getTextFinderJson();\r\n this.getGeneralInfos();\r\n this.getPageContents();\r\n\r\n this.filter = JSON.parse(sessionStorage.getItem(\"Filters\"));\r\n if (!this.filter) {\r\n this.filter = new FilterSerch();\r\n sessionStorage.setItem(\"Filters\", JSON.stringify(this.filter));\r\n }\r\n }\r\n\r\n getIfIsDesktop() {\r\n // this.screensizeService.isDesktopView().subscribe(isDesktop => {\r\n // if (this.isDesktop && !isDesktop) {\r\n // // Reload because our routing is out of place\r\n // window.location.reload();\r\n // }\r\n\r\n // this.isDesktop = isDesktop;\r\n // this.hideInDesktopTemp = this.isDesktop;\r\n // console.log(\"'''''''''''''''''''''''''''''''''' isDesktop ==> \", this.isDesktop);\r\n // console.log(\"'''''''''''''''''''''''''''''''''' hideInDesktopTemp ==> \", this.hideInDesktopTemp);\r\n // //localStorage.setItem('isDesktop', (isDesktop) ? \"true\" : \"false\");\r\n // //localStorage.setItem('hideInDesktopTemp', (this.hideInDesktopTemp) ? \"true\" : \"false\");\r\n // });\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n //this.statusBar.styleDefault();\r\n //this.splashScreen.hide();\r\n //this.screensizeService.onResize(this.platform.width());\r\n //this.getIfIsDesktop(); \r\n //const app = this.initFirebase();\r\n //const messaging = getMessaging(app);\r\n // Initialisation de la réception des notifications\r\n // getToken(messaging, { vapidKey: 'BEqfpjNYiQBNqN3D84EqsMw6fDTpyNldR-VP7P-0J94DNl62L97l29TaHG8cdk3-l07dXaHGAqHiucEVulWgzOI' }).then((currentToken) => {\r\n // console.log('currentToken------',currentToken)\r\n // if (currentToken) {\r\n // localStorage.setItem('TOKEN-NOT', currentToken);\r\n // console.log('OK FCM');\r\n // this.topicService.subscribeTokenToTopic(currentToken,\"test\");\r\n // onMessage(messaging, (payload) => {\r\n // console.log('Message received. ', payload);\r\n // // ...\r\n // });\r\n // } else {\r\n // console.warn('No registration token available. Request permission to generate one.');\r\n // }\r\n // }).catch((err) => {\r\n // console.error('An error occurred while retrieving token. ', err);\r\n // });\r\n // onMessage(messaging, (payload) => {\r\n // console.log('Message received. ', payload);\r\n // });\r\n });\r\n }\r\n\r\n initFirebase() {\r\n const firebaseConfig = {\r\n apiKey: \"AIzaSyDmpf_70BhBQL6dV187kpXpZLPagSb7ys8\",\r\n authDomain: \"finderr-64db8.firebaseapp.com\",\r\n projectId: \"finderr-64db8\",\r\n storageBucket: \"finderr-64db8.appspot.com\",\r\n messagingSenderId: \"960517462274\",\r\n appId: \"1:960517462274:web:ba1befbf22f291f4940a1b\",\r\n measurementId: \"G-SWJ3NHEN5J\"\r\n };\r\n // const app = initializeApp(firebaseConfig);\r\n // return app;\r\n }\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n private onResize(event) {\r\n // this.screensizeService.onResize(event.target.innerWidth);\r\n }\r\n\r\n // Shows and hides the loading spinner during RouterEvent changes\r\n // navigationInterceptor(event: RouterEvent): void {\r\n // if (event instanceof NavigationStart) {\r\n // //console.log('START--------------');\r\n // this.spinner.show();\r\n // }\r\n // if (event instanceof NavigationEnd) {\r\n // //console.log('END--------------');\r\n // this.spinner.hide();\r\n // }\r\n\r\n // // Set loading state to false in both of the below events to hide the spinner in case a request fails\r\n // if (event instanceof NavigationCancel) {\r\n // this.spinner.hide();\r\n // }\r\n // if (event instanceof NavigationError) {\r\n // this.spinner.hide();\r\n // }\r\n // }\r\n\r\n //Détecté la langue du navigateur\r\n getNavigatorLanguage() {\r\n if (localStorage.getItem(\"langue\")) {\r\n return;\r\n }\r\n let lang = navigator.language;\r\n let langue = lang.substring(0, 2);\r\n console.log(\"lang---->\", langue);\r\n localStorage.setItem('langue', langue);\r\n }\r\n\r\n //Récupération des textes de l'APP\r\n async getTextFinderJson() {\r\n //this.dataToolsService.getJsonSecure('text-finder').subscribe(data => {\r\n // console.log(\"textes===>\", data)\r\n // this.text = data;\r\n // localStorage.setItem('TEXTJSON', JSON.stringify(this.text));\r\n //})\r\n\r\n this.text = await this.dataToolsService.getJsonSecureAsync('text-finder');\r\n console.log(\"TEXTJSON:\", this.text);\r\n \r\n localStorage.setItem('TEXTJSON', JSON.stringify(this.text));\r\n return this.text;\r\n }\r\n\r\n //Récupérer les infos géneral\r\n async getGeneralInfos() {\r\n //this.dataToolsService.getJsonSecure('GeneralInfo').subscribe((data) => {\r\n // console.log(\"datas===>\", data);\r\n // this.generalInfos = data;\r\n // sessionStorage.setItem(\"GENERAL-INFOS\", JSON.stringify(this.generalInfos));\r\n //})\r\n\r\n this.generalInfos = await this.dataToolsService.getJsonSecureAsync('GeneralInfo');\r\n console.log(\"GENERAL-INFOS:\", this.generalInfos);\r\n\r\n sessionStorage.setItem(\"GENERAL-INFOS\", JSON.stringify(this.generalInfos));\r\n }\r\n\r\n //Récuperer page contents\r\n async getPageContents() {\r\n //this.dataToolsService.getJsonSecure('PageContents').subscribe(data => {\r\n // console.log(\"pageContens--------->\", data);\r\n // sessionStorage.setItem(\"PAGE-CONTENT\", JSON.stringify(data));\r\n //})\r\n\r\n let pageContents = await this.dataToolsService.getJsonSecureAsync('PageContents');\r\n console.log(\"PAGE-CONTENT:\", pageContents);\r\n\r\n sessionStorage.setItem(\"PAGE-CONTENT\", JSON.stringify(pageContents));\r\n }\r\n\r\n getListName(title) {\r\n //console.log(\"title ==> \", title);\r\n //console.log(\"this.filter---\", this.filter);\r\n let arrName = title;\r\n switch (title) {\r\n case \"EventCategories\":\r\n arrName = \"categoriesConf\";\r\n break;\r\n case \"EventPlaces\":\r\n arrName = \"placesConf\";\r\n break;\r\n case \"places\":\r\n arrName = \"localisation\";\r\n break;\r\n case \"clusters\":\r\n arrName = \"cluster\";\r\n break;\r\n default:\r\n arrName = title;\r\n break;\r\n }\r\n return arrName;\r\n }\r\n\r\n getLengthNb(title) {\r\n //console.log(\"this.filter---\", this.filter);\r\n //if (title) console.log(\"title---\", title);\r\n\r\n let listName = this.getListName(title);\r\n //console.log(\"listName ==> \", listName);\r\n\r\n if (!this.filter[listName] || this.filter[listName].length < 1) return;\r\n\r\n let nbLength = this.filter[listName].length;\r\n return nbLength;\r\n }\r\n\r\n getLengthChildNb(title) {\r\n //console.log(\"this.filter---\", this.filter);\r\n if (title) console.log(\"title fddsqdfqdsf---\", title);\r\n\r\n let isInSubCat = [];\r\n let listName = this.getListName(title);\r\n\r\n if (!this.filter[listName] || this.filter[listName].length < 1) return;\r\n\r\n this.filter[listName].forEach((itemId) => {\r\n console.log(\"itemId ==> \", itemId);\r\n let currentItem = _.filter(this.listAllCat, function (cat) { return cat.Cat_Id == itemId })[0];\r\n if (currentItem) {\r\n console.log(\"currentItem ==> \", currentItem);\r\n if (this.itemSearch.length > 0)\r\n isInSubCat = _.filter(this.listAllCat, function (cat) { return cat.Cat_External_Id.includes(currentItem.Cat_External_Id.charAt(0)) && cat.Cat_Id != currentItem.Cat_Id });\r\n }\r\n });\r\n\r\n console.log(\"isInSubCat ==> \", isInSubCat);\r\n\r\n //if (isInSubCat.length < 1) return;\r\n\r\n //let nbLength = isInSubCat.length;\r\n //return nbLength;\r\n\r\n return true;\r\n }\r\n\r\n getIfSelected(_title) {\r\n let nb = this.getLengthNb(_title);\r\n //console.log(\"number ==> \", nb)\r\n let isSelected: boolean = (nb && nb > 0) ? true : false;\r\n return isSelected;\r\n }\r\n\r\n\r\n //Récupérer les item de la recherche\r\n getAll(itemId, title) {\r\n //console.log(\"itemId---\", itemId);\r\n //console.log(\"title---\", title);\r\n\r\n this.title = (title == 'placesConf') ? 'places' : (title == 'categoriesConf') ? 'categories' : title;\r\n\r\n this.titleParent = title;\r\n this.listAllCat = this.generalInfos[itemId];\r\n\r\n console.log(\"this.listAllCat ==> \", this.listAllCat);\r\n\r\n //--------Si c'est categories----------//\r\n if (itemId == \"ExhibitorCategories\")\r\n this.itemSearch = _.filter(this.listAllCat, function (cat) { return cat.Cat_External_Id.length == 1 });\r\n\r\n //--------Si c'est cluster----------//\r\n if (itemId == \"Clusters\") this.lastChild = this.listAllCat;\r\n //this.itemSearch = _.filter(this.listAllCat, function(cat) {return cat.Cluster_External_Id.length == 1});\r\n\r\n //--------Si c'est place----------//\r\n if (itemId == \"Places\") this.lastChild = _.filter(this.listAllCat, function (cat) { return cat.Place_Type == 'EXHIBITOR' });\r\n\r\n //--------Si c'est countries----------//\r\n if (itemId == \"Countries\") {\r\n this.lastChildIni = this.listAllCat;\r\n\r\n this.lastChildIni = _.orderBy(this.lastChildIni, ['Country_Name'], ['asc']);\r\n this.lastChild = _.cloneDeep(this.lastChildIni);\r\n }\r\n\r\n // console.log(\"showSearch---\", this.showSearch)\r\n\r\n //--------Si c'est EventCategories-----//\r\n if (itemId == \"EventCategories\") this.lastChild = this.listAllCat;\r\n\r\n //--------Si c'est EventPlaces-----//\r\n if (itemId == \"EventPlaces\") {\r\n this.listAllCat = this.generalInfos['Places'];\r\n this.lastChild = _.filter(this.listAllCat, function (cat) { return cat.Place_Type == 'CONFERENCE' });\r\n }\r\n\r\n console.log(\"this.lastChild ==> \", this.lastChild);\r\n console.log(\"itemSearch ==> \", this.itemSearch);\r\n }\r\n\r\n //Retour à l'ecran pricipal de la recherche\r\n back() {\r\n if (this.lastChild && this.itemSearch) { this.lastChild = null; this.itemSearch = null }\r\n if (this.lastChild) { this.lastChild = null; return }\r\n if (!this.lastChild || this.itemSearch) { this.itemSearch = null; }\r\n }\r\n\r\n //Remplacer le titre par le nom de la cat\r\n goToChild(item, catName) {\r\n //console.log(\"itemSearch--------\", this.itemSearch)\r\n //console.log(\"catName--------\", catName);\r\n //console.log(\"title----------\", this.title);\r\n this.title = item[catName];\r\n\r\n //--------Si c'est categories----------//\r\n if (catName == \"Cat_Name\")\r\n this.lastChild = _.filter(this.listAllCat, function (cat) { return cat.Cat_External_Id.includes(item.Cat_External_Id.charAt(0)) });\r\n _.remove(this.lastChild, function (cat) { return cat.Cat_External_Id.length == 1 });\r\n\r\n //--------Si c'est cluster----------//\r\n // if(catName == \"Cluster_Name\")\r\n // this.lastChild = _.filter(this.listAllCat, function(cat) {return cat.Cluster_External_Id.includes(item.Cluster_External_Id.charAt(0))});\r\n\r\n //console.log(\"CHILD-----\", this.lastChild);\r\n }\r\n\r\n //Fonction pour afficher le name\r\n getKeyName(titleParent) {\r\n\r\n let keyName = '';\r\n\r\n switch (titleParent) {\r\n case \"categories\":\r\n keyName = \"Cat_Name\"\r\n break;\r\n case \"clusters\":\r\n keyName = \"Cluster_Name\"\r\n break;\r\n case \"places\":\r\n keyName = \"Place_Name\"\r\n break;\r\n case \"countries\":\r\n keyName = \"Country_Name\"\r\n break;\r\n case \"categoriesConf\":\r\n keyName = \"CatEvent_Name\"\r\n break;\r\n case \"placesConf\":\r\n keyName = \"Place_Name\"\r\n break;\r\n case \"placesConf\":\r\n keyName = \"Place_Name\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return keyName;\r\n }\r\n //Fonction pour afficher le name\r\n getKeyId(titleParent) {\r\n\r\n let exteralId = '';\r\n\r\n switch (titleParent) {\r\n case \"categories\":\r\n exteralId = \"Cat_Id\"\r\n break;\r\n case \"clusters\":\r\n exteralId = \"Cluster_External_Id\"\r\n break;\r\n case \"places\":\r\n exteralId = \"Place_Id\"\r\n break;\r\n case \"countries\":\r\n exteralId = \"Country_Id\"\r\n break;\r\n case \"categoriesConf\":\r\n exteralId = \"CatEvent_External_Id\"\r\n break;\r\n case \"placesConf\":\r\n exteralId = \"Place_Id\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return exteralId;\r\n }\r\n\r\n onChange(event, item) {\r\n console.log(\"item----------->\", item);\r\n console.log(\"event.target.checked----------->\", event.target.checked);\r\n console.log(\"event----------->\", event);\r\n\r\n let checked = event.target.checked;\r\n let id = event.target.value;\r\n\r\n // switch (item) {\r\n // case \"Cat_Name\":\r\n // if (checked) this.filter.categories.push(id);\r\n // else _.remove(this.filter.categories, function (cat) { return cat == id });\r\n // break;\r\n // case \"Cluster_Name\":\r\n // if (checked) this.filter.cluster.push(id);\r\n // else _.remove(this.filter.cluster, function (clu) { return clu == id });\r\n // break;\r\n // case \"Place_Name\":\r\n // let itemInList = _.filter(this.lastChild, function (itm) { return itm.Place_Id == id })[0];\r\n // if (!itemInList) return;\r\n // let arrPlacesToFilter = (itemInList.Place_Type == 'EXHIBITOR') ? 'localisation' : 'placesConf';\r\n\r\n // if (checked) this.filter[arrPlacesToFilter].push(id);\r\n // else _.remove(this.filter[arrPlacesToFilter], function (loc) { return loc == id });\r\n // break;\r\n // case \"Country_Name\":\r\n // if (checked) this.filter.countries.push(id);\r\n // else _.remove(this.filter.countries, function (con) { return con == id });\r\n // break;\r\n // case \"CatEvent_Name\":\r\n // if (checked) this.filter.categoriesConf.push(id);\r\n // else _.remove(this.filter.categoriesConf, function (conf) { return conf == id });\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n\r\n console.log(\"this.filter ================================> \", this.filter);\r\n }\r\n\r\n isItemInList(_item, _titleparent) {\r\n //console.log(_item, _titleparent);\r\n let listName = this.getListName(_titleparent);\r\n let val = _item[this.getKeyId(_titleparent)];\r\n let isInList: boolean = (this.filter[listName] && this.filter[listName].indexOf(val) != -1) ? true : false;\r\n return isInList;\r\n }\r\n\r\n onChangeExiNew(_event) {\r\n // this.filter.isNewExhi = _event.target.checked;\r\n }\r\n\r\n //Sauvegarder l'objet filtre dans le session storage\r\n saveFilter() {\r\n sessionStorage.setItem(\"Filters\", JSON.stringify(this.filter));\r\n this.back();\r\n }\r\n\r\n searchAll() {\r\n // this.spinner.show();\r\n let pathName = this.router.url;\r\n console.log(\"PATHNAME--\", pathName);\r\n localStorage.setItem('isBookmarksMode', 'No');\r\n sessionStorage.setItem(\"Filters\", JSON.stringify(this.filter));\r\n this.closeSearch();\r\n\r\n setTimeout(() => {\r\n if (pathName.includes('sommaire') || pathName.includes('solutions')) {\r\n console.log(\"yessss\")\r\n this.router.navigate(['home'], { queryParams: { param: 'exhibitors'} });\r\n return;\r\n }\r\n if (pathName.includes('programme') || pathName.includes('speakers')) {\r\n this.router.navigate(['home'], { queryParams: { param: 'conferences'} });\r\n return;\r\n }\r\n\r\n location.reload();\r\n }, 400);\r\n }\r\n\r\n //Search countries\r\n onSearch(e) {\r\n console.log(\"eve======\", e.target.value, this.lastChild);\r\n\r\n if (!e.target.value || e.target.value == \"\") {\r\n this.lastChild = _.cloneDeep(this.lastChildIni);\r\n return;\r\n }\r\n\r\n let arr = []\r\n let re = new RegExp('^' + e.target.value, \"gi\");\r\n this.lastChild = _.filter(this.lastChildIni, function (item) {\r\n //console.log( item.Country_Name);\r\n if (re.test(item.Country_Name)) {\r\n arr.push(item)\r\n }\r\n return re.test(item.Country_Name);\r\n });\r\n this.lastChild = arr;\r\n console.log(this.lastChild, arr);\r\n }\r\n\r\n //colse search\r\n closeSearch() {\r\n this.dataToolsService.close();\r\n }\r\n\r\n initialize() {\r\n this.filter = new FilterSerch();\r\n sessionStorage.setItem(\"Filters\", JSON.stringify(this.filter));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common'; \r\nimport { RouteReuseStrategy } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppComponent } from './app.component';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { GlobalSearchPipe } from './pipes/global-search.pipe';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { MenuConfComponent } from './components/menu-conf/menu-conf.component';\r\nimport { MapComponent } from './components/map/map.component';\r\nimport { NgxSpinnerModule, NgxSpinnerService } from \"ngx-spinner\";\r\nimport { PopoverComponent } from './components/popover/popover.component';\r\nimport { InterceptorService } from './services/interceptor.service';\r\n@NgModule({\r\n declarations: [AppComponent, GlobalSearchPipe, PopoverComponent],\r\n entryComponents: [],\r\n imports: [\r\n BrowserModule, \r\n CommonModule,\r\n HttpClientModule,\r\n IonicModule.forRoot(), \r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxSpinnerModule,\r\n BrowserAnimationsModule,\r\n ],\r\n providers: [\r\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\r\n { provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true },\r\n CookieService,\r\n GlobalSearchPipe,\r\n Ng2SearchPipeModule,\r\n MapComponent,\r\n NgxSpinnerService\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport VisioWebEssential from '../../../assets/map.essential.js';\r\nimport Visioweb from '../../../assets/map.js';\r\nimport * as _ from \"lodash\"\r\nimport { AlertController, MenuController } from '@ionic/angular';\r\nimport { ToastController } from '@ionic/angular';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DataToolsService } from '../../services/data-tools.service';\r\n@Component({\r\n selector: 'app-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.scss'],\r\n})\r\nexport class MapComponent implements OnInit {\r\n\r\n @ViewChild('container') container: ElementRef;\r\n essential: any;\r\n visioweb: any;\r\n buildings = [];\r\n buildingSelected: any;\r\n venuLayout: any;\r\n floors = [];\r\n floorSelected: any;\r\n routeFromElement: string;\r\n routeToElement: string;\r\n placeTitle;\r\n placeIcon;\r\n placeDesctription;\r\n prevInstructionElement: string;\r\n nextInstructionElement: string;\r\n clearRouteElement: string;\r\n instructionIcon;\r\n instructionBrief;\r\n instructionDetail;\r\n updateInstructionData;\r\n categoriesTabNameElement: string;\r\n placesTabNameElement: string;\r\n searchInput: string;\r\n searchTerm: string;\r\n categoryPlaces;\r\n progress = 0;\r\n isModalOpen: boolean = false;\r\n isModalExhiOpen: boolean = false;\r\n locations = [];\r\n exhibitors: any = [];\r\n conferences: any = [];\r\n arrFilterStand: any = [];\r\n elementsNext= 5;\r\n elementFirst= 0;\r\n zoomCamera: number = 250;\r\n zooom: number = 600\r\n menuNavMap: any = [\r\n {\r\n id: 1,\r\n label: \"ALL\"\r\n },\r\n {\r\n id: \"B5A\",\r\n label: \"5A\"\r\n },\r\n {\r\n id: \"B5B\",\r\n label: \"5B\"\r\n },\r\n {\r\n id: \"B6\",\r\n label: \"6\"\r\n },\r\n {\r\n id: 5,\r\n label: \"OUT\"\r\n },\r\n ]\r\n constructor(\r\n private menu: MenuController,\r\n public toastController: ToastController,\r\n private aletrtController: AlertController,\r\n private activatedRoute: ActivatedRoute,\r\n public dataToolService: DataToolsService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n //===============Récupération des exhibitors===================//\r\n this.dataToolService.getJsonSecure(\"Exhibitors\").subscribe(res => {\r\n //console.log(res);\r\n this.exhibitors = res;\r\n }, err => {\r\n console.log(err);\r\n });\r\n\r\n //==============Récupération des Conférences=================//\r\n this.dataToolService.getJsonSecure(\"Events\").subscribe(res => {\r\n console.log(res);\r\n this.conferences = res;\r\n }, err => {\r\n console.log(err);\r\n })\r\n \r\n this.essential = new VisioWebEssential({\r\n element: document.getElementById('container'),\r\n imagePath: '../../assets'\r\n });\r\n console.log(\"essential--\", this.essential);\r\n // loading a local bundle: application/data.bundles/com.visioglobe.sdk/visio.island\r\n this.essential.setParameters({ parameters: { baseURL: '../../../assets/visioMap', hash: '' } });\r\n\r\n // loading a remote bundle: com.visioglobe.sdk/visio.island hosted on mapserver.visioglobe.com\r\n // this.essential.setParameters({parameters: {baseURL: 'https://mapserver.visioglobe.com/', hash: 'dev-k6d0acba1949c4148f5e9cee87d29002449dd3663'}});\r\n \r\n // loading your own map using a web hash. NB: default baseURL is 'https://mapserver.visioglobe.com/' so no need to set it unless your map is hosted somewhere else\r\n //this.essential.setParameters({parameters: {hash: 'your_map_hash'}});\r\n console.log(\"ESSENTIAL----->\", this.essential);\r\n\r\n this.essential.setParameters({ parameters: { locale: { language: navigator.language } } });\r\n this.setupProgress();\r\n setTimeout(() => {\r\n this.essential.createMapviewer()\r\n .then(() => {\r\n // logVisioWebTitle();\r\n // this.startCameraAnimation();\r\n setTimeout(() => {\r\n this.essential._mapviewer.getPOI('DynamicDemo')[0].options('startAnimation', 'Take 001');\r\n }, 2000);\r\n \r\n //Mise en surbrillance des places\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n console.log(\"params:\", params);\r\n \r\n if (params.idMap) {\r\n console.log(\"----------------REDIRECT-----------------\")\r\n let pointMap = params.idMap.replaceAll(' ', '');\r\n console.log(\"***MapPoint Splité***\", pointMap)\r\n setTimeout(() => {\r\n \r\n this.essential.venue.goToPlace({ id: pointMap});\r\n\r\n this.essential.content.setPlaceColor({ id: pointMap, color: 'red' });\r\n\r\n //----------------- Mise en place de l'icone-------------------//\r\n var pois = this.essential._mapviewer.getPOIs(pointMap);\r\n console.log(\"POIS------\", pois);\r\n var position;\r\n if (pois[pointMap] && pois[pointMap].length > 0) {\r\n var options = pois[pointMap][0].options();\r\n // floor = options.floor;\r\n position = options.position; \r\n console.log(\"position------>\", position);\r\n \r\n this.essential._mapviewer.addPOI({\r\n url: \"/assets/images/black-marker.png\",\r\n // text: 'The object \"'+element.vg.id+'\" has been clicked',\r\n position: position,\r\n alignment: {\r\n \"x\": 0,\r\n \"y\": 1,\r\n },\r\n id: 'pictoLoc',\r\n // onObjectMouseUp: function() {alert('click');},\r\n scale: 6\r\n });\r\n }\r\n }, 1);\r\n \r\n }\r\n });\r\n \r\n \r\n this.setupNavigation();\r\n this.setupPlaceBubble();\r\n this.setupSelectors();\r\n // this.setupSearch();\r\n \r\n })\r\n .catch(e => { // eslint-disable-line\r\n console.log(e);\r\n console.log('Could not load map. Check your config or get in touch with Visioglobe team.'); // eslint-disable-line\r\n });\r\n }, 100);\r\n\r\n }\r\n\r\n goTo(id){\r\n if(id == 1){\r\n this.essential.venue.goToGlobal();\r\n return;\r\n }\r\n if(id == 5){\r\n this.essential._mapviewer.camera.minRadius = this.zoomCamera;\r\n this.essential.venue.goToPlace({ id: \"OUTID\"});\r\n return;\r\n }\r\n this.essential.venue.goToBuilding({ id: id });\r\n }\r\n\r\n zoom(){\r\n // console.log('je zoom');\r\n let viewpoint = this.essential.venue.getViewpoint();\r\n //console.log(\"this.essential.venue.getViewpoint()----\", this.essential.venue.getViewpoint())\r\n viewpoint = this.essential.venue.goToViewpoint({position: viewpoint.position, radius: viewpoint.radius -= 300}); \r\n }\r\n\r\n dezoom(){\r\n // console.log('je dézoom');\r\n let viewpoint = this.essential.venue.getViewpoint();\r\n // console.log(\"this.essential.venue.getViewpoint()----\", this.essential.venue.getViewpoint())\r\n viewpoint = this.essential.venue.goToViewpoint({position: viewpoint.position, radius: viewpoint.radius += 300}); \r\n }\r\n\r\n // ngOnDestroy(){\r\n // this.setupPlaceBubble();\r\n // }\r\n\r\n //--------------- btn Suivant sur la modal-------------//\r\n nextElement(){\r\n console.log(\"nbARR---\", this.arrFilterStand.length)\r\n if(this.elementsNext >= this.arrFilterStand.length)\r\n return;\r\n let elem = 5\r\n this.elementsNext += elem;\r\n // console.log(\"elemNext----\", this.elementsNext);\r\n\r\n this.elementFirst += elem; \r\n }\r\n\r\n //-------------- Btn précédent sur la modal\r\n previousElement(){\r\n if(this.elementFirst == 0 && this.elementsNext == 5)\r\n return;\r\n let elem = 5\r\n this.elementsNext -= elem;\r\n //console.log(\"elemNext----\", this.elementsNext);\r\n\r\n this.elementFirst -= elem;\r\n // console.log(\"elemFirst---\", this.elementFirst);\r\n }\r\n\r\n //-----------Redirection vers une place-------------//\r\n gotToMapPoint(mapPoint){\r\n console.log(this.essential);\r\n \r\n setTimeout(() => {\r\n this.essential.venue.goToPlace({ id: mapPoint});\r\n //this.essential.content.setPlaceColor({ id: params.id, color: 'red' });\r\n }, 1);\r\n }\r\n\r\n //---------------------GO to LOCATION----------------//\r\n goToPlace(data) {\r\n console.log(\"data:\", data);\r\n this.isModalOpen = false;\r\n\r\n if (!data) return;\r\n\r\n let idBuilding = data.group.replace(' ', '');\r\n try {\r\n if (idBuilding.includes(\"OUT\")) {\r\n setTimeout(() => {\r\n this.essential.venue.goToGlobal();\r\n data.list.forEach((element) => { this.essential.content.setPlaceColor({ id: element.MapPoint, color: 'red' }) });\r\n }, 1);\r\n\r\n return;\r\n }\r\n\r\n let pof = this.essential.venue.getPointOfFocus({ id: idBuilding });\r\n console.log(pof);\r\n\r\n setTimeout(() => {\r\n this.essential.venue.goToBuilding({ id: idBuilding });\r\n data.list.forEach((element) => { this.essential.content.setPlaceColor({ id: element.MapPoint, color: 'red' }) });\r\n }, 1);\r\n }\r\n catch (e) {\r\n console.warn(\"[visioglobe] error:\", e.message);\r\n alert(idBuilding + \" => POI not found !\");\r\n }\r\n }\r\n\r\n //----------------------Progress bar---------------------// \r\n setupProgress() {\r\n let progress = document.getElementById('loadProgress');\r\n // console.log(\"progress----\", progress.value);\r\n this.essential.onLoadProgress = value => {\r\n //console.log(\"progress----\", value);\r\n this.progress = value;\r\n\r\n if (value === 1) {\r\n setTimeout(() => progress.style.display = 'none', 500);\r\n }\r\n };\r\n }\r\n\r\n//------------------------animation camera------------------//\r\nstartCameraAnimation() {\r\n this.initialCameraViewpoint();\r\n}\r\n\r\n//------------------------animation camera------------------//\r\ninitialCameraViewpoint() {\r\n let lPoints = this.essential.venue.getFootprintPoints({ id: \"B5A\" });\r\n let lViewPoint = this.essential.venue.getViewpoint({ points: lPoints });\r\n lViewPoint.animationDuration = 0;\r\n this.essential.venue.goToViewpoint(lViewPoint)\r\n .then(() => {\r\n this.firstCameraAnimation();\r\n })\r\n}\r\n\r\n//------------------------animation camera------------------//\r\nfirstCameraAnimation() {\r\n // Peut remplacer l'identifiant \"B5A\" par l'identifiant d'une autre footprint de votre choix\r\n let lPoints = this.essential.venue.getFootprintPoints({ id: \"B5A\" });\r\n let lViewPoint = this.essential.venue.getViewpoint({ points: lPoints });\r\n lViewPoint.animationDuration = 0.5;\r\n\r\n this.essential.venue.goToViewpoint(lViewPoint)\r\n .then(() => {\r\n })\r\n}\r\n\r\nsetupSelectors() {\r\n this.venuLayout = this.essential.venue.layout;\r\n console.log(\"venuLayout----\", this.venuLayout);\r\n if (this.venuLayout.buildings.length > 0) {\r\n if (this.venuLayout.hasGlobalLayer) {\r\n this.goToGlobal();\r\n }\r\n else {\r\n console.log(\" document.querySelector('#global_button').style.display\");\r\n }\r\n //this.buildingSelected = venuLayout.buildings[venuLayout.defaultBuildingIndex];\r\n //console.log(\"this.buildingSelected--\", this.buildingSelected)\r\n if (this.venuLayout.buildings.length > 1) {\r\n let buildings = _.mapValues(this.venuLayout.buildingByID, (building, id) => this.essential.venue.getLocalizedName({ id }))\r\n let buildArray = Object.keys(buildings).map(id => ({ id, text: buildings[id] }))\r\n this.buildings = buildArray;\r\n //console.log(\"buildingsbb-->\", bbb)\r\n }\r\n console.log(\"buildings-->\", this.buildings)\r\n // if (this.essential.venu && this.essential.venue.layout && this.essential.venue.currentBuildingID){\r\n // console.log(\"floors\");\r\n // let floors = this.essential.floorsByBuilding[this.essential.venue.currentBuildingID];\r\n // console.log(\"floors\", floors);\r\n // }\r\n // return [];\r\n }\r\n}\r\n\r\ncurrentExploreMode() {\r\n return this.essential.venue ? this.essential.venue.currentBuildingId : 'global'\r\n}\r\n\r\n/**\r\n * Navigation buildings\r\n * @param event\r\n */\r\nonChange(event) {\r\n console.log(\"builId--\", event.target.value);\r\n this.buildingSelected = event.target.value;\r\n this.essential.venue.goToBuilding({ id: this.buildingSelected })\r\n this.insertFloors(this.buildingSelected);\r\n}\r\n\r\n /**\r\n * Retourne la liste des floors d'un building\r\n * @param buildingID\r\n */\r\n insertFloors(buildingID) {\r\n console.log(\"----\", this.venuLayout.buildingByID[buildingID].floors.length)\r\n if (this.venuLayout.buildingByID[buildingID].floors.length >= 1) {\r\n console.log('*****')\r\n let sortedFloors = _.reverse(_.sortBy(this.venuLayout.buildingByID[buildingID].floors, 'levelIndex'));\r\n console.log(\"sortedFloors\", sortedFloors);\r\n this.floors = _.map(sortedFloors, floor => ({\r\n id: floor.id,\r\n name: this.essential.venue.getLocalizedName({ id: floor.id })\r\n }));\r\n console.log(\"floorNames---\", this.floors)\r\n }\r\n }\r\n\r\n /**\r\n * navigation floors\r\n */\r\n onChangeFloor(event) {\r\n console.log(\"floorSelected--\", event.target.value);\r\n this.floorSelected = event.target.value;\r\n this.essential.venue.goToFloor({ id: this.floorSelected });\r\n }\r\n\r\n/**\r\n * Retour a la carte global\r\n */\r\n goToGlobal() {\r\n this.essential.venue.goToGlobal();\r\n}\r\n\r\nsetupNavigation() {\r\n this.prevInstructionElement = this.essential.parameters.locale.route.previous;\r\n this.nextInstructionElement = this.essential.parameters.locale.route.next;\r\n this.clearRouteElement = this.essential.parameters.locale.route.clear;\r\n this.updateInstructionData = () => {\r\n this.instructionIcon = this.essential.navigation.getCurrentInstructionIcon();\r\n //console.log(\"instructionIcon---\", this.instructionIcon)\r\n this.instructionBrief = this.essential.navigation.getCurrentInstructionBrief();\r\n //console.log(\"instructionBrief---\", this.instructionBrief)\r\n this.instructionDetail = this.essential.navigation.getCurrentInstructionDetail();\r\n //console.log(\"instructionDetail---\", this.instructionDetail)\r\n }\r\n console.log(\"updateData--->\", this.updateInstructionData())\r\n this.essential.on('navigationComputed', () => {\r\n this.updateInstructionData();\r\n document.getElementById('navigation').style.display = '';\r\n //console.log(\"prevEss---\", this.essential.navigation.nbInstructions)\r\n //document.getElementById('prevInstruction').style.display = this.essential.navigation.nbInstructions > 1 ? '' : 'none';\r\n //document.getElementById('nextInstruction').style.display = this.essential.navigation.nbInstructions > 1 ? '' : 'none';\r\n })\r\n}\r\n\r\nprevious() {\r\n this.essential.navigation.goToPreviousInstruction();\r\n this.updateInstructionData();\r\n console.log(\"updateData--->\", this.updateInstructionData())\r\n}\r\n\r\nnext() {\r\n this.essential.navigation.goToNextInstruction();\r\n this.updateInstructionData();\r\n console.log(\"updateData--->\", this.updateInstructionData())\r\n}\r\n\r\nclearRoute() {\r\n document.getElementById('navigation').style.display = 'none';\r\n this.essential.route.clear();\r\n console.log(\"updateData--->\", this.updateInstructionData())\r\n}\r\n\r\n\r\n\r\n/**\r\n* Modal active\r\n*/\r\nsetupPlaceBubble() {\r\n this.routeFromElement = this.essential.parameters.locale.route.start;\r\n console.log(\"routeFromElement--\", this.routeFromElement)\r\n this.routeToElement = this.essential.parameters.locale.route.destination;\r\n console.log(\"routeToElement--\", this.routeToElement)\r\n this.essential.route.setFrom({ from: this.essential.content.activePlaceID });\r\n this.essential.content.placeBubbleEnabled = true;\r\n\r\n // this.essential.onObjectMouseUp = ({ targetElement }) => this.setActivePlace(targetElement);\r\n this.essential.onObjectMouseUp = ({ targetElement }) => {\r\n \r\n\r\n console.log(\"target----\", targetElement)\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n console.log('-------paramMapId--------',param.idMap);\r\n if(param.idMap){\r\n // this.essential.venue.goToPlace(targetElement);\r\n //this.bubble();\r\n this.essential.content.resetPlaceColor({id: param.idMap});\r\n var pois = this.essential._mapviewer.getPOIs();\r\n if (pois['pictoLoc'] && pois['pictoLoc'].length > 0) {\r\n //console.log(pois['pictoLoc'][0]);\r\n pois['pictoLoc'][0].remove();\r\n console.log(this.essential._mapviewer.getPOIs());\r\n // let path = this.router.url;\r\n // if(path.includes('solutions')) this.router.navigate(['home'], {queryParams:{param: 'solutions'}})\r\n \r\n } \r\n } \r\n });\r\n\r\n this.setActivePlace(targetElement)\r\n};\r\n}\r\n\r\n/**\r\n * bouton start sur la modal\r\n*/\r\nrouteFrom() {\r\n console.log(\"from\", this.essential.content.activePlaceID)\r\n this.essential.route.setFrom({ from: this.essential.content.activePlaceID });\r\n}\r\n\r\n/**\r\n * bouton destination sur la modal\r\n */\r\n routeTo() {\r\n console.log(\"to\", this.essential.content.activePlaceID )\r\n this.essential.route.setTo({ to: this.essential.content.activePlaceID });\r\n}\r\n\r\n/**\r\n* fermeture de la modal\r\n*/\r\n closeBubble() {\r\n console.log(\"close bubble\");\r\n \r\n this.essential.content.resetActivePlace();\r\n}\r\n\r\n /**\r\n * récupération des infos d'une place active\r\n * @param place\r\n */\r\n setActivePlace(place) {\r\n //this.essential.content.resetActivePlace();\r\n console.log(\"place----\", place)\r\n console.log('placeActive-----',this.essential.content.activePlaceID)\r\n const placeContent = this.essential.content.places[this.essential.content.activePlaceID];\r\n console.log(\"placeContent---\", placeContent)\r\n \r\n this.essential.content.setActivePlace({ place });\r\n \r\n requestAnimationFrame(() => {\r\n const placeDescription = document.getElementById('placeDescription');\r\n if (this.essential.content.activePlace && this.essential.content.places[this.essential.content.activePlaceID]) {\r\n const placeContent = this.essential.content.places[this.essential.content.activePlaceID];\r\n console.log(\"placeContent---\", placeContent)\r\n if (placeContent) {\r\n console.log(placeContent.name)\r\n\r\n //========================== Mettre en surbrillance le stand avec l'icone localisation (a faire si on demande) ============================//\r\n\r\n // this.essential.content.setPlaceColor({ id: placeContent.id, color: 'red' });\r\n // var pois = this.essential._mapviewer.getPOIs(placeContent.id);\r\n // console.log(\"POIS------\", pois);\r\n // var position;\r\n // var floor;\r\n // if (pois[placeContent.id] && pois[placeContent.id].length > 0) {\r\n // var options = pois[placeContent.id][0].options();\r\n // floor = options.floor;\r\n // position = options.position;\r\n \r\n\r\n // console.log(\"position------>\", position);\r\n \r\n // this.essential._mapviewer.addPOI({\r\n // url: \"/assets/images/black-marker.png\",\r\n // // text: 'The object \"'+element.vg.id+'\" has been clicked',\r\n // position: position,\r\n // alignment: {\r\n // \"x\": 0,\r\n // \"y\": 1,\r\n // },\r\n // id: 'pictoLoc',\r\n // // onObjectMouseUp: function() {alert('click');},\r\n // scale: 6\r\n // });\r\n // }\r\n\r\n\r\n //=====================Filter EXHI=======================//\r\n // console.log(\"this.exhibitors---\", this.exhibitors)\r\n let arrFilterExhi = _.filter(this.exhibitors, function (item) { return item.Stands; });\r\n arrFilterExhi = _.filter(arrFilterExhi, (item) => {\r\n let results = _.filter(item.Stands, (stand) => {\r\n return stand.MapPoint == placeContent.id;\r\n })\r\n return results.length > 0;\r\n })\r\n\r\n // console.log(\"this.arrFilterExhi----------\", arrFilterExhi);\r\n this.arrFilterStand = []\r\n for (let index = 0; index < arrFilterExhi.length; index++) {\r\n this.arrFilterStand.push({\r\n id: arrFilterExhi[index].Exhi_Id,\r\n label: arrFilterExhi[index].Exhi_CompanyName,\r\n type: 'exhi',\r\n })\r\n }\r\n\r\n //====================Filter CONF=======================//\r\n let arrFilterConf = _.filter(this.conferences, function (item) { return item.Place.MapPoint == placeContent.id; });\r\n\r\n for (let index = 0; index < arrFilterConf.length; index++) {\r\n this.arrFilterStand.push({\r\n id: arrFilterConf[index].Event_Id,\r\n label: arrFilterConf[index].Event_Title,\r\n type: 'conf',\r\n })\r\n }\r\n }\r\n\r\n this.placeTitle = placeContent.name || placeContent.id;\r\n if (placeContent.icon) {\r\n this.placeIcon = placeContent.icon\r\n }\r\n else if (!this.placeIcon && placeContent.categories.length > 0) {\r\n const category = this.essential.content.categories[placeContent.categories[0]];\r\n if (category.icon) {\r\n this.placeIcon = category.icon;\r\n }\r\n }\r\n if (placeContent.description) {\r\n //this.placeDesctription = placeContent.description;\r\n placeDescription.innerHTML = placeContent.description;\r\n }\r\n }\r\n //à faire après=================\r\n let test = this.essential.route.hasFrom();\r\n console.log(\"test---\", test);\r\n let testTo = this.essential.route.hasTo();\r\n console.log(\"testTo---\", testTo);\r\n })\r\n\r\n }\r\n\r\n\r\n /**\r\n * Search\r\n */\r\n setupSearch() {\r\n console.log(\"search---->\", this.searchTerm)\r\n this.categoryPlaces = Object.values(this.essential.content.places);\r\n //console.log(\"categoryPlaces------>\", this.categoryPlaces);\r\n this.categoriesTabNameElement = this.essential.parameters.locale.search.categories;\r\n console.log(\"categoriesTabNameElement------>\", this.categoriesTabNameElement);\r\n this.placesTabNameElement = this.essential.parameters.locale.search.places;\r\n console.log(\"placesTabNameElement------>\", this.placesTabNameElement);\r\n this.searchInput = this.essential.parameters.locale.search.placeholder;\r\n\r\n let filterPlacesByCategoryID = categoryID => {\r\n this.categoryPlaces = _.filter(this.essential.content.places, place => place.categories.indexOf(categoryID) !== -1);\r\n console.log(\"this.categoryPlacesFilter\", this.categoryPlaces)\r\n };\r\n }\r\n\r\n searchPlace(place) {\r\n const categoryNames = place.categories ? _.map(place.categories, categoryID => this.essential.content.categories[categoryID].name.toLowerCase()) : [];\r\n console.log(\"categoryNames\", categoryNames)\r\n }\r\n updatePlaces() {\r\n let places = _.filter(this.categoryPlaces, this.searchPlace)\r\n //this.addPlaces()\r\n }\r\n\r\n onSearche(event) {\r\n console.log(event.detail.value)\r\n this.searchTerm = event.detail.value;\r\n }\r\n closeMenu() {\r\n this.menu.close();\r\n // updateCategories();\r\n // this.resetCategory();\r\n }\r\n\r\n\r\n /**\r\n * Ovrir la barre de recherche\r\n */\r\n async openMenu() {\r\n await this.menu.open();\r\n }\r\n\r\n //Go to Exhibitor\r\n goToDetail(item) {\r\n //this.route.navigate(['home'], { queryParams: { param: 'detail-exhibitors', id: exhiId } });\r\n let route = (item.type == \"exhi\") ? 'detail-exhibitors' : 'detail-conference'\r\n this.router.navigate(['home'], { queryParams: { param: route, id: item.id } });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PopoverController } from '@ionic/angular';\r\nimport * as _ from 'lodash';\r\nimport { DataToolsService } from 'src/app/services/data-tools.service';\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.scss'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n\r\n dataUser: any = JSON.parse(localStorage.getItem('DATA-USER'));\r\n text: any = JSON.parse(localStorage.getItem('TEXTJSON'));\r\n constructor(\r\n private route: Router,\r\n private dataToolsService: DataToolsService,\r\n private popCtrl: PopoverController,\r\n ) { }\r\n\r\n ngOnInit() {\r\n console.log(\"t-est--\", this.text)\r\n let popoversTemp = _.cloneDeep(this.text.popoverSettings);\r\n \r\n //Si user n'est pas connecté on affiche pas le logout\r\n if(!this.dataUser){\r\n popoversTemp = _.filter(popoversTemp, (item) => { return item.id == 3 || item.id == 4});\r\n console.log(\"text ==> \", this.text.popoverSettings);\r\n this.text.popoverSettings = popoversTemp;\r\n }\r\n\r\n if(this.dataUser){\r\n popoversTemp = _.filter(popoversTemp, (item) => { return item.id == 1 || item.id == 3 || item.id == 0});\r\n console.log(\"text ==> \", this.text.popoverSettings);\r\n this.text.popoverSettings = popoversTemp;\r\n \r\n }\r\n \r\n }\r\n\r\n //Logout Fonction\r\n logout() {\r\n this.dataToolsService.logout();\r\n }\r\n\r\n onClickSetting(id){\r\n if(id == 1) this.route.navigate(['home'], { queryParams: { param: 'account' } });\r\n if(id == 0) this.logout();\r\n if(id == 3) this.dataToolsService.presentLangue();\r\n if(id == 4) this.route.navigate(['home'], { queryParams: { param: 'login' } });\r\n this.popCtrl.dismiss()\r\n }\r\n\r\n}\r\n","export class FilterSerch {\r\n categories = [];\r\n cluster = [];\r\n localisation = [];\r\n countries = [];\r\n categoriesConf = [];\r\n placesConf = [];\r\n themeId = null;\r\n isNewExhi = false;\r\n isLab = false;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap, RouterEvent, NavigationEnd } from '@angular/router';\r\nimport { FilterSerch } from '../models/filter-serch';\r\nimport * as _ from 'lodash';\r\n\r\n@Pipe({\r\n name: 'globalSearch'\r\n})\r\nexport class GlobalSearchPipe implements PipeTransform {\r\n constructor(\r\n private router: Router,\r\n private activ: ActivatedRoute,\r\n ) { }\r\n\r\n transform(list: any, args?: FilterSerch, isBookmarksMode?: boolean): any {\r\n if (!list) return null;\r\n\r\n args = (!args) ? JSON.parse(sessionStorage.getItem(\"Filters\")) : args;\r\n isBookmarksMode = (!isBookmarksMode) ? localStorage.getItem(\"isBookmarksMode\") == \"Yes\" : isBookmarksMode;\r\n console.log(\"globalSearch:\", list, args, isBookmarksMode);\r\n\r\n let pathName = this.router.url;\r\n //console.log(pathName);\r\n\r\n let user = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n console.log(user);\r\n\r\n let listOut = [];\r\n let listTemp = [];\r\n if (pathName.includes('exhibitors')) {\r\n //si le mode favoris est activé\r\n if (isBookmarksMode && user) {\r\n let ids = _.map(_.filter(user.Favorites, function (item) { return item.Type == \"EXHIBITOR\"; }), 'ID');\r\n //console.log(ids);\r\n\r\n listOut = _.filter(list, function (item) { return _.indexOf(ids, item.Exhi_Id) != -1 });\r\n console.log(\"listOut:\", listOut);\r\n\r\n return listOut;\r\n }\r\n\r\n //si un thème est sélectionné\r\n if (args.themeId && args.themeId != -1) {\r\n listOut = _.filter(list, function (item) {\r\n if (!item.Themes) return false;\r\n return _.indexOf(item.Themes, args.themeId) != -1\r\n });\r\n console.log(\"listOut:\", listOut);\r\n\r\n return listOut;\r\n }\r\n\r\n //S'il faut conserver uniquement les nouveaux exhi\r\n if (args.isNewExhi)\r\n list = _.filter(list, function (item) { return item.Exhi_IsNewExhibitor; });\r\n\r\n // S'il faut conserver uniquement les isLab\r\n if(args.isLab)\r\n list = _.filter(list, function (item) { return item.Exhi_IsLab; });\r\n \r\n //s'il y a une recherche en cours les filtres s'appliquent sinon la liste n'est pas modifiée.\r\n if (args.categories.length < 1\r\n && args.cluster.length < 1\r\n && args.localisation.length < 1\r\n && args.countries.length < 1\r\n ) {\r\n console.log(\"No global filter !\");\r\n return list;\r\n }\r\n\r\n for (var i = 0; i < list.length; i++) {\r\n list[i]._halls = [];\r\n\r\n if (list[i].Stands) {\r\n for (var j = 0; j < list[i].Stands.length; j++) {\r\n let idToPush:any = this.getPlaceIdFromMapPoint(list[i].Stands[j].Hall);\r\n if (idToPush) list[i]._halls.push(idToPush);\r\n //ionic s\r\n list[i]._halls.push(list[i].Stands[j].Hall);\r\n }\r\n }\r\n\r\n let isSearchOk = {\r\n cat: (args.categories.length < 1) ? true : this.intersectionOk(list[i].Categories, args.categories),\r\n clu: (args.cluster.length < 1) ? true : this.intersectionOk(list[i].Clusters, args.cluster),\r\n loc: (args.localisation.length < 1) ? true : this.intersectionOk(list[i]._halls, args.localisation),\r\n cou: (args.countries.length < 1) ? true : _.indexOf(args.countries, list[i].Exhi_FK_Country_Id) != -1\r\n }\r\n\r\n if (isSearchOk.cat && isSearchOk.clu && isSearchOk.cou && isSearchOk.loc) { listTemp.push(list[i]); };\r\n }\r\n listOut = _.uniq(listTemp);\r\n }\r\n // else if (pathName.includes('solutions') || pathName.includes('product')) {\r\n // //si le mode favoris est activé\r\n // if (isBookmarksMode && user) {\r\n // let ids = _.map(_.filter(user.Favorites, function (item) { return item.Type == \"PRODUCT\"; }), 'ID');\r\n // //console.log(ids);\r\n\r\n // listOut = _.filter(list, function (item) { return _.indexOf(ids, item.Prod_Id) != -1 });\r\n // console.log(\"listOut:\", listOut);\r\n\r\n // return listOut;\r\n // }\r\n\r\n // //s'il y a une recherche en cours les filtres s'appliquent sinon la liste n'est pas modifiée.\r\n // if (args.categories.length < 1\r\n // && args.cluster.length < 1\r\n // && args.localisation.length < 1\r\n // && args.countries.length < 1\r\n // ) {\r\n // console.log(\"No global filter !\");\r\n // return list;\r\n // }\r\n\r\n // for (var i = 0; i < list.length; i++) {\r\n // list[i]._halls = [];\r\n\r\n // if (list[i].Stands) {\r\n // for (var j = 0; j < list[i].Stands.length; j++) {\r\n // list[i]._halls.push(list[i].Stands[j].Hall);\r\n // }\r\n // }\r\n\r\n // if (this.intersectionOk(list[i]._halls, args.localisation)) {\r\n // listOut.push(list[i]);\r\n // }\r\n // }\r\n // }\r\n else if (pathName.includes('conference')) {\r\n //si le mode favoris est activé\r\n if (isBookmarksMode && user) {\r\n let ids = _.map(_.filter(user.Favorites, function (item) { return item.Type == \"EVENT\"; }), 'ID');\r\n //console.log(ids);\r\n\r\n listOut = _.filter(list, function (item) { return _.indexOf(ids, item.Event_Id) != -1 });\r\n console.log(\"listOut:\", listOut);\r\n\r\n return listOut;\r\n }\r\n\r\n //s'il y a une recherche en cours les filtres s'appliquent sinon la liste n'est pas modifiée.\r\n if (args.categoriesConf.length < 1\r\n && args.placesConf.length < 1\r\n ) {\r\n console.log(\"No global filter !\");\r\n return list;\r\n }\r\n\r\n for (var i = 0; i < list.length; i++) {\r\n let isSearchOk = {\r\n cat: (args.categoriesConf.length < 1) ? true : this.intersectionOk(list[i].Categories, args.categoriesConf),\r\n pla: (args.placesConf.length < 1) ? true : _.indexOf(args.placesConf, list[i].Place.Place_Id) != -1\r\n }\r\n\r\n if (isSearchOk.cat && isSearchOk.pla) { listTemp.push(list[i]); }\r\n }\r\n listOut = _.uniq(listTemp);\r\n }\r\n else if (pathName.includes('speaker')) {\r\n //si le mode favoris est activé\r\n if (isBookmarksMode && user) {\r\n let ids = _.map(_.filter(user.Favorites, function (item) { return item.Type == \"SPEAKER\"; }), 'ID');\r\n //console.log(ids);\r\n\r\n listOut = _.filter(list, function (item) { return _.indexOf(ids, item.User_Id) != -1 });\r\n console.log(\"listOut:\", listOut);\r\n\r\n return listOut;\r\n }\r\n\r\n listOut = list;\r\n }\r\n else if (pathName.includes('programme')) {\r\n if (isBookmarksMode && user) {\r\n let ids = _.map(_.filter(user.Favorites, function (item) { return item.Type == \"PROGRAM\"; }), 'ID');\r\n // console.log(ids);\r\n\r\n listOut = _.filter(list, function (item) {\r\n for (let i = 0; i < item.ProgramItems.length; i++) {\r\n return _.indexOf(ids, JSON.parse(item.ProgramItems[i].ItemID)) != -1\r\n }\r\n });\r\n console.log(\"listOut:\", listOut);\r\n return listOut;\r\n }\r\n\r\n listOut = list;\r\n }\r\n else {\r\n console.log(\"pathName:\", pathName);\r\n return list;\r\n }\r\n\r\n console.log(\"listOut:\", listOut);\r\n return listOut;\r\n }\r\n\r\n intersectionOk(listA: any, listB: any) {\r\n let listAstr = (!listA) ? [] : listA.map(String);\r\n let listBstr = (!listB) ? [] : listB.map(String);\r\n\r\n let result = _.intersection(listAstr, listBstr);\r\n //console.log(result.length);\r\n\r\n return result.length > 0;\r\n }\r\n\r\n //Retourner PlaceId à partir du mapPoint\r\n getPlaceIdFromMapPoint(_mapPoint){\r\n let idToReturn:any;\r\n let objToReturn:any;\r\n let listGenerale = JSON.parse(sessionStorage.getItem(\"GENERAL-INFOS\"));\r\n let listPlacesLocal:any = [];\r\n if(listGenerale) listPlacesLocal = listGenerale.Places;\r\n if(listPlacesLocal) objToReturn = _.filter(listPlacesLocal, function(item) {return item.MapPoint == _mapPoint})[0];\r\n idToReturn = (objToReturn) ? objToReturn.Place_Id : null;\r\n return idToReturn;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AlertController, MenuController, ModalController, PopoverController, ToastController } from '@ionic/angular';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { FilterSerch } from '../models/filter-serch';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport * as md5 from 'md5';\r\nimport * as moment from 'moment';\r\nimport * as _ from 'lodash';\r\nimport { MapComponent } from '../components/map/map.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataToolsService {\r\n loginUrl = environment.login.userLogin;\r\n getJsonUrl = environment.jsonSecure.getJson;\r\n favorisUrl = environment.favoris.setFavori;\r\n alertFavUrl = environment.favoris.setAlert;\r\n sendMailFavsUrl = environment.favoris.sendMailFavs;\r\n postExhibitorUrl = environment.linkedIn.postExhibitor;\r\n traceClickUrl = environment.tracking.traceClick;\r\n traceSearchUrl = environment.tracking.traceSearch;\r\n text: any = JSON.parse(localStorage.getItem('TEXTJSON'));\r\n filter: FilterSerch = JSON.parse(sessionStorage.getItem(\"Filters\"));\r\n messageFav: string;\r\n messageAlert: string;\r\n langue: string = localStorage.getItem(\"langue\");\r\n constructor(\r\n private http: HttpClient,\r\n private menu: MenuController,\r\n private router: Router,\r\n private alertController: AlertController,\r\n private cookieService: CookieService,\r\n private toastController: ToastController,\r\n // private topicService: TopicService,\r\n private popCtrl: PopoverController,\r\n\r\n // private map: MapComponent\r\n ) { }\r\n\r\n //Fonction LOGOUT\r\n logout() {\r\n localStorage.removeItem(\"DATA-USER\");\r\n localStorage.setItem(\"isBookmarksMode\", \"No\");\r\n //this.filter = new FilterSerch();\r\n //sessionStorage.setItem('Filters', JSON.stringify(this.filter));\r\n this.popCtrl.dismiss();\r\n this.presentAlertLogoutSuccess(this.text.logoutTxt.success);\r\n }\r\n\r\n styleScrollbars(elmt: any) {\r\n const stylesheet = `\r\n ::-webkit-scrollbar {\r\n width: 15px;\r\n }\r\n ::-webkit-scrollbar-track {\r\n background: #15154A;\r\n }\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 1rem;\r\n background: #85EFFD;\r\n border: 5px solid #15154A;\r\n }\r\n ::-webkit-scrollbar-thumb:hover {\r\n }\r\n `;\r\n\r\n const styleElmt = elmt.shadowRoot.querySelector('style');\r\n\r\n if (styleElmt) {\r\n styleElmt.append(stylesheet);\r\n } else {\r\n const barStyle = document.createElement('style');\r\n barStyle.append(stylesheet);\r\n elmt.shadowRoot.appendChild(barStyle);\r\n }\r\n }\r\n\r\n //==============TRACKING\r\n traceClick(data) {\r\n let params = new HttpParams();\r\n params = params.append('userID', data.userId);\r\n params = params.append('itemtype', data.itemType);\r\n params = params.append('itemID', data.itemId);\r\n\r\n return this.http.post(this.traceClickUrl, params.toString(), {\r\n headers: new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n });\r\n }\r\n\r\n doTraceClick(data) {\r\n this.traceClick(data).subscribe(res => {\r\n console.info(\"traceClick => res\", res);\r\n });\r\n }\r\n\r\n traceSearch(data) {\r\n let params = new HttpParams();\r\n params = params.append('userID', data.userId);\r\n params = params.append('searchtype', data.searchType);\r\n params = params.append('keywords', data.keywords);\r\n\r\n return this.http.post(this.traceSearchUrl, params.toString(), {\r\n headers: new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n });\r\n }\r\n\r\n //==============LINKEDIN\r\n makeLinkedInPost(data, type) {\r\n let params = new HttpParams();\r\n params = params.append('userID', data.userId);\r\n params = params.append('language', data.lang);\r\n\r\n if (type == \"exhi\") params = params.append('exhiID', data.itemId);\r\n\r\n return this.http.post(this.postExhibitorUrl, params.toString(), {\r\n headers: new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n });\r\n }\r\n\r\n //==============SEND FAVORIS\r\n sendMailFavs(usrId) {\r\n return this.http.get(this.sendMailFavsUrl + usrId.toString());\r\n }\r\n\r\n\r\n //Go to conference detail\r\n goToConfDetail(Event_Id) {\r\n //this.router.navigate(['detail-conference/' + Event_Id]);\r\n this.router.navigate(['home'], { queryParams: { param: 'detail-conference', id: Event_Id } })\r\n }\r\n\r\n //Fonction redirection vers la carte\r\n goToMap(mapPoint) {\r\n this.router.navigate(['home'], { queryParams: { param: 'mapPoint', idMap: mapPoint } });\r\n //this.map.ngOnInit();\r\n }\r\n\r\n onClickImgBottomMap(_exi) {\r\n if (!_exi.Stands) return;\r\n this.goToMap(_exi.Stands[0].MapPoint);\r\n }\r\n\r\n //Fonction close menu Search\r\n close() {\r\n //this.menu.close();\r\n\r\n }\r\n\r\n //Open menu search\r\n open() {\r\n //this.menu.open();\r\n\r\n }\r\n\r\n\r\n //Cryptage de fichiers JSON\r\n cryptFile() {\r\n let crypt = md5('hacene');\r\n console.log(\"------\", crypt)\r\n }\r\n\r\n //Get json sécurisé\r\n getJsonSecure(nameJson: string) {\r\n let langue = localStorage.getItem(\"langue\");\r\n let jsonPath = \"\";\r\n\r\n if (langue == \"fr\") {\r\n jsonPath = jsonPath + \"/fr/\"\r\n } else {\r\n jsonPath = jsonPath + \"/en/\"\r\n }\r\n if (nameJson == \"imgThemes\") {\r\n jsonPath = \"/\";\r\n }\r\n jsonPath = jsonPath + nameJson + \".json\";\r\n\r\n let _params = new HttpParams();\r\n _params = _params.append('JsonName', jsonPath);\r\n _params = _params.append('JsonKey', md5(jsonPath));\r\n\r\n return this.http.get(this.getJsonUrl, { params: _params });\r\n }\r\n\r\n getJsonSecureAsync(nameJson: string) {\r\n let langue = localStorage.getItem(\"langue\");\r\n let jsonPath = \"\";\r\n\r\n if (langue == \"fr\") {\r\n jsonPath = jsonPath + \"/fr/\"\r\n } else {\r\n jsonPath = jsonPath + \"/en/\"\r\n }\r\n if (nameJson == \"imgThemes\") {\r\n jsonPath = \"/\";\r\n }\r\n jsonPath = jsonPath + nameJson + \".json\";\r\n\r\n let _params = new HttpParams();\r\n _params = _params.append('JsonName', jsonPath);\r\n _params = _params.append('JsonKey', md5(jsonPath));\r\n\r\n return this.http.get(this.getJsonUrl, { params: _params }).toPromise();\r\n }\r\n\r\n //Récuperation data json\r\n getJSON(nameJson: string): Observable {\r\n let jsonPath = \"./assets/datasJSON\";\r\n let langue = localStorage.getItem(\"langue\");\r\n if (langue == \"fr\") {\r\n jsonPath = jsonPath + \"/fr/\"\r\n } else {\r\n jsonPath = jsonPath + \"/en/\"\r\n }\r\n return this.http.get(jsonPath + nameJson + \".json\");\r\n }\r\n\r\n //Récupération des JSON config\r\n getJSONAlt(nameJson: string): Observable {\r\n let jsonPath = \"./assets/datasJSON/\";\r\n\r\n return this.http.get(jsonPath + nameJson + \".json\");\r\n }\r\n\r\n //---------------connexion user\r\n login(login: string, password: string) {\r\n const body = new HttpParams()\r\n .set('login', login)\r\n .set('password', password);\r\n\r\n return this.http.post(this.loginUrl, body.toString(), {\r\n headers: new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n });\r\n }\r\n\r\n //-----------------------Return label à partir de l'id\r\n getLabelById(id, idKey: string, labelKey: string, arrayDats) {\r\n let obj;\r\n obj = arrayDats.filter((item) => { return item[idKey] == id })[0];\r\n let labelName = (obj) ? obj[labelKey] : \"\";\r\n\r\n return labelName;\r\n }\r\n\r\n //Formater les dates et récupérer l'heure\r\n formatDateHour(date) {\r\n return moment(date).format(\"HH:mm\");\r\n }\r\n\r\n //Formater les dates DD/MM/YYYY\r\n formatJMA(date) {\r\n return moment(date).format(\"DD/MM/YYYY\");\r\n }\r\n\r\n //Formatter la date pour récupérer le mois et l'année\r\n formatDateMY(date) {\r\n // console.log(\"DAT---\", date);\r\n let month = moment(date).month() + 1;\r\n let year = moment(date).year().toString();\r\n let yearSub = year.substring(2, 4)\r\n return month + \"/\" + yearSub;\r\n }\r\n\r\n //Formater la date en dd/mm\r\n formatDateDM(date) {\r\n return date.substring(0, 5);\r\n }\r\n\r\n //Formater la date en DD/MM/YYYY\r\n formatDateDMY(date) {\r\n return moment(date).format(\"DD/MM/YYYY\")\r\n }\r\n\r\n formatDateDMNotString(date) {\r\n return moment(date).format(\"DD/MM\")\r\n }\r\n\r\n //Récupérer les initials d'un contact\r\n getInitials(prenom, nom) {\r\n let lastName = prenom.substring(0, 1);\r\n let firstName = nom.substring(0, 1);\r\n return firstName + \"\" + lastName;\r\n }\r\n\r\n //Changer couleur star Fav\r\n onClickFav(id, type) {\r\n this.messageFav = '

' + this.text.notifications.favTitle + '

' + this.text.notifications.favMessag + '
';\r\n //let toasts = document.getElementsByClassName('toast-custom');\r\n //if (toasts.length > 0 && this.toastController) this.toastController.dismiss();\r\n //console.log(\"toasts ==> \", toasts);\r\n console.log(\"id ==> \", id);\r\n\r\n let dataUser = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n if (dataUser) {\r\n this.setFavoris(dataUser.UserID, type, id).subscribe(res => {\r\n //console.log(\"res ==> \", res);\r\n if (!this.itemExist(id, type)) {\r\n let objToPush = {\r\n Type: type,\r\n ID: id\r\n }\r\n dataUser.Favorites.push(objToPush);\r\n localStorage.setItem(\"DATA-USER\", JSON.stringify(dataUser));\r\n console.log(\"dataUser.Favorites-----\", dataUser.Favorites);\r\n this.presentToast(this.messageFav, 35);\r\n }\r\n else {\r\n let index = _.findIndex(dataUser.Favorites, function (item) { return item.ID == id && item.Type == type });\r\n console.log('//////////', index)\r\n dataUser.Favorites.splice(index, 1);\r\n console.log('//////////', dataUser.Favorites)\r\n localStorage.setItem(\"DATA-USER\", JSON.stringify(dataUser));\r\n }\r\n }, (err) => {\r\n console.log('ERR----->', err);\r\n });\r\n }\r\n else {\r\n this.presentAlertUserNotLogged();\r\n }\r\n }\r\n\r\n // ==> ION TOGGLE Check is alert ou pas\r\n onCheckedAlertBis(id, type, item) {\r\n this.text = JSON.parse(localStorage.getItem('TEXTJSON'));\r\n console.log(\"id ==> \", id);\r\n let toasts = document.getElementsByClassName('toast-custom');\r\n if (toasts.length > 0 && this.toastController) this.toastController.dismiss();\r\n this.messageAlert = '

' + this.text.notifications.alertTitle + '

' + this.text.notifications.alertMessage + '
';\r\n\r\n let dataUser = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n\r\n\r\n if (dataUser) {\r\n let arrayCurrent = (type == \"EVENT\") ? dataUser.AlertsEvents : (type == \"PROGRAM\") ? dataUser.AlertsProgramItems : null;\r\n this.setAlert(dataUser.UserID, type, id).subscribe((res: any) => {\r\n console.log(\"res this.setAlert ==> \", res);\r\n\r\n if (!this.itemChecked(id, type)) {\r\n arrayCurrent.push(id);\r\n item.isAlertEvent = true;\r\n localStorage.setItem(\"DATA-USER\", JSON.stringify(dataUser));\r\n this.presentToast(this.messageAlert, 15);\r\n }\r\n else {\r\n let topic: any;\r\n topic = (type == \"EVENT\") ? `event_${id}` : (type == \"PROGRAM\") ? `program_${id}` : \"\";\r\n console.log('topic ==> ', topic);\r\n\r\n // this.topicService.subscribeTokenToTopic(this.currentTokenFirebase, topic);\r\n\r\n let index = _.findIndex(arrayCurrent, function (_item) { return _item == id });\r\n console.log('index ==> ', index);\r\n arrayCurrent.splice(index, 1);\r\n item.isAlertEvent = false;\r\n localStorage.setItem(\"DATA-USER\", JSON.stringify(dataUser));\r\n }\r\n\r\n //console.log(\"arrayCurrent ==> \", arrayCurrent);\r\n\r\n }, (err) => { console.log('ERR ==> ', err); });\r\n }\r\n else {\r\n //console.log(\"item.isAlertEvent ==> \", item.isAlertEvent)\r\n if (!item.isAlertEvent && !dataUser) {\r\n item.isAlertEvent = false;\r\n this.presentAlertUserNotLogged();\r\n return;\r\n }\r\n }\r\n}\r\n\r\n\r\nonToggleChange(toggleValue, item) {\r\n let dataUser = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n if (dataUser) return;\r\n\r\n let val;\r\n\r\n if (toggleValue._value == true) val = true;\r\n else if (toggleValue._value == false) val = false;\r\n\r\n item.isAlertEvent = val;\r\n}\r\n\r\n //Fonction pour verifier si l'item existe dans la liste favoris\r\n itemChecked(id, type) {\r\n let dataUser = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n let obj: any = null;\r\n let inInList: boolean = false;\r\n\r\n if (dataUser) {\r\n if (type == \"PROGRAM\") {\r\n if (dataUser.AlertsProgramItems) {\r\n obj = _.filter(dataUser.AlertsProgramItems, function (item) { return item == id; })[0];\r\n }\r\n }\r\n if (type == \"EVENT\") {\r\n if (dataUser.AlertsEvents) {\r\n obj = _.filter(dataUser.AlertsEvents, function (item) { return item == id; })[0];\r\n }\r\n }\r\n }\r\n\r\n //console.log(\"OBJ ==> \", obj);\r\n inInList = (obj) ? true : false;\r\n //console.log(\"inInList ==> \", inInList);\r\n\r\n return inInList;\r\n }\r\n\r\n //Fonction pour verifier si l'item existe dans la liste favoris\r\n itemExist(id, type) {\r\n let dataUser = JSON.parse(localStorage.getItem(\"DATA-USER\"));\r\n if (dataUser && dataUser.Favorites) {\r\n let obj: any;\r\n obj = _.filter(dataUser.Favorites, function (item) { return item.ID == id && item.Type == type })[0];\r\n // console.log(\"OBJ----------\", obj);\r\n let inInList: boolean = (obj) ? true : false;\r\n return inInList;\r\n }\r\n\r\n }\r\n\r\n //==============SET FAVORIS\r\n setFavoris(usrId, type, itemId) {\r\n let params = new HttpParams();\r\n params = params.append('userID', usrId);\r\n params = params.append('type', type);\r\n params = params.append('itemId', itemId);\r\n return this.http.get(this.favorisUrl, { params: params });\r\n }\r\n\r\n //==============SET ALERT\r\n setAlert(usrId, type, itemId) {\r\n const body = new HttpParams()\r\n .set('userID', usrId)\r\n .set('type', type)\r\n .set('itemId', itemId);\r\n\r\n return this.http.post(this.alertFavUrl, body.toString(), {\r\n headers: new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n });\r\n }\r\n\r\n showPopUpUserNotConnected() {\r\n console.log(\"showPopUpUserNotConnected clicked!\", localStorage.getItem(\"DATA-USER\"));\r\n let userLogged: any = localStorage.getItem(\"DATA-USER\");\r\n let userIsConnected: boolean = (userLogged) ? true : false;\r\n if (!userIsConnected) {\r\n this.presentAlertUserNotLogged();\r\n }\r\n }\r\n\r\n //Alert User is not Logged\r\n async presentAlertUserNotLogged() {\r\n const alert = await this.alertController.create({\r\n cssClass: 'custom-alert alert-logged',\r\n message: this.text.alertUserIsLogged.message,\r\n buttons: [\r\n {\r\n text: this.text.alertUserIsLogged.buttonAccept,\r\n role: 'confirm',\r\n cssClass: 'btn-alert btn-accept',\r\n id: 'login',\r\n handler: () => {\r\n console.log('Confirm Okay');\r\n this.router.navigate(['home'], { queryParams: { param: 'login' } });\r\n }\r\n },\r\n {\r\n text: this.text.alertUserIsLogged.buttonCancel,\r\n role: 'cancel',\r\n cssClass: 'btn-alert btn-cancel',\r\n id: 'not-now',\r\n handler: () => {\r\n console.log('Confirm Cancel');\r\n }\r\n }\r\n ],\r\n backdropDismiss: false\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n\r\n //Alert Favoris not logged\r\n async presentAlertFavorisNotLogged() {\r\n const alert = await this.alertController.create({\r\n cssClass: 'custom-alert alert-logged',\r\n message: this.text.alertFavoris.messageFavNotLogin,\r\n buttons: [\r\n {\r\n text: this.text.alertUserIsLogged.buttonAccept,\r\n role: 'confirm',\r\n cssClass: 'btn-alert btn-accept',\r\n id: 'login',\r\n handler: () => {\r\n console.log('Confirm Okay');\r\n this.router.navigate(['login'], {});\r\n }\r\n },\r\n {\r\n text: this.text.alertUserIsLogged.buttonCancel,\r\n role: 'cancel',\r\n cssClass: 'btn-alert btn-cancel',\r\n id: 'not-now',\r\n handler: () => {\r\n console.log('Confirm Cancel');\r\n }\r\n }\r\n ],\r\n backdropDismiss: false\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n //Alert Cookie\r\n async presentAlertCookies() {\r\n let langue = localStorage.getItem(\"langue\");\r\n const alert = await this.alertController.create({\r\n cssClass: 'custom-alert alert-cookies',\r\n // header: 'Confirm!',\r\n subHeader: this.text.alertCookies.textHeader,\r\n message: this.text.alertCookies.message,\r\n buttons: [\r\n {\r\n text: this.text.alertCookies.bouttonAccept,\r\n role: 'cancel',\r\n cssClass: 'btn-alert btn-accept',\r\n id: 'accept-cookies',\r\n handler: () => {\r\n //console.log('Confirm Cancel: blah');\r\n this.cookieService.set('accept-cookies', 'true', 30);\r\n }\r\n }, {\r\n text: this.text.alertCookies.cookiesPolicy,\r\n cssClass: 'btn-link',\r\n id: 'cookies-policy',\r\n handler: () => {\r\n console.log('Confirm Okay');\r\n if (langue == 'fr')\r\n window.open('https://www.eurosatory.com/cookies/', '_blank');\r\n if (langue == 'en')\r\n window.open('https://www.eurosatory.com/cookies/?lang=en', '_blank');\r\n return false;\r\n }\r\n }\r\n ],\r\n backdropDismiss: false\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n //Toas pour Favoris\r\n async presentToast(message, tail) {\r\n // ==> S'il y a un toast présent dans l'écran, on le vire.\r\n let toasts = document.getElementsByClassName('toast-custom');\r\n if (toasts.length > 0 && this.toastController) this.toastController.dismiss();\r\n\r\n // ==> On crée le toast\r\n const toast = await this.toastController.create({\r\n message: message,\r\n cssClass: 'toast-custom',\r\n position: 'middle',\r\n duration: 1500\r\n });\r\n toast.present().then(() => {\r\n const toasts = document.getElementsByClassName('toast-custom');\r\n const shadow = toasts[0].shadowRoot;\r\n const childNodes = Array.from(shadow.childNodes);\r\n //console.log(\"childNodes\", childNodes);\r\n childNodes.forEach((childNode: any) => {\r\n //console.log(\"childNode ==> \", childNode);\r\n const picto = childNode.getElementsByClassName('fav');\r\n const title = childNode.getElementsByClassName('custom-title');\r\n const title_bell = childNode.getElementsByClassName('custom-title-bell');\r\n const text = childNode.getElementsByClassName('custom-text');\r\n\r\n if (picto.length > 0) picto[0].setAttribute('style', 'width:' + tail + '% !important');\r\n if (title.length > 0) title[0].setAttribute('style', 'margin: 0;font-size: 24px;font-weight: 700;margin-top: -20px;');\r\n if (title_bell.length > 0) title_bell[0].setAttribute('style', 'margin: 0;font-size: 24px;font-weight: 700;margin-top: 0px;');\r\n if (text.length > 0) text[0].setAttribute('style', 'font-size: 16px;font-weight: 400;');\r\n });\r\n });\r\n }\r\n\r\n //Popup logout\r\n async presentAlertLogoutSuccess(messageHeader) {\r\n const alert = await this.alertController.create({\r\n cssClass: 'custom-alert alert-logged',\r\n header: messageHeader,\r\n message: \"\",\r\n buttons: [\r\n {\r\n text: 'OK',\r\n role: 'OK',\r\n cssClass: 'btn-alert btn-accept',\r\n // id: 'accept-cookies',\r\n handler: () => {\r\n //location.reload();\r\n this.router.navigate(['home'], { queryParams: { param: 'login' } });\r\n setTimeout(() => {\r\n location.reload();\r\n }, 400);\r\n\r\n }\r\n }\r\n ],\r\n backdropDismiss: false\r\n });\r\n\r\n await alert.present();\r\n }\r\n //Popup logout\r\n async presentLangue() {\r\n const alert = await this.alertController.create({\r\n cssClass: 'alert-langue',\r\n message: this.text.homePage.language,\r\n buttons: [\r\n {\r\n text: '',\r\n role: '',\r\n cssClass: 'btn-img btn-img-en',\r\n id: '',\r\n handler: () => {\r\n console.log('Confirm Okay');\r\n //this.router.navigate(['login'], {});\r\n this.langue = 'en';\r\n localStorage.setItem(\"langue\", this.langue);\r\n this.getJsonSecure('text-finder').subscribe(data => {\r\n console.log(\"textes===>\", data)\r\n this.text = data;\r\n localStorage.setItem('TEXTJSON', JSON.stringify(this.text));\r\n })\r\n location.reload();\r\n }\r\n },\r\n {\r\n text: '',\r\n role: '',\r\n cssClass: 'btn-img btn-img-fr',\r\n id: '',\r\n handler: () => {\r\n console.log('Confirm Cancel');\r\n this.langue = 'fr';\r\n localStorage.setItem(\"langue\", this.langue);\r\n this.getJsonSecure('text-finder').subscribe(data => {\r\n console.log(\"textes===>\", data)\r\n this.text = data;\r\n localStorage.setItem('TEXTJSON', JSON.stringify(this.text));\r\n })\r\n location.reload();\r\n }\r\n }\r\n ],\r\n backdropDismiss: false\r\n });\r\n\r\n await alert.present();\r\n }\r\n\r\n goToSommaire() {\r\n this.router.navigate(['home']);\r\n }\r\n\r\n\r\n // Return nombre de filtre\r\n\r\n nbFiltre(){\r\n let filter = JSON.parse(sessionStorage.getItem('Filters'));\r\n let nbfilter: number = 0; \r\n nbfilter = filter.categories.length + \r\n filter.categoriesConf.length + \r\n filter.cluster.length + \r\n filter.countries.length + \r\n filter.localisation.length +\r\n filter.placesConf.length;\r\n if(filter.isNewExhi) nbfilter = nbfilter + 1;\r\n if(filter.isLab) nbfilter = nbfilter + 1;\r\n // console.log(\"NB--FILTER\", nbfilter);\r\n return nbfilter;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { finalize, delay, tap } from 'rxjs/operators';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Router } from '@angular/router';\r\nimport { catchError } from 'rxjs/operators';\r\n//import { ConfirmDialogService } from './confirm-dialog.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InterceptorService implements HttpInterceptor {\r\n count = 0;\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n public router: Router,\r\n //public dialog: ConfirmDialogService,\r\n ) { }\r\n\r\n // intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n // this.spinner.show();\r\n // return next.handle(req)\r\n // .pipe(\r\n // delay(1000),\r\n // finalize(() => this.spinner.hide())\r\n // )\r\n // }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n console.log(\"req.url--->\", req.url);\r\n if (req.url.toLowerCase().indexOf(\"connectuser\") != -1 || req.url.toLowerCase().indexOf(\"generatelkpost\") != -1) this.spinner.show();\r\n\r\n this.count++;\r\n return next.handle(req)\r\n //.pipe(tap(\r\n // event => console.log(event),\r\n // error => console.log(error),\r\n //),\r\n // catchError((error: any) => {\r\n // // console.log(\"*******************************error\", error)\r\n // if (error.statusText == \"Unauthorized\") {\r\n // localStorage.clear();\r\n // }\r\n // return of(error);\r\n // }),\r\n .pipe(tap(\r\n (event: any) => {\r\n\r\n if (event.type != 0) {\r\n //console.log(event)\r\n\r\n // if(event.url.indexOf(\"ConnectUser\") != -1){\r\n // this.spinner.show();\r\n // return next.handle(req)\r\n // .pipe(\r\n // delay(1000),\r\n // finalize(() => this.spinner.hide())\r\n // )\r\n // }\r\n }\r\n },\r\n //error => console.log(error),\r\n (error: any) => {\r\n if (error.status !== 401 && error.status !== 999) {\r\n return;\r\n }\r\n //this.dialog.confirmThis(\"\", \"Votre session a expiré. Merci de vous re-connecter.\", \"alert\", \"\", () => { localStorage.clear(); this.router.navigate(['login']); }, () => { });\r\n }\r\n ),\r\n finalize(() => {\r\n this.count--;\r\n if (this.count == 0) this.spinner.hide()\r\n })\r\n );\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nconst api = \"https://finderr.central-ws.com/\" \r\nexport const environment = {\r\n production: false,\r\n defaultPortal: api + \"Portals/0/\",\r\n jsonSecure:{\r\n getJson: \"http://finderr-pwa.la-projets.com/api/HelperCtrl/GetJsonByName\",\r\n },\r\n\r\n login:{\r\n userLogin: api + \"desktopModules/FinderrApi/API/Visitor/ConnectUser\",\r\n },\r\n catalogue:{\r\n listeExposants: api + \"DesktopModules/FinderrApi/API/Exhibitor/GetAllExhibitors\",\r\n exposantDetail: api + \"desktopModules/FinderrApi/API/Exhibitor/GetExhibitor/\",\r\n generalInfos: api + \"DesktopModules/FinderrApi/API/Info/GeneralInfo\"\r\n },\r\n\r\n conference:{\r\n listEvenement: api + \"/DesktopModules/FinderrApi/API/Event/GetAllEvents\",\r\n evenementDetail: api + \"/DesktopModules/FinderrApi/API/Event/GetEvent/\"\r\n },\r\n\r\n favoris: {\r\n setFavori: api + 'DesktopModules/FinderrApi/API/Visitor/SetFavorite/',\r\n setAlert: api + 'DesktopModules/FinderrApi/API/Visitor/SetAlert/',\r\n sendMailFavs: api + 'DesktopModules/FinderrApi/API/Visitor/SendFavoritesByMail/'\r\n },\r\n\r\n linkedIn: {\r\n postExhibitor: api + 'DesktopModules/FinderrApi/API/Visitor/GenerateLKPost_Exhibitor'\r\n },\r\n\r\n tracking: {\r\n traceClick: api + 'DesktopModules/FinderrApi/API/Visitor/TraceClick',\r\n traceSearch: api + 'DesktopModules/FinderrApi/API/Visitor/TraceSearch',\r\n },\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","/* Visioglobe SDK - Copyright 2019 - VisioWeb unknown revision */\r\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).VisioWebEssential=t()}(this,function(){\"use strict\";class e{constructor(e){this._essential=e,this._highlightedPlace=null,this._placeBubble=null,this.categories={},this.places={},this.activePlace=null,this.placeBubbleId=\"bubble\",this.placeBubbleEnabled=!1}get activePlaceID(){return this.activePlace?this.activePlace.vg&&this.activePlace.vg.poi?this.activePlace.options(\"id\"):this.activePlace.vg.id:\"\"}_init(){const e=this._essential._mapviewer.getExtraData();if(e&&void 0!==e.resources){let t=visioweb.Utils.getLanguageMatch(this._essential._parameters.locale.language,Object.keys(e.resources));if(void 0!==e.resources[t]){const i=this._essential._parameters.baseURL+this._essential._parameters.hash;let a=e.resources[t].localized.locale[t].categories;void 0!==a?Object.keys(a).forEach(e=>{let t=a[e];t.id=e,t.nbPlaces=0,t.icon=i+\"/icons/\"+t.icon}):a={},this.categories=a;const s=e.resources[t].localized.locale[t].places;let o={};void 0!==s&&Object.keys(s).forEach(e=>{const t=s[e],a=this._essential._mapviewer.getPlace(e),n=this._essential._mapviewer.getPOI(e);if(!1!==a||void 0!==n){o[e]={id:e,name:t.name,categories:t.categories||[],floor:a?a.vg.floor:n[0].options(\"floor\"),description:t.description},t.icon&&(o[e].icon=i+\"/icons/\"+t.icon),t.categories&&t.categories.forEach(e=>{void 0!==this.categories[e]&&this.categories[e].nbPlaces++});const s=Object.assign({id:e,text:t.name},this._essential._parameters.setPlaceNameOptions);this._essential._mapviewer.setPlaceName(e,s)}else{const a=this._essential._mapviewer.getFootprint(e),s=this._essential._mapviewer.getPOF(e);(a||s)&&(o[e]={id:e,name:t.name,categories:t.categories||[],floor:a?a.floor:s.floor,description:t.description},t.icon&&(o[e].icon=i+\"/icons/\"+t.icon),t.categories&&t.categories.forEach(e=>{void 0!==this.categories[e]&&this.categories[e].nbPlaces++}))}}),this.places=o}}}_reset(){this.places={},this.categories={},this.activePlace=null,this._highlightedPlace=null,this._placeBubble=null}createCategory({id:e,name:t,icon:i,updateFunction:a}){if(void 0===e||void 0===t)throw\"expecting {id, name[, icon]}\";void 0!==a?a(this.categories,e,{id:e,name:t,icon:i,nbPlaces:0}):this.categories[e]={id:e,name:t,icon:i,nbPlaces:0}}addPlaceCategory({id:e,categoryID:t,updateFunction:i}){if(void 0===e||void 0===t)throw\"expecting {id, categoryID}\";if(!this.places[e])throw\"place \"+e+\" does not exist.\";if(!this.categories[t])throw\"category \"+t+\" does not exist.\";let a=Object.assign({},this.places[e]);if(-1===a.categories.indexOf(t))if(a.categories.push(t),void 0!==i){let e=Object.assign({},this.categories[t]);e.nbPlaces++,i(this.categories,t,e)}else this.categories[t].nbPlaces++;void 0!==i?i(this.places,e,a):this.places[e]=a}setPlaceContent({id:e,name:t,categories:i,floor:a,description:s,updateFunction:o}){if(void 0===e||void 0===t)throw\"expecting {id, name[, categories, floor, description]}\";const n=this._essential._mapviewer.getPlace(e),r=this._essential._mapviewer.getPOI(e);if(!1===n&&void 0===r)throw\"could not add content for place \"+e+\", it does not exist in the map.\";{const l={name:t,categories:i||[],floor:a||(n?n.vg.floor:r[0].options(\"floor\")),description:s};void 0!==o?o(this.places,e,l):this.places[e]=l;const c=Object.assign({id:e,text:t},this._essential._parameters.setPlaceNameOptions);!1!==n?this._essential._mapviewer.setPlaceName(e,c):r.forEach(e=>e.options(c))}}createPlace({parameters:e,updateFunction:t}){if(void 0===e.position)throw\"expecting {parameters: {position: {lat, lon[, height]}[, floor, id, ...]}}\";let i=this._essential._mapviewer.convertLatLonToPoint(e.position);if(e.position.height&&(i.z=e.position.height),e.position=i,e.id){let i={id:e.id,categories:[]};e.text&&(i.name=e.text),e.url&&(i.icon=e.url),e.floor&&(i.floor=e.floor),void 0!==t?t(this.places,e.id,i):this.places[e.id]=i}e.text&&(e=Object.assign(e,this._essential._parameters.setPlaceNameOptions));const a=this._essential._mapviewer.addPOI(e);if(null!==a){const e=a.options(\"position\");return{id:a.options(\"id\"),floor:a.options(\"floor\"),position:Object.assign(this._essential._mapviewer.convertPointToLatLon(e),{height:e.z})}}throw\"could not create place\"}getPlace({id:e}){if(void 0===e)throw\"expecting {id}\";let t={id:e};const i=this.places[e];i&&(t.name=i.name,t.categories=i.categories,t.description=i.description);const a=this._essential._mapviewer.getPlace(e);if(a)t.floor=a.vg.floor,t.position=this._essential._mapviewer.convertPointToLatLon(a.vg.position),t.position.height=a.vg.position.z;else{const i=this._essential._mapviewer.getPOI(e);if(!(i&&i.length>0))throw\"unknown place id.\";{t.floor=i[0].options(\"floor\");const e=i[0].options(\"position\");t.position=this._essential._mapviewer.convertPointToLatLon(e),t.position.height=e.z}}return t}getCategory({id:e}){if(void 0===e)throw\"expecting {id}\";if(!this.categories[e])throw\"unknown category id.\";return this.categories[e]}setActivePlace({place:e}){if(void 0===e)throw\"expecting {place}\";if(\"string\"==typeof e){const t=e;if(!(e=this._essential._mapviewer.getPlace(t))){const i=this._essential._mapviewer.getPOI(t);i&&i.length>0&&(e=i[0])}if(!e){const e=this._essential._mapviewer.getFootprint(t),a=this._essential._mapviewer.getFootprintPoints(t);if(!a)throw\"place not found\";if(this.activePlace={vg:{id:t}},this.placeBubbleEnabled){const s={x:0,y:0};return a.forEach(e=>{s.x+=e.x,s.y+=e.y}),s.x/=a.length,s.y/=a.length,(i=this._essential._mapviewer.getPOF(t))&&(s.x=i.x,s.y=i.y),this._placeBubble=this._essential._mapviewer.addPOI({selector:\"#\"+this.placeBubbleId,floor:e.floor,position:s,alignment:{x:0,y:1}}),this._essential.venue.goToPlace({id:t,radius:this._essential._mapviewer.camera.position.radius})}}}if(e&&e.vg&&e.vg.poi){let a=this._essential._mapviewer.getPlace(e.options?e.options(\"id\"):e.vg.id);if(a)e=a;else if(this.resetActivePlace(),this.activePlace=e,this.placeBubbleEnabled){var t=e.options(\"position\");return(i=this._essential._mapviewer.getPOF(e.options?e.options(\"id\"):e.vg.id))&&(t.x=i.x,t.y=i.y),this._placeBubble=this._essential._mapviewer.addPOI({selector:\"#\"+this.placeBubbleId,floor:e.options(\"floor\"),position:t,alignment:{x:0,y:1}}),this._essential.venue.goToPlace({id:e.options(\"id\"),radius:this._essential._mapviewer.camera.position.radius})}}if(e&&e.vg&&!e.vg.poi&&e!==this.activePlace&&(this.resetActivePlace(),this.activePlace=e,this._highlightedPlace=this._highlightedPlace!==e?this._highlightedPlace:null,this._essential._mapviewer.setPlaceColor(e,this._essential._parameters.mapview.colors.active),this.placeBubbleEnabled)){var i;t=e.vg.position;return(i=this._essential._mapviewer.getPOF(e.vg.id))&&(t.x=i.x,t.y=i.y),this._placeBubble=this._essential._mapviewer.addPOI({selector:\"#bubble\",floor:e.vg.floor,position:t,alignment:{x:0,y:1}}),this._essential.venue.goToPlace({id:e.vg.id,radius:this._essential._mapviewer.camera.position.radius})}}setHighlightedPlace({place:e}){if(void 0===e)throw\"expecting {place}\";if(!(e.vg&&e.vg.poi&&!1===(e=e.options&&this._essential._mapviewer.getPlace(e.options(\"id\")))||!1===e||e instanceof Array||e===this._highlightedPlace||e===this.activePlace)){if(\"string\"==typeof e&&(e=this._essential._mapviewer.getPlace(e)),void 0!==e&&e!==this.activePlace){this.resetHighlightedPlace();const t=this._essential._parameters.mapview.colors.highlight;this._essential._mapviewer.setPlaceColor(e,t||16777215-e.vg.originalColor)}this._highlightedPlace=e}}setPlaceColor({id:e,color:t}){if(void 0===e||void 0===t)throw\"expecting {id, color}\";if(!this._essential._mapviewer.setPlaceColor(this._essential._mapviewer.getPlace(e),t))throw\"place not found.\"}setPlaceDescription({id:e,description:t,updateFunction:i}){if(void 0===e||void 0===t)throw\"expecting {id, description}\";if(void 0!==this.places[e])void 0!==i?i(this.places,e,Object.assign({},this.places[e],{description:t})):this.places[e]=Object.assign({},this.places[e],{description:t});else{const a=this._essential._mapviewer.getPlace(e),s=this._essential._mapviewer.getPOI(e);if(!1===a&&void 0===s)throw\"place \"+e+\" not found.\";{const o=a?this._essential._mapviewer.getPlace(e).vg.floor:s[0].options(\"floor\");void 0!==i?i(this.places,e,{id:e,description:t,floor:o,categories:[]}):this.places[e]={id:e,description:t,floor:o,categories:[]}}}}setPlaceIcon({id:e,url:t,updateFunction:i}){if(void 0===e||void 0===t)throw\"expecting {id, url}\";const a=this._essential._mapviewer.getPlace(e),s=this._essential._mapviewer.getPOI(e);if(void 0!==this.places[e])void 0!==i?i(this.places,e,Object.assign({},this.places[e],{icon:t})):this.places[e]=Object.assign({},this.places[e],{icon:t});else{if(!1===a&&void 0===s)throw\"place \"+e+\" not found.\";{const o=a?this._essential._mapviewer.getPlace(e).vg.floor:s[0].options(\"floor\");void 0!==i?i(this.places,e,{id:e,icon:t,floor:o,categories:[]}):this.places[e]={id:e,icon:t,floor:o,categories:[]}}}!1!==a?this._essential._mapviewer.setPlaceIcon(e,t):s.forEach(e=>e.options({url:t}))}setPlaceName({id:e,name:t,parameters:i,updateFunction:a}){if(void 0===e||void 0===t)throw\"expecting {id, name[, parameters]}\";const s=this._essential._mapviewer.getPlace(e),o=this._essential._mapviewer.getPOI(e);if(void 0!==this.places[e])void 0!==a?a(this.places,e,Object.assign({},this.places[e],{name:t})):this.places[e]=Object.assign({},this.places[e],{name:t});else{if(!1===s&&void 0===o)throw\"place \"+e+\" not found.\";{const i=s?this._essential._mapviewer.getPlace(e).vg.floor:o[0].options(\"floor\");void 0!==a?a(this.places,e,{id:e,name:t,floor:i,categories:[]}):this.places[e]={id:e,name:t,floor:i,categories:[]}}}void 0===i&&(i={});const n=Object.assign({id:e,text:t},this._essential._parameters.setPlaceNameOptions,i);!1!==s?this._essential._mapviewer.setPlaceName(e,n):o.forEach(e=>e.options(n))}setPlacePosition({id:e,position:t}){if(void 0===e||void 0===t)throw\"expecting {id, position}\";const i=this._essential._mapviewer.getPOI(e);if(!(void 0!==i&&i.length>0)){throw this._essential._mapviewer.getPlace(e)?\"Place is linked to a physical surface. Should be moved using VisioMapEditor.\":\"unknown place id.\"}{let e=this._essential._mapviewer.convertLatLonToPoint(t);e.z=t.height,i.forEach(t=>t.options(\"position\",e))}}queryAllPlaceIDs(){const e=this._essential._mapviewer.getPlaces(),t=Object.keys(this._essential._mapviewer.getPOIs()).filter(t=>void 0===e[t]&&0!==t.indexOf(\"mapIcon\")&&0!==t.indexOf(\"mapLabel\")&&0!==t.indexOf(\"mapModel\")&&0!==t.indexOf(\"VGROUTE-\"));return[...Object.keys(e),...t]}queryAllCategoryIDs(){return Object.keys(this.categories)}removePlace({id:e}){if(void 0===e)throw\"expecting {id}\";if(this._essential._mapviewer.getPlace(e))throw\"Place is linked to a physical surface. Should be edited using VisioMapEditor.\";const t=this._essential._mapviewer.getPOI(e);if(!(void 0!==t&&t.length>0))throw\"unknown place id.\";t.forEach(e=>e.remove())}resetActivePlace(){null!==this.activePlace&&this.activePlace.vg&&!this.activePlace.vg.poi&&this._essential._mapviewer.resetPlaceColor(this.activePlace),null!==this._placeBubble&&(this._placeBubble.remove(),this._placeBubble=null),this.activePlace=null}resetHighlightedPlace(){null!==this._highlightedPlace&&(this._essential._mapviewer.resetPlaceColor(this._highlightedPlace),this._highlightedPlace=null)}resetPlaceColor({id:e}){if(void 0===e)throw\"expecting {id}\";if(!this._essential._mapviewer.resetPlaceColor(this._essential._mapviewer.getPlace(e)))throw\"place not found.\"}}class t{constructor(e){this._essential=e,this._currentNavigation=null,this.currentInstructionIndex=0,this.translator=null,this.languageCode=\"default\"}_init(){this._essential._mapviewer.setupNavigationTranslator(this._essential.content.places),this.translator=this._essential._mapviewer.navigationTranslator,this.languageCode=visioweb.Utils.getLanguageMatch(this._essential._parameters.locale.language,this.translator.getLanguageCodes())}_create({currentNavigation:e,rawData:t}){this._currentNavigation=e,this.translator.translateInstructions(t,this.languageCode),this.currentInstructionIndex=0,this._essential._mapviewer.trigger(\"navigationComputed\")}_reset(){this._clear(),this.translator=null,this.languageCode=\"default\"}_clear(){this._currentNavigation=null}get isValid(){return null!==this._currentNavigation}get nbInstructions(){return this._currentNavigation?this._currentNavigation.getNbInstructions():0}getCurrentInstructionBrief(){if(this._currentNavigation){let e=this._currentNavigation.getInstructionData(this.currentInstructionIndex);if(e)return e.brief}return\"\"}getCurrentInstructionDetail(){if(this._currentNavigation){let e=this._currentNavigation.getInstructionData(this.currentInstructionIndex);if(e)return e.detail}return\"\"}getCurrentInstructionIcon(){if(this._currentNavigation){let e=this._currentNavigation.getInstructionData(this.currentInstructionIndex);if(e)return this._essential._imagePath+\"/\"+e.icon}return\"\"}goToPreviousInstruction(){let e=!0,t=!1;1===arguments.length&&(arguments[0].withHeading&&(t=!0),arguments[0].animateCamera&&(e=!0));const i=this._currentNavigation.displayPrevInstruction(e,t);return this.currentInstructionIndex=this._currentNavigation.getCurrentInstructionIndex(),i}goToNextInstruction(){let e=!0,t=!1;1===arguments.length&&(arguments[0].withHeading&&(t=!0),arguments[0].animateCamera&&(e=!0));const i=this._currentNavigation.displayNextInstruction(e,t);return this.currentInstructionIndex=this._currentNavigation.getCurrentInstructionIndex(),i}setLanguageCode({languageCode:e}){if(void 0===e)throw\"expecting {languageCode}\";this.languageCode=visioweb.Utils.getLanguageMatch(e,this.translator.getLanguageCodes())}}const i=\"VGROUTE-floorChangeTags\",a=\"\\n .VGROUTE-floorChange\\n {\\n width: 128px;\\n height: 64px;\\n background: transparent;\\n }\\n .VGROUTE-floorChange > p\\n {\\n font-family: Helvetica,Arial,sans-serif;\\n font-size: 15px;\\n color: #fff;\\n line-height: 64px;\\n left: 48px;\\n position: absolute;\\n width: 80px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-align: center;\\n text-overflow: ellipsis;\\n margin:0;\\n }\\n .VGROUTE-floorChange > div\\n {\\n width: 32px;\\n height: 32px;\\n left: 12px;\\n top:16px;\\n position: absolute;\\n clip: rect(0px, 32px, 32px, 0px);\\n }\\n .VGROUTE-floorChange > div > img.fcup\\n {\\n width: 32px;\\n height: 32px;\\n position: absolute;\\n -webkit-animation-name: floorChangeUp; /* Safari 4.0 - 8.0 */\\n -webkit-animation-duration: 2s; /* Safari 4.0 - 8.0 */\\n animation-name: floorChangeUp;\\n animation-duration: 2s;\\n animation-iteration-count: infinite;\\n animation-timing-function: ease-in-out;\\n }\\n .VGROUTE-floorChange > div > img.fcdown\\n {\\n width: 32px;\\n height: 32px;\\n position: absolute;\\n -webkit-animation-name: floorChangeDown; /* Safari 4.0 - 8.0 */\\n -webkit-animation-duration: 2s; /* Safari 4.0 - 8.0 */\\n animation-name: floorChangeDown;\\n animation-duration: 2s;\\n animation-iteration-count: infinite;\\n animation-timing-function: ease-in-out;\\n }\\n\\n /* Safari 4.0 - 8.0 */\\n @-webkit-keyframes floorChangeUp {\\n 0% {bottom:0px;opacity:1;}\\n 25% {bottom:0px;opacity:1;}\\n 50% {bottom:32px;opacity:0;}\\n 51% {bottom:-32px;opacity:0;}\\n 75% {bottom:0px;opacity:1;}\\n 100% {bottom:0px;opacity:1;}\\n }\\n \\n /* Standard syntax */\\n @keyframes floorChangeUp {\\n 0% {bottom:0px;opacity:1;}\\n 25% {bottom:0px;opacity:1;}\\n 50% {bottom:32px;opacity:0;}\\n 51% {bottom:-32px;opacity:0;}\\n 75% {bottom:0px;opacity:1;}\\n 100% {bottom:0px;opacity:1;}\\n }\\n\\n /* Safari 4.0 - 8.0 */\\n @-webkit-keyframes floorChangeDown {\\n 0% {bottom:0px;opacity:1;}\\n 25% {bottom:0px;opacity:1;}\\n 50% {bottom:-32px;opacity:0;}\\n 51% {bottom:32px;opacity:0;}\\n 75% {bottom:0px;opacity:1;}\\n 100% {bottom:0px;opacity:1;}\\n }\\n \\n /* Standard syntax */\\n @keyframes floorChangeDown {\\n 0% {bottom:0px;opacity:1;}\\n 25% {bottom:0px;opacity:1;}\\n 50% {bottom:-32px;opacity:0;}\\n 51% {bottom:32px;opacity:0;}\\n 75% {bottom:0px;opacity:1;}\\n 100% {bottom:0px;opacity:1;}\\n }\\n\";class s{constructor(e){this._essential=e,this._from=null,this._waypoints=[],this._to=null,this._currentRoute=null,this._destinationOrder=\"optimalFinishOnLast\",this.accessible=!1,this.computeNavigation=!0;let t=document.createElement(\"div\");t.id=i,document.body.appendChild(t);let s=document.createElement(\"style\");s.innerHTML=a,document.head.appendChild(s)}get isValid(){return null!==this._currentRoute}setFrom({from:e}){if(void 0===e)throw\"expecting {from}\";const t=this._waypoints.indexOf(e);if(-1!==t&&(this._waypoints=this._waypoints.splice(t,1)),this._to===e)throw\"Already set as destination\";if(this._from=e,null!==this._to)return this._compute()}addWaypoint({waypoint:e}){if(void 0===e)throw\"expecting {waypoint}\";if(e!==this._from&&e!==this._to&&-1===this._waypoints.indexOf(e)&&(this._waypoints=[...this._waypoints,e],null!==this._from&&null!==this._to))return this._compute()}setTo({to:e}){if(void 0===e)throw\"expecting {to}\";const t=this._waypoints.indexOf(e);if(-1!==t&&(this._waypoints=this._waypoints.splice(t,1)),this._from===e)throw\"Already set as start\";if(this._to=e,this._from||this._essential.location)return this._compute()}hasFrom(){return null!==this._from}hasTo(){return null!==this._to}_compute(){if(\"\"===this._from||\"\"===this._to||this._from===this._to||!this._from&&!this._essential.location||!this._to)throw\"start or destination not set\";let e={};return e.src=this._from||this._essential.location,e.dst=[...this._waypoints,this._to],e.destinationOrder=this._destinationOrder,e.computeNavigation=this.computeNavigation,e.routingParameters=this._essential._parameters.computeRouteOptions.routingParameters,e.navigationParameters=this._essential._parameters.computeRouteOptions.navigationParameters,this.accessible&&(e.routingParameters.excludedAttributes=this._essential._parameters.computeRouteOptions.accessibleRoute.excludedAttributes,e.routingParameters.excludedModalities=this._essential._parameters.computeRouteOptions.accessibleRoute.excludedModalities),this._essential._mapviewer.computeRoute(e).then(e=>(this.clear(),this._create({route:e})))}_create({route:e}){if(e.data.status&&200!==e.data.status)throw this.clear(),\"Sorry, no route available between \"+e.request.src+\" and \"+e.request.dst+\".\";const t=this._essential._imagePath,a=Object.assign({imagePath:this._essential._imagePath,pathColor:{past:this._essential._parameters.mapview.colors.pathPast,current:this._essential._parameters.mapview.colors.pathCurrent,future:this._essential._parameters.mapview.colors.pathFuture},useLinks:\"multifloor\"===this._essential._parameters.mapview.config.viewtype,floorChangeTag:{innerHTML:function(e,i,a){return'

'+i+\"

\"},parent:i}},this._essential._parameters.initRouteOptions);let s=new visioweb.Route(this._essential._mapviewer,e.data,a);if(s.isValid())return s.show().then(()=>(this._essential.content.resetActivePlace(),this._currentRoute=s,this._essential._mapviewer.on(\"exploreStateWillChange\",this._toggleLinks.bind(this)),void 0!==e.data.navigation&&this._essential.navigation._create({currentNavigation:s.navigation,rawData:e.data.navigation}),this._essential._mapviewer.multiBuildingView.goTo({mode:\"floor\",floorID:s.initialFloor,viewpoint:{position:s.getViewpointPosition(\"initialFloor\")}})));throw this.clear(),\"Problems rendering the route between \"+e.request.src+\" and \"+e.request.dst+\".\"}clear(){null!==this._currentRoute&&(this._currentRoute.remove(),this._essential.navigation._clear(),this._essential._mapviewer.off(\"exploreStateWillChange\",this._toggleLinks.bind(this))),this._from=null,this._waypoints=[],this._to=null,this._currentRoute=null,this._destinationOrder=\"optimalFinishOnLast\"}_toggleLinks(e){null!==this._currentRoute&&(\"floor\"===e.args.target.mode?this._currentRoute.hideLinks():this._currentRoute.showLinks())}}class o{constructor(e){this._essential=e,this.layout=null,this.currentBuildingID=\"\",this.currentFloorID=\"\",this.currentExploreMode=\"global\"}_init(){if(null!==this._essential._mapviewer.multiBuildingView&&(this.layout=Object.freeze(this._essential._mapviewer.multiBuildingView.getVenueLayout()),this.layout.buildings.length>0)){const e=this.layout.buildings[this.layout.defaultBuildingIndex],t=e.floors[e.defaultFloorIndex];this.currentBuildingID=e.id,this.currentFloorID=t.id,this._essential._mapviewer.on(\"exploreStateChanged\",function(e){const t=e.args.current;this.currentBuildingID=t.buildingID,this.currentFloorID=t.floorID,this.currentExploreMode=t.mode}.bind(this))}}_reset(){this.layout=null,this.currentBuildingID=\"\",this.currentFloorID=\"\",this.currentExploreMode=\"global\"}getLocalizedName({id:e}){if(void 0===e)throw\"expecting {id}\";return this._essential._mapviewer.multiBuildingView?this._essential._mapviewer.multiBuildingView.getLocalizedName(e):\"\"}getFootprintPoints({id:e}){if(void 0===e)throw\"expecting {id}\";const t=this._essential._mapviewer.getFootprintPoints(e);if(!t)throw\"footprint not found.\";return t.map(e=>this._essential._mapviewer.convertPointToLatLon(e))}getPointOfFocus({id:e}){if(void 0===e)throw\"expecting {id}\";const t=this._essential._mapviewer.getPOF(e);if(!t)throw\"point of focus not found.\";return{id:t.id,floor:t.floor,heading:t.headingInDegrees,position:Object.assign(this._essential._mapviewer.convertPointToLatLon(t),{height:t.height})}}getViewpoint(e){if(0===arguments.length||void 0===e.points)return{position:this._essential._mapviewer.convertPointToLatLon(this._essential._mapviewer.camera.position),radius:this._essential._mapviewer.camera.position.radius,pitch:this._essential._mapviewer.camera.pitch,heading:this._essential._mapviewer.camera.heading};{const{points:t,padding:i,pitch:a,heading:s}=e;let o={};void 0!==i&&(o=Object.assign({},i)),void 0!==a&&(o.pitch=a),void 0!==s&&(o.heading=s),o.points=t.map(e=>this._essential._mapviewer.convertLatLonToPoint(e));const n=this._essential._mapviewer.getViewpointPosition(o);if(!n)throw\"points are invalid, expected as {lat, lon} coordinates.\";return{position:this._essential._mapviewer.convertPointToLatLon(n),radius:n.radius,pitch:void 0!==a?a:this._essential._mapviewer.camera.pitch,heading:void 0!==s?s:this._essential._mapviewer.camera.heading}}}goToGlobal(e){return 0===arguments.length||void 0===e.animationDuration?this._essential._mapviewer.multiBuildingView.goTo({mode:\"global\"}):this._essential._mapviewer.multiBuildingView.goTo({mode:\"global\",animationDuration:e.animationDuration})}goToBuilding(){let e=void 0,t=void 0;1===arguments.length&&(void 0!==arguments[0].id&&(e=arguments[0].id),void 0!==arguments[0].animationDuration&&(t=arguments[0].animationDuration)),void 0===e&&(e=this.layout.buildings[this.layout.defaultBuildingIndex].id);let i={mode:\"building\",buildingID:e,animationDuration:t};if(\"global\"!==this.currentExploreMode){var a=this.layout.buildingByID[this.currentBuildingID].floorByID[this.currentFloorID];a.connectedFloors[e]&&(i.floorID=a.connectedFloors[e].floor)}switch(this.currentExploreMode){case\"global\":return this._essential._mapviewer.multiBuildingView.goTo(i);case\"building\":if(void 0!==e&&e!==this.currentBuildingID)return this._essential._mapviewer.multiBuildingView.goTo(i);throw\"invalid request.\";case\"floor\":return void 0!==e&&e!==this.currentBuildingID||(i.buildingID=this.currentBuildingID,i.floorID=this.currentFloorID),this._essential._mapviewer.multiBuildingView.goTo(i);default:throw\"invalid mode requested.\"}}goToFloor(){let e=void 0,t=void 0;return 1===arguments.length&&(void 0!==arguments[0].id&&(e=arguments[0].id),void 0!==arguments[0].animationDuration&&(t=arguments[0].animationDuration)),void 0!==e?this._essential._mapviewer.cameraDrivenExplorer.isEnabled?this._essential._mapviewer.multiBuildingView.goTo({mode:\"global\"==this.currentExploreMode?\"floor\":this.currentExploreMode,floorID:e,noViewpoint:\"floor\"==this.currentExploreMode,animationDuration:t}):this._essential._mapviewer.multiBuildingView.goTo({mode:\"global\"==this.currentExploreMode?\"building\":this.currentExploreMode,floorID:e,noViewpoint:!0,animationDuration:t}):this._essential._mapviewer.multiBuildingView.goTo({mode:\"floor\",animationDuration:t})}goToPlace({id:e,radius:t,heading:i,pitch:a,animationDuration:s}){if(void 0===e)throw\"expecting {id[, radius, heading, pitch, animationDuration]}\";if(void 0===t&&void 0===i&&void 0===a)return this._essential._mapviewer.multiBuildingView.goTo({mode:\"floor\",place:e,animationDuration:s});const o=this._essential._mapviewer.getPOF(e);o&&void 0===i&&(i=o.headingInDegrees);const n=this._essential._mapviewer.getPlace(e);if(n){let o={viewpoint:{position:this._essential._mapviewer.getViewpointPosition({points:this._essential._mapviewer.getFootprintPoints(e),heading:i,pitch:a}),heading:i,pitch:a},animationDuration:s};return void 0!==t&&(o.viewpoint.position.radius=t),n.vg.floor===this._essential.venue.layoutGlobalLayerID?o.mode=\"global\":(o.mode=\"floor\",o.floorID=n.vg.floor),this._essential._mapviewer.multiBuildingView.goTo(o)}{const n=this._essential._mapviewer.getPOI(e);if(n&&n.length>0){let e={viewpoint:{position:Object.assign({},n[0].options(\"position\"),{radius:void 0!==t?t:this._essential._mapviewer.camera.position.radius}),heading:i,pitch:a},animationDuration:s};const o=n[0].options(\"floor\");return o===this._essential.venue.layoutGlobalLayerID?e.mode=\"global\":(e.mode=\"floor\",e.floorID=o),this._essential._mapviewer.multiBuildingView.goTo(e)}if(o){let n={viewpoint:{position:this._essential._mapviewer.getViewpointPosition({points:this._essential._mapviewer.getFootprintPoints(e),heading:i,pitch:a}),heading:i,pitch:a},animationDuration:s};return void 0!==t&&(n.viewpoint.position.radius=t),o.floor===this._essential.venue.layoutGlobalLayerID?n.mode=\"global\":(n.mode=\"floor\",n.floorID=o.floor),this._essential._mapviewer.multiBuildingView.goTo(n)}throw\"unknown place: \"+e}}goToViewpoint({position:e,radius:t,pitch:i,heading:a,floor:s,animationDuration:o}){if(void 0===e)throw\"expecting {position: {lat, lon}, radius[, heading, pitch, floor, animationDuration]}\";let n=this._essential._mapviewer.convertLatLonToPoint(e);return n.radius=t,this._essential._mapviewer.multiBuildingView.goTo({viewpoint:{position:n,pitch:i,heading:a},floorID:s,animationDuration:o})}}function n(){let e={};for(var t=function(t){for(var i in t)t.hasOwnProperty(i)&&(\"[object Object]\"===Object.prototype.toString.call(t[i])?e[i]=n(e[i],t[i]):\"[object Array]\"===Object.prototype.toString.call(t[i])&&\"[object Array]\"===Object.prototype.toString.call(e[i])?e[i]=e[i].concat(t[i].filter(t=>e[i].indexOf(t)<0)):e[i]=t[i])},i=0;ithis.createMapviewer());if(this._mapviewer=Object.seal(new visioweb.Mapviewer),this._mapviewer.version!==c.version)throw\"VisioWeb (\"+this._mapviewer.version+\") and VisioWeb Essential (\"+c.version+\") versions are different.\\n Please use the same version for both libs.\";l.forEach(e=>(function(e,t){e[t]=function(){return e._mapviewer[t].apply(e._mapviewer,arguments)}})(this,e)),-1==navigator.platform.indexOf(\"iPhone\")&&-1==navigator.platform.indexOf(\"iPad\")&&-1==navigator.platform.indexOf(\"iPod\")||(this._preventDefaultCallback=(e=>e.preventDefault()),this._element.addEventListener(\"gesturestart\",this._preventDefaultCallback,!1),this._element.addEventListener(\"gesturechange\",this._preventDefaultCallback,!1),this._element.addEventListener(\"gestureend\",this._preventDefaultCallback,!1),this._element.addEventListener(\"touchmove\",this._preventDefaultCallback,!1)),!0===this._parameters.hash&&(this._parameters.hash=\"\");let e=this._parameters.baseURL+this._parameters.hash+\"/descriptor.json\";if(this._ignoreCache){const t=new Date,i=t.getFullYear(),a=t.getMonth()+1,s=t.getDate(),o=\"\"+i+(a<10?\"0\"+a:a)+(s<10?\"0\"+s:s)+\"235959\";e=this._parameters.baseURL+this._parameters.hash+\"/map.json?\"+o}let t={path:e,cameraType:this._parameters.mapview.config.cameratype,onObjectMouseUp:(e,t)=>this.onObjectMouseUp({event:e,targetElement:t}),progressHandler:this.onLoadProgress,optimizations:this._parameters.optimizations};return this._parameters.mapview.events.enableMouseover&&(t.onObjectMouseOver=((e,t)=>this.onObjectMouseOver({event:e,targetElement:t})),t.onObjectMouseOut=((e,t)=>this.onObjectMouseOut({event:e,targetElement:t}))),this._mapviewer.load(t).then(()=>this._mapviewer.setupView(this._element)).then(()=>{this._mapviewer.start();const e=parseInt(getComputedStyle(this._element).width,10),t=parseInt(getComputedStyle(this._element).height,10);this._mapviewer.resize(e,t),window.addEventListener(\"resize\",this._onResize.bind(this)),this._mapviewer.setupMultiBuildingView({container:this._element,viewType:this._parameters.mapview.config.viewtype,animationType:this._parameters.mapview.config.animationtype,imagePath:this._imagePath,stackGap:\"multifloor\"===this._parameters.mapview.config.viewtype?10:0}),\"multifloor\"===this._parameters.mapview.config.viewtype&&(this._mapviewer.multiBuildingView.buildingModeEnabled=!0);const i=this._mapviewer.getExtraData();if(i&&i.app_params){if(i.app_params.exploreParams&&i.app_params.exploreParams.pitch){const e=i.app_params.exploreParams.pitch;this._mapviewer.camera.pitch=e,this._mapviewer.multiBuildingView.floorModePitch=e,this._mapviewer.multiBuildingView.globalModePitch=e}if(i.app_params.cameraDrivenExplorer){const e=i.app_params.cameraDrivenExplorer;this._mapviewer.cameraDrivenExplorer.setEnabled(!!e.enabled),void 0!==e.distanceThreshold&&(this._mapviewer.cameraDrivenExplorer.maxExploreDistance=e.distanceThreshold)}else this._mapviewer.cameraDrivenExplorer.setEnabled(!0);if(i.app_params.statisticsParams){const e=i.app_params.statisticsParams;this._parameters.mapview.statistics.enabled=!!e.enabled,this._parameters.mapview.statistics.logLocation=!!e.logLocation,this._parameters.mapview.statistics.logCamera=!!e.logCamera,this._parameters.mapview.statistics.logInterest=!!e.logInterest}if(i.app_params.routingParams){const e=i.app_params.routingParams;this._parameters.computeRouteOptions.accessibleRoute.excludedAttributes=e.accessibleRouteAttributes,this._parameters.computeRouteOptions.accessibleRoute.excludedModalities=e.accessibleRouteModalities}}return this.venue._init(),this.content._init(),this.navigation._init(),this._mapviewer.on(\"exploreStateWillChange\",e=>{const t=e.args.target;requestAnimationFrame(()=>{void 0!==t.mode&&t.mode!==this.currentExploreMode&&(this.currentExploreMode=t.mode,this.content.resetActivePlace()),void 0!==t.buildingID&&t.buildingID!==this.currentBuildingID&&(this.currentBuildingID=t.buildingID,this.content.resetActivePlace()),void 0!==t.floorID&&t.floorID!==this.currentFloorID&&(this.currentFloorID=t.floorID,this.content.resetActivePlace())})}),\"function\"==typeof sendToMobileApp&&this._mapviewer.on(\"mouseup\",sendToMobileApp),this._parameters.mapview.statistics.enabled&&(this._mapviewer.setLogStatistic(!0),this._mapviewer.setLogStatisticURL(this._parameters.mapview.statistics.protocol+\"://\"+this._parameters.mapview.statistics.host+\"/stats/SDKStatLogger.php\"),this._mapviewer.camera.track=this._parameters.mapview.statistics.logCamera),this._mapviewer.multiBuildingView.goTo({mode:\"global\",buildingID:this._mapviewer.multiBuildingView.DEFAULT,animationDuration:0})})}destroyMapviewer(){return-1==navigator.platform.indexOf(\"iPhone\")&&-1==navigator.platform.indexOf(\"iPad\")&&-1==navigator.platform.indexOf(\"iPod\")||(this._element.removeEventListener(\"gesturestart\",this._preventDefaultCallback),this._element.removeEventListener(\"gesturechange\",this._preventDefaultCallback),this._element.removeEventListener(\"gestureend\",this._preventDefaultCallback),this._element.removeEventListener(\"touchmove\",this._preventDefaultCallback)),window.removeEventListener(\"resize\",this._onResize.bind(this)),this._mapviewer.off(\"mouseup\"),this._mapviewer.off(\"exploreStateWillChange\"),this._mapviewer.off(\"exploreStateChanged\"),this.content._reset(),this.navigation._reset(),this.route.clear(),this.venue._reset(),this._mapviewer.destroy().then(()=>this._mapviewer=null)}onObjectMouseUp({targetElement:e}){this.content.setActivePlace({place:e})}onObjectMouseOver({targetElement:e}){this.content.setHighlightedPlace({place:e})}onObjectMouseOut(){this.content.resetHighlightedPlace()}onLoadProgress(){}_onResize(){if(null!==this._element.offsetParent){const e=this._element.getBoundingClientRect();this._mapviewer.resize(e.width,e.height)}}}return c});\r\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t70079,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t25593,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t13225,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t4812,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t86655,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t44856,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t13059,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t58648,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t98308,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t44690,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t64090,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t36214,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t69447,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t79689,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t18840,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t40749,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t69667,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t83288,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t35473,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t53634,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t22855,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t495,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t58737,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t99632,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t54446,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t32275,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t48050,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t18994,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t23592,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t35454,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t290,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t92666,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t64816,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t45534,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t94902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t91938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t78179,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t90668,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t61624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t19989,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t28902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t70199,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t48395,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t96357,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t38268,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t15269,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t32875,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 50863;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":[],"sourceRoot":"webpack:///"}