gamma-app-controller 1.1.14 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2020/lib/application-controller/application-controller.module.mjs +15 -5
  2. package/esm2020/lib/application-controller/application-dataset-component/create-dataset-sql/create-dataset-sql.component.mjs +2 -2
  3. package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +1 -2
  4. package/esm2020/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.mjs +10 -9
  5. package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +3 -1
  6. package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +1 -2
  7. package/esm2020/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.mjs +328 -0
  8. package/esm2020/lib/application-controller/support-components/dash-table/dash-table.component.mjs +2 -2
  9. package/esm2020/lib/application-controller/support-components/dash-today-previous/dash-today-previous.component.mjs +2 -2
  10. package/esm2020/lib/application-controller/support-components/geo-map/geo-map.component.mjs +2 -2
  11. package/esm2020/lib/application-controller/support-components/heat-map/heat-map.component.mjs +556 -0
  12. package/esm2020/lib/application-controller/support-components/single-card/single-card.component.mjs +2 -3
  13. package/esm2020/lib/application-controller/support-components/table-with-bar/table-with-bar.component.mjs +2 -2
  14. package/esm2020/public-api.mjs +3 -1
  15. package/fesm2015/gamma-app-controller.mjs +888 -22
  16. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  17. package/fesm2020/gamma-app-controller.mjs +892 -22
  18. package/fesm2020/gamma-app-controller.mjs.map +1 -1
  19. package/lib/application-controller/application-controller.module.d.ts +13 -11
  20. package/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.d.ts +1 -0
  21. package/lib/application-controller/page-controller/page-config/page-config.component.d.ts +2 -0
  22. package/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.d.ts +60 -0
  23. package/lib/application-controller/support-components/heat-map/heat-map.component.d.ts +99 -0
  24. package/package.json +1 -1
  25. package/public-api.d.ts +2 -0
@@ -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();
@@ -4916,7 +4915,7 @@ class TableWithBarComponent {
4916
4915
  "isSearchBox": false
4917
4916
  }
4918
4917
  };
4919
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
4918
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
4920
4919
  this.isLoader = true;
4921
4920
  this.activeTab = 'basic';
4922
4921
  this.createOtherComponentView = new EventEmitter();
@@ -5152,7 +5151,7 @@ class DashTodayPreviousComponent {
5152
5151
  "sortBy": [],
5153
5152
  "columns": []
5154
5153
  };
5155
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5154
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5156
5155
  this.isLoader = true;
5157
5156
  this.activeTab = 'basic';
5158
5157
  this.gettodayPreviousConfigOutPut = new EventEmitter();
@@ -5413,7 +5412,7 @@ class SingleCardComponent {
5413
5412
  "sortBy": [],
5414
5413
  "columns": []
5415
5414
  };
5416
- this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
5415
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5417
5416
  this.isLoader = true;
5418
5417
  this.activeTab = 'basic';
5419
5418
  this.getSingleCardConfigOutPut = new EventEmitter();
@@ -5600,7 +5599,6 @@ class SingleCardComponent {
5600
5599
  return newColumns;
5601
5600
  }
5602
5601
  getSaveConfig() {
5603
- debugger;
5604
5602
  if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5605
5603
  this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
5606
5604
  }
@@ -5648,6 +5646,546 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
5648
5646
  args: ['datasetmodal']
5649
5647
  }] } });
5650
5648
 
