This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
+258
View File
@@ -0,0 +1,258 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let PM;
(function (PM) {
let Components;
(function (Components) {
class SessionLog extends Unibase.Platform.Core.BaseComponent {
constructor() {
super();
this._taskManager = PM.Managers.TaskManager.Instance();
}
cssFiles() {
return [''];
}
jsFiles() {
return ['apps/pm/managers/taskmanager.js'];
}
html(id, containerid) {
let html = `<form id="createMrp" method="post" data-validate="parsley">
<input type="hidden" id="hfTaskSessionId" value="" />
<header class="b-b bg-white modal-header">
<strong class="text-dark titlename">Log Hours</strong>
<div class="btn-group ml-auto"> <a class="btn btn-sm"><i class="ti-help-alt" title="help" href="" target="_blank"></i></a><div></header><div style="overflow-x:hidden;" class="scrollable">
<div class="b-a wrapper">
<div class="card">
<ul id="ul_ShowLog_Details">
<li class="list-group-item bg-cyan-light-5">
<div class="row">
<div class="col-sm-4"><h6>Start Time</h6></div>
<div class="col-sm-4 mr-45"><h6>End Time</h6></div>
<div class="col-sm-2 mr-10"><h6>Duration</h6></div>
<div class="col-sm-1">
<a href="javascript:;" class="pull-right manageloghour hidden" id="LinkButton" title="CreateLogHour" onclick="_bizgaze_pm_coummunicatios_sessionlog_widget.addLogHourRow(true)"><i class="fa fa-plus"></i></a></div></div>
</li><li class="length-row" id="ulLogDetails"></li></ul></div></div></div>
<footer class="bg-white modal-footer"><a href="javascript:;" id="btn_ShoLogClose" class="btn btn-light btn-sm mr-auto" onclick=" _navigationHelper.closeCreate()"> Close</a>
</footer></form>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#txt_LogHourEndDate").change(function () {
instance.calculateDateDiff();
});
instance.checkPermission();
}
addLogHourRow(isedit) {
var instance = this;
var predivhtml = '<li class="list-group-item sessionlog-item hidden" id="li_AddLogHours">' +
'<div class="row">' +
'<div class="col-sm-4">' +
'<div class="floating-label-form-group floating-label-form-group-with-value" id = "div_LogHourStartDate" >' +
'<div class="input-group">' +
'<input type="text" id="txt_LogHourStartDate" class="form-control value-control datepicker-input floating-label-control" data-isdynamic="false" placeholder="dd/mm/yyyy" data-placeholder="dd/mm/yyyy" data-label="dd/mm/yyyy" />' +
'<span class="input-group-addon mt-10 bg-white no-border"><i class="fa fa-calendar" aria-hidden="true"></i></span>' +
'</div>' +
'</div>' +
'</div>' +
'<div class="col-sm-4 mr-45">' +
'<div class="floating-label-form-group floating-label-form-group-with-value" id = "div_LogHourEndDate">' +
'<div class="input-group">' +
'<input type="text" id="txt_LogHourEndDate" class="form-control value-control datepicker-input floating-label-control" data-isdynamic="false" placeholder="dd/mm/yyyy" data-placeholder="dd/mm/yyyy" data-label="dd/mm/yyyy" />' +
'<span class="input-group-addon mt-10 bg-white no-border"><i class="fa fa-calendar" aria-hidden="true"></i></span>' +
'</div>' +
'</div>' +
'</div>' +
'<div class="col-sm-2 mr-10 pl-6" style="padding-bottom:5px;padding-top:5px">' +
'<span class="h6" id="LogHours"></span>' +
'</div>' +
'<div class="col-sm-1"><span class="pull-right mt-10" onclick="return _bizgaze_extensions_PM_task_timetracker.saveTaskSession(' + null + ', ' + null + ', ' + false + ',' + false + ', ' + false + ',' + true + ');"><i class="fa fa-check" aria-hidden="true"></i></span>' +
'</div></div></li>';
$(".divAddLogHours_0").parent().before(predivhtml);
if (isedit)
$("#li_AddLogHours").removeClass('hidden');
$("#txt_LogHourEndDate,#txt_LogHourStartDate").change(function () {
instance.calculateDateDiff();
});
$('.datepicker-input').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
});
instance.checkProjectDates();
}
checkProjectDates() {
var instance = this;
$('#txt_LogHourEndDate').val(moment(new Date($.now())).format("DD/MM/YYYY HH:mm"));
$('#txt_LogHourStartDate').val(moment(new Date($.now())).format("DD/MM/YYYY HH:mm"));
instance.calculateDateDiff();
$('#txt_LogHourStartDate').daterangepicker({
timePicker24Hour: true,
timePicker: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
singleDatePicker: true,
showDropdowns: true,
});
$('#txt_LogHourEndDate').daterangepicker({
timePicker24Hour: true,
timePicker: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
singleDatePicker: true,
showDropdowns: true,
});
}
calculateDateDiff() {
var stdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourStartDate").val());
var endate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourEndDate").val());
var diffDays = 0;
var diffHrs = 0;
var diffMins = 0;
var diffSecs = 0;
var today = new Date(stdate);
var Christmas = new Date(endate);
var diffMs = (Number(Christmas) - Number(today));
if (diffMs != NaN) {
diffDays = Math.floor(diffMs / 86400000);
diffHrs = Math.floor((diffMs) / 3600000);
diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000);
diffSecs = Math.round((((diffMs % 86400000) % 3600000) / 60000) / 60000);
}
}
checkPermission() {
var instance = this;
instance._taskManager.getLogHourPermission().then(function (response) {
if (response.result == '5' || Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin == true) {
$(".manageloghour").removeClass('hidden');
}
else {
$(".manageloghour").addClass('hidden');
}
}, function (response) {
MessageHelper.Instance().showError(response, '');
});
}
getProjectDetails(_projectId) {
var instance = this;
var projectendDate = '';
let _dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length != 0) {
_projectId = (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_projectid").Value);
}
instance._taskManager.getProjectDetails(Number(_projectId)).then(function (response) {
if (response.result != null) {
$(".date_startdate").val(_dateTimeHelper.formatLocalDate1(response.result.StartDate, ''));
projectendDate = _dateTimeHelper.formatLocalDate1(response.result.EndDate, '');
if (projectendDate == '01/01/1901') {
$('.date_startdate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
autoUpdateInput: true,
minDate: _dateTimeHelper.formatLocalDate1(response.result.StartDate, ''),
});
$('.date_enddate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
minDate: _dateTimeHelper.formatLocalDate1(response.result.StartDate, ''),
});
}
else {
$(".date_enddate").val(_dateTimeHelper.formatLocalDate1(response.result.EndDate, ''));
}
if (response.result.EndDate != null && projectendDate != '01/01/1901') {
$('.date_startdate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
autoUpdateInput: true,
minDate: _dateTimeHelper.formatLocalDate1(response.result.StartDate, ''),
maxDate: _dateTimeHelper.formatLocalDate1(response.result.EndDate, '')
});
$('.date_enddate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
autoUpdateInput: true,
minDate: _dateTimeHelper.formatLocalDate1(response.result.StartDate, ''),
maxDate: _dateTimeHelper.formatLocalDate1(response.result.EndDate, ''),
});
}
$('.date_startdate').on('apply.daterangepicker', function (ev, picker) {
var date = $(this).val();
if (projectendDate != "" && projectendDate == '01/01/1901') {
$('.date_enddate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
minDate: _dateTimeHelper.formatLocalDate1(date, ''),
maxDate: projectendDate
});
}
else {
$('.date_enddate').daterangepicker({
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
minDate: _dateTimeHelper.formatLocalDate1(date, ''),
});
}
});
}
});
}
taskstagechange() {
$('.date_completedate').val(moment(new Date($.now())).format("DD/MM/YYYY HH:mm"));
$('.date_completedate').daterangepicker({
timePicker24Hour: true,
timePicker: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
singleDatePicker: true,
showDropdowns: true,
});
let completeddate = $(".date_completedate").val();
completeddate = moment($(".date_completedate").val(), "DD/MM/YYYY HH:mm").format('YYYY/MM/DD HH:mm');
$(".hfdate_completedate").val(completeddate.toString());
setTimeout(function () {
$('.date_completedate').on('apply.daterangepicker', function (ev, picker) {
let completeddate = $(".date_completedate").val();
completeddate = moment($(".date_completedate").val(), "DD/MM/YYYY HH:mm").format('YYYY/MM/DD HH:mm');
$(".hfdate_completedate").val(completeddate.toString());
});
}, 2000);
}
static Instance() {
if (this.instance == undefined) {
this.instance = new SessionLog();
}
return this.instance;
}
}
Components.SessionLog = SessionLog;
})(Components = PM.Components || (PM.Components = {}));
})(PM = Apps.PM || (Apps.PM = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
+18
View File
File diff suppressed because one or more lines are too long
+187
View File
@@ -0,0 +1,187 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let PM;
(function (PM) {
let Components;
(function (Components) {
class TaskProgress extends Unibase.Platform.Core.BaseComponent {
cssFiles() {
return [];
}
jsFiles() {
return ['apps/pm/managers/taskmanager.js'];
}
html(id, containerid) {
let html = `<div class="b-a wrapper"><div id="bizgaze_ErrorMessages" class="clear"></div><div class="card"><div class="card-header card-header-action"><span class="" id="hf-widget-title_Progessbar">Task Progress</span></div><div class="card-body"><div class="row"><div class='col-sm-2 pl-70'><strong class='text-right'/></div></div><div class="row"><div class="col-sm-12 pm_taskList"></div></div></div></div></div>`;
$("." + containerid).html(html);
return "";
}
init(containerid) {
var instance = this;
var id = 0;
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + InstalledAppId + "_recordid") {
id = Number(obj.Value);
}
}
instance.load(id, containerid, null);
}
load(id, containerid, callback) {
this.html(id, containerid);
var taskid = Number(id);
Bizgaze.Apps.PM.Components.TaskProgress.Instance().LoadProgressBar(taskid);
}
LoadProgressBar(taskid) {
var instance = this;
instance.fileCacheHelper.loadJsFile("apps/pm/managers/taskmanager.js", function () {
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTasks(taskid).then(function (response) {
var data = JSON.parse(response.result)[0];
instance.refstatusId = data.refstatusid;
instance.percent = data.percentage;
var html = "";
$(".pm_taskList").html('<ul class="list-group no-radius m-b-md list-group-sm no-border pm-task-list"></ul>');
$(".pm-task-list").html('<li class="pm-task-item hidden"></li>');
if (response.result != null) {
html += '<li class="pm-task-list-item-' + data.taskid + '">' +
'<div class="">' +
'<div class="row showProgressBar_' + data.taskid + '">' +
'<div class="col-11 m-t-xs pl-2 taskPercentage-' + data.taskid + '" data-taskPercentage="' + data.percentage + '">' +
'<div class="taskProgress taskProgress-' + data.taskid + '" ><div class="progress-label" style="color:#ff0000;position:absolute;left:50%;top:4px;font-weight:bold;">0%</div></div>' +
'</div>' +
'<div class="col-1 m-t-xs pl-0">' +
'<button type="button" id ="ProgressButton" onclick="javascript:Unibase.Apps.PM.Components.TaskProgress.Instance().toggleProgress(' + data.taskid + ')" class="btn btn-sm btn-info btn-block pull-right" style="width:50px;"><i class="fa fa-pencil"></i></button>' +
'</div>' +
'</div>' +
'<div class="row editProgressBar_' + data.taskid + ' hidden">' +
'<div class="col-11 mt-5 pl-2 m-t-xs taskPercentage-' + data.taskid + '" data-taskPercentage="' + data.percentage + '">' +
'<div class="pmTask_Slider pmTask_Slider-' + data.taskid + '"><div class="slider-label" style="color:#ff0000;position:absolute;left:50%;font-weight:bold;">0%</div><div id="custom-handle-' + data.taskid + '" style="width:2em;height:1.6em;top:50%;margin-top:-.8em;text-align:center;line-height:1.6em;" class="ui-slider-handle"></div><input class="hdnTaskId" type="hidden" data-taskId="' + data.taskid + '" /></div>' +
'</div>' +
'<div class="col-1 pl-0 m-t-xs">' +
'<button type="button" id="ProgressButton" onclick="javascript:Unibase.Apps.PM.Components.TaskProgress.Instance().toggleProgress(' + data.taskid + ')" class="btn btn-info btn-sm btn-block pull-right" style="width:50px;"><i class="fa fa-times"></i></button>' +
'</div>' +
'</div>' +
'</div>' +
'</li>';
$(".pm-task-item:last").before(html);
Bizgaze.Apps.PM.Components.TaskProgress.Instance().loadProgress(data.taskid);
}
$('.pmTask_Slider').each(function () {
var element = $(this).find('.hdnTaskId');
var taskId = $(element).data('taskid');
var handle = $("#custom-handle-" + taskId + "");
var count = 0;
$(this).slider({
min: 0,
max: 100,
step: 1,
create: function () {
handle.text($(this).slider("value"));
},
slide: function (event, ui) {
handle.text(ui.value);
},
change: function (event, ui) {
}
});
});
});
});
}
loadProgress(TaskId) {
var element = $('.pm_taskList');
var ele = element.find(".taskPercentage-" + TaskId + "");
var label = ele.find(".progress-label");
this.percent = ele.data('taskpercentage');
element.find(".taskProgress-" + TaskId + "").progressbar({
value: this.percent,
});
if (this.percent > 50) {
$(".progress-label").css({ 'color': 'white' });
}
label.text(this.percent + '%');
var styles = {
backgroundColor: "green",
height: "50px"
};
$(".taskProgress-" + TaskId + "").find(".ui-progressbar-value").css(styles);
element.find(".pmTask_Slider-" + TaskId + "").slider({
min: 0,
max: 100,
step: 1,
value: this.percent,
range: "min",
});
var refstatusid = this.refstatusId;
if (refstatusid == 3 || refstatusid == 6)
$("#ProgressButton").prop("disabled", false);
else
$("#ProgressButton").prop("disabled", true);
}
toggleProgress(TaskId) {
$('.showProgressBar_' + TaskId).toggleClass('hidden');
$('.editProgressBar_' + TaskId).toggleClass('hidden');
$('.inpTaskCompletedDate-' + TaskId).toggleClass('hidden');
$('.spnTaskCompletedDate-' + TaskId).toggleClass('hidden');
var element = $('.pm_taskList');
var ele = element.find(".taskPercentage-" + TaskId + "");
var label1 = ele.find(".slider-label");
var percentage = this.percent;
var sliderstyle = {
backgroundColor: "green",
cursor: "pointer"
};
$(".ui-state-default").css(sliderstyle);
$(".ui-slider-range").css("background-color", "green");
$(".ui-slider").css("height", "22px");
if (percentage > 50) {
$(".slider-label").css({ 'color': 'white' });
}
label1.text(percentage + '%');
var ele1 = $('.pm_taskList').parent().parent();
var element1 = ele1.find('.pmTask_Slider');
element1.slider({
min: 0,
max: 100,
step: 1,
value: percentage,
range: "min",
create: function (event, ui) {
var tooltip = $('<div class="tooltip" />');
$(event.target).find('.ui-slider-handle').append(tooltip);
},
slide: function (event, ui) {
$(ui.handle).find('.tooltip').text(ui.value);
},
change: function (event, ui) {
var currentDate = new Date($.now());
var postData = {
taskid: TaskId,
percentage: ui.value,
timerstoppeddate: new Date(),
timer: '',
pausedate: new Date(),
istaskpause: false,
isresumetask: false,
istaskstopped: false,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateTaskPercentage(postData).then(function (response) {
Bizgaze.Apps.PM.Components.TaskProgress.Instance().LoadProgressBar(TaskId);
});
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new TaskProgress();
}
return this.instance;
}
}
Components.TaskProgress = TaskProgress;
})(Components = PM.Components || (PM.Components = {}));
})(PM = Apps.PM || (Apps.PM = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
@@ -0,0 +1,95 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let PM;
(function (PM) {
let Components;
(function (Components) {
class TaskReopened extends Unibase.Platform.Core.BaseComponent {
constructor() {
super();
}
cssFiles() {
return [];
}
jsFiles() {
return [''];
}
html(id, containerid) {
return "";
}
init(containerid) {
}
load(id, containerid, callback) {
}
reopenedstage() {
let detailContainer = $("._bizgaze_detail_container:visible");
let refstatusId = (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) {
return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_refstatusid";
})[0].Value);
let stageName = (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) {
return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_stagename";
})[0].Value);
$(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Reopen').addClass('hidden');
if (stageName != 'Inprogress') {
if (refstatusId == '4' || (refstatusId == '5')) {
$(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Reopen').removeClass('hidden');
}
}
var instance = this;
$(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Reopen').click(function () {
let uniqueid = 'Bizgaze_Extension_PM_Task_StageReason_Form';
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(['platform/forms/managers/formmanager.js', 'platform/forms/components/formviewer/formviewer.js', 'platform/forms/requests/forms.js'], function () {
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (res) {
var formid = res.result.FormId;
var successobj = {
CallBack: function () {
var TaskId = (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) {
return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_taskid";
})[0].Value);
instance.updateIsrepoened(TaskId);
},
Parameters: null,
};
var formviewerObj = {
FormId: formid,
AppConfigurationId: 0,
Pk_Value: 0,
PortletWidgetId: 0,
OnSuccess: successobj,
OnFail: null,
OnLoad: null,
};
Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
});
});
});
}
updateIsrepoened(TaskId) {
var instance = this;
var jsfiles = ['apps/pm/components/taskreopened.js', 'apps/pm/managers/taskmanager.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateIsReopened(TaskId).then(function (response) {
MessageHelper.Instance().showSuccess(response.message, '');
var detailobj = Unibase.Themes.Compact.Components.Details.Instance();
detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
detailobj._containerId = $("._bizgaze_detail_container:visible").attr("id");
var idetailObj = detailobj;
detailobj.loadPortlets(idetailObj);
instance.reopenedstage();
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new TaskReopened();
return this._instance;
}
}
Components.TaskReopened = TaskReopened;
})(Components = PM.Components || (PM.Components = {}));
})(PM = Apps.PM || (Apps.PM = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"taskreopened.js","sourceRoot":"","sources":["taskreopened.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let PM;
(function (PM) {
let Components;
(function (Components) {
class TaskStartdate extends Unibase.Platform.Core.BaseComponent {
constructor() {
super();
}
cssFiles() {
return [];
}
jsFiles() {
return [''];
}
html(id, containerid) {
return "";
}
init(containerid) {
}
load(id, containerid, callback) {
}
milestoneStartdate(mileStoneid) {
var instance = this;
var jsfiles = ['apps/pm/managers/taskmanager.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getMilestonedetails(mileStoneid).then(function (response) {
var data = response.result[0];
let startdate = data.startdate;
startdate = moment(startdate, "YYYY/MM/DD HH:mm").format("DD/MM/YYYY HH:mm");
$(".date_startdate").val(startdate);
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new TaskStartdate();
return this._instance;
}
}
Components.TaskStartdate = TaskStartdate;
})(Components = PM.Components || (PM.Components = {}));
})(PM = Apps.PM || (Apps.PM = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"taskstartdate.js","sourceRoot":"","sources":["taskstartdate.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA8ChB;AA9CD,WAAU,OAAO;IACb,IAAiB,IAAI,CA4CpB;IA5CD,WAAiB,IAAI;QACjB,IAAiB,EAAE,CA0ClB;QA1CD,WAAiB,EAAE;YACf,IAAiB,UAAU,CAwC1B;YAxCD,WAAiB,UAAU;gBACvB,MAAa,aAAc,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;oBAClE;wBACI,KAAK,EAAE,CAAC;oBACZ,CAAC;oBACD,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChB,CAAC;oBACD,IAAI,CAAC,EAAO,EAAE,WAAmB;wBAC7B,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,WAAW;oBAEhB,CAAC;oBACD,IAAI,CAAC,EAAO,EAAE,WAAmB,EAAE,QAAkB;oBAErD,CAAC;oBACD,kBAAkB,CAAC,WAAW;wBAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;wBACjD,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,QAAQ;4BAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,QAAa;gCACzG,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;gCAC9B,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gCAC7E,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACxC,CAAC,CAAC,CAAC;wBACR,CAAC,CAAC,CAAC;oBAEL,CAAC;oBAEF,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACzC,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBACJ;gBAtCY,wBAAa,gBAsCzB,CAAA;YACL,CAAC,EAxCgB,UAAU,GAAV,aAAU,KAAV,aAAU,QAwC1B;QACL,CAAC,EA1CgB,EAAE,GAAF,OAAE,KAAF,OAAE,QA0ClB;IACL,CAAC,EA5CgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA4CpB;AACL,CAAC,EA9CS,OAAO,KAAP,OAAO,QA8ChB"}
+399
View File
@@ -0,0 +1,399 @@
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 = `<div id="divTaskSummary">
</div>
<form id="frm_TaskSummaryProjectFilter" method="post" data-validate="parsley" class="hidden">
<header class="b-b bg-white modal-header">
<strong class="text-dark titlename">Project</strong>
<div class="btn-group ml-auto"> <a class="btn btn-sm"><i class="ti-help-alt" title="help" href="" target="_blank"></i></a></div>
</header>
<div style="overflow-x:hidden;" class="scrollable">
<div id="bizgaze_CreateProjectErrorMessages" class="clear"></div>
<div class="card">
<div class="card-body">
<div class="row" style="overflow-x:hidden;">
<div class="row col-sm-12">
<div class="col-sm-12">
<div class="floating-label-form-group floating-label-form-group-with-value" style="border-bottom:0;">
<label for="txtTaskSummary_ProjectId">Project<span class="text-danger"> *</span></label>
<select id="txtTaskSummary_ProjectId" style="width:100%" placeholder="Select Project*" class="txtTaskSummary_ProjectId form-control floating-label-control" data-placeholder="Select Project" data-label="Project*" />
<input id="hfTaskSummaryAutoCompleteId_ProjectId" class="hfTaskSummaryAutoComplete_ProjectId" type="hidden">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="bg-white modal-footer" style="position:absolute; bottom:0px;width:100%;">
<a href="javascript:;" id="btn_TaskSummaryProjectClose" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btn_TaskSummaryProjectApply" class="btn btn-primary btn-sm">Apply</a>
</footer>
</form>`;
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 = '<div id="tasksummary_lists" class="card shadow-hover">' +
'<div class="card-header card-header-action">' +
'<span id="hf_widget_title" class="ml-10">Employee Task Summary</span></a>' +
'<div class="d-flex align-items-center card-action-wrap">' +
'<span class="pull-right badge badge-light badge-pill badge-outline mr-10 span_TaskSummaryListsearch_count">0</span>' +
'<a id="tasksummaryExport" class="mr-15" href="javascript:void(0);"><i class="fa fa-download" aria-hidden="true"></i></a>' +
'<a id="tasksummaryprojectfilter" class="" href="javascript:void(0);"><i class="ti-filter"></i></a>' +
'<div class="d-flex" id="div_List_addnew">' +
'</div>' +
'</div>' +
'</div>' +
'<div class="card-body pa-0">' +
'<div class="Dynamic-ListSearch"><div class="col-sm-12 mb-10"><div class="floating-label-form-group" id="div_Listsearch">' +
'<input type="text" maxlength="50" class="form-control floating-label-control" id="TaskSummaryList_search" value="" data-isdynamic="false" ' +
'placeholder="Search" data-placeholder="Search" data-label="Search"><span id="TaskSummaryclearSearch" class="hidden" ' +
'style="right: 20px; cursor: pointer; float: right; margin-top: -35px; position: absolute; color: rgb(50, 65, 72);">x</span></div></div></div>' +
'<div class="font-14 d-none d-md-block card-header bg-cyan-light-5 listwidget_headertext" id="listwidget_headertext">' +
'<div class="row"><div class="col-10"><div class="row"><div class="col-sm-4"><strong>Employee Name</strong></div><div class="col-sm-2"><strong>Upcoming Tasks</strong></div>' +
'<div class="col-sm-2" ><strong> Inpro.Tasks</strong></div><div class="col-sm-2"><strong>Testing Inpro.Tasks</strong></div><div class="col-sm-2"><strong>Closed Tasks</strong></div></div></div>' +
'<div class="col-sm-2"><strong>Reopened Tasks</strong></div></div > ' +
'</div>' +
'<div>' +
'<ul class="list-group list-group-flush tasksummary_lists font-14" id="tasksummary_lists_container">' +
'<li><div class="text-center"><i class="fa fa-spinner fa-spin font-20 mt-40"></i></div></li>' +
'</ul>' +
'</div>' +
'</div>' +
'<div id="pagination-footer">' +
'<div class="card-footer text-muted Div_pagination mb-12">' +
'<div class="col-12 row">' +
'<div class="col-sm-2 pl-0">' +
'<span style="font-weight:bold" id="GrandTotaltext" class="text-dark">Grand Total</span>' +
'</div>' +
'<div class="col-sm-2">' +
'<span style="font-weight:bold" id="UpcomingTaskstext" class="text-dark"></span>' +
'</div>' +
'<div class="col-sm-2 text-right">' +
'<span style="font-weight:bold" id="InproTaskstext" class="text-dark"></span>' +
'</div>' +
'<div class="col-sm-2 text-right">' +
'<span style="font-weight:bold" id="TestingInproTaskstext" class="text-dark"></span>' +
'</div>' +
'<div class="col-sm-2 text-right">' +
'<span style="font-weight:bold" id="ClosedTaskstext" class="text-dark"></span>' +
'</div>' +
'<div class="col-sm-2 text-right">' +
'<span style="font-weight:bold" id="ReopenedTaskstext" class="text-dark"></span>' +
'<input type="hidden" id="hfportletwidgetid" />' +
'</div>' +
'</div>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
$("#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 += '<li class="list-group-item employee-item added-employee-item employee-task-duration"><input type="hidden">' +
'<div class="row"><div class="col-10"><div class="row"><div class="col-sm-4"><span>' +
'<a style="text-decoration:underline;" class="font-bold" href="#"><span>' + data.employeename + '</span></a></span><span>(' + data.projectname + ')</span></div>' +
'<div class="col-sm-2"><span class="upcoming">' + data.upcomingtasks + '</span><span style="background-color:#00ffcc" class="upcomingcount btn-xs ml-5 pl-10 pr-10">' + data.upcomingtaskcount + '</span></div>' +
'<div class="col-sm-2"><span class="inprogress">' + data.inprotasks + '</span>' +
'<span style="background-color:#f5b48c" class="inprogresscount btn-xs ml-5 pl-10 pr-10">' + data.inprotaskcount + '</span></div>' +
'<div class="col-sm-2"><span class="testinprogress">' + data.testinprotasks + '</span><span style="background-color:skyblue" class="testinprogresscount btn-xs ml-5 pl-10 pr-10">' + data.testinprotaskcount + '</span></div>' +
'<div class="col-sm-2"><span class="closed">' + data.closedprotasks + '</span><span style="background-color:#f5b48c" class="closedtaskcount btn-xs ml-5 pl-10 pr-10">' + data.closedtaskcount + '</span></div>' +
'</div></div>' +
'<div class="col-sm-2"><span class="reopened">' + data.reopenedtasks + '</span>' +
'<span style="background-color:#c4a6a1;color:black" class="reopenedcount btn-xs ml-5 pl-10 pr-10">' + data.reopenedtaskcount + '</span></div></div></li>';
}
$("#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('<div class="alert alert-info ma-0" id="div_TeamMembers_Details_NoData">There is no Data</div>');
}
});
}
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 = {}));
File diff suppressed because one or more lines are too long
+31
View File
File diff suppressed because one or more lines are too long
+605
View File
@@ -0,0 +1,605 @@
var seconds = 0;
var Clock = {
totalSeconds: 0,
interval: 0,
start: function () {
if (Clock.interval !== undefined) {
var self = this;
function pad(val) { return val > 9 ? val : "0" + val; }
if (Clock.interval !== undefined) {
Clock.interval = setInterval(function () {
self.totalSeconds += 1;
if ($("#startButton").is(":visible") != true) {
if (document.getElementsByClassName("startButton Active").length > 0) {
$('#startButton').removeClass('startButton Active');
self.totalSeconds = 0;
$("#hours").text(pad(Math.floor(self.totalSeconds / 3600)));
$("#min").text(pad(Math.floor(self.totalSeconds / 60 % 60)));
$("#sec").text(pad(self.totalSeconds % 60));
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
Unibase.Apps.PM.Components.TimeTracker.Instance().saveTaskSession(date, null, false, false, false, false);
}
else {
if (document.getElementsByClassName("resumeButton Active").length > 0) {
$('#startButton').removeClass('resumeButton Active');
var a = Number(Number($(".beforeTimer").text().split(':')[0]) * 60 * 60) + (Number($(".beforeTimer").text().split(':')[1]) * 60) + (Number($(".beforeTimer").text().split(':')[2]));
if (a < Number(self.totalSeconds - 2)) {
self.totalSeconds = a;
}
}
$("#hours").text(pad(Math.floor(self.totalSeconds / 3600)));
$("#min").text(pad(Math.floor(self.totalSeconds / 60 % 60)));
$("#sec").text(pad(self.totalSeconds % 60));
}
}
}, 1000);
}
}
},
reset: function () {
Clock.totalSeconds = null;
clearInterval(Clock.interval);
$("#hours").text("00");
$("#min").text("00");
$("#sec").text("00");
delete Clock.interval;
},
pause: function () {
clearInterval(Clock.interval);
delete Clock.interval;
},
resume: function () {
Clock.start();
},
stop: function () {
var value = this;
Clock.reset();
},
restart: function () {
Clock.reset();
Clock.start();
},
};
var Unibase;
(function (Unibase) {
let Apps;
(function (Apps) {
let PM;
(function (PM) {
let Components;
(function (Components) {
class TimeTracker extends Unibase.Platform.Core.BaseComponent {
constructor() {
super();
}
cssFiles() {
return [""];
}
jsFiles() {
return ['platform/pm/managers/taskmanager.js', 'platform/pm/components/sessionlog.js', 'platform/pm/infos/task.js', 'platform/pm/infos/sessionlog.js', 'platform/pm/requests/task.js', 'platform/pm/requests/sessionlog.js'];
}
init(containerId) {
var instance = this;
instance.html(id, containerId);
$('#startButton').attr('readonly', 'true');
document.addEventListener("click", function (event) {
if ($(this)[0].activeElement.className == "d-flex h-60p align-items-center nav-link active" || $(this)[0].activeElement.className == "btn detail-close mr-auto btn-light btn-sm" || $(this)[0].activeElement.className == "d-flex h-60p align-items-center nav-link") {
if ($("#pauseButton").is(":visible") == true && $("#stopButton").is(":visible") == true) {
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.ResumeTask(date);
}
}
}, true);
var id = "";
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
instance.InstalledAppId = InstalledAppId;
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + InstalledAppId + "_recordid") {
id = obj.Value;
}
}
var jsfiles = ['apps/pm/managers/taskmanager.js', 'apps/pm/components/sessionlog.js', 'apps/pm/infos/task.js', 'apps/pm/infos/sessionlog.js', 'apps/pm/requests/task.js', 'apps/pm/requests/sessionlog.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
var Id = Unibase.Themes.Providers.Detail_Settings.Instance().RecordId;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskDetails(Id).then(function (response) {
var data = JSON.parse(response.result)[0];
instance.TaskId = data.taskid;
instance.Points = data.points;
instance.RefStatusId = data.refstatusid;
if (data.istaskpause == true) {
var seconds = Number(data.timer.split(":")[0]) * 60 * 60 + Number(data.timer.split(":")[1]) * 60 + data.timer.split(":")[2];
Clock.totalSeconds = Number(seconds);
var timehours = data.timer.split(":")[0];
var timemins = data.timer.split(":")[1];
var timeseconds = data.timer.split(":")[2];
if (timehours == undefined)
timehours = "00:";
if (timemins == undefined)
timehours = "00:";
if (timeseconds == undefined)
timehours = "00";
$('#stopButton').removeClass('hidden');
$('#resumeButton').removeClass('hidden');
if (instance.RefStatusId == 6) {
$('.divTimerResume').removeClass('hidden');
$(".starticon").css("color", "");
}
else if (instance.RefStatusId == 7) {
$("#ProgressButton").prop("disabled", "disabled");
}
}
else if (data.istaskpause == false && data.timerstoppeddate.toString() != "[object Object]") {
$('#stopButton').addClass('hidden');
$('#resumeButton').addClass('hidden');
$("#pauseButton").addClass('hidden');
}
else if (data.istaskpause == false && data.timerstoppeddate.toString() == "[object Object]") {
if (data.timer != "00:00:00" && data.timer.toString() != "[object Object]") {
var timehours = data.timer.split(":")[0];
var timemins = data.timer.split(":")[1];
var timeseconds = data.timer.split(":")[2];
if (timehours == undefined)
timehours = "00:";
if (timemins == undefined)
timehours = "00:";
if (timeseconds == undefined)
timehours = "00";
$('#pauseButton').removeClass('hidden');
$("#ProgressButton").prop("disabled", false);
}
}
instance.load(id, containerId, null);
});
});
}
html(id, containerid) {
let html = `<div class="b-a wrapper"><div class="card"><div id="divTimeTrackerError"></div>
<div class="card-header card-header-action"><span class="" id="hf-widget-title_TimeTracker">Time Tracker</span></div>
<div class="card-body"><div class="row"><div class="col-sm-4 ml-20" style="width:85mm; height:40mm; border:1px solid; background-color: #00acf0; border-radius: 15px; color:white; font-size:15px; font-style:normal;">
<div class="row pt-25"><strong class="pull-left pl-25 pt-0" style="font-size:large">TIMER</strong></div>
<div class="row">
<strong class="pull-left beforeTimer pl-25 pr-15" id="Timer" style="font-size:35px;"><span id="hours">00</span>:<span id="min">00</span>:<span id="sec">00</span></strong>
<a id="startButton" class="divTimerStart btn btn-md">&nbsp;<i class="fa fa-play-circle fa-2x starticon"
aria-hidden="true"></i></a>
<a id="pauseButton" class="divTimerPause hidden btn btn-md">&nbsp;<i class="fa fa-pause-circle-o fa-2x"
aria-hidden="true"></i></a>
<div id="resumeButton" class="divTimerResume hidden btn btn-md">&nbsp;<i class="fa fa-play-circle starticon fa-2x"
aria-hidden="true"></i></div>
<div id="stopButton" class="divTimerStop hidden btn btn-md">&nbsp;<i class="fa fa-stop-circle-o fa-2x" aria-hidden="true"></i></div></div>
<div class="col-xs-5 div_addItems"><a id="btn_additem" title="Show Log" class="default" href="" data-toggle="modal"
data-target="#modalAddItem" data-original-title="Show Log">
<span class="pull-right btn pl-200 pt-2" style="text-decoration:underline;color:white;font-size:large;" onclick="Unibase.Apps.PM.Components.TimeTracker.Instance().showLogDetails();" id="btn_addLog">Log Hours</span></a>
</div></div>
<div class="col-sm-4 ml-20 mt-20 mt-md-0" style="background-color:#7fd5f7;border-radius: 15px;width:85mm; height:40mm;">
<div class="row d-flex mt-20 ml-20">
<span><i class="fa fa-trophy fa-2x" aria-hidden="true" style="color:white"></i></span></div>
<div class="row ml-20"><strong class="pr-15 text-white" style="font-size:40px;" id="txtPoints">
<span>15 pts</span></strong></div></div></div></div></div></div>`;
$("." + containerid).html(html);
return "";
}
load(id, containerid, callback) {
var instance = this;
var Id = Unibase.Themes.Providers.Detail_Settings.Instance().RecordId;
$("#txtPoints").text(instance.Points + ' pts');
$('#startButton').click(function () {
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskByAssignToAndRefStatus().then(function (response) {
if (response.result.toString() != "[]") {
var taskmessage = '';
if (response.result.length == 1)
taskmessage = '' + response.result[0].code + '-' + response.result[0].subject + ' is already Inprogress. Would you like to continue';
else
taskmessage = '' + response.result.length + ' Tasks are inprogress. Would you like to continue';
bootbox.confirm({
message: taskmessage,
buttons: {
confirm: {
label: 'Continue',
className: 'btn-success'
},
cancel: {
label: 'Cancel',
className: 'btn-danger'
}
},
callback: function (result) {
if (result == true) {
$(".divTimerPause").removeClass('hidden');
$(".divTimerStop").removeClass('hidden');
$(".divTimerStart").addClass('hidden');
$("#ProgressButton").prop("disabled", false);
$('#startButton').addClass('startButton Active');
Clock.interval = 0;
Clock.totalSeconds = 0;
var maxId = setTimeout(function () { }, 0);
for (var i = 0; i < maxId; i += 1) {
clearTimeout(i);
}
Clock.start();
}
}
});
}
else {
$(".divTimerPause").removeClass('hidden');
$(".divTimerStop").removeClass('hidden');
$(".divTimerStart").addClass('hidden');
$("#ProgressButton").prop("disabled", false);
$('#startButton').addClass('startButton Active');
Clock.interval = 0;
Clock.totalSeconds = 0;
var maxId = setTimeout(function () { }, 0);
for (var i = 0; i < maxId; i += 1) {
clearTimeout(i);
}
Clock.start();
}
});
});
$('#pauseButton').click(function () {
$(".divTimerPause").addClass('hidden');
$(".divTimerResume").removeClass('hidden');
$(".divTimerStop").removeClass('hidden');
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.pauseTask(date);
Clock.pause();
});
$('#resumeButton').click(function () {
$(".divTimerPause").removeClass('hidden');
$(".divTimerStop").removeClass('hidden');
$(".divTimerResume").addClass('hidden');
seconds = Clock.totalSeconds;
var date = new Date($.now());
var a = document.getElementsByClassName("resume");
if (a != undefined) {
Clock.interval = 0;
}
$('#resumeButton').addClass('resumeButton Active');
Clock.resume();
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.saveTaskSession(date, null, false, false, false, false);
});
$('#stopButton').click(function () {
$(".divTimerPause").addClass('hidden');
$(".divTimerResume").addClass('hidden');
$(".divTimerStop").addClass('hidden');
$(".divTimerStart").addClass('hidden');
Clock.pause();
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.saveTaskSession(date, date, false, false, true, false);
});
$('#resetButton').click(function () {
Clock.reset();
});
$('#restartButton').click(function () {
Clock.restart();
});
var instance = this;
window.onbeforeunload = function (event) {
if ($("#pauseButton").is(":visible") == true && $("#stopButton").is(":visible") == true) {
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.ResumeTask(date);
}
else {
if ($("#startButton").is(":visible") != true)
instance.updateTimer();
}
};
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
(e || window.event).returnValue = confirmationMessage;
if ($("#pauseButton").is(":visible") == true && $("#stopButton").is(":visible") == true) {
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
instance.ResumeTask(date);
instance.navigationHelper.closePopUp();
}
else {
if ($("#startButton").is(":visible") != true)
instance.updateTimer();
}
return confirmationMessage;
});
instance.getTimer(Id);
if (instance.RefStatusId == 3 || instance.RefStatusId == 6) {
$("#startButton").children.bind('click');
$("#resumeButton").children.bind('click');
}
else {
$("#startButton").children().bind('click', function () { return false; });
$("#resumeButton").children().bind('click', function () { return false; });
$(".starticon").css("color", "#8edde6");
$(".divTimerStop").addClass('hidden');
$("#ProgressButton").prop("disabled", "disabled");
}
if (instance.RefStatusId == 3)
instance.updateTimer();
}
saveTaskSession(startdate, enddate, istimerupdate, ispause, isstop, isloghour) {
var instance = this;
var ismanual = false;
var timer = "";
var pause = false;
var stop = false;
var sessionid = 0;
if (istimerupdate || isstop == true)
timer = $(".beforeTimer").text();
if (ispause)
pause = true;
if (isstop)
stop = true;
startdate = new Date(startdate);
if (($("#hfTaskSessionId").val() != "" && $("#hfTaskSessionId").val() != undefined) || isloghour) {
startdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourStartDate").val());
enddate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourEndDate").val());
ismanual = true;
sessionid = $("#hfTaskSessionId").val();
}
var postData = {
taskid: instance.TaskId,
sessionid: sessionid,
startdate: startdate,
enddate: enddate,
timer: timer,
issessionpause: pause,
issessionstop: stop,
ismanual: ismanual,
installedappid: instance.InstalledAppId,
stagestatusid: instance.RefStatusId,
percentage: 0,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().saveSessionLog(postData).then(function (response) {
MessageHelper.Instance().showSuccess(response, '');
if (isloghour)
instance.refreshLog();
}, function (response) {
});
}
updateSessionEnd(enddate) {
var instance = this;
var postData = {
taskid: instance.TaskId,
enddate: enddate,
timer: $(".beforeTimer").text(),
percentage: 100,
sessionid: 0,
startdate: new Date(),
issessionpause: false,
issessionstop: false,
ismanual: false,
installedappid: 0,
stagestatusid: 0,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateSessionLogEndDate(postData).then(function (response) {
MessageHelper.Instance().showSuccess(response, '');
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
pauseTask(enddate) {
var instance = this;
var postData = {
taskid: instance.TaskId,
pausedate: enddate,
timer: $(".beforeTimer").text(),
istaskpause: true,
percentage: 0,
timerstoppeddate: new Date(),
isresumetask: false,
istaskstopped: false
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().pauseTask(postData).then(function (response) {
instance.saveTaskSession(null, enddate, false, true, false, false);
}, function (response) {
instance.saveTaskSession(null, enddate, false, true, false, false);
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
ResumeTask(enddate) {
var instance = this;
var postData = {
taskid: instance.TaskId,
pausedate: enddate,
isresumetask: true,
timer: $(".beforeTimer").text(),
istaskpause: false,
percentage: 0,
timerstoppeddate: new Date(),
istaskstopped: false,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().resumeTask(postData).then(function (response) {
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
StopTask(enddate) {
var instance = this;
var postData = {
taskid: instance.TaskId,
timerstoppeddate: enddate,
istaskstopped: true,
timer: $(".beforeTimer").text(),
istaskpause: false,
percentage: 0,
pausedate: enddate,
isresumetask: false,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().stopTask(postData).then(function (response) {
MessageHelper.Instance().showSuccess(response, '');
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
getTimer(taskId) {
var instance = this;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTimerDetails(taskId).then(function (response) {
if (response.result != "") {
if (response != null) {
var result = response.result.split('_');
var data = result[0];
data = data.replace(/['"]+/g, '');
if (result.length > 1) {
if (data == "False") {
var maxId = setTimeout(function () { }, 0);
for (var i = 0; i < maxId; i += 1) {
clearTimeout(i);
}
Clock.totalSeconds = Number(result[1]);
Clock.interval = 0;
Clock.start();
$(".divTimerPause").removeClass('hidden');
$(".divTimerStop").removeClass('hidden');
$(".divTimerStart").addClass('hidden');
}
else if (data == "NotStarted") {
$(".divTimerStart").removeClass('hidden');
$(".divTimerPause").addClass('hidden');
$(".divTimerStop").addClass('hidden');
}
else {
var value = result[1];
value = value.replace(/['"]+/g, '');
function pad(val) { return val > 9 ? val : "0" + val; }
$("#hours").text(pad(Math.floor(Number(value) / 3600)));
$("#min").text(pad(Math.floor(Number(value) / 60 % 60)));
$("#sec").text(pad(parseInt(value) % 60));
Clock.pause();
$(".divTimerStart").addClass('hidden');
$("#ProgressButton").addClass("hidden");
}
}
else {
$(".divTimerStart").removeClass('hidden');
}
}
}
});
}
updateTimer() {
var instance = this;
var date = new Date($.now());
date = new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(date));
var postData = {
taskid: instance.TaskId,
timerstoppeddate: null,
timer: $(".beforeTimer").text(),
istaskpause: false,
percentage: 0,
pausedate: new Date(),
isresumetask: false,
istaskstopped: false,
};
Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateTimer(postData).then(function (response) {
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
showLogDetails() {
var instance = this;
instance.navigationHelper.popup(0, "", Bizgaze.Apps.PM.Components.SessionLog.Instance(), function () {
instance.refreshLog();
instance.managePermission();
}, Unibase.Platform.Helpers.Size.DockLeft);
}
getTaskSession(id) {
var instance = this;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getSessionLog(id).then(function (response) {
$('#ul_ShowLog_Details').find('.li-' + id).remove();
$("#hfTaskSessionId").val(id);
Bizgaze.Apps.PM.Components.SessionLog.Instance().addLogHourRow(true);
$("#txt_LogHourStartDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.result.startdate));
$("#txt_LogHourEndDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.result.enddate));
Bizgaze.Apps.PM.Components.SessionLog.Instance().calculateDateDiff();
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
removeSession(id) {
var instance = this;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().deleteSession(id).then(function (response) {
MessageHelper.Instance().showSuccess(response, '');
instance.refreshLog();
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
refreshLog() {
var instance = this;
var taskId = instance.TaskId;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getSessionLogDetails(taskId).then(function (response) {
if (response.result.length == 0) {
$('#ul_ShowLog_Details').after('<div class="alert alert-info ma-0" id="div_ShowLog_Details_NoData">There is no Data</div>');
}
$("#ulLogDetails").html('<li class="sessionlog-item hidden"><div class="row mt-10 divAddLogHours_0 hidden"></div></li>');
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
var da = moment(data.enddate).format('DD-MM-YYYY hh:mm:ss a');
var ismanual = '';
if (data.ismanual)
ismanual = ' M';
var html = '';
if (data.ismanual) {
html = '<li class="list-group-item sessionlog-item bg-info li-' + data.sessionid + '" >' +
'<div class="row mt-10 divAddLogHours_' + i + ' hidden"></div>' +
'<div class="row mt-10">' +
'<div class="col-sm-4 pl-15"><span class="h6" style="color:white;">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(data.startdate) + '</span></div>' +
'<div class="col-sm-4 pl-20 mr-45"><span class="h6" style="color:white;">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(data.enddate) + '</span></div>' +
'<div class="col-sm-2 pl-10"><span class="h6" style="color:white;">' + data.timer + '</span></div>' +
'<div class="col-sm-1 pr-5"><span class="editloghour hidden" onclick="return Unibase.Platform.PM.Components.TimeTracker.Instance().getTaskSession(' + data.sessionid + ');" style="color:white;">' +
'<i class="fa fa-pencil-square-o" aria-hidden="true"></i></span>' +
'<a class="btn-icon pull-right deleteloghour hidden" href="javascript:;" onclick="Unibase.Platform.PM.Components.TimeTracker.Instance().removeSession(' + data.sessionid + ');"><i class="fa fa-trash-o text-white"></i></a></div>' +
'</div></li>';
}
else {
html = '<li class="list-group-item sessionlog-item li-' + data.sessionid + '">' +
'<div class="row mt-10 divAddLogHours_' + i + ' hidden"></div>' +
'<div class="row mt-10">' +
'<div class="col-sm-4 pl-15"><span class="h6">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(data.startdate) + '</span></div>' +
'<div class="col-sm-4 pl-20 mr-45"><span class="h6">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(data.enddate) + '</span></div>' +
'<div class="col-sm-2 pl-10"><span class="h6">' + data.timer + '</span></div>' +
'<div class="col-sm-1 pr-5"><span class="editloghour hidden" onclick="return Unibase.Platform.PM.Components.TimeTracker.Instance().getTaskSession(' + data.sessionid + ');">' +
'<i class="fa fa-pencil-square-o" aria-hidden="true"></i></span>' +
'<a class="btn-icon pull-right deleteloghour hidden" href="javascript:;" onclick="Unibase.Platform.PM.Components.TimeTracker.Instance().removeSession(' + data.sessionid + ');"><i class="fa fa-trash-o text-danger"></i></a></div>' +
'</div></li>';
}
$(".sessionlog-item:last").after(html);
}
Bizgaze.Apps.PM.Components.SessionLog.Instance().addLogHourRow(false);
Bizgaze.Apps.PM.Components.SessionLog.Instance().calculateDateDiff();
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
managePermission() {
var instance = this;
Bizgaze.Apps.PM.Managers.TaskManager.Instance().getLogHourPermission().then(function (response) {
if (response.result == '5' || Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin == true) {
$(".editloghour").removeClass('hidden');
$(".deleteloghour").removeClass('hidden');
}
else {
$(".editloghour").addClass('hidden');
$(".deleteloghour").addClass('hidden');
}
instance.managePermission();
}, function (response) {
MessageHelper.Instance().showError(response, 'divTimeTrackerError');
});
}
static Instance() {
if (this.instance == undefined) {
this.instance = new TimeTracker();
}
return this.instance;
}
}
Components.TimeTracker = TimeTracker;
})(Components = PM.Components || (PM.Components = {}));
})(PM = Apps.PM || (Apps.PM = {}));
})(Apps = Unibase.Apps || (Unibase.Apps = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+22
View File
File diff suppressed because one or more lines are too long