gamma-app-controller 1.1.14 → 1.1.16

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 +11 -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 +3 -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 +890 -22
  16. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  17. package/fesm2020/gamma-app-controller.mjs +894 -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();
@@ -4648,6 +4647,7 @@ class DashTableComponent {
4648
4647
  return newColumns;
4649
4648
  }
4650
4649
  getSaveChartConfig() {
4650
+ debugger;
4651
4651
  if (this.selectedTableViewType === 'groupTable') {
4652
4652
  this.tableDataConfig.columns = this.getGroupColumns(this.tableDataConfig.columns);
4653
4653
  }
@@ -4907,7 +4907,7 @@ class TableWithBarComponent {
4907
4907
  "isSearchBox": false
4908
4908
  }
4909
4909
  };
4910
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4910
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4911
4911
  this.isLoader = true;
4912
4912
  this.activeTab = 'basic';
4913
4913
  this.createOtherComponentView = new EventEmitter();
@@ -5143,7 +5143,7 @@ class DashTodayPreviousComponent {
5143
5143
  "sortBy": [],
5144
5144
  "columns": []
5145
5145
  };
5146
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5146
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5147
5147
  this.isLoader = true;
5148
5148
  this.activeTab = 'basic';
5149
5149
  this.gettodayPreviousConfigOutPut = new EventEmitter();
@@ -5404,7 +5404,7 @@ class SingleCardComponent {
5404
5404
  "sortBy": [],
5405
5405
  "columns": []
5406
5406
  };
5407
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5407
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5408
5408
  this.isLoader = true;
5409
5409
  this.activeTab = 'basic';
5410
5410
  this.getSingleCardConfigOutPut = new EventEmitter();
@@ -5591,7 +5591,6 @@ class SingleCardComponent {
5591
5591
  return newColumns;
5592
5592
  }
5593
5593
  getSaveConfig() {
5594
- debugger;
5595
5594
  if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5596
5595
  this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
5597
5596
  }
@@ -5639,6 +5638,548 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
5639
5638
  args: ['datasetmodal']
5640
5639
  }] } });
5641
5640
 