5649
+ class HeatMapSupportComponent {
5650
+ constructor(toastrService, commonService, cdr, service) {
5651
+ this.toastrService = toastrService;
5652
+ this.commonService = commonService;
5653
+ this.cdr = cdr;
5654
+ this.service = service;
5655
+ this.isAdvanceFilter = false;
5656
+ this.isHeatMapClick = false;
5657
+ this.heatChartDataSource = {};
5658
+ this.chartDataForTooltip = {};
5659
+ this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
5660
+ this.heatmapChartConfig = {
5661
+ "chartFormat": "",
5662
+ "topArgument": "",
5663
+ "leftArgument": "",
5664
+ "color": [],
5665
+ "type": "",
5666
+ "formate": "",
5667
+ "columns": [
5668
+ {
5669
+ "visible": true,
5670
+ "dataField": "",
5671
+ "caption": "",
5672
+ "enrichName": "",
5673
+ }
5674
+ ],
5675
+ "commonConfig": {
5676
+ "title": "",
5677
+ "dataField": "",
5678
+ "checkedKey": "",
5679
+ "isSearchBox": false
5680
+ }
5681
+ };
5682
+ this.heatmap_content_config = {
5683
+ "kpiConfig": {
5684
+ "serviceId": "",
5685
+ "api": "/kpi/trends/network/get-metric-data",
5686
+ "displayType": "table",
5687
+ "formate": "",
5688
+ "keyToPass": [],
5689
+ "componentName": "GammaHeatChartComponent",
5690
+ "dataConfig": {}
5691
+ },
5692
+ };
5693
+ this.dataSourseForHeatMap = [];
5694
+ this.viewProperties = {
5695
+ enableClickEvent: false,
5696
+ enableRightClickEvent: true,
5697
+ clickEventOptions: {
5698
+ associatedViews: [],
5699
+ eventType: ""
5700
+ }
5701
+ };
5702
+ this.optionalDrilDownDataSource = [];
5703
+ this.isLoader = true;
5704
+ this.activeTab = 'basic';
5705
+ this.allConfiguredViews = [];
5706
+ this.colorArray = [];
5707
+ this.firstColor = "rgba(45, 110, 18, 1)";
5708
+ this.secondColor = "rgba(255, 204, 0, 1)";
5709
+ this.singleColor = "rgba(255, 204, 0, 1)";
5710
+ this.test_voice_data = [{
5711
+ record_date: '20250527',
5712
+ dataset: [
5713
+ { other_party_iso: 'YEM', total_charge: 184357176 },
5714
+ { other_party_iso: 'ERI', total_charge: 115262500 },
5715
+ { other_party_iso: 'BGD', total_charge: 83289614 },
5716
+ { other_party_iso: 'ETH', total_charge: 79004500 },
5717
+ { other_party_iso: 'PAK', total_charge: 76992454 },
5718
+ { other_party_iso: 'SDN', total_charge: 60480400 },
5719
+ { other_party_iso: 'IND', total_charge: 38892858 },
5720
+ { other_party_iso: 'EGY', total_charge: 37769744 },
5721
+ { other_party_iso: 'NPL', total_charge: 17214000 },
5722
+ { other_party_iso: 'AFG', total_charge: 7268000 },
5723
+ { other_party_iso: 'TCD', total_charge: 5372500 },
5724
+ { other_party_iso: 'IDN', total_charge: 4425700 },
5725
+ { other_party_iso: 'UGA', total_charge: 3933300 },
5726
+ { other_party_iso: 'GBR', total_charge: 3848225 }
5727
+ ]
5728
+ },
5729
+ {
5730
+ record_date: '20250531',
5731
+ dataset: [
5732
+ { other_party_iso: 'YEM', total_charge: 208699827 },
5733
+ { other_party_iso: 'ERI', total_charge: 143501500 },
5734
+ { other_party_iso: 'BGD', total_charge: 106296294 },
5735
+ { other_party_iso: 'ETH', total_charge: 86093500 },
5736
+ { other_party_iso: 'PAK', total_charge: 77428461 },
5737
+ { other_party_iso: 'SDN', total_charge: 65818598 },
5738
+ { other_party_iso: 'IND', total_charge: 38635175 },
5739
+ { other_party_iso: 'EGY', total_charge: 37658700 },
5740
+ { other_party_iso: 'NPL', total_charge: 18773200 },
5741
+ { other_party_iso: 'AFG', total_charge: 8232500 },
5742
+ { other_party_iso: 'TCD', total_charge: 7007500 },
5743
+ { other_party_iso: 'ARE', total_charge: 4593800 },
5744
+ { other_party_iso: 'IDN', total_charge: 4118800 },
5745
+ { other_party_iso: 'PHL', total_charge: 4051500 }
5746
+ ]
5747
+ },
5748
+ {
5749
+ record_date: '20250528',
5750
+ dataset: [
5751
+ { other_party_iso: 'YEM', total_charge: 198943661 },
5752
+ { other_party_iso: 'ERI', total_charge: 118065000 },
5753
+ { other_party_iso: 'BGD', total_charge: 90980829 },
5754
+ { other_party_iso: 'ETH', total_charge: 80367700 },
5755
+ { other_party_iso: 'PAK', total_charge: 78018973 },
5756
+ { other_party_iso: 'SDN', total_charge: 56826500 },
5757
+ { other_party_iso: 'IND', total_charge: 37871625 },
5758
+ { other_party_iso: 'EGY', total_charge: 33374815 },
5759
+ { other_party_iso: 'NPL', total_charge: 16763400 },
5760
+ { other_party_iso: 'AFG', total_charge: 7926000 },
5761
+ { other_party_iso: 'TCD', total_charge: 5600000 },
5762
+ { other_party_iso: 'IDN', total_charge: 4602400 },
5763
+ { other_party_iso: 'GBR', total_charge: 4443625 },
5764
+ { other_party_iso: 'UGA', total_charge: 4379200 }
5765
+ ]
5766
+ },
5767
+ {
5768
+ record_date: '20250530',
5769
+ dataset: [
5770
+ { other_party_iso: 'YEM', total_charge: 231378852 },
5771
+ { other_party_iso: 'BGD', total_charge: 151786018 },
5772
+ { other_party_iso: 'ERI', total_charge: 146782500 },
5773
+ { other_party_iso: 'PAK', total_charge: 88054445 },
5774
+ { other_party_iso: 'ETH', total_charge: 83635500 },
5775
+ { other_party_iso: 'SDN', total_charge: 62257000 },
5776
+ { other_party_iso: 'IND', total_charge: 44316500 },
5777
+ { other_party_iso: 'EGY', total_charge: 29894392 },
5778
+ { other_party_iso: 'NPL', total_charge: 23383500 },
5779
+ { other_party_iso: 'AFG', total_charge: 8029500 },
5780
+ { other_party_iso: 'TCD', total_charge: 7322500 },
5781
+ { other_party_iso: 'GBR', total_charge: 4338450 },
5782
+ { other_party_iso: 'IDN', total_charge: 3904400 },
5783
+ { other_party_iso: 'ARE', total_charge: 3832100 }
5784
+ ]
5785
+ },
5786
+ {
5787
+ record_date: '20250529',
5788
+ dataset: [
5789
+ { other_party_iso: 'YEM', total_charge: 200906357 },
5790
+ { other_party_iso: 'ERI', total_charge: 126725000 },
5791
+ { other_party_iso: 'BGD', total_charge: 115287722 },
5792
+ { other_party_iso: 'ETH', total_charge: 82062400 },
5793
+ { other_party_iso: 'PAK', total_charge: 77260610 },
5794
+ { other_party_iso: 'SDN', total_charge: 54394810 },
5795
+ { other_party_iso: 'IND', total_charge: 38654000 },
5796
+ { other_party_iso: 'EGY', total_charge: 34503350 },
5797
+ { other_party_iso: 'NPL', total_charge: 17277100 },
5798
+ { other_party_iso: 'AFG', total_charge: 7746500 },
5799
+ { other_party_iso: 'TCD', total_charge: 6100000 },
5800
+ { other_party_iso: 'GBR', total_charge: 4736150 },
5801
+ { other_party_iso: 'IDN', total_charge: 4678900 },
5802
+ { other_party_iso: 'KEN', total_charge: 4453000 }
5803
+ ]
5804
+ },
5805
+ {
5806
+ record_date: '20250601',
5807
+ dataset: [
5808
+ { other_party_iso: 'YEM', total_charge: 214287978 },
5809
+ { other_party_iso: 'ERI', total_charge: 154402500 },
5810
+ { other_party_iso: 'BGD', total_charge: 100204000 },
5811
+ { other_party_iso: 'ETH', total_charge: 97479800 },
5812
+ { other_party_iso: 'PAK', total_charge: 75391463 },
5813
+ { other_party_iso: 'SDN', total_charge: 65622200 },
5814
+ { other_party_iso: 'IND', total_charge: 38124497 },
5815
+ { other_party_iso: 'EGY', total_charge: 35278025 },
5816
+ { other_party_iso: 'NPL', total_charge: 22665000 },
5817
+ { other_party_iso: 'AFG', total_charge: 6920000 },
5818
+ { other_party_iso: 'UGA', total_charge: 5625100 },
5819
+ { other_party_iso: 'IDN', total_charge: 5256900 },
5820
+ { other_party_iso: 'TCD', total_charge: 4970000 },
5821
+ { other_party_iso: 'GBR', total_charge: 4410250 }
5822
+ ]
5823
+ }
5824
+ ];
5825
+ this.getHeatMapConfigOutPut = new EventEmitter();
5826
+ }
5827
+ set chartconfigData(value) {
5828
+ if (value === undefined || value.length === 0) {
5829
+ return;
5830
+ }
5831
+ else {
5832
+ this.jsaonDatasource = value.data[0];
5833
+ this.configColume = Object.keys(value.data[0]);
5834
+ this.dataSourseForHeatMap = value.data;
5835
+ this.selectedViewConfigs = value;
5836
+ this.selectedTableViewType = value.selectedViewType;
5837
+ if (value.selectedWidgetConfig) {
5838
+ this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
5839
+ this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
5840
+ this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
5841
+ if (value.selectedWidgetConfig.viewProperties) {
5842
+ this.viewProperties = value.selectedWidgetConfig.viewProperties;
5843
+ if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
5844
+ if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
5845
+ this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
5846
+ this.viewProperties['clickEventOptions'] = {
5847
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5848
+ "associatedViews": []
5849
+ };
5850
+ }
5851
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
5852
+ this.viewProperties['clickEventOptions'] = {
5853
+ "eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
5854
+ "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
5855
+ };
5856
+ }
5857
+ }
5858
+ else {
5859
+ this.viewProperties['clickEventOptions'] = {};
5860
+ }
5861
+ }
5862
+ this.cdr.detectChanges();
5863
+ }
5864
+ else {
5865
+ this.viewProperties = {
5866
+ enableClickEvent: false,
5867
+ enableRightClickEvent: true,
5868
+ clickEventOptions: {
5869
+ associatedViews: [],
5870
+ eventType: ""
5871
+ }
5872
+ };
5873
+ if (this.heatmapChartConfig.columns) {
5874
+ }
5875
+ else {
5876
+ this.heatmapChartConfig.columns = [];
5877
+ console.log(this.configColume);
5878
+ }
5879
+ this.cdr.detectChanges();
5880
+ }
5881
+ }
5882
+ }
5883
+ ngOnInit() {
5884
+ this.service.getAppViewConfigs().subscribe({
5885
+ next: (data) => {
5886
+ this.allConfiguredViews = data;
5887
+ this.isLoader = false;
5888
+ }, error: (err) => {
5889
+ this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
5890
+ }
5891
+ });
5892
+ if (this.optionalDrilDownDataSource.length == 0) {
5893
+ this.optionalDrilDownDataSource = [
5894
+ {
5895
+ 'viewId': "",
5896
+ 'filterCondition': ""
5897
+ }
5898
+ ];
5899
+ }
5900
+ }
5901
+ getHeatmapData() {
5902
+ this.heatChartDataSource = {};
5903
+ this.isAdvanceFilter = false;
5904
+ if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
5905
+ if (this.heatmapChartConfig.chartFormat == "topx") {
5906
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
5907
+ uniqueDates.sort();
5908
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
5909
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5910
+ }
5911
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
5912
+ const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
5913
+ uniqueDates.sort();
5914
+ this.heatChartDataSource["dataSet"] = result;
5915
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
5916
+ }
5917
+ this.isHeatMapLoader = false;
5918
+ this.isHeatMapClick = false;
5919
+ }
5920
+ else {
5921
+ this.isHeatMapClick = false;
5922
+ this.toastrService.info("No Data Found");
5923
+ }
5924
+ }
5925
+ getTransposedHeatmapData(dataSet) {
5926
+ const transposed = [];
5927
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
5928
+ for (let i = 0; i < maxBoxes; i++) {
5929
+ const row = [];
5930
+ for (let j = 0; j < dataSet.length; j++) {
5931
+ const box = dataSet[j].dataset[i];
5932
+ row.push({
5933
+ box: box || null,
5934
+ date: dataSet[j].record_date
5935
+ });
5936
+ }
5937
+ transposed.push(row);
5938
+ }
5939
+ return transposed;
5940
+ }
5941
+ generateDateWiseColorCodedData(data) {
5942
+ const result = [];
5943
+ const uniqueDates = new Set();
5944
+ const allEntries = [];
5945
+ const topArg = this.heatmapChartConfig.topArgument;
5946
+ const leftArg = this.heatmapChartConfig.leftArgument;
5947
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
5948
+ data.forEach(entry => {
5949
+ const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
5950
+ uniqueDates.add(formattedDate);
5951
+ entry.dataset.forEach(item => {
5952
+ allEntries.push({
5953
+ [topArg]: formattedDate,
5954
+ [leftArg]: item[`${leftArg}`],
5955
+ [valueField]: item[`${valueField}`]
5956
+ });
5957
+ });
5958
+ });
5959
+ let coloredData;
5960
+ if (this.heatmapChartConfig.type === 'gradient') {
5961
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
5962
+ }
5963
+ else if (this.heatmapChartConfig.type === 'twoColor') {
5964
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
5965
+ }
5966
+ else {
5967
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
5968
+ }
5969
+ const dateMap = {};
5970
+ coloredData.forEach(item => {
5971
+ const date = item[topArg];
5972
+ if (!dateMap[date]) {
5973
+ dateMap[date] = [];
5974
+ }
5975
+ dateMap[date].push({
5976
+ [leftArg]: item[leftArg],
5977
+ [valueField]: item[valueField],
5978
+ color: item.color,
5979
+ [topArg]: date,
5980
+ });
5981
+ });
5982
+ for (const date of Array.from(uniqueDates).sort()) {
5983
+ result.push({
5984
+ record_date: date,
5985
+ dataset: dateMap[date] || []
5986
+ });
5987
+ }
5988
+ return {
5989
+ result,
5990
+ uniqueDates: Array.from(uniqueDates).sort()
5991
+ };
5992
+ }
5993
+ generateData(data) {
5994
+ const result = [];
5995
+ const uniqueDates = new Set();
5996
+ const dataSourceMap = {};
5997
+ const topArg = this.heatmapChartConfig.topArgument;
5998
+ const leftArg = this.heatmapChartConfig.leftArgument;
5999
+ data.forEach(item => {
6000
+ const rowKey = item[leftArg];
6001
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
6002
+ if (!dataSourceMap[rowKey]) {
6003
+ dataSourceMap[rowKey] = {
6004
+ datasource: rowKey,
6005
+ dataset: []
6006
+ };
6007
+ }
6008
+ dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
6009
+ uniqueDates.add(columnKey);
6010
+ });
6011
+ const uniqueDatesArray = Array.from(uniqueDates);
6012
+ for (const key in dataSourceMap) {
6013
+ const dataset = dataSourceMap[key].dataset;
6014
+ let formattedDataset;
6015
+ if (this.heatmapChartConfig.type == "gradient") {
6016
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
6017
+ }
6018
+ else if (this.heatmapChartConfig.type == "twoColor") {
6019
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6020
+ }
6021
+ else {
6022
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
6023
+ }
6024
+ const dateToItemMap = {};
6025
+ formattedDataset.forEach(item => {
6026
+ dateToItemMap[item[topArg]] = item;
6027
+ });
6028
+ const completeDataset = uniqueDatesArray.map((date) => {
6029
+ if (dateToItemMap[date]) {
6030
+ return dateToItemMap[date];
6031
+ }
6032
+ else {
6033
+ return {
6034
+ [topArg]: date,
6035
+ avgSize: "No Data",
6036
+ fileCount: 0,
6037
+ fileSize: 0,
6038
+ color: "rgb(242, 118, 109)"
6039
+ };
6040
+ }
6041
+ });
6042
+ result.push({
6043
+ datasource: key,
6044
+ dataset: completeDataset
6045
+ });
6046
+ }
6047
+ return {
6048
+ result: result,
6049
+ uniqueDates: uniqueDatesArray
6050
+ };
6051
+ }
6052
+ getFormateDataByColorCodeForGradient(filedata, column) {
6053
+ filedata.forEach(item => {
6054
+ item.avgSize = parseFloat(item[column]);
6055
+ });
6056
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
6057
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
6058
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6059
+ const minColor = this.parseRGBA(minColorStr);
6060
+ const maxColor = this.parseRGBA(maxColorStr);
6061
+ filedata.forEach(item => {
6062
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
6063
+ });
6064
+ return filedata;
6065
+ }
6066
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
6067
+ filedata.forEach(item => {
6068
+ item[column] = parseFloat(item[column]);
6069
+ });
6070
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
6071
+ const minColor = this.parseRGBA(minColorStr);
6072
+ const maxColor = this.parseRGBA(maxColorStr);
6073
+ filedata.forEach(item => {
6074
+ if (item[column] == 0) {
6075
+ item.color = `rgb(${minColor.join(',')})`;
6076
+ }
6077
+ else {
6078
+ item.color = `rgb(${maxColor.join(',')})`;
6079
+ }
6080
+ });
6081
+ return filedata;
6082
+ }
6083
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
6084
+ filedata.forEach(item => {
6085
+ item[column] = parseFloat(item[column]);
6086
+ });
6087
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
6088
+ const minColor = this.parseRGBA(singleColor);
6089
+ filedata.forEach(item => {
6090
+ item.color = `rgb(${minColor.join(',')})`;
6091
+ });
6092
+ return filedata;
6093
+ }
6094
+ parseRGBA(colorStr) {
6095
+ var _a, _b, _c, _d, _e;
6096
+ const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
6097
+ if (values.length === 3)
6098
+ values.push(1);
6099
+ return [
6100
+ (_b = values[0]) !== null && _b !== void 0 ? _b : 0,
6101
+ (_c = values[1]) !== null && _c !== void 0 ? _c : 0,
6102
+ (_d = values[2]) !== null && _d !== void 0 ? _d : 0,
6103
+ (_e = values[3]) !== null && _e !== void 0 ? _e : 1
6104
+ ];
6105
+ }
6106
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
6107
+ if (minAvgSize != maxAvgSize) {
6108
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
6109
+ let color = minColor.map((channel, index) => {
6110
+ return Math.round(channel + gradient * (maxColor[index] - channel));
6111
+ });
6112
+ return `rgb(${color.join(',')})`;
6113
+ }
6114
+ else {
6115
+ return `rgb(${minColor.join(',')})`;
6116
+ }
6117
+ }
6118
+ setActiveTab(tab) {
6119
+ this.activeTab = tab;
6120
+ }
6121
+ getSelectedEventType(e) {
6122
+ if (e.event) {
6123
+ this.optionalDrilDownDataSource = [];
6124
+ if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
6125
+ this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
6126
+ }
6127
+ }
6128
+ }
6129
+ resetViewProprstise() {
6130
+ this.viewProperties = {
6131
+ enableClickEvent: false,
6132
+ enableRightClickEvent: true,
6133
+ clickEventOptions: {
6134
+ associatedViews: [],
6135
+ eventType: ""
6136
+ }
6137
+ };
6138
+ }
6139
+ deleteAssociatedParams(index) {
6140
+ this.optionalDrilDownDataSource.splice(index, 1);
6141
+ }
6142
+ addAssociatedParams() {
6143
+ this.optionalDrilDownDataSource.push({
6144
+ 'viewId': "",
6145
+ 'filterCondition': ""
6146
+ });
6147
+ }
6148
+ getColorBoxVisible(e) {
6149
+ this.colorArray = [];
6150
+ }
6151
+ saveColors() {
6152
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6153
+ this.colorArray = [this.firstColor, this.secondColor];
6154
+ }
6155
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6156
+ this.colorArray = [this.singleColor];
6157
+ }
6158
+ this.getHeatmapData();
6159
+ }
6160
+ getSaveChartConfig() {
6161
+ if (this.colorArray && this.colorArray.length !== 0) {
6162
+ if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
6163
+ this.heatmapChartConfig.color = this.colorArray;
6164
+ }
6165
+ else if (this.heatmapChartConfig.type == 'singleColor') {
6166
+ this.heatmapChartConfig.color = this.colorArray;
6167
+ }
6168
+ }
6169
+ if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
6170
+ this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
6171
+ }
6172
+ this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
6173
+ this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
6174
+ this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
6175
+ }
6176
+ }
6177
+ 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 });
6178
+ 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" }] });
6179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
6180
+ type: Component,
6181
+ 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>" }]
6182
+ }], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
6183
+ type: Output
6184
+ }], chartconfigData: [{
6185
+ type: Input,
6186
+ args: ['datasetmodal']
6187
+ }] } });
6188
+
5651
6189
  class CreateCompViewComponent {
5652
6190
  constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
5653
6191
  this.toastr = toastr;
@@ -5883,13 +6421,9 @@ class CreateCompViewComponent {
5883
6421
  }
5884
6422
  getDatasetForSimpleApiImpala(dataset) {
5885
6423
  this.dataSourceModal = {};
5886
- let filters = {
5887
- startDate: this.defaultStartDate,
5888
- endDate: this.defaultEndDate
5889
- };
5890
6424
  dataset.config.queryConfig.mapedFilters.forEach(filter => {
5891
- if (filters.hasOwnProperty(filter.localColumn)) {
5892
- filter.defaultValue = filters[filter.localColumn];
6425
+ if (filter.hasOwnProperty(filter.localColumn)) {
6426
+ filter.defaultValue = filter[filter.localColumn];
5893
6427
  }
5894
6428
  });
5895
6429
  if (dataset.config.apiType === "post") {
@@ -6060,6 +6594,10 @@ class CreateCompViewComponent {
6060
6594
  data['datasetId'] = this.selectedDataSet['datasetId'];
6061
6595
  this.createViewConfig(data);
6062
6596
  }
6597
+ getEmitNewHeatMapConfig(data) {
6598
+ data['datasetId'] = this.selectedDataSet['datasetId'];
6599
+ this.createViewConfig(data);
6600
+ }
6063
6601
  getEmitNewChartCongig(data) {
6064
6602
  data['datasetId'] = this.selectedDataSet['datasetId'];
6065
6603
  this.createViewConfig(data);
@@ -6198,10 +6736,10 @@ class CreateCompViewComponent {
6198
6736
  }
6199
6737
  }
6200
6738
  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"] }] });
6739
+ CreateCompViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateCompViewComponent, selector: "app-create-comp-view", inputs: { kpiTreeData: "kpiTreeData", isHeader: "isHeader", selectedViewId: "selectedViewId" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoMapComponent, selector: "app-geo-map", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: DashChartComponent, selector: "app-dash-chart", inputs: ["datasetmodal"], outputs: ["getChartConfigOutPut"] }, { kind: "component", type: DashTableComponent, selector: "app-dash-table", inputs: ["datasetmodal"], outputs: ["getTableConfigOutPut"] }, { kind: "component", type: TableWithBarComponent, selector: "app-table-with-bar", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }, { kind: "component", type: DashTodayPreviousComponent, selector: "lib-dash-today-previous", inputs: ["datasetmodal"], outputs: ["gettodayPreviousConfigOutPut"] }, { kind: "component", type: SingleCardComponent, selector: "lib-single-card", inputs: ["datasetmodal"], outputs: ["getSingleCardConfigOutPut"] }, { kind: "component", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: ["datasetmodal"], outputs: ["getHeatMapConfigOutPut"] }] });
6202
6740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
6203
6741
  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" }]
6742
+ args: [{ selector: 'app-create-comp-view', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
6205
6743
  }], ctorParameters: function () {
6206
6744
  return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
6207
6745
  type: Inject,
@@ -7676,7 +8214,6 @@ class GammaAdvanceOperatorTableComponent {
7676
8214
  const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
7677
8215
  if (foundMatchObject) {
7678
8216
  if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
7679
- console.log(foundMatchObject.enrichName);
7680
8217
  newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
7681
8218
  }
7682
8219
  }
@@ -8755,6 +9292,326 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
8755
9292
  args: ["chartDataSource"]
8756
9293
  }] } });
