gamma-app-controller 1.1.14 → 1.1.15

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 (25) hide show
  1. package/esm2020/lib/application-controller/application-controller.module.mjs +15 -5
  2. package/esm2020/lib/application-controller/application-dataset-component/create-dataset-sql/create-dataset-sql.component.mjs +2 -2
  3. package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +1 -2
  4. package/esm2020/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.mjs +10 -9
  5. package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +3 -1
  6. package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +1 -2
  7. package/esm2020/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.mjs +328 -0
  8. package/esm2020/lib/application-controller/support-components/dash-table/dash-table.component.mjs +2 -2
  9. package/esm2020/lib/application-controller/support-components/dash-today-previous/dash-today-previous.component.mjs +2 -2
  10. package/esm2020/lib/application-controller/support-components/geo-map/geo-map.component.mjs +2 -2
  11. package/esm2020/lib/application-controller/support-components/heat-map/heat-map.component.mjs +556 -0
  12. package/esm2020/lib/application-controller/support-components/single-card/single-card.component.mjs +2 -3
  13. package/esm2020/lib/application-controller/support-components/table-with-bar/table-with-bar.component.mjs +2 -2
  14. package/esm2020/public-api.mjs +3 -1
  15. package/fesm2015/gamma-app-controller.mjs +888 -22
  16. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  17. package/fesm2020/gamma-app-controller.mjs +892 -22
  18. package/fesm2020/gamma-app-controller.mjs.map +1 -1
  19. package/lib/application-controller/application-controller.module.d.ts +13 -11
  20. package/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.d.ts +1 -0
  21. package/lib/application-controller/page-controller/page-config/page-config.component.d.ts +2 -0
  22. package/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.d.ts +60 -0
  23. package/lib/application-controller/support-components/heat-map/heat-map.component.d.ts +99 -0
  24. package/package.json +1 -1
  25. package/public-api.d.ts +2 -0
@@ -2091,7 +2091,6 @@ class ApplicationFilterComponent {
2091
2091
  };
2092
2092
  }
2093
2093
  editFilter(data) {
2094
- debugger;
2095
2094
  this.creatFilterObject = data;
2096
2095
  this.isNewFilterCreate = true;
2097
2096
  }
@@ -3896,7 +3895,7 @@ class GeoMapComponent {
3896
3895
  "backgroundColor": "#6c98e0",
3897
3896
  "colors": ['#003566', '#fd0000']
3898
3897
  };
3899
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator"];
3898
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "formatBytesv2"];
3900
3899
  this.isLoader = true;
3901
3900
  this.activeTab = 'basic';
3902
3901
  this.createOtherComponentView = new EventEmitter();
@@ -4479,7 +4478,7 @@ class DashTableComponent {
4479
4478
  "isSearchBox": false
4480
4479
  }
4481
4480
  };
4482
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4481
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4483
4482
  this.isLoader = true;
4484
4483
  this.activeTab = 'basic';
4485
4484
  this.getTableConfigOutPut = new EventEmitter();
@@ -4907,7 +4906,7 @@ class TableWithBarComponent {
4907
4906
  "isSearchBox": false
4908
4907
  }
4909
4908
  };
4910
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4909
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4911
4910
  this.isLoader = true;
4912
4911
  this.activeTab = 'basic';
4913
4912
  this.createOtherComponentView = new EventEmitter();
@@ -5143,7 +5142,7 @@ class DashTodayPreviousComponent {
5143
5142
  "sortBy": [],
5144
5143
  "columns": []
5145
5144
  };
5146
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5145
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5147
5146
  this.isLoader = true;
5148
5147
  this.activeTab = 'basic';
5149
5148
  this.gettodayPreviousConfigOutPut = new EventEmitter();
@@ -5404,7 +5403,7 @@ class SingleCardComponent {
5404
5403
  "sortBy": [],
5405
5404
  "columns": []
5406
5405
  };
5407
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5406
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5408
5407
  this.isLoader = true;
5409
5408
  this.activeTab = 'basic';
5410
5409
  this.getSingleCardConfigOutPut = new EventEmitter();
@@ -5591,7 +5590,6 @@ class SingleCardComponent {
5591
5590
  return newColumns;
5592
5591
  }
5593
5592
  getSaveConfig() {
5594
- debugger;
5595
5593
  if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5596
5594
  this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
5597
5595
  }
@@ -5639,6 +5637,548 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
5639
5637
  args: ['datasetmodal']
5640
5638
  }] } });
5641
5639
 
