@igo2/core 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__ivy_ngcc__/locale/en.common.json +43 -43
- package/__ivy_ngcc__/locale/en.core.json +29 -23
- package/__ivy_ngcc__/locale/en.geo.json +74 -26
- package/__ivy_ngcc__/locale/en.integration.json +12 -4
- package/__ivy_ngcc__/locale/en.json +91 -30
- package/__ivy_ngcc__/locale/fr.common.json +43 -43
- package/__ivy_ngcc__/locale/fr.core.json +29 -23
- package/__ivy_ngcc__/locale/fr.geo.json +75 -27
- package/__ivy_ngcc__/locale/fr.integration.json +11 -3
- package/__ivy_ngcc__/locale/fr.json +91 -30
- package/assets/icons/mdi.svg +1 -1
- package/bundles/igo2-core.umd.js +125 -149
- package/bundles/igo2-core.umd.js.map +1 -1
- package/esm2015/lib/activity/activity.interceptor.js +1 -1
- package/esm2015/lib/activity/activity.module.js +1 -1
- package/esm2015/lib/activity/activity.service.js +1 -1
- package/esm2015/lib/activity/index.js +1 -1
- package/esm2015/lib/analytics/index.js +1 -1
- package/esm2015/lib/analytics/shared/analytics.interface.js +1 -1
- package/esm2015/lib/analytics/shared/analytics.service.js +1 -1
- package/esm2015/lib/analytics/shared/index.js +1 -1
- package/esm2015/lib/config/config.interface.js +1 -1
- package/esm2015/lib/config/config.module.js +1 -1
- package/esm2015/lib/config/config.provider.js +1 -1
- package/esm2015/lib/config/config.service.js +1 -1
- package/esm2015/lib/config/index.js +1 -1
- package/esm2015/lib/config/version.js +3 -3
- package/esm2015/lib/core.module.js +1 -1
- package/esm2015/lib/gesture/gesture.module.js +1 -1
- package/esm2015/lib/gesture/gesture.provider.js +1 -1
- package/esm2015/lib/language/index.js +1 -1
- package/esm2015/lib/language/language.module.js +1 -1
- package/esm2015/lib/language/shared/index.js +1 -1
- package/esm2015/lib/language/shared/language.interface.js +1 -1
- package/esm2015/lib/language/shared/language.loader.js +1 -1
- package/esm2015/lib/language/shared/language.provider.js +1 -1
- package/esm2015/lib/language/shared/language.service.js +1 -1
- package/esm2015/lib/language/shared/missing-translation.guard.js +2 -2
- package/esm2015/lib/media/index.js +1 -1
- package/esm2015/lib/media/media.enum.js +1 -1
- package/esm2015/lib/message/index.js +1 -2
- package/esm2015/lib/message/message.module.js +38 -9
- package/esm2015/lib/message/shared/index.js +1 -1
- package/esm2015/lib/message/shared/message.enum.js +3 -2
- package/esm2015/lib/message/shared/message.interface.js +1 -1
- package/esm2015/lib/message/shared/message.service.js +48 -71
- package/esm2015/lib/network/index.js +1 -1
- package/esm2015/lib/network/network.interfaces.js +1 -1
- package/esm2015/lib/network/network.service.js +1 -1
- package/esm2015/lib/request/error.interceptor.js +1 -1
- package/esm2015/lib/request/error.module.js +1 -1
- package/esm2015/lib/request/index.js +1 -1
- package/esm2015/lib/request/logging.interceptor.js +2 -2
- package/esm2015/lib/request/logging.module.js +1 -1
- package/esm2015/lib/route/route.interface.js +1 -1
- package/esm2015/lib/route/route.service.js +20 -4
- package/esm2015/lib/storage/index.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/fesm2015/igo2-core.js +116 -133
- package/fesm2015/igo2-core.js.map +1 -1
- package/lib/message/index.d.ts +0 -1
- package/lib/message/message.module.d.ts +3 -4
- package/lib/message/shared/index.d.ts +1 -1
- package/lib/message/shared/message.enum.d.ts +2 -1
- package/lib/message/shared/message.interface.d.ts +4 -4
- package/lib/message/shared/message.service.d.ts +12 -11
- package/lib/route/route.interface.d.ts +1 -0
- package/lib/route/route.service.d.ts +4 -3
- package/locale/en.common.json +43 -43
- package/locale/en.core.json +29 -23
- package/locale/en.geo.json +74 -26
- package/locale/en.integration.json +12 -4
- package/locale/en.json +91 -30
- package/locale/fr.common.json +43 -43
- package/locale/fr.core.json +29 -23
- package/locale/fr.geo.json +75 -27
- package/locale/fr.integration.json +11 -3
- package/locale/fr.json +91 -30
- package/package.json +8 -7
- package/style/core.theming.scss +3 -1
- package/style/index.theming.scss +291 -71
- package/style/material.font.scss +9 -9
- package/style/partial/core.variables.scss +5 -3
- package/style/partial/media.scss +80 -80
- package/esm2015/lib/message/message-center/index.js +0 -2
- package/esm2015/lib/message/message-center/message-center.component.js +0 -43
- package/lib/message/message-center/index.d.ts +0 -1
- package/lib/message/message-center/message-center.component.d.ts +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core.js","sources":["../../../packages/core/src/lib/activity/activity.service.ts","../../../packages/core/src/lib/activity/activity.interceptor.ts","../../../packages/core/src/lib/activity/activity.module.ts","../../../packages/core/src/lib/config/version.ts","../../../packages/core/src/lib/config/config.service.ts","../../../packages/core/src/lib/config/config.provider.ts","../../../packages/core/src/lib/config/config.module.ts","../../../packages/core/src/lib/language/shared/language.loader.ts","../../../packages/core/src/lib/language/shared/language.provider.ts","../../../packages/core/src/lib/language/shared/missing-translation.guard.ts","../../../packages/core/src/lib/language/language.module.ts","../../../packages/core/src/lib/message/message-center/message-center.component.ts","../../../packages/core/src/lib/message/message-center/message-center.component.html","../../../packages/core/src/lib/message/message.module.ts","../../../packages/core/src/lib/language/shared/language.service.ts","../../../packages/core/src/lib/message/shared/message.enum.ts","../../../packages/core/src/lib/message/shared/message.service.ts","../../../packages/core/src/lib/request/error.interceptor.ts","../../../packages/core/src/lib/request/error.module.ts","../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/lib/gesture/gesture.provider.ts","../../../packages/core/src/lib/gesture/gesture.module.ts","../../../packages/core/src/lib/request/logging.interceptor.ts","../../../packages/core/src/lib/request/logging.module.ts","../../../packages/core/src/lib/route/route.service.ts","../../../packages/core/src/lib/analytics/shared/analytics.service.ts","../../../packages/core/src/lib/media/media.enum.ts","../../../packages/core/src/lib/media/media.service.ts","../../../packages/core/src/lib/storage/storage.interface.ts","../../../packages/core/src/lib/storage/storage.service.ts","../../../packages/core/src/lib/network/network.service.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { uuid } from '@igo2/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityService {\r\n public counter$ = new BehaviorSubject<number>(0);\r\n\r\n private ids: string[] = [];\r\n\r\n constructor() {}\r\n\r\n register(): string {\r\n const id = uuid();\r\n this.ids.push(id);\r\n this.counter$.next(this.ids.length);\r\n\r\n return id;\r\n }\r\n\r\n unregister(id: string) {\r\n const index = this.ids.indexOf(id);\r\n if (index === -1) {\r\n return;\r\n }\r\n this.ids.splice(index, 1);\r\n\r\n this.counter$.next(this.ids.length);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest\r\n} from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { ActivityService } from './activity.service';\r\n\r\n@Injectable()\r\nexport class ActivityInterceptor implements HttpInterceptor {\r\n constructor(private activityService: ActivityService) {}\r\n\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n const activity = req.headers.get('activityInterceptor');\r\n if (activity) {\r\n const actReq = req.clone({\r\n headers: req.headers.delete('activityInterceptor')\r\n });\r\n if (activity === 'false') {\r\n return next.handle(actReq);\r\n }\r\n }\r\n\r\n const id = this.activityService.register();\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.activityService.unregister(id);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { ActivityInterceptor } from './activity.interceptor';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class IgoActivityModule {\r\n static forRoot(): ModuleWithProviders<IgoActivityModule> {\r\n return {\r\n ngModule: IgoActivityModule,\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ActivityInterceptor,\r\n multi: true\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","export interface Version {\n lib: string;\n releaseDate: number;\n}\n\nexport const version: Version = {\n lib: '1.9.0',\n releaseDate: 1632149524409\n};\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { ObjectUtils } from '@igo2/utils';\r\n\r\nimport { ConfigOptions } from './config.interface';\r\nimport { version } from './version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\n private config: object = {};\r\n\r\n constructor(private injector: Injector) {}\r\n\r\n /**\r\n * Use to get the data found in config file\r\n */\r\n public getConfig(key: string): any {\r\n return ObjectUtils.resolve(this.config, key);\r\n }\r\n\r\n /**\r\n * This method loads \"[path]\" to get all config's variables\r\n */\r\n public load(options: ConfigOptions) {\r\n const baseConfig = options.default || {};\r\n if (!options.path) {\r\n this.config = baseConfig;\r\n return true;\r\n }\r\n\r\n const http = this.injector.get(HttpClient);\r\n\r\n return new Promise((resolve, _reject) => {\r\n http\r\n .get(options.path)\r\n .pipe(\r\n catchError((error: any): any => {\r\n console.log(`Configuration file ${options.path} could not be read`);\r\n resolve(true);\r\n return throwError(error.error || 'Server error');\r\n })\r\n )\r\n .subscribe((configResponse: object) => {\r\n this.config = ObjectUtils.mergeDeep(\r\n ObjectUtils.mergeDeep({ version }, baseConfig),\r\n configResponse\r\n );\r\n resolve(true);\r\n });\r\n });\r\n }\r\n}\r\n","import { APP_INITIALIZER, InjectionToken } from '@angular/core';\r\n\r\nimport { ConfigService } from './config.service';\r\nimport { ConfigOptions } from './config.interface';\r\n\r\nexport let CONFIG_OPTIONS = new InjectionToken<ConfigOptions>('configOptions');\r\n\r\nexport function provideConfigOptions(options: ConfigOptions) {\r\n return {\r\n provide: CONFIG_OPTIONS,\r\n useValue: options\r\n };\r\n}\r\n\r\nexport function configFactory(\r\n configService: ConfigService,\r\n options: ConfigOptions\r\n) {\r\n return () => configService.load(options);\r\n}\r\n\r\nexport function provideConfigLoader() {\r\n return {\r\n provide: APP_INITIALIZER,\r\n useFactory: configFactory,\r\n multi: true,\r\n deps: [ConfigService, CONFIG_OPTIONS]\r\n };\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { provideConfigOptions, provideConfigLoader } from './config.provider';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class IgoConfigModule {\r\n static forRoot(): ModuleWithProviders<IgoConfigModule> {\r\n return {\r\n ngModule: IgoConfigModule,\r\n providers: [provideConfigOptions({}), provideConfigLoader()]\r\n };\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\n\r\nimport { of, combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { TranslateLoader } from '@ngx-translate/core';\r\n\r\nimport { ObjectUtils } from '@igo2/utils';\r\n\r\nimport { ConfigService } from '../../config/config.service';\r\n\r\ndeclare function require(arg: string): any;\r\n\r\nexport class LanguageLoader implements TranslateLoader {\r\n constructor(\r\n private http: HttpClient,\r\n private prefix?: string | string[],\r\n private suffix: string = '.json',\r\n private config?: ConfigService\r\n ) {}\r\n\r\n public getTranslation(lang: string): any {\r\n const translation = require(`../locale/${lang}.json`);\r\n const igoLocale$ = of(translation);\r\n\r\n if (this.config && !this.prefix) {\r\n const prefix = this.config.getConfig('language.prefix');\r\n this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];\r\n }\r\n\r\n if (!this.prefix || this.prefix.length === 0) {\r\n return igoLocale$;\r\n }\r\n\r\n const appLocale$ = (this.prefix as string[]).map((prefix) =>\r\n this.http.get(`${prefix}${lang}${this.suffix}`)\r\n );\r\n\r\n const locale$ = combineLatest([igoLocale$, ...appLocale$]);\r\n\r\n return locale$.pipe(\r\n map((translations) => {\r\n return translations.reduce(\r\n (acc, current) => ObjectUtils.mergeDeep(acc, current),\r\n {}\r\n );\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { TranslateLoader } from '@ngx-translate/core';\r\n\r\nimport { ConfigService } from '../../config/config.service';\r\nimport { LanguageLoader } from './language.loader';\r\n\r\nexport function defaultLanguageLoader(\r\n http: HttpClient,\r\n config?: ConfigService\r\n) {\r\n return new LanguageLoader(http, undefined, undefined, config);\r\n}\r\n\r\nexport function provideLanguageLoader(loader?) {\r\n return {\r\n provide: TranslateLoader,\r\n useFactory: loader || defaultLanguageLoader,\r\n deps: [HttpClient]\r\n };\r\n}\r\n\r\nexport function provideDefaultLanguageLoader(loader?) {\r\n return {\r\n provide: TranslateLoader,\r\n useFactory: loader || defaultLanguageLoader,\r\n deps: [HttpClient, ConfigService]\r\n };\r\n}\r\n","import {\r\n MissingTranslationHandler,\r\n MissingTranslationHandlerParams\r\n} from '@ngx-translate/core';\r\n\r\nexport class IgoMissingTranslationHandler implements MissingTranslationHandler {\r\n handle(params: MissingTranslationHandlerParams) {\r\n if (!params.translateService.langs.length) {\r\n const error =\r\n 'Translations are not yet loaded. \\\r\n Check that the LanguageService is injected.';\r\n throw new Error(error);\r\n }\r\n\r\n if (params.key.substr(0, 4) === 'igo.') {\r\n throw new Error(`The Key \"${params.key}\" is missing in locale file.`);\r\n } else {\r\n return params.key;\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport {\r\n TranslateModule,\r\n MissingTranslationHandler\r\n} from '@ngx-translate/core';\r\n\r\nimport { provideDefaultLanguageLoader } from './shared/language.provider';\r\nimport { IgoMissingTranslationHandler } from './shared/missing-translation.guard';\r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModule.forRoot({\r\n missingTranslationHandler: {\r\n provide: MissingTranslationHandler,\r\n useClass: IgoMissingTranslationHandler\r\n }\r\n })\r\n ],\r\n declarations: [],\r\n exports: [TranslateModule]\r\n})\r\nexport class IgoLanguageModule {\r\n static forRoot(): ModuleWithProviders<IgoLanguageModule> {\r\n return {\r\n ngModule: IgoLanguageModule,\r\n providers: [provideDefaultLanguageLoader()]\r\n };\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'igo-message-center',\r\n templateUrl: './message-center.component.html',\r\n styleUrls: ['./message-center.component.scss']\r\n})\r\nexport class MessageCenterComponent {\r\n static defaultOptions = {\r\n timeOut: 5000,\r\n hasCloseIcon: false,\r\n showProgressBar: true,\r\n pauseOnHover: true,\r\n clickToClose: true,\r\n maxLength: 100,\r\n maxStack: 3,\r\n preventDuplicates: true\r\n };\r\n\r\n @Input()\r\n get options(): any {\r\n return Object.assign(\r\n {},\r\n MessageCenterComponent.defaultOptions,\r\n this._options\r\n );\r\n }\r\n set options(value: any) {\r\n this._options = value;\r\n }\r\n private _options: any = {};\r\n\r\n constructor() {}\r\n}\r\n","<simple-notifications\r\n class=\"mat-typography\"\r\n [ngClass]=\"{closeIcon: options.hasCloseIcon}\"\r\n [options]=\"options\">\r\n</simple-notifications>\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SimpleNotificationsModule } from '@igo2/angular2-notifications';\n\nimport { MessageCenterComponent } from './message-center/message-center.component';\n\n@NgModule({\n imports: [CommonModule, SimpleNotificationsModule.forRoot()],\n declarations: [MessageCenterComponent],\n exports: [MessageCenterComponent]\n})\nexport class IgoMessageModule {\n static forRoot(): ModuleWithProviders<IgoMessageModule> {\n return {\n ngModule: IgoMessageModule,\n providers: []\n };\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LanguageService {\r\n private language: string = this.translate.getBrowserLang();\r\n\r\n constructor(public translate: TranslateService) {\r\n const lang = this.getLanguage();\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n public getLanguage(): string {\r\n return this.language.match(/en|fr/) ? this.language : 'en';\r\n }\r\n\r\n public setLanguage(language: string) {\r\n this.language = language.match(/en|fr/) ? language : 'en';\r\n this.translate.use(this.language);\r\n this.translate.reloadLang(this.language);\r\n }\r\n}\r\n","export enum MessageType {\r\n ERROR = 'error',\r\n ALERT = 'alert',\r\n INFO = 'info',\r\n SUCCESS = 'success'\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n Notification,\n NotificationsService,\n NotificationType\n} from '@igo2/angular2-notifications';\n\nimport { ConfigService } from '../../config/config.service';\n\nimport { Message, MessageOptions } from './message.interface';\nimport { MessageType } from './message.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options: MessageOptions;\n\n constructor(\n private notificationService: NotificationsService,\n private configService: ConfigService\n ) {\n this.options = this.configService.getConfig('message') || {};\n }\n\n showError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n return this.error(httpError.error.message, httpError.error.title);\n }\n\n message(message: Message) {\n this.messages$.next(this.messages$.value.concat([message]));\n\n message.options = message.options || {} as MessageOptions;\n const currentDate = new Date();\n\n message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');\n message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');\n if (typeof message.options.from === 'string') {\n message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));\n }\n if (typeof message.options.to === 'string') {\n message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));\n }\n if (\n currentDate > message.options.from && currentDate < message.options.to) {\n\n message = this.handleTemplate(message);\n\n let notification: Notification;\n if (message.text) {\n notification = this.notificationService.create(\n message.title,\n message.text,\n (message.type as any) as NotificationType,\n message.options\n );\n } else if (message.html) {\n if (!message.icon) {\n message.options.theClass = message.options.theClass\n ? message.options.theClass + ' noIcon'\n : 'noIcon';\n }\n\n notification = this.notificationService.html(\n message.html,\n (message.type as any) as NotificationType,\n message.options\n );\n } else {\n return;\n }\n\n if (message.icon !== undefined) {\n this.addIcon(notification, message.icon);\n }\n message.options.id = notification.id;\n return notification;\n }\n return;\n }\n\n success(text: string, title?: string, options: any = {}) {\n return this.message({\n text,\n title,\n icon: options.icon || 'check',\n options,\n type: MessageType.SUCCESS\n });\n }\n\n error(text: string, title?: string, options: any = {}) {\n return this.message({\n text,\n title,\n icon: options.icon || 'error_outline',\n options,\n type: MessageType.ERROR\n });\n }\n\n info(text: string, title?: string, options: any = {}) {\n return this.message({\n text,\n title,\n icon: options.icon || 'info_outline',\n options,\n type: MessageType.INFO\n });\n }\n\n alert(text: string, title?: string, options: any = {}) {\n return this.message({\n text,\n title,\n icon: options.icon || 'access_alarm',\n options,\n type: MessageType.ALERT\n });\n }\n\n remove(id?: string) {\n this.notificationService.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (mess.type !== 'error') {\n this.remove(mess.options.id);\n }\n }\n }\n\n private addIcon(notification: Notification, icon: string) {\n // There is no way to add an icon to a notification when reating\n // it so we simply set it on the notification directly.\n // See https://github.com/flauc/angular2-notifications/issues/165\n notification.icon = `\n <mat-icon class=\"material-icons mat-icon mat-list-avatar\" svgIcon=\"${icon}\">\n </mat-icon>`;\n }\n\n private handleTemplate(message: Message): Message {\n if (!this.options.template || message.html) {\n return message;\n }\n\n let html = this.options.template;\n html = html.replace('${text}', message.text);\n html = html.replace('${title}', message.title);\n html = html.replace('${icon}', message.icon);\n\n message.html = html;\n message.text = undefined;\n message.title = undefined;\n message.icon = undefined;\n return message;\n }\n}\n","import { Injectable, Injector } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpEvent,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, finalize } from 'rxjs/operators';\r\n\r\nimport { MessageService } from '../message/shared/message.service';\r\nimport { LanguageService } from '../language/shared/language.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private messageService: MessageService,\r\n private injector: Injector\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n const errorContainer = { httpError: undefined };\r\n return next.handle(req).pipe(\r\n catchError(error => this.handleError(error, errorContainer)),\r\n finalize(() => {\r\n this.handleCaughtError(errorContainer);\r\n this.handleUncaughtError(errorContainer);\r\n })\r\n );\r\n }\r\n\r\n private handleError(\r\n httpError: HttpErrorResponse,\r\n errorContainer: { httpError: HttpErrorResponse }\r\n ) {\r\n if (httpError instanceof HttpErrorResponse) {\r\n const errorObj = httpError.error === 'object' ? httpError.error : {};\r\n errorObj.message = httpError.error.message || httpError.statusText;\r\n errorObj.caught = false;\r\n\r\n httpError = new HttpErrorResponse({\r\n error: errorObj,\r\n headers: httpError.headers,\r\n status: httpError.status,\r\n statusText: httpError.statusText,\r\n url: httpError.url\r\n });\r\n }\r\n\r\n errorContainer.httpError = httpError;\r\n return throwError(httpError);\r\n }\r\n\r\n private handleCaughtError(errorContainer: { httpError: HttpErrorResponse }) {\r\n const httpError = errorContainer.httpError;\r\n if (httpError && httpError.error.toDisplay) {\r\n httpError.error.caught = true;\r\n this.messageService.error(httpError.error.message, httpError.error.title);\r\n }\r\n }\r\n\r\n private handleUncaughtError(errorContainer: {\r\n httpError: HttpErrorResponse;\r\n }) {\r\n const httpError = errorContainer.httpError;\r\n if (httpError && !httpError.error.caught) {\r\n const translate = this.injector.get(LanguageService).translate;\r\n const message = translate.instant('igo.core.errors.uncaught.message');\r\n const title = translate.instant('igo.core.errors.uncaught.title');\r\n httpError.error.caught = true;\r\n this.messageService.error(message, title);\r\n }\r\n }\r\n}\r\n","import {\r\n NgModule,\r\n ModuleWithProviders,\r\n Optional,\r\n SkipSelf\r\n} from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { ErrorInterceptor } from './error.interceptor';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class IgoErrorModule {\r\n static forRoot(): ModuleWithProviders<IgoErrorModule> {\r\n return {\r\n ngModule: IgoErrorModule,\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorInterceptor,\r\n multi: true\r\n }\r\n ]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: IgoErrorModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'IgoErrorModule is already loaded. Import it in the AppModule only'\r\n );\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\n\r\nimport { IgoActivityModule } from './activity/activity.module';\r\nimport { IgoConfigModule } from './config/config.module';\r\nimport { IgoLanguageModule } from './language/language.module';\r\nimport { IgoMessageModule } from './message/message.module';\r\nimport { IgoErrorModule } from './request/error.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n IgoActivityModule.forRoot(),\r\n IgoConfigModule.forRoot(),\r\n IgoErrorModule.forRoot(),\r\n IgoLanguageModule.forRoot(),\r\n IgoMessageModule.forRoot()\r\n ],\r\n declarations: [],\r\n exports: [\r\n IgoActivityModule,\r\n IgoConfigModule,\r\n IgoErrorModule,\r\n IgoLanguageModule,\r\n IgoMessageModule\r\n ]\r\n})\r\nexport class IgoCoreModule {\r\n static forRoot(): ModuleWithProviders<IgoCoreModule> {\r\n return {\r\n ngModule: IgoCoreModule,\r\n providers: []\r\n };\r\n }\r\n\r\n constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) {\r\n matIconRegistry.addSvgIconSet(\r\n domSanitizer.bypassSecurityTrustResourceUrl(\r\n './assets/igo2/core/icons/mdi.svg'\r\n )\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HammerGestureConfig } from '@angular/platform-browser';\r\n\r\n\r\n@Injectable()\r\nexport class IgoGestureConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const mc = super.buildHammer(element) as any;\r\n mc.set({ touchAction: 'pan-y' });\r\n return mc;\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { HammerModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';\r\n\r\nimport { IgoGestureConfig } from './gesture.provider';\r\n\r\n@NgModule({\r\n imports: [HammerModule],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class IgoGestureModule {\r\n static forRoot(): ModuleWithProviders<IgoGestureModule> {\r\n return {\r\n ngModule: IgoGestureModule,\r\n providers: [\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: IgoGestureConfig\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpRequest,\r\n HttpResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class LoggingInterceptor implements HttpInterceptor {\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n const started = Date.now();\r\n let ok: string;\r\n\r\n // extend server response observable with logging\r\n return next.handle(req).pipe(\r\n tap(\r\n // Succeeds when there is a response; ignore other events\r\n event => (ok = event instanceof HttpResponse ? 'succeeded' : ''),\r\n // Operation failed; error is an HttpErrorResponse\r\n error => (ok = 'failed')\r\n ),\r\n // Log when response observable either completes or errors\r\n finalize(() => {\r\n const elapsed = Date.now() - started;\r\n const msg = `${req.method} \"${req.urlWithParams}\"\r\n ${ok} in ${elapsed} ms.`;\r\n\r\n console.log(msg);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { LoggingInterceptor } from './logging.interceptor';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class IgoLoggingModule {\r\n static forRoot(): ModuleWithProviders<IgoLoggingModule> {\r\n return {\r\n ngModule: IgoLoggingModule,\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: LoggingInterceptor,\r\n multi: true\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { Injectable, Inject, InjectionToken, Optional } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { RouteServiceOptions } from './route.interface';\n\nexport let ROUTE_SERVICE_OPTIONS = new InjectionToken<RouteServiceOptions>(\n 'routeServiceOptions'\n);\n\nexport function provideRouteServiceOptions(options: RouteServiceOptions) {\n return {\n provide: ROUTE_SERVICE_OPTIONS,\n useValue: options\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService {\n public options: RouteServiceOptions;\n\n constructor(\n public route: ActivatedRoute,\n @Inject(ROUTE_SERVICE_OPTIONS)\n @Optional()\n options: RouteServiceOptions\n ) {\n const defaultOptions = {\n centerKey: 'center',\n zoomKey: 'zoom',\n projectionKey: 'projection',\n contextKey: 'context',\n searchKey: 'search',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n directionsCoordKey: 'routing',\n toolKey: 'tool',\n wmsUrlKey: 'wmsUrl',\n wmsLayersKey: 'wmsLayers',\n wmtsUrlKey: 'wmtsUrl',\n wmtsLayersKey: 'wmtsLayers',\n arcgisUrlKey: 'arcgisUrl',\n arcgisLayersKey: 'arcgisLayers',\n iarcgisUrlKey: 'iarcgisUrl',\n iarcgisLayersKey: 'iarcgisLayers',\n tarcgisUrlKey: 'tarcgisUrl',\n tarcgisLayersKey: 'tarcgisLayers',\n vectorKey: 'vector'\n };\n this.options = Object.assign({}, defaultOptions, options);\n }\n\n get queryParams(): Observable<Params> {\n return this.route.queryParams;\n }\n}\n","import { Injectable } from '@angular/core';\r\n\r\nimport { ConfigService } from '../../config/config.service';\r\n\r\nimport { AnalyticsOptions } from './analytics.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnalyticsService {\r\n private options: AnalyticsOptions;\r\n\r\n get paq() {\r\n return ((window as any)._paq = (window as any)._paq || []);\r\n }\r\n\r\n constructor(private config: ConfigService) {\r\n this.options = this.config.getConfig('analytics') || {};\r\n\r\n if (this.options.provider === 'matomo') {\r\n this.initMatomo();\r\n }\r\n }\r\n\r\n private initMatomo() {\r\n if (!this.options.url || !this.options.id) {\r\n return;\r\n }\r\n const url =\r\n this.options.url.substr(-1) === '/'\r\n ? this.options.url + 'matomo'\r\n : this.options.url;\r\n\r\n // this.paq.push(['trackPageView']);\r\n // this.paq.push(['enableLinkTracking']);\r\n (() => {\r\n this.paq.push(['setTrackerUrl', url + '.php']);\r\n this.paq.push(['setSiteId', this.options.id]);\r\n const g = document.createElement('script');\r\n const s = document.getElementsByTagName('script')[0];\r\n g.type = 'text/javascript';\r\n g.async = true;\r\n g.defer = true;\r\n g.src = url + '.js';\r\n s.parentNode.insertBefore(g, s);\r\n })();\r\n }\r\n\r\n public setUser(\r\n user?: {\r\n id: number;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n },\r\n profils?: string[]\r\n ) {\r\n if (this.options.provider === 'matomo') {\r\n if (!user) {\r\n this.paq.push(['resetUserId']);\r\n this.paq.push(['deleteCustomVariable', 1, 'user']);\r\n this.paq.push(['deleteCustomVariable', 2, 'name']);\r\n this.paq.push(['deleteCustomVariable', 3, 'profils']);\r\n } else {\r\n this.paq.push(['setUserId', user.id]);\r\n\r\n const name = `${user.firstName} ${user.lastName}`;\r\n this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);\r\n this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);\r\n this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);\r\n }\r\n\r\n this.paq.push(['trackPageView']);\r\n this.paq.push(['enableLinkTracking']);\r\n }\r\n }\r\n\r\n public trackSearch(term: string, nbResults: number) {\r\n if (this.options.provider === 'matomo') {\r\n this.paq.push(['trackSiteSearch', term, false, nbResults]);\r\n }\r\n }\r\n\r\n public trackEvent(category: string, action: string, name: string) {\r\n if (this.options.provider === 'matomo') {\r\n this.paq.push(['trackEvent', category, action, name]);\r\n }\r\n }\r\n}\r\n","export enum Media {\r\n Mobile = 'mobile',\r\n Tablet = 'tablet',\r\n Desktop = 'desktop'\r\n}\r\n\r\nexport enum MediaOrientation {\r\n Portrait = 'portrait',\r\n Landscape = 'landscape'\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Media, MediaOrientation } from './media.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediaService {\n public media$ = new BehaviorSubject<Media>(undefined);\n public orientation$ = new BehaviorSubject<MediaOrientation>(undefined);\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver\n .observe([Breakpoints.HandsetLandscape])\n .subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.HandsetPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.TabletLandscape]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.TabletPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n }\n\n getMedia(): Media {\n return this.media$.value;\n }\n\n getOrientation(): MediaOrientation {\n return this.orientation$.value;\n }\n\n isTouchScreen(): boolean {\n return 'ontouchstart' in document.documentElement ? true : false;\n }\n\n isMobile(): boolean {\n const media = this.getMedia();\n return media === 'mobile';\n }\n\n isDesktop(): boolean {\n const media = this.getMedia();\n return media === 'desktop';\n }\n}\n","export enum StorageScope {\n SESSION = 'Session',\n LOCAL = 'Local'\n}\n\nexport interface StorageOptions {\n key: string;\n}\n\nexport interface StorageServiceEvent {\n key?: string;\n scope: StorageScope;\n event: StorageServiceEventEnum;\n previousValue?: any;\n currentValue?: any;\n}\n\nexport enum StorageServiceEventEnum {\n ADDED = 'Added',\n MODIFIED = 'Modified',\n REMOVED = 'Removed',\n CLEARED = 'Cleared'\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '../config/config.service';\nimport { StorageScope, StorageOptions, StorageServiceEvent, StorageServiceEventEnum } from './storage.interface';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n protected options: StorageOptions;\n\n public storageChange$: BehaviorSubject<StorageServiceEvent> = new BehaviorSubject(undefined);\n\n constructor(private config: ConfigService) {\n this.options = this.config.getConfig('storage') || { key: 'igo' };\n }\n /**\n * Use to get the data found in storage file\n */\n get(key: string, scope?: StorageScope): string | object | boolean | number {\n let value: any;\n\n if (!scope || scope === StorageScope.SESSION) {\n value = sessionStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (scope === StorageScope.LOCAL || (!value && !scope)) {\n value = localStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (value) {\n try {\n value = JSON.parse(value);\n } catch {\n value = value;\n }\n }\n\n return value;\n }\n\n set(\n key: string,\n value: string | object | boolean | number,\n scope: StorageScope = StorageScope.LOCAL\n ) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.setItem(\n `${this.options.key}.${key}`,\n JSON.stringify(value)\n );\n } else {\n localStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key, scope,\n event: previousValue !== undefined ? StorageServiceEventEnum.MODIFIED : StorageServiceEventEnum.ADDED,\n previousValue,\n currentValue\n });\n }\n }\n\n remove(key: string, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.removeItem(`${this.options.key}.${key}`);\n } else {\n localStorage.removeItem(`${this.options.key}.${key}`);\n }\n this.storageChange$.next({key, scope, event: StorageServiceEventEnum.REMOVED, previousValue });\n }\n\n clear(scope: StorageScope = StorageScope.LOCAL) {\n if (scope === StorageScope.SESSION) {\n sessionStorage.clear();\n } else {\n localStorage.clear();\n }\n this.storageChange$.next({scope, event: StorageServiceEventEnum.CLEARED });\n }\n}\n","import { Injectable, EventEmitter, OnDestroy, Injector } from '@angular/core';\r\nimport { Observable, Subscription, fromEvent } from 'rxjs';\r\nimport { debounceTime, startWith } from 'rxjs/operators';\r\n\r\nimport { MessageService } from '../message/shared/message.service';\r\nimport { LanguageService } from '../language/shared/language.service';\r\nimport { ConnectionState } from './network.interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkService implements OnDestroy {\r\n private stateChangeEventEmitter = new EventEmitter<ConnectionState>();\r\n private onlineSubscription: Subscription;\r\n private offlineSubscription: Subscription;\r\n\r\n private state: ConnectionState = {\r\n connection: window.navigator.onLine\r\n };\r\n\r\n constructor(\r\n private messageService: MessageService,\r\n private injector: Injector\r\n ) {\r\n this.checkNetworkState();\r\n }\r\n\r\n private checkNetworkState() {\r\n this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {\r\n const translate = this.injector.get(LanguageService).translate;\r\n const message = translate.instant('igo.core.network.online.message');\r\n const title = translate.instant('igo.core.network.online.title');\r\n this.messageService.info(message, title);\r\n this.state.connection = true;\r\n this.emitEvent();\r\n });\r\n\r\n this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {\r\n const translate = this.injector.get(LanguageService).translate;\r\n const message = translate.instant('igo.core.network.offline.message');\r\n const title = translate.instant('igo.core.network.offline.title');\r\n this.messageService.info(message, title);\r\n this.state.connection = false;\r\n this.emitEvent();\r\n });\r\n }\r\n\r\n private emitEvent() {\r\n this.stateChangeEventEmitter.emit(this.state);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n try {\r\n this.offlineSubscription.unsubscribe();\r\n this.onlineSubscription.unsubscribe();\r\n } catch (e) {}\r\n }\r\n\r\n currentState(reportState = true): Observable<ConnectionState> {\r\n return reportState\r\n ? this.stateChangeEventEmitter.pipe(\r\n debounceTime(300),\r\n startWith(this.state)\r\n )\r\n : this.stateChangeEventEmitter.pipe(debounceTime(300));\r\n }\r\n}\r\n","/*\r\n * Public API Surface of core\r\n */\r\n\r\nexport * from './lib/core.module';\r\nexport * from './lib/activity/activity.module';\r\nexport * from './lib/config/config.module';\r\nexport * from './lib/gesture/gesture.module';\r\nexport * from './lib/language/language.module';\r\nexport * from './lib/message/message.module';\r\nexport * from './lib/request/error.module';\r\nexport * from './lib/request/logging.module';\r\n\r\nexport * from './lib/config/config.provider';\r\nexport * from './lib/gesture/gesture.provider';\r\nexport * from './lib/language/shared/language.provider';\r\nexport * from './lib/route/route.service';\r\nexport * from './lib/route/route.interface';\r\n\r\nexport * from './lib/activity';\r\nexport * from './lib/analytics';\r\nexport * from './lib/config';\r\nexport * from './lib/language';\r\nexport * from './lib/media';\r\nexport * from './lib/message';\r\nexport * from './lib/request';\r\nexport * from './lib/storage';\r\nexport * from './lib/network';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-core.js","sources":["../../../packages/core/src/lib/activity/activity.service.ts","../../../packages/core/src/lib/activity/activity.interceptor.ts","../../../packages/core/src/lib/activity/activity.module.ts","../../../packages/core/src/lib/config/version.ts","../../../packages/core/src/lib/config/config.service.ts","../../../packages/core/src/lib/config/config.provider.ts","../../../packages/core/src/lib/config/config.module.ts","../../../packages/core/src/lib/language/shared/language.loader.ts","../../../packages/core/src/lib/language/shared/language.provider.ts","../../../packages/core/src/lib/language/shared/missing-translation.guard.ts","../../../packages/core/src/lib/language/language.module.ts","../../../packages/core/src/lib/message/message.module.ts","../../../packages/core/src/lib/language/shared/language.service.ts","../../../packages/core/src/lib/message/shared/message.enum.ts","../../../packages/core/src/lib/message/shared/message.service.ts","../../../packages/core/src/lib/request/error.interceptor.ts","../../../packages/core/src/lib/request/error.module.ts","../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/lib/gesture/gesture.provider.ts","../../../packages/core/src/lib/gesture/gesture.module.ts","../../../packages/core/src/lib/request/logging.interceptor.ts","../../../packages/core/src/lib/request/logging.module.ts","../../../packages/core/src/lib/route/route.service.ts","../../../packages/core/src/lib/analytics/shared/analytics.service.ts","../../../packages/core/src/lib/media/media.enum.ts","../../../packages/core/src/lib/media/media.service.ts","../../../packages/core/src/lib/storage/storage.interface.ts","../../../packages/core/src/lib/storage/storage.service.ts","../../../packages/core/src/lib/network/network.service.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { uuid } from '@igo2/utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActivityService {\n public counter$ = new BehaviorSubject<number>(0);\n\n private ids: string[] = [];\n\n constructor() {}\n\n register(): string {\n const id = uuid();\n this.ids.push(id);\n this.counter$.next(this.ids.length);\n\n return id;\n }\n\n unregister(id: string) {\n const index = this.ids.indexOf(id);\n if (index === -1) {\n return;\n }\n this.ids.splice(index, 1);\n\n this.counter$.next(this.ids.length);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nimport { ActivityService } from './activity.service';\n\n@Injectable()\nexport class ActivityInterceptor implements HttpInterceptor {\n constructor(private activityService: ActivityService) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const activity = req.headers.get('activityInterceptor');\n if (activity) {\n const actReq = req.clone({\n headers: req.headers.delete('activityInterceptor')\n });\n if (activity === 'false') {\n return next.handle(actReq);\n }\n }\n\n const id = this.activityService.register();\n\n return next.handle(req).pipe(\n finalize(() => {\n this.activityService.unregister(id);\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { ActivityInterceptor } from './activity.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoActivityModule {\n static forRoot(): ModuleWithProviders<IgoActivityModule> {\n return {\n ngModule: IgoActivityModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ActivityInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","export interface Version {\n lib: string;\n releaseDate: number;\n}\n\nexport const version: Version = {\n lib: '1.10.0',\n releaseDate: 1639407270981\n};\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { ConfigOptions } from './config.interface';\nimport { version } from './version';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService {\n private config: object = {};\n\n constructor(private injector: Injector) {}\n\n /**\n * Use to get the data found in config file\n */\n public getConfig(key: string): any {\n return ObjectUtils.resolve(this.config, key);\n }\n\n /**\n * This method loads \"[path]\" to get all config's variables\n */\n public load(options: ConfigOptions) {\n const baseConfig = options.default || {};\n if (!options.path) {\n this.config = baseConfig;\n return true;\n }\n\n const http = this.injector.get(HttpClient);\n\n return new Promise((resolve, _reject) => {\n http\n .get(options.path)\n .pipe(\n catchError((error: any): any => {\n console.log(`Configuration file ${options.path} could not be read`);\n resolve(true);\n return throwError(error.error || 'Server error');\n })\n )\n .subscribe((configResponse: object) => {\n this.config = ObjectUtils.mergeDeep(\n ObjectUtils.mergeDeep({ version }, baseConfig),\n configResponse\n );\n resolve(true);\n });\n });\n }\n}\n","import { APP_INITIALIZER, InjectionToken } from '@angular/core';\n\nimport { ConfigService } from './config.service';\nimport { ConfigOptions } from './config.interface';\n\nexport let CONFIG_OPTIONS = new InjectionToken<ConfigOptions>('configOptions');\n\nexport function provideConfigOptions(options: ConfigOptions) {\n return {\n provide: CONFIG_OPTIONS,\n useValue: options\n };\n}\n\nexport function configFactory(\n configService: ConfigService,\n options: ConfigOptions\n) {\n return () => configService.load(options);\n}\n\nexport function provideConfigLoader() {\n return {\n provide: APP_INITIALIZER,\n useFactory: configFactory,\n multi: true,\n deps: [ConfigService, CONFIG_OPTIONS]\n };\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { provideConfigOptions, provideConfigLoader } from './config.provider';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoConfigModule {\n static forRoot(): ModuleWithProviders<IgoConfigModule> {\n return {\n ngModule: IgoConfigModule,\n providers: [provideConfigOptions({}), provideConfigLoader()]\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\n\nimport { of, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { TranslateLoader } from '@ngx-translate/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { ConfigService } from '../../config/config.service';\n\ndeclare function require(arg: string): any;\n\nexport class LanguageLoader implements TranslateLoader {\n constructor(\n private http: HttpClient,\n private prefix?: string | string[],\n private suffix: string = '.json',\n private config?: ConfigService\n ) {}\n\n public getTranslation(lang: string): any {\n const translation = require(`../locale/${lang}.json`);\n const igoLocale$ = of(translation);\n\n if (this.config && !this.prefix) {\n const prefix = this.config.getConfig('language.prefix');\n this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];\n }\n\n if (!this.prefix || this.prefix.length === 0) {\n return igoLocale$;\n }\n\n const appLocale$ = (this.prefix as string[]).map((prefix) =>\n this.http.get(`${prefix}${lang}${this.suffix}`)\n );\n\n const locale$ = combineLatest([igoLocale$, ...appLocale$]);\n\n return locale$.pipe(\n map((translations) => {\n return translations.reduce(\n (acc, current) => ObjectUtils.mergeDeep(acc, current),\n {}\n );\n })\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { TranslateLoader } from '@ngx-translate/core';\n\nimport { ConfigService } from '../../config/config.service';\nimport { LanguageLoader } from './language.loader';\n\nexport function defaultLanguageLoader(\n http: HttpClient,\n config?: ConfigService\n) {\n return new LanguageLoader(http, undefined, undefined, config);\n}\n\nexport function provideLanguageLoader(loader?) {\n return {\n provide: TranslateLoader,\n useFactory: loader || defaultLanguageLoader,\n deps: [HttpClient]\n };\n}\n\nexport function provideDefaultLanguageLoader(loader?) {\n return {\n provide: TranslateLoader,\n useFactory: loader || defaultLanguageLoader,\n deps: [HttpClient, ConfigService]\n };\n}\n","import {\n MissingTranslationHandler,\n MissingTranslationHandlerParams\n} from '@ngx-translate/core';\n\nexport class IgoMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n if (!params.translateService.langs.length) {\n const error =\n 'Translations are not yet loaded. \\\n Check that the LanguageService is injected.';\n throw new Error(error);\n }\n\n if (params.key.substr(0, 4) === 'igo.') {\n throw new Error(`The Key \"${params.key}\" is missing in locale file.`);\n } else {\n return params.key;\n }\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport {\n TranslateModule,\n MissingTranslationHandler\n} from '@ngx-translate/core';\n\nimport { provideDefaultLanguageLoader } from './shared/language.provider';\nimport { IgoMissingTranslationHandler } from './shared/missing-translation.guard';\n\n@NgModule({\n imports: [\n TranslateModule.forRoot({\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: IgoMissingTranslationHandler\n }\n })\n ],\n declarations: [],\n exports: [TranslateModule]\n})\nexport class IgoLanguageModule {\n static forRoot(): ModuleWithProviders<IgoLanguageModule> {\n return {\n ngModule: IgoLanguageModule,\n providers: [provideDefaultLanguageLoader()]\n };\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { GlobalConfig, ToastrModule } from 'ngx-toastr';\n\n@NgModule({\n imports: [CommonModule,\n ToastrModule.forRoot({\n positionClass: 'toast-bottom-right',\n timeOut: 10000,\n extendedTimeOut: 10000,\n messageClass: 'toast-message mat-typography',\n closeButton: true,\n progressBar: true,\n enableHtml: true,\n tapToDismiss: true,\n maxOpened: 4,\n preventDuplicates: true,\n resetTimeoutOnDuplicate: true,\n countDuplicates: true,\n includeTitleDuplicates: true\n } as GlobalConfig)],\n declarations: [],\n exports: []\n})\nexport class IgoMessageModule {\n static forRoot(): ModuleWithProviders<IgoMessageModule> {\n return {\n ngModule: IgoMessageModule,\n providers: []\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n private language: string = this.translate.getBrowserLang();\n\n constructor(public translate: TranslateService) {\n const lang = this.getLanguage();\n this.translate.setDefaultLang(lang);\n }\n\n public getLanguage(): string {\n return this.language.match(/en|fr/) ? this.language : 'en';\n }\n\n public setLanguage(language: string) {\n this.language = language.match(/en|fr/) ? language : 'en';\n this.translate.use(this.language);\n this.translate.reloadLang(this.language);\n }\n}\n","export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning', // todo delete (transition to ngx-toastr)\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success'\n}\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ConfigService } from '../../config/config.service';\n\nimport { Message, MessageOptions } from './message.interface';\nimport { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';\nimport { MessageType } from './message.enum';\nimport { LanguageService } from '../../language/shared/language.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options: MessageOptions;\n\n constructor(\n private configService: ConfigService,\n private toastr: ToastrService,\n private languageService: LanguageService\n ) {\n this.options = this.configService.getConfig('message') || {};\n }\n\n showError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n return this.error(httpError.error.message, httpError.error.title);\n }\n\n message(message: Message) {\n this.messages$.next(this.messages$.value.concat([message]));\n\n message.options = message.options || {} as MessageOptions;\n const currentDate = new Date();\n\n message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');\n message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');\n if (typeof message.options.from === 'string') {\n message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));\n }\n if (typeof message.options.to === 'string') {\n message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));\n }\n if (\n currentDate > message.options.from && currentDate < message.options.to) {\n\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast<any>;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(message.text, message.title, message.options);\n break;\n case MessageType.ERROR:\n messageShown = this.error(message.text, message.title, message.options);\n break;\n case MessageType.INFO:\n messageShown = this.info(message.text, message.title, message.options);\n break;\n case MessageType.ALERT:\n case MessageType.WARNING:\n messageShown = this.alert(message.text, message.title, message.options);\n break;\n default:\n messageShown = this.info(message.text, message.title, message.options);\n break;\n }\n message.options.id = messageShown.toastId;\n }\n }\n }\n\n success(text: string, title: string = 'igo.core.message.success', options: Partial<IndividualConfig> = {}): ActiveToast<any> {\n const message = this.languageService.translate.instant(text);\n const translatedTitle = this.languageService.translate.instant(title);\n return this.toastr.success(message, translatedTitle, options);\n }\n\n error(text: string, title: string = 'igo.core.message.error', options: Partial<IndividualConfig> = {}): ActiveToast<any> {\n const message = this.languageService.translate.instant(text);\n const translatedTitle = this.languageService.translate.instant(title);\n return this.toastr.error(message, translatedTitle, options);\n }\n\n info(text: string, title: string = 'igo.core.message.info', options: Partial<IndividualConfig> = {}): ActiveToast<any> {\n const message = this.languageService.translate.instant(text);\n const translatedTitle = this.languageService.translate.instant(title);\n return this.toastr.info(message, translatedTitle, options);\n }\n\n alert(text: string, title: string = 'igo.core.message.alert', options: Partial<IndividualConfig> = {}): ActiveToast<any> {\n const message = this.languageService.translate.instant(text);\n const translatedTitle = this.languageService.translate.instant(title);\n return this.toastr.warning(message, translatedTitle, options);\n }\n\n remove(id?: number) {\n this.toastr.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (mess.type !== MessageType.ERROR) {\n this.remove(mess.options.id);\n }\n }\n }\n\n private handleTemplate(message: Message): Message {\n if (!this.options.template || message.html) {\n return message;\n }\n\n let html = this.options.template;\n html = html.replace('${text}', message.text);\n html = html.replace('${title}', message.title);\n\n message.html = undefined;\n message.text = html;\n message.title = undefined;\n return message;\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport {\n HttpInterceptor,\n HttpHandler,\n HttpRequest,\n HttpEvent,\n HttpErrorResponse\n} from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\n\nimport { MessageService } from '../message/shared/message.service';\nimport { LanguageService } from '../language/shared/language.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(\n private messageService: MessageService,\n private injector: Injector\n ) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const errorContainer = { httpError: undefined };\n return next.handle(req).pipe(\n catchError(error => this.handleError(error, errorContainer)),\n finalize(() => {\n this.handleCaughtError(errorContainer);\n this.handleUncaughtError(errorContainer);\n })\n );\n }\n\n private handleError(\n httpError: HttpErrorResponse,\n errorContainer: { httpError: HttpErrorResponse }\n ) {\n if (httpError instanceof HttpErrorResponse) {\n const errorObj = httpError.error === 'object' ? httpError.error : {};\n errorObj.message = httpError.error.message || httpError.statusText;\n errorObj.caught = false;\n\n httpError = new HttpErrorResponse({\n error: errorObj,\n headers: httpError.headers,\n status: httpError.status,\n statusText: httpError.statusText,\n url: httpError.url\n });\n }\n\n errorContainer.httpError = httpError;\n return throwError(httpError);\n }\n\n private handleCaughtError(errorContainer: { httpError: HttpErrorResponse }) {\n const httpError = errorContainer.httpError;\n if (httpError && httpError.error.toDisplay) {\n httpError.error.caught = true;\n this.messageService.error(httpError.error.message, httpError.error.title);\n }\n }\n\n private handleUncaughtError(errorContainer: {\n httpError: HttpErrorResponse;\n }) {\n const httpError = errorContainer.httpError;\n if (httpError && !httpError.error.caught) {\n const translate = this.injector.get(LanguageService).translate;\n const message = translate.instant('igo.core.errors.uncaught.message');\n const title = translate.instant('igo.core.errors.uncaught.title');\n httpError.error.caught = true;\n this.messageService.error(message, title);\n }\n }\n}\n","import {\n NgModule,\n ModuleWithProviders,\n Optional,\n SkipSelf\n} from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { ErrorInterceptor } from './error.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoErrorModule {\n static forRoot(): ModuleWithProviders<IgoErrorModule> {\n return {\n ngModule: IgoErrorModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n }\n ]\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: IgoErrorModule) {\n if (parentModule) {\n throw new Error(\n 'IgoErrorModule is already loaded. Import it in the AppModule only'\n );\n }\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatIconRegistry } from '@angular/material/icon';\n\nimport { IgoActivityModule } from './activity/activity.module';\nimport { IgoConfigModule } from './config/config.module';\nimport { IgoLanguageModule } from './language/language.module';\nimport { IgoMessageModule } from './message/message.module';\nimport { IgoErrorModule } from './request/error.module';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n IgoActivityModule.forRoot(),\n IgoConfigModule.forRoot(),\n IgoErrorModule.forRoot(),\n IgoLanguageModule.forRoot(),\n IgoMessageModule.forRoot()\n ],\n declarations: [],\n exports: [\n IgoActivityModule,\n IgoConfigModule,\n IgoErrorModule,\n IgoLanguageModule,\n IgoMessageModule\n ]\n})\nexport class IgoCoreModule {\n static forRoot(): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: []\n };\n }\n\n constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) {\n matIconRegistry.addSvgIconSet(\n domSanitizer.bypassSecurityTrustResourceUrl(\n './assets/igo2/core/icons/mdi.svg'\n )\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HammerGestureConfig } from '@angular/platform-browser';\n\n\n@Injectable()\nexport class IgoGestureConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = super.buildHammer(element) as any;\n mc.set({ touchAction: 'pan-y' });\n return mc;\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HammerModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';\n\nimport { IgoGestureConfig } from './gesture.provider';\n\n@NgModule({\n imports: [HammerModule],\n declarations: [],\n exports: []\n})\nexport class IgoGestureModule {\n static forRoot(): ModuleWithProviders<IgoGestureModule> {\n return {\n ngModule: IgoGestureModule,\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: IgoGestureConfig\n }\n ]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpInterceptor,\n HttpHandler,\n HttpEvent,\n HttpRequest,\n HttpResponse\n} from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { tap, finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class LoggingInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const started = Date.now();\n let ok: string;\n\n // extend server response observable with logging\n return next.handle(req).pipe(\n tap(\n // Succeeds when there is a response; ignore other events\n event => (ok = event instanceof HttpResponse ? 'succeeded' : ''),\n // Operation failed; error is an HttpErrorResponse\n error => (ok = 'failed')\n ),\n // Log when response observable either completes or errors\n finalize(() => {\n const elapsed = Date.now() - started;\n const msg = `${req.method} \"${req.urlWithParams}\"\n ${ok} in ${elapsed} ms.`;\n\n console.log(msg);\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { LoggingInterceptor } from './logging.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoLoggingModule {\n static forRoot(): ModuleWithProviders<IgoLoggingModule> {\n return {\n ngModule: IgoLoggingModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: LoggingInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","import { Injectable, Inject, InjectionToken, Optional } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { RouteServiceOptions } from './route.interface';\n\nexport let ROUTE_SERVICE_OPTIONS = new InjectionToken<RouteServiceOptions>(\n 'routeServiceOptions'\n);\n\nexport function provideRouteServiceOptions(options: RouteServiceOptions) {\n return {\n provide: ROUTE_SERVICE_OPTIONS,\n useValue: options\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService {\n public options: RouteServiceOptions;\n\n constructor(\n private router: Router,\n public route: ActivatedRoute,\n @Inject(ROUTE_SERVICE_OPTIONS)\n @Optional()\n options: RouteServiceOptions\n ) {\n const defaultOptions = {\n centerKey: 'center',\n zoomKey: 'zoom',\n projectionKey: 'projection',\n contextKey: 'context',\n searchKey: 'search',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n directionsCoordKey: 'routing',\n directionsOptionsKey: 'routingOptions',\n toolKey: 'tool',\n wmsUrlKey: 'wmsUrl',\n wmsLayersKey: 'wmsLayers',\n wmtsUrlKey: 'wmtsUrl',\n wmtsLayersKey: 'wmtsLayers',\n arcgisUrlKey: 'arcgisUrl',\n arcgisLayersKey: 'arcgisLayers',\n iarcgisUrlKey: 'iarcgisUrl',\n iarcgisLayersKey: 'iarcgisLayers',\n tarcgisUrlKey: 'tarcgisUrl',\n tarcgisLayersKey: 'tarcgisLayers',\n vectorKey: 'vector'\n };\n this.options = Object.assign({}, defaultOptions, options);\n }\n\n get queryParams(): Observable<Params> {\n let url = decodeURIComponent(location.search);\n if (url.includes('¢er=')) {\n url = url.replace('¢er', '¢er');\n const queryParams: any = url\n .slice(1)\n .split('&')\n .map(p => p.split('='))\n .reduce((obj, pair) => {\n const [key, value] = pair.map(decodeURIComponent);\n obj[key] = value;\n return obj;\n }, {});\n this.router.navigate([], { queryParams });\n }\n return this.route.queryParams;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '../../config/config.service';\n\nimport { AnalyticsOptions } from './analytics.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsService {\n private options: AnalyticsOptions;\n\n get paq() {\n return ((window as any)._paq = (window as any)._paq || []);\n }\n\n constructor(private config: ConfigService) {\n this.options = this.config.getConfig('analytics') || {};\n\n if (this.options.provider === 'matomo') {\n this.initMatomo();\n }\n }\n\n private initMatomo() {\n if (!this.options.url || !this.options.id) {\n return;\n }\n const url =\n this.options.url.substr(-1) === '/'\n ? this.options.url + 'matomo'\n : this.options.url;\n\n // this.paq.push(['trackPageView']);\n // this.paq.push(['enableLinkTracking']);\n (() => {\n this.paq.push(['setTrackerUrl', url + '.php']);\n this.paq.push(['setSiteId', this.options.id]);\n const g = document.createElement('script');\n const s = document.getElementsByTagName('script')[0];\n g.type = 'text/javascript';\n g.async = true;\n g.defer = true;\n g.src = url + '.js';\n s.parentNode.insertBefore(g, s);\n })();\n }\n\n public setUser(\n user?: {\n id: number;\n sourceId?: string;\n firstName?: string;\n lastName?: string;\n },\n profils?: string[]\n ) {\n if (this.options.provider === 'matomo') {\n if (!user) {\n this.paq.push(['resetUserId']);\n this.paq.push(['deleteCustomVariable', 1, 'user']);\n this.paq.push(['deleteCustomVariable', 2, 'name']);\n this.paq.push(['deleteCustomVariable', 3, 'profils']);\n } else {\n this.paq.push(['setUserId', user.id]);\n\n const name = `${user.firstName} ${user.lastName}`;\n this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);\n this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);\n this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);\n }\n\n this.paq.push(['trackPageView']);\n this.paq.push(['enableLinkTracking']);\n }\n }\n\n public trackSearch(term: string, nbResults: number) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackSiteSearch', term, false, nbResults]);\n }\n }\n\n public trackEvent(category: string, action: string, name: string) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackEvent', category, action, name]);\n }\n }\n}\n","export enum Media {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop'\n}\n\nexport enum MediaOrientation {\n Portrait = 'portrait',\n Landscape = 'landscape'\n}\n","import { Injectable } from '@angular/core';\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Media, MediaOrientation } from './media.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediaService {\n public media$ = new BehaviorSubject<Media>(undefined);\n public orientation$ = new BehaviorSubject<MediaOrientation>(undefined);\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver\n .observe([Breakpoints.HandsetLandscape])\n .subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.HandsetPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.TabletLandscape]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.TabletPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe(res => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n }\n\n getMedia(): Media {\n return this.media$.value;\n }\n\n getOrientation(): MediaOrientation {\n return this.orientation$.value;\n }\n\n isTouchScreen(): boolean {\n return 'ontouchstart' in document.documentElement ? true : false;\n }\n\n isMobile(): boolean {\n const media = this.getMedia();\n return media === 'mobile';\n }\n\n isDesktop(): boolean {\n const media = this.getMedia();\n return media === 'desktop';\n }\n}\n","export enum StorageScope {\n SESSION = 'Session',\n LOCAL = 'Local'\n}\n\nexport interface StorageOptions {\n key: string;\n}\n\nexport interface StorageServiceEvent {\n key?: string;\n scope: StorageScope;\n event: StorageServiceEventEnum;\n previousValue?: any;\n currentValue?: any;\n}\n\nexport enum StorageServiceEventEnum {\n ADDED = 'Added',\n MODIFIED = 'Modified',\n REMOVED = 'Removed',\n CLEARED = 'Cleared'\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '../config/config.service';\nimport { StorageScope, StorageOptions, StorageServiceEvent, StorageServiceEventEnum } from './storage.interface';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n protected options: StorageOptions;\n\n public storageChange$: BehaviorSubject<StorageServiceEvent> = new BehaviorSubject(undefined);\n\n constructor(private config: ConfigService) {\n this.options = this.config.getConfig('storage') || { key: 'igo' };\n }\n /**\n * Use to get the data found in storage file\n */\n get(key: string, scope?: StorageScope): string | object | boolean | number {\n let value: any;\n\n if (!scope || scope === StorageScope.SESSION) {\n value = sessionStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (scope === StorageScope.LOCAL || (!value && !scope)) {\n value = localStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (value) {\n try {\n value = JSON.parse(value);\n } catch {\n value = value;\n }\n }\n\n return value;\n }\n\n set(\n key: string,\n value: string | object | boolean | number,\n scope: StorageScope = StorageScope.LOCAL\n ) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.setItem(\n `${this.options.key}.${key}`,\n JSON.stringify(value)\n );\n } else {\n localStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key, scope,\n event: previousValue !== undefined ? StorageServiceEventEnum.MODIFIED : StorageServiceEventEnum.ADDED,\n previousValue,\n currentValue\n });\n }\n }\n\n remove(key: string, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.removeItem(`${this.options.key}.${key}`);\n } else {\n localStorage.removeItem(`${this.options.key}.${key}`);\n }\n this.storageChange$.next({key, scope, event: StorageServiceEventEnum.REMOVED, previousValue });\n }\n\n clear(scope: StorageScope = StorageScope.LOCAL) {\n if (scope === StorageScope.SESSION) {\n sessionStorage.clear();\n } else {\n localStorage.clear();\n }\n this.storageChange$.next({scope, event: StorageServiceEventEnum.CLEARED });\n }\n}\n","import { Injectable, EventEmitter, OnDestroy, Injector } from '@angular/core';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { MessageService } from '../message/shared/message.service';\nimport { LanguageService } from '../language/shared/language.service';\nimport { ConnectionState } from './network.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService implements OnDestroy {\n private stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription: Subscription;\n private offlineSubscription: Subscription;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor(\n private messageService: MessageService,\n private injector: Injector\n ) {\n this.checkNetworkState();\n }\n\n private checkNetworkState() {\n this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {\n const translate = this.injector.get(LanguageService).translate;\n const message = translate.instant('igo.core.network.online.message');\n const title = translate.instant('igo.core.network.online.title');\n this.messageService.info(message, title);\n this.state.connection = true;\n this.emitEvent();\n });\n\n this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {\n const translate = this.injector.get(LanguageService).translate;\n const message = translate.instant('igo.core.network.offline.message');\n const title = translate.instant('igo.core.network.offline.title');\n this.messageService.info(message, title);\n this.state.connection = false;\n this.emitEvent();\n });\n }\n\n private emitEvent() {\n this.stateChangeEventEmitter.emit(this.state);\n }\n\n ngOnDestroy(): void {\n try {\n this.offlineSubscription.unsubscribe();\n this.onlineSubscription.unsubscribe();\n } catch (e) {}\n }\n\n currentState(reportState = true): Observable<ConnectionState> {\n return reportState\n ? this.stateChangeEventEmitter.pipe(\n debounceTime(300),\n startWith(this.state)\n )\n : this.stateChangeEventEmitter.pipe(debounceTime(300));\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\nexport * from './lib/activity/activity.module';\nexport * from './lib/config/config.module';\nexport * from './lib/gesture/gesture.module';\nexport * from './lib/language/language.module';\nexport * from './lib/message/message.module';\nexport * from './lib/request/error.module';\nexport * from './lib/request/logging.module';\n\nexport * from './lib/config/config.provider';\nexport * from './lib/gesture/gesture.provider';\nexport * from './lib/language/shared/language.provider';\nexport * from './lib/route/route.service';\nexport * from './lib/route/route.interface';\n\nexport * from './lib/activity';\nexport * from './lib/analytics';\nexport * from './lib/config';\nexport * from './lib/language';\nexport * from './lib/media';\nexport * from './lib/message';\nexport * from './lib/request';\nexport * from './lib/storage';\nexport * from './lib/network';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/lib/message/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "@igo2/angular2-notifications";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "ngx-toastr";
|
|
6
5
|
export declare class IgoMessageModule {
|
|
7
6
|
static forRoot(): ModuleWithProviders<IgoMessageModule>;
|
|
8
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgoMessageModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMessageModule,
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMessageModule, never, [typeof i1.CommonModule, typeof i2.ToastrModule], never>;
|
|
10
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<IgoMessageModule>;
|
|
11
10
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import { MessageType } from './message.enum';
|
|
3
|
-
import {
|
|
3
|
+
import { IndividualConfig } from 'ngx-toastr';
|
|
4
4
|
export interface Message {
|
|
5
5
|
title?: string;
|
|
6
6
|
text?: string;
|
|
7
7
|
html?: string | TemplateRef<any>;
|
|
8
|
-
icon?: string;
|
|
9
8
|
type?: MessageType;
|
|
10
9
|
options?: MessageOptions;
|
|
11
10
|
format?: 'text' | 'html';
|
|
12
11
|
}
|
|
13
|
-
export interface MessageOptions extends
|
|
12
|
+
export interface MessageOptions extends IndividualConfig {
|
|
14
13
|
template?: string;
|
|
15
14
|
from?: Date | string;
|
|
16
15
|
to?: Date | string;
|
|
17
|
-
id?:
|
|
16
|
+
id?: number;
|
|
17
|
+
showOnEachLayerVisibility?: boolean;
|
|
18
18
|
}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { Notification, NotificationsService } from '@igo2/angular2-notifications';
|
|
4
3
|
import { ConfigService } from '../../config/config.service';
|
|
5
4
|
import { Message } from './message.interface';
|
|
5
|
+
import { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';
|
|
6
|
+
import { LanguageService } from '../../language/shared/language.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class MessageService {
|
|
8
|
-
private notificationService;
|
|
9
9
|
private configService;
|
|
10
|
+
private toastr;
|
|
11
|
+
private languageService;
|
|
10
12
|
messages$: BehaviorSubject<Message[]>;
|
|
11
13
|
private options;
|
|
12
|
-
constructor(
|
|
13
|
-
showError(httpError: HttpErrorResponse):
|
|
14
|
-
message(message: Message):
|
|
15
|
-
success(text: string, title?: string, options?:
|
|
16
|
-
error(text: string, title?: string, options?:
|
|
17
|
-
info(text: string, title?: string, options?:
|
|
18
|
-
alert(text: string, title?: string, options?:
|
|
19
|
-
remove(id?:
|
|
14
|
+
constructor(configService: ConfigService, toastr: ToastrService, languageService: LanguageService);
|
|
15
|
+
showError(httpError: HttpErrorResponse): ActiveToast<any>;
|
|
16
|
+
message(message: Message): void;
|
|
17
|
+
success(text: string, title?: string, options?: Partial<IndividualConfig>): ActiveToast<any>;
|
|
18
|
+
error(text: string, title?: string, options?: Partial<IndividualConfig>): ActiveToast<any>;
|
|
19
|
+
info(text: string, title?: string, options?: Partial<IndividualConfig>): ActiveToast<any>;
|
|
20
|
+
alert(text: string, title?: string, options?: Partial<IndividualConfig>): ActiveToast<any>;
|
|
21
|
+
remove(id?: number): void;
|
|
20
22
|
removeAllAreNotError(): void;
|
|
21
|
-
private addIcon;
|
|
22
23
|
private handleTemplate;
|
|
23
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
|
|
24
25
|
static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
|
|
@@ -7,6 +7,7 @@ export interface RouteServiceOptions {
|
|
|
7
7
|
visibleOnLayersKey?: boolean | string;
|
|
8
8
|
visibleOffLayersKey?: boolean | string;
|
|
9
9
|
directionsCoordKey?: boolean | string;
|
|
10
|
+
directionsOptionsKey?: boolean | string;
|
|
10
11
|
toolKey?: boolean | string;
|
|
11
12
|
wmsUrlKey?: boolean | string;
|
|
12
13
|
wmsLayersKey?: boolean | string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, Params } from '@angular/router';
|
|
2
|
+
import { ActivatedRoute, Params, Router } from '@angular/router';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { RouteServiceOptions } from './route.interface';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -9,10 +9,11 @@ export declare function provideRouteServiceOptions(options: RouteServiceOptions)
|
|
|
9
9
|
useValue: RouteServiceOptions;
|
|
10
10
|
};
|
|
11
11
|
export declare class RouteService {
|
|
12
|
+
private router;
|
|
12
13
|
route: ActivatedRoute;
|
|
13
14
|
options: RouteServiceOptions;
|
|
14
|
-
constructor(route: ActivatedRoute, options: RouteServiceOptions);
|
|
15
|
+
constructor(router: Router, route: ActivatedRoute, options: RouteServiceOptions);
|
|
15
16
|
get queryParams(): Observable<Params>;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RouteService, [null, { optional: true; }]>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RouteService, [null, null, { optional: true; }]>;
|
|
17
18
|
static ɵprov: i0.ɵɵInjectableDeclaration<RouteService>;
|
|
18
19
|
}
|
package/locale/en.common.json
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
{
|
|
2
|
-
"igo": {
|
|
3
|
-
"common": {
|
|
4
|
-
"confirmDialog": {
|
|
5
|
-
"cancelBtn": "Cancel",
|
|
6
|
-
"confirmBtn": "Confirm",
|
|
7
|
-
"title": "Confirm"
|
|
8
|
-
},
|
|
9
|
-
"table": {
|
|
10
|
-
"filter": "Filter"
|
|
11
|
-
},
|
|
12
|
-
"entity-table": {
|
|
13
|
-
"targetHtmlUrl": "Open the external link"
|
|
14
|
-
},
|
|
15
|
-
"form": {
|
|
16
|
-
"errors": {
|
|
17
|
-
"required": "This field is required"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"actionbar": {
|
|
21
|
-
"scrollUp": "Scroll up",
|
|
22
|
-
"scrollDown": "Scroll down",
|
|
23
|
-
"icon": "Action list"
|
|
24
|
-
},
|
|
25
|
-
"interactiveTour": {
|
|
26
|
-
"tooltipTourToolButton": "Interactive tour of the application",
|
|
27
|
-
"disaledTooltipTourToolButton": "To have access to this tool's tour, add contexts or layers",
|
|
28
|
-
"buttonTitle": "Discover",
|
|
29
|
-
"exitButton": "Exit",
|
|
30
|
-
"backButton": "Back",
|
|
31
|
-
"nextButton": "Next"
|
|
32
|
-
},
|
|
33
|
-
"paginator": {
|
|
34
|
-
"firstPageLabel": "First page",
|
|
35
|
-
"itemsPerPageLabel": "Items per page:",
|
|
36
|
-
"lastPageLabel": "Last page",
|
|
37
|
-
"nextPageLabel": "Next page",
|
|
38
|
-
"previousPageLabel": "Previous page",
|
|
39
|
-
"of": "of"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"igo": {
|
|
3
|
+
"common": {
|
|
4
|
+
"confirmDialog": {
|
|
5
|
+
"cancelBtn": "Cancel",
|
|
6
|
+
"confirmBtn": "Confirm",
|
|
7
|
+
"title": "Confirm"
|
|
8
|
+
},
|
|
9
|
+
"table": {
|
|
10
|
+
"filter": "Filter"
|
|
11
|
+
},
|
|
12
|
+
"entity-table": {
|
|
13
|
+
"targetHtmlUrl": "Open the external link"
|
|
14
|
+
},
|
|
15
|
+
"form": {
|
|
16
|
+
"errors": {
|
|
17
|
+
"required": "This field is required"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"actionbar": {
|
|
21
|
+
"scrollUp": "Scroll up",
|
|
22
|
+
"scrollDown": "Scroll down",
|
|
23
|
+
"icon": "Action list"
|
|
24
|
+
},
|
|
25
|
+
"interactiveTour": {
|
|
26
|
+
"tooltipTourToolButton": "Interactive tour of the application",
|
|
27
|
+
"disaledTooltipTourToolButton": "To have access to this tool's tour, add contexts or layers",
|
|
28
|
+
"buttonTitle": "Discover",
|
|
29
|
+
"exitButton": "Exit",
|
|
30
|
+
"backButton": "Back",
|
|
31
|
+
"nextButton": "Next"
|
|
32
|
+
},
|
|
33
|
+
"paginator": {
|
|
34
|
+
"firstPageLabel": "First page",
|
|
35
|
+
"itemsPerPageLabel": "Items per page:",
|
|
36
|
+
"lastPageLabel": "Last page",
|
|
37
|
+
"nextPageLabel": "Next page",
|
|
38
|
+
"previousPageLabel": "Previous page",
|
|
39
|
+
"of": "of"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
package/locale/en.core.json
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"igo": {
|
|
3
|
-
"core": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"title": "
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
{
|
|
2
|
+
"igo": {
|
|
3
|
+
"core": {
|
|
4
|
+
"message": {
|
|
5
|
+
"success": "Success",
|
|
6
|
+
"error": "Error",
|
|
7
|
+
"info": "Info",
|
|
8
|
+
"alert": "Alert"
|
|
9
|
+
},
|
|
10
|
+
"errors": {
|
|
11
|
+
"uncaught": {
|
|
12
|
+
"message":
|
|
13
|
+
"Sorry, service is currently not available. Please try again later",
|
|
14
|
+
"title": "Error server"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"network": {
|
|
18
|
+
"online": {
|
|
19
|
+
"message": "Online",
|
|
20
|
+
"title": "Status:"
|
|
21
|
+
},
|
|
22
|
+
"offline": {
|
|
23
|
+
"message": "Offline",
|
|
24
|
+
"title": "Status:"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|