gamma-app-controller 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/esm2020/lib/application-controller/application-controller.module.mjs +10 -5
  2. package/esm2020/lib/application-controller/application-dataset-call.service.mjs +2 -1
  3. package/esm2020/lib/application-controller/application-dataset-component/application-dataset/application-dataset.component.mjs +2 -1
  4. package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +6 -1
  5. package/esm2020/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.mjs +2 -1
  6. package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +4 -2
  7. package/esm2020/lib/application-controller/shared/advanced-component/app-advance-header/app-header.component.mjs +15 -2
  8. package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +11 -8
  9. package/esm2020/lib/application-controller/shared/advanced-component/gamma-geo-chart/gamma-geo-chart.component.mjs +313 -0
  10. package/esm2020/lib/application-controller/support-components/dash-table/dash-table.component.mjs +16 -10
  11. package/esm2020/public-api.mjs +2 -1
  12. package/fesm2015/gamma-app-controller.mjs +366 -23
  13. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  14. package/fesm2020/gamma-app-controller.mjs +366 -23
  15. package/fesm2020/gamma-app-controller.mjs.map +1 -1
  16. package/lib/application-controller/application-controller.module.d.ts +12 -11
  17. package/lib/application-controller/page-controller/page-config/page-config.component.d.ts +2 -0
  18. package/lib/application-controller/shared/advanced-component/gamma-geo-chart/gamma-geo-chart.component.d.ts +58 -0
  19. package/package.json +1 -1
  20. package/public-api.d.ts +1 -0
@@ -2061,10 +2061,15 @@ class ApplicationFilterComponent {
2061
2061
  "apiName": "Operator Key",
2062
2062
  "apiUrl": "operator_key"
2063
2063
  };
2064
+ let context_filter = {
2065
+ "apiName": "Context Filter",
2066
+ "apiUrl": "context_filter"
2067
+ };
2064
2068
  this.kpiFilterConfigService.push(firstObject);
2065
2069
  this.kpiFilterConfigService.push(secondObject);
2066
2070
  this.kpiFilterConfigService.push(thirdObject);
2067
2071
  this.kpiFilterConfigService.push(operator_key);
