Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

default.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. var Unibase;
  2. (function (Unibase) {
  3. let Themes;
  4. (function (Themes) {
  5. let Compact;
  6. (function (Compact) {
  7. let KpiWidgets;
  8. (function (KpiWidgets) {
  9. class Default extends Unibase.Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return [];
  12. }
  13. cssFiles() {
  14. return [];
  15. }
  16. html(obj, containerid) {
  17. let title = obj[0].WidgetName;
  18. var html = '<div class="card mb-0 card-sm shadow-hover h-90p kpi-card" id="kpi_card_' + obj[0].PortletWidgetId + '">' +
  19. '<a href="javascript:;" class="kpi-link-report" onclick="Unibase.Themes.Compact.KpiWidgets.Default.Instance().linkReport(' + obj[0].WidgetId + ',' + obj[0].PortletWidgetId + ',' + "'" + containerid + "'" + ')">' +
  20. '<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>' +
  21. '<div class="p-3">' +
  22. '<span class="spn_widgetname" data-kpi="kpi_font">' + title + '</span>' +
  23. '<span class="d-block align-items-center card-action-wrap pull-right font-11" >' +
  24. '<a href="javascript:;" class="inline-block full-screen hidden" id="kpi_FullScreen_' + obj[0].PortletWidgetId + '">' +
  25. '<i class="ion ion-md-expand"></i>' +
  26. '</a>' +
  27. '</span>' +
  28. '<div>';
  29. html += '<span id="spanlnk_widget_' + obj[0].PortletWidgetId + '" class="mb-10 block text-underline hidden">' +
  30. '<input type="hidden" id="hdn_widget_link_' + obj[0].PortletWidgetId + '" />' +
  31. '<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 > ' +
  32. '<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>' +
  33. '<span id="config_widget_' + obj[0].PortletWidgetId + '"></span>' +
  34. '<div class="pull-right"><div id="span_kpi_icon_' + obj[0].PortletWidgetId + '" ></div>' +
  35. '</div></div></div></div>';
  36. return html;
  37. }
  38. linkReport(widgetid, PortletWidgetId, containerid) {
  39. var instance = this;
  40. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKPIWidget(widgetid).then(function (response) {
  41. var res = response.result;
  42. if (res != null) {
  43. let containerid = "div_kpireport_" + PortletWidgetId;
  44. instance.navigationHelper.popup(res.LinkReportId, containerid, Unibase.Platform.Analytics.Components.ReportViewer.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge);
  45. }
  46. });
  47. }
  48. load(id, containerid, callback) {
  49. let instance = this;
  50. let inputparameters = Unibase.Themes.Providers.DashboardHelper.Instance().replaceWidgetParameterValues(id[0].WidgetParameters, id[0].InstalledAppId);
  51. let fromDate = "", toDate = "";
  52. var cf_fromDate = Unibase.Platform.Membership.Infos.Identity.currentUser.fromDate;
  53. var cf_toDate = Unibase.Platform.Membership.Infos.Identity.currentUser.toDate;
  54. if (cf_fromDate != null && cf_toDate != null) {
  55. fromDate = cf_fromDate.toString();
  56. toDate = cf_toDate.toString();
  57. }
  58. else {
  59. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  60. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  61. }
  62. var parameters = {
  63. WidgetId: id[0].WidgetId,
  64. PortletWidgetId: id[0].PortletWidgetId,
  65. InstalledAppId: id[0].InstalledAppId,
  66. InputParameters: inputparameters,
  67. FromDate: fromDate,
  68. ToDate: toDate
  69. };
  70. instance.loadResponseData(id[0].PortletWidgetId, containerid, parameters);
  71. }
  72. loadResponseData(portletwidgetid, detailContainer, parameters) {
  73. let instance = this;
  74. instance.inputParameters = parameters.InputParameters;
  75. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKpiWidgetData(parameters).then(function (response) {
  76. instance.loadData(portletwidgetid, detailContainer, parameters, false, response);
  77. });
  78. }
  79. loadData(portletwidgetid, detailContainer, parameters, IsPreview, response) {
  80. detailContainer = "." + detailContainer;
  81. let instance = this;
  82. var post = response.result;
  83. if (post != null) {
  84. let result = JSON.parse(response.result.Data);
  85. if (post.IsMaximize == true) {
  86. $("#kpi_FullScreen_" + portletwidgetid).removeClass("hidden");
  87. }
  88. var iconhtml = "";
  89. if (post.Icon != "" && post.Icon != null) {
  90. iconhtml = '<img id="kpi_icon_' + portletwidgetid + '"src="' + post.Icon + '" style="width:50px;"/>';
  91. $("#span_kpi_icon_" + portletwidgetid).html(iconhtml);
  92. }
  93. var selected_values = post.Selected_Columns;
  94. if (selected_values != null) {
  95. var sp = selected_values.split(',');
  96. var column1 = sp[0];
  97. }
  98. let kpiresult = JSON.parse(response.result.Data);
  99. let data = "";
  100. if (kpiresult != null) {
  101. if (kpiresult.length != 0) {
  102. data = JSON.parse(response.result.Data)[0];
  103. post.Data = data[column1];
  104. }
  105. }
  106. else
  107. post.Data = "";
  108. var color = post.Color;
  109. if (color != null) {
  110. $(detailContainer).find("#kpi_card_" + portletwidgetid).addClass(color);
  111. }
  112. if (post.IsFiltarable == true) {
  113. $(detailContainer).find(".KpiFilter_" + portletwidgetid + "").removeClass('hidden');
  114. }
  115. if (post.Data == "0.000" || post.Data == "" || post.Data == null || post.Data == "[]") {
  116. post.Data = "0";
  117. }
  118. if (post.LinkUrl == 'NULL' || post.LinkUrl == null || post.LinkUrl == "") {
  119. $(detailContainer).find("#spanlnk_widget_" + portletwidgetid).remove();
  120. }
  121. else {
  122. $(detailContainer).find("#span_widget_" + portletwidgetid).remove();
  123. $(detailContainer).find("#spanlnk_widget_" + portletwidgetid).removeClass("hidden");
  124. $(detailContainer).find("#hdn_widget_link_" + portletwidgetid).val(post.LinkUrl);
  125. $(detailContainer).find("#lnk_widget_" + portletwidgetid).click(function () {
  126. if (post.Data == "0" || Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(post.Data, 2) == 0.00) {
  127. alert('No data');
  128. }
  129. else {
  130. }
  131. });
  132. }
  133. var l;
  134. var m;
  135. var n;
  136. if (l == true || m == true || n == true)
  137. $(detailContainer).find("#value_widget_" + portletwidgetid).text(Unibase.Core.Helpers.NumberHelper.Instance().format(post.Data, 2, ''));
  138. else
  139. $(detailContainer).find("#value_widget_" + portletwidgetid).text(Unibase.Core.Helpers.NumberHelper.Instance().format(post.Data, 2, ''));
  140. if (post.Color != "" && post.Color != null) {
  141. $(detailContainer).find("#value_widget_" + portletwidgetid).addClass("text-" + color);
  142. }
  143. if (post.LinkReportId != 0 && post.LinkReportId != null) {
  144. }
  145. else {
  146. $(detailContainer).find("#showreport_" + portletwidgetid).addClass('hidden');
  147. }
  148. var colors = ["primary", "success", "warning", "danger", "info", "light", "secondary", "dark"];
  149. if (response.result.AppConfigurations != null) {
  150. if (response.result.AppConfigurations.length != 0) {
  151. var designhtml = "";
  152. var statusconditions = "";
  153. var widgetconditions = "";
  154. var appconfig = response.result.AppConfigurations;
  155. for (var i = 0; i < appconfig.length; i++) {
  156. var onlickurl = "";
  157. var sname = appconfig[i].SettingName.replace(/ /g, '');
  158. onlickurl = Default.Instance().load_appconfigurations(appconfig[i], response.result.Data, portletwidgetid);
  159. designhtml += ' <span class="mr-10"><a href="javascript:;" id="widgetconfig_' + sname + '" onclick="' + onlickurl + '">' +
  160. '<button class="btn btn-sm btn-' + colors[i] + ' pull-right btn-rounded text-white">' + appconfig[i].SettingName + '</button>' +
  161. '</a> </span>';
  162. if (appconfig[i].JsFunction != null && appconfig[i].JsFunction != "") {
  163. if (appconfig[i].JsFunction.indexOf("{{") > -1 || appconfig[i].JsFunction.indexOf("}}") > -1) {
  164. statusconditions += appconfig[i].JsFunction + " ";
  165. }
  166. else {
  167. widgetconditions += appconfig[i].JsFunction + " ";
  168. }
  169. }
  170. }
  171. designhtml += "</div>";
  172. $(detailContainer).find("#config_widget_" + portletwidgetid).html(designhtml);
  173. if (widgetconditions != "")
  174. widgetconditions = HtmlHelper.getHelper().decode(widgetconditions);
  175. let evaljs;
  176. for (var h = 0; h < result.length; h++) {
  177. var model = result[h];
  178. evaljs = Unibase.Core.Helpers.TokenHelper.Instance().replace(widgetconditions, model);
  179. }
  180. eval(evaljs);
  181. if (statusconditions != "") {
  182. if (result != null) {
  183. for (var i = 0; i < result.length; i++) {
  184. var model = result[i];
  185. var condition = Unibase.Core.Helpers.TokenHelper.Instance().replace(statusconditions, model);
  186. eval(condition);
  187. }
  188. }
  189. }
  190. }
  191. }
  192. }
  193. $(detailContainer).siblings('.line-loader').remove();
  194. $(detailContainer).removeClass('hidden');
  195. }
  196. load_appconfigurations(config, data, portletwidgetid) {
  197. var instance = this;
  198. let settingurltype = config.SettingUrlType;
  199. var appconfigurationid = config.AppConfigurationId;
  200. var settingUrl = config.SettingUrl;
  201. var jsfunction = config.JsFunction;
  202. var formid = config.FormId;
  203. let editformid;
  204. var formpkname = config.FormPrimaryColumn;
  205. if (data.length <= 0) {
  206. editformid = 0;
  207. }
  208. else
  209. editformid = 0;
  210. var onclick = "";
  211. if (settingurltype == 2) {
  212. 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 + " ;});});";
  213. }
  214. else if (settingurltype == 1) {
  215. onclick = 'Unibase.Platform.Helpers.NavigationHelper.Instance().loadForm(' + formid + ', ' + editformid + ',' + appconfigurationid + ',' + portletwidgetid + ' )';
  216. }
  217. else if (settingurltype == 3) {
  218. let variablename = "Widget_" + config.SettingUrl.split(",")[0].split(".")[0].trim();
  219. let methodname = config.SettingUrl.split(",")[1];
  220. var onclickurl = "Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('widgets/" + config.SettingUrl.split(",")[0] + "', function () { " + variablename + "." + methodname + " });";
  221. onclick = onclickurl;
  222. }
  223. else if (settingurltype == 10) {
  224. onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadDashboard(" + config.LinkDashboardId + ",'" + config.DashboardName + "')";
  225. }
  226. else if (settingurltype == 11) {
  227. onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(" + config.LinkDashboardGroupId + ",0,true)";
  228. }
  229. return onclick;
  230. }
  231. static Instance() {
  232. if (this.instance === null || this.instance === undefined)
  233. this.instance = new Default();
  234. return this.instance;
  235. }
  236. }
  237. KpiWidgets.Default = Default;
  238. })(KpiWidgets = Compact.KpiWidgets || (Compact.KpiWidgets = {}));
  239. })(Compact = Themes.Compact || (Themes.Compact = {}));
  240. })(Themes = Unibase.Themes || (Unibase.Themes = {}));
  241. })(Unibase || (Unibase = {}));