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
@@ -2066,10 +2066,15 @@ class ApplicationFilterComponent {
2066
2066
  "apiName": "Operator Key",
2067
2067
  "apiUrl": "operator_key"
2068
2068
  };
2069
+ let context_filter = {
2070
+ "apiName": "Context Filter",
2071
+ "apiUrl": "context_filter"
2072
+ };
2069
2073
  this.kpiFilterConfigService.push(firstObject);
2070
2074
  this.kpiFilterConfigService.push(secondObject);
2071
2075
  this.kpiFilterConfigService.push(thirdObject);
2072
2076
  this.kpiFilterConfigService.push(operator_key);
2077
+ this.kpiFilterConfigService.push(context_filter);
2073
2078
  this.service.getKPIReferenceEndPoints().subscribe({
2074
2079
  next: (data) => {
2075
2080
  data.forEach(element => {
@@ -2537,6 +2542,7 @@ class ApplicationDatasetComponent {
2537
2542
  'databaseName': dataset.config.queryConfig.databaseName,
2538
2543
  'filters': this.transformDataForMFilterForSQl(dataset.config.queryConfig.mapedFilters),
2539
2544
  'templateQuery': dataset.config.queryConfig.templateQuery,
2545
+ 'enrichments': dataset.config.queryConfig.enrichments,
2540
2546
  };
2541
2547
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
2542
2548
  next: (data) => {
@@ -4160,14 +4166,6 @@ class DashTableComponent {
4160
4166
  this.taostr = taostr;
4161
4167
  this.dataSourseForTable = [];
4162
4168
  this.allConfiguredViews = [];
4163
- this.viewProperties = {
4164
- enableClickEvent: false,
4165
- enableRightClickEvent: true,
4166
- clickEventOptions: {
4167
- associatedViews: [],
4168
- eventType: ""
4169
- }
4170
- };
4171
4169
  this.optionalDrilDownDataSource = [];
4172
4170
  this.table_columns_config = {
4173
4171
  "kpiConfig": {
@@ -4218,7 +4216,7 @@ class DashTableComponent {
4218
4216
  this.table_columns_config['kpiConfig'] = value.selectedWidgetConfig;
4219
4217
  this.tableDataConfig = value.selectedWidgetConfig.dataConfig;
4220
4218
  this.tableDataConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
4221
- if (value.selectedWidgetConfig.viewProperties && value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews) {
4219
+ if (value.selectedWidgetConfig.viewProperties) {
4222
4220
  this.viewProperties = value.selectedWidgetConfig.viewProperties;
4223
4221
  this.viewProperties = {
4224
4222
  "enableClickEvent": value.selectedWidgetConfig.viewProperties.enableClickEvent,
@@ -4238,6 +4236,12 @@ class DashTableComponent {
4238
4236
  "associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
4239
4237
  };
4240
4238
  }
4239
+ else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == '') {
4240
+ this.viewProperties['clickEventOptions'] = {
4241
+ "eventType": "",
4242
+ "associatedViews": []
4243
+ };
4244
+ }
4241
4245
  else {
4242
4246
  this.viewProperties = {
4243
4247
  enableClickEvent: false,
@@ -4260,6 +4264,14 @@ class DashTableComponent {
4260
4264
  }
4261
4265
  else {
4262
4266
  this.tableDataConfig.columns = value.columnData;
4267
+ this.viewProperties = {
4268
+ enableClickEvent: false,
4269
+ enableRightClickEvent: true,
4270
+ clickEventOptions: {
4271
+ associatedViews: [],
4272
+ eventType: ""
4273
+ }
4274
+ };
4263
4275
  if (this.tableDataConfig.columns) {
4264
4276
  if (this.selectedTableViewType === 'groupTable') {
4265
4277
  this.tableDataConfig.columns.forEach(element => {
@@ -5326,6 +5338,7 @@ class CreateCompViewComponent {
5326
5338
  'databaseName': dataset.config.queryConfig.databaseName,
5327
5339
  'filters': this.transformDataForMFilterForSQl(dataset.config.queryConfig.mapedFilters),
5328
5340
  'templateQuery': dataset.config.queryConfig.templateQuery,
5341
+ 'enrichments': dataset.config.queryConfig.enrichments,
5329
5342
  };
5330
5343
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
5331
5344
  next: (data) => {
@@ -6379,7 +6392,6 @@ class AppAdvanceHeaderComponent {
6379
6392
  this.filterItemsForFilter = value;
6380
6393
  value.forEach(element => {
6381
6394
  if (element.filterType === 'date' || element.filterType === 'datetime') {
6382
- debugger;
6383
6395
  if (element.defaultFilterType === "dynamic" && element.momentFunction !== "" && element.defaultFilterValue !== "" && element.momentFormat !== "") {
6384
6396
  let [count, unit] = element.defaultFilterValue.split(',');
6385
6397
  let formattedDate = moment()[element.momentFunction](parseInt(count), unit).format(element.momentFormat);
@@ -6477,6 +6489,20 @@ class AppAdvanceHeaderComponent {
6477
6489
  }
6478
6490
  }
6479
6491
  }
6492
+ else if (element.defaultFilterType === "static" && element.defaultFilterValue !== "") {
6493
+ if (element.apiName === "startDate") {
6494
+ if (element.display) {
6495
+ displayStartDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6496
+ filter.startDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6497
+ }
6498
+ }
6499
+ if (element.apiName === "endDate") {
6500
+ if (element.display) {
6501
+ displayEndDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6502
+ filter.endDate = moment(this.selectedDates[element.apiName]).format(element.momentFormat);
6503
+ }
6504
+ }
6505
+ }
6480
6506
  }
6481
6507
  });
6482
6508
  if (displayStartDate && displayEndDate) {
@@ -6746,6 +6772,7 @@ class GammaAdvanceOperatorTableComponent {
6746
6772
  this.commonService = commonService;
6747
6773
  this.dataSourseForTable = [];
6748
6774
  this.isLoader = true;
6775
+ this.tableDataConfig = {};
6749
6776
  this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3"];
6750
6777
  this.activeTab = 'basic';
6751
6778
  this.getTableConfigOutPut = new EventEmitter();
@@ -6801,11 +6828,13 @@ class GammaAdvanceOperatorTableComponent {
6801
6828
  this.isLoader = false;
6802
6829
  }, 200);
6803
6830
  }
6804
- setTimeout(() => {
6805
- this.dataSourseForTable = [];
6806
- this.tableDataConfig['columns'] = [];
6807
- this.isLoader = false;
6808
- }, 200);
6831
+ else {
6832
+ setTimeout(() => {
6833
+ this.dataSourseForTable = [];
6834
+ this.tableDataConfig['columns'] = [];
6835
+ this.isLoader = false;
6836
+ }, 200);
6837
+ }
6809
6838
  }
6810
6839
  }
6811
6840
  ngOnInit() {
@@ -6879,10 +6908,10 @@ class GammaAdvanceOperatorTableComponent {
6879
6908
  }
6880
6909
  }
6881
6910
  GammaAdvanceOperatorTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaAdvanceOperatorTableComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
6882
- 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" }] });
6911
+ 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" }] });
6883
6912
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaAdvanceOperatorTableComponent, decorators: [{
6884
6913
  type: Component,
6885
- 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>" }]
6914
+ 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>" }]
6886
6915
  }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
6887
6916
  type: Output
6888
6917
  }], oRowClick: [{
@@ -7416,6 +7445,314 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
7416
7445
  args: ['chartDataSource']
7417
7446
  }] } });
7418
7447
 
7448
+ class GammaGeoChartComponent {
7449
+ constructor(commonService) {
7450
+ this.commonService = commonService;
7451
+ this.markers = [];
7452
+ this.bounds = new google.maps.LatLngBounds();
7453
+ this.getTableConfigOutPut = new EventEmitter();
7454
+ this.oRowClick = new EventEmitter();
7455
+ this.onrightClickContextSelection = new EventEmitter();
7456
+ this.rightClickEnable = true;
7457
+ }
7458
+ set chartDataSource(value) {
7459
+ if (value === undefined || value.length === 0) {
7460
+ return;
7461
+ }
7462
+ else {
7463
+ this.isLoader = true;
7464
+ this.page_config = value;
7465
+ this.page_parms = value.titleParams;
7466
+ if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
7467
+ if (value.kpiConfig.formate == "monthly") {
7468
+ this.mapTYpe = value.kpiConfig.dataConfig.mapType;
7469
+ if (this.mapTYpe == "geoMap") {
7470
+ this.region = value.kpiConfig.dataConfig.region;
7471
+ this.regionCode = value.kpiConfig.dataConfig.regionCode;
7472
+ this.tootTipColumn = value.kpiConfig.dataConfig.chart_config;
7473
+ let data = value.kpiConfig.dataSource;
7474
+ this.chartHeight = `${value.kpiConfig.dataConfig.size}px`;
7475
+ this.chartType = value.kpiConfig.dataConfig.chartType;
7476
+ this.bacgroundColor = value.kpiConfig.dataConfig.backgroundColor;
7477
+ this.mapColors = value.kpiConfig.dataConfig.colors;
7478
+ const formattedData = [
7479
+ [
7480
+ value.kpiConfig.dataConfig["argumentField"],
7481
+ value.kpiConfig.dataConfig["chartValueField"],
7482
+ { type: "string", role: "tooltip", p: { html: true } },
7483
+ ],
7484
+ ].concat(data.map((item) => {
7485
+ const tooltip = this.getTooltip(item);
7486
+ return [
7487
+ item[value.kpiConfig.dataConfig["argumentField"]],
7488
+ item[value.kpiConfig.dataConfig["chartValueField"]],
7489
+ tooltip,
7490
+ ];
7491
+ }));
7492
+ this.charData = formattedData;
7493
+ setTimeout(() => {
7494
+ this.isLoader = false;
7495
+ }, 200);
7496
+ }
7497
+ else {
7498
+ this.locations = value.kpiConfig.dataSource;
7499
+ this.tootTipColumn = value.kpiConfig.dataConfig.chart_config;
7500
+ this.chartHeight = `${value.kpiConfig.dataConfig.size}px`;
7501
+ this.zoomValuForAll = parseFloat(this.page_config.kpiConfig.dataConfig.zoom);
7502
+ this.mapOptionForHeatMap = {
7503
+ zoom: this.zoomValuForAll
7504
+ };
7505
+ }
7506
+ }
7507
+ }
7508
+ }
7509
+ }
7510
+ ngOnInit() { }
7511
+ ngAfterViewInit() {
7512
+ if (this.mapTYpe == "geoMap") {
7513
+ this.loadGoogleCharts();
7514
+ }
7515
+ else if (this.mapTYpe == "heatMap") {
7516
+ if (this.page_config.kpiConfig.dataConfig.heatMapCategory == "heatMapOnly") {
7517
+ this.isLoader = false;
7518
+ this.loadGoogleHeatOnlyMaps(this.locations);
7519
+ }
7520
+ else if (this.page_config.kpiConfig.dataConfig.heatMapCategory == "heatMapMarker") {
7521
+ this.isLoader = false;
7522
+ this.initializeMap();
7523
+ this.addMarkers();
7524
+ }
7525
+ else {
7526
+ this.isLoader = false;
7527
+ this.initializeHeatWithMarkerMap(this.locations);
7528
+ }
7529
+ }
7530
+ }
7531
+ loadGoogleCharts() {
7532
+ google.charts.load("current", {
7533
+ packages: [this.chartType],
7534
+ });
7535
+ google.charts.setOnLoadCallback(this.drawChart.bind(this));
7536
+ }
7537
+ drawChart() {
7538
+ const data = google.visualization.arrayToDataTable(this.charData);
7539
+ const options = this.getOptionConfig();
7540
+ const chart = new google.visualization.GeoChart(this.googlMap.nativeElement);
7541
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7542
+ chart.draw(data, options);
7543
+ }
7544
+ getTooltip(data) {
7545
+ let toolTipData = "";
7546
+ this.tootTipColumn.forEach((element) => {
7547
+ if (typeof data[element.dataField] === 'number') {
7548
+ toolTipData +=
7549
+ "<div class='inline'><b>" +
7550
+ element.caption +
7551
+ ":</b></div> " +
7552
+ this.commonService.roundOffTillTwo(data[element.dataField], 2) +
7553
+ "<br />";
7554
+ }
7555
+ else {
7556
+ toolTipData +=
7557
+ "<div class='inline'><b>" +
7558
+ element.caption +
7559
+ ":</b></div> " +
7560
+ data[element.dataField] +
7561
+ "<br />";
7562
+ }
7563
+ });
7564
+ return toolTipData;
7565
+ }
7566
+ getOptionConfig() {
7567
+ if (this.region == 'city') {
7568
+ const options = {
7569
+ region: this.regionCode,
7570
+ displayMode: 'markers',
7571
+ backgroundColor: this.bacgroundColor,
7572
+ tooltip: { isHtml: true },
7573
+ colorAxis: { colors: this.mapColors }
7574
+ };
7575
+ return options;
7576
+ }
7577
+ else {
7578
+ const options = {
7579
+ backgroundColor: this.bacgroundColor,
7580
+ tooltip: { isHtml: true },
7581
+ colorAxis: { colors: this.mapColors }
7582
+ };
7583
+ return options;
7584
+ }
7585
+ }
7586
+ initializeMap() {
7587
+ const mapOptions = this.mapOptionForHeatMap;
7588
+ this.map = new google.maps.Map(this.googlMap.nativeElement, mapOptions);
7589
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7590
+ }
7591
+ addMarkers() {
7592
+ this.locations.forEach((location) => {
7593
+ const marker = new google.maps.Marker({
7594
+ position: {
7595
+ lat: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLatitude]),
7596
+ lng: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLongitude]),
7597
+ },
7598
+ icon: this.page_config.kpiConfig.dataConfig.icon ? {
7599
+ url: this.page_config.kpiConfig.dataConfig.icon,
7600
+ scaledSize: {
7601
+ width: 32,
7602
+ height: 32,
7603
+ },
7604
+ } : '',
7605
+ map: this.map,
7606
+ title: `${location.city}: $${location.total_sales_amount}`,
7607
+ });
7608
+ this.bounds.extend(marker.getPosition());
7609
+ this.markers.push(marker);
7610
+ let stringWithoutQuotes = this.getInfoWindoData(location);
7611
+ const infoWIndowData = this.getInfoWindoData(location);
7612
+ const infoWindow = new google.maps.InfoWindow({
7613
+ content: `<div style="height: 100%; width: 100%; color: black; font-size: 20px;">
7614
+ ${infoWIndowData}
7615
+ </div>`,
7616
+ });
7617
+ marker.addListener("click", () => {
7618
+ if (this.currentInfoWindow) {
7619
+ this.currentInfoWindow.close();
7620
+ }
7621
+ infoWindow.open(this.map, marker);
7622
+ this.currentInfoWindow = infoWindow;
7623
+ });
7624
+ });
7625
+ this.map.fitBounds(this.bounds);
7626
+ }
7627
+ getInfoWindoData(data) {
7628
+ let toolTipData = ``;
7629
+ this.tootTipColumn.forEach((element) => {
7630
+ if (typeof data[element.dataField] === "number") {
7631
+ toolTipData +=
7632
+ `<div class='inline'><b>` +
7633
+ element.caption +
7634
+ `:</b></div> ` +
7635
+ this.commonService.roundOffTillTwo(data[element.dataField], 2) +
7636
+ `<br />`;
7637
+ }
7638
+ else {
7639
+ toolTipData +=
7640
+ `<div class='inline'><b>` +
7641
+ element.caption +
7642
+ `:</b></div> ` +
7643
+ data[element.dataField] +
7644
+ `<br />`;
7645
+ }
7646
+ });
7647
+ return toolTipData;
7648
+ }
7649
+ loadGoogleHeatOnlyMaps(data) {
7650
+ this.heatmapData = [];
7651
+ data.forEach((element) => {
7652
+ let latitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLatitude]);
7653
+ let logtitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLongitude]);
7654
+ this.heatmapData.push({
7655
+ location: new google.maps.LatLng(latitude, logtitude)
7656
+ });
7657
+ this.bounds.extend(new google.maps.LatLng(latitude, logtitude));
7658
+ });
7659
+ const mapOptions = {
7660
+ zoom: this.zoomValuForAll
7661
+ };
7662
+ this.map = new google.maps.Map(this.googlMap.nativeElement, mapOptions);
7663
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7664
+ this.map.fitBounds(this.bounds);
7665
+ this.heatmap = new google.maps.visualization.HeatmapLayer({
7666
+ data: this.heatmapData,
7667
+ map: this.map,
7668
+ });
7669
+ }
7670
+ initializeHeatWithMarkerMap(data) {
7671
+ this.map = new google.maps.Map(this.googlMap.nativeElement, {
7672
+ zoom: parseFloat(this.page_config.kpiConfig.dataConfig.zoom),
7673
+ });
7674
+ this.googlMap.nativeElement.style.height = this.chartHeight;
7675
+ this.heatmapData = [];
7676
+ data.forEach(element => {
7677
+ let latitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLatitude]);
7678
+ let logtitude = parseFloat(element[this.page_config.kpiConfig.dataConfig.markerLongitude]);
7679
+ this.heatmapData.push({
7680
+ location: new google.maps.LatLng(latitude, logtitude)
7681
+ });
7682
+ this.bounds.extend(new google.maps.LatLng(latitude, logtitude));
7683
+ });
7684
+ this.heatmap = new google.maps.visualization.HeatmapLayer({
7685
+ data: this.heatmapData,
7686
+ map: this.map,
7687
+ });
7688
+ this.locations.forEach((location) => {
7689
+ const marker = new google.maps.Marker({
7690
+ position: {
7691
+ lat: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLatitude]),
7692
+ lng: parseFloat(location[this.page_config.kpiConfig.dataConfig.markerLongitude]),
7693
+ },
7694
+ icon: this.page_config.kpiConfig.dataConfig.icon ? {
7695
+ url: this.page_config.kpiConfig.dataConfig.icon,
7696
+ scaledSize: {
7697
+ width: 32,
7698
+ height: 32,
7699
+ },
7700
+ } : '',
7701
+ map: this.map,
7702
+ title: `${location.city}: $${location.total_sales_amount}`,
7703
+ });
7704
+ this.bounds.extend(marker.getPosition());
7705
+ this.markers.push(marker);
7706
+ const infoWIndowData = this.getInfoWindoData(location);
7707
+ const infoWindow = new google.maps.InfoWindow({
7708
+ content: `<div style="height: 100%; width: 100%; color: black; font-size: 20px;">
7709
+ ${infoWIndowData}
7710
+ </div>`,
7711
+ });
7712
+ marker.addListener("click", () => {
7713
+ if (this.currentInfoWindow) {
7714
+ this.currentInfoWindow.close();
7715
+ }
7716
+ infoWindow.open(this.map, marker);
7717
+ this.currentInfoWindow = infoWindow;
7718
+ });
7719
+ });
7720
+ this.map.fitBounds(this.bounds);
7721
+ this.map.addListener('zoom_changed', () => this.handleZoomChange());
7722
+ }
7723
+ handleZoomChange() {
7724
+ const zoomLevel = this.map.getZoom();
7725
+ if (zoomLevel < 5) {
7726
+ this.heatmap.setMap(this.map);
7727
+ this.markers.forEach((marker) => marker.setMap(null));
7728
+ }
7729
+ else {
7730
+ this.heatmap.setMap(null);
7731
+ this.markers.forEach((marker) => marker.setMap(this.map));
7732
+ }
7733
+ }
7734
+ }
7735
+ GammaGeoChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaGeoChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
7736
+ 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" }] });
7737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaGeoChartComponent, decorators: [{
7738
+ type: Component,
7739
+ 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" }]
7740
+ }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { googlMap: [{
7741
+ type: ViewChild,
7742
+ args: ["googlMap"]
7743
+ }], getTableConfigOutPut: [{
7744
+ type: Output
7745
+ }], oRowClick: [{
7746
+ type: Output
7747
+ }], onrightClickContextSelection: [{
7748
+ type: Output
7749
+ }], rightClickEnable: [{
7750
+ type: Input
7751
+ }], chartDataSource: [{
7752
+ type: Input,
7753
+ args: ["chartDataSource"]
7754
+ }] } });
7755
+
7419
7756
  class kpicommonService {
7420
7757
  constructor(commonService) {
7421
7758
  this.commonService = commonService;
@@ -8176,6 +8513,7 @@ class ApplicationDatssetsCall {
8176
8513
  'databaseName': dataset.config.queryConfig.databaseName,
8177
8514
  'filters': this.transformDataForMFilterForSQl(operator, dataset.config.queryConfig.mapedFilters),
8178
8515
  'templateQuery': dataset.config.queryConfig.templateQuery,
8516
+ 'enrichments': dataset.config.queryConfig.enrichments,
8179
8517
  };
8180
8518
  this.service.genericSqlQueryResponse(requestAp, request_params).subscribe({
8181
8519
  next: (data) => {
@@ -8943,7 +9281,8 @@ class PageConfigComponent {
8943
9281
  GammaTableWithPercentageComponent,
8944
9282
  GammSingleNumberCardComponent,
8945
9283
  GammaAdvanceOperatorTableComponent,
8946
- AdvanceWidgetHeaderFilterComponent
9284
+ AdvanceWidgetHeaderFilterComponent,
9285
+ GammaGeoChartComponent
8947
9286
  };
8948
9287
  this.dataSourceMataData = [];
8949
9288
  this.queryType = "mongo";
@@ -10486,7 +10825,8 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
10486
10825
  GoogleGeoMapComponent,
10487
10826
  GammaTableClumnBarChartComponent,
10488
10827
  ApplicationMenusComponent,
10489
- ApplicationCreateMenuComponent], imports: [CommonModule, i2.RouterModule, DevExtremeModule,
10828
+ ApplicationCreateMenuComponent,
10829
+ GammaGeoChartComponent], imports: [CommonModule, i2.RouterModule, DevExtremeModule,
10490
10830
  DxButtonModule,
10491
10831
  DxCheckBoxModule,
10492
10832
  DxNumberBoxModule,
@@ -10543,7 +10883,8 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
10543
10883
  GeoMapComponent,
10544
10884
  SafeHtmlPipe,
10545
10885
  GoogleGeoMapComponent,
10546
- GammaTableClumnBarChartComponent] });
10886
+ GammaTableClumnBarChartComponent,
10887
+ GammaGeoChartComponent] });
10547
10888
  PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
10548
10889
  ApplicationContentService,
10549
10890
  ApplicationDatssetsCall
@@ -10625,7 +10966,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10625
10966
  GoogleGeoMapComponent,
10626
10967
  GammaTableClumnBarChartComponent,
10627
10968
  ApplicationMenusComponent,
10628
- ApplicationCreateMenuComponent
10969
+ ApplicationCreateMenuComponent,
10970
+ GammaGeoChartComponent
10629
10971
  ],
10630
10972
  imports: [
10631
10973
  CommonModule,
@@ -10690,7 +11032,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10690
11032
  GeoMapComponent,
10691
11033
  SafeHtmlPipe,
10692
11034
  GoogleGeoMapComponent,
10693
- GammaTableClumnBarChartComponent
11035
+ GammaTableClumnBarChartComponent,
11036
+ GammaGeoChartComponent
10694
11037
  ],
10695
11038
  providers: [
10696
11039
  ApplicationContentService,
@@ -10740,5 +11083,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
10740
11083
  }]
10741
11084
  }] });
10742
11085
 
10743
- 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 };
11086
+ 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 };
10744
11087
  //# sourceMappingURL=gamma-app-controller.mjs.map