2072
+ this.kpiFilterConfigService.push(context_filter);
2068
2073
  this.service.getKPIReferenceEndPoints().subscribe({
2069
2074
  next: (data) => {
2070
2075
  data.forEach(element => {
@@ -2532,6 +2537,7 @@ class ApplicationDatasetComponent {
2532
2537
  'databaseName': dataset.config.queryConfig.databaseName,
2533
2538
  'filters': this.transformDataForMFilterForSQl(dataset.config.queryConfig.mapedFilters),
2534
2539
  'templateQuery': dataset.config.queryConfig.templateQuery,
2540
+ 'enrichments': dataset.config.queryConfig.enrichments,
2535
2541
  };
2536
2542
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
2537
2543
  next: (data) => {
@@ -4157,14 +4163,6 @@ class DashTableComponent {
4157
4163
  this.taostr = taostr;
4158
4164
  this.dataSourseForTable = [];
4159
4165
  this.allConfiguredViews = [];
4160
- this.viewProperties = {
4161
- enableClickEvent: false,
4162
- enableRightClickEvent: true,
4163
- clickEventOptions: {
4164
- associatedViews: [],
4165
- eventType: ""
4166
- }
4167
- };
4168
4166
  this.optionalDrilDownDataSource = [];
4169
4167
  this.table_columns_config = {
4170
4168
  "kpiConfig": {
@@ -4215,7 +4213,7 @@ class DashTableComponent {
4215
4213
  this.table_columns_config['kpiConfig'] = value.selectedWidgetConfig;
4216
4214
  this.tableDataConfig = value.selectedWidgetConfig.dataConfig;
4217
4215
  this.tableDataConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
4218
- if (value.selectedWidgetConfig.viewProperties && value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews) {
4216
+ if (value.selectedWidgetConfig.viewProperties) {
4219
4217
  this.viewProperties = value.selectedWidgetConfig.viewProperties;
4220
4218
  this.viewProperties = {
4221
4219
  "enableClickEvent": value.selectedWidgetConfig.viewProperties.enableClickEvent,
@@ -4235,6 +4233,12 @@ class DashTableComponent {
4235
4233
  "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
4236
4234
  };
4237
4235
  }
4236
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == '') {
4237
+ this.viewProperties['clickEventOptions'] = {
4238
+ "eventType": "",
4239
+ "associatedViews": []
4240
+ };
4241
+ }
4238
4242
  else {
4239
4243
  this.viewProperties = {
4240
4244
  enableClickEvent: false,
@@ -4257,6 +4261,14 @@ class DashTableComponent {
4257
4261
  }
4258
4262
  else {
4259
4263
  this.tableDataConfig.columns = value.columnData;
4264
+ this.viewProperties = {
4265
+ enableClickEvent: false,
4266
+ enableRightClickEvent: true,
4267
+ clickEventOptions: {
4268
+ associatedViews: [],
4269
+ eventType: ""
4270
+ }
4271
+ };
4260
4272
  if (this.tableDataConfig.columns) {
4261
4273
  if (this.selectedTableViewType === 'groupTable') {
4262
4274
  this.tableDataConfig.columns.forEach(element => {
@@ -5323,6 +5335,7 @@ class CreateCompViewComponent {
5323
5335
  'databaseName': dataset.config.queryConfig.databaseName,
5324
5336
  'filters': this.transformDataForMFilterForSQl(dataset.config.queryConfig.mapedFilters),
5325
5337
  'templateQuery': dataset.config.queryConfig.templateQuery,
5338
+ 'enrichments': dataset.config.queryConfig.enrichments,
5326
5339
  };
5327
5340
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
5328
5341
  next: (data) => {
@@ -6374,7 +6387,6 @@ class AppAdvanceHeaderComponent {
6374
6387
  this.filterItemsForFilter = value;
6375
6388
  value.forEach(element => {
6376
6389
  if (element.filterType === 'date' || element.filterType === 'datetime') {
6377
- debugger;
6378
6390
  if (element.defaultFilterType === "dynamic" && element.momentFunction !== "" && element.defaultFilterValue !== "" && element.momentFormat !== "") {
6379
6391
  let [count, unit] = element.defaultFilterValue.split(',');
6380
6392
  let formattedDate = moment()[element.momentFunction](parseInt(count), unit).format(element.momentFormat);
@@ -6472,6 +6484,20 @@ class AppAdvanceHeaderComponent {
6472
6484
  }
6473
6485
  }
6474
6486
  }
6487
+ else if (element.defaultFilterType === "static" && element.defaultFilterValue !== "") {
6488
+ if (element.apiName === "startDate") {
6489
+ if (element.display) {
6490
+ displayStartDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6491
+ filter.startDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6492
+ }
6493
+ }
6494
+ if (element.apiName === "endDate") {
6495
+ if (element.display) {
6496
+ displayEndDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6497
+ filter.endDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6498
+ }
6499
+ }
6500
+ }
6475
6501
  }
6476
6502
  });
6477
6503
  if (displayStartDate && displayEndDate) {
@@ -6741,6 +6767,7 @@ class GammaAdvanceOperatorTableComponent {
6741
6767
  this.commonService = commonService;
6742
6768
  this.dataSourseForTable = [];
6743
6769
  this.isLoader = true;
6770
+ this.tableDataConfig = {};
6744
6771
  this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3"];
6745
6772
  this.activeTab = 'basic';
6746
6773
  this.getTableConfigOutPut = new EventEmitter();
@@ -6796,11 +6823,13 @@ class GammaAdvanceOperatorTableComponent {
6796
6823
  this.isLoader = false;
6797
6824
  }, 200);
6798
6825
  }
6799
- setTimeout(() => {
6800
- this.dataSourseForTable = [];
6801
- this.tableDataConfig['columns'] = [];
6802
- this.isLoader = false;
6803
- }, 200);
6826
+ else {
6827
+ setTimeout(() => {
6828
+ this.dataSourseForTable = [];
6829
+ this.tableDataConfig['columns'] = [];
6830
+ this.isLoader = false;
6831
+ }, 200);
6832
+ }
6804
6833
  }
6805
6834
  }
6806
6835
  ngOnInit() {
@@ -6874,10 +6903,10 @@ class GammaAdvanceOperatorTableComponent {
6874
6903
  }
6875
6904
  }
6876
6905
  GammaAdvanceOperatorTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaAdvanceOperatorTableComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
6877
- GammaAdvanceOperatorTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GammaAdvanceOperatorTableComponent, selector: "app-gamma-advance-operator-table", inputs: { rightClickEnable: "rightClickEnable", chartDataSource: "chartDataSource" }, outputs: { getTableConfigOutPut: "getTableConfigOutPut", oRowClick: "oRowClick", onrightClickContextSelection: "onrightClickContextSelection" }, ngImport: i0, template: "<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n <ng-container *ngIf=\"tableDataConfig.columns && tableDataConfig.columns.length !== 0\">\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" format=\"#,##0.##\"\n [sortingMethod]=\"commonService.customValueSorter\" [cellTemplate]=\"item.dataField\"\n [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\" alignment=\"left\"\n [visible]=\"item.visible\">\n </dxi-column>\n </ng-container>\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </ng-container>\n\n </dx-data-grid>\n </div>\n\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i6.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "proxyUrl", "svgToCanvas", "allowExportSelectedData", "customizeExcelCell", "excelFilterEnabled", "excelWrapTextEnabled", "ignoreExcelErrors", "texts"] }, { kind: "component", type: i9.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "customizeExportData", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "focusStateEnabled", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExported", "onExporting", "onFileSaving", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "customizeExportDataChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "focusStateEnabledChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }] });
6906
+ GammaAdvanceOperatorTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GammaAdvanceOperatorTableComponent, selector: "app-gamma-advance-operator-table", inputs: { rightClickEnable: "rightClickEnable", chartDataSource: "chartDataSource" }, outputs: { getTableConfigOutPut: "getTableConfigOutPut", oRowClick: "oRowClick", onrightClickContextSelection: "onrightClickContextSelection" }, ngImport: i0, template: "<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n <!-- <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n <ng-container *ngIf=\"tableDataConfig.columns && tableDataConfig.columns.length !== 0\">\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" format=\"#,##0.##\"\n [sortingMethod]=\"commonService.customValueSorter\" [cellTemplate]=\"item.dataField\"\n [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\" alignment=\"left\"\n [visible]=\"item.visible\">\n </dxi-column>\n </ng-container>\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </ng-container>\n\n </dx-data-grid> -->\n <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\"\n [customizeExportData]=\"commonService.removeHtmlContentFromData\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n\n <!-- <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" [sortingMethod]=\"commonService.customValueSorter\"\n [cellTemplate]=\"item.dataField\" [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\"\n alignment=\"left\" [visible]=\"item.visible\">\n </dxi-column>\n </ng-container> -->\n\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <!-- Check if column has nested columns (columnsOne structure) -->\n <dxi-column *ngIf=\"item.columns; else flatColumn\" caption=\"{{ item.caption }}\">\n <ng-container *ngFor=\"let subItem of item.columns\">\n\n <dxi-column *ngIf=\"subItem.dataField == 'recordDate'\" \n [dataField]=\"subItem.dataField\" [caption]=\"subItem.caption\"\n [visible]=\"subItem.visible\" alignment=\"left\" \n sortOrder=\"desc\"></dxi-column>\n\n <dxi-column *ngIf=\"subItem.dataField !== 'recordDate'\" [dataField]=\"subItem.dataField\" [caption]=\"subItem.caption\"\n [visible]=\"subItem.visible\" alignment=\"right\" [cellTemplate]=\"item.dataField\"\n [sortingMethod]=\"commonService.customValueSorter\"></dxi-column>\n </ng-container>\n </dxi-column>\n\n <!-- Flat column structure (columnsTwo structure) -->\n <ng-template #flatColumn>\n\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" [sortingMethod]=\"commonService.customValueSorter\"\n [cellTemplate]=\"item.dataField\" [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\"\n alignment=\"right\" [visible]=\"item.visible\">\n </dxi-column>\n\n\n <!-- <dxi-column [dataField]=\"item.dataField\" [caption]=\"item.caption\" [visible]=\"item.visible\"\n [cellTemplate]=\"item.dataField\" alignment=\"left\"\n [sortingMethod]=\"commonService.customValueSorter\"></dxi-column> -->\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </dx-data-grid>\n\n </div>\n\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i6.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "proxyUrl", "svgToCanvas", "allowExportSelectedData", "customizeExcelCell", "excelFilterEnabled", "excelWrapTextEnabled", "ignoreExcelErrors", "texts"] }, { kind: "component", type: i9.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "customizeExportData", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "focusStateEnabled", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExported", "onExporting", "onFileSaving", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "customizeExportDataChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "focusStateEnabledChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }] });
6878
6907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaAdvanceOperatorTableComponent, decorators: [{
6879
6908
  type: Component,
6880
- args: [{ selector: 'app-gamma-advance-operator-table', template: "<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n <ng-container *ngIf=\"tableDataConfig.columns && tableDataConfig.columns.length !== 0\">\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" format=\"#,##0.##\"\n [sortingMethod]=\"commonService.customValueSorter\" [cellTemplate]=\"item.dataField\"\n [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\" alignment=\"left\"\n [visible]=\"item.visible\">\n </dxi-column>\n </ng-container>\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </ng-container>\n\n </dx-data-grid>\n </div>\n\n\n</div>" }]
6909
+ args: [{ selector: 'app-gamma-advance-operator-table', template: "<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n <!-- <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n <ng-container *ngIf=\"tableDataConfig.columns && tableDataConfig.columns.length !== 0\">\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" format=\"#,##0.##\"\n [sortingMethod]=\"commonService.customValueSorter\" [cellTemplate]=\"item.dataField\"\n [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\" alignment=\"left\"\n [visible]=\"item.visible\">\n </dxi-column>\n </ng-container>\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </ng-container>\n\n </dx-data-grid> -->\n <dx-data-grid [columnAutoWidth]=\"true\" (onRowClick)=\"onRowClick($event)\" [dataSource]=\"dataSourseForTable\"\n [hoverStateEnabled]=\"true\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n *ngIf=\"!isLoader\" [columns]=\"tableDataConfig.columns\" [showRowLines]=\"true\" id=\"gridContainer\"\n (onContextMenuPreparing)=\"addMenuItems($event)\"\n [customizeExportData]=\"commonService.removeHtmlContentFromData\">\n <dxo-search-panel [highlightCaseSensitive]=\"true\"\n [visible]=\"tableDataConfig.searchPanel\"></dxo-search-panel>\n <dxo-export [enabled]=\"true\" fileName=\"{{tableDataConfig.file_name}}\"\n [customizeExcelCell]=\"commonService.customizeExcelCell\"></dxo-export>\n <dxo-paging [pageSize]=\"tableDataConfig.numberOfRow\"></dxo-paging>\n <dxo-pager [showInfo]=\"tableDataConfig.pageInfo\" [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"tableDataConfig.allowedPageSizes\">\n </dxo-pager>\n\n <!-- <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" [sortingMethod]=\"commonService.customValueSorter\"\n [cellTemplate]=\"item.dataField\" [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\"\n alignment=\"left\" [visible]=\"item.visible\">\n </dxi-column>\n </ng-container> -->\n\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <!-- Check if column has nested columns (columnsOne structure) -->\n <dxi-column *ngIf=\"item.columns; else flatColumn\" caption=\"{{ item.caption }}\">\n <ng-container *ngFor=\"let subItem of item.columns\">\n\n <dxi-column *ngIf=\"subItem.dataField == 'recordDate'\" \n [dataField]=\"subItem.dataField\" [caption]=\"subItem.caption\"\n [visible]=\"subItem.visible\" alignment=\"left\" \n sortOrder=\"desc\"></dxi-column>\n\n <dxi-column *ngIf=\"subItem.dataField !== 'recordDate'\" [dataField]=\"subItem.dataField\" [caption]=\"subItem.caption\"\n [visible]=\"subItem.visible\" alignment=\"right\" [cellTemplate]=\"item.dataField\"\n [sortingMethod]=\"commonService.customValueSorter\"></dxi-column>\n </ng-container>\n </dxi-column>\n\n <!-- Flat column structure (columnsTwo structure) -->\n <ng-template #flatColumn>\n\n <dxi-column *ngIf=\"item.dataField == 'recordDate'\" dataField=\"{{ item.dataField }}\"\n [caption]=\"item.caption\" [visible]=\"item.visible\" sortOrder=\"desc\"></dxi-column>\n\n <dxi-column *ngIf=\"item.dataField !== 'recordDate'\" [sortingMethod]=\"commonService.customValueSorter\"\n [cellTemplate]=\"item.dataField\" [caption]=\"item.caption\" dataField=\"{{ item.dataField }}\"\n alignment=\"right\" [visible]=\"item.visible\">\n </dxi-column>\n\n\n <!-- <dxi-column [dataField]=\"item.dataField\" [caption]=\"item.caption\" [visible]=\"item.visible\"\n [cellTemplate]=\"item.dataField\" alignment=\"left\"\n [sortingMethod]=\"commonService.customValueSorter\"></dxi-column> -->\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let item of tableDataConfig.columns\">\n <div *dxTemplate=\"let data of item.dataField\">\n <span [innerHTML]=\"data.value\"></span>\n </div>\n </ng-container>\n </dx-data-grid>\n\n </div>\n\n\n</div>" }]
6881
6910
  }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
6882
6911
  type: Output
6883
6912
  }], oRowClick: [{
@@ -7414,6 +7443,314 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
7414
7443
  args: ['chartDataSource']
7415
7444
  }] } });
7416
7445
 
7446
+ class GammaGeoChartComponent {
7447
+ constructor(commonService) {
7448
+ this.commonService = commonService;
7449
+ this.markers = [];
7450
+ this.bounds = new google.maps.LatLngBounds();
7451
+ this.getTableConfigOutPut = new EventEmitter();
7452
+ this.oRowClick = new EventEmitter();
7453
+ this.onrightClickContextSelection = new EventEmitter();
7454
+ this.rightClickEnable = true;
7455
+ }
7456
+ set chartDataSource(value) {
7457
+ if (value === undefined || value.length === 0) {
7458
+ return;
7459
+ }
7460
+ else {
7461
+ this.isLoader = true;
7462
+ this.page_config = value;
7463
+ this.page_parms = value.titleParams;
7464
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
7465
+ if (value.kpiConfig.formate == "monthly") {
7466
+ this.mapTYpe = value.kpiConfig.dataConfig.mapType;
7467
+ if (this.mapTYpe == "geoMap") {
7468
+ this.region = value.kpiConfig.dataConfig.region;
7469
+ this.regionCode = value.kpiConfig.dataConfig.regionCode;
7470
+ this.tootTipColumn = value.kpiConfig.dataConfig.chart_config;
7471
+ let data = value.kpiConfig.dataSource;
7472
+ this.chartHeight = `${value.kpiConfig.dataConfig.size}px`;
7473
+ this.chartType = value.kpiConfig.dataConfig.chartType;
7474
+ this.bacgroundColor = value.kpiConfig.dataConfig.backgroundColor;
7475
+ this.mapColors = value.kpiConfig.dataConfig.colors;
7476
+ const formattedData = [
7477
+ [
7478
+ value.kpiConfig.dataConfig["argumentField"],
7479
+ value.kpiConfig.dataConfig["chartValueField"],
7480
+ { type: "string", role: "tooltip", p: { html: true } },
7481
+ ],
7482
+ ].concat(data.map((item) => {
7483
+ const tooltip = this.getTooltip(item);
7484
+ return [
7485
+ item[value.kpiConfig.dataConfig["argumentField"]],
7486
+ item[value.kpiConfig.dataConfig["chartValueField"]],
7487
+ tooltip,
7488
+ ];
7489
+ }));
7490
+ this.charData = formattedData;
7491
+ setTimeout(() => {
7492
+ this.isLoader = false;
7493
+ }, 200);
7494
+ }
7495
+ else {
7496
+ this.locations = value.kpiConfig.dataSource;
7497
+ this.tootTipColumn = value.kpiConfig.dataConfig.chart_config;
7498
+ this.chartHeight = `${value.kpiConfig.dataConfig.size}px`;
7499
+ this.zoomValuForAll = parseFloat(this.page_config.kpiConfig.dataConfig.zoom);
7500
+ this.mapOptionForHeatMap = {
7501
+ zoom: this.zoomValuForAll
7502
+ };
7503
+ }
7504
+ }
7505
+ }
7506
+ }
7507
+ }
7508
+ ngOnInit() { }
7509
+ ngAfterViewInit() {
7510
+ if (this.mapTYpe == "geoMap") {
7511
+ this.loadGoogleCharts();
7512
+ }
7513
+ else if (this.mapTYpe == "heatMap") {
7514
+ if (this.page_config.kpiConfig.dataConfig.heatMapCategory == "heatMapOnly") {
7515
+ this.isLoader = false;
7516
+ this.loadGoogleHeatOnlyMaps(this.locations);
7517
+ }
7518
+ else if (this.page_config.kpiConfig.dataConfig.heatMapCategory == "heatMapMarker") {
7519
+ this.isLoader = false;
7520
+ this.initializeMap();
7521
+ this.addMarkers();
7522
+ }
7523
+ else {
7524
+ this.isLoader = false;
7525
+ this.initializeHeatWithMarkerMap(this.locations);
7526
+ }
7527
+ }
7528
+ }
7529
+ loadGoogleCharts() {
7530
+ google.charts.load("current", {
7531
+ packages: [this.chartType],
7532
+ });
7533
+ google.charts.setOnLoadCallback(this.drawChart.bind(this));
7534
+ }
7535
+ drawChart() {
7536
+ const data = google.visualization.arrayToDataTable(this.charData);
7537
+ const options = this.getOptionConfig();
7538
+ const chart = new google.visualization.GeoChart(this.googlMap.nativeElement);
7539
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7540
+ chart.draw(data, options);
7541
+ }
7542
+ getTooltip(data) {
7543
+ let toolTipData = "";
7544
+ this.tootTipColumn.forEach((element) => {
7545
+ if (typeof data[element.dataField] === 'number') {
7546
+ toolTipData +=
7547
+ "<div class='inline'><b>" +
7548
+ element.caption +
7549
+ ":</b></div> " +
7550
+ this.commonService.roundOffTillTwo(data[element.dataField], 2) +
7551
+ "<br />";
7552
+ }
7553
+ else {
7554
+ toolTipData +=
7555
+ "<div class='inline'><b>" +
7556
+ element.caption +
7557
+ ":</b></div> " +
7558
+ data[element.dataField] +
7559
+ "<br />";
7560
+ }
7561
+ });
7562
+ return toolTipData;
7563
+ }
7564
+ getOptionConfig() {
7565
+ if (this.region == 'city') {
7566
+ const options = {
7567
+ region: this.regionCode,
7568
+ displayMode: 'markers',
7569
+ backgroundColor: this.bacgroundColor,
7570
+ tooltip: { isHtml: true },
7571
+ colorAxis: { colors: this.mapColors }
7572
+ };
7573
+ return options;
7574
+ }
7575
+ else {
7576
+ const options = {
7577
+ backgroundColor: this.bacgroundColor,
7578
+ tooltip: { isHtml: true },
7579
+ colorAxis: { colors: this.mapColors }
7580
+ };
7581
+ return options;
7582
+ }
7583
+ }
7584
+ initializeMap() {
7585
+ const mapOptions = this.mapOptionForHeatMap;
7586
+ this.map = new google.maps.Map(this.googlMap.nativeElement, mapOptions);
7587
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7588
+ }
7589
+ addMarkers() {
7590
+ this.locations.forEach((location) => {
7591
+ const marker = new google.maps.Marker({
7592
+ position: {
7593
+ lat: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLatitude]),
7594
+ lng: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLongitude]),
7595
+ },
7596
+ icon: this.page_config.kpiConfig.dataConfig.icon ? {
7597
+ url: this.page_config.kpiConfig.dataConfig.icon,
7598
+ scaledSize: {
7599
+ width: 32,
7600
+ height: 32,
7601
+ },
7602
+ } : '',
7603
+ map: this.map,
7604
+ title: `${location.city}: $${location.total_sales_amount}`,
7605
+ });
7606
+ this.bounds.extend(marker.getPosition());
7607
+ this.markers.push(marker);
7608
+ let stringWithoutQuotes = this.getInfoWindoData(location);
7609
+ const infoWIndowData = this.getInfoWindoData(location);
7610
+ const infoWindow = new google.maps.InfoWindow({
7611
+ content: `<div style="height: 100%; width: 100%; color: black; font-size: 20px;">
7612
+ ${infoWIndowData}
7613
+ </div>`,
7614
+ });
7615
+ marker.addListener("click", () => {
7616
+ if (this.currentInfoWindow) {
7617
+ this.currentInfoWindow.close();
7618
+ }
7619
+ infoWindow.open(this.map, marker);
7620
+ this.currentInfoWindow = infoWindow;
7621
+ });
7622
+ });
7623
+ this.map.fitBounds(this.bounds);
7624
+ }
7625
+ getInfoWindoData(data) {
7626
+ let toolTipData = ``;
7627
+ this.tootTipColumn.forEach((element) => {
7628
+ if (typeof data[element.dataField] === "number") {
7629
+ toolTipData +=
7630
+ `<div class='inline'><b>` +
7631
+ element.caption +
7632
+ `:</b></div> ` +
7633
+ this.commonService.roundOffTillTwo(data[element.dataField], 2) +
7634
+ `<br />`;
7635
+ }
7636
+ else {
7637
+ toolTipData +=
7638
+ `<div class='inline'><b>` +
7639
+ element.caption +
7640
+ `:</b></div> ` +
7641
+ data[element.dataField] +
7642
+ `<br />`;
7643
+ }
7644
+ });
7645
+ return toolTipData;
7646
+ }
7647
+ loadGoogleHeatOnlyMaps(data) {
7648
+ this.heatmapData = [];
7649
+ data.forEach((element) => {
7650
+ let latitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLatitude]);
7651
+ let logtitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLongitude]);
7652
+ this.heatmapData.push({
7653
+ location: new google.maps.LatLng(latitude, logtitude)
7654
+ });
7655
+ this.bounds.extend(new google.maps.LatLng(latitude, logtitude));
7656
+ });
7657
+ const mapOptions = {
7658
+ zoom: this.zoomValuForAll
7659
+ };
7660
+ this.map = new google.maps.Map(this.googlMap.nativeElement, mapOptions);
7661
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7662
+ this.map.fitBounds(this.bounds);
7663
+ this.heatmap = new google.maps.visualization.HeatmapLayer({
7664
+ data: this.heatmapData,
7665
+ map: this.map,
7666
+ });
7667
+ }
7668
+ initializeHeatWithMarkerMap(data) {
7669
+ this.map = new google.maps.Map(this.googlMap.nativeElement, {
7670
+ zoom: parseFloat(this.page_config.kpiConfig.dataConfig.zoom),
7671
+ });
7672
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7673
+ this.heatmapData = [];
7674
+ data.forEach(element => {
7675
+ let latitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLatitude]);
7676
+ let logtitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLongitude]);
7677
+ this.heatmapData.push({
7678
+ location: new google.maps.LatLng(latitude, logtitude)
7679
+ });
7680
+ this.bounds.extend(new google.maps.LatLng(latitude, logtitude));
7681
+ });
7682
+ this.heatmap = new google.maps.visualization.HeatmapLayer({
7683
+ data: this.heatmapData,
7684
+ map: this.map,
7685
+ });
7686
+ this.locations.forEach((location) => {
7687
+ const marker = new google.maps.Marker({
7688
+ position: {
7689
+ lat: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLatitude]),
7690
+ lng: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLongitude]),
7691
+ },
7692
+ icon: this.page_config.kpiConfig.dataConfig.icon ? {
7693
+ url: this.page_config.kpiConfig.dataConfig.icon,
7694
+ scaledSize: {
7695
+ width: 32,
7696
+ height: 32,
7697
+ },
7698
+ } : '',
7699
+ map: this.map,
7700
+ title: `${location.city}: $${location.total_sales_amount}`,
7701
+ });
7702
+ this.bounds.extend(marker.getPosition());
7703
+ this.markers.push(marker);
7704
+ const infoWIndowData = this.getInfoWindoData(location);
7705
+ const infoWindow = new google.maps.InfoWindow({
7706
+ content: `<div style="height: 100%; width: 100%; color: black; font-size: 20px;">
7707
+ ${infoWIndowData}
7708
+ </div>`,
7709
+ });
7710
+ marker.addListener("click", () => {
7711
+ if (this.currentInfoWindow) {
7712
+ this.currentInfoWindow.close();
7713
+ }
7714
+ infoWindow.open(this.map, marker);
7715
+ this.currentInfoWindow = infoWindow;
7716
+ });
7717
+ });
7718
+ this.map.fitBounds(this.bounds);
7719
+ this.map.addListener('zoom_changed', () => this.handleZoomChange());
7720
+ }
7721
+ handleZoomChange() {
7722
+ const zoomLevel = this.map.getZoom();
7723
+ if (zoomLevel < 5) {
7724
+ this.heatmap.setMap(this.map);
7725
+ this.markers.forEach((marker) => marker.setMap(null));
7726
+ }
7727
+ else {
7728
+ this.heatmap.setMap(null);
7729
+ this.markers.forEach((marker) => marker.setMap(this.map));
7730
+ }
7731
+ }
7732
+ }
7733
+ GammaGeoChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaGeoChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
7734
+ GammaGeoChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GammaGeoChartComponent, selector: "app-gamma-geo-chart", inputs: { rightClickEnable: "rightClickEnable", chartDataSource: "chartDataSource" }, outputs: { getTableConfigOutPut: "getTableConfigOutPut", oRowClick: "oRowClick", onrightClickContextSelection: "onrightClickContextSelection" }, viewQueries: [{ propertyName: "googlMap", first: true, predicate: ["googlMap"], descendants: true }], ngImport: i0, template: "\n<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n\n <ng-container>\n <div id=\"regions_div\" #googlMap style=\"width: 100%\" ></div> \n </ng-container>\n \n \n\n </div>\n\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }] });
7735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaGeoChartComponent, decorators: [{
7736
+ type: Component,
7737
+ args: [{ selector: "app-gamma-geo-chart", template: "\n<div class=\"mx-2 bg-gray-800\">\n <ng-container *ngIf=\"isLoader\">\n <div class=\"flex justify-center items-start bg-gray-800 p-2\">\n <app-loader></app-loader>\n </div>\n </ng-container>\n\n <div class=\"mx-2 pb-2\">\n\n <ng-container>\n <div id=\"regions_div\" #googlMap style=\"width: 100%\" ></div> \n </ng-container>\n \n \n\n </div>\n\n\n</div>\n" }]
7738
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { googlMap: [{
7739
+ type: ViewChild,
7740
+ args: ["googlMap"]
7741
+ }], getTableConfigOutPut: [{
7742
+ type: Output
7743
+ }], oRowClick: [{
7744
+ type: Output
7745
+ }], onrightClickContextSelection: [{
7746
+ type: Output
7747
+ }], rightClickEnable: [{
7748
+ type: Input
7749
+ }], chartDataSource: [{
7750
+ type: Input,
7751
+ args: ["chartDataSource"]
7752
+ }] } });
7753
+
7417
7754
  class kpicommonService {
7418
7755
  constructor(commonService) {
7419
7756
  this.commonService = commonService;
@@ -8174,6 +8511,7 @@ class ApplicationDatssetsCall {
8174
8511
  'databaseName': dataset.config.queryConfig.databaseName,
8175
8512
  'filters': this.transformDataForMFilterForSQl(operator, dataset.config.queryConfig.mapedFilters),
8176
8513
  'templateQuery': dataset.config.queryConfig.templateQuery,
8514
+ 'enrichments': dataset.config.queryConfig.enrichments,
8177
8515
  };
8178
8516
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
8179
8517
  next: (data) => {
@@ -8941,7 +9279,8 @@ class PageConfigComponent {
8941
9279
  GammaTableWithPercentageComponent,
8942
9280
  GammSingleNumberCardComponent,
8943
9281
  GammaAdvanceOperatorTableComponent,
8944
- AdvanceWidgetHeaderFilterComponent
9282
+ AdvanceWidgetHeaderFilterComponent,
9283
+ GammaGeoChartComponent
8945
9284
  };
8946
9285
  this.dataSourceMataData = [];
8947
9286
  this.queryType = "mongo";
@@ -10485,7 +10824,8 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
10485
10824
  GoogleGeoMapComponent,
10486
10825
  GammaTableClumnBarChartComponent,
10487
10826
  ApplicationMenusComponent,
10488
- ApplicationCreateMenuComponent], imports: [CommonModule, i2.RouterModule, DevExtremeModule,
10827
+ ApplicationCreateMenuComponent,
10828
+ GammaGeoChartComponent], imports: [CommonModule, i2.RouterModule, DevExtremeModule,
10489
10829
  DxButtonModule,
10490
10830
  DxCheckBoxModule,
10491
10831
  DxNumberBoxModule,
@@ -10542,7 +10882,8 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
10542
10882
  GeoMapComponent,
10543
10883
  SafeHtmlPipe,
10544
10884
  GoogleGeoMapComponent,
10545
- GammaTableClumnBarChartComponent] });
10885
+ GammaTableClumnBarChartComponent,
10886
+ GammaGeoChartComponent] });
10546
10887
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
10547
10888
  ApplicationContentService,