5640
+ class HeatMapSupportComponent {
5641
+ constructor(toastrService, commonService, cdr, service) {
5642
+ this.toastrService = toastrService;
5643
+ this.commonService = commonService;
5644
+ this.cdr = cdr;
5645
+ this.service = service;
5646
+ this.isAdvanceFilter = false;
5647
+ this.isHeatMapClick = false;
5648
+ this.heatChartDataSource = {};
5649
+ this.chartDataForTooltip = {};
5650
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5651
+ this.heatmapChartConfig = {
5652
+ "chartFormat": "",
5653
+ "topArgument": "",
5654
+ "leftArgument": "",
5655
+ "color": [],
5656
+ "type": "",
5657
+ "formate": "",
5658
+ "columns": [
5659
+ {
5660
+ "visible": true,
5661
+ "dataField": "",
5662
+ "caption": "",
5663
+ "enrichName": "",
5664
+ }
5665
+ ],
5666
+ "commonConfig": {
5667
+ "title": "",
5668
+ "dataField": "",
5669
+ "checkedKey": "",
5670
+ "isSearchBox": false
5671
+ }
5672
+ };
5673
+ this.heatmap_content_config = {
5674
+ "kpiConfig": {
5675
+ "serviceId": "",
5676
+ "api": "/kpi/trends/network/get-metric-data",
5677
+ "displayType": "table",
5678
+ "formate": "",
5679
+ "keyToPass": [],
5680
+ "componentName": "GammaHeatChartComponent",
5681
+ "dataConfig": {}
5682
+ },
5683
+ };
5684
+ this.dataSourseForHeatMap = [];
5685
+ this.viewProperties = {
5686
+ enableClickEvent: false,
5687
+ enableRightClickEvent: true,
5688
+ clickEventOptions: {
5689
+ associatedViews: [],
5690
+ eventType: ""
5691
+ }
5692
+ };
5693
+ this.optionalDrilDownDataSource = [];
5694
+ this.isLoader = true;
5695
+ this.activeTab = 'basic';
5696
+ this.allConfiguredViews = [];
5697
+ this.colorArray = [];
5698
+ this.firstColor = "rgba(45, 110, 18, 1)";
5699
+ this.secondColor = "rgba(255, 204, 0, 1)";
5700
+ this.singleColor = "rgba(255, 204, 0, 1)";
5701
+ this.test_voice_data = [{
5702
+ record_date: '20250527',
5703
+ dataset: [
5704
+ { other_party_iso: 'YEM', total_charge: 184357176 },
5705
+ { other_party_iso: 'ERI', total_charge: 115262500 },
5706
+ { other_party_iso: 'BGD', total_charge: 83289614 },
5707
+ { other_party_iso: 'ETH', total_charge: 79004500 },
5708
+ { other_party_iso: 'PAK', total_charge: 76992454 },
5709
+ { other_party_iso: 'SDN', total_charge: 60480400 },
5710
+ { other_party_iso: 'IND', total_charge: 38892858 },
5711
+ { other_party_iso: 'EGY', total_charge: 37769744 },
5712
+ { other_party_iso: 'NPL', total_charge: 17214000 },
5713
+ { other_party_iso: 'AFG', total_charge: 7268000 },
5714
+ { other_party_iso: 'TCD', total_charge: 5372500 },
5715
+ { other_party_iso: 'IDN', total_charge: 4425700 },
5716
+ { other_party_iso: 'UGA', total_charge: 3933300 },
5717
+ { other_party_iso: 'GBR', total_charge: 3848225 }
5718
+ ]
5719
+ },
5720
+ {
5721
+ record_date: '20250531',
5722
+ dataset: [
5723
+ { other_party_iso: 'YEM', total_charge: 208699827 },
5724
+ { other_party_iso: 'ERI', total_charge: 143501500 },
5725
+ { other_party_iso: 'BGD', total_charge: 106296294 },
5726
+ { other_party_iso: 'ETH', total_charge: 86093500 },
5727
+ { other_party_iso: 'PAK', total_charge: 77428461 },
5728
+ { other_party_iso: 'SDN', total_charge: 65818598 },
5729
+ { other_party_iso: 'IND', total_charge: 38635175 },
5730
+ { other_party_iso: 'EGY', total_charge: 37658700 },
5731
+ { other_party_iso: 'NPL', total_charge: 18773200 },
5732
+ { other_party_iso: 'AFG', total_charge: 8232500 },
5733
+ { other_party_iso: 'TCD', total_charge: 7007500 },
5734
+ { other_party_iso: 'ARE', total_charge: 4593800 },
5735
+ { other_party_iso: 'IDN', total_charge: 4118800 },
5736
+ { other_party_iso: 'PHL', total_charge: 4051500 }
5737
+ ]
5738
+ },
5739
+ {
5740
+ record_date: '20250528',
5741
+ dataset: [
5742
+ { other_party_iso: 'YEM', total_charge: 198943661 },
5743
+ { other_party_iso: 'ERI', total_charge: 118065000 },
5744
+ { other_party_iso: 'BGD', total_charge: 90980829 },
5745
+ { other_party_iso: 'ETH', total_charge: 80367700 },
5746
+ { other_party_iso: 'PAK', total_charge: 78018973 },
5747
+ { other_party_iso: 'SDN', total_charge: 56826500 },
5748
+ { other_party_iso: 'IND', total_charge: 37871625 },
5749
+ { other_party_iso: 'EGY', total_charge: 33374815 },
5750
+ { other_party_iso: 'NPL', total_charge: 16763400 },
5751
+ { other_party_iso: 'AFG', total_charge: 7926000 },
5752
+ { other_party_iso: 'TCD', total_charge: 5600000 },
5753
+ { other_party_iso: 'IDN', total_charge: 4602400 },
5754
+ { other_party_iso: 'GBR', total_charge: 4443625 },
5755
+ { other_party_iso: 'UGA', total_charge: 4379200 }
5756
+ ]
5757
+ },
5758
+ {
5759
+ record_date: '20250530',
5760
+ dataset: [
5761
+ { other_party_iso: 'YEM', total_charge: 231378852 },
5762
+ { other_party_iso: 'BGD', total_charge: 151786018 },
5763
+ { other_party_iso: 'ERI', total_charge: 146782500 },
5764
+ { other_party_iso: 'PAK', total_charge: 88054445 },
5765
+ { other_party_iso: 'ETH', total_charge: 83635500 },
5766
+ { other_party_iso: 'SDN', total_charge: 62257000 },
5767
+ { other_party_iso: 'IND', total_charge: 44316500 },
5768
+ { other_party_iso: 'EGY', total_charge: 29894392 },
5769
+ { other_party_iso: 'NPL', total_charge: 23383500 },
5770
+ { other_party_iso: 'AFG', total_charge: 8029500 },
5771
+ { other_party_iso: 'TCD', total_charge: 7322500 },
5772
+ { other_party_iso: 'GBR', total_charge: 4338450 },
5773
+ { other_party_iso: 'IDN', total_charge: 3904400 },
5774
+ { other_party_iso: 'ARE', total_charge: 3832100 }
5775
+ ]
5776
+ },
5777
+ {
5778
+ record_date: '20250529',
5779
+ dataset: [
5780
+ { other_party_iso: 'YEM', total_charge: 200906357 },
5781
+ { other_party_iso: 'ERI', total_charge: 126725000 },
5782
+ { other_party_iso: 'BGD', total_charge: 115287722 },
5783
+ { other_party_iso: 'ETH', total_charge: 82062400 },
5784
+ { other_party_iso: 'PAK', total_charge: 77260610 },
5785
+ { other_party_iso: 'SDN', total_charge: 54394810 },
5786
+ { other_party_iso: 'IND', total_charge: 38654000 },
5787
+ { other_party_iso: 'EGY', total_charge: 34503350 },
5788
+ { other_party_iso: 'NPL', total_charge: 17277100 },
5789
+ { other_party_iso: 'AFG', total_charge: 7746500 },
5790
+ { other_party_iso: 'TCD', total_charge: 6100000 },
5791
+ { other_party_iso: 'GBR', total_charge: 4736150 },
5792
+ { other_party_iso: 'IDN', total_charge: 4678900 },
5793
+ { other_party_iso: 'KEN', total_charge: 4453000 }
5794
+ ]
5795
+ },
5796
+ {
5797
+ record_date: '20250601',
5798
+ dataset: [
5799
+ { other_party_iso: 'YEM', total_charge: 214287978 },
5800
+ { other_party_iso: 'ERI', total_charge: 154402500 },
5801
+ { other_party_iso: 'BGD', total_charge: 100204000 },
5802
+ { other_party_iso: 'ETH', total_charge: 97479800 },
5803
+ { other_party_iso: 'PAK', total_charge: 75391463 },
5804
+ { other_party_iso: 'SDN', total_charge: 65622200 },
5805
+ { other_party_iso: 'IND', total_charge: 38124497 },
5806
+ { other_party_iso: 'EGY', total_charge: 35278025 },
5807
+ { other_party_iso: 'NPL', total_charge: 22665000 },
5808
+ { other_party_iso: 'AFG', total_charge: 6920000 },
5809
+ { other_party_iso: 'UGA', total_charge: 5625100 },
5810
+ { other_party_iso: 'IDN', total_charge: 5256900 },
5811
+ { other_party_iso: 'TCD', total_charge: 4970000 },
5812
+ { other_party_iso: 'GBR', total_charge: 4410250 }
5813
+ ]
5814
+ }
5815
+ ];
5816
+ this.getHeatMapConfigOutPut = new EventEmitter();
5817
+ }
5818
+ set chartconfigData(value) {
5819
+ if (value === undefined || value.length === 0) {
5820
+ return;
5821
+ }
5822
+ else {
5823
+ this.jsaonDatasource = value.data[0];
5824
+ this.configColume = Object.keys(value.data[0]);
5825
+ this.dataSourseForHeatMap = value.data;
5826
+ this.selectedViewConfigs = value;
5827
+ this.selectedTableViewType = value.selectedViewType;
5828
+ if (value.selectedWidgetConfig) {
5829
+ this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
5830
+ this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
5831
+ this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
5832
+ if (value.selectedWidgetConfig.viewProperties) {
5833
+ this.viewProperties = value.selectedWidgetConfig.viewProperties;
5834
+ if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
5835
+ if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5836
+ this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
5837
+ this.viewProperties['clickEventOptions'] = {
5838
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5839
+ "associatedViews": []
5840
+ };
5841
+ }
5842
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
5843
+ this.viewProperties['clickEventOptions'] = {
5844
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5845
+ "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
5846
+ };
5847
+ }
5848
+ }
5849
+ else {
5850
+ this.viewProperties['clickEventOptions'] = {};
5851
+ }
5852
+ }
5853
+ this.cdr.detectChanges();
5854
+ }
5855
+ else {
5856
+ this.viewProperties = {
5857
+ enableClickEvent: false,
5858
+ enableRightClickEvent: true,
5859
+ clickEventOptions: {
5860
+ associatedViews: [],
5861
+ eventType: ""
5862
+ }
5863
+ };
5864
+ if (this.heatmapChartConfig.columns) {
5865
+ }
5866
+ else {
5867
+ this.heatmapChartConfig.columns = [];
5868
+ console.log(this.configColume);
5869
+ }
5870
+ this.cdr.detectChanges();
5871
+ }
5872
+ }
5873
+ }
5874
+ ngOnInit() {
5875
+ this.service.getAppViewConfigs().subscribe({
5876
+ next: (data) => {
5877
+ this.allConfiguredViews = data;
5878
+ this.isLoader = false;
5879
+ }, error: (err) => {
5880
+ this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
5881
+ }
5882
+ });
5883
+ if (this.optionalDrilDownDataSource.length == 0) {
5884
+ this.optionalDrilDownDataSource = [
5885
+ {
5886
+ 'viewId': "",
5887
+ 'filterCondition': ""
5888
+ }
5889
+ ];
5890
+ }
5891
+ }
5892
+ getHeatmapData() {
5893
+ this.heatChartDataSource = {};
5894
+ this.isAdvanceFilter = false;
5895
+ if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
5896
+ if (this.heatmapChartConfig.chartFormat == "topx") {
5897
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
5898
+ uniqueDates.sort();
5899
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
5900
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5901
+ }
5902
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
5903
+ const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
5904
+ uniqueDates.sort();
5905
+ this.heatChartDataSource["dataSet"] = result;
5906
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5907
+ }
5908
+ this.isHeatMapLoader = false;
5909
+ this.isHeatMapClick = false;
5910
+ }
5911
+ else {
5912
+ this.isHeatMapClick = false;
5913
+ this.toastrService.info("No Data Found");
5914
+ }
5915
+ }
5916
+ getTransposedHeatmapData(dataSet) {
5917
+ const transposed = [];
5918
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
5919
+ for (let i = 0; i < maxBoxes; i++) {
5920
+ const row = [];
5921
+ for (let j = 0; j < dataSet.length; j++) {
5922
+ const box = dataSet[j].dataset[i];
5923
+ row.push({
5924
+ box: box || null,
5925
+ date: dataSet[j].record_date
5926
+ });
5927
+ }
5928
+ transposed.push(row);
5929
+ }
5930
+ return transposed;
5931
+ }
5932
+ generateDateWiseColorCodedData(data) {
5933
+ const result = [];
5934
+ const uniqueDates = new Set();
5935
+ const allEntries = [];
5936
+ const topArg = this.heatmapChartConfig.topArgument;
5937
+ const leftArg = this.heatmapChartConfig.leftArgument;
5938
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
5939
+ data.forEach(entry => {
5940
+ const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
5941
+ uniqueDates.add(formattedDate);
5942
+ entry.dataset.forEach(item => {
5943
+ allEntries.push({
5944
+ [topArg]: formattedDate,
5945
+ [leftArg]: item[`${leftArg}`],
5946
+ [valueField]: item[`${valueField}`]
5947
+ });
5948
+ });
5949
+ });
5950
+ let coloredData;
5951
+ if (this.heatmapChartConfig.type === 'gradient') {
5952
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
5953
+ }
5954
+ else if (this.heatmapChartConfig.type === 'twoColor') {
5955
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
5956
+ }
5957
+ else {
5958
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
5959
+ }
5960
+ const dateMap = {};
5961
+ coloredData.forEach(item => {
5962
+ const date = item[topArg];
5963
+ if (!dateMap[date]) {
5964
+ dateMap[date] = [];
5965
+ }
5966
+ dateMap[date].push({
5967
+ [leftArg]: item[leftArg],
5968
+ [valueField]: item[valueField],
5969
+ color: item.color,
5970
+ [topArg]: date,
5971
+ });
5972
+ });
5973
+ for (const date of Array.from(uniqueDates).sort()) {
5974
+ result.push({
5975
+ record_date: date,
5976
+ dataset: dateMap[date] || []
5977
+ });
5978
+ }
5979
+ return {
5980
+ result,
5981
+ uniqueDates: Array.from(uniqueDates).sort()
5982
+ };
5983
+ }
5984
+ generateData(data) {
5985
+ const result = [];
5986
+ const uniqueDates = new Set();
5987
+ const dataSourceMap = {};
5988
+ const topArg = this.heatmapChartConfig.topArgument;
5989
+ const leftArg = this.heatmapChartConfig.leftArgument;
5990
+ data.forEach(item => {
5991
+ const rowKey = item[leftArg];
5992
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
5993
+ if (!dataSourceMap[rowKey]) {
5994
+ dataSourceMap[rowKey] = {
5995
+ datasource: rowKey,
5996
+ dataset: []
5997
+ };
5998
+ }
5999
+ dataSourceMap[rowKey].dataset.push({
6000
+ ...item,
6001
+ [topArg]: columnKey
6002
+ });
6003
+ uniqueDates.add(columnKey);
6004
+ });
6005
+ const uniqueDatesArray = Array.from(uniqueDates);
6006
+ for (const key in dataSourceMap) {
6007
+ const dataset = dataSourceMap[key].dataset;
6008
+ let formattedDataset;
6009
+ if (this.heatmapChartConfig.type == "gradient") {
6010
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
6011
+ }
6012
+ else if (this.heatmapChartConfig.type == "twoColor") {
6013
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6014
+ }
6015
+ else {
6016
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6017
+ }
6018
+ const dateToItemMap = {};
6019
+ formattedDataset.forEach(item => {
6020
+ dateToItemMap[item[topArg]] = item;
6021
+ });
6022
+ const completeDataset = uniqueDatesArray.map((date) => {
6023
+ if (dateToItemMap[date]) {
6024
+ return dateToItemMap[date];
6025
+ }
6026
+ else {
6027
+ return {
6028
+ [topArg]: date,
6029
+ avgSize: "No Data",
6030
+ fileCount: 0,
6031
+ fileSize: 0,
6032
+ color: "rgb(242, 118, 109)"
6033
+ };
6034
+ }
6035
+ });
6036
+ result.push({
6037
+ datasource: key,
6038
+ dataset: completeDataset
6039
+ });
6040
+ }
6041
+ return {
6042
+ result: result,
6043
+ uniqueDates: uniqueDatesArray
6044
+ };
6045
+ }
6046
+ getFormateDataByColorCodeForGradient(filedata, column) {
6047
+ filedata.forEach(item => {
6048
+ item.avgSize = parseFloat(item[column]);
6049
+ });
6050
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
6051
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
6052
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6053
+ const minColor = this.parseRGBA(minColorStr);
6054
+ const maxColor = this.parseRGBA(maxColorStr);
6055
+ filedata.forEach(item => {
6056
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
6057
+ });
6058
+ return filedata;
6059
+ }
6060
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
6061
+ filedata.forEach(item => {
6062
+ item[column] = parseFloat(item[column]);
6063
+ });
6064
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6065
+ const minColor = this.parseRGBA(minColorStr);
6066
+ const maxColor = this.parseRGBA(maxColorStr);
6067
+ filedata.forEach(item => {
6068
+ if (item[column] == 0) {
6069
+ item.color = `rgb(${minColor.join(',')})`;
6070
+ }
6071
+ else {
6072
+ item.color = `rgb(${maxColor.join(',')})`;
6073
+ }
6074
+ });
6075
+ return filedata;
6076
+ }
6077
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
6078
+ filedata.forEach(item => {
6079
+ item[column] = parseFloat(item[column]);
6080
+ });
6081
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
6082
+ const minColor = this.parseRGBA(singleColor);
6083
+ filedata.forEach(item => {
6084
+ item.color = `rgb(${minColor.join(',')})`;
6085
+ });
6086
+ return filedata;
6087
+ }
6088
+ parseRGBA(colorStr) {
6089
+ const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
6090
+ if (values.length === 3)
6091
+ values.push(1);
6092
+ return [
6093
+ values[0] ?? 0,
6094
+ values[1] ?? 0,
6095
+ values[2] ?? 0,
6096
+ values[3] ?? 1
6097
+ ];
6098
+ }
6099
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
6100
+ if (minAvgSize != maxAvgSize) {
6101
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
6102
+ let color = minColor.map((channel, index) => {
6103
+ return Math.round(channel + gradient * (maxColor[index] - channel));
6104
+ });
6105
+ return `rgb(${color.join(',')})`;
6106
+ }
6107
+ else {
6108
+ return `rgb(${minColor.join(',')})`;
6109
+ }
6110
+ }
6111
+ setActiveTab(tab) {
6112
+ this.activeTab = tab;
6113
+ }
6114
+ getSelectedEventType(e) {
6115
+ if (e.event) {
6116
+ this.optionalDrilDownDataSource = [];
6117
+ if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
6118
+ this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
6119
+ }
6120
+ }
6121
+ }
6122
+ resetViewProprstise() {
6123
+ this.viewProperties = {
6124
+ enableClickEvent: false,
6125
+ enableRightClickEvent: true,
6126
+ clickEventOptions: {
6127
+ associatedViews: [],
6128
+ eventType: ""
6129
+ }
6130
+ };
6131
+ }
6132
+ deleteAssociatedParams(index) {
6133
+ this.optionalDrilDownDataSource.splice(index, 1);
6134
+ }
6135
+ addAssociatedParams() {
6136
+ this.optionalDrilDownDataSource.push({
6137
+ 'viewId': "",
6138
+ 'filterCondition': ""
6139
+ });
6140
+ }
6141
+ getColorBoxVisible(e) {
6142
+ this.colorArray = [];
6143
+ }
6144
+ saveColors() {
6145
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6146
+ this.colorArray = [this.firstColor, this.secondColor];
6147
+ }
6148
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6149
+ this.colorArray = [this.singleColor];
6150
+ }
6151
+ this.getHeatmapData();
6152
+ }
6153
+ getSaveChartConfig() {
6154
+ if (this.colorArray && this.colorArray.length !== 0) {
6155
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6156
+ this.heatmapChartConfig.color = this.colorArray;
6157
+ }
6158
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6159
+ this.heatmapChartConfig.color = this.colorArray;
6160
+ }
6161
+ }
6162
+ if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
6163
+ this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
6164
+ }
6165
+ this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
6166
+ this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
6167
+ this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
6168
+ }
6169
+ }
6170
+ HeatMapSupportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, deps: [{ token: i2$1.ToastrService }, { token: CommonService }, { token: i0.ChangeDetectorRef }, { token: ApplicationContentService }], target: i0.ɵɵFactoryTarget.Component });
6171
+ HeatMapSupportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: { chartconfigData: ["datasetmodal", "chartconfigData"] }, outputs: { getHeatMapConfigOutPut: "getHeatMapConfigOutPut" }, ngImport: i0, template: "<div class=\"m-2\">\n <div class=\"w-full m-2 border-r\">\n <ng-container *ngIf=\"!isJsonPreview\">\n <pre><code>{{jsaonDatasource | json}}</code></pre>\n </ng-container>\n <ng-container *ngIf=\"isJsonPreview\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <!-- Heatmap Body (Top to Bottom Layout) -->\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.heatmapChartConfig.topArgument + ', Value: ' + cell.box.heatmapChartConfig.columns[0].dataField\">\n {{ cell.box.heatmapChartConfig.leftArgument }} ({{ commonService.abbreviateNumber(cell.box.heatmapChartConfig.columns[0].dataField) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n \n \n </ng-container>\n </div>\n <div class=\"w-full mx-2 border-r\">\n <div class=\"mb-4 border-b border-gray-200 dark:border-gray-700\">\n <ul class=\"flex flex-wrap -mb-px text-sm font-medium text-center\" role=\"tablist\">\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'basic',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'basic'\n }\" (click)=\"setActiveTab('basic')\" type=\"button\" role=\"tab\">\n Basic\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'columns',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'columns'\n }\" (click)=\"setActiveTab('columns')\" type=\"button\" role=\"tab\">\n Columns\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'properties',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'properties'\n }\" (click)=\"setActiveTab('properties')\" type=\"button\" role=\"tab\">\n Properties\n </button>\n </li>\n\n </ul>\n </div>\n\n <div id=\"default-styled-tab-content\">\n <div *ngIf=\"activeTab === 'basic'\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Filter Title Config\n </div>\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 flex justify-between\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Title</div>\n <dx-select-box [(ngModel)]=\"heatmapChartConfig.chartFormat\" [items]=\"['simple','topx']\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Top Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.topArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Left Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.leftArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color Usage</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"['gradient','twoColor','singleColor',]\"\n [(ngModel)]=\"heatmapChartConfig.type\"\n (onValueChanged)=\"getColorBoxVisible($event)\"></dx-select-box>\n </div>\n\n <ng-container\n *ngIf=\"heatmapChartConfig.type == 'gradient' || heatmapChartConfig.type == 'twoColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"firstColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"secondColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.type == 'singleColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"singleColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <div class=\"px-1 mb-1 w-full\" *ngIf=\"heatmapChartConfig.type !== ''\">\n <button class=\"{{commonService.btn_primary_md}} mt-6\" (click)=\"saveColors()\">Check\n View</button>\n </div>\n\n\n\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'columns'\">\n <div class=\"h-full overflow-x-auto\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 border-b flex flex-row\"\n *ngFor=\"let item of heatmapChartConfig.columns; let i = index;\">\n <div class=\"px-1 mb-2 mt-6 w-full\">\n <dx-check-box [value]=\"item.visible\" [(ngModel)]=\"item.visible\"\n text=\"Visiblity\"></dx-check-box>\n </div>\n\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Value Field</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"item.dataField\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Caption</div>\n <dx-text-box [(ngModel)]=\"item.caption\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> UI Function</div>\n <dx-select-box [items]=\"enrichNameList\" [(ngModel)]=\"item.enrichName\"\n [searchEnabled]=\"true\"></dx-select-box>\n </div>\n\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'properties'\">\n <div class=\"h-full overflow-x-auto\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <div class=\"flex flex-row justify-between border-b py-3\">\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableClickEvent\"\n [(ngModel)]=\"viewProperties.enableClickEvent\"\n text=\"Enable Click Event\"></dx-check-box>\n </div>\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableRightClickEvent\"\n [(ngModel)]=\"viewProperties.enableRightClickEvent\"\n text=\"Enable Right Click\"></dx-check-box>\n </div>\n </div>\n <div class=\"w-full p-2\" *ngIf=\"viewProperties.enableClickEvent\">\n\n <div class=\"flex flex-col flex-auto min-w-0 my-2\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Event\n Type\n Option\n </div>\n <div class=\"w-full p-3 border-x border-b \">\n <div class=\"flex flex-row\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Event Type</div>\n </div>\n <div class=\"w-full\">\n <dx-select-box\n [items]=\"['drilldown','sameViewDrilldown','optionalDrillDown']\"\n (onValueChanged)=\"getSelectedEventType($event)\"\n [(ngModel)]=\"viewProperties.clickEventOptions.eventType\"></dx-select-box>\n </div>\n </div>\n <ng-container *ngIf=\"viewProperties.clickEventOptions.eventType == 'drilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'sameViewDrilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'optionalDrillDown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <ng-container\n *ngFor=\"let item of optionalDrilDownDataSource;let i = index;\">\n\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"item.viewId\" valueExpr=\"viewId\"\n displayExpr=\"viewName\" [showSelectionControls]=\"true\"\n [maxDisplayedTags]=\"2\"\n [searchEnabled]=\"true\"></dx-tag-box>\n\n </div>\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Params</div>\n <dx-text-box\n [(ngModel)]=\"item.filterCondition\"></dx-text-box>\n </div>\n <div class=\"mx-2\">\n <button\n class=\"{{commonService.btn_danger_sm}} cursor-pointer mt-8\"\n (click)=\"deleteAssociatedParams(i)\"><i\n class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end mt-4\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\"\n (click)=\"addAssociatedParams()\">Add\n Params</button>\n </div>\n </div>\n </div>\n </ng-container>\n <button class=\"{{commonService.btn_light_md}} cursor-pointer mt-4\"\n (click)=\"resetViewProprstise()\">Reset All Event</button>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n\n\n </div>\n</div>\n\n\n<div class=\"flex flex-row border-t pl-3\">\n <div class=\"flex justify-start mx-1\">\n <button class=\"{{commonService.btn_warning_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = true\">\n Preview</button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = false\">Data\n Preview</button>\n </div>\n <div class=\"flex justify-end mx-1 flex-grow\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mt-2\"\n (click)=\"getSaveChartConfig()\">Submit</button>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$2.DxColorBoxComponent, selector: "dx-color-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyButtonText", "applyValueMode", "buttons", "cancelButtonText", "deferRendering", "disabled", "dropDownButtonTemplate", "dropDownOptions", "editAlphaChannel", "elementAttr", "fieldTemplate", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "keyStep", "label", "labelMode", "name", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showDropDownButton", "stylingMode", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onChange", "onClosed", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "cancelButtonTextChange", "deferRenderingChange", "disabledChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "editAlphaChannelChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "keyStepChange", "labelChange", "labelModeChange", "nameChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showDropDownButtonChange", "stylingModeChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i8$1.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "pipe", type: i4$1.JsonPipe, name: "json" }] });
6172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
6173
+ type: Component,
6174
+ args: [{ selector: 'app-heat-map', template: "<div class=\"m-2\">\n <div class=\"w-full m-2 border-r\">\n <ng-container *ngIf=\"!isJsonPreview\">\n <pre><code>{{jsaonDatasource | json}}</code></pre>\n </ng-container>\n <ng-container *ngIf=\"isJsonPreview\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <!-- Heatmap Body (Top to Bottom Layout) -->\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.heatmapChartConfig.topArgument + ', Value: ' + cell.box.heatmapChartConfig.columns[0].dataField\">\n {{ cell.box.heatmapChartConfig.leftArgument }} ({{ commonService.abbreviateNumber(cell.box.heatmapChartConfig.columns[0].dataField) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n \n \n </ng-container>\n </div>\n <div class=\"w-full mx-2 border-r\">\n <div class=\"mb-4 border-b border-gray-200 dark:border-gray-700\">\n <ul class=\"flex flex-wrap -mb-px text-sm font-medium text-center\" role=\"tablist\">\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'basic',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'basic'\n }\" (click)=\"setActiveTab('basic')\" type=\"button\" role=\"tab\">\n Basic\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'columns',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'columns'\n }\" (click)=\"setActiveTab('columns')\" type=\"button\" role=\"tab\">\n Columns\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'properties',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'properties'\n }\" (click)=\"setActiveTab('properties')\" type=\"button\" role=\"tab\">\n Properties\n </button>\n </li>\n\n </ul>\n </div>\n\n <div id=\"default-styled-tab-content\">\n <div *ngIf=\"activeTab === 'basic'\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Filter Title Config\n </div>\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 flex justify-between\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Title</div>\n <dx-select-box [(ngModel)]=\"heatmapChartConfig.chartFormat\" [items]=\"['simple','topx']\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Top Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.topArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Left Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.leftArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color Usage</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"['gradient','twoColor','singleColor',]\"\n [(ngModel)]=\"heatmapChartConfig.type\"\n (onValueChanged)=\"getColorBoxVisible($event)\"></dx-select-box>\n </div>\n\n <ng-container\n *ngIf=\"heatmapChartConfig.type == 'gradient' || heatmapChartConfig.type == 'twoColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"firstColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"secondColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.type == 'singleColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"singleColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <div class=\"px-1 mb-1 w-full\" *ngIf=\"heatmapChartConfig.type !== ''\">\n <button class=\"{{commonService.btn_primary_md}} mt-6\" (click)=\"saveColors()\">Check\n View</button>\n </div>\n\n\n\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'columns'\">\n <div class=\"h-full overflow-x-auto\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 border-b flex flex-row\"\n *ngFor=\"let item of heatmapChartConfig.columns; let i = index;\">\n <div class=\"px-1 mb-2 mt-6 w-full\">\n <dx-check-box [value]=\"item.visible\" [(ngModel)]=\"item.visible\"\n text=\"Visiblity\"></dx-check-box>\n </div>\n\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Value Field</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"item.dataField\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Caption</div>\n <dx-text-box [(ngModel)]=\"item.caption\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> UI Function</div>\n <dx-select-box [items]=\"enrichNameList\" [(ngModel)]=\"item.enrichName\"\n [searchEnabled]=\"true\"></dx-select-box>\n </div>\n\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'properties'\">\n <div class=\"h-full overflow-x-auto\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <div class=\"flex flex-row justify-between border-b py-3\">\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableClickEvent\"\n [(ngModel)]=\"viewProperties.enableClickEvent\"\n text=\"Enable Click Event\"></dx-check-box>\n </div>\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableRightClickEvent\"\n [(ngModel)]=\"viewProperties.enableRightClickEvent\"\n text=\"Enable Right Click\"></dx-check-box>\n </div>\n </div>\n <div class=\"w-full p-2\" *ngIf=\"viewProperties.enableClickEvent\">\n\n <div class=\"flex flex-col flex-auto min-w-0 my-2\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Event\n Type\n Option\n </div>\n <div class=\"w-full p-3 border-x border-b \">\n <div class=\"flex flex-row\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Event Type</div>\n </div>\n <div class=\"w-full\">\n <dx-select-box\n [items]=\"['drilldown','sameViewDrilldown','optionalDrillDown']\"\n (onValueChanged)=\"getSelectedEventType($event)\"\n [(ngModel)]=\"viewProperties.clickEventOptions.eventType\"></dx-select-box>\n </div>\n </div>\n <ng-container *ngIf=\"viewProperties.clickEventOptions.eventType == 'drilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'sameViewDrilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'optionalDrillDown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <ng-container\n *ngFor=\"let item of optionalDrilDownDataSource;let i = index;\">\n\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"item.viewId\" valueExpr=\"viewId\"\n displayExpr=\"viewName\" [showSelectionControls]=\"true\"\n [maxDisplayedTags]=\"2\"\n [searchEnabled]=\"true\"></dx-tag-box>\n\n </div>\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Params</div>\n <dx-text-box\n [(ngModel)]=\"item.filterCondition\"></dx-text-box>\n </div>\n <div class=\"mx-2\">\n <button\n class=\"{{commonService.btn_danger_sm}} cursor-pointer mt-8\"\n (click)=\"deleteAssociatedParams(i)\"><i\n class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end mt-4\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\"\n (click)=\"addAssociatedParams()\">Add\n Params</button>\n </div>\n </div>\n </div>\n </ng-container>\n <button class=\"{{commonService.btn_light_md}} cursor-pointer mt-4\"\n (click)=\"resetViewProprstise()\">Reset All Event</button>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n\n\n </div>\n</div>\n\n\n<div class=\"flex flex-row border-t pl-3\">\n <div class=\"flex justify-start mx-1\">\n <button class=\"{{commonService.btn_warning_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = true\">\n Preview</button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = false\">Data\n Preview</button>\n </div>\n <div class=\"flex justify-end mx-1 flex-grow\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mt-2\"\n (click)=\"getSaveChartConfig()\">Submit</button>\n </div>\n</div>" }]
6175
+ }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
6176
+ type: Output
6177
+ }], chartconfigData: [{
6178
+ type: Input,
6179
+ args: ['datasetmodal']
6180
+ }] } });
6181
+
5642
6182
  class CreateCompViewComponent {
5643
6183
  constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
5644
6184
  this.toastr = toastr;
@@ -5874,13 +6414,9 @@ class CreateCompViewComponent {
5874
6414
  }
5875
6415
  getDatasetForSimpleApiImpala(dataset) {
5876
6416
  this.dataSourceModal = {};
5877
- let filters = {
5878
- startDate: this.defaultStartDate,
5879
- endDate: this.defaultEndDate
5880
- };
5881
6417
  dataset.config.queryConfig.mapedFilters.forEach(filter => {
5882
- if (filters.hasOwnProperty(filter.localColumn)) {
5883
- filter.defaultValue = filters[filter.localColumn];
6418
+ if (filter.hasOwnProperty(filter.localColumn)) {
6419
+ filter.defaultValue = filter[filter.localColumn];
5884
6420
  }
5885
6421
  });
5886
6422
  if (dataset.config.apiType === "post") {
@@ -6051,6 +6587,10 @@ class CreateCompViewComponent {
6051
6587
  data['datasetId'] = this.selectedDataSet['datasetId'];
6052
6588
  this.createViewConfig(data);
6053
6589
  }
6590
+ getEmitNewHeatMapConfig(data) {
6591
+ data['datasetId'] = this.selectedDataSet['datasetId'];
6592
+ this.createViewConfig(data);
6593
+ }
6054
6594
  getEmitNewChartCongig(data) {
6055
6595
  data['datasetId'] = this.selectedDataSet['datasetId'];
6056
6596
  this.createViewConfig(data);
@@ -6189,10 +6729,10 @@ class CreateCompViewComponent {
6189
6729
  }
6190
6730
  }
6191
6731
  CreateCompViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, deps: [{ token: i2$1.ToastrService }, { token: CommonService }, { token: ApplicationContentService }, { token: kpicommonService$2 }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: APP_ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Component });
6192
- CreateCompViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateCompViewComponent, selector: "app-create-comp-view", inputs: { kpiTreeData: "kpiTreeData", isHeader: "isHeader", selectedViewId: "selectedViewId" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getTableConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoMapComponent, selector: "app-geo-map", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: DashChartComponent, selector: "app-dash-chart", inputs: ["datasetmodal"], outputs: ["getChartConfigOutPut"] }, { kind: "component", type: DashTableComponent, selector: "app-dash-table", inputs: ["datasetmodal"], outputs: ["getTableConfigOutPut"] }, { kind: "component", type: TableWithBarComponent, selector: "app-table-with-bar", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }, { kind: "component", type: DashTodayPreviousComponent, selector: "lib-dash-today-previous", inputs: ["datasetmodal"], outputs: ["gettodayPreviousConfigOutPut"] }, { kind: "component", type: SingleCardComponent, selector: "lib-single-card", inputs: ["datasetmodal"], outputs: ["getSingleCardConfigOutPut"] }] });
6732
+ CreateCompViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateCompViewComponent, selector: "app-create-comp-view", inputs: { kpiTreeData: "kpiTreeData", isHeader: "isHeader", selectedViewId: "selectedViewId" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoMapComponent, selector: "app-geo-map", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: DashChartComponent, selector: "app-dash-chart", inputs: ["datasetmodal"], outputs: ["getChartConfigOutPut"] }, { kind: "component", type: DashTableComponent, selector: "app-dash-table", inputs: ["datasetmodal"], outputs: ["getTableConfigOutPut"] }, { kind: "component", type: TableWithBarComponent, selector: "app-table-with-bar", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }, { kind: "component", type: DashTodayPreviousComponent, selector: "lib-dash-today-previous", inputs: ["datasetmodal"], outputs: ["gettodayPreviousConfigOutPut"] }, { kind: "component", type: SingleCardComponent, selector: "lib-single-card", inputs: ["datasetmodal"], outputs: ["getSingleCardConfigOutPut"] }, { kind: "component", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: ["datasetmodal"], outputs: ["getHeatMapConfigOutPut"] }] });
6193
6733
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
6194
6734
  type: Component,
