{"version":3,"file":"6554.76cd2e67a93223f2.js","mappings":"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","names":["TooltipGuideDirective","constructor","el","renderer","tokenHelper","publicHelper","coreGuideService","cmsToastrService","this","getCurrentToken","then","value","lang","language","onMouseEnter","tooltip","show","onMouseLeave","statusIsRun","hide","Identity","ServiceGetOneById","pipe","map","next","isSuccess","create","item","descriptionFa","descriptionEn","descriptionAr","descriptionDe","setPosition","addClass","viewError","typeErrorMessage","errorMessage","error","typeError","toPromise","tooltipGuide","length","ServiceGetOneByKey","removeClass","window","setTimeout","removeChild","document","body","delay","text","createElement","indexOf","checkIsHTML","insertAdjacentHTML","appendChild","createText","placement","setStyle","hostPos","nativeElement","getBoundingClientRect","tooltipPos","scrollPos","pageYOffset","documentElement","scrollTop","top","left","height","offset","width","bottom","right","i0","selectors","ctx","Map","guid","S4","consoleLog","environment","mode","Math","random","toString","substring","displayItem","name","processInfo","key","inRun","Start","title","model","ProcessInfoModel","set","retOut","push","processRunList","p","display","console","log","Globally","cdr","detectChanges","Stop","get","r","ctx_r2","oxw","LanguageSelectorComponent","translationService","coreAuthService","router","translate","flag","TokenInfoModel","tokenInfo","cmsApiStoreSubscribe","getCurrentTokenOnChange","subscribe","setLanguage","ngOnInit","setSelectedLanguage","events","filter","event","NavigationStart","ngOnDestroy","unsubscribe","setLanguageWithRefresh","userId","authModel","AuthRenewTokenModel","userAccessAdminAllowToProfessionalData","userAccessAdminAllowToAllData","siteId","instant","message","toastr","info","ServiceRenewToken","y","success","warning","typeErrorAccessChange","languages","forEach","active","getSelectedLanguage","DOCUMENT","PasswordStrengthComponent","EventEmitter","force","flags","test","passedMatches","min","ngOnChanges","changes","password","passwordToCheck","currentValue","setBarColors","c","getColor","checkStrength","idx","col","pwdStrength","passwordStrength","emit","msg","s","t","colors","count","n","ProgressSpinnerComponent","vcRef","overlayService","options","modelInput","optionsData","progressSpinnerOverlayConfig","hasBackdrop","backdropEnabled","positionGloballyCenter","positionStrategy","overlayRef","createOverlay","ngDoCheck","hasAttached","attachTemplatePortal","progressSpinnerRef","detach"],"sourceRoot":"webpack:///","sources":["./src/app/core/directive/tooltip-guide.directive.ts","./src/app/core/models/progressSpinnerModel.ts","./src/app/shared/language-selector/language-selector.component.html","./src/app/shared/language-selector/language-selector.component.ts","./src/app/shared/password-strength/password-strength.component.ts","./src/app/shared/password-strength/password-strength.component.html","./src/app/shared/progress-spinner/progress-spinner.component.html","./src/app/shared/progress-spinner/progress-spinner.component.ts"],"sourcesContent":["import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { CoreGuideService } from 'projects/ntk-hospital-api/src/public-api';\r\nimport { map } from 'rxjs/operators';\r\nimport { PublicHelper } from '../helpers/publicHelper';\r\nimport { TokenHelper } from '../helpers/tokenHelper';\r\nimport { CmsToastrService } from '../services/cmsToastr.service';\r\n\r\n@Directive({\r\n selector: '[tooltipGuide]'\r\n})\r\nexport class TooltipGuideDirective {\r\n @Input() tooltipGuide: string;\r\n @Input() Identity: number;\r\n @Input() placement: string;\r\n @Input() delay: number;\r\n tooltip: HTMLElement;\r\n viewError = false;\r\n // 호스트 요소와 tooltip 요소 간의 거리\r\n offset = 10;\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private tokenHelper: TokenHelper,\r\n private publicHelper: PublicHelper,\r\n private coreGuideService: CoreGuideService,\r\n private cmsToastrService: CmsToastrService,\r\n ) {\r\n this.tokenHelper.getCurrentToken().then((value) => {\r\n this.lang = value.language;\r\n\r\n });\r\n\r\n }\r\n\r\n lang = '';\r\n statusIsRun = false;\r\n\r\n @HostListener('mouseenter') onMouseEnter(): void {\r\n if (!this.tooltip) {\r\n this.tokenHelper.getCurrentToken().then((value) => {\r\n this.lang = value.language;\r\n });\r\n this.show();\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave(): void {\r\n this.statusIsRun=false;\r\n \r\n if (this.tooltip) { this.hide(); }\r\n }\r\n\r\n show(): void {\r\n if (this.Identity && this.Identity > 0) {\r\n this.statusIsRun = true;\r\n this.coreGuideService.ServiceGetOneById(this.Identity).pipe(\r\n map(\r\n (next) => {\r\n if(this.statusIsRun==false){\r\n if (this.tooltip) { this.hide(); }\r\n return;\r\n }\r\n if (next.isSuccess) {\r\n /*run */\r\n switch (this.lang) {\r\n case 'fa': {\r\n this.create(next.item.descriptionFa);\r\n break;\r\n }\r\n case 'en': {\r\n this.create(next.item.descriptionEn);\r\n break;\r\n }\r\n case 'ar': {\r\n this.create(next.item.descriptionAr);\r\n break;\r\n }\r\n case 'de': {\r\n this.create(next.item.descriptionDe);\r\n break;\r\n }\r\n default: {\r\n this.create(next.item.descriptionFa);\r\n break;\r\n }\r\n }\r\n\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n /*run */\r\n } else {\r\n if (this.viewError) {\r\n this.cmsToastrService.typeErrorMessage(next.errorMessage);\r\n }\r\n /*run */\r\n this.create('Identity :' + this.Identity);\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n /*run */\r\n }\r\n },\r\n (error) => {\r\n if (this.viewError) {\r\n this.cmsToastrService.typeError(error);\r\n }\r\n })\r\n ).toPromise();\r\n } else if (this.tooltipGuide && this.tooltipGuide.length > 0) {\r\n this.statusIsRun = true;\r\n this.coreGuideService.ServiceGetOneByKey(this.tooltipGuide).pipe(\r\n map(\r\n (next) => {\r\n if(this.statusIsRun==false){\r\n if (this.tooltip) { this.hide(); }\r\n return;\r\n }\r\n if (next.isSuccess) {\r\n /*run */\r\n switch (this.lang) {\r\n case 'fa': {\r\n this.create(next.item.descriptionFa);\r\n break;\r\n }\r\n case 'en': {\r\n this.create(next.item.descriptionEn);\r\n break;\r\n }\r\n case 'ar': {\r\n this.create(next.item.descriptionAr);\r\n break;\r\n }\r\n case 'de': {\r\n this.create(next.item.descriptionDe);\r\n break;\r\n }\r\n default: {\r\n this.create(next.item.descriptionFa);\r\n break;\r\n }\r\n }\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n /*run */\r\n } else {\r\n if (this.viewError) {\r\n this.cmsToastrService.typeErrorMessage(next.errorMessage);\r\n }\r\n /*run */\r\n this.create('Key :' + this.tooltipGuide);\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n /*run */\r\n }\r\n },\r\n (error) => {\r\n if (this.viewError) {\r\n this.cmsToastrService.typeError(error);\r\n }\r\n })\r\n ).toPromise();\r\n }\r\n }\r\n\r\n hide(): void {\r\n\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-show');\r\n window.setTimeout(() => {\r\n this.renderer.removeChild(document.body, this.tooltip);\r\n this.tooltip = null;\r\n }, this.delay);\r\n }\r\n \r\n create(text: string): void {\r\n this.tooltip = this.renderer.createElement('span');\r\n text = text + '';\r\n if (text.indexOf(' 0 || text.indexOf('/>') > 0 || this.publicHelper.checkIsHTML(text)) {\r\n this.tooltip.insertAdjacentHTML('beforeend', text);\r\n } else {\r\n this.renderer.appendChild(\r\n this.tooltip,\r\n this.renderer.createText(text) // textNode\r\n );\r\n }\r\n\r\n \r\n\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n // this.renderer.appendChild(this.el.nativeElement, this.tooltip);\r\n\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n\r\n // delay 설정\r\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\r\n }\r\n\r\n setPosition(): void {\r\n // 호스트 요소의 사이즈와 위치 정보\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n\r\n // tooltip 요소의 사이즈와 위치 정보\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n\r\n // window의 scroll top\r\n // getBoundingClientRect 메소드는 viewport에서의 상대적인 위치를 반환한다.\r\n // 스크롤이 발생한 경우, tooltip 요소의 top에 세로 스크롤 좌표값을 반영하여야 한다.\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n let top = 0;\r\n let left = 0;\r\n\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n\r\n // 스크롤이 발생한 경우, tooltip 요소의 top에 세로 스크롤 좌표값을 반영하여야 한다.\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { ChangeDetectorRef } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nexport class ProcessInfoModel {\r\n inRun = false;\r\n title = '';\r\n}\r\nexport class ProgressSpinnerModel {\r\n constructor() {\r\n /** GUID */\r\n this.guid = `${this.S4()}${this.S4()}-${this.S4()}-${this.S4()}-${this.S4()}-${this.S4()}${this.S4()}${this.S4()}`;\r\n /** GUID */\r\n this.consoleLog = environment.ProgressConsoleLog;\r\n this.mode = \"indeterminate\";\r\n }\r\n /** GUID */\r\n private S4(): string {\r\n const ran = (1 + Math.random()) * 0x10000;\r\n return (ran | 0).toString(16).substring(1);\r\n }\r\n /** GUID */\r\n cdr: ChangeDetectorRef;\r\n message = 'در حال دریافت اطلاعات';\r\n color?: ThemePalette;\r\n diameter = 20;\r\n mode?: ProgressSpinnerMode;\r\n strokeWidth = 50;\r\n value?: number;\r\n backdropEnabled = true;\r\n Globally = true;\r\n positionGloballyCenter = true;\r\n processRunList: string[];\r\n display = false;\r\n consoleLog = true;\r\n guid = '';\r\n processInfo = new Map();\r\n \r\n displayItem(name: string): boolean {\r\n if (!this.processInfo) {\r\n return false;\r\n }\r\n for (const [key, value] of this.processInfo) {\r\n if (key === name) {\r\n return value.inRun;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n Start(key: string, title: string = '----'): void {\r\n let model = new ProcessInfoModel();\r\n model.inRun = true;\r\n model.title = title;\r\n this.processInfo.set(key, model);\r\n const retOut = [];\r\n for (const [key, value] of this.processInfo) {\r\n if (value && value.inRun === true) {\r\n retOut.push(key);\r\n }\r\n }\r\n this.processRunList = retOut;\r\n /** Display */\r\n if (retOut && retOut.length > 0) {\r\n this.display = true;\r\n }\r\n else {\r\n this.processInfo = new Map();\r\n this.display = false;\r\n }\r\n\r\n /** Display */\r\n if (this.consoleLog) {\r\n console.log(this.guid, 'Start:', name, 'Globally:', this.Globally, 'Display:', this.display, 'key:', key, 'title:', model.title, 'processRunList:', this.processRunList);\r\n }\r\n if (this.cdr && !this.display) {\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n Stop(key: string): void {\r\n\r\n let model = this.processInfo.get(key);\r\n if (!model) {\r\n model = new ProcessInfoModel();\r\n }\r\n model.inRun = false;\r\n this.processInfo.set(key, model);\r\n const retOut = [];\r\n for (const [key, value] of this.processInfo) {\r\n if (value && value.inRun === true) {\r\n retOut.push(key);\r\n }\r\n }\r\n this.processRunList = retOut;\r\n /** Display */\r\n if (retOut && retOut.length > 0) {\r\n this.display = true;\r\n }\r\n else {\r\n this.processInfo = new Map();\r\n this.display = false;\r\n }\r\n\r\n /** Display */\r\n if (this.consoleLog) {\r\n console.log(this.guid, 'Stop:', name, 'Globally:', this.Globally, 'Display:', 'Display:', this.display, 'key:', key, 'title:', model.title, 'processRunList:', this.processRunList);\r\n }\r\n\r\n if (this.cdr && !this.display) {\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n}","\r\n
\r\n \r\n \r\n
\r\n \"language\"\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n {{ language.name }}\r\n \r\n
  • \r\n
\r\n \r\n \r\n\r\n\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthRenewTokenModel, CoreAuthService, NtkCmsApiStoreService, TokenInfoModel } from 'projects/ntk-hospital-api/src/public-api';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { TokenHelper } from 'src/app/core/helpers/tokenHelper';\r\nimport { CmsToastrService } from 'src/app/core/services/cmsToastr.service';\r\nimport { TranslationService } from '../../core/i18n/translation.service';\r\n\r\ninterface LanguageFlag {\r\n lang: string;\r\n name: string;\r\n flag: string;\r\n active?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-language-selector',\r\n templateUrl: './language-selector.component.html',\r\n})\r\nexport class LanguageSelectorComponent implements OnInit, OnDestroy {\r\n language: LanguageFlag;\r\n languages: LanguageFlag[] = [\r\n {\r\n lang: 'fa',\r\n name: 'فارسی',\r\n flag: './assets/media/svg/flags/136-iran.svg',\r\n },\r\n {\r\n lang: 'ar',\r\n name: 'عربی',\r\n flag: './assets/media/svg/flags/008-saudi-arabia.svg',\r\n },\r\n {\r\n lang: 'en',\r\n name: 'English',\r\n flag: './assets/media/svg/flags/226-united-states.svg',\r\n },\r\n {\r\n lang: 'tr',\r\n name: 'Turkish',\r\n flag: './assets/media/svg/flags/006-turkey.svg',\r\n },\r\n {\r\n lang: 'zh',\r\n name: 'China',\r\n flag: './assets/media/svg/flags/015-china.svg',\r\n },\r\n {\r\n lang: 'es',\r\n name: 'Spanish',\r\n flag: './assets/media/svg/flags/128-spain.svg',\r\n },\r\n {\r\n lang: 'ja',\r\n name: 'Japanese',\r\n flag: './assets/media/svg/flags/063-japan.svg',\r\n },\r\n {\r\n lang: 'de',\r\n name: 'German',\r\n flag: './assets/media/svg/flags/162-germany.svg',\r\n },\r\n {\r\n lang: 'fr',\r\n name: 'French',\r\n flag: './assets/media/svg/flags/195-france.svg',\r\n },\r\n ];\r\n constructor(\r\n @Inject(DOCUMENT) private document,\r\n private translationService: TranslationService,\r\n public coreAuthService: CoreAuthService,\r\n private cmsToastrService: CmsToastrService,\r\n private tokenHelper: TokenHelper,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n public translate: TranslateService,\r\n ) {\r\n this.tokenHelper.getCurrentToken().then((value) => {\r\n this.tokenInfo = value;\r\n });\r\n\r\n\r\n this.cmsApiStoreSubscribe = this.tokenHelper.getCurrentTokenOnChange().subscribe((value) => {\r\n this.tokenInfo = value;\r\n this.setLanguage(value.language);\r\n });\r\n }\r\n cmsApiStoreSubscribe: Subscription;\r\n tokenInfo: TokenInfoModel = new TokenInfoModel();\r\n\r\n\r\n ngOnInit(): void {\r\n this.setSelectedLanguage();\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationStart))\r\n .subscribe((event) => {\r\n this.setSelectedLanguage();\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.cmsApiStoreSubscribe.unsubscribe();\r\n }\r\n setLanguageWithRefresh(lang: string): void {\r\n this.setLanguage(lang);\r\n /** */\r\n if (this.tokenInfo && this.tokenInfo.userId > 0) {\r\n const authModel: AuthRenewTokenModel = new AuthRenewTokenModel();\r\n authModel.userAccessAdminAllowToProfessionalData = this.tokenInfo.userAccessAdminAllowToProfessionalData;\r\n authModel.userAccessAdminAllowToAllData = this.tokenInfo.userAccessAdminAllowToAllData;\r\n authModel.userId = this.tokenInfo.userId;\r\n authModel.siteId = this.tokenInfo.siteId;\r\n authModel.lang = lang;\r\n\r\n const title = this.translate.instant('TITLE.Information');\r\n const message = this.translate.instant('MESSAGE.Request_to_change_language_was_sent_to_the_server');\r\n this.cmsToastrService.toastr.info(message, title);\r\n // this.loadingStatus = true;\r\n this.coreAuthService.ServiceRenewToken(authModel).subscribe(\r\n (next) => {\r\n // this.loadingStatus = false;\r\n if (next.isSuccess) {\r\n this.cdr.detectChanges();\r\n if (next.item.language === lang) {\r\n this.cmsToastrService.toastr.success(this.translate.instant('MESSAGE.New_language_acess_confirmed') , title);\r\n // if (lang == 'fa' || lang == 'ar') {\r\n // this.document.getElementById('cssdir').setAttribute('href', './assets/sass/style.angular.rtl.css');\r\n // }\r\n // else {\r\n // this.document.getElementById('cssdir').setAttribute('href', './assets/sass/style.angular.css');\r\n // }\r\n // window.location.reload();\r\n } else {\r\n this.cmsToastrService.toastr.warning(this.translate.instant('ERRORMESSAGE.MESSAGE.New_language_acess_denied'), title);\r\n }\r\n } else {\r\n this.cmsToastrService.typeErrorAccessChange(next.errorMessage);\r\n }\r\n\r\n },\r\n (error) => {\r\n this.cmsToastrService.typeErrorAccessChange(error);\r\n }\r\n );\r\n }\r\n /** */\r\n }\r\n\r\n setLanguage(lang: string): void {\r\n this.languages.forEach((language: LanguageFlag) => {\r\n if (language.lang === lang) {\r\n language.active = true;\r\n this.language = language;\r\n } else {\r\n language.active = false;\r\n }\r\n });\r\n\r\n this.translationService.setLanguage(lang);\r\n }\r\n\r\n setSelectedLanguage(): any {\r\n this.setLanguage(this.translationService.getSelectedLanguage());\r\n }\r\n}\r\n","import { Component, Input, OnChanges, SimpleChange, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-password-strength',\r\n templateUrl: './password-strength.component.html',\r\n styleUrls: ['./password-strength.component.scss']\r\n})\r\nexport class PasswordStrengthComponent implements OnChanges {\r\n @Input() public passwordToCheck: string;\r\n @Output() passwordStrength = new EventEmitter();\r\n bar0: string;\r\n bar1: string;\r\n bar2: string;\r\n bar3: string;\r\n\r\n msg = '';\r\n\r\n private colors = ['darkred', 'orangered', 'orange', 'yellowgreen'];\r\n\r\n private static checkStrength(p: string): any {\r\n let force = 0;\r\n const regex = /[$-/:-?{-~!\"^_@`\\[\\]]/g;\r\n\r\n const lowerLetters = /[a-z]+/.test(p);\r\n const upperLetters = /[A-Z]+/.test(p);\r\n const numbers = /[0-9]+/.test(p);\r\n const symbols = regex.test(p);\r\n\r\n const flags = [lowerLetters, upperLetters, numbers, symbols];\r\n\r\n let passedMatches = 0;\r\n for (const flag of flags) {\r\n passedMatches += flag === true ? 1 : 0;\r\n }\r\n\r\n force += 2 * p.length + ((p.length >= 10) ? 1 : 0);\r\n force += passedMatches * 10;\r\n\r\n // short password\r\n force = (p.length <= 6) ? Math.min(force, 10) : force;\r\n\r\n // poor variety of characters\r\n force = (passedMatches === 1) ? Math.min(force, 10) : force;\r\n force = (passedMatches === 2) ? Math.min(force, 20) : force;\r\n force = (passedMatches === 3) ? Math.min(force, 30) : force;\r\n force = (passedMatches === 4) ? Math.min(force, 40) : force;\r\n\r\n return force;\r\n }\r\n\r\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\r\n const password = changes.passwordToCheck.currentValue;\r\n this.setBarColors(4, '#DDD');\r\n if (password) {\r\n const c = this.getColor(PasswordStrengthComponent.checkStrength(password));\r\n this.setBarColors(c.idx, c.col);\r\n\r\n const pwdStrength = PasswordStrengthComponent.checkStrength(password);\r\n pwdStrength === 40 ? this.passwordStrength.emit(true) : this.passwordStrength.emit(false);\r\n\r\n switch (c.idx) {\r\n case 1:\r\n this.msg = 'Poor';\r\n break;\r\n case 2:\r\n this.msg = 'Not Good';\r\n break;\r\n case 3:\r\n this.msg = 'Average';\r\n break;\r\n case 4:\r\n this.msg = 'Good';\r\n break;\r\n }\r\n } else {\r\n this.msg = '';\r\n }\r\n }\r\n\r\n\r\n private getColor(s: number): any {\r\n let idx = 0;\r\n if (s <= 10) {\r\n idx = 0;\r\n } else if (s <= 20) {\r\n idx = 1;\r\n } else if (s <= 30) {\r\n idx = 2;\r\n } else if (s <= 40) {\r\n idx = 3;\r\n } else {\r\n idx = 4;\r\n }\r\n return {\r\n idx: idx + 1,\r\n col: this.colors[idx]\r\n };\r\n }\r\n\r\n private setBarColors(count: number, col: string): any {\r\n for (let n = 0; n < count; n++) {\r\n this['bar' + n] = col;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n

{{msg}}

\r\n
\r\n","\r\n \r\n \r\n
\r\n
{{ optionsData.message }}\r\n
\r\n
    \r\n
  • \r\n {{item.value['title']}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{ optionsData.message }}
\r\n
","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n DoCheck,\r\n} from '@angular/core';\r\nimport {\r\n OverlayConfig,\r\n OverlayRef,\r\n} from '@angular/cdk/overlay';\r\nimport { OverlayService } from '../overlay/overlay.service';\r\nimport { ProgressSpinnerModel } from 'src/app/core/models/progressSpinnerModel';\r\n\r\n@Component({\r\n selector: 'app-progress-spinner',\r\n templateUrl: './progress-spinner.component.html',\r\n styleUrls: ['./progress-spinner.component.scss'],\r\n})\r\nexport class ProgressSpinnerComponent implements DoCheck, OnInit {\r\n @Input()\r\n set options(modelInput: ProgressSpinnerModel) {\r\n this.optionsData = modelInput;\r\n }\r\n get options(): ProgressSpinnerModel {\r\n return this.optionsData;\r\n }\r\n optionsData: ProgressSpinnerModel;\r\n\r\n @ViewChild('progressSpinnerRef', { static: true })\r\n private progressSpinnerRef: TemplateRef;\r\n private progressSpinnerOverlayConfig: OverlayConfig;\r\n private overlayRef: OverlayRef;\r\n constructor(\r\n private vcRef: ViewContainerRef,\r\n private overlayService: OverlayService,\r\n ) { }\r\n ngOnInit(): void {\r\n \r\n if (!this.optionsData || !this.optionsData.Globally) {\r\n return;\r\n }\r\n // Config for Overlay Service\r\n this.progressSpinnerOverlayConfig = {\r\n hasBackdrop: this.optionsData.backdropEnabled,\r\n };\r\n if (this.optionsData.positionGloballyCenter) {\r\n this.progressSpinnerOverlayConfig.positionStrategy = this.overlayService.positionGloballyCenter();\r\n }\r\n this.overlayRef = this.overlayService.createOverlay(\r\n this.progressSpinnerOverlayConfig\r\n );\r\n }\r\n \r\n ngDoCheck(): void {\r\n \r\n if (!this.optionsData || !this.optionsData.Globally) {\r\n return;\r\n }\r\n \r\n // Based on status of displayProgressSpinner attach/detach overlay to progress spinner template\r\n if (this.optionsData.display && !this.overlayRef.hasAttached()) {\r\n this.overlayService.attachTemplatePortal(\r\n this.overlayRef,\r\n this.progressSpinnerRef,\r\n this.vcRef\r\n );\r\n this.optionsData.cdr.detectChanges();\r\n } else if (!this.optionsData.display && this.overlayRef.hasAttached()) {\r\n this.overlayRef.detach();\r\n }\r\n }\r\n}\r\n"]}