123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- 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 = {}));
|