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 Viewers;
(function (Viewers) {
class TemplateViewer extends Platform.Core.BaseComponent {
constructor() {
super();
this.TemplatePageSize = 20;
this.MoreBtnViewerId = 0;
this.SubTemplatesPage = [];
this._lists_default_index = 0;
this.last_page = 1;
this.pivotChildRecords = [];
this.widgetHeightPx = Unibase.Themes.Compact.Components.Index.Instance().widgetHeightPx;
this.widgetHeightNum = Unibase.Themes.Compact.Components.Index.Instance().widgetHeightNum;
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this._reportViewer = Analytics.Components.ReportViewer.Instance();
this._reportBuilder = Analytics.Reports.ReportBuilder.Instance();
this.TemplateViewerId = 0;
this.MainTemplateReportId = 0;
this.MainTemplateViewerId = 0;
this.Filter = [];
this.ReportId = 0;
this.ListSearchTerm = "";
}
loadView(reportresponse, reportid, viewerid, page, pageSize, containerid, viewerSettings, callback, reportwidgetdata) {
var instance = this;
let portletWidgetId = 0;
if (containerid.indexOf("div_portletwidget") > -1) {
portletWidgetId = Number(containerid.split("_")[2]);
if (containerid.indexOf("viewall") == -1)
instance._reportViewer.IsPortletWidget = true;
}
else {
$(`#${containerid} .report-search`).addClass("d-sm-flex");
$(`#${containerid} .search_icon`).removeClass("hidden");
}
if (containerid.indexOf("div_dashboardportletwidget") > -1) {
portletWidgetId = Number(containerid.split("_")[2]);
}
this.viewerManager.getTemplateView(viewerid).then(function (templateresponse) {
if (templateresponse.status == Unibase.Data.Status.Error) {
return MessageHelper.Instance().showError(templateresponse.message, 'div_ErrorMessage', containerid);
}
if (templateresponse.result.PageSize != 0) {
instance.TemplatePageSize = templateresponse.result.PageSize;
}
let rv = Unibase.Platform.Analytics.Components.ReportViewer.Instance();
let rv_instance = rv.getReportViewerInstance(containerid);
if (rv_instance && !rv_instance.isShowAll) {
rv_instance.PageSize = templateresponse.result.PageSize || 20;
}
instance.loadTemplateReport(templateresponse, reportresponse, reportid, containerid, page, reportwidgetdata, portletWidgetId, viewerid);
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
});
}
loadpivotdata(ev, reportid, templateviewerid, parentid, childid, inputparams) {
var instance = this;
if ($(".parentPlusIcon_" + parentid + "_" + childid).hasClass("fa-minus")) {
$(".parentUl_" + parentid + "_" + childid).remove();
$(".parentPlusIcon_" + parentid + "_" + childid).removeClass("fa-minus");
$(".parentPlusIcon_" + parentid + "_" + childid).addClass("fa-plus");
return false;
}
var fromDate = "";
var toDate = "";
var cf_fromDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate;
var cf_toDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_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 postdata = {
ReportId: reportid,
page: 1,
pageSize: 0,
IsPivot: true,
FromDate: fromDate,
ToDate: toDate,
PivotId: Number(childid),
IsJson: true,
InputParameters: inputparams
};
$.when(instance.reportManager.getReportViewerData(postdata)).done(function (response1) {
instance.viewerManager.getTemplateView(templateviewerid).then(function (templateresponse) {
var temptext = templateresponse.result.TemplateText;
temptext = HtmlHelper.getHelper().decode(templateresponse.result.TemplateText);
let res = JSON.parse(response1.result);
var data = JSON.parse(res.Data);
$(".parentUl_" + parentid + "_" + childid).remove();
$(".parentPlusIcon_" + parentid + "_" + childid).addClass("fa-minus");
$(".parentPlusIcon_" + parentid + "_" + childid).removeClass("fa-plus");
var html = "";
var templateScript = Handlebars.compile(temptext);
for (let j = 0; j < data.length; j++) {
data[j]["pivot_reportid"] = reportid;
data[j]["pivot_viewerid"] = templateviewerid;
var templatescript = templateScript(data[j]);
if (data[j].haschild == true) {
templatescript = templatescript.replace("parentPlusIcon_" + data[j]["parentid"] + "_" + data[j]["childid"] + " d-none", "parentPlusIcon_" + data[j]["parentid"] + "_" + data[j]["childid"] + "");
}
html += templatescript;
}
let ultag = '
') + 6);
if (reportwidgetdata.AppConfigurations.WidgetItemGrouped.length != 0) {
var widgetitemgrouped = reportwidgetdata.AppConfigurations.WidgetItemGrouped;
designhtml = `
";
instance.autoFixConfigDpVisibility(containerid);
}
if (reportwidgetdata.AppConfigurations.WidgetItemUnGrouped.length != 0) {
designhtml += "
";
var WidgetItemUnGrouped = reportwidgetdata.AppConfigurations.WidgetItemUnGrouped;
for (var i = 0; i < WidgetItemUnGrouped.length; i++) {
var sname = WidgetItemUnGrouped[i].SettingName.replace(/ /g, '');
let jsfunction2 = "";
if (WidgetItemUnGrouped[i].JsFunction != null && WidgetItemUnGrouped[i].JsFunction != "")
jsfunction2 = HtmlHelper.getHelper().decode(WidgetItemUnGrouped[i].JsFunction);
onlickurl = instance.load_appconfigurations(WidgetItemUnGrouped[i], TempText, portletwidgetid);
if (jsfunction2 != null && jsfunction2 != "") {
if (jsfunction2.indexOf("{{") > -1 || jsfunction2.indexOf("}}") > -1) {
statusconditions += jsfunction2 + ";";
}
else {
widgetconditions += jsfunction2 + ";";
}
}
if (!Unibase.Themes.Compact.Components.Details.Instance().isSystemLock || (Unibase.Themes.Compact.Components.Details.Instance().isSystemLock && WidgetItemUnGrouped[i].ExcludeFromLock)) {
designhtml += '
' +
'' +
' ';
}
}
designhtml += "
";
}
if (reportwidgetdata.AppConfigurations.WidgetSettings.length != 0) {
designhtml += "
";
var WidgetSettings = reportwidgetdata.AppConfigurations.WidgetSettings;
for (var i = 0; i < WidgetSettings.length; i++) {
var sname = WidgetSettings[i].SettingName.replace(/ /g, '');
let jsfunction3 = "";
if (WidgetSettings[i].JsFunction != null && WidgetSettings[i].JsFunction != "")
jsfunction3 = HtmlHelper.getHelper().decode(WidgetSettings[i].JsFunction);
if (jsfunction3 != null && jsfunction3 != "") {
if (jsfunction3.indexOf("{{") > -1 || jsfunction3.indexOf("}}") > -1) {
statusconditions += jsfunction3 + ";";
}
else {
widgetconditions += jsfunction3 + ";";
}
}
var onlickurl = "";
if (WidgetSettings[i].SettingUrlType == 4) {
if (jsfunction3 != null && jsfunction3 != "") {
if (WidgetSettings[i].JsFunction != null && WidgetSettings[i].JsFunction != "")
statusconditions += HtmlHelper.getHelper().decode(WidgetSettings[i].JsFunction);
}
onlickurl = WidgetSettings[i].SettingUrl;
}
else {
onlickurl = instance.load_appconfigurations(WidgetSettings[i], TempText, portletwidgetid);
}
var SettingDesignHtml = "";
if (reportwidgetdata.AppConfigurations.WidgetSettings[i].SettingDesignHtml != null && reportwidgetdata.AppConfigurations.WidgetSettings[i].SettingDesignHtml != "")
SettingDesignHtml = HtmlHelper.getHelper().decode(reportwidgetdata.AppConfigurations.WidgetSettings[i].SettingDesignHtml);
if (SettingDesignHtml != null) {
SettingDesignHtml = SettingDesignHtml.replace("{{id}}", '"widgetconfig_' + widgetitemid + '_' + sname + '"');
SettingDesignHtml = SettingDesignHtml.replace("{{onclick}}", '"' + onlickurl + '"');
SettingDesignHtml = SettingDesignHtml.replace("{{SettingName}}", WidgetSettings[i].SettingName);
designhtml += ' ' + SettingDesignHtml + '';
}
}
designhtml += "
";
}
}
TempText = TempText.replace(sub, designhtml);
}
}
}
if (reportresp !== null && reportresp.Data == "") {
$("#btn-list-load-more_" + containerid).addClass('hidden');
$(`#Viewer_${containerid}`).find('.Templateheader,.Templatefooter').addClass("hidden");
if (rv_instance.reportResponse && rv_instance.reportResponse.result && !rv_instance.reportResponse.result.ReportInfo.IsAutoData && !rv_instance.dynamicFilters.length && !rv_instance.dateFilters.length) {
$("#templateViewerBody_" + containerid).html("
Select filter to show data
");
}
else {
$("#templateViewerBody_" + containerid).html("
No data available
");
}
}
else {
if (reportresp != null && typeof (reportresp.Data) === 'string')
data = JSON.parse(reportresp.Data);
else if (typeof (reportresp.Data) === 'object')
data = reportresp.Data;
rv_instance.reportDatalength = +$(`#visibleReportCount_${containerid}`).text() + data.length;
$(`#visibleReportCount_${containerid}`).text(rv_instance.reportDatalength);
}
if (!containerid.includes('div_dashboardportletwidget') || containerid.includes('fullscreen')) {
$(`#Viewer_${containerid}`).removeAttr('style tabulator-layout').removeClass('tabulator');
}
var templateScript = Handlebars.compile(TempText);
var templatefooterScript = Handlebars.compile(HtmlHelper.getHelper().decode(templateresponse.result.FooterText));
const totalRecords = reportresponse.result.ReportJsonData.TotalRecords;
let records = 0;
if (instance._reportViewer.IsPortletWidget) {
if (instance.TemplatePageSize == data.length && !reportresponse.result.ReportInfo.IsEnableCount) {
$(`#lnkViewAll_${containerid}`).removeClass("hidden");
}
else if (data.length >= 5) {
$(`#lnkViewAll_${containerid}`).removeClass("hidden");
}
else if (rv_instance.reportDatalength == 0) {
$(`#lnkViewAll_${containerid}`).addClass("hidden");
}
$("#btn-list-load-more_" + containerid).addClass('hidden');
if (totalRecords > 0) {
$("#Viewer_pagintion" + containerid).html(data.length + ' ' + 'of' + ' ' + totalRecords);
}
if (data.length >= 5) {
$(`#lnkViewAll_${containerid}`).removeClass("hidden").addClass("btn font-10");
}
if (containerid.indexOf("div_portletwidget") > -1 && reportresponse.result.ReportInfo.IsEnableCount) {
$("#Viewer_pagintion_Badge_count" + containerid).removeClass('d-none');
$("#Viewer_pagintion_Badge_count_badge" + containerid).html(data.length);
}
}
else {
if (totalRecords <= page * instance.TemplatePageSize) {
records = totalRecords;
if (templateresponse.result.EnableSubTemplatesMode) {
if (instance.MoreBtnViewerId == 0) {
$("#card-footer_" + containerid).hide();
}
else {
$("#card-footer_" + instance.TemplateViewerId + "_" + containerid).hide();
}
}
else {
if (instance.TemplatePageSize == data.length && !reportresponse.result.ReportInfo.IsEnableCount) {
$("#btn-list-load-more_" + containerid).removeClass('hidden');
}
else if (totalRecords == rv_instance.reportData.length) {
$("#btn-list-load-more_" + containerid).addClass('hidden');
let VisibleContainerId = instance.navigationHelper.getLastContainerId();
var notdashboard = $("#" + VisibleContainerId).find("#dashboardwidget-container").length;
var notdetailspage = $("#" + VisibleContainerId).find(".detail-container-content").length;
var nomodal = $("._bizgaze_popup_container").find(".NoMore-Records").length;
if (notdashboard == 0 && notdetailspage == 0 && nomodal == 0) {
$("#btn-list-load-more_" + containerid).parents().find(".NoMore-Records").removeClass('d-none');
}
}
}
}
else {
if (totalRecords != 0) {
$("#btn-list-load-more_" + containerid).removeClass('hidden');
}
records = page * rv_instance.PageSize;
if (records > totalRecords) {
records = totalRecords;
$("#btn-list-load-more_" + containerid).addClass('hidden');
$(`#templateBodyFooter_${containerid} .NoMore-Records`).removeClass('d-none');
}
}
$("#Viewer_pagintion" + containerid).html(records + ' of ' + totalRecords);
if (totalRecords != 0) {
var display_count = `
(${totalRecords})`;
$("#Viewer_pagintion_count" + containerid).html(display_count);
}
else if (rv_instance.isEnableCount) {
$("#Viewer_pagintion_count" + containerid).html(`(${rv_instance.totalRecords})`);
}
}
if (totalRecords != 0) {
$(`#visibleReportCountWrap_${containerid}`).addClass('d-none');
$(`.reportCountWrap_${containerid} .rpt-Count${containerid}`).addClass("hidden");
$(`#Viewer_pagintion${containerid}`).removeClass('hidden');
}
if (rv_instance.isShowAll && data.length < rv_instance.PageSize) {
$("#btn-list-load-more_" + containerid).addClass('hidden');
}
let html = "";
let footerhtml = "";
$(".list-content-section" + containerid).removeClass('hidden');
$(".report_filter_" + containerid).addClass('hidden');
if (reportresponse.result.ReportInfo.IsPivotTree && reportresponse.result.ReportInfo.IsTreeExpand) {
html = instance.getTreeViewTemplate(data, TempText, reportresponse.result.ReportInfo.PivotValue, reportresponse.result.ReportInfo.IsTreeExpand);
}
else {
for (let i = 0; i < data.length; i++) {
data[i]["appinstalledappid"] = rv_instance.ViewerSettings.InstalledAppId;
if (data[i].statusid == 1) {
data[i]["statusname"] = "text-success";
}
else {
data[i]["statusname"] = "text-danger";
}
if (data[i].haschild == true) {
data[i]["pivot_reportid"] = id;
data[i]["pivot_viewerid"] = viewerid;
}
var templatescript = templateScript(data[i]);
if (reportresponse.result.ReportInfo.IsPivotTree && !reportresponse.result.ReportInfo.IsTreeExpand) {
if (data[i].haschild == true) {
templatescript = templatescript.replace("parentPlusIcon_" + data[i]["parentid"] + "_" + data[i]["childid"] + " d-none", "parentPlusIcon_" + data[i]["parentid"] + "_" + data[i]["childid"] + "");
}
}
html += templatescript;
}
}
if (page == instance._reportViewer.Page && instance.MoreBtnViewerId == 0) {
if (templateresponse.result.EnableSubTemplatesMode) {
instance.loadCardMode(reportresponse, html, templateresponse, containerid, reportwidgetdata);
}
else {
if (templateresponse.result.EnableCardMode) {
$(".layout_list_container").addClass("removed");
}
if (Unibase.Themes.Providers.DetailHelper.installedAppId != 0 && Unibase.Themes.Compact.Components.Index.Instance().currentTheme.isstructenable) {
let _html = html.replace(/col-sm-12|col-md-3|col-md-4|col-md-6|col-lg-3|col-lg-4|col-lg-6|col-xl-3|col-xl-4|col-xl-3|col-xxl-3|col-xxl-4|col-xxl-6/gi, function (x) {
return 'col-12';
});
$("#layout_list_container_" + containerid).html(_html);
}
else {
$("#layout_list_container_" + containerid).html(html);
}
instance.templateText = html;
if (HtmlHelper.getHelper().decode(templateresponse.result.FooterText.trim(" ")) == "") {
$(`#templateViewerFooter_${containerid}`).addClass("hidden");
$(`#templateViewerFooter_${containerid}`).removeClass("card-footer");
}
else {
$(`#templateViewerFooter_${containerid}`).html(templatefooterScript(data[0]));
instance.footerText = templatefooterScript(data[0]);
}
}
}
else {
instance.templateText = html;
if (instance.MoreBtnViewerId == 0) {
$("#layout_list_container_" + containerid).append(html);
}
else {
let TempViewId = instance.MoreBtnViewerId;
$("#layout_list_container_" + TempViewId + "_" + containerid).append(html);
}
}
if (templateresponse.result.EnableSubTemplatesMode) {
$("#templateViewerBody_" + containerid).css('height', '100%');
}
if (templateresponse.result.EnableCardMode) {
$("#layout_list_container_" + containerid).addClass("d-flex flex-wrap").removeClass("list-group");
$("#templateViewerBody_" + containerid).css('background-color', 'transparent');
}
if (templateresponse.result.IsCarousel) {
var finalHtml = instance.headerText + instance.templateText + instance.footerText;
$("#Viewer_" + containerid).html(finalHtml).css({ "height": "100%", "max-height": instance.widgetHeightPx });
}
if (templateresponse.result.Js != null && templateresponse.result.Js != "") {
if (templateresponse.result.Js.indexOf("{{") > -1 || templateresponse.result.Js.indexOf("}}") > -1) {
statusconditions += templateresponse.result.Js + ";";
}
else {
widgetconditions += templateresponse.result.Js + ";";
}
}
$("#layout_list_container" + containerid).find(".list-group-item a").on("click", function (e) {
this.id;
});
$(".grid-stack-item-content").removeClass("hidden");
let iconhtml = "";
let threeDotsHtml = '
';
$('#dropdownMenuButton_' + containerid).parent().remove();
$(".sp_widget_create_" + containerid + "").find("a").remove();
if (($(window).width()) <= 575) {
if ($(".sp_widget_create_" + containerid).find("span").length == 0) {
$(".sp_widget_create_" + containerid).parents('.card-header-right').siblings('.card-header-left').removeClass("w-70");
}
}
if (reportwidgetdata != null) {
if (reportwidgetdata.AppConfigurations != null && reportwidgetdata.Data.ReportId == templateresponse.result.ReportId) {
var ungroued = [];
var widgetcreate = reportwidgetdata.AppConfigurations.WidgetGrouped.filter(function (o) { return o.AppConfigType === 3; });
if (widgetcreate.length > 0) {
var onlickurl_grouped = "";
for (var i = 0; i < widgetcreate.length; i++) {
var createjsfunction = "";
var settingdesignhtml = "";
if (widgetcreate[i].JsFunction != null && widgetcreate[i].JsFunction != "")
createjsfunction = HtmlHelper.getHelper().decode(widgetcreate[i].JsFunction);
if (widgetcreate[i].SettingDesignHtml != null && widgetcreate[i].SettingDesignHtml != "")
settingdesignhtml = HtmlHelper.getHelper().decode(widgetcreate[i].SettingDesignHtml);
onlickurl_grouped = instance.load_appconfigurations(widgetcreate[i], TempText, portletwidgetid);
if (!Unibase.Themes.Compact.Components.Details.Instance().isSystemLock || (Unibase.Themes.Compact.Components.Details.Instance().isSystemLock && widgetcreate[i].ExcludeFromLock)) {
let details_btn_p = 'pr-3';
if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin) {
details_btn_p = '';
}
if ((widgetcreate[i].Icon == "null" || widgetcreate[i].Icon == "") && widgetcreate[i].SettingUrlType == 3) {
iconhtml += '
' + settingdesignhtml + '';
}
else if ((widgetcreate[i].Icon == "null" || widgetcreate[i].Icon == "") && (widgetcreate[i].SettingUrlType == 10 || widgetcreate[i].SettingUrlType == 11)) {
iconhtml += '
' + widgetcreate[i].SettingName + '';
}
else {
iconhtml += '
';
}
}
if (createjsfunction != null && createjsfunction != "") {
if (createjsfunction.indexOf("{{") > -1 || createjsfunction.indexOf("}}") > -1) {
statusconditions += createjsfunction + ";";
}
else {
widgetconditions += createjsfunction + ";";
}
}
}
$(".sp_widget_create_" + containerid + "").addClass('d-flex flex-row align-items-center');
$(".sp_widget_create_" + containerid + "").html(iconhtml);
}
let widgetUngrouped = reportwidgetdata.AppConfigurations.WidgetUnGrouped.filter(function (o) { return o.AppConfigType === 3; });
if (widgetUngrouped.length > 0) {
$(".sp_widget_create_" + containerid).parent().addClass('align-items-center').append(threeDotsHtml);
let onlickurl_ungrouped = "", Ungroupedhtml = '';
for (var i = 0; i < widgetUngrouped.length; i++) {
var jsfunction = HtmlHelper.getHelper().decode(widgetUngrouped[i].JsFunction);
onlickurl_ungrouped = instance.load_appconfigurations(widgetUngrouped[i], TempText, portletwidgetid);
if (!Unibase.Themes.Compact.Components.Details.Instance().isSystemLock || (Unibase.Themes.Compact.Components.Details.Instance().isSystemLock && widgetcreate[i].ExcludeFromLock)) {
if (widgetUngrouped[i].Icon == "null" || widgetUngrouped[i].Icon == "" && widgetUngrouped[i].SettingUrlType == 3) {
Ungroupedhtml += '
' + HtmlHelper.getHelper().decode(widgetUngrouped[i].SettingDesignHtml) + '';
}
else {
Ungroupedhtml += '
' + widgetUngrouped[i].SettingName + '';
}
}
if (jsfunction != null && jsfunction != "") {
if (jsfunction.indexOf("{{") > -1 || jsfunction.indexOf("}}") > -1) {
statusconditions += jsfunction + ";";
}
else {
widgetconditions += jsfunction + ";";
}
}
}
$('.drop-Button_' + containerid).empty().append(Ungroupedhtml);
}
}
}
if (statusconditions != "") {
if (data != null) {
for (var i = 0; i < data.length; i++) {
var model = data[i];
instance.fileCacheHelper.loadJsFile("platform/core/helpers/token/tokenhelper.js", () => {
var condition = Unibase.Core.Helpers.TokenHelper.Instance().replace(statusconditions, model);
eval(condition);
});
}
}
}
if (widgetconditions != "") {
eval(widgetconditions);
}
if (templateresponse.result.IsCarousel) {
var finalHtml = instance.headerText + instance.templateText + instance.footerText;
$(".BindData_" + containerid).find('.report-search').remove();
$(".BindData_" + containerid).find('.search_icon').remove();
if (containerid.indexOf("div_portletwidget") > -1 || containerid.indexOf("div_dashboardportletwidget") > -1) {
$(".BindData_" + containerid).addClass('shadow');
$(".BindData_" + containerid).find('.card-footer').remove();
$(".BindData_" + containerid).find('.card-header.search-bar-main-wrapper').addClass('py-0 border-0');
}
else {
let height = $("#templateViewerBody_" + containerid).height();
$("#Viewer_" + containerid).html(finalHtml).css("height", height + 50);
}
}
if (reportwidgetdata != 0 && reportwidgetdata != undefined && reportwidgetdata != null) {
if (reportwidgetdata.Data) {
let widgetDesignName = reportwidgetdata.Data.WidgetDesignName;
if (widgetDesignName == 'Report_WithoutHeaderAndFooter') {
if (containerid.indexOf("div_portletwidget") > -1 || containerid.indexOf("div_dashboardportletwidget") > -1) {
$("#Viewer_" + containerid).css("height", "100%");
$("#templateViewerBody_" + containerid).css("height", "100%");
$(".BindData_" + containerid).find('.card-footer,.report-search,.card-header').remove();
$(".BindData_" + containerid).find('.card-header.search-bar-main-wrapper').addClass('py-0 border-0');
}
else {
let height = $("#templateViewerBody_" + containerid).height();
$("#Viewer_" + containerid).html(finalHtml).css("height", height + 50);
}
}
else {
$('#' + containerid).find('.search_icon').removeClass('hidden');
}
}
}
$("#Viewer_" + containerid).find("#layout_list_header,.list-group-item").addClass("biz-transparent-text-color no-background list-border-color");
$("#Viewer_" + containerid).find(".list-group-item a").addClass("biz-transparent-text-color");
}
}
autoFixConfigDpVisibility(containerid) {
$(`#Viewer_${containerid}`).on('shown.bs.dropdown', '.widget-item-config-dp', function () {
const templateBodyEl = $(`#templateViewerBody_${containerid}`);
const dropdownHeight = $(this).find('.dropdown-menu').outerHeight(true) + 5;
const templateBodyHeight = templateBodyEl.height();
if ((dropdownHeight > templateBodyHeight) && (templateBodyEl.prop('scrollHeight') > templateBodyHeight)) {
templateBodyEl.css('overflow', 'visible');
}
});
}
bindMoreClickEvent(reportresponse, containerid, reportwidgetdata) {
var instance = this;
var data = reportresponse.result.ReportJsonData.Result.Data;
if (reportresponse.result.ReportJsonData.TotalRecords == 0) {
var res = [];
if (data != "" && typeof (data) === 'string')
res = JSON.parse(data);
else if (typeof (data) === 'object')
res = data;
if (res.length < instance._reportViewer.PageSize || res.length == 0) {
$("#btn-list-load-more_" + containerid).addClass('hidden');
let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
var notdashboard = $("#" + VisibleContainerId).find("#dashboardwidget-container").length;
var notdetailspage = $("#" + VisibleContainerId).find(".detail-container-content").length;
var nomodal = $("._bizgaze_popup_container").find(".NoMore-Records").length;
if (notdashboard == 0 && notdetailspage == 0 && nomodal == 0 && res.length != 0) {
$("#btn-list-load-more_" + containerid).parents().find(".NoMore-Records").removeClass('d-none');
}
}
}
if (data != "") {
if (reportresponse.result.ReportJsonData.TotalRecords == JSON.parse(data).length) {
$("#btn-list-load-more_" + containerid).addClass('hidden');
}
}
$("#loadMoreListBtn_" + containerid).off('click').click(function () {
instance.MoreBtnViewerId = 0;
let page = instance.last_page + 1;
let listsearch = $("#" + containerid).find("#ListSearch").val();
let rv = Unibase.Platform.Analytics.Components.ReportViewer.Instance();
let rv_instance = rv.getReportViewerInstance(containerid);
let isdynamicfilters = rv.isIdentityFilter(rv_instance.dynamicFilters);
let { fromDate, toDate } = rv.checkForReportDatePicker(rv_instance.ReportId, containerid);
if (rv_instance.fromDate && rv_instance.toDate) {
fromDate = rv_instance.fromDate;
toDate = rv_instance.toDate;
}
let displayModeId = rv.getDisplayModeTypeId();
rv_instance.Page = Number(page);
let repObj = {
ReportId: Number(instance.MainTemplateReportId),
page: rv_instance.Page,
Filter: rv_instance.dynamicFilters,
InputParameters: rv_instance.inputParameters,
pageSize: rv_instance.PageSize,
SearchTerm: listsearch ? $("#" + containerid).find("#ListSearch").val().toString() : null,
FilterId: rv_instance.filterId,
DateFilter: rv_instance.dateFilters,
IsEnableCount: rv_instance.isEnableCount,
DisplayModeTypeId: displayModeId,
FromDate: fromDate,
ToDate: toDate,
viewerTypeId: rv_instance.ViewerSettings.selectedViewerTypeId,
IsDynamicFilterApplied: isdynamicfilters,
IsShowAll: rv_instance.isShowAll,
};
instance.last_page += 1;
instance.reportManager.getReportInfo(repObj).then(function (reportresponse) {
if (reportresponse.status == Unibase.Data.Status.Success) {
if (reportresponse.result.ReportJsonData.Result.Data != "") {
let prevData = rv_instance.reportData;
let currentData = JSON.parse(reportresponse.result.ReportJsonData.Result.Data);
rv_instance.reportData = $.merge(prevData, currentData);
rv_instance.reportDatalength = rv_instance.reportData.length;
let selectedvId = rv_instance.ViewerSettings.defaultViewerId;
if (rv_instance.ViewerSettings.selectedViewerId != undefined)
selectedvId = rv_instance.ViewerSettings.selectedViewerId;
instance.loadView(reportresponse, instance.MainTemplateReportId, selectedvId, page, rv_instance.PageSize, containerid, rv_instance.ViewerSettings, null, reportwidgetdata);
}
else {
$("#btn-list-load-more_" + containerid).addClass('hidden');
$(`#templateBodyFooter_${containerid} .NoMore-Records`).removeClass('d-none');
}
}
else {
instance.last_page -= 1;
}
});
if (instance.templateText) {
Unibase.Platform.Helpers.NavigationHelper.TemplateText = instance.templateText;
Unibase.Platform.Helpers.NavigationHelper.FooterText = instance.footerText;
Unibase.Platform.Helpers.NavigationHelper.HeaderText = instance.headerText;
}
});
}
loadCardMode(reportresponse, html, templateresponse, containerid, reportwidgetdata) {
var instance = this;
let rv_instance;
if (Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.length > 0) {
let reportviewerInstance = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.find(x => x.childcontainerid == containerid);
if (reportviewerInstance != undefined)
rv_instance = reportviewerInstance.instance;
else
rv_instance = instance;
}
else {
rv_instance = instance;
}
function loadsubtemplates(subTmpResp) {
return __awaiter(this, void 0, void 0, function* () {
for (const subTmp of subTmpResp) {
var subrptData = "";
var templateHeader = HtmlHelper.getHelper().decode(subTmp.HeaderText);
$("#layout_list_container_" + subTmp.TemplateViewId + "_" + containerid).remove();
$("#templateViewerBody_" + containerid).append(`
`);
var templateScript = Handlebars.compile(HtmlHelper.getHelper().decode(subTmp.TemplateText));
var templateHeaderScript = Handlebars.compile(templateHeader);
let postdata = {
ReportId: subTmp.ReportId,
page: 1,
pageSize: subTmp.PageSize,
FilterId: rv_instance.filterId,
Filter: rv_instance.dynamicFilters,
InputParameters: rv_instance.inputParameters,
SearchTerm: $("#" + containerid).find("#ListSearch").val().toString(),
IsJson: true,
viewerTypeId: rv_instance.ViewerSettings.selectedViewerTypeId,
DisplayModeTypeId: instance._reportViewer.getDisplayModeTypeId(),
};
yield instance.reportManager.getReportViewerData(postdata).then(function (Subtableresponse) {
let response = JSON.parse(Subtableresponse.result);
if (response.Data != "") {
let subData = JSON.parse(response.Data);
subrptData = subData;
var HeaderHtml = "";
for (let d = 0; d < subData.length; d++) {
html = templateScript(subData[d]);
if (templateHeader != "") {
HeaderHtml = templateHeaderScript(subData[d]);
}
$("#layout_list_container_" + subTmp.TemplateViewId + "_" + containerid).append(html);
instance.templateText = html;
$(`#templateViewerHeader_${containerid}`).removeClass("hidden").html(HeaderHtml);
instance.headerText = HeaderHtml;
}
instance.SubTemplatesPage[subTmp.TemplateViewId] = 2;
$("#Viewer_" + containerid).find(".simplebar-wrapper").removeClass("simplebar-wrapper").removeAttr("style");
$(`#templateViewerFooter_${containerid}`).remove();
if (Subtableresponse.totalRecords <= instance.SubTemplatesPage[subTmp.TemplateViewId] * subTmp.PageSize) {
$("#card-footer_" + subTmp.TemplateViewId + "_" + containerid).hide();
}
}
else {
$("#btn-list-load-more_" + subTmp.TemplateViewId + "_" + containerid + "").addClass("hidden");
}
}).then(function () {
$("#btn-list-load-more_" + subTmp.TemplateViewId + "_" + containerid).off('click').click(function () {
instance.MoreBtnViewerId = subTmp.TemplateViewId;
var page = instance.SubTemplatesPage[subTmp.TemplateViewId];
instance.SubTemplatesPage[subTmp.TemplateViewId] = instance.SubTemplatesPage[subTmp.TemplateViewId] + 1;
let listsearch = $("#" + containerid).find("#ListSearch").val();
let repObj = {
ReportId: Number(subTmp.ReportId),
page: Number(page),
Filter: rv_instance.dynamicFilters,
FilterId: rv_instance.filterId,
pageSize: instance.TemplatePageSize,
SearchTerm: listsearch ? $("#" + containerid).find("#ListSearch").val().toString() : null,
viewerTypeId: rv_instance.ViewerSettings.selectedViewerTypeId,
DisplayModeTypeId: instance._reportViewer.getDisplayModeTypeId(),
};
instance.reportManager.getReportInfo(repObj).then(function (reportresponse) {
instance.loadView(reportresponse, instance.MainTemplateReportId, subTmp.TemplateViewId, page, instance.TemplatePageSize, containerid, rv_instance.ViewerSettings, null, reportwidgetdata);
});
});
});
if (subTmp.Js != "") {
if (subrptData != null) {
for (var i = 0; i < subrptData.length; i++) {
var model = subrptData[i];
var condition = Unibase.Core.Helpers.TokenHelper.Instance().replace(subTmp.Js, model);
eval(condition);
}
}
}
}
});
}
var instance = this;
$("#layout_list_container_" + containerid).html(`
${html}
`);
$("#layout_list_container_" + containerid).removeClass("list-group").addClass("row ml-15 mr-15 mt-40 card");
let moreBtn = $("#btn-list-load-more_" + containerid).parent().html();
$("#btn-list-load-more_" + containerid).parent().remove();
let html2 = $(`#templateViewerHeader_${containerid}`)[0];
$("#card-footer_" + containerid).remove();
$("#layout_list_container_" + containerid).prepend(html2);
$("#layout_list_container_" + containerid).append(``);
instance.bindMoreClickEvent(reportresponse, containerid, reportwidgetdata);
$("#layout_list_container_" + containerid).removeAttr("id");
if (templateresponse.result.SubTemplates != "" && templateresponse.result.SubTemplates != null) {
instance.viewerManager.getSubTemplate(templateresponse.result.TemplateViewId).then(function (subTmpResp) {
loadsubtemplates(subTmpResp.result);
});
}
}
load_appconfigurations(config, templatetext, portletwidgetid) {
var instance = this;
let settingurltype = config.SettingUrlType;
var widgetid = config.WidgetId;
var appconfigurationid = config.AppConfigurationId;
var settingUrl = config.SettingUrl;
var formid = config.FormId;
let editformid;
var formpkname = config.FormPrimaryColumn;
if (config.Icon == "fa fa-plus")
editformid = 0;
else if (formpkname != "" && formpkname != null && templatetext == undefined) {
formpkname = formpkname.toString().toLowerCase();
editformid = Unibase.Themes.Providers.DetailHelper.recordId;
}
else {
if (templatetext != undefined && templatetext != "") {
var htmlObject = $(templatetext);
editformid = htmlObject.find("#hf_widgetitem_Id").val();
}
else
editformid = 0;
}
var onclick = "";
if (settingurltype == 2) {
let jsfun = "";
if (config.JsFunction != null && config.JsFunction != "") {
jsfun = HtmlHelper.getHelper().decode(config.JsFunction);
}
onclick = "this.fileCacheHelper.loadJsFile('" + config.SettingUrl + "', function (){var html = Unibase.Apps.Components.Stages.Instance().init();NavigationHelper.Instance().loadPopupHtml(html, Helpers.Size.DockLeft, function(containerid) {" + jsfun + " ;});});";
}
else if (settingurltype == 1) {
if (templatetext.indexOf('hf_widgetid_recordId') > 0) {
editformid = Unibase.Themes.Providers.DetailHelper.recordId;
}
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(".js,")[1];
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('widgets/' + config.SettingUrl.split(",")[0], null);
var onclickurl = "Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('widgets/" + config.SettingUrl.split(",")[0] + "', function () { " + variablename + "." + methodname + " });";
onclick = onclickurl;
}
else if (settingurltype == 5) {
onclick = "Unibase.Platform.Analytics.Viewers.TemplateViewer.Instance().dynamicDelete(" + editformid + "," + appconfigurationid + ")";
}
else if (settingurltype == 7) {
onclick = "Unibase.Themes.Compact.Components.ReportWidgets.Default.Instance().loaddynamicwidgets(" + widgetid + "," + editformid + ",''," + appconfigurationid + ",true)";
}
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;
}
dynamicDelete(Id, AppConfigId) {
bootbox.confirm("Are you sure to delete this record?", function (result) {
if (result) {
Unibase.Platform.Forms.Managers.FormManager.Instance().dynamicDelete(Id, AppConfigId).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
}
else {
MessageHelper.Instance().showSuccess(response.message, '');
}
let id = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
let wdgtContainerId = id.replace("_viewall", "");
let rprtId = Number($(`[class^="${wdgtContainerId}"]`).parent().siblings('#hf_ReportId').val());
Unibase.Platform.Analytics.Components.ReportViewer.Instance().refreshReportData(rprtId, id, null);
var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
detail_instance.loadPortlets(detail_instance);
});
}
});
}
getTreeViewTemplate(data, tempText, pivotValue, istreeexpand) {
let instance = this;
let html = "";
let finalchildTempText = "";
let ulClass, dNone, onClick, childtm, templatescript = "";
var templateTextScript = Handlebars.compile(tempText);
if (!istreeexpand)
dNone = 'd-none';
if (tempText.indexOf("parentPlusIcon_") > -1) {
ulClass = 'pl-30';
onClick = "Unibase.Platform.Analytics.Viewers.TemplateViewer.Instance().getChilds({{parentid}})";
}
else {
ulClass = '';
dNone = '';
}
let parentrecords = data.filter(function (col) {
return col.parentid == pivotValue;
});
for (var p = 0; p < parentrecords.length; p++) {
let childs = _children(parentrecords[p].childid);
if (childs != undefined && childs.length > 0) {
let childtemp = "
" + finalchildTempText + "
";
let parenttempscript = templateTextScript(parentrecords[p]);
templatescript = parenttempscript.slice(0, parenttempscript.lastIndexOf("")) + childtemp + "";
templatescript = templatescript.replace("parentPlusIcon_" + parentrecords[p].parentid + "_" + parentrecords[p].childid + " d-none", "parentPlusIcon_" + parentrecords[p].parentid + "_" + parentrecords[p].childid + "");
}
else {
templatescript += templateTextScript(parentrecords[p]);
}
html += templatescript;
templatescript = "";
finalchildTempText = "";
instance.pivotChildRecords = [];
}
return html;
function _children(childid) {
let childrecords = instance.gettreeChildRecords(data, childid);
if (childrecords.length > 0) {
if (instance.pivotChildRecords.length == 0)
instance.pivotChildRecords = childrecords;
for (var c = 0; c < childrecords.length; c++) {
let subchilds = _children(childrecords[c].childid);
if (subchilds.length > 0) {
for (var s = 0; s < subchilds.length; s++) {
templatescript = "";
let s1 = instance.gettreeChildRecords(data, subchilds[s].childid);
if (s1.length == 0) {
templatescript += templateTextScript(subchilds[s]);
}
else {
let suboardinates = "";
if (childtm != "")
suboardinates = childtm;
else {
if (templatescript == "")
templatescript += templateTextScript(subchilds[s]);
suboardinates = templatescript;
}
childtm = "";
let childTemp = "
" + suboardinates + " < /ul>";
let tempscript = templateTextScript(subchilds[s]);
templatescript = tempscript.slice(0, tempscript.lastIndexOf("")) + childTemp + "";
templatescript = templatescript.replace("parentPlusIcon_" + childrecords[c].parentid + "_" + childrecords[c].childid + " d-none", "parentPlusIcon_" + childrecords[c].parentid + "_" + childrecords[c].childid + "");
childtm += templatescript;
templatescript = "";
}
childtm += templatescript;
}
}
else {
templatescript += templateTextScript(childrecords[c]);
}
let cr = instance.pivotChildRecords.filter(function (col) { return col.childid == childrecords[c].childid; });
if (cr.length > 0) {
let childs = instance.gettreeChildRecords(data, childrecords[c].childid);
if (childs.length > 0) {
let suboardinatesTemp, mainptemptext = "";
if (childtm != "") {
suboardinatesTemp = childtm;
}
else {
suboardinatesTemp = templatescript;
}
let pTemp = "" + suboardinatesTemp + "
";
let parenttempscript = templateTextScript(childrecords[c]);
mainptemptext = parenttempscript.slice(0, parenttempscript.lastIndexOf("")) + pTemp + "";
mainptemptext = mainptemptext.replace("parentPlusIcon_" + childrecords[c].parentid + "_" + childrecords[c].childid + " d-none", "parentPlusIcon_" + childrecords[c].parentid + "_" + childrecords[c].childid + "");
finalchildTempText += mainptemptext;
}
else {
finalchildTempText += templatescript;
}
childtm = "";
templatescript = "";
}
}
}
return childrecords;
}
}
gettreeChildRecords(reportjsondata, childid) {
return reportjsondata.filter(function (col) {
return col.parentid == childid;
});
}
getTreeChilds(parentid, childid) {
let isdnone = $(".parentUl_" + parentid + "_" + childid).hasClass("d-none");
if (isdnone)
$(".parentUl_" + parentid + "_" + childid).removeClass("d-none");
else
$(".parentUl_" + parentid + "_" + childid).addClass("d-none");
}
static Instance() {
if (this.rv_instance === undefined) {
this.rv_instance = new Unibase.Platform.Analytics.Viewers.TemplateViewer();
}
return this.rv_instance;
}
}
Viewers.TemplateViewer = TemplateViewer;
})(Viewers = Analytics.Viewers || (Analytics.Viewers = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));