123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- var Unibase;
- (function (Unibase) {
- let Themes;
- (function (Themes) {
- let Compact;
- (function (Compact) {
- let KpiWidgets;
- (function (KpiWidgets) {
- class Default extends Unibase.Platform.Core.BaseComponent {
- jsFiles() {
- return [];
- }
- cssFiles() {
- return [];
- }
- html(obj, containerid) {
- let title = obj[0].WidgetName;
- var html = '<div class="card mb-0 card-sm shadow-hover h-90p kpi-card" id="kpi_card_' + obj[0].PortletWidgetId + '">' +
- '<a href="javascript:;" class="kpi-link-report" onclick="Unibase.Themes.Compact.KpiWidgets.Default.Instance().linkReport(' + obj[0].WidgetId + ',' + obj[0].PortletWidgetId + ',' + "'" + containerid + "'" + ')">' +
- '<small id = "showreport_' + obj[0].PortletWidgetId + '" class="font-sm-11 mb-5"><span class="nav-icon-wrap"><i class="font-14 dripicons dripicons-graph-pie text-dark"></i></span></small></a>' +
- '<div class="p-3">' +
- '<span class="spn_widgetname" data-kpi="kpi_font">' + title + '</span>' +
- '<span class="d-block align-items-center card-action-wrap pull-right font-11" >' +
- '<a href="javascript:;" class="inline-block full-screen hidden" id="kpi_FullScreen_' + obj[0].PortletWidgetId + '">' +
- '<i class="ion ion-md-expand"></i>' +
- '</a>' +
- '</span>' +
- '<div>';
- html += '<span id="spanlnk_widget_' + obj[0].PortletWidgetId + '" class="mb-10 block text-underline hidden">' +
- '<input type="hidden" id="hdn_widget_link_' + obj[0].PortletWidgetId + '" />' +
- '<a href="javascript:;" id="lnk_widget_' + obj[0].PortletWidgetId + '"><span id="value_widget_' + obj[0].PortletWidgetId + '" class="display-5 font-weight-500">0</span></a></span > ' +
- '<span id="span_widget_' + obj[0].PortletWidgetId + '" class="h4 block mt-20 mb-10"><span class="display-5 font-weight-500 font-25 font-xl-23" id="value_widget_' + obj[0].PortletWidgetId + '">0</span></span>' +
- '<span id="config_widget_' + obj[0].PortletWidgetId + '"></span>' +
- '<div class="pull-right"><div id="span_kpi_icon_' + obj[0].PortletWidgetId + '" ></div>' +
- '</div></div></div></div>';
- return html;
- }
- 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;
- instance.navigationHelper.popup(res.LinkReportId, containerid, Unibase.Platform.Analytics.Components.ReportViewer.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge);
- }
- });
- }
- 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) {
- let instance = this;
- instance.inputParameters = parameters.InputParameters;
- Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKpiWidgetData(parameters).then(function (response) {
- instance.loadData(portletwidgetid, detailContainer, parameters, false, response);
- });
- }
- loadData(portletwidgetid, detailContainer, parameters, IsPreview, response) {
- detailContainer = "." + detailContainer;
- let instance = this;
- var post = response.result;
- if (post != null) {
- let result = JSON.parse(response.result.Data);
- if (post.IsMaximize == true) {
- $("#kpi_FullScreen_" + portletwidgetid).removeClass("hidden");
- }
- var iconhtml = "";
- if (post.Icon != "" && post.Icon != null) {
- iconhtml = '<img id="kpi_icon_' + portletwidgetid + '"src="' + post.Icon + '" style="width:50px;"/>';
- $("#span_kpi_icon_" + portletwidgetid).html(iconhtml);
- }
- var selected_values = post.Selected_Columns;
- if (selected_values != null) {
- var sp = selected_values.split(',');
- var column1 = sp[0];
- }
- let kpiresult = JSON.parse(response.result.Data);
- let data = "";
- if (kpiresult != null) {
- if (kpiresult.length != 0) {
- data = JSON.parse(response.result.Data)[0];
- post.Data = data[column1];
- }
- }
- else
- post.Data = "";
- var color = post.Color;
- if (color != null) {
- $(detailContainer).find("#kpi_card_" + portletwidgetid).addClass(color);
- }
- if (post.IsFiltarable == true) {
- $(detailContainer).find(".KpiFilter_" + portletwidgetid + "").removeClass('hidden');
- }
- if (post.Data == "0.000" || post.Data == "" || post.Data == null || post.Data == "[]") {
- post.Data = "0";
- }
- if (post.LinkUrl == 'NULL' || post.LinkUrl == null || post.LinkUrl == "") {
- $(detailContainer).find("#spanlnk_widget_" + portletwidgetid).remove();
- }
- else {
- $(detailContainer).find("#span_widget_" + portletwidgetid).remove();
- $(detailContainer).find("#spanlnk_widget_" + portletwidgetid).removeClass("hidden");
- $(detailContainer).find("#hdn_widget_link_" + portletwidgetid).val(post.LinkUrl);
- $(detailContainer).find("#lnk_widget_" + portletwidgetid).click(function () {
- if (post.Data == "0" || Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(post.Data, 2) == 0.00) {
- alert('No data');
- }
- else {
- }
- });
- }
- var l;
- var m;
- var n;
- if (l == true || m == true || n == true)
- $(detailContainer).find("#value_widget_" + portletwidgetid).text(Unibase.Core.Helpers.NumberHelper.Instance().format(post.Data, 2, ''));
- else
- $(detailContainer).find("#value_widget_" + portletwidgetid).text(Unibase.Core.Helpers.NumberHelper.Instance().format(post.Data, 2, ''));
- if (post.Color != "" && post.Color != null) {
- $(detailContainer).find("#value_widget_" + portletwidgetid).addClass("text-" + color);
- }
- if (post.LinkReportId != 0 && post.LinkReportId != null) {
- }
- else {
- $(detailContainer).find("#showreport_" + portletwidgetid).addClass('hidden');
- }
- var colors = ["primary", "success", "warning", "danger", "info", "light", "secondary", "dark"];
- if (response.result.AppConfigurations != null) {
- if (response.result.AppConfigurations.length != 0) {
- var designhtml = "";
- var statusconditions = "";
- var widgetconditions = "";
- var appconfig = response.result.AppConfigurations;
- for (var i = 0; i < appconfig.length; i++) {
- var onlickurl = "";
- var sname = appconfig[i].SettingName.replace(/ /g, '');
- onlickurl = Default.Instance().load_appconfigurations(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 btn-rounded text-white">' + appconfig[i].SettingName + '</button>' +
- '</a> </span>';
- if (appconfig[i].JsFunction != null && appconfig[i].JsFunction != "") {
- if (appconfig[i].JsFunction.indexOf("{{") > -1 || appconfig[i].JsFunction.indexOf("}}") > -1) {
- statusconditions += appconfig[i].JsFunction + " ";
- }
- else {
- widgetconditions += appconfig[i].JsFunction + " ";
- }
- }
- }
- designhtml += "</div>";
- $(detailContainer).find("#config_widget_" + portletwidgetid).html(designhtml);
- if (widgetconditions != "")
- widgetconditions = HtmlHelper.getHelper().decode(widgetconditions);
- let evaljs;
- for (var h = 0; h < result.length; h++) {
- var model = result[h];
- evaljs = Unibase.Core.Helpers.TokenHelper.Instance().replace(widgetconditions, model);
- }
- eval(evaljs);
- if (statusconditions != "") {
- if (result != null) {
- for (var i = 0; i < result.length; i++) {
- var model = result[i];
- var condition = Unibase.Core.Helpers.TokenHelper.Instance().replace(statusconditions, model);
- eval(condition);
- }
- }
- }
- }
- }
- }
- $(detailContainer).siblings('.line-loader').remove();
- $(detailContainer).removeClass('hidden');
- }
- load_appconfigurations(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 + ",'" + config.DashboardName + "')";
- }
- else if (settingurltype == 11) {
- onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(" + config.LinkDashboardGroupId + ",0,true)";
- }
- return onclick;
- }
- static Instance() {
- if (this.instance === null || this.instance === undefined)
- this.instance = new Default();
- return this.instance;
- }
- }
- KpiWidgets.Default = Default;
- })(KpiWidgets = Compact.KpiWidgets || (Compact.KpiWidgets = {}));
- })(Compact = Themes.Compact || (Themes.Compact = {}));
- })(Themes = Unibase.Themes || (Unibase.Themes = {}));
- })(Unibase || (Unibase = {}));
|