5641
+ class HeatMapSupportComponent {
5642
+ constructor(toastrService, commonService, cdr, service) {
5643
+ this.toastrService = toastrService;
5644
+ this.commonService = commonService;
5645
+ this.cdr = cdr;
5646
+ this.service = service;
5647
+ this.isAdvanceFilter = false;
5648
+ this.isHeatMapClick = false;
5649
+ this.heatChartDataSource = {};
5650
+ this.chartDataForTooltip = {};
5651
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5652
+ this.heatmapChartConfig = {
5653
+ "chartFormat": "",
5654
+ "topArgument": "",
5655
+ "leftArgument": "",
5656
+ "color": [],
5657
+ "type": "",
5658
+ "formate": "",
5659
+ "columns": [
5660
+ {
5661
+ "visible": true,
5662
+ "dataField": "",
5663
+ "caption": "",
5664
+ "enrichName": "",
5665
+ }
5666
+ ],
5667
+ "commonConfig": {
5668
+ "title": "",
5669
+ "dataField": "",
5670
+ "checkedKey": "",
5671
+ "isSearchBox": false
5672
+ }
5673
+ };
5674
+ this.heatmap_content_config = {
5675
+ "kpiConfig": {
5676
+ "serviceId": "",
5677
+ "api": "/kpi/trends/network/get-metric-data",
5678
+ "displayType": "table",
5679
+ "formate": "",
5680
+ "keyToPass": [],
5681
+ "componentName": "GammaHeatChartComponent",
5682
+ "dataConfig": {}
5683
+ },
5684
+ };
5685
+ this.dataSourseForHeatMap = [];
5686
+ this.viewProperties = {
5687
+ enableClickEvent: false,
5688
+ enableRightClickEvent: true,
5689
+ clickEventOptions: {
5690
+ associatedViews: [],
5691
+ eventType: ""
5692
+ }
5693
+ };
5694
+ this.optionalDrilDownDataSource = [];
5695
+ this.isLoader = true;
5696
+ this.activeTab = 'basic';
5697
+ this.allConfiguredViews = [];
5698
+ this.colorArray = [];
5699
+ this.firstColor = "rgba(45, 110, 18, 1)";
5700
+ this.secondColor = "rgba(255, 204, 0, 1)";
5701
+ this.singleColor = "rgba(255, 204, 0, 1)";
5702
+ this.test_voice_data = [{
5703
+ record_date: '20250527',
5704
+ dataset: [
5705
+ { other_party_iso: 'YEM', total_charge: 184357176 },
5706
+ { other_party_iso: 'ERI', total_charge: 115262500 },
5707
+ { other_party_iso: 'BGD', total_charge: 83289614 },
5708
+ { other_party_iso: 'ETH', total_charge: 79004500 },
5709
+ { other_party_iso: 'PAK', total_charge: 76992454 },
5710
+ { other_party_iso: 'SDN', total_charge: 60480400 },
5711
+ { other_party_iso: 'IND', total_charge: 38892858 },
5712
+ { other_party_iso: 'EGY', total_charge: 37769744 },
5713
+ { other_party_iso: 'NPL', total_charge: 17214000 },
5714
+ { other_party_iso: 'AFG', total_charge: 7268000 },
5715
+ { other_party_iso: 'TCD', total_charge: 5372500 },
5716
+ { other_party_iso: 'IDN', total_charge: 4425700 },
5717
+ { other_party_iso: 'UGA', total_charge: 3933300 },
5718
+ { other_party_iso: 'GBR', total_charge: 3848225 }
5719
+ ]
5720
+ },
5721
+ {
5722
+ record_date: '20250531',
5723
+ dataset: [
5724
+ { other_party_iso: 'YEM', total_charge: 208699827 },
5725
+ { other_party_iso: 'ERI', total_charge: 143501500 },
5726
+ { other_party_iso: 'BGD', total_charge: 106296294 },
5727
+ { other_party_iso: 'ETH', total_charge: 86093500 },
5728
+ { other_party_iso: 'PAK', total_charge: 77428461 },
5729
+ { other_party_iso: 'SDN', total_charge: 65818598 },
5730
+ { other_party_iso: 'IND', total_charge: 38635175 },
5731
+ { other_party_iso: 'EGY', total_charge: 37658700 },
5732
+ { other_party_iso: 'NPL', total_charge: 18773200 },
5733
+ { other_party_iso: 'AFG', total_charge: 8232500 },
5734
+ { other_party_iso: 'TCD', total_charge: 7007500 },
5735
+ { other_party_iso: 'ARE', total_charge: 4593800 },
5736
+ { other_party_iso: 'IDN', total_charge: 4118800 },
5737
+ { other_party_iso: 'PHL', total_charge: 4051500 }
5738
+ ]
5739
+ },
5740
+ {
5741
+ record_date: '20250528',
5742
+ dataset: [
5743
+ { other_party_iso: 'YEM', total_charge: 198943661 },
5744
+ { other_party_iso: 'ERI', total_charge: 118065000 },
5745
+ { other_party_iso: 'BGD', total_charge: 90980829 },
5746
+ { other_party_iso: 'ETH', total_charge: 80367700 },
5747
+ { other_party_iso: 'PAK', total_charge: 78018973 },
5748
+ { other_party_iso: 'SDN', total_charge: 56826500 },
5749
+ { other_party_iso: 'IND', total_charge: 37871625 },
5750
+ { other_party_iso: 'EGY', total_charge: 33374815 },
5751
+ { other_party_iso: 'NPL', total_charge: 16763400 },
5752
+ { other_party_iso: 'AFG', total_charge: 7926000 },
5753
+ { other_party_iso: 'TCD', total_charge: 5600000 },
5754
+ { other_party_iso: 'IDN', total_charge: 4602400 },
5755
+ { other_party_iso: 'GBR', total_charge: 4443625 },
5756
+ { other_party_iso: 'UGA', total_charge: 4379200 }
5757
+ ]
5758
+ },
5759
+ {
5760
+ record_date: '20250530',
5761
+ dataset: [
5762
+ { other_party_iso: 'YEM', total_charge: 231378852 },
5763
+ { other_party_iso: 'BGD', total_charge: 151786018 },
5764
+ { other_party_iso: 'ERI', total_charge: 146782500 },
5765
+ { other_party_iso: 'PAK', total_charge: 88054445 },
5766
+ { other_party_iso: 'ETH', total_charge: 83635500 },
5767
+ { other_party_iso: 'SDN', total_charge: 62257000 },
5768
+ { other_party_iso: 'IND', total_charge: 44316500 },
5769
+ { other_party_iso: 'EGY', total_charge: 29894392 },
5770
+ { other_party_iso: 'NPL', total_charge: 23383500 },
5771
+ { other_party_iso: 'AFG', total_charge: 8029500 },
5772
+ { other_party_iso: 'TCD', total_charge: 7322500 },
5773
+ { other_party_iso: 'GBR', total_charge: 4338450 },
5774
+ { other_party_iso: 'IDN', total_charge: 3904400 },
5775
+ { other_party_iso: 'ARE', total_charge: 3832100 }
5776
+ ]
5777
+ },
5778
+ {
5779
+ record_date: '20250529',
5780
+ dataset: [
5781
+ { other_party_iso: 'YEM', total_charge: 200906357 },
5782
+ { other_party_iso: 'ERI', total_charge: 126725000 },
5783
+ { other_party_iso: 'BGD', total_charge: 115287722 },
5784
+ { other_party_iso: 'ETH', total_charge: 82062400 },
5785
+ { other_party_iso: 'PAK', total_charge: 77260610 },
5786
+ { other_party_iso: 'SDN', total_charge: 54394810 },
5787
+ { other_party_iso: 'IND', total_charge: 38654000 },
5788
+ { other_party_iso: 'EGY', total_charge: 34503350 },
5789
+ { other_party_iso: 'NPL', total_charge: 17277100 },
5790
+ { other_party_iso: 'AFG', total_charge: 7746500 },
5791
+ { other_party_iso: 'TCD', total_charge: 6100000 },
5792
+ { other_party_iso: 'GBR', total_charge: 4736150 },
5793
+ { other_party_iso: 'IDN', total_charge: 4678900 },
5794
+ { other_party_iso: 'KEN', total_charge: 4453000 }
5795
+ ]
5796
+ },
5797
+ {
5798
+ record_date: '20250601',
5799
+ dataset: [
5800
+ { other_party_iso: 'YEM', total_charge: 214287978 },
5801
+ { other_party_iso: 'ERI', total_charge: 154402500 },
5802
+ { other_party_iso: 'BGD', total_charge: 100204000 },
5803
+ { other_party_iso: 'ETH', total_charge: 97479800 },
5804
+ { other_party_iso: 'PAK', total_charge: 75391463 },
5805
+ { other_party_iso: 'SDN', total_charge: 65622200 },
5806
+ { other_party_iso: 'IND', total_charge: 38124497 },
5807
+ { other_party_iso: 'EGY', total_charge: 35278025 },
5808
+ { other_party_iso: 'NPL', total_charge: 22665000 },
5809
+ { other_party_iso: 'AFG', total_charge: 6920000 },
5810
+ { other_party_iso: 'UGA', total_charge: 5625100 },
5811
+ { other_party_iso: 'IDN', total_charge: 5256900 },
5812
+ { other_party_iso: 'TCD', total_charge: 4970000 },
5813
+ { other_party_iso: 'GBR', total_charge: 4410250 }
5814
+ ]
5815
+ }
5816
+ ];
5817
+ this.getHeatMapConfigOutPut = new EventEmitter();
5818
+ }
5819
+ set chartconfigData(value) {
5820
+ if (value === undefined || value.length === 0) {
5821
+ return;
5822
+ }
5823
+ else {
5824
+ this.jsaonDatasource = value.data[0];
5825
+ this.configColume = Object.keys(value.data[0]);
5826
+ this.dataSourseForHeatMap = value.data;
5827
+ this.selectedViewConfigs = value;
5828
+ this.selectedTableViewType = value.selectedViewType;
5829
+ if (value.selectedWidgetConfig) {
5830
+ this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
5831
+ this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
5832
+ this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
5833
+ if (value.selectedWidgetConfig.viewProperties) {
5834
+ this.viewProperties = value.selectedWidgetConfig.viewProperties;
5835
+ if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
5836
+ if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5837
+ this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
5838
+ this.viewProperties['clickEventOptions'] = {
5839
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5840
+ "associatedViews": []
5841
+ };
5842
+ }
5843
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
5844
+ this.viewProperties['clickEventOptions'] = {
5845
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5846
+ "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
5847
+ };
5848
+ }
5849
+ }
5850
+ else {
5851
+ this.viewProperties['clickEventOptions'] = {};
5852
+ }
5853
+ }
5854
+ this.cdr.detectChanges();
5855
+ }
5856
+ else {
5857
+ this.viewProperties = {
5858
+ enableClickEvent: false,
5859
+ enableRightClickEvent: true,
5860
+ clickEventOptions: {
5861
+ associatedViews: [],
5862
+ eventType: ""
5863
+ }
5864
+ };
5865
+ if (this.heatmapChartConfig.columns) {
5866
+ }
5867
+ else {
5868
+ this.heatmapChartConfig.columns = [];
5869
+ console.log(this.configColume);
5870
+ }
5871
+ this.cdr.detectChanges();
5872
+ }
5873
+ }
5874
+ }
5875
+ ngOnInit() {
5876
+ this.service.getAppViewConfigs().subscribe({
5877
+ next: (data) => {
5878
+ this.allConfiguredViews = data;
5879
+ this.isLoader = false;
5880
+ }, error: (err) => {
5881
+ this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
5882
+ }
5883
+ });
5884
+ if (this.optionalDrilDownDataSource.length == 0) {
5885
+ this.optionalDrilDownDataSource = [
5886
+ {
5887
+ 'viewId': "",
5888
+ 'filterCondition': ""
5889
+ }
5890
+ ];
5891
+ }
5892
+ }
5893
+ getHeatmapData() {
5894
+ this.heatChartDataSource = {};
5895
+ this.isAdvanceFilter = false;
5896
+ if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
5897
+ if (this.heatmapChartConfig.chartFormat == "topx") {
5898
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
5899
+ uniqueDates.sort();
5900
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
5901
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5902
+ }
5903
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
5904
+ const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
5905
+ uniqueDates.sort();
5906
+ this.heatChartDataSource["dataSet"] = result;
5907
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5908
+ }
5909
+ this.isHeatMapLoader = false;
5910
+ this.isHeatMapClick = false;
5911
+ }
5912
+ else {
5913
+ this.isHeatMapClick = false;
5914
+ this.toastrService.info("No Data Found");
5915
+ }
5916
+ }
5917
+ getTransposedHeatmapData(dataSet) {
5918
+ const transposed = [];
5919
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
5920
+ for (let i = 0; i < maxBoxes; i++) {
5921
+ const row = [];
5922
+ for (let j = 0; j < dataSet.length; j++) {
5923
+ const box = dataSet[j].dataset[i];
5924
+ row.push({
5925
+ box: box || null,
5926
+ date: dataSet[j].record_date
5927
+ });
5928
+ }
5929
+ transposed.push(row);
5930
+ }
5931
+ return transposed;
5932
+ }
5933
+ generateDateWiseColorCodedData(data) {
5934
+ const result = [];
5935
+ const uniqueDates = new Set();
5936
+ const allEntries = [];
5937
+ const topArg = this.heatmapChartConfig.topArgument;
5938
+ const leftArg = this.heatmapChartConfig.leftArgument;
5939
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
5940
+ data.forEach(entry => {
5941
+ const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
5942
+ uniqueDates.add(formattedDate);
5943
+ entry.dataset.forEach(item => {
5944
+ allEntries.push({
5945
+ [topArg]: formattedDate,
5946
+ [leftArg]: item[`${leftArg}`],
5947
+ [valueField]: item[`${valueField}`]
5948
+ });
5949
+ });
5950
+ });
5951
+ let coloredData;
5952
+ if (this.heatmapChartConfig.type === 'gradient') {
5953
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
5954
+ }
5955
+ else if (this.heatmapChartConfig.type === 'twoColor') {
5956
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
5957
+ }
5958
+ else {
5959
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
5960
+ }
5961
+ const dateMap = {};
5962
+ coloredData.forEach(item => {
5963
+ const date = item[topArg];
5964
+ if (!dateMap[date]) {
5965
+ dateMap[date] = [];
5966
+ }
5967
+ dateMap[date].push({
5968
+ [leftArg]: item[leftArg],
5969
+ [valueField]: item[valueField],
5970
+ color: item.color,
5971
+ [topArg]: date,
5972
+ });
5973
+ });
5974
+ for (const date of Array.from(uniqueDates).sort()) {
5975
+ result.push({
5976
+ record_date: date,
5977
+ dataset: dateMap[date] || []
5978
+ });
5979
+ }
5980
+ return {
5981
+ result,
5982
+ uniqueDates: Array.from(uniqueDates).sort()
5983
+ };
5984
+ }
5985
+ generateData(data) {
5986
+ const result = [];
5987
+ const uniqueDates = new Set();
5988
+ const dataSourceMap = {};
5989
+ const topArg = this.heatmapChartConfig.topArgument;
5990
+ const leftArg = this.heatmapChartConfig.leftArgument;
5991
+ data.forEach(item => {
5992
+ const rowKey = item[leftArg];
5993
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
5994
+ if (!dataSourceMap[rowKey]) {
5995
+ dataSourceMap[rowKey] = {
5996
+ datasource: rowKey,
5997
+ dataset: []
5998
+ };
5999
+ }
6000
+ dataSourceMap[rowKey].dataset.push({
6001
+ ...item,
6002
+ [topArg]: columnKey
6003
+ });
6004
+ uniqueDates.add(columnKey);
6005
+ });
6006
+ const uniqueDatesArray = Array.from(uniqueDates);
6007
+ for (const key in dataSourceMap) {
6008
+ const dataset = dataSourceMap[key].dataset;
6009
+ let formattedDataset;
6010
+ if (this.heatmapChartConfig.type == "gradient") {
6011
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
6012
+ }
6013
+ else if (this.heatmapChartConfig.type == "twoColor") {
6014
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6015
+ }
6016
+ else {
6017
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6018
+ }
6019
+ const dateToItemMap = {};
6020
+ formattedDataset.forEach(item => {
6021
+ dateToItemMap[item[topArg]] = item;
6022
+ });
6023
+ const completeDataset = uniqueDatesArray.map((date) => {
6024
+ if (dateToItemMap[date]) {
6025
+ return dateToItemMap[date];
6026
+ }
6027
+ else {
6028
+ return {
6029
+ [topArg]: date,
6030
+ avgSize: "No Data",
6031
+ fileCount: 0,
6032
+ fileSize: 0,
6033
+ color: "rgb(242, 118, 109)"
6034
+ };
6035
+ }
6036
+ });
6037
+ result.push({
6038
+ datasource: key,
6039
+ dataset: completeDataset
6040
+ });
6041
+ }
6042
+ return {
6043
+ result: result,
6044
+ uniqueDates: uniqueDatesArray
6045
+ };
6046
+ }
6047
+ getFormateDataByColorCodeForGradient(filedata, column) {
6048
+ filedata.forEach(item => {
6049
+ item.avgSize = parseFloat(item[column]);
6050
+ });
6051
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
6052
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
6053
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6054
+ const minColor = this.parseRGBA(minColorStr);
6055
+ const maxColor = this.parseRGBA(maxColorStr);
6056
+ filedata.forEach(item => {
6057
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
6058
+ });
6059
+ return filedata;
6060
+ }
6061
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
6062
+ filedata.forEach(item => {
6063
+ item[column] = parseFloat(item[column]);
6064
+ });
6065
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6066
+ const minColor = this.parseRGBA(minColorStr);
6067
+ const maxColor = this.parseRGBA(maxColorStr);
6068
+ filedata.forEach(item => {
6069
+ if (item[column] == 0) {
6070
+ item.color = `rgb(${minColor.join(',')})`;
6071
+ }
6072
+ else {
6073
+ item.color = `rgb(${maxColor.join(',')})`;
6074
+ }
6075
+ });
6076
+ return filedata;
6077
+ }
6078
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
6079
+ filedata.forEach(item => {
6080
+ item[column] = parseFloat(item[column]);
6081
+ });
6082
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
6083
+ const minColor = this.parseRGBA(singleColor);
6084
+ filedata.forEach(item => {
6085
+ item.color = `rgb(${minColor.join(',')})`;
6086
+ });
6087
+ return filedata;
6088
+ }
6089
+ parseRGBA(colorStr) {
6090
+ const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
6091
+ if (values.length === 3)
6092
+ values.push(1);
6093
+ return [
6094
+ values[0] ?? 0,
6095
+ values[1] ?? 0,
6096
+ values[2] ?? 0,
6097
+ values[3] ?? 1
6098
+ ];
6099
+ }
6100
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
6101
+ if (minAvgSize != maxAvgSize) {
6102
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
6103
+ let color = minColor.map((channel, index) => {
6104
+ return Math.round(channel + gradient * (maxColor[index] - channel));
6105
+ });
6106
+ return `rgb(${color.join(',')})`;
6107
+ }
6108
+ else {
6109
+ return `rgb(${minColor.join(',')})`;
6110
+ }
6111
+ }
6112
+ setActiveTab(tab) {
6113
+ this.activeTab = tab;
6114
+ }
6115
+ getSelectedEventType(e) {
6116
+ if (e.event) {
6117
+ this.optionalDrilDownDataSource = [];
6118
+ if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
6119
+ this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
6120
+ }
6121
+ }
6122
+ }
6123
+ resetViewProprstise() {
6124
+ this.viewProperties = {
6125
+ enableClickEvent: false,
6126
+ enableRightClickEvent: true,
6127
+ clickEventOptions: {
6128
+ associatedViews: [],
6129
+ eventType: ""
6130
+ }
6131
+ };
6132
+ }
6133
+ deleteAssociatedParams(index) {
6134
+ this.optionalDrilDownDataSource.splice(index, 1);
6135
+ }
6136
+ addAssociatedParams() {
6137
+ this.optionalDrilDownDataSource.push({
6138
+ 'viewId': "",
6139
+ 'filterCondition': ""
6140
+ });
6141
+ }
6142
+ getColorBoxVisible(e) {
6143
+ this.colorArray = [];
6144
+ }
6145
+ saveColors() {
6146
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6147
+ this.colorArray = [this.firstColor, this.secondColor];
6148
+ }
6149
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6150
+ this.colorArray = [this.singleColor];
6151
+ }
6152
+ this.getHeatmapData();
6153
+ }
6154
+ getSaveChartConfig() {
6155
+ if (this.colorArray && this.colorArray.length !== 0) {
6156
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6157
+ this.heatmapChartConfig.color = this.colorArray;
6158
+ }
6159
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6160
+ this.heatmapChartConfig.color = this.colorArray;
6161
+ }
6162
+ }
6163
+ if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
6164
+ this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
6165
+ }
6166
+ this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
6167
+ this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
6168
+ this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
6169
+ }
6170
+ }
6171
+ 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 });
6172
+ 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" }] });
6173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
6174
+ type: Component,
6175
+ 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>" }]
6176
+ }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
6177
+ type: Output
6178
+ }], chartconfigData: [{
6179
+ type: Input,
6180
+ args: ['datasetmodal']
6181
+ }] } });
6182
+
5642
6183
  class CreateCompViewComponent {
5643
6184
  constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
5644
6185
  this.toastr = toastr;
@@ -5874,13 +6415,9 @@ class CreateCompViewComponent {
5874
6415
  }
5875
6416
  getDatasetForSimpleApiImpala(dataset) {
5876
6417
  this.dataSourceModal = {};
5877
- let filters = {
5878
- startDate: this.defaultStartDate,
5879
- endDate: this.defaultEndDate
5880
- };
5881
6418
  dataset.config.queryConfig.mapedFilters.forEach(filter => {
5882
- if (filters.hasOwnProperty(filter.localColumn)) {
5883
- filter.defaultValue = filters[filter.localColumn];
6419
+ if (filter.hasOwnProperty(filter.localColumn)) {
6420
+ filter.defaultValue = filter[filter.localColumn];
5884
6421
  }
5885
6422
  });
5886
6423
  if (dataset.config.apiType === "post") {
@@ -6048,6 +6585,11 @@ class CreateCompViewComponent {
6048
6585
  this.router.navigate(['/apps/controlPanel/applicationViews/']);
6049
6586
  }
6050
6587
  getEmitNewTableConfig(data) {
6588
+ debugger;
6589
+ data['datasetId'] = this.selectedDataSet['datasetId'];
6590
+ this.createViewConfig(data);
6591
+ }
6592
+ getEmitNewHeatMapConfig(data) {
6051
6593
  data['datasetId'] = this.selectedDataSet['datasetId'];
6052
6594
  this.createViewConfig(data);
6053
6595
  }
@@ -6189,10 +6731,10 @@ class CreateCompViewComponent {
6189
6731
  }
6190
6732
  }
6191
6733
  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"] }] });
6734
+ 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 (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"] }, { kind: "component", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: ["datasetmodal"], outputs: ["getHeatMapConfigOutPut"] }] });
6193
6735
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
6194
6736
  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" }]
6737
+ 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 (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" }]
6196
6738
  }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
6197
6739
  type: Inject,
6198
6740
  args: [APP_ENVIRONMENT]
@@ -7661,7 +8203,6 @@ class GammaAdvanceOperatorTableComponent {
7661
8203
  const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
7662
8204
  if (foundMatchObject) {
7663
8205
  if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
7664
- console.log(foundMatchObject.enrichName);
7665
8206
  newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
7666
8207
  }
7667
8208
  }
@@ -8742,6 +9283,328 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
8742
9283
  args: ["chartDataSource"]
8743
9284
  }] } });
