var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let PM; (function (PM) { let Components; (function (Components) { class TaskSummary extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.serverFormat = "YYYY/MM/DD"; } cssFiles() { return []; } jsFiles() { return ['apps/pm/managers/taskmanager.js']; } html(id, containerid) { let html = `
`; return html; } load(id, containerid, callback) { var instance = this; Bizgaze.Apps.PM.Components.TaskSummary.Instance().defaultData(); Bizgaze.Apps.PM.Components.TaskSummary.Instance().loadProjects(); Bizgaze.Apps.PM.Components.TaskSummary.Instance().SummaryGetWidgetData(); $("#tasksummaryExport").click(function () { instance.exportData(); }); $("#tasksummaryprojectfilter").click(function () { var theHtml = $("#frm_TaskSummaryProjectFilter").html(); Unibase.Platform.Helpers.NavigationHelper.Instance().popupHtml(theHtml, Unibase.Platform.Helpers.Size.Medium, function () { $(document).on('click', '#btn_TaskSummaryProjectClose', function () { var panel = $("#_bizgaze_modal").prev('.modal')[0].getAttribute('id'); $('#' + panel).modal('hide'); $('#' + panel).remove(); }); var oldvalue = Number($("#txtTaskSummary_ProjectId").val()); $('#txtTaskSummary_ProjectId option[value=' + oldvalue + ']').removeAttr("selected"); $(document).on('change', '#txtTaskSummary_ProjectId', function () { $("#txtTaskSummary_ProjectId").val(Number($(this).val())); $('#txtTaskSummary_ProjectId option[value=' + $(this).val() + ']').attr("selected", 'true'); $(document).on('click', '#btn_TaskSummaryProjectApply', function () { Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp(); Bizgaze.Apps.PM.Components.TaskSummary.Instance().SummaryGetWidgetData(); }); }); }); }); $('#TaskSummaryList_search').on('input', function () { Bizgaze.Apps.PM.Components.TaskSummary.Instance().SummaryGetWidgetData(); }); } init(containerid) { var instance = this; instance.fileCacheHelper.loadJsFiles(["apps/pm/components/tasksummary.js"], function () { instance.navigationHelper.loadSection(0, containerid, Bizgaze.Apps.PM.Components.TaskSummary.Instance(), null, null); }); } defaultData() { var html = '
' + '
' + 'Employee Task Summary' + '
' + '0' + '' + '' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
Employee Name
Upcoming Tasks
' + '
Inpro.Tasks
Testing Inpro.Tasks
Closed Tasks
' + '
Reopened Tasks
' + '
' + '
' + '
    ' + '
  • ' + '
' + '
' + '
' + '' + '
' + ''; $("#divTaskSummary").html(html); } loadProjects() { Bizgaze.Apps.PM.Managers.TaskManager.Instance().getProjects().then(function (response) { var selectedProject = new Option("All", "0"); $("#txtTaskSummary_ProjectId").append(selectedProject); if (response.result != "") { var data = response.result; for (let i = 0; i < data.length; i++) { var selectedProject = new Option(data[i].ProjectName, data[i].ProjectId); $("#txtTaskSummary_ProjectId").append(selectedProject); } $("#hfTaskSummaryAutoCompleteId_ProjectId").val(Number($("#txtTaskSummary_ProjectId").val())); $("#txtTaskSummary_ProjectId").val($("#txtTaskSummary_ProjectId option:eq(1)").val()); $('#txtTaskSummary_ProjectId option:eq(1)').attr('selected', 'selected'); Bizgaze.Apps.PM.Components.TaskSummary.Instance().SummaryGetWidgetData(); } }); } SummaryGetWidgetData() { var instance = this; let FromDate; let ToDate; FromDate = $('.CommonFilter_FromDate').val(); ToDate = $('.CommonFilter_ToDate').val(); if (FromDate == undefined && ToDate == undefined) { let fdate = [moment().subtract(29, 'days'), moment()][0]; let tdate = [moment().subtract(29, 'days'), moment()][1]; FromDate = fdate.format(instance.serverFormat); ToDate = tdate.format(instance.serverFormat); } let reportObj = { FromDate: FromDate, ToDate: ToDate, WidgetId: Number($("#txtTaskSummary_ProjectId").val()), Title: $("#TaskSummaryList_search").val() }; Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskSummaryData(reportObj).then(function (response) { var newData = JSON.parse(JSON.stringify(response)); var upcomingcount = 0; var inprocount = 0; var testingcount = 0; var closedcount = 0; var reopenedcount = 0; var html = ''; if (newData != "") { var result = JSON.parse(newData); $('#div_TeamMembers_Details_NoData').remove(); $("#pagination-footer").removeClass("hidden"); $(".span_TaskSummaryListsearch_count").text(result.length + ' Resources'); for (let i = 0; i < result.length; i++) { var data = result[i]; upcomingcount += data.upcomingtaskcount; inprocount += data.inprotaskcount; testingcount += data.testinprotaskcount; closedcount += data.closedtaskcount; reopenedcount += data.reopenedtaskcount; html += '
  • ' + '
    ' + '' + data.employeename + '(' + data.projectname + ')
    ' + '
    ' + data.upcomingtasks + '' + data.upcomingtaskcount + '
    ' + '
    ' + data.inprotasks + '' + '' + data.inprotaskcount + '
    ' + '
    ' + data.testinprotasks + '' + data.testinprotaskcount + '
    ' + '
    ' + data.closedprotasks + '' + data.closedtaskcount + '
    ' + '
    ' + '
    ' + data.reopenedtasks + '' + '' + data.reopenedtaskcount + '
  • '; } $("#tasksummary_lists_container").html(html); Bizgaze.Apps.PM.Components.TaskSummary.Instance().calculateGrandTotal('upcoming', upcomingcount); Bizgaze.Apps.PM.Components.TaskSummary.Instance().calculateGrandTotal('inprogress', inprocount); Bizgaze.Apps.PM.Components.TaskSummary.Instance().calculateGrandTotal('testinprogress', testingcount); Bizgaze.Apps.PM.Components.TaskSummary.Instance().calculateGrandTotal('closed', closedcount); Bizgaze.Apps.PM.Components.TaskSummary.Instance().calculateGrandTotal('reopened', reopenedcount); } else { $(".employee-task-duration").remove(); $('#div_TeamMembers_Details_NoData').remove(); $("#pagination-footer").addClass("hidden"); $('#listwidget_headertext').after('
    There is no Data
    '); } }); } calculateGrandTotal(cls, count) { var totalh = 0; var totalm = 0; $('.' + cls).each(function () { if (($(this).text())) { var val = $(this).text(); if (val.indexOf(":") >= 0) { val.replace('h', ''); val.replace('m', ''); var h = parseInt((val).split(':')[0]); var m = parseInt((val).split(':')[1]); totalh += h; totalm += m; } else if ($(this).text().indexOf("h") >= 0) { val.replace('h', ''); var h = parseInt(val); totalh += h; } else if (val.indexOf("m") >= 0) { val.replace('m', ''); var m = parseInt(val); totalm += m; } } }); totalh += Math.floor(totalm / 60); totalm = totalm % 60; if (cls == "upcoming") $('#UpcomingTaskstext').text((totalh < 10 ? '0' : '') + totalh.toString() + 'h:' + (totalm < 10 ? '0' : '') + totalm.toString() + 'm' + '(' + count + ')' + ''); else if (cls == "inprogress") $('#InproTaskstext').text((totalh < 10 ? '0' : '') + totalh.toString() + 'h:' + (totalm < 10 ? '0' : '') + totalm.toString() + 'm' + '(' + count + ')' + ''); else if (cls == "testinprogress") $('#TestingInproTaskstext').text((totalh < 10 ? '0' : '') + totalh.toString() + 'h:' + (totalm < 10 ? '0' : '') + totalm.toString() + 'm' + '(' + count + ')' + ''); else if (cls == "closed") $('#ClosedTaskstext').text((totalh < 10 ? '0' : '') + totalh.toString() + 'h:' + (totalm < 10 ? '0' : '') + totalm.toString() + 'm' + '(' + count + ')' + ''); else if (cls == "reopened") $('#ReopenedTaskstext').text((totalh < 10 ? '0' : '') + totalh.toString() + 'h:' + (totalm < 10 ? '0' : '') + totalm.toString() + 'm' + '(' + count + ')' + ''); } exportData() { var instance = this; let FromDate; let ToDate; FromDate = $('.CommonFilter_FromDate').val(); ToDate = $('.CommonFilter_ToDate').val(); if (FromDate == undefined && ToDate == undefined) { let fdate = [moment().subtract(29, 'days'), moment()][0]; let tdate = [moment().subtract(29, 'days'), moment()][1]; FromDate = fdate.format(instance.serverFormat); ToDate = tdate.format(instance.serverFormat); } var postData = { FromDate: FromDate, ToDate: ToDate, WidgetId: Number($("#txtTaskSummary_ProjectId").val()) }; Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskSummaryData(postData).then(function (response) { var newData = JSON.parse(JSON.stringify(response)); var rows = new Array(); var upcomingtaskcount = 0; var inprotaskcount = 0; var testinginprotaskcount = 0; var closedcount = 0; var reopenedtaskcount = 0; if (newData != "") { var result = JSON.parse(newData); for (var i = 0; i < result.length; i++) { var data = result[i]; var cell = new Array(); cell.push(data.employeename); cell.push(data.upcomingtasks); cell.push(data.upcomingtaskcount); cell.push(data.inprotasks); cell.push(data.inprotaskcount); cell.push(data.testinprotasks); cell.push(data.testinprotaskcount); cell.push(data.closedprotasks); cell.push(data.closedtaskcount); cell.push(data.reopenedtasks); cell.push(data.reopenedtaskcount); rows.push({ Id: i, cell: cell }); upcomingtaskcount += data.upcomingtaskcount; inprotaskcount += data.inprotaskcount; testinginprotaskcount += data.testinprotaskcount; closedcount += parseInt(data.closedtaskcount); reopenedtaskcount += parseInt(data.reopenedtaskcount); } var totalcell = new Array(); var upcomingtasks = $("#UpcomingTaskstext").text().replace(/ *\([^)]*\) */g, ""); var inprotasks = $("#InproTaskstext").text().replace(/ *\([^)]*\) */g, ""); var testinginprotasks = $("#TestingInproTaskstext").text().replace(/ *\([^)]*\) */g, ""); var closedtasks = $("#ClosedTaskstext").text().replace(/ *\([^)]*\) */g, ""); var reopenedtasks = $("#ReopenedTaskstext").text().replace(/ *\([^)]*\) */g, ""); totalcell.push("GrandTotal"); totalcell.push(upcomingtasks); totalcell.push(upcomingtaskcount); totalcell.push(inprotasks); totalcell.push(inprotaskcount); totalcell.push(testinginprotasks); totalcell.push(testinginprotaskcount); totalcell.push(closedtasks); totalcell.push(closedcount); totalcell.push(reopenedtasks); totalcell.push(reopenedtaskcount); rows.push({ Id: i + 1, cell: totalcell }); var columns = [ { ColumnName: "EmployeeName" }, { ColumnName: "UpcomingTasks" }, { ColumnName: "UpcomingTaskCount" }, { ColumnName: "InprogressTasks" }, { ColumnName: "InprogressTaskcount" }, { ColumnName: "TestingInProgress" }, { ColumnName: "TestingInProgressCount" }, { ColumnName: "ClosedTasks" }, { ColumnName: "ClosedTasksCount" }, { ColumnName: "ReopenedTasks" }, { ColumnName: "ReopenedTaskCount" } ]; result.columns = columns; result.rows = rows; Bizgaze.Apps.PM.Components.TaskSummary.Instance().exportToExcel(result, "export"); } }); } exportToExcel(pagedList, filename) { var finalVal = "data:text/csv;charset=utf-8,"; for (var i = 0; i < pagedList.columns.length; i++) { var cvalue = pagedList.columns[i]; var innerValue = cvalue === null ? '' : cvalue.ColumnName.toString(); var result = innerValue.replace(/"/g, '""'); if (result.search(/("|,|\n)/g) >= 0) result = '"' + result + '"'; if (i > 0) finalVal += ','; finalVal += result; } finalVal += '\n'; for (var i = 0; i < pagedList.rows.length; i++) { var value = pagedList.rows[i].cell; for (var j = 0; j < value.length; j++) { var innerValue = value[j] === null ? '' : value[j].toString(); var result = innerValue.replace(/"/g, '""'); if (result.search(/("|,|\n)/g) >= 0) result = '"' + result + '"'; if (j > 0) finalVal += ','; finalVal += result; } finalVal += '\n'; } var encodedUri = encodeURI(finalVal); var link = document.createElement("a"); document.body.appendChild(link); link.setAttribute("href", encodedUri); link.setAttribute("download", "my_data.csv"); link.click(); } static Instance() { if (this.instance === undefined) { this.instance = new TaskSummary(); } return this.instance; } } Components.TaskSummary = TaskSummary; })(Components = PM.Components || (PM.Components = {})); })(PM = Apps.PM || (Apps.PM = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));