{"version":3,"file":"412.65cb2f2b5d38e86a.js","mappings":"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","names":["SparklineChartOptions","constructor","reusableFunctions","this","createSparklineChartOptions","params","seriesColor","color","fillColor","lineColor","chart","backgroundColor","borderWidth","type","seriesType","margin","width","height","style","overflow","title","text","credits","enabled","xAxis","labels","startOnTick","endOnTick","tickPositions","yAxis","legend","tooltip","setSparklineTooltips","dataType","precision","tooltipDataLabel","isDateTypeDay","exporting","series","data","seriesData","plotOptions","animation","lineWidth","shadow","states","hover","marker","radius","column","negativeColor","borderColor","precesion","_this","fontFamily","fontSize","zIndex","borderRadius","useHTML","outside","hideDelay","formatter","yValue","y","tooltipColor","value","formatNumber","formatPeriodData","point","name","pointName","dateArr","split","getMonthName","fullMonth","setCharts","periodCount","paginatedData","periodCnt","placeHolderChartDataArray","i","push","period","x","forEach","dataItem","currentRollingData","groupDataByColumn","fullDataset","toGroupByColumnHeader","placeHolderChartDataValueArray","map","obj","placeHolderChartDataValueChanges","columnList","colInf","chartType","chartProperties","isChanges","prevChangeValue","pha","periodData","find","c","periodNumber","yearMonthCalendar","chartDataField","changes","Highcharts","fieldId","chartToFieldId","toString","tooltipProperties","labelField","datatype","format","columnHeader","columnValue","filter","item","i0","$event","_r1","ctx_r1","onInput","item_r4","_r3","$implicit","itemElement_r5","onSelectionChange","valueAccessor","onFocus","_c0","isItemSelected","textAccessor","KendogridFilterDropdownComponent","valueChange","EventEmitter","showFilter","isPrimitive","textField","valueField","ngAfterViewInit","currentData","currentFilter","filters","f","length","some","li","filterService","field","operator","logic","e","distinct","val","filterBy","target","ul","parentNode","scrollTop","offsetHeight","offsetTop","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","KendogridFilterDropdownComponent_div_0_Template","KendogridFilterDropdownComponent_li_2_Template","noDataType","CommonKendoTableComponent_ng_template_4_div_0_Template","noRecordsAvailable","field_r5","filter_r3","filterService_r4","distinctCategories","CommonKendoTableComponent_kendo_grid_column_5_1_ng_template_0_Template","_r6","dataItem_r7","onCheckboxChange","getCellStyle","checkBoxProperties","disabled","_r8","onInputChange","inputProperties","_r9","hyperLinkHandler","graphValue","graphDataType","_r10","iconClick","iconClass","_r11","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_4_div_1_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_4_div_2_Template","isHyperlink","capitalizeFirstLetter","dataFormat","setIndividualDataFormatting","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_11_div_1_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_11_div_2_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_11_div_3_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_0_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_1_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_2_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_3_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_4_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_5_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_6_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_7_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_8_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_9_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_10_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_div_11_Template","label","CommonKendoTableComponent_kendo_grid_column_5_div_4_1_ng_template_0_span_4_Template","aggregateResult","aggregationId","aggregationType","aggregationTitle","CommonKendoTableComponent_kendo_grid_column_5_div_4_1_ng_template_0_Template","CommonKendoTableComponent_kendo_grid_column_5_div_4_ng_template_2_span_2_Template","CommonKendoTableComponent_kendo_grid_column_5_div_4_1_Template","CommonKendoTableComponent_kendo_grid_column_5_div_4_ng_template_2_Template","aggregationValueType","CommonKendoTableComponent_kendo_grid_column_5_1_Template","CommonKendoTableComponent_kendo_grid_column_5_ng_template_3_Template","CommonKendoTableComponent_kendo_grid_column_5_div_4_Template","getColumnStyles","fieldName","headerClass","getHeaderStyles","isSortable","locked","filterable","hideIf","hidden","showHeaderFilter","gridDataResult","hideFooterValue","field_r12","_c2","CommonKendoTableComponent","_router","_reusableFunctions","sortable","mode","allowUnsort","pageableShow","info","pageSizes","reviousNext","alwaysVisible","pageable","aggregates","skip","pageSize","useLGScroll","dataChangeEvent","pageChangeEvent","getExcelExportData","bind","ngOnInit","recordSelection","tableDataProperties","initialSkip","initialPageSize","action","NoDataActionType","pageStart","searchTerm","componentTitle","inputSource","NoDataSourceType","table","assignInnitialValues","setDataFormatting","getInnitialSorting","kendoGridSelectById","maxHeight","tableHeight","ngOnChanges","columnChange","tableColumnProperties","currentValue","columnsProperties","columnProperties","col","sort","a","b","fieldOrder","drawCharts","dataCange","class","hasData","isDataLoaded","loadGridData","defaultSorting","splice","dir","total","gridData","setFilterCategories","doSearch","doHeaderFilter","orderedData","orderBy","slice","emit","setAggreagation","setTimeout","inComponentChartBuilding","rData","chartOptionParams","chartOptionFunction","hierarchyData","searchTearm","hasValues","hasFieldValue","toLowerCase","includes","exportToExcel","kendoGrid","dateTime","getCurrentDateTimeStamp","exportFileName","saveAsExcel","sortChange","pageChange","event","take","decimalPlaces","iconClassStart","fieldInfo","hyperlinkPproperties","queryParamsInfList","param","queryParams","paramId","paramDataField","navigate","hyperlinkUrlBase","hyperlinkUrlSegment","modalName","isHierarchyEntity","hyperLinkTo_FieldId","isEmployee","cellClickHandler","iconClassChange","editClickedHandler","openRecord","selectedIdentifier","hierarchyIdentifier","editClicked","editing","columnBackgroundColor","dataAlignment","getCommonCellStyles","styles","textDefaultColor","textColorThresholdFileldId","thresoldValue","textPositiveColor","textNegativeColor","backgroundColorThresholdFileldId","backgroundDefaultColor","thresoldValueBackground","backgroundPositiveColor","backgroundNegativeColor","setBackgroundColorByBand","cursor","leftPadding","rightPadding","padding","headerAlignment","headerBackgroundColor","handleHeaderFilterChange","filteredData","colInfo","Date","idx","xs","findIndex","sortAlphaNumeric","showTooltip","element","nodeName","offsetWidth","scrollWidth","tooltipDir","toggle","hide","word","temp","String","charAt","toUpperCase","_asyncToGenerator","group","onStateChange","getInputValue","toFixed","change","calculateAggregation","toGetArregateColumnList","aggregate","i1","i2","viewQuery","TooltipDirective","selectionChangeHandler","CommonKendoTableComponent_ng_template_4_Template","CommonKendoTableComponent_kendo_grid_column_5_Template","CommonKendoTableComponent_kendo_excelexport_column_7_Template","CommonKendoTableComponent_ng_template_8_Template","_c1"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/modules/shared/classes/sparkline-chart-options.ts","./src/app/modules/shared/components/kendogrid-filter-dropdown/kendogrid-filter-dropdown.component.html","./src/app/modules/shared/components/kendogrid-filter-dropdown/kendogrid-filter-dropdown.component.ts","./src/app/modules/shared/components/common-kendo-table/common-kendo-table.component.html","./src/app/modules/shared/components/common-kendo-table/common-kendo-table.component.ts"],"sourcesContent":["import { IChartData, IKPISparklineData } from '../interfaces/kpi-data';\nimport { ReusableFunctions } from './reusable-functions';\nimport * as Highcharts from 'highcharts';\nimport { ITableColumns } from '../../reports/interfaces/reporting-data';\n\nexport class SparklineChartOptions {\n constructor(private reusableFunctions: ReusableFunctions) {}\n\n params: ISparklineChartParams;\n\n createSparklineChartOptions(params: ISparklineChartParams): Highcharts.Options {\n const seriesColor = params.color ? params.color : 'rgb(65,214,195)';\n const fillColor = params.color ? params.color : 'rgb(0,138,119)';\n const lineColor = params.color ? params.color : 'rgb(0,138,119)';\n return {\n chart: {\n backgroundColor: null,\n borderWidth: 0,\n type: params.seriesType,\n margin: [2, 4, 4, 4],\n width: 180,\n height: 50,\n style: {\n overflow: 'visible',\n },\n },\n title: {\n text: '',\n },\n credits: {\n enabled: false,\n },\n xAxis: {\n labels: {\n enabled: false,\n },\n title: {\n text: null,\n },\n startOnTick: false,\n endOnTick: false,\n tickPositions: [],\n lineColor: 'white',\n },\n yAxis: {\n endOnTick: false,\n startOnTick: false,\n labels: {\n enabled: false,\n },\n title: {\n text: null,\n },\n tickPositions: [0],\n },\n legend: {\n enabled: false,\n },\n tooltip: this.setSparklineTooltips(\n params.dataType,\n params.precision,\n params.tooltipDataLabel,\n params.color,\n params.isDateTypeDay\n ),\n exporting: {\n enabled: false,\n },\n series: [\n {\n type: params.seriesType === 'area' ? 'area' : 'column',\n data: params.seriesData,\n lineColor,\n },\n ],\n plotOptions: {\n series: {\n animation: false,\n lineWidth: 1,\n shadow: false,\n color: seriesColor,\n states: {\n hover: {\n lineWidth: 1,\n },\n },\n marker: {\n fillColor,\n radius: 4,\n states: {\n hover: {\n radius: 5,\n },\n },\n },\n },\n column: {\n negativeColor: '#910000',\n borderColor: 'silver',\n },\n },\n };\n }\n\n setSparklineTooltips(\n dataType: string,\n precesion: number,\n tooltipDataLabel: string,\n color?: string,\n isDateTypeDay?: boolean\n ) {\n let _this = this;\n let tootip: Highcharts.TooltipOptions = {\n style: {\n color: '#223540',\n fontFamily: 'Roboto',\n fontSize: '12',\n height: 12,\n zIndex: 1,\n },\n borderColor: 'white',\n backgroundColor: 'white',\n borderRadius: 7,\n borderWidth: 1,\n useHTML: true,\n outside: true,\n hideDelay: 0,\n formatter: function () {\n let yValue = this.y;\n const tooltipColor = color ? color : '#41d6c3';\n if (yValue || yValue === 0) {\n let value = _this.reusableFunctions.formatNumber(yValue, precesion, dataType);\n let tooltipTitle = _this.formatPeriodData(this.point.name, isDateTypeDay);\n return ``;\n } else return null;\n },\n };\n return tootip;\n }\n\n formatPeriodData(pointName: string, isDateTypeDay: boolean = false) {\n if (isDateTypeDay) return pointName;\n if (pointName) {\n const dateArr = pointName.split('-');\n let monthInfo = this.reusableFunctions.getMonthName(+dateArr[1]);\n let year = dateArr[0];\n return `${monthInfo.fullMonth} ${year}`;\n } else return '';\n }\n\n setCharts(params: IChartParameters) {\n let periodCount = params.paginatedData[0].periodCnt;\n let placeHolderChartDataArray: IChartData[] = [];\n for (let i = 1; i <= periodCount; i++) {\n placeHolderChartDataArray.push({\n period: i,\n x: i,\n y: 0,\n name: '',\n });\n }\n\n params.paginatedData.forEach((dataItem) => {\n let currentRollingData = this.groupDataByColumn(\n params.fullDataset,\n params.toGroupByColumnHeader,\n dataItem[params.toGroupByColumnHeader]\n );\n\n let placeHolderChartDataValueArray = placeHolderChartDataArray.map((obj) => ({\n ...obj,\n }));\n let placeHolderChartDataValueChanges = placeHolderChartDataArray.map((obj) => ({\n ...obj,\n }));\n params.columnList.forEach((colInf) => {\n let chartType = 'area';\n if (colInf.chartProperties) {\n let isChanges = colInf.chartProperties.isChanges\n ? colInf.chartProperties.isChanges\n : false;\n if (colInf.chartProperties.chartType)\n chartType = colInf.chartProperties.chartType;\n let prevChangeValue = 0;\n placeHolderChartDataValueArray.forEach((pha, i) => {\n let periodData = currentRollingData.find(\n (c) => c.periodNumber === pha.period\n );\n if (periodData) {\n pha.name = periodData.yearMonthCalendar;\n if (!isChanges) {\n pha.y = periodData[colInf?.chartProperties?.chartDataField ?? ''];\n } else {\n if (i === 0) {\n pha.y =\n periodData[colInf?.chartProperties?.chartDataField ?? ''];\n prevChangeValue =\n periodData[colInf?.chartProperties?.chartDataField ?? ''];\n } else {\n pha.y =\n periodData[colInf?.chartProperties?.chartDataField ?? ''] -\n prevChangeValue;\n prevChangeValue =\n periodData[colInf?.chartProperties?.chartDataField ?? ''];\n }\n }\n }\n });\n dataItem.changes = placeHolderChartDataValueChanges;\n new Highcharts.Chart(\n colInf.fieldId +\n dataItem[colInf?.chartProperties?.chartToFieldId].toString(),\n this.createSparklineChartOptions({\n seriesData: placeHolderChartDataValueArray,\n seriesType: chartType,\n tooltipDataLabel:\n dataItem[colInf.chartProperties.tooltipProperties.labelField] ??\n colInf.chartProperties.tooltipProperties.labelField,\n dataType:\n colInf.chartProperties.tooltipProperties?.datatype ??\n dataItem.format,\n precision:\n colInf.chartProperties.tooltipProperties?.precision ??\n dataItem.precision,\n color: params.color ? params.color : '',\n isDateTypeDay: params.isDateTypeDay ?? false,\n })\n );\n }\n });\n });\n }\n\n groupDataByColumn(data: any[], columnHeader: string, columnValue: string | number | boolean) {\n return data.filter((item) => item[columnHeader] === columnValue);\n }\n}\n\nexport interface ISparklineChartParams {\n seriesData: any[];\n seriesType: string;\n tooltipDataLabel: string;\n dataType: 'currency' | 'number' | string;\n precision: number;\n color?: string;\n isDateTypeDay?: boolean;\n}\n\nexport interface IChartParameters {\n paginatedData: any[];\n fullDataset: any[];\n toGroupByColumnHeader: string;\n calculateChange: boolean;\n columnList: ITableColumns[];\n chartIdColumn: string;\n chartType: 'area' | 'column';\n color?: string;\n isDateTypeDay?: boolean;\n}\n","
\n \n
\n\n","import { Component, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { distinct, filterBy, FilterDescriptor } from '@progress/kendo-data-query';\nimport { FilterService } from '@progress/kendo-angular-grid';\n\n@Component({\n selector: 'kendogrid-filter-dropdown',\n templateUrl: './kendogrid-filter-dropdown.component.html',\n styleUrls: ['./kendogrid-filter-dropdown.component.css'],\n})\nexport class KendogridFilterDropdownComponent implements AfterViewInit {\n @Input() public isPrimitive: boolean;\n @Input() public currentFilter: any;\n @Input() public data;\n @Input() public textField;\n @Input() public valueField;\n @Input() public filterService: FilterService;\n @Input() public field: string;\n @Output() public valueChange = new EventEmitter();\n\n public currentData: any;\n public showFilter = true;\n private value: any[] = [];\n\n protected textAccessor = (dataItem: any) =>\n this.isPrimitive ? dataItem : dataItem[this.textField];\n protected valueAccessor = (dataItem: any) =>\n this.isPrimitive ? dataItem : dataItem[this.valueField];\n\n public ngAfterViewInit() {\n this.currentData = this.data;\n this.value = this.currentFilter.filters.map((f: FilterDescriptor) => f.value);\n\n this.showFilter =\n typeof this.textAccessor(this.currentData[0]) === 'string' &&\n this.data &&\n this.data.length > 6;\n }\n\n public isItemSelected(item) {\n return this.value.some((x) => x === this.valueAccessor(item));\n }\n\n public onSelectionChange(item, li) {\n if (this.value.some((x) => x === item)) {\n this.value = this.value.filter((x) => x !== item);\n } else {\n this.value.push(item);\n }\n\n this.filterService.filter({\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n logic: 'or',\n });\n\n this.onFocus(li);\n }\n\n public onInput(e: any) {\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem) =>\n this.value.some((val) => val === this.valueAccessor(dataItem))\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: this.textField,\n value: e.target.value,\n }),\n ],\n this.textField\n );\n }\n\n public onFocus(li: any): void {\n const ul = li.parentNode;\n const below = ul.scrollTop + ul.offsetHeight < li.offsetTop + li.offsetHeight;\n const above = li.offsetTop < ul.scrollTop;\n\n // Scroll to focused checkbox\n if (below || above) {\n ul.scrollTop = li.offsetTop;\n }\n }\n}\n","\n
\n \n \n
\n \n
\n
\n \n \n \n \n \n
\n \n \n \n
\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n {{ dataItem[field.fieldId] }}\n
\n \n {{ dataItem[field.fieldId] }}\n \n \n \n {{ capitalizeFirstLetter(dataItem[field.fieldId]) }}\n \n \n {{ dataItem[field.fieldId] | date : 'MM/dd/yyyy' : 'UTC' }}\n \n \n {{\n (dataItem[field.fieldId]\n ? dataItem[field.fieldId] / 100\n : dataItem[field.fieldId]\n ) | percent : field.dataFormat\n }}\n \n \n {{ dataItem[field.fieldId] | number : field.dataFormat }}\n \n \n {{\n dataItem[field.fieldId]\n | currency : 'USD' : 'symbol-narrow' : field.dataFormat\n | negativeToParens\n }}\n \n \n \n \n {{\n dataItem[field.fieldId]\n | currency\n : 'USD'\n : 'symbol-narrow'\n : setIndividualDataFormatting(dataItem.precision)\n | negativeToParens\n }}\n \n \n {{\n dataItem[field.fieldId]\n | number : setIndividualDataFormatting(dataItem.precision)\n }}\n \n \n {{\n (dataItem[field.fieldId]\n ? dataItem[field.fieldId] / 100\n : dataItem[field.fieldId]\n ) | percent : setIndividualDataFormatting(dataItem.precision)\n }}\n \n \n \n \n 0 &&\n aggregateResult &&\n aggregateResult[field.aggregationId] &&\n !field.hideFooterValue\n \"\n >\n \n \n {{ field.aggregationTitle }}\n {{\n aggregateResult[field.aggregationId][field.aggregationType]\n | currency : 'USD' : 'symbol' : '1.0-0'\n | negativeToParens\n }}{{ field.label }}\n \n \n \n \n {{ field.aggregationTitle }}\n {{ aggregateResult[field.aggregationId][field.aggregationType]\n }}{{ field.label }}\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n ViewChild,\n ViewEncapsulation,\n EventEmitter,\n} from '@angular/core';\nimport {\n SortDescriptor,\n orderBy,\n CompositeFilterDescriptor,\n filterBy,\n AggregateDescriptor,\n AggregateResult,\n aggregateBy,\n} from '@progress/kendo-data-query';\nimport { TooltipDirective } from '@progress/kendo-angular-tooltip';\nimport { GridDataResult, PageChangeEvent, GridComponent } from '@progress/kendo-angular-grid';\nimport { Router } from '@angular/router';\nimport { ReusableFunctions } from '../../../shared/classes/reusable-functions';\nimport { IReportingCommon } from '../../../reports/interfaces/reporting-common-for-allcomponent';\nimport { ITableColumns } from '../../../reports/interfaces/reporting-data';\nimport { NoDataActionType, NoDataSourceType, NoDataTypes } from '../../interfaces/no-data';\nimport * as Highcharts from 'highcharts';\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\n\nexport interface ITableDataProperties {\n action: NoDataActionType;\n gridData: Array;\n searchTerm: string;\n componentTitle: string;\n initialPageSize: number;\n initialSkip: number;\n height?: number;\n maxHeight?: number;\n recordSelection: string[];\n kendoGridSelectById: string;\n hasData: boolean;\n isDataLoaded: boolean;\n class?: string;\n pageable: boolean;\n useLGScroll: boolean;\n}\n\nexport interface ITableColumnProperties {\n columnProperties: ITableColumns[];\n}\n\nexport interface IDataChange {\n field: ITableColumns;\n value: any;\n}\n\nexport interface IPaginatedDataInfo {\n gridData: Array;\n misc?: object;\n}\n\n@Component({\n selector: 'common-kendo-table',\n templateUrl: './common-kendo-table.component.html',\n styleUrls: ['./common-kendo-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CommonKendoTableComponent implements OnInit, OnChanges {\n constructor(private _router: Router, private _reusableFunctions: ReusableFunctions) {\n this.getExcelExportData = this.getExcelExportData.bind(this);\n }\n\n filter: CompositeFilterDescriptor;\n type: 'numeric' | 'input' = 'numeric';\n sortable = {\n mode: 'single',\n allowUnsort: true,\n };\n\n pageableShow = {\n info: true,\n type: this.type,\n pageSizes: true,\n reviousNext: 'previousNext',\n alwaysVisible: true,\n };\n\n pageable = {};\n aggregates: AggregateDescriptor[] = [];\n aggregateResult: AggregateResult;\n tableHeight: number;\n sort: SortDescriptor[];\n skip: number = 0;\n maxHeight: number;\n distinctCategories: object; //TODO: Check the use of this\n exportFileName: string;\n gridDataResult: GridDataResult;\n\n editing: boolean;\n adding: boolean;\n selectedIdentifier: string;\n editClicked: boolean;\n template: string; //TODO: tool tips\n kendoGridSelectById: string; //TODO: Check the use of this\n recordSelection: string[]; //TODO: Check the use of this\n noRecordsAvailable: boolean;\n noDataType: NoDataTypes;\n columnsProperties: ITableColumns[];\n showHeaderFilter = false;\n pageSize: number = 10;\n useLGScroll: boolean = false;\n\n @ViewChild(TooltipDirective) tooltipDir: TooltipDirective; //TODO: tool tips\n @Input() tableColumnProperties: ITableColumnProperties;\n @Input() tableDataProperties: ITableDataProperties;\n @Input() selectionChangeHandler: any;\n @Output() dataChangeEvent: EventEmitter = new EventEmitter();\n @Output() pageChangeEvent: EventEmitter =\n new EventEmitter();\n /*\n // TODOs ////////\n Fing different aproach to search tearm\n find diffrent way to ditect changes\n header filter nodata activation\n Tooltips\n */\n ngOnInit() {\n this.template = '';\n this.recordSelection = [];\n this.skip = this.tableDataProperties.initialSkip ?? this.skip;\n this.pageSize = this.tableDataProperties.initialPageSize ?? this.pageSize;\n this.noDataType = {\n action: NoDataActionType.pageStart,\n searchTerm: '',\n componentTitle: '',\n inputSource: NoDataSourceType.table,\n };\n this.pageable = this.tableDataProperties.pageable ? this.pageableShow : false;\n this.assignInnitialValues(this.tableDataProperties);\n }\n\n assignInnitialValues(tableDataProperties: ITableDataProperties) {\n this.setDataFormatting();\n this.getInnitialSorting();\n this.kendoGridSelectById = tableDataProperties.kendoGridSelectById;\n this.recordSelection = tableDataProperties.recordSelection;\n\n if (tableDataProperties.maxHeight) {\n this.tableHeight = null;\n this.maxHeight = tableDataProperties.maxHeight;\n } else {\n this.tableHeight = tableDataProperties.height;\n this.maxHeight = null;\n }\n }\n\n ngOnChanges(changes: { [property: string]: SimpleChange }) {\n let columnChange: SimpleChange = changes['tableColumnProperties'];\n if (columnChange && columnChange.currentValue) {\n this.columnsProperties = this.tableColumnProperties.columnProperties.filter(\n (col) => col.hidden !== true\n );\n this.setDataFormatting();\n this.columnsProperties.sort((a, b) => a.fieldOrder - b.fieldOrder);\n this.drawCharts();\n }\n\n let dataCange: SimpleChange = changes['tableDataProperties'];\n if (dataCange && dataCange.currentValue) {\n this.tableDataProperties.class = this.tableDataProperties.class ?? 'common-kendo-table';\n this.useLGScroll = this.tableDataProperties.useLGScroll ?? false;\n this.pageSize =\n this.tableDataProperties.pageable === false\n ? 1000\n : this.tableDataProperties.initialPageSize ?? this.pageSize;\n this.noRecordsAvailable =\n !this.tableDataProperties.hasData && this.tableDataProperties.isDataLoaded;\n this.loadGridData();\n }\n }\n\n getInnitialSorting() {\n this.sort = [];\n this.columnsProperties.forEach((item) => {\n if (item.isSortable && item.defaultSorting) {\n if (item.fieldId === 'bookmark') {\n this.sort.splice(0, 0, {\n field: item.fieldId,\n dir: item.defaultSorting,\n });\n } else {\n this.sort.push({\n field: item.fieldId,\n dir: item.defaultSorting,\n });\n }\n }\n });\n }\n\n private loadGridData() {\n this.gridDataResult = {\n data: [],\n total: 0,\n };\n\n let data = this.tableDataProperties.gridData;\n if (data && data.length > 0) {\n this.showHeaderFilter = true;\n this.setFilterCategories();\n this.noDataType.searchTerm = this.tableDataProperties.searchTerm;\n this.noDataType.componentTitle = this.tableDataProperties.componentTitle;\n\n data = this.doSearch(data);\n data = this.doHeaderFilter(data);\n let orderedData = orderBy(data, this.sort);\n this.gridDataResult = {\n data: orderedData.slice(this.skip, this.skip + this.pageSize),\n total: orderedData.length,\n };\n this.pageChangeEvent.emit({ gridData: this.gridDataResult.data });\n this.drawCharts();\n this.setAggreagation();\n } else {\n this.showHeaderFilter = false;\n }\n }\n\n drawCharts() {\n setTimeout(() => {\n this.columnsProperties.forEach((col) => {\n if (\n col.chartProperties &&\n col.chartProperties.chartToFieldId &&\n col.chartProperties.chartDataField &&\n this.gridDataResult &&\n this.gridDataResult.data &&\n col.chartProperties.inComponentChartBuilding\n ) {\n this.gridDataResult.data.forEach((rData) => {\n col.chartProperties.chartOptionParams['seriesData'] =\n rData[col.chartProperties.chartDataField];\n let id = col.fieldId + rData[col.chartProperties.chartToFieldId];\n new Highcharts.Chart(\n id,\n col.chartProperties.chartOptionFunction(\n col.chartProperties.chartOptionParams\n )\n );\n });\n }\n });\n }, 0);\n }\n\n doSearch(hierarchyData: Array) {\n let searchTearm = this.tableDataProperties.searchTerm;\n if (searchTearm && searchTearm.length > 0) {\n this.tableDataProperties.isDataLoaded = false;\n\n hierarchyData = hierarchyData.filter((data) => {\n let hasValues = false;\n this.columnsProperties.forEach((col) => {\n let hasFieldValue = false;\n if (col.dataType !== 'chart' && col.dataType !== 'icon') {\n hasFieldValue = data[col.fieldId]\n ?.toString()\n .toLowerCase()\n .includes(searchTearm.toLowerCase());\n\n if (hasFieldValue) {\n hasValues = true;\n this.skip = 0;\n return true;\n }\n }\n });\n return hasValues;\n });\n }\n if (hierarchyData.length === 0) {\n this.noRecordsAvailable = true;\n } else {\n this.noRecordsAvailable = false;\n }\n\n this.tableDataProperties.isDataLoaded = true;\n return hierarchyData;\n }\n\n exportToExcel(kendoGrid: GridComponent) {\n let dateTime = this._reusableFunctions.getCurrentDateTimeStamp();\n this.exportFileName = 'lg-directory_' + dateTime + '_.xlsx';\n kendoGrid.saveAsExcel();\n }\n\n sortChange(sort: SortDescriptor[]): void {\n this.sort = sort;\n this.loadGridData();\n }\n\n pageChange(event: PageChangeEvent): void {\n this.pageSize = event.take;\n this.skip = event.skip;\n this.loadGridData();\n }\n\n setDataFormatting() {\n this.columnsProperties.forEach((column) => {\n if (\n column.decimalPlaces != null &&\n (column.dataType === 'currency' ||\n column.dataType === 'number' ||\n column.dataType === 'percent')\n ) {\n column.dataFormat =\n '1.' + column.decimalPlaces.toString() + '-' + column.decimalPlaces.toString();\n }\n column.headerClass =\n column.fieldId === 'bookmark'\n ? 'table-header-styles-bookmark'\n : 'table-header-styles';\n\n column.iconClass = column.iconClassStart;\n });\n }\n\n hyperLinkHandler(fieldInfo: ITableColumns, dataItem: IReportingCommon) {\n let hyperlinkPproperties = fieldInfo.hyperlinkPproperties;\n if (hyperlinkPproperties) {\n hyperlinkPproperties.queryParamsInfList.forEach((param) => {\n hyperlinkPproperties.queryParams[param.paramId] = dataItem[param.paramDataField];\n });\n\n this._router.navigate(\n [hyperlinkPproperties.hyperlinkUrlBase, hyperlinkPproperties.hyperlinkUrlSegment],\n { queryParams: hyperlinkPproperties.queryParams }\n );\n // TODO: Modify the belo section\n } else if (fieldInfo.modalName === 'loanDetails') {\n //this.openLoanDetailsModal(dataItem, fieldInfo);\n } else if (fieldInfo.isHierarchyEntity) {\n this._router.navigate(['/directory/record/' + dataItem[fieldInfo.hyperLinkTo_FieldId]]);\n } else if (fieldInfo.isEmployee) {\n this._router.navigate([\n 'settings/employees/' + dataItem[fieldInfo.hyperLinkTo_FieldId],\n ]);\n }\n }\n\n cellClickHandler(event) {\n if (event && event.dataItem) {\n //if (event.column.field === 'bookmark') {\n // //this.columnProperties.find((item) => item.);\n // if (event.dataItem['iconClass'] === this.columnProperties) {\n // }\n // //this.clickBookmark(event.dataItem);\n //} else if (event.column.field === 'edit') {\n // this.editClickedHandler();\n //}\n //else {\n // //this.openRecord(event);\n //}\n }\n }\n\n iconClick(dataItem: IReportingCommon, fieldInfo: ITableColumns) {\n if (fieldInfo.fieldId === 'bookmark') {\n fieldInfo.iconClass =\n fieldInfo.iconClass === fieldInfo.iconClassStart\n ? fieldInfo.iconClassChange\n : fieldInfo.iconClassStart;\n //this.clickBookmark(event.dataItem);\n } else if (fieldInfo.fieldId === 'edit') {\n this.editClickedHandler();\n this.openRecord(dataItem, fieldInfo);\n }\n }\n\n openRecord(dataItem: IReportingCommon, fieldInfo: ITableColumns) {\n this.selectedIdentifier = dataItem['hierarchyIdentifier'];\n if (this.editClicked) {\n if (this.selectedIdentifier && fieldInfo && fieldInfo.fieldId === 'edit') {\n this.editing = true;\n }\n }\n }\n\n editClickedHandler() {\n //this.editClicked = true;\n }\n\n getColumnStyles(fieldInfo: ITableColumns) {\n let style = {\n 'background-color': fieldInfo?.columnBackgroundColor ?? '',\n 'text-align': fieldInfo.dataAlignment,\n };\n return style;\n }\n\n getCommonCellStyles(dataItem: IReportingCommon, fieldInfo: ITableColumns) {\n //let styles = {\n // color: '',\n // 'background-color': fieldInfo?.backgroundDefaultColor ?? '',\n // cursor: fieldInfo.isHyperlink ? 'pointer' : 'default',\n //};\n\n //if (fieldInfo.isHyperlink) {\n // styles['color'] = '#0078D7';\n // styles['cursor'] = 'pointer';\n //}\n\n //return styles;\n let styles = {\n color: '',\n 'background-color': '',\n };\n\n if (dataItem) {\n let value = dataItem[fieldInfo.fieldId];\n if (fieldInfo.textDefaultColor && typeof fieldInfo.textDefaultColor === 'string') {\n styles['color'] = fieldInfo.textDefaultColor;\n }\n\n if (fieldInfo.textColorThresholdFileldId) {\n let thresoldValue = dataItem[fieldInfo.textColorThresholdFileldId];\n if (typeof thresoldValue === 'number' && typeof value === 'number') {\n if (thresoldValue > value) {\n styles['color'] = fieldInfo.textPositiveColor;\n } else if (thresoldValue < value) {\n styles['color'] = fieldInfo.textNegativeColor;\n } else {\n styles['color'] = fieldInfo.textDefaultColor;\n }\n }\n }\n\n if (\n fieldInfo.backgroundColorThresholdFileldId &&\n value !== null &&\n value !== undefined\n ) {\n styles['line-height'] = '46px';\n styles['min-height'] = '46px';\n\n if (\n fieldInfo.backgroundDefaultColor &&\n typeof fieldInfo.backgroundDefaultColor === 'string'\n ) {\n styles['background-color'] = fieldInfo.backgroundDefaultColor;\n }\n\n if (fieldInfo.backgroundColorThresholdFileldId) {\n let thresoldValueBackground =\n dataItem[fieldInfo.backgroundColorThresholdFileldId];\n if (typeof thresoldValueBackground === 'number' && typeof value === 'number') {\n if (thresoldValueBackground > value) {\n styles['background-color'] = fieldInfo.backgroundPositiveColor;\n } else if (thresoldValueBackground < value) {\n styles['background-color'] = fieldInfo.backgroundNegativeColor;\n } else {\n styles['background-color'] = fieldInfo.backgroundDefaultColor;\n }\n }\n }\n }\n if (fieldInfo.setBackgroundColorByBand && value !== null && value !== undefined) {\n styles['line-height'] = '46px';\n styles['min-height'] = '46px';\n\n if (fieldInfo.backgroundColorSetFieldId) {\n let bandId = dataItem[fieldInfo.backgroundColorSetFieldId];\n //let colorInfo = this.bandColorList.find((band) => band.colorbandId === bandId);\n //styles['background-color'] = colorInfo ? colorInfo.color : '';\n }\n }\n\n if (fieldInfo.isHyperlink) {\n styles['color'] = '#0078D7';\n styles['cursor'] = 'pointer';\n }\n }\n return styles;\n }\n\n getCellStyle(dataItem: IReportingCommon, fieldInfo: ITableColumns) {\n let style = this.getCommonCellStyles(dataItem, fieldInfo);\n\n let leftPadding = '5px';\n let rightPadding = '5px';\n\n if (fieldInfo.fieldId === this.columnsProperties[0].fieldId) {\n leftPadding = '12px';\n }\n\n if (fieldInfo.dataAlignment === 'right') {\n rightPadding = '10px';\n }\n\n style['padding'] = '0 ' + rightPadding + ' 5px ' + leftPadding;\n return style;\n }\n\n getHeaderStyles(fieldInfo: ITableColumns) {\n let leftPadding = '5px';\n let rightPadding = '5px';\n\n if (fieldInfo.fieldId === this.columnsProperties[0].fieldId) {\n leftPadding = '14px';\n }\n\n if (fieldInfo.dataAlignment === 'right') {\n rightPadding = '10px';\n }\n\n let styles = {\n color: fieldInfo.textDefaultColor ?? '#223540',\n 'text-align': fieldInfo.headerAlignment,\n padding: '5px ' + rightPadding + ' 5px ' + leftPadding,\n 'line-height': '40px',\n 'background-color': fieldInfo?.headerBackgroundColor ?? '',\n };\n\n return styles;\n }\n\n handleHeaderFilterChange(filter: CompositeFilterDescriptor): void {\n this.filter = filter;\n this.loadGridData();\n }\n\n doHeaderFilter(filteredData) {\n // TODO: Move this date conversion logic to a efficient place\n if (this.columnsProperties && this.columnsProperties.length > 0) {\n this.columnsProperties.forEach((colInfo) => {\n if (colInfo.dataType === 'date') {\n filteredData.map((item) => {\n item[colInfo.fieldId] = item[colInfo.fieldId]\n ? new Date(item[colInfo.fieldId])\n : item[colInfo.fieldId];\n });\n }\n });\n }\n\n if (this.filter && this.filter.filters.length > 0) {\n filteredData = filterBy(filteredData, this.filter);\n }\n return filteredData;\n }\n\n setFilterCategories() {\n this.distinctCategories = {};\n this.columnsProperties.forEach((colInfo) => {\n if (colInfo.filter && colInfo.filter === 'category') {\n let gridData = [...this.tableDataProperties.gridData];\n this.distinctCategories[colInfo.fieldId] = gridData.filter(\n (x, idx, xs) =>\n xs.findIndex((y) => y[colInfo.fieldId] === x[colInfo.fieldId]) === idx\n );\n\n this.distinctCategories[colInfo.fieldId].sort((a, b) =>\n this._reusableFunctions.sortAlphaNumeric(a[colInfo.fieldId], b[colInfo.fieldId])\n );\n }\n });\n }\n\n // TODO: Tooltip logic\n public showTooltip(e: MouseEvent): void {\n const element = e.target as HTMLElement;\n if (\n (element.nodeName === 'TD' || element.nodeName === 'TH') &&\n element.offsetWidth < element.scrollWidth\n ) {\n this.tooltipDir.toggle(element);\n } else {\n this.tooltipDir.hide();\n }\n }\n\n capitalizeFirstLetter(word: string): string {\n var temp: string = String(word);\n return temp.charAt(0).toUpperCase() + temp.slice(1);\n }\n\n async getExcelExportData(): Promise {\n //let allData: DirectoryEntityListModel[] = [];\n //try {\n // const dataResponse: DirectoryEntityListModel[][] = await this.getExcelExportDataAsync();\n // for (const dataSet of dataResponse) {\n // allData.push(...dataSet);\n // }\n\n // allData = this.doSearch(allData);\n // allData = this.doHeaderFilter(allData);\n // allData.forEach((obj) => {\n // obj['entityType'] = this.getRoleName(obj.roleOrder);\n // });\n //} catch (error) {\n // console.error(error);\n //}\n const result: ExcelExportData = {\n data: [], //orderBy(allData, this.allDataSort),\n group: [],\n };\n\n return result;\n }\n\n onStateChange(event) {\n //this.dataChangeEvent.emit(event);\n }\n\n getInputValue(value: string, field: ITableColumns) {\n let val = value;\n if (field?.inputProperties?.type === 'number') {\n val = (+value).toFixed(field.decimalPlaces);\n }\n return val;\n }\n\n onInputChange(dataItem: any, field: ITableColumns) {\n if (field.dataType === 'input' && field.inputProperties?.type === 'number') {\n let value = dataItem[field.fieldId];\n dataItem[field.fieldId] = +value;\n }\n let change: IDataChange = { field: field, value: dataItem };\n this.setAggreagation();\n this.dataChangeEvent.emit(change);\n }\n\n onCheckboxChange(dataItem: any, field: ITableColumns) {\n let change: IDataChange = { field: field, value: dataItem };\n this.setAggreagation();\n this.dataChangeEvent.emit(change);\n }\n\n calculateAggregation() {\n //TODO: Refactor here and add more aggregation types\n //TODO: Set formatting for the aggregation values\n //TODO: Check the issue related to aggregation\n //this.aggregateResult = aggregateBy(this.gridDataResult.data, this.aggregates);\n }\n\n setAggreagation() {\n let toGetArregateColumnList = this.columnsProperties.filter(\n (item) => item.aggregationType != null\n );\n this.aggregates = [];\n if (toGetArregateColumnList.length > 0) {\n toGetArregateColumnList.forEach((col) => {\n this.aggregates.push({\n field: col.aggregationId,\n aggregate: col.aggregationType as any,\n });\n });\n this.calculateAggregation();\n }\n }\n\n setIndividualDataFormatting(precision) {\n return `1.${precision}-${precision}`;\n }\n}\n"],"x_google_ignoreList":[]}