var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Analytics; (function (Analytics) { let Components; (function (Components) { class ReportFolder extends Platform.Core.BaseComponent { constructor() { super(...arguments); this.reportFoldersHtml = ''; this.IsAppRefresh = false; this.parentArray = [{ id: 0, folderName: null, parentid: null }]; this.groupName = ''; this.allViewableReports = []; this.loadFolder = []; this.noReportsGroup = []; this.allReports = []; this.allReportsGroup = []; } jsFiles() { var jsFiles = []; return jsFiles; } cssFiles() { return []; } html(id, containerid) { var instance = this; let html = ``; return html; } load(id, containerid, callback) { var instance = this; } init(containerid) { var instance = this; instance.loadFolders(containerid); $('.clear_icon').click(function () { $("#ListSearch").val(''); $(".clear_icon").addClass("d-none"); Unibase.Platform.Analytics.Components.ReportFolder.Instance().searchReports(`${containerid}`); }); } loadFolders(containerid) { var instance = this; let html = `
Report Folders
`; if (_appsettings.active_identity().isAdmin) { html += `New`; } html += `
`; $(`.${containerid}`).append(html); let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val(); if (height != '0px') { $('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar"); } if ((this.reportFoldersHtml != '' && this.reportFoldersHtml != null) && !this.IsAppRefresh) { $('#userdesignreport_folders').html(this.reportFoldersHtml); this.parentArray = [{ id: 0, folderName: null, parentid: null }]; this.allViewableReports.splice(0, this.allViewableReports.length - 1); this.noReportsGroup.splice(0, this.noReportsGroup.length - 1); } else { this.IsAppRefresh = false; let html = `
`; $('#userdesignreport_folders').append(html); if (this.parentArray.length > 1) { for (let i = this.parentArray.length; i != 1; i--) { this.parentArray.shift(); } } this.allReports = []; this.loadFolder = []; this.allViewableReports = []; this.noReportsGroup = []; instance.loadReportFolder(0, containerid); instance.loadAllReports(containerid); $('.searchFromAllReports').on('click', function () { let searchDiv = $(`#${containerid}`).find('.reports-main-div-search'); if (searchDiv.is(":visible")) { searchDiv.hide(); } else { searchDiv.show(); } }); } } loadAllReports(containerid) { return __awaiter(this, void 0, void 0, function* () { const allResponse = yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getViewableReports(); this.allReports.push(allResponse.result); }); } showGlobalReports(containerid) { let searchDiv = $(`#${containerid}`).find('.reports-main-div-search'); if (searchDiv.is(":visible")) { searchDiv.hide(); } else { searchDiv.show(); } } searchReports(containerid) { $(".clear_icon").removeClass("d-none"); const searchText = $(`#${containerid}`).find('.report_folder_search').val().toString().trim().toLowerCase(); if (searchText == '') { $('.reports-main-div').show(); $(`#${containerid}`).find('.reports-global-search').hide(); $(`#${containerid}`).find('.reports-main-div-search').hide(); $(`#${containerid}`).find('.search-clear-icon').addClass('d-none'); } else { $(`#${containerid}`).find('.reports-global-search').show(); if ($(`#${containerid}`).find('.reports-global-search .no-current-reports').length == 0) { $(`#${containerid}`).find('.reports-global-search').prepend('
Reports
No Reports Found
'); } } $(`#${containerid}`).find('.folder-main-div li').each(function () { let folderName = $(this).attr('data-groupname').toLowerCase(); if (folderName.includes(searchText) == false) { $(this).hide(); } else { $(this).show(); } }); $(`#${containerid}`).find('.reports-main-div li').each(function () { let reportName = $(this).attr('data-reportname').toLowerCase(); if (reportName.includes(searchText) == false) { $(this).hide(); $('.no-current-reports').show(); } else { $(this).show(); $('.reports-main-div').show(); $('.no-current-reports').hide(); } }); let searchReports = []; for (let i = 0; i < this.allReports[0].length; i++) { let reportName; if (this.allReports[0][i].DisplayName == "" || this.allReports[0][i].DisplayName == null) { reportName = this.allReports[0][i].ReportName.toLowerCase(); } else { reportName = this.allReports[0][i].DisplayName.toLowerCase(); } if (searchText != '') { if (reportName.includes(searchText)) { searchReports.push(this.allReports[0][i]); } } } this.loadReporthtml(searchReports, '', containerid); if (!$('.reports-main-div li').is(':visible') || $('.reports-main-div li').length == 0) { $('.reports-main-div').hide(); } if ($(`#${containerid}`).find('.reports-main-div li').length === 0 || !$(`#${containerid}`).find('.reports-main-div li').is(':visible')) { if (searchText != '') { $(`#${containerid}`).find('.reports-global-search').show(); } } else { $(`#${containerid}`).find('.reports-global-search').hide(); } if (this.parentArray.length === 1) { $(`#${containerid}`).find('.reports-global-search').hide(); } else if ($(`#${containerid}`).find('.reports-main-div-search').is(":visible")) { $(`#${containerid}`).find('.reports-main-div-search').show(); } else { $(`#${containerid}`).find('.reports-main-div-search').hide(); } } loadReportGroup(parentid) { return __awaiter(this, void 0, void 0, function* () { const allReportGroups = yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportGroups(); this.allReportsGroup.push(allReportGroups); let noReportFolder = allReportGroups.result.filter((report, index, self) => this.allReports[0].find(grp => grp.ParentGroupId === report.reportgroupid) && report.parentgroupid === parentid && self.find(x => x.parentgroupid === report.reportgroupid)); noReportFolder = noReportFolder.filter(obj1 => { return !this.allReports[0].some(obj2 => obj2.ReportGroupId === obj1.reportgroupid); }); this.noReportsGroup.unshift(noReportFolder); }); } loadReportFolder(parentid, containerid) { return __awaiter(this, void 0, void 0, function* () { var instance = this; Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading(); const response = yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getViewableReportsByparentgroupid(parentid); if (this.allViewableReports.length == 0) { this.allViewableReports.unshift(response.result); } yield this.loadReportGroup(parentid); let loadedReportFolders = response.result; if (loadedReportFolders.length > 0) { if (this.allViewableReports[this.allViewableReports.length - 1].length != loadedReportFolders.length) { this.allViewableReports.unshift(loadedReportFolders); } if (this.allViewableReports.length > 1) { this.loadReporthtml(this.allViewableReports[1], parentid, containerid); } this.loadReportFolderhtml(this.allViewableReports[0], containerid); } else { this.loadReporthtml(this.allViewableReports[0], parentid, containerid); $('.folder-main-div').html(''); } this.breadcrumb(containerid); Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading(); }); } loadReportFolderhtml(response, containerid) { $(`#${containerid}`).find('.report_folder_search').val(''); let filterReportGroups = response.filter((report, index, self) => index === self.findIndex((x) => (x.ReportGroupId === report.ReportGroupId))); let folder = this.noReportsGroup[0]; for (let i = 0; i < folder.length; i++) { let groupname = folder[i].groupname; let displayname = folder[i].displayname; let reportgroupid = folder[i].reportgroupid; filterReportGroups.unshift({ ReportGroupId: reportgroupid, GroupName: groupname, GroupDisplayName: displayname }); } var html = ''; $('.folder-main-div').html(''); let folder_count = filterReportGroups.length; if (folder_count === 0) { $('.reports-main-div').removeClass('mt-20'); } else { $('.reports-main-div').addClass('mt-20'); } for (let i = 0; i < folder_count; i++) { let folderName = filterReportGroups[i]['GroupDisplayName']; if (folderName == "") { folderName = filterReportGroups[i]['GroupName']; } let parentid = filterReportGroups[i]['ParentGroupId']; let reportgroupid = filterReportGroups[i]['ReportGroupId']; html += `
  • ${folderName}
  • `; } $('.folder-main-div').append(html); $('.report_folder').click(function () { $(this).parents('.folder-main-div').find('a.active').removeClass('active'); }); if (_appsettings.active_identity().isAdmin) { $('.report_folder').contextmenu(function () { event.preventDefault; $(this).parents('.folder-main-div').find('a.active').removeClass('active'); $(this).addClass('active'); let reportgroupid = $(this).parent().data('reportgroupid'); let folderName = $(this).find('div').text(); Unibase.Platform.Analytics.Components.ReportFolder.Instance().renameFolder(folderName, reportgroupid); return false; }); } if (this.reportFoldersHtml === '') { this.reportFoldersHtml = $('#userdesignreport_folders').html(); } } loadReporthtml(reports_response, parentid, containerid) { let uniqueReports; let reports_count; if (parentid == '') { uniqueReports = reports_response; reports_count = uniqueReports.length; if (reports_count == 0) { $('.reports-main-div-search').html('
    All Reports
    No Reports Found
    '); } else { if (this.parentArray.length === 1) { $('.reports-main-div-search').show(); } } if (reports_count > 0) { $('.reports-main-div-search').html('
    All Reports
    '); } for (let i = 0; i < reports_count; i++) { let reportName = uniqueReports[i]['DisplayName']; let reportid = uniqueReports[i]['ReportId']; let html = `
    ${reportName}
    `; $('.reports-main-div-search').append(html); } } else { $('.reports-main-div').show(); $('.reports-main-div-search').hide(); uniqueReports = reports_response.filter(checkParent); function checkParent(res) { if (res.ReportGroupId == parentid) return res; } reports_count = uniqueReports.length; if (reports_count == 0) { $('.reports-main-div').html(''); } if (reports_count > 0) { $('.reports-main-div').html('
    Reports
    '); } for (let i = 0; i < reports_count; i++) { let reportName = uniqueReports[i]['DisplayName']; let reportid = uniqueReports[i]['ReportId']; let html = `
  • ${reportName}
  • `; $('.reports-main-div').append(html); } } } loadClickFolder(parentid, reportgroupid, containerid, reportGroupName) { $(`#${containerid}`).find('.reports-global-search').hide(); $(`#${containerid}`).find('.report_folder_search').val(''); this.loadFolder = []; this.parentArray.unshift({ id: reportgroupid, folderName: reportGroupName, parentid: parentid }); this.loadReportFolder(reportgroupid, containerid); $('.back_report').removeClass('hidden'); } breadcrumb(containerid) { $('.folders_header').html(''); let html = ''; if (this.loadFolder.length > 0) { this.parentArray.unshift({ id: this.loadFolder[0].id, folderName: this.loadFolder[0].folderName, parentid: this.loadFolder[0].parentid }); } for (let i = this.parentArray.length; i > 1; i--) { let id = this.parentArray[i - 1].id; let folderName = this.parentArray[i - 2].folderName; $('.folders_header .breadcrumb-item').removeClass('active'); if (i > 2) { html += ``; } else { html += ``; } } $('.folders_header').append(html); } breadcrumbClick(clickId, containerid) { $(`#${containerid}`).find('.reports-global-search').hide(); let endArray; for (let i = 0; i <= this.parentArray.length - 1; i++) { let id = this.parentArray[i].id; if (id == clickId) { endArray = i; } } let clickedFolder = this.parentArray[endArray - 1]; this.loadFolder = []; this.loadFolder.unshift({ id: clickedFolder.id, folderName: clickedFolder.folderName, parentid: clickedFolder.parentid }); this.parentArray.splice(0, endArray); this.noReportsGroup.splice(0, endArray); if ($('.folder-main-div').html() == '') { this.allViewableReports.splice(0, endArray - 1); } else { this.allViewableReports.splice(0, endArray); } this.loadReportFolder(clickedFolder.id, containerid); } loadBackFolder(containerid) { $(`#${containerid}`).find('.reports-global-search').hide(); $(`#${containerid}`).find('.reports-main-div-search').hide(); if (this.parentArray.length == 0) { return; } const { id } = this.parentArray[1]; let parentArrayLen = this.parentArray.length; let lastParentId = this.parentArray.shift(); this.noReportsGroup.shift(); if (this.allViewableReports.length > 1) { if (parentArrayLen == this.allViewableReports.length) { this.allViewableReports.shift(); } } const { parentid } = lastParentId; this.loadFolder = []; this.breadcrumb(containerid); if (this.parentArray.length == 1) { $('.back_report').addClass('hidden'); } if (!parentid && parentid != 0) { return; } let res = this.allViewableReports[0]; this.loadReportFolderhtml(res, containerid); if (id != 0) { this.loadReporthtml(this.allViewableReports[1], id, containerid); } else { $('.reports-main-div').html(''); } } renameFolder(folderName, reportgroupid) { let parentid = this.parentArray[0].id; let nextFolder; if (folderName == undefined) { let newFolderLen = $('.newfolder').length; let newFolderNum; if (newFolderLen == 0) { newFolderNum = ''; } else { newFolderNum = newFolderLen; } nextFolder = 'newfolder' + newFolderLen; folderName = 'New Folder' + newFolderNum; } let ModalHtml = ``; $('#renameModal').remove(); $("#_bizgaze_modal").append(ModalHtml); $("#renameModal").modal(); $('#renameModal').find('input').select(); } saveReportGroup(parentid, reportgroupid, nextFolder) { let folderName = $('#renameModal').find('input').val().toString(); if (reportgroupid == undefined) { reportgroupid = 0; } let isInternal = false; let groupIndex = 0; let model = new Unibase.Platform.Analytics.Reports.Requests.ReportGroup(); if (nextFolder != "undefined") { model.GroupName = folderName; } else { model.GroupName = $('.report_folder.active div').text(); } model.ReportGroupId = reportgroupid; model.IsInternalGroup = isInternal; model.ReportGroupIndex = !parseInt(groupIndex) ? 0 : parseInt(groupIndex); model.ParentGroupId = parentid; model.DisplayName = folderName; Unibase.Platform.Analytics.Managers.ReportManager._instance.saveReportGroup(model).then(function (response) { let res = JSON.parse(response.result); if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, 'divReportGroup_ErrorMessage'); } else { MessageHelper.Instance().showSuccess(response.message, ''); if (nextFolder != 'undefined') { if (_appsettings.active_identity().isAdmin) { $('.newfolder').contextmenu(function () { event.preventDefault; $(this).parents('.folder-main-div').find('a.active').removeClass('active'); $(this).addClass('active'); let reportgroupid = $(this).parent().data('reportgroupid'); let folderName = $(this).find('div').text(); Unibase.Platform.Analytics.Components.ReportFolder.Instance().renameFolder(folderName, reportgroupid); return false; }); } } else { $('.folder-main-div').find('a.active').find('div').html(folderName); } } }); if ('#renameModal') { $("#renameModal").modal('hide'); } } static Instance() { if (this._instance === undefined) this._instance = new ReportFolder(); return this._instance; } } Components.ReportFolder = ReportFolder; })(Components = Analytics.Components || (Analytics.Components = {})); })(Analytics = Platform.Analytics || (Platform.Analytics = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));