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
@@ -2098,7 +2098,6 @@ class ApplicationFilterComponent {
2098
2098
  };
2099
2099
  }
2100
2100
  editFilter(data) {
2101
- debugger;
2102
2101
  this.creatFilterObject = data;
2103
2102
  this.isNewFilterCreate = true;
2104
2103
  }
@@ -3908,7 +3907,7 @@ class GeoMapComponent {
3908
3907
  "backgroundColor": "#6c98e0",
3909
3908
  "colors": ['#003566', '#fd0000']
3910
3909
  };
3911
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator"];
3910
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "formatBytesv2"];
3912
3911
  this.isLoader = true;
3913
3912
  this.activeTab = 'basic';
3914
3913
  this.createOtherComponentView = new EventEmitter();
@@ -4488,7 +4487,7 @@ class DashTableComponent {
4488
4487
  "isSearchBox": false
4489
4488
  }
4490
4489
  };
4491
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4490
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4492
4491
  this.isLoader = true;
4493
4492
  this.activeTab = 'basic';
4494
4493
  this.getTableConfigOutPut = new EventEmitter();
@@ -4657,6 +4656,7 @@ class DashTableComponent {
4657
4656
  return newColumns;
4658
4657
  }
4659
4658
  getSaveChartConfig() {
4659
+ debugger;
4660
4660
  if (this.selectedTableViewType === 'groupTable') {
4661
4661
  this.tableDataConfig.columns = this.getGroupColumns(this.tableDataConfig.columns);
4662
4662
  }
@@ -4916,7 +4916,7 @@ class TableWithBarComponent {
4916
4916
  "isSearchBox": false
4917
4917
  }
4918
4918
  };
4919
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4919
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4920
4920
  this.isLoader = true;
4921
4921
  this.activeTab = 'basic';
4922
4922
  this.createOtherComponentView = new EventEmitter();
@@ -5152,7 +5152,7 @@ class DashTodayPreviousComponent {
5152
5152
  "sortBy": [],
5153
5153
  "columns": []
5154
5154
  };
5155
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5155
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5156
5156
  this.isLoader = true;
5157
5157
  this.activeTab = 'basic';
5158
5158
  this.gettodayPreviousConfigOutPut = new EventEmitter();
@@ -5413,7 +5413,7 @@ class SingleCardComponent {
5413
5413
  "sortBy": [],
5414
5414
  "columns": []
5415
5415
  };
5416
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5416
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5417
5417
  this.isLoader = true;
5418
5418
  this.activeTab = 'basic';
5419
5419
  this.getSingleCardConfigOutPut = new EventEmitter();
@@ -5600,7 +5600,6 @@ class SingleCardComponent {
5600
5600
  return newColumns;
5601
5601
  }
5602
5602
  getSaveConfig() {
5603
- debugger;
5604
5603
  if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5605
5604
  this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
5606
5605
  }
@@ -5648,6 +5647,546 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
5648
5647
  args: ['datasetmodal']
5649
5648
  }] } });
5650
5649
 
