@muraai/mnl-commons 0.1.0-alpha-7aebc4d → 0.1.0-alpha-0abf887

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.
Files changed (68) hide show
  1. package/esm2020/lib/commons.module.mjs +140 -0
  2. package/esm2020/lib/components/header/header.component.mjs +32 -0
  3. package/esm2020/lib/components/highlighter/highlighter.component.mjs +24 -0
  4. package/esm2020/lib/components/language-menu/language-menu.component.mjs +36 -0
  5. package/esm2020/lib/components/login/login.component.mjs +56 -0
  6. package/esm2020/lib/components/menu/menu.component.mjs +69 -0
  7. package/esm2020/lib/components/profile/profile.component.mjs +44 -0
  8. package/esm2020/lib/material.module.mjs +60 -0
  9. package/{esm2015/lib/model/log-levels.model.js → esm2020/lib/model/log-levels.model.mjs} +0 -0
  10. package/{esm2015/lib/model/menu-data.model.js → esm2020/lib/model/menu-data.model.mjs} +0 -0
  11. package/{esm2015/lib/model/translation-resource.js → esm2020/lib/model/translation-resource.mjs} +0 -0
  12. package/{esm2015/lib/model/user-model.js → esm2020/lib/model/user-model.mjs} +0 -0
  13. package/esm2020/lib/pipes/app-config-pipe.mjs +20 -0
  14. package/esm2020/lib/pipes/time-ago-pipe.mjs +43 -0
  15. package/esm2020/lib/pipes/user-fullname-pipe.mjs +34 -0
  16. package/esm2020/lib/pipes/user-initials-pipe.mjs +48 -0
  17. package/esm2020/lib/services/app.config.service.mjs +41 -0
  18. package/{esm2015/lib/services/local-storage.service.js → esm2020/lib/services/local-storage.service.mjs} +9 -8
  19. package/esm2020/lib/services/locale.service.mjs +89 -0
  20. package/esm2020/lib/services/log.service.mjs +89 -0
  21. package/esm2020/lib/services/user-profile.service.mjs +36 -0
  22. package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +0 -0
  23. package/{esm2015/muraai-mnl-commons.js → esm2020/muraai-mnl-commons.mjs} +0 -0
  24. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  25. package/fesm2015/muraai-mnl-commons.mjs +914 -0
  26. package/fesm2015/muraai-mnl-commons.mjs.map +1 -0
  27. package/fesm2020/muraai-mnl-commons.mjs +911 -0
  28. package/fesm2020/muraai-mnl-commons.mjs.map +1 -0
  29. package/{muraai-mnl-commons.d.ts → index.d.ts} +1 -0
  30. package/lib/commons.module.d.ts +19 -0
  31. package/lib/components/header/header.component.d.ts +3 -0
  32. package/lib/components/highlighter/highlighter.component.d.ts +3 -0
  33. package/lib/components/language-menu/language-menu.component.d.ts +3 -0
  34. package/lib/components/login/login.component.d.ts +5 -2
  35. package/lib/components/menu/menu.component.d.ts +3 -0
  36. package/lib/components/profile/profile.component.d.ts +3 -0
  37. package/lib/material.module.d.ts +14 -2
  38. package/lib/pipes/app-config-pipe.d.ts +3 -0
  39. package/lib/pipes/time-ago-pipe.d.ts +3 -0
  40. package/lib/pipes/user-fullname-pipe.d.ts +3 -0
  41. package/lib/pipes/user-initials-pipe.d.ts +3 -0
  42. package/lib/services/app.config.service.d.ts +3 -0
  43. package/lib/services/local-storage.service.d.ts +3 -0
  44. package/lib/services/locale.service.d.ts +3 -0
  45. package/lib/services/log.service.d.ts +3 -0
  46. package/lib/services/user-profile.service.d.ts +3 -0
  47. package/package.json +22 -10
  48. package/bundles/muraai-mnl-commons.umd.js +0 -1298
  49. package/bundles/muraai-mnl-commons.umd.js.map +0 -1
  50. package/esm2015/lib/commons.module.js +0 -104
  51. package/esm2015/lib/components/header/header.component.js +0 -27
  52. package/esm2015/lib/components/highlighter/highlighter.component.js +0 -21
  53. package/esm2015/lib/components/language-menu/language-menu.component.js +0 -35
  54. package/esm2015/lib/components/login/login.component.js +0 -48
  55. package/esm2015/lib/components/menu/menu.component.js +0 -62
  56. package/esm2015/lib/components/profile/profile.component.js +0 -35
  57. package/esm2015/lib/material.module.js +0 -31
  58. package/esm2015/lib/pipes/app-config-pipe.js +0 -19
  59. package/esm2015/lib/pipes/time-ago-pipe.js +0 -43
  60. package/esm2015/lib/pipes/user-fullname-pipe.js +0 -30
  61. package/esm2015/lib/pipes/user-initials-pipe.js +0 -44
  62. package/esm2015/lib/services/app.config.service.js +0 -44
  63. package/esm2015/lib/services/locale.service.js +0 -94
  64. package/esm2015/lib/services/log.service.js +0 -91
  65. package/esm2015/lib/services/user-profile.service.js +0 -40
  66. package/fesm2015/muraai-mnl-commons.js +0 -843
  67. package/fesm2015/muraai-mnl-commons.js.map +0 -1
  68. package/muraai-mnl-commons.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"muraai-mnl-commons.js","sources":["../../../../projects/commons/src/lib/material.module.ts","../../../../projects/commons/src/lib/components/header/header.component.ts","../../../../projects/commons/src/lib/components/highlighter/highlighter.component.ts","../../../../projects/commons/src/lib/utils/object-utils.ts","../../../../projects/commons/src/lib/services/app.config.service.ts","../../../../projects/commons/src/lib/services/local-storage.service.ts","../../../../projects/commons/src/lib/services/user-profile.service.ts","../../../../projects/commons/src/lib/services/locale.service.ts","../../../../projects/commons/src/lib/components/language-menu/language-menu.component.ts","../../../../projects/commons/src/lib/components/login/login.component.ts","../../../../projects/commons/src/lib/components/menu/menu.component.ts","../../../../projects/commons/src/lib/components/profile/profile.component.ts","../../../../projects/commons/src/lib/model/translation-resource.ts","../../../../projects/commons/src/lib/pipes/app-config-pipe.ts","../../../../projects/commons/src/lib/pipes/time-ago-pipe.ts","../../../../projects/commons/src/lib/pipes/user-fullname-pipe.ts","../../../../projects/commons/src/lib/pipes/user-initials-pipe.ts","../../../../projects/commons/src/lib/model/log-levels.model.ts","../../../../projects/commons/src/lib/services/log.service.ts","../../../../projects/commons/src/lib/commons.module.ts","../../../../projects/commons/src/public-api.ts","../../../../projects/commons/src/muraai-mnl-commons.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCardModule } from '@angular/material/card';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nexport function modules() {\n return [\n MatButtonModule,\n MatCardModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n FormsModule,\n ReactiveFormsModule,\n MatMenuModule,\n ];\n}\n@NgModule({\n imports: modules(),\n exports: modules()\n})\nexport class MaterialModule {}\n","import { Component, Input, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';\n\n@Component({\n selector: 'mnl-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent {\n\n @Input()\n header: any;\n\n @Output()\n menuButonClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n logoClick: EventEmitter<any> = new EventEmitter<any>();\n\n menuClick(event) {\n this.menuButonClickEvent.emit(event);\n }\n\n onLogoClick(event) {\n this.logoClick.emit(event);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mnl-highlighter',\n templateUrl: './highlighter.component.html',\n styleUrls: ['./highlighter.component.scss'],\n})\nexport class HighlighterComponent {\n @Input()\n height = '40px';\n\n @Input()\n width = '4px';\n\n @Input()\n enabled = true;\n}\n","export class ObjectUtils {\n /**\n * Gets a value from an object by composed key\n * ObjectUtils.getValue({ item: { nodeType: 'cm:folder' }}, 'item.nodeType') ==> 'cm:folder'\n */\n static getValue(target: any, key: string): any {\n\n if (!target) {\n return undefined;\n }\n\n const keys = key.split('.');\n key = '';\n\n do {\n key += keys.shift();\n const value = target[key];\n if (value !== undefined && (typeof value === 'object' || !keys.length)) {\n target = value;\n key = '';\n } else if (!keys.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys.length);\n\n return target;\n }\n\n static merge(...objects): any {\n const result = {};\n\n objects.forEach((source) => {\n Object.keys(source).forEach((prop) => {\n if (prop in result && Array.isArray(result[prop])) {\n result[prop] = result[prop].concat(source[prop]);\n } else if (prop in result && typeof result[prop] === 'object') {\n result[prop] = ObjectUtils.merge(result[prop], source[prop]);\n } else {\n result[prop] = source[prop];\n }\n });\n });\n\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ObjectUtils } from '../utils/object-utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppConfigService {\n private config: object = null;\n\n constructor(private http: HttpClient) {}\n\n /**\n * Use to get the data found in the file (config file)\n */\n public get<T>(key: string, defaultValue?: any): T {\n const result: any = ObjectUtils.getValue(this.config, key);\n return (result === undefined ? defaultValue : result) as T;\n }\n\n /**\n * This method:\n * Loads \"config.json\" to get all variables (e.g.: 'app.config.json')\n */\n load(): Promise<any> {\n return new Promise(async (resolve) => {\n const configUrl = `assets/app.config.json`;\n await this.http.get(configUrl).subscribe(\n (data: any) => {\n this.config = Object.assign({}, this.config, data || {});\n resolve(this.config);\n },\n () => {\n resolve(this.config);\n }\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private memoryStore: { [key: string]: any } = {};\n private readonly useLocalStorage: boolean = false;\n\n constructor() {\n this.useLocalStorage = this.isStorageAvailable('localStorage');\n }\n\n set(key, value) {\n if (this.useLocalStorage) {\n localStorage.setItem(key, value);\n } else {\n this.memoryStore[key] = value;\n }\n }\n\n get(key): string {\n if (this.useLocalStorage) {\n return localStorage.getItem(key);\n } else {\n return this.memoryStore.hasOwnProperty(key)\n ? this.memoryStore[key]\n : null;\n }\n }\n\n private isStorageAvailable(type: string): boolean {\n try {\n const storage = window[type];\n const key = '__storage_test__';\n storage.setItem(key, key);\n storage.removeItem(key, key);\n return true;\n } catch (e) {\n return false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {AppConfigService} from './app.config.service';\nimport {LocalStorageService} from './local-storage.service';\n@Injectable({\n providedIn: 'root'\n })\nexport class UserProfileService {\n static LOCALE_PREFIX = '____locale';\n userPrefix = '';\n constructor(private appConfigService: AppConfigService, private localStorageService: LocalStorageService) {}\n getApplicationId(): string {\n return this.appConfigService.get('applicationId') ? this.appConfigService.get('applicationId') : '';\n }\n setUserPrefix(userPrefix) {\n this.userPrefix = userPrefix;\n }\n getUserPrefix(): string {\n return this.userPrefix ? this.userPrefix : '';\n }\n setLocale(locale) {\n this.localStorageService.set( this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX , locale);\n }\n getLocale(): string {\n return this.localStorageService.get(this.getApplicationId() + this.userPrefix + UserProfileService.LOCALE_PREFIX);\n }\n}\n","import { Injectable, Inject, OnInit } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserProfileService } from './user-profile.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Direction } from '@angular/cdk/bidi';\n\n/** @dynamic */\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleService {\n locale: string;\n languages: Array<LanguageItem> = [];\n constructor(\n private config: AppConfigService,\n private translate: TranslateService,\n private userProfileService: UserProfileService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.initUserLanguage();\n }\n\n initUserLanguage() {\n this.setActiveLocale(this.getActiveLocale() || this.getDefaultLocale());\n }\n\n setTextOrientation(direction) {\n document.body.setAttribute('dir', direction);\n }\n\n getTextOrientation(): string {\n return document.body.getAttribute('dir');\n }\n\n getLanguages(): Array<LanguageItem> {\n this.languages = this.config.get('languages');\n if (!this.languages) {\n this.languages = [\n {\n key: 'fr',\n label: 'French',\n direction: 'ltr',\n },\n {\n key: 'de',\n label: 'German',\n direction: 'ltr',\n },\n {\n key: 'en',\n label: 'English',\n direction: 'ltr',\n },\n {\n key: 'ar',\n label: 'Arabic',\n direction: 'rtl',\n },\n ];\n }\n return this.languages;\n }\n getDefaultLocale(): LanguageItem {\n this.locale = this.userProfileService.getLocale();\n if (!this.locale) {\n this.locale = this.config.get('locale')\n ? this.config.get('locale')\n : this.translate.getBrowserLang()\n ? this.translate.getBrowserLang()\n : 'en';\n }\n return this.getLanguages().find((e) => e.key === this.locale);\n }\n\n getActiveLocale(): LanguageItem {\n if (this.userProfileService.getLocale()) {\n return this.getLanguages().find(\n (e) => e.key === this.userProfileService.getLocale()\n );\n }\n }\n\n setActiveLocale(locale: LanguageItem) {\n if (locale) {\n this.translate.use(locale.key);\n this.setTextOrientation(locale.direction);\n this.userProfileService.setLocale(locale.key);\n }\n }\n}\nexport interface LanguageItem {\n key: string;\n label: string;\n direction?: Direction;\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { LocaleService, LanguageItem } from '../../services/locale.service';\n\n@Component({\n selector: 'mnl-language-menu',\n templateUrl: './language-menu.component.html',\n styleUrls: ['./language-menu.component.scss'],\n})\nexport class LanguageMenuComponent implements OnInit {\n\n @Input()\n showLocaleKeyAsLabel = false;\n\n @Input()\n showLocaleAsLabel = false;\n\n languages: Array<LanguageItem> = [];\n constructor(private localeService: LocaleService) {}\n\n ngOnInit() {\n this.languages = this.localeService.getLanguages();\n this.localeService.setActiveLocale(this.locale);\n }\n\n onChangeLanguage(language: LanguageItem) {\n this.localeService.setActiveLocale(language);\n }\n\n get locale(): LanguageItem {\n return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { UserModel } from '../../model/user-model';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n selector: 'mnl-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n formGroup: FormGroup;\n\n @Input()\n title = '';\n\n @Input()\n logoImageUrl = './assets/images/logo.png';\n\n @Input()\n backgroundImageUrl = './assets/images/background.jpg';\n\n @Input()\n disabled = false;\n\n @Output()\n login = new EventEmitter<UserModel>();\n\n constructor(private sanitizer: DomSanitizer) {\n\n }\n ngOnInit() {\n this.initForm();\n }\n\n private initForm() {\n this.formGroup = new FormGroup({\n username: new FormControl('', [Validators.required]),\n password: new FormControl('', [Validators.required])\n });\n }\n onSubmit() {\n if (this.formGroup.valid) {\n this.login .emit(this.formGroup.value);\n }\n }\n getBackgroundImageUrl(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);\n}\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MenuModel } from '../../model/menu-data.model';\n\n@Component({\n selector: 'mnl-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n})\nexport class MenuComponent {\n @Input()\n menuData: Array<MenuModel>;\n\n @Output()\n menuClick: EventEmitter<any> = new EventEmitter<any>();\n\n onMenuClick(menu: MenuModel) {\n if (this.hasSubMenu(menu)) {\n this.openMenu(menu);\n this.onSubMenuClick(menu.subMenus[0], menu);\n } else {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.menuClick.emit(menu);\n }\n }\n\n onSubMenuClick(subMenu: MenuModel, menu: MenuModel) {\n this.deSelectMenus(this.menuData);\n this.selectMenu(menu);\n this.selectMenu(subMenu);\n this.menuClick.emit(subMenu);\n }\n\n deSelectMenus(menus: MenuModel[]) {\n if (menus) {\n for (const menu of menus) {\n if (menu.selected) {\n menu.selected = false;\n }\n this.deSelectMenus(menu.subMenus);\n }\n }\n }\n\n private selectMenu(menu: MenuModel) {\n if (menu) {\n menu.selected = true;\n }\n }\n\n private hasSubMenu(menu: MenuModel) {\n return menu.subMenus && menu.subMenus.length > 0;\n }\n\n toggleMenu(menu: MenuModel, event: Event) {\n menu.expanded = !menu.expanded;\n\n if (event) {\n event.stopPropagation();\n }\n }\n\n private openMenu(menu: MenuModel) {\n menu.expanded = true;\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { UserModel } from '../../model/user-model';\n\n@Component({\n selector: 'mnl-user-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.css'],\n})\nexport class ProfileComponent implements OnChanges {\n @Input()\n userProfileDetails: UserModel;\n\n @Input()\n showDisplayName = true;\n\n @Output()\n userInitialClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n profileMenuClick: EventEmitter<any> = new EventEmitter<any>();\n\n hasUserDetails: boolean;\n\n onUserInitialClick(event: any) {\n this.userInitialClick.emit(event);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes && changes.userProfileDetails && changes.userProfileDetails.currentValue\n && changes.userProfileDetails.currentValue.firstName && changes.userProfileDetails.currentValue.lastName\n && changes.userProfileDetails.currentValue.email) {\n this.hasUserDetails = true;\n } else {\n this.hasUserDetails = false;\n }\n }\n}\n","import {\n ITranslationResource,\n MultiTranslateHttpLoader,\n} from 'ngx-translate-multi-http-loader';\nimport { InjectionToken } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nexport const MNL_TRANSLATION_RESOURCE = new InjectionToken<ITranslationResource>('Translation Resource');\n\nexport function translationLoaderFactory(http: HttpClient, resources: ITranslationResource[]) {\n if (!resources) {\n resources = [];\n } else if (!resources.length) {\n resources = [resources as any];\n }\n\n resources.push({ prefix: './assets/mnl-commons/i18n/', suffix: '.json' });\n\n return new MultiTranslateHttpLoader(http, resources);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AppConfigService } from '../services/app.config.service';\n\n@Pipe({\n name: 'mnlAppConfig'\n})\nexport class AppConfigPipe implements PipeTransform {\n constructor(private config: AppConfigService) {}\n\n transform(value: string, defaultValue?: any): any {\n return this.config.get(value) || defaultValue || '';\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistance } from 'date-fns';\nimport differenceInDays from 'date-fns/differenceInDays';\nimport { AppConfigService } from '../services/app.config.service';\nimport { UserProfileService } from '../services/user-profile.service';\n\n@Pipe({\n name: 'mnlTimeAgo',\n})\nexport class TimeAgoPipe implements PipeTransform {\n static DEFAULT_LOCALE = 'en-US';\n static DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';\n\n defaultLocale: string;\n defaultDateTimeFormat: string;\n\n constructor(\n private appConfigService: AppConfigService,\n private userProfileService: UserProfileService\n ) {\n this.defaultLocale = TimeAgoPipe.DEFAULT_LOCALE;\n this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;\n }\n\n transform(value: Date, dateTimeFormat?: string, locale?: string) {\n if (value) {\n const currentLocale = this.userProfileService.getLocale();\n const currentDateTimeFormat = this.appConfigService.get(\n 'dateTimeFormat'\n ) as string;\n const requiredLocale = locale || currentLocale || this.defaultLocale;\n const requiredDateTimeFormat =\n dateTimeFormat || currentDateTimeFormat || this.defaultDateTimeFormat;\n if (differenceInDays(new Date(), new Date(value)) > 7) {\n const datePipe: DatePipe = new DatePipe(requiredLocale);\n return datePipe.transform(value, requiredDateTimeFormat);\n }\n return formatDistance(new Date(value), new Date(), {\n includeSeconds: true,\n addSuffix: true,\n });\n }\n return '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserFullName'\n})\nexport class UserFullnamePipe implements PipeTransform {\n\n transform(value: UserModel): any {\n let fullName = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n fullName = value.firstName + ' ' + value.lastName;\n } else if (!value.firstName && value.lastName) {\n fullName = value.lastName;\n } else if (value.firstName && !value.lastName) {\n fullName = value.firstName;\n } else if (!value.firstName && !value.lastName) {\n fullName = value.email;\n }\n }\n return fullName;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { UserModel } from '../model/user-model';\n\n@Pipe({\n name: 'mnlUserInitialPipe'\n})\nexport class UserInitialPipe implements PipeTransform {\n\n transform(value: UserModel) {\n let userInitials = '';\n if (!this.isEmptyObject(value)) {\n if (value.firstName && value.lastName) {\n userInitials = value.firstName.substring(0, 1).toUpperCase() + value.lastName.substring(0, 1).toUpperCase();\n } else if (!value.firstName && value.lastName) {\n userInitials = this.getUserInitials(value.lastName);\n } else if (value.firstName && !value.lastName) {\n userInitials = this.getUserInitials(value.firstName);\n } else if (!value.firstName && !value.lastName) {\n userInitials = value.email.substring(0, 1).toUpperCase();\n }\n }\n return userInitials;\n }\n\n isEmptyObject(data: UserModel): boolean {\n return (data && (Object.keys(data).length === 0));\n }\n\n getUserInitials(name: string): string {\n let userInitial = '';\n if (this.hasWhiteSpace(name.trim())) {\n const data = name.split(/\\s+/);\n userInitial = data[0].substring(0, 1).toUpperCase() + data[1].substring(0, 1).toUpperCase();\n } else {\n userInitial = name.trim().substring(0, 1).toUpperCase();\n }\n return userInitial;\n }\n\n hasWhiteSpace(data: string): boolean {\n return /\\s/g.test(data);\n }\n}\n","export class LogLevelsEnum extends Number {\n static TRACE = 5;\n static DEBUG = 1;\n static INFO = 2;\n static WARN = 3;\n static ERROR = 4;\n static SILENT = 0;\n}\n\nexport let logLevels: any[] = [\n {level: LogLevelsEnum.TRACE, name: 'TRACE'},\n {level: LogLevelsEnum.DEBUG, name: 'DEBUG'},\n {level: LogLevelsEnum.INFO, name: 'INFO'},\n {level: LogLevelsEnum.WARN, name: 'WARN'},\n {level: LogLevelsEnum.ERROR, name: 'ERROR'},\n {level: LogLevelsEnum.SILENT, name: 'SILENT'}\n];\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './app.config.service';\nimport { logLevels, LogLevelsEnum } from '../model/log-levels.model';\nimport { Subject } from 'rxjs';\n// tslint:disable: no-console\n@Injectable({\n providedIn: 'root'\n})\nexport class LogService {\n\n onMessage: Subject<any>;\n constructor(private appConfigService: AppConfigService) {\n this.onMessage = new Subject();\n }\n get currentLogLevel() {\n const configLevel: string = this.appConfigService.get('logLevel');\n\n if (configLevel) {\n return this.getLogLevel(configLevel);\n }\n\n return LogLevelsEnum.ERROR;\n }\n\n error(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.ERROR) {\n\n this.messageBus(message, 'ERROR');\n\n console.error(message, ...optionalParams);\n }\n }\n\n debug(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.DEBUG) {\n\n this.messageBus(message, 'DEBUG');\n\n console.debug(message, ...optionalParams);\n }\n }\n\n info(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.INFO) {\n\n this.messageBus(message, 'INFO');\n\n console.info(message, ...optionalParams);\n }\n }\n\n log(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'LOG');\n\n console.log(message, ...optionalParams);\n }\n }\n\n trace(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.TRACE) {\n\n this.messageBus(message, 'TRACE');\n\n console.trace(message, ...optionalParams);\n }\n }\n\n warn(message?: any, ...optionalParams: any[]) {\n if (this.currentLogLevel >= LogLevelsEnum.WARN) {\n\n this.messageBus(message, 'WARN');\n\n console.warn(message, ...optionalParams);\n }\n }\n\n assert(test?: boolean, message?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n\n this.messageBus(message, 'ASSERT');\n\n console.assert(test, message, ...optionalParams);\n }\n }\n\n group(groupTitle?: string, ...optionalParams: any[]) {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.group(groupTitle, ...optionalParams);\n }\n }\n\n groupEnd() {\n if (this.currentLogLevel !== LogLevelsEnum.SILENT) {\n console.groupEnd();\n }\n }\n getLogLevel(level: string): LogLevelsEnum {\n const referencedLevel = logLevels.find((currentLevel: any) => {\n return currentLevel.name.toLocaleLowerCase() === level.toLocaleLowerCase();\n });\n\n return referencedLevel ? referencedLevel.level : 4;\n }\n\n messageBus(message: string, logLevel: string) {\n this.onMessage.next({ text: message, type: logLevel });\n }\n}\n","import { CommonModule, registerLocaleData } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport localeAR from '@angular/common/locales/ar';\nimport localeDE from '@angular/common/locales/de';\nimport localeFR from '@angular/common/locales/fr';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HeaderComponent } from './components/header/header.component';\nimport { HighlighterComponent } from './components/highlighter/highlighter.component';\nimport { LanguageMenuComponent } from './components/language-menu/language-menu.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { MaterialModule } from './material.module';\nimport {\n MNL_TRANSLATION_RESOURCE,\n translationLoaderFactory,\n} from './model/translation-resource';\nimport { AppConfigPipe } from './pipes/app-config-pipe';\nimport { TimeAgoPipe } from './pipes/time-ago-pipe';\nimport { UserFullnamePipe } from './pipes/user-fullname-pipe';\nimport { UserInitialPipe } from './pipes/user-initials-pipe';\nimport { AppConfigService } from './services/app.config.service';\nimport { LocalStorageService } from './services/local-storage.service';\nimport { LocaleService } from './services/locale.service';\nimport { LogService } from './services/log.service';\nimport { UserProfileService } from './services/user-profile.service';\n\nregisterLocaleData(localeFR);\nregisterLocaleData(localeDE);\nregisterLocaleData(localeAR);\n@NgModule({\n declarations: [\n HeaderComponent,\n MenuComponent,\n HighlighterComponent,\n AppConfigPipe,\n LoginComponent,\n LanguageMenuComponent,\n ProfileComponent,\n UserInitialPipe,\n TimeAgoPipe,\n UserFullnamePipe,\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n FlexLayoutModule,\n MaterialModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: translationLoaderFactory,\n deps: [HttpClient, MNL_TRANSLATION_RESOURCE],\n },\n }),\n ],\n\n exports: [\n HeaderComponent,\n MenuComponent,\n HighlighterComponent,\n AppConfigPipe,\n LanguageMenuComponent,\n LoginComponent,\n ProfileComponent,\n UserInitialPipe,\n TimeAgoPipe,\n UserFullnamePipe,\n TranslateModule,\n ],\n})\nexport class CommonsModule {\n static forRoot(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: loadConfig,\n deps: [\n AppConfigService,\n UserProfileService,\n LocalStorageService,\n LogService,\n LocaleService,\n ],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<CommonsModule> {\n return {\n ngModule: CommonsModule,\n };\n }\n}\n\nexport function loadConfig(config: AppConfigService) {\n const conf = () => config.load();\n return conf;\n}\n","/*\n * Public API Surface of mnl-commons\n */\nexport * from './lib/material.module';\nexport * from './lib/commons.module';\nexport * from './lib/components/menu/menu.component';\nexport * from './lib/components/header/header.component';\nexport * from './lib/services/app.config.service';\nexport * from './lib/pipes/app-config-pipe';\nexport * from './lib/services/log.service';\nexport * from './lib/model/log-levels.model';\nexport * from './lib/services/user-profile.service';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/components/language-menu/language-menu.component';\nexport * from './lib/services/locale.service';\nexport * from './lib/components/login/login.component';\nexport * from './lib/model/user-model';\nexport * from './lib/pipes/user-initials-pipe';\nexport * from './lib/pipes/time-ago-pipe';\nexport * from './lib/pipes/user-fullname-pipe';\nexport * from './lib/model/menu-data.model';\nexport * from './lib/components/highlighter/highlighter.component';\nexport * from './lib/model/translation-resource';\nexport * from './lib/components/profile/profile.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"modules":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/material/card","name":"MatCardModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/material/menu","name":"MatMenuModule","line":19,"character":4}]},"MaterialModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"modules"}},"exports":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"modules"}}}]}],"members":{}},"CommonsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":33,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"HeaderComponent"},{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"HighlighterComponent"},{"__symbolic":"reference","name":"AppConfigPipe"},{"__symbolic":"reference","name":"LoginComponent"},{"__symbolic":"reference","name":"LanguageMenuComponent"},{"__symbolic":"reference","name":"ProfileComponent"},{"__symbolic":"reference","name":"UserInitialPipe"},{"__symbolic":"reference","name":"TimeAgoPipe"},{"__symbolic":"reference","name":"UserFullnamePipe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":47,"character":4},{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":49,"character":4},{"__symbolic":"reference","name":"MaterialModule"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":51,"character":4},"member":"forRoot"},"arguments":[{"loader":{"provide":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateLoader","line":53,"character":17},"useFactory":{"__symbolic":"reference","name":"translationLoaderFactory"},"deps":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":55,"character":15},{"__symbolic":"reference","name":"MNL_TRANSLATION_RESOURCE"}]}}]}],"exports":[{"__symbolic":"reference","name":"HeaderComponent"},{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"HighlighterComponent"},{"__symbolic":"reference","name":"AppConfigPipe"},{"__symbolic":"reference","name":"LanguageMenuComponent"},{"__symbolic":"reference","name":"LoginComponent"},{"__symbolic":"reference","name":"ProfileComponent"},{"__symbolic":"reference","name":"UserInitialPipe"},{"__symbolic":"reference","name":"TimeAgoPipe"},{"__symbolic":"reference","name":"UserFullnamePipe"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":71,"character":4}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"CommonsModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":80,"character":19},"useFactory":{"__symbolic":"reference","name":"loadConfig"},"deps":[{"__symbolic":"reference","name":"AppConfigService"},{"__symbolic":"reference","name":"UserProfileService"},{"__symbolic":"reference","name":"LocalStorageService"},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","name":"LocaleService"}],"multi":true}]}},"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"CommonsModule"}}}}},"loadConfig":{"__symbolic":"function"},"MenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"mnl-menu","template":"<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item fxLayout=\"row\" (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item fxLayout=\"row\" class=\"mnl-submenu\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" fxLayout=\"row\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>","styles":[".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}\n"]}]}],"members":{"menuData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"menuClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"onMenuClick":[{"__symbolic":"method"}],"onSubMenuClick":[{"__symbolic":"method"}],"deSelectMenus":[{"__symbolic":"method"}],"selectMenu":[{"__symbolic":"method"}],"hasSubMenu":[{"__symbolic":"method"}],"toggleMenu":[{"__symbolic":"method"}],"openMenu":[{"__symbolic":"method"}]}},"HeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"mnl-header","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":6,"character":17},"member":"None"},"template":"<mat-toolbar *ngIf=\"header\" color=\"{{header.toolbarColor }}\">\n <mat-toolbar-row>\n <div fxLayout fxLayoutAlign=\"start center\">\n <button mat-icon-button *ngIf=\"header.showMenuIcon\">\n <mat-icon (click)=\"menuClick($event)\">menu</mat-icon>\n </button>\n <img class=\"mnl-logo\" (click)=\"onLogoClick($event)\" src=\"{{header.logo}}\">\n <span>{{header.name}}</span>\n </div>\n <div fxLayoutAlign=\"end center\" fxFlex>\n <ng-content select=`[mnl-header-content]`></ng-content>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>","styles":[".mnl-logo{margin-right:15px}\n"]}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"menuButonClickEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"logoClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"menuClick":[{"__symbolic":"method"}],"onLogoClick":[{"__symbolic":"method"}]}},"AppConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":28}]}],"get":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"AppConfigPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"mnlAppConfig"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AppConfigService"}]}],"transform":[{"__symbolic":"method"}]}},"LogService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AppConfigService"}]}],"error":[{"__symbolic":"method"}],"debug":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"trace":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"assert":[{"__symbolic":"method"}],"group":[{"__symbolic":"method"}],"groupEnd":[{"__symbolic":"method"}],"getLogLevel":[{"__symbolic":"method"}],"messageBus":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LogLevelsEnum":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Number"},"members":{},"statics":{"TRACE":5,"DEBUG":1,"INFO":2,"WARN":3,"ERROR":4,"SILENT":0}},"logLevels":[{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"TRACE"},"name":"TRACE"},{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"DEBUG"},"name":"DEBUG"},{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"INFO"},"name":"INFO"},{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"WARN"},"name":"WARN"},{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"ERROR"},"name":"ERROR"},{"level":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LogLevelsEnum"},"member":"SILENT"},"name":"SILENT"}],"UserProfileService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AppConfigService"},{"__symbolic":"reference","name":"LocalStorageService"}]}],"getApplicationId":[{"__symbolic":"method"}],"setUserPrefix":[{"__symbolic":"method"}],"getUserPrefix":[{"__symbolic":"method"}],"setLocale":[{"__symbolic":"method"}],"getLocale":[{"__symbolic":"method"}]},"statics":{"LOCALE_PREFIX":"____locale","ɵprov":{}}},"LocalStorageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":1,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"set":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"isStorageAvailable":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LanguageMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"mnl-language-menu","template":"<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\n</button>\n<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let language of languages\"\n (click)=\"onChangeLanguage(language)\"\n id=\"langMenu\"\n >\n {{ language.label }}\n </button>\n</mat-menu>\n","styles":[""]}]}],"members":{"showLocaleKeyAsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"showLocaleAsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LocaleService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onChangeLanguage":[{"__symbolic":"method"}]}},"LocaleService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":18,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"AppConfigService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":16,"character":23},{"__symbolic":"reference","name":"UserProfileService"},{"__symbolic":"error","message":"Could not resolve type","line":18,"character":40,"context":{"typeName":"Document"},"module":"./lib/services/locale.service"}]}],"initUserLanguage":[{"__symbolic":"method"}],"setTextOrientation":[{"__symbolic":"method"}],"getTextOrientation":[{"__symbolic":"method"}],"getLanguages":[{"__symbolic":"method"}],"getDefaultLocale":[{"__symbolic":"method"}],"getActiveLocale":[{"__symbolic":"method"}],"setActiveLocale":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LanguageItem":{"__symbolic":"interface"},"LoginComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"mnl-login","template":"<div fxLayoutAlign=\"center center\" class=\"mnl-login-container\" fxFlexFill [style.background-image]=\"getBackgroundImageUrl()\">\n <mat-card class=\"mnl-login-card\">\n <form fxLayoutAlign=\"stretch\" fxLayout=\"column\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <mat-card-header fxLayoutAlign=\"center center\">\n <mat-card-title>\n <img *ngIf=\"logoImageUrl\" src=\"{{logoImageUrl}}\">\n </mat-card-title>\n </mat-card-header>\n <h3 fxLayoutAlign=\"center center\" class=\"mnl-login-title\" *ngIf=\"title\">{{title | translate}}</h3>\n <mat-form-field fxFlex=\"100\">\n <input id=\"username\" matInput placeholder=\"{{'MNL.LOGIN.USERNAME' | translate}}\"\n formControlName=\"username\">\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100\">\n <input id=\"password\" matInput type=\"password\" placeholder=\"{{'MNL.LOGIN.PASSWORD' | translate}}\"\n formControlName=\"password\">\n </mat-form-field>\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button id=\"loginButton\" mat-raised-button color=\"accent\" [disabled]=\"disabled || !formGroup.valid\"\n type=\"submit\"> {{'MNL.LOGIN.LOGIN_BUTTON' | translate}}</button>\n </mat-card-actions>\n\n </form>\n </mat-card>\n</div>","styles":[".mnl-login-card{min-width:260px}.mnl-login-container{background-size:cover}.mnl-login-title{opacity:.6}\n"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"logoImageUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"backgroundImageUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"login":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":28,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"initForm":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"getBackgroundImageUrl":[{"__symbolic":"method"}]}},"UserModel":{"__symbolic":"interface"},"UserInitialPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"mnlUserInitialPipe"}]}],"members":{"transform":[{"__symbolic":"method"}],"isEmptyObject":[{"__symbolic":"method"}],"getUserInitials":[{"__symbolic":"method"}],"hasWhiteSpace":[{"__symbolic":"method"}]}},"TimeAgoPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":7,"character":1},"arguments":[{"name":"mnlTimeAgo"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AppConfigService"},{"__symbolic":"reference","name":"UserProfileService"}]}],"transform":[{"__symbolic":"method"}]},"statics":{"DEFAULT_LOCALE":"en-US","DEFAULT_DATE_TIME_FORMAT":"dd/MM/yyyy HH:mm"}},"UserFullnamePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"mnlUserFullName"}]}],"members":{"transform":[{"__symbolic":"method"}],"isEmptyObject":[{"__symbolic":"method"}]}},"MenuModel":{"__symbolic":"interface"},"HighlighterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"mnl-highlighter","template":"<div [ngClass]=\"{'mnl-bg-primary' : enabled}\" [ngStyle]=\" {'height': height, 'width' : width}\"></div>","styles":[""]}]}],"members":{"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}]}},"MNL_TRANSLATION_RESOURCE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":44},"arguments":["Translation Resource"]},"translationLoaderFactory":{"__symbolic":"function"},"ProfileComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"mnl-user-profile","template":"<div id=\"mnl-profile-container\" fxLayoutGap=\"10px\">\n <span\n *ngIf=\"showDisplayName && hasUserDetails\"\n id=\"mnl-userinfo-name\"\n fxHide.xs\n >{{ userProfileDetails | mnlUserFullName }}</span\n >\n <button\n *ngIf=\"hasUserDetails\"\n id=\"mnl-initials-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n mat-icon-button\n >\n {{ userProfileDetails | mnlUserInitialPipe }}\n </button>\n\n <button\n *ngIf=\"!hasUserDetails\"\n id=\"mnl-user-icon-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n mat-icon-button\n >\n <mat-icon>person</mat-icon>\n </button>\n</div>\n","styles":["#mnl-initials-button{border-radius:20px}\n"]}]}],"members":{"userProfileDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"showDisplayName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"userInitialClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"profileMenuClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"onUserInitialClick":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}}},"origins":{"modules":"./lib/material.module","MaterialModule":"./lib/material.module","CommonsModule":"./lib/commons.module","loadConfig":"./lib/commons.module","MenuComponent":"./lib/components/menu/menu.component","HeaderComponent":"./lib/components/header/header.component","AppConfigService":"./lib/services/app.config.service","AppConfigPipe":"./lib/pipes/app-config-pipe","LogService":"./lib/services/log.service","LogLevelsEnum":"./lib/model/log-levels.model","logLevels":"./lib/model/log-levels.model","UserProfileService":"./lib/services/user-profile.service","LocalStorageService":"./lib/services/local-storage.service","LanguageMenuComponent":"./lib/components/language-menu/language-menu.component","LocaleService":"./lib/services/locale.service","LanguageItem":"./lib/services/locale.service","LoginComponent":"./lib/components/login/login.component","UserModel":"./lib/model/user-model","UserInitialPipe":"./lib/pipes/user-initials-pipe","TimeAgoPipe":"./lib/pipes/time-ago-pipe","UserFullnamePipe":"./lib/pipes/user-fullname-pipe","MenuModel":"./lib/model/menu-data.model","HighlighterComponent":"./lib/components/highlighter/highlighter.component","MNL_TRANSLATION_RESOURCE":"./lib/model/translation-resource","translationLoaderFactory":"./lib/model/translation-resource","ProfileComponent":"./lib/components/profile/profile.component"},"importAs":"@muraai/mnl-commons"}