123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605 |
- 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"> <i class="fa fa-play-circle fa-2x starticon"
- aria-hidden="true"></i></a>
- <a id="pauseButton" class="divTimerPause hidden btn btn-md"> <i class="fa fa-pause-circle-o fa-2x"
- aria-hidden="true"></i></a>
- <div id="resumeButton" class="divTimerResume hidden btn btn-md"> <i class="fa fa-play-circle starticon fa-2x"
- aria-hidden="true"></i></div>
- <div id="stopButton" class="divTimerStop hidden btn btn-md"> <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 = {}));
|