5650
+ class HeatMapSupportComponent {
5651
+ constructor(toastrService, commonService, cdr, service) {
5652
+ this.toastrService = toastrService;
5653
+ this.commonService = commonService;
5654
+ this.cdr = cdr;
5655
+ this.service = service;
5656
+ this.isAdvanceFilter = false;
5657
+ this.isHeatMapClick = false;
5658
+ this.heatChartDataSource = {};
5659
+ this.chartDataForTooltip = {};
5660
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5661
+ this.heatmapChartConfig = {
5662
+ "chartFormat": "",
5663
+ "topArgument": "",
5664
+ "leftArgument": "",
5665
+ "color": [],
5666
+ "type": "",
5667
+ "formate": "",
5668
+ "columns": [
5669
+ {
5670
+ "visible": true,
5671
+ "dataField": "",
5672
+ "caption": "",
5673
+ "enrichName": "",
5674
+ }
5675
+ ],
5676
+ "commonConfig": {
5677
+ "title": "",
5678
+ "dataField": "",
5679
+ "checkedKey": "",
5680
+ "isSearchBox": false
5681
+ }
5682
+ };
5683
+ this.heatmap_content_config = {
5684
+ "kpiConfig": {
5685
+ "serviceId": "",
5686
+ "api": "/kpi/trends/network/get-metric-data",
5687
+ "displayType": "table",
5688
+ "formate": "",
5689
+ "keyToPass": [],
5690
+ "componentName": "GammaHeatChartComponent",
5691
+ "dataConfig": {}
5692
+ },
5693
+ };
5694
+ this.dataSourseForHeatMap = [];
5695
+ this.viewProperties = {
5696
+ enableClickEvent: false,
5697
+ enableRightClickEvent: true,
5698
+ clickEventOptions: {
5699
+ associatedViews: [],
5700
+ eventType: ""
5701
+ }
5702
+ };
5703
+ this.optionalDrilDownDataSource = [];
5704
+ this.isLoader = true;
5705
+ this.activeTab = 'basic';
5706
+ this.allConfiguredViews = [];
5707
+ this.colorArray = [];
5708
+ this.firstColor = "rgba(45, 110, 18, 1)";
5709
+ this.secondColor = "rgba(255, 204, 0, 1)";
5710
+ this.singleColor = "rgba(255, 204, 0, 1)";
5711
+ this.test_voice_data = [{
5712
+ record_date: '20250527',
5713
+ dataset: [
5714
+ { other_party_iso: 'YEM', total_charge: 184357176 },
5715
+ { other_party_iso: 'ERI', total_charge: 115262500 },
5716
+ { other_party_iso: 'BGD', total_charge: 83289614 },
5717
+ { other_party_iso: 'ETH', total_charge: 79004500 },
5718
+ { other_party_iso: 'PAK', total_charge: 76992454 },
5719
+ { other_party_iso: 'SDN', total_charge: 60480400 },
5720
+ { other_party_iso: 'IND', total_charge: 38892858 },
5721
+ { other_party_iso: 'EGY', total_charge: 37769744 },
5722
+ { other_party_iso: 'NPL', total_charge: 17214000 },
5723
+ { other_party_iso: 'AFG', total_charge: 7268000 },
5724
+ { other_party_iso: 'TCD', total_charge: 5372500 },
5725
+ { other_party_iso: 'IDN', total_charge: 4425700 },
5726
+ { other_party_iso: 'UGA', total_charge: 3933300 },
5727
+ { other_party_iso: 'GBR', total_charge: 3848225 }
5728
+ ]
5729
+ },
5730
+ {
5731
+ record_date: '20250531',
5732
+ dataset: [
5733
+ { other_party_iso: 'YEM', total_charge: 208699827 },
5734
+ { other_party_iso: 'ERI', total_charge: 143501500 },
5735
+ { other_party_iso: 'BGD', total_charge: 106296294 },
5736
+ { other_party_iso: 'ETH', total_charge: 86093500 },
5737
+ { other_party_iso: 'PAK', total_charge: 77428461 },
5738
+ { other_party_iso: 'SDN', total_charge: 65818598 },
5739
+ { other_party_iso: 'IND', total_charge: 38635175 },
5740
+ { other_party_iso: 'EGY', total_charge: 37658700 },
5741
+ { other_party_iso: 'NPL', total_charge: 18773200 },
5742
+ { other_party_iso: 'AFG', total_charge: 8232500 },
5743
+ { other_party_iso: 'TCD', total_charge: 7007500 },
5744
+ { other_party_iso: 'ARE', total_charge: 4593800 },
5745
+ { other_party_iso: 'IDN', total_charge: 4118800 },
5746
+ { other_party_iso: 'PHL', total_charge: 4051500 }
5747
+ ]
5748
+ },
5749
+ {
5750
+ record_date: '20250528',
5751
+ dataset: [
5752
+ { other_party_iso: 'YEM', total_charge: 198943661 },
5753
+ { other_party_iso: 'ERI', total_charge: 118065000 },
5754
+ { other_party_iso: 'BGD', total_charge: 90980829 },
5755
+ { other_party_iso: 'ETH', total_charge: 80367700 },
5756
+ { other_party_iso: 'PAK', total_charge: 78018973 },
5757
+ { other_party_iso: 'SDN', total_charge: 56826500 },
5758
+ { other_party_iso: 'IND', total_charge: 37871625 },
5759
+ { other_party_iso: 'EGY', total_charge: 33374815 },
5760
+ { other_party_iso: 'NPL', total_charge: 16763400 },
5761
+ { other_party_iso: 'AFG', total_charge: 7926000 },
5762
+ { other_party_iso: 'TCD', total_charge: 5600000 },
5763
+ { other_party_iso: 'IDN', total_charge: 4602400 },
5764
+ { other_party_iso: 'GBR', total_charge: 4443625 },
5765
+ { other_party_iso: 'UGA', total_charge: 4379200 }
5766
+ ]
5767
+ },
5768
+ {
5769
+ record_date: '20250530',
5770
+ dataset: [
5771
+ { other_party_iso: 'YEM', total_charge: 231378852 },
5772
+ { other_party_iso: 'BGD', total_charge: 151786018 },
5773
+ { other_party_iso: 'ERI', total_charge: 146782500 },
5774
+ { other_party_iso: 'PAK', total_charge: 88054445 },
5775
+ { other_party_iso: 'ETH', total_charge: 83635500 },
5776
+ { other_party_iso: 'SDN', total_charge: 62257000 },
5777
+ { other_party_iso: 'IND', total_charge: 44316500 },
5778
+ { other_party_iso: 'EGY', total_charge: 29894392 },
5779
+ { other_party_iso: 'NPL', total_charge: 23383500 },
5780
+ { other_party_iso: 'AFG', total_charge: 8029500 },
5781
+ { other_party_iso: 'TCD', total_charge: 7322500 },
5782
+ { other_party_iso: 'GBR', total_charge: 4338450 },
5783
+ { other_party_iso: 'IDN', total_charge: 3904400 },
5784
+ { other_party_iso: 'ARE', total_charge: 3832100 }
5785
+ ]
5786
+ },
5787
+ {
5788
+ record_date: '20250529',
5789
+ dataset: [
5790
+ { other_party_iso: 'YEM', total_charge: 200906357 },
5791
+ { other_party_iso: 'ERI', total_charge: 126725000 },
5792
+ { other_party_iso: 'BGD', total_charge: 115287722 },
5793
+ { other_party_iso: 'ETH', total_charge: 82062400 },
5794
+ { other_party_iso: 'PAK', total_charge: 77260610 },
5795
+ { other_party_iso: 'SDN', total_charge: 54394810 },
5796
+ { other_party_iso: 'IND', total_charge: 38654000 },
5797
+ { other_party_iso: 'EGY', total_charge: 34503350 },
5798
+ { other_party_iso: 'NPL', total_charge: 17277100 },
5799
+ { other_party_iso: 'AFG', total_charge: 7746500 },
5800
+ { other_party_iso: 'TCD', total_charge: 6100000 },
5801
+ { other_party_iso: 'GBR', total_charge: 4736150 },
5802
+ { other_party_iso: 'IDN', total_charge: 4678900 },
5803
+ { other_party_iso: 'KEN', total_charge: 4453000 }
5804
+ ]
5805
+ },
5806
+ {
5807
+ record_date: '20250601',
5808
+ dataset: [
5809
+ { other_party_iso: 'YEM', total_charge: 214287978 },
5810
+ { other_party_iso: 'ERI', total_charge: 154402500 },
5811
+ { other_party_iso: 'BGD', total_charge: 100204000 },
5812
+ { other_party_iso: 'ETH', total_charge: 97479800 },
5813
+ { other_party_iso: 'PAK', total_charge: 75391463 },
5814
+ { other_party_iso: 'SDN', total_charge: 65622200 },
5815
+ { other_party_iso: 'IND', total_charge: 38124497 },
5816
+ { other_party_iso: 'EGY', total_charge: 35278025 },
5817
+ { other_party_iso: 'NPL', total_charge: 22665000 },
5818
+ { other_party_iso: 'AFG', total_charge: 6920000 },
5819
+ { other_party_iso: 'UGA', total_charge: 5625100 },
5820
+ { other_party_iso: 'IDN', total_charge: 5256900 },
5821
+ { other_party_iso: 'TCD', total_charge: 4970000 },
5822
+ { other_party_iso: 'GBR', total_charge: 4410250 }
5823
+ ]
5824
+ }
5825
+ ];
5826
+ this.getHeatMapConfigOutPut = new EventEmitter();
5827
+ }
5828
+ set chartconfigData(value) {
5829
+ if (value === undefined || value.length === 0) {
5830
+ return;
5831
+ }
5832
+ else {
5833
+ this.jsaonDatasource = value.data[0];
5834
+ this.configColume = Object.keys(value.data[0]);
5835
+ this.dataSourseForHeatMap = value.data;
5836
+ this.selectedViewConfigs = value;
5837
+ this.selectedTableViewType = value.selectedViewType;
5838
+ if (value.selectedWidgetConfig) {
5839
+ this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
5840
+ this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
5841
+ this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
5842
+ if (value.selectedWidgetConfig.viewProperties) {
5843
+ this.viewProperties = value.selectedWidgetConfig.viewProperties;
5844
+ if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
5845
+ if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5846
+ this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
5847
+ this.viewProperties['clickEventOptions'] = {
5848
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5849
+ "associatedViews": []
5850
+ };
5851
+ }
5852
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
5853
+ this.viewProperties['clickEventOptions'] = {
5854
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5855
+ "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
5856
+ };
5857
+ }
5858
+ }
5859
+ else {
5860
+ this.viewProperties['clickEventOptions'] = {};
5861
+ }
5862
+ }
5863
+ this.cdr.detectChanges();
5864
+ }
5865
+ else {
5866
+ this.viewProperties = {
5867
+ enableClickEvent: false,
5868
+ enableRightClickEvent: true,
5869
+ clickEventOptions: {
5870
+ associatedViews: [],
5871
+ eventType: ""
5872
+ }
5873
+ };
5874
+ if (this.heatmapChartConfig.columns) {
5875
+ }
5876
+ else {
5877
+ this.heatmapChartConfig.columns = [];
5878
+ console.log(this.configColume);
5879
+ }
5880
+ this.cdr.detectChanges();
5881
+ }
5882
+ }
5883
+ }
5884
+ ngOnInit() {
5885
+ this.service.getAppViewConfigs().subscribe({
5886
+ next: (data) => {
5887
+ this.allConfiguredViews = data;
5888
+ this.isLoader = false;
5889
+ }, error: (err) => {
5890
+ this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
5891
+ }
5892
+ });
5893
+ if (this.optionalDrilDownDataSource.length == 0) {
5894
+ this.optionalDrilDownDataSource = [
5895
+ {
5896
+ 'viewId': "",
5897
+ 'filterCondition': ""
5898
+ }
5899
+ ];
5900
+ }
5901
+ }
5902
+ getHeatmapData() {
5903
+ this.heatChartDataSource = {};
5904
+ this.isAdvanceFilter = false;
5905
+ if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
5906
+ if (this.heatmapChartConfig.chartFormat == "topx") {
5907
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
5908
+ uniqueDates.sort();
5909
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
5910
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5911
+ }
5912
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
5913
+ const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
5914
+ uniqueDates.sort();
5915
+ this.heatChartDataSource["dataSet"] = result;
5916
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5917
+ }
5918
+ this.isHeatMapLoader = false;
5919
+ this.isHeatMapClick = false;
5920
+ }
5921
+ else {
5922
+ this.isHeatMapClick = false;
5923
+ this.toastrService.info("No Data Found");
5924
+ }
5925
+ }
5926
+ getTransposedHeatmapData(dataSet) {
5927
+ const transposed = [];
5928
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
5929
+ for (let i = 0; i < maxBoxes; i++) {
5930
+ const row = [];
5931
+ for (let j = 0; j < dataSet.length; j++) {
5932
+ const box = dataSet[j].dataset[i];
5933
+ row.push({
5934
+ box: box || null,
5935
+ date: dataSet[j].record_date
5936
+ });
5937
+ }
5938
+ transposed.push(row);
5939
+ }
5940
+ return transposed;
5941
+ }
5942
+ generateDateWiseColorCodedData(data) {
5943
+ const result = [];
5944
+ const uniqueDates = new Set();
5945
+ const allEntries = [];
5946
+ const topArg = this.heatmapChartConfig.topArgument;
5947
+ const leftArg = this.heatmapChartConfig.leftArgument;
5948
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
5949
+ data.forEach(entry => {
5950
+ const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
5951
+ uniqueDates.add(formattedDate);
5952
+ entry.dataset.forEach(item => {
5953
+ allEntries.push({
5954
+ [topArg]: formattedDate,
5955
+ [leftArg]: item[`${leftArg}`],
5956
+ [valueField]: item[`${valueField}`]
5957
+ });
5958
+ });
5959
+ });
5960
+ let coloredData;
5961
+ if (this.heatmapChartConfig.type === 'gradient') {
5962
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
5963
+ }
5964
+ else if (this.heatmapChartConfig.type === 'twoColor') {
5965
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
5966
+ }
5967
+ else {
5968
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
5969
+ }
5970
+ const dateMap = {};
5971
+ coloredData.forEach(item => {
5972
+ const date = item[topArg];
5973
+ if (!dateMap[date]) {
5974
+ dateMap[date] = [];
5975
+ }
5976
+ dateMap[date].push({
5977
+ [leftArg]: item[leftArg],
5978
+ [valueField]: item[valueField],
5979
+ color: item.color,
5980
+ [topArg]: date,
5981
+ });
5982
+ });
5983
+ for (const date of Array.from(uniqueDates).sort()) {
5984
+ result.push({
5985
+ record_date: date,
5986
+ dataset: dateMap[date] || []
5987
+ });
5988
+ }
5989
+ return {
5990
+ result,
5991
+ uniqueDates: Array.from(uniqueDates).sort()
5992
+ };
5993
+ }
5994
+ generateData(data) {
5995
+ const result = [];
5996
+ const uniqueDates = new Set();
5997
+ const dataSourceMap = {};
5998
+ const topArg = this.heatmapChartConfig.topArgument;
5999
+ const leftArg = this.heatmapChartConfig.leftArgument;
6000
+ data.forEach(item => {
6001
+ const rowKey = item[leftArg];
6002
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
6003
+ if (!dataSourceMap[rowKey]) {
6004
+ dataSourceMap[rowKey] = {
6005
+ datasource: rowKey,
6006
+ dataset: []
6007
+ };
6008
+ }
6009
+ dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
6010
+ uniqueDates.add(columnKey);
6011
+ });
6012
+ const uniqueDatesArray = Array.from(uniqueDates);
6013
+ for (const key in dataSourceMap) {
6014
+ const dataset = dataSourceMap[key].dataset;
6015
+ let formattedDataset;
6016
+ if (this.heatmapChartConfig.type == "gradient") {
6017
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
6018
+ }
6019
+ else if (this.heatmapChartConfig.type == "twoColor") {
6020
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6021
+ }
6022
+ else {
6023
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6024
+ }
6025
+ const dateToItemMap = {};
6026
+ formattedDataset.forEach(item => {
6027
+ dateToItemMap[item[topArg]] = item;
6028
+ });
6029
+ const completeDataset = uniqueDatesArray.map((date) => {
6030
+ if (dateToItemMap[date]) {
6031
+ return dateToItemMap[date];
6032
+ }
6033
+ else {
6034
+ return {
6035
+ [topArg]: date,
6036
+ avgSize: "No Data",
6037
+ fileCount: 0,
6038
+ fileSize: 0,
6039
+ color: "rgb(242, 118, 109)"
6040
+ };
6041
+ }
6042
+ });
6043
+ result.push({
6044
+ datasource: key,
6045
+ dataset: completeDataset
6046
+ });
6047
+ }
6048
+ return {
6049
+ result: result,
6050
+ uniqueDates: uniqueDatesArray
6051
+ };
6052
+ }
6053
+ getFormateDataByColorCodeForGradient(filedata, column) {
6054
+ filedata.forEach(item => {
6055
+ item.avgSize = parseFloat(item[column]);
6056
+ });
6057
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
6058
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
6059
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6060
+ const minColor = this.parseRGBA(minColorStr);
6061
+ const maxColor = this.parseRGBA(maxColorStr);
6062
+ filedata.forEach(item => {
6063
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
6064
+ });
6065
+ return filedata;
6066
+ }
6067
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
6068
+ filedata.forEach(item => {
6069
+ item[column] = parseFloat(item[column]);
6070
+ });
6071
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6072
+ const minColor = this.parseRGBA(minColorStr);
6073
+ const maxColor = this.parseRGBA(maxColorStr);
6074
+ filedata.forEach(item => {
6075
+ if (item[column] == 0) {
6076
+ item.color = `rgb(${minColor.join(',')})`;
6077
+ }
6078
+ else {
6079
+ item.color = `rgb(${maxColor.join(',')})`;
6080
+ }
6081
+ });
6082
+ return filedata;
6083
+ }
6084
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
6085
+ filedata.forEach(item => {
6086
+ item[column] = parseFloat(item[column]);
6087
+ });
6088
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
6089
+ const minColor = this.parseRGBA(singleColor);
6090
+ filedata.forEach(item => {
6091
+ item.color = `rgb(${minColor.join(',')})`;
6092
+ });
6093
+ return filedata;
6094
+ }
6095
+ parseRGBA(colorStr) {
6096
+ var _a, _b, _c, _d, _e;
6097
+ const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
6098
+ if (values.length === 3)
6099
+ values.push(1);
6100
+ return [
6101
+ (_b = values[0]) !== null && _b !== void 0 ? _b : 0,
6102
+ (_c = values[1]) !== null && _c !== void 0 ? _c : 0,
6103
+ (_d = values[2]) !== null && _d !== void 0 ? _d : 0,
6104
+ (_e = values[3]) !== null && _e !== void 0 ? _e : 1
6105
+ ];
6106
+ }
6107
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
6108
+ if (minAvgSize != maxAvgSize) {
6109
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
6110
+ let color = minColor.map((channel, index) => {
6111
+ return Math.round(channel + gradient * (maxColor[index] - channel));
6112
+ });
6113
+ return `rgb(${color.join(',')})`;
6114
+ }
6115
+ else {
6116
+ return `rgb(${minColor.join(',')})`;
6117
+ }
6118
+ }
6119
+ setActiveTab(tab) {
6120
+ this.activeTab = tab;
6121
+ }
6122
+ getSelectedEventType(e) {
6123
+ if (e.event) {
6124
+ this.optionalDrilDownDataSource = [];
6125
+ if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
6126
+ this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
6127
+ }
6128
+ }
6129
+ }
6130
+ resetViewProprstise() {
6131
+ this.viewProperties = {
6132
+ enableClickEvent: false,
6133
+ enableRightClickEvent: true,
6134
+ clickEventOptions: {
6135
+ associatedViews: [],
6136
+ eventType: ""
6137
+ }
6138
+ };
6139
+ }
6140
+ deleteAssociatedParams(index) {
6141
+ this.optionalDrilDownDataSource.splice(index, 1);
6142
+ }
6143
+ addAssociatedParams() {
6144
+ this.optionalDrilDownDataSource.push({
6145
+ 'viewId': "",
6146
+ 'filterCondition': ""
6147
+ });
6148
+ }
6149
+ getColorBoxVisible(e) {
6150
+ this.colorArray = [];
6151
+ }
6152
+ saveColors() {
6153
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6154
+ this.colorArray = [this.firstColor, this.secondColor];
6155
+ }
6156
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6157
+ this.colorArray = [this.singleColor];
6158
+ }
6159
+ this.getHeatmapData();
6160
+ }
6161
+ getSaveChartConfig() {
6162
+ if (this.colorArray && this.colorArray.length !== 0) {
6163
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6164
+ this.heatmapChartConfig.color = this.colorArray;
6165
+ }
6166
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6167
+ this.heatmapChartConfig.color = this.colorArray;
6168
+ }
6169
+ }
6170
+ if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
6171
+ this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
6172
+ }
6173
+ this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
6174
+ this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
6175
+ this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
6176
+ }
6177
+ }
6178
+ 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 });
6179
+ 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" }] });
6180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
6181
+ type: Component,
6182
+ 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>" }]
6183
+ }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
6184
+ type: Output
6185
+ }], chartconfigData: [{
6186
+ type: Input,
6187
+ args: ['datasetmodal']
6188
+ }] } });
6189
+
5651
6190
  class CreateCompViewComponent {
5652
6191
  constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
5653
6192
  this.toastr = toastr;
@@ -5883,13 +6422,9 @@ class CreateCompViewComponent {
5883
6422
  }
5884
6423
  getDatasetForSimpleApiImpala(dataset) {
5885
6424
  this.dataSourceModal = {};
5886
- let filters = {
5887
- startDate: this.defaultStartDate,
5888
- endDate: this.defaultEndDate
5889
- };
5890
6425
  dataset.config.queryConfig.mapedFilters.forEach(filter => {
5891
- if (filters.hasOwnProperty(filter.localColumn)) {
5892
- filter.defaultValue = filters[filter.localColumn];
6426
+ if (filter.hasOwnProperty(filter.localColumn)) {
6427
+ filter.defaultValue = filter[filter.localColumn];
5893
6428
  }
5894
6429
  });
5895
6430
  if (dataset.config.apiType === "post") {
@@ -6057,6 +6592,11 @@ class CreateCompViewComponent {
6057
6592
  this.router.navigate(['/apps/controlPanel/applicationViews/']);
6058
6593
  }
6059
6594
  getEmitNewTableConfig(data) {
6595
+ debugger;
6596
+ data['datasetId'] = this.selectedDataSet['datasetId'];
6597
+ this.createViewConfig(data);
6598
+ }
6599
+ getEmitNewHeatMapConfig(data) {
6060
6600
  data['datasetId'] = this.selectedDataSet['datasetId'];
6061
6601
  this.createViewConfig(data);
6062
6602
  }
@@ -6198,10 +6738,10 @@ class CreateCompViewComponent {
6198
6738
  }
6199
6739
  }
6200
6740
  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 });
6201
- 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"] }] });
6741
+ 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"] }] });
6202
6742
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
6203
6743
  type: Component,
6204
- 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" }]
6744
+ 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" }]
6205
6745
  }], ctorParameters: function () {
6206
6746
  return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
6207
6747
  type: Inject,
@@ -7676,7 +8216,6 @@ class GammaAdvanceOperatorTableComponent {
7676
8216
  const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
7677
8217
  if (foundMatchObject) {
7678
8218
  if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
7679
- console.log(foundMatchObject.enrichName);
7680
8219
  newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
7681
8220
  }
7682
8221
  }
@@ -8755,6 +9294,326 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
8755
9294
  args: ["chartDataSource"]
8756
9295
  }] } });
