UNPKG

@igo2/core

Version:
1 lines 23.4 kB
{"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 { Inject, Injectable, Injector } from '@angular/core';\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 public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n private activeMessageTranslations: ActiveMessageTranslation[] = [];\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private configService: ConfigService,\n private languageService: LanguageService\n ) {\n this.options = this.configService.getConfig('message');\n this.languageService.language$.pipe(debounceTime(500)).subscribe(() => {\n if (this.toastr.toasts.length === 0) {\n this.activeMessageTranslations = [];\n }\n this.toastr.toasts.map((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(activeMessageTranslation.textInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTextInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.textInterpolateParams[k]\n );\n }\n }\n );\n }\n if (activeMessageTranslation.titleInterpolateParams) {\n Object.keys(activeMessageTranslation.titleInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTitleInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.titleInterpolateParams[k]\n );\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 toast.toastRef.componentInstance.message = res[0];\n toast.toastRef.componentInstance.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).map((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).map((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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"}