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