var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Components;
(function (Components) {
let Invoices;
(function (Invoices) {
class LobSummary extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.appsHtml = '';
this.palettecolors = [];
this.onEditPalettes = '';
this.IsAppRefresh = false;
}
jsFiles() {
return ['libs/chartjs/chart.min.js'];
}
cssFiles() {
return ["libs/chartjs/chart.min.css"];
}
html(id, containerid) {
var instance = this;
let html = ``;
return html;
}
load(id, containerid, callback) {
var instance = this;
}
init(containerid) {
var instance = this;
instance.loadMenu(containerid);
}
loadMenu(containerid) {
var instance = this;
$(`.${containerid}`).append(`
* The Outstanding data will be auto-refreshed for every 24 hours.
`);
$(".designsPreviewAppend").find(".select_new_Palette_Section").removeClass("d-none");
$(`.BindData_` + containerid + ``).find(".lob_summary").html('');
let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val();
if (height != '0px') {
$('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar");
}
instance.fileCacheHelper.loadJsFiles(["libs/chartjs/chart.min.js"], () => {
Bizgaze.Apps.Crm.Palettes.Managers.PaletteManager.Instance().getPallettes().then((res) => {
var instance = this;
let indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
let currentuserpalleteid = indexInstance.currentTheme.paletteId;
if (res.result != "" && res.result != null && res.length != 0) {
let data = Array();
for (let p = 0; p < res.result.length; p++) {
data.push(res.result[p]);
}
data.sort(function (a, b) {
var a1 = a.palletteid, b1 = b.palletteid;
if (a1 == b1)
return 0;
return a1 > b1 ? 1 : -1;
});
for (let z = 0; z < data.length; z++) {
let palletId = data[z].paletteid;
let palletName = data[z].name;
let html = '';
if (currentuserpalleteid == palletId) {
html = ``;
}
else {
html = ``;
}
$('.select_new_Palette').append(html);
}
let palettid = '';
$('.designsPreviewAppend').find(".select_new_Palette").change(function () {
instance.onEditPalettes = $(this).find(":checked").val().toString();
});
$(`.BindData_` + containerid + ``).find(".select_new_Palette option").each(function () {
var val = $(this).val();
if (val == instance.onEditPalettes) {
$(`.BindData_` + containerid + ``).find(".select_new_Palette option").removeAttr("checked");
$(this).attr('selected', 'selected');
}
});
palettid = instance.onEditPalettes;
$(`.BindData_` + containerid + ``).find(".select_new_Palette").change(function () {
$(".lob_summary").html('');
palettid = $(this).find(":checked").val().toString();
instance.loadPaletts(palettid);
});
if (palettid.length == 0) {
palettid = $(`.BindData_` + containerid + ``).find(".select_new_Palette").find(":checked").val().toString();
instance.loadPaletts(palettid);
}
else {
instance.loadPaletts(palettid);
}
}
else {
instance.loadChart();
}
});
});
}
loadPaletts(palettid) {
let instance = this;
Bizgaze.Apps.Crm.Palettes.Managers.PaletteManager.Instance().getPalletteColors(palettid).then((response) => {
var data = Array();
for (let i = 0; i < response.result.length; i++) {
data.push(response.result[i]);
}
data.sort(function (a, b) {
var a1 = a.palletteindex, b1 = b.palletteindex;
if (a1 == b1)
return 0;
return a1 > b1 ? 1 : -1;
});
this.palettecolors = [];
for (let i = 0; i < data.length; i++) {
if (i < 5) {
let getcolor = data[i].colorcode;
this.palettecolors.push(getcolor);
}
}
instance.loadChart();
});
}
loadChart() {
var instance = this;
instance.fileCacheHelper.loadJsFiles(['apps/transact/managers/invoicemanager.js', "libs/chartjs/chart.min.js"], () => {
Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getlobsummary().then((res) => {
let child_id = '';
let child_lob;
let child_lobid;
let count = 0;
if (res.result != null) {
for (let i = 0; i < res.result.length; i++) {
let data = JSON.parse(res.result[i]);
let values = [];
let breakup = [];
let totalvalue = 0;
count++;
if (data.Data.length > 0) {
let charts = data.Data;
let chartlob = JSON.parse(charts);
let lobsData = {};
for (let j = 0; j < chartlob.length; j++) {
let child_lobname = chartlob[j].lobname;
child_id = chartlob[j].lobid;
let child_value = chartlob[j].value;
let child_breakup = chartlob[j].breakup;
child_lobid = chartlob[j].lobid;
if (lobsData[child_lobname] == undefined) {
lobsData[child_lobname] = {
name: child_lobname,
id: child_lobid,
values: [child_value],
breakup: [child_breakup],
};
child_lob = child_lobname;
let check = $(".lob_summary").find(`.pie_chart_` + child_lob + `_` + child_lobid + ``).length;
if (check == 0) {
var piechatstructure = ``;
$(".lob_summary").append(piechatstructure);
}
}
else {
lobsData[child_lobname].values.push(child_value);
lobsData[child_lobname].breakup.push(child_breakup);
}
}
for (let objInner in lobsData) {
var filters = [];
if (this.palettecolors.length == 0) {
this.palettecolors = [];
this.palettecolors.push("#117899", "#f16c20", "#ecaa38", "#a2b86c", "#0f5b78");
}
var barColors = this.palettecolors;
child_lobid = lobsData[objInner].id;
child_lob = lobsData[objInner].name;
let lob_xvalues = lobsData[objInner].values;
for (let i = 0; i < lob_xvalues.length; i++) {
totalvalue = totalvalue + lob_xvalues[i];
}
$('.total_' + child_lobid + '').html(`${totalvalue}`);
let lob_yvalues = lobsData[objInner].breakup;
new Chart(`.pie_chart_` + child_lob + `_` + child_lobid + ``, {
type: "pie",
data: {
labels: lob_yvalues,
datasets: [{
backgroundColor: barColors,
data: lob_xvalues
}]
},
options: {
responsive: true,
onClick(e, item) {
filters = [];
if (item.length == 1) {
var getcanvas = $(this)[0].canvas;
var getlobid = $(getcanvas).attr("data-lobid");
let lobactivepart = $(this)[0].tooltip.dataPoints[0].label;
let checkingAnd = lobactivepart.toString();
let Expid = 1;
let check = checkingAnd.includes("and");
if (check == true) {
var breakpoints = checkingAnd.split("and");
var breakpoints_One = breakpoints[0];
var breakpoint = parseInt(breakpoints_One.replace(/[^0-9.]/g, "")).toString();
if (breakpoints_One.includes("<") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.LessThan;
}
if (breakpoints_One.includes(">") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThan;
}
if (breakpoints_One.includes("<=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.LessThanOrEquals;
}
if (breakpoints_One.includes(">=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThanOrEquals;
}
filters.push({ 'Key': 'duedays', 'Value': breakpoint, ExpOp: Expid });
var breakpoints_Two = breakpoints[1];
var breakpoint = parseInt(breakpoints_Two.replace(/[^0-9.]/g, "")).toString();
if (breakpoints_Two.includes("<") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.LessThan;
}
if (breakpoints_Two.includes(">") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThan;
}
if (breakpoints_Two.includes("<=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.LessThanOrEquals;
}
if (breakpoints_Two.includes(">=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThanOrEquals;
}
filters = filters.concat({ 'Key': 'duedays', 'Value': breakpoint, ExpOp: Expid });
}
else {
var breakpoint = parseInt(checkingAnd.replace(/[^0-9.]/g, "")).toString();
if (checkingAnd.includes("<=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.LessThanOrEquals;
}
if (checkingAnd.includes(">=") == true) {
Expid = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThanOrEquals;
}
filters.push({ 'Key': 'duedays', 'Value': breakpoint, ExpOp: Expid });
}
var dynamicfilters = [];
dynamicfilters.push({ 'Key': 'lobid', 'Value': getlobid, ExpOp: 1 });
dynamicfilters = dynamicfilters.concat(filters);
Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId('Bizgaze_Platform_Analytics_Reports_Lob_Outstanding_details_Summary', null, dynamicfilters, null);
}
},
legend: {
display: true,
position: 'right'
},
},
});
}
}
}
}
$(".lob_outstanding_summary_report_btn").click(function () {
let lobid = $(this).attr("data-lobidforreoport");
var dynamicfilters = [];
dynamicfilters.push({ 'Key': 'lobid', 'Value': lobid, ExpOp: 1 });
dynamicfilters = dynamicfilters.concat(filters);
Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId('Bizgaze_Platform_Analytics_Reports_Lob_Outstanding_details_Summary', null, dynamicfilters, null);
});
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new LobSummary();
return this._instance;
}
}
Invoices.LobSummary = LobSummary;
})(Invoices = Components.Invoices || (Components.Invoices = {}));
})(Components = Transact.Components || (Transact.Components = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));