6195
- args: [{ selector: 'app-create-comp-view', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getTableConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
6735
+ args: [{ selector: 'app-create-comp-view', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
6196
6736
  }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
6197
6737
  type: Inject,
6198
6738
  args: [APP_ENVIRONMENT]
@@ -7661,7 +8201,6 @@ class GammaAdvanceOperatorTableComponent {
7661
8201
  const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
7662
8202
  if (foundMatchObject) {
7663
8203
  if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
7664
- console.log(foundMatchObject.enrichName);
7665
8204
  newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
7666
8205
  }
7667
8206
  }
@@ -8742,6 +9281,328 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
8742
9281
  args: ["chartDataSource"]
8743
9282
  }] } });
8744
9283
 
9284
+ class GammaHeatChartComponent {
9285
+ constructor(commonService) {
9286
+ this.commonService = commonService;
9287
+ this.dataSourseForTable = [];
9288
+ this.isLoader = true;
9289
+ this.tableDataConfig = {};
9290
+ this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
9291
+ this.activeTab = 'basic';
9292
+ this.isAdvanceFilter = false;
9293
+ this.isHeatMapClick = false;
9294
+ this.heatChartDataSource = {};
9295
+ this.chartDataForTooltip = {};
9296
+ this.dataSourseForHeatMap = [];
9297
+ this.viewProperties = {
9298
+ enableClickEvent: false,
9299
+ enableRightClickEvent: true,
9300
+ clickEventOptions: {
9301
+ associatedViews: [],
9302
+ eventType: ""
9303
+ }
9304
+ };
9305
+ this.optionalDrilDownDataSource = [];
9306
+ this.allConfiguredViews = [];
9307
+ this.colorArray = [];
9308
+ this.firstColor = "rgba(45, 110, 18, 1)";
9309
+ this.secondColor = "rgba(255, 204, 0, 1)";
9310
+ this.singleColor = "rgba(255, 204, 0, 1)";
9311
+ this.heatmapChartConfig = {};
9312
+ this.getTableConfigOutPut = new EventEmitter();
9313
+ this.oRowClick = new EventEmitter();
9314
+ this.onrightClickContextSelection = new EventEmitter();
9315
+ this.rightClickEnable = true;
9316
+ }
9317
+ set chartDataSource(value) {
9318
+ if (value === undefined || value.length === 0) {
9319
+ return;
9320
+ }
9321
+ else {
9322
+ this.isLoader = true;
9323
+ this.page_config = value;
9324
+ this.page_parms = value.titleParams;
9325
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
9326
+ this.heatmapChartConfig = value.kpiConfig.dataConfig;
9327
+ this.colorArray = value.kpiConfig.dataConfig.color;
9328
+ this.getHeatmapData(value.kpiConfig.dataSource);
9329
+ setTimeout(() => {
9330
+ this.isLoader = false;
9331
+ }, 200);
9332
+ }
9333
+ else {
9334
+ setTimeout(() => {
9335
+ this.dataSourseForTable = [];
9336
+ this.tableDataConfig['columns'] = [];
9337
+ this.isLoader = false;
9338
+ }, 200);
9339
+ }
9340
+ }
9341
+ }
9342
+ ngOnInit() {
9343
+ }
9344
+ getHeatmapData(heatMapData) {
9345
+ this.heatChartDataSource = {};
9346
+ this.isAdvanceFilter = false;
9347
+ if (heatMapData && heatMapData.length !== 0) {
9348
+ if (this.heatmapChartConfig.chartFormat == "topx") {
9349
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
9350
+ uniqueDates.sort();
9351
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
9352
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9353
+ }
9354
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
9355
+ const { result, uniqueDates } = this.generateData(heatMapData);
9356
+ uniqueDates.sort();
9357
+ this.heatChartDataSource["dataSet"] = result;
9358
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9359
+ }
9360
+ this.isHeatMapClick = false;
9361
+ }
9362
+ else {
9363
+ this.isHeatMapClick = false;
9364
+ }
9365
+ }
9366
+ getTransposedHeatmapData(dataSet) {
9367
+ const transposed = [];
9368
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
9369
+ for (let i = 0; i < maxBoxes; i++) {
9370
+ const row = [];
9371
+ for (let j = 0; j < dataSet.length; j++) {
9372
+ const box = dataSet[j].dataset[i];
9373
+ row.push({
9374
+ box: box || null,
9375
+ date: dataSet[j].record_date
9376
+ });
9377
+ }
9378
+ transposed.push(row);
9379
+ }
9380
+ return transposed;
9381
+ }
9382
+ generateDateWiseColorCodedData(data) {
9383
+ const result = [];
9384
+ const uniqueDates = new Set();
9385
+ const allEntries = [];
9386
+ const topArg = this.heatmapChartConfig.topArgument;
9387
+ const leftArg = this.heatmapChartConfig.leftArgument;
9388
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
9389
+ data.forEach(entry => {
9390
+ const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
9391
+ uniqueDates.add(formattedDate);
9392
+ entry.resultDataset.forEach(item => {
9393
+ allEntries.push({
9394
+ [topArg]: formattedDate,
9395
+ [leftArg]: item[`${leftArg}`],
9396
+ [valueField]: item[`${valueField}`]
9397
+ });
9398
+ });
9399
+ });
9400
+ let coloredData;
9401
+ if (this.heatmapChartConfig.type === 'gradient') {
9402
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
9403
+ }
9404
+ else if (this.heatmapChartConfig.type === 'twoColor') {
9405
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
9406
+ }
9407
+ else {
9408
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
9409
+ }
9410
+ const dateMap = {};
9411
+ coloredData.forEach(item => {
9412
+ const date = item[topArg];
9413
+ if (!dateMap[date]) {
9414
+ dateMap[date] = [];
9415
+ }
9416
+ dateMap[date].push({
9417
+ [leftArg]: item[leftArg],
9418
+ [valueField]: item[valueField],
9419
+ color: item.color,
9420
+ [topArg]: date,
9421
+ });
9422
+ });
9423
+ for (const date of Array.from(uniqueDates).sort()) {
9424
+ result.push({
9425
+ record_date: date,
9426
+ dataset: dateMap[date] || []
9427
+ });
9428
+ }
9429
+ return {
9430
+ result,
9431
+ uniqueDates: Array.from(uniqueDates).sort()
9432
+ };
9433
+ }
9434
+ generateData(data) {
9435
+ const result = [];
9436
+ const uniqueDates = new Set();
9437
+ const dataSourceMap = {};
9438
+ const topArg = this.heatmapChartConfig.topArgument;
9439
+ const leftArg = this.heatmapChartConfig.leftArgument;
9440
+ data.forEach(item => {
9441
+ const rowKey = item[leftArg];
9442
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
9443
+ if (!dataSourceMap[rowKey]) {
9444
+ dataSourceMap[rowKey] = {
9445
+ datasource: rowKey,
9446
+ dataset: []
9447
+ };
9448
+ }
9449
+ dataSourceMap[rowKey].dataset.push({
9450
+ ...item,
9451
+ [topArg]: columnKey
9452
+ });
9453
+ uniqueDates.add(columnKey);
9454
+ });
9455
+ const uniqueDatesArray = Array.from(uniqueDates);
9456
+ for (const key in dataSourceMap) {
9457
+ const dataset = dataSourceMap[key].dataset;
9458
+ let formattedDataset;
9459
+ if (this.heatmapChartConfig.type == "gradient") {
9460
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
9461
+ }
9462
+ else if (this.heatmapChartConfig.type == "twoColor") {
9463
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9464
+ }
9465
+ else {
9466
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9467
+ }
9468
+ const dateToItemMap = {};
9469
+ formattedDataset.forEach(item => {
9470
+ dateToItemMap[item[topArg]] = item;
9471
+ });
9472
+ const completeDataset = uniqueDatesArray.map((date) => {
9473
+ if (dateToItemMap[date]) {
9474
+ return dateToItemMap[date];
9475
+ }
9476
+ else {
9477
+ return {
9478
+ [topArg]: date,
9479
+ avgSize: "No Data",
9480
+ fileCount: 0,
9481
+ fileSize: 0,
9482
+ color: "rgb(242, 118, 109)"
9483
+ };
9484
+ }
9485
+ });
9486
+ result.push({
9487
+ datasource: key,
9488
+ dataset: completeDataset
9489
+ });
9490
+ }
9491
+ return {
9492
+ result: result,
9493
+ uniqueDates: uniqueDatesArray
9494
+ };
9495
+ }
9496
+ getFormateDataByColorCodeForGradient(filedata, column) {
9497
+ filedata.forEach(item => {
9498
+ item.avgSize = parseFloat(item[column]);
9499
+ });
9500
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
9501
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
9502
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9503
+ const minColor = this.parseRGBA(minColorStr);
9504
+ const maxColor = this.parseRGBA(maxColorStr);
9505
+ filedata.forEach(item => {
9506
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
9507
+ });
9508
+ return filedata;
9509
+ }
9510
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
9511
+ filedata.forEach(item => {
9512
+ item[column] = parseFloat(item[column]);
9513
+ });
9514
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9515
+ const minColor = this.parseRGBA(minColorStr);
9516
+ const maxColor = this.parseRGBA(maxColorStr);
9517
+ filedata.forEach(item => {
9518
+ if (item[column] == 0) {
9519
+ item.color = `rgb(${minColor.join(',')})`;
9520
+ }
9521
+ else {
9522
+ item.color = `rgb(${maxColor.join(',')})`;
9523
+ }
9524
+ });
9525
+ return filedata;
9526
+ }
9527
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
9528
+ filedata.forEach(item => {
9529
+ item[column] = parseFloat(item[column]);
9530
+ });
9531
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
9532
+ const minColor = this.parseRGBA(singleColor);
9533
+ filedata.forEach(item => {
9534
+ item.color = `rgb(${minColor.join(',')})`;
9535
+ });
9536
+ return filedata;
9537
+ }
9538
+ parseRGBA(colorStr) {
9539
+ const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
9540
+ if (values.length === 3)
9541
+ values.push(1);
9542
+ return [
9543
+ values[0] ?? 0,
9544
+ values[1] ?? 0,
9545
+ values[2] ?? 0,
9546
+ values[3] ?? 1
9547
+ ];
9548
+ }
9549
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
9550
+ if (minAvgSize != maxAvgSize) {
9551
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
9552
+ let color = minColor.map((channel, index) => {
9553
+ return Math.round(channel + gradient * (maxColor[index] - channel));
9554
+ });
9555
+ return `rgb(${color.join(',')})`;
9556
+ }
9557
+ else {
9558
+ return `rgb(${minColor.join(',')})`;
9559
+ }
9560
+ }
9561
+ transformColumns(mainobj) {
9562
+ return Object.keys(mainobj).map(key => {
9563
+ return {
9564
+ visible: true,
9565
+ dataField: key,
9566
+ caption: key
9567
+ };
9568
+ });
9569
+ }
9570
+ getObjectKeys(obj) {
9571
+ return Object.keys(obj);
9572
+ }
9573
+ callServiceFunction(functionName, value) {
9574
+ if (value !== undefined) {
9575
+ if (typeof this.commonService[functionName] === "function") {
9576
+ return this.commonService[functionName](value);
9577
+ }
9578
+ else {
9579
+ console.error(`Function ${functionName} not found in CommonService`);
9580
+ return null;
9581
+ }
9582
+ }
9583
+ else {
9584
+ return "No Data";
9585
+ }
9586
+ }
9587
+ }
9588
+ GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
9589
+ GammaHeatChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GammaHeatChartComponent, selector: "app-gamma-heatmap", inputs: { rightClickEnable: "rightClickEnable", chartDataSource: "chartDataSource" }, outputs: { getTableConfigOutPut: "getTableConfigOutPut", oRowClick: "oRowClick", onrightClickContextSelection: "onrightClickContextSelection" }, ngImport: i0, template: "<div class=\"mx-2 bg-gray-800\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.box[heatmapChartConfig.topArgument] + ', Value: ' + cell.box[heatmapChartConfig.columns[0].dataField]\">\n {{ cell.box[heatmapChartConfig.leftArgument] }} ({{\n commonService.abbreviateNumber(cell.box[heatmapChartConfig.columns[0].dataField]) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>", dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }] });
9590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
9591
+ type: Component,
9592
+ args: [{ selector: 'app-gamma-heatmap', template: "<div class=\"mx-2 bg-gray-800\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.box[heatmapChartConfig.topArgument] + ', Value: ' + cell.box[heatmapChartConfig.columns[0].dataField]\">\n {{ cell.box[heatmapChartConfig.leftArgument] }} ({{\n commonService.abbreviateNumber(cell.box[heatmapChartConfig.columns[0].dataField]) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>" }]
9593
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
9594
+ type: Output
9595
+ }], oRowClick: [{
9596
+ type: Output
9597
+ }], onrightClickContextSelection: [{
9598
+ type: Output
9599
+ }], rightClickEnable: [{
9600
+ type: Input
9601
+ }], chartDataSource: [{
9602
+ type: Input,
9603
+ args: ['chartDataSource']
9604
+ }] } });
9605
+
8745
9606
  class kpicommonService {
8746
9607
  constructor(commonService) {
8747
9608
  this.commonService = commonService;
@@ -9712,7 +10573,7 @@ class CreateDatasetSqlComponent {
9712
10573
  if (newVal === '' || newVal === undefined) {
9713
10574
  }
9714
10575
  else {
9715
- fval = this.sqlFormatter.transform(val);
10576
+ fval = val;
9716
10577
  splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
9717
10578
  this.queryStringData = fval;
9718
10579
  const re = /{([^}]+)}/g;
@@ -10317,6 +11178,7 @@ class PageConfigComponent {
10317
11178
  GammSingleNumberCardComponent,
10318
11179
  GammaAdvanceOperatorTableComponent,
10319
11180
  AdvanceWidgetHeaderFilterComponent,
11181
+ GammaHeatChartComponent,
10320
11182
  GammaGeoChartComponent
10321
11183
  };
10322
11184
  this.dataSourceMataData = [];
@@ -13546,7 +14408,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13546
14408
  OflineMetricsComponent,
13547
14409
  AllMetricsConfigComponent,
13548
14410
  DashTodayPreviousComponent,
13549
- SingleCardComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
14411
+ SingleCardComponent,
14412
+ HeatMapSupportComponent,
14413
+ GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
13550
14414
  DxButtonModule,
13551
14415
  DxCheckBoxModule,
13552
14416
  DxNumberBoxModule,
@@ -13611,7 +14475,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13611
14475
  OnlineMetricsComponent,
13612
14476
  OflineMetricsComponent,
13613
14477
  AllMetricsConfigComponent,
13614
- DashTodayPreviousComponent] });
14478
+ DashTodayPreviousComponent,
14479
+ HeatMapSupportComponent,
14480
+ GammaHeatChartComponent] });
13615
14481
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
13616
14482
  ApplicationContentService,
13617
14483
  ApplicationDatssetsCall
@@ -13702,7 +14568,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13702
14568
  OflineMetricsComponent,
13703
14569
  AllMetricsConfigComponent,
13704
14570
  DashTodayPreviousComponent,
13705
- SingleCardComponent
14571
+ SingleCardComponent,
14572
+ HeatMapSupportComponent,
14573
+ GammaHeatChartComponent
13706
14574
  ],
13707
14575
  imports: [
13708
14576
  CommonModule,
@@ -13775,7 +14643,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13775
14643
  OnlineMetricsComponent,
13776
14644
  OflineMetricsComponent,
13777
14645
  AllMetricsConfigComponent,
13778
- DashTodayPreviousComponent
14646
+ DashTodayPreviousComponent,
14647
+ HeatMapSupportComponent,
14648
+ GammaHeatChartComponent
13779
14649
  ],
13780
14650
  providers: [
13781
14651
  ApplicationContentService,
@@ -13825,5 +14695,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13825
14695
  }]
13826
14696
  }] });
13827
14697
 
13828
- export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
14698
+ export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaHeatChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, HeatMapSupportComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
13829
14699
  //# sourceMappingURL=gamma-app-controller.mjs.map