Built files from Bizgaze WebServer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

userdesignreportviewer.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Platform;
  13. (function (Platform) {
  14. let Analytics;
  15. (function (Analytics) {
  16. let Components;
  17. (function (Components) {
  18. class UserDesignReportviewer extends Components._ReportViewer {
  19. constructor() {
  20. super(...arguments);
  21. this.PortletWidgetId = 0;
  22. this.totalreportWidgetData = [];
  23. this.ReportId = 0;
  24. }
  25. jsFiles() {
  26. return this._jsFiles();
  27. }
  28. cssFiles() {
  29. return this._cssFiles();
  30. }
  31. html(id, containerid) {
  32. var instance = this;
  33. let html = ``;
  34. return html;
  35. }
  36. load(id, containerid, callback) {
  37. var instance = this;
  38. }
  39. init(containerid) {
  40. var instance = this;
  41. instance.loadReports(containerid);
  42. $(".biz-highlight-opacity").mouseover(function () {
  43. $(this).css({ "cursor": "context-menu" });
  44. });
  45. $('.clear_icon').click(function () {
  46. $("#ListSearch").val('');
  47. $('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').css("display", "block");
  48. $('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').find('.lireportgrp-item a').css("display", "block");
  49. $(".clear_icon").addClass("d-none");
  50. });
  51. }
  52. reportGroupTemplate() {
  53. let html;
  54. html = `<li class="nav-item border report-group-tree-view border-dark mb-2" id="reportgroup_{{ReportGroupId}}" style="display: grid;break-inside: avoid;">
  55. <a class="nav-link biz-highlight-opacity text-dark font-weight-600" href ="javascript:void(0);" ><span class="report-group-tree-name">{{ReportGroupName}}</span></a>
  56. <ul class="flex-column ml-15 group-drp-{{ReportGroupId}}" id="reportgroup-tree-{{ReportGroupId}}" name={{ReportGroupId}}>
  57. </ul>
  58. </li>`;
  59. return html;
  60. }
  61. reportTemplate(containerid) {
  62. let html = '';
  63. if (screen.width > 1198) {
  64. html = `<li id='{{ReportId}}' class="nav-item lireportgrp-item lireportgrp-addeditem UlItem_{{ReportId}}" style="grid-row: 1 / -1;grid-column: 1;"><input type="hidden" id="hf_Analytics_ReportId" value="{{ReportId}}"><input type="hidden" id="hf_Analytics_ReportName" data-reportname="{{DisplayName}}" value="{{DisplayName}}">
  65. <a href="javascript:;" class="nav-link text-dark onclickclass" data-reportname="{{DisplayName}}" onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAll({{ReportId}} , '0', 'userdesignedreportviewer_` + containerid + `_{{ReportId}}_fullscreen');">
  66. <span id="ReportName_{{ReportId}}"><u>{{DisplayName}}</u></span></a></li>`;
  67. return html;
  68. }
  69. else {
  70. html = `<li id='{{ReportId}}' class="nav-item lireportgrp-item lireportgrp-addeditem UlItem_{{ReportId}}" style="grid-row: 1 / -1;grid-column: 1;"><input type="hidden" id="hf_Analytics_ReportId" value="{{ReportId}}"><input type="hidden" id="hf_Analytics_ReportName" data-reportname="{{DisplayName}}" value="{{DisplayName}}">
  71. <a href="javascript:;" class="nav-link text-dark onclickclass font-12" data-reportname="{{DisplayName}}" onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAll({{ReportId}} , '0', 'userdesignedreportviewer_` + containerid + `_{{ReportId}}_fullscreen');">
  72. <span id="ReportName_{{ReportId}}"><u>{{DisplayName}}</u></span></a></li>`;
  73. return html;
  74. }
  75. }
  76. loadReports(containerid) {
  77. let reportid = 0;
  78. if (jQuery("#" + containerid).html().length < 10) {
  79. var jsfiles = [
  80. "platform/analytics/managers/reportmanager.js",
  81. "platform/apps/managers/appmanager.js",
  82. "platform/analytics/infos/report.js"
  83. ];
  84. $(`.${containerid}`).append(`<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
  85. <div class="card-header py-2 px-2 search-bar-main-wrapper border-0 viewer-header position-sticky t-0 bg-white z-index-2" id="ViewerHeader_` + containerid + `">
  86. <div class="card-header-top d-flex justify-content-center line-loader-container p-relative">
  87. <div class=line-loader></div>
  88. <div id=div_ErrorMessage class=form-error-message style=margin-left:-5px;z-index:100></div>
  89. <div class="card-search-bar report-tree-view-search m-0" id=cardSearchBar${containerid}>
  90. <div class='search-wrapper d-flex w-100' id=searchWrapper${containerid}>
  91. <input class="form-control txt_global_search" id=ListSearch placeholder="Search Report" autocomplete=off >
  92. <i class="fa fa-search search-left-icon biz-highlight-bg-color"></i>
  93. <div class="biz-highlight-bg-color main-search-loader search-clear-icon hidden"></div>
  94. <a href=javascript:; class="search-clear-icon biz-highlight-bg-color clear_icon position-absolute r-0 t-0 mt-3 d-none" id="search-clear-icon` + containerid + `" ><i class="zmdi zmdi-close"></i></a>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="card-body p-2 border-removed border-white-removed show userDesignWidgetCardBody" id="Viewer_` + containerid + `" data-iscollapseapplied=false>
  100. <ul class="userdesignedTreeview_${containerid}" id="userdesignedTreeview" style="column-count:3"></ul>
  101. </div>
  102. </div>`);
  103. let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val();
  104. if (height != '0px') {
  105. $('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar");
  106. }
  107. var instance = this;
  108. this.fileCacheHelper.loadJsFiles(jsfiles, function () {
  109. return __awaiter(this, void 0, void 0, function* () {
  110. yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getViewableReports().then(function (response) {
  111. if (response.result.length != 0) {
  112. var allReports = response.result;
  113. var reportWidgetData = response.result;
  114. let html = "";
  115. let groupTemplate = UserDesignReportviewer.Instance().reportGroupTemplate();
  116. let reportTemplate = UserDesignReportviewer.Instance().reportTemplate(containerid);
  117. var groupTemplateScript = Handlebars.compile(groupTemplate);
  118. var reportTemplateScript = Handlebars.compile(reportTemplate);
  119. let filterReportGroups = allReports.filter((report, index, self) => index === self.findIndex((x) => (x.ReportGroupId === report.ReportGroupId)));
  120. filterReportGroups = filterReportGroups.filter(x => x.IsInternalGroup == false);
  121. $.each(filterReportGroups, function (index, group) {
  122. let context = { "ReportGroupId": group.ReportGroupId, "ReportGroupName": group.GroupName };
  123. html += groupTemplateScript(context);
  124. });
  125. $(`.userdesignedTreeview_${containerid}`).append(html);
  126. $.each(allReports, function (index, report) {
  127. let reportHtml = "";
  128. if (!report.DisplayName)
  129. report.DisplayName = report.ReportName;
  130. var context = report;
  131. reportHtml = reportTemplateScript(context);
  132. $(`#reportgroup-tree-${report.ReportGroupId}`).append(reportHtml);
  133. });
  134. if (($(window).width()) <= 575) {
  135. $("#userdesignedTreeview").css({ "column-count": "1" });
  136. $(".search-wrapper").css({ "display": "block !important" });
  137. }
  138. $('#' + containerid).find("#ListSearch").on('keyup', function () {
  139. $(".clear_icon").removeClass("d-none");
  140. var _value = $(this).val().toString(), value = _value.toUpperCase();
  141. if (_value == '') {
  142. $(".clear_icon").addClass("d-none");
  143. }
  144. $('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').each(function () {
  145. let reportName = $(this).find('.lireportgrp-item a').text();
  146. if (reportName.toUpperCase().indexOf(value) > -1) {
  147. $(this).css('display', 'block');
  148. $(this).find('.lireportgrp-item a').each(function () {
  149. let reportName = $(this).text();
  150. let reportGroupName = $(this).find('.a').text();
  151. if (reportName.toUpperCase().indexOf(value) > -1) {
  152. $(this).parent().css('display', 'block');
  153. }
  154. else {
  155. $(this).parent().css('display', 'none');
  156. }
  157. });
  158. }
  159. else {
  160. $(this).css('display', 'none');
  161. }
  162. });
  163. });
  164. }
  165. });
  166. });
  167. });
  168. }
  169. }
  170. static Instance() {
  171. if (this._instance === undefined)
  172. this._instance = new UserDesignReportviewer();
  173. return this._instance;
  174. }
  175. }
  176. Components.UserDesignReportviewer = UserDesignReportviewer;
  177. })(Components = Analytics.Components || (Analytics.Components = {}));
  178. })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
  179. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  180. })(Unibase || (Unibase = {}));