{"version":3,"file":"554.17a9a8109c3c881b.js","mappings":"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","names":["AimScoreComponent","constructor","colorService","this","goal","value","isNaN","Error","_goal","_goalRotation","goalRotation","score","_score","_scoreRotation","_fillColor","colorByScore","scoreRotation","fillColor","ngOnInit","_angular_core__WEBPACK_IMPORTED_MODULE_1__","selectors","i0","bu_r15","lvl_r19","home_r23","host_r27","DashboardFilterComponent","period","TimeValueOptions","homes","hosts","levels","moves","units","EventEmitter","currentFilter","_filter","JSON","parse","stringify","filterChips","Object","entries","filter","key","length","map","_","val","flat","clearFilter","keys","forEach","filterOption","index","indexOf","splice","filterChanged","emit","onMoveTypeSelection","moveType","onMenuItemClick","event","stopPropagation","options","findIndex","item","push","onPeriodChange","onMenuClose","isSelected","ctx"],"sourceRoot":"webpack:///","sources":["./src/app/charts/aim-score/aim-score.component.ts","./src/app/charts/aim-score/aim-score.component.html","./src/app/dashboard/dashboard-filter/dashboard-filter.component.html","./src/app/dashboard/dashboard-filter/dashboard-filter.component.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\r\nimport { ChartColorService } from '../services/chart-color.service';\r\n\r\n@Component({\r\n selector: 'maas-aim-score',\r\n templateUrl: './aim-score.component.html',\r\n styleUrls: ['./aim-score.component.scss']\r\n})\r\nexport class AimScoreComponent implements OnInit {\r\n\r\n @Input()\r\n set goal(value: number) {\r\n if (isNaN(value)) {\r\n value = 0\r\n }\r\n if (value < 0 || value > 100) {\r\n throw new Error('Expected score between 0-100')\r\n } else {\r\n this._goal = value;\r\n this._goalRotation = -155 + (310 * (value/100))\r\n }\r\n }\r\n\r\n get goal() {\r\n return this._goal;\r\n }\r\n\r\n get goalRotation() {\r\n return this._goalRotation;\r\n }\r\n\r\n @Input() set score(value: number) {\r\n if (isNaN(value)) {\r\n value = 0\r\n }\r\n if (value < 0 || value > 100) {\r\n throw new Error('Expected score between 0-100')\r\n } else {\r\n this._score = value;\r\n this._scoreRotation = -155 + (310 * (value/100))\r\n this._fillColor = this.colorService.colorByScore(value) ?? '';\r\n }\r\n }\r\n\r\n get score() {\r\n return this._score;\r\n }\r\n\r\n get scoreRotation() {\r\n return this._scoreRotation;\r\n }\r\n\r\n get fillColor() {\r\n return this._fillColor;\r\n }\r\n\r\n private _score = 0;\r\n private _scoreRotation = -155;\r\n private _goal = 0;\r\n private _goalRotation = -155;\r\n private _fillColor = '#FFEA00';\r\n\r\n constructor(private colorService: ChartColorService) { }\r\n\r\n ngOnInit(): void {\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 \r\n {{score.toFixed(0)}}\r\n \r\n \r\n current\r\n \r\n \r\n goal\r\n \r\n \r\n {{goal}}\r\n \r\n \r\n\r\n \r\n \r\n 75\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n 50\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n 25\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n 0\r\n \r\n\r\n \r\n \r\n 100\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
\r\n \r\n \r\n {{filterChip}}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n select move type\r\n \r\n all moves\r\n \r\n {{move.toLowerCase()}}\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
business unit
\r\n
job level
\r\n
home country
\r\n
host country
\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\r\n\r\n \r\n\r\n","import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TimeValueOptions } from '../time-series-dropdown/time.enum';\r\nimport { ICurrentFilter, IFilterValue } from './filter-value.model';\r\n\r\n@Component({\r\n selector: 'maas-dashboard-filter',\r\n templateUrl: './dashboard-filter.component.html',\r\n styleUrls: ['./dashboard-filter.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DashboardFilterComponent {\r\n private _filter: ICurrentFilter = {\r\n period: TimeValueOptions.twelveMonths,\r\n homes: [],\r\n hosts: [],\r\n levels: [],\r\n moves: [],\r\n units: []\r\n };\r\n\r\n @Input() filterOptions: ICurrentFilter = {\r\n homes: [],\r\n hosts: [],\r\n levels: [],\r\n moves: [],\r\n units: [],\r\n period: TimeValueOptions.twelveMonths\r\n };\r\n @Input() set currentFilter(value: ICurrentFilter) {\r\n if (value) {\r\n this._filter = JSON.parse(JSON.stringify(value));\r\n }\r\n };\r\n\r\n selMoveType: string = 'allMoves';\r\n\r\n get currentFilter(): ICurrentFilter {\r\n return this._filter;\r\n }\r\n\r\n get filterChips(): string[] {\r\n return Object.entries(this._filter)\r\n .filter(([key, value]) => key !== 'period' && key !== 'moves' && value.length > 0)\r\n .map(([_, val]) => val).flat();\r\n }\r\n\r\n @Output() filterChanged = new EventEmitter()\r\n\r\n clearFilter(value: string) {\r\n Object.keys(this._filter)\r\n .forEach(key => {\r\n const filterOption = this._filter[key as keyof IFilterValue];\r\n const index = filterOption.indexOf(value);\r\n if (index !== -1) {\r\n filterOption.splice(index, 1);\r\n }\r\n })\r\n this.filterChanged.emit(this._filter);\r\n }\r\n\r\n onMoveTypeSelection(moveType: string) {\r\n this._filter.moves = moveType === 'allMoves' ? [] : [moveType];\r\n this.filterChanged.emit(this._filter);\r\n }\r\n\r\n onMenuItemClick(event: MouseEvent, key: keyof IFilterValue, value: string) {\r\n event.stopPropagation();\r\n const options = this._filter[key];\r\n const index = options.findIndex((item: string) => item === value);\r\n if (index === -1)\r\n options.push(value)\r\n else\r\n options.splice(index, 1);\r\n }\r\n\r\n onPeriodChange(value: TimeValueOptions) {\r\n this._filter.period = value;\r\n this.filterChanged.emit(this._filter);\r\n }\r\n\r\n onMenuClose() {\r\n this.filterChanged.emit(this._filter);\r\n }\r\n\r\n isSelected(key: string, value: string) {\r\n return this._filter && this._filter[key as keyof ICurrentFilter]?.indexOf(value) > -1;\r\n }\r\n}\r\n"],"x_google_ignoreList":[]}