@igo2/core 21.0.0-next.2 → 21.0.0-next.21
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/fesm2022/igo2-core-activity.mjs +10 -10
- package/fesm2022/igo2-core-analytics.mjs +4 -4
- package/fesm2022/igo2-core-analytics.mjs.map +1 -1
- package/fesm2022/igo2-core-auth.mjs +14 -0
- package/fesm2022/igo2-core-auth.mjs.map +1 -0
- package/fesm2022/igo2-core-config.mjs +29 -46
- package/fesm2022/igo2-core-config.mjs.map +1 -1
- package/fesm2022/igo2-core-language.mjs +13 -11
- package/fesm2022/igo2-core-language.mjs.map +1 -1
- package/fesm2022/igo2-core-media.mjs +3 -3
- package/fesm2022/igo2-core-media.mjs.map +1 -1
- package/fesm2022/igo2-core-message.mjs +343 -177
- package/fesm2022/igo2-core-message.mjs.map +1 -1
- package/fesm2022/igo2-core-network.mjs +6 -12
- package/fesm2022/igo2-core-network.mjs.map +1 -1
- package/fesm2022/igo2-core-regex.mjs +3 -3
- package/fesm2022/igo2-core-regex.mjs.map +1 -1
- package/fesm2022/igo2-core-request.mjs +14 -14
- package/fesm2022/igo2-core-request.mjs.map +1 -1
- package/fesm2022/igo2-core-route.mjs +3 -3
- package/fesm2022/igo2-core-route.mjs.map +1 -1
- package/fesm2022/igo2-core-storage.mjs +11 -11
- package/fesm2022/igo2-core-storage.mjs.map +1 -1
- package/fesm2022/igo2-core.mjs +5 -6
- package/fesm2022/igo2-core.mjs.map +1 -1
- package/locale/en.json +1 -1
- package/locale/fr.json +1 -1
- package/package.json +6 -3
- package/src/style/style.scss +0 -2
- package/src/theming/themes/_theme.scss +0 -4
- package/style/all-style.css +1 -223
- package/style/style.css +0 -222
- package/theming/prebuilt-themes/blue-theme.css +0 -3
- package/theming/prebuilt-themes/bluedark-theme.css +0 -3
- package/theming/prebuilt-themes/bluedq-theme.css +0 -3
- package/theming/prebuilt-themes/teal-theme.css +0 -3
- package/types/igo2-core-auth.d.ts +15 -0
- package/types/igo2-core-language.d.ts +2 -2
- package/types/igo2-core-media.d.ts +4 -4
- package/types/igo2-core-message.d.ts +118 -33
- package/types/igo2-core-monitoring.d.ts +1 -1
- package/types/igo2-core-network.d.ts +3 -4
- package/types/igo2-core-regex.d.ts +1 -1
- package/types/igo2-core-storage.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-message.mjs","sources":["../../../packages/core/message/src/shared/message.provider.ts","../../../packages/core/message/src/message.module.ts","../../../packages/core/message/src/shared/message.enum.ts","../../../packages/core/message/src/shared/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { GlobalConfig, provideToastr } from 'ngx-toastr';\n\nconst TOASTR_CONFIG: Partial<GlobalConfig> = {\n positionClass: 'toast-bottom-right',\n timeOut: 10000,\n extendedTimeOut: 10000,\n titleClass: 'toastr-message-title',\n messageClass: 'toast-message',\n closeButton: true,\n progressBar: true,\n enableHtml: true,\n tapToDismiss: true,\n maxOpened: 4,\n preventDuplicates: true,\n resetTimeoutOnDuplicate: true,\n countDuplicates: false,\n includeTitleDuplicates: true\n};\n\nexport function provideMessage(): EnvironmentProviders {\n return makeEnvironmentProviders([provideToastr(TOASTR_CONFIG)]);\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { provideMessage } from './shared/message.provider';\n\n/**\n * @deprecated import the provideMessage directly\n */\n@NgModule({\n imports: [],\n providers: [provideMessage()],\n exports: []\n})\nexport class IgoMessageModule {\n static forRoot(): ModuleWithProviders<IgoMessageModule> {\n return {\n ngModule: IgoMessageModule,\n providers: []\n };\n }\n}\n","export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning', // todo delete (transition to ngx-toastr)\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success',\n SHOW = 'show'\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';\nimport { BehaviorSubject, forkJoin } from 'rxjs';\nimport { debounceTime, first } from 'rxjs/operators';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\n\ninterface ActiveMessageTranslation {\n id: number;\n titleKey: string;\n textKey: string;\n textInterpolateParams?: object;\n titleInterpolateParams?: object;\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n private injector = inject<Injector>(Injector);\n private configService = inject(ConfigService);\n private languageService = inject(LanguageService);\n\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n private activeMessageTranslations: ActiveMessageTranslation[] = [];\n\n constructor() {\n this.options = this.configService.getConfig('message');\n this.languageService.language$\n .pipe(debounceTime(500), takeUntilDestroyed())\n .subscribe(() => {\n if (this.toastr.toasts.length === 0) {\n this.activeMessageTranslations = [];\n }\n this.toastr.toasts.forEach((toast) => {\n const activeMessageTranslation = this.activeMessageTranslations.find(\n (amt) => amt.id === toast.toastId\n );\n if (activeMessageTranslation) {\n const translatedTextInterpolateParams = {\n ...activeMessageTranslation.textInterpolateParams\n };\n const translatedTitleInterpolateParams = {\n ...activeMessageTranslation.titleInterpolateParams\n };\n\n if (activeMessageTranslation.textInterpolateParams) {\n Object.keys(\n activeMessageTranslation.textInterpolateParams\n ).forEach((k) => {\n if (k) {\n translatedTextInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.textInterpolateParams[k]\n );\n }\n });\n }\n if (activeMessageTranslation.titleInterpolateParams) {\n Object.keys(\n activeMessageTranslation.titleInterpolateParams\n ).forEach((k) => {\n if (k) {\n translatedTitleInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.titleInterpolateParams[k]\n );\n }\n });\n }\n\n forkJoin([\n this.languageService.translate.get(\n activeMessageTranslation.textKey,\n translatedTextInterpolateParams\n ),\n this.languageService.translate.get(\n activeMessageTranslation.titleKey,\n translatedTitleInterpolateParams\n )\n ])\n .pipe(first())\n .subscribe((res: [string, string]) => {\n const instance = toast.toastRef.componentInstance as any;\n instance.message = res[0];\n instance.title = res[1];\n });\n }\n });\n });\n }\n\n private get toastr(): ToastrService {\n return this.injector.get(ToastrService);\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 const messageType = message.type;\n this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;\n\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\n ? message.options.from\n : new Date('1 jan 1900');\n message.options.to = message.options.to\n ? message.options.to\n : new Date('1 jan 3000');\n if (typeof message.options.from === 'string') {\n message.options.from = new Date(\n Date.parse(message.options.from.replace(/-/g, ' '))\n );\n }\n if (typeof message.options.to === 'string') {\n message.options.to = new Date(\n Date.parse(message.options.to.replace(/-/g, ' '))\n );\n }\n if (\n currentDate > message.options.from &&\n currentDate < message.options.to\n ) {\n if (message.showIcon === false) {\n this.toastr.toastrConfig.iconClasses[messageType] =\n `toast-${messageType} toast-no-icon`;\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(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ERROR:\n messageShown = this.error(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.SHOW:\n messageShown = this.show(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ALERT:\n case MessageType.WARNING:\n messageShown = this.alert(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n message.options.id = messageShown.toastId;\n }\n }\n }\n\n success(\n text: string,\n title = 'igo.core.message.success',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'success',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n error(\n text: string,\n title = 'igo.core.message.error',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'error',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n info(\n text: string,\n title = 'igo.core.message.info',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n alert(\n text: string,\n title = 'igo.core.message.alert',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'alert',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n show(\n text: string,\n title = 'igo.core.message.info',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'show',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleNgxToastr(\n type: 'alert' | 'info' | 'error' | 'success' | 'show',\n text: string,\n title: string,\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n const translatedTextInterpolateParams = { ...textInterpolateParams };\n const translatedTitlenterpolateParams = { ...titleInterpolateParams };\n\n if (textInterpolateParams) {\n Object.keys(textInterpolateParams).forEach((k) => {\n const value = textInterpolateParams[k];\n if (value) {\n translatedTextInterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n if (titleInterpolateParams) {\n Object.keys(titleInterpolateParams).forEach((k) => {\n if (k) {\n const value = titleInterpolateParams[k];\n translatedTitlenterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n\n const message = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitlenterpolateParams\n );\n\n let activeToast;\n switch (type) {\n case 'success':\n activeToast = this.toastr.success(message, translatedTitle, options);\n break;\n case 'error':\n activeToast = this.toastr.error(message, translatedTitle, options);\n break;\n case 'show':\n case 'info':\n activeToast = this.toastr.info(message, translatedTitle, options);\n break;\n case 'alert':\n activeToast = this.toastr.warning(message, translatedTitle, options);\n break;\n }\n this.activeMessageTranslations.push({\n id: activeToast.toastId,\n titleKey: title,\n textKey: text,\n textInterpolateParams,\n titleInterpolateParams\n });\n return activeToast;\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","/**\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-message.mjs","sources":["../../../packages/core/message/src/message.enum.ts","../../../packages/core/message/src/toast/toast-container.component.ts","../../../packages/core/message/src/toast/toast.interface.ts","../../../packages/core/message/src/toast/toast.service.ts","../../../packages/core/message/src/toast/toast/toast.component.ts","../../../packages/core/message/src/toast/toast/toast.component.html","../../../packages/core/message/src/message.provider.ts","../../../packages/core/message/src/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning',\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success',\n SHOW = 'show'\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'igo-toast-container',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n styles: [\n `\n :host {\n position: fixed;\n pointer-events: none;\n z-index: 10000;\n display: flex;\n flex-direction: column;\n row-gap: 8px;\n }\n\n :host.toast-bottom-right {\n bottom: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-right {\n top: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-top-left {\n top: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-center {\n top: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n\n :host.toast-bottom-center {\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n `\n ]\n})\nexport class ToastContainerComponent {}\n","export interface ToastConfig {\n timeOut: number;\n extendedTimeOut: number;\n closeButton: boolean;\n progressBar: boolean;\n tapToDismiss: boolean;\n positionClass: string;\n maxOpened: number;\n preventDuplicates: boolean;\n enableHtml: boolean;\n disableTimeOut: boolean;\n showIcon: boolean;\n freezeProgressOnHover: boolean;\n}\n\nexport type IndividualToastConfig = Partial<ToastConfig>;\n\nexport interface ToastRef {\n toastId: number;\n message: string;\n title: string;\n type: ToastType;\n config: ToastConfig;\n}\n\nexport type ToastType = 'success' | 'error' | 'info' | 'warning' | 'show';\n\nexport const DEFAULT_TOAST_CONFIG: ToastConfig = {\n timeOut: 10000,\n extendedTimeOut: 10000,\n closeButton: true,\n progressBar: true,\n tapToDismiss: true,\n positionClass: 'toast-bottom-right',\n maxOpened: 4,\n preventDuplicates: true,\n enableHtml: true,\n disableTimeOut: false,\n showIcon: false,\n freezeProgressOnHover: true\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n Injectable,\n createComponent,\n inject\n} from '@angular/core';\n\nimport { ToastContainerComponent } from './toast-container.component';\nimport {\n DEFAULT_TOAST_CONFIG,\n IndividualToastConfig,\n ToastConfig,\n ToastRef,\n ToastType\n} from './toast.interface';\nimport { ToastComponent } from './toast/toast.component';\n\nexport interface ActiveToast {\n toastId: number;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private appRef = inject(ApplicationRef);\n private document = inject(DOCUMENT);\n\n private toastIdCounter = 0;\n private toasts: Map<number, ComponentRef<ToastComponent>> = new Map();\n private containerRef: ComponentRef<ToastContainerComponent> | null = null;\n private config: ToastConfig = { ...DEFAULT_TOAST_CONFIG };\n private lastMessage = '';\n private lastTitle = '';\n\n configure(config: Partial<ToastConfig>) {\n this.config = { ...this.config, ...config };\n }\n\n success(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('success', message, title, options);\n }\n\n error(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('error', message, title, options);\n }\n\n info(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('info', message, title, options);\n }\n\n warning(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('warning', message, title, options);\n }\n\n remove(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.remove();\n }\n }\n\n /** Called by ToastComponent when removal animation completes */\n removeToast(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n this.appRef.detachView(ref.hostView);\n ref.destroy();\n this.toasts.delete(toastId);\n }\n if (this.toasts.size === 0 && this.containerRef) {\n this.appRef.detachView(this.containerRef.hostView);\n this.containerRef.destroy();\n this.containerRef = null;\n }\n }\n\n getActiveToasts(): ToastRef[] {\n return Array.from(this.toasts.entries()).map(([id, ref]) => ({\n toastId: id,\n message: ref.instance.message,\n title: ref.instance.title,\n type: ref.instance.type,\n config: ref.instance.config as ToastConfig\n }));\n }\n\n updateToast(toastId: number, message: string, title: string) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.message = message;\n ref.instance.title = title;\n }\n }\n\n private show(\n type: ToastType,\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n const mergedConfig = { ...this.config, ...options };\n\n // Prevent duplicates\n if (mergedConfig.preventDuplicates) {\n if (this.lastMessage === message && this.lastTitle === title) {\n // Return last toast id\n const lastEntry = Array.from(this.toasts.entries()).pop();\n if (lastEntry) {\n return { toastId: lastEntry[0] };\n }\n }\n }\n\n // Enforce max opened\n if (mergedConfig.maxOpened && this.toasts.size >= mergedConfig.maxOpened) {\n const firstKey = this.toasts.keys().next().value!;\n this.remove(firstKey);\n }\n\n this.lastMessage = message;\n this.lastTitle = title;\n\n const toastId = ++this.toastIdCounter;\n const container = this.getOrCreateContainer(\n mergedConfig.positionClass || 'toast-bottom-right'\n );\n\n const toastRef = createComponent(ToastComponent, {\n environmentInjector: this.appRef.injector\n });\n\n toastRef.instance.toastId = toastId;\n toastRef.instance.type = type;\n toastRef.instance.message = message;\n toastRef.instance.title = title;\n toastRef.instance.config = mergedConfig as any;\n toastRef.instance.enableHtml = mergedConfig.enableHtml ?? true;\n toastRef.instance.showIcon = mergedConfig.showIcon ?? false;\n\n this.toasts.set(toastId, toastRef);\n this.appRef.attachView(toastRef.hostView);\n container.location.nativeElement.appendChild(\n toastRef.location.nativeElement\n );\n\n return { toastId };\n }\n\n private getOrCreateContainer(\n positionClass: string\n ): ComponentRef<ToastContainerComponent> {\n if (this.containerRef) {\n return this.containerRef;\n }\n\n this.containerRef = createComponent(ToastContainerComponent, {\n environmentInjector: this.appRef.injector\n });\n\n this.appRef.attachView(this.containerRef.hostView);\n const el = this.containerRef.location.nativeElement as HTMLElement;\n el.classList.add(positionClass);\n this.document.body.appendChild(el);\n return this.containerRef;\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n inject,\n signal\n} from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { ToastConfig, ToastType } from '../toast.interface';\nimport { ToastService } from '../toast.service';\n\n@Component({\n selector: 'igo-toast',\n standalone: true,\n imports: [NgClass, MatIconModule, MatIconButton, MatProgressBar],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.scss',\n host: {\n '[class]': 'animationState()',\n '(mouseenter)': 'onEnter()',\n '(mouseleave)': 'onLeave()',\n '(touchstart)': 'onEnter()',\n '(touchend)': 'onLeave()'\n }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n private toastService = inject(ToastService);\n private sanitizer = inject(DomSanitizer);\n\n toastId!: number;\n type!: ToastType;\n title = '';\n config!: ToastConfig;\n enableHtml = false;\n showIcon = false;\n\n private _message = '';\n safeMessage: SafeHtml = '';\n\n get message(): string {\n return this._message;\n }\n\n set message(value: string) {\n this._message = value;\n this.safeMessage = this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n progress = signal(100);\n animationState = signal<'inactive' | 'active' | 'removed'>('inactive');\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n private progressIntervalId: ReturnType<typeof setInterval> | null = null;\n private startTime = 0;\n private remainingTime = 0;\n private totalTimeOut = 0;\n\n ngOnInit() {\n this.animationState.set('active');\n if (!this.config.disableTimeOut) {\n this.remainingTime = this.config.timeOut ?? 10000;\n this.totalTimeOut = this.remainingTime;\n this.startTimer();\n }\n }\n\n ngOnDestroy() {\n this.clearTimers();\n }\n\n onEnter() {\n if (!this.config.disableTimeOut) {\n this.remainingTime = (this.progress() / 100) * this.totalTimeOut;\n this.clearTimers();\n }\n }\n\n onLeave() {\n if (!this.config.disableTimeOut) {\n if (!this.config.freezeProgressOnHover) {\n const extendedTimeOut = this.config.extendedTimeOut ?? 10000;\n this.remainingTime = extendedTimeOut;\n this.totalTimeOut = extendedTimeOut;\n }\n this.startTimer();\n }\n }\n\n onTap() {\n if (this.config.tapToDismiss) {\n this.remove();\n }\n }\n\n close(event: Event) {\n event.stopPropagation();\n this.remove();\n }\n\n remove() {\n this.clearTimers();\n this.animationState.set('removed');\n setTimeout(() => {\n this.toastService.removeToast(this.toastId);\n }, 300);\n }\n\n private startTimer() {\n this.startTime = Date.now();\n const duration = this.remainingTime;\n this.progress.set((duration / this.totalTimeOut) * 100);\n\n this.progressIntervalId = setInterval(() => {\n const elapsed = Date.now() - this.startTime;\n const remaining = Math.max(0, duration - elapsed);\n this.progress.set((remaining / this.totalTimeOut) * 100);\n }, 50);\n\n this.timeoutId = setTimeout(() => {\n this.remove();\n }, duration);\n }\n\n private clearTimers() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n if (this.progressIntervalId) {\n clearInterval(this.progressIntervalId);\n this.progressIntervalId = null;\n }\n }\n}\n","<div\n class=\"igo-toast\"\n [ngClass]=\"'toast-' + type\"\n [attr.tabindex]=\"config.tapToDismiss ? '0' : null\"\n (click)=\"onTap()\"\n (keydown.enter)=\"onTap()\"\n>\n @if (showIcon) {\n <mat-icon class=\"toast-icon\">\n @switch (type) {\n @case ('success') {\n check_circle\n }\n @case ('error') {\n error\n }\n @case ('warning') {\n warning\n }\n @default {\n info\n }\n }\n </mat-icon>\n }\n <div class=\"toast-content\">\n @if (title) {\n <header class=\"toast-title\">{{ title }}</header>\n }\n @if (!enableHtml) {\n <p class=\"toast-message\">{{ message }}</p>\n } @else {\n <p class=\"toast-message\" [innerHTML]=\"safeMessage\"></p>\n }\n </div>\n @if (config.closeButton) {\n <button matIconButton class=\"toast-close-button\" (click)=\"close($event)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n @if (config.progressBar && !config.disableTimeOut) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\" />\n }\n</div>\n","import {\n EnvironmentProviders,\n inject,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ToastConfig, ToastService } from './toast';\n\n/**\n * Provides the message service with custom toast configuration.\n * Since ToastService is providedIn: 'root', this simply configures it.\n */\nexport function provideMessage(\n config?: Partial<ToastConfig>\n): EnvironmentProviders {\n return provideAppInitializer(() => {\n if (!config) {\n return;\n }\n inject(ToastService).configure(config);\n });\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\nimport { ActiveToast, IndividualToastConfig, ToastService } from './toast';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n private configService = inject(ConfigService);\n private languageService = inject(LanguageService);\n private toastService = inject(ToastService);\n\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n\n constructor() {\n this.options = this.configService.getConfig('message');\n }\n\n showError(httpError: HttpErrorResponse) {\n const errorPayload = httpError.error as\n { caught?: boolean; message?: string; title?: string } | undefined;\n\n if (errorPayload && typeof errorPayload === 'object') {\n errorPayload.caught = true;\n }\n\n const message =\n typeof errorPayload?.message === 'string'\n ? errorPayload.message\n : httpError.message;\n const title =\n typeof errorPayload?.title === 'string'\n ? errorPayload.title\n : 'igo.core.message.error';\n\n return this.error(message, title);\n }\n\n message(message: Message) {\n this.messages$.next(this.messages$.value.concat([message]));\n\n const options = { ...(message.options ?? {}) } as MessageOptions;\n const currentDate = new Date();\n const fromDate = this.parseDate(options.from, new Date('1 jan 1900'));\n const toDate = this.parseDate(options.to, new Date('1 jan 3000'));\n\n options.from = fromDate;\n options.to = toDate;\n\n if (message.showIcon !== undefined) {\n options.showIcon = message.showIcon;\n }\n\n if (currentDate >= fromDate && currentDate <= toDate) {\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ERROR:\n messageShown = this.error(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n case MessageType.SHOW:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ALERT:\n case MessageType.WARNING:\n messageShown = this.alert(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n options.id = messageShown.toastId;\n message.options = options;\n }\n }\n }\n\n success(\n text: string,\n title = 'igo.core.message.success',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'success',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n error(\n text: string,\n title = 'igo.core.message.error',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'error',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n info(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n alert(\n text: string,\n title = 'igo.core.message.alert',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'warning',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n show(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleToast(\n type: 'warning' | 'info' | 'error' | 'success',\n text: string,\n title: string,\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n const translatedTextInterpolateParams = this.translateInterpolateParams(\n textInterpolateParams\n );\n const translatedTitleInterpolateParams = this.translateInterpolateParams(\n titleInterpolateParams\n );\n\n const translatedMessage = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitleInterpolateParams\n );\n\n let activeToast: ActiveToast;\n switch (type) {\n case 'success':\n activeToast = this.toastService.success(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'error':\n activeToast = this.toastService.error(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'info':\n activeToast = this.toastService.info(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'warning':\n activeToast = this.toastService.warning(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n }\n\n return activeToast;\n }\n\n private parseDate(value: Date | string | undefined, fallback: Date): Date {\n if (!value) {\n return fallback;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n const directParse = new Date(value);\n if (!Number.isNaN(directParse.getTime())) {\n return directParse;\n }\n\n const normalizedParse = new Date(Date.parse(value.replace(/-/g, ' ')));\n return Number.isNaN(normalizedParse.getTime()) ? fallback : normalizedParse;\n }\n\n private translateInterpolateParams(\n params?: Record<string, unknown>\n ): Record<string, unknown> {\n if (!params) {\n return {};\n }\n\n return Object.keys(params).reduce(\n (acc, key) => {\n const value = params[key];\n acc[key] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n return acc;\n },\n {} as Record<string, unknown>\n );\n }\n\n remove(id: number) {\n this.toastService.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (mess.options?.id && 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 if (message.title) {\n html = html.replace('${title}', message.title);\n }\n\n message.html = undefined;\n message.text = html;\n message.title = undefined;\n return message;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject,
|
|
2
|
+
import { inject, EventEmitter, Injectable } from '@angular/core';
|
|
3
3
|
import { MessageService } from '@igo2/core/message';
|
|
4
4
|
import { fromEvent } from 'rxjs';
|
|
5
5
|
import { debounceTime, startWith } from 'rxjs/operators';
|
|
6
6
|
|
|
7
7
|
class NetworkService {
|
|
8
8
|
messageService = inject(MessageService);
|
|
9
|
-
injector = inject(Injector);
|
|
10
9
|
stateChangeEventEmitter = new EventEmitter();
|
|
11
10
|
onlineSubscription;
|
|
12
11
|
offlineSubscription;
|
|
@@ -41,23 +40,18 @@ class NetworkService {
|
|
|
41
40
|
this.stateChangeEventEmitter.emit(this.state);
|
|
42
41
|
}
|
|
43
42
|
ngOnDestroy() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this.onlineSubscription.unsubscribe();
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
// empty
|
|
50
|
-
}
|
|
43
|
+
this.offlineSubscription?.unsubscribe();
|
|
44
|
+
this.onlineSubscription?.unsubscribe();
|
|
51
45
|
}
|
|
52
46
|
currentState(reportState = true) {
|
|
53
47
|
return reportState
|
|
54
48
|
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
55
49
|
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
56
50
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
58
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: NetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: NetworkService, providedIn: 'root' });
|
|
59
53
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: NetworkService, decorators: [{
|
|
61
55
|
type: Injectable,
|
|
62
56
|
args: [{
|
|
63
57
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-network.mjs","sources":["../../../packages/core/network/src/network.service.ts","../../../packages/core/network/src/igo2-core-network.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"igo2-core-network.mjs","sources":["../../../packages/core/network/src/network.service.ts","../../../packages/core/network/src/igo2-core-network.ts"],"sourcesContent":["import { EventEmitter, Injectable, OnDestroy, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { ConnectionState } from './network.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService implements OnDestroy {\n private messageService = inject(MessageService);\n\n private stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription?: Subscription;\n private offlineSubscription?: Subscription;\n private previousMessageId?: number;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor() {\n this.checkNetworkState();\n }\n\n private checkNetworkState() {\n this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.online.message',\n 'igo.core.network.online.title'\n );\n this.previousMessageId = messageObj.toastId;\n this.state.connection = true;\n this.emitEvent();\n });\n\n this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.offline.message',\n 'igo.core.network.offline.title'\n );\n this.previousMessageId = messageObj.toastId;\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 this.offlineSubscription?.unsubscribe();\n this.onlineSubscription?.unsubscribe();\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAYa,cAAc,CAAA;AACjB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAEvC,IAAA,uBAAuB,GAAG,IAAI,YAAY,EAAmB;AAC7D,IAAA,kBAAkB;AAClB,IAAA,mBAAmB;AACnB,IAAA,iBAAiB;AAEjB,IAAA,KAAK,GAAoB;AAC/B,QAAA,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;KAC9B;AAED,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AACnE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,iCAAiC,EACjC,+BAA+B,CAChC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;YAC5B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,MAAK;AACrE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,kCAAkC,EAClC,gCAAgC,CACjC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK;YAC7B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;IACJ;IAEQ,SAAS,GAAA;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE;AACvC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;IAEA,YAAY,CAAC,WAAW,GAAG,IAAI,EAAA;AAC7B,QAAA,OAAO;AACL,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC/B,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAEzB,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1D;wGA5DW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -17,10 +17,10 @@ class RegexService {
|
|
|
17
17
|
}
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
21
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RegexService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RegexService, providedIn: 'root' });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RegexService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-regex.mjs","sources":["../../../packages/core/regex/src/regex.service.ts","../../../packages/core/regex/src/igo2-core-regex.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { RegexOptions } from './regex.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegexService {\n private config = inject(ConfigService);\n\n protected options: RegexOptions;\n\n constructor() {\n this.options = this.config.getConfig('regex');\n }\n\n getAll() {\n return this.options;\n }\n\n get(key) {\n if (this.options) {\n return this.options[key];\n }\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAE5B,IAAA,OAAO;AAEjB,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C;IAEA,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"igo2-core-regex.mjs","sources":["../../../packages/core/regex/src/regex.service.ts","../../../packages/core/regex/src/igo2-core-regex.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { RegexOptions } from './regex.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegexService {\n private config = inject(ConfigService);\n\n protected options: RegexOptions;\n\n constructor() {\n this.options = this.config.getConfig('regex');\n }\n\n getAll() {\n return this.options;\n }\n\n get(key: string) {\n if (this.options) {\n return this.options[key];\n }\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAE5B,IAAA,OAAO;AAEjB,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C;IAEA,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,GAAG,CAAC,GAAW,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B;QACA;IACF;wGAlBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -57,10 +57,10 @@ class ErrorInterceptor {
|
|
|
57
57
|
progressBar: false
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
61
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ErrorInterceptor, providedIn: 'root' });
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
64
64
|
type: Injectable,
|
|
65
65
|
args: [{
|
|
66
66
|
providedIn: 'root'
|
|
@@ -89,11 +89,11 @@ class IgoErrorModule {
|
|
|
89
89
|
throw new Error('IgoErrorModule is already loaded. Import it in the AppModule only');
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
93
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
94
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
93
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoErrorModule });
|
|
94
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoErrorModule });
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoErrorModule, decorators: [{
|
|
97
97
|
type: NgModule,
|
|
98
98
|
args: [{
|
|
99
99
|
imports: [],
|
|
@@ -120,10 +120,10 @@ class LoggingInterceptor {
|
|
|
120
120
|
console.log(msg);
|
|
121
121
|
}));
|
|
122
122
|
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LoggingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LoggingInterceptor });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LoggingInterceptor, decorators: [{
|
|
127
127
|
type: Injectable
|
|
128
128
|
}] });
|
|
129
129
|
|
|
@@ -140,11 +140,11 @@ class IgoLoggingModule {
|
|
|
140
140
|
]
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
144
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
145
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
143
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoLoggingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
144
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoLoggingModule });
|
|
145
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoLoggingModule });
|
|
146
146
|
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoLoggingModule, decorators: [{
|
|
148
148
|
type: NgModule,
|
|
149
149
|
args: [{
|
|
150
150
|
imports: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-request.mjs","sources":["../../../packages/core/request/src/error.interceptor.ts","../../../packages/core/request/src/error.module.ts","../../../packages/core/request/src/logging.interceptor.ts","../../../packages/core/request/src/logging.module.ts","../../../packages/core/request/src/igo2-core-request.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n private messageService = inject(MessageService);\n\n intercept(\n originalReq: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const interceptError = originalReq.headers.get('interceptError');\n const req = originalReq.clone({\n headers: originalReq.headers.delete('interceptError')\n });\n if (interceptError === 'false') {\n return next.handle(req);\n }\n const errorContainer = { httpError: undefined };\n return next.handle(req).pipe(\n catchError((error) => this.handleError(error, errorContainer)),\n finalize(() => {\n const httpError = errorContainer.httpError;\n if (!httpError) {\n return;\n }\n\n if (httpError.error.toDisplay) {\n this.handleCaughtError(httpError);\n } else if (!httpError.error.caught) {\n this.handleUncaughtError(httpError);\n }\n })\n );\n }\n\n private handleError(\n httpError: HttpErrorResponse,\n errorContainer:
|
|
1
|
+
{"version":3,"file":"igo2-core-request.mjs","sources":["../../../packages/core/request/src/error.interceptor.ts","../../../packages/core/request/src/error.module.ts","../../../packages/core/request/src/logging.interceptor.ts","../../../packages/core/request/src/logging.module.ts","../../../packages/core/request/src/igo2-core-request.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\n\ntype ErrorContainer = { httpError?: HttpErrorResponse };\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n private messageService = inject(MessageService);\n\n intercept(\n originalReq: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const interceptError = originalReq.headers.get('interceptError');\n const req = originalReq.clone({\n headers: originalReq.headers.delete('interceptError')\n });\n if (interceptError === 'false') {\n return next.handle(req);\n }\n const errorContainer: ErrorContainer = { httpError: undefined };\n return next.handle(req).pipe(\n catchError((error) => this.handleError(error, errorContainer)),\n finalize(() => {\n const httpError = errorContainer.httpError;\n if (!httpError) {\n return;\n }\n\n if (httpError.error.toDisplay) {\n this.handleCaughtError(httpError);\n } else if (!httpError.error.caught) {\n this.handleUncaughtError(httpError);\n }\n })\n );\n }\n\n private handleError(\n httpError: HttpErrorResponse,\n errorContainer: ErrorContainer\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(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(httpError.error.message, httpError.error.title, {\n progressBar: false\n });\n }\n\n private handleUncaughtError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(\n 'igo.core.errors.uncaught.message',\n 'igo.core.errors.uncaught.title',\n {\n progressBar: false\n }\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule, inject } from '@angular/core';\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() {\n const parentModule = inject(IgoErrorModule, {\n optional: true,\n skipSelf: true\n });\n\n if (parentModule) {\n throw new Error(\n 'IgoErrorModule is already loaded. Import it in the AppModule only'\n );\n }\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { finalize, tap } 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 () => (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 { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;MAkBa,gBAAgB,CAAA;AACnB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAE/C,SAAS,CACP,WAA6B,EAC7B,IAAiB,EAAA;QAEjB,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAChE,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB;AACrD,SAAA,CAAC;AACF,QAAA,IAAI,cAAc,KAAK,OAAO,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB;AACA,QAAA,MAAM,cAAc,GAAmB,EAAE,SAAS,EAAE,SAAS,EAAE;AAC/D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,EAC9D,QAAQ,CAAC,MAAK;AACZ,YAAA,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS;YAC1C,IAAI,CAAC,SAAS,EAAE;gBACd;YACF;AAEA,YAAA,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;AAC7B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACnC;AAAO,iBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;AAClC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACrC;QACF,CAAC,CAAC,CACH;IACH;IAEQ,WAAW,CACjB,SAA4B,EAC5B,cAA8B,EAAA;AAE9B,QAAA,IAAI,SAAS,YAAY,iBAAiB,EAAE;AAC1C,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,KAAK,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,EAAE;AACpE,YAAA,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC,UAAU;AACnE,YAAA,QAAQ,CAAC,MAAM,GAAG,KAAK;YAEvB,SAAS,GAAG,IAAI,iBAAiB,CAAC;AAChC,gBAAA,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,GAAG,EAAE,SAAS,CAAC;AAChB,aAAA,CAAC;QACJ;AAEA,QAAA,cAAc,CAAC,SAAS,GAAG,SAAS;AACpC,QAAA,OAAO,UAAU,CAAC,SAAS,CAAC;IAC9B;AAEQ,IAAA,iBAAiB,CAAC,SAA4B,EAAA;AACpD,QAAA,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;AACxE,YAAA,WAAW,EAAE;AACd,SAAA,CAAC;IACJ;AAEQ,IAAA,mBAAmB,CAAC,SAA4B,EAAA;AACtD,QAAA,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,kCAAkC,EAClC,gCAAgC,EAChC;AACE,YAAA,WAAW,EAAE;AACd,SAAA,CACF;IACH;wGAtEW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCPY,cAAc,CAAA;AACzB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,KAAK,EAAE;AACR;AACF;SACF;IACH;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,EAAE;AAC1C,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE;AACX,SAAA,CAAC;QAEF,IAAI,YAAY,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE;QACH;IACF;wGAzBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAd,cAAc,EAAA,CAAA;yGAAd,cAAc,EAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;AACV,iBAAA;;;MCIY,kBAAkB,CAAA;IAC7B,SAAS,CACP,GAAqB,EACrB,IAAiB,EAAA;AAEjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE;AAC1B,QAAA,IAAI,EAAU;;QAGd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,GAAG;;AAED,QAAA,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,YAAY,YAAY,GAAG,WAAW,GAAG,EAAE,CAAC;;AAElE,QAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,CACtB;;QAED,QAAQ,CAAC,MAAK;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YACpC,MAAM,GAAG,GAAG,CAAA,EAAG,GAAG,CAAC,MAAM,CAAA,EAAA,EAAK,GAAG,CAAC,aAAa,CAAA;eACxC,EAAE,CAAA,IAAA,EAAO,OAAO,CAAA,IAAA,CAAM;AAE7B,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,CACH;IACH;wGAzBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAlB,kBAAkB,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;MCFY,gBAAgB,CAAA;AAC3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,KAAK,EAAE;AACR;AACF;SACF;IACH;wGAZW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAhB,gBAAgB,EAAA,CAAA;yGAAhB,gBAAgB,EAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -75,10 +75,10 @@ class RouteService {
|
|
|
75
75
|
}
|
|
76
76
|
return this.route.queryParams;
|
|
77
77
|
}
|
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
79
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RouteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RouteService, providedIn: 'root' });
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RouteService, decorators: [{
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{
|
|
84
84
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-route.mjs","sources":["../../../packages/core/route/src/route.interface.ts","../../../packages/core/route/src/route.service.ts","../../../packages/core/route/src/igo2-core-route.ts"],"sourcesContent":["export interface RouteServiceOptions {\n centerKey?: string;\n zoomKey?: string;\n projectionKey?: string;\n contextKey?: string;\n searchKey?: string;\n visibleOnLayersKey?: string;\n visibleOffLayersKey?: string;\n directionsCoordKey?: string;\n directionsOptionsKey?: string;\n toolKey?: string;\n wmsUrlKey?: string;\n wmsLayersKey?: string;\n wmtsUrlKey?: string;\n wmtsLayersKey?: string;\n arcgisUrlKey?: string;\n arcgisLayersKey?: string;\n iarcgisUrlKey?: string;\n iarcgisLayersKey?: string;\n tarcgisUrlKey?: string;\n tarcgisLayersKey?: string;\n vectorKey?: string;\n zoomExtentKey?: string;\n exactMatchKey?: string;\n focusFirstResultKey?: string;\n searchGeomKey?: string;\n sidenavKey?: string;\n urlsKey?: string;\n languageKey?: string;\n positionKey?: string;\n layersKey?: string;\n groupsKey?: string;\n rotationKey?: string;\n}\n\nexport const ROUTE_OPTIONS: RouteServiceOptions = {\n languageKey: 'lang',\n searchKey: 'search',\n searchGeomKey: 'searchGeom',\n exactMatchKey: 'exactMatch',\n zoomExtentKey: 'zoomExtent',\n focusFirstResultKey: 'sf',\n toolKey: 'tool',\n directionsCoordKey: 'routing',\n directionsOptionsKey: 'routingOptions',\n sidenavKey: 'sidenav',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n vectorKey: 'vector'\n};\n\nexport const LEGACY_ROUTE_OPTIONS: RouteServiceOptions = {\n projectionKey: 'projection',\n rotationKey: 'rotation',\n zoomKey: 'zoom',\n centerKey: 'center',\n contextKey: 'context',\n layersKey: 'layers',\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};\n","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport {\n LEGACY_ROUTE_OPTIONS,\n ROUTE_OPTIONS,\n RouteServiceOptions\n} from './route.interface';\n\nexport const 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 private router = inject(Router);\n route = inject(ActivatedRoute);\n\n public options: RouteServiceOptions;\n\n /**\n * @deprecated use the new option of context-service\n */\n public legacyOptions: RouteServiceOptions;\n\n constructor() {\n const configs = inject<RouteServiceOptions>(ROUTE_SERVICE_OPTIONS, {\n optional: true\n });\n\n this.options = { ...ROUTE_OPTIONS, ...configs };\n this.legacyOptions = LEGACY_ROUTE_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
|
|
1
|
+
{"version":3,"file":"igo2-core-route.mjs","sources":["../../../packages/core/route/src/route.interface.ts","../../../packages/core/route/src/route.service.ts","../../../packages/core/route/src/igo2-core-route.ts"],"sourcesContent":["export interface RouteServiceOptions {\n centerKey?: string;\n zoomKey?: string;\n projectionKey?: string;\n contextKey?: string;\n searchKey?: string;\n visibleOnLayersKey?: string;\n visibleOffLayersKey?: string;\n directionsCoordKey?: string;\n directionsOptionsKey?: string;\n toolKey?: string;\n wmsUrlKey?: string;\n wmsLayersKey?: string;\n wmtsUrlKey?: string;\n wmtsLayersKey?: string;\n arcgisUrlKey?: string;\n arcgisLayersKey?: string;\n iarcgisUrlKey?: string;\n iarcgisLayersKey?: string;\n tarcgisUrlKey?: string;\n tarcgisLayersKey?: string;\n vectorKey?: string;\n zoomExtentKey?: string;\n exactMatchKey?: string;\n focusFirstResultKey?: string;\n searchGeomKey?: string;\n sidenavKey?: string;\n urlsKey?: string;\n languageKey?: string;\n positionKey?: string;\n layersKey?: string;\n groupsKey?: string;\n rotationKey?: string;\n}\n\nexport const ROUTE_OPTIONS: RouteServiceOptions = {\n languageKey: 'lang',\n searchKey: 'search',\n searchGeomKey: 'searchGeom',\n exactMatchKey: 'exactMatch',\n zoomExtentKey: 'zoomExtent',\n focusFirstResultKey: 'sf',\n toolKey: 'tool',\n directionsCoordKey: 'routing',\n directionsOptionsKey: 'routingOptions',\n sidenavKey: 'sidenav',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n vectorKey: 'vector'\n};\n\nexport const LEGACY_ROUTE_OPTIONS: RouteServiceOptions = {\n projectionKey: 'projection',\n rotationKey: 'rotation',\n zoomKey: 'zoom',\n centerKey: 'center',\n contextKey: 'context',\n layersKey: 'layers',\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};\n","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport {\n LEGACY_ROUTE_OPTIONS,\n ROUTE_OPTIONS,\n RouteServiceOptions\n} from './route.interface';\n\nexport const 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 private router = inject(Router);\n route = inject(ActivatedRoute);\n\n public options: RouteServiceOptions;\n\n /**\n * @deprecated use the new option of context-service\n */\n public legacyOptions: RouteServiceOptions;\n\n constructor() {\n const configs = inject<RouteServiceOptions>(ROUTE_SERVICE_OPTIONS, {\n optional: true\n });\n\n this.options = { ...ROUTE_OPTIONS, ...configs };\n this.legacyOptions = LEGACY_ROUTE_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(\n (obj, pair) => {\n const [key, value] = pair.map(decodeURIComponent);\n obj[key] = value;\n return obj;\n },\n {} as Record<string, string>\n );\n this.router.navigate([], { queryParams });\n }\n return this.route.queryParams;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ class BaseStorage {
|
|
|
20
20
|
options;
|
|
21
21
|
storageChange$ = new BehaviorSubject(undefined);
|
|
22
22
|
constructor(config) {
|
|
23
|
-
this.options = config
|
|
23
|
+
this.options = config?.getConfig('storage') || { key: 'igo' };
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Use to get the data found in storage file
|
|
@@ -28,10 +28,10 @@ class BaseStorage {
|
|
|
28
28
|
get(key, scope) {
|
|
29
29
|
let value;
|
|
30
30
|
if (!scope || scope === StorageScope.SESSION) {
|
|
31
|
-
value = sessionStorage.getItem(`${this.options
|
|
31
|
+
value = sessionStorage.getItem(`${this.options?.key}.${key}`);
|
|
32
32
|
}
|
|
33
33
|
if (scope === StorageScope.LOCAL || (!value && !scope)) {
|
|
34
|
-
value = localStorage.getItem(`${this.options
|
|
34
|
+
value = localStorage.getItem(`${this.options?.key}.${key}`);
|
|
35
35
|
}
|
|
36
36
|
if (value) {
|
|
37
37
|
try {
|
|
@@ -46,10 +46,10 @@ class BaseStorage {
|
|
|
46
46
|
set(key, value, scope = StorageScope.LOCAL) {
|
|
47
47
|
const previousValue = this.get(key, scope);
|
|
48
48
|
if (scope === StorageScope.SESSION) {
|
|
49
|
-
sessionStorage.setItem(`${this.options
|
|
49
|
+
sessionStorage.setItem(`${this.options?.key}.${key}`, JSON.stringify(value));
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
52
|
-
localStorage.setItem(`${this.options
|
|
52
|
+
localStorage.setItem(`${this.options?.key}.${key}`, JSON.stringify(value));
|
|
53
53
|
}
|
|
54
54
|
const currentValue = this.get(key, scope);
|
|
55
55
|
if (currentValue !== previousValue) {
|
|
@@ -67,10 +67,10 @@ class BaseStorage {
|
|
|
67
67
|
remove(key, scope = StorageScope.LOCAL) {
|
|
68
68
|
const previousValue = this.get(key, scope);
|
|
69
69
|
if (scope === StorageScope.SESSION) {
|
|
70
|
-
sessionStorage.removeItem(`${this.options
|
|
70
|
+
sessionStorage.removeItem(`${this.options?.key}.${key}`);
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
|
-
localStorage.removeItem(`${this.options
|
|
73
|
+
localStorage.removeItem(`${this.options?.key}.${key}`);
|
|
74
74
|
}
|
|
75
75
|
this.storageChange$.next({
|
|
76
76
|
key,
|
|
@@ -92,13 +92,13 @@ class BaseStorage {
|
|
|
92
92
|
|
|
93
93
|
class StorageService extends BaseStorage {
|
|
94
94
|
constructor() {
|
|
95
|
-
const config = inject(ConfigService);
|
|
95
|
+
const config = inject(ConfigService, { optional: true });
|
|
96
96
|
super(config);
|
|
97
97
|
}
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
99
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageService, providedIn: 'root' });
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageService, decorators: [{
|
|
102
102
|
type: Injectable,
|
|
103
103
|
args: [{
|
|
104
104
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-storage.mjs","sources":["../../../packages/core/storage/src/storage.interface.ts","../../../packages/core/storage/src/storage.ts","../../../packages/core/storage/src/storage.service.ts","../../../packages/core/storage/src/igo2-core-storage.ts"],"sourcesContent":["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 { ConfigService } from '@igo2/core/config';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n StorageOptions,\n StorageScope,\n StorageServiceEvent,\n StorageServiceEventEnum\n} from './storage.interface';\n\nexport abstract class BaseStorage<T extends StorageOptions = StorageOptions> {\n protected options?: T;\n\n public storageChange$ = new BehaviorSubject<StorageServiceEvent>(undefined);\n\n constructor(config
|
|
1
|
+
{"version":3,"file":"igo2-core-storage.mjs","sources":["../../../packages/core/storage/src/storage.interface.ts","../../../packages/core/storage/src/storage.ts","../../../packages/core/storage/src/storage.service.ts","../../../packages/core/storage/src/igo2-core-storage.ts"],"sourcesContent":["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 { ConfigService } from '@igo2/core/config';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n StorageOptions,\n StorageScope,\n StorageServiceEvent,\n StorageServiceEventEnum\n} from './storage.interface';\n\nexport abstract class BaseStorage<T extends StorageOptions = StorageOptions> {\n protected options?: T;\n\n public storageChange$ = new BehaviorSubject<StorageServiceEvent | undefined>(\n undefined\n );\n\n constructor(config?: ConfigService | null) {\n this.options = config?.getConfig<T>('storage') || ({ key: 'igo' } as T);\n }\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 return JSON.parse(value);\n } catch {\n return value;\n }\n }\n\n return value;\n }\n\n set(key: string, value: unknown, scope: StorageScope = StorageScope.LOCAL) {\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(\n `${this.options?.key}.${key}`,\n JSON.stringify(value)\n );\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key,\n scope,\n event:\n previousValue !== undefined\n ? StorageServiceEventEnum.MODIFIED\n : 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({\n key,\n scope,\n event: StorageServiceEventEnum.REMOVED,\n previousValue\n });\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, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { BaseStorage } from './storage';\nimport { StorageOptions } from './storage.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService extends BaseStorage<StorageOptions> {\n constructor() {\n const config = inject(ConfigService, { optional: true });\n super(config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/igo2-core.mjs
CHANGED
|
@@ -6,7 +6,6 @@ import * as i1 from '@igo2/core/activity';
|
|
|
6
6
|
import { IgoActivityModule } from '@igo2/core/activity';
|
|
7
7
|
import { provideConfig } from '@igo2/core/config';
|
|
8
8
|
import { provideTranslation, withAsyncConfig, IgoLanguageModule } from '@igo2/core/language';
|
|
9
|
-
import { provideMessage } from '@igo2/core/message';
|
|
10
9
|
import * as i2 from '@igo2/core/request';
|
|
11
10
|
import { IgoErrorModule } from '@igo2/core/request';
|
|
12
11
|
|
|
@@ -17,13 +16,13 @@ class IgoCoreModule {
|
|
|
17
16
|
providers: [provideConfig(options), provideTranslation(withAsyncConfig())]
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
21
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
22
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoCoreModule, imports: [CommonModule, i1.IgoActivityModule, i2.IgoErrorModule], exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
|
|
21
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoCoreModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
|
|
23
22
|
IgoActivityModule.forRoot(),
|
|
24
23
|
IgoErrorModule.forRoot(), IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
|
|
25
24
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoCoreModule, decorators: [{
|
|
27
26
|
type: NgModule,
|
|
28
27
|
args: [{
|
|
29
28
|
declarations: [],
|
|
@@ -33,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
33
32
|
IgoActivityModule.forRoot(),
|
|
34
33
|
IgoErrorModule.forRoot()
|
|
35
34
|
],
|
|
36
|
-
providers: [
|
|
35
|
+
providers: [provideHttpClient(withInterceptorsFromDi())]
|
|
37
36
|
}]
|
|
38
37
|
}] });
|
|
39
38
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n provideHttpClient,\n withInterceptorsFromDi\n} from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { ConfigOptions, provideConfig } from '@igo2/core/config';\nimport {\n IgoLanguageModule,\n provideTranslation,\n withAsyncConfig\n} from '@igo2/core/language';\nimport {
|
|
1
|
+
{"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n provideHttpClient,\n withInterceptorsFromDi\n} from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { ConfigOptions, provideConfig } from '@igo2/core/config';\nimport {\n IgoLanguageModule,\n provideTranslation,\n withAsyncConfig\n} from '@igo2/core/language';\nimport { IgoErrorModule } from '@igo2/core/request';\n\n@NgModule({\n declarations: [],\n exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule],\n imports: [\n CommonModule,\n IgoActivityModule.forRoot(),\n IgoErrorModule.forRoot()\n ],\n providers: [provideHttpClient(withInterceptorsFromDi())]\n})\nexport class IgoCoreModule {\n static forRoot(\n options: ConfigOptions = {}\n ): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: [provideConfig(options), provideTranslation(withAsyncConfig())]\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\n\n/** @deprecated */\n// export * from '@igo2/core/language';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MA0Ba,aAAa,CAAA;AACxB,IAAA,OAAO,OAAO,CACZ,OAAA,GAAyB,EAAE,EAAA;QAE3B,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,eAAe,EAAE,CAAC;SAC1E;IACH;wGARW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YANtB,YAAY,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAFJ,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;yGAQnD,aAAa,EAAA,SAAA,EAFb,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAA,OAAA,EAAA,CAJtD,YAAY;YACZ,iBAAiB,CAAC,OAAO,EAAE;YAC3B,cAAc,CAAC,OAAO,EAAE,EAJhB,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;;4FAQnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;AAC/D,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB,CAAC,OAAO,EAAE;wBAC3B,cAAc,CAAC,OAAO;AACvB,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACxD,iBAAA;;;ACzBD;;AAEG;AAIH;AACA;;ACPA;;AAEG;;;;"}
|