var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Analytics; (function (Analytics) { let Charts; (function (Charts) { class ChartViewer extends Analytics.Components._Chart { constructor() { super(); this.dynamicParameters = []; this.reportManager = Analytics.Managers.ReportManager.Instance(); this.Filter = []; } jsFiles() { return ["libs/chartjs/chart.min.js"]; } cssFiles() { return [ 'libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css' ]; } html(id, containerid) { const instance = this; var reportid = id; let hidden = 'd-none'; if (containerid.includes("div_kpireport_") || containerid.includes("_previewreport_")) { hidden = ''; } let isRestrictHidden = ''; if (Unibase.Platform.Membership.Infos.Identity.currentUser.isRestrictedUser) { isRestrictHidden = 'd-none'; } let html = `
Title ${instance.currentUser.isAdmin ? ` ` : ''}
`; return html; } load(id, containerid, callback) { return __awaiter(this, void 0, void 0, function* () { const instance = this; this.reportManager = Analytics.Managers.ReportManager.Instance(); this._reportBuilder = Analytics.Reports.ReportBuilder.Instance(); this._reportBuilder.pivot = new PivotColumns(); var reportid = id; containerid = containerid; $("#Reportid_" + containerid).empty(); $('.Reportid__dynamicfilter').text(""); $("#Reportid_" + containerid).text(reportid); $(`#applyToggleBtn${containerid}`).click(() => { $(`#ApplyGlobalFilter${containerid}`).toggleClass('d-none'); $(`#saveViewAs${containerid}`).toggleClass('d-none'); }); if (containerid.indexOf("dashboardportletwidget") > 0) { let widgetheight = $("#" + containerid).siblings('#hf_portletwidgetheight').val(); if (widgetheight == 'undefined' || widgetheight == null || widgetheight == '0px') { widgetheight = '240px'; } $(".ChartViewer_" + containerid).find(".card_section").css({ "height": widgetheight, "overflow": "hidden" }); $(".ChartViewer_" + containerid).find("#ChartCanvasDiv" + containerid).addClass('h-100 w-100'); } if ($(`#${containerid}`).hasClass('_bizgaze_popup_container') || $(`#${containerid}`).hasClass('_bizgaze_detail_container')) { $(`#chartViewerWrap_${containerid}`).addClass('chart-viewer-card'); $(`#chartMaximizeBtn_${containerid}`).addClass('d-none'); $(`#reportCloseBtn_${containerid},#filterDpWrap_${containerid}`).removeClass('d-none'); $(`#chartSection_${containerid}`).css('height', '100%'); if (containerid.includes('div_dashboardportletwidget')) { $(`#chartMinimizeBtn_${containerid}`).removeClass('d-none'); } if (Unibase.Themes.Compact.Components.Index.Instance().tabMode) { $(`#ChartCanvasDiv${containerid}`).addClass('h-100 w-100'); } else { $(`#chartSection_${containerid}`).addClass('d-flex flex-column justify-content-center'); $(`#ChartCanvasDiv${containerid}`).removeClass('h-100').addClass('h-50 w-100'); } } instance.xaxisColumns = [], instance.yaxisColumns = [], instance.groupColumns = []; instance.loadData(containerid, reportid); }); } loadData(containerid, reporId) { return __awaiter(this, void 0, void 0, function* () { var instance = this; instance.ChartDivId = containerid + "-chart-canvas"; instance.chartContainerId = containerid; let rv_instance; if (Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.length > 0) { let reportviewerInstance = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.find(x => x.childcontainerid == containerid); if (reportviewerInstance != undefined) rv_instance = reportviewerInstance.instance; else rv_instance = instance; } else { rv_instance = instance; } Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading(); let reportInfo = rv_instance.reportResponse.result.ReportInfo; instance._reportBuilder.reportid = reporId; instance._reportBuilder.DataListId = reportInfo.DataListId; instance.IsChartBuilder = false; instance.displayLegend = reportInfo.IsLegend; instance.isDataLabel = reportInfo.IsDataLabel; instance.isTooltipHeader = reportInfo.IsTooltipHeader; instance.tickLabelLength = reportInfo.TickLabelLength; instance.loadSelectedLegend(reportInfo.LegendTypeId, false); if (containerid.indexOf("dashboardportletwidget") > 0) { if (containerid.includes('fullscreen')) { const widgetContainerId = containerid.replace('fullscreen_', ''); const widgetName = $(`#${widgetContainerId}`).siblings('[id^=hf_widgetName]').val().toString(); $("#ReportTitle_" + containerid).text(widgetName); } else { $("#ReportTitle_" + containerid).text(instance.WidgetName); } } else { $("#ReportTitle_" + containerid).text(reportInfo.ReportName); } var reportColumns = reportInfo.ReportColumns; instance._reportBuilder.TenureReport = [], instance._reportBuilder.pivot.ColumnName = ""; var tenure; var pivot; if (reportColumns.length != 0) { tenure = reportColumns.find(x => x.IsTenureApplied == true); pivot = reportColumns.find(x => x.IsPivotColumn == true); } if (tenure) { instance._reportBuilder.TenureReport[tenure.DisplayText] = { TimeInterval: tenure.TimeInterval, }; var Values_len = instance._reportBuilder.TenureReport.length; instance._reportBuilder.TenureReport.length = Values_len + 1; instance._reportBuilder.tenureTimeIntervalCol = tenure.DisplayText; return instance.tenureChart(instance.ChartDivId, reporId); } if (reportInfo.ChartColumns.length != 0 && instance._reportBuilder.TenureReport.length == 0) { instance.ChartTypeId = reportInfo.ChartTypeId; var chartcolumns = reportInfo.ChartColumns; instance.loadchart(rv_instance.reportData, chartcolumns, reportColumns, pivot); } instance.colorAppliedOn = reportInfo.ColorAppliedTypeId; if (!reportInfo.LegendTitleTypeId) instance.legendTitleTypeId = Unibase.Platform.Analytics.Enums.LegendTitleType.Data; else if (reportInfo.LegendTitleTypeId) instance.legendTitleTypeId = reportInfo.LegendTitleTypeId; if (reportInfo.ChartBaseValue) instance.chartBaseValue = reportInfo.ChartBaseValue; const indexInstance = Unibase.Themes.Compact.Components.Index.Instance(); if (reportInfo.PaletteId !== 0 || indexInstance.currentTheme.paletteId) { let paletteId = reportInfo.PaletteId; if (!paletteId) { instance.paletteColors.push(...indexInstance.themePalette); } else { instance.getpaletteColors(paletteId, false); } } instance.chart_dataSet(); $(`#linkreport${containerid}`).click(function () { let widgetId = Number($(this).closest(".dashboardwidget-addeditem").find("#hf_widgetId").val()); var commonFilters = Unibase.Platform.Analytics.Components._CommonFilter.Instance().appliedFilters; let filters = []; if (commonFilters && commonFilters.length) { var fil = commonFilters.find(x => x.WidgetId == widgetId); if (fil && fil.AutocompleteFilter && fil.AutocompleteFilter.length) { filters = fil.AutocompleteFilter; } } var rv_instance = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.find(x => x.childcontainerid == containerid); var dynamicfilters = (rv_instance.instance) ? rv_instance.instance.dynamicFilters : []; if (dynamicfilters && dynamicfilters.length) { filters = dynamicfilters; } instance.linkReport(reportInfo.ReportId, filters, "div_linkreport" + containerid.substr(containerid.lastIndexOf("_")) + "_viewall"); }); }); } loadchart(chartdata, chartcolumns, reportColumns, pivot) { return __awaiter(this, void 0, void 0, function* () { var instance = this; var data = chartdata; instance.ChartData = data; const containerid = instance.chartContainerId; var chartCols = []; if (reportColumns != null && reportColumns.length != 0) { reportColumns.map(function (element) { var cCol = chartcolumns.find(c => c.AliasName == element.AliasName); if (cCol) { chartCols.push(cCol); } }); } else { chartCols = chartcolumns; } if (data.length > 0) { for (var i = 0; i < chartCols.length; i++) { let chartCol = chartCols[i]; let ColumnValue = chartCol.ColumnValue; let Field = chartCol.Name; let AliasName = chartCol.AliasName; let DataType = chartCol.DataType; let Name = AliasName != null ? AliasName : Field; let IsNumAbb = chartCol.IsNumAbb; if (chartCol.IsXaxis == true) { let xObj = { ColumnId: ColumnValue, ColumnName: Name, DisplayText: AliasName, AliasName: AliasName, DataType: DataType, ColorType: chartCol.ColorAppliedOn, CoordinateTypeId: instance.ChartAxis.Horizontal, divId: "", IsNumAbb: IsNumAbb }; instance.selected_Coordinate(xObj); } else if (chartCol.IsYaxis == true && chartCol.IsGroupBy != true) { let yObj = { ColumnId: ColumnValue, ColumnName: Name, DisplayText: AliasName, AliasName: AliasName, DataType: DataType, ColorType: chartCol.ColorAppliedOn, CoordinateTypeId: instance.ChartAxis.Vertical, divId: "", IsNumAbb: IsNumAbb }; instance.selected_Coordinate(yObj); } else if (chartCol.IsGroupBy == true) { if (chartCol.Color != null) { instance.chartViewer_Colors(chartCol.Color, ColumnValue, Name); } let gObj = { ColumnId: ColumnValue, ColumnName: Name, DisplayText: AliasName, AliasName: AliasName, DataType: DataType, ColorType: chartCol.ColorAppliedOn, CoordinateTypeId: instance.ChartAxis.GroupBy, divId: "" }; instance.selected_Coordinate(gObj); if (pivot) { yield instance._reportBuilder.getDistinctData(ColumnValue, Name, chartCol.AggregationValue); } } else if (chartCol.IsLineChart == true) { let lObj = { ColumnId: ColumnValue, ColumnName: Name, DisplayText: AliasName, AliasName: AliasName, DataType: DataType, ColorType: chartCol.ColorAppliedOn, CoordinateTypeId: instance.ChartAxis.LineChart, divId: "" }; instance.selected_Coordinate(lObj); } if (chartCol.IsChartBaseColumn == true) { let lObj = { ColumnId: ColumnValue, ColumnName: Name, DisplayText: AliasName, AliasName: AliasName, DataType: DataType, ColorType: chartCol.ColorAppliedOn, CoordinateTypeId: instance.ChartAxis.BaseColumn, divId: "" }; instance.selected_Coordinate(lObj); } } } else { $(`#ChartCanvasDiv${containerid}`).addClass('d-none'); $(`#chartSection_${containerid}`).removeClass('d-flex'); $(`#noChartDataMsg_${containerid}`).html('
No data available
').removeClass('d-none'); } this.prepareAndBindToolTipColumns(chartCols); }); } static Instance() { this._instance = new ChartViewer(); return this._instance; } } Charts.ChartViewer = ChartViewer; })(Charts = Analytics.Charts || (Analytics.Charts = {})); })(Analytics = Platform.Analytics || (Platform.Analytics = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));