123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- 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, '') + '<span class="pl-2 font-weight-400" style="font-size:20px">INR</span>';
- }
- if (dataType[b] == 'percent') {
- _value = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(value[b], 0) + '<span>%</span>';
- $(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('<span class="btn btn-xs btn-outline-primary rounded-4">' + cssproperty[0].KPI_LinkReportLabelName + '</span>');
- }
- }
- 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 += ' <span class="mr-10"><a href="javascript:;" id="widgetconfig_' + sname + '" onclick="' + onlickurl + '">' +
- '<button class="btn btn-sm btn-' + colors[i] + ' pull-right text-white">' + appconfig[i].SettingName + '</button>' +
- '</a> </span>';
- }
- designhtml += "</div>";
- $(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 = {}));
|