var Unibase; (function (Unibase) { let Themes; (function (Themes) { let Compact; (function (Compact) { let KpiWidgets; (function (KpiWidgets) { let Manager; (function (Manager) { class KpiManager extends Unibase.Platform.Core.BaseComponent { _load(id, containerid, callback) { let instance = this; let inputparameters = Unibase.Themes.Providers.DashboardHelper.Instance().replaceWidgetParameterValues(id[0].WidgetParameters, id[0].InstalledAppId); let fromDate = "", toDate = ""; var cf_fromDate = Unibase.Platform.Membership.Infos.Identity.currentUser.fromDate; var cf_toDate = Unibase.Platform.Membership.Infos.Identity.currentUser.toDate; if (cf_fromDate != null && cf_toDate != null) { fromDate = cf_fromDate.toString(); toDate = cf_toDate.toString(); } else { fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD"); toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD"); } var parameters = { WidgetId: id[0].WidgetId, PortletWidgetId: id[0].PortletWidgetId, InstalledAppId: id[0].InstalledAppId, InputParameters: inputparameters, FromDate: fromDate, ToDate: toDate }; instance.loadResponseData(id[0].PortletWidgetId, containerid, parameters); } loadResponseData(portletwidgetid, detailContainer, parameters, _portletwidgetid) { let instance = this; instance.inputParameters = parameters.InputParameters; Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKpiWidgetData(parameters).then(function (response) { if (_portletwidgetid == undefined) { Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidget(portletwidgetid).then(function (portletresponse) { instance.loadData(portletwidgetid, detailContainer, parameters, false, response, portletresponse); }); } else { if (_portletwidgetid != 0) { Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidget(_portletwidgetid).then(function (portletresponse) { instance.loadData(portletwidgetid, detailContainer, parameters, false, response, portletresponse); }); } else { instance.loadData(portletwidgetid, detailContainer, parameters, false, response); } } }); } loadData(portletwidgetid, Container, parameters, IsPreview, response, portletresponse) { let instance = this, result, selected_values, split_columns = []; let KpiContainer = '.' + Container; let post = response.result, value = []; let cssproperty; var viewerComponent = eval(response.result.Js); let dataType = [], isRoundOff = [], labelsArray = []; labelsArray = response.result.Selected_Columns_Labels.split(','); if (portletresponse != undefined) { if (portletresponse.result.PortletWidgetCss != null && portletresponse.result.PortletWidgetCss != '') { response.result.CssProperty = portletresponse.result.PortletWidgetCss; cssproperty = JSON.parse(portletresponse.result.PortletWidgetCss); response.result.KpiHeight = portletresponse.result.PortletWidgetHeight; } else { response.result.CssProperty = response.result.CssProperty; cssproperty = JSON.parse(response.result.CssProperty); response.result.KpiHeight = response.result.KpiHeight; } } else { response.result.CssProperty = response.result.CssProperty; cssproperty = JSON.parse(response.result.CssProperty); response.result.KpiHeight = response.result.KpiHeight; } viewerComponent._styling(portletwidgetid, KpiContainer, response); if (post != null) { result = JSON.parse(response.result.Data); selected_values = post.Selected_Columns; if (selected_values != null) { split_columns = selected_values.split(','); for (let i = 0; i < split_columns.length; i++) { if (split_columns[i] != null && split_columns[i] != undefined && split_columns[i] != '' && split_columns[i] != "Select Column") { let column = split_columns[i]; if (result.length != 0) { value.push(result[0][column]); } else { value.push(0); } } } } let kpihidden; if (cssproperty[0].KPI_ValueHidden != '' && cssproperty[0].KPI_ValueHidden != null) { kpihidden = cssproperty[0].KPI_ValueHidden.split(','); for (let i = 0; i < kpihidden.length; i++) { if (kpihidden[i] == 'true' && kpihidden[i] != '' && kpihidden[i] != null && kpihidden[i].length != 0) { $('.kpivalue_' + (i + 1) + '_' + portletwidgetid).attr('data-hidden-check', 'true').addClass('align-items-end').find('div').last().remove(); if (i + 1 == 3) { $('.card-body-kpi-CBBC-' + portletwidgetid).removeAttr("style").addClass("h-100"); } if (i + 1 == 2) { $('.card-body-kpi-TVBBC-' + portletwidgetid).removeAttr("style").addClass("h-100"); } } } } let kpisettingJSON; if (response.result.KpiSetting != undefined) kpisettingJSON = JSON.parse(response.result.KpiSetting); dataType = kpisettingJSON[0].DataType.split(','); isRoundOff = kpisettingJSON[0].IsRoundOff.split(','); let _value, stringBind = []; for (let b = 0; b < value.length; b++) { let e = b + 1; _value = value[b]; if (dataType[b] != '' && dataType[b] != null && dataType[b] != undefined) { if (dataType[b] == 'int') { _value = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(value[b], 0); } if (dataType[b] == 'float') { _value = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(value[b], 2); } if (dataType[b] == 'char' || dataType[b] == 'varchar') { _value = value[b]; } if (dataType[b] == 'INR') { _value = Unibase.Core.Helpers.NumberHelper.Instance().format(value[b], 2, '') + 'INR'; } if (dataType[b] == 'percent') { _value = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(value[b], 0) + '%'; $(KpiContainer).find('.kpivalue_' + portletwidgetid + '[role="progressbar"][data-valueBind="Value-' + e + '"]').css("width", Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(value[b], 0) + '%').html(''); } } if (isRoundOff[b] != '' && isRoundOff[b] != null && isRoundOff[b] != undefined && isRoundOff[b] == 'true') { _value = Unibase.Core.Helpers.NumberHelper.Instance().format(value[b], 2, ''); } $(KpiContainer).find('[data-valueBind="Value-' + e + '"]').html(_value).attr('title', _value).addClass('text-truncate'); $(KpiContainer).find('[data-valueLabelBind="Value-' + e + '"]').text(labelsArray[b]); $(KpiContainer).find('.kpivalue_' + portletwidgetid + '[role="progressbar"][data-valueBind="Value-' + e + '"]').html(''); } if (post.LinkReportId != 0 && post.LinkReportId != null) { if (cssproperty[0].KPI_LinkReportLabelName != undefined && cssproperty[0].KPI_LinkReportLabelName != null && cssproperty[0].KPI_LinkReportLabelName != '') { $(KpiContainer).find('.LinkReport_' + portletwidgetid + '').html('' + cssproperty[0].KPI_LinkReportLabelName + ''); } } else { $(KpiContainer).find('[data-LinkReport="LinkReport"]').addClass('hidden'); } if (response.result.AppConfigurations != null && response.result.AppConfigurations != '[]' && response.result.AppConfigurations != '' && response.result.AppConfigurations != undefined) { instance.appConfiguration(portletwidgetid, KpiContainer, response); } $(KpiContainer).ready(function () { eval(response.result.StaticJsPath.replace(/`/g, '')); }); $(KpiContainer).siblings('.line-loader').remove(); $(KpiContainer).removeClass('hidden'); } } linkReport(widgetid, portletwidgetid, containerid) { var instance = this; Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKPIWidget(widgetid).then(function (response) { var res = response.result; if (res != null) { let containerid = "div_kpireport_" + portletwidgetid; var rv_obj = Unibase.Platform.Analytics.Components.ReportViewer.Instance(); Unibase.Platform.Helpers.NavigationHelper.Instance().popup(res.LinkReportId, containerid, rv_obj, null, Unibase.Platform.Helpers.Size.ExtraLarge); } }); } appConfiguration(portletwidgetid, containerid, response) { let instance = this; if (response.result.AppConfigurations.length != 0) { var designhtml = ""; var colors = ["primary", "success", "warning", "danger", "info", "light", "secondary", "dark"]; var appconfig = response.result.AppConfigurations; for (var i = 0; i < appconfig.length; i++) { var onlickurl = ""; var sname = appconfig[i].SettingName.replace(/ /g, ''); onlickurl = instance.loadAppconfigurations(appconfig[i], response.result.Data, portletwidgetid); designhtml += ' ' + '' + ' '; } designhtml += ""; $(containerid).find("#config_widget_" + portletwidgetid).html(designhtml); } } loadAppconfigurations(config, data, portletwidgetid) { var instance = this; let settingurltype = config.SettingUrlType; var appconfigurationid = config.AppConfigurationId; var settingUrl = config.SettingUrl; var jsfunction = config.JsFunction; var formid = config.FormId; let editformid; var formpkname = config.FormPrimaryColumn; if (data.length <= 0) { editformid = 0; } else { editformid = 0; } var onclick = ""; if (settingurltype == 2) { onclick = "this.fileCacheHelper.loadJsFile('" + config.SettingUrl + "', function () {var html = Unibase.Apps.Components.Stages.Instance().init();NavigationHelper.Instance().loadPopupHtml(html, Helpers.Size.DockLeft, function(containerid) {" + config.JsFunction + " ;});});"; } else if (settingurltype == 1) { onclick = 'Unibase.Platform.Helpers.NavigationHelper.Instance().loadForm(' + formid + ', ' + editformid + ',' + appconfigurationid + ',' + portletwidgetid + ' )'; } else if (settingurltype == 3) { let variablename = "Widget_" + config.SettingUrl.split(",")[0].split(".")[0].trim(); let methodname = config.SettingUrl.split(",")[1]; var onclickurl = "Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('Widgets/" + config.SettingUrl.split(",")[0] + "', function () { " + variablename + "." + methodname + " });"; onclick = onclickurl; } else if (settingurltype == 10) { onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadDashboard(" + config.LinkDashboardId + ",'Overview')"; } else if (settingurltype == 11) { onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(" + config.LinkDashboardGroupId + ",0,true)"; } return onclick; } static Instance() { if (this._instance === undefined) this._instance = new KpiManager(); return this._instance; } } Manager.KpiManager = KpiManager; })(Manager = KpiWidgets.Manager || (KpiWidgets.Manager = {})); })(KpiWidgets = Compact.KpiWidgets || (Compact.KpiWidgets = {})); })(Compact = Themes.Compact || (Themes.Compact = {})); })(Themes = Unibase.Themes || (Unibase.Themes = {})); })(Unibase || (Unibase = {}));