8757
9294
 
9295
+ class GammaHeatChartComponent {
9296
+ constructor(commonService) {
9297
+ this.commonService = commonService;
9298
+ this.dataSourseForTable = [];
9299
+ this.isLoader = true;
9300
+ this.tableDataConfig = {};
9301
+ this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
9302
+ this.activeTab = 'basic';
9303
+ this.isAdvanceFilter = false;
9304
+ this.isHeatMapClick = false;
9305
+ this.heatChartDataSource = {};
9306
+ this.chartDataForTooltip = {};
9307
+ this.dataSourseForHeatMap = [];
9308
+ this.viewProperties = {
9309
+ enableClickEvent: false,
9310
+ enableRightClickEvent: true,
9311
+ clickEventOptions: {
9312
+ associatedViews: [],
9313
+ eventType: ""
9314
+ }
9315
+ };
9316
+ this.optionalDrilDownDataSource = [];
9317
+ this.allConfiguredViews = [];
9318
+ this.colorArray = [];
9319
+ this.firstColor = "rgba(45, 110, 18, 1)";
9320
+ this.secondColor = "rgba(255, 204, 0, 1)";
9321
+ this.singleColor = "rgba(255, 204, 0, 1)";
9322
+ this.heatmapChartConfig = {};
9323
+ this.getTableConfigOutPut = new EventEmitter();
9324
+ this.oRowClick = new EventEmitter();
9325
+ this.onrightClickContextSelection = new EventEmitter();
9326
+ this.rightClickEnable = true;
9327
+ }
9328
+ set chartDataSource(value) {
9329
+ if (value === undefined || value.length === 0) {
9330
+ return;
9331
+ }
9332
+ else {
9333
+ this.isLoader = true;
9334
+ this.page_config = value;
9335
+ this.page_parms = value.titleParams;
9336
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
9337
+ this.heatmapChartConfig = value.kpiConfig.dataConfig;
9338
+ this.colorArray = value.kpiConfig.dataConfig.color;
9339
+ this.getHeatmapData(value.kpiConfig.dataSource);
9340
+ setTimeout(() => {
9341
+ this.isLoader = false;
9342
+ }, 200);
9343
+ }
9344
+ else {
9345
+ setTimeout(() => {
9346
+ this.dataSourseForTable = [];
9347
+ this.tableDataConfig['columns'] = [];
9348
+ this.isLoader = false;
9349
+ }, 200);
9350
+ }
9351
+ }
9352
+ }
9353
+ ngOnInit() {
9354
+ }
9355
+ getHeatmapData(heatMapData) {
9356
+ this.heatChartDataSource = {};
9357
+ this.isAdvanceFilter = false;
9358
+ if (heatMapData && heatMapData.length !== 0) {
9359
+ if (this.heatmapChartConfig.chartFormat == "topx") {
9360
+ const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
9361
+ uniqueDates.sort();
9362
+ this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
9363
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9364
+ }
9365
+ else if ((this.heatmapChartConfig.chartFormat == "simple")) {
9366
+ const { result, uniqueDates } = this.generateData(heatMapData);
9367
+ uniqueDates.sort();
9368
+ this.heatChartDataSource["dataSet"] = result;
9369
+ this.heatChartDataSource["argumentValue"] = uniqueDates;
9370
+ }
9371
+ this.isHeatMapClick = false;
9372
+ }
9373
+ else {
9374
+ this.isHeatMapClick = false;
9375
+ }
9376
+ }
9377
+ getTransposedHeatmapData(dataSet) {
9378
+ const transposed = [];
9379
+ const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
9380
+ for (let i = 0; i < maxBoxes; i++) {
9381
+ const row = [];
9382
+ for (let j = 0; j < dataSet.length; j++) {
9383
+ const box = dataSet[j].dataset[i];
9384
+ row.push({
9385
+ box: box || null,
9386
+ date: dataSet[j].record_date
9387
+ });
9388
+ }
9389
+ transposed.push(row);
9390
+ }
9391
+ return transposed;
9392
+ }
9393
+ generateDateWiseColorCodedData(data) {
9394
+ const result = [];
9395
+ const uniqueDates = new Set();
9396
+ const allEntries = [];
9397
+ const topArg = this.heatmapChartConfig.topArgument;
9398
+ const leftArg = this.heatmapChartConfig.leftArgument;
9399
+ const valueField = this.heatmapChartConfig.columns[0].dataField;
9400
+ data.forEach(entry => {
9401
+ const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
9402
+ uniqueDates.add(formattedDate);
9403
+ entry.resultDataset.forEach(item => {
9404
+ allEntries.push({
9405
+ [topArg]: formattedDate,
9406
+ [leftArg]: item[`${leftArg}`],
9407
+ [valueField]: item[`${valueField}`]
9408
+ });
9409
+ });
9410
+ });
9411
+ let coloredData;
9412
+ if (this.heatmapChartConfig.type === 'gradient') {
9413
+ coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
9414
+ }
9415
+ else if (this.heatmapChartConfig.type === 'twoColor') {
9416
+ coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
9417
+ }
9418
+ else {
9419
+ coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
9420
+ }
9421
+ const dateMap = {};
9422
+ coloredData.forEach(item => {
9423
+ const date = item[topArg];
9424
+ if (!dateMap[date]) {
9425
+ dateMap[date] = [];
9426
+ }
9427
+ dateMap[date].push({
9428
+ [leftArg]: item[leftArg],
9429
+ [valueField]: item[valueField],
9430
+ color: item.color,
9431
+ [topArg]: date,
9432
+ });
9433
+ });
9434
+ for (const date of Array.from(uniqueDates).sort()) {
9435
+ result.push({
9436
+ record_date: date,
9437
+ dataset: dateMap[date] || []
9438
+ });
9439
+ }
9440
+ return {
9441
+ result,
9442
+ uniqueDates: Array.from(uniqueDates).sort()
9443
+ };
9444
+ }
9445
+ generateData(data) {
9446
+ const result = [];
9447
+ const uniqueDates = new Set();
9448
+ const dataSourceMap = {};
9449
+ const topArg = this.heatmapChartConfig.topArgument;
9450
+ const leftArg = this.heatmapChartConfig.leftArgument;
9451
+ data.forEach(item => {
9452
+ const rowKey = item[leftArg];
9453
+ const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
9454
+ if (!dataSourceMap[rowKey]) {
9455
+ dataSourceMap[rowKey] = {
9456
+ datasource: rowKey,
9457
+ dataset: []
9458
+ };
9459
+ }
9460
+ dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
9461
+ uniqueDates.add(columnKey);
9462
+ });
9463
+ const uniqueDatesArray = Array.from(uniqueDates);
9464
+ for (const key in dataSourceMap) {
9465
+ const dataset = dataSourceMap[key].dataset;
9466
+ let formattedDataset;
9467
+ if (this.heatmapChartConfig.type == "gradient") {
9468
+ formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
9469
+ }
9470
+ else if (this.heatmapChartConfig.type == "twoColor") {
9471
+ formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9472
+ }
9473
+ else {
9474
+ formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
9475
+ }
9476
+ const dateToItemMap = {};
9477
+ formattedDataset.forEach(item => {
9478
+ dateToItemMap[item[topArg]] = item;
9479
+ });
9480
+ const completeDataset = uniqueDatesArray.map((date) => {
9481
+ if (dateToItemMap[date]) {
9482
+ return dateToItemMap[date];
9483
+ }
9484
+ else {
9485
+ return {
9486
+ [topArg]: date,
9487
+ avgSize: "No Data",
9488
+ fileCount: 0,
9489
+ fileSize: 0,
9490
+ color: "rgb(242, 118, 109)"
9491
+ };
9492
+ }
9493
+ });
9494
+ result.push({
9495
+ datasource: key,
9496
+ dataset: completeDataset
9497
+ });
9498
+ }
9499
+ return {
9500
+ result: result,
9501
+ uniqueDates: uniqueDatesArray
9502
+ };
9503
+ }
9504
+ getFormateDataByColorCodeForGradient(filedata, column) {
9505
+ filedata.forEach(item => {
9506
+ item.avgSize = parseFloat(item[column]);
9507
+ });
9508
+ const maxAvgSize = Math.max(...filedata.map(item => item[column]));
9509
+ const minAvgSize = Math.min(...filedata.map(item => item[column]));
9510
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9511
+ const minColor = this.parseRGBA(minColorStr);
9512
+ const maxColor = this.parseRGBA(maxColorStr);
9513
+ filedata.forEach(item => {
9514
+ item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
9515
+ });
9516
+ return filedata;
9517
+ }
9518
+ getFormateDataByColorCodeForWithTwoColor(filedata, column) {
9519
+ filedata.forEach(item => {
9520
+ item[column] = parseFloat(item[column]);
9521
+ });
9522
+ const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
9523
+ const minColor = this.parseRGBA(minColorStr);
9524
+ const maxColor = this.parseRGBA(maxColorStr);
9525
+ filedata.forEach(item => {
9526
+ if (item[column] == 0) {
9527
+ item.color = `rgb(${minColor.join(',')})`;
9528
+ }
9529
+ else {
9530
+ item.color = `rgb(${maxColor.join(',')})`;
9531
+ }
9532
+ });
9533
+ return filedata;
9534
+ }
9535
+ getFormateDataByColorCodeForWithSingleColor(filedata, column) {
9536
+ filedata.forEach(item => {
9537
+ item[column] = parseFloat(item[column]);
9538
+ });
9539
+ const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
9540
+ const minColor = this.parseRGBA(singleColor);
9541
+ filedata.forEach(item => {
9542
+ item.color = `rgb(${minColor.join(',')})`;
9543
+ });
9544
+ return filedata;
9545
+ }
9546
+ parseRGBA(colorStr) {
9547
+ var _a, _b, _c, _d, _e;
9548
+ const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
9549
+ if (values.length === 3)
9550
+ values.push(1);
9551
+ return [
9552
+ (_b = values[0]) !== null && _b !== void 0 ? _b : 0,
9553
+ (_c = values[1]) !== null && _c !== void 0 ? _c : 0,
9554
+ (_d = values[2]) !== null && _d !== void 0 ? _d : 0,
9555
+ (_e = values[3]) !== null && _e !== void 0 ? _e : 1
9556
+ ];
9557
+ }
9558
+ calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
9559
+ if (minAvgSize != maxAvgSize) {
9560
+ let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
9561
+ let color = minColor.map((channel, index) => {
9562
+ return Math.round(channel + gradient * (maxColor[index] - channel));
9563
+ });
9564
+ return `rgb(${color.join(',')})`;
9565
+ }
9566
+ else {
9567
+ return `rgb(${minColor.join(',')})`;
9568
+ }
9569
+ }
9570
+ transformColumns(mainobj) {
9571
+ return Object.keys(mainobj).map(key => {
9572
+ return {
9573
+ visible: true,
9574
+ dataField: key,
9575
+ caption: key
9576
+ };
9577
+ });
9578
+ }
9579
+ getObjectKeys(obj) {
9580
+ return Object.keys(obj);
9581
+ }
9582
+ callServiceFunction(functionName, value) {
9583
+ if (value !== undefined) {
9584
+ if (typeof this.commonService[functionName] === "function") {
9585
+ return this.commonService[functionName](value);
9586
+ }
9587
+ else {
9588
+ console.error(`Function ${functionName} not found in CommonService`);
9589
+ return null;
9590
+ }
9591
+ }
9592
+ else {
9593
+ return "No Data";
9594
+ }
9595
+ }
9596
+ }
9597
+ GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
9598
+ 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" }] });
9599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
9600
+ type: Component,
9601
+ 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>" }]
9602
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
9603
+ type: Output
9604
+ }], oRowClick: [{
9605
+ type: Output
9606
+ }], onrightClickContextSelection: [{
9607
+ type: Output
9608
+ }], rightClickEnable: [{
9609
+ type: Input
9610
+ }], chartDataSource: [{
9611
+ type: Input,
9612
+ args: ['chartDataSource']
9613
+ }] } });
9614
+
8758
9615
  class kpicommonService {
8759
9616
  constructor(commonService) {
8760
9617
  this.commonService = commonService;
@@ -9727,7 +10584,7 @@ class CreateDatasetSqlComponent {
9727
10584
  if (newVal === '' || newVal === undefined) {
9728
10585
  }
9729
10586
  else {
9730
- fval = this.sqlFormatter.transform(val);
10587
+ fval = val;
9731
10588
  splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
9732
10589
  this.queryStringData = fval;
9733
10590
  const re = /{([^}]+)}/g;
@@ -10332,6 +11189,7 @@ class PageConfigComponent {
10332
11189
  GammSingleNumberCardComponent,
10333
11190
  GammaAdvanceOperatorTableComponent,
10334
11191
  AdvanceWidgetHeaderFilterComponent,
11192
+ GammaHeatChartComponent,
10335
11193
  GammaGeoChartComponent
10336
11194
  };
10337
11195
  this.dataSourceMataData = [];
@@ -13548,7 +14406,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13548
14406
  OflineMetricsComponent,
13549
14407
  AllMetricsConfigComponent,
13550
14408
  DashTodayPreviousComponent,
13551
- SingleCardComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
14409
+ SingleCardComponent,
14410
+ HeatMapSupportComponent,
14411
+ GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
13552
14412
  DxButtonModule,
13553
14413
  DxCheckBoxModule,
13554
14414
  DxNumberBoxModule,
@@ -13613,7 +14473,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
13613
14473
  OnlineMetricsComponent,
13614
14474
  OflineMetricsComponent,
13615
14475
  AllMetricsConfigComponent,
13616
- DashTodayPreviousComponent] });
14476
+ DashTodayPreviousComponent,
14477
+ HeatMapSupportComponent,
14478
+ GammaHeatChartComponent] });
13617
14479
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
13618
14480
  ApplicationContentService,
13619
14481
  ApplicationDatssetsCall
@@ -13704,7 +14566,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13704
14566
  OflineMetricsComponent,
13705
14567
  AllMetricsConfigComponent,
13706
14568
  DashTodayPreviousComponent,
13707
- SingleCardComponent
14569
+ SingleCardComponent,
14570
+ HeatMapSupportComponent,
14571
+ GammaHeatChartComponent
13708
14572
  ],
13709
14573
  imports: [
13710
14574
  CommonModule,
@@ -13777,7 +14641,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13777
14641
  OnlineMetricsComponent,
13778
14642
  OflineMetricsComponent,
13779
14643
  AllMetricsConfigComponent,
13780
- DashTodayPreviousComponent
14644
+ DashTodayPreviousComponent,
14645
+ HeatMapSupportComponent,
14646
+ GammaHeatChartComponent
13781
14647
  ],
13782
14648
  providers: [
13783
14649
  ApplicationContentService,
@@ -13827,5 +14693,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
13827
14693
  }]
13828
14694
  }] });
13829
14695
 
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 };
14696
+ 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
14697
  //# sourceMappingURL=gamma-app-controller.mjs.map