gamma-app-controller 1.1.12 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/application-controller/application-controller.module.mjs +15 -5
- package/esm2020/lib/application-controller/application-dataset-component/create-dataset/create-dataset.component.mjs +8 -1
- package/esm2020/lib/application-controller/application-dataset-component/create-dataset-sql/create-dataset-sql.component.mjs +18 -8
- package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +26 -17
- package/esm2020/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.mjs +10 -10
- package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +23 -1
- package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +1 -2
- package/esm2020/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.mjs +328 -0
- package/esm2020/lib/application-controller/support-components/dash-table/dash-table.component.mjs +2 -2
- package/esm2020/lib/application-controller/support-components/dash-today-previous/dash-today-previous.component.mjs +2 -2
- package/esm2020/lib/application-controller/support-components/geo-map/geo-map.component.mjs +2 -2
- package/esm2020/lib/application-controller/support-components/heat-map/heat-map.component.mjs +556 -0
- package/esm2020/lib/application-controller/support-components/single-card/single-card.component.mjs +2 -3
- package/esm2020/lib/application-controller/support-components/table-with-bar/table-with-bar.component.mjs +2 -2
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/gamma-app-controller.mjs +958 -43
- package/fesm2015/gamma-app-controller.mjs.map +1 -1
- package/fesm2020/gamma-app-controller.mjs +959 -43
- package/fesm2020/gamma-app-controller.mjs.map +1 -1
- package/lib/application-controller/application-controller.module.d.ts +13 -11
- package/lib/application-controller/application-filter/application-filter.component.d.ts +3 -1
- package/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.d.ts +1 -0
- package/lib/application-controller/page-controller/page-config/page-config.component.d.ts +3 -0
- package/lib/application-controller/shared/advanced-component/gamma-heatmap/gamma-heatmap.component.d.ts +60 -0
- package/lib/application-controller/support-components/heat-map/heat-map.component.d.ts +99 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -10,6 +10,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
10
10
|
import { DxScrollViewComponent, DevExtremeModule, DxButtonModule, DxCheckBoxModule, DxNumberBoxModule, DxDataGridModule, DxDropDownBoxModule, DxTreeViewModule, DxScrollViewModule, DxFormModule, DxAccordionModule, DxTagBoxModule, DxHtmlEditorModule, DxBulletModule, DxChartModule, DxDateBoxModule, DxLoadPanelModule, DxLookupModule, DxPivotGridModule, DxTemplateModule, DxTextAreaModule, DxValidationSummaryModule, DxValidatorModule, DxCalendarModule, DxTooltipModule, DxContextMenuModule, DxLoadIndicatorModule, DxPieChartModule, DxPopupModule, DxSelectBoxModule, DxTextBoxModule } from 'devextreme-angular';
|
|
11
11
|
import * as i8 from '@angular/forms';
|
|
12
12
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
13
|
+
import { __awaiter, __rest } from 'tslib';
|
|
13
14
|
import { confirm } from 'devextreme/ui/dialog';
|
|
14
15
|
import * as i1$1 from '@angular/common/http';
|
|
15
16
|
import { HttpHeaders } from '@angular/common/http';
|
|
@@ -26,7 +27,6 @@ import * as i11 from 'devextreme-angular/ui/date-box';
|
|
|
26
27
|
import * as i4$2 from 'devextreme-angular/ui/popup';
|
|
27
28
|
import * as i6$2 from 'devextreme-angular/ui/color-box';
|
|
28
29
|
import * as i8$1 from 'devextreme-angular/ui/tag-box';
|
|
29
|
-
import { __rest, __awaiter } from 'tslib';
|
|
30
30
|
import * as i5$1 from 'devextreme-angular/ui/chart';
|
|
31
31
|
import * as i8$2 from 'devextreme-angular/ui/pie-chart';
|
|
32
32
|
import * as i10 from 'devextreme-angular/ui/scroll-view';
|
|
@@ -2038,14 +2038,18 @@ class ApplicationFilterComponent {
|
|
|
2038
2038
|
this.getFilterDataSet();
|
|
2039
2039
|
}
|
|
2040
2040
|
getFilterDataSet() {
|
|
2041
|
-
this
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
this.
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2041
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2042
|
+
return new Promise((resolve) => {
|
|
2043
|
+
this.isLoader = true;
|
|
2044
|
+
this.service.getAppFilterConfigs().subscribe({
|
|
2045
|
+
next: (data) => {
|
|
2046
|
+
this.filterDataSource = data;
|
|
2047
|
+
this.isLoader = false;
|
|
2048
|
+
}, error: (err) => {
|
|
2049
|
+
this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'Filter Creation');
|
|
2050
|
+
}
|
|
2051
|
+
});
|
|
2052
|
+
});
|
|
2049
2053
|
});
|
|
2050
2054
|
}
|
|
2051
2055
|
addFilter() {
|
|
@@ -2094,19 +2098,24 @@ class ApplicationFilterComponent {
|
|
|
2094
2098
|
};
|
|
2095
2099
|
}
|
|
2096
2100
|
editFilter(data) {
|
|
2097
|
-
debugger;
|
|
2098
2101
|
this.creatFilterObject = data;
|
|
2099
2102
|
this.isNewFilterCreate = true;
|
|
2100
2103
|
}
|
|
2101
2104
|
deleteFilter(item) {
|
|
2102
2105
|
let result = confirm("<i>Are You Sure?</i>", "Delete Filter");
|
|
2103
2106
|
result.then((dialogResult) => {
|
|
2107
|
+
var _a;
|
|
2104
2108
|
if (dialogResult) {
|
|
2105
2109
|
this.isLoader = true;
|
|
2110
|
+
const currentPageIndex = (_a = this.dataGrid) === null || _a === void 0 ? void 0 : _a.instance.pageIndex();
|
|
2106
2111
|
this.service.deleteAppFilterConfig(item.filterId).subscribe((val) => {
|
|
2107
|
-
this.getFilterDataSet()
|
|
2108
|
-
|
|
2109
|
-
|
|
2112
|
+
this.getFilterDataSet().then(() => {
|
|
2113
|
+
if (currentPageIndex !== undefined) {
|
|
2114
|
+
this.dataGrid.instance.pageIndex(currentPageIndex);
|
|
2115
|
+
}
|
|
2116
|
+
this.isLoader = false;
|
|
2117
|
+
this.toastr.success('Filter Deleted Successfully');
|
|
2118
|
+
});
|
|
2110
2119
|
}, err => {
|
|
2111
2120
|
console.log(err);
|
|
2112
2121
|
this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'Rule Module');
|
|
@@ -2192,11 +2201,14 @@ class ApplicationFilterComponent {
|
|
|
2192
2201
|
}
|
|
2193
2202
|
}
|
|
2194
2203
|
ApplicationFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationFilterComponent, deps: [{ token: ApplicationContentService }, { token: CommonService }, { token: i2$1.ToastrService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2195
|
-
ApplicationFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ApplicationFilterComponent, selector: "app-application-filter", ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Application Filters'\"></lib-common-header>\n\n\n\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Filters\n <div class=\"ml-auto\">\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-1 px-3 rounded\"\n (click)=\"getCreateNewFilter()\">\n Add Filter\n </button>\n </div>\n </h6>\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <dx-data-grid [columnAutoWidth]=\"true\" [dataSource]=\"filterDataSource\" [hoverStateEnabled]=\"true\"\n *ngIf=\"!isLoader\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n [showRowLines]=\"true\" id=\"gridContainer\">\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxo-export [enabled]=\"true\"></dxo-export>\n\n <dxi-column dataField=\"filterName\"></dxi-column>\n <dxi-column dataField=\"filterId\"></dxi-column>\n <dxi-column dataField=\"createdBy\"></dxi-column>\n <dxi-column dataField=\"creationDate\"></dxi-column>\n <dxi-column dataField=\"action\" cellTemplate=\"cellTemplate\" [fixed]=\"true\"\n fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"editFilter(data.data)\">\n Edit\n </button>\n <button class=\"{{commonService.btn_danger_md}}\" (click)=\"deleteFilter(data.data)\">\n Delete\n </button>\n </div>\n\n\n </dx-data-grid>\n </div>\n </div>\n <div class=\"p-2 w-full\" *ngIf=\"isNewFilterCreate\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Create Filters\n\n </h6>\n <div class=\"flex flex-row my-2\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md mb-2\">Filter Name</div>\n <dx-text-box [(ngModel)]=\"creatFilterObject.filterName\"></dx-text-box>\n </div>\n </div>\n <div class=\"m-5 border\">\n <div class=\"flex flex-col flex-auto min-w-0 \">\n <div class=\"text-lg py-2 font-extrabold border-b bg-gray-700 text-white px-2\"> Select Filters\n </div>\n <div class=\"pt-2 border-x border-b \">\n <ng-container *ngFor=\"let item of creatFilterObject.filterItems; let i = index;\">\n <div class=\"my-2 flex flex-row justify-between border-b\">\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2 mt-5\"> </div>\n <dx-check-box [(ngModel)]=\"item.display\" text=\"Display\"></dx-check-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Filter Name </div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"kpiFilterConfigService\"\n displayExpr=\"apiName\" valueExpr=\"apiUrl\"\n [(ngModel)]=\"item.apiName\"></dx-select-box>\n </div>\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Operator Key Name </div>\n <dx-text-box [(ngModel)]=\"item.operatorName\"></dx-text-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Label</div>\n <dx-text-box [(ngModel)]=\"item.label\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Container</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"filter_type\"\n [(ngModel)]=\"item.filterType\"></dx-select-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter type</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"defaultFilterTypeDataSource\"\n [(ngModel)]=\"item.defaultFilterType\"\n value=\"defaultFilterTypeDataSource[0]\"></dx-select-box>\n\n </div>\n\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Function </div>\n <dx-select-box [items]=\"momentFunction\"\n [(ngModel)]=\"item.momentFunction\"></dx-select-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Query Format </div>\n <dx-text-box [(ngModel)]=\"item.queryFormat\"></dx-text-box>\n </div>\n\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'static' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Default Value </div>\n <dx-text-box \n [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType !== 'date' || item.filterType !== 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Default Value</div>\n <dx-text-box [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n </ng-container>\n\n <div class=\"px-2 mt-8 text-center\">\n <button class=\"{{commonService.btn_danger_sm}} cursor-pointer\"\n (click)=\"deleteFilters(i)\"><i class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end my-2\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\" (click)=\"addFilter()\">Add\n Columns</button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex w-full justify-end mt-5 border-t\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mx-1 my-2\" (click)=\"createFilterItems()\">\n Submit Filter\n </button>\n </div>\n\n </div>\n </div>\n\n\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "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: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: 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.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }] });
|
|
2204
|
+
ApplicationFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ApplicationFilterComponent, selector: "app-application-filter", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["gridContainer"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Application Filters'\"></lib-common-header>\n\n\n\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Filters\n <div class=\"ml-auto\">\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-1 px-3 rounded\"\n (click)=\"getCreateNewFilter()\">\n Add Filter\n </button>\n </div>\n </h6>\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <dx-data-grid [columnAutoWidth]=\"true\" [dataSource]=\"filterDataSource\" [hoverStateEnabled]=\"true\"\n *ngIf=\"!isLoader\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n [showRowLines]=\"true\" id=\"gridContainer\">\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxo-export [enabled]=\"true\"></dxo-export>\n\n <dxi-column dataField=\"filterName\"></dxi-column>\n <dxi-column dataField=\"filterId\"></dxi-column>\n <dxi-column dataField=\"createdBy\"></dxi-column>\n <dxi-column dataField=\"creationDate\"></dxi-column>\n <dxi-column dataField=\"action\" cellTemplate=\"cellTemplate\" [fixed]=\"true\"\n fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"editFilter(data.data)\">\n Edit\n </button>\n <button class=\"{{commonService.btn_danger_md}}\" (click)=\"deleteFilter(data.data)\">\n Delete\n </button>\n </div>\n\n\n </dx-data-grid>\n </div>\n </div>\n <div class=\"p-2 w-full\" *ngIf=\"isNewFilterCreate\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Create Filters\n\n </h6>\n <div class=\"flex flex-row my-2\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md mb-2\">Filter Name</div>\n <dx-text-box [(ngModel)]=\"creatFilterObject.filterName\"></dx-text-box>\n </div>\n </div>\n <div class=\"m-5 border\">\n <div class=\"flex flex-col flex-auto min-w-0 \">\n <div class=\"text-lg py-2 font-extrabold border-b bg-gray-700 text-white px-2\"> Select Filters\n </div>\n <div class=\"pt-2 border-x border-b \">\n <ng-container *ngFor=\"let item of creatFilterObject.filterItems; let i = index;\">\n <div class=\"my-2 flex flex-row justify-between border-b\">\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2 mt-5\"> </div>\n <dx-check-box [(ngModel)]=\"item.display\" text=\"Display\"></dx-check-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Filter Name </div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"kpiFilterConfigService\"\n displayExpr=\"apiName\" valueExpr=\"apiUrl\"\n [(ngModel)]=\"item.apiName\"></dx-select-box>\n </div>\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Operator Key Name </div>\n <dx-text-box [(ngModel)]=\"item.operatorName\"></dx-text-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Label</div>\n <dx-text-box [(ngModel)]=\"item.label\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Container</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"filter_type\"\n [(ngModel)]=\"item.filterType\"></dx-select-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter type</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"defaultFilterTypeDataSource\"\n [(ngModel)]=\"item.defaultFilterType\"\n value=\"defaultFilterTypeDataSource[0]\"></dx-select-box>\n\n </div>\n\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Function </div>\n <dx-select-box [items]=\"momentFunction\"\n [(ngModel)]=\"item.momentFunction\"></dx-select-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Query Format </div>\n <dx-text-box [(ngModel)]=\"item.queryFormat\"></dx-text-box>\n </div>\n\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'static' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Default Value </div>\n <dx-text-box \n [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType !== 'date' || item.filterType !== 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Default Value</div>\n <dx-text-box [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n </ng-container>\n\n <div class=\"px-2 mt-8 text-center\">\n <button class=\"{{commonService.btn_danger_sm}} cursor-pointer\"\n (click)=\"deleteFilters(i)\"><i class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end my-2\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\" (click)=\"addFilter()\">Add\n Columns</button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex w-full justify-end mt-5 border-t\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mx-1 my-2\" (click)=\"createFilterItems()\">\n Submit Filter\n </button>\n </div>\n\n </div>\n </div>\n\n\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "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: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: 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.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }] });
|
|
2196
2205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationFilterComponent, decorators: [{
|
|
2197
2206
|
type: Component,
|
|
2198
2207
|
args: [{ selector: 'app-application-filter', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Application Filters'\"></lib-common-header>\n\n\n\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Filters\n <div class=\"ml-auto\">\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-1 px-3 rounded\"\n (click)=\"getCreateNewFilter()\">\n Add Filter\n </button>\n </div>\n </h6>\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <dx-data-grid [columnAutoWidth]=\"true\" [dataSource]=\"filterDataSource\" [hoverStateEnabled]=\"true\"\n *ngIf=\"!isLoader\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\" [showColumnLines]=\"true\"\n [showRowLines]=\"true\" id=\"gridContainer\">\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxo-export [enabled]=\"true\"></dxo-export>\n\n <dxi-column dataField=\"filterName\"></dxi-column>\n <dxi-column dataField=\"filterId\"></dxi-column>\n <dxi-column dataField=\"createdBy\"></dxi-column>\n <dxi-column dataField=\"creationDate\"></dxi-column>\n <dxi-column dataField=\"action\" cellTemplate=\"cellTemplate\" [fixed]=\"true\"\n fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"editFilter(data.data)\">\n Edit\n </button>\n <button class=\"{{commonService.btn_danger_md}}\" (click)=\"deleteFilter(data.data)\">\n Delete\n </button>\n </div>\n\n\n </dx-data-grid>\n </div>\n </div>\n <div class=\"p-2 w-full\" *ngIf=\"isNewFilterCreate\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6\n class=\"mb-2 font-bold text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Create Filters\n\n </h6>\n <div class=\"flex flex-row my-2\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md mb-2\">Filter Name</div>\n <dx-text-box [(ngModel)]=\"creatFilterObject.filterName\"></dx-text-box>\n </div>\n </div>\n <div class=\"m-5 border\">\n <div class=\"flex flex-col flex-auto min-w-0 \">\n <div class=\"text-lg py-2 font-extrabold border-b bg-gray-700 text-white px-2\"> Select Filters\n </div>\n <div class=\"pt-2 border-x border-b \">\n <ng-container *ngFor=\"let item of creatFilterObject.filterItems; let i = index;\">\n <div class=\"my-2 flex flex-row justify-between border-b\">\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2 mt-5\"> </div>\n <dx-check-box [(ngModel)]=\"item.display\" text=\"Display\"></dx-check-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Filter Name </div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"kpiFilterConfigService\"\n displayExpr=\"apiName\" valueExpr=\"apiUrl\"\n [(ngModel)]=\"item.apiName\"></dx-select-box>\n </div>\n\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\">Operator Key Name </div>\n <dx-text-box [(ngModel)]=\"item.operatorName\"></dx-text-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Label</div>\n <dx-text-box [(ngModel)]=\"item.label\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Container</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"filter_type\"\n [(ngModel)]=\"item.filterType\"></dx-select-box>\n\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter type</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"defaultFilterTypeDataSource\"\n [(ngModel)]=\"item.defaultFilterType\"\n value=\"defaultFilterTypeDataSource[0]\"></dx-select-box>\n\n </div>\n\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Function </div>\n <dx-select-box [items]=\"momentFunction\"\n [(ngModel)]=\"item.momentFunction\"></dx-select-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Query Format </div>\n <dx-text-box [(ngModel)]=\"item.queryFormat\"></dx-text-box>\n </div>\n\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'static' && (item.filterType == 'date' || item.filterType == 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Default Value </div>\n <dx-text-box \n [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Display Format </div>\n <dx-text-box [(ngModel)]=\"item.momentFormat\"></dx-text-box>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"item.defaultFilterType == 'dynamic' && (item.filterType !== 'date' || item.filterType !== 'datetime')\">\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> FIlter Default Value</div>\n <dx-text-box [(ngModel)]=\"item.defaultFilterValue\"></dx-text-box>\n </div>\n </ng-container>\n\n <div class=\"px-2 mt-8 text-center\">\n <button class=\"{{commonService.btn_danger_sm}} cursor-pointer\"\n (click)=\"deleteFilters(i)\"><i class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end my-2\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\" (click)=\"addFilter()\">Add\n Columns</button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex w-full justify-end mt-5 border-t\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mx-1 my-2\" (click)=\"createFilterItems()\">\n Submit Filter\n </button>\n </div>\n\n </div>\n </div>\n\n\n\n</div>" }]
|
|
2199
|
-
}], ctorParameters: function () { return [{ type: ApplicationContentService }, { type: CommonService }, { type: i2$1.ToastrService }, { type: i4.Router }]; }
|
|
2208
|
+
}], ctorParameters: function () { return [{ type: ApplicationContentService }, { type: CommonService }, { type: i2$1.ToastrService }, { type: i4.Router }]; }, propDecorators: { dataGrid: [{
|
|
2209
|
+
type: ViewChild,
|
|
2210
|
+
args: ['gridContainer', { static: false }]
|
|
2211
|
+
}] } });
|
|
2200
2212
|
|
|
2201
2213
|
class kpicommonService$2 {
|
|
2202
2214
|
getAllSeviceApiJson(apiJsonObject) {
|
|
@@ -3895,7 +3907,7 @@ class GeoMapComponent {
|
|
|
3895
3907
|
"backgroundColor": "#6c98e0",
|
|
3896
3908
|
"colors": ['#003566', '#fd0000']
|
|
3897
3909
|
};
|
|
3898
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator"];
|
|
3910
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "formatBytesv2"];
|
|
3899
3911
|
this.isLoader = true;
|
|
3900
3912
|
this.activeTab = 'basic';
|
|
3901
3913
|
this.createOtherComponentView = new EventEmitter();
|
|
@@ -4475,7 +4487,7 @@ class DashTableComponent {
|
|
|
4475
4487
|
"isSearchBox": false
|
|
4476
4488
|
}
|
|
4477
4489
|
};
|
|
4478
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
4490
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
4479
4491
|
this.isLoader = true;
|
|
4480
4492
|
this.activeTab = 'basic';
|
|
4481
4493
|
this.getTableConfigOutPut = new EventEmitter();
|
|
@@ -4903,7 +4915,7 @@ class TableWithBarComponent {
|
|
|
4903
4915
|
"isSearchBox": false
|
|
4904
4916
|
}
|
|
4905
4917
|
};
|
|
4906
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
4918
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
4907
4919
|
this.isLoader = true;
|
|
4908
4920
|
this.activeTab = 'basic';
|
|
4909
4921
|
this.createOtherComponentView = new EventEmitter();
|
|
@@ -5139,7 +5151,7 @@ class DashTodayPreviousComponent {
|
|
|
5139
5151
|
"sortBy": [],
|
|
5140
5152
|
"columns": []
|
|
5141
5153
|
};
|
|
5142
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
5154
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5143
5155
|
this.isLoader = true;
|
|
5144
5156
|
this.activeTab = 'basic';
|
|
5145
5157
|
this.gettodayPreviousConfigOutPut = new EventEmitter();
|
|
@@ -5400,7 +5412,7 @@ class SingleCardComponent {
|
|
|
5400
5412
|
"sortBy": [],
|
|
5401
5413
|
"columns": []
|
|
5402
5414
|
};
|
|
5403
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
5415
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5404
5416
|
this.isLoader = true;
|
|
5405
5417
|
this.activeTab = 'basic';
|
|
5406
5418
|
this.getSingleCardConfigOutPut = new EventEmitter();
|
|
@@ -5587,7 +5599,6 @@ class SingleCardComponent {
|
|
|
5587
5599
|
return newColumns;
|
|
5588
5600
|
}
|
|
5589
5601
|
getSaveConfig() {
|
|
5590
|
-
debugger;
|
|
5591
5602
|
if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
5592
5603
|
this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
|
|
5593
5604
|
}
|
|
@@ -5635,6 +5646,546 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
5635
5646
|
args: ['datasetmodal']
|
|
5636
5647
|
}] } });
|
|
5637
5648
|
|
|
5649
|
+
class HeatMapSupportComponent {
|
|
5650
|
+
constructor(toastrService, commonService, cdr, service) {
|
|
5651
|
+
this.toastrService = toastrService;
|
|
5652
|
+
this.commonService = commonService;
|
|
5653
|
+
this.cdr = cdr;
|
|
5654
|
+
this.service = service;
|
|
5655
|
+
this.isAdvanceFilter = false;
|
|
5656
|
+
this.isHeatMapClick = false;
|
|
5657
|
+
this.heatChartDataSource = {};
|
|
5658
|
+
this.chartDataForTooltip = {};
|
|
5659
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5660
|
+
this.heatmapChartConfig = {
|
|
5661
|
+
"chartFormat": "",
|
|
5662
|
+
"topArgument": "",
|
|
5663
|
+
"leftArgument": "",
|
|
5664
|
+
"color": [],
|
|
5665
|
+
"type": "",
|
|
5666
|
+
"formate": "",
|
|
5667
|
+
"columns": [
|
|
5668
|
+
{
|
|
5669
|
+
"visible": true,
|
|
5670
|
+
"dataField": "",
|
|
5671
|
+
"caption": "",
|
|
5672
|
+
"enrichName": "",
|
|
5673
|
+
}
|
|
5674
|
+
],
|
|
5675
|
+
"commonConfig": {
|
|
5676
|
+
"title": "",
|
|
5677
|
+
"dataField": "",
|
|
5678
|
+
"checkedKey": "",
|
|
5679
|
+
"isSearchBox": false
|
|
5680
|
+
}
|
|
5681
|
+
};
|
|
5682
|
+
this.heatmap_content_config = {
|
|
5683
|
+
"kpiConfig": {
|
|
5684
|
+
"serviceId": "",
|
|
5685
|
+
"api": "/kpi/trends/network/get-metric-data",
|
|
5686
|
+
"displayType": "table",
|
|
5687
|
+
"formate": "",
|
|
5688
|
+
"keyToPass": [],
|
|
5689
|
+
"componentName": "GammaHeatChartComponent",
|
|
5690
|
+
"dataConfig": {}
|
|
5691
|
+
},
|
|
5692
|
+
};
|
|
5693
|
+
this.dataSourseForHeatMap = [];
|
|
5694
|
+
this.viewProperties = {
|
|
5695
|
+
enableClickEvent: false,
|
|
5696
|
+
enableRightClickEvent: true,
|
|
5697
|
+
clickEventOptions: {
|
|
5698
|
+
associatedViews: [],
|
|
5699
|
+
eventType: ""
|
|
5700
|
+
}
|
|
5701
|
+
};
|
|
5702
|
+
this.optionalDrilDownDataSource = [];
|
|
5703
|
+
this.isLoader = true;
|
|
5704
|
+
this.activeTab = 'basic';
|
|
5705
|
+
this.allConfiguredViews = [];
|
|
5706
|
+
this.colorArray = [];
|
|
5707
|
+
this.firstColor = "rgba(45, 110, 18, 1)";
|
|
5708
|
+
this.secondColor = "rgba(255, 204, 0, 1)";
|
|
5709
|
+
this.singleColor = "rgba(255, 204, 0, 1)";
|
|
5710
|
+
this.test_voice_data = [{
|
|
5711
|
+
record_date: '20250527',
|
|
5712
|
+
dataset: [
|
|
5713
|
+
{ other_party_iso: 'YEM', total_charge: 184357176 },
|
|
5714
|
+
{ other_party_iso: 'ERI', total_charge: 115262500 },
|
|
5715
|
+
{ other_party_iso: 'BGD', total_charge: 83289614 },
|
|
5716
|
+
{ other_party_iso: 'ETH', total_charge: 79004500 },
|
|
5717
|
+
{ other_party_iso: 'PAK', total_charge: 76992454 },
|
|
5718
|
+
{ other_party_iso: 'SDN', total_charge: 60480400 },
|
|
5719
|
+
{ other_party_iso: 'IND', total_charge: 38892858 },
|
|
5720
|
+
{ other_party_iso: 'EGY', total_charge: 37769744 },
|
|
5721
|
+
{ other_party_iso: 'NPL', total_charge: 17214000 },
|
|
5722
|
+
{ other_party_iso: 'AFG', total_charge: 7268000 },
|
|
5723
|
+
{ other_party_iso: 'TCD', total_charge: 5372500 },
|
|
5724
|
+
{ other_party_iso: 'IDN', total_charge: 4425700 },
|
|
5725
|
+
{ other_party_iso: 'UGA', total_charge: 3933300 },
|
|
5726
|
+
{ other_party_iso: 'GBR', total_charge: 3848225 }
|
|
5727
|
+
]
|
|
5728
|
+
},
|
|
5729
|
+
{
|
|
5730
|
+
record_date: '20250531',
|
|
5731
|
+
dataset: [
|
|
5732
|
+
{ other_party_iso: 'YEM', total_charge: 208699827 },
|
|
5733
|
+
{ other_party_iso: 'ERI', total_charge: 143501500 },
|
|
5734
|
+
{ other_party_iso: 'BGD', total_charge: 106296294 },
|
|
5735
|
+
{ other_party_iso: 'ETH', total_charge: 86093500 },
|
|
5736
|
+
{ other_party_iso: 'PAK', total_charge: 77428461 },
|
|
5737
|
+
{ other_party_iso: 'SDN', total_charge: 65818598 },
|
|
5738
|
+
{ other_party_iso: 'IND', total_charge: 38635175 },
|
|
5739
|
+
{ other_party_iso: 'EGY', total_charge: 37658700 },
|
|
5740
|
+
{ other_party_iso: 'NPL', total_charge: 18773200 },
|
|
5741
|
+
{ other_party_iso: 'AFG', total_charge: 8232500 },
|
|
5742
|
+
{ other_party_iso: 'TCD', total_charge: 7007500 },
|
|
5743
|
+
{ other_party_iso: 'ARE', total_charge: 4593800 },
|
|
5744
|
+
{ other_party_iso: 'IDN', total_charge: 4118800 },
|
|
5745
|
+
{ other_party_iso: 'PHL', total_charge: 4051500 }
|
|
5746
|
+
]
|
|
5747
|
+
},
|
|
5748
|
+
{
|
|
5749
|
+
record_date: '20250528',
|
|
5750
|
+
dataset: [
|
|
5751
|
+
{ other_party_iso: 'YEM', total_charge: 198943661 },
|
|
5752
|
+
{ other_party_iso: 'ERI', total_charge: 118065000 },
|
|
5753
|
+
{ other_party_iso: 'BGD', total_charge: 90980829 },
|
|
5754
|
+
{ other_party_iso: 'ETH', total_charge: 80367700 },
|
|
5755
|
+
{ other_party_iso: 'PAK', total_charge: 78018973 },
|
|
5756
|
+
{ other_party_iso: 'SDN', total_charge: 56826500 },
|
|
5757
|
+
{ other_party_iso: 'IND', total_charge: 37871625 },
|
|
5758
|
+
{ other_party_iso: 'EGY', total_charge: 33374815 },
|
|
5759
|
+
{ other_party_iso: 'NPL', total_charge: 16763400 },
|
|
5760
|
+
{ other_party_iso: 'AFG', total_charge: 7926000 },
|
|
5761
|
+
{ other_party_iso: 'TCD', total_charge: 5600000 },
|
|
5762
|
+
{ other_party_iso: 'IDN', total_charge: 4602400 },
|
|
5763
|
+
{ other_party_iso: 'GBR', total_charge: 4443625 },
|
|
5764
|
+
{ other_party_iso: 'UGA', total_charge: 4379200 }
|
|
5765
|
+
]
|
|
5766
|
+
},
|
|
5767
|
+
{
|
|
5768
|
+
record_date: '20250530',
|
|
5769
|
+
dataset: [
|
|
5770
|
+
{ other_party_iso: 'YEM', total_charge: 231378852 },
|
|
5771
|
+
{ other_party_iso: 'BGD', total_charge: 151786018 },
|
|
5772
|
+
{ other_party_iso: 'ERI', total_charge: 146782500 },
|
|
5773
|
+
{ other_party_iso: 'PAK', total_charge: 88054445 },
|
|
5774
|
+
{ other_party_iso: 'ETH', total_charge: 83635500 },
|
|
5775
|
+
{ other_party_iso: 'SDN', total_charge: 62257000 },
|
|
5776
|
+
{ other_party_iso: 'IND', total_charge: 44316500 },
|
|
5777
|
+
{ other_party_iso: 'EGY', total_charge: 29894392 },
|
|
5778
|
+
{ other_party_iso: 'NPL', total_charge: 23383500 },
|
|
5779
|
+
{ other_party_iso: 'AFG', total_charge: 8029500 },
|
|
5780
|
+
{ other_party_iso: 'TCD', total_charge: 7322500 },
|
|
5781
|
+
{ other_party_iso: 'GBR', total_charge: 4338450 },
|
|
5782
|
+
{ other_party_iso: 'IDN', total_charge: 3904400 },
|
|
5783
|
+
{ other_party_iso: 'ARE', total_charge: 3832100 }
|
|
5784
|
+
]
|
|
5785
|
+
},
|
|
5786
|
+
{
|
|
5787
|
+
record_date: '20250529',
|
|
5788
|
+
dataset: [
|
|
5789
|
+
{ other_party_iso: 'YEM', total_charge: 200906357 },
|
|
5790
|
+
{ other_party_iso: 'ERI', total_charge: 126725000 },
|
|
5791
|
+
{ other_party_iso: 'BGD', total_charge: 115287722 },
|
|
5792
|
+
{ other_party_iso: 'ETH', total_charge: 82062400 },
|
|
5793
|
+
{ other_party_iso: 'PAK', total_charge: 77260610 },
|
|
5794
|
+
{ other_party_iso: 'SDN', total_charge: 54394810 },
|
|
5795
|
+
{ other_party_iso: 'IND', total_charge: 38654000 },
|
|
5796
|
+
{ other_party_iso: 'EGY', total_charge: 34503350 },
|
|
5797
|
+
{ other_party_iso: 'NPL', total_charge: 17277100 },
|
|
5798
|
+
{ other_party_iso: 'AFG', total_charge: 7746500 },
|
|
5799
|
+
{ other_party_iso: 'TCD', total_charge: 6100000 },
|
|
5800
|
+
{ other_party_iso: 'GBR', total_charge: 4736150 },
|
|
5801
|
+
{ other_party_iso: 'IDN', total_charge: 4678900 },
|
|
5802
|
+
{ other_party_iso: 'KEN', total_charge: 4453000 }
|
|
5803
|
+
]
|
|
5804
|
+
},
|
|
5805
|
+
{
|
|
5806
|
+
record_date: '20250601',
|
|
5807
|
+
dataset: [
|
|
5808
|
+
{ other_party_iso: 'YEM', total_charge: 214287978 },
|
|
5809
|
+
{ other_party_iso: 'ERI', total_charge: 154402500 },
|
|
5810
|
+
{ other_party_iso: 'BGD', total_charge: 100204000 },
|
|
5811
|
+
{ other_party_iso: 'ETH', total_charge: 97479800 },
|
|
5812
|
+
{ other_party_iso: 'PAK', total_charge: 75391463 },
|
|
5813
|
+
{ other_party_iso: 'SDN', total_charge: 65622200 },
|
|
5814
|
+
{ other_party_iso: 'IND', total_charge: 38124497 },
|
|
5815
|
+
{ other_party_iso: 'EGY', total_charge: 35278025 },
|
|
5816
|
+
{ other_party_iso: 'NPL', total_charge: 22665000 },
|
|
5817
|
+
{ other_party_iso: 'AFG', total_charge: 6920000 },
|
|
5818
|
+
{ other_party_iso: 'UGA', total_charge: 5625100 },
|
|
5819
|
+
{ other_party_iso: 'IDN', total_charge: 5256900 },
|
|
5820
|
+
{ other_party_iso: 'TCD', total_charge: 4970000 },
|
|
5821
|
+
{ other_party_iso: 'GBR', total_charge: 4410250 }
|
|
5822
|
+
]
|
|
5823
|
+
}
|
|
5824
|
+
];
|
|
5825
|
+
this.getHeatMapConfigOutPut = new EventEmitter();
|
|
5826
|
+
}
|
|
5827
|
+
set chartconfigData(value) {
|
|
5828
|
+
if (value === undefined || value.length === 0) {
|
|
5829
|
+
return;
|
|
5830
|
+
}
|
|
5831
|
+
else {
|
|
5832
|
+
this.jsaonDatasource = value.data[0];
|
|
5833
|
+
this.configColume = Object.keys(value.data[0]);
|
|
5834
|
+
this.dataSourseForHeatMap = value.data;
|
|
5835
|
+
this.selectedViewConfigs = value;
|
|
5836
|
+
this.selectedTableViewType = value.selectedViewType;
|
|
5837
|
+
if (value.selectedWidgetConfig) {
|
|
5838
|
+
this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
|
|
5839
|
+
this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
|
|
5840
|
+
this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
|
|
5841
|
+
if (value.selectedWidgetConfig.viewProperties) {
|
|
5842
|
+
this.viewProperties = value.selectedWidgetConfig.viewProperties;
|
|
5843
|
+
if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
|
|
5844
|
+
if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
5845
|
+
this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
|
|
5846
|
+
this.viewProperties['clickEventOptions'] = {
|
|
5847
|
+
"eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
|
|
5848
|
+
"associatedViews": []
|
|
5849
|
+
};
|
|
5850
|
+
}
|
|
5851
|
+
else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
|
|
5852
|
+
this.viewProperties['clickEventOptions'] = {
|
|
5853
|
+
"eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
|
|
5854
|
+
"associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
|
|
5855
|
+
};
|
|
5856
|
+
}
|
|
5857
|
+
}
|
|
5858
|
+
else {
|
|
5859
|
+
this.viewProperties['clickEventOptions'] = {};
|
|
5860
|
+
}
|
|
5861
|
+
}
|
|
5862
|
+
this.cdr.detectChanges();
|
|
5863
|
+
}
|
|
5864
|
+
else {
|
|
5865
|
+
this.viewProperties = {
|
|
5866
|
+
enableClickEvent: false,
|
|
5867
|
+
enableRightClickEvent: true,
|
|
5868
|
+
clickEventOptions: {
|
|
5869
|
+
associatedViews: [],
|
|
5870
|
+
eventType: ""
|
|
5871
|
+
}
|
|
5872
|
+
};
|
|
5873
|
+
if (this.heatmapChartConfig.columns) {
|
|
5874
|
+
}
|
|
5875
|
+
else {
|
|
5876
|
+
this.heatmapChartConfig.columns = [];
|
|
5877
|
+
console.log(this.configColume);
|
|
5878
|
+
}
|
|
5879
|
+
this.cdr.detectChanges();
|
|
5880
|
+
}
|
|
5881
|
+
}
|
|
5882
|
+
}
|
|
5883
|
+
ngOnInit() {
|
|
5884
|
+
this.service.getAppViewConfigs().subscribe({
|
|
5885
|
+
next: (data) => {
|
|
5886
|
+
this.allConfiguredViews = data;
|
|
5887
|
+
this.isLoader = false;
|
|
5888
|
+
}, error: (err) => {
|
|
5889
|
+
this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
|
|
5890
|
+
}
|
|
5891
|
+
});
|
|
5892
|
+
if (this.optionalDrilDownDataSource.length == 0) {
|
|
5893
|
+
this.optionalDrilDownDataSource = [
|
|
5894
|
+
{
|
|
5895
|
+
'viewId': "",
|
|
5896
|
+
'filterCondition': ""
|
|
5897
|
+
}
|
|
5898
|
+
];
|
|
5899
|
+
}
|
|
5900
|
+
}
|
|
5901
|
+
getHeatmapData() {
|
|
5902
|
+
this.heatChartDataSource = {};
|
|
5903
|
+
this.isAdvanceFilter = false;
|
|
5904
|
+
if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
|
|
5905
|
+
if (this.heatmapChartConfig.chartFormat == "topx") {
|
|
5906
|
+
const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
|
|
5907
|
+
uniqueDates.sort();
|
|
5908
|
+
this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
|
|
5909
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
5910
|
+
}
|
|
5911
|
+
else if ((this.heatmapChartConfig.chartFormat == "simple")) {
|
|
5912
|
+
const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
|
|
5913
|
+
uniqueDates.sort();
|
|
5914
|
+
this.heatChartDataSource["dataSet"] = result;
|
|
5915
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
5916
|
+
}
|
|
5917
|
+
this.isHeatMapLoader = false;
|
|
5918
|
+
this.isHeatMapClick = false;
|
|
5919
|
+
}
|
|
5920
|
+
else {
|
|
5921
|
+
this.isHeatMapClick = false;
|
|
5922
|
+
this.toastrService.info("No Data Found");
|
|
5923
|
+
}
|
|
5924
|
+
}
|
|
5925
|
+
getTransposedHeatmapData(dataSet) {
|
|
5926
|
+
const transposed = [];
|
|
5927
|
+
const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
|
|
5928
|
+
for (let i = 0; i < maxBoxes; i++) {
|
|
5929
|
+
const row = [];
|
|
5930
|
+
for (let j = 0; j < dataSet.length; j++) {
|
|
5931
|
+
const box = dataSet[j].dataset[i];
|
|
5932
|
+
row.push({
|
|
5933
|
+
box: box || null,
|
|
5934
|
+
date: dataSet[j].record_date
|
|
5935
|
+
});
|
|
5936
|
+
}
|
|
5937
|
+
transposed.push(row);
|
|
5938
|
+
}
|
|
5939
|
+
return transposed;
|
|
5940
|
+
}
|
|
5941
|
+
generateDateWiseColorCodedData(data) {
|
|
5942
|
+
const result = [];
|
|
5943
|
+
const uniqueDates = new Set();
|
|
5944
|
+
const allEntries = [];
|
|
5945
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
5946
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
5947
|
+
const valueField = this.heatmapChartConfig.columns[0].dataField;
|
|
5948
|
+
data.forEach(entry => {
|
|
5949
|
+
const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
|
|
5950
|
+
uniqueDates.add(formattedDate);
|
|
5951
|
+
entry.dataset.forEach(item => {
|
|
5952
|
+
allEntries.push({
|
|
5953
|
+
[topArg]: formattedDate,
|
|
5954
|
+
[leftArg]: item[`${leftArg}`],
|
|
5955
|
+
[valueField]: item[`${valueField}`]
|
|
5956
|
+
});
|
|
5957
|
+
});
|
|
5958
|
+
});
|
|
5959
|
+
let coloredData;
|
|
5960
|
+
if (this.heatmapChartConfig.type === 'gradient') {
|
|
5961
|
+
coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
|
|
5962
|
+
}
|
|
5963
|
+
else if (this.heatmapChartConfig.type === 'twoColor') {
|
|
5964
|
+
coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
|
|
5965
|
+
}
|
|
5966
|
+
else {
|
|
5967
|
+
coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
|
|
5968
|
+
}
|
|
5969
|
+
const dateMap = {};
|
|
5970
|
+
coloredData.forEach(item => {
|
|
5971
|
+
const date = item[topArg];
|
|
5972
|
+
if (!dateMap[date]) {
|
|
5973
|
+
dateMap[date] = [];
|
|
5974
|
+
}
|
|
5975
|
+
dateMap[date].push({
|
|
5976
|
+
[leftArg]: item[leftArg],
|
|
5977
|
+
[valueField]: item[valueField],
|
|
5978
|
+
color: item.color,
|
|
5979
|
+
[topArg]: date,
|
|
5980
|
+
});
|
|
5981
|
+
});
|
|
5982
|
+
for (const date of Array.from(uniqueDates).sort()) {
|
|
5983
|
+
result.push({
|
|
5984
|
+
record_date: date,
|
|
5985
|
+
dataset: dateMap[date] || []
|
|
5986
|
+
});
|
|
5987
|
+
}
|
|
5988
|
+
return {
|
|
5989
|
+
result,
|
|
5990
|
+
uniqueDates: Array.from(uniqueDates).sort()
|
|
5991
|
+
};
|
|
5992
|
+
}
|
|
5993
|
+
generateData(data) {
|
|
5994
|
+
const result = [];
|
|
5995
|
+
const uniqueDates = new Set();
|
|
5996
|
+
const dataSourceMap = {};
|
|
5997
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
5998
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
5999
|
+
data.forEach(item => {
|
|
6000
|
+
const rowKey = item[leftArg];
|
|
6001
|
+
const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
|
|
6002
|
+
if (!dataSourceMap[rowKey]) {
|
|
6003
|
+
dataSourceMap[rowKey] = {
|
|
6004
|
+
datasource: rowKey,
|
|
6005
|
+
dataset: []
|
|
6006
|
+
};
|
|
6007
|
+
}
|
|
6008
|
+
dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
|
|
6009
|
+
uniqueDates.add(columnKey);
|
|
6010
|
+
});
|
|
6011
|
+
const uniqueDatesArray = Array.from(uniqueDates);
|
|
6012
|
+
for (const key in dataSourceMap) {
|
|
6013
|
+
const dataset = dataSourceMap[key].dataset;
|
|
6014
|
+
let formattedDataset;
|
|
6015
|
+
if (this.heatmapChartConfig.type == "gradient") {
|
|
6016
|
+
formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6017
|
+
}
|
|
6018
|
+
else if (this.heatmapChartConfig.type == "twoColor") {
|
|
6019
|
+
formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6020
|
+
}
|
|
6021
|
+
else {
|
|
6022
|
+
formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6023
|
+
}
|
|
6024
|
+
const dateToItemMap = {};
|
|
6025
|
+
formattedDataset.forEach(item => {
|
|
6026
|
+
dateToItemMap[item[topArg]] = item;
|
|
6027
|
+
});
|
|
6028
|
+
const completeDataset = uniqueDatesArray.map((date) => {
|
|
6029
|
+
if (dateToItemMap[date]) {
|
|
6030
|
+
return dateToItemMap[date];
|
|
6031
|
+
}
|
|
6032
|
+
else {
|
|
6033
|
+
return {
|
|
6034
|
+
[topArg]: date,
|
|
6035
|
+
avgSize: "No Data",
|
|
6036
|
+
fileCount: 0,
|
|
6037
|
+
fileSize: 0,
|
|
6038
|
+
color: "rgb(242, 118, 109)"
|
|
6039
|
+
};
|
|
6040
|
+
}
|
|
6041
|
+
});
|
|
6042
|
+
result.push({
|
|
6043
|
+
datasource: key,
|
|
6044
|
+
dataset: completeDataset
|
|
6045
|
+
});
|
|
6046
|
+
}
|
|
6047
|
+
return {
|
|
6048
|
+
result: result,
|
|
6049
|
+
uniqueDates: uniqueDatesArray
|
|
6050
|
+
};
|
|
6051
|
+
}
|
|
6052
|
+
getFormateDataByColorCodeForGradient(filedata, column) {
|
|
6053
|
+
filedata.forEach(item => {
|
|
6054
|
+
item.avgSize = parseFloat(item[column]);
|
|
6055
|
+
});
|
|
6056
|
+
const maxAvgSize = Math.max(...filedata.map(item => item[column]));
|
|
6057
|
+
const minAvgSize = Math.min(...filedata.map(item => item[column]));
|
|
6058
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
6059
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
6060
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
6061
|
+
filedata.forEach(item => {
|
|
6062
|
+
item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
|
|
6063
|
+
});
|
|
6064
|
+
return filedata;
|
|
6065
|
+
}
|
|
6066
|
+
getFormateDataByColorCodeForWithTwoColor(filedata, column) {
|
|
6067
|
+
filedata.forEach(item => {
|
|
6068
|
+
item[column] = parseFloat(item[column]);
|
|
6069
|
+
});
|
|
6070
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
6071
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
6072
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
6073
|
+
filedata.forEach(item => {
|
|
6074
|
+
if (item[column] == 0) {
|
|
6075
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
6076
|
+
}
|
|
6077
|
+
else {
|
|
6078
|
+
item.color = `rgb(${maxColor.join(',')})`;
|
|
6079
|
+
}
|
|
6080
|
+
});
|
|
6081
|
+
return filedata;
|
|
6082
|
+
}
|
|
6083
|
+
getFormateDataByColorCodeForWithSingleColor(filedata, column) {
|
|
6084
|
+
filedata.forEach(item => {
|
|
6085
|
+
item[column] = parseFloat(item[column]);
|
|
6086
|
+
});
|
|
6087
|
+
const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
|
|
6088
|
+
const minColor = this.parseRGBA(singleColor);
|
|
6089
|
+
filedata.forEach(item => {
|
|
6090
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
6091
|
+
});
|
|
6092
|
+
return filedata;
|
|
6093
|
+
}
|
|
6094
|
+
parseRGBA(colorStr) {
|
|
6095
|
+
var _a, _b, _c, _d, _e;
|
|
6096
|
+
const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
|
|
6097
|
+
if (values.length === 3)
|
|
6098
|
+
values.push(1);
|
|
6099
|
+
return [
|
|
6100
|
+
(_b = values[0]) !== null && _b !== void 0 ? _b : 0,
|
|
6101
|
+
(_c = values[1]) !== null && _c !== void 0 ? _c : 0,
|
|
6102
|
+
(_d = values[2]) !== null && _d !== void 0 ? _d : 0,
|
|
6103
|
+
(_e = values[3]) !== null && _e !== void 0 ? _e : 1
|
|
6104
|
+
];
|
|
6105
|
+
}
|
|
6106
|
+
calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
|
|
6107
|
+
if (minAvgSize != maxAvgSize) {
|
|
6108
|
+
let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
|
|
6109
|
+
let color = minColor.map((channel, index) => {
|
|
6110
|
+
return Math.round(channel + gradient * (maxColor[index] - channel));
|
|
6111
|
+
});
|
|
6112
|
+
return `rgb(${color.join(',')})`;
|
|
6113
|
+
}
|
|
6114
|
+
else {
|
|
6115
|
+
return `rgb(${minColor.join(',')})`;
|
|
6116
|
+
}
|
|
6117
|
+
}
|
|
6118
|
+
setActiveTab(tab) {
|
|
6119
|
+
this.activeTab = tab;
|
|
6120
|
+
}
|
|
6121
|
+
getSelectedEventType(e) {
|
|
6122
|
+
if (e.event) {
|
|
6123
|
+
this.optionalDrilDownDataSource = [];
|
|
6124
|
+
if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
|
|
6125
|
+
this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
|
|
6126
|
+
}
|
|
6127
|
+
}
|
|
6128
|
+
}
|
|
6129
|
+
resetViewProprstise() {
|
|
6130
|
+
this.viewProperties = {
|
|
6131
|
+
enableClickEvent: false,
|
|
6132
|
+
enableRightClickEvent: true,
|
|
6133
|
+
clickEventOptions: {
|
|
6134
|
+
associatedViews: [],
|
|
6135
|
+
eventType: ""
|
|
6136
|
+
}
|
|
6137
|
+
};
|
|
6138
|
+
}
|
|
6139
|
+
deleteAssociatedParams(index) {
|
|
6140
|
+
this.optionalDrilDownDataSource.splice(index, 1);
|
|
6141
|
+
}
|
|
6142
|
+
addAssociatedParams() {
|
|
6143
|
+
this.optionalDrilDownDataSource.push({
|
|
6144
|
+
'viewId': "",
|
|
6145
|
+
'filterCondition': ""
|
|
6146
|
+
});
|
|
6147
|
+
}
|
|
6148
|
+
getColorBoxVisible(e) {
|
|
6149
|
+
this.colorArray = [];
|
|
6150
|
+
}
|
|
6151
|
+
saveColors() {
|
|
6152
|
+
if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
|
|
6153
|
+
this.colorArray = [this.firstColor, this.secondColor];
|
|
6154
|
+
}
|
|
6155
|
+
else if (this.heatmapChartConfig.type == 'singleColor') {
|
|
6156
|
+
this.colorArray = [this.singleColor];
|
|
6157
|
+
}
|
|
6158
|
+
this.getHeatmapData();
|
|
6159
|
+
}
|
|
6160
|
+
getSaveChartConfig() {
|
|
6161
|
+
if (this.colorArray && this.colorArray.length !== 0) {
|
|
6162
|
+
if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
|
|
6163
|
+
this.heatmapChartConfig.color = this.colorArray;
|
|
6164
|
+
}
|
|
6165
|
+
else if (this.heatmapChartConfig.type == 'singleColor') {
|
|
6166
|
+
this.heatmapChartConfig.color = this.colorArray;
|
|
6167
|
+
}
|
|
6168
|
+
}
|
|
6169
|
+
if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
6170
|
+
this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
|
|
6171
|
+
}
|
|
6172
|
+
this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
|
|
6173
|
+
this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
|
|
6174
|
+
this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
|
|
6175
|
+
}
|
|
6176
|
+
}
|
|
6177
|
+
HeatMapSupportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, deps: [{ token: i2$1.ToastrService }, { token: CommonService }, { token: i0.ChangeDetectorRef }, { token: ApplicationContentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6178
|
+
HeatMapSupportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: { chartconfigData: ["datasetmodal", "chartconfigData"] }, outputs: { getHeatMapConfigOutPut: "getHeatMapConfigOutPut" }, ngImport: i0, template: "<div class=\"m-2\">\n <div class=\"w-full m-2 border-r\">\n <ng-container *ngIf=\"!isJsonPreview\">\n <pre><code>{{jsaonDatasource | json}}</code></pre>\n </ng-container>\n <ng-container *ngIf=\"isJsonPreview\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <!-- Heatmap Body (Top to Bottom Layout) -->\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.heatmapChartConfig.topArgument + ', Value: ' + cell.box.heatmapChartConfig.columns[0].dataField\">\n {{ cell.box.heatmapChartConfig.leftArgument }} ({{ commonService.abbreviateNumber(cell.box.heatmapChartConfig.columns[0].dataField) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n \n \n </ng-container>\n </div>\n <div class=\"w-full mx-2 border-r\">\n <div class=\"mb-4 border-b border-gray-200 dark:border-gray-700\">\n <ul class=\"flex flex-wrap -mb-px text-sm font-medium text-center\" role=\"tablist\">\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'basic',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'basic'\n }\" (click)=\"setActiveTab('basic')\" type=\"button\" role=\"tab\">\n Basic\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'columns',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'columns'\n }\" (click)=\"setActiveTab('columns')\" type=\"button\" role=\"tab\">\n Columns\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'properties',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'properties'\n }\" (click)=\"setActiveTab('properties')\" type=\"button\" role=\"tab\">\n Properties\n </button>\n </li>\n\n </ul>\n </div>\n\n <div id=\"default-styled-tab-content\">\n <div *ngIf=\"activeTab === 'basic'\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Filter Title Config\n </div>\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 flex justify-between\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Title</div>\n <dx-select-box [(ngModel)]=\"heatmapChartConfig.chartFormat\" [items]=\"['simple','topx']\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Top Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.topArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Left Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.leftArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color Usage</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"['gradient','twoColor','singleColor',]\"\n [(ngModel)]=\"heatmapChartConfig.type\"\n (onValueChanged)=\"getColorBoxVisible($event)\"></dx-select-box>\n </div>\n\n <ng-container\n *ngIf=\"heatmapChartConfig.type == 'gradient' || heatmapChartConfig.type == 'twoColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"firstColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"secondColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.type == 'singleColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"singleColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <div class=\"px-1 mb-1 w-full\" *ngIf=\"heatmapChartConfig.type !== ''\">\n <button class=\"{{commonService.btn_primary_md}} mt-6\" (click)=\"saveColors()\">Check\n View</button>\n </div>\n\n\n\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'columns'\">\n <div class=\"h-full overflow-x-auto\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 border-b flex flex-row\"\n *ngFor=\"let item of heatmapChartConfig.columns; let i = index;\">\n <div class=\"px-1 mb-2 mt-6 w-full\">\n <dx-check-box [value]=\"item.visible\" [(ngModel)]=\"item.visible\"\n text=\"Visiblity\"></dx-check-box>\n </div>\n\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Value Field</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"item.dataField\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Caption</div>\n <dx-text-box [(ngModel)]=\"item.caption\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> UI Function</div>\n <dx-select-box [items]=\"enrichNameList\" [(ngModel)]=\"item.enrichName\"\n [searchEnabled]=\"true\"></dx-select-box>\n </div>\n\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'properties'\">\n <div class=\"h-full overflow-x-auto\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <div class=\"flex flex-row justify-between border-b py-3\">\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableClickEvent\"\n [(ngModel)]=\"viewProperties.enableClickEvent\"\n text=\"Enable Click Event\"></dx-check-box>\n </div>\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableRightClickEvent\"\n [(ngModel)]=\"viewProperties.enableRightClickEvent\"\n text=\"Enable Right Click\"></dx-check-box>\n </div>\n </div>\n <div class=\"w-full p-2\" *ngIf=\"viewProperties.enableClickEvent\">\n\n <div class=\"flex flex-col flex-auto min-w-0 my-2\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Event\n Type\n Option\n </div>\n <div class=\"w-full p-3 border-x border-b \">\n <div class=\"flex flex-row\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Event Type</div>\n </div>\n <div class=\"w-full\">\n <dx-select-box\n [items]=\"['drilldown','sameViewDrilldown','optionalDrillDown']\"\n (onValueChanged)=\"getSelectedEventType($event)\"\n [(ngModel)]=\"viewProperties.clickEventOptions.eventType\"></dx-select-box>\n </div>\n </div>\n <ng-container *ngIf=\"viewProperties.clickEventOptions.eventType == 'drilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'sameViewDrilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'optionalDrillDown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <ng-container\n *ngFor=\"let item of optionalDrilDownDataSource;let i = index;\">\n\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"item.viewId\" valueExpr=\"viewId\"\n displayExpr=\"viewName\" [showSelectionControls]=\"true\"\n [maxDisplayedTags]=\"2\"\n [searchEnabled]=\"true\"></dx-tag-box>\n\n </div>\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Params</div>\n <dx-text-box\n [(ngModel)]=\"item.filterCondition\"></dx-text-box>\n </div>\n <div class=\"mx-2\">\n <button\n class=\"{{commonService.btn_danger_sm}} cursor-pointer mt-8\"\n (click)=\"deleteAssociatedParams(i)\"><i\n class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end mt-4\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\"\n (click)=\"addAssociatedParams()\">Add\n Params</button>\n </div>\n </div>\n </div>\n </ng-container>\n <button class=\"{{commonService.btn_light_md}} cursor-pointer mt-4\"\n (click)=\"resetViewProprstise()\">Reset All Event</button>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n\n\n </div>\n</div>\n\n\n<div class=\"flex flex-row border-t pl-3\">\n <div class=\"flex justify-start mx-1\">\n <button class=\"{{commonService.btn_warning_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = true\">\n Preview</button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = false\">Data\n Preview</button>\n </div>\n <div class=\"flex justify-end mx-1 flex-grow\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mt-2\"\n (click)=\"getSaveChartConfig()\">Submit</button>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$2.DxColorBoxComponent, selector: "dx-color-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyButtonText", "applyValueMode", "buttons", "cancelButtonText", "deferRendering", "disabled", "dropDownButtonTemplate", "dropDownOptions", "editAlphaChannel", "elementAttr", "fieldTemplate", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "keyStep", "label", "labelMode", "name", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showDropDownButton", "stylingMode", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onChange", "onClosed", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "cancelButtonTextChange", "deferRenderingChange", "disabledChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "editAlphaChannelChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "keyStepChange", "labelChange", "labelModeChange", "nameChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showDropDownButtonChange", "stylingModeChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i8$1.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "pipe", type: i4$1.JsonPipe, name: "json" }] });
|
|
6179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
|
|
6180
|
+
type: Component,
|
|
6181
|
+
args: [{ selector: 'app-heat-map', template: "<div class=\"m-2\">\n <div class=\"w-full m-2 border-r\">\n <ng-container *ngIf=\"!isJsonPreview\">\n <pre><code>{{jsaonDatasource | json}}</code></pre>\n </ng-container>\n <ng-container *ngIf=\"isJsonPreview\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <!-- Heatmap Body (Top to Bottom Layout) -->\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.heatmapChartConfig.topArgument + ', Value: ' + cell.box.heatmapChartConfig.columns[0].dataField\">\n {{ cell.box.heatmapChartConfig.leftArgument }} ({{ commonService.abbreviateNumber(cell.box.heatmapChartConfig.columns[0].dataField) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n \n \n </ng-container>\n </div>\n <div class=\"w-full mx-2 border-r\">\n <div class=\"mb-4 border-b border-gray-200 dark:border-gray-700\">\n <ul class=\"flex flex-wrap -mb-px text-sm font-medium text-center\" role=\"tablist\">\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'basic',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'basic'\n }\" (click)=\"setActiveTab('basic')\" type=\"button\" role=\"tab\">\n Basic\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'columns',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'columns'\n }\" (click)=\"setActiveTab('columns')\" type=\"button\" role=\"tab\">\n Columns\n </button>\n </li>\n <li class=\"me-2\" role=\"presentation\">\n <button class=\"inline-block p-4 border-b-2 rounded-t-lg\" [ngClass]=\"{\n 'text-purple-600 border-purple-600 dark:text-purple-500 dark:border-purple-500': activeTab === 'properties',\n 'text-gray-500 dark:text-gray-400 border-transparent': activeTab !== 'properties'\n }\" (click)=\"setActiveTab('properties')\" type=\"button\" role=\"tab\">\n Properties\n </button>\n </li>\n\n </ul>\n </div>\n\n <div id=\"default-styled-tab-content\">\n <div *ngIf=\"activeTab === 'basic'\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Filter Title Config\n </div>\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 flex justify-between\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Title</div>\n <dx-select-box [(ngModel)]=\"heatmapChartConfig.chartFormat\" [items]=\"['simple','topx']\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Top Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.topArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Left Argument</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"heatmapChartConfig.leftArgument\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color Usage</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"['gradient','twoColor','singleColor',]\"\n [(ngModel)]=\"heatmapChartConfig.type\"\n (onValueChanged)=\"getColorBoxVisible($event)\"></dx-select-box>\n </div>\n\n <ng-container\n *ngIf=\"heatmapChartConfig.type == 'gradient' || heatmapChartConfig.type == 'twoColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"firstColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"secondColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.type == 'singleColor'\">\n <div class=\"px-1 mb-1 w-full\">\n <div class=\"text-md mb-1\"> Color</div>\n <dx-color-box [(ngModel)]=\"singleColor\" [editAlphaChannel]=\"true\"></dx-color-box>\n </div>\n\n </ng-container>\n <div class=\"px-1 mb-1 w-full\" *ngIf=\"heatmapChartConfig.type !== ''\">\n <button class=\"{{commonService.btn_primary_md}} mt-6\" (click)=\"saveColors()\">Check\n View</button>\n </div>\n\n\n\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'columns'\">\n <div class=\"h-full overflow-x-auto\">\n <div class=\"flex flex-col flex-auto min-w-0\">\n\n <div class=\"pt-2 border-x border-b \">\n <div class=\"my-2 border-b flex flex-row\"\n *ngFor=\"let item of heatmapChartConfig.columns; let i = index;\">\n <div class=\"px-1 mb-2 mt-6 w-full\">\n <dx-check-box [value]=\"item.visible\" [(ngModel)]=\"item.visible\"\n text=\"Visiblity\"></dx-check-box>\n </div>\n\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Value Field</div>\n <dx-select-box [searchEnabled]=\"true\" [items]=\"configColume\"\n [(ngModel)]=\"item.dataField\"></dx-select-box>\n </div>\n <div class=\"px-1 mb-2 w-full\">\n <div class=\"text-md mb-2\"> Caption</div>\n <dx-text-box [(ngModel)]=\"item.caption\"></dx-text-box>\n </div>\n <div class=\"px-2 mb-2 w-full\">\n <div class=\"text-md mb-2\"> UI Function</div>\n <dx-select-box [items]=\"enrichNameList\" [(ngModel)]=\"item.enrichName\"\n [searchEnabled]=\"true\"></dx-select-box>\n </div>\n\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"activeTab === 'properties'\">\n <div class=\"h-full overflow-x-auto\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <div class=\"flex flex-row justify-between border-b py-3\">\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableClickEvent\"\n [(ngModel)]=\"viewProperties.enableClickEvent\"\n text=\"Enable Click Event\"></dx-check-box>\n </div>\n <div class=\"mx-2\">\n <dx-check-box [value]=\"viewProperties.enableRightClickEvent\"\n [(ngModel)]=\"viewProperties.enableRightClickEvent\"\n text=\"Enable Right Click\"></dx-check-box>\n </div>\n </div>\n <div class=\"w-full p-2\" *ngIf=\"viewProperties.enableClickEvent\">\n\n <div class=\"flex flex-col flex-auto min-w-0 my-2\">\n <div class=\"text-sm py-1 font-extrabold border-b bg-gray-700 text-white px-2\"> Event\n Type\n Option\n </div>\n <div class=\"w-full p-3 border-x border-b \">\n <div class=\"flex flex-row\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Event Type</div>\n </div>\n <div class=\"w-full\">\n <dx-select-box\n [items]=\"['drilldown','sameViewDrilldown','optionalDrillDown']\"\n (onValueChanged)=\"getSelectedEventType($event)\"\n [(ngModel)]=\"viewProperties.clickEventOptions.eventType\"></dx-select-box>\n </div>\n </div>\n <ng-container *ngIf=\"viewProperties.clickEventOptions.eventType == 'drilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'sameViewDrilldown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"viewProperties.clickEventOptions.associatedViews\"\n valueExpr=\"viewId\" displayExpr=\"viewName\"\n [showSelectionControls]=\"true\" [searchEnabled]=\"true\"></dx-tag-box>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"viewProperties.clickEventOptions.eventType == 'optionalDrillDown'\">\n <div class=\"flex flex-row justify-between mt-3\">\n <div class=\"w-full\">\n <ng-container\n *ngFor=\"let item of optionalDrilDownDataSource;let i = index;\">\n\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Views</div>\n <dx-tag-box [items]=\"allConfiguredViews\"\n [(ngModel)]=\"item.viewId\" valueExpr=\"viewId\"\n displayExpr=\"viewName\" [showSelectionControls]=\"true\"\n [maxDisplayedTags]=\"2\"\n [searchEnabled]=\"true\"></dx-tag-box>\n\n </div>\n <div class=\"mx-2 w-1/2\">\n <div class=\"text-md mb-2\"> Associated Params</div>\n <dx-text-box\n [(ngModel)]=\"item.filterCondition\"></dx-text-box>\n </div>\n <div class=\"mx-2\">\n <button\n class=\"{{commonService.btn_danger_sm}} cursor-pointer mt-8\"\n (click)=\"deleteAssociatedParams(i)\"><i\n class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"flex flex-row justify-end mt-4\">\n <button class=\"{{commonService.btn_primary_sm}} cursor-pointer\"\n (click)=\"addAssociatedParams()\">Add\n Params</button>\n </div>\n </div>\n </div>\n </ng-container>\n <button class=\"{{commonService.btn_light_md}} cursor-pointer mt-4\"\n (click)=\"resetViewProprstise()\">Reset All Event</button>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n\n\n </div>\n</div>\n\n\n<div class=\"flex flex-row border-t pl-3\">\n <div class=\"flex justify-start mx-1\">\n <button class=\"{{commonService.btn_warning_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = true\">\n Preview</button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mt-2\" (click)=\"isJsonPreview = false\">Data\n Preview</button>\n </div>\n <div class=\"flex justify-end mx-1 flex-grow\">\n <button class=\"{{commonService.btn_success_md}} cursor-pointer mt-2\"\n (click)=\"getSaveChartConfig()\">Submit</button>\n </div>\n</div>" }]
|
|
6182
|
+
}], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
|
|
6183
|
+
type: Output
|
|
6184
|
+
}], chartconfigData: [{
|
|
6185
|
+
type: Input,
|
|
6186
|
+
args: ['datasetmodal']
|
|
6187
|
+
}] } });
|
|
6188
|
+
|
|
5638
6189
|
class CreateCompViewComponent {
|
|
5639
6190
|
constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
|
|
5640
6191
|
this.toastr = toastr;
|
|
@@ -5645,7 +6196,6 @@ class CreateCompViewComponent {
|
|
|
5645
6196
|
this.activatedRoute = activatedRoute;
|
|
5646
6197
|
this.environment = environment;
|
|
5647
6198
|
this.selectedDataSet = {};
|
|
5648
|
-
this.isFilterInputs = false;
|
|
5649
6199
|
this.selectedDataSetOnedit = {};
|
|
5650
6200
|
this.creatCompViewObject = {};
|
|
5651
6201
|
this.componentNamesOthers = [
|
|
@@ -5871,13 +6421,9 @@ class CreateCompViewComponent {
|
|
|
5871
6421
|
}
|
|
5872
6422
|
getDatasetForSimpleApiImpala(dataset) {
|
|
5873
6423
|
this.dataSourceModal = {};
|
|
5874
|
-
let filters = {
|
|
5875
|
-
startDate: this.defaultStartDate,
|
|
5876
|
-
endDate: this.defaultEndDate
|
|
5877
|
-
};
|
|
5878
6424
|
dataset.config.queryConfig.mapedFilters.forEach(filter => {
|
|
5879
|
-
if (
|
|
5880
|
-
filter.defaultValue =
|
|
6425
|
+
if (filter.hasOwnProperty(filter.localColumn)) {
|
|
6426
|
+
filter.defaultValue = filter[filter.localColumn];
|
|
5881
6427
|
}
|
|
5882
6428
|
});
|
|
5883
6429
|
if (dataset.config.apiType === "post") {
|
|
@@ -6048,6 +6594,10 @@ class CreateCompViewComponent {
|
|
|
6048
6594
|
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6049
6595
|
this.createViewConfig(data);
|
|
6050
6596
|
}
|
|
6597
|
+
getEmitNewHeatMapConfig(data) {
|
|
6598
|
+
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6599
|
+
this.createViewConfig(data);
|
|
6600
|
+
}
|
|
6051
6601
|
getEmitNewChartCongig(data) {
|
|
6052
6602
|
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6053
6603
|
this.createViewConfig(data);
|
|
@@ -6186,10 +6736,10 @@ class CreateCompViewComponent {
|
|
|
6186
6736
|
}
|
|
6187
6737
|
}
|
|
6188
6738
|
CreateCompViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, deps: [{ token: i2$1.ToastrService }, { token: CommonService }, { token: ApplicationContentService }, { token: kpicommonService$2 }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: APP_ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
6189
|
-
CreateCompViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateCompViewComponent, selector: "app-create-comp-view", inputs: { kpiTreeData: "kpiTreeData", isHeader: "isHeader", selectedViewId: "selectedViewId" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getTableConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoMapComponent, selector: "app-geo-map", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: DashChartComponent, selector: "app-dash-chart", inputs: ["datasetmodal"], outputs: ["getChartConfigOutPut"] }, { kind: "component", type: DashTableComponent, selector: "app-dash-table", inputs: ["datasetmodal"], outputs: ["getTableConfigOutPut"] }, { kind: "component", type: TableWithBarComponent, selector: "app-table-with-bar", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }, { kind: "component", type: DashTodayPreviousComponent, selector: "lib-dash-today-previous", inputs: ["datasetmodal"], outputs: ["gettodayPreviousConfigOutPut"] }, { kind: "component", type: SingleCardComponent, selector: "lib-single-card", inputs: ["datasetmodal"], outputs: ["getSingleCardConfigOutPut"] }] });
|
|
6739
|
+
CreateCompViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateCompViewComponent, selector: "app-create-comp-view", inputs: { kpiTreeData: "kpiTreeData", isHeader: "isHeader", selectedViewId: "selectedViewId" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoMapComponent, selector: "app-geo-map", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: DashChartComponent, selector: "app-dash-chart", inputs: ["datasetmodal"], outputs: ["getChartConfigOutPut"] }, { kind: "component", type: DashTableComponent, selector: "app-dash-table", inputs: ["datasetmodal"], outputs: ["getTableConfigOutPut"] }, { kind: "component", type: TableWithBarComponent, selector: "app-table-with-bar", inputs: ["datasetmodal"], outputs: ["createOtherComponentView"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }, { kind: "component", type: CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }, { kind: "component", type: DashTodayPreviousComponent, selector: "lib-dash-today-previous", inputs: ["datasetmodal"], outputs: ["gettodayPreviousConfigOutPut"] }, { kind: "component", type: SingleCardComponent, selector: "lib-single-card", inputs: ["datasetmodal"], outputs: ["getSingleCardConfigOutPut"] }, { kind: "component", type: HeatMapSupportComponent, selector: "app-heat-map", inputs: ["datasetmodal"], outputs: ["getHeatMapConfigOutPut"] }] });
|
|
6190
6740
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
|
|
6191
6741
|
type: Component,
|
|
6192
|
-
args: [{ selector: 'app-create-comp-view', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (
|
|
6742
|
+
args: [{ selector: 'app-create-comp-view', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n <lib-common-header [pageTitle]=\"'Views Editor'\" *ngIf=\"isHeader\"></lib-common-header>\n <div>\n <div class=\"p-2 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <div class=\"flex flex-row justify-between\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Dataset List <span *ngIf=\"isFilterInputs\"\n class=\"text-blue-500 cursor-pointer\"><i class=\"fa fa-pencil\"\n (click)=\"getEditDataSet()\"></i></span></div>\n <dx-select-box [items]=\"dataSettableDataSource\" (onValueChanged)=\"getDataSetDetails($event)\"\n displayExpr=\"datasetName\" valueExpr=\"datasetId\" [searchEnabled]=\"true\"\n [value]=\"selectedDataSetOnedit.datasetId\"></dx-select-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select View Type</div>\n <dx-select-box [items]=\"['chart','table','groupTable','others','heatmap']\" [(ngModel)]=\"selectedViewType\"\n (onValueChanged)=\"getViewType($event)\"></dx-select-box>\n </div>\n <ng-container *ngIf=\"selectedViewType =='others'\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">Select Component</div>\n <dx-select-box [items]=\"componentNamesOthers\" displayExpr=\"item\" valueExpr=\"compName\"\n [(ngModel)]=\"componentName\"></dx-select-box>\n </div>\n </ng-container>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Name</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewName\"></dx-text-box>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md mb-2\">View Label</div>\n <dx-text-box [(ngModel)]=\"creatCompViewObject.viewLabel\"></dx-text-box>\n </div>\n </div>\n <ng-container *ngIf=\"isFilterInputs\">\n <div class=\"flex flex-row mt-2\">\n <ng-container *ngFor=\"let request of selectedDataSet.config.queryConfig.mapedFilters\">\n <div class=\"m-2\">\n <div class=\"text-md mb-1\"> {{getCapitalize(request.localColumn)}}</div>\n <dx-date-box displayFormat=\"yyyy-MM-dd\" type=\"date\"\n (onValueChanged)=\"startDateChange($event,request)\"\n *ngIf=\"getFilter(request.localColumn)\">\n </dx-date-box>\n <dx-text-box [(ngModel)]=\"request.defaultValue\"\n *ngIf=\"!getFilter(request.localColumn)\"></dx-text-box>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row mt-5 justify-center items-center\">\n <button class=\"{{commonService.btn_success_md}}\" (click)=\"addNewView()\">\n Reset View\n </button>\n <button class=\"{{commonService.btn_primary_md}} cursor-pointer mx-4 my-2\" (click)=\"createNewView()\">\n Proceed\n </button>\n\n\n </div>\n <div class=\"m-5 border\">\n <div class=\"m-2\">\n <div class=\"mt-5\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <!-- for chart view -->\n <ng-container *ngIf=\"isGenerate\">\n <ng-container *ngIf=\"selectedViewType == 'chart'\">\n <app-dash-chart [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewChartCongig($event)\"></app-dash-chart>\n </ng-container>\n <ng-container *ngIf=\"selectedViewType == 'heatmap'\">\n <app-heat-map [datasetmodal]=\"dataSourceModal\"\n (getHeatMapConfigOutPut)=\"getEmitNewHeatMapConfig($event)\"></app-heat-map>\n </ng-container>\n <!-- for table view -->\n <ng-container *ngIf=\"selectedViewType == 'table' || selectedViewType == 'groupTable'\">\n <app-dash-table [datasetmodal]=\"dataSourceModal\"\n (getChartConfigOutPut)=\"getEmitNewTableConfig($event)\"></app-dash-table>\n </ng-container>\n <!-- for others view -->\n <ng-container *ngIf=\"selectedViewType == 'others'\">\n <ng-container *ngIf=\"componentName == 'GammaTableWithPercentageComponent'\">\n <app-table-with-bar [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-table-with-bar>\n </ng-container>\n <ng-container\n *ngIf=\"componentName == 'GammaGeoChartComponent' && componentName != 'GammaTableWithPercentageComponent'\">\n <!-- <app-gamma-geo-chart></app-gamma-geo-chart> -->\n <app-geo-map [datasetmodal]=\"dataSourceModal\"\n (createOtherComponentView)=\"getEmitNewOtherSetCongig($event)\"></app-geo-map>\n </ng-container>\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammSingleNumberCardComponent'\">\n <lib-dash-today-previous [datasetmodal]=\"dataSourceModal\"\n (gettodayPreviousConfigOutPut)=\"getEmitNewOtherSetCongig($event)\"></lib-dash-today-previous>\n </ng-container>\n\n <ng-container\n *ngIf=\"componentName != 'GammaTableWithPercentageComponent' && componentName != 'GammaGeoChartComponent' && componentName != 'GammaTodayPreviousComponent'\">\n <lib-single-card [datasetmodal]=\"dataSourceModal\"\n (getSingleCardConfigOutPut)=\"getEmitNewOtherSetCongig($event)\">\n </lib-single-card>\n </ng-container>\n\n \n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
6193
6743
|
}], ctorParameters: function () {
|
|
6194
6744
|
return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
|
|
6195
6745
|
type: Inject,
|
|
@@ -7664,7 +8214,6 @@ class GammaAdvanceOperatorTableComponent {
|
|
|
7664
8214
|
const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
|
|
7665
8215
|
if (foundMatchObject) {
|
|
7666
8216
|
if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
|
|
7667
|
-
console.log(foundMatchObject.enrichName);
|
|
7668
8217
|
newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
|
|
7669
8218
|
}
|
|
7670
8219
|
}
|
|
@@ -8743,6 +9292,326 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
8743
9292
|
args: ["chartDataSource"]
|
|
8744
9293
|
}] } });
|
|
8745
9294
|
|
|
9295
|
+
class GammaHeatChartComponent {
|
|
9296
|
+
constructor(commonService) {
|
|
9297
|
+
this.commonService = commonService;
|
|
9298
|
+
this.dataSourseForTable = [];
|
|
9299
|
+
this.isLoader = true;
|
|
9300
|
+
this.tableDataConfig = {};
|
|
9301
|
+
this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
|
|
9302
|
+
this.activeTab = 'basic';
|
|
9303
|
+
this.isAdvanceFilter = false;
|
|
9304
|
+
this.isHeatMapClick = false;
|
|
9305
|
+
this.heatChartDataSource = {};
|
|
9306
|
+
this.chartDataForTooltip = {};
|
|
9307
|
+
this.dataSourseForHeatMap = [];
|
|
9308
|
+
this.viewProperties = {
|
|
9309
|
+
enableClickEvent: false,
|
|
9310
|
+
enableRightClickEvent: true,
|
|
9311
|
+
clickEventOptions: {
|
|
9312
|
+
associatedViews: [],
|
|
9313
|
+
eventType: ""
|
|
9314
|
+
}
|
|
9315
|
+
};
|
|
9316
|
+
this.optionalDrilDownDataSource = [];
|
|
9317
|
+
this.allConfiguredViews = [];
|
|
9318
|
+
this.colorArray = [];
|
|
9319
|
+
this.firstColor = "rgba(45, 110, 18, 1)";
|
|
9320
|
+
this.secondColor = "rgba(255, 204, 0, 1)";
|
|
9321
|
+
this.singleColor = "rgba(255, 204, 0, 1)";
|
|
9322
|
+
this.heatmapChartConfig = {};
|
|
9323
|
+
this.getTableConfigOutPut = new EventEmitter();
|
|
9324
|
+
this.oRowClick = new EventEmitter();
|
|
9325
|
+
this.onrightClickContextSelection = new EventEmitter();
|
|
9326
|
+
this.rightClickEnable = true;
|
|
9327
|
+
}
|
|
9328
|
+
set chartDataSource(value) {
|
|
9329
|
+
if (value === undefined || value.length === 0) {
|
|
9330
|
+
return;
|
|
9331
|
+
}
|
|
9332
|
+
else {
|
|
9333
|
+
this.isLoader = true;
|
|
9334
|
+
this.page_config = value;
|
|
9335
|
+
this.page_parms = value.titleParams;
|
|
9336
|
+
if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
|
|
9337
|
+
this.heatmapChartConfig = value.kpiConfig.dataConfig;
|
|
9338
|
+
this.colorArray = value.kpiConfig.dataConfig.color;
|
|
9339
|
+
this.getHeatmapData(value.kpiConfig.dataSource);
|
|
9340
|
+
setTimeout(() => {
|
|
9341
|
+
this.isLoader = false;
|
|
9342
|
+
}, 200);
|
|
9343
|
+
}
|
|
9344
|
+
else {
|
|
9345
|
+
setTimeout(() => {
|
|
9346
|
+
this.dataSourseForTable = [];
|
|
9347
|
+
this.tableDataConfig['columns'] = [];
|
|
9348
|
+
this.isLoader = false;
|
|
9349
|
+
}, 200);
|
|
9350
|
+
}
|
|
9351
|
+
}
|
|
9352
|
+
}
|
|
9353
|
+
ngOnInit() {
|
|
9354
|
+
}
|
|
9355
|
+
getHeatmapData(heatMapData) {
|
|
9356
|
+
this.heatChartDataSource = {};
|
|
9357
|
+
this.isAdvanceFilter = false;
|
|
9358
|
+
if (heatMapData && heatMapData.length !== 0) {
|
|
9359
|
+
if (this.heatmapChartConfig.chartFormat == "topx") {
|
|
9360
|
+
const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
|
|
9361
|
+
uniqueDates.sort();
|
|
9362
|
+
this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
|
|
9363
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
9364
|
+
}
|
|
9365
|
+
else if ((this.heatmapChartConfig.chartFormat == "simple")) {
|
|
9366
|
+
const { result, uniqueDates } = this.generateData(heatMapData);
|
|
9367
|
+
uniqueDates.sort();
|
|
9368
|
+
this.heatChartDataSource["dataSet"] = result;
|
|
9369
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
9370
|
+
}
|
|
9371
|
+
this.isHeatMapClick = false;
|
|
9372
|
+
}
|
|
9373
|
+
else {
|
|
9374
|
+
this.isHeatMapClick = false;
|
|
9375
|
+
}
|
|
9376
|
+
}
|
|
9377
|
+
getTransposedHeatmapData(dataSet) {
|
|
9378
|
+
const transposed = [];
|
|
9379
|
+
const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
|
|
9380
|
+
for (let i = 0; i < maxBoxes; i++) {
|
|
9381
|
+
const row = [];
|
|
9382
|
+
for (let j = 0; j < dataSet.length; j++) {
|
|
9383
|
+
const box = dataSet[j].dataset[i];
|
|
9384
|
+
row.push({
|
|
9385
|
+
box: box || null,
|
|
9386
|
+
date: dataSet[j].record_date
|
|
9387
|
+
});
|
|
9388
|
+
}
|
|
9389
|
+
transposed.push(row);
|
|
9390
|
+
}
|
|
9391
|
+
return transposed;
|
|
9392
|
+
}
|
|
9393
|
+
generateDateWiseColorCodedData(data) {
|
|
9394
|
+
const result = [];
|
|
9395
|
+
const uniqueDates = new Set();
|
|
9396
|
+
const allEntries = [];
|
|
9397
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
9398
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
9399
|
+
const valueField = this.heatmapChartConfig.columns[0].dataField;
|
|
9400
|
+
data.forEach(entry => {
|
|
9401
|
+
const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
|
|
9402
|
+
uniqueDates.add(formattedDate);
|
|
9403
|
+
entry.resultDataset.forEach(item => {
|
|
9404
|
+
allEntries.push({
|
|
9405
|
+
[topArg]: formattedDate,
|
|
9406
|
+
[leftArg]: item[`${leftArg}`],
|
|
9407
|
+
[valueField]: item[`${valueField}`]
|
|
9408
|
+
});
|
|
9409
|
+
});
|
|
9410
|
+
});
|
|
9411
|
+
let coloredData;
|
|
9412
|
+
if (this.heatmapChartConfig.type === 'gradient') {
|
|
9413
|
+
coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
|
|
9414
|
+
}
|
|
9415
|
+
else if (this.heatmapChartConfig.type === 'twoColor') {
|
|
9416
|
+
coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
|
|
9417
|
+
}
|
|
9418
|
+
else {
|
|
9419
|
+
coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
|
|
9420
|
+
}
|
|
9421
|
+
const dateMap = {};
|
|
9422
|
+
coloredData.forEach(item => {
|
|
9423
|
+
const date = item[topArg];
|
|
9424
|
+
if (!dateMap[date]) {
|
|
9425
|
+
dateMap[date] = [];
|
|
9426
|
+
}
|
|
9427
|
+
dateMap[date].push({
|
|
9428
|
+
[leftArg]: item[leftArg],
|
|
9429
|
+
[valueField]: item[valueField],
|
|
9430
|
+
color: item.color,
|
|
9431
|
+
[topArg]: date,
|
|
9432
|
+
});
|
|
9433
|
+
});
|
|
9434
|
+
for (const date of Array.from(uniqueDates).sort()) {
|
|
9435
|
+
result.push({
|
|
9436
|
+
record_date: date,
|
|
9437
|
+
dataset: dateMap[date] || []
|
|
9438
|
+
});
|
|
9439
|
+
}
|
|
9440
|
+
return {
|
|
9441
|
+
result,
|
|
9442
|
+
uniqueDates: Array.from(uniqueDates).sort()
|
|
9443
|
+
};
|
|
9444
|
+
}
|
|
9445
|
+
generateData(data) {
|
|
9446
|
+
const result = [];
|
|
9447
|
+
const uniqueDates = new Set();
|
|
9448
|
+
const dataSourceMap = {};
|
|
9449
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
9450
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
9451
|
+
data.forEach(item => {
|
|
9452
|
+
const rowKey = item[leftArg];
|
|
9453
|
+
const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
|
|
9454
|
+
if (!dataSourceMap[rowKey]) {
|
|
9455
|
+
dataSourceMap[rowKey] = {
|
|
9456
|
+
datasource: rowKey,
|
|
9457
|
+
dataset: []
|
|
9458
|
+
};
|
|
9459
|
+
}
|
|
9460
|
+
dataSourceMap[rowKey].dataset.push(Object.assign(Object.assign({}, item), { [topArg]: columnKey }));
|
|
9461
|
+
uniqueDates.add(columnKey);
|
|
9462
|
+
});
|
|
9463
|
+
const uniqueDatesArray = Array.from(uniqueDates);
|
|
9464
|
+
for (const key in dataSourceMap) {
|
|
9465
|
+
const dataset = dataSourceMap[key].dataset;
|
|
9466
|
+
let formattedDataset;
|
|
9467
|
+
if (this.heatmapChartConfig.type == "gradient") {
|
|
9468
|
+
formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9469
|
+
}
|
|
9470
|
+
else if (this.heatmapChartConfig.type == "twoColor") {
|
|
9471
|
+
formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9472
|
+
}
|
|
9473
|
+
else {
|
|
9474
|
+
formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9475
|
+
}
|
|
9476
|
+
const dateToItemMap = {};
|
|
9477
|
+
formattedDataset.forEach(item => {
|
|
9478
|
+
dateToItemMap[item[topArg]] = item;
|
|
9479
|
+
});
|
|
9480
|
+
const completeDataset = uniqueDatesArray.map((date) => {
|
|
9481
|
+
if (dateToItemMap[date]) {
|
|
9482
|
+
return dateToItemMap[date];
|
|
9483
|
+
}
|
|
9484
|
+
else {
|
|
9485
|
+
return {
|
|
9486
|
+
[topArg]: date,
|
|
9487
|
+
avgSize: "No Data",
|
|
9488
|
+
fileCount: 0,
|
|
9489
|
+
fileSize: 0,
|
|
9490
|
+
color: "rgb(242, 118, 109)"
|
|
9491
|
+
};
|
|
9492
|
+
}
|
|
9493
|
+
});
|
|
9494
|
+
result.push({
|
|
9495
|
+
datasource: key,
|
|
9496
|
+
dataset: completeDataset
|
|
9497
|
+
});
|
|
9498
|
+
}
|
|
9499
|
+
return {
|
|
9500
|
+
result: result,
|
|
9501
|
+
uniqueDates: uniqueDatesArray
|
|
9502
|
+
};
|
|
9503
|
+
}
|
|
9504
|
+
getFormateDataByColorCodeForGradient(filedata, column) {
|
|
9505
|
+
filedata.forEach(item => {
|
|
9506
|
+
item.avgSize = parseFloat(item[column]);
|
|
9507
|
+
});
|
|
9508
|
+
const maxAvgSize = Math.max(...filedata.map(item => item[column]));
|
|
9509
|
+
const minAvgSize = Math.min(...filedata.map(item => item[column]));
|
|
9510
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
9511
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
9512
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
9513
|
+
filedata.forEach(item => {
|
|
9514
|
+
item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
|
|
9515
|
+
});
|
|
9516
|
+
return filedata;
|
|
9517
|
+
}
|
|
9518
|
+
getFormateDataByColorCodeForWithTwoColor(filedata, column) {
|
|
9519
|
+
filedata.forEach(item => {
|
|
9520
|
+
item[column] = parseFloat(item[column]);
|
|
9521
|
+
});
|
|
9522
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
9523
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
9524
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
9525
|
+
filedata.forEach(item => {
|
|
9526
|
+
if (item[column] == 0) {
|
|
9527
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
9528
|
+
}
|
|
9529
|
+
else {
|
|
9530
|
+
item.color = `rgb(${maxColor.join(',')})`;
|
|
9531
|
+
}
|
|
9532
|
+
});
|
|
9533
|
+
return filedata;
|
|
9534
|
+
}
|
|
9535
|
+
getFormateDataByColorCodeForWithSingleColor(filedata, column) {
|
|
9536
|
+
filedata.forEach(item => {
|
|
9537
|
+
item[column] = parseFloat(item[column]);
|
|
9538
|
+
});
|
|
9539
|
+
const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
|
|
9540
|
+
const minColor = this.parseRGBA(singleColor);
|
|
9541
|
+
filedata.forEach(item => {
|
|
9542
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
9543
|
+
});
|
|
9544
|
+
return filedata;
|
|
9545
|
+
}
|
|
9546
|
+
parseRGBA(colorStr) {
|
|
9547
|
+
var _a, _b, _c, _d, _e;
|
|
9548
|
+
const values = ((_a = colorStr.match(/[\d.]+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) || [];
|
|
9549
|
+
if (values.length === 3)
|
|
9550
|
+
values.push(1);
|
|
9551
|
+
return [
|
|
9552
|
+
(_b = values[0]) !== null && _b !== void 0 ? _b : 0,
|
|
9553
|
+
(_c = values[1]) !== null && _c !== void 0 ? _c : 0,
|
|
9554
|
+
(_d = values[2]) !== null && _d !== void 0 ? _d : 0,
|
|
9555
|
+
(_e = values[3]) !== null && _e !== void 0 ? _e : 1
|
|
9556
|
+
];
|
|
9557
|
+
}
|
|
9558
|
+
calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
|
|
9559
|
+
if (minAvgSize != maxAvgSize) {
|
|
9560
|
+
let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
|
|
9561
|
+
let color = minColor.map((channel, index) => {
|
|
9562
|
+
return Math.round(channel + gradient * (maxColor[index] - channel));
|
|
9563
|
+
});
|
|
9564
|
+
return `rgb(${color.join(',')})`;
|
|
9565
|
+
}
|
|
9566
|
+
else {
|
|
9567
|
+
return `rgb(${minColor.join(',')})`;
|
|
9568
|
+
}
|
|
9569
|
+
}
|
|
9570
|
+
transformColumns(mainobj) {
|
|
9571
|
+
return Object.keys(mainobj).map(key => {
|
|
9572
|
+
return {
|
|
9573
|
+
visible: true,
|
|
9574
|
+
dataField: key,
|
|
9575
|
+
caption: key
|
|
9576
|
+
};
|
|
9577
|
+
});
|
|
9578
|
+
}
|
|
9579
|
+
getObjectKeys(obj) {
|
|
9580
|
+
return Object.keys(obj);
|
|
9581
|
+
}
|
|
9582
|
+
callServiceFunction(functionName, value) {
|
|
9583
|
+
if (value !== undefined) {
|
|
9584
|
+
if (typeof this.commonService[functionName] === "function") {
|
|
9585
|
+
return this.commonService[functionName](value);
|
|
9586
|
+
}
|
|
9587
|
+
else {
|
|
9588
|
+
console.error(`Function ${functionName} not found in CommonService`);
|
|
9589
|
+
return null;
|
|
9590
|
+
}
|
|
9591
|
+
}
|
|
9592
|
+
else {
|
|
9593
|
+
return "No Data";
|
|
9594
|
+
}
|
|
9595
|
+
}
|
|
9596
|
+
}
|
|
9597
|
+
GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9598
|
+
GammaHeatChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GammaHeatChartComponent, selector: "app-gamma-heatmap", inputs: { rightClickEnable: "rightClickEnable", chartDataSource: "chartDataSource" }, outputs: { getTableConfigOutPut: "getTableConfigOutPut", oRowClick: "oRowClick", onrightClickContextSelection: "onrightClickContextSelection" }, ngImport: i0, template: "<div class=\"mx-2 bg-gray-800\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.box[heatmapChartConfig.topArgument] + ', Value: ' + cell.box[heatmapChartConfig.columns[0].dataField]\">\n {{ cell.box[heatmapChartConfig.leftArgument] }} ({{\n commonService.abbreviateNumber(cell.box[heatmapChartConfig.columns[0].dataField]) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>", dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: LoaderComponent, selector: "app-loader" }] });
|
|
9599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
|
|
9600
|
+
type: Component,
|
|
9601
|
+
args: [{ selector: 'app-gamma-heatmap', template: "<div class=\"mx-2 bg-gray-800\">\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <ng-container *ngIf=\"!isLoader\">\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'simple'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-center\">\n <div class=\"flex-shrink-0 w-64 max-w-[20%] h-10 flex items-center justify-center\"></div>\n <div *ngFor=\"let item of heatChartDataSource.argumentValue\"\n class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 text-sm flex items-center justify-center\">\n {{item}}\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of heatChartDataSource.dataSet\">\n <div class=\"flex flex-row\">\n <div class=\"h-8 flex text-sm items-center min-w-64 justify-end px-2 inline\">\n {{ item.datasource }}\n </div>\n <div class=\"inline-block\">\n <div class=\"flex flex-nowrap justify-start\">\n <ng-container *ngFor=\"let box of item.dataset\">\n <div class=\"flex-shrink-0 min-w-22 max-w-[20%] h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800\"\n [ngStyle]=\"{ 'background-color': box.color }\"\n [attr.title]=\"'Record Date: ' + box[heatmapChartConfig.topArgument] + ', Value: ' + box[heatmapChartConfig.columns[0].dataField]\">\n {{ box[heatmapChartConfig.columns[0].dataField]}}\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"heatmapChartConfig.chartFormat == 'topx'\">\n <div class=\"mx-5 h-[60vh] overflow-x-auto\">\n <div class=\"flex flex-row\">\n <ng-container *ngFor=\"let header of heatChartDataSource.argumentValue\">\n <div class=\"min-w-32 text-sm font-medium text-center mb-2\">\n {{ header }}\n </div>\n </ng-container>\n </div>\n\n <div *ngFor=\"let row of heatChartDataSource.dataSet\" class=\"flex flex-row\">\n <ng-container *ngFor=\"let cell of row\">\n <div *ngIf=\"cell.box\"\n class=\"h-8 border-2 text-sm cursor-pointer flex items-center justify-center text-gray-800 min-w-32\"\n [ngStyle]=\"{ 'background-color': cell.box.color }\"\n [attr.title]=\"'Record Date: ' + cell.box[heatmapChartConfig.topArgument] + ', Value: ' + cell.box[heatmapChartConfig.columns[0].dataField]\">\n {{ cell.box[heatmapChartConfig.leftArgument] }} ({{\n commonService.abbreviateNumber(cell.box[heatmapChartConfig.columns[0].dataField]) }})\n </div>\n <div *ngIf=\"!cell.box\" class=\"h-8 min-w-32\"></div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>" }]
|
|
9602
|
+
}], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
|
|
9603
|
+
type: Output
|
|
9604
|
+
}], oRowClick: [{
|
|
9605
|
+
type: Output
|
|
9606
|
+
}], onrightClickContextSelection: [{
|
|
9607
|
+
type: Output
|
|
9608
|
+
}], rightClickEnable: [{
|
|
9609
|
+
type: Input
|
|
9610
|
+
}], chartDataSource: [{
|
|
9611
|
+
type: Input,
|
|
9612
|
+
args: ['chartDataSource']
|
|
9613
|
+
}] } });
|
|
9614
|
+
|
|
8746
9615
|
class kpicommonService {
|
|
8747
9616
|
constructor(commonService) {
|
|
8748
9617
|
this.commonService = commonService;
|
|
@@ -9666,6 +10535,16 @@ class CreateDatasetSqlComponent {
|
|
|
9666
10535
|
if (value.queryConfig.templateQuery != "") {
|
|
9667
10536
|
this.queryStringData = value.queryConfig.templateQuery;
|
|
9668
10537
|
}
|
|
10538
|
+
const hasLimit = value.queryConfig.mapedFilters.some(filter => filter.serverColumn === 'limit');
|
|
10539
|
+
if (!hasLimit) {
|
|
10540
|
+
value.queryConfig.mapedFilters.push({
|
|
10541
|
+
localColumn: "limit",
|
|
10542
|
+
serverColumn: "limit",
|
|
10543
|
+
operatorName: "eq",
|
|
10544
|
+
defaultValue: "5000",
|
|
10545
|
+
dataType: "string"
|
|
10546
|
+
});
|
|
10547
|
+
}
|
|
9669
10548
|
this.apiBulderDataset = value;
|
|
9670
10549
|
}
|
|
9671
10550
|
ngOnInit() {
|
|
@@ -9705,37 +10584,37 @@ class CreateDatasetSqlComponent {
|
|
|
9705
10584
|
if (newVal === '' || newVal === undefined) {
|
|
9706
10585
|
}
|
|
9707
10586
|
else {
|
|
9708
|
-
fval =
|
|
9709
|
-
splittedValuesOfQuery =
|
|
9710
|
-
return item.trim().replace(/(^,)|(,)|(;)/g, '');
|
|
9711
|
-
});
|
|
10587
|
+
fval = val;
|
|
10588
|
+
splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
|
|
9712
10589
|
this.queryStringData = fval;
|
|
9713
10590
|
const re = /{([^}]+)}/g;
|
|
9714
10591
|
let m = [];
|
|
9715
10592
|
while (m = re.exec(fval)) {
|
|
9716
10593
|
this.duplicateMatches.push(m[1]);
|
|
9717
10594
|
}
|
|
10595
|
+
let limit_key = [];
|
|
10596
|
+
limit_key = splittedValuesOfQuery.filter(s => s.toLowerCase().includes('limit'));
|
|
9718
10597
|
this.matches = this.duplicateMatches.filter((v, i) => this.duplicateMatches.indexOf(v) === i);
|
|
9719
10598
|
for (let i = 0; i < this.matches.length; i++) {
|
|
9720
10599
|
let value;
|
|
9721
10600
|
let key;
|
|
9722
10601
|
let th_key;
|
|
9723
10602
|
let keyarr = [];
|
|
9724
|
-
let th_keyArr = [];
|
|
9725
10603
|
value = this.matches[i];
|
|
9726
10604
|
keyarr = splittedValuesOfQuery.filter(s => s.includes('$P{' + this.matches[i] + '}'));
|
|
9727
|
-
th_keyArr = splittedValuesOfQuery.filter(s => s.includes('$T{' + this.matches[i] + '}'));
|
|
9728
10605
|
if (keyarr.length !== 0) {
|
|
9729
10606
|
if (keyarr[0].split('=')[0].indexOf('.') > 0) {
|
|
9730
10607
|
key = keyarr[0].split('=')[0].split('.')[1];
|
|
9731
10608
|
}
|
|
9732
10609
|
else {
|
|
9733
10610
|
key = keyarr[0].split('=')[0];
|
|
9734
|
-
let labelName = key.replace(/^./, key[0].toUpperCase());
|
|
9735
10611
|
}
|
|
9736
10612
|
}
|
|
9737
10613
|
this.argumentData.push(key);
|
|
9738
10614
|
}
|
|
10615
|
+
if (limit_key && limit_key.length !== 0) {
|
|
10616
|
+
this.argumentData.push(limit_key[0].toLowerCase());
|
|
10617
|
+
}
|
|
9739
10618
|
this.isValidate = false;
|
|
9740
10619
|
this.isNotValidate = true;
|
|
9741
10620
|
}
|
|
@@ -10061,6 +10940,13 @@ class CreateDatasetComponent {
|
|
|
10061
10940
|
"operatorName": "lte",
|
|
10062
10941
|
"defaultValue": "",
|
|
10063
10942
|
"dataType": "string"
|
|
10943
|
+
},
|
|
10944
|
+
{
|
|
10945
|
+
"localColumn": "limit",
|
|
10946
|
+
"serverColumn": "limit",
|
|
10947
|
+
"operatorName": "eq",
|
|
10948
|
+
"defaultValue": "5000",
|
|
10949
|
+
"dataType": "string"
|
|
10064
10950
|
}
|
|
10065
10951
|
]
|
|
10066
10952
|
}
|
|
@@ -10303,6 +11189,7 @@ class PageConfigComponent {
|
|
|
10303
11189
|
GammSingleNumberCardComponent,
|
|
10304
11190
|
GammaAdvanceOperatorTableComponent,
|
|
10305
11191
|
AdvanceWidgetHeaderFilterComponent,
|
|
11192
|
+
GammaHeatChartComponent,
|
|
10306
11193
|
GammaGeoChartComponent
|
|
10307
11194
|
};
|
|
10308
11195
|
this.dataSourceMataData = [];
|
|
@@ -10862,6 +11749,10 @@ class PageConfigComponent {
|
|
|
10862
11749
|
const datasetWithLimit = this.setDataSetsLimit(dataset);
|
|
10863
11750
|
apiCalls.push(this.datasetService.getDataFromDataSet(datasetWithLimit, datasetWithLimit.datasetId, this.defaultApplyedFilter));
|
|
10864
11751
|
}
|
|
11752
|
+
else if (dataset.datasetType == "sqlQuery") {
|
|
11753
|
+
const filterWithLimit = this.setDataSetsLimitForSql(dataset);
|
|
11754
|
+
apiCalls.push(this.datasetService.getDataFromDataSet(filterWithLimit, filterWithLimit.datasetId, this.defaultApplyedFilter));
|
|
11755
|
+
}
|
|
10865
11756
|
else {
|
|
10866
11757
|
apiCalls.push(this.datasetService.getDataFromDataSet(dataset, dataset.datasetId, this.defaultApplyedFilter));
|
|
10867
11758
|
}
|
|
@@ -11162,6 +12053,22 @@ class PageConfigComponent {
|
|
|
11162
12053
|
dataset.config.queryConfig.reqFields.push(limit);
|
|
11163
12054
|
return dataset;
|
|
11164
12055
|
}
|
|
12056
|
+
setDataSetsLimitForSql(dataset) {
|
|
12057
|
+
const limitIndex = dataset.config.queryConfig.mapedFilters.findIndex(filter => filter.serverColumn === 'limit');
|
|
12058
|
+
if (limitIndex === -1) {
|
|
12059
|
+
dataset.config.queryConfig.mapedFilters.push({
|
|
12060
|
+
localColumn: "limit",
|
|
12061
|
+
serverColumn: "limit",
|
|
12062
|
+
operatorName: "eq",
|
|
12063
|
+
defaultValue: "100",
|
|
12064
|
+
dataType: "string"
|
|
12065
|
+
});
|
|
12066
|
+
}
|
|
12067
|
+
else {
|
|
12068
|
+
dataset.config.queryConfig.mapedFilters[limitIndex].defaultValue = "10";
|
|
12069
|
+
}
|
|
12070
|
+
return dataset;
|
|
12071
|
+
}
|
|
11165
12072
|
getViewPopupHide(e) {
|
|
11166
12073
|
this.getAllViewsItems();
|
|
11167
12074
|
}
|
|
@@ -13499,7 +14406,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
|
|
|
13499
14406
|
OflineMetricsComponent,
|
|
13500
14407
|
AllMetricsConfigComponent,
|
|
13501
14408
|
DashTodayPreviousComponent,
|
|
13502
|
-
SingleCardComponent
|
|
14409
|
+
SingleCardComponent,
|
|
14410
|
+
HeatMapSupportComponent,
|
|
14411
|
+
GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
|
|
13503
14412
|
DxButtonModule,
|
|
13504
14413
|
DxCheckBoxModule,
|
|
13505
14414
|
DxNumberBoxModule,
|
|
@@ -13564,7 +14473,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
|
|
|
13564
14473
|
OnlineMetricsComponent,
|
|
13565
14474
|
OflineMetricsComponent,
|
|
13566
14475
|
AllMetricsConfigComponent,
|
|
13567
|
-
DashTodayPreviousComponent
|
|
14476
|
+
DashTodayPreviousComponent,
|
|
14477
|
+
HeatMapSupportComponent,
|
|
14478
|
+
GammaHeatChartComponent] });
|
|
13568
14479
|
PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
|
|
13569
14480
|
ApplicationContentService,
|
|
13570
14481
|
ApplicationDatssetsCall
|
|
@@ -13655,7 +14566,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13655
14566
|
OflineMetricsComponent,
|
|
13656
14567
|
AllMetricsConfigComponent,
|
|
13657
14568
|
DashTodayPreviousComponent,
|
|
13658
|
-
SingleCardComponent
|
|
14569
|
+
SingleCardComponent,
|
|
14570
|
+
HeatMapSupportComponent,
|
|
14571
|
+
GammaHeatChartComponent
|
|
13659
14572
|
],
|
|
13660
14573
|
imports: [
|
|
13661
14574
|
CommonModule,
|
|
@@ -13728,7 +14641,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13728
14641
|
OnlineMetricsComponent,
|
|
13729
14642
|
OflineMetricsComponent,
|
|
13730
14643
|
AllMetricsConfigComponent,
|
|
13731
|
-
DashTodayPreviousComponent
|
|
14644
|
+
DashTodayPreviousComponent,
|
|
14645
|
+
HeatMapSupportComponent,
|
|
14646
|
+
GammaHeatChartComponent
|
|
13732
14647
|
],
|
|
13733
14648
|
providers: [
|
|
13734
14649
|
ApplicationContentService,
|
|
@@ -13778,5 +14693,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13778
14693
|
}]
|
|
13779
14694
|
}] });
|
|
13780
14695
|
|
|
13781
|
-
export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
|
|
14696
|
+
export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaHeatChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, HeatMapSupportComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
|
|
13782
14697
|
//# sourceMappingURL=gamma-app-controller.mjs.map
|