10548
10889
  ApplicationDatssetsCall
@@ -10624,7 +10965,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10624
10965
  GoogleGeoMapComponent,
10625
10966
  GammaTableClumnBarChartComponent,
10626
10967
  ApplicationMenusComponent,
10627
- ApplicationCreateMenuComponent
10968
+ ApplicationCreateMenuComponent,
10969
+ GammaGeoChartComponent
10628
10970
  ],
10629
10971
  imports: [
10630
10972
  CommonModule,
@@ -10689,7 +11031,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10689
11031
  GeoMapComponent,
10690
11032
  SafeHtmlPipe,
10691
11033
  GoogleGeoMapComponent,
10692
- GammaTableClumnBarChartComponent
11034
+ GammaTableClumnBarChartComponent,
11035
+ GammaGeoChartComponent
10693
11036
  ],
10694
11037
  providers: [
10695
11038
  ApplicationContentService,
@@ -10739,5 +11082,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10739
11082
  }]
10740
11083
  }] });
10741
11084
 
10742
- export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, DashChartComponent, DashTableComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, PackageApplicationControllerModule, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
11085
+ export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, DashChartComponent, DashTableComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, PackageApplicationControllerModule, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
10743
11086
  //# sourceMappingURL=gamma-app-controller.mjs.map