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.

employee_locations.min.js 37KB

12345678910111213141516171819202122
  1. var Bizgaze;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){let i;(function(t){class i extends Unibase.Platform.Core.BaseComponent{constructor(){super(...arguments);this.showdetails="";this.initalLoad=!0;this.isTrackingTable=!1;this.lastSelectedEmp="";this._gpsTrackEmployee_position_index_pageindex=0;this._dateTimeHelper=Unibase.Platform.Helpers.DateTimeHelper.Instance();this.trackingTodayHTML="";this.tableHtmlEmp="";this.isMobile=!1}cssFiles(){return[]}jsFiles(){return["apps/crm/employees/managers/gpslocationmanager.js","platform/core/helpers/numberhelper/numberhelper.js","apps/crm/employees/components/employee_locations_table.js"]}html(){this.isMobile=$(window).width()<=1198;let n="";n=this.isMobile?"<div class='fullContainer'><div class='mapContainerMobile'><div id='employeeTrackingMapMobileContainer' class='align-items-center d-flex justify-content-center' style='width:100%;height:100%; min-height:400px;'><\/div><\/div><\/div>":" <div class='row'><div class='employees_list_location col-sm-3 d-flex flex-column align-items-start'> <div class='w-100 searchEmp_containerParent'><div class='d-flex' style='gap:5px'><div class='position-relative searchEmp_container w-100'> <span class='search_emp_icon '> <i class='fa fa-search'><\/i> <\/span> <input class='w-100 py-2 employee_search_filter_input' type='text' placeholder='Search Employees'> <a class='filtermodal_emp btn-icon d-none p-2 px-3 pt-3'> <i class='fa fa-close filterIconEmp p-1'><\/i> <\/a> <div class='dropdown-menu empfilter_dropdown mt-2 biz-custom-dropdown w-100' > <div style='gap:10px' class='d-flex flex-column'> <div class='d-flex justify-content-between w-100'> <div class='w-40 '><div>Date<\/div><\/div><div class='w-40 '><div>Accuracy<\/div><select class='form-select form-control emp_accurately_select' onclick='event.stopPropagation();' aria-label='Default select example'> <option selected value='3'>Low<\/option> <option value='5'>Medium <\/option> <option value='7'>High<\/option> <\/select><\/div> <\/div> <div style='align-self: end;' class='d-flex justify-content-between w-100'> <button class='btn btn-success emp_filter_add'>Apply<\/button><button class='btn btn-danger clearfilterbtn'>Clear<\/button> <\/div> <\/div> <\/div> <\/div><button class='btn w-40 d-none btn-danger clearfilterbtn'>Clear<\/button><\/div> <div class='d-flex justify-content-between pt-1 align-items-center'><span style='position: absolute;'><i class=' fa fa-calendar font-16 p-1 pl-2 pt-2'><\/i><\/span><input style='border: 1px solid #ced4da !important;' onclick='event.stopPropagation();' type='text' id='emp_start_date' class='lastSyncDate pl-30 pt-2 w-100 datepicker-input form-control required mt-1' placeholder='DD/MM/YYYY' data-placeholder='DD/MM/YYYY' data-label='LastSyncDate'><\/div><\/div> <div id='emps_card_container' class='emps_card w-100 '> <\/div> <\/div> <div id='employeeTrackingMap' class='employees_map_location bg-white col-sm-9'> speed <\/div><\/div>";return"<div class='px-3 py-2 emp_map_track_container overflow-hidden'><div class='pb-1 row'><div class='font-weight-500 font-16 col-lg-3 d-flex justify-content-between position-relative'><div class='tracking-heading'>Employee Trackings<\/div><div class='font-weight-500 font-24 font-md-16 font-lg-16'><span class='pr-1 text-dark filtermodal_emp position-relative t-0 l-0 d-none back_btn ' data-whichgps='1' title='Back'><i class=' fa fa-arrow-left font-24 font-md-16 font-lg-16'><\/i><\/span><\/div><div class='d-block d-lg-none'><div class='filter_gps'><i class='la la-filter mt-1 font-22 font-weight-700 drop-filter'><\/i><\/div><div class='bg-white border fullContainer p-3 position-absolute rounded filter-drop d-none'style='left:0px;z-index:9;width:100%;max-width:97%;top:107%;margin:0px 0px 0px 5px;'><div class='form-group'><div class='col-sm-12' id='employeeSelect_container'><div class='floating-label-form-group floating-label-form-group-with-value'id='select_width'><select type='text' id='selectGps_members' data-live-search='true' class='search_mbil form-control'><\/select><input type='hidden'id='GPSTrackingEmployee' /><input type='hidden' id='currentDate' /><\/div><\/div><\/div><div class='form-group'><div class='col-sm-12 startDateContainerMobile'><div class='floating-label-form-group'><div class='input-group'><input type='text' class='form-control datepicker-input' required Id='mobiledateinput' placeholder='Start date' /><span class='input-group-addon no-border'><i class='fa fa-calendar'><\/i><\/span><\/div><\/div><\/div><\/div><div class='form-group'><div class='col-sm-4 accuracyContainer hidden'><label for='btnSelectAccuracy'>Accuracy:<\/label><a href='#' id='btnSelectAccuracy' class='btn btn-default'><i class='fa fa-cog fa-1x'><\/i><\/a><\/div> <div class='col-sm-8 divAccuracySelect hidden'><div class='floating-label-form-group floating-label-form-group-with-value'><select id='frmGPSTrack_cmbSelectAccuracy_select' class='form-control'><option value='3'>Low<\/option><option value='5'>Medium<\/option><option value='7'>High<\/option> <\/select><\/div><\/div><\/div><div class='form-group'><div class='col-sm-12 d-flex justify-content-between align-items-center searchMobileContainer'> <button class='btn btn-danger clearfilterbtn'>Clear Filter<\/button><a id='btnSearchMap'class='btn btn-s-sm btn-primary pull-right'>Search<\/a><\/div><\/div><\/div><\/div><\/div><div class='col-lg-9 tracking-header-btns'><div class='d-flex justify-content-lg-end justify-content-between' style='gap:10px'><div class='d-flex'><div class='d-flex align-items-baseline align-items-lg-center justify-content-center pr-3'><span class='pr-1 text-green cursor-pointer gpscurrentcount ' data-whichgps='1' title='tracking'><i class=' fa fa-map-marker font-24 font-lg-16'><\/i><\/span><span class='tracking text-dark'><\/span><\/div><div class='d-flex align-items-baseline align-items-lg-center justify-content-center pr-3'><span class='pr-1 text-grey cursor-pointer gpscurrentcount' data-whichgps='2' title='inactive'><i class=' fa fa-map-marker font-24 font-lg-16'><\/i> <\/span><span class='gpsinactive text-dark'><\/span><\/div><div class='d-flex align-items-baseline align-items-lg-center justify-content-center pr-3'><span class='pr-1 text-red cursor-pointer gpscurrentcount' data-whichgps='3' title='non tracking'><i class=' fa fa-map-marker font-24 font-lg-16'><\/i> <\/span><span class='nontracking text-dark'><\/span><\/div><div class='popuptable d-none d-lg-block btn-flush-biz-theme btn-icon btn-rounded flush-soft-hover h-30p w-30p '><span class='btn-icon-wrap'><i class='dripicons dripicons-graph-pie font-18 text-grey tableiconemp activepop'><\/i><\/span><\/div><\/div><div><div class='popuptable d-lg-none btn-flush-biz-theme btn-icon btn-rounded flush-soft-hover h-30p w-30p'><span class='btn-icon-wrap'><i class='dripicons dripicons-graph-pie font-18 text-grey tableiconemp'><\/i><\/span><\/div><\/div><\/div><\/div><\/div>"+n+"<\/div>"}init(t){var i=this;i.fileCacheHelper.loadJsFiles(["apps/crm/employees/components/employee_locations.js","apps/crm/employees/managers/gpslocationmanager.js"],function(){i.navigationHelper.loadSection(0,t,n.Apps.Crm.Employees.Components.EmployeeLocations.Instance(),null,null)})}loadModalEmp(){}load(){var i,r,f,e;let t=this;i=Unibase.Platform.Helpers.DateTimeHelper.Instance();r=t._dateTimeHelper.formatServerDateTime(new Date($.now()));let u=$("#bizDbHeader").outerHeight();t.isMobile===!1&&$(".emp_map_track_container").attr("style",`height:calc(100vh - ${u}px)`);r=r.replace("/","-").replace("/","-");$("#frmGPSTrack_cmbSelectAccuracy").val(3);$("#btnSwtichToGrid").click(function(){$(".divAddressGrid").addClass("hidden");$(".divEmployeemap").removeClass("hidden")});$("#btnSwtichToMap").click(function(){$(".divAddressGrid").removeClass("hidden");$(".divEmployeemap").addClass("hidden")});$("#btnExport").click(function(){});$("#frmGPSTrack_cmbSelectEmployee").change(function(){var n=$("#frmGPSTrack_cmbSelectEmployee").val(),u=$("#frmGPSTrack_cmbSelectAccuracy").val(),r;$("#lbGpsDistance").text(0);n!="0"?($(".divStartDate").removeClass("hidden"),$(".divAccuracy").removeClass("hidden"),$(".divUsersCount").addClass("hidden"),$(".divRefreshUserCount").addClass("hidden"),t.checkGpsStatus(n)):($(".divAccuracy").addClass("hidden"),$(".divUsersCount").removeClass("hidden"),$(".divRefreshUserCount").removeClass("hidden"));$("#frmGPSTrack_cmbSelectEmployee").val(n);$("#GPSTrackingEmployee").val(n);r=i.formatServerDateTime($("#txtFromDate").val());r=r.replace("/","-").replace("/","-");t.getLocations(n,r,u,!0)});$("#frmGPSTrack_cmbSelectAccuracy").change(function(){var r=$("#frmGPSTrack_cmbSelectEmployee").val(),u=$("#frmGPSTrack_cmbSelectAccuracy").val(),n;$("#frmGPSTrack_cmbSelectEmployee").val(r);$("#GPSTrackingEmployee").val(r);n=i.formatServerDateTime($("#txtFromDate").val());n=n.replace("/","-").replace("/","-");t.getLocations(r,n,u,!1)});$("#mobiledateinput").daterangepicker({locale:{format:"DD/MM/YYYY"},singleDatePicker:!0,showDropdowns:!0,minYear:1901,maxDate:new Date(2050,11,31)});$("#emp_start_date").daterangepicker({locale:{format:"DD/MM/YYYY"},singleDatePicker:!0,showDropdowns:!0,minYear:1901,maxDate:new Date(Date.now())});$("#emp_start_date").change(function(){let i=$(".emp_accurately_select").val(),r=$("#emp_start_date").val(),n=t._dateTimeHelper.formatServerDateTime(r);n=n.replace("/","-").replace("/","-");t.getLocations(t.lastSelectedEmp,n,i,!0)});$("#txtFromDate").val()==""&&$("#txtFromDate").val(t._dateTimeHelper.formatLocalDateformat(new Date($.now()),""));$("#btnSearchMap").click(function(){var r,n;$(".filter-drop").addClass("d-none").removeClass("d-block");$(".filter_gps").find(".la-times").removeClass("la-times").addClass("la-filter");r=Number(Unibase.Platform.Membership.Infos.Identity.currentUser.userId);$("#hfContactId").val()!=undefined?(n=i.formatServerDateTime($("#mobiledateinput").val()),n=n.replace("/","-").replace("/","-"),t.getLocations($("#selectGps_members").val(),n,"3",!0)):(n=i.formatServerDateTime($("#mobiledateinput").val()),n=n.replace("/","-").replace("/","-"),t.getLocations($("#selectGps_members").val(),n,$("3").val(),!0))});$("#chkGpsEnable").change(function(){t.saveGpsUser($("#hfContactId").val())});f=Number(Unibase.Platform.Membership.Infos.Identity.currentUser.userId);$("#hfContactId").val()!=undefined&&($("#divEmployeeSelect").hide(),$(".divUsersCount").addClass("hidden"),$(".divRefreshUserCount").addClass("hidden"),$(".divAccuracy").removeClass("hidden"),e=i.formatServerDateTime($("#txtFromDate").val()),t.getLocations($("#hfContactId").val(),r,$("#frmGPSTrack_cmbSelectAccuracy").val(),!0));$("#hfContactId").val()!=undefined?(t.checkGpsStatus($("#hfContactId").val()),$("#divStatus").show()):t.isMobile?t.loadEmployees():t.loadEmployees_card();$(".popuptable").click(function(){if($(this).hasClass("activepop")){t.isTrackingTable=!1;var i=n.Apps.Crm.Employees.Components.EmployeeLocationTable.Instance();Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0,"",i,null,Unibase.Platform.Helpers.Size.DockLeft)}});$(".gpscurrentcount").each(function(){$(this).click(function(){let i=+$(this).attr("data-whichgps");var r=n.Apps.Crm.Employees.Components.EmployeeLocationTable.Instance();switch(i){case 1:t.isTrackingTable=!0;n.Apps.Crm.Employees.Components.EmployeeLocationTable.Instance();Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0,"",r,null,Unibase.Platform.Helpers.Size.DockLeft);break;case 2:t.loadWidgets("unibase_gps_inactive_users");break;case 3:t.loadWidgets("unibase_gps_nontracking_users");break;default:console.warn("Wrong Value")}})});$(".employee_search_filter_input").on("input",function(n){let t=$(n.target).val();$(".boxEmp").remove();$(".emp_card_single").each(function(n,i){let r=$(i).find("[data-name]").attr("data-name").toLowerCase(),u=$(i).find("[data-contant]").attr("data-contant"),f=$(i).find("[data-empid]").attr("data-empid");t==""?$(i).removeClass("d-none").addClass("d-flex"):($(".filtermodal_emp").removeClass("d-none"),t=t.toString().toLowerCase(),r.includes(`${t}`)||u.includes(`${t}`)||f.includes(`${t}`)?$(i).removeClass("d-none").addClass("d-flex flex-column"):$(i).addClass("d-none").removeClass("item_name d-flex flex-column"))})});$(".filtermodal_emp").click(function(){});$(".divUserCount").click(function(){$(".divAddressGrid").removeClass("hidden");$(".divEmployeemap").addClass("hidden")});$("#btnSelectAccuracy").click(function(){$(".divAccuracySelect").is(":visible")?$(".divAccuracySelect").addClass("hidden"):$(".divAccuracySelect").removeClass("hidden")});$(".divNonTrackingUserCount").click(function(){t.showdetails="TotalNonTrackingUsers";t._gpsTrackEmployee_position_index_pageindex=0;t.loadDetails();$("#headers").html("Total Non Tracking Users");$(".details-items").html("")});$(".divInActiveUserCount").click(function(){t.showdetails="TotalInActiveUsers";t._gpsTrackEmployee_position_index_pageindex=0;t.loadDetails();$("#headers").html("Total In-Active Users");$(".details-items").html("")});$("#hfContactId").val()==undefined&&t.getTrackingCount();$("#btnGpsBack").click(function(){$(".divAddressGrid").addClass("hidden");$(".divEmployeemap").removeClass("hidden");t.loadEmployees();t.loadEmployees_card()});$(".drop-filter").on("click",function(){let n=$(".emp_map_track_container").find(".filter-drop").hasClass("d-none");n==!0?($(".filter-drop").removeClass("d-none").addClass("d-block"),$(".filter_gps").find(".la-filter").removeClass("la-filter").addClass("la-times")):($(".filter-drop").addClass("d-none").removeClass("d-block"),$(".filter_gps").find(".la-times").removeClass("la-times").addClass("la-filter"))});$("#selectGps_members").select2();$("#select_width").find(".select2-container").addClass("w-100");$("#select_width").find(".select2-selection__rendered").addClass("text-charcoal-dark-4 font-weight-400")}getTrackingLocations(){}getLocations(t,i,r,u,f){let e=this,s=e.isMobile?"employeeTrackingMapMobileContainer":"employeeTrackingMap",h="apis/v4/GPS/getlocationsbyuser/userid/"+t+"/fromdate/"+i+"/todate/"+i;if(t=="0"){$(".divUsersCount").removeClass("hidden");$(".divRefreshUserCount").removeClass("hidden");$(".divStartDate").addClass("hidden");var o=e._dateTimeHelper.formatServerDateTime(new Date($.now()));o=o.replace("/","-").replace("/","-");h="apis/v4/GPS/getemployeelocationsbylogin/fromdate/"+o}n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().getLocations(h).then(function(n){var r,h,v,ut,a,k,i,d,ft,y;if(n.totalRecords==0){let i=$("#emps_card_container").find("[data-empid ="+t+"]").hasClass("d-none"),n=$("#emp_start_date").val();if(i==!1){let i=`<div class="bg-white border-top boxEmp d-flex mt-1 py-1">
  2. <div class="d-flex w-100 flex-column">
  3. <div class="boxEmp_startDate">Start Date : <span>${n}</span></div>
  4. <div class="boxEmp_endDate">End Date : <span>${n}</span></div>
  5. <div class="boxEmp_distance_travel">Distance Travel : <span>0</span> Kms</div>
  6. </div>
  7. </div>`;$(".emp_card_single.item_name").find(".boxEmpContainer").after(i);let r=$("[data-empid ="+t+"]").find(".boxEmp").length;r>=0&&$(".boxEmp").not(":first").remove()}}if(n==null||n.totalRecords<1){let t=e.isMobile?`<span style='color: rgb(25, 88, 159);position: relative;'>NO RECORD FOUND</span>`:`<span style='color: rgb(25, 88, 159);position: relative;top: 50%;left: 45%;'>NO RECORD FOUND</span>`;$(`#${s}`).html(t);$("#tblMap").html("");$("#lblUserCount").text(n.length);$("#lbGpsEndTime").text(e._dateTimeHelper.currentDate());$("#lbGpsStartTime").text(e._dateTimeHelper.currentDate());e.tableHtmlEmp=""}else{$("#tblMap").empty();let at="<thead><tr>";n.totalRecords>0&&(at=at+"<td>Accuracy<\/td>");f&&f();at=at+"<td>Time<\/td><td>Address<\/td><td>Distance(K.M)<\/td><td>Duration<\/td><\/tr><\/thead>";$("#tblMap").append(at);at="";$("#tblMap").append("<tbody/>");for(var i=0,p=0,i=0;i<n.totalRecords;i++){r=n.result[i];t!="0"?($(".divUsersCount").addClass("hidden"),$(".divRefreshUserCount").addClass("hidden")):($(".divUsersCount").removeClass("hidden"),$("#lblUserCount").text(n.totalRecords),$("#lbGpsEndTime").text(e._dateTimeHelper.currentDate()),$("#lbGpsStartTime").text(e._dateTimeHelper.currentDate()),$("#lbGpsDistance").text(0));var g=new Date(e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime)),nt=e._dateTimeHelper.formatLocalDateTime(r.TrackTime),tt=e._dateTimeHelper.formatLocal(nt),et=tt.split(" "),ot=g.getHours(),st=g.getMinutes(),at=ot+":"+st,vt=r.UserName==null?"UNKNOWN":r.UserName+"<br/>",c=e.getPoints(n.result,t),yt=c[0],i=0,ht={center:new google.maps.LatLng(c[0].lat,c[0].lng),zoom:1,mapTypeId:google.maps.MapTypeId.ROADMAP},o=new google.maps.Map(document.getElementById(`${s}`),ht);o.setZoom(1);var w=new google.maps.InfoWindow({pixelOffset:new google.maps.Size(0,-5)}),it=[],p=1,b=new google.maps.LatLngBounds,l=[];for(u||t=="0"?l=c:(l.push(c[0]),c.length>0&&l.push(c[c.length-1])),i=0;i<l.length;i++){h=l[i];v=new google.maps.LatLng(h.lat,h.lng);it.push(v);var rt=h.color,ct=""+p+"",pt={path:google.maps.SymbolPath.FORWARD_CLOSED_ARROW};rt="https://maps.google.com/mapfiles/ms/icons/"+rt+".png";ut={path:google.maps.SymbolPath.CIRCLE,fillOpacity:1,fillColor:h.color,strokeOpacity:1,strokeWeight:1,strokeColor:"#333",scale:12,scaledSize:new google.maps.Size(54,44)};t!="0"?(a=new google.maps.Marker({position:v,map:o,draggable:!1,title:h.title,label:{fontSize:"12px",fontWeight:"200",text:"."}}),a.setIcon({path:google.maps.SymbolPath.CIRCLE,fillOpacity:1,fillColor:h.color,strokeOpacity:1,strokeWeight:1,strokeColor:"#333",scale:3,scaledSize:new google.maps.Size(54,44)})):a=new google.maps.Marker({position:v,map:o,draggable:!1,icon:ut,title:h.title,label:{fontSize:"12px",fontWeight:"200",text:ct.toString(),color:"white"}});b.extend(a.position);p=p+1,function(n,t){let i=document.getElementsByClassName("gm-ui-hover-effect");$(".ui-tooltip.ui-corner-all").remove();$(".gm-ui-hover-effect").attr("title","").css({display:"none",visibility:"hidden",opacity:"none"});google.maps.event.addListener(n,"click",function(){var n=e._dateTimeHelper.formatServerDateTime($("#emp_start_date").val());n=n.replace("/","-").replace("/","-");e.getLocations(t.UserId,n,3,!0);screen.width>=1200&&$(".back_btn").removeClass("d-none");$(".popuptable").addClass("cursor-pointer activepop");$(".ui-tooltip.ui-corner-all").remove();$(".gm-ui-hover-effect").attr("title","").css({display:"none",visibility:"hidden",opacity:"none"});$(i).css({display:"none",visibility:"hidden",opacity:"none"});$("[role='tooltip']").remove()});google.maps.event.addListener(n,"mouseover",function(){var i=t.TrackTime;w.setContent(t.UserName+"<br>"+e._dateTimeHelper.formatLocalWithOutTime(i)+"");w.open(o,n);$(".gm-ui-hover-effect").remove();$(".gm-ui-hover-effect").attr("title","")});google.maps.event.addListener(n,"mouseout",function(){w.close()});google.maps.event.addDomListener(i,"click",()=>{$("[role='tooltip']").remove()});o.addListener("mousemove",function(){$("[role='tooltip']").remove()});google.maps.event.addListener(n,"click",function(){$("#emps_card_container").find(".emp_card_single").addClass("d-none").removeClass("d-flex flex-column");let h=$("#emps_card_container").find("[data-empid ="+t.UserId+"]").removeClass("d-none").addClass("item_name"),c=$("#emps_card_container").find(".emp_card_single.item_name").attr("data-empid"),u=$(".emp_accurately_select").val(),f=$("#emp_start_date").val(),n=e._dateTimeHelper.formatServerDateTime(f);n=n.replace("/","-").replace("/","-");let o=u==0?r.Accuracy:u,i=String(t.UserId),s=$("#emps_card_container").find("[data-empid ="+i+"]").hasClass("d-none");s==!1&&e.getLocations(i,n,o,!0,function(){let n=`<div class="bg-white border-top boxEmp d-flex mt-1 py-1">
  8. <div class="d-flex w-100 flex-column">
  9. <div class="boxEmp_startDate">Start Date : <span>14/5/2022</span></div>
  10. <div class="boxEmp_endDate">End Date : <span>14/5/2022</span></div>
  11. <div class="boxEmp_distance_travel">Distance Travel : <span class="pr-1">0</span> Kms</div>
  12. </div>
  13. </div>`;$(".emp_card_single.item_name").find(".boxEmpContainer").after(n);let t=$("[data-empid ="+i+"]").find(".boxEmp").length;t>=0&&$(".boxEmp").not(":first").remove()})})}(a,h);o.setCenter(b.getCenter());o.fitBounds(b);o.setZoom(1)}if(t!="0")var wt=new google.maps.MVCArray,bt=new google.maps.DirectionsService,kt=new google.maps.DirectionsRenderer,dt=new google.maps.Polyline({map:o,strokeColor:"#4986E7",geodesic:!0,strokeOpacity:1,strokeWeight:2,path:it});let f=1;for(k=0,e.tableHtmlEmp="",i=0;i<n.result.length;i++){var r=n.result[i],gt=e._dateTimeHelper.formatServerDateTime($("#txtFromDate").val()),lt=e.getColor(n.result,et,t,i),ni="bg-"+lt,ti="rows"+i;if(f=f+1,t=="0")console.log(r),at="<li class='list-group-item data-list-item biz-transparent-text-color no-background list-border-color'><div class='row d-flex align-items-center'><div class='col-sm-4'>"+r.UserName+" ("+f+")<\/div><div class='col-sm-4'>"+e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime)+"<\/div><div class='col-sm-4'>"+r.Address+"<\/div> <\/div><\/li>";else{d="0";ft=e.getDurations(n.result,t);console.log(n);var nt=r.TrackTime,tt=e._dateTimeHelper.formatPeriod(nt.toString()),et=tt.split(" ");i==n.result.length-1&&$(".boxEmp_endDate").find("span").text(e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime));i==0&&$(".boxEmp_startDate").find("span").text(e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime));i!=0&&(d=ft[i-1].Duration);at=at+"<td>"+e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime)+"<\/td><td id=rows"+i+">"+r.Address+"<\/td>";(i!=0||n.result.length===1)&&(y=r.Distance/1e3,at=at+"<td>"+Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(y,2)+"<\/td>",k+=y,$(".boxEmp_distance_travel").find("span").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(k,2)));let h=e._dateTimeHelper.formatServerDateTime(r.TrackTime);function o(n){var r=new Date(n),t=""+(r.getMonth()+1),i=""+r.getDate(),u=r.getFullYear();return t.length<2&&(t="0"+t),i.length<2&&(i="0"+i),[i,t,u].join("/")}let u=e._dateTimeHelper.formatLocalDateTimeWithT(r.TrackTime),s=`${o(u)} ${u.slice(-8)}`,f=d.split("");console.log(f[0]);at="<li class='list-group-item data-list-item biz-transparent-text-color no-background list-border-color'><div class='row d-flex align-items-center'><div class='col-sm-2'>"+s+"<\/div><div class='col-sm-5'>"+r.Address+"<\/div><div class='col-sm-2'>"+Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(y,2)+"<\/div><div class='col-sm-2'>"+f[0]+" min<\/div><div class='col-sm-1 text-center'>"+r.BatteryLevel+" %<\/div> <\/div> <\/li>"}e.tableHtmlEmp=e.tableHtmlEmp+at}e.initalLoad&&(e.trackingTodayHTML=e.tableHtmlEmp,e.tableHtmlEmp=e.tableHtmlEmp,e.initalLoad=!1)}}},function(){return""})}getPoints(n,t){var f,r;let u=this;for(f=[],r=0;r<n.length;r++){var e="",i=n[r],o=new Date(u._dateTimeHelper.formatLocalDateTime(i.TrackTime)),s=u._dateTimeHelper.formatPeriod(o),h=s.split(" "),e=u.getColor(n,h,t,r),c=i.UserName==null?"UNKNOWN":i.UserName+"<br/>";f.push({lat:i.Latitude,lng:i.Longitude,UserName:i.UserName,color:e,TrackTime:i.TrackTime,UserId:i.UserId,TrackTimeString:i.TrackTimeString})}return f}loadFromGrid(n){var r,t;let i=this;r=[];$(".divAddressGrid").addClass("hidden");$(".divEmployeemap").removeClass("hidden");t=i._dateTimeHelper.formatServerDateTime($("#txtFromDate").val());t=t.replace("/","-").replace("/","-");i.getLocations(n,t,3,!0)}getColor(n,t,i,r){var u="",o=new Date(n[r].TrackTime),f,e;return o.setTime(o.getTime()+9e5),f=new Date(n[r].TrackTime),f.setTime(f.getTime()+18e5),e=new Date,i=="0"?(e<o&&(u="green"),e<f&&e>o&&(u="orange"),e>f&&(u="red")):(r==0&&(u="green"),r==n.length-1&&(u="orange"),r!=0&&r!=n.length-1&&(u="blue")),u}calcDistance(n,t,i){var r=[],u=new google.maps.DistanceMatrixService;u.getDistanceMatrix({origins:[n],destinations:[t],travelMode:google.maps.TravelMode.DRIVING,unitSystem:google.maps.UnitSystem.METRIC,avoidHighways:!1,avoidTolls:!1},function(n,t){if(t==google.maps.DistanceMatrixStatus.OK&&n.rows[0].elements[0].status!="ZERO_RESULTS"){var u=n.rows[0].elements[0].distance.text,f=u.split(" ");r.push({Distance:f[0]});i(r)}else bootbox.alert("Unable to find the distance via road.")})}getAddresss(n,t,i){var u="https://maps.googleapis.com/maps/api/geocode/json?latlng="+t+","+i,r=this.createCORSRequest("Get",u);if(!r){bootbox.alert("CORS not supported");return}r.onload=function(){var i=r.responseText,t=JSON.parse(i);t.results[0].formatted_address!=undefined&&(document.getElementById(n).innerHTML=t.results[0].formatted_address)};r.onerror=function(){bootbox.alert("Woops, there was an error making the request.")};r.send()}saveGpsUser(t){var i="InActive",u=$("#chkGpsEnable").prop("checked"),r;$("#chkGpsEnable").is(":checked")&&(i="Active");r={GpsUserId:$("#hfGpsUserId").val(),Status:i,ContactId:t};n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().SaveGpsUser(r).then(function(n){var t=n.getResponseHeader("GpsUserId"),i=n.getResponseHeader("StatusName");i=="Active"?MessageHelper.Instance().showSuccess("Gps Enabled",""):MessageHelper.Instance().showSuccess("Gps Disabled","");$("#hfGpsUserId").val(t)},function(n){MessageHelper.Instance().showError(n,"bizgaze_CreateErrorMessages")})}getTrackingCount(){let i=this;var t=i._dateTimeHelper.formatServerDateTime(new Date($.now()));t=t.replace("/","-").replace("/","-");n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetGPSTrackingCount(t).then(function(n){if(n!=null){var t=n.result;$(".gpsinactive").text(t.InActiveUserCount);$(".tracking").text(t.TrackingCount);$(".nontracking").text(t.NonTrackingCount)}})}checkGpsStatus(t){let i=this;Number(t);n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetGpsUser(t).then(function(n){n!=null&&($("#hfGpsUserId").val(n.GpsUserId),n.StatusName=="Active"?$("#chkGpsEnable").prop("checked",!0):$("#chkGpsEnable").prop("checked",!1))})}getEmployee_cardHTML(n){let{EmployeeId:r,EmployeeName:u,FirstName:t,ImageUrl:f,PhoneNumber:e,StatusId:o}=n,i=t.split(".");if(t.split(".").length==1)i=`${t[0]}${t[1]} `;else{let n=t.split(".");i=`${n[0][0]}${n[1][0]} `}i=i.toUpperCase();let s=f==null?"<div class='align-items-center biz-highlight-color text-white d-flex h-50p justify-content-center rounded-circle w-50p'>"+i+"<\/div>":"<img style='width:100px' height='100px' class='' src='"+f+"'/>",c=o==1?"<span data-active='isActive' class='text-success'>Active<\/span>":"<span data-active='isActive' class='text-danger'>Inactive<\/span>",h=o==1?"text-green":"text-grey";return" <div data-empid='"+r+"' class='bg-white cursor-pointer emp_card_single p-2 w-100 flex-column '> <div class='d-flex w-100 boxEmpContainer'> <div class='profile_emp d-flex mr-2 align-items-center'>"+s+" <\/div> <div class='d-flex flex-column '> <span class='list-item-main-title text-truncate w-250p emp_name' data-name='"+u+"'>"+u+"<\/span> <span class='d-none' data-empid='"+r+"'><span class='d-none'><span><i class='fa fa-user pr-1'><\/i> Employee ID <\/span> : "+r+"<\/span><\/span> <span data-contant='"+e+"'><span> <i class='fa fa-phone pr-1'><\/i><\/span> : "+e+"<\/span> <\/div> <div class='d-none "+h+" d-flex align-items-center justify-content-center flex-column'> <i class='font-35 fa fa-map-marker d-none'><\/i><span class='font-weight-600 font-12'><\/span> <\/div><\/div> <\/div>"}loadEmployees_card(){var i,r;let t=this;$(".searchEmp_container").find(".emp_filter_add").click(function(){let i=$(".emp_accurately_select").val(),r=$("#emp_start_date").val(),n=t._dateTimeHelper.formatServerDateTime(r);n=n.replace("/","-").replace("/","-");t.getLocations(t.lastSelectedEmp,n,i,!0)});$(".searchEmp_containerParent").find(".clearfilterbtn").click(function(){let f=$(".emp_accurately_select").val(),r=t._dateTimeHelper.formatServerDateTime(new Date($.now()));r=r.replace("/","-").replace("/","-");let n=r,u=n.split(" ")[0].split("-");n=`${u[2]}/${u[1]}/${u[0]}`;$("#emp_start_date").val(n).data("daterangepicker").setEndDate(n);$("#emp_start_date").val(n).data("daterangepicker").setStartDate(n);t.getLocations("0",r,f,!0);$(".employee_search_filter_input").val("");$(".boxEmp").remove();let i="";$(".emp_card_single").each(function(n,t){let r=$(t).find("[data-name]").attr("data-name").toLowerCase(),u=$(t).find("[data-contant]").attr("data-contant"),f=$(t).find("[data-empid]").attr("data-empid");i==""?$(t).removeClass("d-none").addClass("d-flex flex-column"):(i=`${i}`.toLowerCase(),r.includes(`${i}`)||u.includes(`${i}`)||f.includes(`${i}`)?$(t).removeClass("d-none").addClass("d-flex"):$(t).addClass("d-none").removeClass("d-flex"))})});$(".filtermodal_emp").click(function(){let f=$(".emp_accurately_select").val(),r=t._dateTimeHelper.formatServerDateTime(new Date($.now()));r=r.replace("/","-").replace("/","-");let n=r,u=n.split(" ")[0].split("-");n=`${u[2]}/${u[1]}/${u[0]}`;$("#emp_start_date").val(n).data("daterangepicker").setEndDate(n);$("#emp_start_date").val(n).data("daterangepicker").setStartDate(n);t.getLocations("0",r,f,!0);$(".employee_search_filter_input").val("");$(".boxEmp").remove();let i="";$(".emp_card_single").each(function(n,t){let r=$(t).find("[data-name]").attr("data-name").toLowerCase(),u=$(t).find("[data-contant]").attr("data-contant"),f=$(t).find("[data-empid]").attr("data-empid");i==""?$(t).removeClass("d-none").addClass("d-flex flex-column"):(i=`${i}`.toLowerCase(),r.includes(`${i}`)||u.includes(`${i}`)||f.includes(`${i}`)?$(t).removeClass("d-none").addClass("d-flex"):$(t).addClass("d-none").removeClass("d-flex"))});$(".popuptable").removeClass("cursor-pointer activepop");$(".filtermodal_emp").addClass("d-none");$(".back_btn").addClass("d-none")});$(`.employees_list_location`).on("hide.bs.dropdown",function(){$(`.filtermodal_emp > i`).removeClass("la-times").removeClass("filterHover").addClass("la-filter")});i=t._dateTimeHelper.formatServerDateTime(new Date($.now()));i=i.replace("/","-").replace("/","-");t.getLocations("0",i,"3",!0);let u=+$(".emp_map_track_container").outerHeight(),f=+$(".searchEmp_container").outerHeight(),e=u-f;$("#emps_card_container").height(e-200).addClass("biz-custom-scrollbar");r=Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(n=>n.settingName=="branchid").settingValue;n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetEmployees(r).then(function(n){if(n.result.length>0){let i=n.result;for(let n=0;n<i.length;n++){let r=t.getEmployee_cardHTML(i[n]);$("#emps_card_container").append(r)}$(".emp_card_single").each(function(n,i){$(i).click(function(n){$(".filtermodal_emp").removeClass("d-none");let r=$(this).attr("data-empid"),u=$(".emp_accurately_select").val(),f=$("#emp_start_date").val(),i=t._dateTimeHelper.formatServerDateTime(f);if(i=i.replace("/","-").replace("/","-"),$(n.target).attr("data-active")=="isActive"){console.log("active and inactive logic");return}let e=$(this).find("[data-name]").attr("data-name");$(".employee_search_filter_input").val(e);t.lastSelectedEmp=r;$(".popuptable").addClass("cursor-pointer activepop");let o=this;t.getLocations(r,i,u,!0,function(){let n=`<div class="bg-white border-top boxEmp d-flex mt-1 py-1">
  14. <div class="d-flex w-100 flex-column">
  15. <div class="boxEmp_startDate">Start Date : <span>14/5/2022</span></div>
  16. <div class="boxEmp_endDate">End Date : <span>14/5/2022</span></div>
  17. <div class="boxEmp_distance_travel">Distance Travel : <span class="pr-1">14</span> Kms</div>
  18. </div>
  19. </div>`;$(".boxEmp").remove();$(o).find(".boxEmpContainer").after(n)})})})}else $("#lblInActiveUserCount").text(0),$("#lblNonTrackingUserCount").text(0),$("#frmGPSTrack_cmbSelectEmployee").html('<option value="0">no employees found..<\/option>')})}loadEmployees(){let t=this;var i=Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(n=>n.settingName=="branchid").settingValue;n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetEmployees(i).then(function(n){var f,i,r,u;if(n.result.length>0){for(f=document.getElementById("selectGps_members"),$("#selectGps_members").empty(),$("#selectGps_members").html('<option selected value="0">All<\/option>'),i=0;i<n.result.length;i++)r=document.createElement("option"),r.text=n.result[i].EmployeeName,r.value=n.result[i].EmployeeId,f.append(r);$("#selectGps_members").val(0);u=t._dateTimeHelper.formatServerDateTime(new Date($.now()));u=u.replace("/","-").replace("/","-");t.getLocations($("#selectGps_members").val(),u,$("#mobiledateinput").val(),!0);$("#selectGps_members").change(function(){$(".popuptable").addClass("cursor-pointer activepop")})}else $("#lblInActiveUserCount").text(0),$("#lblNonTrackingUserCount").text(0),$("#selectGps_members").html('<option value="0">no employees found..<\/option>');$(".searchMobileContainer").find(".clearfilterbtn").click(function(){let u=$(".emp_accurately_select").val();$("#selectGps_members").val(0);let i=t._dateTimeHelper.formatServerDateTime(new Date($.now()));i=i.replace("/","-").replace("/","-");let n=i,r=n.split(" ")[0].split("-");n=`${r[2]}/${r[1]}/${r[0]}`;$("#select_width").find(".select2-selection__rendered").html("");$("#mobiledateinput").val(n).data("daterangepicker").setEndDate(n);$("#mobiledateinput").val(n).data("daterangepicker").setStartDate(n);t.getLocations("0",i,u,!0);$(".employee_search_filter_input").val("");$(".boxEmp").remove()})},function(n){return MessageHelper.Instance().showError(n.responseText,"bizgaze_CreateErrorMessages"),!1})}loadWidgets(n){Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetbyuniqueid(n).then(function(n){var t=n.result.WidgetId;Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(t).then(function(n){let i=n.result.Parameter.split(":");Unibase.Themes.Compact.Components.ReportWidgets.Default.Instance().getReportWidget(0,t,"",[],null,!0,Unibase.Themes.Providers.DetailHelper.installedAppId,!0)})})}loadDetails(){let i=this;$("#divTrackingDetails").modal();var t=i._dateTimeHelper.formatServerDateTime(new Date($.now()));t=t.replace("/","-").replace("/","-");n.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetGPSUSerDetails(i.showdetails,t).then(function(n){var t,u,i,r;if(n.rows.length>0){if($(".details-users").html(""),t="",$(".details-users:first").after(t),u=0,this.showdetails=="TotalNonTrackingUsers")for(t='<tr class="details-users details-addeditem"><th>Employee Name<\/th><th>PhoneNumber<\/th>',$(".details-users:last").after(t),i=0;i<n.rows.length;i++)r=n.rows[i].cell,t='<tr class="details-users details-addeditem"><td>'+r[0]+"<\/td><td>"+r[1]+"<\/td>",t+="<\/tr>",$(".details-users:last").after(t);if(this.showdetails=="TotalInActiveUsers")for(t='<tr class="details-users details-addeditem"><th>Employee name<\/th><th>PhoneNumber<\/th>',$(".details-users:last").after(t),i=0;i<n.rows.length;i++)r=n.rows[i].cell,t='<tr class="details-users details-addeditem"><td>'+r[0]+"<\/td><td>"+r[1]+"<\/td>",t+="<\/tr>",$(".details-users:last").after(t)}else MessageHelper.Instance().showError("error ","bizgaze_CreateErrorMessages"),$("#divUsersDetails").html('<div class="clear"><center>no details found....<\/center><\/div>')},function(){})}getDurations(n,t){var e=[],i,o,f;if(t=="0")for(i=0;i<n.length;i++)if(o=n[i],i!=n.length-1){var h=new Date,c=new Date(o.TrackTime),l=Math.abs(h.getDate()-c.getDate()),u=Math.floor(l/1e3),r=Math.floor(u/60),s="";u=u%60;f=Math.floor(r/60);r=r%60;s=f>0?f+" hours"+r+" minutes":r+" minutes";e.push({Duration:s})}else return e;else for(i=0;i<n.length;i++)if(o=n[i],new Date,i!=n.length-1){var h=new Date(n[i+1].TrackTime),c=new Date(o.TrackTime),l=Math.abs(h.getDate()-c.getDate()),u=Math.floor(l/1e3),r=Math.floor(u/60),s="";u=u%60;f=Math.floor(r/60);r=r%60;s=f>0?f+" hours"+r+" minutes":r+" minutes";e.push({Duration:s})}else return e;return e}createCORSRequest(n,t){var i=new XMLHttpRequest;return"withCredentials"in i?i.open(n,t,!0):i=null,i}getDistanceFromLatLonInKm(n,t,i,r){var u=this.deg2rad(i-n),f=this.deg2rad(r-t),e=Math.sin(u/2)*Math.sin(u/2)+Math.cos(this.deg2rad(n))*Math.cos(this.deg2rad(i))*Math.sin(f/2)*Math.sin(f/2),o=2*Math.atan2(Math.sqrt(e),Math.sqrt(1-e));return 6371*o}deg2rad(n){return n*(Math.PI/180)}getemployeemap(){const t=this;Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/employees/managers/gpslocationmanager.js",function(){t.navigationHelper.popup("","",t,function(){const i=t.navigationHelper.getLastContainerId();n.Apps.Crm.Employees.Components.EmployeeLocations.Instance().getLocations("","","","",()=>{const n=$(`#${i}`);n.find(".tracking-heading").prepend(`<a href="javascript:void(0);" id="trackingCloseBtn" class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p mr-15 text-dark"><span class="btn-icon-wrap"><i data-icon="l"></i></span></a>`);$("#trackingCloseBtn").click(function(){t.navigationHelper.closePopUp()})})},Unibase.Platform.Helpers.Size.Auto)})}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.EmployeeLocations=i})(i=t.Components||(t.Components={}))})(i=t.Employees||(t.Employees={}))})(i=t.Crm||(t.Crm={}))})(t=n.Apps||(n.Apps={}))})(Bizgaze||(Bizgaze={}));