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
|
@@ -2032,15 +2032,17 @@ class ApplicationFilterComponent {
|
|
|
2032
2032
|
this.getKPIReferenceEndPoints();
|
|
2033
2033
|
this.getFilterDataSet();
|
|
2034
2034
|
}
|
|
2035
|
-
getFilterDataSet() {
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2035
|
+
async getFilterDataSet() {
|
|
2036
|
+
return new Promise((resolve) => {
|
|
2037
|
+
this.isLoader = true;
|
|
2038
|
+
this.service.getAppFilterConfigs().subscribe({
|
|
2039
|
+
next: (data) => {
|
|
2040
|
+
this.filterDataSource = data;
|
|
2041
|
+
this.isLoader = false;
|
|
2042
|
+
}, error: (err) => {
|
|
2043
|
+
this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'Filter Creation');
|
|
2044
|
+
}
|
|
2045
|
+
});
|
|
2044
2046
|
});
|
|
2045
2047
|
}
|
|
2046
2048
|
addFilter() {
|
|
@@ -2089,7 +2091,6 @@ class ApplicationFilterComponent {
|
|
|
2089
2091
|
};
|
|
2090
2092
|
}
|
|
2091
2093
|
editFilter(data) {
|
|
2092
|
-
debugger;
|
|
2093
2094
|
this.creatFilterObject = data;
|
|
2094
2095
|
this.isNewFilterCreate = true;
|
|
2095
2096
|
}
|
|
@@ -2098,10 +2099,15 @@ class ApplicationFilterComponent {
|
|
|
2098
2099
|
result.then((dialogResult) => {
|
|
2099
2100
|
if (dialogResult) {
|
|
2100
2101
|
this.isLoader = true;
|
|
2102
|
+
const currentPageIndex = this.dataGrid?.instance.pageIndex();
|
|
2101
2103
|
this.service.deleteAppFilterConfig(item.filterId).subscribe((val) => {
|
|
2102
|
-
this.getFilterDataSet()
|
|
2103
|
-
|
|
2104
|
-
|
|
2104
|
+
this.getFilterDataSet().then(() => {
|
|
2105
|
+
if (currentPageIndex !== undefined) {
|
|
2106
|
+
this.dataGrid.instance.pageIndex(currentPageIndex);
|
|
2107
|
+
}
|
|
2108
|
+
this.isLoader = false;
|
|
2109
|
+
this.toastr.success('Filter Deleted Successfully');
|
|
2110
|
+
});
|
|
2105
2111
|
}, err => {
|
|
2106
2112
|
console.log(err);
|
|
2107
2113
|
this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'Rule Module');
|
|
@@ -2187,11 +2193,14 @@ class ApplicationFilterComponent {
|
|
|
2187
2193
|
}
|
|
2188
2194
|
}
|
|
2189
2195
|
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 });
|
|
2190
|
-
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"] }] });
|
|
2196
|
+
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"] }] });
|
|
2191
2197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationFilterComponent, decorators: [{
|
|
2192
2198
|
type: Component,
|
|
2193
2199
|
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>" }]
|
|
2194
|
-
}], ctorParameters: function () { return [{ type: ApplicationContentService }, { type: CommonService }, { type: i2$1.ToastrService }, { type: i4.Router }]; }
|
|
2200
|
+
}], ctorParameters: function () { return [{ type: ApplicationContentService }, { type: CommonService }, { type: i2$1.ToastrService }, { type: i4.Router }]; }, propDecorators: { dataGrid: [{
|
|
2201
|
+
type: ViewChild,
|
|
2202
|
+
args: ['gridContainer', { static: false }]
|
|
2203
|
+
}] } });
|
|
2195
2204
|
|
|
2196
2205
|
class kpicommonService$2 {
|
|
2197
2206
|
getAllSeviceApiJson(apiJsonObject) {
|
|
@@ -3886,7 +3895,7 @@ class GeoMapComponent {
|
|
|
3886
3895
|
"backgroundColor": "#6c98e0",
|
|
3887
3896
|
"colors": ['#003566', '#fd0000']
|
|
3888
3897
|
};
|
|
3889
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator"];
|
|
3898
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "formatBytesv2"];
|
|
3890
3899
|
this.isLoader = true;
|
|
3891
3900
|
this.activeTab = 'basic';
|
|
3892
3901
|
this.createOtherComponentView = new EventEmitter();
|
|
@@ -4469,7 +4478,7 @@ class DashTableComponent {
|
|
|
4469
4478
|
"isSearchBox": false
|
|
4470
4479
|
}
|
|
4471
4480
|
};
|
|
4472
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
4481
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
4473
4482
|
this.isLoader = true;
|
|
4474
4483
|
this.activeTab = 'basic';
|
|
4475
4484
|
this.getTableConfigOutPut = new EventEmitter();
|
|
@@ -4897,7 +4906,7 @@ class TableWithBarComponent {
|
|
|
4897
4906
|
"isSearchBox": false
|
|
4898
4907
|
}
|
|
4899
4908
|
};
|
|
4900
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
4909
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
4901
4910
|
this.isLoader = true;
|
|
4902
4911
|
this.activeTab = 'basic';
|
|
4903
4912
|
this.createOtherComponentView = new EventEmitter();
|
|
@@ -5133,7 +5142,7 @@ class DashTodayPreviousComponent {
|
|
|
5133
5142
|
"sortBy": [],
|
|
5134
5143
|
"columns": []
|
|
5135
5144
|
};
|
|
5136
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
5145
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5137
5146
|
this.isLoader = true;
|
|
5138
5147
|
this.activeTab = 'basic';
|
|
5139
5148
|
this.gettodayPreviousConfigOutPut = new EventEmitter();
|
|
@@ -5394,7 +5403,7 @@ class SingleCardComponent {
|
|
|
5394
5403
|
"sortBy": [],
|
|
5395
5404
|
"columns": []
|
|
5396
5405
|
};
|
|
5397
|
-
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals"];
|
|
5406
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5398
5407
|
this.isLoader = true;
|
|
5399
5408
|
this.activeTab = 'basic';
|
|
5400
5409
|
this.getSingleCardConfigOutPut = new EventEmitter();
|
|
@@ -5581,7 +5590,6 @@ class SingleCardComponent {
|
|
|
5581
5590
|
return newColumns;
|
|
5582
5591
|
}
|
|
5583
5592
|
getSaveConfig() {
|
|
5584
|
-
debugger;
|
|
5585
5593
|
if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
5586
5594
|
this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
|
|
5587
5595
|
}
|
|
@@ -5629,6 +5637,548 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
5629
5637
|
args: ['datasetmodal']
|
|
5630
5638
|
}] } });
|
|
5631
5639
|
|
|
5640
|
+
class HeatMapSupportComponent {
|
|
5641
|
+
constructor(toastrService, commonService, cdr, service) {
|
|
5642
|
+
this.toastrService = toastrService;
|
|
5643
|
+
this.commonService = commonService;
|
|
5644
|
+
this.cdr = cdr;
|
|
5645
|
+
this.service = service;
|
|
5646
|
+
this.isAdvanceFilter = false;
|
|
5647
|
+
this.isHeatMapClick = false;
|
|
5648
|
+
this.heatChartDataSource = {};
|
|
5649
|
+
this.chartDataForTooltip = {};
|
|
5650
|
+
this.enrichNameList = ["abbreviateNumber", "getColorCodeSpan", "ThousandSeparator", "ThousandSeparatorWithTwoDecimals", "formatBytesv2"];
|
|
5651
|
+
this.heatmapChartConfig = {
|
|
5652
|
+
"chartFormat": "",
|
|
5653
|
+
"topArgument": "",
|
|
5654
|
+
"leftArgument": "",
|
|
5655
|
+
"color": [],
|
|
5656
|
+
"type": "",
|
|
5657
|
+
"formate": "",
|
|
5658
|
+
"columns": [
|
|
5659
|
+
{
|
|
5660
|
+
"visible": true,
|
|
5661
|
+
"dataField": "",
|
|
5662
|
+
"caption": "",
|
|
5663
|
+
"enrichName": "",
|
|
5664
|
+
}
|
|
5665
|
+
],
|
|
5666
|
+
"commonConfig": {
|
|
5667
|
+
"title": "",
|
|
5668
|
+
"dataField": "",
|
|
5669
|
+
"checkedKey": "",
|
|
5670
|
+
"isSearchBox": false
|
|
5671
|
+
}
|
|
5672
|
+
};
|
|
5673
|
+
this.heatmap_content_config = {
|
|
5674
|
+
"kpiConfig": {
|
|
5675
|
+
"serviceId": "",
|
|
5676
|
+
"api": "/kpi/trends/network/get-metric-data",
|
|
5677
|
+
"displayType": "table",
|
|
5678
|
+
"formate": "",
|
|
5679
|
+
"keyToPass": [],
|
|
5680
|
+
"componentName": "GammaHeatChartComponent",
|
|
5681
|
+
"dataConfig": {}
|
|
5682
|
+
},
|
|
5683
|
+
};
|
|
5684
|
+
this.dataSourseForHeatMap = [];
|
|
5685
|
+
this.viewProperties = {
|
|
5686
|
+
enableClickEvent: false,
|
|
5687
|
+
enableRightClickEvent: true,
|
|
5688
|
+
clickEventOptions: {
|
|
5689
|
+
associatedViews: [],
|
|
5690
|
+
eventType: ""
|
|
5691
|
+
}
|
|
5692
|
+
};
|
|
5693
|
+
this.optionalDrilDownDataSource = [];
|
|
5694
|
+
this.isLoader = true;
|
|
5695
|
+
this.activeTab = 'basic';
|
|
5696
|
+
this.allConfiguredViews = [];
|
|
5697
|
+
this.colorArray = [];
|
|
5698
|
+
this.firstColor = "rgba(45, 110, 18, 1)";
|
|
5699
|
+
this.secondColor = "rgba(255, 204, 0, 1)";
|
|
5700
|
+
this.singleColor = "rgba(255, 204, 0, 1)";
|
|
5701
|
+
this.test_voice_data = [{
|
|
5702
|
+
record_date: '20250527',
|
|
5703
|
+
dataset: [
|
|
5704
|
+
{ other_party_iso: 'YEM', total_charge: 184357176 },
|
|
5705
|
+
{ other_party_iso: 'ERI', total_charge: 115262500 },
|
|
5706
|
+
{ other_party_iso: 'BGD', total_charge: 83289614 },
|
|
5707
|
+
{ other_party_iso: 'ETH', total_charge: 79004500 },
|
|
5708
|
+
{ other_party_iso: 'PAK', total_charge: 76992454 },
|
|
5709
|
+
{ other_party_iso: 'SDN', total_charge: 60480400 },
|
|
5710
|
+
{ other_party_iso: 'IND', total_charge: 38892858 },
|
|
5711
|
+
{ other_party_iso: 'EGY', total_charge: 37769744 },
|
|
5712
|
+
{ other_party_iso: 'NPL', total_charge: 17214000 },
|
|
5713
|
+
{ other_party_iso: 'AFG', total_charge: 7268000 },
|
|
5714
|
+
{ other_party_iso: 'TCD', total_charge: 5372500 },
|
|
5715
|
+
{ other_party_iso: 'IDN', total_charge: 4425700 },
|
|
5716
|
+
{ other_party_iso: 'UGA', total_charge: 3933300 },
|
|
5717
|
+
{ other_party_iso: 'GBR', total_charge: 3848225 }
|
|
5718
|
+
]
|
|
5719
|
+
},
|
|
5720
|
+
{
|
|
5721
|
+
record_date: '20250531',
|
|
5722
|
+
dataset: [
|
|
5723
|
+
{ other_party_iso: 'YEM', total_charge: 208699827 },
|
|
5724
|
+
{ other_party_iso: 'ERI', total_charge: 143501500 },
|
|
5725
|
+
{ other_party_iso: 'BGD', total_charge: 106296294 },
|
|
5726
|
+
{ other_party_iso: 'ETH', total_charge: 86093500 },
|
|
5727
|
+
{ other_party_iso: 'PAK', total_charge: 77428461 },
|
|
5728
|
+
{ other_party_iso: 'SDN', total_charge: 65818598 },
|
|
5729
|
+
{ other_party_iso: 'IND', total_charge: 38635175 },
|
|
5730
|
+
{ other_party_iso: 'EGY', total_charge: 37658700 },
|
|
5731
|
+
{ other_party_iso: 'NPL', total_charge: 18773200 },
|
|
5732
|
+
{ other_party_iso: 'AFG', total_charge: 8232500 },
|
|
5733
|
+
{ other_party_iso: 'TCD', total_charge: 7007500 },
|
|
5734
|
+
{ other_party_iso: 'ARE', total_charge: 4593800 },
|
|
5735
|
+
{ other_party_iso: 'IDN', total_charge: 4118800 },
|
|
5736
|
+
{ other_party_iso: 'PHL', total_charge: 4051500 }
|
|
5737
|
+
]
|
|
5738
|
+
},
|
|
5739
|
+
{
|
|
5740
|
+
record_date: '20250528',
|
|
5741
|
+
dataset: [
|
|
5742
|
+
{ other_party_iso: 'YEM', total_charge: 198943661 },
|
|
5743
|
+
{ other_party_iso: 'ERI', total_charge: 118065000 },
|
|
5744
|
+
{ other_party_iso: 'BGD', total_charge: 90980829 },
|
|
5745
|
+
{ other_party_iso: 'ETH', total_charge: 80367700 },
|
|
5746
|
+
{ other_party_iso: 'PAK', total_charge: 78018973 },
|
|
5747
|
+
{ other_party_iso: 'SDN', total_charge: 56826500 },
|
|
5748
|
+
{ other_party_iso: 'IND', total_charge: 37871625 },
|
|
5749
|
+
{ other_party_iso: 'EGY', total_charge: 33374815 },
|
|
5750
|
+
{ other_party_iso: 'NPL', total_charge: 16763400 },
|
|
5751
|
+
{ other_party_iso: 'AFG', total_charge: 7926000 },
|
|
5752
|
+
{ other_party_iso: 'TCD', total_charge: 5600000 },
|
|
5753
|
+
{ other_party_iso: 'IDN', total_charge: 4602400 },
|
|
5754
|
+
{ other_party_iso: 'GBR', total_charge: 4443625 },
|
|
5755
|
+
{ other_party_iso: 'UGA', total_charge: 4379200 }
|
|
5756
|
+
]
|
|
5757
|
+
},
|
|
5758
|
+
{
|
|
5759
|
+
record_date: '20250530',
|
|
5760
|
+
dataset: [
|
|
5761
|
+
{ other_party_iso: 'YEM', total_charge: 231378852 },
|
|
5762
|
+
{ other_party_iso: 'BGD', total_charge: 151786018 },
|
|
5763
|
+
{ other_party_iso: 'ERI', total_charge: 146782500 },
|
|
5764
|
+
{ other_party_iso: 'PAK', total_charge: 88054445 },
|
|
5765
|
+
{ other_party_iso: 'ETH', total_charge: 83635500 },
|
|
5766
|
+
{ other_party_iso: 'SDN', total_charge: 62257000 },
|
|
5767
|
+
{ other_party_iso: 'IND', total_charge: 44316500 },
|
|
5768
|
+
{ other_party_iso: 'EGY', total_charge: 29894392 },
|
|
5769
|
+
{ other_party_iso: 'NPL', total_charge: 23383500 },
|
|
5770
|
+
{ other_party_iso: 'AFG', total_charge: 8029500 },
|
|
5771
|
+
{ other_party_iso: 'TCD', total_charge: 7322500 },
|
|
5772
|
+
{ other_party_iso: 'GBR', total_charge: 4338450 },
|
|
5773
|
+
{ other_party_iso: 'IDN', total_charge: 3904400 },
|
|
5774
|
+
{ other_party_iso: 'ARE', total_charge: 3832100 }
|
|
5775
|
+
]
|
|
5776
|
+
},
|
|
5777
|
+
{
|
|
5778
|
+
record_date: '20250529',
|
|
5779
|
+
dataset: [
|
|
5780
|
+
{ other_party_iso: 'YEM', total_charge: 200906357 },
|
|
5781
|
+
{ other_party_iso: 'ERI', total_charge: 126725000 },
|
|
5782
|
+
{ other_party_iso: 'BGD', total_charge: 115287722 },
|
|
5783
|
+
{ other_party_iso: 'ETH', total_charge: 82062400 },
|
|
5784
|
+
{ other_party_iso: 'PAK', total_charge: 77260610 },
|
|
5785
|
+
{ other_party_iso: 'SDN', total_charge: 54394810 },
|
|
5786
|
+
{ other_party_iso: 'IND', total_charge: 38654000 },
|
|
5787
|
+
{ other_party_iso: 'EGY', total_charge: 34503350 },
|
|
5788
|
+
{ other_party_iso: 'NPL', total_charge: 17277100 },
|
|
5789
|
+
{ other_party_iso: 'AFG', total_charge: 7746500 },
|
|
5790
|
+
{ other_party_iso: 'TCD', total_charge: 6100000 },
|
|
5791
|
+
{ other_party_iso: 'GBR', total_charge: 4736150 },
|
|
5792
|
+
{ other_party_iso: 'IDN', total_charge: 4678900 },
|
|
5793
|
+
{ other_party_iso: 'KEN', total_charge: 4453000 }
|
|
5794
|
+
]
|
|
5795
|
+
},
|
|
5796
|
+
{
|
|
5797
|
+
record_date: '20250601',
|
|
5798
|
+
dataset: [
|
|
5799
|
+
{ other_party_iso: 'YEM', total_charge: 214287978 },
|
|
5800
|
+
{ other_party_iso: 'ERI', total_charge: 154402500 },
|
|
5801
|
+
{ other_party_iso: 'BGD', total_charge: 100204000 },
|
|
5802
|
+
{ other_party_iso: 'ETH', total_charge: 97479800 },
|
|
5803
|
+
{ other_party_iso: 'PAK', total_charge: 75391463 },
|
|
5804
|
+
{ other_party_iso: 'SDN', total_charge: 65622200 },
|
|
5805
|
+
{ other_party_iso: 'IND', total_charge: 38124497 },
|
|
5806
|
+
{ other_party_iso: 'EGY', total_charge: 35278025 },
|
|
5807
|
+
{ other_party_iso: 'NPL', total_charge: 22665000 },
|
|
5808
|
+
{ other_party_iso: 'AFG', total_charge: 6920000 },
|
|
5809
|
+
{ other_party_iso: 'UGA', total_charge: 5625100 },
|
|
5810
|
+
{ other_party_iso: 'IDN', total_charge: 5256900 },
|
|
5811
|
+
{ other_party_iso: 'TCD', total_charge: 4970000 },
|
|
5812
|
+
{ other_party_iso: 'GBR', total_charge: 4410250 }
|
|
5813
|
+
]
|
|
5814
|
+
}
|
|
5815
|
+
];
|
|
5816
|
+
this.getHeatMapConfigOutPut = new EventEmitter();
|
|
5817
|
+
}
|
|
5818
|
+
set chartconfigData(value) {
|
|
5819
|
+
if (value === undefined || value.length === 0) {
|
|
5820
|
+
return;
|
|
5821
|
+
}
|
|
5822
|
+
else {
|
|
5823
|
+
this.jsaonDatasource = value.data[0];
|
|
5824
|
+
this.configColume = Object.keys(value.data[0]);
|
|
5825
|
+
this.dataSourseForHeatMap = value.data;
|
|
5826
|
+
this.selectedViewConfigs = value;
|
|
5827
|
+
this.selectedTableViewType = value.selectedViewType;
|
|
5828
|
+
if (value.selectedWidgetConfig) {
|
|
5829
|
+
this.heatmap_content_config['kpiConfig'] = value.selectedWidgetConfig;
|
|
5830
|
+
this.heatmapChartConfig = value.selectedWidgetConfig.dataConfig;
|
|
5831
|
+
this.heatmapChartConfig.columns = value.selectedWidgetConfig.dataConfig.columns;
|
|
5832
|
+
if (value.selectedWidgetConfig.viewProperties) {
|
|
5833
|
+
this.viewProperties = value.selectedWidgetConfig.viewProperties;
|
|
5834
|
+
if (value.selectedWidgetConfig.viewProperties.enableClickEvent) {
|
|
5835
|
+
if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
5836
|
+
this.optionalDrilDownDataSource = value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews;
|
|
5837
|
+
this.viewProperties['clickEventOptions'] = {
|
|
5838
|
+
"eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
|
|
5839
|
+
"associatedViews": []
|
|
5840
|
+
};
|
|
5841
|
+
}
|
|
5842
|
+
else if (value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType == 'drilldown') {
|
|
5843
|
+
this.viewProperties['clickEventOptions'] = {
|
|
5844
|
+
"eventType": value.selectedWidgetConfig.viewProperties.clickEventOptions.eventType,
|
|
5845
|
+
"associatedViews": value.selectedWidgetConfig.viewProperties.clickEventOptions.associatedViews
|
|
5846
|
+
};
|
|
5847
|
+
}
|
|
5848
|
+
}
|
|
5849
|
+
else {
|
|
5850
|
+
this.viewProperties['clickEventOptions'] = {};
|
|
5851
|
+
}
|
|
5852
|
+
}
|
|
5853
|
+
this.cdr.detectChanges();
|
|
5854
|
+
}
|
|
5855
|
+
else {
|
|
5856
|
+
this.viewProperties = {
|
|
5857
|
+
enableClickEvent: false,
|
|
5858
|
+
enableRightClickEvent: true,
|
|
5859
|
+
clickEventOptions: {
|
|
5860
|
+
associatedViews: [],
|
|
5861
|
+
eventType: ""
|
|
5862
|
+
}
|
|
5863
|
+
};
|
|
5864
|
+
if (this.heatmapChartConfig.columns) {
|
|
5865
|
+
}
|
|
5866
|
+
else {
|
|
5867
|
+
this.heatmapChartConfig.columns = [];
|
|
5868
|
+
console.log(this.configColume);
|
|
5869
|
+
}
|
|
5870
|
+
this.cdr.detectChanges();
|
|
5871
|
+
}
|
|
5872
|
+
}
|
|
5873
|
+
}
|
|
5874
|
+
ngOnInit() {
|
|
5875
|
+
this.service.getAppViewConfigs().subscribe({
|
|
5876
|
+
next: (data) => {
|
|
5877
|
+
this.allConfiguredViews = data;
|
|
5878
|
+
this.isLoader = false;
|
|
5879
|
+
}, error: (err) => {
|
|
5880
|
+
this.toastrService.error('Unexpected Server Exception. Please contact System Admin.', 'All Views');
|
|
5881
|
+
}
|
|
5882
|
+
});
|
|
5883
|
+
if (this.optionalDrilDownDataSource.length == 0) {
|
|
5884
|
+
this.optionalDrilDownDataSource = [
|
|
5885
|
+
{
|
|
5886
|
+
'viewId': "",
|
|
5887
|
+
'filterCondition': ""
|
|
5888
|
+
}
|
|
5889
|
+
];
|
|
5890
|
+
}
|
|
5891
|
+
}
|
|
5892
|
+
getHeatmapData() {
|
|
5893
|
+
this.heatChartDataSource = {};
|
|
5894
|
+
this.isAdvanceFilter = false;
|
|
5895
|
+
if (this.dataSourseForHeatMap && this.dataSourseForHeatMap.length !== 0) {
|
|
5896
|
+
if (this.heatmapChartConfig.chartFormat == "topx") {
|
|
5897
|
+
const { result, uniqueDates } = this.generateDateWiseColorCodedData(this.dataSourseForHeatMap);
|
|
5898
|
+
uniqueDates.sort();
|
|
5899
|
+
this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
|
|
5900
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
5901
|
+
}
|
|
5902
|
+
else if ((this.heatmapChartConfig.chartFormat == "simple")) {
|
|
5903
|
+
const { result, uniqueDates } = this.generateData(this.dataSourseForHeatMap);
|
|
5904
|
+
uniqueDates.sort();
|
|
5905
|
+
this.heatChartDataSource["dataSet"] = result;
|
|
5906
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
5907
|
+
}
|
|
5908
|
+
this.isHeatMapLoader = false;
|
|
5909
|
+
this.isHeatMapClick = false;
|
|
5910
|
+
}
|
|
5911
|
+
else {
|
|
5912
|
+
this.isHeatMapClick = false;
|
|
5913
|
+
this.toastrService.info("No Data Found");
|
|
5914
|
+
}
|
|
5915
|
+
}
|
|
5916
|
+
getTransposedHeatmapData(dataSet) {
|
|
5917
|
+
const transposed = [];
|
|
5918
|
+
const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
|
|
5919
|
+
for (let i = 0; i < maxBoxes; i++) {
|
|
5920
|
+
const row = [];
|
|
5921
|
+
for (let j = 0; j < dataSet.length; j++) {
|
|
5922
|
+
const box = dataSet[j].dataset[i];
|
|
5923
|
+
row.push({
|
|
5924
|
+
box: box || null,
|
|
5925
|
+
date: dataSet[j].record_date
|
|
5926
|
+
});
|
|
5927
|
+
}
|
|
5928
|
+
transposed.push(row);
|
|
5929
|
+
}
|
|
5930
|
+
return transposed;
|
|
5931
|
+
}
|
|
5932
|
+
generateDateWiseColorCodedData(data) {
|
|
5933
|
+
const result = [];
|
|
5934
|
+
const uniqueDates = new Set();
|
|
5935
|
+
const allEntries = [];
|
|
5936
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
5937
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
5938
|
+
const valueField = this.heatmapChartConfig.columns[0].dataField;
|
|
5939
|
+
data.forEach(entry => {
|
|
5940
|
+
const formattedDate = moment(entry.record_date).format('YYYY-MM-DD');
|
|
5941
|
+
uniqueDates.add(formattedDate);
|
|
5942
|
+
entry.dataset.forEach(item => {
|
|
5943
|
+
allEntries.push({
|
|
5944
|
+
[topArg]: formattedDate,
|
|
5945
|
+
[leftArg]: item[`${leftArg}`],
|
|
5946
|
+
[valueField]: item[`${valueField}`]
|
|
5947
|
+
});
|
|
5948
|
+
});
|
|
5949
|
+
});
|
|
5950
|
+
let coloredData;
|
|
5951
|
+
if (this.heatmapChartConfig.type === 'gradient') {
|
|
5952
|
+
coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
|
|
5953
|
+
}
|
|
5954
|
+
else if (this.heatmapChartConfig.type === 'twoColor') {
|
|
5955
|
+
coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
|
|
5956
|
+
}
|
|
5957
|
+
else {
|
|
5958
|
+
coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
|
|
5959
|
+
}
|
|
5960
|
+
const dateMap = {};
|
|
5961
|
+
coloredData.forEach(item => {
|
|
5962
|
+
const date = item[topArg];
|
|
5963
|
+
if (!dateMap[date]) {
|
|
5964
|
+
dateMap[date] = [];
|
|
5965
|
+
}
|
|
5966
|
+
dateMap[date].push({
|
|
5967
|
+
[leftArg]: item[leftArg],
|
|
5968
|
+
[valueField]: item[valueField],
|
|
5969
|
+
color: item.color,
|
|
5970
|
+
[topArg]: date,
|
|
5971
|
+
});
|
|
5972
|
+
});
|
|
5973
|
+
for (const date of Array.from(uniqueDates).sort()) {
|
|
5974
|
+
result.push({
|
|
5975
|
+
record_date: date,
|
|
5976
|
+
dataset: dateMap[date] || []
|
|
5977
|
+
});
|
|
5978
|
+
}
|
|
5979
|
+
return {
|
|
5980
|
+
result,
|
|
5981
|
+
uniqueDates: Array.from(uniqueDates).sort()
|
|
5982
|
+
};
|
|
5983
|
+
}
|
|
5984
|
+
generateData(data) {
|
|
5985
|
+
const result = [];
|
|
5986
|
+
const uniqueDates = new Set();
|
|
5987
|
+
const dataSourceMap = {};
|
|
5988
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
5989
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
5990
|
+
data.forEach(item => {
|
|
5991
|
+
const rowKey = item[leftArg];
|
|
5992
|
+
const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
|
|
5993
|
+
if (!dataSourceMap[rowKey]) {
|
|
5994
|
+
dataSourceMap[rowKey] = {
|
|
5995
|
+
datasource: rowKey,
|
|
5996
|
+
dataset: []
|
|
5997
|
+
};
|
|
5998
|
+
}
|
|
5999
|
+
dataSourceMap[rowKey].dataset.push({
|
|
6000
|
+
...item,
|
|
6001
|
+
[topArg]: columnKey
|
|
6002
|
+
});
|
|
6003
|
+
uniqueDates.add(columnKey);
|
|
6004
|
+
});
|
|
6005
|
+
const uniqueDatesArray = Array.from(uniqueDates);
|
|
6006
|
+
for (const key in dataSourceMap) {
|
|
6007
|
+
const dataset = dataSourceMap[key].dataset;
|
|
6008
|
+
let formattedDataset;
|
|
6009
|
+
if (this.heatmapChartConfig.type == "gradient") {
|
|
6010
|
+
formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6011
|
+
}
|
|
6012
|
+
else if (this.heatmapChartConfig.type == "twoColor") {
|
|
6013
|
+
formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6014
|
+
}
|
|
6015
|
+
else {
|
|
6016
|
+
formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
6017
|
+
}
|
|
6018
|
+
const dateToItemMap = {};
|
|
6019
|
+
formattedDataset.forEach(item => {
|
|
6020
|
+
dateToItemMap[item[topArg]] = item;
|
|
6021
|
+
});
|
|
6022
|
+
const completeDataset = uniqueDatesArray.map((date) => {
|
|
6023
|
+
if (dateToItemMap[date]) {
|
|
6024
|
+
return dateToItemMap[date];
|
|
6025
|
+
}
|
|
6026
|
+
else {
|
|
6027
|
+
return {
|
|
6028
|
+
[topArg]: date,
|
|
6029
|
+
avgSize: "No Data",
|
|
6030
|
+
fileCount: 0,
|
|
6031
|
+
fileSize: 0,
|
|
6032
|
+
color: "rgb(242, 118, 109)"
|
|
6033
|
+
};
|
|
6034
|
+
}
|
|
6035
|
+
});
|
|
6036
|
+
result.push({
|
|
6037
|
+
datasource: key,
|
|
6038
|
+
dataset: completeDataset
|
|
6039
|
+
});
|
|
6040
|
+
}
|
|
6041
|
+
return {
|
|
6042
|
+
result: result,
|
|
6043
|
+
uniqueDates: uniqueDatesArray
|
|
6044
|
+
};
|
|
6045
|
+
}
|
|
6046
|
+
getFormateDataByColorCodeForGradient(filedata, column) {
|
|
6047
|
+
filedata.forEach(item => {
|
|
6048
|
+
item.avgSize = parseFloat(item[column]);
|
|
6049
|
+
});
|
|
6050
|
+
const maxAvgSize = Math.max(...filedata.map(item => item[column]));
|
|
6051
|
+
const minAvgSize = Math.min(...filedata.map(item => item[column]));
|
|
6052
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
6053
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
6054
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
6055
|
+
filedata.forEach(item => {
|
|
6056
|
+
item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
|
|
6057
|
+
});
|
|
6058
|
+
return filedata;
|
|
6059
|
+
}
|
|
6060
|
+
getFormateDataByColorCodeForWithTwoColor(filedata, column) {
|
|
6061
|
+
filedata.forEach(item => {
|
|
6062
|
+
item[column] = parseFloat(item[column]);
|
|
6063
|
+
});
|
|
6064
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
6065
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
6066
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
6067
|
+
filedata.forEach(item => {
|
|
6068
|
+
if (item[column] == 0) {
|
|
6069
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
6070
|
+
}
|
|
6071
|
+
else {
|
|
6072
|
+
item.color = `rgb(${maxColor.join(',')})`;
|
|
6073
|
+
}
|
|
6074
|
+
});
|
|
6075
|
+
return filedata;
|
|
6076
|
+
}
|
|
6077
|
+
getFormateDataByColorCodeForWithSingleColor(filedata, column) {
|
|
6078
|
+
filedata.forEach(item => {
|
|
6079
|
+
item[column] = parseFloat(item[column]);
|
|
6080
|
+
});
|
|
6081
|
+
const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
|
|
6082
|
+
const minColor = this.parseRGBA(singleColor);
|
|
6083
|
+
filedata.forEach(item => {
|
|
6084
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
6085
|
+
});
|
|
6086
|
+
return filedata;
|
|
6087
|
+
}
|
|
6088
|
+
parseRGBA(colorStr) {
|
|
6089
|
+
const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
|
|
6090
|
+
if (values.length === 3)
|
|
6091
|
+
values.push(1);
|
|
6092
|
+
return [
|
|
6093
|
+
values[0] ?? 0,
|
|
6094
|
+
values[1] ?? 0,
|
|
6095
|
+
values[2] ?? 0,
|
|
6096
|
+
values[3] ?? 1
|
|
6097
|
+
];
|
|
6098
|
+
}
|
|
6099
|
+
calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
|
|
6100
|
+
if (minAvgSize != maxAvgSize) {
|
|
6101
|
+
let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
|
|
6102
|
+
let color = minColor.map((channel, index) => {
|
|
6103
|
+
return Math.round(channel + gradient * (maxColor[index] - channel));
|
|
6104
|
+
});
|
|
6105
|
+
return `rgb(${color.join(',')})`;
|
|
6106
|
+
}
|
|
6107
|
+
else {
|
|
6108
|
+
return `rgb(${minColor.join(',')})`;
|
|
6109
|
+
}
|
|
6110
|
+
}
|
|
6111
|
+
setActiveTab(tab) {
|
|
6112
|
+
this.activeTab = tab;
|
|
6113
|
+
}
|
|
6114
|
+
getSelectedEventType(e) {
|
|
6115
|
+
if (e.event) {
|
|
6116
|
+
this.optionalDrilDownDataSource = [];
|
|
6117
|
+
if (this.viewProperties.clickEventOptions.eventType == 'drilldown') {
|
|
6118
|
+
this.heatmapChartConfig['viewProperties']['associatedViews'] = [];
|
|
6119
|
+
}
|
|
6120
|
+
}
|
|
6121
|
+
}
|
|
6122
|
+
resetViewProprstise() {
|
|
6123
|
+
this.viewProperties = {
|
|
6124
|
+
enableClickEvent: false,
|
|
6125
|
+
enableRightClickEvent: true,
|
|
6126
|
+
clickEventOptions: {
|
|
6127
|
+
associatedViews: [],
|
|
6128
|
+
eventType: ""
|
|
6129
|
+
}
|
|
6130
|
+
};
|
|
6131
|
+
}
|
|
6132
|
+
deleteAssociatedParams(index) {
|
|
6133
|
+
this.optionalDrilDownDataSource.splice(index, 1);
|
|
6134
|
+
}
|
|
6135
|
+
addAssociatedParams() {
|
|
6136
|
+
this.optionalDrilDownDataSource.push({
|
|
6137
|
+
'viewId': "",
|
|
6138
|
+
'filterCondition': ""
|
|
6139
|
+
});
|
|
6140
|
+
}
|
|
6141
|
+
getColorBoxVisible(e) {
|
|
6142
|
+
this.colorArray = [];
|
|
6143
|
+
}
|
|
6144
|
+
saveColors() {
|
|
6145
|
+
if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
|
|
6146
|
+
this.colorArray = [this.firstColor, this.secondColor];
|
|
6147
|
+
}
|
|
6148
|
+
else if (this.heatmapChartConfig.type == 'singleColor') {
|
|
6149
|
+
this.colorArray = [this.singleColor];
|
|
6150
|
+
}
|
|
6151
|
+
this.getHeatmapData();
|
|
6152
|
+
}
|
|
6153
|
+
getSaveChartConfig() {
|
|
6154
|
+
if (this.colorArray && this.colorArray.length !== 0) {
|
|
6155
|
+
if (this.heatmapChartConfig.type == 'gradient' || this.heatmapChartConfig.type == 'twoColor') {
|
|
6156
|
+
this.heatmapChartConfig.color = this.colorArray;
|
|
6157
|
+
}
|
|
6158
|
+
else if (this.heatmapChartConfig.type == 'singleColor') {
|
|
6159
|
+
this.heatmapChartConfig.color = this.colorArray;
|
|
6160
|
+
}
|
|
6161
|
+
}
|
|
6162
|
+
if (this.viewProperties.clickEventOptions.eventType == 'optionalDrillDown') {
|
|
6163
|
+
this.viewProperties['clickEventOptions']['associatedViews'] = this.optionalDrilDownDataSource;
|
|
6164
|
+
}
|
|
6165
|
+
this.heatmap_content_config.kpiConfig['viewProperties'] = this.viewProperties;
|
|
6166
|
+
this.heatmap_content_config.kpiConfig['dataConfig'] = this.heatmapChartConfig;
|
|
6167
|
+
this.getHeatMapConfigOutPut.emit(this.heatmap_content_config);
|
|
6168
|
+
}
|
|
6169
|
+
}
|
|
6170
|
+
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 });
|
|
6171
|
+
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" }] });
|
|
6172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeatMapSupportComponent, decorators: [{
|
|
6173
|
+
type: Component,
|
|
6174
|
+
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>" }]
|
|
6175
|
+
}], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: i0.ChangeDetectorRef }, { type: ApplicationContentService }]; }, propDecorators: { getHeatMapConfigOutPut: [{
|
|
6176
|
+
type: Output
|
|
6177
|
+
}], chartconfigData: [{
|
|
6178
|
+
type: Input,
|
|
6179
|
+
args: ['datasetmodal']
|
|
6180
|
+
}] } });
|
|
6181
|
+
|
|
5632
6182
|
class CreateCompViewComponent {
|
|
5633
6183
|
constructor(toastr, commonService, service, kpiService, router, activatedRoute, environment) {
|
|
5634
6184
|
this.toastr = toastr;
|
|
@@ -5639,7 +6189,6 @@ class CreateCompViewComponent {
|
|
|
5639
6189
|
this.activatedRoute = activatedRoute;
|
|
5640
6190
|
this.environment = environment;
|
|
5641
6191
|
this.selectedDataSet = {};
|
|
5642
|
-
this.isFilterInputs = false;
|
|
5643
6192
|
this.selectedDataSetOnedit = {};
|
|
5644
6193
|
this.creatCompViewObject = {};
|
|
5645
6194
|
this.componentNamesOthers = [
|
|
@@ -5865,13 +6414,9 @@ class CreateCompViewComponent {
|
|
|
5865
6414
|
}
|
|
5866
6415
|
getDatasetForSimpleApiImpala(dataset) {
|
|
5867
6416
|
this.dataSourceModal = {};
|
|
5868
|
-
let filters = {
|
|
5869
|
-
startDate: this.defaultStartDate,
|
|
5870
|
-
endDate: this.defaultEndDate
|
|
5871
|
-
};
|
|
5872
6417
|
dataset.config.queryConfig.mapedFilters.forEach(filter => {
|
|
5873
|
-
if (
|
|
5874
|
-
filter.defaultValue =
|
|
6418
|
+
if (filter.hasOwnProperty(filter.localColumn)) {
|
|
6419
|
+
filter.defaultValue = filter[filter.localColumn];
|
|
5875
6420
|
}
|
|
5876
6421
|
});
|
|
5877
6422
|
if (dataset.config.apiType === "post") {
|
|
@@ -6042,6 +6587,10 @@ class CreateCompViewComponent {
|
|
|
6042
6587
|
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6043
6588
|
this.createViewConfig(data);
|
|
6044
6589
|
}
|
|
6590
|
+
getEmitNewHeatMapConfig(data) {
|
|
6591
|
+
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6592
|
+
this.createViewConfig(data);
|
|
6593
|
+
}
|
|
6045
6594
|
getEmitNewChartCongig(data) {
|
|
6046
6595
|
data['datasetId'] = this.selectedDataSet['datasetId'];
|
|
6047
6596
|
this.createViewConfig(data);
|
|
@@ -6180,10 +6729,10 @@ class CreateCompViewComponent {
|
|
|
6180
6729
|
}
|
|
6181
6730
|
}
|
|
6182
6731
|
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 });
|
|
6183
|
-
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"] }] });
|
|
6732
|
+
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"] }] });
|
|
6184
6733
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateCompViewComponent, decorators: [{
|
|
6185
6734
|
type: Component,
|
|
6186
|
-
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 (
|
|
6735
|
+
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" }]
|
|
6187
6736
|
}], ctorParameters: function () { return [{ type: i2$1.ToastrService }, { type: CommonService }, { type: ApplicationContentService }, { type: kpicommonService$2 }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: undefined, decorators: [{
|
|
6188
6737
|
type: Inject,
|
|
6189
6738
|
args: [APP_ENVIRONMENT]
|
|
@@ -7652,7 +8201,6 @@ class GammaAdvanceOperatorTableComponent {
|
|
|
7652
8201
|
const foundMatchObject = tableColumns.find(obj => obj.dataField === key);
|
|
7653
8202
|
if (foundMatchObject) {
|
|
7654
8203
|
if (foundMatchObject.enrichName && foundMatchObject.enrichName !== "") {
|
|
7655
|
-
console.log(foundMatchObject.enrichName);
|
|
7656
8204
|
newObj[key] = this.callServiceFunction(foundMatchObject.enrichName, newObj[key]);
|
|
7657
8205
|
}
|
|
7658
8206
|
}
|
|
@@ -8733,6 +9281,328 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
8733
9281
|
args: ["chartDataSource"]
|
|
8734
9282
|
}] } });
|
|
8735
9283
|
|
|
9284
|
+
class GammaHeatChartComponent {
|
|
9285
|
+
constructor(commonService) {
|
|
9286
|
+
this.commonService = commonService;
|
|
9287
|
+
this.dataSourseForTable = [];
|
|
9288
|
+
this.isLoader = true;
|
|
9289
|
+
this.tableDataConfig = {};
|
|
9290
|
+
this.enrichNameList = ["formatBytes", "formatBytsToKb", "formatBytsToGb", "reformatNumberWithThousandSeparatorV3", "formatBytesv2"];
|
|
9291
|
+
this.activeTab = 'basic';
|
|
9292
|
+
this.isAdvanceFilter = false;
|
|
9293
|
+
this.isHeatMapClick = false;
|
|
9294
|
+
this.heatChartDataSource = {};
|
|
9295
|
+
this.chartDataForTooltip = {};
|
|
9296
|
+
this.dataSourseForHeatMap = [];
|
|
9297
|
+
this.viewProperties = {
|
|
9298
|
+
enableClickEvent: false,
|
|
9299
|
+
enableRightClickEvent: true,
|
|
9300
|
+
clickEventOptions: {
|
|
9301
|
+
associatedViews: [],
|
|
9302
|
+
eventType: ""
|
|
9303
|
+
}
|
|
9304
|
+
};
|
|
9305
|
+
this.optionalDrilDownDataSource = [];
|
|
9306
|
+
this.allConfiguredViews = [];
|
|
9307
|
+
this.colorArray = [];
|
|
9308
|
+
this.firstColor = "rgba(45, 110, 18, 1)";
|
|
9309
|
+
this.secondColor = "rgba(255, 204, 0, 1)";
|
|
9310
|
+
this.singleColor = "rgba(255, 204, 0, 1)";
|
|
9311
|
+
this.heatmapChartConfig = {};
|
|
9312
|
+
this.getTableConfigOutPut = new EventEmitter();
|
|
9313
|
+
this.oRowClick = new EventEmitter();
|
|
9314
|
+
this.onrightClickContextSelection = new EventEmitter();
|
|
9315
|
+
this.rightClickEnable = true;
|
|
9316
|
+
}
|
|
9317
|
+
set chartDataSource(value) {
|
|
9318
|
+
if (value === undefined || value.length === 0) {
|
|
9319
|
+
return;
|
|
9320
|
+
}
|
|
9321
|
+
else {
|
|
9322
|
+
this.isLoader = true;
|
|
9323
|
+
this.page_config = value;
|
|
9324
|
+
this.page_parms = value.titleParams;
|
|
9325
|
+
if (value.kpiConfig.dataSource && value.kpiConfig.dataSource.length !== 0) {
|
|
9326
|
+
this.heatmapChartConfig = value.kpiConfig.dataConfig;
|
|
9327
|
+
this.colorArray = value.kpiConfig.dataConfig.color;
|
|
9328
|
+
this.getHeatmapData(value.kpiConfig.dataSource);
|
|
9329
|
+
setTimeout(() => {
|
|
9330
|
+
this.isLoader = false;
|
|
9331
|
+
}, 200);
|
|
9332
|
+
}
|
|
9333
|
+
else {
|
|
9334
|
+
setTimeout(() => {
|
|
9335
|
+
this.dataSourseForTable = [];
|
|
9336
|
+
this.tableDataConfig['columns'] = [];
|
|
9337
|
+
this.isLoader = false;
|
|
9338
|
+
}, 200);
|
|
9339
|
+
}
|
|
9340
|
+
}
|
|
9341
|
+
}
|
|
9342
|
+
ngOnInit() {
|
|
9343
|
+
}
|
|
9344
|
+
getHeatmapData(heatMapData) {
|
|
9345
|
+
this.heatChartDataSource = {};
|
|
9346
|
+
this.isAdvanceFilter = false;
|
|
9347
|
+
if (heatMapData && heatMapData.length !== 0) {
|
|
9348
|
+
if (this.heatmapChartConfig.chartFormat == "topx") {
|
|
9349
|
+
const { result, uniqueDates } = this.generateDateWiseColorCodedData(heatMapData);
|
|
9350
|
+
uniqueDates.sort();
|
|
9351
|
+
this.heatChartDataSource.dataSet = this.getTransposedHeatmapData(result);
|
|
9352
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
9353
|
+
}
|
|
9354
|
+
else if ((this.heatmapChartConfig.chartFormat == "simple")) {
|
|
9355
|
+
const { result, uniqueDates } = this.generateData(heatMapData);
|
|
9356
|
+
uniqueDates.sort();
|
|
9357
|
+
this.heatChartDataSource["dataSet"] = result;
|
|
9358
|
+
this.heatChartDataSource["argumentValue"] = uniqueDates;
|
|
9359
|
+
}
|
|
9360
|
+
this.isHeatMapClick = false;
|
|
9361
|
+
}
|
|
9362
|
+
else {
|
|
9363
|
+
this.isHeatMapClick = false;
|
|
9364
|
+
}
|
|
9365
|
+
}
|
|
9366
|
+
getTransposedHeatmapData(dataSet) {
|
|
9367
|
+
const transposed = [];
|
|
9368
|
+
const maxBoxes = Math.max(...dataSet.map(item => item.dataset.length));
|
|
9369
|
+
for (let i = 0; i < maxBoxes; i++) {
|
|
9370
|
+
const row = [];
|
|
9371
|
+
for (let j = 0; j < dataSet.length; j++) {
|
|
9372
|
+
const box = dataSet[j].dataset[i];
|
|
9373
|
+
row.push({
|
|
9374
|
+
box: box || null,
|
|
9375
|
+
date: dataSet[j].record_date
|
|
9376
|
+
});
|
|
9377
|
+
}
|
|
9378
|
+
transposed.push(row);
|
|
9379
|
+
}
|
|
9380
|
+
return transposed;
|
|
9381
|
+
}
|
|
9382
|
+
generateDateWiseColorCodedData(data) {
|
|
9383
|
+
const result = [];
|
|
9384
|
+
const uniqueDates = new Set();
|
|
9385
|
+
const allEntries = [];
|
|
9386
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
9387
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
9388
|
+
const valueField = this.heatmapChartConfig.columns[0].dataField;
|
|
9389
|
+
data.forEach(entry => {
|
|
9390
|
+
const formattedDate = (moment(entry[topArg]).format('YYYY-MM-DD')) ? moment(entry[topArg]).format('YYYY-MM-DD') : topArg;
|
|
9391
|
+
uniqueDates.add(formattedDate);
|
|
9392
|
+
entry.resultDataset.forEach(item => {
|
|
9393
|
+
allEntries.push({
|
|
9394
|
+
[topArg]: formattedDate,
|
|
9395
|
+
[leftArg]: item[`${leftArg}`],
|
|
9396
|
+
[valueField]: item[`${valueField}`]
|
|
9397
|
+
});
|
|
9398
|
+
});
|
|
9399
|
+
});
|
|
9400
|
+
let coloredData;
|
|
9401
|
+
if (this.heatmapChartConfig.type === 'gradient') {
|
|
9402
|
+
coloredData = this.getFormateDataByColorCodeForGradient(allEntries, valueField);
|
|
9403
|
+
}
|
|
9404
|
+
else if (this.heatmapChartConfig.type === 'twoColor') {
|
|
9405
|
+
coloredData = this.getFormateDataByColorCodeForWithTwoColor(allEntries, valueField);
|
|
9406
|
+
}
|
|
9407
|
+
else {
|
|
9408
|
+
coloredData = this.getFormateDataByColorCodeForWithSingleColor(allEntries, valueField);
|
|
9409
|
+
}
|
|
9410
|
+
const dateMap = {};
|
|
9411
|
+
coloredData.forEach(item => {
|
|
9412
|
+
const date = item[topArg];
|
|
9413
|
+
if (!dateMap[date]) {
|
|
9414
|
+
dateMap[date] = [];
|
|
9415
|
+
}
|
|
9416
|
+
dateMap[date].push({
|
|
9417
|
+
[leftArg]: item[leftArg],
|
|
9418
|
+
[valueField]: item[valueField],
|
|
9419
|
+
color: item.color,
|
|
9420
|
+
[topArg]: date,
|
|
9421
|
+
});
|
|
9422
|
+
});
|
|
9423
|
+
for (const date of Array.from(uniqueDates).sort()) {
|
|
9424
|
+
result.push({
|
|
9425
|
+
record_date: date,
|
|
9426
|
+
dataset: dateMap[date] || []
|
|
9427
|
+
});
|
|
9428
|
+
}
|
|
9429
|
+
return {
|
|
9430
|
+
result,
|
|
9431
|
+
uniqueDates: Array.from(uniqueDates).sort()
|
|
9432
|
+
};
|
|
9433
|
+
}
|
|
9434
|
+
generateData(data) {
|
|
9435
|
+
const result = [];
|
|
9436
|
+
const uniqueDates = new Set();
|
|
9437
|
+
const dataSourceMap = {};
|
|
9438
|
+
const topArg = this.heatmapChartConfig.topArgument;
|
|
9439
|
+
const leftArg = this.heatmapChartConfig.leftArgument;
|
|
9440
|
+
data.forEach(item => {
|
|
9441
|
+
const rowKey = item[leftArg];
|
|
9442
|
+
const columnKey = moment(item[topArg]).format('YYYY-MM-DD');
|
|
9443
|
+
if (!dataSourceMap[rowKey]) {
|
|
9444
|
+
dataSourceMap[rowKey] = {
|
|
9445
|
+
datasource: rowKey,
|
|
9446
|
+
dataset: []
|
|
9447
|
+
};
|
|
9448
|
+
}
|
|
9449
|
+
dataSourceMap[rowKey].dataset.push({
|
|
9450
|
+
...item,
|
|
9451
|
+
[topArg]: columnKey
|
|
9452
|
+
});
|
|
9453
|
+
uniqueDates.add(columnKey);
|
|
9454
|
+
});
|
|
9455
|
+
const uniqueDatesArray = Array.from(uniqueDates);
|
|
9456
|
+
for (const key in dataSourceMap) {
|
|
9457
|
+
const dataset = dataSourceMap[key].dataset;
|
|
9458
|
+
let formattedDataset;
|
|
9459
|
+
if (this.heatmapChartConfig.type == "gradient") {
|
|
9460
|
+
formattedDataset = this.getFormateDataByColorCodeForGradient(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9461
|
+
}
|
|
9462
|
+
else if (this.heatmapChartConfig.type == "twoColor") {
|
|
9463
|
+
formattedDataset = this.getFormateDataByColorCodeForWithTwoColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9464
|
+
}
|
|
9465
|
+
else {
|
|
9466
|
+
formattedDataset = this.getFormateDataByColorCodeForWithSingleColor(dataset, this.heatmapChartConfig.columns[0].dataField);
|
|
9467
|
+
}
|
|
9468
|
+
const dateToItemMap = {};
|
|
9469
|
+
formattedDataset.forEach(item => {
|
|
9470
|
+
dateToItemMap[item[topArg]] = item;
|
|
9471
|
+
});
|
|
9472
|
+
const completeDataset = uniqueDatesArray.map((date) => {
|
|
9473
|
+
if (dateToItemMap[date]) {
|
|
9474
|
+
return dateToItemMap[date];
|
|
9475
|
+
}
|
|
9476
|
+
else {
|
|
9477
|
+
return {
|
|
9478
|
+
[topArg]: date,
|
|
9479
|
+
avgSize: "No Data",
|
|
9480
|
+
fileCount: 0,
|
|
9481
|
+
fileSize: 0,
|
|
9482
|
+
color: "rgb(242, 118, 109)"
|
|
9483
|
+
};
|
|
9484
|
+
}
|
|
9485
|
+
});
|
|
9486
|
+
result.push({
|
|
9487
|
+
datasource: key,
|
|
9488
|
+
dataset: completeDataset
|
|
9489
|
+
});
|
|
9490
|
+
}
|
|
9491
|
+
return {
|
|
9492
|
+
result: result,
|
|
9493
|
+
uniqueDates: uniqueDatesArray
|
|
9494
|
+
};
|
|
9495
|
+
}
|
|
9496
|
+
getFormateDataByColorCodeForGradient(filedata, column) {
|
|
9497
|
+
filedata.forEach(item => {
|
|
9498
|
+
item.avgSize = parseFloat(item[column]);
|
|
9499
|
+
});
|
|
9500
|
+
const maxAvgSize = Math.max(...filedata.map(item => item[column]));
|
|
9501
|
+
const minAvgSize = Math.min(...filedata.map(item => item[column]));
|
|
9502
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
9503
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
9504
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
9505
|
+
filedata.forEach(item => {
|
|
9506
|
+
item.color = this.calculateColor(item[column], minAvgSize, maxAvgSize, minColor, maxColor);
|
|
9507
|
+
});
|
|
9508
|
+
return filedata;
|
|
9509
|
+
}
|
|
9510
|
+
getFormateDataByColorCodeForWithTwoColor(filedata, column) {
|
|
9511
|
+
filedata.forEach(item => {
|
|
9512
|
+
item[column] = parseFloat(item[column]);
|
|
9513
|
+
});
|
|
9514
|
+
const [minColorStr, maxColorStr] = this.colorArray || ["rgba(45, 110, 18,1)", "rgba(255, 204, 0,1)"];
|
|
9515
|
+
const minColor = this.parseRGBA(minColorStr);
|
|
9516
|
+
const maxColor = this.parseRGBA(maxColorStr);
|
|
9517
|
+
filedata.forEach(item => {
|
|
9518
|
+
if (item[column] == 0) {
|
|
9519
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
9520
|
+
}
|
|
9521
|
+
else {
|
|
9522
|
+
item.color = `rgb(${maxColor.join(',')})`;
|
|
9523
|
+
}
|
|
9524
|
+
});
|
|
9525
|
+
return filedata;
|
|
9526
|
+
}
|
|
9527
|
+
getFormateDataByColorCodeForWithSingleColor(filedata, column) {
|
|
9528
|
+
filedata.forEach(item => {
|
|
9529
|
+
item[column] = parseFloat(item[column]);
|
|
9530
|
+
});
|
|
9531
|
+
const [singleColor] = this.colorArray || ["rgba(255, 204, 0,1)"];
|
|
9532
|
+
const minColor = this.parseRGBA(singleColor);
|
|
9533
|
+
filedata.forEach(item => {
|
|
9534
|
+
item.color = `rgb(${minColor.join(',')})`;
|
|
9535
|
+
});
|
|
9536
|
+
return filedata;
|
|
9537
|
+
}
|
|
9538
|
+
parseRGBA(colorStr) {
|
|
9539
|
+
const values = colorStr.match(/[\d.]+/g)?.map(Number) || [];
|
|
9540
|
+
if (values.length === 3)
|
|
9541
|
+
values.push(1);
|
|
9542
|
+
return [
|
|
9543
|
+
values[0] ?? 0,
|
|
9544
|
+
values[1] ?? 0,
|
|
9545
|
+
values[2] ?? 0,
|
|
9546
|
+
values[3] ?? 1
|
|
9547
|
+
];
|
|
9548
|
+
}
|
|
9549
|
+
calculateColor(avgSize, minAvgSize, maxAvgSize, minColor, maxColor) {
|
|
9550
|
+
if (minAvgSize != maxAvgSize) {
|
|
9551
|
+
let gradient = (avgSize - minAvgSize) / (maxAvgSize - minAvgSize);
|
|
9552
|
+
let color = minColor.map((channel, index) => {
|
|
9553
|
+
return Math.round(channel + gradient * (maxColor[index] - channel));
|
|
9554
|
+
});
|
|
9555
|
+
return `rgb(${color.join(',')})`;
|
|
9556
|
+
}
|
|
9557
|
+
else {
|
|
9558
|
+
return `rgb(${minColor.join(',')})`;
|
|
9559
|
+
}
|
|
9560
|
+
}
|
|
9561
|
+
transformColumns(mainobj) {
|
|
9562
|
+
return Object.keys(mainobj).map(key => {
|
|
9563
|
+
return {
|
|
9564
|
+
visible: true,
|
|
9565
|
+
dataField: key,
|
|
9566
|
+
caption: key
|
|
9567
|
+
};
|
|
9568
|
+
});
|
|
9569
|
+
}
|
|
9570
|
+
getObjectKeys(obj) {
|
|
9571
|
+
return Object.keys(obj);
|
|
9572
|
+
}
|
|
9573
|
+
callServiceFunction(functionName, value) {
|
|
9574
|
+
if (value !== undefined) {
|
|
9575
|
+
if (typeof this.commonService[functionName] === "function") {
|
|
9576
|
+
return this.commonService[functionName](value);
|
|
9577
|
+
}
|
|
9578
|
+
else {
|
|
9579
|
+
console.error(`Function ${functionName} not found in CommonService`);
|
|
9580
|
+
return null;
|
|
9581
|
+
}
|
|
9582
|
+
}
|
|
9583
|
+
else {
|
|
9584
|
+
return "No Data";
|
|
9585
|
+
}
|
|
9586
|
+
}
|
|
9587
|
+
}
|
|
9588
|
+
GammaHeatChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9589
|
+
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" }] });
|
|
9590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GammaHeatChartComponent, decorators: [{
|
|
9591
|
+
type: Component,
|
|
9592
|
+
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>" }]
|
|
9593
|
+
}], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { getTableConfigOutPut: [{
|
|
9594
|
+
type: Output
|
|
9595
|
+
}], oRowClick: [{
|
|
9596
|
+
type: Output
|
|
9597
|
+
}], onrightClickContextSelection: [{
|
|
9598
|
+
type: Output
|
|
9599
|
+
}], rightClickEnable: [{
|
|
9600
|
+
type: Input
|
|
9601
|
+
}], chartDataSource: [{
|
|
9602
|
+
type: Input,
|
|
9603
|
+
args: ['chartDataSource']
|
|
9604
|
+
}] } });
|
|
9605
|
+
|
|
8736
9606
|
class kpicommonService {
|
|
8737
9607
|
constructor(commonService) {
|
|
8738
9608
|
this.commonService = commonService;
|
|
@@ -9654,6 +10524,16 @@ class CreateDatasetSqlComponent {
|
|
|
9654
10524
|
if (value.queryConfig.templateQuery != "") {
|
|
9655
10525
|
this.queryStringData = value.queryConfig.templateQuery;
|
|
9656
10526
|
}
|
|
10527
|
+
const hasLimit = value.queryConfig.mapedFilters.some(filter => filter.serverColumn === 'limit');
|
|
10528
|
+
if (!hasLimit) {
|
|
10529
|
+
value.queryConfig.mapedFilters.push({
|
|
10530
|
+
localColumn: "limit",
|
|
10531
|
+
serverColumn: "limit",
|
|
10532
|
+
operatorName: "eq",
|
|
10533
|
+
defaultValue: "5000",
|
|
10534
|
+
dataType: "string"
|
|
10535
|
+
});
|
|
10536
|
+
}
|
|
9657
10537
|
this.apiBulderDataset = value;
|
|
9658
10538
|
}
|
|
9659
10539
|
ngOnInit() {
|
|
@@ -9693,37 +10573,37 @@ class CreateDatasetSqlComponent {
|
|
|
9693
10573
|
if (newVal === '' || newVal === undefined) {
|
|
9694
10574
|
}
|
|
9695
10575
|
else {
|
|
9696
|
-
fval =
|
|
9697
|
-
splittedValuesOfQuery =
|
|
9698
|
-
return item.trim().replace(/(^,)|(,)|(;)/g, '');
|
|
9699
|
-
});
|
|
10576
|
+
fval = val;
|
|
10577
|
+
splittedValuesOfQuery = fval.match(/'[^']*'|\S+/g) || [];
|
|
9700
10578
|
this.queryStringData = fval;
|
|
9701
10579
|
const re = /{([^}]+)}/g;
|
|
9702
10580
|
let m = [];
|
|
9703
10581
|
while (m = re.exec(fval)) {
|
|
9704
10582
|
this.duplicateMatches.push(m[1]);
|
|
9705
10583
|
}
|
|
10584
|
+
let limit_key = [];
|
|
10585
|
+
limit_key = splittedValuesOfQuery.filter(s => s.toLowerCase().includes('limit'));
|
|
9706
10586
|
this.matches = this.duplicateMatches.filter((v, i) => this.duplicateMatches.indexOf(v) === i);
|
|
9707
10587
|
for (let i = 0; i < this.matches.length; i++) {
|
|
9708
10588
|
let value;
|
|
9709
10589
|
let key;
|
|
9710
10590
|
let th_key;
|
|
9711
10591
|
let keyarr = [];
|
|
9712
|
-
let th_keyArr = [];
|
|
9713
10592
|
value = this.matches[i];
|
|
9714
10593
|
keyarr = splittedValuesOfQuery.filter(s => s.includes('$P{' + this.matches[i] + '}'));
|
|
9715
|
-
th_keyArr = splittedValuesOfQuery.filter(s => s.includes('$T{' + this.matches[i] + '}'));
|
|
9716
10594
|
if (keyarr.length !== 0) {
|
|
9717
10595
|
if (keyarr[0].split('=')[0].indexOf('.') > 0) {
|
|
9718
10596
|
key = keyarr[0].split('=')[0].split('.')[1];
|
|
9719
10597
|
}
|
|
9720
10598
|
else {
|
|
9721
10599
|
key = keyarr[0].split('=')[0];
|
|
9722
|
-
let labelName = key.replace(/^./, key[0].toUpperCase());
|
|
9723
10600
|
}
|
|
9724
10601
|
}
|
|
9725
10602
|
this.argumentData.push(key);
|
|
9726
10603
|
}
|
|
10604
|
+
if (limit_key && limit_key.length !== 0) {
|
|
10605
|
+
this.argumentData.push(limit_key[0].toLowerCase());
|
|
10606
|
+
}
|
|
9727
10607
|
this.isValidate = false;
|
|
9728
10608
|
this.isNotValidate = true;
|
|
9729
10609
|
}
|
|
@@ -10049,6 +10929,13 @@ class CreateDatasetComponent {
|
|
|
10049
10929
|
"operatorName": "lte",
|
|
10050
10930
|
"defaultValue": "",
|
|
10051
10931
|
"dataType": "string"
|
|
10932
|
+
},
|
|
10933
|
+
{
|
|
10934
|
+
"localColumn": "limit",
|
|
10935
|
+
"serverColumn": "limit",
|
|
10936
|
+
"operatorName": "eq",
|
|
10937
|
+
"defaultValue": "5000",
|
|
10938
|
+
"dataType": "string"
|
|
10052
10939
|
}
|
|
10053
10940
|
]
|
|
10054
10941
|
}
|
|
@@ -10291,6 +11178,7 @@ class PageConfigComponent {
|
|
|
10291
11178
|
GammSingleNumberCardComponent,
|
|
10292
11179
|
GammaAdvanceOperatorTableComponent,
|
|
10293
11180
|
AdvanceWidgetHeaderFilterComponent,
|
|
11181
|
+
GammaHeatChartComponent,
|
|
10294
11182
|
GammaGeoChartComponent
|
|
10295
11183
|
};
|
|
10296
11184
|
this.dataSourceMataData = [];
|
|
@@ -10848,6 +11736,10 @@ class PageConfigComponent {
|
|
|
10848
11736
|
const datasetWithLimit = this.setDataSetsLimit(dataset);
|
|
10849
11737
|
apiCalls.push(this.datasetService.getDataFromDataSet(datasetWithLimit, datasetWithLimit.datasetId, this.defaultApplyedFilter));
|
|
10850
11738
|
}
|
|
11739
|
+
else if (dataset.datasetType == "sqlQuery") {
|
|
11740
|
+
const filterWithLimit = this.setDataSetsLimitForSql(dataset);
|
|
11741
|
+
apiCalls.push(this.datasetService.getDataFromDataSet(filterWithLimit, filterWithLimit.datasetId, this.defaultApplyedFilter));
|
|
11742
|
+
}
|
|
10851
11743
|
else {
|
|
10852
11744
|
apiCalls.push(this.datasetService.getDataFromDataSet(dataset, dataset.datasetId, this.defaultApplyedFilter));
|
|
10853
11745
|
}
|
|
@@ -11148,6 +12040,22 @@ class PageConfigComponent {
|
|
|
11148
12040
|
dataset.config.queryConfig.reqFields.push(limit);
|
|
11149
12041
|
return dataset;
|
|
11150
12042
|
}
|
|
12043
|
+
setDataSetsLimitForSql(dataset) {
|
|
12044
|
+
const limitIndex = dataset.config.queryConfig.mapedFilters.findIndex(filter => filter.serverColumn === 'limit');
|
|
12045
|
+
if (limitIndex === -1) {
|
|
12046
|
+
dataset.config.queryConfig.mapedFilters.push({
|
|
12047
|
+
localColumn: "limit",
|
|
12048
|
+
serverColumn: "limit",
|
|
12049
|
+
operatorName: "eq",
|
|
12050
|
+
defaultValue: "100",
|
|
12051
|
+
dataType: "string"
|
|
12052
|
+
});
|
|
12053
|
+
}
|
|
12054
|
+
else {
|
|
12055
|
+
dataset.config.queryConfig.mapedFilters[limitIndex].defaultValue = "10";
|
|
12056
|
+
}
|
|
12057
|
+
return dataset;
|
|
12058
|
+
}
|
|
11151
12059
|
getViewPopupHide(e) {
|
|
11152
12060
|
this.getAllViewsItems();
|
|
11153
12061
|
}
|
|
@@ -13500,7 +14408,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
|
|
|
13500
14408
|
OflineMetricsComponent,
|
|
13501
14409
|
AllMetricsConfigComponent,
|
|
13502
14410
|
DashTodayPreviousComponent,
|
|
13503
|
-
SingleCardComponent
|
|
14411
|
+
SingleCardComponent,
|
|
14412
|
+
HeatMapSupportComponent,
|
|
14413
|
+
GammaHeatChartComponent], imports: [CommonModule, i4.RouterModule, DevExtremeModule,
|
|
13504
14414
|
DxButtonModule,
|
|
13505
14415
|
DxCheckBoxModule,
|
|
13506
14416
|
DxNumberBoxModule,
|
|
@@ -13565,7 +14475,9 @@ PackageApplicationControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
|
|
|
13565
14475
|
OnlineMetricsComponent,
|
|
13566
14476
|
OflineMetricsComponent,
|
|
13567
14477
|
AllMetricsConfigComponent,
|
|
13568
|
-
DashTodayPreviousComponent
|
|
14478
|
+
DashTodayPreviousComponent,
|
|
14479
|
+
HeatMapSupportComponent,
|
|
14480
|
+
GammaHeatChartComponent] });
|
|
13569
14481
|
PackageApplicationControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackageApplicationControllerModule, providers: [
|
|
13570
14482
|
ApplicationContentService,
|
|
13571
14483
|
ApplicationDatssetsCall
|
|
@@ -13656,7 +14568,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13656
14568
|
OflineMetricsComponent,
|
|
13657
14569
|
AllMetricsConfigComponent,
|
|
13658
14570
|
DashTodayPreviousComponent,
|
|
13659
|
-
SingleCardComponent
|
|
14571
|
+
SingleCardComponent,
|
|
14572
|
+
HeatMapSupportComponent,
|
|
14573
|
+
GammaHeatChartComponent
|
|
13660
14574
|
],
|
|
13661
14575
|
imports: [
|
|
13662
14576
|
CommonModule,
|
|
@@ -13729,7 +14643,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13729
14643
|
OnlineMetricsComponent,
|
|
13730
14644
|
OflineMetricsComponent,
|
|
13731
14645
|
AllMetricsConfigComponent,
|
|
13732
|
-
DashTodayPreviousComponent
|
|
14646
|
+
DashTodayPreviousComponent,
|
|
14647
|
+
HeatMapSupportComponent,
|
|
14648
|
+
GammaHeatChartComponent
|
|
13733
14649
|
],
|
|
13734
14650
|
providers: [
|
|
13735
14651
|
ApplicationContentService,
|
|
@@ -13779,5 +14695,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
13779
14695
|
}]
|
|
13780
14696
|
}] });
|
|
13781
14697
|
|
|
13782
|
-
export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
|
|
14698
|
+
export { APP_ENVIRONMENT, AdvanceWidgetHeaderFilterComponent, AllMetricsConfigComponent, AppAdvanceHeaderComponent, AppHttpService, AppTitleComponent, ApplicationContentService, ApplicationDatssetsCall, ApplicationFilterComponent, ApplicationViewsComponent, BreadCrumbsComponent, CdrConfigComponent, CommonHeaderComponent, CommonService, CreateCompViewComponent, CreateDatasetComponent, CreateDatasetJsonComponent, CreateDatasetSqlComponent, CreateMetricsComponent, DashChartComponent, DashTableComponent, DashTodayPreviousComponent, GamamWidgetComponent, GammSingleNumberCardComponent, GammaAdvanceChartComponent, GammaAdvanceFilterComponent, GammaAdvanceOperatorTableComponent, GammaAppControllerComponent, GammaAppControllerModule, GammaAppControllerService, GammaGeoChartComponent, GammaHeatChartComponent, GammaTableClumnBarChartComponent, GammaTableWithPercentageComponent, GammaTodayPreviousComponent, GeoMapComponent, GoogleGeoMapComponent, HeatMapSupportComponent, IconsModule, LoaderComponent, LoadingComponent, LoadingModule, OflineMetricsComponent, OnlineMetricsComponent, PackageApplicationControllerModule, PageConfigComponent, PageConfigMultilayoutComponent, PageControlerComponent, SafeHtmlPipe, SqlPipe, TableWithBarComponent, contentSafeHtml, kpicommonService$2 as kpicommonService };
|
|
13783
14699
|
//# sourceMappingURL=gamma-app-controller.mjs.map
|