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 = {}));