Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

timetracker.min.js 19KB

12345678910111213141516171819202122
  1. var seconds=0,Clock={totalSeconds:0,interval:0,start:function(){if(Clock.interval!==undefined){var n=this;function t(n){return n>9?n:"0"+n}Clock.interval!==undefined&&(Clock.interval=setInterval(function(){var i,r;n.totalSeconds+=1;$("#startButton").is(":visible")!=!0&&(document.getElementsByClassName("startButton Active").length>0?($("#startButton").removeClass("startButton Active"),n.totalSeconds=0,$("#hours").text(t(Math.floor(n.totalSeconds/3600))),$("#min").text(t(Math.floor(n.totalSeconds/60%60))),$("#sec").text(t(n.totalSeconds%60)),i=new Date($.now()),i=new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(i)),Unibase.Apps.PM.Components.TimeTracker.Instance().saveTaskSession(i,null,!1,!1,!1,!1)):(document.getElementsByClassName("resumeButton Active").length>0&&($("#startButton").removeClass("resumeButton Active"),r=Number(Number($(".beforeTimer").text().split(":")[0])*3600)+Number($(".beforeTimer").text().split(":")[1])*60+Number($(".beforeTimer").text().split(":")[2]),r<Number(n.totalSeconds-2)&&(n.totalSeconds=r)),$("#hours").text(t(Math.floor(n.totalSeconds/3600))),$("#min").text(t(Math.floor(n.totalSeconds/60%60))),$("#sec").text(t(n.totalSeconds%60))))},1e3))}},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 n=this;Clock.reset()},restart:function(){Clock.reset();Clock.start()}},Unibase;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i extends n.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(t){var i=this,r,u,f;i.html(r,t);$("#startButton").attr("readonly","true");document.addEventListener("click",function(){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")&&$("#pauseButton").is(":visible")==!0&&$("#stopButton").is(":visible")==!0){var t=new Date($.now());t=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(t));i.ResumeTask(t)}},!0);r="";u=n.Themes.Providers.DetailHelper.installedAppId;i.InstalledAppId=u;for(let n of n.Themes.Providers.Detail_Settings.Instance().InputParameters)n.Key==="hf_"+u+"_recordid"&&(r=n.Value);f=["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"];i.fileCacheHelper.loadJsFiles(f,function(){var u=n.Themes.Providers.Detail_Settings.Instance().RecordId;Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskDetails(u).then(function(n){var u=JSON.parse(n.result)[0],e;if(i.TaskId=u.taskid,i.Points=u.points,i.RefStatusId=u.refstatusid,u.istaskpause==!0){e=Number(u.timer.split(":")[0])*3600+Number(u.timer.split(":")[1])*60+u.timer.split(":")[2];Clock.totalSeconds=Number(e);var f=u.timer.split(":")[0],o=u.timer.split(":")[1],s=u.timer.split(":")[2];f==undefined&&(f="00:");o==undefined&&(f="00:");s==undefined&&(f="00");$("#stopButton").removeClass("hidden");$("#resumeButton").removeClass("hidden");i.RefStatusId==6?($(".divTimerResume").removeClass("hidden"),$(".starticon").css("color","")):i.RefStatusId==7&&$("#ProgressButton").prop("disabled","disabled")}else if(u.istaskpause==!1&&u.timerstoppeddate.toString()!="[object Object]")$("#stopButton").addClass("hidden"),$("#resumeButton").addClass("hidden"),$("#pauseButton").addClass("hidden");else if(u.istaskpause==!1&&u.timerstoppeddate.toString()=="[object Object]"&&u.timer!="00:00:00"&&u.timer.toString()!="[object Object]"){var f=u.timer.split(":")[0],o=u.timer.split(":")[1],s=u.timer.split(":")[2];f==undefined&&(f="00:");o==undefined&&(f="00:");s==undefined&&(f="00");$("#pauseButton").removeClass("hidden");$("#ProgressButton").prop("disabled",!1)}i.load(r,t,null)})})}html(n,t){let i=`<div class="b-a wrapper"><div class="card"><div id="divTimeTrackerError"></div>
  2. <div class="card-header card-header-action"><span class="" id="hf-widget-title_TimeTracker">Time Tracker</span></div>
  3. <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;">
  4. <div class="row pt-25"><strong class="pull-left pl-25 pt-0" style="font-size:large">TIMER</strong></div>
  5. <div class="row">
  6. <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>
  7. <a id="startButton" class="divTimerStart btn btn-md">&nbsp;<i class="fa fa-play-circle fa-2x starticon"
  8. aria-hidden="true"></i></a>
  9. <a id="pauseButton" class="divTimerPause hidden btn btn-md">&nbsp;<i class="fa fa-pause-circle-o fa-2x"
  10. aria-hidden="true"></i></a>
  11. <div id="resumeButton" class="divTimerResume hidden btn btn-md">&nbsp;<i class="fa fa-play-circle starticon fa-2x"
  12. aria-hidden="true"></i></div>
  13. <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>
  14. <div class="col-xs-5 div_addItems"><a id="btn_additem" title="Show Log" class="default" href="" data-toggle="modal"
  15. data-target="#modalAddItem" data-original-title="Show Log">
  16. <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>
  17. </div></div>
  18. <div class="col-sm-4 ml-20 mt-20 mt-md-0" style="background-color:#7fd5f7;border-radius: 15px;width:85mm; height:40mm;">
  19. <div class="row d-flex mt-20 ml-20">
  20. <span><i class="fa fa-trophy fa-2x" aria-hidden="true" style="color:white"></i></span></div>
  21. <div class="row ml-20"><strong class="pr-15 text-white" style="font-size:40px;" id="txtPoints">
  22. <span>15 pts</span></strong></div></div></div></div></div></div>`;return $("."+t).html(i),""}load(){var t=this,i=n.Themes.Providers.Detail_Settings.Instance().RecordId;$("#txtPoints").text(t.Points+" pts");$("#startButton").click(function(){Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTaskByAssignToAndRefStatus().then(function(n){var i,r,t;if(n.result.toString()!="[]")i="",i=n.result.length==1?""+n.result[0].code+"-"+n.result[0].subject+" is already Inprogress. Would you like to continue":""+n.result.length+" Tasks are inprogress. Would you like to continue",bootbox.confirm({message:i,buttons:{confirm:{label:"Continue",className:"btn-success"},cancel:{label:"Cancel",className:"btn-danger"}},callback:function(n){var i,t;if(n==!0){for($(".divTimerPause").removeClass("hidden"),$(".divTimerStop").removeClass("hidden"),$(".divTimerStart").addClass("hidden"),$("#ProgressButton").prop("disabled",!1),$("#startButton").addClass("startButton Active"),Clock.interval=0,Clock.totalSeconds=0,i=setTimeout(function(){},0),t=0;t<i;t+=1)clearTimeout(t);Clock.start()}}});else{for($(".divTimerPause").removeClass("hidden"),$(".divTimerStop").removeClass("hidden"),$(".divTimerStart").addClass("hidden"),$("#ProgressButton").prop("disabled",!1),$("#startButton").addClass("startButton Active"),Clock.interval=0,Clock.totalSeconds=0,r=setTimeout(function(){},0),t=0;t<r;t+=1)clearTimeout(t);Clock.start()}})});$("#pauseButton").click(function(){$(".divTimerPause").addClass("hidden");$(".divTimerResume").removeClass("hidden");$(".divTimerStop").removeClass("hidden");var i=new Date($.now());i=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(i));t.pauseTask(i);Clock.pause()});$("#resumeButton").click(function(){$(".divTimerPause").removeClass("hidden");$(".divTimerStop").removeClass("hidden");$(".divTimerResume").addClass("hidden");seconds=Clock.totalSeconds;var i=new Date($.now()),r=document.getElementsByClassName("resume");r!=undefined&&(Clock.interval=0);$("#resumeButton").addClass("resumeButton Active");Clock.resume();i=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(i));t.saveTaskSession(i,null,!1,!1,!1,!1)});$("#stopButton").click(function(){$(".divTimerPause").addClass("hidden");$(".divTimerResume").addClass("hidden");$(".divTimerStop").addClass("hidden");$(".divTimerStart").addClass("hidden");Clock.pause();var i=new Date($.now());i=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(i));t.saveTaskSession(i,i,!1,!1,!0,!1)});$("#resetButton").click(function(){Clock.reset()});$("#restartButton").click(function(){Clock.restart()});t=this;window.onbeforeunload=function(){if($("#pauseButton").is(":visible")==!0&&$("#stopButton").is(":visible")==!0){var i=new Date($.now());i=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(i));t.ResumeTask(i)}else $("#startButton").is(":visible")!=!0&&t.updateTimer()};window.addEventListener("beforeunload",function(i){var u="o/",r;return(i||window.event).returnValue=u,$("#pauseButton").is(":visible")==!0&&$("#stopButton").is(":visible")==!0?(r=new Date($.now()),r=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(r)),t.ResumeTask(r),t.navigationHelper.closePopUp()):$("#startButton").is(":visible")!=!0&&t.updateTimer(),u});t.getTimer(i);t.RefStatusId==3||t.RefStatusId==6?($("#startButton").children.bind("click"),$("#resumeButton").children.bind("click")):($("#startButton").children().bind("click",function(){return!1}),$("#resumeButton").children().bind("click",function(){return!1}),$(".starticon").css("color","#8edde6"),$(".divTimerStop").addClass("hidden"),$("#ProgressButton").prop("disabled","disabled"));t.RefStatusId==3&&t.updateTimer()}saveTaskSession(t,i,r,u,f,e){var o=this,s=!1,h="",c=!1,l=!1,a=0,v;(r||f==!0)&&(h=$(".beforeTimer").text());u&&(c=!0);f&&(l=!0);t=new Date(t);($("#hfTaskSessionId").val()!=""&&$("#hfTaskSessionId").val()!=undefined||e)&&(t=n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourStartDate").val()),i=n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#txt_LogHourEndDate").val()),s=!0,a=$("#hfTaskSessionId").val());v={taskid:o.TaskId,sessionid:a,startdate:t,enddate:i,timer:h,issessionpause:c,issessionstop:l,ismanual:s,installedappid:o.InstalledAppId,stagestatusid:o.RefStatusId,percentage:0};Bizgaze.Apps.PM.Managers.TaskManager.Instance().saveSessionLog(v).then(function(n){MessageHelper.Instance().showSuccess(n,"");e&&o.refreshLog()},function(){})}updateSessionEnd(n){var t=this,i={taskid:t.TaskId,enddate:n,timer:$(".beforeTimer").text(),percentage:100,sessionid:0,startdate:new Date,issessionpause:!1,issessionstop:!1,ismanual:!1,installedappid:0,stagestatusid:0};Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateSessionLogEndDate(i).then(function(n){MessageHelper.Instance().showSuccess(n,"")},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}pauseTask(n){var t=this,i={taskid:t.TaskId,pausedate:n,timer:$(".beforeTimer").text(),istaskpause:!0,percentage:0,timerstoppeddate:new Date,isresumetask:!1,istaskstopped:!1};Bizgaze.Apps.PM.Managers.TaskManager.Instance().pauseTask(i).then(function(){t.saveTaskSession(null,n,!1,!0,!1,!1)},function(i){t.saveTaskSession(null,n,!1,!0,!1,!1);MessageHelper.Instance().showError(i,"divTimeTrackerError")})}ResumeTask(n){var t=this,i={taskid:t.TaskId,pausedate:n,isresumetask:!0,timer:$(".beforeTimer").text(),istaskpause:!1,percentage:0,timerstoppeddate:new Date,istaskstopped:!1};Bizgaze.Apps.PM.Managers.TaskManager.Instance().resumeTask(i).then(function(){},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}StopTask(n){var t=this,i={taskid:t.TaskId,timerstoppeddate:n,istaskstopped:!0,timer:$(".beforeTimer").text(),istaskpause:!1,percentage:0,pausedate:n,isresumetask:!1};Bizgaze.Apps.PM.Managers.TaskManager.Instance().stopTask(i).then(function(n){MessageHelper.Instance().showSuccess(n,"")},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}getTimer(n){var t=this;Bizgaze.Apps.PM.Managers.TaskManager.Instance().getTimerDetails(n).then(function(n){var i,r,f,u,t;if(n.result!=""&&n!=null)if(i=n.result.split("_"),r=i[0],r=r.replace(/['"]+/g,""),i.length>1)if(r=="False"){for(f=setTimeout(function(){},0),u=0;u<f;u+=1)clearTimeout(u);Clock.totalSeconds=Number(i[1]);Clock.interval=0;Clock.start();$(".divTimerPause").removeClass("hidden");$(".divTimerStop").removeClass("hidden");$(".divTimerStart").addClass("hidden")}else if(r=="NotStarted")$(".divTimerStart").removeClass("hidden"),$(".divTimerPause").addClass("hidden"),$(".divTimerStop").addClass("hidden");else{t=i[1];t=t.replace(/['"]+/g,"");function n(n){return n>9?n:"0"+n}$("#hours").text(n(Math.floor(Number(t)/3600)));$("#min").text(n(Math.floor(Number(t)/60%60)));$("#sec").text(n(parseInt(t)%60));Clock.pause();$(".divTimerStart").addClass("hidden");$("#ProgressButton").addClass("hidden")}else $(".divTimerStart").removeClass("hidden")})}updateTimer(){var r=this,t=new Date($.now()),i;t=new Date(n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(t));i={taskid:r.TaskId,timerstoppeddate:null,timer:$(".beforeTimer").text(),istaskpause:!1,percentage:0,pausedate:new Date,isresumetask:!1,istaskstopped:!1};Bizgaze.Apps.PM.Managers.TaskManager.Instance().updateTimer(i).then(function(){},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}showLogDetails(){var t=this;t.navigationHelper.popup(0,"",Bizgaze.Apps.PM.Components.SessionLog.Instance(),function(){t.refreshLog();t.managePermission()},n.Platform.Helpers.Size.DockLeft)}getTaskSession(t){var i=this;Bizgaze.Apps.PM.Managers.TaskManager.Instance().getSessionLog(t).then(function(i){$("#ul_ShowLog_Details").find(".li-"+t).remove();$("#hfTaskSessionId").val(t);Bizgaze.Apps.PM.Components.SessionLog.Instance().addLogHourRow(!0);$("#txt_LogHourStartDate").val(n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.result.startdate));$("#txt_LogHourEndDate").val(n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.result.enddate));Bizgaze.Apps.PM.Components.SessionLog.Instance().calculateDateDiff()},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}removeSession(n){var t=this;Bizgaze.Apps.PM.Managers.TaskManager.Instance().deleteSession(n).then(function(n){MessageHelper.Instance().showSuccess(n,"");t.refreshLog()},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}refreshLog(){var t=this,i=t.TaskId;Bizgaze.Apps.PM.Managers.TaskManager.Instance().getSessionLogDetails(i).then(function(t){var r,u;for(t.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>'),r=0;r<t.result.length;r++){var i=t.result[r],e=moment(i.enddate).format("DD-MM-YYYY hh:mm:ss a"),f="";i.ismanual&&(f=" M");u="";u=i.ismanual?'<li class="list-group-item sessionlog-item bg-info li-'+i.sessionid+'" ><div class="row mt-10 divAddLogHours_'+r+' hidden"><\/div><div class="row mt-10"><div class="col-sm-4 pl-15"><span class="h6" style="color:white;">'+n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.startdate)+'<\/span><\/div><div class="col-sm-4 pl-20 mr-45"><span class="h6" style="color:white;">'+n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.enddate)+'<\/span><\/div><div class="col-sm-2 pl-10"><span class="h6" style="color:white;">'+i.timer+'<\/span><\/div><div class="col-sm-1 pr-5"><span class="editloghour hidden" onclick="return Unibase.Platform.PM.Components.TimeTracker.Instance().getTaskSession('+i.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('+i.sessionid+');"><i class="fa fa-trash-o text-white"><\/i><\/a><\/div><\/div><\/li>':'<li class="list-group-item sessionlog-item li-'+i.sessionid+'"><div class="row mt-10 divAddLogHours_'+r+' hidden"><\/div><div class="row mt-10"><div class="col-sm-4 pl-15"><span class="h6">'+n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.startdate)+'<\/span><\/div><div class="col-sm-4 pl-20 mr-45"><span class="h6">'+n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.enddate)+'<\/span><\/div><div class="col-sm-2 pl-10"><span class="h6">'+i.timer+'<\/span><\/div><div class="col-sm-1 pr-5"><span class="editloghour hidden" onclick="return Unibase.Platform.PM.Components.TimeTracker.Instance().getTaskSession('+i.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('+i.sessionid+');"><i class="fa fa-trash-o text-danger"><\/i><\/a><\/div><\/div><\/li>';$(".sessionlog-item:last").after(u)}Bizgaze.Apps.PM.Components.SessionLog.Instance().addLogHourRow(!1);Bizgaze.Apps.PM.Components.SessionLog.Instance().calculateDateDiff()},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}managePermission(){var t=this;Bizgaze.Apps.PM.Managers.TaskManager.Instance().getLogHourPermission().then(function(i){i.result=="5"||n.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin==!0?($(".editloghour").removeClass("hidden"),$(".deleteloghour").removeClass("hidden")):($(".editloghour").addClass("hidden"),$(".deleteloghour").addClass("hidden"));t.managePermission()},function(n){MessageHelper.Instance().showError(n,"divTimeTrackerError")})}static Instance(){return this.instance==undefined&&(this.instance=new i),this.instance}}t.TimeTracker=i})(i=t.Components||(t.Components={}))})(i=t.PM||(t.PM={}))})(t=n.Apps||(n.Apps={}))})(Unibase||(Unibase={}));