8757
9296
 
9297
+ class GammaHeatChartComponent {
9298
+ constructor(commonService) {
9299
+ this.commonService = commonService;
9300
+ this.dataSourseForTable = [];
9301
+ this.isLoader = true;
9302
+ this.tableDataConfig = {};
9303
+ this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
9304
+ this.activeTab = 'basic';
9305
+ this.isAdvanceFilter = false;
9306
+ this.isHeatMapClick = false;
9307
+ this.heatChartDataSource = {};
9308
+ this.chartDataForTooltip = {};
9309
+ this.dataSourseForHeatMap = [];
9310
+ this.viewProperties = {
9311
+ enableClickEvent: false,
9312
+ enableRightClickEvent: true,
9313
+ clickEventOptions: {
9314
+ associatedViews: [],
9315
+ eventType: ""
9316
+ }
9317
+ };
9318
+ this.optionalDrilDownDataSource = [];
9319
+ this.allConfiguredViews = [];
9320
+ this.colorArray = [];
9321
+ this.firstColor = "rgba(45, 110, 18, 1)";
9322
+ this.secondColor = "rgba(255, 204, 0, 1)";
9323
+ this.singleColor = "rgba(255, 204, 0, 1)";
9324
+ this.heatmapChartConfig = {};
9325
+ this.getTableConfigOutPut = new EventEmitter();
9326
+ this.oRowClick = new EventEmitter();
9327
+ this.onrightClickContextSelection = new EventEmitter();
9328
+ this.rightClickEnable = true;
9329
+ }
9330
+ set chartDataSource(value) {
9331
+ if (value === undefined || value.length === 0) {
9332
+ return;
9333
+ }
9334
+ else {
9335
+ this.isLoader = true;
9336
+ this.page_config = value;
9337
+ this.page_parms = value.titleParams;
9338
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
9339
+ this.heatmapChartConfig = value.kpiConfig.dataConfig;
9340
+ this.colorArray = value.kpiConfig.dataConfig.color;
9341
+ this.getHeatmapData(value.kpiConfig.dataSource);
9342
+ setTimeout(() => {
9343
+ this.isLoader = false;
9344
+ }, 200);
9345
+ }
9346
+ else {
9347
+ setTimeout(() => {
9348
+ this.dataSourseForTable = [];
9349
+ this.tableDataConfig['columns'] = [];
9350
+ this.isLoader = false;
9351
+ }, 200);
9352
+ }
9353
+ }
9354
+ }
9355
+ ngOnInit() {
9356
+ }
9357
+ getHeatmapData(heatMapData) {
9358
+ this.heatChartDataSource = {};
9359
+ this.isAdvanceFilter = false;
9360
+ if (heatMapData && heatMapData.length !== 0) {
9361
+ if (this.heatmapChartConfig.chartFormat == "topx") {
9362
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
9363
+ uniqueDates.sort();
9364
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
9365
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9366
+ }
9367
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
9368
+ const { result, uniqueDates } = this.generateData(heatMapData);
9369
+ uniqueDates.sort();
9370
+ this.heatChartDataSource["dataSet"] = result;
9371
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9372
+ }
9373
+ this.isHeatMapClick = false;
9374
+ }
9375
+ else {
9376
+ this.isHeatMapClick = false;
9377
+ }
9378
+ }
9379
+ getTransposedHeatmapData(dataSet) {
9380
+ const transposed = [];
9381
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
9382
+ for (let i = 0; i < maxBoxes; i++) {
9383
+ const row = [];
9384
+ for (let j = 0; j < dataSet.length; j++) {
9385
+ const box = dataSet[j].dataset[i];
9386
+ row.push({
9387
+ box: box || null,
9388
+ date: dataSet[j].record_date
9389
+ });
9390
+ }
9391
+ transposed.push(row);
9392
+ }
9393
+ return transposed;
9394
+ }
9395
+ generateDateWiseColorCodedData(data) {
9396
+ const result = [];
9397
+ const uniqueDates = new Set();
9398
+ const allEntries = [];
9399
+ const topArg = this.heatmapChartConfig.topArgument;
9400
+ const leftArg = this.heatmapChartConfig.leftArgument;
9401
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
9402
+ data.forEach(entry => {
9403
+ const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
9404
+ uniqueDates.add(formattedDate);
9405
+ entry.resultDataset.forEach(item => {
9406
+ allEntries.push({
9407
+ [topArg]: formattedDate,
9408
+ [leftArg]: item[`${leftArg}`],
9409
+ [valueField]: item[`${valueField}`]
9410
+ });
9411
+ });
9412
+ });
9413
+ let coloredData;
9414
+ if (this.heatmapChartConfig.type === 'gradient') {
9415
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
9416
+ }
9417
+ else if (this.heatmapChartConfig.type === 'twoColor') {
9418
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
9419
+ }
9420
+ else {
9421
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
9422
+ }
9423
+ const dateMap = {};
9424
+ coloredData.forEach(item => {
9425
+ const date = item[topArg];
9426
+ if (!dateMap[date]) {
9427
+ dateMap[date] = [];
9428
+ }
9429
+ dateMap[date].push({
9430
+ [leftArg]: item[leftArg],
9431
+ [valueField]: item[valueField],
9432
+ color: item.color,
9433
+ [topArg]: date,
9434
+ });
9435
+ });
9436
+ for (const date of Array.from(uniqueDates).sort()) {
9437
+ result.push({
9438
+ record_date: date,
9439
+ dataset: dateMap[date] || []
9440
+ });
9441
+ }
9442
+ return {
9443
+ result,
9444
+ uniqueDates: Array.from(uniqueDates).sort()
9445
+ };
9446
+ }
9447
+ generateData(data) {
9448
+ const result = [];
9449
+ const uniqueDates = new Set();
9450
+ const dataSourceMap = {};
9451
+ const topArg = this.heatmapChartConfig.topArgument;
9452
+ const leftArg = this.heatmapChartConfig.leftArgument;
9453
+ data.forEach(item => {
9454
+ const rowKey = item[leftArg];
9455
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
9456
+ if (!dataSourceMap[rowKey]) {
9457
+ dataSourceMap[rowKey] = {
9458
+ datasource: rowKey,
9459
+ dataset: []
9460
+ };
9461
+ }
9462
+ dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
9463
+ uniqueDates.add(columnKey);
9464
+ });
9465
+ const uniqueDatesArray = Array.from(uniqueDates);
9466
+ for (const key in dataSourceMap) {
9467
+ const dataset = dataSourceMap[key].dataset;
9468
+ let formattedDataset;
9469
+ if (this.heatmapChartConfig.type == "gradient") {
9470
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
9471
+ }
9472
+ else if (this.heatmapChartConfig.type == "twoColor") {
9473
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9474
+ }
9475
+ else {
9476
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9477
+ }
9478
+ const dateToItemMap = {};
9479
+ formattedDataset.forEach(item => {
9480
+ dateToItemMap[item[topArg]] = item;
9481
+ });
9482
+ const completeDataset = uniqueDatesArray.map((date) => {
9483
+ if (dateToItemMap[date]) {
9484
+ return dateToItemMap[date];
9485
+ }
9486
+ else {
9487
+ return {
9488
+ [topArg]: date,
9489
+ avgSize: "No Data",
9490
+ fileCount: 0,
9491
+ fileSize: 0,
9492
+ color: "rgb(242, 118, 109)"
9493
+ };
9494
+ }
9495
+ });
9496
+ result.push({
9497
+ datasource: key,
9498
+ dataset: completeDataset
9499
+ });
9500
+ }
9501
+ return {
9502
+ result: result,
9503
+ uniqueDates: uniqueDatesArray
9504
+ };
9505
+ }
9506
+ getFormateDataByColorCodeForGradient(filedata, column) {
9507
+ filedata.forEach(item => {
9508
+ item.avgSize = parseFloat(item[column]);
9509
+ });
9510
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
9511
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
9512
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9513
+ const minColor = this.parseRGBA(minColorStr);
9514
+ const maxColor = this.parseRGBA(maxColorStr);
9515
+ filedata.forEach(item => {
9516
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
9517
+ });
9518
+ return filedata;
9519
+ }
9520
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
9521
+ filedata.forEach(item => {
9522
+ item[column] = parseFloat(item[column]);
9523
+ });
9524
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9525
+ const minColor = this.parseRGBA(minColorStr);
9526
+ const maxColor = this.parseRGBA(maxColorStr);
9527
+ filedata.forEach(item => {
9528
+ if (item[column] == 0) {
9529
+ item.color = `rgb(${minColor.join(',')})`;
9530
+ }
9531
+ else {
9532
+ item.color = `rgb(${maxColor.join(',')})`;
9533
+ }
9534
+ });
9535
+ return filedata;
9536
+ }
9537
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
9538
+ filedata.forEach(item => {
9539
+ item[column] = parseFloat(item[column]);
9540
+ });
9541
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
9542
+ const minColor = this.parseRGBA(singleColor);
9543
+ filedata.forEach(item => {
9544
+ item.color = `rgb(${minColor.join(',')})`;
9545
+ });
9546
+ return filedata;
9547
+ }
9548
+ parseRGBA(colorStr) {
9549
+ var _a, _b, _c, _d, _e;
9550
+ const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
9551
+ if (values.length === 3)
9552
+ values.push(1);
9553
+ return [
9554
+ (_b = values[0]) !== null && _b !== void 0 ? _b : 0,
9555
+ (_c = values[1]) !== null && _c !== void 0 ? _c : 0,
9556
+ (_d = values[2]) !== null && _d !== void 0 ? _d : 0,
9557
+ (_e = values[3]) !== null && _e !== void 0 ? _e : 1
9558
+ ];
9559
+ }
9560
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
9561
+ if (minAvgSize != maxAvgSize) {
9562
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
9563
+ let color = minColor.map((channel, index) => {
9564
+ return Math.round(channel + gradient * (maxColor[index] - channel));
9565
+ });
9566
+ return `rgb(${color.join(',')})`;
9567
+ }
9568
+ else {
9569
+ return `rgb(${minColor.join(',')})`;
9570
+ }
9571
+ }
9572
+ transformColumns(mainobj) {
9573
+ return Object.keys(mainobj).map(key => {
9574
+ return {
9575
+ visible: true,
9576
+ dataField: key,
9577
+ caption: key
9578
+ };
9579
+ });
9580
+ }
9581
+ getObjectKeys(obj) {
9582
+ return Object.keys(obj);
9583
+ }
9584
+ callServiceFunction(functionName, value) {
9585
+ if (value !== undefined) {
9586
+ if (typeof this.commonService[functionName] === "function") {
9587
+ return this.commonService[functionName](value);
9588
+ }
9589
+ else {
9590
+ console.error(`Function ${functionName} not found in CommonService`);
9591
+ return null;
9592
+ }
9593
+ }
9594
+ else {
9595
+ return "No Data";
9596
+ }
9597
+ }
9598
+ }
9599
+ GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
9600
+ 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" }] });
9601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
9602
+ type: Component,
9603
+ 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>" }]
9604
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
9605
+ type: Output
9606
+ }], oRowClick: [{
9607
+ type: Output
9608
+ }], onrightClickContextSelection: [{
9609
+ type: Output
9610
+ }], rightClickEnable: [{
9611
+ type: Input
9612
+ }], chartDataSource: [{
9613
+ type: Input,
9614
+ args: ['chartDataSource']
9615
+ }] } });
9616
+
8758
9617
  class kpicommonService {
8759
9618
  constructor(commonService) {
8760
9619
  this.commonService = commonService;
@@ -9727,7 +10586,7 @@ class CreateDatasetSqlComponent {
9727
10586
  if (newVal === '' || newVal === undefined) {
9728
10587
  }
9729
10588
  else {
9730
- fval = this.sqlFormatter.transform(val);
10589
+ fval = val;
9731
10590
  splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
9732
10591
  this.queryStringData = fval;
9733
10592
  const re = /{([^}]+)}/g;
@@ -10332,6 +11191,7 @@ class PageConfigComponent {
10332
11191
  GammSingleNumberCardComponent,
10333
11192
  GammaAdvanceOperatorTableComponent,
10334
11193
  AdvanceWidgetHeaderFilterComponent,
11194
+ GammaHeatChartComponent,
10335
11195
  GammaGeoChartComponent
10336
11196
  };
10337
11197
  this.dataSourceMataData = [];
@@ -13548,7 +14408,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13548
14408
  OflineMetricsComponent,
13549
14409
  AllMetricsConfigComponent,
13550
14410
  DashTodayPreviousComponent,
13551
- SingleCardComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
14411
+ SingleCardComponent,
14412
+ HeatMapSupportComponent,
14413
+ GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
13552
14414
  DxButtonModule,
13553
14415
  DxCheckBoxModule,
13554
14416
  DxNumberBoxModule,
@@ -13613,7 +14475,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13613
14475
  OnlineMetricsComponent,
13614
14476
  OflineMetricsComponent,
13615
14477
  AllMetricsConfigComponent,
13616
- DashTodayPreviousComponent] });
14478
+ DashTodayPreviousComponent,
14479
+ HeatMapSupportComponent,
14480
+ GammaHeatChartComponent] });
13617
14481
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
13618
14482
  ApplicationContentService,
13619
14483
  ApplicationDatssetsCall
@@ -13704,7 +14568,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13704
14568
  OflineMetricsComponent,
13705
14569
  AllMetricsConfigComponent,
13706
14570
  DashTodayPreviousComponent,
13707
- SingleCardComponent
14571
+ SingleCardComponent,
14572
+ HeatMapSupportComponent,
14573
+ GammaHeatChartComponent
13708
14574
  ],
13709
14575
  imports: [
13710
14576
  CommonModule,
@@ -13777,7 +14643,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13777
14643
  OnlineMetricsComponent,
13778
14644
  OflineMetricsComponent,
13779
14645
  AllMetricsConfigComponent,
13780
- DashTodayPreviousComponent
14646
+ DashTodayPreviousComponent,
14647
+ HeatMapSupportComponent,
14648
+ GammaHeatChartComponent
13781
14649
  ],
13782
14650
  providers: [
13783
14651
  ApplicationContentService,
@@ -13827,5 +14695,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13827
14695
  }]
13828
14696
  }] });
13829
14697
 
13830
- export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
14698
+ export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaHeatChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, HeatMapSupportComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
13831
14699
  //# sourceMappingURL=gamma-app-controller.mjs.map