Iniit
@@ -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 = {}));
|
||||
@@ -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":"AAGA,IAAU,OAAO,CAyMhB;AAzMD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAuMxB;IAvMD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAqMzB;QArMD,WAAiB,SAAS;YACtB,IAAiB,UAAU,CAmM1B;YAnMD,WAAiB,UAAU;gBAEvB,MAAa,sBAAuB,SAAQ,QAAQ,CAAC,IAAI,CAAC,aAAa;oBAKnE;wBACI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACtB,CAAC;oBAED,OAAO;wBACH,OAAO,CAAC,yEAAyE,CAAC,CAAC;oBACvF,CAAC;oBAED,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW;wBAEhB,IAAI,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkE5B,CAAC;wBACgB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAGD,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ;wBAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;wBACjK,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAa;4BAChE,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;6BAC/D;4BAED,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;gCACxB,WAAW,EAAE,yBAAyB;gCACtC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAA;4BACF,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;gCACtB,WAAW,EAAE,uBAAuB;gCACpC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAA;4BACF,CAAC,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC;gCAClC,WAAW,EAAE,oBAAoB;gCACjC,IAAI,EAAE,IAAI;gCACV,UAAU,EAAE,IAAI;6BACnB,CAAC,CAAA;4BACF,CAAC,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC;gCACnC,WAAW,EAAE,qBAAqB;gCAClC,IAAI,EAAE,IAAI;gCACV,UAAU,EAAE,IAAI;6BACnB,CAAC,CAAA;4BAEF,IAAI,EAAE,IAAI,CAAC,EAAE;gCACT,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;6BAChC;wBAEL,CAAC,CAAC,CAAC;wBAIH,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;4BACjB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElC,CAAC,CAAC,CAAC;wBAEH,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;4BAE9B,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;wBAE3D,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,eAAe,CAAC,EAAE;wBACd,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BAC9D,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA;4BACnC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;4BACpH,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACpF,CAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAClF,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC5E,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC5E,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG;wBACvC,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG,GAAG,CAAC;wBACnB,IAAI,GAAG,IAAI,IAAI,EAAE;4BACb,QAAQ,GAAG;gCACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;gCACzB,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE;gCACtC,WAAW,EAAE,CAAC,CAAC,2CAA2C,CAAC,CAAC,IAAI,EAAE;gCAClE,UAAU,EAAE,CAAC,CAAC,0CAA0C,CAAC,CAAC,IAAI,EAAE;gCAChE,YAAY,EAAE,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,EAAE;gCACtD,cAAc,EAAE,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE;gCAC1D,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC/B,iBAAiB,EAAE,CAAC;gCACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI;6BAClE,CAAA;yBACJ;wBACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,8CAA8C,EAAE;4BAC5E,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCACrE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oCACtC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;iCACpF;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oCAC3D,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;iCACjC;4BACL,CAAC,CAAC,CAAC;wBAEP,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;wBACxF,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBACJ;gBAhMY,iCAAsB,yBAgMlC,CAAA;YACL,CAAC,EAnMgB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QAmM1B;QACL,CAAC,EArMgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAqMzB;IACL,CAAC,EAvMgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuMxB;AACL,CAAC,EAzMS,OAAO,KAAP,OAAO,QAyMhB"}
|
||||
@@ -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 = {}));
|
||||
@@ -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":"AAGA,IAAU,OAAO,CAqJhB;AArJD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAmJxB;IAnJD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAiJzB;QAjJD,WAAiB,SAAS;YACtB,IAAiB,UAAU,CA+I1B;YA/ID,WAAiB,UAAU;gBACvB,MAAa,kBAAmB,SAAQ,QAAQ,CAAC,IAAI,CAAC,aAAa;oBAK/D;wBACI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACtB,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,wDAAwD,EAAE,iDAAiD,CAAC,CAAC;oBACzH,CAAC;oBAED,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,IAAI,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiCR,CAAC;wBACJ,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ;wBAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;wBACjC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;wBAC7J,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;4BACjB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElC,CAAC,CAAC,CAAC;wBAEH,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BAE3D,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;6BAC7E;4BACD,CAAC,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC;gCACnC,WAAW,EAAE,yBAAyB;gCACtC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAC;4BACH,CAAC,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC;gCACpC,WAAW,EAAE,yBAAyB;gCACtC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAC;4BACH,IAAI,EAAE,IAAI,CAAC,EAAE;gCACT,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;6BAC5B;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;4BAErB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;wBAG5C,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW;wBAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG;4BACX,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;4BACtB,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAY;4BAC5C,aAAa,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAY;4BAC7D,YAAY,EAAE,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAY;4BAC7D,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;4BACjD,YAAY,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAY;4BACpD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,iBAAiB,EAAE,CAAC;4BACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI;yBAClE,CAAA;wBAED,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,8CAA8C,EAAE;4BAChF,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCACjE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oCACtC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;iCAChF;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oCAC3D,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;iCACjC;4BACL,CAAC,CAAC,CAAC;wBAEP,CAAC,CAAC,CAAC;oBAEP,CAAC;oBAED,WAAW,CAAC,EAAE;wBACV,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,QAAa;4BAC/D,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BAC7B,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;4BAChH,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC7F,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC7F,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;wBACtE,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;wBAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBAEJ;gBA7IY,6BAAkB,qBA6I9B,CAAA;YACL,CAAC,EA/IgB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QA+I1B;QACL,CAAC,EAjJgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAiJzB;IACL,CAAC,EAnJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAmJxB;AACL,CAAC,EArJS,OAAO,KAAP,OAAO,QAqJhB"}
|
||||
@@ -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={}));
|
||||
@@ -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={}));
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 611 B |
|
After Width: | Height: | Size: 3.1 KiB |
@@ -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 = {}));
|
||||
@@ -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">×</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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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":"AAEA,IAAU,OAAO,CAoLhB;AApLD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAkLxB;IAlLD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAgLzB;QAhLD,WAAiB,SAAS;YACtB,IAAiB,UAAU,CA8K1B;YA9KD,WAAiB,UAAU;gBACvB,MAAa,iBAAkB,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAKrD;wBACI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBACvD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACtB,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,+DAA+D,CAAC,CAAC;oBAC7E,CAAC;oBAED,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,IAAI,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA2DR,CAAC;wBACJ,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ;wBAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;wBAC5J,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAa;4BACpE,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;6BAC7E;4BAED,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;gCACvB,WAAW,EAAE,wBAAwB;gCACrC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAA;4BACF,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;gCACxB,WAAW,EAAE,yBAAyB;gCACtC,IAAI,EAAE,IAAI;6BACb,CAAC,CAAA;4BACF,IAAI,EAAE,IAAI,CAAC,EAAE;gCACT,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BAC3B;wBACL,CAAC,CAAC,CAAC;wBAEH,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;4BACjB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElC,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;4BACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;wBAEtD,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,UAAU,CAAC,EAAE;wBACT,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BACzD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;4BACpC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;4BAC9G,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACtE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACvE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;4BAC7D,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;4BACzE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;4BACzE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;wBAC7E,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG;wBAClC,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,GAAG,GAAG,CAAC;wBACnB,IAAI,GAAG,IAAI,IAAI,EAAE;4BACb,QAAQ,GAAG;gCACP,SAAS,EAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,EAAY;gCAC9D,SAAS,EAAE,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAY;gCAC/D,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAY;gCAC1C,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAY;gCACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gCAC1B,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gCACrB,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAY;gCACtD,kBAAkB,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAY;gCAClE,kBAAkB,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAY;gCAClE,kBAAkB,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAY;gCAClE,iBAAiB,EAAE,CAAC;gCACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI;6BAClE,CAAA;yBACJ;wBACD,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,8CAA8C,EAAE;4BAChF,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAChE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oCACtC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;iCAC/E;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oCAC3D,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;iCACjC;4BACL,CAAC,CAAC,CAAC;wBAEP,CAAC,CAAC,CAAC;oBACP,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;wBACnF,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBAEJ;gBA5KY,4BAAiB,oBA4K7B,CAAA;YACL,CAAC,EA9KgB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QA8K1B;QACL,CAAC,EAhLgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAgLzB;IACL,CAAC,EAlLgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAkLxB;AACL,CAAC,EApLS,OAAO,KAAP,OAAO,QAoLhB"}
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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":"AAAA,IAAU,OAAO,CAmGhB;AAnGD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAiGxB;IAjGD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CA+FzB;QA/FD,WAAiB,SAAS;YACtB,IAAiB,UAAU,CA6F1B;YA7FD,WAAiB,UAAU;gBACvB,IAAiB,aAAa,CA2F7B;gBA3FD,WAAiB,aAAa;oBAC1B,MAAa,MAAO,SAAQ,SAAA,IAAI,CAAC,aAAa;wBAI1C;4BACI,KAAK,EAAE,CAAC;4BACR,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;4BACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;wBACjF,CAAC;wBAED,QAAQ;4BACJ,IAAI,QAAQ,GAAG,CAAC,iCAAiC,CAAC,CAAC;4BACnD,OAAO,QAAQ,CAAC;wBACpB,CAAC;wBAED,OAAO;4BACH,OAAO,CAAC,8CAA8C;gCAClD,uDAAuD;gCACvD,oDAAoD;gCACpD,6BAA6B;gCAC7B,+BAA+B,EAAE,2CAA2C,CAAC,CAAC;wBACtF,CAAC;wBACD,IAAI,CAAC,EAAE,EAAE,WAAW;4BAChB,IAAI,QAAQ,GAAG,IAAI,CAAC;4BAEpB,IAAI,IAAI,GAAG,gwBAAgwB,GAAG,WAAW,GAAG,mWAAmW,CAAC;4BAChoC,OAAO,IAAI,CAAC;wBAChB,CAAC;wBACD,UAAU;4BACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxI,CAAC;wBACD,UAAU,CAAC,WAAW;4BAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;4BACxC,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,sDAAsD,CAAC;4BAC7F,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAC3I,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gCACrE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;4BAGlC,CAAC,CAAC,CAAC;wBAIP,CAAC;wBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAkB;4BACpC,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;gCACxB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;4BAElC,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;gCACnB,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gCAChD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC3C,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gCAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC;4BAEH,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gCACjB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gCACzB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gCAClC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAE1C,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;gCACpB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;4BAE9B,CAAC,CAAC,CAAA;wBAGN,CAAC;wBACD,SAAS,CAAC,MAAM;4BACZ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;4BACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChH,CAAC;wBAGD,MAAM,CAAC,QAAQ;4BACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;6BAChC;4BACD,OAAO,IAAI,CAAC,QAAQ,CAAC;wBACzB,CAAC;;oBAvFM,eAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBADxB,oBAAM,SAyFlB,CAAA;gBACL,CAAC,EA3FgB,aAAa,GAAb,wBAAa,KAAb,wBAAa,QA2F7B;YACL,CAAC,EA7FgB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QA6F1B;QACL,CAAC,EA/FgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QA+FzB;IACL,CAAC,EAjGgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAiGxB;AACL,CAAC,EAnGS,OAAO,KAAP,OAAO,QAmGhB"}
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||
@@ -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 = {}));
|
||||