This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,190 @@
let calmonths = [];
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Viewers;
(function (Viewers) {
class CalendarViewer extends Platform.Core.BaseComponent {
constructor() {
super();
this.appInstalledappid = 0;
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this._reportViewer = Analytics.Components.ReportViewer.Instance();
}
loadView(reportresponse, reportid, viewerid, page, pageSize, containerid, ViewerSettings, callback, reportwidgetdata) {
var instance = this;
let rv_instance = instance._reportViewer.getReportViewerInstance(containerid);
var FromDateColumnName = "", ToDateColumnName = "", ValueColumnName = "", TextColumnName = "";
var calanderViewId = viewerid;
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
instance.viewerManager.getCalendarView(calanderViewId).then(function (response) {
var res = response.result;
if (instance._reportViewer.CalendarMonth == undefined) {
instance._reportViewer.CalendarMonth = months[new Date().getMonth()];
}
FromDateColumnName = res.FromDateColumn;
ToDateColumnName = res.ToDateColumn;
ValueColumnName = res.ValueColumn;
TextColumnName = res.TextColumn;
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");
}
let postdata = {
ReportId: reportid,
ViewerTypeId: Unibase.Platform.Analytics.Reports.Enums.ViewerType.Calendar,
page: page,
pageSize: instance._reportViewer.PageSize + 1,
CalendarMonth: instance._reportViewer.CalendarMonth,
ViewerId: viewerid,
InputParameters: rv_instance.inputParameters,
IsJson: true,
FromDate: fromDate,
ToDate: toDate,
};
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportViewerData(postdata).then(function (calendarresponse) {
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
var response = JSON.parse(calendarresponse.result);
var data = response.Data;
if (data != "") {
data = JSON.parse(data);
}
var cssfiles = ["libs/fullcalendar/fullcalendar.min.css"];
var jsfiles = ["libs/moment/moment.min.js",
"libs/fullcalendar/fullcalendar.min.js"];
instance.fileCacheHelper.loadCssFiles(cssfiles, function () {
instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
var evnts = [];
var len = data.length;
if (len >= instance._reportViewer.PageSize + 1) {
len = data.length - 1;
}
for (var i = 0; i < len; i++) {
if (instance.appInstalledappid == 0)
instance.appInstalledappid = data[i]["installedappid"];
let title = "";
if (data[i][TextColumnName] != undefined && data[i][ValueColumnName] != undefined) {
title = data[i][TextColumnName].toString() + " " + data[i][ValueColumnName].toString();
}
else if (data[i][TextColumnName] != undefined) {
title = data[i][TextColumnName].toString();
}
else if (data[i][ValueColumnName] != undefined) {
title = data[i][ValueColumnName].toString();
}
evnts.push({
id: data[i][ValueColumnName],
title: title,
start: data[i][FromDateColumnName],
end: data[i][ToDateColumnName],
});
}
let elem = "";
elem = $("#Viewer_" + containerid);
elem.removeClass("tabulator");
if (instance._reportViewer.CalendarMonthChanged == false) {
elem.html("");
elem.fullCalendar('destroy');
$("#Table_View_" + containerid).removeClass("hidden");
const calHeight = instance.setCalendarHeight(containerid);
elem.fullCalendar({
themeSystem: 'bootstrap4',
header: {
left: 'calendarSidebar ,today',
center: 'prev,title,next',
right: 'month,agendaWeek,listMonth'
},
timeZone: 'UTC',
droppable: true,
editable: true,
height: calHeight,
eventLimit: true,
displayEventTime: false,
drop: function () {
if ($("#remove_event").is(':checked'))
$(this).remove();
},
eventClick: function (calEvent, jsEvent, view) {
if (calEvent.id) {
Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(calEvent.id, instance.appInstalledappid, null, null);
}
},
windowResize: function (view) {
let calHeight = instance.setCalendarHeight(containerid);
calHeight -= 40;
elem.fullCalendar('option', 'height', calHeight);
}
});
instance._reportViewer.CalendarMonthChanged = true;
$(".fc-prev-button").parent().addClass("row");
$(".fc-prev-button").addClass("mt-1 mr-10");
$(".fc-next-button").addClass("mt-1 ml-10");
$(".fc-header-toolbar").addClass("pa-10");
$(".fc-view-container").addClass("pa-10");
$(".fc-next-button").click(function () {
instance._reportViewer.CalendarMonth = $(".fc-prev-button").siblings()[0].innerHTML.substring(0, $(".fc-prev-button").siblings()[0].innerHTML.indexOf(" "));
instance._reportViewer.CalendarMonthChanged = true;
if (calmonths.filter(function (o) { return o.title === instance._reportViewer.CalendarMonth; }).length <= 0) {
calmonths.push({ title: instance._reportViewer.CalendarMonth });
page = 1;
instance.loadView(reportresponse, reportid, calanderViewId, page, 20, containerid, ViewerSettings, null, null);
}
});
$(".fc-prev-button").click(function () {
instance._reportViewer.CalendarMonth = $(".fc-prev-button").siblings()[0].innerHTML.substring(0, $(".fc-prev-button").siblings()[0].innerHTML.indexOf(" "));
instance._reportViewer.CalendarMonthChanged = true;
if (calmonths.filter(function (o) { return o.title === instance._reportViewer.CalendarMonth; }).length <= 0) {
calmonths.push({ title: instance._reportViewer.CalendarMonth });
page = 1;
instance.loadView(reportresponse, reportid, calanderViewId, page, 20, containerid, ViewerSettings, null, null);
}
});
$("#Calendar_more").click(function () {
var currentpage = $(this)[0].className.split(/\s+/)[$(this)[0].className.split(/\s+/).length - 1].match(/\d+/g).map(Number)[0];
$(this).removeClass("lenght_" + currentpage + "");
$(this).addClass("lenght_" + (currentpage + 1) + "");
instance.loadView(reportresponse, reportid, calanderViewId, currentpage, 20, containerid, ViewerSettings, null, null);
});
}
if (data.length >= instance._reportViewer.PageSize + 1) {
$("#Calendar_more").removeClass("hidden");
}
else {
$("#Calendar_more").addClass("hidden");
}
if (page == 1) {
}
elem.fullCalendar('addEventSource', evnts);
});
});
});
});
}
setCalendarHeight(containerid) {
let calHeight = 0;
if ($("#Viewer_" + containerid).length) {
calHeight = window.innerHeight - $("#Viewer_" + containerid).offset().top;
if ($(`#ViewerFooter_${containerid}`).is(':visible')) {
calHeight += $(`#ViewerFooter_${containerid}`).outerHeight(true) - 100;
}
}
return calHeight;
}
}
Viewers.CalendarViewer = CalendarViewer;
})(Viewers = Analytics.Viewers || (Analytics.Viewers = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
let calmonths=[];var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appInstalledappid=0;this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this._reportViewer=i.Components.ReportViewer.Instance()}loadView(t,i,r,u,f,e,o){var s=this;let y=s._reportViewer.getReportViewerInstance(e);var a="",v="",h="",c="",l=r,p=["January","February","March","April","May","June","July","August","September","October","November","December"];s.viewerManager.getCalendarView(l).then(function(f){var w=f.result;s._reportViewer.CalendarMonth==undefined&&(s._reportViewer.CalendarMonth=p[(new Date).getMonth()]);a=w.FromDateColumn;v=w.ToDateColumn;h=w.ValueColumn;c=w.TextColumn;var b="",k="",d=n.Platform.Helpers.NavigationHelper.commonFilter_FromDate,g=n.Platform.Helpers.NavigationHelper.commonFilter_ToDate;d!=null&&g!=null?(b=d.toString(),k=g.toString()):(b=n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(n.Platform.Helpers.DateTimeHelper.Instance().currentDate()),"YYYY/MM/DD"),k=n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(n.Platform.Helpers.DateTimeHelper.Instance().currentDate()),"YYYY/MM/DD"));let nt={ReportId:i,ViewerTypeId:n.Platform.Analytics.Reports.Enums.ViewerType.Calendar,page:u,pageSize:s._reportViewer.PageSize+1,CalendarMonth:s._reportViewer.CalendarMonth,ViewerId:r,InputParameters:y.inputParameters,IsJson:!0,FromDate:b,ToDate:k};n.Platform.Analytics.Managers.ReportManager.Instance().getReportViewerData(nt).then(function(r){var y,f,p,w;n.Platform.Helpers.NavigationHelper.Instance().hideLoading();y=JSON.parse(r.result);f=y.Data;f!=""&&(f=JSON.parse(f));p=["libs/fullcalendar/fullcalendar.min.css"];w=["libs/moment/moment.min.js","libs/fullcalendar/fullcalendar.min.js"];s.fileCacheHelper.loadCssFiles(p,function(){s.fileCacheHelper.loadJsFiles(w,function(){var w=[],p=f.length,r;for(p>=s._reportViewer.PageSize+1&&(p=f.length-1),r=0;r<p;r++){s.appInstalledappid==0&&(s.appInstalledappid=f[r].installedappid);let n="";f[r][c]!=undefined&&f[r][h]!=undefined?n=f[r][c].toString()+" "+f[r][h].toString():f[r][c]!=undefined?n=f[r][c].toString():f[r][h]!=undefined&&(n=f[r][h].toString());w.push({id:f[r][h],title:n,start:f[r][a],end:f[r][v]})}let y="";if(y=$("#Viewer_"+e),y.removeClass("tabulator"),s._reportViewer.CalendarMonthChanged==!1){y.html("");y.fullCalendar("destroy");$("#Table_View_"+e).removeClass("hidden");const r=s.setCalendarHeight(e);y.fullCalendar({themeSystem:"bootstrap4",header:{left:"calendarSidebar ,today",center:"prev,title,next",right:"month,agendaWeek,listMonth"},timeZone:"UTC",droppable:!0,editable:!0,height:r,eventLimit:!0,displayEventTime:!1,drop:function(){$("#remove_event").is(":checked")&&$(this).remove()},eventClick:function(t){t.id&&n.Platform.Helpers.NavigationHelper.Instance().loadDetail(t.id,s.appInstalledappid,null,null)},windowResize:function(){let n=s.setCalendarHeight(e);n-=40;y.fullCalendar("option","height",n)}});s._reportViewer.CalendarMonthChanged=!0;$(".fc-prev-button").parent().addClass("row");$(".fc-prev-button").addClass("mt-1 mr-10");$(".fc-next-button").addClass("mt-1 ml-10");$(".fc-header-toolbar").addClass("pa-10");$(".fc-view-container").addClass("pa-10");$(".fc-next-button").click(function(){s._reportViewer.CalendarMonth=$(".fc-prev-button").siblings()[0].innerHTML.substring(0,$(".fc-prev-button").siblings()[0].innerHTML.indexOf(" "));s._reportViewer.CalendarMonthChanged=!0;calmonths.filter(function(n){return n.title===s._reportViewer.CalendarMonth}).length<=0&&(calmonths.push({title:s._reportViewer.CalendarMonth}),u=1,s.loadView(t,i,l,u,20,e,o,null,null))});$(".fc-prev-button").click(function(){s._reportViewer.CalendarMonth=$(".fc-prev-button").siblings()[0].innerHTML.substring(0,$(".fc-prev-button").siblings()[0].innerHTML.indexOf(" "));s._reportViewer.CalendarMonthChanged=!0;calmonths.filter(function(n){return n.title===s._reportViewer.CalendarMonth}).length<=0&&(calmonths.push({title:s._reportViewer.CalendarMonth}),u=1,s.loadView(t,i,l,u,20,e,o,null,null))});$("#Calendar_more").click(function(){var n=$(this)[0].className.split(/\s+/)[$(this)[0].className.split(/\s+/).length-1].match(/\d+/g).map(Number)[0];$(this).removeClass("lenght_"+n+"");$(this).addClass("lenght_"+(n+1)+"");s.loadView(t,i,l,n,20,e,o,null,null)})}f.length>=s._reportViewer.PageSize+1?$("#Calendar_more").removeClass("hidden"):$("#Calendar_more").addClass("hidden");u==1;y.fullCalendar("addEventSource",w)})})})})}setCalendarHeight(n){let t=0;return $("#Viewer_"+n).length&&(t=window.innerHeight-$("#Viewer_"+n).offset().top,$(`#ViewerFooter_${n}`).is(":visible")&&(t+=$(`#ViewerFooter_${n}`).outerHeight(!0)-100)),t}}r.CalendarViewer=u})(r=i.Viewers||(i.Viewers={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,191 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class CalendarViewerSettings extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this.ReportId = 0;
}
jsFiles() {
return ["platform/analytics/components/calendarviewer/calendarviewer.settings.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div class="b-b bg-white modal-header">
<strong class="text-dark">Calendar</strong>
</div>
<div class="modal-body" id="CalendarViewer_modal">
<div id="divCalendar_ErrorMessage"></div>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6 mb-20">
<div id="div_CalendarName" class="floating-label-form-group" style="">
<label for="calendarname">CalendarName</label><input type="text" id="CalendarName"
class="form-control value-control floating-label-control" data-placeholder="CalendarName"
placeholder="Calendar Name" data-label="Calendar Name">
</div>
</div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_ValueColumn">
<label for="valuecolumn">Value Column</label><select id="ValueColumn_AutoComplete"
class="form-control text-control required">
<option value="0" selected="">Select Value Column</option>
</select>
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_TextColumn">
<label for="textcolumn">Text Column</label><select id="TextColumn_AutoComplete"
class="form-control text-control required">
<option value="0" selected="">Select Text Column</option>
</select>
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_FromDate">
<label for="fromdate">FromDate</label>
<div class="input-group"><select type="text" id="date_FromDate"
class="form-control value-control datepicker-input hasDatepicker floating-label-control"
placeholder="From Date " data-label="From Date ">
<option value="0" selected="">Select From Date Column</option>
</select>
</div>
</div>
</div>
<div class="col-sm-6">
<div id="div_ToDate">
<label for="fromdate">ToDate</label>
<div class="input-group"><select type="text" id="date_ToDate"
class="form-control value-control datepicker-input hasDatepicker floating-label-control"
placeholder="To Date " data-label="To Date ">
<option value="0" selected="">Select To Date Column</option>
</select>
</div>
</div>
</div>
<div class="col-sm-6 align-self-end">
<label for="showCalTime"><strong>Show Time</strong></label><label id="lblshowCalTime"
class="switch form-inline pull-right" style=""><input id="showCalTime"
data-group="showCalTime" type="checkbox" data-isdynamic="false"><span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
var reportid = Number(instance.ReportId);
$("#CalendarViewer_modal").css("height", $(window).outerHeight() - (Number($(".modal-header").outerHeight()) + Number($(".modal-footer").outerHeight())) + 'px');
var data = [];
this.reportManager.getColumns(reportid).then(function (response) {
var res = response.result;
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].AliasName, text: res[i].AliasName });
}
$("#date_FromDate").select2({
placeholder: 'Select From Date Column',
data: data,
});
$("#date_ToDate").select2({
placeholder: 'Select To Date Column',
data: data,
});
$("#TextColumn_AutoComplete").select2({
placeholder: 'Select Text Column',
data: data,
allowClear: true
});
$("#ValueColumn_AutoComplete").select2({
placeholder: 'Select Value Column',
data: data,
allowClear: true
});
if (id != 0) {
instance.getCalendarById(id);
}
});
$("#btnClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
jQuery("#btnSave").unbind().click(function () {
instance.saveCalendar(id, reportid, containerid, null);
});
}
getCalendarById(id) {
var instance = this;
instance.viewerManager.getCalendarView(id).then(function (response) {
instance.response = response.result;
$("#Txt_Display_Name").val(instance.response.DisplayName ? instance.response.DisplayName.trim() : instance.response.CalendarName.trim());
$("#CalendarName").val(instance.response.CalendarName.trim()).attr("readonly", 'true').css("cursor", "not-allowed");
$("#ValueColumn_AutoComplete").val(instance.response.ValueColumn).trigger("change");
$("#TextColumn_AutoComplete").val(instance.response.TextColumn).trigger("change");
$("#date_FromDate").val(instance.response.FromDateColumn).trigger("change");
$("#date_ToDate").val(instance.response.ToDateColumn).trigger("change");
});
}
saveCalendar(id, reportid, containerid, obj) {
var instance = this;
var PostData = obj;
if (obj == null) {
PostData = {
CalendarViewId: Number(id),
CalendarName: $("#CalendarName").val(),
ValueColumn: $("#ValueColumn_AutoComplete option:selected").text(),
TextColumn: $("#TextColumn_AutoComplete option:selected").text(),
ToDateColumn: $("#date_ToDate option:selected").text(),
FromDateColumn: $("#date_FromDate option:selected").text(),
ReportId: Number(this.ReportId),
DisplayModeTypeId: 1,
ViewAll: instance.response && instance.response.ViewAll || true,
DisplayName: $("#Txt_Display_Name").val().toString().trim(),
IsFromUI: Number(id) == 0 ? true : false,
};
}
this.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js", function () {
instance.viewerManager.saveCalendarView(PostData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, 'divCalendar_ErrorMessage');
}
else {
MessageHelper.Instance().showSuccess(response.message, '');
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new Unibase.Platform.Analytics.Components.CalendarViewerSettings();
return this._instance;
}
}
Components.CalendarViewerSettings = CalendarViewerSettings;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"calendarviewer.settings.js","sourceRoot":"","sources":["calendarviewer.settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this.ReportId=0}jsFiles(){return["platform/analytics/components/calendarviewer/calendarviewer.settings.js"]}cssFiles(){return[]}html(){return`<div class="b-b bg-white modal-header">
<strong class="text-dark">Calendar</strong>
</div>
<div class="modal-body" id="CalendarViewer_modal">
<div id="divCalendar_ErrorMessage"></div>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6 mb-20">
<div id="div_CalendarName" class="floating-label-form-group" style="">
<label for="calendarname">CalendarName</label><input type="text" id="CalendarName"
class="form-control value-control floating-label-control" data-placeholder="CalendarName"
placeholder="Calendar Name" data-label="Calendar Name">
</div>
</div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_ValueColumn">
<label for="valuecolumn">Value Column</label><select id="ValueColumn_AutoComplete"
class="form-control text-control required">
<option value="0" selected="">Select Value Column</option>
</select>
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_TextColumn">
<label for="textcolumn">Text Column</label><select id="TextColumn_AutoComplete"
class="form-control text-control required">
<option value="0" selected="">Select Text Column</option>
</select>
</div>
</div>
<div class="col-sm-6 mb-20">
<div id="div_FromDate">
<label for="fromdate">FromDate</label>
<div class="input-group"><select type="text" id="date_FromDate"
class="form-control value-control datepicker-input hasDatepicker floating-label-control"
placeholder="From Date " data-label="From Date ">
<option value="0" selected="">Select From Date Column</option>
</select>
</div>
</div>
</div>
<div class="col-sm-6">
<div id="div_ToDate">
<label for="fromdate">ToDate</label>
<div class="input-group"><select type="text" id="date_ToDate"
class="form-control value-control datepicker-input hasDatepicker floating-label-control"
placeholder="To Date " data-label="To Date ">
<option value="0" selected="">Select To Date Column</option>
</select>
</div>
</div>
</div>
<div class="col-sm-6 align-self-end">
<label for="showCalTime"><strong>Show Time</strong></label><label id="lblshowCalTime"
class="switch form-inline pull-right" style=""><input id="showCalTime"
data-group="showCalTime" type="checkbox" data-isdynamic="false"><span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`}load(n,t){var r=this,u=Number(r.ReportId),i;$("#CalendarViewer_modal").css("height",$(window).outerHeight()-(Number($(".modal-header").outerHeight())+Number($(".modal-footer").outerHeight()))+"px");i=[];this.reportManager.getColumns(u).then(function(t){var u=t.result;for(let n=0;n<u.length;n++)i.push({id:u[n].AliasName,text:u[n].AliasName});$("#date_FromDate").select2({placeholder:"Select From Date Column",data:i});$("#date_ToDate").select2({placeholder:"Select To Date Column",data:i});$("#TextColumn_AutoComplete").select2({placeholder:"Select Text Column",data:i,allowClear:!0});$("#ValueColumn_AutoComplete").select2({placeholder:"Select Value Column",data:i,allowClear:!0});n!=0&&r.getCalendarById(n)});$("#btnClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove()});jQuery("#btnSave").unbind().click(function(){r.saveCalendar(n,u,t,null)})}getCalendarById(n){var t=this;t.viewerManager.getCalendarView(n).then(function(n){t.response=n.result;$("#Txt_Display_Name").val(t.response.DisplayName?t.response.DisplayName.trim():t.response.CalendarName.trim());$("#CalendarName").val(t.response.CalendarName.trim()).attr("readonly","true").css("cursor","not-allowed");$("#ValueColumn_AutoComplete").val(t.response.ValueColumn).trigger("change");$("#TextColumn_AutoComplete").val(t.response.TextColumn).trigger("change");$("#date_FromDate").val(t.response.FromDateColumn).trigger("change");$("#date_ToDate").val(t.response.ToDateColumn).trigger("change")})}saveCalendar(t,i,r,u){var f=this,e=u;u==null&&(e={CalendarViewId:Number(t),CalendarName:$("#CalendarName").val(),ValueColumn:$("#ValueColumn_AutoComplete option:selected").text(),TextColumn:$("#TextColumn_AutoComplete option:selected").text(),ToDateColumn:$("#date_ToDate option:selected").text(),FromDateColumn:$("#date_FromDate option:selected").text(),ReportId:Number(this.ReportId),DisplayModeTypeId:1,ViewAll:f.response&&f.response.ViewAll||!0,DisplayName:$("#Txt_Display_Name").val().toString().trim(),IsFromUI:Number(t)==0?!0:!1});this.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js",function(){f.viewerManager.saveCalendarView(e).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"divCalendar_ErrorMessage"):(MessageHelper.Instance().showSuccess(t.message,""),$("#"+r).modal("hide"),$("#"+r).remove())})})}static Instance(){return this._instance===undefined&&(this._instance=new n.Platform.Analytics.Components.CalendarViewerSettings),this._instance}}r.CalendarViewerSettings=u})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,290 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Viewers;
(function (Viewers) {
class CardViewer extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this._reportBuilder = Analytics.Reports.ReportBuilder.Instance();
this._reportViewer = Analytics.Components.ReportViewer.Instance();
this.ViewerSettings = new Analytics.Providers.ViewerSettings();
}
loadmore(boardname, page, reportid, CardViewId, cardvalues, appliedcolumn, assignedcolumn, TemplateText) {
var instance = this;
var data = [];
let rv_ins = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(instance.containerId);
let { fromDate, toDate } = rv_ins.checkForReportDatePicker(reportid, this.containerId);
var footerElement = $("[data-id='" + boardname + "']").find('footer').find('button');
if (footerElement.length) {
var element = footerElement[0].className.split(/\s+/);
page = element[element.length - 1].match(/\d+/g).map(Number)[0];
let postdata = {
ReportId: reportid,
page: page,
ViewerTypeId: 5,
pageSize: 5,
ViewerId: CardViewId,
BoardName: boardname.toString(),
IsJson: true,
DisplayModeTypeId: this._reportViewer.getDisplayModeTypeId(),
DateFilter: rv_ins.dateFilters,
Filter: rv_ins.dynamicFilters,
InputParameters: rv_ins.inputParameters,
FromDate: fromDate,
ToDate: toDate,
};
instance.reportManager.getReportViewerData(postdata).then(function (tableresponse) {
if (tableresponse.status == Unibase.Data.Status.Success) {
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
let response = JSON.parse(tableresponse.result);
if (response.Data && response.Data.length) {
let tablevalues = JSON.parse(response.Data);
if (tablevalues && tablevalues.length) {
let prevData = rv_ins.reportData;
let currentData = JSON.parse(response.Data);
rv_ins.reportData = $.merge(prevData, currentData);
rv_ins.reportDatalength = rv_ins.reportData.length;
if (rv_ins && rv_ins.reportResponse && rv_ins.reportResponse.result && rv_ins.reportResponse.result.ReportJsonData && rv_ins.reportResponse.result.ReportJsonData.Result && rv_ins.reportResponse.result.ReportJsonData.Result.Data) {
var data = JSON.parse(rv_ins.reportResponse.result.ReportJsonData.Result.Data);
data = data.concat(tablevalues);
rv_ins.reportResponse.result.ReportJsonData.Result.Data = JSON.stringify(data);
if (rv_ins.isEnableCount) {
$("#Viewer_pagintion" + instance.containerId).html(data.length + ' ' + 'of' + ' ' + rv_ins.totalRecords).removeClass('hidden');
}
}
}
var pageno = page + 1;
footerElement.addClass("lenght_" + pageno).removeClass("lenght_" + page);
for (let i = 0; i < tablevalues.length; i++) {
if (TemplateText) {
var context;
TemplateText = TemplateText.trim();
var templateScript = Handlebars.compile(TemplateText);
var script = templateScript(tablevalues[i]);
instance._reportBuilder.kanban_board.addElement(boardname, { title: tablevalues[i][assignedcolumn] });
}
else {
}
}
var result = cardvalues.filter(function (o) { return o[appliedcolumn] === boardname; });
if (result.length > 0) {
var TrimmedBoardName = boardname.replace(" ", "");
$("#spn_" + TrimmedBoardName + "").text(instance._reportBuilder.kanban_board.getBoardElements(boardname).length);
if (result[0].groupbycount == instance._reportBuilder.kanban_board.getBoardElements(boardname).length) {
$($("div").find("[data-id='" + boardname + "']")).find('button').addClass('hidden');
}
}
}
}
else
return MessageHelper.Instance().showError(tableresponse.message, "div_ErrorMessage");
});
}
}
loadView(reportresponse, reportid, CardViewId, page, pageSize, containerid, ViewerSettings, callback, reportwidgetdata) {
var instance = this;
instance.containerId = containerid;
let rv_ins = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerid);
instance.fileCacheHelper.loadCssFiles(["libs/kanban/jkanban.min.css"], () => {
instance.fileCacheHelper.loadJsFiles(["libs/kanban/jkanban.min.js", "platform/analytics/components/reportbuilder/reportbuilderhiddenfields.js"], () => {
$("#Table_View_" + containerid).removeClass("hidden");
instance.viewerManager.getCardView(CardViewId).then(function (res) {
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
if (res != null) {
instance.res = res;
let tablevalues = [];
let reportViewerDataResult = reportresponse.result.ReportJsonData.Result;
if (reportViewerDataResult.Data) {
tablevalues = JSON.parse(reportViewerDataResult.Data).sort((a, b) => (a.stageindex > b.stageindex) ? 1 : (a.stageindex < b.stageindex) ? -1 : 0);
var data = [];
var uniqueidarray = [];
var item = [];
var morearray = [];
let values = [...new Set(tablevalues.map(item => item[instance.res.AppliedColumn.trim()]))];
for (let i = 0; i < values.length; i++) {
var result = tablevalues.filter(function (o) { return o[instance.res.AppliedColumn.trim()] === values[i]; });
if (result.length > 0) {
if (result[0].groupbycount <= result.length) {
uniqueidarray.push(values[i]);
}
else {
morearray.push(values[i]);
}
}
for (let i = 0; i < result.length; i++) {
if (instance.res.TemplateText) {
var context;
var templateScript = Handlebars.compile(instance.res.TemplateText);
var script = templateScript(result[i]);
item.push({
title: script,
});
}
}
data.push({ id: values[i], title: values[i], "item": item, });
item = [];
}
var data1 = data;
var dataids = data.map(function (el) {
return `${el.id}`;
});
data1.forEach(function (e, i) {
data1[i]['dragTo'] = dataids;
});
var kanbandata = data;
instance._reportBuilder.cardviewerpage = 2;
let viewerEl = $(`#Viewer_${containerid}`);
viewerEl.empty().css("overflow-x", "scroll");
;
viewerEl.find(".Templateheader").addClass("hidden");
let isDragging = false;
let mousemoveTagHeader = false;
let currentDraggingEle = null;
$(`#filters-list${containerid}`).find('.filter-item').each(function (i, el) {
$(el).mouseover(function (e) {
if (isDragging) {
mousemoveTagHeader = true;
$(el).addClass('kanban-item-hover');
}
});
$(el).mouseout(function (e) {
if (mousemoveTagHeader) {
mousemoveTagHeader = false;
let idtag = $(el).attr('data-filtername');
viewerEl.find(`[data-id="${idtag}"]`).find('.kanban-drag').append(currentDraggingEle);
$(el).removeClass("kanban-item-hover");
}
});
});
eval(`Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().kanban_board = new jKanban({
element: '#Viewer_${containerid}',
layout: { horizontal: true },
responsive: '700',
responsivePercentage: false,
widthBoard: '370px',
dragItems: true,
dropEl: function (el, target, source, sibling) { },
boards: data1,
dragBoards: false,
addItemButton: true,
dragEl: function (el, source) {
$(el).css({ opacity: '0.6', 'pointer-events': 'none' });
isDragging = true;
currentDraggingEle = el;
$('body').mousemove(function (e) {
if (isDragging) {
let closestCardBoard = $(el).closest('.kanban-drag')[0];
let closestCardBoardContainer =
viewerEl.find('.kanban-container').closest('.card-body')[0];
let dragRect = closestCardBoard.getBoundingClientRect();
let dragRectContainer =
closestCardBoardContainer.getBoundingClientRect();
let dragRectContainerLeft = dragRectContainer.x;
let top = dragRect.y;
let y = e.clientY;
let x = e.clientX;
if (y < top + 20) {
closestCardBoard.scrollBy(0, -20);
} else if (y < top + 60) {
closestCardBoard.scrollBy(0, -10);
} else if (y > top + dragRect.height - 20) {
closestCardBoard.scrollBy(0, 20);
} else if (y > top + dragRect.height - 60) {
closestCardBoard.scrollBy(0, 10);
}
if (x < dragRectContainerLeft + 20) {
closestCardBoardContainer.scrollBy(-20, 0);
} else if (x < dragRectContainerLeft + 60) {
closestCardBoardContainer.scrollBy(-10, 0);
} else if (x > dragRectContainerLeft + dragRectContainer.width - 20) {
closestCardBoardContainer.scrollBy(20, 0);
} else if (x > dragRectContainerLeft + dragRectContainer.width - 60) {
closestCardBoardContainer.scrollBy(10, 0);
}
}
});
},
dragendEl: function (el) {
$('body').off('mousemove');
$(el).css({ opacity: '1', 'pointer-events': 'auto' });
isDragging = false;
if(!isDragging){
if($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').length>0){
let id, stageId,recordId, installedAppId;
$('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-click2event','false');
$(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-click2event','active');
recordId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-record2id'));
installedAppId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-installed2appid'));
stageId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-oldstageid'));
id = $(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('id');
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["platform/apps/managers/stagemanager.js","platform/apps/components/stages/stagereason.js"], function () {
Unibase.Themes.Compact.Components.Details.Instance().change(stageId, installedAppId, id);
});
}
}
},
buttonClick: function (el, boardId) {
var page = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage;
Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage + 1;
instance.loadmore(boardId,page,reportid,CardViewId,tablevalues,instance.res.AppliedColumn.trim(),instance.res.AssignColumn.trim(),instance.res.TemplateText);
var formItem = document.createElement('form');
formItem.setAttribute('class', 'itemform');
//KanbanTest.addForm(boardId, formItem);
//document.getElementById('CancelBtn').onclick = function () {
// formItem.parentNode.removeChild(formItem);
//};
},
}); if($('[data-isconclusive="true"]').length !=0){
let stageNameConclusive = $('[data-isconclusive="true"]').parents('.kanban-board').attr('data-id');
$('[data-id="'+stageNameConclusive+'"]').addClass('position-absolute').css('margin-top', '440px');}`);
viewerEl.find(".kanban-title-board").addClass('text-truncate');
viewerEl.find('.kanban-container').addClass('d-flex align-items-start');
for (let i = 0; i < uniqueidarray.length; i++) {
var uniqueresult = tablevalues.filter(function (o) { return o[instance.res.AppliedColumn.trim()] === uniqueidarray[i]; });
viewerEl.find(`[data-id='${uniqueidarray[i]}'] .kanban-title-button`).addClass('d-none');
var TrimmedBoardName = uniqueidarray[i];
viewerEl.find(`[data-id='${uniqueidarray[i]}'] .kanban-board-header`).append('<span class="kanban-header-badge badge badge-primary badge-outline font-14 font-weight-600 flex-shrink-0"><span id=spn_' + TrimmedBoardName + '>' + uniqueresult.length + '</span> of ' + uniqueresult[0].groupbycount + '</span>');
}
if (morearray.length > 0) {
for (let i = 0; i < morearray.length; i++) {
var moreeresult = tablevalues.filter(function (o) { return o[instance.res.AppliedColumn.trim()] === morearray[i]; });
var TrimmedBoardName = morearray[i].toString().replace(" ", "");
viewerEl.find(`[data-id='${morearray[i]}'] .kanban-board-header`).append('<span class="kanban-header-badge badge badge-primary badge-outline font-14 font-weight-600 flex-shrink-0"><span id=spn_' + TrimmedBoardName + '>' + moreeresult.length + '</span> of ' + moreeresult[0].groupbycount + '</span>');
}
}
viewerEl.find(".kanban-drag").css({ "min-height": "max-content", "max-height": "500px", "min-width": "250px" }).addClass('biz-custom-scrollbar');
viewerEl.find("main.kanban-drag").css('height', 'fit-content');
uniqueidarray = [];
viewerEl.find(".btnfritem").parent().addClass('w-100 d-flex justify-content-center mt-1 align-items-center mb-2').attr('style', '');
viewerEl.find(".btnfritem").addClass("lenght_2");
viewerEl.find(".btnfritem").html("More");
$(".btnfritem").css({ "background-color": "white", "padding": "4px 12px", "font-weight": "bold" });
}
else {
$(`#${containerid} .kanban-container`).html(`<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 font-14 font-weight-500">No data available</div>`).css("width", "100%");
}
if (rv_ins.isEnableCount) {
$("#Viewer_pagintion" + instance.containerId).html(tablevalues.length + ' ' + 'of' + ' ' + rv_ins.totalRecords);
}
}
else
return MessageHelper.Instance().showError("Something went wrong", "div_ErrorMessage");
});
});
});
}
static Instance() {
return new Unibase.Platform.Analytics.Viewers.CardViewer();
}
}
Viewers.CardViewer = CardViewer;
})(Viewers = Analytics.Viewers || (Analytics.Viewers = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+82
View File
@@ -0,0 +1,82 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this._reportBuilder=i.Reports.ReportBuilder.Instance();this._reportViewer=i.Components.ReportViewer.Instance();this.ViewerSettings=new i.Providers.ViewerSettings}loadmore(t,i,r,u,f,e,o,s){var c=this,l,a;let h=n.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(c.containerId),{fromDate:v,toDate:y}=h.checkForReportDatePicker(r,this.containerId);if(l=$("[data-id='"+t+"']").find("footer").find("button"),l.length){a=l[0].className.split(/\s+/);i=a[a.length-1].match(/\d+/g).map(Number)[0];let p={ReportId:r,page:i,ViewerTypeId:5,pageSize:5,ViewerId:u,BoardName:t.toString(),IsJson:!0,DisplayModeTypeId:this._reportViewer.getDisplayModeTypeId(),DateFilter:h.dateFilters,Filter:h.dynamicFilters,InputParameters:h.inputParameters,FromDate:v,ToDate:y};c.reportManager.getReportViewerData(p).then(function(r){var u,v,y,w,a,p;if(r.status==n.Data.Status.Success){n.Platform.Helpers.NavigationHelper.Instance().hideLoading();let w=JSON.parse(r.result);if(w.Data&&w.Data.length){let n=JSON.parse(w.Data);if(n&&n.length){let t=h.reportData,i=JSON.parse(w.Data);h.reportData=$.merge(t,i);h.reportDatalength=h.reportData.length;h&&h.reportResponse&&h.reportResponse.result&&h.reportResponse.result.ReportJsonData&&h.reportResponse.result.ReportJsonData.Result&&h.reportResponse.result.ReportJsonData.Result.Data&&(u=JSON.parse(h.reportResponse.result.ReportJsonData.Result.Data),u=u.concat(n),h.reportResponse.result.ReportJsonData.Result.Data=JSON.stringify(u),h.isEnableCount&&$("#Viewer_pagintion"+c.containerId).html(u.length+" of "+h.totalRecords).removeClass("hidden"))}v=i+1;l.addClass("lenght_"+v).removeClass("lenght_"+i);for(let i=0;i<n.length;i++)s&&(s=s.trim(),y=Handlebars.compile(s),w=y(n[i]),c._reportBuilder.kanban_board.addElement(t,{title:n[i][o]}));a=f.filter(function(n){return n[e]===t});a.length>0&&(p=t.replace(" ",""),$("#spn_"+p+"").text(c._reportBuilder.kanban_board.getBoardElements(t).length),a[0].groupbycount==c._reportBuilder.kanban_board.getBoardElements(t).length&&$($("div").find("[data-id='"+t+"']")).find("button").addClass("hidden"))}}else return MessageHelper.Instance().showError(r.message,"div_ErrorMessage")})}}loadView(t,i,r,u,f,e){var o=this;o.containerId=e;let s=n.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(e);o.fileCacheHelper.loadCssFiles(["libs/kanban/jkanban.min.css"],()=>{o.fileCacheHelper.loadJsFiles(["libs/kanban/jkanban.min.js","platform/analytics/components/reportbuilder/reportbuilderhiddenfields.js"],()=>{$("#Table_View_"+e).removeClass("hidden"),o.viewerManager.getCardView(r).then(function(i){var f,p,w,a,b,k,v,y,c;if(n.Platform.Helpers.NavigationHelper.Instance().hideLoading(),i!=null){o.res=i;let n=[],k=t.result.ReportJsonData.Result;if(k.Data){n=JSON.parse(k.Data).sort((n,t)=>n.stageindex>t.stageindex?1:n.stageindex<t.stageindex?-1:0);var h=[],r=[],l=[],u=[];let i=[...new Set(n.map(n=>n[o.res.AppliedColumn.trim()]))];for(let t=0;t<i.length;t++){f=n.filter(function(n){return n[o.res.AppliedColumn.trim()]===i[t]});f.length>0&&(f[0].groupbycount<=f.length?r.push(i[t]):u.push(i[t]));for(let n=0;n<f.length;n++)o.res.TemplateText&&(p=Handlebars.compile(o.res.TemplateText),w=p(f[n]),l.push({title:w}));h.push({id:i[t],title:i[t],item:l});l=[]}a=h;b=h.map(function(n){return`${n.id}`});a.forEach(function(n,t){a[t].dragTo=b});k=h;o._reportBuilder.cardviewerpage=2;let t=$(`#Viewer_${e}`);t.empty().css("overflow-x","scroll");t.find(".Templateheader").addClass("hidden");let d=!1,s=!1,g=null;$(`#filters-list${e}`).find(".filter-item").each(function(n,i){$(i).mouseover(function(){d&&(s=!0,$(i).addClass("kanban-item-hover"))});$(i).mouseout(function(){if(s){s=!1;let n=$(i).attr("data-filtername");t.find(`[data-id="${n}"]`).find(".kanban-drag").append(g);$(i).removeClass("kanban-item-hover")}})});eval(`Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().kanban_board = new jKanban({
element: '#Viewer_${e}',
layout: { horizontal: true },
responsive: '700',
responsivePercentage: false,
widthBoard: '370px',
dragItems: true,
dropEl: function (el, target, source, sibling) { },
boards: data1,
dragBoards: false,
addItemButton: true,
dragEl: function (el, source) {
$(el).css({ opacity: '0.6', 'pointer-events': 'none' });
isDragging = true;
currentDraggingEle = el;
$('body').mousemove(function (e) {
if (isDragging) {
let closestCardBoard = $(el).closest('.kanban-drag')[0];
let closestCardBoardContainer =
viewerEl.find('.kanban-container').closest('.card-body')[0];
let dragRect = closestCardBoard.getBoundingClientRect();
let dragRectContainer =
closestCardBoardContainer.getBoundingClientRect();
let dragRectContainerLeft = dragRectContainer.x;
let top = dragRect.y;
let y = e.clientY;
let x = e.clientX;
if (y < top + 20) {
closestCardBoard.scrollBy(0, -20);
} else if (y < top + 60) {
closestCardBoard.scrollBy(0, -10);
} else if (y > top + dragRect.height - 20) {
closestCardBoard.scrollBy(0, 20);
} else if (y > top + dragRect.height - 60) {
closestCardBoard.scrollBy(0, 10);
}
if (x < dragRectContainerLeft + 20) {
closestCardBoardContainer.scrollBy(-20, 0);
} else if (x < dragRectContainerLeft + 60) {
closestCardBoardContainer.scrollBy(-10, 0);
} else if (x > dragRectContainerLeft + dragRectContainer.width - 20) {
closestCardBoardContainer.scrollBy(20, 0);
} else if (x > dragRectContainerLeft + dragRectContainer.width - 60) {
closestCardBoardContainer.scrollBy(10, 0);
}
}
});
},
dragendEl: function (el) {
$('body').off('mousemove');
$(el).css({ opacity: '1', 'pointer-events': 'auto' });
isDragging = false;
if(!isDragging){
if($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').length>0){
let id, stageId,recordId, installedAppId;
$('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-click2event','false');
$(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-click2event','active');
recordId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-record2id'));
installedAppId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-installed2appid'));
stageId = Number($(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('data-oldstageid'));
id = $(el).find('[data-kanban2view="stagechange"][data-stagechange="true"]').attr('id');
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["platform/apps/managers/stagemanager.js","platform/apps/components/stages/stagereason.js"], function () {
Unibase.Themes.Compact.Components.Details.Instance().change(stageId, installedAppId, id);
});
}
}
},
buttonClick: function (el, boardId) {
var page = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage;
Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().cardviewerpage + 1;
instance.loadmore(boardId,page,reportid,CardViewId,tablevalues,instance.res.AppliedColumn.trim(),instance.res.AssignColumn.trim(),instance.res.TemplateText);
var formItem = document.createElement('form');
formItem.setAttribute('class', 'itemform');
//KanbanTest.addForm(boardId, formItem);
//document.getElementById('CancelBtn').onclick = function () {
// formItem.parentNode.removeChild(formItem);
//};
},
}); if($('[data-isconclusive="true"]').length !=0){
let stageNameConclusive = $('[data-isconclusive="true"]').parents('.kanban-board').attr('data-id');
$('[data-id="'+stageNameConclusive+'"]').addClass('position-absolute').css('margin-top', '440px');
}`);t.find(".kanban-title-board").addClass("text-truncate");t.find(".kanban-container").addClass("d-flex align-items-start");for(let i=0;i<r.length;i++)v=n.filter(function(n){return n[o.res.AppliedColumn.trim()]===r[i]}),t.find(`[data-id='${r[i]}'] .kanban-title-button`).addClass("d-none"),c=r[i],t.find(`[data-id='${r[i]}'] .kanban-board-header`).append('<span class="kanban-header-badge badge badge-primary badge-outline font-14 font-weight-600 flex-shrink-0"><span id=spn_'+c+">"+v.length+"<\/span> of "+v[0].groupbycount+"<\/span>");if(u.length>0)for(let i=0;i<u.length;i++)y=n.filter(function(n){return n[o.res.AppliedColumn.trim()]===u[i]}),c=u[i].replace(" ",""),t.find(`[data-id='${u[i]}'] .kanban-board-header`).append('<span class="kanban-header-badge badge badge-primary badge-outline font-14 font-weight-600 flex-shrink-0"><span id=spn_'+c+">"+y.length+"<\/span> of "+y[0].groupbycount+"<\/span>");t.find(".kanban-drag").css({"min-height":"max-content","max-height":"500px","min-width":"250px"}).addClass("biz-custom-scrollbar");t.find("main.kanban-drag").css("height","fit-content");r=[];t.find(".btnfritem").parent().addClass("w-100 d-flex justify-content-center mt-1 align-items-center mb-2").attr("style","");t.find(".btnfritem").addClass("lenght_2");t.find(".btnfritem").html("More");$(".btnfritem").css({"background-color":"white",padding:"4px 12px","font-weight":"bold"})}else $(`#${e} .kanban-container`).html(`<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 font-14 font-weight-500">No data available</div>`).css("width","100%");s.isEnableCount&&$("#Viewer_pagintion"+o.containerId).html(n.length+" of "+s.totalRecords)}else return MessageHelper.Instance().showError("Something went wrong","div_ErrorMessage")})})})}static Instance(){return new n.Platform.Analytics.Viewers.CardViewer}}r.CardViewer=u})(r=i.Viewers||(i.Viewers={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,145 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class CardViewerSettings extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this.ReportId = 0;
}
jsFiles() {
return ["platform/analytics/components/cardviewer/cardviewer.js", "platform/analytics/providers/iviewersettings.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div class="b-b bg-white modal-header"><strong class="text-dark">Card</strong>
</div>
<div class="modal-body" id="CardViewer_modal">
<div id="divCard_ErrorMessage"></div>
<div class="card"> <div class="card-body" style="">
<div class="row" id="div_Kanban">
<div class="col-sm-6"> <div id="div_CardName" class="floating-label-form-group">
<label for="cardname" id="lbl_CardName">Card Name</label>
<input type="text" class="form-control value-control floating-label-control" placeholder="Card Name" data-placeholder="Card Name" data-label="Card Name" id="txt_CardName">
</div></div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6"> <div id="div_KanbanColumn" class="floating-label-form-group floating-label-form-group-with-value">
<label for="kanbancolumn">Applied Column</label>
<select id="cardapplied_AutoComplete" class="form-control text-control required"><option value="0" selected="">Select Kanban Column</option></select>
</div></div>
<div class="col-sm-6"> <div id="div_AssignColumn" class="floating-label-form-group floating-label-form-group-with-value">
<label for="AssignColumn">Assign Column</label>
<select id="AssignColumn_AutoComplete" class="form-control text-control required"><option value="0" selected="">Select Assign Column</option></select>
</div></div>
<div class="col-sm-6"> <div id="div_dividebygroup" class="mt-40 hidden">
<input type="checkbox" id="dividebygroup" name="dividebygroup" value=" ">
<label for="dividebygroup" class="ml-5">Divide By Group</label>
</div></div>
</div>
</div></div><div class="TemplateText_Section card">
<div class="card-header"> Template Text </div>
<div class="card-body">
<div id="div_TemplateText" class="">
<textarea class="" placeholder="Template Text" rows="3" cols="112" id="txt_TemplateText"></textarea>
</div>
</div></div></div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
var reportid = instance.ReportId;
$("#CardViewer_modal").css("height", $(window).outerHeight() - (Number($(".modal-header").outerHeight()) + Number($(".modal-footer").outerHeight())) + 'px');
$("#btnClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
var data = [];
this.reportManager.getColumns(reportid).then(function (response) {
var res = response.result;
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].ReportColumnName, text: res[i].ReportColumnName });
}
$("#cardapplied_AutoComplete").select2({
placeholder: 'Select From Date Column',
data: data,
});
$("#AssignColumn_AutoComplete").select2({
placeholder: 'Select From Date Column',
data: data,
});
if (id != 0) {
instance.getCardById(id);
}
});
jQuery("#btnSave").click(function () {
instance.save(id, reportid, containerid);
});
}
save(id, reportid, containerid) {
var instance = this;
var PostData = {
CardViewId: Number(id),
CardName: $("#txt_CardName").val(),
AppliedColumn: $("#cardapplied_AutoComplete").val(),
AssignColumn: $("#AssignColumn_AutoComplete").val(),
IsDivideGroup: $("#dividebygroup").is(":checked"),
TemplateText: $("#txt_TemplateText").val(),
ReportId: instance.ReportId,
DisplayModeTypeId: 1,
ViewAll: instance.response && instance.response.ViewAll || true,
DisplayName: $("#Txt_Display_Name").val().toString().trim(),
IsFromUI: Number(id) == 0 ? true : false,
};
instance.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js", function () {
instance.viewerManager.saveCardView(PostData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, 'divCard_ErrorMessage');
}
else {
MessageHelper.Instance().showSuccess(response.message, '');
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
});
}
getCardById(id) {
var instance = this;
instance.viewerManager.getCardView(id).then(function (response) {
instance.response = response;
$("#Txt_Display_Name").val(response.DisplayName ? response.DisplayName.trim() : instance.response.CardName.trim());
$("#txt_CardName").val(instance.response.CardName.trim()).attr("readonly", 'true').css("cursor", "not-allowed");
$("#cardapplied_AutoComplete").val(instance.response.AppliedColumn.trim()).trigger("change");
$("#AssignColumn_AutoComplete").val(instance.response.AssignColumn.trim()).trigger("change");
$("#txt_TemplateText").val(instance.response.TemplateText.trim());
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new CardViewerSettings();
return this._instance;
}
}
Components.CardViewerSettings = CardViewerSettings;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"cardviewer.settings.js","sourceRoot":"","sources":["cardviewer.settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this.ReportId=0}jsFiles(){return["platform/analytics/components/cardviewer/cardviewer.js","platform/analytics/providers/iviewersettings.js"]}cssFiles(){return[]}html(){return`<div class="b-b bg-white modal-header"><strong class="text-dark">Card</strong>
</div>
<div class="modal-body" id="CardViewer_modal">
<div id="divCard_ErrorMessage"></div>
<div class="card"> <div class="card-body" style="">
<div class="row" id="div_Kanban">
<div class="col-sm-6"> <div id="div_CardName" class="floating-label-form-group">
<label for="cardname" id="lbl_CardName">Card Name</label>
<input type="text" class="form-control value-control floating-label-control" placeholder="Card Name" data-placeholder="Card Name" data-label="Card Name" id="txt_CardName">
</div></div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6"> <div id="div_KanbanColumn" class="floating-label-form-group floating-label-form-group-with-value">
<label for="kanbancolumn">Applied Column</label>
<select id="cardapplied_AutoComplete" class="form-control text-control required"><option value="0" selected="">Select Kanban Column</option></select>
</div></div>
<div class="col-sm-6"> <div id="div_AssignColumn" class="floating-label-form-group floating-label-form-group-with-value">
<label for="AssignColumn">Assign Column</label>
<select id="AssignColumn_AutoComplete" class="form-control text-control required"><option value="0" selected="">Select Assign Column</option></select>
</div></div>
<div class="col-sm-6"> <div id="div_dividebygroup" class="mt-40 hidden">
<input type="checkbox" id="dividebygroup" name="dividebygroup" value=" ">
<label for="dividebygroup" class="ml-5">Divide By Group</label>
</div></div>
</div>
</div></div><div class="TemplateText_Section card">
<div class="card-header"> Template Text </div>
<div class="card-body">
<div id="div_TemplateText" class="">
<textarea class="" placeholder="Template Text" rows="3" cols="112" id="txt_TemplateText"></textarea>
</div>
</div></div></div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`}load(n,t){var r=this,u=r.ReportId,i;$("#CardViewer_modal").css("height",$(window).outerHeight()-(Number($(".modal-header").outerHeight())+Number($(".modal-footer").outerHeight()))+"px");$("#btnClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove()});i=[];this.reportManager.getColumns(u).then(function(t){var u=t.result;for(let n=0;n<u.length;n++)i.push({id:u[n].ReportColumnName,text:u[n].ReportColumnName});$("#cardapplied_AutoComplete").select2({placeholder:"Select From Date Column",data:i});$("#AssignColumn_AutoComplete").select2({placeholder:"Select From Date Column",data:i});n!=0&&r.getCardById(n)});jQuery("#btnSave").click(function(){r.save(n,u,t)})}save(t,i,r){var u=this,f={CardViewId:Number(t),CardName:$("#txt_CardName").val(),AppliedColumn:$("#cardapplied_AutoComplete").val(),AssignColumn:$("#AssignColumn_AutoComplete").val(),IsDivideGroup:$("#dividebygroup").is(":checked"),TemplateText:$("#txt_TemplateText").val(),ReportId:u.ReportId,DisplayModeTypeId:1,ViewAll:u.response&&u.response.ViewAll||!0,DisplayName:$("#Txt_Display_Name").val().toString().trim(),IsFromUI:Number(t)==0?!0:!1};u.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js",function(){u.viewerManager.saveCardView(f).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"divCard_ErrorMessage"):(MessageHelper.Instance().showSuccess(t.message,""),$("#"+r).modal("hide"),$("#"+r).remove())})})}getCardById(n){var t=this;t.viewerManager.getCardView(n).then(function(n){t.response=n;$("#Txt_Display_Name").val(n.DisplayName?n.DisplayName.trim():t.response.CardName.trim());$("#txt_CardName").val(t.response.CardName.trim()).attr("readonly","true").css("cursor","not-allowed");$("#cardapplied_AutoComplete").val(t.response.AppliedColumn.trim()).trigger("change");$("#AssignColumn_AutoComplete").val(t.response.AssignColumn.trim()).trigger("change");$("#txt_TemplateText").val(t.response.TemplateText.trim())})}static Instance(){return this._instance===undefined&&(this._instance=new u),this._instance}}r.CardViewerSettings=u})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,21 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Charts;
(function (Charts) {
class ChartBuilderVariables {
static Instance() {
if (this.instance === undefined) {
this.instance = new ChartBuilderVariables();
}
return this.instance;
}
}
Charts.ChartBuilderVariables = ChartBuilderVariables;
})(Charts = Analytics.Charts || (Analytics.Charts = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"chartbuilderhiddenfields.js","sourceRoot":"","sources":["chartbuilderhiddenfields.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAyChB;AAzCD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAuCxB;IAvCD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAqCzB;QArCD,WAAiB,SAAS;YACtB,IAAiB,MAAM,CAmCtB;YAnCD,WAAiB,MAAM;gBACnB,MAAa,qBAAqB;oBA0B9B,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;yBAC/C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBAEJ;gBAjCY,4BAAqB,wBAiCjC,CAAA;YACL,CAAC,EAnCgB,MAAM,GAAN,gBAAM,KAAN,gBAAM,QAmCtB;QACL,CAAC,EArCgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAqCzB;IACL,CAAC,EAvCgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuCxB;AACL,CAAC,EAzCS,OAAO,KAAP,OAAO,QAyChB"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{static Instance(){return this.instance===undefined&&(this.instance=new t),this.instance}}n.ChartBuilderVariables=t})(t=n.Charts||(n.Charts={}))})(t=n.Analytics||(n.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,353 @@
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 Charts;
(function (Charts) {
class ChartViewer extends Analytics.Components._Chart {
constructor() {
super();
this.dynamicParameters = [];
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.Filter = [];
}
jsFiles() {
return ["libs/chartjs/chart.min.js"];
}
cssFiles() {
return [
'libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css'
];
}
html(id, containerid) {
const instance = this;
var reportid = id;
let hidden = 'd-none';
if (containerid.includes("div_kpireport_") || containerid.includes("_previewreport_")) {
hidden = '';
}
let isRestrictHidden = '';
if (Unibase.Platform.Membership.Infos.Identity.currentUser.isRestrictedUser) {
isRestrictHidden = 'd-none';
}
let html = `<div class="card mb-0" id="chartViewerWrap_${containerid}"><div class="card-header h-50p pa-10 d-flex justify-content-between align-items-center p-relative viewer-header ViewerHeader_${containerid}"><div class="chart-header-left d-flex align-items-center text-truncate"><a href="javascript:void(0);" id="reportCloseBtn_${containerid}" class="report-close-btn btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p mr-10 text-dark d-none" onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().closeReportPopup('${containerid}');" data-tooltip="true" title="Close"><span class="btn-icon-wrap"><i data-icon="l"></i></span></a><strong class="ChartName_${containerid} hidden">Chart</strong><span id="ReportTitle_${containerid}" class="font-weight-600 biz-highlight-bg-color text-truncate">Title</span><strong id = "Reportid_${containerid}" class="pl-15 Reportid__dynamicfilter hidden"> Title </strong><strong id = "Reportid_${containerid}" class="pl-15 Reportid__commonfilter hidden"> Title </strong>
${instance.currentUser.isAdmin ? `<a class="dp-toggle-icon btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p flex-shrink-0 d-none ${!isRestrictHidden ? 'd-xl-block' : ''}" href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="ViewerTypes_${containerid}" class="ViewerTypes_${containerid}"><span class="btn-icon-wrap"><i class="fa fa-caret-down" aria-hidden="true"></i></span></a>
<div class="dropdown-menu dropdown-menu-left ViewerTypes_dropdown" id="dp_${containerid}_viewertypes"><a class="dropdown-item ddbtn_Edit" href = "javascript:;" title = "Edit" id = "edit_" onclick = "Unibase.Platform.Analytics.Components.ReportViewer.Instance().EditReport(${reportid},0,0,0,'${containerid}');">Edit</a>
<a href="javascript:;" class="dropdown-item" id="DuplicateTable_${containerid}" onclick = "Unibase.Platform.Analytics.Components.ReportViewer.Instance().EditReport(${reportid},1,0,0,'${containerid}')";>Duplicate</a>
</div>` : ''}<span class="dropdown pull-right mr-30 sp_widget_create_${containerid}" style = "position:static"></span></div>
<div class="card-header-right d-flex align-items-center"><a class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p mr-1 chart-maximize-btn" href="javascript:;" id="chartMaximizeBtn_${containerid}" onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAll(${reportid}, 0, 'fullscreen_${containerid}','${containerid}');" data-tooltip="true" title="Maximize Chart"><span class="btn-icon-wrap"><i class="las la-expand font-18"></i></span></a><a class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p mr-1 chart-minimize-btn d-none" href="javascript:;" id="chartMinimizeBtn_${containerid}" onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().closeReportPopup('${containerid}');" data-tooltip="true" title="Minimize Chart"><span class="btn-icon-wrap"><i class="las la-compress font-18"></i></span></a><a class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p mr-1 d-none link-report-icon" id="linkreport${containerid}" href="javascript:;"><span class="btn-icon-wrap"><i class="las la-table font-18"></i></span></a><div class="filter-dp-wrapper biz-dropdown ${isRestrictHidden} d-none" id="filterDpWrap_${containerid}">
<a href="javascript:;" class="filter-icon btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p" id="filter-icon${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().loadDynamicFilters(${reportid},'${containerid}','.BindData_${containerid}')" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-tooltip="true" title="Dynamic Filters"><span class="btn-icon-wrap"><i class="las la-filter font-18"></i></span></a>
<div class="dropdown-menu biz-custom-dropdown biz-filter-dropdown"
id="biz-filter-dropdown${containerid}" onclick="event.stopPropagation();">
<div class="filter-dropdown-body biz-custom-scrollbar" id="filter-dropdown-body${containerid}">
<div id="dynamic-filters${containerid}" class="dynamic-filters-list row mx-0"></div>
</div>
<div class="filter-dropdown-footer d-none" id="filter-dropdown-footer${containerid}"><a
href="javascript:;" class="btn btn-outline-danger btn-sm Filterbuttons"
id="btn_ClearFilter${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().clearDynamicFilters(${reportid},'${containerid}')">Clear</a>
<div class="actions-btn-group"><a href="javascript:;"
class="btn btn-outline-primary btn-sm create-filter-btn saveViewAs${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().saveViewAs(${reportid})">Create</a>
<div class="btn-group apply-btn-group toggle-btn ml-15"><a href="javascript:;"
class="btn btn-outline-primary btn-sm Filterbuttons"
id="ApplyGlobalFilter${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance()._applyfilter(${reportid},'${containerid}')">Apply</a><a
href="javascript:;"
class="btn btn-outline-primary btn-sm save-filter-btn saveViewAs${containerid} d-none"
id="saveViewAs${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().saveViewAs(${reportid})">Save</a><button
type="button" class="btn btn-primary btn-sm dropdown-toggle"
id="applyToggleBtn${containerid}"></button></div>
</div>
</div>
<div class="filter-dropdown-errmessage text-center d-none"
id="filter-dropdown-errmessage${containerid}">
<p class="text-danger">No Filters Found!</p><a href="javascript:;"
class="btn btn-outline-primary btn-sm mt-10 create-filter-btn saveViewAs${containerid}"
onclick="Unibase.Platform.Analytics.Components.ReportViewer.Instance().saveViewAs(${reportid})">Create
Filter</a>
</div>
</div>
</div>
</div></div>
<div class="card-body ChartViewer_${containerid} pa-20"><section class="modal-body pa-0 card_section" id="chartSection_${containerid}"><div class="d-none w-100" id="noChartDataMsg_${containerid}"></div><div class="p-relative" id="ChartCanvasDiv${containerid}"><canvas id="${containerid}-chart-canvas" class="chart-canvas"></canvas></div></section></div>
</div>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
const instance = this;
this.reportManager = Analytics.Managers.ReportManager.Instance();
this._reportBuilder = Analytics.Reports.ReportBuilder.Instance();
this._reportBuilder.pivot = new PivotColumns();
var reportid = id;
containerid = containerid;
$("#Reportid_" + containerid).empty();
$('.Reportid__dynamicfilter').text("");
$("#Reportid_" + containerid).text(reportid);
$(`#applyToggleBtn${containerid}`).click(() => {
$(`#ApplyGlobalFilter${containerid}`).toggleClass('d-none');
$(`#saveViewAs${containerid}`).toggleClass('d-none');
});
if (containerid.indexOf("dashboardportletwidget") > 0) {
let widgetheight = $("#" + containerid).siblings('#hf_portletwidgetheight').val();
if (widgetheight == 'undefined' || widgetheight == null || widgetheight == '0px') {
widgetheight = '240px';
}
$(".ChartViewer_" + containerid).find(".card_section").css({ "height": widgetheight, "overflow": "hidden" });
$(".ChartViewer_" + containerid).find("#ChartCanvasDiv" + containerid).addClass('h-100 w-100');
}
if ($(`#${containerid}`).hasClass('_bizgaze_popup_container') || $(`#${containerid}`).hasClass('_bizgaze_detail_container')) {
$(`#chartViewerWrap_${containerid}`).addClass('chart-viewer-card');
$(`#chartMaximizeBtn_${containerid}`).addClass('d-none');
$(`#reportCloseBtn_${containerid},#filterDpWrap_${containerid}`).removeClass('d-none');
$(`#chartSection_${containerid}`).css('height', '100%');
if (containerid.includes('div_dashboardportletwidget')) {
$(`#chartMinimizeBtn_${containerid}`).removeClass('d-none');
}
if (Unibase.Themes.Compact.Components.Index.Instance().tabMode) {
$(`#ChartCanvasDiv${containerid}`).addClass('h-100 w-100');
}
else {
$(`#chartSection_${containerid}`).addClass('d-flex flex-column justify-content-center');
$(`#ChartCanvasDiv${containerid}`).removeClass('h-100').addClass('h-50 w-100');
}
}
instance.xaxisColumns = [], instance.yaxisColumns = [], instance.groupColumns = [];
instance.loadData(containerid, reportid);
});
}
loadData(containerid, reporId) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.ChartDivId = containerid + "-chart-canvas";
instance.chartContainerId = containerid;
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;
}
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
let reportInfo = rv_instance.reportResponse.result.ReportInfo;
instance._reportBuilder.reportid = reporId;
instance._reportBuilder.DataListId = reportInfo.DataListId;
instance.IsChartBuilder = false;
instance.displayLegend = reportInfo.IsLegend;
instance.isDataLabel = reportInfo.IsDataLabel;
instance.isTooltipHeader = reportInfo.IsTooltipHeader;
instance.tickLabelLength = reportInfo.TickLabelLength;
instance.loadSelectedLegend(reportInfo.LegendTypeId, false);
if (containerid.indexOf("dashboardportletwidget") > 0) {
if (containerid.includes('fullscreen')) {
const widgetContainerId = containerid.replace('fullscreen_', '');
const widgetName = $(`#${widgetContainerId}`).siblings('[id^=hf_widgetName]').val().toString();
$("#ReportTitle_" + containerid).text(widgetName);
}
else {
$("#ReportTitle_" + containerid).text(instance.WidgetName);
}
}
else {
$("#ReportTitle_" + containerid).text(reportInfo.ReportName);
}
var reportColumns = reportInfo.ReportColumns;
instance._reportBuilder.TenureReport = [], instance._reportBuilder.pivot.ColumnName = "";
var tenure;
var pivot;
if (reportColumns.length != 0) {
tenure = reportColumns.find(x => x.IsTenureApplied == true);
pivot = reportColumns.find(x => x.IsPivotColumn == true);
}
if (tenure) {
instance._reportBuilder.TenureReport[tenure.DisplayText] = {
TimeInterval: tenure.TimeInterval,
};
var Values_len = instance._reportBuilder.TenureReport.length;
instance._reportBuilder.TenureReport.length = Values_len + 1;
instance._reportBuilder.tenureTimeIntervalCol = tenure.DisplayText;
return instance.tenureChart(instance.ChartDivId, reporId);
}
if (reportInfo.ChartColumns.length != 0 && instance._reportBuilder.TenureReport.length == 0) {
instance.ChartTypeId = reportInfo.ChartTypeId;
var chartcolumns = reportInfo.ChartColumns;
instance.loadchart(rv_instance.reportData, chartcolumns, reportColumns, pivot);
}
instance.colorAppliedOn = reportInfo.ColorAppliedTypeId;
if (!reportInfo.LegendTitleTypeId)
instance.legendTitleTypeId = Unibase.Platform.Analytics.Enums.LegendTitleType.Data;
else if (reportInfo.LegendTitleTypeId)
instance.legendTitleTypeId = reportInfo.LegendTitleTypeId;
if (reportInfo.ChartBaseValue)
instance.chartBaseValue = reportInfo.ChartBaseValue;
const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
if (reportInfo.PaletteId !== 0 || indexInstance.currentTheme.paletteId) {
let paletteId = reportInfo.PaletteId;
if (!paletteId) {
instance.paletteColors.push(...indexInstance.themePalette);
}
else {
instance.getpaletteColors(paletteId, false);
}
}
instance.chart_dataSet();
if (reportInfo.LinkReportId != 0)
$(`#linkreport${containerid}`).removeClass("d-none");
$(`#linkreport${containerid}`).click(function () {
let widgetId = Number($(this).closest(".dashboardwidget-addeditem").find("#hf_widgetId").val());
var commonFilters = Unibase.Platform.Analytics.Components._CommonFilter.Instance().appliedFilters;
let filters = [];
if (commonFilters && commonFilters.length) {
var fil = commonFilters.find(x => x.WidgetId == widgetId);
if (fil && fil.AutocompleteFilter && fil.AutocompleteFilter.length) {
filters = fil.AutocompleteFilter;
}
}
var rv_instance = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.find(x => x.childcontainerid == containerid);
var dynamicfilters = (rv_instance.instance) ? rv_instance.instance.dynamicFilters : [];
if (dynamicfilters && dynamicfilters.length) {
filters = dynamicfilters;
}
(reportInfo.LinkReportId == reportInfo.ReportId) && (reportInfo.LinkReportId = 0);
instance.linkReport(reportInfo.LinkReportId, filters, "div_linkreport" + containerid.substr(containerid.lastIndexOf("_")) + "_viewall");
});
});
}
loadchart(chartdata, chartcolumns, reportColumns, pivot) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var data = chartdata;
instance.ChartData = data;
const containerid = instance.chartContainerId;
var chartCols = [];
if (reportColumns != null && reportColumns.length != 0) {
reportColumns.map(function (element) {
var cCol = chartcolumns.find(c => c.AliasName == element.AliasName);
if (cCol) {
chartCols.push(cCol);
}
});
}
else {
chartCols = chartcolumns;
}
if (data.length > 0) {
for (var i = 0; i < chartCols.length; i++) {
let chartCol = chartCols[i];
let ColumnValue = chartCol.ColumnValue;
let Field = chartCol.Name;
let AliasName = chartCol.AliasName;
let DataType = chartCol.DataType;
let Name = AliasName != null ? AliasName : Field;
let IsNumAbb = chartCol.IsNumAbb;
if (chartCol.IsXaxis == true) {
let xObj = {
ColumnId: ColumnValue,
ColumnName: Name,
DisplayText: AliasName,
AliasName: AliasName,
DataType: DataType,
ColorType: chartCol.ColorAppliedOn,
CoordinateTypeId: instance.ChartAxis.Horizontal,
divId: "",
IsNumAbb: IsNumAbb
};
instance.selected_Coordinate(xObj);
}
else if (chartCol.IsYaxis == true && chartCol.IsGroupBy != true) {
let yObj = {
ColumnId: ColumnValue,
ColumnName: Name,
DisplayText: AliasName,
AliasName: AliasName,
DataType: DataType,
ColorType: chartCol.ColorAppliedOn,
CoordinateTypeId: instance.ChartAxis.Vertical,
divId: "",
IsNumAbb: IsNumAbb
};
instance.selected_Coordinate(yObj);
}
else if (chartCol.IsGroupBy == true) {
if (chartCol.Color != null) {
instance.chartViewer_Colors(chartCol.Color, ColumnValue, Name);
}
let gObj = {
ColumnId: ColumnValue,
ColumnName: Name,
DisplayText: AliasName,
AliasName: AliasName,
DataType: DataType,
ColorType: chartCol.ColorAppliedOn,
CoordinateTypeId: instance.ChartAxis.GroupBy,
divId: ""
};
instance.selected_Coordinate(gObj);
if (pivot) {
yield instance._reportBuilder.getDistinctData(ColumnValue, Name, chartCol.AggregationValue);
}
}
else if (chartCol.IsLineChart == true) {
let lObj = {
ColumnId: ColumnValue,
ColumnName: Name,
DisplayText: AliasName,
AliasName: AliasName,
DataType: DataType,
ColorType: chartCol.ColorAppliedOn,
CoordinateTypeId: instance.ChartAxis.LineChart,
divId: ""
};
instance.selected_Coordinate(lObj);
}
if (chartCol.IsChartBaseColumn == true) {
let lObj = {
ColumnId: ColumnValue,
ColumnName: Name,
DisplayText: AliasName,
AliasName: AliasName,
DataType: DataType,
ColorType: chartCol.ColorAppliedOn,
CoordinateTypeId: instance.ChartAxis.BaseColumn,
divId: ""
};
instance.selected_Coordinate(lObj);
}
}
}
else {
$(`#ChartCanvasDiv${containerid}`).addClass('d-none');
$(`#chartSection_${containerid}`).removeClass('d-flex');
$(`#noChartDataMsg_${containerid}`).html('<div class="alert alert-primary border-0 font-14 mb-0 rounded-0 text-center w-100">No data available</div>').removeClass('d-none');
}
this.prepareAndBindToolTipColumns(chartCols);
});
}
static Instance() {
this._instance = new ChartViewer();
return this._instance;
}
}
Charts.ChartViewer = ChartViewer;
})(Charts = Analytics.Charts || (Analytics.Charts = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,863 @@
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 _CommonFilter extends Platform.Core.BaseComponent {
constructor() {
super();
this.ReportId = 0;
this.appliedFilters = [];
this.AutocompleteFilter = [];
this.commonfilter = [];
this.commonfilterColumns = [];
this.getCommonFilters = [];
this.selectedFilters = [];
this.cascadingFilters = [];
this.selectedCommonFilters = [];
this.fileName = "";
this.Filter = [];
this.ReportId = 0;
this._reportManager = Unibase.Platform.Analytics.Managers.ReportManager.Instance();
}
_jsFiles() {
return [];
}
_cssFiles() {
return [""];
}
_html(id, containerid) {
return null;
}
commonFilter(portletid, containerid) {
var instance = this;
$("#dynamic-filters" + containerid).empty();
instance.commonfilter = [];
if (Unibase.Themes.Compact.Components.Index.Instance().desktopMode || !containerid.includes('CmnDateFilter')) {
instance.loadCommonDate(portletid, containerid);
}
else {
instance.loadCommonDateInMobile(portletid, containerid);
}
if (portletid != 0) {
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilters(portletid).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
if (response != null) {
instance.commonfilter = response;
instance.loadcommonFilters(response, containerid);
}
});
});
}
}
commonFilterColumns(portletId, containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilterColumns(portletId).then(function (response) {
if (response != null) {
instance.commonfilterColumns = instance.commonfilterColumns.concat(response);
}
});
});
}
commonFilterColumnsByCommonFilterId(commonfilterid, containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilterColumnsByCommonFilterId(commonfilterid).then(function (response) {
if (response != null) {
instance.commonfilterColumns = instance.commonfilterColumns.concat(response);
}
});
});
}
loadCommonDateInMobile(portletid, containerid) {
var instance = this;
const containerIdWithPortletId = `${containerid}-${portletid == 0 ? "0" : portletid}`;
const containerIdWith_PortletId = `${containerid}_${portletid == 0 ? "0" : portletid}`;
let html = `<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header pa-15">
<h6 class="modal-title" id="bizCmnDateFilterModalTitle">Date Filter</h6>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div id="cmnDateFilterModalErrMsg" class="form-error-message ml-0 l-0"></div>
</div>
<div class="modal-body cmn-date-filter-body pa-15" id="cmnDateFilterModalBody">
<input type="hidden" id="hfBizgaze_FromDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ToDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ReportFromDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ReportToDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_RFilterDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfSelectedRangeKey" value="FIY Year"/>`;
html += `<div class="form-group"><label id="spn_DisplayName" class="w-100" for="daterangeSelect_${containerIdWithPortletId}">Date Range</label><select class="form-control" id ="cmnDateRangeSelect_${containerIdWithPortletId}"><option value="Today">Today</option><option value="Yesterday">Yesterday</option><option value="Last 7 Days">Last 7 Days</option><option value="Last 30 Days">Last 30 Days</option><option value="This Month">This Month</option><option value="Last Month">Last Month</option><option value="This Quarter">This Quarter</option><option value="Last Quarter">Last Quarter</option><option value="YTD">YTD</option><option value="Last Year">Last Year</option><option value="FIY Year">FIY Year</option><option value="PFIY Year">PFIY Year</option><option value="Custom Range">Custom Range</option></select></div><div class="form-group"><label for="cmnFromDateRange_${containerIdWithPortletId}" class="px-1">From Date</label><input class="form-control datepicker-input" type="text" placeholder="DD/MM/YYYY" id="cmnFromDateRange_${containerIdWithPortletId}" readonly/></div><div class="form-group mb-1"><label for="cmnToDateRange_${containerIdWithPortletId}" class="px-1">To Date</label><input class="form-control datepicker-input" type="text" placeholder="DD/MM/YYYY" id="cmnToDateRange_${containerIdWithPortletId}" readonly/></div>
</div><div class="modal-footer pa-15 d-none"><a href="javascript:;" class="btn btn-secondary btn-sm" data-dismiss="modal">Close</a><a href="javascript:;" class="btn btn-primary ml-auto btn-sm cmn-date-range-apply-btn" id="cmnDateRangeApply_${containerIdWithPortletId}">Apply</a></div></div></div></div>`;
$("#bizCmnDateFilterModal").html(html);
$("#hfBizgaze_FromDate" + containerid + '_' + (portletid == 0 ? "0" : portletid)).addClass("CommonFilter_FromDate");
$("#hfBizgaze_ToDate" + containerid + '_' + (portletid == 0 ? "0" : portletid)).addClass("CommonFilter_ToDate");
Unibase.Platform.Analytics.Components.FilterPanel.Instance().load(portletid == 0 ? "0" : portletid, containerid, null);
}
loadCommonDate(portletid, containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.fileCacheHelper.loadJsFile("platform/analytics/components/filterpanel/filterpanel.js", function () {
return __awaiter(this, void 0, void 0, function* () {
const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
let filterClasses = 'col-lg-4 col-sm-6 pa-10';
let isTitleHidden = 'd-none', isPl_0 = '';
const isPinDynamicFilters = $(`#ViewerHeader_${containerid} .pinned-report-filters`).length;
if (containerid.includes('CmnDateFilter')) {
filterClasses = '';
isTitleHidden = '';
if ((indexInstance.desktopMode && !indexInstance.isLeftLayout()) || containerid.includes('modalCmnDateFilter')) {
isTitleHidden = 'd-none';
}
}
else if (isPinDynamicFilters) {
filterClasses = '';
}
else {
filterClasses = 'col-sm-6 col-lg-4 col-xl-3';
isPl_0 = 'pl-0';
}
const containerIdWithPortletId = `${containerid}-${portletid == 0 ? "0" : portletid}`;
const containerIdWith_PortletId = `${containerid}_${portletid == 0 ? "0" : portletid}`;
let html = `<div class="filter_design-row ${filterClasses}" id="filter_design-row0"><div class="report-columns-div" id="div_ReportColumns">
<input type="hidden" id="hfBizgaze_FromDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ToDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ReportFromDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_ReportToDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfBizgaze_RFilterDate${containerIdWith_PortletId}"/>
<input type="hidden" id="hfSelectedRangeKey" value="FIY Year"/>`;
html += `<label id="spn_DisplayName" class="${isTitleHidden}" value="FromDate - ToDate">Date From/To</label><input class="form-control datepicker-input hasDatepicker cmn-daterange-input ${isPl_0}" type="text" placeholder="DD/MM/YYYY - DD/MM/YYYY" id="report-daterange${containerIdWithPortletId}"/></div>`;
if (!$(`#dynamic-filters${containerid}`).hasClass('common-filter-dropdown-body') && !$(`#dynamic-filters${containerid}`).hasClass('cmn-filter-panel-body')) {
if (isPinDynamicFilters) {
$(`#filters-list${containerid}`).append(html);
}
else {
$("#dynamic-filters" + containerid + " .filter_design-row").remove();
$("#dynamic-filters" + containerid).prepend(html);
}
$("#hfBizgaze_FromDate" + containerid + '_' + (portletid == 0 ? "0" : portletid)).addClass("CommonFilter_FromDate");
$("#hfBizgaze_ToDate" + containerid + '_' + (portletid == 0 ? "0" : portletid)).addClass("CommonFilter_ToDate");
}
else {
let filterbuttonHtml = `<a href="javascript:;" class="btn btn-outline-danger btn-sm Filterbuttons CommonFilterClearButton${containerid} hidden" id="btn_ClearFilter_${containerid}" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().clearCommonFilter('${containerid}');"><span class="btn-text mr-5">Clear</span><span class="icon-label"><i class="las la-filter"></i></span></a><a href="javascript:;" class="btn btn-outline-danger btn-sm close-filters-btn d-none" id="closeEditCmnFilters_${containerid}">Close</a>
<div class="actions-btn-group pull-right">
<div class="btn-group apply-btn-group create-btn-group toggle-btn ml-15"><a href="javascript:;" class="btn btn-outline-primary btn-sm create-filter-btn" id="btnCreateCommonFilter_${containerid}" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().loadCommonFilterForm(0)">Create</a><a href="javascript:;" class="btn btn-outline-primary btn-sm edit-filters-btn d-none" id="editCmnFiltersBtn_${containerid}">Edit</a><a href="javascript:;" class="btn btn-primary btn-sm dropdown-toggle" id="createToggleBtn_${containerid}"></a></div>
<div class="btn-group apply-btn-group ${containerid.includes('CmnFilterPanel') ? 'ml-5' : 'ml-15'}"><a href="javascript:;" class="btn btn-outline-primary btn-sm pull-right Filterbuttons CommonFilterApplybutton${containerid} hidden" id="ApplyGlobalFilter" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance()._applycommonfilter(${portletid},'','${containerid}');">Apply</a></div></div>`;
$("#commonfilter_footerbuttons" + containerid).html(filterbuttonHtml);
$(`#createToggleBtn_${containerid}`).click(function () {
$(`#commonfilter_footerbuttons${containerid}`).find('.create-filter-btn,.edit-filters-btn').toggleClass('d-none');
});
$(`#editCmnFiltersBtn_${containerid}`).click(function () {
$(`#btn_ClearFilter_${containerid}`).addClass('hidden');
$(`#dynamic-filters${containerid} .cmn-filter-edit-icon-wrap`).removeClass('d-none');
$(`#closeEditCmnFilters_${containerid}`).removeClass('d-none');
});
$(`#closeEditCmnFilters_${containerid}`).click(function () {
$(`#btn_ClearFilter_${containerid}`).removeClass('hidden');
$(`#dynamic-filters${containerid} .cmn-filter-edit-icon-wrap`).addClass('d-none');
$(`#closeEditCmnFilters_${containerid}`).addClass('d-none');
});
}
Unibase.Platform.Analytics.Components.FilterPanel.Instance().load(portletid == 0 ? "0" : portletid, containerid, null);
});
});
});
}
loadCommonFilterForm(commonFilterId) {
var FormUniqueid = "Unibase_Platform_Analytics_CommonFilter_App_CommonFilter_CreateForm";
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(FormUniqueid).then(function (response) {
if (response.result != null) {
var formviewerObj = {
FormId: response.result.FormId,
AppConfigurationId: 0,
Pk_Value: commonFilterId,
PortletWidgetId: 0,
OnSuccess: null,
OnFail: null,
OnLoad: null,
FormContainer: null,
FormSize: Platform.Helpers.Size.Large,
};
Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
}
});
}
loadcommonFilters(response, containerid) {
var instance = this;
if (response.length) {
instance.getCommonFilters = response;
for (var i = 0; i < response.length; i++) {
var data = response[i];
const { CommonFilterId, CommonFilterName, TextColumn, ControlTypeId, DataListId } = data;
var html, select2id = "";
let rowindex = response.findIndex(el => el.CommonFilterId === CommonFilterId);
let colClasses = 'col-lg-4 col-sm-6 py-1';
if (data.ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.tree) {
colClasses = 'col-12 py-1 order-last';
}
if (containerid.includes('CmnFilterPanel')) {
colClasses = 'col-12 py-10';
}
let replacedCmnFilterName = CommonFilterName.replaceAll(" ", "_");
const filterNameWithTextColumn = replacedCmnFilterName + '_' + TextColumn;
const containerIdWidthFilterId = containerid + '_' + CommonFilterId;
html = `<div class="filter_design-row ${colClasses} px-10 position-relative">
<input type="hidden" class="ColumnName" id="ColumnName" value="${TextColumn}" /><input type="hidden" class="ColumnId" id="ColumnId ${rowindex}" value="${CommonFilterId}"/><input type="hidden" class="ReqQuery" id="ReqQuery${rowindex}"/><div class="cmn-filter-edit-icon-wrap d-none"><a class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover h-25p w-25p cmn-filter-edit-icon" onclick = "Unibase.Platform.Analytics.Components._CommonFilter.Instance().loadCommonFilterForm(${CommonFilterId})" title="Edit Filter"><span class="btn-icon-wrap"><i class="las la-edit"></i></span></a></div>`;
if (ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.autocomplete || ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.select2 || ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
html += `<div class="div_autocomplete mt-1"><div class="floating-label-form-group-with-value" id="div_ReportColumns"><div class="input-group">
<select id="commonfilter_${filterNameWithTextColumn}" style="width:100%" data-placeholder="${CommonFilterName}" type="text" class="form-control required floating-label-control"></select>
<input type="hidden" id="hf_filtercolumn_${rowindex}" class="hf_filtercolumn_" value=""></div></div></div>`;
$("#commonfilter_" + CommonFilterId).append(TextColumn);
$("#commonfilter_" + CommonFilterId).children().remove();
select2id = `commonfilter_${filterNameWithTextColumn}`;
}
else if (ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.textbox) {
html += `<div class="filter-input-wrap"><input type="text" id="txtboxcolumn${containerIdWidthFilterId}" class="txtboxcolumn_ form-control required floating-label-control" value="" placeholder="${TextColumn}" data-TextColumn= "${TextColumn}"></input><a href="javascript:;" class="input-clear-link" onclick = "Unibase.Platform.Analytics.Components.ReportViewer.Instance().clearTextBox("${containerid}",${CommonFilterId})"><i class="icon" data-icon="9"></i></a></div>`;
$(`#txtboxcolumn${containerIdWidthFilterId}`).append(data.MappedColumn).children().remove();
}
else if (ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.select2tree) {
html += `<div class="div_treedata mt-1"><div class="floating-label-form-group-with-value" id="div_treedata"><div class="input-group">
<select id="commonfilter_${filterNameWithTextColumn}" data-placeholder="${CommonFilterName}" type="text" class="form-control required floating-label-control" multiple></select>
<input type="hidden" id="hf_filtercolumn_${rowindex}" class="hf_filtercolumn_" value=""></div></div></div>`;
select2id = `commonfilter_${filterNameWithTextColumn}`;
}
else if (ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.tree) {
html += `<div class="div_treeviewdata mt-1" id="commonfilter_${filterNameWithTextColumn}"><div class="floating-label-form-group-with-value" id="div_treeviewdata"><div class="input-group">
<a href="javascript:;" class="collapse-link mt-1 mb-15 pa-0 border-bottom d-flex justify-content-between align-items-center font-weight-400" id="treeViewLink_${CommonFilterId}"><span>Select Filters</span><i class="dripicons dripicons-chevron-right collapse-icon ml-1 mr-0"></i></a>
<ul class="tree-view-list collapse row" id="treeViewList_${CommonFilterId}"></ul><input type="hidden" id="hf_filtercolumn_${rowindex}" class="hf_filtercolumn_" value=""></div></div></div>`;
}
else if (ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.formula) {
html += `<div class="div_formuladdl mt-1" id="commonfilter_${filterNameWithTextColumn}"><div class="floating-label-form-group-with-value" id="div_formuladdl"><div class="input-group">
<select id="commonfilterFormulaDDl_${CommonFilterId}" placeholder="select" type="text" class="form-control required floating-label-control pl-0"><option value="0" selected="">Select</option><option value="{{qty}}/(1000*158.92)">KB</option><option value="{{qty}}/1000">KL</option><option value="{{qty}}">LT</option></select></div></div></div>`;
select2id = `commonfilterFormulaDDl_${CommonFilterId}`;
}
html += '</div>';
$("#dynamic-filters" + containerid).append(html);
instance.loadControlType(DataListId, replacedCmnFilterName, TextColumn, select2id, ControlTypeId, i, rowindex);
instance.commonfilterFooter(containerid);
}
if (instance.selectedCommonFilters && instance.selectedCommonFilters.length)
instance.bindAppliedCommonFilters(containerid);
$(`#commonfilter_footerbuttons${containerid}`).removeClass('d-none');
$(`#cmnFilterErrMsg_${containerid}`).addClass('d-none');
$(`#cmnFilterPanelPin_${containerid}`).addClass('d-xl-block');
instance.commonfilterFooter(containerid);
}
else {
$(`#commonfilter_footerbuttons${containerid}`).addClass('d-none');
$(`#cmnFilterErrMsg_${containerid}`).removeClass('d-none');
$(`#cmnFilterPanelPin_${containerid}`).removeClass('d-xl-block');
if ($('#bizCmnFilterPanel').hasClass('show')) {
$(`#dynamic-filters${containerid}`).html(`<div class="cmn-filter-errmsg text-center my-25"><p class="text-danger">No Filters Found!</p><a class="btn btn-outline-primary btn-sm mt-10" href="javascript:;" id="btnCreateCommonFilter_${containerid}" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().loadCommonFilterForm(0)">Create Filter</a></div>`);
}
}
}
commonfilterFooter(containerid) {
const instance = this;
$(".CommonFilterClearButton" + containerid).removeClass("hidden");
$(".CommonFilterApplybutton" + containerid).removeClass("hidden");
instance.setCmnFilterDpBodyHeight(containerid);
}
setCmnFilterDpBodyHeight(containerid) {
const parentEl = $(`#bizCmnFilterDp_${containerid}`);
if (parentEl.hasClass('show')) {
let deductHeight = 35;
deductHeight += parentEl.offset().top;
deductHeight += parentEl.find('.common-filter-footer').outerHeight(true);
parentEl.find('.common-filter-dropdown-body').css('max-height', `${window.innerHeight - deductHeight}px`).attr('data-deductheight', deductHeight);
}
}
loadControlType(datalistid, commonfiltername, textcolumn, select2id, controltype, index, rowindex) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var res = instance.commonfilter[index];
if (controltype == Unibase.Platform.Analytics.Enums.ControlType.autocomplete || controltype == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete)
yield instance.loadSelect2(select2id, false, res);
else if (controltype == Unibase.Platform.Analytics.Enums.ControlType.select2)
yield instance.loadSelect2(select2id, true, res);
else if (controltype == Unibase.Platform.Analytics.Enums.ControlType.select2tree)
instance.loadSelect2TreeView(select2id, res);
else if (controltype == Unibase.Platform.Analytics.Enums.ControlType.tree)
instance.loadTreeView(commonfiltername, res);
});
}
getSelect2TreeData(data, commonfiltername) {
var instance = this;
var treedata = [];
var cmnFil = instance.getCommonFilters.find(c => c.CommonFilterName == commonfiltername);
if (cmnFil) {
var parentrecords = [];
parentrecords = data.filter(function (col) {
return col.parentid == cmnFil.ParentValue;
});
if (parentrecords.length == 0) {
parentrecords = data;
}
var treedata = [];
var childs = [];
for (var p = 0; p < parentrecords.length; p++) {
treedata.push({
id: parentrecords[p]["valuecolumn"], text: parentrecords[p]["textcolumn"],
});
let childrecords = _children(parentrecords[p][cmnFil.ChildColumn]);
if (childrecords != undefined) {
treedata[p]["inc"] = [];
childs = [];
for (var c = 0; c < childrecords.length; c++) {
childs.push({ id: childrecords[c]["valuecolumn"], text: childrecords[c]["textcolumn"], inc: childrecords[c]["inc"] });
}
treedata[p].inc = childs;
}
}
function _children(childid) {
let childrecords = instance.gettreeChildRecords(data, childid);
if (childrecords.length > 0) {
for (var c = 0; c < childrecords.length; c++) {
let subchilds = _children(childrecords[c][cmnFil.ChildColumn]);
if (subchilds != undefined) {
childs = [];
childrecords[c]["inc"] = [];
for (var s = 0; s < subchilds.length; s++) {
childs.push({ id: subchilds[s]["valuecolumn"], text: subchilds[s]["textcolumn"], inc: subchilds[s]["inc"] });
}
childrecords[c].inc = childs;
}
}
return childrecords;
}
}
return treedata;
}
}
gettreeChildRecords(data, childid) {
return data.filter(function (col) {
return col.parentid == childid;
});
}
getCommonFilterTreePostData(res) {
const instance = this;
var val = "";
if (instance.cascadingFilters.length > 0) {
var casfil = instance.cascadingFilters.find(cf => cf.ChildColumn == res.ValueColumn);
if (casfil)
val = casfil.Value;
}
var obj = {
DataListId: res.DataListId,
TextColumn: res.TextColumn,
ValueColumn: res.ValueColumn,
ParentColumn: res.ParentColumn,
ChildColumn: res.ChildColumn,
ParentValue: res.ParentValue,
ApplyFor: res.ApplyFor,
ControlTypeId: res.ControlTypeId,
CasCadingValue: val.toString()
};
return obj;
}
loadSelect2TreeView(select2id, res) {
var instance = this;
const commonFilterId = res.CommonFilterId;
var cssfile = "libs/select2/css/select2totree.css";
var jsfiles = ["libs/select2/js/select2totree.js"];
instance.fileCacheHelper.loadCssFile(cssfile, function () {
instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
return __awaiter(this, void 0, void 0, function* () {
const postObj = instance.getCommonFilterTreePostData(res);
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilterTreeData(postObj).then(function (response) {
var treearr = [];
if (response.result != null) {
var jsonData = JSON.parse(response.result).Data;
var data = JSON.parse(jsonData);
treearr = instance.getSelect2TreeData(data, res.CommonFilterName);
$("#" + select2id).empty();
function searchTree(obj, val) {
if (obj.id == val) {
return obj;
}
else if (obj.inc != null) {
let result = null;
for (let i = 0; result == null && i < obj.inc.length; i++) {
result = searchTree(obj.inc[i], val);
}
return result;
}
return null;
}
for (let i = 0; i < instance.selectedCommonFilters.length; i++) {
const filter = instance.selectedCommonFilters[i];
if (filter.CommonFilterId === commonFilterId) {
filter.Values.forEach((val) => {
for (let i = 0; i < treearr.length; i++) {
const obj = treearr[i];
const result = searchTree(obj, +val);
if (result != null) {
result.selected = 'true';
break;
}
}
});
break;
}
}
}
else {
$("#" + select2id).html('');
}
let id = $("#" + select2id);
id.select2ToTree({
treeData: { dataArr: treearr },
maximumSelectionLength: 0,
});
});
});
});
});
}
loadTreeView(commonfiltername, res) {
const instance = this;
const commonFilterId = res.CommonFilterId;
const postObj = instance.getCommonFilterTreePostData(res);
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilterTreeData(postObj).then(function (response) {
if (response.result != null) {
var res = JSON.parse(response.result).Data;
var data = JSON.parse(res);
var treearr = instance.getSelect2TreeData(data, commonfiltername);
let treeHtml = '';
const listParentEl = $(`#treeViewList_${commonFilterId}`);
function bindTreeItems(treearr, elementId, curLevel) {
for (let i = 0; i < treearr.length; i++) {
let obj = treearr[i];
treeHtml = `<li class="tree-view-item ${listParentEl.parents('.biz-cmn-filter-panel').length ? 'col-12' : 'col-lg-4 col-sm-6'} pl-35 level-${curLevel}" id="treeViewItem_${commonFilterId}_${obj.id}"><span class="d-flex align-items-center tree-item-collapse-span" id="treeItemCollapseSpan_${commonFilterId}_${obj.id}"><input type="checkbox" name="tree-item-${commonFilterId}-chk" class="tree-item-chk cursor-pointer" value="${obj.id}" id="treeItem_${commonFilterId}_${obj.id}_chk" data-text="${obj.text}"><label class="tree-item-label opacity-100 ml-1 mb-0 cursor-pointer" for="treeItem_${commonFilterId}_${obj.id}_chk" id="treeItemLabel_${commonFilterId}_${obj.id}" data-itemid="${obj.id}">${obj.text}</label></span></li>`;
elementId.append(treeHtml);
if ('inc' in obj && obj.inc != undefined) {
elementId.find(`#treeViewItem_${commonFilterId}_${obj.id}`).append(`<ul class="tree-view-childlist collapse ml-10" id="treeViewChildList_${commonFilterId}_${obj.id}"></ul>`).removeClass('pl-35');
elementId.find(`#treeItemCollapseSpan_${commonFilterId}_${obj.id}`).prepend(`<i class="dripicons dripicons-chevron-right tree-collapse-icon mr-1" data-itemid="${obj.id}"></i>`).find(`#treeItemLabel_${commonFilterId}_${obj.id}`).removeAttr('for');
bindTreeItems(obj.inc, elementId.find(`#treeViewChildList_${commonFilterId}_${obj.id}`), curLevel + 1);
elementId.find('.tree-view-item').not('.level-1').removeClass('col-lg-4 col-sm-6 pl-35').addClass('pl-10');
}
}
}
bindTreeItems(treearr, listParentEl, 1);
$(`#treeViewLink_${commonFilterId}`).click(function () {
if (listParentEl.hasClass('show')) {
$(this).removeClass('collapsed');
}
else {
$(this).addClass('collapsed');
}
listParentEl.collapse('toggle');
});
listParentEl.find('.tree-item-label,.tree-collapse-icon').click(function () {
const itemId = $(this).attr('data-itemid');
if ($(`#treeViewChildList_${commonFilterId}_${itemId}`).hasClass('show')) {
$(`#treeItemCollapseSpan_${commonFilterId}_${itemId}`).removeClass('collapsed');
}
else {
$(`#treeItemCollapseSpan_${commonFilterId}_${itemId}`).addClass('collapsed');
}
$(`#treeViewChildList_${commonFilterId}_${itemId}`).collapse('toggle');
});
const selectedFilter = instance.selectedCommonFilters.find(e => e.CommonFilterId === commonFilterId);
if (selectedFilter) {
const selectedValues = selectedFilter.Values;
selectedValues.forEach((val, i) => {
$(`#treeViewList_${commonFilterId}`).find(`#treeItem_${commonFilterId}_${val}_chk`).prop('checked', true).parent('.tree-item-collapse-span').addClass('collapsed').parents('.tree-view-childlist').addClass('show');
});
if (selectedValues.length) {
$(`#treeViewLink_${commonFilterId}`).addClass('collapsed');
$(`#treeViewList_${commonFilterId}`).addClass('show');
}
}
}
});
}
loadSelect2(select2id, isMultiselect, res) {
var instance = this;
var data = [];
var Ids = 0;
var value = null;
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/commonfiltercolumndata';
$("#" + select2id).select2({
multiple: isMultiselect,
allowClear: true,
data: data,
ajax: {
url: function (request) {
var reqUrl = url;
return reqUrl;
},
contentType: 'application/json',
type: "POST",
delay: 250,
data: function (params) {
var parentCol = instance.cascadingFilters.find(cf => cf.ChildColumn == res.ValueColumn);
if (parentCol)
$("#commonfilter_" + res.CommonFilterName + "_" + res.TextColumn).val(Ids).trigger('change');
if (res.ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
if (instance.cascadingFilters.length > 0) {
var casFil = instance.cascadingFilters.find(cf => cf.ChildColumn == res.ValueColumn);
if (casFil)
value = casFil.Value;
}
}
let encoded_term = (params.term) ? btoa(params.term) : "";
var obj = {
DataListId: res.DataListId,
TextColumn: res.TextColumn,
ValueColumn: res.ValueColumn,
ParentColumn: res.ParentColumn,
CascadingParentColumn: res.CascadingParentColumn,
ApplyFor: res.ApplyFor,
ControlTypeId: res.ControlTypeId,
CasCadingValue: value,
term: encoded_term,
authToken: userinfo.sessionId,
};
return JSON.stringify(obj);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
var selectData = [];
if (data && data.result) {
var result = JSON.parse(data.result);
if (result.Data != "") {
var Data = JSON.parse(result.Data);
for (var i = 0; i < Data.length; i++) {
selectData.push({
id: Data[i][res.ValueColumn],
text: Data[i][res.TextColumn]
});
}
;
}
}
else {
selectData.push({ id: 123456, text: "No results found", disabled: true });
}
return { results: selectData };
}
},
templateResult: function (item) { return item.text; },
templateSelection: function (item) { return item.text; },
}).on('select2:select', function (e) {
let value = e.params.data.id;
for (var c = 0; c < instance.getCommonFilters.length; c++) {
var casFil = instance.getCommonFilters[c];
if (casFil.CascadingParentColumn == res.ValueColumn) {
var fil = { CascadingParentColumn: casFil.CascadingParentColumn, ChildColumn: casFil.ValueColumn, Value: value.toString(), CommonFilterId: casFil.CommonFilterId };
if (instance.cascadingFilters.length > 0) {
var index = instance.cascadingFilters.findIndex(f => f.ChildColumn == casFil.ValueColumn);
if (index > -1) {
instance.cascadingFilters.splice(index, 1);
}
}
instance.cascadingFilters.push(fil);
if (casFil.ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.select2tree) {
let child_select2id = "commonfilter_" + casFil.CommonFilterName + "_" + casFil.TextColumn;
instance.loadSelect2TreeView(child_select2id, casFil);
}
}
}
}).on('select2:open', function (e) {
const dropdownEl = $(this).data('select2').dropdown.$dropdown;
dropdownEl.off('click').click(function (e) {
e.stopPropagation();
});
dropdownEl.on('click', '.select2-search--dropdown,.select2-search__field', function (e) {
e.stopPropagation();
});
}).on('select2:clear', function (e) {
for (var sc = 0; sc < instance.cascadingFilters.length; sc++) {
var casFil = instance.cascadingFilters[sc];
if (casFil.CascadingParentColumn == res.ValueColumn) {
instance.cascadingFilters.splice(sc, 1);
sc--;
}
var cmnFil = instance.getCommonFilters.find(c => c.CommonFilterId == casFil.CommonFilterId);
if (cmnFil)
instance.loadSelect2TreeView("commonfilter_" + cmnFil.CommonFilterName + "_" + cmnFil.TextColumn, cmnFil);
}
});
$("#" + select2id).val(Ids).trigger('change');
}
loadAutoComplete(datalistid, textcolumn, select2id, rowindex) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/commonfiltersautocomplete/datalistid/' + datalistid + '/textcolumn/' + textcolumn;
AutoCompleteHelper.getHelper().Create("#" + select2id, "#hf_filtercolumn_" + rowindex, url, null);
}
loadDropDownList(response, select2id, res, instance) {
var drpdata = '';
var Data = JSON.parse(response.Data);
for (let i = 0; i < Data.length; i++) {
drpdata += '<option value="' + Data[i][res.ValueColumn.trim()] + '" columnvalue="">' + Data[i][res.TextColumn.trim()] + '</option>';
}
$("#" + select2id).append(drpdata);
}
filterDuplicatesInArr(arr, key) {
let values = {};
return arr.filter(function (item) {
let val = item[key];
let exists = values[val];
values[val] = true;
return !exists;
});
}
clearCommonFilter(containerid) {
var instance = this;
const filteredArr = instance.filterDuplicatesInArr(instance.appliedFilters, 'WidgetId');
for (var i = 0; i < filteredArr.length; i++) {
var Fill = instance.appliedFilters[i];
$(`#commonfilter_${Fill.CommonFilterName}_${Fill.TextColumn}`).val('Select').trigger('change');
instance.getWidgetFilteredData(Fill.WidgetId, []);
}
instance.appliedFilters = [];
instance.selectedCommonFilters = [];
$(`#bizCmnFilterDp_${containerid}`).removeClass('show');
$(`#dbHeaderRight`).trigger('hide.bs.dropdown');
if (containerid.includes('CmnFilterPanel')) {
const portleId = Number($("#hf_PortletId").val());
instance.commonFilter(portleId, containerid);
}
}
_applycommonfilter(portletid, portletname, containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.navigationHelper.showLoading();
var controlType = Unibase.Platform.Analytics.Enums.ControlType;
$(`#bizCmnFilterDp_${containerid}`).removeClass('show');
$(`#dbHeaderRight`).trigger('hide.bs.dropdown');
const previousAppliedFilters = instance.appliedFilters;
instance.appliedFilters = [];
var Params = [];
instance.selectedCommonFilters = [];
for (var i = 0; i < instance.commonfilter.length; i++) {
var fil = instance.commonfilter[i];
var values = [];
var filtercolumn = "";
var filterTxt = "";
var formula = "";
fil.CommonFilterName = fil.CommonFilterName.replaceAll(" ", "_");
if (instance.commonfilter[i].ControlTypeId == controlType.textbox) {
filtercolumn = $(`#txtboxcolumn${containerid}_${fil.CommonFilterId}`).val();
filterTxt = $(`#txtboxcolumn${containerid}_${fil.CommonFilterId}`).data("textcolumn");
}
else if (instance.commonfilter[i].ControlTypeId == controlType.select2tree || instance.commonfilter[i].ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.select2) {
filterTxt = [];
values = $("#commonfilter_" + fil.CommonFilterName + "_" + fil.TextColumn).val();
$("#commonfilter_" + fil.CommonFilterName + "_" + fil.TextColumn).select2('data').forEach((obj) => {
filterTxt.push(obj.text);
});
}
else if (instance.commonfilter[i].ControlTypeId == controlType.tree) {
filterTxt = [];
values = [];
$(`#treeViewList_${fil.CommonFilterId}`).find(`.tree-item-chk:checked`).each(function (i, e) {
filterTxt.push($(e).attr('data-text'));
values.push($(e).val());
});
}
else if (instance.commonfilter[i].ControlTypeId == controlType.formula) {
formula = $(`#commonfilterFormulaDDl_${fil.CommonFilterId}`).val();
}
else {
filtercolumn = $("option:selected", "#commonfilter_" + fil.CommonFilterName + "_" + fil.TextColumn).val();
filterTxt = $("option:selected", "#commonfilter_" + fil.CommonFilterName + "_" + fil.TextColumn).text();
}
instance.commonfilterColumns = [];
yield instance.commonFilterColumnsByCommonFilterId(fil.CommonFilterId, containerid);
if (filtercolumn != undefined && filtercolumn != "" && filterTxt.length != 0 && filterTxt != "" || values.length > 0 || formula != "" && formula != "0") {
instance.selectedCommonFilters.push({ Text: filterTxt, Value: filtercolumn, Values: values, Formula: formula, ControlType: instance.commonfilter[i].ControlTypeId, CommonFilterId: fil.CommonFilterId, CommonFilterName: fil.CommonFilterName, TextColumn: fil.TextColumn });
for (var cc = 0; cc < instance.commonfilterColumns.length; cc++) {
let filCol = instance.commonfilterColumns[cc];
if (instance.commonfilter[i].ControlTypeId == controlType.formula || filtercolumn != "Select" && filtercolumn != undefined && filtercolumn != '' && filCol != undefined && filCol != '' || values.length > 0) {
var index = instance.appliedFilters.findIndex(x => x.WidgetId == filCol.WidgetId);
Params = [];
if (index > -1) {
Params = instance.appliedFilters[index].AutocompleteFilter;
}
var parfill = Params.find(x => x.ParameterName == filCol.MappedColumn) ? true : false;
if (!parfill && filtercolumn || values.length > 0 || instance.commonfilter[i].ControlTypeId == controlType.formula) {
Params.push({
ParameterName: filCol.MappedColumn,
ParameterValue: filtercolumn,
ParameterValues: values,
ExpOp: filCol.ExpOptId,
Formula: formula
});
}
if (index > -1) {
instance.appliedFilters[index].AutocompleteFilter = Params;
}
else {
if (Params.length > 0) {
instance.appliedFilters.push({
WidgetId: filCol.WidgetId,
AutocompleteFilter: Params,
TextColumn: fil.TextColumn,
Formula: formula
});
}
else {
yield instance.getWidgetFilteredData(filCol.WidgetId, null);
}
}
}
}
}
}
if (instance.appliedFilters.length) {
for (var i = 0; i < instance.appliedFilters.length; i++) {
if (instance.appliedFilters[i].WidgetId) {
yield instance.getWidgetFilteredData(instance.appliedFilters[i].WidgetId, instance.appliedFilters[i].AutocompleteFilter);
if (i + 1 == instance.appliedFilters.length)
instance.navigationHelper.hideLoading();
}
else if (i + 1 == instance.appliedFilters.length) {
instance.navigationHelper.hideLoading();
}
}
}
else if (previousAppliedFilters.length) {
const filtersArr = instance.filterDuplicatesInArr(previousAppliedFilters, 'WidgetId');
filtersArr.forEach((obj) => {
instance.getWidgetFilteredData(obj.WidgetId, []);
});
}
});
}
getWidgetFilteredData(widgetid, dynamicFilters) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
let portletId = Number($("#hf_PortletId").val());
yield Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidgetByWidgetIdAndPortletId(portletId, widgetid).then(function (response) {
var result = response.result;
instance.fileCacheHelper.loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
return __awaiter(this, void 0, void 0, function* () {
var portletwidgetid = result.PortletWidgetId;
let containerid = "div_dashboardportletwidget_" + portletwidgetid;
let inputParameters = [];
Unibase.Themes.Compact.Components.ReportWidgets.Default.Instance().getReportWidget(portletwidgetid, widgetid, containerid, inputParameters, dynamicFilters, false, 0, true);
});
});
});
});
}
bindAppiledCommonFilters_old(containerid) {
var instance = this;
instance.selectedFilters = instance.filterDuplicatesInArr(instance.appliedFilters, 'CommonFilterId');
for (var i = 0; i < instance.selectedFilters.length; i++) {
let sFill = instance.selectedFilters[i];
if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.textbox) {
$("#txtboxcolumn" + containerid + "_" + sFill.CommonFilterId).val(sFill.SelectedValue);
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.select2) {
sFill.SelectedValues.forEach((val, i) => {
$(`#commonfilter_${sFill.CommonFilterName}_${sFill.TextColumn}`).append(`<option value="${val}" selected>${sFill.SelectedText[i]}</option>`).trigger('change.select2');
});
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.autocomplete || sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
const sFillAutocompleteFilter = instance.filterDuplicatesInArr(sFill.AutocompleteFilter, 'CommonFilterId');
sFillAutocompleteFilter.forEach((filter) => {
$(`#commonfilter_${filter.CommonFilterName}_${filter.TextColumn}`).append(`<option value="` + filter.SelectedValue + `" selected>` + filter.SelectedText + `</option>`).val(filter.SelectedValue);
});
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.formula) {
$(`#commonfilterFormulaDDl_${sFill.CommonFilterId}`).val(sFill.Formula);
}
}
}
bindAppliedCommonFilters(containerid) {
var instance = this;
for (var i = 0; i < instance.selectedCommonFilters.length; i++) {
let sFill = instance.selectedCommonFilters[i];
if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.textbox) {
$("#txtboxcolumn" + containerid + "_" + sFill.CommonFilterId).val(sFill.SelectedValue);
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.select2) {
sFill.Values.forEach((val, i) => {
$(`#commonfilter_${sFill.CommonFilterName}_${sFill.TextColumn}`).append(`<option value="${val}" selected>${sFill.Text[i]}</option>`).trigger('change.select2');
});
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.autocomplete || sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
$(`#commonfilter_${sFill.CommonFilterName}_${sFill.TextColumn}`).append(`<option value="` + sFill.Value + `" selected>` + sFill.Text + `</option>`).val(sFill.Value).trigger('change.select2');
}
else if (sFill.ControlType == Unibase.Platform.Analytics.Enums.ControlType.formula) {
$(`#commonfilterFormulaDDl_${sFill.CommonFilterId}`).val(sFill.Formula);
}
}
}
exportCommonFilter() {
let commonFilterId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("_commonfilterid")).Value);
this.fileName = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("_commonfiltername")).Value;
if (commonFilterId) {
this.exportFilter(commonFilterId, 0);
}
else {
MessageHelper.Instance().showError("Common filter details not found", "div_message");
this.navigationHelper.hideLoading();
}
}
exportFilter(commonFilterId, portletId, dashboardName) {
this.navigationHelper.showLoading();
if (dashboardName)
this.fileName = dashboardName;
this._reportManager.exportCommonFilter(commonFilterId, portletId).then(res => {
if (res.status == Unibase.Data.Status.Error) {
this.navigationHelper.hideLoading();
this.fileName = "";
return MessageHelper.Instance().showError(res.message, "div_message");
}
else if (res.status == Unibase.Data.Status.Warning && !res.result && dashboardName) {
this.navigationHelper.hideLoading();
this.fileName = "";
return MessageHelper.Instance().showError("No common filters exists to export for this dashboard...!", "divBizgaze_MessagesPlaceholder");
}
var xmltext = res.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', this.getFileName());
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
this.fileName = "";
this.navigationHelper.hideLoading();
});
}
getFileName() {
if (this.fileName)
return this.fileName + ".xml";
else
return "AllCommonFilters.xml";
}
static Instance() {
if (this._instance === undefined)
this._instance = new _CommonFilter();
return this._instance;
}
}
Components._CommonFilter = _CommonFilter;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,461 @@
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 CommonFilter extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.Filter = [];
this.Index = 1;
this.WidgetReportId = 0;
this.PortletId = 0;
this.isEditForm = false;
this.commonFilterColumns = [];
this.widgetFilter = [];
}
init(formpropertyid, prop, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
this.reportManager = Analytics.Managers.ReportManager.Instance();
instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
let html_header = '<div class="FilterSection pull-right"><a id="btnFilterPlusClick" onclick ="Unibase.Platform.Analytics.Components.CommonFilter.Instance().loadFilterSection(' + prop.SectionId + ')"; class="btn btn-primary disabled text-white"><span class="mr-2">Add Widget</span></a></div>';
$("#section_" + prop.SectionId).append(html_header);
instance.fileCacheHelper.loadJsFile("platform/portlets/managers/portletmanager.js", function () {
return __awaiter(this, void 0, void 0, function* () {
$(".ddl_cascading_portletid").change(yield (function () {
return __awaiter(this, void 0, void 0, function* () {
instance.PortletId = Number($(".ddl_cascading_portletid option:selected").val());
if (instance.PortletId)
yield instance.loadWidgets(instance.Index, instance.PortletId);
});
}));
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length) {
yield $(".ddl_cascading_portletid").trigger("change");
}
});
});
if (Number($("#hf_pk_value").val()) == 0 && Number($("#hf_DashboardPortletId").val())) {
instance.PortletId = Number($("#hf_DashboardPortletId").val());
yield instance.loadWidgets(instance.Index, Number($("#hf_DashboardPortletId").val()));
}
if (Number($("#hf_pk_value").val()) != 0)
yield instance.editCommonFilterForm(Number($("#hf_pk_value").val()), prop.SectionId);
});
}
loadControl(containerid, prop) {
var instance = this;
var html = instance.filterSection(prop.SectionId);
$("#" + containerid).append(html);
instance.containerId = containerid;
instance.filterColumnsSorting(containerid);
}
filterColumnsSorting(containerid) {
const instance = this;
$(`#${containerid}`).sortable({
connectWith: `#${containerid}`,
cursor: 'move',
update: function () {
instance.updateFilterColumnIndex();
}
});
}
updateFilterColumnIndex() {
const instance = this;
const containerid = instance.containerId;
$(`#${containerid} .filter-section`).each(function (index, item) {
let columnId = Number($(item).attr('data-columnid'));
if (columnId) {
const column = instance.commonFilterColumns.find(c => c.CommonFilterColumnId == columnId);
if (column) {
column.Index = index + 1;
}
}
;
});
}
loadFilterSection(sectionid) {
var instance = this;
instance.Index++;
var html = instance.filterSection(sectionid);
$("#collapseSections_" + sectionid).find(".divCustomProperties_unibaseanalytics_commonfiltercolumns").append(html);
if (instance.Index > 0) {
$(".FilterSection_" + instance.Index).addClass('hidden');
}
instance.loadWidgets(instance.Index, instance.PortletId);
}
filterSection(sectionid) {
var instance = this;
let columnId = 0;
const filterColumn = instance.commonFilterColumns.find(c => c.Index == instance.Index);
if (filterColumn)
columnId = filterColumn.CommonFilterColumnId;
let html = `<div id="FilterSection_${instance.Index}" class="filter-section" data-columnid="${columnId}">
<div class="card pa-10">
<input type="hidden" id="hdn_customcontrol" class="value-control" value="Unibase.Platform.Analytics.Components.CommonFilter.Instance().getobj();">
<div class = "row">
<div class="col-sm-4"><div id="div_Widgets" class="floating-label-form-group-with-value"><label for="lbl" id="lbl_Widgets">Widgets<span class="text-danger"> *</span></label>` +
'<select id="Widget_AutoComplete_' + instance.Index + '" class="form-control text-control Widgets_AutoComplete_' + instance.Index + ' required" onchange ="Unibase.Platform.Analytics.Components.CommonFilter.Instance().loadWidgetColumns(' + instance.Index + ')" style="width: 100% "><option value="0" selected="">Select Widget</option></select><input type="hidden" id="hfAutoComplete_Widget" class="hfAutoCompleteId_Widget form - control value - control" data-isdynamic="true"/>' +
'</div></div>' +
'<div class="col-sm-4"><div class="floating-label-form-group floating-label-form-group-with-value focus"><label for="lblOperator">Operators <span class="text-danger"> *</span></label>' +
'<select id="cmbCfOperator_' + instance.Index + '" style="width:100%" class="form-control CommonFilterOperator value-control required floating-label-control ui-autocomplete-input" data-isdynamic="false" placeholder="Select Operator*" data-placeholder="Select Operator" data-label="Select Operator*" autocomplete="off">' +
'<option value="0">-Select-</option>' +
'<option value="1">Equals</option>' +
'<option value="2">NotEquals</option>' +
'<option value="3">EqualsColumn</option>' +
'<option value="4">NotEqualsColumn</option>' +
'<option value="5">GreaterThan</option>' +
'<option value="6">GreaterThanOrEquals</option>' +
'<option value="7">LessThan</option>' +
'<option value="8">LessThanOrEquals</option>' +
'<option value="9">GreaterThanColumn</option>' +
'<option value="10">GreaterThanOrEqualsColumn</option>' +
'<option value="11">LessThanColumn</option>' +
'<option value="12">LessThanOrEqualsColumn</option>' +
'<option value="13">Empty</option>' +
'<option value="14">NotEmpty</option>' +
'<option value="15">Contains</option>' +
'<option value="16">DoesNotContains</option>' +
'<option value="17">StartsWith</option>' +
'<option value="18">EndsWith</option>' +
'<option value="19">In</option>' +
'<option value="20">NotIn</option>' +
'<option value="21">Between</option>' +
'<option value="22">NotBetween</option>' +
'<option value="23">Date</option>' +
'</select>' +
'</div></div>' +
'<div class="col-sm-4" id="div_WidgetColumns"><div class="floating-label-form-group-with-value"><label for="lbl" id="lbl_WidgetColumns">Mapped Columns<span class="text-danger hidden"> *</span></label>' +
'<select id = "WidgetColumns_Select_' + instance.Index + '" class="form-control text-control WidgetColumns_Select required" style = "width:100%"><option value="0" selected = "">Select Widget Column</option></select>' +
'</div></div>' +
'<a id="RemoveSubFilterSection_' + instance.Index + '" class="m-2 position-absolute r-0 t-0" onclick ="Unibase.Platform.Analytics.Components.CommonFilter.Instance().RemoveFilterSection(' + instance.Index + ',' + sectionid + ')" style="cursor:pointer"><i class="fa fa-times" id="RemoveFilter_' + instance.Index + '"></i></a>' +
'</div>' +
'</div></div></div>';
return html;
}
loadWidgets(index, Portletid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortletWidgets(Portletid, 0).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
var data = [{ id: 0, text: "-- Select Widget --" }];
var widgetcols = response.result;
for (let i = 0; i < widgetcols.length; i++) {
data.push({ id: widgetcols[i].WidgetId, text: widgetcols[i].WidgetName });
}
$("#Widget_AutoComplete_" + instance.Index).select2({
placeholder: 'Select Value columns',
data: data,
});
$("#Widget_AutoComplete_" + instance.Index).on('change', function () {
$("#FilterExp_" + instance.Index).html('');
for (let i = 0; i < instance.Filter.length; i++) {
if (instance.Index == instance.Filter[i].Index)
instance.Filter.splice(i, 1);
}
});
if (instance.isEditForm) {
let wfill = instance.widgetFilter;
$('#Widget_AutoComplete_' + wfill.Index).val(wfill.WidgetId).trigger('change');
$('#cmbCfOperator_' + wfill.Index).val(wfill.ExpOptId).trigger('change');
$("#Widget_AutoComplete_" + wfill.Index + " option:selected").val(wfill.WidgetId);
instance.loadWidgetColumns(wfill.Index);
}
$("#btnFilterPlusClick").removeClass("disabled");
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters && Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length) {
var commonfilterid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_commonfilterid").Value);
}
});
});
});
}
loadWidgetColumns(index) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var widgetid = Number($("#Widget_AutoComplete_" + index + " option:selected").val());
if (widgetid) {
yield Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(widgetid).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
var res = response.result;
if (res.ReportId) {
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportById(res.ReportId).then(function (rptres) {
return __awaiter(this, void 0, void 0, function* () {
if (rptres.result != null) {
yield instance.loadDataListColumns(index, rptres.result.DataListId, res.ReportId);
}
});
});
}
});
});
}
});
}
loadDataListColumns(index, datalistid, reportid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var datalistCols = [];
yield Unibase.Platform.DataSources.Managers.DataListManager.Instance().getdatalistcolumns(datalistid).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
if (response.result) {
var datalistColResponse = response.result;
for (var d = 0; d < datalistColResponse.length; d++) {
datalistCols.push({ id: datalistColResponse[d].AliasName, text: datalistColResponse[d].AliasName });
}
var customFilters = yield instance.getCustomFilters(reportid);
if (customFilters.length > 0)
datalistCols = datalistCols.concat(customFilters);
$("#WidgetColumns_Select_" + index).select2({
placeholder: 'Select Value columns',
data: datalistCols,
});
if (instance.isEditForm) {
let wfill = instance.commonFilterColumns.find(c => c.Index == index);
if (wfill) {
$('#WidgetColumns_Select_' + wfill.Index).val(wfill.MappedColumn).trigger('change');
}
}
}
});
});
});
}
loadReportColumns(index, reportId) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var reportdata = [];
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(reportId).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
if (response.result) {
var reportresponse = response.result;
for (var i = 0; i < reportresponse.length; i++) {
reportdata.push({ id: reportresponse[i].AliasName, text: reportresponse[i].AliasName });
}
var customFilters = yield instance.getCustomFilters(reportId);
if (customFilters.length > 0)
reportdata = reportdata.concat(customFilters);
$("#WidgetColumns_Select_" + index).select2({
placeholder: 'Select Value columns',
data: reportdata,
});
if (instance.isEditForm) {
let wfill = instance.commonFilterColumns.find(c => c.Index == index);
if (wfill) {
$('#WidgetColumns_Select_' + wfill.Index).val(wfill.MappedColumn).trigger('change');
}
}
}
});
});
});
}
getCustomFilters(reportId) {
return __awaiter(this, void 0, void 0, function* () {
var filters = [];
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportById(reportId).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
if (response.result) {
var datalistid = response.result.DataListId;
yield Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(datalistid).then(function (dlres) {
if (dlres.result) {
if (dlres.result.CustomFilters != null) {
if (dlres.result.CustomFilters) {
let customFilters = JSON.parse(dlres.result.CustomFilters);
for (var c = 0; c < customFilters.length; c++) {
let rules = JSON.parse(customFilters[c].Expression).rules;
for (var r = 0; r < rules.length; r++) {
filters.push({ id: rules[r].value, text: rules[r].value });
}
}
}
}
}
});
}
});
});
return filters;
});
}
getFilters() {
var instance = this;
$(`#${instance.containerId} .filter-section`).each(function (i) {
let idx = i + 1;
let cmn_filcol = instance.commonFilterColumns.find(cfc => cfc.Index == idx);
if (!cmn_filcol) {
let widgetId = Number($("#Widget_AutoComplete_" + idx).val());
let expOpId = Number($("#cmbCfOperator_" + idx).val());
let mappedColumn = $("#WidgetColumns_Select_" + idx + " option:selected").text();
if (widgetId != 0 && expOpId != 0 && mappedColumn != null) {
let filter = {
CommonFilterColumnId: (cmn_filcol) ? cmn_filcol.CommonFilterColumnId : 0,
WidgetId: widgetId,
ExpOptId: expOpId,
MappedColumn: mappedColumn,
Index: idx
};
if (cmn_filcol) {
var Index = instance.commonFilterColumns.findIndex(cfc => cfc.CommonFilterColumnId == cmn_filcol.CommonFilterColumnId);
if (Index > -1)
instance.commonFilterColumns.splice(Index, 1);
}
instance.commonFilterColumns.push(filter);
}
}
});
instance.Filter = instance.commonFilterColumns;
}
getobj() {
var instance = this;
instance.getFilters();
instance.Index = 1;
instance.commonFilterColumns = [];
instance.widgetFilter = [];
return instance.Filter;
}
addCommonFilter(data, i) {
var instance = this;
let _filter = {
CommonFilterColumnId: data.CommonFilterColumnId,
WidgetId: data.WidgetId,
ExpOptId: data.ExpOptId,
MappedColumn: data.MappedColumn,
Index: i + 1
};
instance.commonFilterColumns.push(_filter);
return _filter;
}
editCommonFilterForm(id, sectionId) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.commonFilterColumns = [];
instance.isEditForm = true;
instance.PortletId = Number($("#hf_DashboardPortletId").val());
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getCommonFilterColumnsByCommonFilterId(id).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
if (response.length != 0) {
let data = response;
data = data.sort((a, b) => { return a.Index - b.Index; });
for (let i = 0; i < data.length; i++) {
var _filter = instance.addCommonFilter(data[i], i);
instance.widgetFilter = [];
instance.widgetFilter = _filter;
if (i >= 1) {
instance.loadFilterSection(sectionId);
}
else {
$('#FilterSection_1').attr('data-columnid', _filter.CommonFilterColumnId);
}
instance.Index = i + 1;
yield instance.loadWidgets(instance.Index, instance.PortletId);
$("#btnFilterPlusClick").removeClass("disabled");
}
}
else {
yield instance.loadWidgets(instance.Index, instance.PortletId);
}
});
});
});
}
RemoveFilterSection(index, sectionid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
$("#FilterSection_" + index).remove();
for (var c = 0; c < instance.Index; c++) {
let i = c + 1;
if (i === index) {
let idx = i + 1;
var parentDiv = $("#collapseSections_" + sectionid).find(".divCustomProperties_unibaseanalytics_commonfiltercolumns");
parentDiv.find("#FilterSection_" + idx).attr("id", "FilterSection_" + i);
parentDiv.find("#Widget_AutoComplete_" + idx).attr("id", "Widget_AutoComplete_" + i);
parentDiv.find(".Widget_AutoComplete_" + idx).attr("class", "Widget_AutoComplete_" + i);
parentDiv.find("Widget_AutoComplete_" + idx).attr("onclick", "Unibase.Platform.Analytics.Components.CommonFilter.Instance().loadWidgetColumns(" + i + ")");
parentDiv.find("#cmbCfOperator_" + idx).attr("id", "cmbCfOperator_" + i);
parentDiv.find("#WidgetColumns_Select_" + idx).attr("id", "WidgetColumns_Select_" + i);
parentDiv.find("#RemoveSubFilterSection_" + idx).attr("id", "RemoveSubFilterSection_" + i);
parentDiv.find("Widget_AutoComplete_" + idx).attr("onclick", "Unibase.Platform.Analytics.Components.CommonFilter.Instance().RemoveFilterSection(" + i + "," + sectionid + ")");
}
}
if (instance.commonFilterColumns.length > 0) {
let cmn_filcol = instance.commonFilterColumns.find(c => c.Index == index);
if (cmn_filcol) {
yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().deleteCommonFilterColumnId(cmn_filcol.CommonFilterColumnId).then(function (delresponse) {
return __awaiter(this, void 0, void 0, function* () {
MessageHelper.Instance().showSuccess(delresponse.message, '');
instance.updateFilterColumnIndex();
});
});
}
}
var Index = instance.commonFilterColumns.findIndex(cfc => cfc.Index == index);
if (Index > -1)
instance.commonFilterColumns.splice(Index, 1);
instance.Index--;
});
}
RemoveFilterExp(textCol, id) {
var instance = this;
$("." + id["id"] + "").empty();
var index = instance.Filter.findIndex(function (f) {
return (f.TextColumn === textCol);
});
if (index !== -1)
instance.Filter.splice(index, 1);
}
loadControlSettings(controlsettingjson, formpropertyid) {
return null;
}
loadPropertySettings(propertysettings, formpropertyid) {
return null;
}
bindEditFormDetails() {
}
deleteCommonFilter() {
return __awaiter(this, void 0, void 0, function* () {
bootbox.confirm("Are you sure you want delete this common filter ?", (result) => __awaiter(this, void 0, void 0, function* () {
if (result) {
let commonFilterId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("_commonfilterid")).Value;
if (commonFilterId) {
Unibase.Platform.Analytics.Managers.ReportManager.Instance().deleteCommonFilter(Number(commonFilterId)).then(delresponse => {
if (delresponse.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(delresponse.message, "");
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Unibase_Platform_Analytics_CommonFilter_App_CommonFilter").then((response) => {
if (response.status == Unibase.Data.Status.Success)
Unibase.Themes.Compact.Components.Nav.Instance().loadList(response.result.InstalledAppId);
});
}
else {
MessageHelper.Instance().showError(delresponse.message, 'div_ErrorMessage');
}
});
}
}
}));
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new CommonFilter();
}
return this.instance;
}
}
Components.CommonFilter = CommonFilter;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,41 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class CommonFilter_Setting {
loadSettingHtml() {
return ``;
}
bindControlData(controldatajson) {
return "";
}
SaveControlData(controldatajson) {
return "";
}
loadControlPropertiesHtml(Container) {
return "";
}
bindPropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
savePropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
static Instance() {
if (this.instance === undefined) {
this.instance = new CommonFilter_Setting();
}
return this.instance;
}
}
Components.CommonFilter_Setting = CommonFilter_Setting;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"commonfilter.setting.js","sourceRoot":"","sources":["commonfilter.setting.ts"],"names":[],"mappings":"AAEA,IAAU,OAAO,CAuChB;AAvCD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAqC5B;IArCG,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAmC7B;QAnCG,WAAiB,SAAS;YACtB,IAAiB,UAAU,CAiC9B;YAjCG,WAAiB,UAAU;gBACvB,MAAa,oBAAoB;oBACjC,eAAe;wBACX,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,yBAAyB,CAAC,SAAS;wBAC/B,OAAO,EAAE,CAAC;oBAEd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBAID,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;yBAC9C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA/BgB,+BAAoB,uBA+BpC,CAAA;YACL,CAAC,EAjCoB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QAiC9B;QACL,CAAC,EAnCoB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAmC7B;IACL,CAAC,EArCoB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAqC5B;AACD,CAAC,EAvCS,OAAO,KAAP,OAAO,QAuChB"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{loadSettingHtml(){return``}bindControlData(){return""}SaveControlData(){return""}loadControlPropertiesHtml(){return""}bindPropertySettings(n){var t=n.PropertySettings;return""}savePropertySettings(n){var t=n.PropertySettings;return""}static Instance(){return this.instance===undefined&&(this.instance=new t),this.instance}}n.CommonFilter_Setting=t})(t=n.Components||(n.Components={}))})(t=n.Analytics||(n.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,754 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class FilterPanel extends Platform.Core.BaseComponent {
constructor() {
super();
this.serverFormat = "YYYY/MM/DD";
this._unibase_dateFormat = "DD/MM/YYYY";
this.dateFilters = [];
this.isPartition = false;
this.selectedDates = [];
this._dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
}
jsFiles() {
var jsfiles = ["platform/core/helpers/datetimehelper/datetimehelper.js"];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div>
<input type="hidden" id="hfBizgaze_CompareFromDate" />
<input type="hidden" id="hfBizgaze_CompareToDate" />
<input type="hidden" id="hfBizgaze_RFilterDate"/>
<input type="hidden" id="hfBizgaze_CFilterDate"/>
<div class="settings-panel-wrap">
<div class="settings-panel-head text-right p-2 hidden">
<a href="javascript:void(0);" id="filter_panel_close" class="settings-panel-close"><i class="ti-close"></i></a>
</div>
<div class="row">
<div class="form-inline">
<h6 class="col-12 text-white mb-2">Report</h6>
<div class="form-group col-12">
<input class="form-control ml-10" type="text" id="report-daterange" />
</div>
</div>
</div>
<div class="row">
<div class="form-inline hidden">
<h6 class="col-12 text-white mb-2">Compare</h6>
<div class="form-group col-12">
<input class="form-control ml-10" type="text" id="compare-daterange" />
</div>
</div>
</div>
</div>
<div id="_report_filter_container"></div>
<footer id="_report_filter_buttons" style="position: fixed;left:auto;right:auto;bottom:0;" class="modal-footer pa-10"></footer>
</div>
</div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
var width = $("#hk-filter-panel").width();
$("#_report_filter_buttons").css("width", width);
var fDate = null;
var tDate = null;
if (instance.isPartition) {
fDate = instance._dateTimeHelper.formatLocalDateformat(new Date(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionFromDate), "YYYY/MM/DD");
tDate = instance._dateTimeHelper.formatLocalDateformat(new Date(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionToDate), "YYYY/MM/DD");
}
else {
let currentUser = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let _fromDate, _toDate;
var sd = instance.selectedDates.find(s => s.Id == id);
if (!currentUser.globalDateRangeTypeId) {
currentUser.globalDateRangeTypeId = Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear;
}
let dateRange = this.getDateRangeString(currentUser.globalDateRangeTypeId);
if (sd) {
dateRange = sd.SelectedRangeKey;
}
$("#hfBizgaze_RFilterDate" + containerid + '_' + id).val(dateRange);
$(`#cmnDateRangeSelect_${containerid}-${id}`).val(dateRange);
if (currentUser.fromDate.includes("0001")) {
let { fromDate, toDate } = this.getFIY();
_fromDate = this._dateTimeHelper.formatLocalDate1(fromDate.toString(), 'YYYY-MM-DDThh:mm:ss') + 'Z';
_toDate = this._dateTimeHelper.formatLocalDate1(toDate.toString(), 'YYYY-MM-DDThh:mm:ss') + 'Z';
currentUser.fromDate = _fromDate;
currentUser.toDate = _toDate;
}
else if (dateRange.toLowerCase().includes("custom range")) {
_fromDate = currentUser.fromDate;
_toDate = currentUser.toDate;
}
else {
let dates = this.getFromDateAndToDateByDateRange(dateRange, false, "", "");
_fromDate = dates.fromDate.format();
_toDate = dates.toDate.format('yyyy-MM-DD') + 'T00:00:00+05:30';
}
let formattedFromDate = instance._dateTimeHelper.formatLocalDateTime(_fromDate).split(" ")[0];
let formattedToDate = instance._dateTimeHelper.formatLocalDateTime(_toDate).split(" ")[0];
let serverFromDate = instance._dateTimeHelper.formatServerDate(formattedFromDate);
let serverToDate = instance._dateTimeHelper.formatServerDate(formattedToDate);
$(`#hfBizgaze_ReportFromDate${containerid}_${id}`).val(serverFromDate);
$(`#hfBizgaze_ReportToDate${containerid}_${id}`).val(serverToDate);
if (id == '0') {
$(".CommonFilter_FromDate").val(formattedFromDate);
$(".CommonFilter_ToDate").val(formattedToDate);
Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate = serverFromDate;
Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate = serverToDate;
}
instance.SetRange(containerid, id);
}
Unibase.Platform.Analytics.Components.ReportViewer.Instance().dateFilters = instance.dateFilters;
if (callback && id != '0')
instance.addSelectedDateRange(id, containerid, callback);
if (instance.selectedDates.length > 0) {
instance.selectedDates.map(function (f) {
if (f.containerid != containerid && !f.containerid.includes('CmnDateFilter') && !containerid.includes('CmnDateFilter')) {
let dIndex = instance.selectedDates.findIndex(s => s.Id == id);
if (dIndex > -1)
instance.selectedDates.splice(dIndex, 1);
}
});
var sd = instance.selectedDates.find(s => s.Id == id);
if (sd) {
$("#report-daterange" + containerid + '-' + id).val(sd.DateRange);
$("#hfBizgaze_FromDate" + containerid + '_' + id).val(sd.FromDate);
$("#hfBizgaze_ToDate" + containerid + '_' + id).val(sd.ToDate);
$("#hfBizgaze_RFilterDate" + containerid + '_' + id).val(sd.SelectedRangeKey);
}
}
$("#report-daterange" + containerid + '-' + id).change(function (e) {
instance.onChangeDateRange(containerid, id, callback);
$('#report-daterange' + containerid + '-' + id).on('apply.daterangepicker', function (ev, picker) {
instance.onApplyDateRange(containerid, id);
if ($(`#biz-filter-dropdown${containerid}`).length)
instance.dateRangeShowEvent(containerid, id);
});
});
$("#report-daterange" + containerid + '-' + id).keypress(function (e) {
var x = e.which || e.keyCode;
if ((x >= 45 && x <= 57) || x == 32) {
return true;
}
else if (x == 13) {
$(this).trigger('change');
$(this).trigger('apply.daterangepicker');
}
else {
return false;
}
});
instance.dateRangeShowEvent(containerid, id);
if (containerid.includes('_navCmnDateFilter')) {
$('#report-daterange_navCmnDateFilter-0').on('hide.daterangepicker,cancel.daterangepicker', function () {
$('#navCmnDateFilterDp,#dynamic-filters_navCmnDateFilter').removeClass('show right-sunbnav-active');
});
}
if (instance.isMobileDatePicker(containerid)) {
const containerIdWithPortletId = containerid + '-' + id;
const containerIdWith_PortletId = containerid + '_' + id;
const cmnDateRangeEls = $(`#cmnFromDateRange_${containerIdWithPortletId},#cmnToDateRange_${containerIdWithPortletId}`);
$(`#cmnDateRangeSelect_${containerIdWithPortletId}`).change(function () {
$(`#hfBizgaze_RFilterDate${containerIdWith_PortletId}`).val($(this).val());
instance.SetRange(containerid, id);
instance.onChangeDateRange(containerid, id, null);
if ($(this).val() !== 'Custom Range') {
instance.onApplyDateRange(containerid, id);
}
});
$('#bizCmnDateFilterModal').off('apply.daterangepicker').on('apply.daterangepicker', cmnDateRangeEls, function () {
$(`#cmnDateRangeSelect_${containerIdWithPortletId}`).val('Custom Range');
$('#bizCmnDateFilterModal .modal-footer').removeClass('d-none');
});
$(`#cmnDateRangeApply_${containerIdWithPortletId}`).click(function (event) {
let fromDate = $(`#cmnFromDateRange_${containerIdWithPortletId}`).val();
let toDate = $(`#cmnToDateRange_${containerIdWithPortletId}`).val();
fromDate = instance._dateTimeHelper.formatServerDate(fromDate.trim());
toDate = instance._dateTimeHelper.formatServerDate(toDate.trim());
if (moment(fromDate).isSameOrAfter(toDate)) {
MessageHelper.Instance().showError('From date cannot be greater!', 'cmnDateFilterModalErrMsg');
return;
}
instance.onChangeDateRange(containerid, id, null, event);
instance.onApplyDateRange(containerid, id);
});
}
}
isMobileDatePicker(containerid) {
if (!Unibase.Themes.Compact.Components.Index.Instance().desktopMode && containerid.includes('CmnDateFilter')) {
return true;
}
return false;
}
onChangeDateRange(containerid, id, callback, event) {
const instance = this;
this.filterRange = this.getDateFilterRange(containerid, id);
$("#hfBizgaze_RFilterDate" + containerid + '_' + id).val(this.filterRange);
$(".daterange-cross-icon" + containerid + '_' + id).removeClass("hidden");
const { fromDate, toDate } = instance.getFromDateToDate(containerid, id);
$('#hfBizgaze_FromDate' + containerid + '_' + id).val(fromDate);
$('#hfBizgaze_ToDate' + containerid + '_' + id).val(toDate);
id != '0' && instance.addSelectedDateRange(id, containerid, callback);
if (this.filterRange != "Custom Range") {
if (id != 0) {
Unibase.Platform.Analytics.Components.ReportViewer.Instance().changeDateFilters(id, containerid);
}
if (instance.isMobileDatePicker(containerid)) {
$('#bizCmnDateFilterModal .modal-footer').addClass('d-none');
}
else {
instance.SetRange(containerid, id);
}
}
else {
if (instance.isMobileDatePicker(containerid)) {
let isApplyClicked = false;
if (event) {
isApplyClicked = $(event.currentTarget).attr('id').includes('cmnDateRangeApply_');
}
if (!isApplyClicked) {
$(`#cmnFromDateRange_${containerid + '-' + id}`).trigger('click');
$('#bizCmnDateFilterModal .modal-footer').removeClass('d-none');
}
}
}
}
getFromDateToDate(containerid, id) {
let range = $("#report-daterange" + containerid + '-' + id).val();
if (this.isMobileDatePicker(containerid)) {
range = $(`#cmnFromDateRange_${containerid + '-' + id}`).val() + '-' + $(`#cmnToDateRange_${containerid + '-' + id}`).val();
}
let date = range.split("-");
return { fromDate: this._dateTimeHelper.formatServerDate(date[0].trim()), toDate: this._dateTimeHelper.formatServerDate(date[1].trim()) };
}
getDateFilterRange(containerid, id) {
let filterdate = "";
if (!this.isMobileDatePicker(containerid)) {
var Rli = $(`#reportdatepicker_${containerid + '_' + id}`).find("ul");
if ($(Rli).find("li.active").data()) {
filterdate = $(Rli).find("li.active").data().rangeKey;
}
}
else {
filterdate = $(`#cmnDateRangeSelect_${containerid + '-' + id}`).val();
}
this.filterRange = filterdate;
return filterdate;
}
onApplyDateRange(containerid, id) {
const instance = this;
const navigationHelper = Unibase.Platform.Helpers.NavigationHelper;
if (id == "0") {
$('#hfBizgaze_FromDate' + containerid + '_' + id).val(navigationHelper.commonFilter_FromDate);
$('#hfBizgaze_ToDate' + containerid + '_' + id).val(navigationHelper.commonFilter_ToDate);
}
if (id != 0) {
Unibase.Platform.Analytics.Components.ReportViewer.Instance().changeDateFilters(id, containerid);
}
let sd = instance.selectedDates.find(s => s.Id == id);
if (sd) {
sd.IsDefault = false;
}
if (containerid.includes('CmnDateFilter')) {
let userInfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
const { fromDate, toDate } = instance.getFromDateToDate(containerid, id);
let _fromDate = this._dateTimeHelper.formatLocalDate1(fromDate, 'YYYY-MM-DD') + 'T00:00:00Z';
let _toDate = this._dateTimeHelper.formatLocalDate1(toDate, 'YYYY-MM-DD') + 'T00:00:00Z';
let rangeType = instance.getDateRangeType(this.filterRange);
let postObj = {
userid: userInfo.userId,
fromdate: _fromDate,
todate: _toDate,
DefaultFilterColumn: rangeType,
};
let currentUser = Unibase.Platform.Membership.Infos.Identity.currentUser;
currentUser.fromDate = _fromDate;
currentUser.toDate = _toDate;
currentUser.globalDateRangeTypeId = rangeType;
Unibase.Platform.Membership.Managers.AccountManager.Instance().updateUserDetails(postObj).then((res) => {
if (res.status == Unibase.Data.Status.Success) {
Unibase.Platform.Membership.Infos.Identity.setCurrentUser(currentUser);
const installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
if ($("#hf_DashboardPortletId").val() != undefined) {
Unibase.Themes.Compact.Components.Dashboard.Instance().loadWidgets($("#hf_DashboardPortletId").val(), $("#hf_DashboardPortletName").val());
}
else if ($("#hf_DashboardPortletId").val() == undefined && installedAppId == 0) {
const lastContainerId = navigationHelper.ModalContainerIds[navigationHelper.ModalContainerIds.length - 1];
const reportId = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(lastContainerId).ReportId;
instance.navigationHelper.closeAllModals();
let obj = Unibase.Platform.Analytics.Components.ReportViewer.Instance();
obj.InstalledAppId = Unibase.Themes.Compact.Components.List.Instance().InstalledAppId;
instance.navigationHelper.popin(reportId, "", obj, null);
}
else if (installedAppId != 0) {
$('#layout-detail-tabs').find('.tab-item a.active').trigger('click');
}
}
});
if (!instance.isMobileDatePicker(containerid)) {
if ($(this).parents('.biz-common-filter-dropdown').length > 0) {
$(`#filter_toggle_btn${containerid}`).dropdown('toggle');
}
if (containerid.includes('_modalCmnDateFilter')) {
instance.load('0', '_navCmnDateFilter', null);
}
$('#navCmnDateFilterDp,#dynamic-filters_navCmnDateFilter').removeClass('show right-sunbnav-active');
$('#settingsModal').modal('hide');
}
else {
$('#bizCmnDateFilterModal,#settingsModal').modal('hide');
}
}
}
dateRangeShowEvent(containerid, id) {
const instance = this;
$('#report-daterange' + containerid + '-' + id).on('show.daterangepicker', function (ev, picker) {
let rangePickerUl = picker.container.find('.ranges');
rangePickerUl.find('.active').removeClass('active');
var daterange = instance.selectedDates.find(s => s.Id == id);
if (daterange) {
let globalDate = instance.selectedDates.find(x => x.Id == "0");
if (globalDate && daterange.IsDefault)
rangePickerUl.find(`li[data-range-key='${globalDate.SelectedRangeKey}']`).addClass('active');
else
rangePickerUl.find(`li[data-range-key='${daterange.SelectedRangeKey}']`).addClass('active');
}
else {
let userInfo = Unibase.Platform.Membership.Infos.Identity.currentUser;
if (userInfo.globalDateRangeTypeId != undefined) {
rangePickerUl.find(`li[data-range-key='${instance.getDateRangeString(userInfo.globalDateRangeTypeId)}']`).addClass('active');
}
}
const pickerContainerEl = $(picker.container);
const leftPos = pickerContainerEl.offset().left;
rangePickerUl.find("li[data-range-key='Custom Range']").off('click').click((e) => {
if (pickerContainerEl.outerWidth(true) + leftPos < 710) {
pickerContainerEl.addClass('picker-fullwidth');
}
});
instance.setDateRangePickerHeight(picker);
});
}
setDateRangePickerHeight(picker) {
const pickerEl = picker.container;
const deductHeight = pickerEl.offset().top + 15;
const finalHeight = window.innerHeight - deductHeight;
pickerEl.css({ 'max-height': finalHeight, 'overflow': 'auto' }).attr('data-deductheight', deductHeight).addClass('biz-custom-scrollbar cmn-daterange-picker');
}
addSelectedDateRange(id, containerid, callback) {
const instance = this;
let range;
if (!instance.isMobileDatePicker(containerid)) {
range = $("#report-daterange" + containerid + '-' + id).val();
}
else {
range = $("#cmnFromDateRange_" + containerid + '-' + id).val() + '-' + $("#cmnToDateRange_" + containerid + '-' + id).val();
}
let date = range.split("-");
const fromDate = instance._dateTimeHelper.formatServerDate(date[0].trim());
const toDate = instance._dateTimeHelper.formatServerDate(date[1].trim());
let dIndex = instance.selectedDates.findIndex(s => s.Id == id);
if (dIndex > -1)
instance.selectedDates.splice(dIndex, 1);
instance.selectedDates.push({
FromDate: fromDate,
ToDate: toDate,
DateRange: range,
SelectedRangeKey: $("#hfBizgaze_RFilterDate" + containerid + '_' + id).val(),
Id: id,
containerid: containerid,
IsDefault: callback
});
if (id == "0") {
Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate = fromDate;
Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate = toDate;
}
}
SetRange(containerid, id) {
let dateRange = $("#hfBizgaze_CFilterDate").val();
let dates;
if (dateRange) {
dates = this.getFromDateAndToDateByDateRange(dateRange, false, containerid, id);
this.SetCompareDate(dates.fromDate, dates.toDate, containerid);
}
let dateRange_container = $("#hfBizgaze_RFilterDate" + containerid + '_' + id).val();
if (dateRange_container) {
dates = this.getFromDateAndToDateByDateRange(dateRange_container, true, containerid, id);
this.SetReportDate(dates.fromDate, dates.toDate, containerid, id);
}
}
SetCompareDate(FromDate, ToDate, containerid) {
var instance = this;
$("#hfBizgaze_CompareFromDate").val(FromDate.format(instance.serverFormat));
$("#hfBizgaze_CompareToDate").val(ToDate.format(instance.serverFormat));
var d = new Date();
var FiyYear = null;
if (d.getMonth() + 1 >= 4) {
FiyYear = [moment().startOf('year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(2, 'month').endOf('month')];
}
else {
FiyYear = [moment().startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')];
}
$("#compare-daterange").daterangepicker({
startDate: FromDate,
endDate: ToDate,
locale: {
format: instance._unibase_dateFormat
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
'YTD': [moment().startOf('year').startOf('month'), moment().startOf('year').add(11, 'month').endOf('month')],
'FIY Year': FiyYear
}
});
}
SetReportDate(FromDate, ToDate, containerid, id) {
var instance = this;
$("#hfBizgaze_FromDate" + containerid + '_' + id).val(FromDate.format(instance.serverFormat));
$("#hfBizgaze_ToDate" + containerid + '_' + id).val(ToDate.format(instance.serverFormat));
var d = new Date();
var FiyYear = null;
if (d.getMonth() + 1 >= 4) {
FiyYear = [moment().startOf('year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(2, 'month').endOf('month')];
}
else {
FiyYear = [moment().startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')];
}
var PFiyYear = null;
if (d.getMonth() + 1 >= 4) {
PFiyYear = [moment().subtract(1, 'year').startOf('year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(2, 'month').endOf('month')];
}
else {
PFiyYear = [moment().subtract(1, 'year').startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')];
}
if (!instance.isMobileDatePicker(containerid)) {
$("#report-daterange" + containerid + '-' + id).daterangepicker({
startDate: FromDate,
endDate: ToDate,
drops: 'down',
showDropdowns: true,
showWeekNumbers: true,
linkedCalendars: false,
locale: {
format: instance._unibase_dateFormat,
firstDay: 1
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
'This Quarter': [moment().startOf('quarter'), moment().endOf('quarter')],
'Last Quarter': [moment().subtract(1, 'quarter').startOf('quarter'), moment().subtract(1, 'quarter').endOf('quarter')],
'YTD': [moment().startOf('year').startOf('month'), moment().startOf('year').add(11, 'month').endOf('month')],
'Last Year': [[moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')][0], [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')][1]],
'FIY Year': FiyYear,
'PFIY Year': PFiyYear,
}
});
if ($(`div[id=reportdatepicker_${containerid + '_' + id}]`).length)
$(`div[id=reportdatepicker_${containerid + '_' + id}]`).remove();
$(".daterangepicker").last().attr("id", `reportdatepicker_${containerid + '_' + id}`);
}
else {
const containerIdWithId = containerid + '-' + id;
const fromDateRangeEl = $(`#cmnFromDateRange_${containerIdWithId}`);
const toDateRangeEl = $(`#cmnToDateRange_${containerIdWithId}`);
const initiateDateRangePicker = (el, startDate) => {
el.daterangepicker({
startDate: startDate,
singleDatePicker: true,
showDropdowns: true,
locale: {
format: instance._unibase_dateFormat,
firstDay: 1
},
});
};
initiateDateRangePicker(fromDateRangeEl, FromDate);
initiateDateRangePicker(toDateRangeEl, ToDate);
$(`.mobiledaterangepicker`).remove();
$(".daterangepicker").slice(-2).addClass(`mobiledaterangepicker`);
}
}
getDateRangeString(typeId) {
let range = "";
switch (typeId) {
case Unibase.Platform.Analytics.Enums.DateRangeType.Last7Days:
range = 'Last 7 Days';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.Last30Days:
range = 'Last 30 Days';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.ThisMonth:
range = 'This Month';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.LastMonth:
range = 'Last Month';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.ThisQuarter:
range = 'This Quarter';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.LastQuarter:
range = 'Last Quarter';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.YTD:
range = 'YTD';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.LastYear:
range = 'Last Year';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear:
range = 'FIY Year';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.PFiyYear:
range = 'PFIY Year';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.Today:
range = 'Today';
break;
case Unibase.Platform.Analytics.Enums.DateRangeType.Yesterday:
range = 'Yesterday';
break;
default:
range = 'Custom Range';
break;
}
return range;
}
getDateRangeType(range) {
let id = Unibase.Platform.Analytics.Enums.DateRangeType.CustomRange;
switch (range) {
case 'Last 7 Days':
id = Unibase.Platform.Analytics.Enums.DateRangeType.Last7Days;
break;
case 'Last 30 Days':
id = Unibase.Platform.Analytics.Enums.DateRangeType.Last30Days;
break;
case 'This Month':
id = Unibase.Platform.Analytics.Enums.DateRangeType.ThisMonth;
break;
case 'Last Month':
id = Unibase.Platform.Analytics.Enums.DateRangeType.LastMonth;
break;
case 'This Quarter':
id = Unibase.Platform.Analytics.Enums.DateRangeType.ThisQuarter;
break;
case 'Last Quarter':
id = Unibase.Platform.Analytics.Enums.DateRangeType.LastQuarter;
break;
case 'YTD':
id = Unibase.Platform.Analytics.Enums.DateRangeType.YTD;
break;
case 'Last Year':
id = Unibase.Platform.Analytics.Enums.DateRangeType.LastYear;
break;
case 'FIY Year':
id = Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear;
break;
case 'PFIY Year':
id = Unibase.Platform.Analytics.Enums.DateRangeType.PFiyYear;
break;
case 'Today':
id = Unibase.Platform.Analytics.Enums.DateRangeType.Today;
break;
case 'Yesterday':
id = Unibase.Platform.Analytics.Enums.DateRangeType.Yesterday;
break;
}
return id;
}
getYesterday() {
var dates = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
return { fromDate: dates[0], toDate: dates[1] };
}
getToday() {
var dates = [moment(), moment()];
return { fromDate: dates[0], toDate: dates[1] };
}
getLast7days() {
var dates = [moment().subtract(6, 'days'), moment()];
return { fromDate: dates[0], toDate: dates[1] };
}
getLast30days() {
var dates = [moment().subtract(29, 'days'), moment()];
return { fromDate: dates[0], toDate: dates[1] };
}
getThisMonth() {
var dates = [moment().startOf('month'), moment().endOf('month')];
return { fromDate: dates[0], toDate: dates[1] };
}
getLastMonth() {
var dates = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];
return { fromDate: dates[0], toDate: dates[1] };
}
getThisQuarter() {
var dates = [moment().startOf('quarter'), moment().endOf('quarter')];
return { fromDate: dates[0], toDate: dates[1] };
}
getLastQuarter() {
var dates = [moment().subtract(1, 'quarter').startOf('quarter'), moment().subtract(1, 'quarter').endOf('quarter')];
return { fromDate: dates[0], toDate: dates[1] };
}
getYTD() {
var dates = [moment().startOf('year').startOf('month'), moment().startOf('year').add(11, 'month').endOf('month')];
return { fromDate: dates[0], toDate: dates[1] };
}
getLastYear() {
var dates = [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')];
return { fromDate: dates[0], toDate: dates[1] };
}
getFIY() {
var d = new Date();
var FiyFromDate, FiyToDate;
if (d.getMonth() + 1 >= 4) {
FiyFromDate = [moment().startOf('year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(2, 'month').endOf('month')][0];
FiyToDate = [moment().startOf('year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(2, 'month').endOf('month')][1];
}
else {
FiyFromDate = [moment().startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')][0];
FiyToDate = [moment().startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')][1];
}
return { fromDate: FiyFromDate, toDate: FiyToDate };
}
getPFIY() {
var d = new Date();
var FiyFromDate, FiyToDate;
if (d.getMonth() + 1 >= 4) {
FiyFromDate = [moment().subtract(1, 'year').startOf('year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(2, 'month').endOf('month')][0];
FiyToDate = [moment().subtract(1, 'year').startOf('year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(2, 'month').endOf('month')][1];
}
else {
FiyFromDate = [moment().subtract(1, 'year').startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')][0];
FiyToDate = [moment().subtract(1, 'year').startOf('year').add(-1, 'year').add(3, 'month').startOf('month'), moment().subtract(1, 'year').add(1, 'year').startOf('year').add(-1, 'year').add(2, 'month').endOf('month')][1];
}
return { fromDate: FiyFromDate, toDate: FiyToDate };
}
getFromDateAndToDateByDateRange(dateRange, isContainer, containterId, id) {
let dates;
switch (dateRange.toLowerCase()) {
case 'yesterday':
dates = this.getYesterday();
break;
case 'today':
dates = this.getToday();
break;
case 'last 7 days':
dates = this.getLast7days();
break;
case 'last 30 days':
dates = this.getLast30days();
break;
case 'this month':
dates = this.getThisMonth();
break;
case 'last month':
dates = this.getLastMonth();
break;
case 'this quarter':
dates = this.getThisQuarter();
break;
case 'last quarter':
dates = this.getLastQuarter();
break;
case 'ytd':
dates = this.getYTD();
break;
case 'last year':
dates = this.getLastYear();
break;
case 'fiy year':
dates = this.getFIY();
break;
case 'pfiy year':
dates = this.getPFIY();
break;
case 'custom range':
case 'null':
dates = { fromDate: '', toDate: '' };
if (!isContainer) {
let FromDate = $("#hfBizgaze_CompareFromDate").val();
let ToDate = $("#hfBizgaze_CompareToDate").val();
var format = "YYYY/MM/DD";
if (FromDate == "" && ToDate == "") {
FromDate = moment().startOf('year').format(format);
ToDate = moment().endOf('year').format(format);
}
dates.fromDate = moment.utc(FromDate, format);
dates.toDate = moment.utc(ToDate, format);
}
else {
let FromDate = $("#hfBizgaze_ReportFromDate" + containterId + '_' + id).val();
let ToDate = $("#hfBizgaze_ReportToDate" + containterId + '_' + id).val();
var format = "YYYY/MM/DD";
if (FromDate == "" && ToDate == "") {
FromDate = moment().startOf('year').format(format);
ToDate = moment().endOf('year').format(format);
}
dates.fromDate = moment.utc();
dates.toDate = moment.utc();
if (this.dateFilters.length != 0) {
var date = this.dateFilters.find(d => d.ParameterValue == id);
if (date != null) {
dates.fromDate = moment.utc(date.FromDate, format);
dates.toDate = moment.utc(date.ToDate, format);
}
}
else {
dates.fromDate = moment.utc(FromDate, format);
dates.toDate = moment.utc(ToDate, format);
}
}
break;
default:
if (isContainer) {
$("#hfBizgaze_FromDate" + containterId + '_' + id).val(moment().startOf('year').format(this.serverFormat));
$("#hfBizgaze_ToDate_" + containterId + '_' + id).val(moment().endOf('year').format(this.serverFormat));
var _datetimehelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
_datetimehelper.dateRangePicker('#report-daterange' + containterId + '-' + id, function (start, end) {
$("#hfBizgaze_FromDate" + containterId + '_' + id).val(start.format(this.serverFormat));
$("#hfBizgaze_ToDate_" + containterId + '_' + id).val(end.format(this.serverFormat));
$(".daterangepicker").css("top", "100px").css("right", "100px").css("display", "block");
});
$("#hfBizgaze_CompareFromDate").val(moment().startOf('year').format(this.serverFormat));
$("#hfBizgaze_CompareToDate").val(moment().endOf('year').format(this.serverFormat));
_datetimehelper.dateRangePicker('#compare-daterange', function (start, end) {
$("#hfBizgaze_CompareFromDate").val(start.format(this.serverFormat));
$("#hfBizgaze_CompareToDate").val(end.format(this.serverFormat));
});
}
break;
}
return dates;
}
static Instance() {
if (this.instance === undefined) {
this.instance = new FilterPanel();
}
return this.instance;
}
}
Components.FilterPanel = FilterPanel;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"version":3,"file":"settingspanel.js","sourceRoot":"","sources":["settingspanel.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
{"version":3,"file":"ganttviewer.js","sourceRoot":"","sources":["ganttviewer.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
{"version":3,"file":"ganttviewer.settings.js","sourceRoot":"","sources":["ganttviewer.settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,190 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Viewers;
(function (Viewers) {
class MapViewer extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this.ViewerSettings = new Analytics.Providers.ViewerSettings();
}
loadView(reportresponse, reportid, MapViewId, page, pageSize, containerid, ViewerSettings, callback, reportwidgetdata) {
var instance = this;
var LatIdColumnName = "", LngIdColumnName = "", Template = "", HeaderTemplate = "", DetailTemplate = "", FooterTemplate = "";
instance.viewerManager.getMapView(MapViewId).then(function (response) {
var res = response.result;
LatIdColumnName = res.LatColumn;
LngIdColumnName = res.LngColumn;
Template = res.TemplateText;
HeaderTemplate = res.HeaderTemplateText;
DetailTemplate = res.DetailTemplateText;
FooterTemplate = res.FooterTemplateText;
let postdata = {
ReportId: reportid,
page: page,
pageSize: 50,
IsJson: true
};
$("#Table_View_" + containerid).removeClass("hidden");
instance.reportManager.getReportViewerData(postdata).then(function (mapresponse) {
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
var Lat_columns = [];
var Lng_columns = [];
var finalvalues = [];
var locations = [];
var contentString = [];
var response = JSON.parse(mapresponse.result);
var data = "";
if (response.Data)
data = JSON.parse(response.Data);
$("#ViewerFooter_" + containerid).removeClass("hidden");
if (!data) {
$("#Viewer_" + containerid + "").removeClass("hidden");
$("#Viewer_" + containerid + "").empty().append(`<div class='alert alert-primary text-center mb-0 border-0 w-100 font-14 rounded-0'>No data available</div>`);
return "";
}
data = Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(data);
let Tmplt_html = "";
let DetailTmplt_html = "";
var templateScript = Handlebars.compile(Template);
for (let i = 0; i < data.length; i++) {
let LatValue = data[i][LatIdColumnName.toLowerCase()];
let LngValue = data[i][LngIdColumnName.toLowerCase()];
let ContactId = data[i]["contactid"];
if ((jQuery.inArray(LatValue, Lat_columns) == -1) && (jQuery.inArray(LngValue, Lng_columns) == -1)) {
finalvalues.push({ LatValue: LatValue, LngValue: LngValue, ContactId: ContactId });
Lat_columns.push(LatValue);
Lng_columns.push(LngValue);
if (Template != "" && Template != null) {
Tmplt_html = templateScript(data[i]);
}
else {
Tmplt_html = "<strong> LatId: " + LatValue + ", LngId: " + LngValue + "</strong>";
}
contentString.push(Tmplt_html);
let html = `<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">` + DetailTemplate + `</div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div></div></div>`;
var DetailTemplateScript = Handlebars.compile(DetailTemplate);
DetailTmplt_html += DetailTemplateScript(data[i]);
}
else {
let index = 0;
for (var k = 0; k < finalvalues.length; k++) {
if ((finalvalues[k].LatValue == LatValue) && (finalvalues[k].LngValue == LngValue)) {
index = k;
}
}
contentString[index] = contentString[index] + templateScript(data[i]);
}
}
for (var f = 0; f < finalvalues.length; f++) {
if (finalvalues[f].LatValue != 0 && finalvalues[f].LngValue != 0) {
locations.push({ LatId: finalvalues[f].LatValue, LngId: finalvalues[f].LngValue, ContactId: finalvalues[f].ContactId });
}
}
let MapSideHtml = `<div class="row"><div class="col-md-12">
<div id="map_canvas_` + containerid + `" class="gmap"></div></div>
<div class="col-md-5 d-none pr-10 pb-10"><div id="map-sidebar"><div class="card mb-0"><div class="card-header" style="height:10vh;" id="map_header">` + HeaderTemplate + `</div><div class="card-body" id="mapside_body" style="overflow-y:scroll; height:71vh"> <div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">` + DetailTmplt_html + ` </div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div><div class="card-footer" style="height:10vh;" id="footer_section">` + FooterTemplate + `</div></div></div></div>`;
$("#Viewer_" + containerid + "").html(MapSideHtml).addClass("pa-10");
$(".list-content-section" + containerid + "").removeClass("hidden");
$(".Templateheader").addClass("hidden");
$(".card-footer").addClass("hidden");
$(".btn-list-load-more").addClass("hidden");
$(".list-content-section" + containerid).find("#map_canvas").css('height', $(window).outerHeight() - $(".list-content-section" + containerid).find(".card-header").outerHeight() - 55);
var latd = locations[0].LatId;
var lgtd = locations[0].LngId;
var myLatlng = new google.maps.LatLng(latd, lgtd);
var mIcon = {
path: google.maps.SymbolPath.CIRCLE,
fillOpacity: 1,
fillColor: "green",
strokeOpacity: 1,
strokeWeight: 1,
strokeColor: '#333',
scale: 12,
scaledSize: new google.maps.Size(54, 44)
};
var mapOptions = {
zoom: 5,
center: myLatlng,
};
var mapElement = document.getElementById("map_canvas_" + containerid);
var map = new google.maps.Map(mapElement, mapOptions);
var marker, i;
var infoWindow;
var Lng_Ltd = [];
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i].LatId, locations[i].LngId),
map: map,
icon: mIcon
});
Lng_Ltd[locations[i].LatId + "_" + locations[i].LngId] = contentString[i];
infoWindow = new google.maps.InfoWindow({
content: contentString[i]
});
infoWindow.close();
google.maps.event.addListener(marker, 'click', (function (marker, i) {
var k = i;
return function () {
infoWindow.open(map, marker);
infoWindow.setContent(Lng_Ltd[marker.getPosition().lat() + "_" + marker.getPosition().lng()]);
};
})(marker, i));
google.maps.event.addListener(marker, 'mouseover', (function (marker, i) {
var k = i;
return function () {
infoWindow.open(map, marker);
infoWindow.setContent(Lng_Ltd[marker.getPosition().lat() + "_" + marker.getPosition().lng()]);
};
})(marker, i));
google.maps.event.addListener(marker, 'mouseout', function (e) {
infoWindow.close(map, marker);
});
}
let elem;
elem = $("#mapside_body");
elem.slimscroll({ color: '#d6d9da', disableFadeOut: true, borderRadius: 0, size: '6px', enableKeyNavigation: true, opacity: .8, height: "71vh" });
});
});
}
toCamel(o) {
var newO, origKey, newKey, value;
if (o instanceof Array) {
return o.map(function (value) {
if (typeof value === "object") {
value = Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(value);
}
return value;
});
}
else {
newO = {};
for (origKey in o) {
if (o.hasOwnProperty(origKey)) {
newKey = (origKey.charAt(0).toLowerCase() + origKey.slice(1) || origKey).toString();
value = o[origKey];
if (value instanceof Array || (value !== null && value.constructor === Object)) {
value = Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(value);
}
newO[newKey] = value;
}
}
}
return newO;
}
static Instance() {
return new Unibase.Platform.Analytics.Viewers.MapViewer();
}
}
Viewers.MapViewer = MapViewer;
})(Viewers = Analytics.Viewers || (Analytics.Viewers = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+5
View File
@@ -0,0 +1,5 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this.ViewerSettings=new i.Providers.ViewerSettings}loadView(t,i,r,u,f,e){var h=this,c="",l="",o="",a="",s="",v="";h.viewerManager.getMapView(r).then(function(t){var r=t.result;c=r.LatColumn;l=r.LngColumn;o=r.TemplateText;a=r.HeaderTemplateText;s=r.DetailTemplateText;v=r.FooterTemplateText;let f={ReportId:i,page:u,pageSize:50,IsJson:!0};$("#Table_View_"+e).removeClass("hidden");h.reportManager.getReportViewerData(f).then(function(t){var g,ft,w,h;n.Platform.Helpers.NavigationHelper.Instance().hideLoading();var tt=[],it=[],u=[],f=[],b=[],rt=JSON.parse(t.result),i="";if(rt.Data&&(i=JSON.parse(rt.Data)),$("#ViewerFooter_"+e).removeClass("hidden"),!i)return $("#Viewer_"+e+"").removeClass("hidden"),$("#Viewer_"+e+"").empty().append(`<div class='alert alert-primary text-center mb-0 border-0 w-100 font-14 rounded-0'>No data available</div>`),"";i=n.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(i);let d="",ut="";g=Handlebars.compile(o);for(let n=0;n<i.length;n++){let t=i[n][c.toLowerCase()],r=i[n][l.toLowerCase()],f=i[n].contactid;if(jQuery.inArray(t,tt)==-1&&jQuery.inArray(r,it)==-1){u.push({LatValue:t,LngValue:r,ContactId:f});tt.push(t);it.push(r);d=o!=""&&o!=null?g(i[n]):"<strong> LatId: "+t+", LngId: "+r+"<\/strong>";b.push(d);let e=`<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">`+s+`</div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div></div></div>`;ft=Handlebars.compile(s);ut+=ft(i[n])}else{let f=0;for(w=0;w<u.length;w++)u[w].LatValue==t&&u[w].LngValue==r&&(f=w);b[f]=b[f]+g(i[n])}}for(h=0;h<u.length;h++)u[h].LatValue!=0&&u[h].LngValue!=0&&f.push({LatId:u[h].LatValue,LngId:u[h].LngValue,ContactId:u[h].ContactId});let ot=`<div class="row"><div class="col-md-12">
<div id="map_canvas_`+e+`" class="gmap"></div></div>
<div class="col-md-5 d-none pr-10 pb-10"><div id="map-sidebar"><div class="card mb-0"><div class="card-header" style="height:10vh;" id="map_header">`+a+`</div><div class="card-body" id="mapside_body" style="overflow-y:scroll; height:71vh"> <div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">`+ut+` </div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div><div class="card-footer" style="height:10vh;" id="footer_section">`+v+`</div></div></div></div>`;$("#Viewer_"+e+"").html(ot).addClass("pa-10");$(".list-content-section"+e+"").removeClass("hidden");$(".Templateheader").addClass("hidden");$(".card-footer").addClass("hidden");$(".btn-list-load-more").addClass("hidden");$(".list-content-section"+e).find("#map_canvas").css("height",$(window).outerHeight()-$(".list-content-section"+e).find(".card-header").outerHeight()-55);for(var st=f[0].LatId,ht=f[0].LngId,ct=new google.maps.LatLng(st,ht),lt={path:google.maps.SymbolPath.CIRCLE,fillOpacity:1,fillColor:"green",strokeOpacity:1,strokeWeight:1,strokeColor:"#333",scale:12,scaledSize:new google.maps.Size(54,44)},at={zoom:5,center:ct},vt=document.getElementById("map_canvas_"+e),k=new google.maps.Map(vt,at),y,p,nt=[],r=0;r<f.length;r++)y=new google.maps.Marker({position:new google.maps.LatLng(f[r].LatId,f[r].LngId),map:k,icon:lt}),nt[f[r].LatId+"_"+f[r].LngId]=b[r],p=new google.maps.InfoWindow({content:b[r]}),p.close(),google.maps.event.addListener(y,"click",function(n,t){var i=t;return function(){p.open(k,n);p.setContent(nt[n.getPosition().lat()+"_"+n.getPosition().lng()])}}(y,r)),google.maps.event.addListener(y,"mouseover",function(n,t){var i=t;return function(){p.open(k,n);p.setContent(nt[n.getPosition().lat()+"_"+n.getPosition().lng()])}}(y,r)),google.maps.event.addListener(y,"mouseout",function(){p.close(k,y)});let et;et=$("#mapside_body");et.slimscroll({color:"#d6d9da",disableFadeOut:!0,borderRadius:0,size:"6px",enableKeyNavigation:!0,opacity:.8,height:"71vh"})})})}toCamel(t){var u,r,f,i;if(t instanceof Array)return t.map(function(t){return typeof t=="object"&&(t=n.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(t)),t});u={};for(r in t)t.hasOwnProperty(r)&&(f=(r.charAt(0).toLowerCase()+r.slice(1)||r).toString(),i=t[r],(i instanceof Array||i!==null&&i.constructor===Object)&&(i=n.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(i)),u[f]=i);return u}static Instance(){return new n.Platform.Analytics.Viewers.MapViewer}}r.MapViewer=u})(r=i.Viewers||(i.Viewers={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,179 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class MapViewerSettings extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.viewerManager = Analytics.Managers.ViewerManager.Instance();
this.ReportId = 0;
}
jsFiles() {
return ["platform/analytics/components/mapviewer/mapviewer.settings.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div class="b-b bg-white modal-header">
<strong class="text-dark">Map</strong>
</div>
<div class="modal-body" id="MapViewer_modal">
<div id = "divMap_ErrorMessage"></div>
<div class="card"> <div class="card-body"><div class="row"><div class="col-sm-6">
<div id="div_MapName" class="floating-label-form-group">
<label for="mapname" id="lbl_MapName">Map Name</label>
<input type="text" class="form-control value-control floating-label-control" placeholder="Map Name" data-placeholder="Map Name" data-label="Map Name" id="txt_MapName">
</div></div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6">
<div id="div_Latitude" class="">
<label for="latitude">Latitude</label>
<select type="text" class="form-control value-control floating-label-control" placeholder="Latitude" data-placeholder="Latitude" data-label="Latitude" id="txt_Latitude"><option value="0" selected="">Select Latitude Column</option></select>
</div>
</div>
<div class="col-sm-6">
<div id="div_Longitude" class="">
<label for="longitude" id="lbl_Longitude">Longitude</label>
<select type="text" class="form-control value-control floating-label-control" placeholder="Longitude" data-placeholder="Longitude" data-label="Longitude" id="txt_Longitude"> <option value="0" selected="">Select Longitude Column</option></select>
</div></div>
</div></div></div>
<div class="TemplateText_Section card">
<div class="card-header"> Template Text </div>
<div class="card-body">
<div id="div_TemplateText" class="">
<textarea class="" id="input_TemplateText" placeholder="Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="HeaderTemplateText_Section card">
<div class="card-header">Header Template Text </div>
<div class="card-body">
<div id="div_HeaderTemplateText" class="">
<textarea class="" id="input_HeaderTemplateText" placeholder="Header Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="DetailTemplateText_Section card">
<div class="card-header">Detail Template Text </div>
<div class="card-body">
<div id="div_DetailTemplateText" class="">
<textarea class="" id="input_DetailTemplateText" placeholder="Detail Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="FooterTemplateText_Section card">
<div class="card-header">Footer Template Text </div>
<div class="card-body">
<div id="div_FooterTemplateText" class="">
<textarea class="" id="input_FooterTemplateText" placeholder="Footer Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
var reportid = Number(instance.ReportId);
$("#MapViewer_modal").css("height", $(window).outerHeight() - (Number($(".modal-header").outerHeight()) + Number($(".modal-footer").outerHeight())) + 'px');
var data = [];
instance.reportManager.getColumns(reportid).then(function (response) {
var res = response.result;
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].ReportColumnName, text: res[i].ReportColumnName });
}
$("#txt_Latitude").select2({
placeholder: 'Select Latitude Column',
data: data,
});
$("#txt_Longitude").select2({
placeholder: 'Select Longitude Column',
data: data,
});
if (id != 0) {
instance.getMapById(id);
}
});
$("#btnClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
jQuery("#btnSave").click(function () {
instance.saveMap(id, reportid, containerid, null);
});
}
getMapById(id) {
var instance = this;
instance.viewerManager.getMapView(id).then(function (response) {
instance.response = response.result;
$("#Txt_Display_Name").val(instance.response.DisplayName ? instance.response.DisplayName.trim() : instance.response.MapName.trim());
$("#txt_MapName").val(instance.response.MapName.trim()).attr("readonly", 'true').css("cursor", "not-allowed");
$("#txt_Latitude").val(instance.response.LatColumn).trigger("change");
$("#txt_Longitude").val(instance.response.LngColumn).trigger("change");
$("#input_TemplateText").val(instance.response.TemplateText);
$("#input_HeaderTemplateText").val(instance.response.HeaderTemplateText);
$("#input_DetailTemplateText").val(instance.response.DetailTemplateText);
$("#input_FooterTemplateText").val(instance.response.FooterTemplateText);
});
}
saveMap(id, reportid, containerid, obj) {
var instance = this;
var PostData = obj;
if (obj == null) {
PostData = {
LatColumn: $("#txt_Latitude option:selected").text(),
LngColumn: $("#txt_Longitude option:selected").text(),
MapName: $("#txt_MapName").val(),
ValueColumn: $("#txt_ColumnName").val(),
ReportId: Number(reportid),
MapViewId: Number(id),
TemplateText: $("#input_TemplateText").val(),
HeaderTemplateText: $("#input_HeaderTemplateText").val(),
DetailTemplateText: $("#input_DetailTemplateText").val(),
FooterTemplateText: $("#input_FooterTemplateText").val(),
DisplayModeTypeId: 1,
ViewAll: instance.response && instance.response.ViewAll || true,
DisplayName: $("#Txt_Display_Name").val().toString().trim(),
IsFromUI: Number(id) == 0 ? true : false,
};
}
instance.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js", function () {
instance.viewerManager.saveMapView(PostData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, 'divMap_ErrorMessage');
}
else {
MessageHelper.Instance().showSuccess(response.message, '');
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new Unibase.Platform.Analytics.Components.MapViewerSettings();
return this._instance;
}
}
Components.MapViewerSettings = MapViewerSettings;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"mapviewer.settings.js","sourceRoot":"","sources":["mapviewer.settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportManager=i.Managers.ReportManager.Instance();this.viewerManager=i.Managers.ViewerManager.Instance();this.ReportId=0}jsFiles(){return["platform/analytics/components/mapviewer/mapviewer.settings.js"]}cssFiles(){return[]}html(){return`<div class="b-b bg-white modal-header">
<strong class="text-dark">Map</strong>
</div>
<div class="modal-body" id="MapViewer_modal">
<div id = "divMap_ErrorMessage"></div>
<div class="card"> <div class="card-body"><div class="row"><div class="col-sm-6">
<div id="div_MapName" class="floating-label-form-group">
<label for="mapname" id="lbl_MapName">Map Name</label>
<input type="text" class="form-control value-control floating-label-control" placeholder="Map Name" data-placeholder="Map Name" data-label="Map Name" id="txt_MapName">
</div></div>
<div class="col-sm-4">
<div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
<label for="displayname" id="lbl_DisplayName">Display Name</label>
<input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
</div>
</div>
<div class="col-sm-6">
<div id="div_Latitude" class="">
<label for="latitude">Latitude</label>
<select type="text" class="form-control value-control floating-label-control" placeholder="Latitude" data-placeholder="Latitude" data-label="Latitude" id="txt_Latitude"><option value="0" selected="">Select Latitude Column</option></select>
</div>
</div>
<div class="col-sm-6">
<div id="div_Longitude" class="">
<label for="longitude" id="lbl_Longitude">Longitude</label>
<select type="text" class="form-control value-control floating-label-control" placeholder="Longitude" data-placeholder="Longitude" data-label="Longitude" id="txt_Longitude"> <option value="0" selected="">Select Longitude Column</option></select>
</div></div>
</div></div></div>
<div class="TemplateText_Section card">
<div class="card-header"> Template Text </div>
<div class="card-body">
<div id="div_TemplateText" class="">
<textarea class="" id="input_TemplateText" placeholder="Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="HeaderTemplateText_Section card">
<div class="card-header">Header Template Text </div>
<div class="card-body">
<div id="div_HeaderTemplateText" class="">
<textarea class="" id="input_HeaderTemplateText" placeholder="Header Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="DetailTemplateText_Section card">
<div class="card-header">Detail Template Text </div>
<div class="card-body">
<div id="div_DetailTemplateText" class="">
<textarea class="" id="input_DetailTemplateText" placeholder="Detail Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
<div class="FooterTemplateText_Section card">
<div class="card-header">Footer Template Text </div>
<div class="card-body">
<div id="div_FooterTemplateText" class="">
<textarea class="" id="input_FooterTemplateText" placeholder="Footer Template Text" rows="3" cols="112"></textarea>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white modal-footer">
<a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
<a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
</div>`}load(n,t){var i=this,u=Number(i.ReportId),r;$("#MapViewer_modal").css("height",$(window).outerHeight()-(Number($(".modal-header").outerHeight())+Number($(".modal-footer").outerHeight()))+"px");r=[];i.reportManager.getColumns(u).then(function(t){var u=t.result;for(let n=0;n<u.length;n++)r.push({id:u[n].ReportColumnName,text:u[n].ReportColumnName});$("#txt_Latitude").select2({placeholder:"Select Latitude Column",data:r});$("#txt_Longitude").select2({placeholder:"Select Longitude Column",data:r});n!=0&&i.getMapById(n)});$("#btnClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove()});jQuery("#btnSave").click(function(){i.saveMap(n,u,t,null)})}getMapById(n){var t=this;t.viewerManager.getMapView(n).then(function(n){t.response=n.result;$("#Txt_Display_Name").val(t.response.DisplayName?t.response.DisplayName.trim():t.response.MapName.trim());$("#txt_MapName").val(t.response.MapName.trim()).attr("readonly","true").css("cursor","not-allowed");$("#txt_Latitude").val(t.response.LatColumn).trigger("change");$("#txt_Longitude").val(t.response.LngColumn).trigger("change");$("#input_TemplateText").val(t.response.TemplateText);$("#input_HeaderTemplateText").val(t.response.HeaderTemplateText);$("#input_DetailTemplateText").val(t.response.DetailTemplateText);$("#input_FooterTemplateText").val(t.response.FooterTemplateText)})}saveMap(t,i,r,u){var f=this,e=u;u==null&&(e={LatColumn:$("#txt_Latitude option:selected").text(),LngColumn:$("#txt_Longitude option:selected").text(),MapName:$("#txt_MapName").val(),ValueColumn:$("#txt_ColumnName").val(),ReportId:Number(i),MapViewId:Number(t),TemplateText:$("#input_TemplateText").val(),HeaderTemplateText:$("#input_HeaderTemplateText").val(),DetailTemplateText:$("#input_DetailTemplateText").val(),FooterTemplateText:$("#input_FooterTemplateText").val(),DisplayModeTypeId:1,ViewAll:f.response&&f.response.ViewAll||!0,DisplayName:$("#Txt_Display_Name").val().toString().trim(),IsFromUI:Number(t)==0?!0:!1});f.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js",function(){f.viewerManager.saveMapView(e).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"divMap_ErrorMessage"):(MessageHelper.Instance().showSuccess(t.message,""),$("#"+r).modal("hide"),$("#"+r).remove())})})}static Instance(){return this._instance===undefined&&(this._instance=new n.Platform.Analytics.Components.MapViewerSettings),this._instance}}r.MapViewerSettings=u})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,219 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class UserDesignConfigApps extends Components._ReportViewer {
constructor() {
super(...arguments);
this.PortletWidgetId = 0;
this.totalreportWidgetData = [];
this.ReportId = 0;
}
jsFiles() {
return this._jsFiles();
}
cssFiles() {
return this._cssFiles();
}
html(id, containerid) {
var instance = this;
let html = ``;
return html;
}
load(id, containerid, callback) {
var instance = this;
}
init(containerid) {
var instance = this;
instance.loadConfigSettings(containerid);
}
loadConfigSettings(containerid) {
let reportid = 0;
let totalcontent = '';
var jsfiles = ["apps/transact/managers/inventory/transactsettingmanager.js"];
$(`.${containerid}`).append(`<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
<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 + `">
<div class="card-header-top d-flex justify-content-center line-loader-container p-relative">
<div class=line-loader></div>
<div id=div_ErrorMessage class=form-error-message style=margin-left:-5px;z-index:100></div>
<div class="card-search-bar report-tree-view-search m-0" id=cardSearchBar${containerid}>
<div class='search-wrapper d-flex w-100' id=searchWrapper${containerid}>
<input class="form-control txt_global_search" id=ListSearch placeholder="Search Configurations" autocomplete=off >
<i class="fa fa-search search-left-icon biz-highlight-bg-color"></i>
<div class="biz-highlight-bg-color main-search-loader search-clear-icon hidden"></div>
<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>
</div>
</div>
</div>
</div>
<div class="card-body p-2 border-removed border-white-removed show userDesignWidgetCardBody" id="Viewer_` + containerid + `" data-iscollapseapplied=false>
<ul class="userdesignedTreeview_${containerid} userDesignReportSettings" id="userdesignedTreeview" style="column-count:3"></ul>
</div>
</div>`);
let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val();
if (height != '0px') {
$('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar");
}
var instance = this;
instance.fileCacheHelper.loadJsFiles(["apps/transact/managers/inventory/transactsettingmanager.js"], () => {
Unibase.Platform.Apps.Managers.AppManager.Instance().getConfigurationApps().then((res) => {
let appdata = res.result.sort(function (a, b) {
var a1 = a.AppGroupName.toLowerCase(), b1 = b.AppGroupName.toLowerCase();
if (a1 == b1)
return 0;
return a1 > b1 ? 1 : -1;
});
let totalcount = res.result.length;
let old_groupname = "";
for (var i = 0; i < appdata.length; i++) {
let icon = '';
let imgurl = '';
var data = res.result[i];
let appname = data.AppTitle;
let appdescription = data.Description;
icon = data.IconName;
imgurl = data.ImageUrl;
let installedappid = data.MyAppId;
let count = i;
let appgroupname = data.AppGroupName;
if (appgroupname == '')
appgroupname = "No Group";
let avatarTxt = "";
let matches = appname.match(/\b(\w)/g);
if (matches.length == 1) {
avatarTxt = $.trim(appname).substr(0, 2).toUpperCase();
}
else {
avatarTxt = matches.join('').slice(0, 2).toUpperCase();
}
if (appgroupname != old_groupname) {
let appgroupnameid = appgroupname.replace(/ /g, "_");
appgroupnameid = appgroupnameid.replace(/&/g, "_");
let groupnamecontent = '';
if (old_groupname != '') {
groupnamecontent = `</ul></li>`;
groupnamecontent = `</ul></li>`;
}
groupnamecontent += `<li class="nav-item border report-group-tree-view border-dark mb-2 w-100 text-truncate" id="settingreport_` + appgroupnameid + `" style="display: grid;break-inside: avoid;">
<a class="nav-link report-Header-Title biz-highlight-opacity border-bottom text-dark font-weight-600" href ="javascript:void(0);" ><span class="report-group-tree-name">` + appgroupname + `</span></a>
<ul class="flex-column text-truncate w-100 group-drp-` + appgroupnameid + `" id="reportgroup-tree_` + appgroupnameid + `" name='` + appgroupnameid + `'><li class="nav-item lireportgrp-item pl-5 m-1 rounded-4 lireportgrp-addeditem " style="grid-row: 1 / -1;grid-column: 1;"><a href="javascript:;" class="nav-link text-dark onclickclass px-2 py-1" onclick="Unibase.Platform.Analytics.Components.UserDesignConfigApps.Instance().getform('` + appname + `',` + installedappid + `)"><div class="d-flex align-items-center"><div class="img_tag p-2 w-40p h-40p text-center align-items-center d-flex bg-white border rounded-circle font-14 justify-content-center font-weight-600" style="background:url('');background-size:100%">` + avatarTxt + `</div><div class="pl-2 text-truncate"><span id="ReportName_{{ReportId}}" class="appname"><u>` + appname + `</u></span><div class=" text-truncate description-Text font-12 w-100">` + appdescription + `</div></div></div></a></li>`;
totalcontent += groupnamecontent;
old_groupname = appgroupname;
}
else {
let childsetting = `<li class="nav-item lireportgrp-item pl-5 m-1 rounded-4 lireportgrp-addeditem w-100 text-truncate" style="grid-row: 1 / -1;grid-column: 1;"><a href="javascript:;" class="nav-link text-dark onclickclass px-2 py-1" onclick="Unibase.Platform.Analytics.Components.UserDesignConfigApps.Instance().getform('` + appname + `',` + installedappid + `)"><div class="d-flex align-items-center"><div class="img_tag p-2 w-40p h-40p text-center align-items-center d-flex bg-white border rounded-circle font-14 justify-content-center font-weight-600" style="background:url('');background-size:100%">` + avatarTxt + `</div><div class="pl-2 text-truncate"><span id="ReportName_{{ReportId}}" class="appname"><u>` + appname + `</u></span><div class=" text-truncate description-Text font-12 w-100">` + appdescription + `</div></div></div></a></li>`;
totalcontent += childsetting;
}
}
$("#userdesignedTreeview").html(totalcontent);
if (screen.width < 1198) {
$(".appname").addClass("font-12");
$(".text-truncate.description-Text").addClass("font-11").removeClass("font-12");
}
});
});
instance.settingsearch(containerid);
}
getform(AppName, InstalledAppId, callback) {
var instance = this;
if (AppName != " ") {
Unibase.Platform.Helpers.NavigationHelper.Instance().loadSettings(InstalledAppId, callback);
}
else {
Bizgaze.Apps.Transact.Managers.TransactSettingManager.Instance().getBranchSettingByInstalledApp(InstalledAppId).then(function (bs_res) {
let Pk_Id = 0;
if (bs_res.result != "" && bs_res.result != null) {
Pk_Id = bs_res.result.BranchSettingId;
}
var FormUniqueId = 'Bizgaze_Extension_Transact_Apps_' + AppName;
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(FormUniqueId).then(function (response) {
var successCallBack = {
CallBack: function (id) {
},
Parameters: null,
};
var formviewerObj = {
FormId: response.result.FormId,
AppConfigurationId: 0,
Pk_Value: Pk_Id,
PortletWidgetId: 0,
OnSuccess: successCallBack,
OnFail: null,
OnLoad: null,
FormSize: Platform.Helpers.Size.Medium,
};
Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
instance.navigationHelper.hideLoading();
});
});
}
}
settingsearch(containerid) {
$(".biz-highlight-opacity").mouseover(function () {
$(this).css({ "cursor": "context-menu" });
});
$('.clear_icon').click(function () {
$("#ListSearch").val('');
$('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').css("display", "block");
$('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').find('.lireportgrp-item').css("display", "block");
$(".clear_icon").addClass("d-none");
});
if (($(window).width()) <= 1198) {
$("#userdesignedTreeview").css({ "column-count": "2" });
$(".search-wrapper").css({ "display": "block !important" });
}
if (($(window).width()) <= 576) {
$("#userdesignedTreeview").css({ "column-count": "1" });
$(".search-wrapper").css({ "display": "block !important" });
$(".report-group-tree-view").each(function (index) {
let width = $(this).width();
let maxwidth = $(this).width() - 100;
$(this).find(".report-Header-Title").css("width", width + 'px');
$(this).find(".lireportgrp-item").find(".description-Text").css("max-width", maxwidth + 'px');
});
}
$('#' + containerid).find("#ListSearch").on('keyup', function () {
$(".clear_icon").removeClass("d-none");
var _value = $(this).val().toString(), value = _value.toUpperCase();
if (_value == '') {
$(".clear_icon").addClass("d-none");
}
$('.userdesignedTreeview_' + containerid).find('.report-group-tree-view').each(function () {
let reportName = $(this).find('.lireportgrp-item a').text();
if (reportName.toUpperCase().indexOf(value) > -1) {
$(this).css('display', 'block');
$(this).find('.lireportgrp-item a').each(function () {
let reportName = $(this).text();
let reportGroupName = $(this).find('.a').text();
if (reportName.toUpperCase().indexOf(value) > -1) {
$(this).parent().css('display', 'block');
}
else {
$(this).parent().css('display', 'none');
}
});
}
else {
$(this).css('display', 'none');
}
});
});
}
generatecolor() {
}
static Instance() {
if (this._instance === undefined)
this._instance = new UserDesignConfigApps();
return this._instance;
}
}
Components.UserDesignConfigApps = UserDesignConfigApps;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1,149 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
class UserDesignMenu extends Components._ReportViewer {
constructor() {
super(...arguments);
this.appsHtml = '';
this.IsAppRefresh = false;
}
jsFiles() {
return this._jsFiles();
}
cssFiles() {
return this._cssFiles();
}
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);
$('.BindData_' + containerid).find("#ListSearch").on('keyup', function () {
$(".clear_icon").removeClass("d-none");
var _value = $(this).val().toString(), value = _value.toUpperCase();
if (_value == '') {
$(".clear_icon").addClass("d-none");
}
$('#userdesignmenu_apps').find('.appmenu_li').each(function () {
let appName = $(this).find('.appname').text();
if (appName.toUpperCase().indexOf(value) > -1) {
$(this).css('display', 'block');
}
else {
$(this).css('display', 'none');
}
});
});
$('.clear_icon').click(function () {
$("#ListSearch").val('');
$('#userdesignmenu_apps').find('.appmenu_li').removeAttr("style");
$(".clear_icon").addClass("d-none");
});
}
loadMenu(containerid) {
var instance = this;
$(`.${containerid}`).append(`<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100 menu" style="background:transparent !important">
<div class="card-header py-2 px-2 search-bar-main-wrapper position-sticky t-0 bg-white z-index-2 border-0 viewer-header biz-secondary-color" id="ViewerHeader_` + containerid + `">
<div class="card-header-top d-flex justify-content-center line-loader-container p-relative">
<div class=line-loader></div>
<div id=div_ErrorMessage class=form-error-message style=margin-left:-5px;z-index:100></div>
<div class="card-search-bar report-tree-view-search" id=cardSearchBar${containerid}>
<div class="search-wrapper d-flex w-100" id=searchWrapper${containerid}>
<input class="form-control txt_global_search bg-transparent" id=ListSearch placeholder="Search App" autocomplete=off >
<i class="fa fa-search search-left-icon biz-highlight-bg-color"></i>
<div class="biz-highlight-bg-color main-search-loader search-clear-icon hidden"></div>
<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>
</div>
</div>
</div>
<div class="biz-highlight-text-color d-none"></div>
</div>
<div class="card-body userDesignWidgetCardBody p-2 bg-transparent" style="background:transparent !important">
<ul class="userdesignmenu_apps_${containerid} userdesignmenu_apps row px-3" id="userdesignmenu_apps"></ul>
</div>
</div>`);
let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val();
if (height != '0px') {
$('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar");
}
if ((this.appsHtml != '' && this.appsHtml != null) && !this.IsAppRefresh) {
$('#userdesignmenu_apps').html(this.appsHtml);
}
else {
Unibase.Platform.Apps.Managers.AppManager.Instance().getMyApps().then((res) => {
this.IsAppRefresh = false;
let totalcount = res.result.length;
for (var i = 0; i < res.result.length; i++) {
if (res.result[i].ParentAppId == 0) {
let icon = '';
let imgurl = '';
let html = '';
var data = res.result[i];
let appname = data.AppTitle;
icon = data.IconName;
imgurl = data.ImageUrl;
let installedappid = data.MyAppId;
let count = i;
if (($(window).width()) <= 575) {
$('.appname.Mobile-menu').html(function (i, v) {
return v.replace(' ', '<br />');
});
html = `<li class="col-4 p-1 appmenu_li" data-name='` + appname + `'><a href="javascript:;" onclick = 'Unibase.Themes.Compact.Components.Nav.Instance().loadList(` + installedappid + `)'>
<div class="card px-1 py-3 shadow-none m-0 border-0 h-100 text-center bg-transparent">
<div class="w-100 text-center py-3"><div class="avatar menu-icon-card_` + count + ` biz-detail-avatar mx-auto"></div></div>
<h6 class=" font-weight-500 text-center appname Mobile-menu" style="font-size:10px">` + appname + `</h6>
</div></a></li>`;
}
else {
html = `<li class="col-xl-2 col-lg-3 col-sm-3 col-6 p-2 appmenu_li biz-landing" data-name='` + appname + `'><a href="javascript:;" onclick = 'Unibase.Themes.Compact.Components.Nav.Instance().loadList(` + installedappid + `)'>
<div class="card p-2 m-0 border-0 h-100 text-center shadow-none bg-transparent">
<div class="feature-block mx-auto rounded-12 h-100 ">
<div class="p-3"><div class="avatar menu-icon-card_` + count + ` biz-detail-avatar mx-auto p-2"></div></div>
<div> <h6 class="font-13 font-weight-500 text-center appname " style="padding:5px">` + appname + `</h6></div>
</div>
</div></a></li>`;
}
$("#userdesignmenu_apps").append(html);
if (imgurl.length > 1) {
let assesturl = _appsettings.asset_url();
imgurl = assesturl + imgurl;
let imgtag = '<img src="' + imgurl + '" onerror="ReloadImage(event)" data-dynamic="1" data-loaded="0" class=" w-50p h-50p">';
$(".menu-icon-card_" + count).html(imgtag);
}
else {
$(".menu-icon-card_" + count).html(`<i class="text-dark ` + icon + ` font-40"></i>`);
}
}
}
$(".userdesignmenu_apps").each(function () {
let element = $(this).children("li");
$(this).html(element.sort(function (a, b) {
return $(a).attr('data-name') < $(b).attr('data-name') ? -1 : 1;
}));
});
this.appsHtml = $('#userdesignmenu_apps').html();
});
}
}
static Instance() {
if (this._instance === undefined)
this._instance = new UserDesignMenu();
return this._instance;
}
}
Components.UserDesignMenu = UserDesignMenu;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,165 @@
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 UserDesignSvgMenu extends Components._ReportViewer {
constructor() {
super(...arguments);
this.svgappsHtml = '';
this.IsAppRefresh = false;
}
jsFiles() {
return this._jsFiles();
}
cssFiles() {
return this._cssFiles();
}
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);
$('.BindData_' + containerid).find("#ListSearch").on('keyup', function () {
$(".clear_icon").removeClass("d-none");
var _value = $(this).val().toString(), value = _value.toUpperCase();
if (_value == '') {
$(".clear_icon").addClass("d-none");
}
$('#userdesignmenu_apps').find('.appmenu_li').each(function () {
let appName = $(this).find('.appname').text();
if (appName.toUpperCase().indexOf(value) > -1) {
$(this).css('display', 'block');
}
else {
$(this).css('display', 'none');
}
});
});
$('.clear_icon').click(function () {
$("#ListSearch").val('');
$('#userdesignmenu_apps').find('.appmenu_li').removeAttr("style");
$(".clear_icon").addClass("d-none");
});
}
loadMenu(containerid) {
var instance = this;
$(`.${containerid}`).append(`<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
<div class="card-header py-2 px-2 search-bar-main-wrapper position-sticky t-0 bg-white z-index-2 border-0 viewer-header" id="ViewerHeader_` + containerid + `">
<div class="card-header-top d-flex justify-content-center line-loader-container p-relative">
<div class=line-loader></div>
<div id=div_ErrorMessage class=form-error-message style=margin-left:-5px;z-index:100></div>
<div class="card-search-bar report-tree-view-search" id=cardSearchBar${containerid}>
<div class="search-wrapper d-flex w-100" id=searchWrapper${containerid}>
<input class="form-control txt_global_search" id=ListSearch placeholder="Search App" autocomplete=off >
<i class="fa fa-search search-left-icon biz-highlight-bg-color"></i>
<div class="biz-highlight-bg-color main-search-loader search-clear-icon hidden"></div>
<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>
</div>
</div>
</div>
<div class="biz-highlight-text-color d-none"></div>
</div>
<div class="card-body userDesignWidgetCardBody p-2">
<ul class="userdesignmenu_apps_${containerid} userdesignmenu_apps row px-3 svgmenu" id="userdesignmenu_apps"></ul>
</div>
</div>`);
let height = $(`.${containerid}`).siblings('#hf_portletwidgetheight').val();
if (height != '0px') {
$('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("biz-custom-scrollbar");
}
if ((this.svgappsHtml != '' && this.svgappsHtml != null) && !this.IsAppRefresh) {
$('#userdesignmenu_apps').html(this.svgappsHtml);
}
else {
instance.fileCacheHelper.loadJsFile('platform/apps/managers/appmanager.js', () => {
Unibase.Platform.Apps.Managers.AppManager.Instance().getMyApps().then((res) => __awaiter(this, void 0, void 0, function* () {
this.IsAppRefresh = false;
let html = '';
let totalcount = res.result.length;
for (var i = 0; i < res.result.length; i++) {
if (res.result[i].ParentAppId == 0) {
let icon = '';
let imgurl = '';
let apps_data = '';
let iconurl = '';
var data = res.result[i];
let appname = data.AppTitle;
icon = data.IconName;
imgurl = data.SvgIconUrl;
iconurl = data.ImageUrl;
let installedappid = data.MyAppId;
let count = i;
if (($(window).width()) <= 575) {
apps_data = `<li class="col-3 p-1 appmenu_li" data-name='` + appname + `'><a href="javascript:;" onclick = 'Unibase.Themes.Compact.Components.Nav.Instance().loadList(` + installedappid + `)'>
<div class="card px-1 py-3 shadow-none m-0 border-0 h-100 text-center">
<div class="w-100 text-center py-3"><div class="avatar menu-icon-card_` + count + ` biz-detail-avatar mx-auto">`;
}
else {
apps_data = `<li class="appmenu_li biz-landing" data-name='` + appname + `'><a href="javascript:;" onclick = 'Unibase.Themes.Compact.Components.Nav.Instance().loadList(` + installedappid + `)'>
<div class="card p-2 m-0 border-0 h-100 text-center shadow-none">
<div class="feature-block mx-auto h-100 m-0">
<div class="p-3"><div class="avatar svg_desktop menu-icon-card_` + count + ` biz-detail-avatar mx-auto h-100">`;
}
let svgstring = imgurl.substring(1, 4);
if (imgurl != '' && svgstring == 'svg') {
apps_data += imgurl;
}
apps_data += `</div></div>
<div> <h6 class="font-10 font-md-13 font-weight-500 text-center appname pb-1 px-1">` + appname + `</h6></div>
</div>
</div></a></li>`;
html += apps_data;
}
}
$("#userdesignmenu_apps").append(html);
if (screen.width > 1367) {
$(".appmenu_li").addClass("w-10");
}
else if (screen.width > 1198) {
$(".appmenu_li").addClass("w-12");
}
if (screen.width < 1198) {
$(".svg-icons").addClass("w-35p h-35p").removeClass("w-40p h-40p");
}
$(".userdesignmenu_apps").each(function () {
let element = $(this).children("li");
$(this).html(element.sort(function (a, b) {
return $(a).attr('data-name') < $(b).attr('data-name') ? -1 : 1;
}));
});
$('.userdesignmenu_apps svg').addClass("h-100");
this.svgappsHtml = $('#userdesignmenu_apps').html();
}));
});
}
}
static Instance() {
if (this._instance === undefined)
this._instance = new UserDesignSvgMenu();
return this._instance;
}
}
Components.UserDesignSvgMenu = UserDesignSvgMenu;
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1,31 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ColumnFormat {
loadFormats(DataType) {
var formats = [];
if (DataType == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
formats = [{ id: 0, format: 'Default' }, { id: 1, format: 'dd/mm/yyyy' }, { id: 2, format: 'mm/dd/yyyy' }, { id: 3, format: 'yyyy/mm/dd' }, { id: 4, format: 'Mon dd, yyyy' }, { id: 5, format: 'Mon/yyyy' }, { id: 6, format: 'hh' }, { id: 7, format: 'mm' }, { id: 8, format: 'ss' }, { id: 9, format: 'hh:mm:ss' }, { id: 10, format: 'hh:mm:ss AM' }, { id: 11, format: 'dd/mm/yyyy hh:mm:ss' }, { id: 12, format: 'dd/mm/yyyy hh:mm' }, { id: 13, format: 'dd/mm/yyyy hh:mm:ss AM' }, { id: 14, format: 'Mon dd, yyyy hh:mm:ss AM' }];
}
else if (DataType == Unibase.Platform.Analytics.Reports.Enums.DataType.decimal) {
formats = [{ id: 0, format: 'Default' }, { id: 1, format: '0.0' }, { id: 2, format: '0.00' }, { id: 3, format: '0.000' }, { id: 3, format: '0.0000' }];
}
return formats;
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ColumnFormat();
}
return this.instance;
}
}
Reports.ColumnFormat = ColumnFormat;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"columnformat.js","sourceRoot":"","sources":["columnformat.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA4BhB;AA5BD,WAAU,OAAO;IACb,IAAiB,QAAQ,CA0BxB;IA1BD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAwBzB;QAxBD,WAAiB,SAAS;YACtB,IAAiB,OAAO,CAsBvB;YAtBD,WAAiB,OAAO;gBACpB,MAAa,YAAY;oBAErB,WAAW,CAAC,QAAe;wBACvB,IAAI,OAAO,GAAG,EAAE,CAAC;wBACjB,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;4BACxE,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;yBAC9gB;6BAAM,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;4BAC9E,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;yBAC1J;wBAED,OAAO,OAAO,CAAC;oBACnB,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;yBACtC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBApBY,oBAAY,eAoBxB,CAAA;YACL,CAAC,EAtBgB,OAAO,GAAP,iBAAO,KAAP,iBAAO,QAsBvB;QACL,CAAC,EAxBgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAwBzB;IACL,CAAC,EA1BgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0BxB;AACL,CAAC,EA5BS,OAAO,KAAP,OAAO,QA4BhB"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i{loadFormats(t){var i=[];return t==n.Platform.Analytics.Reports.Enums.DataType.dateTime?i=[{id:0,format:"Default"},{id:1,format:"dd/mm/yyyy"},{id:2,format:"mm/dd/yyyy"},{id:3,format:"yyyy/mm/dd"},{id:4,format:"Mon dd, yyyy"},{id:5,format:"Mon/yyyy"},{id:6,format:"hh"},{id:7,format:"mm"},{id:8,format:"ss"},{id:9,format:"hh:mm:ss"},{id:10,format:"hh:mm:ss AM"},{id:11,format:"dd/mm/yyyy hh:mm:ss"},{id:12,format:"dd/mm/yyyy hh:mm"},{id:13,format:"dd/mm/yyyy hh:mm:ss AM"},{id:14,format:"Mon dd, yyyy hh:mm:ss AM"}]:t==n.Platform.Analytics.Reports.Enums.DataType.decimal&&(i=[{id:0,format:"Default"},{id:1,format:"0.0"},{id:2,format:"0.00"},{id:3,format:"0.000"},{id:3,format:"0.0000"}]),i}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.ColumnFormat=i})(i=t.Reports||(t.Reports={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,640 @@
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 Reports;
(function (Reports) {
class DynamicFilter extends Platform.Core.BaseComponent {
constructor() {
super();
this.isUnLimited = true;
this.isreportViewer = false;
this.dynamicFilters = [];
this.datalistColumns = [];
this.dataListColumnName = "";
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.reportBuilder = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/managers/reportmanager.js', 'platform/datasources/managers/datalistmanager.js'];
return jsFiles;
}
html(id, containerid) {
var html;
if (this.dataListColumnName) {
this.dataTypeId = this.reportBuilder.datalistColumnsResponseData[id].DataType;
}
else {
this.dataTypeId = this.reportBuilder.selectedColumns[id].DataType;
}
if (this.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
html = this.getDateTimeDynamicFilterHtml();
}
else {
html = this.getDynamicFilterHtml();
}
return html;
}
getDynamicFilterHtml() {
return `<section id="is-filterable-section" class="modal-content">
<div class="modal-header pa-10">
<strong class="modal-title biz-highlight-bg-color">Dynamic Filter</strong>
<a class="btn btn-sm btn-theme ml-auto" id="btnClear">Clear</a>
<div id="report_viewer_filter" class="form-error-message"></div>
</div>
<div data-simplebar class="simple-scroll-bar modal-body" id="CardViewer_modal">
<div class="sub-report-block card">
<header class="sub-report-head">
<h6>
Filter
</h6>
<span><i class="las la-filter filter"></i></span>
</header>
<div class="report-body">
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label> Display Name </label>
<input type="text" class="form-control" id="txt_DisplayName" placeholder="Display Name">
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label>Control Type</label>
<select class="form-control custom-select" id="ControlTypeDropDown">
<option value="0" selected="">Select Control Type</option>
<option value="1">AutoComplete</option>
<option value="2">TextBox</option>
<option value="3">Select2</option>
<option value="4">Cascading AutoComplete</option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="col">
<div id="div_datalistColumn">
<label> DataList Name </label>
<select id="dataList_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Datalist</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10">
<div class="col-sm-6">
<div id="div_datalistvaluecolumn">
<label> Value Column </label>
<select id="datalistvalue_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Value Column</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div id="div_datalisttextcolumn">
<label> Text Column </label>
<select id="datalisttext_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Text Column</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10 dynFil-cascading hidden">
<div class="col-sm-6">
<div id="div_dynFilParentProperty">
<label>Parent Property</label>
<select id="dynFilParentProperty_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Parent Column</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div id="div_dynFilApplyFor" class="biz-select2-wrap">
<label>Apply For</label>
<select id="dynFilApplyFor_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Value Column</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10 mappedcolumnsdiv hidden">
<div class="form-group col-sm 12">
<label>Mapped Columns</label>
<select class="form-control custom-select" id="mappedcolumnsdropdown">
<option value="0" selected="">Select Column</option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label>FontCase Type</label>
<select class="form-control custom-select" id="FontCaseTypeDropDown">
<option value="0" selected="">Select FontCase Type</option>
<option value="1">No Change</option>
<option value="2">Upper Case</option>
<option value="3">Lower Case</option>
</select>
</div>
</div>
<div class="form-row mb-12">
<div class="form-group col-6 col-sm-4">
<label for="unlimited_checkbox">IsUnLimit</label>
<div><input type="checkbox" class="chkIsUnLimited mr-10" id="isunlimited_checkbox">IsUnLimit</div>
</div>
<div class="form-group col-6 col-sm-4">
<label for="isrequired_checkbox">Is Required</label>
<div><input type="checkbox" class="chkisrequired mr-10" id="isrequired_checkbox">Is Required</div>
</div>
<div class="form-group col-6 col-sm-4">
<label for="iscustomfilter_checkbox">Is CustomFilter</label>
<div><input type="checkbox" class="chkiscustomfilter mr-10" id="iscustomfilter_checkbox">Is CustomFilter</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer pa-10">
<a class="btn btn-sm btn-light mr-auto" id="btnClose">Close</a>
<a class="btn btn-sm btn-primary" id="btnSave">Save</a>
</div>
</section>`;
}
getDateTimeDynamicFilterHtml() {
return `<section id="is-filterable-section" class="modal-content">
<div class="modal-header pa-10">
<strong class="modal-title biz-highlight-bg-color">Dynamic Filter</strong>
<a class="btn btn-sm btn-theme ml-auto" id="btnClear">Clear</a>
<div id="report_viewer_filter" class="form-error-message"></div>
</div>
<div data-simplebar class="simple-scroll-bar modal-body" id="CardViewer_modal">
<div class="sub-report-block card">
<header class="sub-report-head">
<h6>
Filter
</h6>
</header>
<div class="report-body">
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label> Display Name </label>
<input type="text" class="form-control" id="txt_DisplayName" placeholder="Display Name">
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label>Date Range</label>
<select name="daterangetypeid" class="form-control custom-select" id="daterangetypeid">
<option value="0" selected>Select Date Range Type</option>
<option value="1">Today</option>
<option value="2">Yesterday</option>
<option value="3">Last 7 Days</option>
<option value="4">Last 30 Days</option>
<option value="5">This Month</option>
<option value="6">Last Month</option>
<option value="7">This Quarter</option>
<option value="8">Last Quarter</option>
<option value="9">YTD</option>
<option value="10">Last Year</option>
<option value="11">FIY Year</option>
<option value="12">PFIY Year</option>
</select>
</div>
<div class="form-group ml-4 mt-1 col-6 col-sm-4">
<label for="replaceexistingdates">Replace Existing Dates</label>
<div class="mt-2"><input type="checkbox" checked="true" class="replaceexistingdates mr-10" id="replaceexistingdates">Replace exiting fromdate and todate with selected date range</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer pa-10">
<a class="btn btn-sm btn-light mr-auto" id="btnClose">Close</a>
<a class="btn btn-sm btn-primary" id="btnSave">Save</a>
</div>
</section>
`;
}
load(index, containerid, callback) {
var instance = this;
instance.selectedDatalistColumns = [];
instance.loadDataLists();
var reportcolumn = instance.reportBuilder.selectedColumns[index];
if (!reportcolumn) {
let col = this.reportBuilder.datalistColumnsResponseData.find(x => x.ColumnName == this.dataListColumnName);
if (col) {
reportcolumn = { AliasName: col.ColumnName, IsFilterable: true, DisplayText: col.ColumnName, DataType: col.DataType, ColumnName: col.ColumnName };
}
}
var dynamicfilters = [];
if (!instance.isreportViewer) {
dynamicfilters = instance.reportBuilder.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
}
else {
dynamicfilters = instance.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === instance.displayText; });
}
$("#daterangetypeid").val(0);
instance.editDynamicFilter(dynamicfilters, reportcolumn);
$("#dataList_AutoComplete").on('change', function () {
instance.loadDataListColumns();
});
$("#btnClear").click(() => {
this.clearDynamicFilterFields(reportcolumn);
});
$("#btnSave").unbind().click(function () {
if (instance.isreportViewer)
Unibase.Platform.Filters.Components.Editfilters.Instance().saveDynamicFilter(containerid);
else
instance.save(reportcolumn, containerid);
});
$("#btnClose").unbind().click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
instance.isreportViewer = false;
instance.dataListColumnName = "";
});
$("#isunlimited_checkbox").click(function () {
if ($('#isunlimited_checkbox').prop('checked') == false) {
instance.isUnLimited = false;
$('#isunlimited_checkbox').prop('checked', false);
}
else {
instance.isUnLimited = true;
$('#isunlimited_checkbox').prop('checked', true);
}
});
$("#ControlTypeDropDown").change(function () {
if (Number($("#ControlTypeDropDown option:selected").val()) == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
$(".dynFil-cascading").removeClass("hidden");
instance.loadDynamicFilters();
}
else {
$("#dynFilParentProperty_AutoComplete").val(0).trigger("change");
$("#dynFilApplyFor_AutoComplete").val(0).trigger("change");
$(".dynFil-cascading").addClass("hidden");
}
});
}
loadDataLists() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/datalists/getall_autocomplete';
AutoCompleteHelper.getHelper().Create("#dataList_AutoComplete", "#hfDynamicFilterAutoComplete_DataList", url, null);
}
loadDataListColumns() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield instance.reportManager.getDataListColumns(Number($("#dataList_AutoComplete").val()), null, null).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var res;
if (response.result != "") {
res = JSON.parse(response.result);
instance.selectedDatalistColumns = res;
var data = [];
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].AliasName, text: res[i].AliasName });
}
$("#datalistvalue_AutoComplete").empty().select2({
placeholder: 'Select Value Column',
data: data,
});
$("#datalisttext_AutoComplete").empty().select2({
placeholder: 'Select Text Column',
data: data,
});
$("#dynFilApplyFor_AutoComplete").empty().select2({
placeholder: 'Select Value Column',
data: data,
});
}
else {
return MessageHelper.Instance().showError("No DataListColumns", "divDynamicFilter_ErrorMessage");
}
}
else {
return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
}
});
});
}
loadDynamicFilters() {
var instance = this;
debugger;
if (instance.reportBuilder.dynamicFilters.length > 0) {
var dFilters = [];
for (var d = 0; d < instance.reportBuilder.dynamicFilters.length; d++) {
var dfill = instance.reportBuilder.dynamicFilters[d];
dFilters.push({ id: dfill.IsFilterableColumn, text: dfill.IsFilterableColumn });
}
$("#dynFilParentProperty_AutoComplete").select2({
placeholder: 'Select Parent Column',
data: dFilters,
});
}
}
save(reportcolumn, containerid) {
var instance = this;
let currentDatalistCol;
let IsFilterable = reportcolumn.IsFilterable;
if (IsFilterable == false)
reportcolumn.IsFilterable = !IsFilterable;
var dynamicFilters = instance.reportBuilder.dynamicFilters;
let dynamicfilterid = 0;
var dynamicfilIndex = dynamicFilters.find(d => d.IsFilterableColumn == reportcolumn.AliasName);
var dynFill = dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
if (dynFill.length > 0) {
dynamicfilterid = dynFill[0].DynamicFilterId;
var index = dynamicFilters.findIndex(function (o) {
return (o.IsFilterableColumn === reportcolumn.AliasName);
});
if (index !== -1)
dynamicFilters.splice(index, 1);
}
var model = new DynamicFilterModel();
model.IsFilterableColumn = reportcolumn.AliasName;
model.DataType = reportcolumn.DataType;
model.DisplayName = $("#txt_DisplayName").val().toString();
model.Index = (dynamicfilIndex) ? dynamicfilIndex.Index : dynamicFilters.length;
if (this.dataTypeId == Reports.Enums.DataType.dateTime) {
model.ReplaceExistingDates = $("#replaceexistingdates").prop("checked");
model.DateRangeTypeId = Number($("#daterangetypeid").val());
}
else {
model.DynamicFilterId = dynamicfilterid;
model.DataListId = Number($("#dataList_AutoComplete").val());
model.DataListName = instance.getSelect2Data("#dataList_AutoComplete");
model.ReportId = 0;
model.MappedColumn = $("#mappedcolumnsdropdown option:selected").val() === "0" ? "" : $("#mappedcolumnsdropdown option:selected").val().toString();
model.TextColumn = instance.getSelect2Data("#datalisttext_AutoComplete");
model.ValueIdColumn = Number($("#datalistvalue_AutoComplete").val());
model.ValueColumn = instance.getSelect2Data("#datalistvalue_AutoComplete");
model.TextIdColumn = Number($("#datalisttext_AutoComplete").val());
model.ControlTypeId = Number($("#ControlTypeDropDown").val());
model.FontCaseTypeId = Number($("#FontCaseTypeDropDown").val());
model.IsDefault = $(".dynamicfilter-defaultdate_" + reportcolumn.ColumnName).is(":checked");
model.IsUnLimited = $("#isunlimited_checkbox").prop("checked");
model.IsRequired = $("#isrequired_checkbox").prop("checked");
model.IsCustomFilter = $("#iscustomfilter_checkbox").prop("checked");
model.DateRangeTypeId = 0;
if (model.ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
model.ParentColumn = $("#dynFilParentProperty_AutoComplete").select2('data')[0].text.trim();
model.ApplyFor = $("#dynFilApplyFor_AutoComplete").select2('data')[0].text.trim();
}
let textCol = instance.selectedDatalistColumns.find(x => x.AliasName == model.TextColumn);
let valCol = instance.selectedDatalistColumns.find(x => x.AliasName == model.ValueColumn);
if (textCol && valCol && valCol.ColumnId == textCol.ColumnId) {
return MessageHelper.Instance().showError("Text column and value column cannot be same", "report_viewer_filter");
}
if (textCol && (textCol.DataTypeId == Reports.Enums.DataType.int32 || textCol.DataTypeId == Reports.Enums.DataType.int64)) {
return MessageHelper.Instance().showError("Text column cannot be interger type, convert to string and try again", "report_viewer_filter");
}
currentDatalistCol = this.datalistColumns.find(x => x.ColumnId == model.ValueIdColumn);
if (currentDatalistCol && reportcolumn.DataType == Reports.Enums.DataType.string &&
currentDatalistCol.DataTypeId != Reports.Enums.DataType.string && currentDatalistCol.DataTypeId != Reports.Enums.DataType.text)
return MessageHelper.Instance().showError("Selected value column data type should be string", "report_viewer_filter");
else if (currentDatalistCol && (reportcolumn.DataType == Reports.Enums.DataType.int32 || reportcolumn.DataType == Reports.Enums.DataType.int64 ||
reportcolumn.DataType == Reports.Enums.DataType.decimal) && currentDatalistCol.DataTypeId != Reports.Enums.DataType.int32 &&
currentDatalistCol.DataTypeId != Reports.Enums.DataType.int64 && currentDatalistCol.DataTypeId != Reports.Enums.DataType.decimal)
return MessageHelper.Instance().showError("Selected value column data type should be integer as dynamic filter data type is integer", "report_viewer_filter");
}
instance.sortDynamicFilter(model);
instance.reportBuilder.dynamicFilters.push(model);
instance.reportBuilder.togglePinDynamicFilters();
instance.navigationHelper.closePopUp();
this.dataListColumnName = '';
}
getSelect2Data(id) {
let Element = $(id);
if (Element && Element.length && Element.hasClass("select2-hidden-accessible"))
return Element.select2('data')[0].text.trim();
else
return "";
}
sortDynamicFilter(model) {
var instance = this;
let filetersList = $('#dynamic-list-group-wrapper');
if (!filetersList)
return;
filetersList.sortable({
connectWith: "#dynamic-list-group-wrapper",
cursor: 'move',
update: function (event, ui) {
$.each($('#dynamic-list-group-wrapper .datagroup'), function (index, item) {
let itemName = $(item).attr('data-isfilterablecolumn');
let dynamicFilters = instance.dynamicFilters;
if (dynamicFilters.length != 0) {
for (let x = 0; x < dynamicFilters.length; x++) {
if (dynamicFilters[x].IsFilterableColumn == itemName) {
dynamicFilters[x].Index = index;
break;
}
}
}
if (instance.isreportViewer)
$(item).find('.filter-index').text(index + 1);
});
}
});
}
dynamicFilterIsDefaultDateColumn(columnName) {
var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
if (dIndex != -1) {
let filtermodelarray = new Array();
let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
if (currentFilter.IsPartition) {
$("#dynamicfilter-defaultdate_" + columnName).prop("checked", false);
return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck partition before making default", "div_ReportBuilderErrorMessage");
}
if ($("#dynamicfilter-defaultdate_" + columnName).hasClass("imchecked")) {
$("input[type=radio][name=defaultdate]").prop('checked', false);
$("#dynamicfilter-defaultdate_" + columnName).removeClass("imchecked");
}
var isdefault = $("#dynamicfilter-defaultdate_" + columnName).is(":checked");
if (isdefault)
$("#dynamicfilter-defaultdate_" + columnName).addClass("imchecked");
currentFilter.IsDefault = isdefault;
this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
if (res.status == Unibase.Data.Status.Success)
MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
else
MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
});
}
}
dynamicFilterIsPartition(columnName) {
var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
if (dIndex != -1) {
let filtermodelarray = new Array();
let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
if (currentFilter.IsDefault) {
$("#chk_ispartition_" + columnName).prop("checked", false);
return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck default before making partition", "div_ReportBuilderErrorMessage");
}
var ispartition = $("#chk_ispartition_" + columnName).prop("checked");
currentFilter.IsPartition = ispartition;
this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
if (res.status == Unibase.Data.Status.Success)
MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
else
MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
});
}
}
removeDynamicFilterSelectedColumn_table(DisplayText) {
var instance = this;
bootbox.confirm("Do you want to Delete the Filter?", function (result) {
if (result) {
var index = instance.dynamicFilters.findIndex(function (o) {
if (o.IsFilterableColumn === DisplayText) {
instance.reportManager.deleteDynamicFilter(o.DynamicFilterId).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, '');
}
else if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, 'divEditFiltersErrMsg');
}
});
}
return o.IsFilterableColumn === DisplayText;
});
if (index !== -1)
instance.dynamicFilters.splice(index, 1);
$(`[data-isfilterablecolumn="${DisplayText}"]`).remove();
if (instance.dynamicFilters.length != 0) {
for (var i = 0; i < instance.dynamicFilters.length; i++) {
let filterIndex = instance.getIndexByDisplayText_dynamicFilterColumns(instance.dynamicFilters[i].IsFilterableColumn);
instance.dynamicFilters[filterIndex].Index = i;
if (instance.isreportViewer)
$("#dynamic-list-group-wrapper .filter-item").eq(i).find('.filter-index').text(i + 1);
}
}
else {
if (instance.isreportViewer) {
$('#dynamicFiltersCard').addClass('d-none');
if (!$('#staticFiltersCard').is(':visible')) {
$('#noFiltersErrMsg').removeClass('d-none');
}
}
}
}
});
}
getIndexByDisplayText_dynamicFilterColumns(isFilterableColumn) {
return this.reportBuilder.dynamicFilters.findIndex(x => x.IsFilterableColumn == isFilterableColumn);
}
loadMappedColumns(filtercols) {
var instance = this;
Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(instance.reportBuilder.DataListId).then((res) => {
if (res.status == Unibase.Data.Status.Success) {
if (res.result.Parameters) {
let params = res.result.Parameters.replaceAll("@", "");
params = params.split("|");
let paramOptions = "";
for (var i = 0; i < params.length; i++) {
let currentFilter = filtercols.find(x => x.MappedColumn == params[i]);
if (currentFilter)
paramOptions += `<option value="${params[i]}" selected > ${params[i]} </option>`;
else
paramOptions += `<option value="${params[i]}"> ${params[i]} </option>`;
}
$("#mappedcolumnsdropdown").append(paramOptions);
}
else {
$(".mappedcolumnsdiv").addClass("d-none");
}
}
});
}
editDynamicFilter(dynamicfilters, reportcolumn) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
if (dynamicfilters.length > 0) {
this.bindDisplayNameOnEdit(dynamicfilters[0].DisplayName || reportcolumn && reportcolumn.DisplayText);
if (instance.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$('#daterangetypeid').val(dynamicfilters[0].DateRangeTypeId || 0);
$('#replaceexistingdates').prop('checked', dynamicfilters[0].ReplaceExistingDates);
}
else {
if (dynamicfilters[0].IsUnLimited) {
$('#isunlimited_checkbox').prop('checked', true);
}
if (dynamicfilters[0].IsRequired) {
$('#isrequired_checkbox').prop('checked', true);
}
if (dynamicfilters[0].IsCustomFilter) {
$('#iscustomfilter_checkbox').prop('checked', true);
}
$("#ControlTypeDropDown").val(dynamicfilters[0].ControlTypeId);
$("#FontCaseTypeDropDown").val(dynamicfilters[0].FontCaseTypeId);
$("#dataList_AutoComplete").append("<option value=" + dynamicfilters[0].DataListId + " selected>" + dynamicfilters[0].DataListName + "</option>");
if (instance.dataTypeId != Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
yield instance.loadDataListColumns();
}
$("#datalistvalue_AutoComplete").val(dynamicfilters[0].ValueColumn).trigger("change");
$("#datalisttext_AutoComplete").val(dynamicfilters[0].TextColumn).trigger("change");
if (dynamicfilters[0].ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
$(".dynFil-cascading").removeClass("hidden");
instance.loadDynamicFilters();
$("#dynFilParentProperty_AutoComplete").val(dynamicfilters[0].ParentColumn).trigger("change");
$("#dynFilApplyFor_AutoComplete").val(dynamicfilters[0].ApplyFor).trigger("change");
}
}
}
else {
reportcolumn && this.bindDisplayNameOnEdit(reportcolumn.DisplayText);
}
});
}
clearDynamicFilterFields(reportcolumn) {
var instance = this;
if (instance.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$("#daterangetypeid").val(0);
$("#replaceexistingdates").prop("checked", true);
}
else {
let dynamicFilters = [];
if (!Unibase.Platform.Analytics.Reports.ReportFilter.Instance().isreportViewer) {
dynamicFilters = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;
var index = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.findIndex(function (o) {
return (o.IsFilterableColumn === reportcolumn.DisplayText);
});
if (index !== -1)
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.splice(index, 1);
reportcolumn.IsFilterable = false;
}
else {
dynamicFilters = Unibase.Platform.Filters.Components.Editfilters.Instance().dynamicFilters;
}
$("#datalistvalue_AutoComplete, #dataList_AutoComplete, #datalisttext_AutoComplete, #datalistauto_AutoComplete").val("0").text("select");
$("#FontCaseTypeDropDown").val("0");
$("#isunlimited_checkbox, #isrequired_checkbox, #iscustomfilter_checkbox").prop("checked", false);
}
}
bindDisplayNameOnEdit(DisplayName) {
if (DisplayName)
$("#txt_DisplayName").val(DisplayName);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new DynamicFilter();
}
return this.instance;
}
}
Reports.DynamicFilter = DynamicFilter;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,87 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
let ReportBuilder;
(function (ReportBuilder) {
class Import extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportmanager = Analytics.Managers.ReportManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/analytics/managers/reportmanager.js',
'platform/analytics/components/reportbuilder/import.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="import-export-body modal-body" style="overflow-y: auto;"><div class="card"><div class="card-header"><span class="h6 text-dark ">Import</span></div><div id="industry_validation" class="clear"></div><div class="card-body scrollable"><div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required" style="width:150px"><hr /> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().FileUpload(' + containerid + ');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div></div></div></div><div class="bg-white card-footer footer" ><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/exportreports/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData).then(function (response) {
MessageHelper.Instance().showSuccess('success', "div_importmessage");
instance.navigationHelper.hideLoading();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData = new FormData();
Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData.append(fileSelected.name, fileSelected);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Import();
}
return this.instance;
}
}
Import.fileData = new FormData();
ReportBuilder.Import = Import;
})(ReportBuilder = Components.ReportBuilder || (Components.ReportBuilder = {}));
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"import.js","sourceRoot":"","sources":["import.ts"],"names":[],"mappings":"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"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){let u;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportmanager=i.Managers.ReportManager.Instance();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/components/reportbuilder/import.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="import-export-body modal-body" style="overflow-y: auto;"><div class="card"><div class="card-header"><span class="h6 text-dark ">Import<\/span><\/div><div id="industry_validation" class="clear"><\/div><div class="card-body scrollable"><div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required" style="width:150px"><hr /> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().FileUpload('+t+');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><\/div><\/div><\/div><div class="bg-white card-footer footer" ><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Analytics.Components.ReportBuilder.Import.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/exportreports/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Analytics.Components.ReportBuilder.Import.fileData).then(function(){MessageHelper.Instance().showSuccess("success","div_importmessage");r.navigationHelper.hideLoading();$("#"+i).modal("hide");$("#"+i).remove()})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Analytics.Components.ReportBuilder.Import.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Analytics.Components.ReportBuilder.Import.fileData=new FormData;n.Platform.Analytics.Components.ReportBuilder.Import.fileData.append(i.name,i)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.Import=u})(u=r.ReportBuilder||(r.ReportBuilder={}))})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,241 @@
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) {
let ReportBuilder;
(function (ReportBuilder) {
class ImportAndExport extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportmanager = Analytics.Managers.ReportManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/analytics/managers/reportmanager.js',
'platform/analytics/components/reportbuilder/import.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = `<form id="form_Import" data-validate="parsley" data-isdynamic="false">
<div class="bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title">Import/Export</strong>
<div class="dropdown report-options-dp my-auto">
<a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1 " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="" data-tooltip="true" title="" aria-describedby="ui-id-16">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-v ellipsis-hover-1" aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu dropdown-menu-right ViewerTypes_dropdown">
<a href="javascript:;" id="fileExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportsReports();">Reports</a>
<a href="javascript:;" id="viewersExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportViewers(0,0,0,'');">Viewers</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportDynamicFilters(0);">Dynamic Filters</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().exportFilter(0, 0);">Common Filters</a>
</div>
</div>
<div id="div_importmessage" class="form-error-message"></div>
</div>
<div data-simplebar class="import-export-body modal-body simple-scroll-bar">
<div id="industry_validation" class="clear"></div>
<div id="div_importexport" class="">
<div class="card" id="importexportsection">
<div class="card-body">
<div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
<br>
<input type="radio" id="report_radio_btn" class="importreport" onclick="" name="report_viewer_dyfil_import_radio_btn" value="report">
<label for="report_radio_btn">Report</label>
<br>
<input type="radio" id="viewer_radio_btn" class="importviewer" onclick="" name="report_viewer_dyfil_import_radio_btn" value="viewer">
<label for="viewer_radio_btn">Viewers</label>
<br>
<input type="radio" id="dyfil_radio_btn" class="importdynamicfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="dynamic filters">
<label for="dyfil_radio_btn">Dynamic Filters</label>
<br>
<input type="radio" id="cmfil_radio_btn" class="importcommonfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="common filters">
<label for="cmfil_radio_btn">Common Filters</label>
<br>
<hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().FileUpload('${containerid}');">Upload</a>
</div>
</div>
</div>
<div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div>
</div>
</div>
<div class="bg-white card-footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
</form>`;
return html;
}
showImportExport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance(), null, Platform.Helpers.Size.Large);
}
exportsReports() {
var instance = this;
instance.navigationHelper.showLoading();
instance.reportmanager.exportReports().then(function (response) {
if (response.result != "") {
MessageHelper.Instance().showSuccess(response.message, '');
}
instance.downloadResponseAndHideLoading(response, "Reports.xml");
});
}
FileUpload(containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var url;
instance.navigationhelper.showLoading();
let isReportUpload = $("#report_radio_btn").prop("checked");
let isDynamicFiltersUpload = $("#dyfil_radio_btn").prop("checked");
let isCommonFiltersUpload = $("#cmfil_radio_btn").prop("checked");
if (isReportUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importreports/np';
}
else if (isDynamicFiltersUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importdynamicfilters/np';
}
else if (isCommonFiltersUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importcommonfilters/np';
}
else {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importreportviews/np';
}
var delay = ms => new Promise(res => { setTimeout(res, ms); });
yield delay(0);
yield Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
MessageHelper.Instance().showSuccess('success', "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationhelper.hideLoading();
});
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData = new FormData();
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData.append(fileSelected.name, fileSelected);
}
exportViewers(viewerId, viewerName, reportid, containerId) {
this.navigationHelper.showLoading();
let rv_ins;
if (containerId) {
rv_ins = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerId);
}
let _id = reportid || rv_ins && rv_ins.ReportId || 0;
Unibase.Platform.Analytics.Managers.ViewerManager.Instance().exportViewers(viewerId || 0, _id).then((response) => {
if (response.status == Unibase.Data.Status.Success && response.result != null) {
var filename;
if (viewerName && containerId) {
filename = rv_ins.reportname + "_" + viewerName + ".xml";
}
else if (containerId) {
filename = rv_ins.reportname + "_viewers.xml";
}
else {
let ip = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
if (ip && ip.length) {
let reportNameIP = ip.find(x => x.Key.endsWith("_reportname"));
if (reportNameIP.Value)
filename = reportNameIP.Value + "_viewers.xml";
}
!filename && (filename = "AllReportViewers.xml");
}
this.downloadResponseAndHideLoading(response, filename);
}
else if (response.status == Unibase.Data.Status.Warning) {
MessageHelper.Instance().showError(response.message, "div_message");
this.navigationHelper.hideLoading();
}
});
}
exportReportViewers(reportId) {
if (!reportId)
reportId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("_reportid")).Value);
this.exportViewers(0, "", reportId, "");
}
exportDynamicFilters(reportId) {
this.navigationHelper.showLoading();
let ip = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
let reportName = "";
if (!reportId && ip.length) {
let _reportid = ip.find(x => x.Key.endsWith("_reportid"));
if (_reportid && _reportid.Value)
reportId = Number(_reportid.Value);
}
reportId && (reportName = ip.find(x => x.Key.endsWith("_reportname")).Value);
this.reportmanager.exportDynamicFilters(reportId).then((res) => {
if (res.status == Unibase.Data.Status.Success) {
this.downloadResponseAndHideLoading(res, (reportName || "AllReports") + "_DynamicFilters.xml");
}
else {
this.navigationHelper.hideLoading();
}
});
}
downloadResponseAndHideLoading(response, filename) {
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
this.navigationHelper.hideLoading();
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportAndExport();
}
return this.instance;
}
}
ImportAndExport.fileData = new FormData();
ReportBuilder.ImportAndExport = ImportAndExport;
})(ReportBuilder = Components.ReportBuilder || (Components.ReportBuilder = {}));
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,43 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){let u;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportmanager=i.Managers.ReportManager.Instance();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/components/reportbuilder/import.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return`<form id="form_Import" data-validate="parsley" data-isdynamic="false">
<div class="bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title">Import/Export</strong>
<div class="dropdown report-options-dp my-auto">
<a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1 " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="" data-tooltip="true" title="" aria-describedby="ui-id-16">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-v ellipsis-hover-1" aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu dropdown-menu-right ViewerTypes_dropdown">
<a href="javascript:;" id="fileExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportsReports();">Reports</a>
<a href="javascript:;" id="viewersExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportViewers(0,0,0,'');">Viewers</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportDynamicFilters(0);">Dynamic Filters</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().export(0, 0);">Common Filters</a>
</div>
</div>
<div id="div_importmessage" class="form-error-message"></div>
</div>
<div data-simplebar class="import-export-body modal-body simple-scroll-bar">
<div id="industry_validation" class="clear"></div>
<div id="div_importexport" class="">
<div class="card" id="importexportsection">
<div class="card-body">
<div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
<br>
<input type="radio" id="report_radio_btn" class="importreport" onclick="" name="report_viewer_dyfil_import_radio_btn" value="report">
<label for="report_radio_btn">Report</label>
<br>
<input type="radio" id="viewer_radio_btn" class="importviewer" onclick="" name="report_viewer_dyfil_import_radio_btn" value="viewer">
<label for="viewer_radio_btn">Viewers</label>
<br>
<input type="radio" id="dyfil_radio_btn" class="importdynamicfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="dynamic filters">
<label for="dyfil_radio_btn">Dynamic Filters</label>
<br>
<input type="radio" id="cmfil_radio_btn" class="importcommonfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="common filters">
<label for="cmfil_radio_btn">Common Filters</label>
<br>
<hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().FileUpload('${t}');">Upload</a>
</div>
</div>
</div>
<div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div>
</div>
</div>
<div class="bg-white card-footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
</form>`}showImportExport(){this.navigationHelper.popup(0,"",n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance(),null,t.Helpers.Size.Large)}exportsReports(){var n=this;n.navigationHelper.showLoading();n.reportmanager.exportReports().then(function(t){t.result!=""&&MessageHelper.Instance().showSuccess(t.message,"");n.downloadResponseAndHideLoading(t,"Reports.xml")})}FileUpload(i){var r=this,u;r.navigationhelper.showLoading();let f=$("#report_radio_btn").prop("checked"),e=$("#dyfil_radio_btn").prop("checked"),o=$("#cmfil_radio_btn").prop("checked");u=f?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreports/np":e?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importdynamicfilters/np":o?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importcommonfilters/np":_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreportviews/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"div_importmessage"):(MessageHelper.Instance().showSuccess("success","div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove());r.navigationhelper.hideLoading()})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData=new FormData;n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData.append(i.name,i)}exportViewers(t,i,r,u){this.navigationHelper.showLoading();let f;u&&(f=n.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(u));let e=r||f&&f.ReportId||0;n.Platform.Analytics.Managers.ViewerManager.Instance().exportViewers(t||0,e).then(t=>{if(t.status==n.Data.Status.Success&&t.result!=null){var r;if(i&&u)r=f.reportname+"_"+i+".xml";else if(u)r=f.reportname+"_viewers.xml";else{let t=n.Themes.Providers.Detail_Settings.Instance().InputParameters;if(t&&t.length){let n=t.find(n=>n.Key.endsWith("_reportname"));n.Value&&(r=n.Value+"_viewers.xml")}r||(r="AllReportViewers.xml")}this.downloadResponseAndHideLoading(t,r)}else t.status==n.Data.Status.Warning&&(MessageHelper.Instance().showError(t.message,"div_message"),this.navigationHelper.hideLoading())})}exportReportViewers(t){t||(t=Number(n.Themes.Providers.Detail_Settings.Instance().InputParameters.find(n=>n.Key.endsWith("_reportid")).Value));this.exportViewers(0,"",t,"")}exportDynamicFilters(t){this.navigationHelper.showLoading();let i=n.Themes.Providers.Detail_Settings.Instance().InputParameters,r="";if(!t&&i.length){let n=i.find(n=>n.Key.endsWith("_reportid"));n&&n.Value&&(t=Number(n.Value))}t&&(r=i.find(n=>n.Key.endsWith("_reportname")).Value);this.reportmanager.exportDynamicFilters(t).then(t=>{t.status==n.Data.Status.Success?this.downloadResponseAndHideLoading(t,(r||"AllReports")+"_DynamicFilters.xml"):this.navigationHelper.hideLoading()})}downloadResponseAndHideLoading(n,t){var r=n.result,i=document.createElement("a"),u=new Blob([r],{type:"text/plain"});i.setAttribute("href",window.URL.createObjectURL(u));i.setAttribute("download",t);i.dataset.downloadurl=["text/plain",i.download,i.href].join(":");i.draggable=!0;i.classList.add("dragout");i.click();this.navigationHelper.hideLoading()}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.ImportAndExport=u})(u=r.ReportBuilder||(r.ReportBuilder={}))})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,578 @@
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 Reports;
(function (Reports) {
class Pivot extends Platform.Core.BaseComponent {
constructor() {
super();
this.pivotTypeId = 0;
this.isDataTreeExpand = false;
this.reportManager = Analytics.Managers.ReportManager.Instance();
this._reportBuilder = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
this._reportBuilderTemplate = Reports.ReportBuilder_Template.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/components/reportbuilder/reportbuilderhiddenfields.js'];
return jsFiles;
}
html(id, containerid) {
var instance = this;
let html = instance._reportBuilderTemplate.loadPivotForm();
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#" + containerid).find(".modal-body").height($(window).outerHeight() - 125);
this.loadPivotSelect2s();
$("#chktreeexpand_checkbox").click(function () {
if ($('#chktreeexpand_checkbox').prop('checked') == false) {
instance.isDataTreeExpand = false;
$('#chktreeexpand_checkbox').prop('checked', false);
}
else {
instance.isDataTreeExpand = true;
$('#chktreeexpand_checkbox').prop('checked', true);
}
});
$("#chkPivotTableConfig_checkbox").click(function () {
if ($('#chkPivotTableConfig_checkbox').prop('checked') == false) {
instance._reportBuilder.enablePivotTableConfig = false;
$('#chkPivotTableConfig_checkbox').prop('checked', false);
}
else {
instance._reportBuilder.enablePivotTableConfig = true;
$('#chkPivotTableConfig_checkbox').prop('checked', true);
}
});
if (instance._reportBuilder.pivot.ColumnName != "" && (instance._reportBuilder.pivot.ColumnName)) {
var colName = instance._reportBuilder.pivot.ColumnName;
var Index = instance._reportBuilder.selectedColumns.findIndex(x => x.ColumnName == colName);
var colId = instance._reportBuilder.selectedColumns[Index].ColumnId;
$("#PivotColumns_AutoComplete").val(colId).trigger("change");
let aggrValue = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.AggColumnName);
$("#PivotAggrColumn").val(aggrValue).trigger("change");
let aggrTypeId = instance._reportBuilder.pivot.AggFuncId;
$("#PivotAggrType").val(aggrTypeId).trigger("change");
let DateValue = instance._reportBuilder.pivot.DateType;
if (DateValue)
$("#PivotDateType").val(DateValue).trigger("change");
if (instance._reportBuilder.TenureReport.length != 0) {
let TimeInterval = instance._reportBuilder.TenureReport[colName].TimeInterval;
if (TimeInterval != undefined) {
$("#tenure_checkbox").prop("checked", true);
$("#div_Intervals").removeClass("hidden");
$("#txt_TimeIntervals").val(TimeInterval);
}
}
if (instance._reportBuilder.pivot.IsPivotRows_Selected == true) {
let val = instance._reportBuilder.pivot.PivotRows;
$("#PivotRows_Select2").val(val).trigger("change");
}
}
if (instance.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
if (instance._reportBuilder.pivot.AggColumnName != undefined) {
let aggrValue = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.AggColumnName);
$("#PivotAggrColumn").val(aggrValue).trigger("change");
let aggrTypeId = instance._reportBuilder.pivot.AggFuncId;
$("#PivotAggrType").val(aggrTypeId).trigger("change");
}
}
if (instance._reportBuilder.pivot.ParentColumnName != "" && (instance._reportBuilder.pivot.ParentColumnName)) {
let childCol = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.ChildColumnName);
$("#PivotChildColumnName_AutoComplete").val(childCol).trigger("change");
let childVal = instance._reportBuilder.pivot.PivotValue_Selected;
$("#PivotValue_AutoComplete").val(childVal).trigger("change");
let parentColId = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.ParentColumnName);
$("#PivotParentColumnName_AutoComplete").val(parentColId).trigger("change");
$('#chktreeexpand_checkbox').prop('checked', instance._reportBuilder.pivot.IsDatatreeExpand);
}
$("#tenure_checkbox").click(function () {
if ($('#tenure_checkbox').prop('checked') == true) {
$("#div_Intervals").removeClass("hidden");
$("#PivotDateType").append(`<option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + `"> Day </option>`);
Unibase.Platform.Analytics.Reports.Tenure.Instance().CheckedTenure();
}
else {
$("#div_Intervals").addClass("hidden");
$("#txt_TimeIntervals").val("");
$("#PivotDateType option[value='" + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + "']").remove();
instance._reportBuilder.TenureReport = [];
}
});
$("#btn_Close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_ApplyPivot").click(function () {
instance.applyPivot();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
return [];
}
selectedpivotType(pivotType) {
var instance = this;
let pivotTypeId;
if (pivotType == 0) {
instance.clearPivotFields();
pivotTypeId = Number($("#pivotType_Select2").val());
instance.intervals = $("#txt_TimeIntervals").val().toString();
this.pivotTypeId = 0;
}
else {
pivotTypeId = pivotType;
$("#pivotType_Select2").val(pivotType);
}
if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.Pivot) {
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
$("#div_PivotRows").removeClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.Pivot;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView) {
$("#div_datatreeexpand").removeClass("hidden");
$("#div_PivotChildColumnName").removeClass("hidden");
$("#div_PivotValue").removeClass("hidden");
$("#div_PivotParentColumnName").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_PivotColumns").addClass("hidden");
$("#div_PivotDateType").addClass("hidden");
$("#div_PivotAggrColumn").addClass("hidden");
$("#div_PivotAggrType").addClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView) {
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$("#div_datatreeexpand").removeClass("hidden");
$("#div_PivotChildColumnName").removeClass("hidden");
$("#div_PivotValue").removeClass("hidden");
$("#div_PivotParentColumnName").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
$("#div_Intervals").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TimeInterval) {
$("#div_Intervals").removeClass("hidden");
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.TimeInterval;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$("#div_PivotTableConfig").removeClass("hidden");
$("#div_PivotColumns").addClass("hidden");
$("#div_PivotDateType").addClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable;
}
}
clearPivotFields() {
$("#txt_TimeIntervals").text("");
$('#PivotColumns_AutoComplete').val('0').trigger('change');
$('#PivotDateType').val('0').trigger('change');
$('#PivotAggrColumn').val('0').trigger('change');
$('#PivotAggrType').val('-1').trigger('change');
$('#PivotChildColumnName_AutoComplete').val('0').trigger('change');
$('#PivotValue_AutoComplete').val('0').trigger('change');
$('#PivotParentColumnName_AutoComplete').val('0').trigger('change');
$('#chktreeexpand_checkbox').prop("checked", false);
}
applyPivot() {
var instance = this;
if (this.pivotTypeId != Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
$("#ExpandIcon, #CollapseIcon").removeClass("hidden");
instance._reportBuilder.dataTreeRowExpandedColumn = [];
var colId = $("#PivotColumns_AutoComplete option:selected").val();
var colName = $("#PivotColumns_AutoComplete option:selected").text();
instance._reportBuilder.pivot.ColumnName = "";
instance._reportBuilder.pivot.ColumnName = colName;
let val = $("#PivotRows_Select2").val();
if (val.length == 0) {
instance._reportBuilder.pivot.IsPivotRows_Selected = false;
for (var opt = 0; opt < $("#PivotRows_Select2").find("option").length; opt++) {
let option = $($("#PivotRows_Select2").find("option")[opt]).val();
val.push(option);
}
}
else {
instance._reportBuilder.pivot.IsPivotRows_Selected = true;
}
instance._reportBuilder.pivot.PivotRows = val;
instance._reportBuilder.pivot.AggColumnName = $("#PivotAggrColumn option:selected").text();
instance._reportBuilder.pivot.AggFuncId = Number($("#PivotAggrType option:selected").val());
if (Number($("#PivotParentColumnName_AutoComplete option:selected").val()) != 0) {
instance._reportBuilder.IsPivotTree = true;
instance._reportBuilder.pivot.IsDatatreeExpand = instance.isDataTreeExpand;
instance._reportBuilder.pivot.ChildColumnName = $("#PivotChildColumnName_AutoComplete option:selected").text();
instance._reportBuilder.pivot.ChildColumnValue = Number($("#PivotValue_AutoComplete option:selected").text());
instance._reportBuilder.pivot.ParentColumnName = $("#PivotParentColumnName_AutoComplete option:selected").text();
if ($("#PivotValue_AutoComplete option:selected").val() != "-1") {
instance._reportBuilder.pivot.PivotValue_Selected = Number($("#PivotValue_AutoComplete option:selected").text());
}
}
else {
instance._reportBuilder.IsPivotTree = false;
}
instance._reportBuilder.TenureReport = [];
if ($("#txt_TimeIntervals").val() != "") {
instance._reportBuilder.TenureReport[colName] = {
TimeInterval: $("#txt_TimeIntervals").val(),
};
var Values_len = instance._reportBuilder.TenureReport.length;
instance._reportBuilder.TenureReport.length = Values_len + 1;
instance._reportBuilder.Interval = $("#txt_TimeIntervals").val();
}
if (this.pivotTypeId) {
let pivot = instance._reportBuilder.pivot;
if (this.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView) {
if (!pivot.ParentColumnName || pivot.ParentColumnName == "Select Pivot Parent Column" || !pivot.ChildColumnName || pivot.ChildColumnName == "- Select Pivot Child Column -" || pivot.PivotValue_Selected == -1)
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
if (instance._reportBuilder.selectedColumns.findIndex(x => x.AliasName.toLowerCase().includes("haschild")) == -1)
return MessageHelper.Instance().showError("For Tree View report 'hasChild' report column should be must", "div_ReportBuilderErrorMessage");
}
else if (this.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView) {
if (!pivot.ParentColumnName || pivot.ParentColumnName == "Select Pivot Parent Column" || !pivot.ChildColumnName || pivot.ChildColumnName == "- Select Pivot Child Column -" ||
!pivot.ColumnName || pivot.ColumnName == "- Select Pivot Column -" || !pivot.AggColumnName || pivot.AggColumnName == "- Select Aggregation Column -")
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
if (instance._reportBuilder.selectedColumns.findIndex(x => x.AliasName.toLowerCase().includes("haschild")) == -1)
return MessageHelper.Instance().showError("For Pivot Treeview report 'hasChild' report column should be must", "div_ReportBuilderErrorMessage");
}
else if (!pivot.ColumnName || pivot.ColumnName == "- Select Pivot Column -" || !pivot.AggColumnName || pivot.AggColumnName == "- Select Aggregation Column -" || pivot.AggFuncId == -1)
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
}
instance._reportBuilder.datatreeIndex_Width = 70;
instance._reportBuilder.load_data(instance._reportBuilder.table);
}
else {
instance._reportBuilder.pivot.AggColumnName = $("#PivotAggrColumn option:selected").text();
instance._reportBuilder.pivot.AggFuncId = Number($("#PivotAggrType option:selected").val());
instance.loadPivotTable(instance._reportBuilder.table);
}
}
loadPivotTable(table) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var repObj = instance._reportBuilder.getReportData();
yield instance.reportManager.getTableData(repObj).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
if (response.result != "") {
var res = JSON.parse(response.result);
var rptData = "";
if (res != "" && res.Data) {
rptData = JSON.parse(res.Data);
instance.pivotTable(rptData);
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
});
});
}
pivotTable(reportresponse) {
var instance = this;
instance.fileCacheHelper.loadCssFile("libs/pivottable/css/pivot.css", function () {
instance.fileCacheHelper.loadJsFile("libs/pivottable/js/pivot.js", function () {
var rptRowCols = [];
var rptColumnCols = [];
if (instance._reportBuilder.ReportColumns.length != 0) {
for (var p = 0; p < instance._reportBuilder.ReportColumns.length; p++) {
if (instance._reportBuilder.ReportColumns[p].IsPivotTableCol) {
rptColumnCols.push("" + instance._reportBuilder.ReportColumns[p].AliasName + "");
}
else {
rptRowCols.push("" + instance._reportBuilder.ReportColumns[p].AliasName + "");
}
}
}
let containerEl = $("#tabulatorReportbuilder");
containerEl.pivotUI(reportresponse, {
cols: rptColumnCols,
rows: rptRowCols,
unusedAttrsVertical: 'hours',
rendererName: "Table",
onRefresh: function (config) {
return __awaiter(this, void 0, void 0, function* () {
const pvtUnusedList = [];
containerEl.find('.pvtUnused .pvtAttr').each(function (i, e) {
pvtUnusedList.push($(e).contents().get(0).nodeValue);
var hiddencol_index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray($(e).contents().get(0).nodeValue);
if (hiddencol_index > -1) {
instance._reportBuilder.selectedColumns[hiddencol_index].Isvisible = false;
}
});
for (var c = 0; c < config.cols.length; c++) {
var index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray(config.cols[c]);
if (index > -1) {
instance._reportBuilder.selectedColumns[index].IsPivotTableCol = true;
}
if (config.vals.length > 0) {
var aggrcol_index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray(config.vals[0]);
if (aggrcol_index > -1) {
var aggrtypeid = yield instance.getPivotAggregationTypeId(config.aggregatorName);
instance._reportBuilder.selectedColumns[aggrcol_index].PivotTableAggrTypeId = aggrtypeid;
}
}
}
});
}
});
instance._reportBuilder.EditableTabulatorTitle();
containerEl.find('.pvtAttr').append('<span></span>');
containerEl.addClass('pivot-ui-tableview');
containerEl.find('button').each(function (i, e) {
if ($(e).text().toLowerCase().includes('cancel')) {
$(e).addClass('btn btn-outline-danger btn-sm');
}
else {
$(e).addClass('btn btn-primary btn-sm');
}
});
});
});
}
getPivotAggregationTypeId(aggrName) {
var aggrtypeid = 0;
var instance = this;
instance.fileCacheHelper.loadJsFileAsync("platform/analytics/enums/pivottableaggregationtype.js", function () {
switch (aggrName) {
case 'Count':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Count;
break;
case 'Count Unique Values':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.CountUniqueValues;
break;
case 'List Unique Values':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.ListUniqueValues;
break;
case 'Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Sum;
break;
case 'Integer Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.IntegerSum;
break;
case 'Average':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Average;
break;
case 'Median':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Median;
break;
case 'Sample Variance':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SampleVariance;
break;
case 'Sample Standard Deviation':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SampleStandardDeviation;
break;
case 'Minimum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Minimum;
break;
case 'Maximum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Maximum;
break;
case 'First':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.First;
break;
case 'Last':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Last;
break;
case 'Sum over Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SumoverSum;
break;
}
});
return aggrtypeid;
}
changedPivotColumn() {
var instance = this;
$("#PivotRows_Select2").val("").trigger("change");
$("#PivotRows_Select2").empty();
var colId = Number($("#PivotColumns_AutoComplete option:selected").val());
if (colId != 0) {
var rows;
var dataType = Number($("#allDatalistColumns #li_" + colId + " span.datalist_column").attr('data-column-datatype'));
if (dataType != Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$("#PivotDateType").val("0");
var colName = $("#PivotColumns_AutoComplete option:selected").text();
var AggrFuncId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().Aggregations.findIndex(x => x == $("#PivotDateType option:selected").val());
instance._reportBuilder.getDistinctData(Number(colId), colName, AggrFuncId);
}
else {
if ($("#tenure_checkbox").prop("checked") == true || instance._reportBuilder.TenureReport.length != 0) {
$("#PivotDateType").empty().append(`<option value="0"> Select Date Type </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + `"> Day </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.month + `" > Month </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.year + `" > Year </option>`);
}
else {
$("#PivotDateType").empty().append(`<option value="0"> Select Date Type </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.month + `"> Month </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.year + `"> Year </option>`);
}
}
$("#PivotRows_Select2").select2({
placeholder: 'Select Pivot Rows',
data: rows,
});
}
}
changedDateType() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var colId = Number($("#PivotColumns_AutoComplete option:selected").val());
if (colId != 0) {
var colName = $("#PivotColumns_AutoComplete option:selected").text();
var AggrFuncId = Number($("#PivotDateType option:selected").val());
var index = instance._reportBuilder.getIndexByColumnName_selectedColumnsArray(colName);
instance._reportBuilder.selectedColumns[index].DataType = AggrFuncId;
yield instance._reportBuilder.getDistinctData(colId, colName, AggrFuncId);
Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().pivot.DateType = Number($("#PivotDateType option:selected").val());
let val = instance._reportBuilder.pivot.PivotRows;
if (!val) {
$("#PivotRows_Select2").select2({
placeholder: 'No data to show',
});
}
else if (val.length != 0) {
$("#PivotRows_Select2").select2({
placeholder: 'Select Pivot Rows',
data: val,
});
}
}
});
}
getDistinctChildColumnData(colName) {
var instance = this;
instance._reportBuilder.distinctColumnData = [];
var cf_fromDate = btoa(Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate);
var cf_toDate = btoa(Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate);
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getDistinctColumnData(instance._reportBuilder.DataListId, colName, 0, cf_fromDate, cf_toDate).then(function (response) {
if (response != "") {
for (var i = 0; i < response.length; i++) {
instance._reportBuilder.distinctColumnData.push(response[i][colName]);
}
var parentvalues = instance._reportBuilder.distinctColumnData;
$("#PivotValue_AutoComplete").select2({
placeholder: 'Select Pivot Child Value',
data: parentvalues,
});
let childVal = instance._reportBuilder.pivot.PivotValue_Selected;
if (childVal != -1 && childVal != undefined) {
$("#PivotValue_AutoComplete").val(childVal).trigger("change");
}
}
});
}
changedPivotAggrColumn() {
var instance = this;
$("#PivotAggrType").empty().append(`<option value="-1" > Select Aggregation Type </option>`);
var colId = Number($("#PivotAggrColumn option:selected").val());
if (colId != 0) {
let DataType = Number($("#allDatalistColumns #li_" + colId + " span.datalist_column").attr('data-column-datatype'));
let Aggregation = instance._reportBuilder.getAggregationsByDataType(DataType);
for (var i = 0; i < Aggregation.length; i++) {
$("#PivotAggrType").append(`<option value="` + Aggregation[i].Value + `" > ` + Aggregation[i].AggrType + ` </option>`);
}
}
}
changedPivotChildColumn() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
$("#PivotValue_AutoComplete").empty().append(`<option value="-1" > Select Parent Value </option>`);
$("#div_PivotValue").removeClass("hidden");
var colName = $("#PivotChildColumnName_AutoComplete option:selected").text();
var colId = Number($("#PivotChildColumnName_AutoComplete option:selected").val());
if (colId != 0) {
var Whole_tableData = instance._reportBuilder.tableData;
var tableData = JSON.parse(Whole_tableData);
var columns = [];
yield instance.getDistinctChildColumnData(colName);
}
});
}
loadPivotSelect2s() {
var columns = [];
var selectedColumns = this._reportBuilder.selectedColumns;
for (let i = 0; i < selectedColumns.length; i++)
columns.push({ id: selectedColumns[i].ColumnId, text: selectedColumns[i].ColumnName });
$("#PivotColumns_AutoComplete").select2({
placeholder: 'Select Pivot Column',
data: columns,
});
$("#PivotAggrColumn").select2({
placeholder: 'Select Pivot Aggregation Column',
data: columns,
});
$("#PivotChildColumnName_AutoComplete").select2({
placeholder: 'Select Pivot Parent Column Name',
data: columns,
});
$("#PivotParentColumnName_AutoComplete").select2({
placeholder: 'Select Pivot Parent Column Name',
data: columns,
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Pivot();
}
return this.instance;
}
}
Reports.Pivot = Pivot;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,20 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ReportBuilderVariables {
static Instance() {
if (this._instance === undefined)
this._instance = new ReportBuilderVariables();
return this._instance;
}
}
Reports.ReportBuilderVariables = ReportBuilderVariables;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"reportbuilderhiddenfields.js","sourceRoot":"","sources":["reportbuilderhiddenfields.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CAsFhB;AAtFD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAoFxB;IApFD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAkFzB;QAlFD,WAAiB,SAAS;YACtB,IAAiB,OAAO,CAgFvB;YAhFD,WAAiB,OAAO;gBACpB,MAAa,sBAAsB;oBAyE/B,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;wBAClD,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBACJ;gBA9EY,8BAAsB,yBA8ElC,CAAA;YACL,CAAC,EAhFgB,OAAO,GAAP,iBAAO,KAAP,iBAAO,QAgFvB;QACL,CAAC,EAlFgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAkFzB;IACL,CAAC,EApFgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoFxB;AACL,CAAC,EAtFS,OAAO,KAAP,OAAO,QAsFhB"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{static Instance(){return this._instance===undefined&&(this._instance=new t),this._instance}}n.ReportBuilderVariables=t})(t=n.Reports||(n.Reports={}))})(t=n.Analytics||(n.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,460 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ReportFilter extends Platform.Core.BaseComponent {
constructor() {
super();
this.isUnLimited = true;
this.isreportViewer = false;
this.dynamicFilters = [];
this.datalistColumns = [];
this.reportManager = Analytics.Managers.ReportManager.Instance();
this.reportBuilder = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/managers/reportmanager.js', 'platform/datasources/managers/datalistmanager.js'];
return jsFiles;
}
html(id, containerid) {
var html = `<section id="is-filterable-section" class="modal-content">
<div class="modal-header pa-10">
<strong class="modal-title biz-highlight-bg-color">CommonFilter</strong>
<a class="btn btn-sm btn-theme ml-auto" id="btnClear">Clear</a>
<div id="report_viewer_filter" class="form-error-message"></div>
</div>
<div data-simplebar class="simple-scroll-bar modal-body" id="CardViewer_modal">
<div class="sub-report-block card">
<header class="sub-report-head">
<h6>
Filter
</h6>
<span><i class="las la-filter filter"></i></span>
</header>
<div class="report-body">
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label> Display Name </label>
<input type="text" class="form-control" id="txt_DisplayName" placeholder="Display Name">
</div>
</div>
<div class="form-row mb-10">
<div class="col">
<div id="div_datalistColumn">
<label> DataList Name </label>
<select id="datalistauto_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Datalist</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10">
<div class="col-sm-6">
<div id="div_datalistvaluecolumn">
<label> Value Column </label>
<select id="datalistvalue_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select value Column</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div id="div_datalisttextcolumn">
<label> Text Column </label>
<select id="datalisttext_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Text Column</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10 mappedcolumnsdiv">
<div class="form-group col-sm 12">
<label>Mapped Columns</label>
<select class="form-control custom-select" id="mappedcolumnsdropdown">
<option value="0" selected="">Select Column</option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label>Control Type</label>
<select class="form-control custom-select" id="ControlTypeDropDown">
<option value="0" selected="">Select Control Type</option>
<option value="1">AutoComplete </option>
<option value="2"> TextBox </option>
<option value="3"> Select2 </option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-sm 12">
<label>FontCase Type</label>
<select class="form-control custom-select" id="FontCaseTypeDropDown">
<option value="0" selected="">Select FontCase Type</option>
<option value="1">No Change</option>
<option value="2">Upper Case</option>
<option value="3">Lower Case</option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="form-group col-6 col-sm-6">
<label for="unlimited_checkbox">IsUnLimit</label>
<div><input type="checkbox" class="chkIsUnLimited mr-10" id="isunlimited_checkbox">IsUnLimit</div>
</div>
<div class="form-group col-6 col-sm-6">
<label for="isrequired_checkbox">Is Required</label>
<div><input type="checkbox" class="chkisrequired mr-10" id="isrequired_checkbox">Is Required</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer pa-10">
<a class="btn btn-sm btn-light mr-auto" id="btnClose">Close</a>
<a class="btn btn-sm btn-primary" id="btnSave">Save</a>
</div>
</section>`;
return html;
}
load(index, containerid, callback) {
var instance = this;
$("#isunlimited_checkbox").click(function () {
if ($('#isunlimited_checkbox').prop('checked') == false) {
instance.isUnLimited = false;
$('#isunlimited_checkbox').prop('checked', false);
}
else {
instance.isUnLimited = true;
$('#isunlimited_checkbox').prop('checked', true);
}
});
var reportcolumn = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.selectedColumns[index];
var filtercols = [];
if (!instance.isreportViewer) {
filtercols = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
}
else {
filtercols = instance.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === instance.displayText; });
}
if (filtercols.length > 0) {
if (filtercols[0].IsUnLimited) {
$('#isunlimited_checkbox').prop('checked', true);
}
if (filtercols[0].IsRequired) {
$('#isrequired_checkbox').prop('checked', true);
}
$("#ControlTypeDropDown").val(filtercols[0].ControlTypeId);
$("#FontCaseTypeDropDown").val(filtercols[0].FontCaseTypeId);
$("#datalistauto_AutoComplete").append("<option value=" + filtercols[0].DataListId + " selected>" + filtercols[0].DataListName + "</option>");
$('#datalistauto_AutoComplete').unbind().trigger('change');
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()), null, null).then((response) => {
if (response.status == Unibase.Data.Status.Success) {
if (response.result != "") {
this.datalistColumns = JSON.parse(response.result);
var data = [];
for (let i = 0; i < this.datalistColumns.length; i++) {
data.push({ id: this.datalistColumns[i].ColumnId, text: this.datalistColumns[i].AliasName });
}
var valcol;
var txtcol;
if (data.filter(function (o) { return o.text === filtercols[0].ValueColumn; }).length > 0) {
valcol = data.filter(function (o) { return o.text === filtercols[0].ValueColumn; })[0].id;
}
if (data.filter(function (o) { return o.text === filtercols[0].TextColumn; }).length > 0) {
txtcol = data.filter(function (o) { return o.text === filtercols[0].TextColumn; })[0].id;
}
$("#datalistvalue_AutoComplete").select2({
placeholder: 'Select DataList',
data: data,
});
$("#datalisttext_AutoComplete").select2({
placeholder: 'Select DataList',
data: data,
});
$("#datalistvalue_AutoComplete").val(valcol).trigger("change");
$("#datalisttext_AutoComplete").val(txtcol).trigger("change");
}
else {
return MessageHelper.Instance().showError("No DatalistColumns", "divDynamicFilter_ErrorMessage");
}
}
else {
return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
}
});
$("#txt_DisplayName").val(filtercols[0].DisplayName);
}
else {
(reportcolumn) && $("#txt_DisplayName").val(reportcolumn.DisplayText);
}
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/datalists/getall_autocomplete';
AutoCompleteHelper.getHelper().Create("#datalistauto_AutoComplete", "#hfcommmonfilterAutoComplete_DataList", url, function (response) {
var data = response;
$("#btnClear").click(function () {
let dynamicFilters = [];
if (!Unibase.Platform.Analytics.Reports.ReportFilter.Instance().isreportViewer) {
dynamicFilters = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;
var index = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.findIndex(function (o) {
return (o.IsFilterableColumn === reportcolumn.DisplayText);
});
if (index !== -1)
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.splice(index, 1);
reportcolumn.IsFilterable = false;
}
else {
dynamicFilters = Unibase.Platform.Filters.Components.Editfilters.Instance().dynamicFilters;
}
var filter = dynamicFilters.find(x => x.TextColumn == $("#datalisttext_AutoComplete").select2('data')[0].text.trim());
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.deleteDynamicFilter(filter.DynamicFilterId).then(function (response) { });
$("#datalistauto_AutoComplete").text("select");
$("#datalisttext_AutoComplete").text("select");
$("#datalistvalue_AutoComplete").text("select");
});
$("#btnSave").unbind().click(function () {
if (instance.isreportViewer)
Unibase.Platform.Filters.Components.Editfilters.Instance().saveDynamicFilter(containerid);
else
instance.save(reportcolumn, containerid);
});
$("#btnClose").unbind().click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
instance.isreportViewer = false;
});
$("#datalistauto_AutoComplete").unbind().change(function () {
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()), null, null).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var res;
if (response.result != "") {
res = JSON.parse(response.result);
var data = [];
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].ColumnId, text: res[i].AliasName });
}
$("#datalistvalue_AutoComplete").html("");
$("#datalisttext_AutoComplete").html("");
$("#datalistvalue_AutoComplete").select2({
placeholder: 'Select DataList',
data: data,
});
$("#datalisttext_AutoComplete").select2({
placeholder: 'Select DataList',
data: data,
});
}
else {
return MessageHelper.Instance().showError("No DataListColumns", "divDynamicFilter_ErrorMessage");
}
}
else {
return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
}
});
});
});
let dlId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().DataListId;
Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(dlId).then((res) => {
if (res.status == Unibase.Data.Status.Success) {
if (res.result.Parameters) {
let params = res.result.Parameters.replaceAll("@", "");
params = params.split("|");
let paramOptions = "";
for (var i = 0; i < params.length; i++) {
let currentFilter = filtercols.find(x => x.MappedColumn == params[i]);
if (currentFilter)
paramOptions += `<option value="${params[i]}" selected > ${params[i]} </option>`;
else
paramOptions += `<option value="${params[i]}"> ${params[i]} </option>`;
}
$("#mappedcolumnsdropdown").append(paramOptions);
}
else {
$(".mappedcolumnsdiv").addClass("d-none");
}
}
});
}
save(reportcolumn, containerid) {
let currentDatalistCol;
let IsFilterable = reportcolumn.IsFilterable;
if (IsFilterable == false)
reportcolumn.IsFilterable = !IsFilterable;
var dynamicFilters = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;
let dynamicfilterid = 0;
var dynamicfilIndex = dynamicFilters.find(d => d.IsFilterableColumn == reportcolumn.DisplayText);
var dynFill = dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.DisplayText; });
if (dynFill.length > 0) {
dynamicfilterid = dynFill[0].DynamicFilterId;
var index = dynamicFilters.findIndex(function (o) {
return (o.IsFilterableColumn === reportcolumn.DisplayText);
});
if (index !== -1)
dynamicFilters.splice(index, 1);
}
var model = new DynamicFilterModel();
model.IsFilterableColumn = reportcolumn.AliasName;
model.DynamicFilterId = dynamicfilterid;
model.DataListId = Number($("#datalistauto_AutoComplete").val());
model.DataListName = $("#datalistauto_AutoComplete").select2('data')[0].text;
model.ReportId = 0;
model.MappedColumn = $("#mappedcolumnsdropdown option:selected").val() === "0" ? "" : $("#mappedcolumnsdropdown option:selected").val().toString();
model.TextColumn = $("#datalisttext_AutoComplete").select2('data')[0].text.trim();
model.ValueIdColumn = Number($("#datalistvalue_AutoComplete").val());
model.ValueColumn = $("#datalistvalue_AutoComplete").select2('data')[0].text.trim();
model.TextIdColumn = Number($("#datalisttext_AutoComplete").val());
model.Index = (dynamicfilIndex) ? dynamicfilIndex.Index : dynamicFilters.length;
model.ControlTypeId = Number($("#ControlTypeDropDown").val());
model.FontCaseTypeId = Number($("#FontCaseTypeDropDown").val());
model.DataType = reportcolumn.DataType;
model.DisplayName = $("#txt_DisplayName").val().toString();
model.IsDefault = $(".dynamicfilter-defaultdate_" + reportcolumn.ColumnName).is(":checked");
model.IsUnLimited = $("#isunlimited_checkbox").prop("checked");
model.IsRequired = $("#isrequired_checkbox").prop("checked");
currentDatalistCol = this.datalistColumns.find(x => x.ColumnId == model.ValueIdColumn);
if (currentDatalistCol && reportcolumn.DataType == Reports.Enums.DataType.string &&
currentDatalistCol.DataTypeId != Reports.Enums.DataType.string && currentDatalistCol.DataTypeId != Reports.Enums.DataType.text)
return MessageHelper.Instance().showError("Selected value column data type should be string", "report_viewer_filter");
else if (currentDatalistCol && (reportcolumn.DataType == Reports.Enums.DataType.int32 || reportcolumn.DataType == Reports.Enums.DataType.int64 ||
reportcolumn.DataType == Reports.Enums.DataType.decimal) && currentDatalistCol.DataTypeId != Reports.Enums.DataType.int32 &&
currentDatalistCol.DataTypeId != Reports.Enums.DataType.int64 && currentDatalistCol.DataTypeId != Reports.Enums.DataType.decimal)
return MessageHelper.Instance().showError("Selected value column data type should be integer as dynamic filter data type is integer", "report_viewer_filter");
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().sortDynamicFilter(model);
Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.push(model);
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
sortDynamicFilter(model) {
var instance = this;
let filetersList = $('#dynamic-list-group-wrapper');
if (!filetersList)
return;
filetersList.sortable({
connectWith: "#dynamic-list-group-wrapper",
cursor: 'move',
update: function (event, ui) {
$.each($('#dynamic-list-group-wrapper .datagroup'), function (index, item) {
let itemName = $(item).attr('data-isfilterablecolumn');
let dynamicFilters = instance.dynamicFilters;
if (dynamicFilters.length != 0) {
for (let x = 0; x < dynamicFilters.length; x++) {
if (dynamicFilters[x].IsFilterableColumn == itemName) {
dynamicFilters[x].Index = index;
break;
}
}
}
if (instance.isreportViewer)
$(item).find('.filter-index').text(index + 1);
});
if (!instance.isreportViewer)
instance.reportBuilder.load_data(instance.reportBuilder.table);
}
});
}
dynamicFilterIsDefaultDateColumn(columnName) {
var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
if (dIndex != -1) {
let filtermodelarray = new Array();
let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
if (currentFilter.IsPartition) {
$("#dynamicfilter-defaultdate_" + columnName).prop("checked", false);
return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck partition before making default", "div_ReportBuilderErrorMessage");
}
if ($("#dynamicfilter-defaultdate_" + columnName).hasClass("imchecked")) {
$("input[type=radio][name=defaultdate]").prop('checked', false);
$("#dynamicfilter-defaultdate_" + columnName).removeClass("imchecked");
}
var isdefault = $("#dynamicfilter-defaultdate_" + columnName).is(":checked");
if (isdefault)
$("#dynamicfilter-defaultdate_" + columnName).addClass("imchecked");
currentFilter.IsDefault = isdefault;
this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
if (res.status == Unibase.Data.Status.Success)
MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
else
MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
});
}
}
dynamicFilterIsPartition(columnName) {
var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
if (dIndex != -1) {
let filtermodelarray = new Array();
let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
if (currentFilter.IsDefault) {
$("#chk_ispartition_" + columnName).prop("checked", false);
return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck default before making partition", "div_ReportBuilderErrorMessage");
}
var ispartition = $("#chk_ispartition_" + columnName).prop("checked");
currentFilter.IsPartition = ispartition;
this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
if (res.status == Unibase.Data.Status.Success)
MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
else
MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
});
}
}
removeDynamicFilterSelectedColumn_table(DisplayText) {
var instance = this;
bootbox.confirm("Do you want to Delete the Filter?", function (result) {
if (result) {
var index = instance.dynamicFilters.findIndex(function (o) {
if (o.IsFilterableColumn === DisplayText) {
instance.reportManager.deleteDynamicFilter(o.DynamicFilterId).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, '');
}
else if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, 'divEditFiltersErrMsg');
}
});
}
return o.IsFilterableColumn === DisplayText;
});
if (index !== -1)
instance.dynamicFilters.splice(index, 1);
$(`[data-isfilterablecolumn="${DisplayText}"]`).remove();
if (instance.dynamicFilters.length != 0) {
for (var i = 0; i < instance.dynamicFilters.length; i++) {
let filterIndex = instance.getIndexByDisplayText_dynamicFilterColumns(instance.dynamicFilters[i].IsFilterableColumn);
instance.dynamicFilters[filterIndex].Index = i;
if (instance.isreportViewer)
$("#dynamic-list-group-wrapper .filter-item").eq(i).find('.filter-index').text(i + 1);
}
}
else {
if (instance.isreportViewer) {
$('#dynamicFiltersCard').addClass('d-none');
if (!$('#staticFiltersCard').is(':visible')) {
$('#noFiltersErrMsg').removeClass('d-none');
}
}
}
}
});
}
getIndexByDisplayText_dynamicFilterColumns(isFilterableColumn) {
return this.reportBuilder.dynamicFilters.findIndex(x => x.IsFilterableColumn == isFilterableColumn);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ReportFilter();
}
return this.instance;
}
}
Reports.ReportFilter = ReportFilter;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,274 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ReportGroup extends Platform.Core.BaseComponent {
constructor() {
super();
this.parentGroupId = 0;
this.groupId = 0;
this.groupName = '';
this._reportManager = Analytics.Managers.ReportManager.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/requests/reportgroup.js', 'platform/core/infos/status.js'];
return jsFiles;
}
html(id, containerid) {
let html = `<form id="" method="post" class="" data-formuniquekey="" data-validate="parsley"><header class="b-b bg-white modal-header"><strong class="text-dark Title" id="div_FormName">Create Report Group</strong></header><div class="bg-light control-sorting modal-body bg-white" style="overflow-y:auto; height:475px;"><div id="" class="clear bizgaze_FormErrorMessages"></div><div id="divReportGroup_ErrorMessage"></div><div class="section_ReportGroup card"><div class="card-body">
<div class="row">
<div class="col-sm-6">
<div>
<label for="lbl" id="lbl_GroupName">Report Group Name
<span class="text-danger" id="spnIsRequired_reportgroup"> *</span>
</label>
<input type="text" id="txt_GroupName" class="type-control form-control type-control value-control required"
data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Name *">
</div>
<label for="Validation" id="lblValidation_GroupName"></label>
</div>
<div class="col-sm-6">
<label for="lbl" id="lbl_displayname">Display Name</label>
<input type="text" id="txt_displayname" class="type-control form-control type-control value-control required"
data-regularexp="" data-validatemsg="" placeholder="Enter Display Name ">
<label for="Validation" id="lblValidation_displayname"></label>
</div>
<div class="IsInternalGroupDiv col-sm-6 flex-between-center">
<span>IsInternalGroup</span>
<label class="switch mb-0" for="reportGroup_IsInternalGroup">
<input type="checkbox" id="reportGroup_IsInternalGroup"><span></span>
<input type="hidden" id="hf_IsInternalGroup"> <input type="hidden" class="value-control"
id="hf_IsInternalGroupid">
</label>
</div>
<div id="" class="form-group col-sm-6">
<label for="lbl" id="lbl_reportgroupindex">Report Group Index
<span class="text-danger " id="spnIsRequired_reportgroupindex"></span>
</label>
<input type="text" id="txt_reportgroupindex"
class="type-control form-control type-control value-control required"
data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Index *">
</div>
<div class="form-group col-sm-6">
<label for="parentgroupid">
Parent Group
</label>
<select class="form-control" id="parentgroupid" >
</select>
</div>
<div class="IsEnableFolder col-sm-6 flex-between-center">
<span>EnableFolder</span>
<label class="switch mb-0" for="reportGroup_IsEnableFolder">
<input type="checkbox" id="reportGroup_IsEnableFolder"><span></span>
<input type="hidden" id="hf_IsEnableFolder"> <input type="hidden" class="value-control" id="hf_IsEnableFolder">
</label>
</div>
<label for="Validation" id="lblValidation_GroupName"></label>
</div></div></div></div></div><footer class="bg-white modal-footer" id="formFooter"><a href="javascript:;" id="btn_CloseForm" class="btn btn-light btn-sm mr-auto" onclick=""> Close</a><a href="javascript:;" id="btn_SaveReportGrp" class="btn btn-primary btn-sm" > Save</a></footer></form>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
instance.parentGroupId = 0;
$("#" + containerid).find(".modal-body").css('height', $(window).outerHeight() - $("#" + containerid).find(".modal-header").outerHeight() - $("#" + containerid).find(".modal-footer").outerHeight() + 'px');
if (id != 0)
instance.loadReportGroup(id);
$("#btn_SaveReportGrp").click(function () {
let isInternal = $("#reportGroup_IsInternalGroup").prop("checked");
let isEnableFolder = $("#reportGroup_IsEnableFolder").prop("checked");
let groupIndex = $("#txt_reportgroupindex").val();
if ($("#txt_GroupName").val() == "")
return MessageHelper.Instance().showError("Please select ReportGroup", 'divReportGroup_ErrorMessage');
let model = new Unibase.Platform.Analytics.Reports.Requests.ReportGroup();
model.GroupName = String($("#txt_GroupName").val());
model.ReportGroupId = id;
model.IsInternalGroup = isInternal;
model.EnableFolder = isEnableFolder;
model.ReportGroupIndex = !parseInt(groupIndex) ? 0 : parseInt(groupIndex);
model.ParentGroupId = instance.parentGroupId;
model.DisplayName = String($("#txt_displayname").val());
instance._reportManager.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 {
$("#RptGroup_AutoComplete").append("<option selected value=" + res.ReportGroupId + ">" + res.GroupName + "</option>");
MessageHelper.Instance().showSuccess(response.message, '');
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
});
$("#btn_CloseForm").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
$("#RptGroup_AutoComplete").remove();
});
instance.loadReportGroups();
$("#parentgroupid").change(function (e) {
instance.parentGroupId = Number(e.currentTarget.value);
var parentGroupName = e.currentTarget.textContent.trim();
if (instance.groupId == instance.parentGroupId) {
e.currentTarget.value = "0";
e.currentTarget.textContent = "";
MessageHelper.Instance().showError(`Cannot select same report group as parent group`, 'divReportGroup_ErrorMessage');
return false;
}
if (instance.groupId && instance.parentGroupId) {
instance._reportManager.checkReportGroupDependency(instance.groupId, instance.parentGroupId).then((response) => {
if (response.status == Unibase.Data.Status.Success && response.result) {
e.currentTarget.value = "0";
e.currentTarget.textContent = "";
MessageHelper.Instance().showError(`Parent group ${parentGroupName} has the current report group ${instance.groupName} as parent group, change the parent report group and try again`, 'divReportGroup_ErrorMessage');
return false;
}
});
}
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
var instance = this;
instance.navigationHelper.popup(0, '', instance, null, Platform.Helpers.Size.Large);
}
loadReportGroupForm(iscreate) {
var Pk_Value = 0;
var instance = this;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
instance.navigationHelper.popup(Pk_Value, '', instance, null, Platform.Helpers.Size.Large);
}
editReportGroup() {
var instance = this;
var reportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
instance.navigationHelper.popup(reportGroupId, "", instance, null, Unibase.Platform.Helpers.Size.Large);
}
loadReportGroup(id) {
var instance = this;
instance._reportManager.getReportGroupById(id).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var res = response.result;
instance.groupId = response.result.ReportGroupId;
instance.groupName = response.result.GroupName;
instance.displayName = response.result.DisplayName;
$("#txt_GroupName").val(res.GroupName).attr("disabled", "disabled");
$("#reportGroup_IsInternalGroup").prop("checked", res.IsInternalGroup);
$("#reportGroup_IsEnableFolder").prop("checked", res.EnableFolder);
$("#txt_reportgroupindex").val(res.ReportGroupIndex);
$("#txt_displayname").val(res.DisplayName);
if (res.ParentGroupId) {
instance.parentGroupId = res.ParentGroupId;
instance._reportManager.getReportGroupById(res.ParentGroupId).then(res => {
if (res.status == Unibase.Data.Status.Success) {
var option = new Option(res.result.RecursiveParentName, res.result.ReportGroupId.toString(), true, true);
$("#parentgroupid").append(option);
}
});
}
}
else {
return MessageHelper.Instance().showError(response.message, "divReportGroup_ErrorMessage");
}
});
}
exportGroupReports(reportgroupid) {
var instance = this;
var ReportGroupId = 0;
if (reportgroupid == 0)
ReportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
else
ReportGroupId = reportgroupid;
if (ReportGroupId != 0) {
instance.navigationHelper.showLoading();
instance._reportManager.getReportGroupById(ReportGroupId).then(function (response) {
let groupname = response.result.GroupName;
instance._reportManager.exportGroupreports(ReportGroupId).then(function (rptgrpresponse) {
var filename = groupname + ".xml";
var xmltext = rptgrpresponse.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
instance.navigationHelper.hideLoading();
});
});
}
}
deleteReportGroup() {
const reportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
const reportCount = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportcount")).Value);
if (!reportCount) {
bootbox.confirm("Are you sure to delete this group?", (result) => {
if (result) {
this._reportManager.deleteReportGroup(reportGroupId).then((response) => {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess("Report group has been sucessfully deleted", 'divReportGroup_ErrorMessage');
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Unibase_Platform_Analytics_Reports_App_ReportsGroup").then((response) => {
if (response.status == Unibase.Data.Status.Success)
Unibase.Themes.Compact.Components.Nav.Instance().loadList(response.result.InstalledAppId);
});
}
else
MessageHelper.Instance().showError(response.message, 'divReportGroup_ErrorMessage');
});
}
});
}
else
bootbox.confirm("One or more reports are associated with this group, Please ensure to delete all reports associated with this group before deleting", () => { });
}
loadReportGroups() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportgroups_autocompleterecursive';
AutoCompleteHelper.getHelper().Create("#parentgroupid", "#hfAutoComplete_ReportGroup", url, null);
}
updateStatus() {
var instance = this;
let reportidGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
let statusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("statusid")).Value);
let installedappId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
$("#DetailSetting_" + installedappId + "_Active").removeClass("btn-outline-primary");
if (statusId == Unibase.Platform.Core.Enums.RowStatus.Active) {
$("#DetailSetting_" + installedappId + "_Active").addClass("btn-success");
$("#DetailSetting_" + installedappId + "_Active").removeClass("btn-red");
}
else {
$("#DetailSetting_" + installedappId + "_Active").removeClass("btn-success");
$("#DetailSetting_" + installedappId + "_Active").addClass("btn-red");
}
$("#DetailSetting_" + installedappId + "_Active").text((statusId == Unibase.Platform.Core.Enums.RowStatus.Active) ? "Active" : "InActive");
$("#DetailSetting_" + installedappId + "_Active").click(function () {
let id = Unibase.Platform.Core.Enums.RowStatus.Active;
if ($("#DetailSetting_" + installedappId + "_Active").text() == "Active")
id = Unibase.Platform.Core.Enums.RowStatus.InActive;
instance._reportManager.updateReportGroupStatus(reportidGroupId, id).then(function (statusres) {
if (statusres.status == Unibase.Data.Status.Success) {
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ReportGroup();
}
return this.instance;
}
}
Reports.ReportGroup = ReportGroup;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,230 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ReportRoleSettings extends Platform.Core.BaseComponent {
constructor() {
super();
this.isSingleAppSelected = false;
this.reportManager = Analytics.Managers.ReportManager.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/managers/reportmanager.js'];
return jsFiles;
}
html(id, containerid) {
let html = `<section id="link-report-section" class="modal-content">
<div class="modal-header pa-10" id="reportrolesetting_header">
<strong class="modal-title biz-highlight-bg-color">Role Settings</strong>
</div>
<div data-simplebar class="simple-scroll-bar">
<div id="divRoleSetting_ErrorMessage"></div>
<div class="modal-body bg-charcoal-light-5 sub-report-block" id="reportrolesetting_modal">
<div class="report-rolesettings-block card" data-select2-id="24">
<div data-select2-id="23">
<header class="report-rolesettings-head">
<h6 class="required">
Role Settings
</h6>
<span>
<i class="las la-braille dragger"></i>
</span>
</button>
</header>
<div id="subrpts_div" data-select2-id="subrpts_div" class="">
<div class="report-body">
<div class="form-group">
<div id="divsubrpt_0" data-select2-id="divsubrpt_">
<div class="form-row">
<div class="col">
<div id="div_installedapps">
<input type="hidden" id="hfrolesettings_installedapps">
<select id="rolesettings_installedapps" class="form-control text-control required">
<option value="0" selected="">Apps</option>
</select>
</div>
</div>
<div class="col">
<div id="div_rolesettings">
<select id="rolesettings_ddl" class="form-control custom-select mb-10 required">
<option value="0" selected="">Role Settings</option>
</select>
</div>
</div>
<div class="col-auto">
<a class="btn btn-icon btn-theme" id="btnConfigAddRoleSetting" onclick="" ;="">
<span class="btn-icon-wrap"><span class="line-icon text-white"><i class="las la-plus"></i></span></span>
</a>
</div>
</div>
<div class="m-t-sm">
<div class="form-row">
<div class="col px-4 py-2">
<strong> App Name </strong>
</div>
<div class="col py-2">
<strong> RoleSetting </strong>
</div>
<div class="col-auto py-2 px-4">
<a class="invisible"><i class="fa fa-close text-danger"></i></a>
</div>
</div>
</div>
<div id="RoleSettingExp"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="modal-footer pa-10" id="linkreport_footer">
<button type="button" class="btn btn-sm btn-light mr-auto" id="btnRoleSettingsClose">Cancel</button>
<button type="button" class="btn btn-sm btn-primary" id="btnRoleSettingsSave">Save</button>
</div>
</section>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
let isRoleSettingsExists = false;
instance._reportbuilder = Reports.ReportBuilder.Instance();
$("#btnRoleSettingsClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (instance.isSingleAppSelected) {
instance._reportbuilder.roleSettings = [];
instance.isSingleAppSelected = false;
}
});
$('#rolesettings_installedapps').empty();
if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length)
isRoleSettingsExists = true;
if (instance._reportbuilder.roleSettings != null) {
for (let i = 0; i < instance._reportbuilder.roleSettings.length; i++) {
let item = instance._reportbuilder.roleSettings[i];
instance.appendRoleSetting(item.AppTitle, item.SettingName);
}
}
$("#btnConfigAddRoleSetting").click(function () {
if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length >= 1) {
let idx = instance._reportbuilder.selectedColumns.findIndex(x => x.AliasName == 'installedappid');
if (idx == -1) {
MessageHelper.Instance().showError("Please add installedappid column in order to select app", "divRoleSetting_ErrorMessage");
return false;
}
}
var appName = $("#rolesettings_installedapps option:selected").text();
var installedappid = $("#rolesettings_installedapps option:selected").val();
var rolesetting = $("#rolesettings_ddl option:selected").text();
if (appName == "" || rolesetting == "")
return;
var lefNavigationInstalledAppId = Number($("#InstalledApp_AutoComplete option:selected").val());
if (installedappid == lefNavigationInstalledAppId) {
if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length == 1) {
instance.isSingleAppSelected = true;
}
return MessageHelper.Instance().showError(`Cannot use same app ${appName} in both role settings and installed app field of left navigation in report builder.`, 'divRoleSetting_ErrorMessage');
}
var rolset = false;
if (instance._reportbuilder.roleSettings != null)
rolset = instance._reportbuilder.roleSettings.find(x => x.AppTitle == appName && x.SettingName == rolesetting) ? true : false;
if (!rolset) {
instance.appendRoleSetting(appName, rolesetting);
instance._reportbuilder.roleSettings.push({
InstalledAppId: Number($("#rolesettings_installedapps option:selected").val()),
AppPermissionId: Number($("#rolesettings_ddl option:selected").val()),
AppTitle: appName,
SettingName: rolesetting,
});
}
$("#rolesettings_installedapps").html('<option value="0" selected="">Apps</option>').val("0");
$("#rolesettings_ddl").html('<option value="0" selected="">Role Settings</option>').val("0");
});
$("#btnRoleSettingsSave").click(function () {
if (instance._reportbuilder.roleSettings != null) {
if (instance._reportbuilder.roleSettings.length == 0 && !isRoleSettingsExists) {
return MessageHelper.Instance().showError('Please Select Role Setting', 'divRoleSetting_ErrorMessage');
}
else if (instance._reportbuilder.roleSettings.length < 2) {
var inst = $("#InstalledApp_AutoComplete").val();
if (instance._reportbuilder.roleSettings.length == 1) {
instance.isSingleAppSelected = true;
}
if (!inst)
return MessageHelper.Instance().showError('Use installed app field in left navigation of report builder, if report have only one role setting', 'divRoleSetting_ErrorMessage');
}
else if (instance._reportbuilder.roleSettings.length == 2) {
let installedid = $("#InstalledApp_AutoComplete option:selected").val();
if (installedid) {
return MessageHelper.Instance().showError('Remove installedapp from left navigation of report builder to use multiple report role settings', 'divRoleSetting_ErrorMessage');
}
}
if (instance._reportbuilder.roleSettings.length > 1) {
instance.isSingleAppSelected = false;
}
}
else {
return MessageHelper.Instance().showError('Please Select Role Setting', 'divRoleSetting_ErrorMessage');
}
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
instance.loadInstalledApps();
}
loadInstalledApps() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps", "#hfrolesettings_installedapps", url, function (response) {
var installedappid = $("#hfrolesettings_installedapps").val();
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(installedappid).then(function (response) {
var drpdata = '';
$("#rolesettings_ddl").html("");
var data = response.result;
let viewPermission = data.find(function (x) { return x.SettingName.toLowerCase() == 'view'; });
if (viewPermission) {
$("#rolesettings_ddl").append('<option value="' + viewPermission.AppPermissionId + '" columnvalue="" selected>' + viewPermission.SettingName + '</option>').val(viewPermission.AppPermissionId).trigger("change");
}
});
});
}
appendRoleSetting(appName, rolesetting) {
let ulDiv = 'ulAppName_' + appName.replace(/ /g, "_") + '-' + rolesetting.replace(/ /g, "_");
var rshtml = '<div class="border border-1 mt-2 ulDatalistFilters_' + appName.replace(" ", "_") + rolesetting.replace(" ", "_") + '" id = "' + ulDiv + '">' +
'<div class="form-row" id="li_AppName_' + appName + rolesetting + '"> ' +
'<div class="col py-2 px-4 lblappname"> ' + appName + ' </div> ' +
'<div class="col py-2 px-4 lblrolesetting"> ' + rolesetting + ' </div>' +
'<div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(' + "'" + appName + "'" + ',' + "'" + rolesetting + "'" + ',' + "'" + ulDiv + "'" + ')" class="pull-right" ><i class="fa fa-close text-danger"></i></a></div>' +
'</div>' +
'</div>';
$("#RoleSettingExp").append(rshtml);
}
RemoveRoleSettingExp(appname, rolesetting, ul) {
var instance = this;
$("#" + ul + "").remove();
var index = instance._reportbuilder.roleSettings.findIndex(function (r) {
return (r.AppTitle === appname && r.SettingName === rolesetting);
});
if (index !== -1)
instance._reportbuilder.roleSettings.splice(index, 1);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ReportRoleSettings();
}
return this.instance;
}
}
Reports.ReportRoleSettings = ReportRoleSettings;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,72 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.isSingleAppSelected=!1;this.reportManager=i.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js"]}html(){return`<section id="link-report-section" class="modal-content">
<div class="modal-header pa-10" id="reportrolesetting_header">
<strong class="modal-title biz-highlight-bg-color">Role Settings</strong>
</div>
<div data-simplebar class="simple-scroll-bar">
<div id="divRoleSetting_ErrorMessage"></div>
<div class="modal-body bg-charcoal-light-5 sub-report-block" id="reportrolesetting_modal">
<div class="report-rolesettings-block card" data-select2-id="24">
<div data-select2-id="23">
<header class="report-rolesettings-head">
<h6 class="required">
Role Settings
</h6>
<span>
<i class="las la-braille dragger"></i>
</span>
</button>
</header>
<div id="subrpts_div" data-select2-id="subrpts_div" class="">
<div class="report-body">
<div class="form-group">
<div id="divsubrpt_0" data-select2-id="divsubrpt_">
<div class="form-row">
<div class="col">
<div id="div_installedapps">
<input type="hidden" id="hfrolesettings_installedapps">
<select id="rolesettings_installedapps" class="form-control text-control required">
<option value="0" selected="">Apps</option>
</select>
</div>
</div>
<div class="col">
<div id="div_rolesettings">
<select id="rolesettings_ddl" class="form-control custom-select mb-10 required">
<option value="0" selected="">Role Settings</option>
</select>
</div>
</div>
<div class="col-auto">
<a class="btn btn-icon btn-theme" id="btnConfigAddRoleSetting" onclick="" ;="">
<span class="btn-icon-wrap"><span class="line-icon text-white"><i class="las la-plus"></i></span></span>
</a>
</div>
</div>
<div class="m-t-sm">
<div class="form-row">
<div class="col px-4 py-2">
<strong> App Name </strong>
</div>
<div class="col py-2">
<strong> RoleSetting </strong>
</div>
<div class="col-auto py-2 px-4">
<a class="invisible"><i class="fa fa-close text-danger"></i></a>
</div>
</div>
</div>
<div id="RoleSettingExp"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="modal-footer pa-10" id="linkreport_footer">
<button type="button" class="btn btn-sm btn-light mr-auto" id="btnRoleSettingsClose">Cancel</button>
<button type="button" class="btn btn-sm btn-primary" id="btnRoleSettingsSave">Save</button>
</div>
</section>`}load(n,t){var i=this;let u=!1;if(i._reportbuilder=r.ReportBuilder.Instance(),$("#btnRoleSettingsClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove();i.isSingleAppSelected&&(i._reportbuilder.roleSettings=[],i.isSingleAppSelected=!1)}),$("#rolesettings_installedapps").empty(),i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length&&(u=!0),i._reportbuilder.roleSettings!=null)for(let n=0;n<i._reportbuilder.roleSettings.length;n++){let t=i._reportbuilder.roleSettings[n];i.appendRoleSetting(t.AppTitle,t.SettingName)}$("#btnConfigAddRoleSetting").click(function(){var u,r;let f=i._reportbuilder.selectedColumns.findIndex(n=>n.AliasName=="installedappid");if(f==-1)return MessageHelper.Instance().showError("Please add installedappid column in order to select app","divRoleSetting_ErrorMessage"),!1;var n=$("#rolesettings_installedapps option:selected").text(),e=$("#rolesettings_installedapps option:selected").val(),t=$("#rolesettings_ddl option:selected").text();if(n!=""&&t!=""){if(u=Number($("#InstalledApp_AutoComplete option:selected").val()),e==u)return i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError(`Cannot use same app ${n} in both role settings and installed app field of left navigation in report builder.`,"divRoleSetting_ErrorMessage");r=!1;i._reportbuilder.roleSettings!=null&&(r=i._reportbuilder.roleSettings.find(i=>i.AppName==n&&i.RoleSetting==t)?!0:!1);r||(i.appendRoleSetting(n,t),i._reportbuilder.roleSettings.push({InstalledAppId:Number($("#rolesettings_installedapps option:selected").val()),AppPermissionId:Number($("#rolesettings_ddl option:selected").val()),AppTitle:n,SettingName:t}),$("#rolesettings_installedapps").html('<option value="0" selected="">Apps<\/option>').val("0"),$("#rolesettings_ddl").html('<option value="0" selected="">Role Settings<\/option>').val("0"))}});$("#btnRoleSettingsSave").click(function(){if(i._reportbuilder.roleSettings!=null){if(i._reportbuilder.roleSettings.length!=0||u){if(i._reportbuilder.roleSettings.length<2)return i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError("Use installed app field in left navigation of report builder, if report have only one role setting","divRoleSetting_ErrorMessage");if(i._reportbuilder.roleSettings.length==2){let n=$("#InstalledApp_AutoComplete option:selected").val();if(n)return MessageHelper.Instance().showError("Remove installedapp from left navigation of report builder to use multiple report role settings","divRoleSetting_ErrorMessage")}}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");i._reportbuilder.roleSettings.length>1&&(i.isSingleAppSelected=!1)}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");$("#"+t).modal("hide");$("#"+t).remove()});i.loadInstalledApps()}loadInstalledApps(){var t=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps","#hfrolesettings_installedapps",t,function(){var t=$("#hfrolesettings_installedapps").val();n.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(t).then(function(n){var i;$("#rolesettings_ddl").html("");i=n.result;let t=i.find(function(n){return n.SettingName.toLowerCase()=="view"});t&&$("#rolesettings_ddl").append('<option value="'+t.AppPermissionId+'" columnvalue="" selected>'+t.SettingName+"<\/option>").val(t.AppPermissionId).trigger("change")})})}appendRoleSetting(n,t){let i="ulAppName_"+n.replace(/ /g,"_")+"-"+t.replace(/ /g,"_");var r='<div class="border border-1 mt-2 ulDatalistFilters_'+n.replace(" ","_")+t.replace(" ","_")+'" id = "'+i+'"><div class="form-row" id="li_AppName_'+n+t+'"> <div class="col py-2 px-4 lblappname"> '+n+' <\/div> <div class="col py-2 px-4 lblrolesetting"> '+t+' <\/div><div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(\''+n+"','"+t+"','"+i+'\')" class="pull-right" ><i class="fa fa-close text-danger"><\/i><\/a><\/div><\/div><\/div>';$("#RoleSettingExp").append(r)}RemoveRoleSettingExp(n,t,i){var u=this,r;$("#"+i+"").remove();r=u._reportbuilder.roleSettings.findIndex(function(i){return i.AppTitle===n&&i.SettingName===t});r!==-1&&u._reportbuilder.roleSettings.splice(r,1)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.ReportRoleSettings=u})(r=i.Reports||(i.Reports={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,412 @@
.biz-wrapper .bldr-aside-right {
position: absolute;
right: 0;
width: 290px;
top: 65px;
height: 100%;
background: #fff;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
transition: all 0.2s ease;
z-index: 3;
border-left: 1px solid #DADDE1;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item {
width: 50%;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
border-radius: 0;
height: 65px;
border: 0;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a.nav-link {
background: #F4F5F6;
font-weight: 500;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a.nav-link.active {
background: #fff;
}
.biz-wrapper .bldr-aside-right #chart-appearance-container > .simple-scroll-bar {
height: calc(100vh - 130px);
}
.biz-wrapper .bldr-aside-right #chart-appearance-container > .simple-scroll-bar .tab-content {
margin-top: 0;
padding: 1.25rem;
}
._bizgaze_popup_container .biz-pg-wrapper {
margin-top: 0px !important;
}
.select2-container--default .select2-results > #select2-RptGroup_AutoComplete-results {
max-height: 115px !important;
}
.rule-value-container .select2-container--bootstrap:nth-of-type(1) {
display: block;
width: 100%;
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: .25rem;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
height: calc(2.25rem + 2px);
}
#link-report-section {
height: 100%;
overflow-y: hidden;
}
#link-report-section .modal-content, #is-filterable-section .modal-content {
max-height: calc(100vh - 160px) !important;
background-color: #F4F5F6;
}
#modalDataListColumns .line-icon i, #allDatalistColumns .line-icon i {
font-size: 25px;
font-weight: bolder;
color: #1f2327;
}
#top-nav-menu .line-icon i {
font-size: 24px;
color: #1f2327;
font-weight: bolder;
}
#top-nav-menu .font-awesome-icon i {
font-size: 18px;
}
#top-nav-menu .line-icon .la-sync {
color: #298DFF;
}
#div_Kanban .select2-container--default .select2-selection--single {
border-radius: 4px;
}
#select2-groupby_select-container .select2-selection__clear {
display: none;
}
.tabulator-reportbuilder .dropdown-menu {
width: max-content;
}
.disabled-border {
border: 1px solid rgba(0, 0, 0, .125);
color: #1f2327 !important;
}
#bl-report-title .fa {
font-size: 17px;
}
.t-90d {
transform: rotate(90deg);
}
.t-270d {
transform: rotate(270deg);
}
/*Tooltip text clear btn*/
#tooltip_selected_columns .dsl-block-name {
position: relative;
width: 400px;
}
#tooltip_selected_columns .dsl-block-name input {
width: 100%;
background: transparent;
border: none;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #007D88
}
#tooltip_selected_columns .dsl-block-name input:focus {
border: none;
outline: none;
}
#tooltip_selected_columns .dsl-block-name .input-styles {
width: 100%;
padding: 2px;
box-sizing: border-box;
outline: none;
border: 2px solid #aaa;
padding-left: 5px;
padding-right: 20px;
background-color: #fff;
border-radius: 5px;
}
#tooltip_selected_columns .dsl-block-name button[type="reset"] {
position: absolute;
top: 2px;
bottom: 2px;
right: 2px;
color: #666;
border: 0;
display: none;
padding: 0 4px;
border-radius: 50%;
transition: background 200ms;
background: transparent;
outline: none;
}
#tooltip_selected_columns .dsl-block-name button[type="reset"]:hover {
background-color: #eee;
}
#tooltip_selected_columns .dsl-block-name input:valid ~ button[type="reset"] {
display: block;
}
.bldr-body .tabulator-row.tabulator-row-even {
background-color: #fff;
}
.tabulator-reportbuilder .tabulator-col-title .dropdown {
text-align: left;
display: inline-block;
padding: 0px 4px 0px 0px;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col {
overflow: visible !important;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title {
overflow: visible !important;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-menu-button {
font-size: 16px;
padding: 0 2px 0 0;
color: #000 !important;
font-weight: 600;
}
#reportBuilderModal .modal-footer {
z-index: 1;
}
#QueryBuilder .pull-right {
float: none;
}
.biz-bldr-wrap .table-wrap {
height: 100%;
}
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap {
padding-bottom: 25px;
min-height: 65%;
max-height: 100%;
}
.biz-bldr-wrap.chart_view .bldr-body .table-wrap {
max-height: 35%;
}
.custom-right-chart-nav .nav-tabs > li.nav-item {
width: 50%;
}
.custom-right-chart-nav .nav-tabs > li.nav-item a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
border-radius: 0;
height: 65px;
border: 0;
}
.custom-right-chart-nav .nav-tabs > li.nav-item a.nav-link {
background: #F4F5F6;
font-weight: 500;
}
custom-right-chart-nav .nav-tabs > li.nav-item a.nav-link.active {
background: #fff;
}
.custom-right-chart-nav > .simple-scroll-bar {
height: calc(100vh - 65px);
}
.custom-right-chart-nav .drawer-body {
height: calc(100% - 125px);
/*height: 700px !important;*/
height: calc(100vh - 200px) !important;
}
.custom-right-chart-nav #tab_dynamic_pivote .simple-scroll-bar {
height: calc(100vh - 130px);
}
.custom-right-chart-nav #tab_dynamic_pivote .dynamic-list-group-wrapper {
padding: 1.25rem;
}
.collapse-simple > .card > .card-header > a.custom-collapse::before {
top: 50%;
transform: translateY(-50%);
}
.bldr-aside-right .btn-filter.in-active {
border: none !important;
cursor: not-allowed !important;
background-color: rgba(255, 204, 204, 0.3) !important;
color: white !important;
}
@media (max-width: 1200px) {
.biz-body-margin-right {
margin-right: 290px !important;
}
.biz-aside-margin-right {
margin-right: -290px !important;
}
}
/* Chart Responsive*/
@media (max-height: 700px) {
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap .card-header {
height: 40px;
padding-top: .5rem !important;
padding-bottom: .5rem !important;
}
}
/* End Chart Responsive*/
@media (max-width: 530px) {
/* Header Mobile Responsive*/
.biz-bldr-wrap header.bldr-head {
padding: 0 .5rem;
}
header.bldr-head input.form-control {
padding: .375rem .5rem;
}
header.bldr-head input.w-180p {
width: 120px !important;
}
.biz-bldr-wrap header.bldr-head input.report-name {
font-size: 1.25rem;
}
/*End Header Mobile Responsive*/
}
@media (max-width: 380px) {
/* Header Mobile Responsive*/
.biz-bldr-wrap header.bldr-head input.report-name {
font-size: 1rem;
}
header.bldr-head input.w-180p {
width: 100px !important;
}
#header_datalist_name.ml-10 {
margin-left: 5px !important;
}
#header_datalist_name.badge {
padding: 5px;
}
/*End Header Mobile Responsive*/
}
.query-builder .rules-group-container .btn-primary {
color: #fff !important;
background-color: #00B0FF !important;
border-color: #00B0FF !important;
}
.query-builder .rules-group-container .btn-primary.active {
background-color: #009EE5 !important;
border-color: #009EE5 !important;
}
.biz-bldr-wrap .dropdown-menu {
z-index: 9999;
}
.biz-bldr-wrap .dropdown-menu.dropdown-radio .dropdown-item.selected .ri-checkbox-blank-circle-line {
color: #007D88;
}
.biz-bldr-wrap .dropdown-menu.dropdown-radio .dropdown-item.selected .ri-checkbox-blank-circle-line:before {
content: "\eff4";
}
.query-builder .rule-value-container .select2-container--default.select2-container{
min-width:200px;
max-width:100%;
}
.bldr-aside-right .chart-type-collapse .btn-group-toggle {
max-height: 250px;
overflow-y: auto;
overflow-x: hidden;
}
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap.fullscreen{
height: 100% !important;
padding-bottom: 10px !important;
}
.column-dp-menu .distinct-label{
flex-grow: 1;
margin-bottom: 0;
cursor: pointer;
}
.biz-reportbuilder-wrap .select2-container--default {
width: 100% !important;
}
.reportbuilder-main-wrap {
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
}
.biz-bldr-wrap.chart_view .reportbuilder-main-wrap {
overflow: hidden;
}
@@ -0,0 +1,806 @@
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 Reports;
(function (Reports) {
class SubReport extends Platform.Core.BaseComponent {
constructor() {
super();
this.subReportId = 0;
this.isDetail = false;
this.linkreport_aliasname = "";
this.inline = true;
this.appName = "";
this.childReportName = "";
this.filters = [];
this.filterIndex = 0;
this.subReportsExists = false;
this.childReportId = 0;
this.parentReportId = 0;
this.isReportDuplicate = false;
this._reportManager = Analytics.Managers.ReportManager.Instance();
this._reportBuilder = Reports.ReportBuilder.Instance();
this._reportBuilderTemplate = Reports.ReportBuilder_Template.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/managers/reportmanager.js', 'platform/analytics/enums/subreporttype.js'];
return jsFiles;
}
html(id, containerid) {
let html = this._reportBuilderTemplate.loadLinkToOtherReportForm();
return html;
}
load(id, containerid, callback) {
var instance = this;
instance.filters = [];
instance.filterIndex = 0;
instance.isDetail = false;
instance.inline = true;
instance.subReportEdit();
$("#btnConfigAddFilter").click(function (e) {
instance.filterIndex++;
let isValueElement = $(e.target).closest(".form-row").find("[id^=isvalue_radio]");
let isValue = isValueElement.prop("checked");
let parametername = $("#cmbmainrptCols option:selected").text().trim();
let parametervalue = $("#cmbsbrptCols option:selected").text().trim();
let operator = $("#slctdoperater option:selected").text().trim();
let isValueText = $("#cmbmainrptCols_textbox").val();
if (!isValue && parametername.toLowerCase() == "main report columns")
return MessageHelper.Instance().showError("Please select main report column", "sub_report_error_message");
else if (isValue && !isValueText)
return MessageHelper.Instance().showError("Please enter text in main report value column", "sub_report_error_message");
if (operator.toLowerCase() == '-select-')
return MessageHelper.Instance().showError("Please select operator type", "sub_report_error_message");
if (isValue && isValueText == parametervalue.toLowerCase())
return MessageHelper.Instance().showError("Main report column name and value column and is value text cannot be same", "sub_report_error_message");
if (parametervalue.toLowerCase() == "sub report column")
return MessageHelper.Instance().showError("Please select sub report column", "sub_report_error_message");
if (isValue)
parametername = isValueText;
instance.filters.push({
ParameterName: parametername,
ParameterValue: parametervalue,
Operator: operator,
Isvalue: isValue,
});
instance.addSubReportFilter(parametername, parametervalue, operator, isValue);
if (isValue) {
$("#cmbmainrptCols_textbox").val("");
isValueElement.trigger("click");
}
$('#cmbmainrptCols').val(0).trigger('change');
$('#cmbsbrptCols').val(0).trigger('change');
$('#slctdoperater').val(0).trigger('change');
});
$("#btnLinkReportSave").click(() => {
let subReportArray = instance.getSubReportContainerArray();
if (instance.isDetail) {
instance.saveSubReport_DetailFields();
}
else {
if (instance.saveSubReport_Report(subReportArray))
return;
}
if (instance.linkreport_aliasname == undefined) {
var table = instance._reportBuilder.table;
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
if (table.element && table.element.children[1] && table.element.children[1].lastChild && table.element.children[1].lastChild.firstChild && table.element.children[1].lastChild.firstChild.firstElementChild && table.element.children[1].lastChild.firstChild.firstElementChild.firstChild && table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className != "fa fa-eye") {
var hideIcon = function (cell, formatterParams, onRendered) {
return "<i class='fa fa-eye'></i>";
};
table.addColumn({ formatter: autoNumFormatter, title: "", headerSort: false, minWidth: 20, }, true);
table.addColumn({ formatter: hideIcon, title: "", headerSort: false }, true);
}
}
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnLinkReportClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#subrpt_clear").click(function () {
if (instance._reportBuilder.subreportdata.length != 0) {
var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
if (subfil_Index > -1) {
instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
}
}
});
$(".select_reports").change(function () {
let reportId = Number($(".select_reports").val());
instance.subReportColumns(reportId);
});
$('.subreport-radio-btn').change(function () {
if ($(this).val() == 'report') {
$('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
if ($('.opentype-radio-btn:checked').val() == 'inline') {
$('#subrpt_plus').removeClass('d-none');
}
}
else {
$('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
$('#subrpt_plus').addClass('d-none');
}
});
$('.opentype-radio-btn').change(function () {
if ($(this).val() == 'inline') {
instance.inline = true;
$('#subrpt_plus').removeClass('d-none');
}
else {
instance.inline = false;
$('#subrpt_plus').addClass('d-none');
}
if (instance._reportBuilder.subreportdata.length != 0) {
let index;
if (instance.linkreport_aliasname) {
index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
}
else {
index = instance._reportBuilder.subreportdata.findIndex(s => s.RowClick == true);
}
if (index > -1) {
instance._reportBuilder.subreportdata[index].Inline = instance.inline;
}
}
});
$("#isvalue_radio_0").unbind().click((e) => {
let isChecked = $(e.target).prop("checked");
$(e.target).closest(".form-row").find("#div_mainreportColumn_textbox").parent().toggleClass("hidden");
$(e.target).closest(".form-row").find("#div_mainreportColumn").parent().toggleClass("hidden");
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
return [];
}
linkreport(aliasname) {
var instance = this;
instance.linkreport_aliasname = aliasname;
instance.navigationHelper.popup(0, '', this, null, Platform.Helpers.Size.Medium);
}
;
loadReports() {
var instance = this;
instance.childReportName = "";
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create(".select_reports", "hfReportAutoComplete", url, function (res) { instance.childReportName = res.text.trim(); });
}
mainReportColumns() {
var instance = this;
var mainrpt_Cols = [];
if (instance._reportBuilder.selectedColumns.length != 0) {
mainrpt_Cols.push({ id: 0, text: "Main Report Columns" });
for (let i = 0; i < instance._reportBuilder.selectedColumns.length; i++) {
let sCol = instance._reportBuilder.selectedColumns[i];
mainrpt_Cols.push({ id: sCol.AliasName, text: sCol.AliasName });
}
$('#cmbmainrptCols').select2({
placeholder: 'Select',
data: mainrpt_Cols,
});
}
}
subReportColumns(reportid) {
var instance = this;
instance._reportManager.getColumns(reportid).then(function (subresponse) {
var subrpt_data = [];
for (let i = 0; i < subresponse.result.length; i++) {
subrpt_data.push({ id: subresponse.result[i].ReportColumnId, text: subresponse.result[i].AliasName });
}
$('#cmbsbrptCols').select2({
placeholder: 'Select',
data: subrpt_data,
});
});
}
loadInstalledApps() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.appName = "";
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
AutoCompleteHelper.getHelper().Create("#detailInstalledApps", "#hfAutoComplete_InstalledApp", url, function (res) { instance.appName = res.text.trim(); });
});
}
primaryColumns() {
var instance = this;
var mainrpt_Cols = [];
if (instance._reportBuilder.selectedColumns.length != 0) {
mainrpt_Cols.push({ id: 0, text: "Main Report Columns" });
for (let i = 0; i < instance._reportBuilder.selectedColumns.length; i++) {
let sCol = instance._reportBuilder.selectedColumns[i];
mainrpt_Cols.push({ id: sCol.AliasName, text: sCol.AliasName });
}
$('#detailPrimaryKeyColumns').select2({
placeholder: 'Select',
data: mainrpt_Cols,
});
}
}
addSubReportFilter(paramname, paramvalue, operator, isValue) {
var Confightml = "";
let id = paramname.replace(' ', '_').trim() + paramvalue.replace(' ', '_').trim();
Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
<div class="col-auto mt-2 mr-2">
<input class="" type="checkbox" readonly title="Is value" ${isValue && 'checked'} onclick="return false">
</div>
<div class="col"><input type="text" class="form-control disabled-border" value="` + paramname + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + operator + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + paramvalue + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,'` + paramname + `','` + paramvalue + `','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
$(".ul2list_0").append(Confightml);
if ($(".ul2list_0").children().length == 1) {
$(".ul2list_0").children().first().find(".filter-remove-btn").addClass("disabled");
}
}
subReportEdit() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield instance.loadReports();
instance.mainReportColumns();
instance.primaryColumns();
yield instance.loadInstalledApps();
instance.subReportsExists = false;
let subReportArray = instance.getSubReportContainerArray();
if (subReportArray != undefined) {
var subfil_Index;
if (subReportArray.length)
instance.subReportsExists = true;
if (instance.linkreport_aliasname)
subfil_Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
else {
subfil_Index = subReportArray.findIndex(s => s.RowClick == true);
if (subfil_Index == -1) {
subfil_Index = subReportArray.findIndex(s => !s.AliasName && s.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail);
}
}
if (subfil_Index > -1) {
var subrpt_data = subReportArray[subfil_Index];
if (subrpt_data.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report) {
$("#reportRadioBtn").prop("checked", true);
$(".select_reports").empty().append('<option value = "' + subrpt_data.ChildReportId + '" > ' + subrpt_data.ChildReportName + ' </option>');
$(".select_reports").val(subrpt_data.ChildReportId);
instance.subReportId = subrpt_data.SubReportId;
instance.childReportId = subrpt_data.ChildReportId;
instance.parentReportId = subrpt_data.ReportId;
instance.subReportColumns(subrpt_data.ChildReportId);
var filters = JSON.parse(subrpt_data.Filters);
for (var f = 0; f < filters.length; f++) {
let fill = filters[f];
let id = fill.ParameterName.replaceAll(' ', '_').trim() + fill.ParameterValue.replaceAll(' ', '_').trim();
Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
<div class="col-auto mt-2 mr-2">
<input class="" type="checkbox" readonly title="Is value" ${fill.Isvalue && 'checked'} onclick="return false">
</div>
<div class="col"><input type="text" class="form-control disabled-border" value="` + fill.ParameterName + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + fill.Operator + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + fill.ParameterValue + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,'` + fill.ParameterName + `','` + fill.ParameterValue + `','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
$(".ul2list_0").append(Confightml);
!f && $(".ul2list_0").find(".filter-remove-btn").addClass("disabled");
instance.filters.push(fill);
}
var Confightml = "";
if (!subrpt_data.Inline)
$("#outlineRadioBtn").prop("checked", true);
else
$("#inlineRadioBtn").prop("checked", true);
instance.inline = subrpt_data.Inline;
}
else {
instance.isDetail = true;
instance.subrpt_AliasName = subrpt_data.AliasName;
instance.installedAppId = subrpt_data.InstalledAppId;
instance.primaryKeyColumn = subrpt_data.PrimaryKeyColumn;
$("#detailRadioBtn").prop("checked", true);
$('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
$('#subrpt_plus').addClass('d-none');
$("#detailInstalledApps").empty().append('<option value = "' + subrpt_data.InstalledAppId + '" > ' + subrpt_data.AppName + ' </option>');
$("#detailInstalledApps").val(subrpt_data.InstalledAppId);
$('#detailPrimaryKeyColumns').val(subrpt_data.PrimaryKeyColumn).trigger('change');
}
}
}
});
}
subReportType_Deatil() {
var instance = this;
instance.isDetail = true;
var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
if (subfil_Index > -1) {
var subfill = instance._reportBuilder.subreportdata[subfil_Index];
var fil = JSON.parse(subfill.Filters);
for (var i = 0; i < fil.length; i++) {
let id = fil[i].ParameterName.replace(' ', '_') + fil[i].ParameterValue.replace(' ', '_');
$("#li_filter_ul2list_0" + id).remove();
instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
}
}
$('.select_reports').val(0).trigger('change');
$('#cmbmainrptCols').val(0).trigger('change');
$('#cmbsbrptCols').val(0).trigger('change');
instance.primaryColumns();
instance.loadInstalledApps();
}
subReportType_Report() {
var instance = this;
instance.isDetail = false;
var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
if (subfil_Index > -1) {
$('#detailInstalledApps').val('0').trigger('change');
$('#detailPrimaryKeyColumns').val('0').trigger('change');
$("#txt_detailonclick").val("");
instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
}
}
saveSubReport_Report(subReportArray) {
var instance = this;
var rowclick = true;
if (instance.linkreport_aliasname)
rowclick = false;
let reportType = this._reportBuilder.res ? this._reportBuilder.res.ReportTypeId : this._reportBuilder.reportType;
let isChart = reportType == Unibase.Platform.Analytics.Reports.Enums.ReportType.Table ? false : true;
var subreportdata = new NestedTableModel();
subreportdata.ChildReportId = Number($('.select_reports').val());
subreportdata.ChildReportName = instance.childReportName;
subreportdata.Filters = JSON.stringify(instance.filters);
subreportdata.SubReportTypeId = ($("#reportRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report : 0;
subreportdata.Inline = instance.inline;
subreportdata.RowClick = rowclick;
subreportdata.AliasName = instance.linkreport_aliasname;
if (!subreportdata.ChildReportId && !instance.subReportsExists) {
MessageHelper.Instance().showError("Please select sub report ", "sub_report_error_message");
return true;
}
else if (subreportdata.Filters == '[]' && !instance.subReportsExists && !isChart) {
MessageHelper.Instance().showError("Please select sub report columns ", "sub_report_error_message");
return true;
}
if (isChart && subreportdata.Filters == '[]') {
this._reportBuilder.linkReportId = subreportdata.ChildReportId;
}
if (subReportArray.length != 0 && typeof (subReportArray) == 'object') {
var Index;
if (instance.linkreport_aliasname)
Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
else
Index = subReportArray.findIndex(s => s.RowClick == true);
if (Index > -1 && subreportdata.Filters != "[]" && subreportdata.ChildReportId) {
subReportArray[Index] = subreportdata;
}
else if (subreportdata.Filters != "[]" && subreportdata.ChildReportId) {
subReportArray.push(subreportdata);
}
}
else {
if (subreportdata.ChildReportId)
subReportArray.push(subreportdata);
}
instance._reportBuilder.subreporttabledata = subReportArray;
return false;
}
saveSubReport_DetailFields() {
var instance = this;
var subreportdata = new NestedTableModel();
subreportdata.InstalledAppId = Number($("#detailInstalledApps").val());
subreportdata.PrimaryKeyColumn = $("#detailPrimaryKeyColumns option:selected").text().trim();
subreportdata.Inline = instance.inline;
subreportdata.SubReportTypeId = ($("#detailRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail : 0;
subreportdata.AliasName = instance.linkreport_aliasname;
subreportdata.AppName = instance.appName;
if (subreportdata.PrimaryKeyColumn.toLowerCase() == "select column")
return MessageHelper.Instance().showError("Please select primary key column", "sub_report_error_message");
else if (!subreportdata.InstalledAppId)
return MessageHelper.Instance().showError("Please select installed app", "sub_report_error_message");
let subReportArray = instance.getSubReportContainerArray();
if (subReportArray.length != 0) {
var Index;
if (instance.linkreport_aliasname)
Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
else
Index = subReportArray.findIndex(s => s.RowClick == true);
if (Index > -1 && subreportdata.AppName != 'Select') {
subReportArray[Index] = subreportdata;
}
else if (subreportdata.AppName != 'Select') {
subReportArray.push(subreportdata);
}
}
else {
subReportArray.push(subreportdata);
}
}
removefilters(reportid, mainreportcolumn, subreportcolumn, id) {
var instance = this;
if (instance.linkreport_aliasname) {
if (instance._reportBuilder.subreportdata.length != 0) {
var index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
if (index > -1) {
instance._reportBuilder.subreportdata.splice(index, 1);
}
}
}
else {
if (instance.filters.length == 1) {
var index = instance._reportBuilder.subreportdata.findIndex(function (o) {
return (o.ChildReportId === reportid);
});
if (index !== -1)
instance._reportBuilder.subreportdata.splice(index, 1);
}
}
var fillIndex = instance.filters.findIndex(function (f) { return (f.ParameterName == mainreportcolumn) && (f.ParameterValue === subreportcolumn); });
if (fillIndex > -1)
instance.filters.splice(fillIndex, 1);
if (!instance.filters.length)
$(event.target).closest(".report-body").find(".select_reports.custom-select").empty();
$("#" + id + "").empty();
}
;
load_old(id, containerid, callback) {
var instance = this;
$('#cmbmainrptCols_1').empty();
var data = [];
var subreportid = 0;
instance._reportManager.getReports().then(function (response) {
var Data = response;
data.push({ id: 0, text: "Select" });
data.push({ id: 0, text: "Select" });
for (let i = 0; i < Data.length; i++) {
data.push({ id: Data[i].ReportId, text: Data[i].ReportName });
}
$('.select_reports').select2({
placeholder: 'Select',
data: data,
}).on('select2:select', function (e) {
var reportid = Number($(".select_reports").val());
let sub_blk = this.closest(".sub-report-block");
if (sub_blk)
$(sub_blk).data("subreportid", reportid.toString());
$("#cmbsbrptCols_1").find('option').not(':first').remove();
instance._reportManager.getColumns(reportid).then(function (response) {
for (let i = 0; i < response.result.length; i++) {
var columnname = response.result[i].DisplayText;
var columnvalue = response.result[i].ReportColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo('#cmbsbrptCols_1');
}
});
});
if (instance._reportBuilder.subreporttabledata != undefined && instance._reportBuilder.subreporttabledata != null && instance._reportBuilder.subreporttabledata != "") {
if (instance._reportBuilder.subreporttabledata.length > 0) {
var subreports_array = [];
var subarray = [];
var element = [];
var currentsubreport = [];
instance._reportBuilder.subreportdata = [];
instance._reportBuilder.subreport_count = 1;
for (let m = 0; m < instance._reportBuilder.subreporttabledata.length; m++) {
instance._reportManager.getColumns(instance._reportBuilder.subreporttabledata[m].ChildReportId).then(function (response) {
currentsubreport.push(instance._reportBuilder.subreporttabledata[m]);
element.push(response.result[0].ReportId);
subarray.push(response.result);
if (element.length == instance._reportBuilder.subreporttabledata.length) {
let k = 1;
for (let i = 0; i < currentsubreport.length; i++) {
if (i != 0) {
instance.subReportId = currentsubreport[i].SubReportId;
$("#subrpt_plus").trigger("click");
k = i + 1;
if (data.length == 0) {
}
$("#cmdsub_" + k + "").select2({
placeholder: 'Select',
data: data,
});
let lastSubEle = $("#linkreport_modal").find(".sub-report-block").last();
lastSubEle.data("subreportid", currentsubreport[i].ChildReportId);
lastSubEle.data("subreportcolumnid", currentsubreport[i].SubReportColumnId);
}
$("#cmdsub_" + k + "").val(currentsubreport[i].ChildReportId).trigger('change');
$('<option>').val(0).text('Select Column').appendTo("#cmbmainrptCols_" + k + "");
var whole_tableData = instance._reportBuilder.selectedColumns;
for (let j = 0; j < whole_tableData.length; j++) {
var columnname = whole_tableData[j].DisplayText;
var columnvalue = whole_tableData[j].ColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_" + k + "");
}
let subcolumns = subarray[i].filter(function (o) { return o.ReportId === currentsubreport[i].ChildReportId; });
$("#cmbsbrptCols_" + k + "").find('option').not(':first').remove();
for (let l = 0; l < subcolumns.length; l++) {
var columnname = subcolumns[l].DisplayText;
var columnvalue = subcolumns[l].ReportColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_" + k + "");
}
$("#btnAdd_" + instance._reportBuilder.subreport_count + "").unbind().click(function () {
var id = $(this).attr('id').match(/\d+/g).map(Number);
instance.addfilter(id[0], 0);
$("#btnDeleteCouponItem_" + id[0] + "").click(function () {
instance.removefilters(Number($("#reporthid_" + id[0] + "").val()), Number($("#mainreportcolumnhid_" + id[0] + "").val()), Number($("#subreportcolumnhid_" + id[0] + "").val()), "ul2list_" + id[0] + "");
});
});
$("#cmbmainrptCols_" + k + " option:contains('" + (currentsubreport[i].ParameterValue).replace('@', '').trim() + "')").prop('selected', true);
$("#cmbsbrptCols_" + k + " option:contains('" + (currentsubreport[i].ParameterName).trim() + "')").prop('selected', true);
if (k == 1) {
subreportid = currentsubreport[i].SubReportId;
$("#btnConfigAddFilter").click();
}
else {
subreportid = currentsubreport[i].SubReportId;
$("#btnAdd_" + k + "").click();
}
instance.subReportId = 0;
}
}
});
}
}
}
else {
$('<option>').val(0).text('Select Column').appendTo('#cmbmainrptCols_1');
var whole_tableData = instance._reportBuilder.selectedColumns;
for (let i = 0; i < whole_tableData.length; i++) {
var columnname = whole_tableData[i].ColumnName;
var columnvalue = whole_tableData[i].ColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo('#cmbmainrptCols_1,#detailPrimaryKeyColumns');
}
}
});
$("#btnLinkReportSave").click(function () {
if (instance.isDetail) {
instance.subReportType_Deatil();
}
var table = instance._reportBuilder.table;
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
if (table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className != "fa fa-eye") {
var hideIcon = function (cell, formatterParams, onRendered) {
return "<i class='fa fa-eye'></i>";
};
table.addColumn({ formatter: autoNumFormatter, title: "", headerSort: false, minWidth: 20, }, true);
table.addColumn({ formatter: hideIcon, title: "", headerSort: false }, true);
}
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
var data = instance._reportBuilder.subreportdata;
});
var Confightml = "";
$("#btnConfigAddFilter").click(function (e) {
let text = $("#cmbmainrptCols_1 option:selected").text();
let text1 = $("#cmbsbrptCols_1 option:selected").text();
if (text == "Select Column" || text1 == "Sub report column")
return;
let exists = instance._reportBuilder.subreportdata.find(x => x.ParameterValue == text && x.ParameterName == text1);
if (exists)
return;
let opertaor = $("#slctdoperater_0 option:selected").text();
let id = text.replaceAll(' ', '_') + text1.replaceAll(' ', '_');
Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10"><div class="col"><input type="text" class="form-control disabled-border" value="` + text + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + opertaor + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + text1 + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,` + Number($("#cmbmainrptCols_1 option:selected").val()) + `,` + Number($("#cmbsbrptCols_1 option:selected").val()) + `,'li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
$(".ul2list_0").append(Confightml);
if ($(".ul2list_0").children().length == 1)
$(".ul2list_0").children().first().find(".filter-remove-btn").addClass("hidden");
var subreportdata = new NestedTableModel();
if (instance._reportBuilder.reportid != 0) {
subreportdata.SubReportId = subreportid;
}
subreportdata.ChildReportId = Number($('.select_reports').val());
subreportdata.Operator = $("#slctdoperater_0 option:selected").text();
subreportdata.ReportColumnId = Number($("#cmbmainrptCols_1 option:selected").val());
subreportdata.SubReportColumnId = Number($("#cmbsbrptCols_1 option:selected").val());
subreportdata.ReportColumnName = $("#cmbmainrptCols_1 option:selected").text();
subreportdata.SubReportColumnName = $("#cmbsbrptCols_1 option:selected").text();
subreportdata.ParameterValue = $("#cmbmainrptCols_1 option:selected").text();
subreportdata.ParameterName = $("#cmbsbrptCols_1 option:selected").text();
subreportdata.SubReportTypeId = ($("#reportRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report : 0;
subreportdata.ReportId = instance._reportBuilder.reportid;
instance.childReportId = subreportdata.ChildReportId;
instance.parentReportId = subreportdata.ReportId;
instance._reportBuilder.subreportdata.push(subreportdata);
instance._reportBuilder.subreporttabledata = instance._reportBuilder.subreportdata;
$("#cmbmainrptCols_1").val("0");
$("#cmbsbrptCols_1").val("0");
});
$("#btnLinkReportClose").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#subrpt_plus").click(function () {
const subreportCnt = $("[id^=btnAdd]").length + 2;
var template = instance._reportBuilderTemplate.del_loadSubReports_Section();
var templateScript = Handlebars.compile(template);
var context = { "subreport_count": subreportCnt };
var html = templateScript(context);
$("#linkreport_modal").append(html);
$("#cmdsub_" + subreportCnt + "").select2({
placeholder: 'Select',
data: data,
});
var main_reportcolumns = instance._reportBuilder.selectedColumns;
$("#cmbmainrptCols_" + subreportCnt + "").empty();
$('<option>').val(0).text('Select Column').appendTo("#cmbmainrptCols_" + subreportCnt + "");
for (let i = 0; i < main_reportcolumns.length; i++) {
var columnname = main_reportcolumns[i].ColumnName;
var columnvalue = main_reportcolumns[i].ColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_" + subreportCnt + "");
}
$("#btnAdd_" + subreportCnt + "").click(function () {
var colid = $(this).closest(".sub-report-block").find("#div_subColumn").children().first().val();
var id = $(this).attr('id').match(/\d+/g).map(Number);
instance.addfilter(id[0], 0);
let sub_blk = this.closest(".sub-report-block");
if (sub_blk && colid)
$(sub_blk).data("subreportcolumnid", colid);
});
$("#cmdsub_" + subreportCnt + "").on('select2:select', function (e) {
var id = $(this).attr('id').match(/\d+/g).map(Number);
var reportid = Number($("#cmdsub_" + id[0] + "").val());
let sub_blk = this.closest(".sub-report-block");
if (sub_blk)
$(sub_blk).data("subreportid", reportid.toString());
$("#cmbsbrptCols_" + id[0] + "").find('option').not(':first').remove();
instance._reportManager.getColumns(reportid).then(function (response) {
for (let i = 0; i < response.result.length; i++) {
var columnname = response.result[i].DisplayText;
var columnvalue = response.result[i].ReportColumnId;
$('<option>').val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_" + id[0] + "");
}
});
});
$("#cmbsbrpt_" + subreportCnt).empty();
$("#cmbsbrpt_" + subreportCnt).append('<option value="0">--Select SubReport--</option>');
});
$("#linkreport_modal").click(this.subReportMdown.bind(this));
const installedAppsUrl = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
AutoCompleteHelper.getHelper().Create("#detailInstalledApps", "#hfDetailInstalledApps", installedAppsUrl, null);
$('.subreport-radio-btn').change(function () {
if ($(this).val() == 'report') {
$('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
if ($('.opentype-radio-btn:checked').val() == 'inline') {
$('#subrpt_plus').removeClass('d-none');
}
}
else {
$('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
$('#subrpt_plus').addClass('d-none');
}
});
$('.opentype-radio-btn').change(function () {
if ($(this).val() == 'inline') {
$('#subrpt_plus').removeClass('d-none');
}
else {
$('#subrpt_plus').addClass('d-none');
}
});
}
removefilters_old(reportid, mainreportcolumn, subreportcolumn, id) {
var instance = this;
$("#" + id + "").empty();
var index = instance._reportBuilder.subreportdata.findIndex(function (o) {
return (o.ChildReportId === reportid) && (o.ReportColumnId === mainreportcolumn) && (o.SubReportColumnId === subreportcolumn);
});
if (index !== -1)
instance._reportBuilder.subreportdata.splice(index, 1);
}
;
addfilter(id, SubReportId) {
var instance = this;
let text = $("#cmbmainrptCols_" + id + " option:selected").text();
let text1 = $("#cmbsbrptCols_" + id + " option:selected").text();
let opertaor = $("#slctdoperater_" + id + " option:selected").text();
var filterhtml = `<li id="li_filter_ul2list` + id + `" class="fltr-row filteritems-addedrow clear"><div class="form-row mb-10"><div class="col"> <input type="text" class="form-control lblViewerFilter_MainReportColumnName disabled-border" value="` + text + ` " disabled> </div><div class="col-auto my-auto text-center"> <input type="text" class="form-control lblViewerFilter_Operator disabled-border text-center" value="` + opertaor + ` " disabled> </div ><div class="col"> <input type="text" class="form-control lblViewerFilter_FilterValue disabled-border" value="` + text1 + ` " disabled></div> <div class="col-auto" > <a id="btnDeleteCouponItem_` + id + `" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded" ><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div><input type="hidden" id="operatorhid_` + id + `" name="zyx" value="` + opertaor + `" /><input type="hidden" id="reporthid_` + id + `" name="zyx" value="` + Number($("#cmdsub_" + id + "").val()) + `" /><input type="hidden" id="mainreportcolumnhid_` + id + `" name="zyx" value="` + Number($("#cmbmainrptCols_" + id + " option:selected").val()) + `" /><input type="hidden" id="subreportcolumnhid_` + id + `" name="zyx" value="` + Number($("#cmbsbrptCols_" + id + " option:selected").val()) + `" /></div></li>`;
$(".ul2list_" + id + "").append(filterhtml);
var subreportdata = new NestedTableModel();
subreportdata.SubReportId = instance.subReportId || SubReportId;
subreportdata.ChildReportId = Number($("#cmdsub_" + id + "").val());
subreportdata.Operator = $("#slctdoperater_" + id + " option:selected").text();
subreportdata.ParameterValue = $("#cmbmainrptCols_" + id + " option:selected").text();
subreportdata.ParameterName = $("#cmbsbrptCols_" + id + " option:selected").text();
subreportdata.ReportColumnId = Number($("#cmbmainrptCols_" + id + " option:selected").val());
subreportdata.SubReportColumnId = Number($("#cmbsbrptCols_" + id + " option:selected").val());
subreportdata.ReportColumnName = ($("#cmbmainrptCols_" + id + " option:selected").text());
subreportdata.SubReportColumnName = $("#cmbsbrptCols_" + id + " option:selected").text();
instance._reportBuilder.subreportdata.push(subreportdata);
$("#cmbmainrptCols_" + id).val("0");
$("#cmbsbrptCols_" + id).val("0");
}
;
linkreport_old() {
var instance = this;
instance.navigationHelper.popup(0, '', this, null, Platform.Helpers.Size.Medium);
}
;
subReportMdown(e) {
let subrp = e.target.closest(".sub-report-block");
let childReportId = $(subrp).data("subreportid");
if (childReportId)
childReportId = Number(childReportId);
if (e.target.classList.contains("remove_subrpt") || e.target.closest(".remove_subrpt")) {
let sRIdx;
if (this._reportBuilder.subreportdata.filter(x => x.ChildReportId == childReportId).length == 1) {
sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId);
if (sRIdx != -1)
this._reportBuilder.subreportdata.splice(sRIdx, 1);
}
else if (this._reportBuilder.subreportdata.filter(x => x.ChildReportId == childReportId).length > 1) {
let childReportColumnId = Number($(subrp).data("subreportcolumnid"));
if (childReportColumnId) {
sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId && x.SubReportColumnId == childReportColumnId);
if (sRIdx != -1)
this._reportBuilder.subreportdata.splice(sRIdx, 1);
}
}
subrp.remove();
}
else if (e.target.classList.contains("remove_subrpt_columns") || e.target.closest(".remove_subrpt_columns")) {
let sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId);
if (sRIdx != -1)
this._reportBuilder.subreportdata.splice(sRIdx, 1);
$(e.target).closest(".filteritems-addedrow").remove();
}
}
removeSubreport() {
let idx = -1;
let subReportArray = this.getSubReportContainerArray();
if (!this.isDetail) {
if (this.subReportId)
idx = subReportArray.findIndex(x => x.SubReportId == this.subReportId);
else
idx = subReportArray.findIndex(x => x.ReportId == this.parentReportId && x.ChildReportId == this.childReportId);
if (idx > -1) {
this.linkreport_aliasname = '';
this.filters = [];
this.childReportName = '';
subReportArray.splice(idx, 1);
}
$("#subreports-filters-list").empty();
$("#cmdsub_1").val("0").empty();
}
else {
if (this.installedAppId)
idx = subReportArray.findIndex(x => x.AliasName == this.subrpt_AliasName && x.InstalledAppId == this.installedAppId);
else
idx = subReportArray.findIndex(x => x.ReportId == this.parentReportId && x.ChildReportId == this.childReportId);
if (idx > -1) {
this.installedAppId = 0;
subReportArray.splice(idx, 1);
}
$("#detailPrimaryKeyColumns").val("0").trigger("change");
$("#detailInstalledApps").val("0").trigger("change");
}
}
getSubReportContainerArray() {
if (this.isReportDuplicate) {
return Analytics.Components.DuplicateReport.Instance().subReports;
}
else {
return this._reportBuilder.subreportdata;
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SubReport();
}
return this.instance;
}
}
Reports.SubReport = SubReport;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,197 @@
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 Reports;
(function (Reports) {
class Tenure extends Platform.Core.BaseComponent {
constructor() {
super();
this.TenureTableData = [];
this.TenureReportColumns = [];
this.TenureInterval = "";
this.reportManager = Analytics.Managers.ReportManager.Instance();
}
jsFiles() {
return ["platform/analytics/components/mapviewer/mapviewer.settings.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div class="b-b bg-white modal-header"><strong class="text-dark" id="TenureTableHeader` + containerid + `"> </strong></div><div class="` + containerid + `-TenureTable-canvas" id="table-canvan"></div><div class="footer bg-white"><button id="btn-tenure-report-close" class="btn-tenureReport-close btn btn-secondary btn-sm mr-auto">Close</button></div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#btn-tenure-report-close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#TenureTableHeader" + containerid).html(Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval);
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
let serviceurl = "apis/v4/unibase/platform/analytics/tabledata";
serviceurl = _appsettings.server_url() + (serviceurl.startsWith('/') ? serviceurl : ('/' + serviceurl));
instance.TenureTable = new Tabulator("." + containerid + "-TenureTable-canvas", {
columns: [
{ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 40, width: 40 },
{ title: "LastColumn", field: "LastColumn", visible: false, headerSort: false }
],
layout: "fitColumns",
movableColumns: true,
placeholder: "No data available",
});
if ($(".tabulator-placeholder span").text() == "No data available") {
$(".tabulator-placeholder").css('width', '');
}
var height = $(window).height() - 100 + "px";
instance.TenureTable.setHeight(height);
instance.TenureTable.setColumns(instance.TenureReportColumns);
instance.TenureTable.setData(instance.TenureTableData);
return instance.TenureTable;
}
tenureDetailsTable(TimeInterval) {
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns = [];
var instance = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
if (instance.TenureReport.length != 0) {
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 50, width: 50 });
let repObj = new ReportObject();
let pivotCol = instance.pivot.ColumnName;
repObj.DataListId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().DataListId;
repObj.Interval = TimeInterval;
repObj.StaticFilter = instance.queryBuilderString;
if (instance.selectedColumns.length > 0) {
for (var i = 0; i < instance.selectedColumns.length; i++) {
let col = new ReportColumn();
col.ColumnValue = Number(instance.selectedColumns[i]["ColumnId"]);
col.ReportColumnName = instance.selectedColumns[i]["ColumnName"];
col.AliasName = instance.selectedColumns[i]["AliasName"];
col.DisplayText = instance.selectedColumns[i]["DisplayText"];
col.DataType = instance.selectedColumns[i]["DataType"];
col.AggrFuncId = Reports.Enums.AggregationType.none;
col.SortType = instance.selectedColumns[i]["SortOrder"];
col.GroupBy = instance.selectedColumns[i]["GroupBy"];
col.IsPivotAggrColumn = false;
col.IsPivotColumn = false;
col.IsPivotRow = false;
col.IsPivotRowSelected = false;
col.IsPivotParentColumn = false;
col.IsPivotChildColumn = false;
col.PivotValue = 0;
col.PivotValueSelected = isNaN(instance.pivot.PivotValue_Selected) ? 0 : instance.pivot.PivotValue_Selected;
col.PivotDateType = isNaN(instance.pivot.DateType) ? 0 : instance.pivot.DateType;
col.TimeInterval = "";
col.ColumnFormat = instance.selectedColumns[i]["ColumnFormat"];
col.YearComparisonType = instance.selectedColumns[i]["YearComparisonType"] == undefined ? 0 : instance.selectedColumns[i]["YearComparisonType"];
if (pivotCol == col.ReportColumnName) {
col.IsPivotColumn = true;
}
repObj.ReportColumns.push(col);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: col.DisplayText, field: col.ReportColumnName });
}
}
instance.reportManager.getTableData(repObj).then(function (response) {
let res = JSON.parse(response.result);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureTableData = JSON.parse(res.Data);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval = TimeInterval;
instance.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Reports.Tenure.Instance(), null, Platform.Helpers.Size.Medium);
});
}
}
tenureViewerDetails(TimeInterval) {
var instance = this;
instance.TenureReportColumns = [];
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
instance.TenureReportColumns.push({ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 50, width: 50 });
let repObj = new ReportObject();
instance.reportManager.getReportById(instance.ReportId).then(function (response) {
var res = response.result;
repObj.DataListId = res.DataListId;
repObj.Interval = TimeInterval;
repObj.StaticFilter = res.StaticFilter;
}).then(function () {
return __awaiter(this, void 0, void 0, function* () {
yield instance.reportManager.getColumns(instance.ReportId).then(function (response) {
var data = response.result;
for (var i = 0; i < data.length; i++) {
let col = new ReportColumn();
col.ColumnValue = data[i].ColumnValue;
col.ReportColumnName = data[i].ReportColumnName;
col.DisplayText = data[i].DisplayText;
col.AliasName = data[i].DisplayText;
col.DataType = Number(data[i].DataType);
col.AggrFuncId = Reports.Enums.AggregationType.none;
col.SortType = data[i].SortType;
col.GroupBy = data[i].GroupBy;
col.IsPivotAggrColumn = false;
col.IsPivotColumn = data[i].IsPivotColumn;
col.IsPivotRow = false;
col.IsPivotRowSelected = false;
col.IsPivotParentColumn = false;
col.IsPivotChildColumn = false;
col.PivotValue = 0;
col.PivotValueSelected = data[i].PivotValueSelected;
col.PivotDateType = Number(data[i].PivotDateType);
col.TimeInterval = "";
col.ColumnFormat = data[i].ColumnFormat;
col.YearComparisonType = data[i].YearComparisonType;
repObj.ReportColumns.push(col);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: col.DisplayText, field: col.ReportColumnName });
}
});
});
}).then(function () {
return __awaiter(this, void 0, void 0, function* () {
yield instance.reportManager.getTableData(repObj).then(function (response) {
let res = JSON.parse(response.result);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureTableData = JSON.parse(res.Data);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval = TimeInterval;
instance.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Reports.Tenure.Instance(), null, Platform.Helpers.Size.Medium);
});
});
});
}
CheckedTenure() {
$(".table-metrics").addClass("hidden");
$("#XAxis").addClass("hidden");
$("#YAxis").addClass("hidden");
$("#GroupBy").addClass("hidden");
$("#SortColumns").removeClass("hidden");
$("#ChartIcon_PaintBrush").attr("disabled", "true");
$("#ChartIcon_Forms").attr("disabled", "true");
}
static Instance() {
if (this._instance === undefined)
this._instance = new Unibase.Platform.Analytics.Reports.Tenure();
return this._instance;
}
}
Reports.Tenure = Tenure;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More