8744
9285
 
9286
+ class GammaHeatChartComponent {
9287
+ constructor(commonService) {
9288
+ this.commonService = commonService;
9289
+ this.dataSourseForTable = [];
9290
+ this.isLoader = true;
9291
+ this.tableDataConfig = {};
9292
+ this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
9293
+ this.activeTab = 'basic';
9294
+ this.isAdvanceFilter = false;
9295
+ this.isHeatMapClick = false;
9296
+ this.heatChartDataSource = {};
9297
+ this.chartDataForTooltip = {};
9298
+ this.dataSourseForHeatMap = [];
9299
+ this.viewProperties = {
9300
+ enableClickEvent: false,
9301
+ enableRightClickEvent: true,
9302
+ clickEventOptions: {
9303
+ associatedViews: [],
9304
+ eventType: ""
9305
+ }
9306
+ };
9307
+ this.optionalDrilDownDataSource = [];
9308
+ this.allConfiguredViews = [];
9309
+ this.colorArray = [];
9310
+ this.firstColor = "rgba(45, 110, 18, 1)";
9311
+ this.secondColor = "rgba(255, 204, 0, 1)";
9312
+ this.singleColor = "rgba(255, 204, 0, 1)";
9313
+ this.heatmapChartConfig = {};
9314
+ this.getTableConfigOutPut = new EventEmitter();
9315
+ this.oRowClick = new EventEmitter();
9316
+ this.onrightClickContextSelection = new EventEmitter();
9317
+ this.rightClickEnable = true;
9318
+ }
9319
+ set chartDataSource(value) {
9320
+ if (value === undefined || value.length === 0) {
9321
+ return;
9322
+ }
9323
+ else {
9324
+ this.isLoader = true;
9325
+ this.page_config = value;
9326
+ this.page_parms = value.titleParams;
9327
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
9328
+ this.heatmapChartConfig = value.kpiConfig.dataConfig;
9329
+ this.colorArray = value.kpiConfig.dataConfig.color;
9330
+ this.getHeatmapData(value.kpiConfig.dataSource);
9331
+ setTimeout(() => {
9332
+ this.isLoader = false;
9333
+ }, 200);
9334
+ }
9335
+ else {
9336
+ setTimeout(() => {
9337
+ this.dataSourseForTable = [];
9338
+ this.tableDataConfig['columns'] = [];
9339
+ this.isLoader = false;
9340
+ }, 200);
9341
+ }
9342
+ }
9343
+ }
9344
+ ngOnInit() {
9345
+ }
9346
+ getHeatmapData(heatMapData) {
9347
+ this.heatChartDataSource = {};
9348
+ this.isAdvanceFilter = false;
9349
+ if (heatMapData && heatMapData.length !== 0) {
9350
+ if (this.heatmapChartConfig.chartFormat == "topx") {
9351
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
9352
+ uniqueDates.sort();
9353
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
9354
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9355
+ }
9356
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
9357
+ const { result, uniqueDates } = this.generateData(heatMapData);
9358
+ uniqueDates.sort();
9359
+ this.heatChartDataSource["dataSet"] = result;
9360
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9361
+ }
9362
+ this.isHeatMapClick = false;
9363
+ }
9364
+ else {
9365
+ this.isHeatMapClick = false;
9366
+ }
9367
+ }
9368
+ getTransposedHeatmapData(dataSet) {
9369
+ const transposed = [];
9370
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
9371
+ for (let i = 0; i < maxBoxes; i++) {
9372
+ const row = [];
9373
+ for (let j = 0; j < dataSet.length; j++) {
9374
+ const box = dataSet[j].dataset[i];
9375
+ row.push({
9376
+ box: box || null,
9377
+ date: dataSet[j].record_date
9378
+ });
9379
+ }
9380
+ transposed.push(row);
9381
+ }
9382
+ return transposed;
9383
+ }
9384
+ generateDateWiseColorCodedData(data) {
9385
+ const result = [];
9386
+ const uniqueDates = new Set();
9387
+ const allEntries = [];
9388
+ const topArg = this.heatmapChartConfig.topArgument;
9389
+ const leftArg = this.heatmapChartConfig.leftArgument;
9390
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
9391
+ data.forEach(entry => {
9392
+ const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
9393
+ uniqueDates.add(formattedDate);
9394
+ entry.resultDataset.forEach(item => {
9395
+ allEntries.push({
9396
+ [topArg]: formattedDate,
9397
+ [leftArg]: item[`${leftArg}`],
9398
+ [valueField]: item[`${valueField}`]
9399
+ });
9400
+ });
9401
+ });
9402
+ let coloredData;
9403
+ if (this.heatmapChartConfig.type === 'gradient') {
9404
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
9405
+ }
9406
+ else if (this.heatmapChartConfig.type === 'twoColor') {
9407
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
9408
+ }
9409
+ else {
9410
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
9411
+ }
9412
+ const dateMap = {};
9413
+ coloredData.forEach(item => {
9414
+ const date = item[topArg];
9415
+ if (!dateMap[date]) {
9416
+ dateMap[date] = [];
9417
+ }
9418
+ dateMap[date].push({
9419
+ [leftArg]: item[leftArg],
9420
+ [valueField]: item[valueField],
9421
+ color: item.color,
9422
+ [topArg]: date,
9423
+ });
9424
+ });
9425
+ for (const date of Array.from(uniqueDates).sort()) {
9426
+ result.push({
9427
+ record_date: date,
9428
+ dataset: dateMap[date] || []
9429
+ });
9430
+ }
9431
+ return {
9432
+ result,
9433
+ uniqueDates: Array.from(uniqueDates).sort()
9434
+ };
9435
+ }
9436
+ generateData(data) {
9437
+ const result = [];
9438
+ const uniqueDates = new Set();
9439
+ const dataSourceMap = {};
9440
+ const topArg = this.heatmapChartConfig.topArgument;
9441
+ const leftArg = this.heatmapChartConfig.leftArgument;
9442
+ data.forEach(item => {
9443
+ const rowKey = item[leftArg];
9444
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
9445
+ if (!dataSourceMap[rowKey]) {
9446
+ dataSourceMap[rowKey] = {
9447
+ datasource: rowKey,
9448
+ dataset: []
9449
+ };
9450
+ }
9451
+ dataSourceMap[rowKey].dataset.push({
9452
+ ...item,
9453
+ [topArg]: columnKey
9454
+ });
9455
+ uniqueDates.add(columnKey);
9456
+ });
9457
+ const uniqueDatesArray = Array.from(uniqueDates);
9458
+ for (const key in dataSourceMap) {
9459
+ const dataset = dataSourceMap[key].dataset;
9460
+ let formattedDataset;
9461
+ if (this.heatmapChartConfig.type == "gradient") {
9462
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
9463
+ }
9464
+ else if (this.heatmapChartConfig.type == "twoColor") {
9465
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9466
+ }
9467
+ else {
9468
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9469
+ }
9470
+ const dateToItemMap = {};
9471
+ formattedDataset.forEach(item => {
9472
+ dateToItemMap[item[topArg]] = item;
9473
+ });
9474
+ const completeDataset = uniqueDatesArray.map((date) => {
9475
+ if (dateToItemMap[date]) {
9476
+ return dateToItemMap[date];
9477
+ }
9478
+ else {
9479
+ return {
9480
+ [topArg]: date,
9481
+ avgSize: "No Data",
9482
+ fileCount: 0,
9483
+ fileSize: 0,
9484
+ color: "rgb(242, 118, 109)"
9485
+ };
9486
+ }
9487
+ });
9488
+ result.push({
9489
+ datasource: key,
9490
+ dataset: completeDataset
9491
+ });
9492
+ }
9493
+ return {
9494
+ result: result,
9495
+ uniqueDates: uniqueDatesArray
9496
+ };
9497
+ }
9498
+ getFormateDataByColorCodeForGradient(filedata, column) {
9499
+ filedata.forEach(item => {
9500
+ item.avgSize = parseFloat(item[column]);
9501
+ });
9502
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
9503
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
9504
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9505
+ const minColor = this.parseRGBA(minColorStr);
9506
+ const maxColor = this.parseRGBA(maxColorStr);
9507
+ filedata.forEach(item => {
9508
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
9509
+ });
9510
+ return filedata;
9511
+ }
9512
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
9513
+ filedata.forEach(item => {
9514
+ item[column] = parseFloat(item[column]);
9515
+ });
9516
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9517
+ const minColor = this.parseRGBA(minColorStr);
9518
+ const maxColor = this.parseRGBA(maxColorStr);
9519
+ filedata.forEach(item => {
9520
+ if (item[column] == 0) {
9521
+ item.color = `rgb(${minColor.join(',')})`;
9522
+ }
9523
+ else {
9524
+ item.color = `rgb(${maxColor.join(',')})`;
9525
+ }
9526
+ });
9527
+ return filedata;
9528
+ }
9529
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
9530
+ filedata.forEach(item => {
9531
+ item[column] = parseFloat(item[column]);
9532
+ });
9533
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
9534
+ const minColor = this.parseRGBA(singleColor);
9535
+ filedata.forEach(item => {
9536
+ item.color = `rgb(${minColor.join(',')})`;
9537
+ });
9538
+ return filedata;
9539
+ }
9540
+ parseRGBA(colorStr) {
9541
+ const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
9542
+ if (values.length === 3)
9543
+ values.push(1);
9544
+ return [
9545
+ values[0] ?? 0,
9546
+ values[1] ?? 0,
9547
+ values[2] ?? 0,
9548
+ values[3] ?? 1
9549
+ ];
9550
+ }
9551
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
9552
+ if (minAvgSize != maxAvgSize) {
9553
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
9554
+ let color = minColor.map((channel, index) => {
9555
+ return Math.round(channel + gradient * (maxColor[index] - channel));
9556
+ });
9557
+ return `rgb(${color.join(',')})`;
9558
+ }
9559
+ else {
9560
+ return `rgb(${minColor.join(',')})`;
9561
+ }
9562
+ }
9563
+ transformColumns(mainobj) {
9564
+ return Object.keys(mainobj).map(key => {
9565
+ return {
9566
+ visible: true,
9567
+ dataField: key,
9568
+ caption: key
9569
+ };
9570
+ });
9571
+ }
9572
+ getObjectKeys(obj) {
9573
+ return Object.keys(obj);
9574
+ }
9575
+ callServiceFunction(functionName, value) {
9576
+ if (value !== undefined) {
9577
+ if (typeof this.commonService[functionName] === "function") {
9578
+ return this.commonService[functionName](value);
9579
+ }
9580
+ else {
9581
+ console.error(`Function ${functionName} not found in CommonService`);
9582
+ return null;
9583
+ }
9584
+ }
9585
+ else {
9586
+ return "No Data";
9587
+ }
9588
+ }
9589
+ }
9590
+ GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
9591
+ 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" }] });
9592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
9593
+ type: Component,
9594
+ 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>" }]
9595
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
9596
+ type: Output
9597
+ }], oRowClick: [{
9598
+ type: Output
9599
+ }], onrightClickContextSelection: [{
9600
+ type: Output
9601
+ }], rightClickEnable: [{
9602
+ type: Input
9603
+ }], chartDataSource: [{
9604
+ type: Input,
9605
+ args: ['chartDataSource']
9606
+ }] } });
9607
+
8745
9608
  class kpicommonService {
8746
9609
  constructor(commonService) {
8747
9610
  this.commonService = commonService;
@@ -9712,7 +10575,7 @@ class CreateDatasetSqlComponent {
9712
10575
  if (newVal === '' || newVal === undefined) {
9713
10576
  }
9714
10577
  else {
9715
- fval = this.sqlFormatter.transform(val);
10578
+ fval = val;
9716
10579
  splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
9717
10580
  this.queryStringData = fval;
9718
10581
  const re = /{([^}]+)}/g;
@@ -10317,6 +11180,7 @@ class PageConfigComponent {
10317
11180
  GammSingleNumberCardComponent,
10318
11181
  GammaAdvanceOperatorTableComponent,
10319
11182
  AdvanceWidgetHeaderFilterComponent,
11183
+ GammaHeatChartComponent,
10320
11184
  GammaGeoChartComponent
10321
11185
  };
10322
11186
  this.dataSourceMataData = [];
@@ -13546,7 +14410,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13546
14410
  OflineMetricsComponent,
13547
14411
  AllMetricsConfigComponent,
13548
14412
  DashTodayPreviousComponent,
13549
- SingleCardComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
14413
+ SingleCardComponent,
14414
+ HeatMapSupportComponent,
14415
+ GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
13550
14416
  DxButtonModule,
13551
14417
  DxCheckBoxModule,
13552
14418
  DxNumberBoxModule,
@@ -13611,7 +14477,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13611
14477
  OnlineMetricsComponent,
13612
14478
  OflineMetricsComponent,
13613
14479
  AllMetricsConfigComponent,
13614
- DashTodayPreviousComponent] });
14480
+ DashTodayPreviousComponent,
14481
+ HeatMapSupportComponent,
14482
+ GammaHeatChartComponent] });
13615
14483
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
13616
14484
  ApplicationContentService,
13617
14485
  ApplicationDatssetsCall
@@ -13702,7 +14570,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13702
14570
  OflineMetricsComponent,
13703
14571
  AllMetricsConfigComponent,
13704
14572
  DashTodayPreviousComponent,
13705
- SingleCardComponent
14573
+ SingleCardComponent,
14574
+ HeatMapSupportComponent,
14575
+ GammaHeatChartComponent
13706
14576
  ],
13707
14577
  imports: [
13708
14578
  CommonModule,
@@ -13775,7 +14645,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13775
14645
  OnlineMetricsComponent,
13776
14646
  OflineMetricsComponent,
13777
14647
  AllMetricsConfigComponent,
13778
- DashTodayPreviousComponent
14648
+ DashTodayPreviousComponent,
14649
+ HeatMapSupportComponent,
14650
+ GammaHeatChartComponent
13779
14651
  ],
13780
14652
  providers: [
13781
14653
  ApplicationContentService,
@@ -13825,5 +14697,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13825
14697
  }]
13826
14698
  }] });
13827
14699
 
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 };
14700
+ 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
14701
  //# sourceMappingURL=gamma-app-controller.mjs.map