{"version":3,"sources":["hooks/media-query.ts","components/navbar/index.tsx","utils/index.ts","assests/images/SVGIcons/ClockInIcon.svg","assests/images/SVGIcons/ClockOutIcon.svg","assests/images/SVGIcons/BreakInIcon.svg","assests/images/SVGIcons/BreakOutIcon.svg","assests/images/SVGIcons/AboutIcon.svg","assests/images/SVGIcons/HolidaysIcon.svg","assests/images/SVGIcons/VacationsViewIcon.svg","assests/images/SVGIcons/AttachIcon.svg","assests/images/SVGIcons/TimesheetViewIcon.svg","assests/images/SVGIcons/circleCheck.svg","assests/images/SVGIcons/defaultProfile.svg","assests/images/SVGIcons/Exit.svg","assests/images/SVGIcons/LateAlarm.svg","assests/images/SVGIcons/up.svg","assests/images/SVGIcons/down.svg","assests/images/SVGIcons/left.svg","assests/images/SVGIcons/right.svg","assests/images/SVGIcons/svgIcons.ts","components/notifications/index.tsx","components/footer/index.tsx","components/auth-route/index.tsx","models/index.ts","components/timer.tsx","api/account.ts","assests/images/logo.png","store/user.ts","store/token.ts","store/ui.ts","api/Notification.ts","store/notification.ts","store/companyAddEdit.ts","assests/locales/constants.js","i18n.js","store/rootStore.ts","utils/requestHandling.ts","utils/request.ts","api/attendance.ts","components/media-query/index.tsx","components/timesheet-table.tsx","api/Company.ts","utils/faceSystem.js","components/gps-input.tsx","components/ClockDialog/index.tsx","views/attandence/index.tsx","store/index.ts","assests/styles/colors.ts","components/yearMonthPicker.tsx","api/timesheet.ts","views/timesheet/index.tsx","components/schedule/index.tsx","api/reports.ts","views/timesheet/weeklyschedule.tsx","views/timesheet/tabs.tsx","assests/images/watermark-cover-art.png","views/account/login.tsx","views/error/404.tsx","api/holidays.ts","views/leavesAndHolidays/tabs/holidays.tsx","api/leaves.ts","components/leaves/leaveAttachments.tsx","components/leaves/submitLeaveApprovalForm.tsx","views/leavesAndHolidays/tabs/leaves.tsx","views/leavesAndHolidays/tabs/balance.tsx","views/leavesAndHolidays/index.tsx","api/Organization.ts","views/Organizations/index.tsx","views/account/reset-password.tsx","assests/images/defaultProfile.png","components/currentStatus/index.tsx","views/account/profile/profile.tsx","views/account/profile/change-password.tsx","views/account/profile/index.tsx","views/users/index.tsx","views/Companies/index.tsx","api/Country.ts","views/users/UserDetails/generalDetails.tsx","views/map/index.tsx","views/users/UserDetails/workplaceMap.tsx","components/leaves/leavesConfig.tsx","views/users/UserDetails/userLeaves.tsx","views/users/UserDetails/rulesManagement.tsx","views/users/UserDetails/weekschedule.tsx","views/users/UserDetails/index.tsx","views/users/add-users.tsx","views/users/add-user.tsx","views/users/onDemandNotification.tsx","views/Companies/CompanyAddEdit/generalDetails.tsx","views/Companies/CompanyAddEdit/workplaceMap.tsx","views/Companies/CompanyAddEdit/companyLeaves.tsx","components/holidaysConfig.tsx","views/Companies/CompanyAddEdit/companyHolidays.tsx","views/Companies/CompanyAddEdit/rulesManagement.tsx","views/Companies/CompanyAddEdit/weekschedule.tsx","views/Companies/CompanyAddEdit/index.tsx","views/Organizations/add-organization.tsx","views/notifications/index.tsx","views/Requests/tabs/columns.tsx","views/Requests/tabs/myRequests.tsx","views/Requests/tabs/assigned.tsx","views/Requests/index.tsx","views/Reports/index.tsx","views/Signup/signuptrial.tsx","assests/images/circleCheck.png","views/privacyPolicy/index.tsx","api/Request.ts","views/Requests/add-request.tsx","views/widget/index.tsx","components/reportsDownload/Shared.tsx","components/reportsDownload/LeavesBalance.tsx","components/reportsDownload/UsersStatuses.tsx","components/reportsDownload/Clockings.tsx","components/reportsDownload/Shifts.tsx","components/reportsDownload/Leaves.tsx","components/reportsDownload/Overtime.tsx","views/Reports/tabs/LeavesBalance.tsx","components/reportsFilter/index.tsx","views/Reports/tabs/UsersStatuses.tsx","views/Reports/tabs/Clockings.tsx","views/Reports/tabs/Shifts.tsx","views/Reports/tabs/Leaves.tsx","views/Reports/tabs/Overtime.tsx","components/badge/index.tsx","components/notifications/bell.tsx","themes.ts","views/Dashboard/index.tsx","api/shift.ts","views/WeekSchedule/index.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["useMediaQuery","query","mediaMatch","window","matchMedia","useState","matches","setMatches","useEffect","handler","e","addListener","removeListener","useMinWidth","num","center","display","alignItems","NavbarItem","id","to","content","menu","onClick","selected","primaryColor","Box","style","cursor","whiteSpace","borderBottom","undefined","maxHeight","MenuButton","trigger","Flex","height","vAlign","withRouter","items","sideItems","logo","title","history","lg","expended","setExpended","selectedIndex","setSelectedIndex","navbarItemCallback","item","i","push","brand","gap","styles","padding","color","src","alt","length","location","pathname","includes","vars","backgroundColor","theme","siteVariables","colors","grey","map","subItem","subI","subItemNav","variables","FlexItem","grow","Divider","column","Button","iconOnly","icon","CloseIcon","MenuIcon","minHeight","getMonday","d","day","Date","getDay","monday","getDate","setDate","getSunday","sunday","getInitialDay","isGCC","getYearMonthPickerFromMonth","yearMonthPickerFromMonth","setMonth","setFullYear","getFullYear","getYearMonthPickerToMonth","yearMonthPickerToMonth","getFormattedDuration","seconds","secs","minutes","toString","padStart","copyAndSort","columnKey","isSortedDescending","key","slice","sort","a","b","localeCompare","createUrl","notification","url","notificationUrl","startsWith","shadeBlend","p","c0","c1","f","t","n","u","Math","round","w","parseInt","split","R","G","B","R1","G1","B1","isLocInsideWorkplaces","currentLocation","workplaces","inside","some","workplace","marker","poly","polyPoints","x","lat","y","lng","j","xi","yi","xj","yj","isMarkerInsidePolygon","bounds","_g","_excluded","_extends","Object","assign","bind","target","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgClockInIcon","_ref","svgRef","titleId","props","xmlns","xmlnsXlink","viewBox","enableBackground","xmlSpace","ref","ForwardRef","SvgClockOutIcon","SvgBreakInIcon","SvgBreakOutIcon","SvgAboutIcon","SvgHolidaysIcon","SvgVacationsViewIcon","SvgAttachIcon","SvgTimesheetViewIcon","SvgCircleCheck","transform","fill","colorRendering","imageRendering","shapeRendering","blockProgression","isolation","mixBlendMode","textDecorationColor","textDecorationLine","textDecorationStyle","textIndent","textTransform","SvgDefaultProfile","SvgExit","SvgLateAlarm","points","_image","SvgUp","width","xlinkHref","SvgDown","SvgLeft","SvgRight","Icons","ClockIn","ClockOut","BreakIn","BreakOut","Vacation","Holiday","About","Attach","Timesheet","CircleCheck","DefaultProfile","Exit","LateAlarm","Up","Down","Left","Right","NotificationList","inject","observer","user","type","full","selectedPageIndex","setSelectedPageIndex","createListItem","companyPrimaryColor","notificationType","name","media","header","headerMedia","dateFormat","createdOn","getTime","getTimezoneOffset","body","isRead","markAsRead","href","console","log","load","notificationsPageCount","List","selectable","overflowY","margin","fullListNotifications","notifications","Pagination","pageCount","ceil","notificationsTotalCount","itemsPerPage","totalItemCount","format","previousPageAriaLabel","nextPageAriaLabel","firstPageAriaLabel","lastPageAriaLabel","pageAriaLabel","firstPageIconProps","iconName","rtl","previousPageIconProps","nextPageIconProps","lastPageIconProps","onPageChange","index","Text","align","disabled","withTranslation","Footer","children","justifyContent","Roles","ADMIN","CHIEF","HR","CLOCKING","NOTADMIN","ANY","AuthRoute","GenericRequestType","ClientType","ClockingType","AttendanceImageConfig","FaceRecognitionConfig","ShiftFlowRuleType","ShiftScheduleType","TriggerOvertimeVerificationOn","BreakConfig","DayStatus","EmailTaskStatus","EmailTemplate","Action","QuotaType","QuotaUnit","LogType","LogSource","UserCurrentStatus","ImageSource","LeaveRequestStatus","HalfDayPart","UserAttendanceImageConfig","UserFaceRecognitionConfig","UserShiftScheduleType","UserStatus","WeekDays","WorkplaceConfig","component","authorizedRoles","root","firstLoad","init","loading","hAlign","Loader","isLoggedIn","role","React","createElement","companyName","encodeURIComponent","Timer","centerX","centerY","radius","angleInDegrees","angleInRadians","PI","cos","sin","startAngle","endAngle","start","polarToCartesian","end","largeArcFlag","join","viewboxHeight","precision","viewboxWidth","thickness","fontSize","arcRadius","halfEmptyRadius","secondaryEndAngle","min","max","progress","arcPath","describeArc","secondaryArcPath","time","calculateParams","stroke","strokeLinecap","secondaryColor","strokeWidth","dominantBaseline","textAnchor","text","secondaryText","Component","defaultProps","updateEveryMilliseconds","login","input","request","post","response","data","logout","removeFcmToken","refreshToken","getUserInfo","get","resetPassword","recoverPassword","updateProfile","serialize","changePassword","changeLocale","locale","getLocale","removeImage","delete","GetUsers","companyId","GetAllUsers","getUser","addUsers","users","deleteUser","restoreUser","put","revokeAccess","getRoles","UpdateCustomStatus","getUserRules","userId","updateUserRules","GetStatusHistory","Log","details","formData","FormData","append","message","logType","attachments","setWeekSchedule","getWeekSchedule","addLabeledFaceDescriptors","UserStore","rootStore","company","locales","token","currentShift","hasEnded","breaks","filter","moment","clockInTime","isBreakTimeRunning","duration","now","diff","subtract","breaksTime","workingDuration","total","today","workingTime","add","breaksDuration","activeBreak","breakInTime","shifts","AccountApi","payload","accessToken","firstLogin","status","withRequest","res","imageUrl","companyLogo","Promise","resolve","setTimeout","info","currentWorkingDuration","attendanceImageConfig","userRules","workplaceConfig","username","userName","currentStatus","currentCustomStatusText","firstName","lastName","fullname","fullName","isSupervisor","isGCCCountry","country","isGcc","shiftScheduleType","userFaceImage","userFaceRecognitionConfig","faceRecognitionConfig","getStatus","AttendanceApi","allowedActions","replace","incrementWorkingTimer","incrementBreakTimer","toJSON","results","result","hoursOffset","observable","InheritedFromCompany","CompanyOrUserSpecific","computed","action","then","TokenStore","m_token","Cookies","tokenKey","remove","set","sameSite","secure","refreshTokenKey","UiStore","open","GetNotificationsFirstPagePerUser","GetNotificationsPerUser","pageNumber","pageSize","markNotificationAsRead","markAllNotificationsAsRead","getNotifictionTypes","SendOnDemandNotification","NotificationStore","reaction","loadInitial","notificationsList","notificationsTotalUnreadCount","mutableNotifications","CompanyAddEditStore","localeConstants","rtlLangs","i18n","use","Backend","initReactI18next","fallbackLng","supportedLngs","backend","loadPath","debug","interpolation","escapeValue","RootStore","ui","companyAddEdit","changeLanguage","constants","loadTheme","defineLocale","parentLocale","preparse","str","postformat","errorHandling","error","originalRequest","config","Blob","size","errors","reject","refreshTokenRes","headers","Authorization","axios","requestAgainRes","currentToken","attempts","code","description","path","service","create","baseURL","baseUrl","interceptors","forEach","clock","shiftId","editClockTime","getClockings","from","params","getClockingsPerDay","getTimesheetTableData","getCurrentStatuses","addShift","getShiftHistory","minWidth","maxWidth","callback","okMin","okMax","TimesheetTable","selectedDay","Reload","timesheet","clockings","detailsListStyles","clockTimesEditable","onClockTimeChange","showImages","shiftHistory","timeSheetView","useTranslation","editedClockTimes","setEditedClockTimes","setOpen","dateOfNow","clockIn","setClockIn","dateOfNowPlus1","setHours","getHours","clockOut","setClockOut","openInfo","setOpenInfo","showIcon","onChange","recordExists","clockTime","submit","clockOutTime","clockInTimeUtc","toUTCString","clockInClientType","Web","clockInImageUrl","clockInAddress","clockInCountry","clockOutClientType","clockOutImageUrl","clockOutAddress","clockOutCountry","clockInComments","clockOutComments","alert","flexDirection","ShimmeredDetailsList","enableShimmer","selectionMode","overflowX","columns","onRender","isEdited","direction","value","calendarIcon","clearIcon","disableCalendar","disableClock","Icon","IconButton","clientType","address","comments","Avatar","image","Dialog","fullWidth","DialogTitle","marginLeft","DialogContent","oldClockTime","newClockTime","updatedByFullName","Hr","marginBottom","alignContent","getCompanies","organizationId","getCompany","addCompany","signupTrial","extendTrial","activateTrialCompany","getPlans","updateCompany","deleteCompany","getUsersLocation","onlyAvailable","getWorkplaces","userSpecificOnly","addWorkplace","removeWorkplace","workplaceId","updateWorkplace","getBranches","getDepartments","addUpdateBranches","branches","addUpdateDepartments","departments","getCompanyRules","updateCompanyRules","loadModels","MODEL_URL","faceapi","loadLabeledFaceDescriptors","urlImage","firstname","labels","all","label","imgUrl","fetch","blob","img","withFaceLandmarks","withFaceDescriptor","faceDescription","faceDescriptors","descriptor","labeledFaceDescriptors","GPSInput","isGeolocationAvailable","isGeolocationEnabled","coords","latitude","longitude","geolocated","positionOptions","enableHighAccuracy","watchPosition","dataURLtoFile","dataurl","filename","arr","mime","match","bstr","atob","u8arr","Uint8Array","charCodeAt","File","updateParent","gpsRef","closeDialog","dialogVisible","clockingType","faceMatcher","faceRecognitionRequired","setInput","setLoading","setError","errorDialogOpen","setErrorDialogOpen","errorDialogContent","setErrorDialogContent","errorDialogCancelAllowed","setErrorDialogCancelAllowed","errorDialogConfirmButtonContent","setErrorDialogConfirmButtonContent","errorDialogCancelButtonContent","setErrorDialogCancelButtonContent","faceDetected","setFaceDetected","count","setCount","webcamRef","useRef","attendanceImageRequired","NotRequired","eyesArray","position","top","opacity","borderRadius","timerId","setInterval","clearInterval","detected","detectAndMatchFaces","video","document","getElementById","canvas","withFaceDescriptors","faceDescriptions","getContext","clearRect","fd","findBestMatch","bestMatch","box","detection","anchor","drawOptions","anchorPosition","drawText","DrawTextField","draw","requestAnimationFrame","timestamp","AddListener","play","paused","closeClockingDialog","cancel","showCam","current","trim","Error","capture","getScreenshot","toLowerCase","confirmButton","cancelButton","onCancel","onConfirm","marginTop","paddingTop","textAlign","audio","onLoadedData","className","left","TextField","placeholder","multiline","event","textArea","onSuccess","loc","onError","err","Attendance","interval","createRef","openDialog","getLocation","setState","stopCam","update","isTimeRunning","setUpSignalRConnection","connection","HubConnectionBuilder","withUrl","withAutomaticReconnect","build","on","state","HubConnectionState","Connected","invoke","catch","clockingStatus","getCompanyBreakConfig","breakConfig","setStopFaceRecog","stopFaceRecog","fullAddress","panelOpen","overtimeVerificationAlertVisible","inBreakVerificationAlertVisible","loadedLabeledFaceDescriptors","faceMatch","warningVisible","alertContent","webcam","faceRecognitionModelsLoaded","deserializedLabeledFaceDescriptors","JSON","parse","reconstructedLabeledFaceDescriptors","reconstructedDescriptors","descriptors","array","Float32Array","LabeledFaceDescriptors","stringify","imageId","Required","faceRecognitionPrep","totalBreaksTime","totalWorkingTime","timeTxt","asSeconds","breakTxt","totalTimeTxt","totalBreakTxt","fullTime","ClockDialog","FaceMatcher","flex","Alert","visible","success","ticking","warning","fluid","circular","primary","Panel","isOpen","isLightDismiss","onDismiss","customWidth","PanelType","custom","hideClockingImagesFromTimesheet","ChevronEndIcon","Separator","vertical","stores","dayStatusColor","YearMonthForm","date","fromMonth","toMonth","isRtl","months","years","handleChange","form","year","month","ChevronStartIcon","previousMonth","getMonth","nextMonth","getTimesheetStatus","approveTimesheet","timesheetApprovalInput","getTimesheetStatuses","getTimesheet","CompanyApi","handleYearMonthChange","fromDate","toDate","timesheetId","TimesheetApi","timesheetUserId","timesheetTableData","statuses","timesheetStatus","timesheetStatuses","statusId","statusName","timesheetStatusId","comment","approvalFormAlertVisible","approvalFormAlertContent","approveDialogOpen","recordToEdit","element","newTime","recordUpdate","recortToGetHistory","historyView","_pivotStyles","palette","link","selectors","neutralLighter","neutralDark","neutralLight","linkIsSelected","transition","AnimationVariables","durationValue2","easeFunction2","right","clockType","Models","timebarExpended","overtimeApprovalDialogOpen","isrequired","totalWorkTime","selectedPivotKey","dispatchEvent","Event","Layout","main","Pivot","selectedKey","onLinkClick","pItem","keySelected","tmp","PivotItem","onRenderItemLink","daysSummaryView","headerText","colorWithOpacity","dayStatus","Leave","SickLeave","WeekOffDay","overflow","daysClockings","Admin","supervisorId","recordToGetHistory","EmployeesCustomEditor","scheduler","handleConfirm","edited","setStart","setEnd","handleSubmit","newEvent","event_id","close","LocalizationProvider","dateAdapter","AdapterDayjs","Stack","spacing","DateTimePicker","renderInput","newValue","DialogActions","WeekScheduleCustomEditor","startTime","setStartTime","endTime","setEndTime","DesktopTimePicker","Schedule","events","allEmployees","resources","startHour","endHour","eventRenderer","onDelete","recourseHeaderComponent","getRemoteEvents","customEditor","view","navigation","week","weekDays","weekStartOn","step","resourceFields","idField","textField","subTextField","colorField","resourceViewMode","fields","options","required","translations","addTitle","editTitle","confirm","allDay","moreEvents","cellRenderer","restProps","background","getClockingsPerUserPerDay","exportClockingsPerUserPerDay","responseType","fileName","URL","createObjectURL","setAttribute","appendChild","click","getLeavesPerUser","exportLeavesPerUser","getShiftsPerUser","exportShiftsPerUser","exportLeavesBalance","getUsersStatuses","exportUsersStatuses","exportOvertimePerUser","WeekSchedule","fetchRemote","datefrom","dateto","fromYear","toYear","fromTo","userFullName","clocks","userIds","searchMethod","departmentIds","branchIds","countryIds","clockingsperday","newClocking","eventId","setMinutes","getMinutes","editable","deletable","draggable","eventType","FixedWeekSchedule","dayStartEndHoursAndMinutes","days","starthour","startminute","endhour","endminute","startDate","setTime","endDate","newShift","concat","scheduledShifts","shift","Title","isVisible","ChangeClassName","elements","getElementsByClassName","div","parentElement","div2","visibility","div3","div4","ariaReadOnly","AMPMStart","toLocaleTimeString","AMPMEnd","fontWeight","Popup","boxShadow","preventDefault","UserDetailsTabs","userInView","currentTab","Menu","onActiveIndexChange","activeIndex","Login","validateForm","email","password","loginResponse","emailError","passwordError","hasLoggedIn","passwordDialogOpen","showPass","param","URLSearchParams","search","redirect","decodeURI","backgroundImage","BackgroundArt","Segment","onSubmit","square","defaultValue","val","errorMessage","onRenderSuffix","EyeSlashIcon","EyeIcon","ActionButton","PrimaryButton","NotFound","variant","createHolidays","getHolidaysConfig","updateHolidaysConfig","getUserHolidays","Holidays","fetchData","holidaysLoading","HolidaysApi","userHolydays","userHolidays","assignDialogOpen","assignInput","holidays","holidaysDialogOpen","holidayCols","holiday","getLeaveTypes","getLeavesConfig","updateLeavesConfig","getLeaveRequestsPerUser","getLeaveRequestsAssignedToUser","getBalancePerUser","requestLeave","getLeaveRequest","leaveRequestId","leaveRequestApproval","leaveRequestUndoApproval","createLeaveType","addLeaveAttachments","getLeaveRequestAttachments","removeLeaveAttachment","leaveAttachmentId","LeaveAttachments","newRequest","submitNow","setAttachmentsCount","uploadLoading","setUploadLoading","leaveRequest","setLeaveRequest","files","setFiles","setAttachments","alertText","setAlertText","submitedOnce","setSubmitedOnce","LeavesApi","deleteAttachment","viewAttachment","danger","Input","multiple","attachment","border","extention","TrashCanIcon","SubmitLeaveApprovalForm","isRequired","commentDialogData","commentRequiredAlert","leaveRequests","onCommentChange","find","l","leaveId","attachmentRequired","attachmentCount","ExclamationTriangleIcon","commentValue","Leaves","leavesLoading","leaveTypes","quotaUnit","Hours","dateWithOffset","requestStartDate","requestEndDate","leaveTypeId","inputError","selectedLeaveId","submitAttachmentsNow","leaveDialogOpen","fromHalfDay","fromHalfDayPart","AM","toHalfDay","toHalfDayPart","attachmentsCount","requestApproval","isApproved","supervisorComment","rejectDialogOpen","undoRequestApproval","undoDialogOpen","leaveTypeChange","Days","leaveRequestApprovalFormIsOpen","leaveRequestApprovalFormId","leaveAttachmentsDialogOpen","IconSelectedStyles","IconNotSelectedStyles","dialogs","Dropdown","leaveType","DatePicker","disableAutoFocus","onSelectDate","Checkbox","checked","PM","newDate","substring","leavesCols","leave","dateformat","lastUpdate","supervisorName","supervisorComments","attachmentButton","Pending","AcceptIcon","UndoIcon","CommandBar","farItems","iconProps","buttonStyles","iconHovered","Balance","balanceLoading","balance","balanceCols","quota","HolidaysAndLeaves","loadData","getCurrentTab","Grid","gridTemplateColumns","pointing","accessibility","tabListBehavior","defaultActiveIndex","GetOrganizations","addOrganization","deleteOrganization","Organizations","organizations","offset","showFilters","numberofUsers","TooltipHost","TableIcon","c","onColumnClick","_","newColumns","currColumn","currCol","newCol","isSorted","newItems","callbackfn","paddingRight","SearchBox","ev","filterData","SendQueuedEmails","currentPage","limit","page","pages","totalPages","getPageItemProps","pageValue","ResetPassword","setEmail","newPassword","setPassword","newPasswordVerify","setPasswordVerify","showNewPass","setShowNewPass","showRePass","setShowRePass","useLocation","setSuccess","semibold","asDialog","dialogIsOpen","closeAvailabilityStatusDialog","statusInputText","setStatusInputText","setHistory","getStatusHistory","currentCustomStatus","clear","Autocomplete","h","sx","inputProps","onSelect","weight","paddingBottom","file","setFile","confirmationDialogOpen","setConfirmationDialogOpen","BugDialogOpen","setBugDialogOpen","bugReport","setBugReport","bugFiles","setBugFiles","saveImage","handleBugSubmit","BugReport","logSource","Request","clientUserAgent","newLog","updatedUser","serializedLabeledFaceDescriptors","test","Image","accept","defaultProfile","objectFit","oldPass","setOldPass","newPass","setNewPass","newPassVerify","setNewPassVerify","oldPassError","setoldPassError","showOldPass","setShowOldPass","oldPassword","ProfileIndex","useRouteMatch","Profile","ChangePassword","Users","isArchivedChecked","AuthRoles","setcolumn","roles","isArchived","allusers","selectedRole","selectedBranch","selectedDepartment","selectedStatus","employeeId","branch","department","phoneNumber","isarchived","newState","MoreIcon","CalendarIcon","valueLower","filterDataGlobal","_ev","inputText","dropdown","borderWidth","Companies","companies","nonTrialOrganizations","o","trialFilterValue","organization","openExtendTrialDialog","extendTrialCompanyId","extendTrailDialogOpen","openActivateTrialDialog","activateTrialCompanyId","activateTrailCompanyDialogOpen","submitExtendTrial","extendTrialDays","submitActivateTrial","activateTrialCompanyOrganizaitonId","trialDays","UserFriendsIcon","ShiftActivityIcon","ApprovalsAppbarIcon","doesNotInclude","plan","filterDataTrialNonTrial","getCountries","getUsersCountries","getTimeZones","GeneralDetails","countryId","linkedInUrl","birthDate","branchId","departmentId","supervisorIds","timeZone","fiscalYearStartingMonth","allUsers","countries","timeZones","save","emailChanged","onFormatDate","handleImageChange","closeDioalog","edit","MessageBar","messageBarType","MessageBarType","readOnly","international","defaultSelectedKey","ComboBox","optionsContainerWrapper","phoneCode","displayName","sId","MapView","currentlyRenderedCountry","userSpecific","companySpecific","TimeAgo","addLocale","en","setDefaultLocale","setusers","usersLocations","setusersLocations","LatLng","setcurrentLocation","setworkplaces","featureGroupVisible","setfeatureGroupVisible","zoom","setzoom","LatLngBounds","setbounds","lastzoomlevel","lastCenter","L","elementj","userIndex","countryName","latLngBounds","navigator","geolocation","getCurrentPosition","pos","ChangeMapView","useMap","setView","relodmap","onCreated","latlngs","layer","_latlngs","onEdited","layers","getLayers","onDeleted","onUserClick","MapContainer","scrollWheelZoom","TileLayer","subdomains","Marker","Default","lastActivity","lastActivityDuration","humanize","Control","onCountryClick","FeatureGroup","polygon","removeLayer","addTo","rectangle","polyline","circle","circlemarker","allowIntersection","WorkplaceMap","LeavesConfig","groups","tableDataGenerator","leaveTypesCount","countriesCount","leavesConfig","leavesConfigPayload","leavesConfigList","currentType","leaveConfig","startIndex","level","isCollapsed","leaveConfigInputDTO","balanceText","itemsToUpdate","enabled","leaveConfigInputList","newLeaveTypeName","createLeaveDialogOpen","_onRenderGroupHeader","GroupHeader","selectedUsers","columnNames","filterType","responsive","submitButton","groupProps","showEmptyGroups","onRenderHeader","isAllGroupsCollapsed","inheritedFromCompany","values","valueOf","parseFloat","quotaType","Annual","isCummulative","annuallyResets","includeNonWorkingrDays","leaveOverlapsOtherLeaves","UserLeaves","RulesManagement","companyRule","VariableShiftSchedule","filteredScheduledType","refreshParent","companyShiftType","faceRecognitionEnabled","userid","dates","updateSchedule","mutatabledates","getUserSchedule","weekStartEndHoursAndMinutes","schedule","scheduleId","handleDelete","deletedId","rej","ifExist","dayTimings","weekschedule","ChangeHeaders","nodes","tagName","AddUsers","fetchCompanies","fetchCountries","fetchRoles","fetchBranchesAndDepartments","lastSelectedCompany","addUser","shortid","generate","weekends","addUserFromXlsx","userArr","dpt","weekendIds","alreadyAvailable","charAt","toUpperCase","goBack","addBranches","branchesObjs","branchesResult","addDepartments","dpts","dptsObjs","departmentsResult","onXlsxInputChange","reader","FileReader","onload","evt","wb","XLSX","wsname","SheetNames","ws","Sheets","sheet_to_csv","FS","lines","line","readAsBinaryString","DetailsList","formatDate","AddUser","flexWrap","OnDemandNotifications","imageInputRef","currentCompany","usersCountPerCompany","reduce","row","sendNotification","checkBox","showImageInput","onCheck","StyledTableCell","styled","TableCell","tableCellClasses","head","common","white","StyledTableRow","TableRow","ischecked","TableContainer","Paper","Table","stickyHeader","TableHead","TableBody","scope","sendEmail","setCompanyName","planId","subscriptionPlanView","plans","rolesRes","websiteLink","rolesMaxUsers","validateInputs","addOrUpdate","alertVisible","Number","rolesUsersAvailable","space","Label","onChangeComplete","hex","r","g","sqrt","lightOrDark","CompanyLeaves","HolidaysConfig","holidaysCount","holidayConfigInputList","holidaysConfigPayload","currentHoliday","holidayConfig","holidayId","inputItem","holidaysInput","holidayInputError","holidayInputList","createHolidayDialogOpen","defaultDate","dateParsed","headerAction","AddIcon","$i","splice","validateOnFocusOut","v","layoutMode","DetailsListLayoutMode","justified","CompanyHolidays","companyRules","timesheetCreationDay","disableAllNotifications","shiftFlowRuleType","leavesApprovalLimitedToSupervisor","triggerOvertimeVerificationOn","ShiftWorkingHoursFullfiled","companyid","CompanyTabs","AddOrganization","Notifications","attachmentButtonOnClick","approveButtonOnClick","rejectButtonOnClick","undoButtonOnClick","haveActionsAccessOverMyLeaves","assignedLeaves","myLeaves","MyRequests","leaves","requests","RequestsAssignedToUser","selectedLeaveType","leaveStatuses","Requests","FirstName","Reports","gridItemStyle","iconStyle","marginRight","Signuptrial","valid","String","buttonsDisabled","trialSubmited","industry","reference","activeStep","showSumitTexts","pleaseSpecifyVisible","baseReference","specifiedReference","onLoad","PrivacyAndPolicy","getStatuses","getPriorities","getRequest","addRequest","AddRequest","priorities","CompanyId","assignedUsers","expectedClosedDate","expectedDate","requestedById","priorityId","minDate","placeHolder","multiSelect","selectedKeys","Widget","Shared","downloadFile","LeavesBalanceReport","invalidURL","reportInput","parameters","keyValuePair","leaveTypeIds","showSupervisor","ReportsAPI","UsersStatusesReport","dateToSplit","dateFromSplit","ClockingsReport","ShiftsReport","hideBreaks","LeavesReport","OvertimeReport","LeavesBalance","usersRequest","unshift","selectedUser","ReportsApi","dateFrom","dateTo","shiftsPayload","currentUser","shiftsCountPerUser","firstUser","totalDurations","totalWorkingDuration","totalBreaksDuration","totalOvertimeDuration","exportReport","onDateChange","timeSelected","asHours","overtimeDuration","filteredList","allUsersList","Spinner","ExcelColorIcon","FilesPdfColoredIcon","hasNextPage","hasPreviousPage","nextPage","previousPage","Trail","Children","toArray","trail","useTrail","mass","tension","friction","trailsText","ReportsFilter","users_","onChangeUser","clearAllUsers","setShowFilters","selectedCountries","onChangeCountry","selectedCountryNames","clearAllCountries","selectedBranches","onChangeBranches","selectedBranchNames","clearAllBranches","selectedDepartments","onChangeDepartments","selectedDepartmentNames","clearAllDepartments","setSearchMethod","Tooltip","FormControl","RadioGroup","FormControlLabel","control","Radio","WindowMinimizeIcon","iconPosition","UsersStatuses","setColumns","abs","diffDays","svgIconStyle","findResult","dateRef","clockInTimes","clockOutTimes","leaveRequestView","Available","Abscent","Weekend","WorkingHoursNotFulfilled","HalfDayLeave","allCountriesList","names","selectedCountry","getBranchesDepartment","branchesRequest","departmentsRequest","branchNames","departmentNames","getBranchesByDepartment","countriesRequest","currentUserIndex","userStatus","totalWorkHours","overtimeHours","loggedInUser","ANDOR","selectedBrancheNames","allBranchesList","allDepartmentsList","selectedDep","onChangeBranch","clearAllDepartment","Clockings","clockingsPayload","currentDate","toISOString","group","Shifts","columnNamesWithBreak","columnNamesWithOutBreak","columnsWithBreak","columnsWithOutBreak","leavesPayload","leavesCountPerUser","currentlyUnavailable","supervisor","attachementsCount","Overtime","Badge","badge","zIndex","NotificationBell","fluentUINorthStarTheme","colorScheme","foreground","backgroundHover","foregroundHover","backgroundActive","foregroundActive","backgroundPressed","foregroundPressed","componentVariables","inputFocusBorderColor","TextArea","borderColorFocus","MenuItemWrapper","pointingIndicatorBackgroundColor","borderColor","borderColorHover","checkedBorderColor","checkedBackground","checkedBackgroundHover","fluentUITheme","themePrimary","themeLighterAlt","materialUITheme","createTheme","typography","Dashboard","timer","iso","dashboardTitle","poolUsers","countryUsers","fileType","ratio","Card","Header","Boolean","setScheduledShift","getScheduledShift","removeScheduledShift","getuserinfo","setfilters","employees","fetchShifts","fetchUsers","rules","newEmployee","jobTitle","prevState","validateDate","dateofnow","utcOffset","upcommingshifts","copyPreviousWeek","eventid","firstChild","lastChild","textContent","fitted","availabilityStatusDialogOpen","setAvailabilityStatusDialogOpen","store","Content","MobxReact","useHistory","navBarItems","languagesAllowed","companyLocales","languagesDropDown","lang","langName","notificationsMenu","dimissAll","loggedOutNavBarItems","navBarSideItems","EditIcon","LockIcon","applyTo","Provider","themes","mergeThemes","teamsTheme","I18nextProvider","exact","SignupTrial","PrivacyPolicy","LeavesAndHolidays","OnDemandNotification","UserDetails","Maps","LeavesBalanceReportExport","UsersStatusesReportExport","ClockingsReportExport","LeavesReportExport","ShiftsReportExport","OvertimeReportExport","hostname","initializeIcons","rootElement","createRoot","render","fallback","App","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.9fcda5ae.chunk.js","sourcesContent":["import { useEffect, useState } from \"react\";\r\n\r\nexport type MediaQueryWidth = \"576\" | \"765\" | \"992\" | \"1200\";\r\n\r\nexport const useMediaQuery = (query: string) => {\r\n const mediaMatch = window.matchMedia(query);\r\n const [matches, setMatches] = useState(mediaMatch.matches);\r\n\r\n useEffect(() => {\r\n const handler = (e: MediaQueryListEvent) => setMatches(e.matches);\r\n mediaMatch.addListener(handler);\r\n return () => mediaMatch.removeListener(handler);\r\n });\r\n return matches;\r\n};\r\n\r\nexport const useMaxWidth = (num: MediaQueryWidth | number) => useMediaQuery(`(max-width:${num}px)`);\r\n\r\nexport const useMinWidth = (num: MediaQueryWidth | number) => useMediaQuery(`(min-width:${num}px)`);\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Box, Divider, Flex, MenuItemProps, FlexItem, MenuButton, Button, CloseIcon, MenuIcon\r\n} from \"@fluentui/react-northstar\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport AnimateHeight from \"react-animate-height\";\r\nimport { useMinWidth } from \"../../hooks/media-query\";\r\n//import \"./index.scss\";\r\n\r\nconst center = { display: \"flex\", alignItems: \"center\" };\r\n\r\nexport type NavbarProps = {\r\n title?: string;\r\n logo?: string;\r\n items?: NavbarItemProps[];\r\n sideItems?: NavbarItemProps[];\r\n primaryColor?: string;\r\n};\r\n\r\nexport type NavbarItemProps = {\r\n id: string;\r\n to?: string;\r\n content: JSX.Element | string;\r\n menu?: MenuItemProps[];\r\n onClick?: () => void;\r\n primaryColor?: string\r\n};\r\n\r\nexport function NavbarItem({ id, to, content, menu, onClick, selected, primaryColor }:\r\n NavbarItemProps & { selected?: boolean }) {\r\n if (to) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {content}\r\n \r\n )} menu={menu} />\r\n );\r\n}\r\n\r\nfunction Navbar({ items, sideItems, logo, title, history, primaryColor }: NavbarProps & { history: any }) {\r\n\r\n const lg = useMinWidth(\"1200\");\r\n const [expended, setExpended] = useState(false);\r\n const [selectedIndex, setSelectedIndex] = useState(0);\r\n\r\n const navbarItemCallback = (item: NavbarItemProps, history?: any, i?: number) => () => {\r\n if (item.onClick) {\r\n item.onClick();\r\n }\r\n if (item.to) {\r\n history.push(item.to);\r\n }\r\n setExpended(false);\r\n if (i !== undefined) setSelectedIndex(i); else setSelectedIndex(0);\r\n };\r\n\r\n const brand = (\r\n { setSelectedIndex(0) }}>\r\n \r\n {logo && {title}}\r\n {title && {title}}\r\n \r\n \r\n );\r\n \r\n if (items){\r\n for (var i = 0; i < items.length; i++) {\r\n if (history.location.pathname.includes(items[i].id)) {\r\n if(selectedIndex !== i){\r\n setSelectedIndex(i);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (lg) {\r\n return (\r\n ({ backgroundColor: vars.theme.siteVariables.colors.grey[50] })}>\r\n \r\n {brand}\r\n \r\n {items && items.map((item, i) => { \r\n if (item.menu && item.menu.length > 0){\r\n item.menu = item.menu.map((subItem, subI) => {\r\n var subItemNav : NavbarItemProps = {...subItem.variables}\r\n subI = i + (subI/10);\r\n subItem.onClick = () => {navbarItemCallback(subItemNav, history, i)()}\r\n return subItem;\r\n })\r\n }\r\n return ()\r\n }\r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n {sideItems && sideItems.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n ({ backgroundColor: vars.theme.siteVariables.colors.grey[50] })}>\r\n \r\n \r\n {brand}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {items && items.length > 0 && }\r\n {items && items.map((item, i) => {\r\n if (item.menu && item.menu.length > 0){\r\n item.menu = item.menu.map((subItem, subI) => {\r\n var subItemNav : NavbarItemProps = {...subItem.variables}\r\n subI = i + (subI/10);\r\n subItem.onClick = () => {navbarItemCallback(subItemNav, history, i)()}\r\n return subItem;\r\n })\r\n }\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n )}\r\n {sideItems && sideItems.length && }\r\n {sideItems && sideItems.map((item) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRouter(Navbar as any) as unknown as React.FunctionComponent;","import { Notification } from \"../models\";\r\nimport moment from \"moment\";\r\n\r\nexport function validateEmail(email: string) {\r\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n}\r\n\r\nexport function getMonday(d: Date) {\r\n d = new Date(d);\r\n const day = d.getDay();\r\n const monday = d.getDate() - day + (day === 0 ? -6 : 1); // adjust when day is sunday\r\n return new Date(d.setDate(monday));\r\n}\r\n\r\nexport function getSunday(d: Date) {\r\n d = new Date(d);\r\n const day = d.getDay();\r\n const sunday = d.getDate() - day; // adjust when day is sunday\r\n return new Date(d.setDate(sunday));\r\n}\r\n\r\nexport function getInitialDay(d: Date, isGCC: boolean = false) {\r\n return isGCC ? getSunday(d) : getMonday(d)\r\n}\r\n\r\nexport function getYearMonthPickerFromMonth() {\r\n const yearMonthPickerFromMonth = new Date();\r\n yearMonthPickerFromMonth.setMonth(0);\r\n yearMonthPickerFromMonth.setFullYear(new Date().getFullYear() - 8);\r\n return yearMonthPickerFromMonth;\r\n}\r\n\r\nexport function getYearMonthPickerToMonth() {\r\n const yearMonthPickerToMonth = new Date();\r\n yearMonthPickerToMonth.setMonth(12);\r\n yearMonthPickerToMonth.setFullYear(new Date().getFullYear() + 1);\r\n return yearMonthPickerToMonth;\r\n}\r\n\r\nexport function getFormattedDuration(seconds: number) {\r\n const secs = (seconds) % 60 | 0;\r\n const minutes = (seconds / 60) % 60 | 0;\r\n const hours = (seconds / 3600) | 0;\r\n return `${hours.toString().padStart(2, \"0\")}`\r\n + `:${minutes.toString().padStart(2, \"0\")}:${secs.toString().padStart(2, \"0\")}`;\r\n}\r\n\r\nexport function getDurationFormatedAgo(duration: string) {\r\n var res : any = moment.duration(duration).humanize();\r\n\r\n return res.toString();\r\n}\r\n\r\nexport function copyAndSort(items: T[], columnKey: string, isSortedDescending?: boolean): T[] {\r\n const key = columnKey as keyof T;\r\n return items.slice(0).sort((a: T, b: T) => {\r\n\r\n if (typeof (b[key]) === \"undefined\") {\r\n return !isSortedDescending ? 1 : -1;\r\n } if (typeof (a[key]) === \"undefined\") {\r\n return !isSortedDescending ? -1 : 1;\r\n }\r\n\r\n if (typeof (a[key]) === \"string\" && typeof (b[key]) === \"string\") {\r\n return !isSortedDescending\r\n ? (a[key] as unknown as string).localeCompare(b[key] as unknown as string)\r\n : (b[key] as unknown as string).localeCompare(a[key] as unknown as string);\r\n }\r\n return ((isSortedDescending\r\n ? a[key] < b[key] : a[key] > b[key]) ? 1 : -1);\r\n });\r\n}\r\n\r\nexport function isNullOrWhiteSpace(str?: string) {\r\n if (str) {\r\n str = str.replace(/^\\s+/, '').replace(/\\s+$/, '');\r\n return str === '';\r\n }\r\n return true;\r\n}\r\n\r\nexport function createUrl(notification: Notification) {\r\n var url = notification.notificationUrl;\r\n if (!url)\r\n return undefined\r\n\r\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\r\n return url;\r\n }\r\n\r\n // switch (notification.notificationTypeId) {\r\n // case NotificationTypeId.Timesheet:\r\n // return `/timesheet/${url}`;\r\n // }\r\n return undefined;\r\n}\r\n\r\n// ref: https://github.com/PimpTrizkit/PJs/wiki/12.-Shade,-Blend-and-Convert-a-Web-Color-(pSBC.js)\r\nexport function shadeBlend(p: any,c0: any,c1: any) {\r\n var n=p<0?p*-1:p,u=Math.round,w=parseInt;\r\n var f: any,t: any\r\n if(c0.length>7){\r\n f=c0.split(\",\")\r\n t=(c1?c1:p<0?\"rgb(0,0,0)\":\"rgb(255,255,255)\").split(\",\")\r\n var R=w(f[0].slice(4)),G=w(f[1]),B=w(f[2]);\r\n return \"rgb(\"+(u((w(t[0].slice(4))-R)*n)+R)+\",\"+(u((w(t[1])-G)*n)+G)+\",\"+(u((w(t[2])-B)*n)+B)+\")\"\r\n }else{\r\n f=w(c0.slice(1),16)\r\n t=w((c1?c1:p<0?\"#000000\":\"#FFFFFF\").slice(1),16)\r\n // eslint-disable-next-line\r\n var R1=f>>16,G1=f>>8&0x00FF,B1=f&0x0000FF;\r\n // eslint-disable-next-line\r\n return \"#\"+(0x1000000+(u(((t>>16)-R1)*n)+R1)*0x10000+(u(((t>>8&0x00FF)-G1)*n)+G1)*0x100+(u(((t&0x0000FF)-B1)*n)+B1)).toString(16).slice(1)\r\n }\r\n}\r\n\r\nexport function isLocInsideWorkplaces(currentLocation: any, workplaces: any[]) {\r\n var inside = false;\r\n workplaces.some(workplace => {\r\n inside = isMarkerInsidePolygon(currentLocation, workplace.bounds)\r\n return inside;\r\n })\r\n return inside;\r\n}\r\n\r\nexport function isMarkerInsidePolygon(marker : any, poly: any) {\r\n var polyPoints = poly; \r\n var x = marker.lat, y = marker.lng;\r\n\r\n var inside = false;\r\n for (var i = 0, j = polyPoints.length - 1; i < polyPoints.length; j = i++) {\r\n var xi = polyPoints[i].lat, yi = polyPoints[i].lng;\r\n var xj = polyPoints[j].lat, yj = polyPoints[j].lng;\r\n\r\n var intersect = ((yi > y) !== (yj > y))\r\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\r\n if (intersect) inside = !inside;\r\n }\r\n\r\n return inside;\r\n};\r\n\r\nexport function lightOrDark(color : any) {\r\n\r\n // Variables for red, green, blue values\r\n var r, g, b, hsp;\r\n \r\n // Check the format of the color, HEX or RGB?\r\n if (color.match(/^rgb/)) {\r\n\r\n // If RGB --> store the red, green, blue values in separate variables\r\n color = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\r\n \r\n r = color[1];\r\n g = color[2];\r\n b = color[3];\r\n } \r\n else {\r\n \r\n // If hex --> Convert it to RGB: http://gist.github.com/983661\r\n color = +(\"0x\" + color.slice(1).replace( \r\n color.length < 5 && /./g, '$&$&'));\r\n\r\n r = color >> 16;\r\n // eslint-disable-next-line\r\n g = color >> 8 & 255;\r\n b = color & 255;\r\n }\r\n \r\n // HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html\r\n hsp = Math.sqrt(\r\n 0.299 * (r * r) +\r\n 0.587 * (g * g) +\r\n 0.114 * (b * b)\r\n );\r\n\r\n // Using the HSP value, determine whether the color is light or dark\r\n if (hsp>127.5) {\r\n\r\n return 'light';\r\n } \r\n else {\r\n\r\n return 'dark';\r\n }\r\n}","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgClockInIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.6,163.9c-38.1-0.1-66.4-28.6-66.3-66.9c0.1-36.6,30.1-66.4,66.8-66.3c36.8,0.1,66.3,30.1,66.4,67.1 C157.3,127.6,135.7,164.7,90.6,163.9z M90.7,151.4c29.9,0,54.2-24.1,54.2-53.9c0-29.6-24.4-54.1-54-54.2 c-29.5-0.1-54.1,24.5-54.2,54.1C36.6,127.1,60.8,151.4,90.7,151.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121,22.5c11.2-8.2,29.1-6.1,39.7,4.3c11,10.7,13.3,28.4,5,40.5C156.7,46.5,142.1,31.6,121,22.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.7,67.4c-8.2-12.6-6.1-29.2,4.4-40c10.5-10.8,27.3-13.2,40.5-5.1C39.8,31.5,24.8,46.2,15.7,67.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116,70.8c3.5,3.7,6.2,6.3,8.5,8.8c-14.4,14.1-28.8,28.3-43.6,42.9c-6.9-6.6-15-14.3-23.4-22.3c3.2-2.8,6.1-5.4,9.5-8.3 c4.6,4.3,9.6,8.9,14.5,13.4C93.1,93.9,104.5,82.5,116,70.8z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClockInIcon);\nexport default __webpack_public_path__ + \"static/media/ClockInIcon.3945d0c5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgClockOutIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.9,54.8c-1.3-1.5-2.7-2.9-4.1-4.6c3-2.6,6-5.1,8.4-7.2C77.3,77,112,111.7,146.7,146.4c-2.1,1.8-5,4.5-8.3,7.4 c0.7,0.1,0.2,0.1,0.1,0c-3.2-4.3-5.8-3.8-10.3-0.9C96,174.7,35.5,166.8,25.2,108C22,89.7,26.3,73,37.1,57.9 c0.5-0.7,1.1-1.5,1.6-2.2C38.7,55.6,38.7,55.5,38.9,54.8z M122.9,140.2c-25-25-49.9-50-74.9-75c-15.2,17.3-16.6,49.9,5.2,71.1 C74.9,157.2,107.5,154.5,122.9,140.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.1,40.4c23.6-14.9,57.7-12.7,80.2,9.5c23.3,22.9,25.1,57.1,10.6,81.5c-2.6-2.9-5.2-5.4-7.3-8.3c-0.7-1.1-0.6-3.4,0-4.7 c12.2-30.4-4-63.8-35.6-72.7c-11.3-3.2-22.6-2.7-33.5,1.7c-3.9,1.6-6.5,1.5-9-1.8C61.2,43.6,59.3,42.2,57.1,40.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.9,22.5c12.5-8.4,30.4-5.7,40.9,5.5c10.2,10.8,12.1,28.6,3.9,39.2C156.7,46.4,141.9,31.6,120.9,22.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8,67.4c-8.2-12.5-6.1-29.2,4.4-40.1c10.5-10.7,27.4-13,40.4-5C39.8,31.6,24.8,46.2,15.8,67.4z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClockOutIcon);\nexport default __webpack_public_path__ + \"static/media/ClockOutIcon.391ba589.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgBreakInIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.7,78c11.5,0,22.7,0,34.2,0c0,6.1,0.1,12-0.1,17.8c0,0.6-0.6,1.3-1.1,1.8c-2.2,2.2-4.4,4.2-6.5,6.6 c-0.7,0.8-1.3,2.2-1.4,3.3c-0.1,5.7-0.1,11.6-0.1,17.3c0,1.1-0.1,2.3,1.6,2.3c8.7-0.1,17.3,0,26.2,0c0.1-0.8,0.2-1.4,0.2-2.2 c0-5.9,0.1-11.7-0.1-17.6c0-1.1-0.6-2.3-1.3-3.1c-2.2-2.4-4.5-4.5-6.7-6.9c-0.5-0.5-1.1-1.3-1.1-2c-0.1-5.7-0.1-11.4-0.1-17.2 c0.8-0.1,1.6-0.2,2.3-0.2c10,0,20.2,0.1,30.4-0.1c2,0,2.6,0.6,2.6,2.6c-0.1,5.6-0.1,11.4-0.1,17.3c1.2,0.1,2.3,0.2,3.5,0.4 c9.8,0.8,16.9,9,16.6,19c-0.2,9.7-8,17.5-17.8,17.6c-3.3,0.1-6.7-0.1-10,0.1c-1,0.1-2.5,0.8-2.8,1.6c-1.6,5.4-5.1,6.2-10.3,6.1 c-14.2-0.4-28.5-0.1-42.6-0.1c-1.6,0-2.4-0.5-3.1-1.9c-6.6-12.4-10.6-25.8-11.8-39.8c-0.6-6.7-0.6-13.4-0.8-20.2 C25.5,79.7,25.5,78.8,25.7,78z M99.1,125.6c2.4,0,4.8,0,7.3,0c6.2-0.1,10.2-4.4,9.7-10.5c-0.4-5.3-5.7-9.1-11.2-8.3 c-0.6,0.1-1.3,0.6-1.4,1.2C102,113.6,100.5,119.5,99.1,125.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.8,73c-17.2,0-31.1-13.8-31.1-31.1c-0.1-17.3,13.9-31.2,31.2-31.1c17.2,0.1,31,13.9,31,31.2 C170.9,59.1,157,73,139.8,73z M134.6,55.5c3.3-2.8,6.5-5.4,9.6-8c0.5-0.4,0.7-1.1,0.8-1.6c0.1-5.4,0.1-10.8,0-16 c0-0.5-0.7-1.3-1.1-1.4c-2.9-0.1-5.6-0.1-8.7-0.1c0,4.3,0.1,8.3-0.1,12.2c-0.1,1.1-0.6,2.3-1.4,3c-1.6,1.6-3.5,3-5.4,4.5 C130.4,50.6,132.4,52.9,134.6,55.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.6,152.2c-3.3,8.7-9.1,14.7-18.1,17.5c-2,0.6-4.2,1.1-6.3,1.1c-23.2,0.1-46.4,0.1-69.6,0c-10.6-0.1-21.2-8.3-24.2-18.4 C50.8,152.2,90.1,152.2,129.6,152.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.4,44.6c2.9,0,5.6,0,8.5,0c0.1,0.5,0.2,0.7,0.2,1.1c-0.5,3.2,0.7,5.7,2.9,8c1.8,1.8,2.3,3.7,2,6.1 c-0.1,2.2-0.1,4.3-0.1,6.6c-3.1,0-5.7,0-9,0c0-1.6,0.1-3.2-0.1-4.9c-0.1-1.2-0.4-2.8-1.2-3.5C45,54.3,44.6,49.8,45.4,44.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.3,66.3c-3.1,0-5.7,0-8.7,0c-0.1-0.7-0.4-1.4-0.2-2.2c0.5-3.3-0.4-6.2-2.9-8.5c-3.3-3.1-1.7-7.2-2.2-11c3,0,5.7,0,8.6,0 c0.1,0.1,0.4,0.4,0.2,0.6c-0.6,3.8,1.3,6.5,3.6,9.2c0.8,1.1,1.3,2.8,1.4,4.1C81.5,61.1,81.3,63.7,81.3,66.3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69,117.2c-2.4,0-4.7,0.1-7.1-0.1c-0.4,0-1.1-0.7-1.2-1.1c-0.5-4.2-0.4-8.3,4.2-10.3C69.9,108,69.3,112.5,69,117.2z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBreakInIcon);\nexport default __webpack_public_path__ + \"static/media/BreakInIcon.480ff4ab.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgBreakOutIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8,88.5c6.6,2.2,12.8,4.2,19,6.3c18.4,6.1,36.9,12.3,55.4,18.5c3.8,1.2,7.3,1.2,11.1,0c23.7-8,47.4-15.8,71.1-23.7 c1-0.3,1.9-0.5,3.1-0.9c0.1,0.9,0.1,1.5,0.1,2c0,16.2,0.1,32.3,0,48.4c0,8.7-5.7,15.7-14.1,17.8c-1.1,0.2-2.3,0.3-3.3,0.3 c-41.6,0-83.2,0.1-124.9,0c-8.7,0-15.4-5.8-17.2-14.3c-0.2-1.1-0.3-2.3-0.3-3.3c0-16.4,0-32.8,0-49.1 C10.8,89.9,10.8,89.4,10.8,88.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.2,44c5.6,0,11.2-0.1,16.8,0c1.7,0,2.3-0.5,2.2-2.2c-0.1-1.7-0.1-3.3,0-5.1c0.1-6.9,5.4-12.5,12.3-12.6 c9.4-0.2,18.8-0.2,28.1,0c7,0.1,12.2,5.7,12.4,12.8c0,1.6,0.1,3.2,0,4.8c-0.1,1.8,0.6,2.3,2.4,2.3c10.9-0.1,21.9-0.1,32.8,0 c7,0.1,12.7,3.1,16.1,9.4c1.3,2.5,2,5.4,2.3,8.2c0.4,4.6,0.1,9.4,0.1,13.9c0,1.5-0.5,2-1.9,2.5c-25.1,8.4-50.3,16.8-75.4,25 c-1.6,0.5-3.8,0.4-5.4-0.1c-24.9-8.2-50-16.6-75.1-24.9c-1.5-0.5-2-1.1-1.9-2.7c0.2-5.7-0.3-11.4,0.5-17 c1.4-8.5,8.8-14.2,17.5-14.3C34.3,44,39.8,44,45.2,44z M90.8,37c-2.9,0-5.9-0.1-8.8,0c-5.5,0.1-4.5-1.1-4.7,4.8 c-0.1,1.7,0.5,2.2,2.2,2.2c6.8-0.1,13.5,0,20.2,0c5.2,0,5.1,0,4.8-5.3c-0.1-1.4-0.5-1.8-1.8-1.8C98.7,37,94.7,37,90.8,37z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBreakOutIcon);\nexport default __webpack_public_path__ + \"static/media/BreakOutIcon.5c40c4ff.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAboutIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M169.9,90.2c-0.1,44.1-36.2,79.8-80.6,79.6C45.6,169.7,10,133.6,10,89.7c0.1-43.9,36.4-79.8,80.7-79.6 C134.4,10.2,170.1,46.3,169.9,90.2z M23.4,90c0,36.7,30,66.6,66.8,66.6c36.4,0,66.4-29.9,66.5-66.3c0.1-36.9-29.7-67-66.4-67.1 C53.5,23.4,23.4,53.3,23.4,90z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.8,107.1c0,6.8-0.1,13.5,0,20.3c0.1,4.7-2.1,8-6.7,8.1c-4.5,0-6.9-3-6.9-7.9c0.1-13.5,0-27.1,0-40.5 c0-4.6,1.7-7.9,6.7-8c5.1,0,6.9,3,6.8,7.8C96.7,93.5,96.8,100.3,96.8,107.1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.6,51.6c-1.1,6.2-6.3,11.4-10.8,10.8c-5.2-0.6-8.5-4-9-9.1c-0.6-4.4,5.3-10.3,9.5-9C94.1,45.7,97.2,49.1,100.6,51.6z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAboutIcon);\nexport default __webpack_public_path__ + \"static/media/AboutIcon.e446eaa5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgHolidaysIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.4,29.7c3.4,10.6,5.4,21.2,10.5,30C33.9,63.3,43,64,49,64c14.5,0,16.8-4.1,19.9-34.3c13.8,0,27.6,0,43.1,0 c-1.3,18.5-1.3,37.8,26.1,34.6c21.5-2.6,16.6-20.2,17.9-34.7c8.6,1.4,11.8,6.9,11.8,14.4c0.1,36.9,0.1,73.9,0,111.1 c0,8.9-5.6,14.9-14.5,14.9c-42.3,0.1-84.5,0.1-126.9,0c-8.8,0-14.1-6.3-14.1-15.3c-0.1-36.9-0.1-73.9,0-111.1 C12.3,36,16.1,31.4,21.4,29.7z M89.6,155.7c16.2,0,32.2,0,48.5,0c10.9,0,12.2-1.4,12.3-12.4c0-16.4-0.1-33,0.1-49.5 c0.1-7.5-3-11-10.2-11c-33.5,0-67.2,0-100.7,0c-6.7,0-10.1,3.1-10.1,10.5c0.1,17.3,0.1,34.8,0,52.3c-0.1,7.6,3.4,10.6,10.6,10.5 C56.6,155.7,73,155.7,89.6,155.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.1,30.9c0,3.4-0.1,6.9,0,10.2c0.4,6.7-0.8,11.1-9.3,11.1c-8.4,0-10.9-3.7-10.5-11.4c0.4-7.5,0.1-14.9,0-22.3 c0-7.3,4.5-8.4,10.5-8.4c6.2,0,9.6,1.8,9.2,8.6C55.8,22.8,56.1,27,56.1,30.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.9,30.9c0-3.4,0.1-6.7,0-10.2c-0.4-6.3,0.8-10.6,8.8-10.6c7.6,0,10.9,2.8,10.6,10.2c-0.1,7.5-0.1,14.8,0,22.3 c0.1,7.1-3.1,9.7-10.2,9.7c-6.9,0-9.7-2.6-9.2-9.3C124.2,39,123.9,35,123.9,30.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.5,96.4c5.4,0,10.2,0,16.1,0c0,5.6,0,11,0,16.2C49.3,115.9,47.8,114.5,50.5,96.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.4,96.5c7.3,0,12.3,0,18.9,0c-0.8,6,0.1,12.4-2.6,16.1c-1.8,2.5-11.4,2.6-13.5,0.1C80.4,109.2,81.4,102.7,80.4,96.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.9,96.5c0,5.8,0,10.9,0,15.8c-17.2,3.5-18.9,1.8-16.2-15.8C118.7,96.5,123.9,96.5,129.9,96.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.7,128.2c6.7,0,11.8,0,19,0c-0.9,6-0.5,12.3-3.4,16.4c-1.4,2.1-11.1,2.1-12.7-0.1C49,140.5,49.7,134.2,48.7,128.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.6,128.2c-0.9,6.2,0,12.7-3,16.2c-1.8,2.2-11.4,2.2-13.5-0.1c-2.8-3.5-1.8-10.1-2.6-16.1 C87.2,128.2,92.2,128.2,99.6,128.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.6,128.1c7.6,0,12.7,0,19.4,0c-0.8,6,0,12.3-2.6,16.2c-1.4,2.2-10.9,2.5-12.7,0.1C112.8,140.9,112.9,134.6,111.6,128.1 z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHolidaysIcon);\nexport default __webpack_public_path__ + \"static/media/HolidaysIcon.667cd095.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgVacationsViewIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M131.5,16c0.7-2,1.5-3.9,2.3-5.9c2.9,1,5.7,2.1,8.7,3.2c-0.7,2.1-1.4,4-2.1,6c15.5,7.9,25.3,20.3,28.6,37.5 c2.2,11,0.4,21.7-4.3,32.1c-1-0.6-2.1-1-3-1.7c-8.1-4.8-16.7-8-25.9-9.9c-1.4-0.2-2.6-1-3.7-1.8c-3.2-2.1-6.4-4.3-9.8-6.6 c-7.1,19.5-13.9,38.4-20.9,57.7c19.8,1.9,38,7.7,55,17.8c-3.5,2.3-7,4.6-10.5,6.5c-2.3,1.1-4.6,0.5-6.8-0.8 c-4.3-2.4-8.5-5.3-13.1-6.7c-10-2.9-19.7-1.5-28.4,4.4c-0.6,0.4-1.4,0.9-2,1.4c-4.6,3.2-6.4,3.2-11-0.1c-6-4.4-12.8-6.9-20.3-7 c-7.6-0.1-14.6,1.9-20.8,6.2c-1,0.7-2.2,1.9-3.4,2.2c-2,0.4-4.4,0.9-6.1,0.1c-3.5-1.6-6.7-4.1-10.4-6.5c5.4-2.7,10.6-5.4,15.9-7.7 c15.8-6.8,32.5-10.3,49.8-10.3c2.1,0,2.9-0.7,3.6-2.7c6.6-18.2,13.2-36.5,19.9-54.8c0.2-0.7,0.5-1.5,0.9-2.8c-3.4-0.4-6.8-1-10-1.1 c-2.6-0.1-4.9-0.7-7.3-2c-8.1-4.5-17-7.1-26.1-8.6c-0.5-0.1-1-0.2-1.6-0.4C73.8,29.1,100.9,8.3,131.5,16z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2,160.6c0-3.3,0-6.2,0-9.4c5.2-0.1,9.8,1.5,14.1,4.3c2.7,1.8,5.6,3.6,8.6,4.6c4.8,1.5,9.4,0.4,13.4-2.6 c4-2.9,8.1-5.3,13.2-5.9c7-0.9,13.2,0.4,18.8,4.6c4.5,3.4,9.4,5.6,14.9,4.1c3.2-0.9,6.2-2.7,9.1-4.6c7.2-4.6,14.8-5.6,22.7-2.9 c3,1,5.8,3,8.5,4.8c6.5,4.3,13.1,4.4,19.5-0.1c4.3-2.9,8.6-5.5,13.9-5.9c0.8-0.1,1.8-0.1,2.7-0.2c0,3.1,0,6.1,0,9.5 c-4.8-0.2-8.2,2.3-11.8,4.7c-9.3,6.2-20,6.2-29.3,0c-3.1-2.1-5.9-4.3-9.9-4.7c-4.8-0.4-9,0.7-12.8,3.6c-4.7,3.6-10,5.6-16,5.6 c-5.2-0.1-10.1-1.5-14.5-4.4c-3.1-2.2-6.2-4.5-10.3-4.9c-5.1-0.5-9.5,1.2-13.3,4.3c-4.6,3.4-9.7,5.1-15.4,5.1 c-5.2-0.1-9.9-1.5-14.3-4.4C18.7,163,15,160.3,10.2,160.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.3,111.4c-3.5,2.3-7.1,4.4-10.8,6.8c0-4.4,0-8.5,0-12.7c-4.1,0-8.1,0-12.6,0c2.3-3.6,4.4-7.1,6.8-10.8 c-3.9-2.1-7.4-4-11.5-6c4-2.1,7.6-4.1,11.5-6c-2.3-3.5-4.4-7.1-6.8-10.8c4.4,0,8.4,0,12.6,0c0-4.1,0-8.2,0-12.6 c3.5,2.3,7.1,4.4,10.8,6.8c2-3.7,4-7.4,6-11.5c2.1,4,4.1,7.6,6,11.5c3.6-2.3,7.2-4.4,10.8-6.8c0,4.4,0,8.4,0,12.6 c4.1,0,8.1,0,12.6,0c-2.3,3.7-4.5,7.1-6.8,10.7c3.7,2.1,7.5,4,11.5,6.1c-4,2.1-7.6,4.1-11.5,6c2.3,3.5,4.4,7.1,6.8,10.8 c-4.4,0-8.4,0-12.6,0c0,4.1,0,8.1,0,12.6c-3.5-2.3-7.1-4.4-10.8-6.8c-2,3.7-4,7.4-6,11.5C42.2,118.9,40.2,115.3,38.3,111.4z M44.4,105.8c9.4,0,17.1-7.7,17.2-17.1c0.1-9.5-7.7-17.3-17.3-17.3c-9.5,0-17.1,7.6-17.2,17.1C27.1,98,34.9,105.8,44.4,105.8z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVacationsViewIcon);\nexport default __webpack_public_path__ + \"static/media/VacationsViewIcon.ac9a6bc3.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAttachIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.2,26c0-1.7-0.1-3,0-4.3c0.8-6.1,5.5-10.8,11.8-11.5c2.5-0.3,5.2-0.3,7.8-0.1c6.8,0.5,11.5,5.4,12.3,12.2 c0.1,1.1,0.1,2.2,0.2,3.6c0.8,0,1.7,0,2.5,0c11,0,21.9,0,32.9,0c1.9,0,3.5,0.5,4.9,1.9c9,8.4,18.2,16.5,27.3,24.9 c1,0.8,1.6,2.4,1.6,3.6c0.1,33.4,0.1,66.8,0,100.2c0,7.7-5.7,13.5-13.6,13.5c-30.1,0-60.2,0-90.3,0c-7.9,0-13.7-5.6-13.7-13.6 c0-38.9,0-77.9,0-116.7c0-7.9,5.7-13.6,13.6-13.8C45.4,26,46.2,26,47.2,26z M65.6,31.4c-0.8,0-1.5-0.1-2.2-0.1 c-5.9,0-11.9,0-17.8,0c-6,0-9.2,3.2-9.2,9.2c0,38.3,0,76.8,0,115.1c0,6,3.2,9.1,9.2,9.1c29.3,0,58.8,0,88.1,0 c6.4,0,9.4-3.1,9.4-9.4c0-31.6,0-63,0-94.6c0-0.8,0-1.7,0-2.8c-1.2,0-2,0-2.9,0c-6,0-12,0-18,0c-5.2,0-8.5-3.3-8.5-8.5 s0-10.4,0-15.7c0-0.8-0.1-1.7-0.1-2.5c-11.7,0-23,0-34.6,0c0,1,0,1.8,0,2.6c0,6.9,0,13.8,0,20.7c-0.1,7.1-4.2,12.6-10.8,13.7 c-2.8,0.4-5.7,0.3-8.5,0.2c-6.9-0.2-12.5-5.7-12.7-12.5c-0.2-5.4,0-10.9,0-16.3c0-2,1.1-3.1,3.2-3.1s4.1,0,6.1,0c3.4,0,4,0.6,4,4 c0,4.8,0,9.5,0,14.5c1.8,0,3.5,0,5.2,0C65.6,47.3,65.6,39.5,65.6,31.4z M52.5,42.1c0,4.8-0.2,9.3,0,13.8c0.2,4.3,3.6,7.4,7.9,7.5 c1.9,0,3.8,0.1,5.7,0c4.1-0.2,7.5-3.3,7.5-7.4c0.1-11,0.1-22.1,0-33.2c0-4.1-3.3-7.2-7.4-7.4c-1.8-0.1-3.5,0-5.2,0 c-6,0-9.4,4.3-8.4,10.5c0.7,0,1.5,0,2.3,0c0-0.5,0-1.1,0.1-1.5c0.1-4.4,2-6.4,6.4-6.4c1.1,0,2.2,0,3.3,0c4.2,0,6.4,2.1,6.4,6.3 c0,10.1,0,20.2,0,30.3c0,1.4-0.4,3.1-1.3,4.1c-2.2,3.1-11.4,3-13.6-0.1c-0.7-1.1-1.1-2.6-1.1-4c-0.1-4.1,0-8.3,0-12.4 C54.1,42.1,53.5,42.1,52.5,42.1z M119.1,34.7c0,5.3,0,10,0,14.5c0,2.5,0.8,3.4,3.4,3.4c4.8,0,9.6,0,14.4,0c0.4,0,0.8-0.1,1.6-0.3 C132.2,46.5,125.9,40.7,119.1,34.7z M60.5,23.5c0.1,1,0.1,1.7,0.2,2.3c1.8,0,3.4,0,5.2,0c0-1-0.1-1.6-0.1-2.3 C63.8,23.5,62.3,23.5,60.5,23.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.8,111.4c12.7,0,25.4,0,38.1,0c0.8,0,1.8-0.2,2.3,0.1c1,0.6,2,1.7,2.1,2.6c0.1,0.7-1.1,1.8-1.9,2.4 c-0.5,0.4-1.5,0.2-2.3,0.2c-25.5,0-51,0-76.5,0c-0.7,0-1.6,0.2-2.1-0.1c-1-0.7-2.1-1.7-2.1-2.6c0-0.8,1.3-1.9,2.2-2.5 c0.5-0.4,1.5-0.1,2.3-0.1C64.5,111.4,77.2,111.4,89.8,111.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90,95.5c12.6,0,25.2,0,37.9,0c0.8,0,1.8-0.2,2.3,0.1c1,0.5,2,1.5,2.1,2.3c0,0.8-1,1.9-1.8,2.6c-0.5,0.4-1.5,0.2-2.2,0.2 c-25.6,0-51.2,0-76.7,0c-0.6,0-1.5,0.2-1.8-0.1c-1-0.7-2.2-1.7-2.3-2.8c-0.3-1.5,1-2.4,2.4-2.5c2.2,0,4.6,0,6.9,0 C67.8,95.5,78.9,95.5,90,95.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.8,132.8c-12.6,0-25.2,0-37.9,0c-0.8,0-1.9,0.2-2.5-0.2c-1-0.5-2-1.6-2-2.4c0-0.8,1.1-1.9,1.9-2.5 c0.4-0.4,1.4-0.2,2.1-0.2c25.7,0,51.5,0,77.2,0c0.7,0,1.8-0.1,2.2,0.3c0.7,0.6,1.6,1.7,1.6,2.5c0,0.8-1.1,1.8-1.9,2.2 c-0.6,0.4-1.7,0.2-2.5,0.2C115.2,132.8,102.5,132.8,89.8,132.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.2,84.7c-9.4,0-19,0-28.4-0.1c-1.1,0-2.3-0.8-3-1.7c-0.4-0.5,0-2,0.5-2.8c0.5-0.5,1.6-0.7,2.4-0.7 c19.2,0,38.3,0,57.5,0c1.8,0,3.2,0.5,3.2,2.6s-1.5,2.8-3.4,2.8C119.5,84.7,109.8,84.7,100.2,84.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.1,143.5c9.3,0,18.6,0,28,0c0.7,0,1.7-0.2,2.1,0.1c0.8,0.6,1.9,1.7,1.9,2.5s-1.2,1.8-2,2.4c-0.4,0.3-1.3,0.1-1.8,0.1 c-18.6,0-37.3,0-55.9,0c-0.5,0-1.1,0-1.7,0c-1.6-0.2-2.8-1.2-2.3-2.6c0.2-1,1.5-1.8,2.5-2.5c0.4-0.3,1.3,0,1.8,0 C60.8,143.5,70,143.5,79.1,143.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M137.9,149.2c0,1,0,1.9,0,2.9c-0.4,4-3.1,6.9-7.1,7.3c-2,0.2-4,0.1-6.1,0c-1.6-0.1-2.8-1-2.6-2.8c0-1.8,1.1-2.5,2.8-2.5 c1.4,0,2.9,0,4.2,0c2.8-0.1,3.5-0.8,3.6-3.6c0-1.4,0-2.8,0-4c0-1.8,0.8-3.2,2.8-3.1c1.8,0,2.5,1.4,2.5,3.1 C138,147.4,138,148.4,137.9,149.2L137.9,149.2z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAttachIcon);\nexport default __webpack_public_path__ + \"static/media/AttachIcon.69e334c1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgTimesheetViewIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34,26c0-2.7-0.1-5.3,0-7.7c0.1-5.3,3-8.2,7.9-8.2c5,0,8,3,8.1,8.4c0.1,2.4,0,4.8,0,7.4c26.6,0,53.1,0,79.9,0 c0-2.6-0.1-5.3,0-7.9c0.2-4.8,3.2-7.8,7.9-7.8c4.7,0,7.8,2.7,8,7.4c0.1,2.7,0,5.6,0,8.6c2.8,0,5.3-0.1,7.8,0 c4.3,0.1,8.2,3.6,8.2,7.8c0.1,12.7,0.1,25.3,0.1,38c-29.9-19.7-59.3-20-85.3,5.5c-22.4,22-24,48.6-10.5,76.7 c-0.8,0.1-1.5,0.1-2.3,0.1c-14.8,0-29.8,0-44.7,0c-6.3,0-9.3-2.9-9.3-9.2c0-36.5,0-73.1,0-109.6c0-6.1,3-9.1,9.2-9.1 C24,26,28.8,26,34,26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122,170c-26.5-0.1-47.9-21.7-47.9-48.2c0.1-26.5,21.8-47.9,48.2-47.8s47.9,21.8,47.7,48.3 C169.8,148.8,148.3,170.2,122,170z M130,114c0-5.6,0.1-10.8,0-16.1c-0.1-4.9-3.2-7.9-8-7.9c-4.7,0-7.8,3-7.9,7.8 c-0.1,8.1-0.1,16.1,0,24.3c0.1,4.8,3,7.8,7.8,7.8c5.4,0.1,10.9,0.1,16.4,0c4.8-0.1,7.8-3.1,7.8-7.9s-3-7.9-7.9-8 C135.5,114,133,114,130,114z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTimesheetViewIcon);\nexport default __webpack_public_path__ + \"static/media/TimesheetViewIcon.638a31cf.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgCircleCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 -1002.4)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#32CD32\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m25 1003.6c-13.112 0-23.781 10.667-23.781 23.779 1.49e-5 13.112 10.669 23.781 23.781 23.781s23.781-10.669 23.781-23.781c-1.5e-5 -13.112-10.669-23.779-23.781-23.779zm0 3.6114c11.16 0 20.168 9.0078 20.168 20.168-1.3e-5 11.16-9.0078 20.17-20.168 20.17-11.16 1e-4 -20.168-9.0097-20.168-20.17 1.27e-5 -11.16 9.0078-20.168 20.168-20.168z\",\n color: \"#000000\",\n colorRendering: \"auto\",\n imageRendering: \"auto\",\n shapeRendering: \"auto\",\n \"solid-color\": \"#000000\",\n style: {\n blockProgression: \"tb\",\n isolation: \"auto\",\n mixBlendMode: \"normal\",\n textDecorationColor: \"#000000\",\n textDecorationLine: \"none\",\n textDecorationStyle: \"solid\",\n textIndent: 0,\n textTransform: \"none\",\n whiteSpace: \"normal\"\n }\n }), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(.61243 0 0 .61243 7.0239 405.45)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#32CD32\",\n transform: \"matrix(.91761 0 0 .91761 2.0598 1003)\",\n d: \"m10.641 5.4531c-0.59364 0-1.1877 0.22872-1.6426 0.68359l-2.8613 2.8613c-0.90975 0.90975-0.90975 2.3735 0 3.2832l12.719 12.719 6.1445 6.1445 6.1445-6.1445 22.204-22.204c0.90975-0.90975 0.90975-2.3735 0-3.2832l-2.8613-2.8613c-0.90975-0.90975-2.3735-0.90975-3.2832 0l-22.204 22.204-12.719-12.719c-0.45487-0.45487-1.047-0.68359-1.6406-0.68359z\"\n }))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCircleCheck);\nexport default __webpack_public_path__ + \"static/media/circleCheck.ddbf6199.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgDefaultProfile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.9,170c-13.5,0-26.9,0.2-40.4,0c-15.6-0.3-26-11-26.2-26.6c-0.2-11.7,1-23.3,5.4-34.2c3.4-8.5,8.5-15.8,17.3-19.3 c3.8-1.4,7.9-2,11.8-2.4c1.8-0.1,4,1,5.8,1.9c4.9,2.5,9.5,5.8,14.5,7.9c10.7,4.4,21,2.4,30.8-3.3c2-1.1,4.1-2.3,5.8-3.8 c3.9-3.1,8.2-3.3,12.7-2.3c8.6,1.7,15.1,6.3,19.7,13.7c5.4,8.5,7.6,17.9,8.6,27.7c0.6,5.9,0.9,12,0.3,17.9 c-1.3,13.1-11.7,22.3-25.1,22.6C117.5,170.1,103.7,169.9,89.9,170C89.9,169.9,89.9,170,89.9,170z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.1,10c21.5,0.1,38.7,17.3,38.4,38.8s-17.4,38.4-39,38.3c-21.2-0.2-38.3-17.6-38.1-38.9C50.5,27,67.7,9.9,89.1,10z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDefaultProfile);\nexport default __webpack_public_path__ + \"static/media/defaultProfile.d5cc6ce8.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgExit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.1,122.9v15.8c0,1.6,1.2,3,3,3h40.3c1.6,0,3-1.4,3-3v-15.9l8.3,5.4v24.1c0,1.6,1.2,3,3,3h14.8c0.8,0,1.5-0.3,2-0.9 c0.6-0.6,0.8-1.2,0.8-2l-0.2-33.9c0-0.9-0.5-1.8-1.2-2.4l-16.1-11.1l1.9-2.6v0.8c0,1.6,1.2,3,3,3h32.2c1.6,0,3-1.2,3-3V88.6 c0-1.6-1.2-3-3-3h-17v-12c0-0.9-0.5-1.8-1.2-2.4L79,59c-0.5-0.3-1-0.6-1.7-0.6H39.6c-1.6,0-3,1.2-3,3v33c0,1.6,1.2,3,2.8,3h5.3 c-0.2,0.5-0.3,0.9-0.3,1.5l0.2,21.1H22.9C21.3,120,20.1,121.2,20.1,122.9z M57.1,77.2h2l-2,2.8V77.2z M25.9,125.7h21.8 c0.8,0,1.5-0.3,2-0.9s0.8-1.2,0.8-2l-0.2-23.1l16.8-23.7c0.7-0.9,0.7-2,0.2-3.1c-0.5-1-1.5-1.6-2.6-1.6H54c-0.8,0-1.5,0.3-2,0.9 c-0.6,0.6-0.8,1.2-0.8,2l0.2,12.9L48,91.6h-5.6V64.4h33.9l15.3,10.9v13.5c0,1.6,1.2,3,3,3h17v8.5H85.2v-6.8c0-1.2-0.8-2.4-2-2.7 c-1.1-0.3-2.5,0-3.3,1l-9,12.3c-0.5,0.7-0.7,1.5-0.6,2.2c0.1,0.8,0.6,1.5,1.2,1.9l17.2,11.8l0.2,29.5h-9v-22.8 c0-1-0.5-1.9-1.4-2.4L64.7,115c-0.9-0.6-2-0.7-3-0.1c-0.9,0.5-1.5,1.5-1.5,2.6v18.4H25.9V125.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.9,50.2c0,9.6,7.8,17.5,17.5,17.5s17.5-7.8,17.5-17.5s-7.8-17.6-17.5-17.6C89.8,32.7,81.9,40.5,81.9,50.2z M87.7,50.2 c0-6.5,5.2-11.7,11.7-11.7s11.7,5.2,11.7,11.7s-5.2,11.7-11.7,11.7C93,62,87.7,56.6,87.7,50.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.6,148.2v17.5c0,2.4,1.9,4.3,4.3,4.3h91.7c2.4,0,4.3-1.9,4.3-4.3V14.3c0-2.4-1.9-4.3-4.3-4.3H64.1 c-2.4,0-4.3,1.9-4.3,4.3v38h8.7V18.7h82.7v142.6h-83v-13.2L59.6,148.2L59.6,148.2z\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExit);\nexport default __webpack_public_path__ + \"static/media/Exit.c9b865e4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgLateAlarm(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 180 180\",\n style: {\n enableBackground: \"new 0 0 180 180\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M163.7,84.7v-3.3h-7.9v3.3v13.2c-1-2.1-3.1-3.6-5.7-3.6H132h-23.5h-5.4V95c0,0.1,0,0.3,0,0.4c3,2.5,6.7,6.2,8.5,11.3h5.4 h7.1h26.1c2.5,0,4.7-1.5,5.7-3.6v5.9h-32.4h-5.7h-5.5c0.4,2,0.6,4.2,0.4,6.4c0,0.4-0.1,1-0.2,1.4h5.5h5.2h32.7v20.8H170V84.7 H163.7z M108.5,95.2L108.5,95.2c-0.5,0.1-0.9,0-0.9,0H108.5L108.5,95.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9,106.7h31.9c1.8-4.7,5.2-8.5,7.9-10.7c0-0.3,0-0.6,0-0.9v-0.9H54.2c-26.8,0-29,1.5-30,3.6V84.7v-3.3h-7.9v3.3H10v53 h14.2v-20.8h36.5c-0.1-0.5-0.1-1-0.2-1.4c-0.2-2.4-0.1-4.5,0.4-6.4H24.2v-5.9C25.2,105.3,27.3,106.7,29.9,106.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.8,113.7c0.1-0.9-1-2.6-3.4-4.5c-3.2,0.9-6.5,1-9.8,0.1c-2.4,1.8-3.4,3.5-3.3,4.4c0.1,1,0.2,2,0.4,3.3h15.7 C94.6,115.8,94.7,114.6,94.8,113.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.1,91.1h12.4c2.3,0,4.2-1.8,4.2-4.2c0-2.3-1.8-4.2-4.2-4.2H31.1c-2.3,0-4.2,1.8-4.2,4.2C26.9,89.3,28.8,91.1,31.1,91.1 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.3,96.8c0.1-0.5,0.1-1.1,0.1-1.6V66.5c11.4-1.3,18.5-3.4,21-6.5c1.2-1.4,1.7-3.2,1.5-4.9c-0.2-2-3.4-8.4-24-15.6 c0.1,0.2,0.1,0.4,0.1,0.6c-1.9-5.3-7-9.1-13-9.1c-6.1,0-11.3,4-13.1,9.4C54.6,47.3,51.6,53.1,51.4,55c-0.2,1.7,0.3,3.5,1.5,4.9 c2.4,2.9,8.9,5,19.3,6.3V95c0,0.6,0.1,1.4,0.2,2c-5,4-10.1,10.3-9.2,18.1c1,9.3,5.5,33.8,5.7,34.9c0.5,3,3.2,5.2,6.2,5.2 c0.4,0,0.8,0,1.2-0.1c3.4-0.6,5.7-4,5-7.4c0-0.2-4.6-25-5.6-33.9c-0.3-2.9,3-5.8,5.4-7.5c1.6,0.5,3.4,0.9,5.2,0.9 c1.9,0,3.8-0.3,5.6-1c2.5,1.6,5.9,4.6,5.6,7.6c-1,8.9-5.5,33.7-5.6,33.9c-0.6,3.4,1.6,6.8,5,7.4c0.4,0.1,0.8,0.1,1.2,0.1 c3,0,5.7-2.1,6.2-5.2c0.2-1.1,4.7-25.5,5.7-34.9C110.9,107.1,105.6,100.6,100.3,96.8z M96.7,56.3c-2.8,2.5-6.3,3.9-10.3,3.9 c-4.1,0-7.7-1.6-10.6-4.1c-3.5-0.4-7-1-9.8-1.5c1.6-0.9,5.5-2.1,7.9-3.1c2.4,4.3,6.9,7.2,12.1,7.2c5.7,0,10.5-3.4,12.7-8.3 c2.8,1.1,7.4,3.1,9.6,4.2C105.1,55.2,100.9,55.9,96.7,56.3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107,31.5c0,1.6-0.1,3.3-0.1,4.9V38l1.1-1c1.6-1.4,3.1-2.9,4.6-4.4c1.5-1.5,3-3,4.4-4.6c-1.7,1.3-3.4,2.6-5.2,3.9 c-1.3,1.1-2.6,2.1-3.8,3.2c0-1.5,0-3-0.1-4.5v-1.1l-0.9,0.5c-1.2,0.8-2.4,1.6-3.5,2.5c-1.2,0.9-2.3,1.7-3.4,2.6 c1.3-0.6,2.6-1.3,3.9-1.9C105.1,32.6,106.1,32.1,107,31.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.4,30.4c-1.2,1.2-2.4,2.3-3.5,3.4L58.8,35l1.5,0.1c2.1,0.1,4.3,0.2,6.4,0.2s4.3,0,6.4-0.1c-2.1-0.3-4.3-0.6-6.3-0.9 c-1.6-0.2-3.3-0.3-4.9-0.4c1.1-1.1,2.1-2.1,3.1-3.2l0.8-0.8l-1-0.2c-1.4-0.2-2.8-0.5-4.2-0.8c-1.4-0.2-2.8-0.4-4.3-0.5 c1.4,0.4,2.7,0.9,4.1,1.3C61.2,29.9,62.3,30.2,63.4,30.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M131.7,52.8l-3.3,3.4l1.6,1.5l3.5-3.6c1.7,1.1,3.6,1.7,5.8,1.9c2.3,0.2,4.4-0.2,6.3-1l3,4.4l1.8-1.2l-2.8-4.3 c3.4-2.1,5.9-5.9,6.3-10.2c0.2-2.5-0.2-4.8-1.3-7c0.5-0.1,1-0.3,1.4-0.8c1.1-1.2,1-3.1-0.3-4.3s-3.2-1.2-4.3-0.1 c-0.1,0.1-0.2,0.3-0.3,0.4c-2-1.7-4.5-2.8-7.3-3c-3-0.2-5.8,0.4-8.2,1.9c-0.1-0.2-0.1-0.3-0.2-0.4c-0.9-1.4-2.8-1.6-4.3-0.8 c-1.5,1-1.9,2.8-1.1,4.2c0.3,0.5,0.8,0.9,1.3,1.1c-1.3,1.8-2,4-2.3,6.3C126.7,45.8,128.6,50,131.7,52.8z M130,41.5 c0.5-5.8,5.7-10.1,11.5-9.6c5.8,0.5,10.1,5.7,9.6,11.5c-0.5,5.8-5.7,10.1-11.5,9.6C133.8,52.4,129.5,47.3,130,41.5z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"147.1,41.9 141.7,41.5 142.3,35.9 140,35.7 139.4,43.4 146.9,44.2 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M124.8,31.8v-1.4c-1.6,0-3,0.9-3.9,2.3c-0.9,1.4-0.9,3.1,0,4.4l1.2-0.6c-0.5-1-0.5-2.1,0-3.1 C122.6,32.5,123.7,31.8,124.8,31.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.7,38.7c-1.4-1.9-1.6-4.4-0.5-6.5s3.2-3.5,5.6-3.5l0,0v-1.4l0,0c-2.9,0-5.5,1.6-6.8,4.3c-1.3,2.6-1.1,5.7,0.6,7.9 L119.7,38.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.7,34.6c0.9-1.4,0.9-3,0.1-4.4c-0.8-1.4-2.1-2.3-3.8-2.4v1.4c1.1,0,2,0.6,2.6,1.6c0.5,1,0.5,2.1,0,3.1L158.7,34.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.2,29c1.3,2,1.3,4.6,0.1,6.5l1.2,0.8l0,0c1.5-2.5,1.4-5.5-0.1-8c-1.6-2.5-4.3-3.9-7.2-3.5l0.1,1.4 C156.6,25.8,158.9,27,160.2,29z\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLateAlarm);\nexport default __webpack_public_path__ + \"static/media/LateAlarm.30940082.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 250,\n height: 150,\n xmlSpace: \"preserve\",\n viewBox: \"0 0 250 150\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n width: 250,\n height: 150,\n xlinkHref: \"data:image/png;base64,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\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUp);\nexport default __webpack_public_path__ + \"static/media/up.9db25360.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 250,\n height: 150,\n xmlSpace: \"preserve\",\n viewBox: \"0 0 250 150\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n width: 250,\n height: 150,\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABMCAYAAAClFL8EAAAAAXNSR0IArs4c6QAADNFJREFUeF7tXAnUtdUUfh4JhdKcSkWaNCOLQqHQnEIKDaQWKZkiFr+yEEqSIZlCyZghhUKTlLESWomKVhlKQsj4WM/3n/Ot87//e+87nXu/u+5991qt1fr+M+1znrvPPns/+yV6mekd4Exr3yuPHgAzDoIeAD0AZnwHZlz93gL0AJjxHZhx9XsL0ANgxndgxtXvLUAPgBnfgRlXv7cAPQBmfAdmXP3eAvQAmPEdmHH1ewvQA2AydkDSOgB2ALAVAP//gwD8E8AdAG4DcBWAS0neORkrHrwKSV77EwE8EsBDAawMQAD+GPS5BsAlJG9ZaF0WzAJIuheAZwM4FMBmANYAKtPT/wPgTTMY3kvyWwu9gXF+STsCODIc+roArF+V/B7AzwF8BMCnSf63qkPufx87ACStAOAtAJ4DYNWOCt0M4MMATliIzZO0DIBXA3gRgId11MXW4TMAXk/yro5j1e4+NgBIuh+ARQCOArB87RXWa3g7gDeTPLVe8+6tJL0YwBsBrNl9tCVG+AeA93lskv7/kcpYACBpS5s4AJsO0OY7AL4O4McAfhnuybuDGX1guB42AvAYALsB2GLAOJcC2Jvkn0a1a+F+/wKAJw+Y42cAvgrg+wB+AeB3AP4KwNfXA4LVeziArQE8PfgKZUO57wEkfzQqXTzuyAEgyXe8EX2fgiI2eaf4/iNpJ6+2SLKjeEjwH+5f6Pg3AHuQvKj2gDUbSnoCgHMBrFjo8ncAHwVwOslraw431yw4vwcFy7h6oe+/AbyM5AeajNmk7cgAIMljvymYyXRNNmvvCCa7k9MjaRUAbw13cFGX/Uh+tslmDGsraW8A/uWnzp09ex/8sSR9DbWW4E+8DsBrABRB/bbgG3i+rDJKABxXcvg/BLAvyd/k1EKSr4bPAbD3nco+JL/YdS5JuwI4rzCOXyP7k7y86/hp/2ARrMtjC+Pa0T0251weayQAkGSv+PRksUbuWSSfn1uBOJ4k/2ouBPC4whzbkjTwWokk+xs/KXT2/b4zyb+0GrRGJ0l+GvqaS8/oqNyObnYASHLw43sA7h309OG/n+RLa+jdqYkkz+m7//HJQA4mrUPSAaVGEhy+3wLwCybKFQB2JPmvRoO1aCzpJAAvT0DwH+tG0vubRbICIDz17Mmn3v7ZJA/Istoag4QA0/UA7GlHuQDArk1iBeFO/nJ4dcRxbgKwyTgOP04o6WMADk508Stpy1xPxNwAsEOW3lNXk9ymxrllbRIcUJtnP7uiPJWkr4haIslW5LKksS3JCuM8/AQEvnK2TdZyCsmjaylS0SgbAIK59HNuuTCnvf1NSf46x0KbjiHJ72y/oaPX7ujamiR9kENFkp+sNv2O4Vt8jT2apK3b2CU4hrZqMYB2D4C1c+RFcgLggwAOS3bnOJJ+Bi6YSPpuwSl0kMhmvQoAOwPwtRHlGpIG1IKJpGMAvD1ZgJ3q53VdUBYAhHv3DwD8Lrc4yLNGkzu3qyJl/SUtC8ARxRiE+hWADUkOfE+H6+M6ABuHMe14LU/SQZkFk+CT2CqtFhZhi7YKSUcYW0suABwI4OPJKhaRPL71qjJ2lPQDm+9kyK1JOh1bKpI2AWAARLmO5CMyLqn1UJJeCeDEZIDDSabP7cZj5wLANwE8JZnd91Oj8G7jldfsIMmp5p8mzY8h+c4hAHhJCF3HJluRLMYBas6et5kkp8ydW4hyBcntusySCwA2TTErdjnJ9B3eZX1Z+kry9RRN51UkHasYZAFSi3EXyZWyLCLTIJK+DeBJYbg7SEa9Ws3QGQCS1g4kjTjWxJj/uCOS7L3H56jv/5VI/rm4Y5KcefTfoy7Xk/SVMDEi6VUAUgu2XpfQeg4AOMhzVrJDDrh8bWJ2bHHGza8RcxGibEPy6hIA+K53OjfKSOLvXfZGktPQKRPqBSQdLGolOQDgp4mfKFE2InlDq9WMqJMkm0ybzii7kDT/YAmRZE7ixckfHe+3fzMxIskcwxuTBZ1K0iSbVpIDAGcHeldcwIqjTJK00VLSQwCkGUhn8UxQKQJgDwBfSf64Fkn7NxMjksxFSClj55Lcs+0CcwDgfAC7JAtYpuvbtK0yg/qFHEVKrzqE5BklAHhmSCvHf1qWpOMAEyMh4ZXGJC4jaQZyK8kBAOfbTZaY5E1zTsC0rCgHk0zjFnN/l/QMAOck7ZYj6bDrxEgIU6fh7ItJxldB43XmAIBZuS9MZl55lJy8xhouPtjivVnKFpJkjl7qwK6/ULmMIdbMz9K0NuIckvu22Rf3yQEAM2PN/omyGUlz3SdGShg9O5XVFEhyUCVl+OxFMvUJFlwnSSbHOjEUpdNLJQcAir+aVjSsELc3Y8gOjQM1jno5zn1rIJh83g5am/xCIFa8Itm0jUmadbuElFgKE1mOaHrqIW6/OwD7FKZ2udLJWUkHpFzUYmLpGW3yC5Lsb9nvirInSY/XSnIAwCbJhEgXSVhOJOliidoiaX8A5vTHZNKgvn6jH0HyktqDL74CzNTdPPSxA+WXylKc++AsOhAUk0c3ktyg4VzbmwFl0kZFP3vyZvx+ouH4aUzDP5DVuqSFOwPAi5fkLFusjLmWZJXyczqHzNvJgRJddy1mEpsb502uJZJcJ+B6Pcs3SNpqlYok/5r867XcTdLRwVoSuJBeV6TD1enn9kfWfTkVopq3kCwSYevMOd+m7qYPHVSSPWd70FE2J5lG1JbqHw7/hEIQqe7iHc49lKQp2VVre1ooOontDiP5oSEAKEY2dydZZASX6WMrdmbNmsBi//cAOHpYmtodSu7/C0hav9aSCwBF2nQlZUmSY/NdGDYuAPFdbh9hoEgyENN07tBIpaT1ALjmMMrNJP2KGDbHg4NjVttalAy2PUkTWIbN4/qA1yYNahFcho2ZBQABnd40b57FJAw/oUwMWUpCMMP/5kLRLjL0FyDJ5tHXUzTJtTKVkhwOdljY4nt2A5IpKJZYs6RiLKSNTo5TrDqIcyjJvpbpdRFkt5F0Iq6T5ASACSBvSFbjMqnDBwDA/oIPpqvYkXPcoTRYI8k5iZQdvANJ1w8OFUkmYJqIGeVWkvbky8B838CAKlbzVE1T9u9bkEy5C/NtJL3bTmPS6SSSzgx2kpwAMP3K5jjmp31Pb0fyyuIKJRXZw12UOJDkJ0vmKIZ1DQZTuispVIHi5qsjTQU/l+SnSubxNw5c1p1DTiaZPlfnxpT0KADmKcTzciDIBNfONLVsAAgLdfFHWqJtQPie9n2dotmBokGVwk038sxixVEwl35zp954I2aPpA1DdW9cjwHt5FDKyPHhnAag1NI1VQTADSQd6En3ykxgU9RSb38oq6nJvFkBEEDgN3qanDBybQnmkyqSDIhc3wi4iOR8qbYkj+v7NC3iPI2k6/kbiSRXL6ep1qXIJJLMMm6djSss6B6SkVZvcJVVOl1Jslj+1kivtPEoAGBnxYWT6Z3o+n/fv3Pmt0DRar340PE8knPv9nD4LgGb38RwP/uX27iUK0QnzW1Mv2Riv8Pmd64uUJLTyvt1VSL0v5PkXDAsXEOmpqdcS/9wzAAqda7brCE7AMLivegikWLevEn6EoC92iy4pM/xJBeFwhRvTPHbPKt3Kd0On7Qp0scMZIPgdkl+lvl5lkPOJ+kPYBSjl3Hs3UimYeDOc44EAEGBMufIptkfWfCHENLCiy6K+K72ByP8SyxG4NbN8SUuSXZs7VOk4ivNNXtOHrlmMIfsYz8AgC1m8SMUBzUNG9dZ0MgAEEBQzK/7z/71ODbvQ+sqPhSDqixe34ksWVyYJIPW10HMecQmpme5enitrsqERJH3pWjFShlMGebrng6uWkQoF3eRZS6nr2pKXwN+7jUuB68aOHyRxOB15G8cYn/DpehpTCLrvCO1AHGlklxk6Td0p7h1Dc39JHOGrbHDV2PsuSaBkWNatr8JOMr9M4nVxJXsQE51HaUCS+xpyJH7uea7Olbd1t33qnbO7T9rnBU84cshJsS68iinOE3shNSF4+Ajjg0AiTVwrt3Vt+8CsETQo8Uu+mqxF+4SqewfUKpaT8homvDhD1+25uWFefzhB4d2na4eGw9x7ABIgOC5/esxw8WIt/NTtR573va6fZ34F5LL+64668p/l7Q+gJ2CLn7pVHECDFj7E9bFPETzKMYO4qoNr1Q8V4PAd3fa1f85Sxg9YRNAHPu2t+3UrL/JN9EiyYEoA8JJLwd24svBLyC/Wgzcm8b5SdhBGzYxAJjoE53ixfUAmOLDraNaD4A6uzTFbXoATPHh1lGtB0CdXZriNj0Apvhw66jWA6DOLk1xmx4AU3y4dVTrAVBnl6a4TQ+AKT7cOqr1AKizS1PcpgfAFB9uHdV6ANTZpSlu0wNgig+3jmr/B6mqGImazAhTAAAAAElFTkSuQmCC\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDown);\nexport default __webpack_public_path__ + \"static/media/down.64d64807.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 250,\n height: 150,\n xmlSpace: \"preserve\",\n viewBox: \"0 0 250 150\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n width: 250,\n height: 150,\n xlinkHref: \"data:image/png;base64,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\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLeft);\nexport default __webpack_public_path__ + \"static/media/left.ae4b8675.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 250,\n height: 150,\n xmlSpace: \"preserve\",\n viewBox: \"0 0 250 150\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n width: 250,\n height: 150,\n xlinkHref: \"data:image/png;base64,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\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRight);\nexport default __webpack_public_path__ + \"static/media/right.03f118f6.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as ClockIn } from './ClockInIcon.svg'\r\nimport { ReactComponent as ClockOut } from './ClockOutIcon.svg'\r\nimport { ReactComponent as BreakIn } from './BreakInIcon.svg'\r\nimport { ReactComponent as BreakOut } from './BreakOutIcon.svg'\r\nimport { ReactComponent as About } from './AboutIcon.svg'\r\nimport { ReactComponent as Holiday } from './HolidaysIcon.svg'\r\nimport { ReactComponent as Vacation } from './VacationsViewIcon.svg'\r\nimport { ReactComponent as Attach } from './AttachIcon.svg'\r\nimport { ReactComponent as Timesheet } from './TimesheetViewIcon.svg'\r\nimport { ReactComponent as CircleCheck } from './circleCheck.svg'\r\nimport { ReactComponent as DefaultProfile } from './defaultProfile.svg'\r\nimport { ReactComponent as Exit } from './Exit.svg'\r\nimport { ReactComponent as LateAlarm } from './LateAlarm.svg'\r\nimport {ReactComponent as Up} from './up.svg'\r\nimport {ReactComponent as Down} from './down.svg'\r\nimport {ReactComponent as Left } from './left.svg'\r\nimport {ReactComponent as Right} from './right.svg'\r\n\r\nconst Icons = {\r\n ClockIn,\r\n ClockOut,\r\n BreakIn,\r\n BreakOut,\r\n Vacation,\r\n Holiday,\r\n About,\r\n Attach,\r\n Timesheet,\r\n CircleCheck,\r\n DefaultProfile,\r\n Exit,\r\n LateAlarm,\r\n Up,\r\n Down,\r\n Left,\r\n Right\r\n}\r\n\r\nexport default Icons","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Flex,\r\n List,\r\n ListItemProps,\r\n ShorthandValue,\r\n Text\r\n} from \"@fluentui/react-northstar\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { NotificationStore } from \"../../store/notification\";\r\nimport { Notification } from \"../../models\";\r\nimport { createUrl } from \"../../utils\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport Icons from '../../assests/images/SVGIcons/svgIcons'\r\nimport { UserStore } from \"../../store/user\";\r\nimport { Pagination } from \"@fluentui/react-experiments/lib/Pagination\";\r\nimport dateFormat from \"dateformat\";\r\n\r\ninterface INotificationListProps {\r\n user?: UserStore\r\n notification?: NotificationStore;\r\n type?: number;\r\n t?: any;\r\n full?: boolean;\r\n}\r\n\r\nconst NotificationList = (inject(\"user\", \"notification\"))(observer((props: INotificationListProps) => {\r\n const { user, notification, type, t, full } = props\r\n \r\n const [selectedPageIndex, setSelectedPageIndex] = useState(0);\r\n\r\n useEffect(() => {\r\n console.log(\"Type changed to: \", type)\r\n setSelectedPageIndex(0)\r\n notification?.load(type, 0, notification.notificationsPageCount)\r\n return () => {}\r\n }, [type])\r\n\r\n function createListItem(item: Notification): ShorthandValue {\r\n const width = \"24px\", height = \"24px\", color = user?.companyPrimaryColor\r\n var icon = \r\n if (item && item.notificationType)\r\n switch (item.notificationType.name){\r\n case \"ClockInReminder\" :\r\n icon = \r\n break\r\n case \"ClockOutReminder\" :\r\n icon = \r\n break\r\n case \"TimeSheetsCreated\" :\r\n icon = \r\n break\r\n case \"OvertimeVerification\" :\r\n icon = \r\n break \r\n case \"BreakInNotification\" :\r\n icon = \r\n break \r\n case \"BreakOutNotification\" :\r\n icon = \r\n break \r\n case \"LeaveRequest\" :\r\n icon = \r\n break \r\n case \"LeaveRequestResponse\" :\r\n icon = \r\n break \r\n case \"HolidayNotification\" :\r\n icon = \r\n break \r\n case \"OvertimeApprovalRequest\" :\r\n icon = \r\n break \r\n case \"OvertimeApprovalResponse\" :\r\n icon = \r\n break \r\n case \"UsersMissingClockInNotification\" :\r\n icon = \r\n break \r\n case \"EarlyClockOutNotification\" :\r\n icon = \r\n break\r\n case \"StillInBreakVerification\" :\r\n icon = \r\n break\r\n case \"LeaveRequestUndoResponse\" :\r\n icon = \r\n break\r\n }\r\n return {\r\n key: item.id,\r\n media: {icon},\r\n header: item.title,\r\n headerMedia: dateFormat(new Date(new Date(item.createdOn).getTime() - (new Date().getTimezoneOffset() * 60 * 1000)), full ? 'dd/mm/yyyy h:MM:ss TT' : 'dd mmm h:MM TT'),\r\n // headerMedia: new Intl.DateTimeFormat(\"en-US\").format(new Date(item.createdOn)),\r\n content: item.body,\r\n styles: !item.isRead ? { backgroundColor: \"#EDF2FA\" } : undefined,\r\n onClick: async () => {\r\n await notification?.markAsRead(item.id);\r\n var url = createUrl(item);\r\n if (url) {\r\n window.location.href = url;\r\n }\r\n },\r\n };\r\n }\r\n\r\n const onPageChange = (index: number): void => {\r\n setSelectedPageIndex(index)\r\n notification?.load(type, index + 1, notification.notificationsPageCount) \r\n }\r\n\r\n return (\r\n <>\r\n createListItem(x)) : notification?.notifications.map((x) => createListItem(x))}\r\n />\r\n {\r\n full ? \r\n : null\r\n } \r\n {notification?.notifications?.length ? null : }\r\n \r\n );\r\n}));\r\n\r\nexport default withRouter(withTranslation()(NotificationList as any) as any) as unknown as React.FunctionComponent;\r\n","import React from \"react\";\r\nimport { Box, Divider, Flex } from \"@fluentui/react-northstar\";\r\n\r\nexport type FooterProps = {\r\n content?: JSX.Element[] | JSX.Element | string;\r\n children?: JSX.Element[] | JSX.Element | string;\r\n};\r\n\r\nfunction Footer ({ content, children }: FooterProps) {\r\n return (\r\n ({ backgroundColor: vars.theme.siteVariables.colors.grey[50] })}>\r\n \r\n \r\n {content || children}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Footer","import React from \"react\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { Flex, Loader } from \"@fluentui/react-northstar\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport { RootStore } from \"../../store/rootStore\";\r\n\r\n// TODO: implement role based authorization\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nfunction AuthRoute (component: React.ComponentType, authorizedRoles: string[] = Roles.ANY) {\r\n return inject(\"root\", \"user\", \"ui\")(observer((props: { root: RootStore, user: UserStore }) => {\r\n\r\n if (props.root.firstLoad){\r\n props.user.init();\r\n }\r\n\r\n if (props.user.loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (props.user.isLoggedIn && authorizedRoles.includes(props.user.role)) \r\n return React.createElement(component, {});\r\n\r\n if (props.user.isLoggedIn && !authorizedRoles.includes(props.user.role)) {\r\n return ;\r\n }\r\n\r\n return ;\r\n }));\r\n}\r\n\r\nexport class Roles {\r\n static ADMIN = [\"Admin\"];\r\n static CHIEF = [\"Chief\", \"Hr\"];\r\n static HR = [\"Hr\", \"Admin\"];\r\n static CLOCKING = [\"Clocking\", \"Hr\", \"Chief\", \"Admin\"];\r\n static NOTADMIN = [\"Clocking\", \"Hr\", \"Chief\"];\r\n static ANY = [\"\", \"Clocking\", \"Hr\", \"Chief\", \"Admin\"];\r\n}\r\n\r\nexport default AuthRoute","// ..\\BluAttendance.Core\\InputModels\\ActivateTrialCompanyInput.cs\r\nexport interface ActivateTrialCompanyInput {\r\n companyId: number;\r\n organizationId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\AllowedLeaveInput.cs\r\nexport interface AllowedLeaveInput {\r\n leaveTypeId: number;\r\n userId: string;\r\n allowedCount: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\BreakInInput.cs\r\nexport interface BreakInInput {\r\n breakInTime: Date;\r\n breakInTimeUtc: Date;\r\n breakInLatitude?: number;\r\n breakInLongitude?: number;\r\n breakInClientType: ClientType;\r\n breakInAddress: string;\r\n breakInCountry: string;\r\n breakInComments: string;\r\n breakInImageUrl: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\BreakInput.cs\r\nexport interface BreakInput {\r\n shiftId: number;\r\n breakInTime: Date;\r\n breakInTimeUtc: Date;\r\n breakInLatitude?: number;\r\n breakInLongitude?: number;\r\n breakInClientType: ClientType;\r\n breakInComments: string;\r\n breakInImageUrl: string;\r\n breakInAddress: string;\r\n breakInCountry: string;\r\n breakOutTime?: Date;\r\n breakOutTimeUtc?: Date;\r\n breakOutLatitude?: number;\r\n breakOutLongitude?: number;\r\n breakOutClientType: ClientType;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\BreakOutInput.cs\r\nexport interface BreakOutInput {\r\n breakOutTime?: Date;\r\n breakOutTimeUtc?: Date;\r\n breakOutLatitude?: number;\r\n breakOutLongitude?: number;\r\n breakOutClientType: ClientType;\r\n breakOutComments: string;\r\n breakOutImageUrl: string;\r\n breakOutAddress: string;\r\n breakOutCountry: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ChangePasswordInput.cs\r\nexport interface ChangePasswordInput {\r\n oldPassword: string;\r\n newPassword: string;\r\n newPasswordVerify: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ClockingInput.cs\r\nexport interface ClockingInput {\r\n latitude?: number;\r\n longitude?: number;\r\n fullAddress: string;\r\n time: Date;\r\n hoursOffset: number;\r\n userId: string;\r\n comments: string;\r\n clientType: ClientType;\r\n image: File | null;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ClockingPaginationInput.cs\r\nexport interface ClockingPaginationInput {\r\n from: Date;\r\n to: Date;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ClockingsReportInput.cs\r\nexport interface ClockingsReportInput {\r\n userId: string;\r\n from: Date;\r\n to: Date;\r\n userIds: string[];\r\n departmentIds: number[];\r\n countryIds: number[];\r\n branchIds: number[];\r\n searchMethod: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ClockInInput.cs\r\nexport interface ClockInInput {\r\n clockInTime: Date;\r\n clockInTimeUtc: Date;\r\n clockInLongitude?: number;\r\n clockInLatitude?: number;\r\n clockInClientType: ClientType;\r\n clockInComments: string;\r\n clockInAddress: string;\r\n clockInCountry: string;\r\n clockInImageUrl: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ClockOutInput.cs\r\nexport interface ClockOutInput {\r\n clockOutTime?: Date;\r\n clockOutTimeUtc?: Date;\r\n clockOutLongitude?: number;\r\n clockOutLatitude?: number;\r\n clockOutClientType: ClientType;\r\n clockOutComments: string;\r\n clockOutImageUrl: string;\r\n clockOutAddress: string;\r\n clockOutCountry: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\CompanyInput.cs\r\nexport interface CompanyInput {\r\n name: string;\r\n image: File | null;\r\n planId: number;\r\n rolesMaxUsers: any;\r\n countryId?: number;\r\n address: string;\r\n phoneNumber: string;\r\n email: string;\r\n websiteLink: string;\r\n organizationId: number;\r\n primaryColor: string;\r\n timeZone: string;\r\n locales: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\CompanyRulesInput.cs\r\nexport interface CompanyRulesInput {\r\n id: number;\r\n attendanceImageConfig: AttendanceImageConfig;\r\n faceRecognitionConfig: FaceRecognitionConfig;\r\n shiftFlowRuleType: ShiftFlowRuleType;\r\n timesheetCreationDay: number;\r\n hideClockingImagesFromTimesheet: boolean;\r\n disableAllNotifications: boolean;\r\n faceRecognitionEnabled: boolean;\r\n leavesApprovalLimitedToSupervisor: boolean;\r\n shiftScheduleType: ShiftScheduleType;\r\n triggerOvertimeVerificationOn: TriggerOvertimeVerificationOn;\r\n breakConfig: BreakConfig;\r\n companyId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\EarlyClockOutNotificationTemplateModel.cs\r\nexport interface EarlyClockOutNotificationTemplateModel {\r\n timesheetUrl: string;\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n date: string;\r\n time: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\EditClockingInput.cs\r\nexport interface EditClockingInput {\r\n latitude?: number;\r\n longitude?: number;\r\n fullAddress: string;\r\n time: string;\r\n userId: string;\r\n comments: string;\r\n clientType: ClientType;\r\n image: File | null;\r\n type: ClockingType;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ExtendTrialInput.cs\r\nexport interface ExtendTrialInput {\r\n companyId: number;\r\n days: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\HolidayConfigInput.cs\r\nexport interface HolidayConfigInput {\r\n id: number;\r\n enabled: boolean;\r\n date: string;\r\n holidayId: number;\r\n holiday: Holiday;\r\n companyId: number;\r\n company: Company;\r\n countryId: number;\r\n country: Country;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\HolidayInput.cs\r\nexport interface HolidayInput {\r\n id: number;\r\n name: string;\r\n defaultDate: string;\r\n description: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\HolidaysConfigInput.cs\r\nexport interface HolidaysConfigInput {\r\n companyId: number;\r\n holidayConfigInputList: HolidayConfigInput[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\HolidaysInput.cs\r\nexport interface HolidaysInput {\r\n companyId: number;\r\n holidayInputList: HolidayInput[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ImageInput.cs\r\nexport interface ImageInput {\r\n image: File | null;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\InputRecoveryTemplateModel.cs\r\nexport interface InputRecoveryTemplateModel {\r\n basUrl: string;\r\n token: string;\r\n email: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LabeledFaceDescriptorsInput.cs\r\nexport interface LabeledFaceDescriptorsInput {\r\n labeledFaceDescriptors: string;\r\n imageId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveAttachmentsInput.cs\r\nexport interface LeaveAttachmentsInput {\r\n leaveRequestId: number;\r\n attachments: File[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveConfigInput.cs\r\nexport interface LeaveConfigInput {\r\n id: number;\r\n enabled: boolean;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n balance: number;\r\n quotaType: QuotaType;\r\n isCummulative: boolean;\r\n annuallyResets: boolean;\r\n includeNonWorkingrDays: boolean;\r\n leaveOverlapsOtherLeaves: boolean;\r\n inheritedFromCompany: boolean;\r\n leaveTypeId: number;\r\n attachmentRequired: boolean;\r\n leaveType: LeaveType;\r\n companyId: number;\r\n company: Company;\r\n userId: string;\r\n user: User;\r\n countryId: number;\r\n country: Country;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveRequestApprovalInput.cs\r\nexport interface LeaveRequestApprovalInput {\r\n id: number;\r\n isApproved: boolean;\r\n supervisorComment: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveRequestInput.cs\r\nexport interface LeaveRequestInput {\r\n leaveTypeId: number;\r\n userId: string;\r\n startDate: string;\r\n fromHalfDay: boolean;\r\n fromHalfDayPart: HalfDayPart;\r\n endDate: string;\r\n toHalfDay: boolean;\r\n toHalfDayPart: HalfDayPart;\r\n comment: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveRequestResponseTemplateModel.cs\r\nexport interface LeaveRequestResponseTemplateModel {\r\n baseUrl: string;\r\n userId: string;\r\n email: string;\r\n leaveType: string;\r\n comment: string;\r\n fromDate: string;\r\n toDate: string;\r\n fullName: string;\r\n response: string;\r\n supervisorFullName: string;\r\n supervisorComment: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeaveRequestTemplateModel.cs\r\nexport interface LeaveRequestTemplateModel {\r\n baseUrl: string;\r\n userId: string;\r\n email: string;\r\n leaveType: string;\r\n comment: string;\r\n fromDate: string;\r\n fromHalfDay: boolean;\r\n fromHalfDayPart: string;\r\n toDate: string;\r\n toHalfDay: boolean;\r\n toHalfDayPart: string;\r\n fullName: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeavesBalanceReportInput.cs\r\nexport interface LeavesBalanceReportInput {\r\n userId: string;\r\n userIds: string[];\r\n leaveTypeIds: number[];\r\n showSupervisor: boolean;\r\n mergeSupervisorCells: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeavesConfigInput.cs\r\nexport interface LeavesConfigInput {\r\n companyId: number;\r\n userId: string;\r\n leaveConfigInputList: LeaveConfigInput[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LeavesReportInput.cs\r\nexport interface LeavesReportInput {\r\n userId: string;\r\n from: Date;\r\n to: Date;\r\n userIds: string[];\r\n departmentIds: number[];\r\n countryIds: number[];\r\n branchIds: number[];\r\n searchMethod: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LogAttacmentInput.cs\r\nexport interface LogAttachmentInput {\r\n logId: number;\r\n attachments: File[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LogDetailsInput.cs\r\nexport interface LogDetailsInput {\r\n message: string;\r\n logType: LogType;\r\n logSource: LogSource;\r\n clientUserAgent: string;\r\n attachments: File[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LoginInput.cs\r\nexport interface LoginInput {\r\n email: string;\r\n password: string;\r\n fcmToken: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\LogoutInput.cs\r\nexport interface LogoutInput {\r\n removeFcmToken: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\NotificationInput.cs\r\nexport interface NotificationInput {\r\n title: string;\r\n titleParams: string;\r\n body: string;\r\n bodyParams: string;\r\n emailTemplate: string;\r\n linkId: string;\r\n screen: string;\r\n request: string;\r\n userId: string;\r\n from: string;\r\n to: string[];\r\n cc: string[];\r\n excludeToAndCc: string[];\r\n notificationTypeId: number;\r\n shiftId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OnDemandNotificationInput.cs\r\nexport interface OnDemandNotificationInput {\r\n title: string;\r\n body: string;\r\n userId: string;\r\n to: string[];\r\n cc: string[];\r\n image: File | null;\r\n sendEmail: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OrganizationInput.cs\r\nexport interface OrganizationInput {\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OvertimeApprovalRequestTemplateModel.cs\r\nexport interface OvertimeApprovalRequestTemplateModel {\r\n url: string;\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n date: string;\r\n time: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OvertimeApprovalResponseTemplateModel.cs\r\nexport interface OvertimeApprovalResponseTemplateModel {\r\n url: string;\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n date: string;\r\n time: string;\r\n response: string;\r\n supervisorFullName: string;\r\n supervisorComment: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OvertimeReportInput.cs\r\nexport interface OvertimeReportInput {\r\n userId: string;\r\n from: Date;\r\n to: Date;\r\n userIds: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\OvertimeShiftApprovalInput.cs\r\nexport interface OvertimeShiftApprovalInput {\r\n shiftId: number;\r\n isApproved: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\PaginationFilter.cs\r\nexport interface PaginationFilter {\r\n pageNumber: number;\r\n pageSize: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\PasswordRecoveryInput.cs\r\nexport interface PasswordRecoveryInput {\r\n email: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\PasswordResetInput.cs\r\nexport interface PasswordResetInput extends PasswordRecoveryInput {\r\n token: string;\r\n newPassword: string;\r\n newPasswordVerify: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\PoolInput.cs\r\nexport interface PoolInput {\r\n id: string;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ProfileInput.cs\r\nexport interface ProfileInput {\r\n image: File | null;\r\n employeeId: string;\r\n title: string;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n email: string;\r\n userName: string;\r\n linkedInUrl: string;\r\n birthDate: Date;\r\n role: string;\r\n countryId: number;\r\n companyId: number;\r\n branchId?: number;\r\n departmentId?: number;\r\n phoneNumber: string;\r\n timeZone: string;\r\n fiscalYearStartingMonth: number;\r\n supervisorIds: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ReportBugTemplate.cs\r\nexport interface ReportBugTemplate {\r\n message: string;\r\n username: string;\r\n email: string;\r\n attachments: LogAttachment[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ReportCreationTemplateModel.cs\r\nexport interface ReportCreationTemplateModel {\r\n baseUrl: string;\r\n startDate: string;\r\n endDate: string;\r\n reportName: string;\r\n companyName: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ReportSchedulingConfigInput.cs\r\nexport interface ReportSchedulingConfigInput {\r\n reportName: string;\r\n companyId: number;\r\n usersTo: string;\r\n usersCc: string;\r\n cronExpression: string;\r\n daysBeforeDate: number;\r\n daysAfterDate: number;\r\n parameters: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\RequestInput.cs\r\nexport interface RequestInput {\r\n title: string;\r\n description: string;\r\n assignedUsers: string[];\r\n requestedById: string;\r\n expectedClosedDate: Date;\r\n statusId: number;\r\n priorityId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ScheduledShiftInput.cs\r\nexport interface ScheduledShiftInput {\r\n id: number;\r\n startTime: string;\r\n endTime: string;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ShiftInput.cs\r\nexport interface ShiftInput {\r\n clockInTime: Date;\r\n clockInTimeUtc: Date;\r\n clockInLongitude?: number;\r\n clockInLatitude?: number;\r\n clockInClientType: ClientType;\r\n clockInImageUrl: string;\r\n clockInAddress: string;\r\n clockInCountry: string;\r\n clockOutTime?: Date;\r\n clockOutTimeUtc?: Date;\r\n clockOutLongitude?: number;\r\n clockOutLatitude?: number;\r\n clockOutClientType: ClientType;\r\n clockOutImageUrl: string;\r\n clockOutAddress: string;\r\n clockOutCountry: string;\r\n clockInComments: string;\r\n clockOutComments: string;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\ShiftsReportInput.cs\r\nexport interface ShiftsReportInput {\r\n userId: string;\r\n from: Date;\r\n to: Date;\r\n userIds: string[];\r\n hideBreaks: boolean;\r\n departmentIds: number[];\r\n countryIds: number[];\r\n branchIds: number[];\r\n searchMethod: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\SignUpInput.cs\r\nexport interface SignUpInput {\r\n employeeId: string;\r\n title: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n role: string;\r\n linkedInUrl: string;\r\n birthDate?: Date;\r\n companyId: number;\r\n branchId: number;\r\n departmentId: number;\r\n countryId: number;\r\n phoneNumber: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\SignupTrialCompanyInput.cs\r\nexport interface SignupTrialCompanyInput {\r\n name: string;\r\n countryId?: number;\r\n phoneNumber: string;\r\n industry: string;\r\n size: string;\r\n reference: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\SignupTrialInput.cs\r\nexport interface SignUpTrialInput {\r\n company: SignupTrialCompanyInput;\r\n user: SignupTrialUserInput;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\SignupTrialUserInput.cs\r\nexport interface SignupTrialUserInput {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n countryId: number;\r\n phoneNumber: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TimesheetApprovalInput.cs\r\nexport interface TimesheetApprovalInput {\r\n timesheetId: number;\r\n userId: string;\r\n timesheetStatusId: number;\r\n comment: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TimesheetCreationInput.cs\r\nexport interface TimesheetCreationInput {\r\n companyId: number;\r\n timesheetCreationDay: number;\r\n timeZoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TimesheetCreationTemplateModel.cs\r\nexport interface TimesheetCreationTemplateModel {\r\n baseUrl: string;\r\n supervisorFirstName: string;\r\n timesheetsList: TimeSheetListItem[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TimesheetCreationTemplateModel.cs\r\nexport interface TimeSheetListItem {\r\n userFullName: string;\r\n timesheetLink: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TimeSheetInput.cs\r\nexport interface TimeSheetInput {\r\n from: Date;\r\n to: Date;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\TypeInput.cs\r\nexport interface TypeInput {\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UpdateCustomStatusInput.cs\r\nexport interface UpdateCustomStatusInput {\r\n currentCustomStatus: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UserHolidayInput.cs\r\nexport interface UserHolidayInput {\r\n userId: string;\r\n holidayId: number[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UserRulesInput.cs\r\nexport interface UserRulesInput {\r\n attendanceImageConfig: UserAttendanceImageConfig;\r\n faceRecognitionConfig: UserFaceRecognitionConfig;\r\n workplaceConfig: WorkplaceConfig;\r\n shiftScheduleType: UserShiftScheduleType;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UsersMissedClockInNotificationTemplateModel.cs\r\nexport interface UsersMissedClockInNotificationTemplateModel {\r\n userMissedClockInListItems: UserMissedClockInListItem[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UsersMissedClockInNotificationTemplateModel.cs\r\nexport interface UserMissedClockInListItem {\r\n userFullName: string;\r\n timesheetLink: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\UsersStatusesReportInput.cs\r\nexport interface UsersStatusesReportInput {\r\n userId: string;\r\n from: Date;\r\n to: Date;\r\n userIds: string[];\r\n departmentIds: number[];\r\n countryIds: number[];\r\n branchIds: number[];\r\n searchMethod: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\WeekScheduleInput.cs\r\nexport interface WeekScheduleInput {\r\n id: number;\r\n companyId: number;\r\n userId: string;\r\n weekStartEndHoursAndMinutes: number[][];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\InputModels\\WelcomeTemplateModel.cs\r\nexport interface WelcomeTemplateModel {\r\n baseUrl: string;\r\n companyName: string;\r\n token: string;\r\n email: string;\r\n password: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\AutoBreakOutView.cs\r\nexport interface AutoBreakOutView {\r\n userId: string;\r\n shiftId: number;\r\n email: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\BranchView.cs\r\nexport interface BranchView {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\BreakView.cs\r\nexport interface BreakView {\r\n id: number;\r\n shiftId: number;\r\n shift: Shift;\r\n breakInTime: Date;\r\n breakInTimeUtc: Date;\r\n breakInLatitude?: number;\r\n breakInLongitude?: number;\r\n breakInClientType: ClientType;\r\n breakInImageUrl: string;\r\n breakInComments: string;\r\n breakInAddress: string;\r\n breakInCountry: string;\r\n breakOutTime?: Date;\r\n breakOutTimeUtc?: Date;\r\n breakOutLatitude?: number;\r\n breakOutLongitude?: number;\r\n breakOutClientType: ClientType;\r\n breakOutImageUrl: string;\r\n breakOutComments: string;\r\n breakOutAddress: string;\r\n breakOutCountry: string;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n isEdited: boolean;\r\n hasEnded: boolean;\r\n duration: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ClockingNotificationView.cs\r\nexport interface ClockingNotificationView {\r\n userId: string;\r\n companyId: number;\r\n countryId: number;\r\n email: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n type: ClockingType;\r\n toHalfDay: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ClockingPaginationView.cs\r\nexport interface ClockingPaginationView {\r\n from: Date;\r\n to: Date;\r\n results: DaySummaryView[];\r\n totalWorkTime: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ClockingsPerUserPerDayView.cs\r\nexport interface ClockingsPerUserPerDayView {\r\n id: number;\r\n time: Date;\r\n timeUtc: Date;\r\n userId: string;\r\n userFullName: string;\r\n type: ClockingType;\r\n comments: string;\r\n latitude?: number;\r\n longitude?: number;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n clientType: ClientType;\r\n address: string;\r\n imageUrl: string;\r\n userTitle: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ClockingStatusView.cs\r\nexport interface ClockingStatusView {\r\n allowedActions: ClockingType[];\r\n currentShift: ShiftView;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ClockingView.cs\r\nexport interface ClockingView {\r\n id: number;\r\n time: Date;\r\n timeUtc: Date;\r\n userId: string;\r\n type: ClockingType;\r\n comments: string;\r\n latitude?: number;\r\n longitude?: number;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n clientType: ClientType;\r\n address: string;\r\n imageUrl: string;\r\n isEdited: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\CompanyLeaveView.cs\r\nexport interface CompanyLeaveView {\r\n id: number;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n quotaType: QuotaType;\r\n isCummulative: boolean;\r\n annuallyResets: boolean;\r\n includeNonWorkingrDays: boolean;\r\n leaveOverlapsOtherLeaves: boolean;\r\n leaveTypeId: number;\r\n attachmentRequired: boolean;\r\n leaveType: LeaveType;\r\n companyId: number;\r\n countryId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\CompanyRulesView.cs\r\nexport interface CompanyRulesView {\r\n id: number;\r\n attendanceImageConfig: AttendanceImageConfig;\r\n faceRecognitionConfig: FaceRecognitionConfig;\r\n shiftFlowRuleType: ShiftFlowRuleType;\r\n shiftScheduleType: ShiftScheduleType;\r\n triggerOvertimeVerificationOn: TriggerOvertimeVerificationOn;\r\n timesheetCreationDay: number;\r\n hideClockingImagesFromTimesheet: boolean;\r\n disableAllNotifications: boolean;\r\n faceRecognitionEnabled: boolean;\r\n leavesApprovalLimitedToSupervisor: boolean;\r\n breakConfig: BreakConfig;\r\n companyId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\CompanyView.cs\r\nexport interface CompanyView {\r\n id: number;\r\n name: string;\r\n numberofUsers: number;\r\n licenseExpireOn: Date;\r\n plan: string;\r\n imageUrl: string;\r\n fax: string;\r\n address: string;\r\n email: string;\r\n phoneNumber: string;\r\n websiteLink: string;\r\n rolesMaxUsers: any;\r\n rolesUsersAvailable: any;\r\n primaryColor: string;\r\n attendanceImageConfig: AttendanceImageConfig;\r\n faceRecognitionConfig: FaceRecognitionConfig;\r\n shiftFlowRuleType: ShiftFlowRuleType;\r\n timeZone: string;\r\n defaultStartTime: string;\r\n defaultEndTime: string;\r\n timesheetCreationDay: number;\r\n status: string;\r\n trialDays: number;\r\n hideClockingImagesFromTimesheet: boolean;\r\n disableAllNotifications: boolean;\r\n faceRecognitionEnabled: boolean;\r\n locales: string;\r\n country: CountryView;\r\n companyRules: CompanyRulesView;\r\n organization: OrganizationView;\r\n subscriptionPlanView: SubscriptionPlanView;\r\n workplaces: WorkplaceModel[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\CountryView.cs\r\nexport interface CountryView {\r\n id: number;\r\n name: string;\r\n isGcc: boolean;\r\n iso: string;\r\n nicename: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\DaySummaryView.cs\r\nexport interface DaySummaryView {\r\n shifts: ShiftView[];\r\n workingTime: string;\r\n breaksTime: string;\r\n dayStatus: DayStatus;\r\n shiftScheduleType: ShiftScheduleType;\r\n scheduledShifts: ScheduledShiftView[];\r\n dayStartEndHoursAndMinutes: number[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\DepartmentView.cs\r\nexport interface DepartmentView {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\EmailChangedView.cs\r\nexport interface EmailChangedView {\r\n firstName: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\EndShiftView.cs\r\nexport interface EndShiftView {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\Error.cs\r\nexport interface Error {\r\n code: string;\r\n description: string;\r\n path: string;\r\n time?: Date;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\FaceRecognitionEmail.cs\r\nexport interface FaceRecognitionEmail {\r\n username: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\FaceRecognitionResultView.cs\r\nexport interface FaceRecognitionResultView {\r\n status: number;\r\n payload: boolean;\r\n message: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\GenericRequestsView.cs\r\nexport interface GenericRequestsView {\r\n list: GenericRequestView[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\GenericRequestView.cs\r\nexport interface GenericRequestView {\r\n requestType: GenericRequestType;\r\n user: UserViewSimple;\r\n id: number;\r\n userId: string;\r\n leaveType: string;\r\n startDate: Date;\r\n fromHalfDay?: boolean;\r\n endDate: Date;\r\n toHalfDay?: boolean;\r\n lastUpdate: Date;\r\n status: LeaveRequestStatus;\r\n comments: string;\r\n supervisorName: string;\r\n supervisorComments: string;\r\n quotaUnit: QuotaUnit;\r\n attachmentCount: number;\r\n attachmentRequired: boolean;\r\n numberOfDays: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\GenericRequestView.cs\r\nexport enum GenericRequestType {\r\n LeaveRequest = 'LeaveRequest',\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\HolidayConfigView.cs\r\nexport interface HolidayConfigView {\r\n id: number;\r\n enabled: boolean;\r\n date: Date;\r\n holidayId: number;\r\n holiday: Holiday;\r\n companyId: number;\r\n company: Company;\r\n countryId: number;\r\n country: Country;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\HolidayNotificationView.cs\r\nexport interface HolidayNotificationView {\r\n companyHolidayId: number;\r\n holidayName: string;\r\n date: Date;\r\n dateString: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n companyId: number;\r\n countryId: number;\r\n currentUserFirstName: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\HolidaysConfigView.cs\r\nexport interface HolidaysConfigView {\r\n holidayConfigInputList: HolidayConfigView[];\r\n holidaysCount: number;\r\n countriesCount: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\HolidayView.cs\r\nexport interface HolidayView {\r\n id: number;\r\n name: string;\r\n description: string;\r\n date: Date;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\InBreakVerificationView.cs\r\nexport interface InBreakVerificationView {\r\n userId: string;\r\n shiftId: number;\r\n email: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeaveBalanceView.cs\r\nexport interface LeaveBalanceView {\r\n leaveTypeId: number;\r\n leaveType: string;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n balance: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeaveRequestAttachmentView.cs\r\nexport interface LeaveRequestAttachmentView {\r\n id: number;\r\n name: string;\r\n extention: string;\r\n byteLength: number;\r\n path: string;\r\n createdOn: Date;\r\n userLeaveRequestId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeaveRequestsView.cs\r\nexport interface LeaveRequestsView {\r\n isSupervisor: boolean;\r\n leaveRequests: LeaveRequestView[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeaveRequestView.cs\r\nexport interface LeaveRequestView {\r\n id: number;\r\n userId: string;\r\n user: UserViewSimple;\r\n leaveType: string;\r\n startDate: Date;\r\n fromHalfDay?: boolean;\r\n fromHalfDayPart: HalfDayPart;\r\n endDate: Date;\r\n toHalfDay?: boolean;\r\n toHalfDayPart: HalfDayPart;\r\n lastUpdate: Date;\r\n status: LeaveRequestStatus;\r\n comments: string;\r\n supervisorName: string;\r\n supervisorComments: string;\r\n quotaUnit: QuotaUnit;\r\n attachmentCount: number;\r\n attachmentRequired: boolean;\r\n numberOfDays: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeavesBalanceReportView.cs\r\nexport interface LeavesBalanceReportView {\r\n user: UserView;\r\n leaveType: string;\r\n leaveTypeId: number;\r\n quota: number;\r\n balance: number;\r\n leavesRequested: number;\r\n supervisorUsernames: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeavesConfigView.cs\r\nexport interface LeavesConfigView {\r\n leavesConfig: LeaveConfigInput[];\r\n leaveTypesCount: number;\r\n countriesCount: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeavesReportView.cs\r\nexport interface LeavesReportView {\r\n user: UserView;\r\n comments: string;\r\n leaveType: string;\r\n isApproved: boolean;\r\n startDate: Date;\r\n endDate: Date;\r\n numberOfDays: number;\r\n supervisor: UserView;\r\n supervisorComments: string;\r\n attachementsCount: number;\r\n leaveRequestStatus: LeaveRequestStatus;\r\n balanceDeducted: number;\r\n quotaUnit: QuotaUnit;\r\n leaveTypeId: number;\r\n status: LeaveRequestStatus;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LeaveTypeView.cs\r\nexport interface LeaveTypeView {\r\n id: number;\r\n name: string;\r\n companyId: number;\r\n quotaUnit: QuotaUnit;\r\n attachmentRequired: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LogAttachmentView.cs\r\nexport interface LogAttachmentView {\r\n id: number;\r\n name: string;\r\n extention: string;\r\n byteLength: number;\r\n path: string;\r\n createdOn: Date;\r\n logId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LoginResponse.cs\r\nexport interface LoginResponse {\r\n accessToken: string;\r\n accessTokenExpiresIn: number;\r\n refreshTokenExpiresIn: number;\r\n firstLogin: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\LogView.cs\r\nexport interface LogView {\r\n id: number;\r\n message: string;\r\n logType: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\NotificationsResponseView.cs\r\nexport interface NotificationsResponseView {\r\n notificationsTotalCount: number;\r\n notificationsTotalUnreadCount: number;\r\n notificationsList: Notification[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\OrganizationView.cs\r\nexport interface OrganizationView {\r\n id: number;\r\n name: string;\r\n numberofUsers: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\OvertimeReportView.cs\r\nexport interface OvertimeReportView {\r\n user: UserView;\r\n date: Date;\r\n approvedOvertimeHours: number;\r\n supervisorNames: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\OvertimeVerificationView.cs\r\nexport interface OvertimeVerificationView {\r\n userId: string;\r\n shiftId: number;\r\n email: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n baseUrl: string;\r\n timezoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\PaginationView.cs\r\nexport interface PaginationView {\r\n results: T[];\r\n offset: number;\r\n count: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\PoolView.cs\r\nexport interface PoolView {\r\n id: string;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ReportSchedulerView.cs\r\nexport interface ReportSchedulerView {\r\n companyId: number;\r\n reportName: string;\r\n subject: string;\r\n template: string;\r\n model: ReportCreationTemplateModel;\r\n fromDate: Date;\r\n toDate: Date;\r\n usersTo: string;\r\n usersCc: string;\r\n timezoneId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\RequestModel.cs\r\nexport interface RequestModel {\r\n id: number;\r\n title: string;\r\n description: string;\r\n status: string;\r\n statusId: number;\r\n priority: string;\r\n priorityId?: number;\r\n createdDate: Date;\r\n expectedDate: Date;\r\n closedDate: Date;\r\n assignedUsers: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\Result.cs\r\nexport interface Result {\r\n payload: TPayload;\r\n status: number;\r\n errors: Error[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ScheduledShiftView.cs\r\nexport interface ScheduledShiftView {\r\n id: number;\r\n startTime: Date;\r\n endTime: Date;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ShiftHistoryView.cs\r\nexport interface ShiftHistoryView {\r\n id: number;\r\n shiftId?: number;\r\n breakId?: number;\r\n shiftUserId: string;\r\n updatedById: string;\r\n updatedByFullName: string;\r\n clockingType: ClockingType;\r\n oldClockTime: Date;\r\n newClockTime: Date;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ShiftReportView.cs\r\nexport interface ShiftReportView {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n clockInTime: Date;\r\n clockInTimeUtc: Date;\r\n clockInLongitude?: number;\r\n clockInLatitude?: number;\r\n clockInClientType: ClientType;\r\n clockInImageUrl: string;\r\n clockInComments: string;\r\n clockInAddress: string;\r\n clockOutTime?: Date;\r\n clockOutTimeUtc?: Date;\r\n clockOutLongitude?: number;\r\n clockOutLatitude?: number;\r\n clockOutClientType: ClientType;\r\n clockOutImageUrl: string;\r\n clockOutComments: string;\r\n clockOutAddress: string;\r\n breaks: BreakView[];\r\n scheduledShift: ScheduledShift;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n hasEnded: boolean;\r\n workingDuration: string;\r\n breaksDuration: string;\r\n overtimeDuration: string;\r\n totalWorkingDuration: string;\r\n totalBreaksDuration: string;\r\n totalOvertimeDuration: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\ShiftView.cs\r\nexport interface ShiftView {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n clockInTime: Date;\r\n clockInTimeUtc: Date;\r\n clockInLongitude?: number;\r\n clockInLatitude?: number;\r\n clockInClientType: ClientType;\r\n clockInImageUrl: string;\r\n clockInComments: string;\r\n clockInAddress: string;\r\n clockInCountry: string;\r\n clockOutTime?: Date;\r\n clockOutTimeUtc?: Date;\r\n clockOutLongitude?: number;\r\n clockOutLatitude?: number;\r\n clockOutClientType: ClientType;\r\n clockOutImageUrl: string;\r\n clockOutComments: string;\r\n clockOutAddress: string;\r\n clockOutCountry: string;\r\n breaks: BreakView[];\r\n scheduledShift: ScheduledShift;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n isEdited: boolean;\r\n hasEnded: boolean;\r\n workingDuration: string;\r\n breaksDuration: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\SubscriptionPlanView.cs\r\nexport interface SubscriptionPlanView {\r\n id: number;\r\n name: string;\r\n monthlyPricePerUser?: number;\r\n yearlyPricePerUser?: number;\r\n duration?: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\TimesheetTableView.cs\r\nexport interface TimesheetTableView {\r\n fullName: string;\r\n from: Date;\r\n to: Date;\r\n daysSummaryView: DaySummaryView[];\r\n daysClockings: ClockingView[][];\r\n totalWorkTime: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\TimesheetView.cs\r\nexport interface TimesheetView {\r\n id: number;\r\n from: Date;\r\n to: Date;\r\n createdOn?: Date;\r\n comment: string;\r\n isArchived: boolean;\r\n userId: string;\r\n user: User;\r\n supervisorId: string;\r\n supervisor: User;\r\n timesheetStatusId: number;\r\n timesheetStatus: TimesheetStatus;\r\n isSupervisor: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\TimeZoneInfoView.cs\r\nexport interface TimeZoneInfoView {\r\n id: string;\r\n displayName: string;\r\n baseUtcOffset: string;\r\n standardName: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\Token.cs\r\nexport interface Token {\r\n accessToken: string;\r\n refreshToken: string;\r\n expiresIn: number;\r\n firstLogin: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\TrialCreatedView.cs\r\nexport interface TrialCreatedView {\r\n companyName: string;\r\n baseUrl: string;\r\n guideUrl: string;\r\n days: number;\r\n email: string;\r\n password: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\TrialExpiryView.cs\r\nexport interface TrialExpiryView {\r\n companyId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserActivityView.cs\r\nexport interface UserActivityView extends UserView {\r\n shiftId: number;\r\n latitude: number;\r\n longitude: number;\r\n countryName: string;\r\n lastActivity: ClockingType;\r\n lastActivityTime: Date;\r\n lastActivityDuration: string;\r\n workingDuration: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserFaceImageView.cs\r\nexport interface UserFaceImageView {\r\n id: number;\r\n path: string;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserLeaveQuotaAndBalanceView.cs\r\nexport interface UserLeaveQuotaAndBalanceView {\r\n id: number;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n quotaType: QuotaType;\r\n isCummulative: boolean;\r\n annuallyResets: boolean;\r\n includeNonWorkingrDays: boolean;\r\n leaveOverlapsOtherLeaves: boolean;\r\n balance: number;\r\n inheritedFromCompany: boolean;\r\n attachmentRequired: boolean;\r\n userId: string;\r\n leaveTypeId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserRulesView.cs\r\nexport interface UserRulesView {\r\n id: number;\r\n attendanceImageConfig: UserAttendanceImageConfig;\r\n faceRecognitionConfig: UserFaceRecognitionConfig;\r\n workplaceConfig: WorkplaceConfig;\r\n shiftScheduleType: UserShiftScheduleType;\r\n userId: string;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UsersMissedClockInNotificationView.cs\r\nexport interface UsersMissedClockInNotificationView {\r\n baseUrl: string;\r\n timezoneId: string;\r\n companyId: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UsersStatusesReportView.cs\r\nexport interface UsersStatusesReportView {\r\n user: UserView;\r\n status: UserStatus;\r\n clockInTimes: Date[];\r\n clockOutTimes: Date[];\r\n totalBreaksHours: number;\r\n totalWorkHours: number;\r\n overtimeHours: number;\r\n date: Date;\r\n leaveRequestView: LeaveRequestView;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserView.cs\r\nexport interface UserView {\r\n id: string;\r\n employeeId: string;\r\n userName: string;\r\n email: string;\r\n imageUrl: string;\r\n company: UserCompanyView;\r\n role: string;\r\n country: CountryView;\r\n title: string;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n linkedInUrl: string;\r\n birthDate?: Date;\r\n branchId?: number;\r\n branch: BranchView;\r\n departmentId?: number;\r\n department: DepartmentView;\r\n phoneNumber: string;\r\n currentWorkingDuration: number;\r\n timeZone: string;\r\n locale: string;\r\n fiscalYearStartingMonth: number;\r\n isSupervisor: boolean;\r\n currentStatus: UserCurrentStatus;\r\n currentCustomStatusText: string;\r\n userRulesId: number;\r\n userRules: UserRulesView;\r\n workplaces: WorkplaceModel[];\r\n supervisorIds: string[];\r\n createdOn: Date;\r\n isArchived: boolean;\r\n userFaceImage: UserFaceImage;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserView.UserCompanyView.cs\r\nexport interface UserCompanyView {\r\n id: number;\r\n name: string;\r\n numberofUsers: number;\r\n licenseExpireOn: Date;\r\n plan: string;\r\n imageUrl: string;\r\n primaryColor: string;\r\n locales: string;\r\n attendanceImageConfig: AttendanceImageConfig;\r\n faceRecognitionConfig: FaceRecognitionConfig;\r\n shiftScheduleType: ShiftScheduleType;\r\n hideClockingImagesFromTimesheet: boolean;\r\n faceRecognitionEnabled: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserViewSimple.cs\r\nexport interface UserViewSimple {\r\n id: string;\r\n userName: string;\r\n email: string;\r\n imageUrl: string;\r\n companyId: number;\r\n role: string;\r\n title: string;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n phoneNumber: string;\r\n supervisorIds: string[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\UserWeekendInput.cs\r\nexport interface UserWeekendInput {\r\n userId: string;\r\n listOfWeekend: number[];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\WeekScheduleView.cs\r\nexport interface WeekScheduleView {\r\n id: number;\r\n companyId: number;\r\n userId: string;\r\n weekStartEndHoursAndMinutes: number[][];\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\WorkplaceModel.cs\r\nexport interface LatLng {\r\n lat: number;\r\n lng: number;\r\n}\r\n\r\n// ..\\BluAttendance.Core\\ViewModels\\WorkplaceModel.cs\r\nexport interface WorkplaceModel {\r\n id: number;\r\n bounds: LatLng[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Branch.cs\r\nexport interface Branch extends Record {\r\n id: number;\r\n name: string;\r\n companyId: number;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Break.cs\r\nexport interface Break extends Record {\r\n id: number;\r\n shiftId: number;\r\n shift: Shift;\r\n breakInTime: Date;\r\n breakInTimeUtc: Date;\r\n breakInLatitude?: number;\r\n breakInLongitude?: number;\r\n breakInClientType: ClientType;\r\n breakInImageUrl: string;\r\n breakInComments: string;\r\n breakInAddress: string;\r\n breakInCountry: string;\r\n breakOutTime?: Date;\r\n breakOutTimeUtc?: Date;\r\n breakOutLatitude?: number;\r\n breakOutLongitude?: number;\r\n breakOutClientType: ClientType;\r\n breakOutImageUrl: string;\r\n breakOutComments: string;\r\n breakOutAddress: string;\r\n breakOutCountry: string;\r\n hasEnded: boolean;\r\n duration?: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ClientType.cs\r\nexport enum ClientType {\r\n Web = 'Web',\r\n Mobile = 'Mobile',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ClockingType.cs\r\nexport enum ClockingType {\r\n ClockIn = 'ClockIn',\r\n BreakIn = 'BreakIn',\r\n BreakOut = 'BreakOut',\r\n ClockOut = 'ClockOut',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Company.cs\r\nexport interface Company extends Record {\r\n id: number;\r\n name: string;\r\n imageUrl: string;\r\n organizationId?: number;\r\n email: string;\r\n websiteLink: string;\r\n address: string;\r\n phoneNumber: string;\r\n fax: string;\r\n primaryColor: string;\r\n countryId?: number;\r\n timeZone: string;\r\n defaultStartTime: string;\r\n defaultEndTime: string;\r\n locales: string;\r\n country: Country;\r\n organization: Organization;\r\n companyRules: CompanyRules;\r\n weekSchedule: WeekSchedule;\r\n users: User[];\r\n workplaces: Workplace[];\r\n companyLeaves: CompanyLeave[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyHoliday.cs\r\nexport interface CompanyHoliday extends Record {\r\n id: number;\r\n date: Date;\r\n holidayId: number;\r\n holiday: Holiday;\r\n companyId: number;\r\n company: Company;\r\n countryId: number;\r\n country: Country;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyLeave.cs\r\nexport interface CompanyLeave extends Record {\r\n id: number;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n quotaType: QuotaType;\r\n isCummulative: boolean;\r\n annuallyResets: boolean;\r\n includeNonWorkingrDays: boolean;\r\n leaveOverlapsOtherLeaves: boolean;\r\n leaveTypeId: number;\r\n attachmentRequired: boolean;\r\n leaveType: LeaveType;\r\n companyId: number;\r\n company: Company;\r\n countryId: number;\r\n country: Country;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyLeaveType.cs\r\nexport interface CompanyLeaveType extends Record {\r\n id: number;\r\n leaveTypeId: number;\r\n companyId: number;\r\n leaveType: LeaveType;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyNotificationType.cs\r\nexport interface CompanyNotificationType extends Record {\r\n id: number;\r\n emailsDisabled: boolean;\r\n mobilePushNotificationsDisabled: boolean;\r\n companyId: number;\r\n company: Company;\r\n notificationTypeId: number;\r\n notificationType: NotificationType;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport interface CompanyRules extends Record {\r\n id: number;\r\n attendanceImageConfig: AttendanceImageConfig;\r\n faceRecognitionConfig: FaceRecognitionConfig;\r\n shiftFlowRuleType: ShiftFlowRuleType;\r\n timesheetCreationDay: number;\r\n hideClockingImagesFromTimesheet: boolean;\r\n disableAllNotifications: boolean;\r\n faceRecognitionEnabled: boolean;\r\n leavesApprovalLimitedToSupervisor: boolean;\r\n breakConfig: BreakConfig;\r\n shiftScheduleType: ShiftScheduleType;\r\n triggerOvertimeVerificationOn: TriggerOvertimeVerificationOn;\r\n companyId: number;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum AttendanceImageConfig {\r\n Required = 'Required',\r\n NotRequired = 'NotRequired',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum FaceRecognitionConfig {\r\n Required = 'Required',\r\n NotRequired = 'NotRequired',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum ShiftFlowRuleType {\r\n Default = 'Default',\r\n BoundByWorkingHours = 'BoundByWorkingHours',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum ShiftScheduleType {\r\n FixedWeekSchedule = 'FixedWeekSchedule',\r\n VariableShiftSchedule = 'VariableShiftSchedule',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum TriggerOvertimeVerificationOn {\r\n ShiftWorkingHoursFullfiled = 'ShiftWorkingHoursFullfiled',\r\n ShiftEndTime = 'ShiftEndTime',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\CompanyRules.cs\r\nexport enum BreakConfig {\r\n Required = 'Required',\r\n NotRequired = 'NotRequired',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Country.cs\r\nexport interface Country extends Record {\r\n id: number;\r\n name: string;\r\n iso: string;\r\n nicename: string;\r\n iso3: string;\r\n numCode?: number;\r\n phoneCode: number;\r\n isGcc: boolean;\r\n companies: Company[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Currency.cs\r\nexport interface Currency extends Record {\r\n id: number;\r\n name: string;\r\n symbol: string;\r\n rate: number;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\DayStatus.cs\r\nexport enum DayStatus {\r\n Leave = 'Leave',\r\n Holiday = 'Holiday',\r\n Present = 'Present',\r\n SickLeave = 'SickLeave',\r\n WeekOffDay = 'WeekOffDay',\r\n HalfDayLeave = 'HalfDayLeave',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Department.cs\r\nexport interface Department extends Record {\r\n id: number;\r\n name: string;\r\n companyId: number;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\EmailTask.cs\r\nexport interface EmailTask {\r\n id: number;\r\n to: string;\r\n createdOn: Date;\r\n modelJson: string;\r\n status: EmailTaskStatus;\r\n template: EmailTemplate;\r\n subscriptionId?: number;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\EmailTask.cs\r\nexport enum EmailTaskStatus {\r\n Pending = 'Pending',\r\n Sent = 'Sent',\r\n Error = 'Error',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\EmailTask.cs\r\nexport enum EmailTemplate {\r\n VerifyEmail = 'VerifyEmail',\r\n ResetPassword = 'ResetPassword',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\FaceRecognitionLog.cs\r\nexport interface FaceRecognitionLog extends Record {\r\n id: number;\r\n message: string;\r\n isRecognized: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Holiday.cs\r\nexport interface Holiday extends Record {\r\n id: number;\r\n name: string;\r\n description: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\IRecord.cs\r\nexport interface IRecord {\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n createdBy: User;\r\n updatedById: string;\r\n updatedBy: User;\r\n isArchived: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveBalanceHistory .cs\r\nexport interface LeaveBalanceHistory extends Record {\r\n id: number;\r\n userId: string;\r\n balanceBefore: number;\r\n balanceAfter: number;\r\n leavetypeId: number;\r\n action: Action;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveBalanceHistory .cs\r\nexport enum Action {\r\n leaveRequest = 'leaveRequest',\r\n leaveRejection = 'leaveRejection',\r\n leaveApproval = 'leaveApproval',\r\n balanceUpdate = 'balanceUpdate',\r\n undoLeaveApproval = 'undoLeaveApproval',\r\n undoLeaveRejection = 'undoLeaveRejection',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveRequestAttachment.cs\r\nexport interface LeaveRequestAttachment extends Record {\r\n id: number;\r\n name: string;\r\n extention: string;\r\n byteLength: number;\r\n path: string;\r\n userLeaveRequestId: number;\r\n userLeaveRequest: UserLeaveRequest;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveType.cs\r\nexport interface LeaveType extends Record {\r\n id: number;\r\n name: string;\r\n companyId: number;\r\n userLeaveQuotaAndBalances: UserLeaveQuotaAndBalance[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveType.cs\r\nexport enum QuotaType {\r\n Annual = 'Annual',\r\n Monthly = 'Monthly',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LeaveType.cs\r\nexport enum QuotaUnit {\r\n Days = 'Days',\r\n Hours = 'Hours',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\License.cs\r\nexport interface License extends Record {\r\n id: number;\r\n planId?: number;\r\n companyId: number;\r\n maxUsers: number;\r\n price: number;\r\n expiresOn: Date;\r\n plan: SubscriptionPlan;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Log.cs\r\nexport interface Log extends Record {\r\n id: number;\r\n logType: LogType;\r\n logSource: LogSource;\r\n message: string;\r\n stackTrace: string;\r\n source: string;\r\n path: string;\r\n protocol: string;\r\n method: string;\r\n clientIpAddress: string;\r\n clientUserAgent: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Log.cs\r\nexport enum LogType {\r\n Info = 'Info',\r\n Warning = 'Warning',\r\n Error = 'Error',\r\n BugReport = 'BugReport',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Log.cs\r\nexport enum LogSource {\r\n Request = 'Request',\r\n FCM = 'FCM',\r\n RefreshToken = 'RefreshToken',\r\n Login = 'Login',\r\n LeaveBalanceUpdate = 'LeaveBalanceUpdate',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\LogAttachment.cs\r\nexport interface LogAttachment extends Record {\r\n id: number;\r\n name: string;\r\n extention: string;\r\n byteLength: number;\r\n path: string;\r\n logId: number;\r\n log: Log;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Notification.cs\r\nexport interface Notification extends Record {\r\n id: number;\r\n title: string;\r\n titleParams: string;\r\n body: string;\r\n bodyParams: string;\r\n emailTemplate: string;\r\n dataJson: string;\r\n notificationUrl: string;\r\n imageUrl: string;\r\n isRead: boolean;\r\n notificationTypeId?: number;\r\n notificationType: NotificationType;\r\n fromId: string;\r\n from: User;\r\n toId: string;\r\n ccIds: string;\r\n excludedToAndCcIds: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\NotificationImage.cs\r\nexport interface NotificationImage extends Record {\r\n id: number;\r\n name: string;\r\n extention: string;\r\n byteLength: number;\r\n path: string;\r\n notificationId: number;\r\n notification: Notification;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\NotificationType.cs\r\nexport interface NotificationType {\r\n id: number;\r\n name: string;\r\n defaultTitle: string;\r\n defaultBody: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Organization.cs\r\nexport interface Organization extends Record {\r\n id: number;\r\n name: string;\r\n companies: Company[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\OverlappedLeaveDay.cs\r\nexport interface OverlappedLeaveDay extends Record {\r\n id: number;\r\n dayOverlapped: Date;\r\n hoursOverlapped: number;\r\n userLeaveRequestId: number;\r\n userLeaveRequest: UserLeaveRequest;\r\n overlappedUserLeaveRequestId: number;\r\n overlappedUserLeaveRequest: UserLeaveRequest;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\PerformanceTimeLog.cs\r\nexport interface PerformanceTimeLog extends Record {\r\n id: number;\r\n action: string;\r\n startLineNumber: number;\r\n stopLineNumber: number;\r\n timeTaken: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Pool.cs\r\nexport interface Pool extends Record {\r\n id: string;\r\n name: string;\r\n users: User[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Priority.cs\r\nexport interface Priority {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Record.cs\r\nexport interface Record extends IRecord {\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n createdBy: User;\r\n updatedById: string;\r\n updatedBy: User;\r\n isArchived: boolean;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ReportSchedulingConfig.cs\r\nexport interface ReportSchedulingConfig extends Record {\r\n id: number;\r\n reportName: string;\r\n companyId: number;\r\n companyName: string;\r\n companyTimezone: string;\r\n usersTo: string;\r\n usersCc: string;\r\n cronExpression: string;\r\n daysBeforeDate: number;\r\n daysAfterDate: number;\r\n parameters: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Request.cs\r\nexport interface Request extends Record {\r\n id: number;\r\n closedDate: Date;\r\n expectedClosedDate: Date;\r\n title: string;\r\n description: string;\r\n requestedById: string;\r\n requestStatusId: number;\r\n requestPriorityId?: number;\r\n requestStatus: RequestStatus;\r\n requestedBy: User;\r\n requestPriority: Priority;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\RequestStatus.cs\r\nexport interface RequestStatus {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Role.cs\r\nexport interface Role {\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n haveAuthorityOverRoles: string;\r\n createdBy: User;\r\n updatedBy: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Role.cs\r\nexport enum Roles {\r\n Clocking = 'Clocking',\r\n Hr = 'Hr',\r\n Chief = 'Chief',\r\n Admin = 'Admin',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\RoleLicense.cs\r\nexport interface RoleLicense extends Record {\r\n id: number;\r\n roleId: string;\r\n licenseId: number;\r\n maxUsers: number;\r\n role: Role;\r\n license: License;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ScheduledShift.cs\r\nexport interface ScheduledShift extends Record {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n startTime: Date;\r\n endTime: Date;\r\n shiftId?: number;\r\n shift: Shift;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ScheduleHistory.cs\r\nexport interface ScheduleHistory extends Record {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n scheduleStartTime: Date;\r\n scheduleEndTime?: Date;\r\n shiftScheduleType: ShiftScheduleType;\r\n weekStartEndHoursAndMinutes: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Shift.cs\r\nexport interface Shift extends Record {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n clockInTime: Date;\r\n clockInTimeUtc: Date;\r\n clockInLongitude?: number;\r\n clockInLatitude?: number;\r\n clockInClientType: ClientType;\r\n clockInImageUrl: string;\r\n clockInComments: string;\r\n clockInAddress: string;\r\n clockInCountry: string;\r\n clockOutTime?: Date;\r\n clockOutTimeUtc?: Date;\r\n clockOutLongitude?: number;\r\n clockOutLatitude?: number;\r\n clockOutClientType: ClientType;\r\n clockOutImageUrl: string;\r\n clockOutComments: string;\r\n clockOutAddress: string;\r\n clockOutCountry: string;\r\n hasEnded: boolean;\r\n breaks: Break[];\r\n scheduledShift: ScheduledShift;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\ShiftUpdatesHistory.cs\r\nexport interface ShiftUpdatesHistory {\r\n id: number;\r\n shiftId?: number;\r\n breakId?: number;\r\n shiftUserId: string;\r\n updatedById: string;\r\n clockingType: ClockingType;\r\n oldClockTime: Date;\r\n newClockTime: Date;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\StatusHistory.cs\r\nexport interface StatusHistory extends Record {\r\n id: number;\r\n status: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\SubscriptionPlan.cs\r\nexport interface SubscriptionPlan extends Record {\r\n id: number;\r\n name: string;\r\n monthlyPricePerUser?: number;\r\n yearlyPricePerUser?: number;\r\n duration?: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Timesheet.cs\r\nexport interface Timesheet {\r\n id: number;\r\n from: Date;\r\n to: Date;\r\n createdOn?: Date;\r\n comment: string;\r\n isArchived: boolean;\r\n userId: string;\r\n user: User;\r\n supervisorId: string;\r\n supervisor: User;\r\n timesheetStatusId: number;\r\n timesheetStatus: TimesheetStatus;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\TimesheetStatus.cs\r\nexport interface TimesheetStatus {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\TrialCompanyData.cs\r\nexport interface TrialCompanyData extends Record {\r\n id: number;\r\n industry: string;\r\n size: string;\r\n days: number;\r\n reference: string;\r\n companyId: number;\r\n company: Company;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\User.cs\r\nexport interface User {\r\n title: string;\r\n employeeId: string;\r\n branchId?: number;\r\n branch: Branch;\r\n departmentId?: number;\r\n department: Department;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n linkedInUrl: string;\r\n birthDate?: Date;\r\n fcmToken: string;\r\n imageUrl: string;\r\n timeZone: string;\r\n locale: string;\r\n fiscalYearStartingMonth: number;\r\n currentStatus: UserCurrentStatus;\r\n currentCustomStatusText: string;\r\n predifinedImagesValidForFaceRecognition: boolean;\r\n companyId?: number;\r\n company: Company;\r\n countryId?: number;\r\n country: Country;\r\n userRules: UserRules;\r\n organizations: Organization[];\r\n shifts: Shift[];\r\n workplaces: Workplace[];\r\n weekSchedule: WeekSchedule;\r\n createdOn: Date;\r\n updatedOn?: Date;\r\n createdById: string;\r\n updatedById: string;\r\n isArchived: boolean;\r\n createdBy: User;\r\n updatedBy: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserCurrentStatus.cs\r\nexport enum UserCurrentStatus {\r\n Unknown = 'Unknown',\r\n Available = 'Available',\r\n Unavailable = 'Unavailable',\r\n Break = 'Break',\r\n Leave = 'Leave',\r\n Holiday = 'Holiday',\r\n HalfDayLeave = 'HalfDayLeave',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserFaceImage.cs\r\nexport interface UserFaceImage extends Record {\r\n id: number;\r\n path: string;\r\n userId: string;\r\n imageSource: ImageSource;\r\n user: User;\r\n labeledFaceDescriptors: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserFaceImage.cs\r\nexport enum ImageSource {\r\n Profile = 'Profile',\r\n Attendance = 'Attendance',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserLeaveQuotaAndBalance.cs\r\nexport interface UserLeaveQuotaAndBalance extends Record {\r\n id: number;\r\n quota: number;\r\n quotaUnit: QuotaUnit;\r\n quotaType: QuotaType;\r\n isCummulative: boolean;\r\n annuallyResets: boolean;\r\n includeNonWorkingrDays: boolean;\r\n leaveOverlapsOtherLeaves: boolean;\r\n balance: number;\r\n inheritedFromCompany: boolean;\r\n attachmentRequired: boolean;\r\n userId: string;\r\n user: User;\r\n leaveTypeId: number;\r\n leaveType: LeaveType;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserLeaveRequest.cs\r\nexport interface UserLeaveRequest extends Record {\r\n id: number;\r\n quotaUnit: QuotaUnit;\r\n includeNonWorkingrDays: boolean;\r\n startDate: Date;\r\n fromHalfDay: boolean;\r\n fromHalfDayPart: HalfDayPart;\r\n endDate: Date;\r\n toHalfDay: boolean;\r\n toHalfDayPart: HalfDayPart;\r\n comments: string;\r\n supervisorComments: string;\r\n status: LeaveRequestStatus;\r\n balanceDeducted: number;\r\n overlapedByBalance: number;\r\n userId: string;\r\n user: User;\r\n supervisorId: string;\r\n supervisor: User;\r\n leaveTypeId: number;\r\n leaveType: LeaveType;\r\n attachmentRequired: boolean;\r\n leaveRequestAttachements: LeaveRequestAttachment[];\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserLeaveRequest.cs\r\nexport enum LeaveRequestStatus {\r\n Pending = 'Pending',\r\n Approved = 'Approved',\r\n Rejected = 'Rejected',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserLeaveRequest.cs\r\nexport enum HalfDayPart {\r\n AM = 'AM',\r\n PM = 'PM',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRefreshToken.cs\r\nexport interface UserRefreshToken {\r\n id: number;\r\n token: string;\r\n expires?: Date;\r\n isExpired: boolean;\r\n created: Date;\r\n createdByIp: string;\r\n revoked?: Date;\r\n revokedByIp: string;\r\n replacedByToken: string;\r\n isActive: boolean;\r\n userId: string;\r\n user: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRequest.cs\r\nexport interface UserRequest {\r\n id: number;\r\n userId: string;\r\n requestId: number;\r\n request: Request;\r\n user: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRole.cs\r\nexport interface UserRole {\r\n role: Role;\r\n user: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRules.cs\r\nexport interface UserRules extends Record {\r\n id: number;\r\n attendanceImageConfig: UserAttendanceImageConfig;\r\n faceRecognitionConfig: UserFaceRecognitionConfig;\r\n workplaceConfig: WorkplaceConfig;\r\n shiftScheduleType: UserShiftScheduleType;\r\n userId: string;\r\n user: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRules.cs\r\nexport enum UserAttendanceImageConfig {\r\n Required = 'Required',\r\n NotRequired = 'NotRequired',\r\n InheritedFromCompany = 'InheritedFromCompany',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRules.cs\r\nexport enum UserFaceRecognitionConfig {\r\n InheritedFromCompany = 'InheritedFromCompany',\r\n Required = 'Required',\r\n NotRequired = 'NotRequired',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserRules.cs\r\nexport enum UserShiftScheduleType {\r\n InheritedFromCompany = 'InheritedFromCompany',\r\n FixedWeekSchedule = 'FixedWeekSchedule',\r\n VariableShiftSchedule = 'VariableShiftSchedule',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserStatus.cs\r\nexport enum UserStatus {\r\n Available = 'Available',\r\n WorkingHoursNotFulfilled = 'WorkingHoursNotFulfilled',\r\n Abscent = 'Abscent',\r\n Leave = 'Leave',\r\n SickLeave = 'SickLeave',\r\n Holiday = 'Holiday',\r\n Future = 'Future',\r\n Weekend = 'Weekend',\r\n HalfDayLeave = 'HalfDayLeave',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\UserSupervisor.cs\r\nexport interface UserSupervisor extends Record {\r\n id: number;\r\n userId: string;\r\n user: User;\r\n supervisorId: string;\r\n supervisor: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\WeekDays.cs\r\nexport enum WeekDays {\r\n Sunday = 'Sunday',\r\n Monday = 'Monday',\r\n Tuesday = 'Tuesday',\r\n Wednesday = 'Wednesday',\r\n Thursday = 'Thursday',\r\n Friday = 'Friday',\r\n Saturday = 'Saturday',\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\WeekSchedule.cs\r\nexport interface WeekSchedule extends Record {\r\n id: number;\r\n companyId?: number;\r\n company: Company;\r\n userId: string;\r\n user: User;\r\n weekStartEndHoursAndMinutes: string;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Workplace.cs\r\nexport interface Workplace extends Record {\r\n id: number;\r\n companyId: number;\r\n userId: string;\r\n bounds: string;\r\n company: Company;\r\n user: User;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Workplace.cs\r\nexport interface Bound {\r\n lat: number;\r\n lng: number;\r\n}\r\n\r\n// ..\\BluAttendance.Data\\Entities\\Workplace.cs\r\nexport enum WorkplaceConfig {\r\n CompanyOrUserSpecific = 'CompanyOrUserSpecific',\r\n AnyLocation = 'AnyLocation',\r\n}\r\n","import React from \"react\";\r\n\r\ninterface ITimerProps {\r\n thickness: number;\r\n precision: number;\r\n progress: number;\r\n updateEveryMilliseconds: number;\r\n fontSize: number;\r\n text: string;\r\n secondaryText: string;\r\n primaryColor: string;\r\n secondaryColor: string;\r\n style?: React.CSSProperties;\r\n radius: number;\r\n stroke: \"butt\" | \"round\" | \"square\" | \"inherit\";\r\n}\r\n\r\nexport default class Timer extends React.Component {\r\n\r\n static defaultProps: ITimerProps = {\r\n progress: 0,\r\n text: \"\",\r\n secondaryText: \"\",\r\n thickness: 8,\r\n fontSize: 16,\r\n precision: 1000,\r\n updateEveryMilliseconds: 1000,\r\n primaryColor: \"#005AAB\",\r\n secondaryColor: \"#D8D9DB\",\r\n radius: 240,\r\n stroke: \"round\",\r\n };\r\n\r\n polarToCartesian(centerX: number, centerY: number, radius: number, angleInDegrees: number) {\r\n const angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0;\r\n\r\n return {\r\n x: centerX + (radius * Math.cos(angleInRadians)),\r\n y: centerY + (radius * Math.sin(angleInRadians)),\r\n };\r\n }\r\n\r\n describeArc(x: number, y: number, radius: number, startAngle: number, endAngle: number) {\r\n\r\n const start = this.polarToCartesian(x, y, radius, endAngle);\r\n const end = this.polarToCartesian(x, y, radius, startAngle);\r\n\r\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\r\n\r\n const d = [\r\n \"M\", start.x, start.y,\r\n \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y,\r\n ].join(\" \");\r\n\r\n return d;\r\n }\r\n\r\n calculateParams(props: ITimerProps) {\r\n const viewboxHeight = props.precision;\r\n const viewboxWidth = props.precision;\r\n const thickness = props.thickness * props.precision / 100;\r\n const fontSize = props.fontSize * props.precision / 100;\r\n\r\n const arcRadius = this.props.radius;\r\n\r\n const centerX = viewboxWidth / 2;\r\n const centerY = viewboxHeight / 2;\r\n\r\n const emptyRadius = 360 - arcRadius;\r\n const halfEmptyRadius = emptyRadius / 2;\r\n const startAngle = halfEmptyRadius - 180;\r\n const endAngle = 180 - halfEmptyRadius;\r\n const secondaryEndAngle = (arcRadius * Math.min(Math.max(props.progress, 0), 1))\r\n - 180 + halfEmptyRadius;\r\n\r\n const radius = Math.min(viewboxWidth, viewboxHeight) / 2 - thickness;\r\n\r\n return {\r\n arcPath: this.describeArc(centerX, centerY, radius, startAngle, endAngle),\r\n secondaryArcPath: this.describeArc(centerX, centerY, radius, startAngle, secondaryEndAngle),\r\n viewboxWidth,\r\n viewboxHeight,\r\n thickness,\r\n fontSize,\r\n time: \"00:00:00\",\r\n };\r\n }\r\n\r\n render() {\r\n const {\r\n thickness,\r\n viewboxHeight,\r\n viewboxWidth,\r\n arcPath,\r\n secondaryArcPath,\r\n fontSize,\r\n } = this.calculateParams(this.props);\r\n\r\n const { stroke } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.text}\r\n \r\n \r\n {this.props.secondaryText}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import { serialize } from \"object-to-formdata\";\r\nimport {\r\n LoginInput,\r\n Result,\r\n UserView,\r\n WeekScheduleView,\r\n PasswordResetInput,\r\n PasswordRecoveryInput,\r\n ProfileInput,\r\n ChangePasswordInput,\r\n SignUpInput,\r\n LoginResponse,\r\n LogoutInput,\r\n UpdateCustomStatusInput,\r\n UserRulesView,\r\n UserRulesInput,\r\n StatusHistory,\r\n LogView,\r\n LogDetailsInput,\r\n LogAttachmentInput,\r\n LogAttachmentView,\r\n LogAttachment,\r\n WeekScheduleInput,\r\n LabeledFaceDescriptorsInput\r\n} from \"../models\";\r\nimport request from \"../utils/request\";\r\n\r\nexport async function login(input: LoginInput) {\r\n const response = await request.post>(\"account/login\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function logout() {\r\n const response = await request.post(\"account/Logout\", { removeFcmToken : false });\r\n return response.data;\r\n}\r\n\r\nexport async function refreshToken() {\r\n const response = await request.post>(\"account/RefreshToken\");\r\n return response.data;\r\n}\r\n\r\nexport async function getUserInfo() {\r\n const response = await request.get>(\"account\");\r\n return response.data;\r\n}\r\n\r\nexport async function resetPassword(input: PasswordResetInput) {\r\n const response = await request.post>(\"account/password/reset\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function recoverPassword(input: PasswordRecoveryInput) {\r\n const response = await request.post>(\"account/password/recovery\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function updateProfile(input: ProfileInput, id?: string) {\r\n const response = await request\r\n .post>(id ? `account/${id}` : \"account\", serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function changePassword(input: ChangePasswordInput) {\r\n const response = await request.post>(\"account/password\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function changeLocale(locale : string) {\r\n const response = await request.post>(`account/changeLocale/${locale}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getLocale() {\r\n const response = await request.get>(\"account/locale\");\r\n return response.data;\r\n}\r\n\r\nexport async function removeImage() {\r\n const response = await request.delete>(\"account/image\");\r\n return response.data;\r\n}\r\n\r\nexport async function GetUsers(companyId: String | number) {\r\n const response = await request.get>(`account/getusers/${companyId}`);\r\n return response.data;\r\n}\r\nexport async function GetUsersPerDepartment(departmentId: String | number) {\r\n const response = await request.get>(`account/GetUsersPerDepartment/${departmentId}`);\r\n return response.data;\r\n}\r\nexport async function GetUsersPerCountry(countryId: String | number) {\r\n const response = await request.get>(`account/GetUsersPerCountry/${countryId}`);\r\n return response.data;\r\n}\r\nexport async function GetUsersPerBranch(branchId: String | number) {\r\n const response = await request.get>(`account/GetUsersPerBranch/${branchId}`);\r\n return response.data;\r\n}\r\nexport async function GetAllUsers(companyId: number) {\r\n const response = await request.get>(`account/getallusers/${companyId}`);\r\n return response.data;\r\n}\r\nexport async function getUser(id: string) {\r\n const response = await request.get>(`account/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function addUsers(users: SignUpInput[]) {\r\n const response = await request.post>(\"account/addUsers\", users);\r\n return response.data;\r\n}\r\n\r\nexport async function deleteUser(id: string) {\r\n const response = await request.delete>(`account/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function restoreUser(id: string) {\r\n const response = await request.put>(`account/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function revokeAccess(id: string) {\r\n const response = await request.post>(`account/RevokeAccess/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getRoles() {\r\n const response = await request.get>(`account/roles`);\r\n return response.data;\r\n}\r\n\r\nexport async function checkIsSupervisor(userId: string) {\r\n const response = await request.get>(`account/CheckIsSupervisor/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getDictionary(locale : string) {\r\n const response = await request.get>(`account/dictionary/${locale}`);\r\n return response.data;\r\n}\r\n\r\nexport async function UpdateCustomStatus(input :UpdateCustomStatusInput ) {\r\n const response = await request.post>(`account/UpdateCustomStatus`,input);\r\n return response.data;\r\n}\r\n\r\nexport async function getUserRules(userId: string) {\r\n const response = await request.get>(`account/GetUserRules/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function updateUserRules(userId: string, input: UserRulesInput) {\r\n const response = await request.post>(`account/UpdateUserRules/${userId}`, input);\r\n return response.data;\r\n}\r\n\r\nexport async function GetStatusHistory() {\r\n const response = await request.get>(`account/GetStatusHistory`);\r\n return response.data;\r\n}\r\n\r\nexport async function Log(details : LogDetailsInput )\r\n{\r\n // const response = await request.post>(`account/Log`,details);\r\n // return response.data;\r\n var formData = new FormData();\r\n formData.append('message', details.message.toString())\r\n formData.append('logType', details.logType.toString())\r\n for (var i = 0; i < details.attachments.length; i++)\r\n formData.append('attachments', details.attachments[i])\r\n const response = await request.post>(`account/Log`,\r\n formData);\r\n return response.data;\r\n\r\n}\r\n\r\nexport async function AddLogAttachment(details : LogAttachmentInput )\r\n{\r\n // const response = await request.post>(`account/AddLogAttachment`,details);\r\n // return response.data;\r\n var formData = new FormData();\r\n formData.append('logId', details.logId.toString())\r\n for (var i = 0; i < details.attachments.length; i++)\r\n formData.append('attachments', details.attachments[i])\r\n const response = await request.post>(`account/AddLogAttachment`,\r\n formData);\r\n return response.data;\r\n}\r\n\r\n\r\nexport async function setWeekSchedule(details: WeekScheduleInput) {\r\n const response = await request.post>(`account/SetWeekSchedule`,details);\r\n return response.data;\r\n}\r\n\r\nexport async function getWeekSchedule(userId: string ) {\r\n const response = await request.get>(`account/GetWeekSchedule/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getTimeSheetWeekSchedule(userId: string ) {\r\n const response = await request.get>(`account/GetTimeSheetWeekSchedule/${userId}`);\r\n return response.data;\r\n}\r\nexport async function addLabeledFaceDescriptors(input: LabeledFaceDescriptorsInput ) {\r\n const response = await request.post>(`account/AddLabeledFaceDescriptors`,input);\r\n return response.data;\r\n}\r\n\r\n\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/logo.503bc490.png\";","import { observable, action, IObservableArray, computed } from \"mobx\";\r\nimport { RootStore } from './rootStore'\r\nimport moment from \"moment\";\r\nimport * as AccountApi from \"../api/account\";\r\nimport * as AttendanceApi from \"../api/attendance\";\r\nimport {\r\n LoginInput, ClockingType, ClockingInput, ProfileInput, ShiftView, DaySummaryView, UserCompanyView, WorkplaceConfig, UserAttendanceImageConfig, UserShiftScheduleType,UserFaceImage, UserFaceRecognitionConfig\r\n} from \"../models\";\r\n// import tokenStore from \"./token\";\r\nimport logo from \"../assests/images/logo.png\";\r\n\r\n\r\n\r\n\r\n\r\nexport class UserStore {\r\n rootStore: RootStore;\r\n @observable userId = \"\";\r\n @observable isLoggedIn = false;\r\n @observable company: UserCompanyView | null = null;\r\n @observable username = \"\";\r\n @observable title = \"\";\r\n @observable firstName = \"\";\r\n @observable lastName = \"\";\r\n @observable fullname = \"\";\r\n @observable linkedInUrl=\"\";\r\n @observable birthDate=moment(new Date());\r\n @observable currentStatus = \"\";\r\n @observable currentCustomStatusText = \"\";\r\n @observable allowedActions: ClockingType[] = [];\r\n @observable currentShift?: ShiftView;\r\n @observable today?: DaySummaryView;\r\n @observable loading = true;\r\n @observable now = moment(new Date());\r\n @observable incrementWorkingTimer = 0;\r\n @observable incrementBreakTimer = 0;\r\n // @observable workingHours = 0.5;\r\n @observable currentWorkingDuration = 0.5;\r\n @observable role: string = \"\";\r\n @observable isSupervisor: boolean = false;\r\n @observable imageUrl?: string;\r\n @observable attendanceImageConfig : UserAttendanceImageConfig = UserAttendanceImageConfig.InheritedFromCompany;\r\n @observable workplaceConfig : WorkplaceConfig = WorkplaceConfig.CompanyOrUserSpecific;\r\n @observable isGCCCountry: boolean = false;\r\n @observable shiftScheduleType : UserShiftScheduleType = UserShiftScheduleType.InheritedFromCompany;\r\n @observable userFaceRecognitionConfig : UserFaceRecognitionConfig = UserFaceRecognitionConfig.InheritedFromCompany\r\n @observable locale : string = 'en'\r\n @observable rtl = false\r\n @observable firstLogin = false\r\n @observable userFaceImage?:UserFaceImage;\r\n @observable faceRecognitionModelsLoaded : boolean = false;\r\n @observable labeledFaceDescriptors : any[] = [];\r\n\r\n // eslint-disable-next-line max-len\r\n @observable companyLogo = logo;\r\n @observable companyPrimaryColor? : string = \"#005bab\";\r\n @computed get companyName() {\r\n return this.company?.name ?? \"\";\r\n }\r\n @computed get companyLocales() {\r\n return this.company?.locales ?? \"\";\r\n }\r\n\r\n // constructor() {\r\n // if (tokenStore.token) {\r\n // this.getUserInfo();\r\n // } else {\r\n // this.refreshToken().then(res => {\r\n // if (res.status === 200){\r\n // this.getUserInfo();\r\n // } else {\r\n // this.loading = false;\r\n // }\r\n // })\r\n // }\r\n // }\r\n\r\n @computed get token() {\r\n return this.rootStore.token ? this.rootStore.token.token : undefined;\r\n }\r\n\r\n constructor(rootStore : RootStore) {\r\n this.rootStore = rootStore;\r\n }\r\n\r\n @action\r\n init = async () => {\r\n this.rootStore.firstLoad = false\r\n if (this.token) {\r\n await this.getUserInfo();\r\n } else {\r\n await this.refreshToken().then( async res => {\r\n if (res.status === 200){\r\n await this.getUserInfo();\r\n } else {\r\n this.loading = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n @computed\r\n get isTimeRunning() {\r\n return this.currentShift && !this.currentShift.hasEnded;\r\n }\r\n\r\n @computed\r\n get isBreakTimeRunning() {\r\n return this.currentShift && this.currentShift.breaks.filter((x) => !x.hasEnded).length > 0;\r\n }\r\n\r\n // old\r\n @computed\r\n get workingTime() {\r\n if (this.currentShift && !this.currentShift.hasEnded) {\r\n const start = moment(this.currentShift.clockInTime);\r\n if (!this.isBreakTimeRunning)\r\n return moment.duration(this.now.diff(start)).subtract(this.breaksTime);\r\n }\r\n return this.currentShift\r\n ? moment.duration(this.currentShift.workingDuration) : moment.duration(0);\r\n }\r\n\r\n // @computed\r\n // get workingTime() {\r\n // // if (this.currentShift && !this.currentShift.hasEnded) {\r\n // if (this.isTimeRunning) {\r\n // return moment.duration(this.currentShift?.workingDuration).add(this.incrementWorkingTimer, 'seconds');\r\n // }\r\n // return this.currentShift\r\n // ? moment.duration(this.currentShift.workingDuration) : moment.duration(0);\r\n // }\r\n\r\n // old\r\n @computed\r\n get totalWorkingTime() {\r\n var total = this.today ? moment.duration(this.today.workingTime) : moment.duration(0);\r\n\r\n if (this.today && this.currentShift && !this.currentShift.hasEnded){\r\n const start = moment(this.currentShift.clockInTime);\r\n const activeBreak = this.currentShift.breaks.filter((x) => !x.hasEnded)[0];\r\n if (!activeBreak){\r\n total.subtract(this.currentShift.workingDuration)\r\n total.add(this.now.diff(start)).subtract(this.currentShift.breaksDuration)\r\n }\r\n }\r\n\r\n return total;\r\n }\r\n\r\n // @computed\r\n // get totalWorkingTime() {\r\n // const total = this.today ? moment.duration(this.today.workingTime) : moment.duration(0);\r\n\r\n // // if (this.currentShift && !this.currentShift.hasEnded) {\r\n // if (this.isTimeRunning){\r\n // total.add(this.incrementWorkingTimer, 'seconds')\r\n // }\r\n\r\n // return total;\r\n // }\r\n\r\n // old\r\n @computed\r\n get breaksTime() {\r\n const time = this.currentShift ? moment.duration(this.currentShift.breaksDuration) : moment.duration(0);\r\n const activeBreak = this.currentShift && this.currentShift.breaks.filter((x) => !x.hasEnded)[0];\r\n if (this.currentShift && activeBreak) {\r\n const start = moment(activeBreak.breakInTime);\r\n time.add(moment.duration(this.now.diff(start)));\r\n }\r\n return time;\r\n }\r\n\r\n // @computed\r\n // get breaksTime() {\r\n // const time = this.currentShift ? moment.duration(this.currentShift.breaksDuration) : moment.duration(0);\r\n // if (this.isBreakTimeRunning) {\r\n // time.add(this.incrementBreakTimer, 'seconds')\r\n // }\r\n // return time;\r\n // }\r\n\r\n // old\r\n @computed\r\n get totalBreaksTime() {\r\n const total = this.today ? moment.duration(this.today.breaksTime) : moment.duration(0);\r\n // if (this.today) console.log(\"breaksTime: \", total)\r\n\r\n if (this.today && this.today.shifts.length > 0) total.add(this.breaksTime);\r\n // if (this.today && this.today.shifts.length > 0) console.log(\"adding: \", this.breaksTime, \" totalBreaksTime: \", total)\r\n\r\n if (this.currentShift) total.subtract(this.currentShift.breaksDuration);\r\n // if (this.currentShift) console.log(\"subtracting: \", this.currentShift.breaksDuration, \" totalBreaksTime: \" , total)\r\n\r\n return total;\r\n }\r\n\r\n // @computed\r\n // get totalBreaksTime() {\r\n // const total = this.today ? moment.duration(this.today.breaksTime) : moment.duration(0)\r\n\r\n // if (this.isBreakTimeRunning){\r\n // total.add(this.incrementBreakTimer, 'seconds')\r\n // }\r\n\r\n // return total;\r\n // }\r\n\r\n @action\r\n async login(input: LoginInput) {\r\n this.loading = true\r\n const data = await AccountApi.login(input);\r\n if (data) {\r\n this.rootStore.token.token = data.payload.accessToken;\r\n // tokenStore.refreshToken = data.payload.refreshToken;\r\n this.firstLogin = data.payload.firstLogin;\r\n this.isLoggedIn = true;\r\n await this.getUserInfo();\r\n }\r\n this.loading = false;\r\n return data;\r\n }\r\n\r\n @action\r\n async refreshToken() {\r\n const data = await AccountApi.refreshToken();\r\n if (data && data.status === 200) {\r\n this.rootStore.token.token = data.payload.accessToken;\r\n }\r\n return data;\r\n }\r\n\r\n @action\r\n async logout(withRequest: boolean = true) {\r\n let res\r\n if (this.token && withRequest)\r\n res = await AccountApi.logout();\r\n if (res || !withRequest) {\r\n this.rootStore.token.token = null;\r\n this.company = null;\r\n this.isLoggedIn = false;\r\n this.role = \"\";\r\n this.imageUrl=\"\";\r\n this.companyPrimaryColor = \"#005bab\"\r\n this.companyLogo = logo;\r\n return new Promise((resolve) => setTimeout(() => resolve(), 1000));\r\n }\r\n }\r\n\r\n // async faceRecognitionPrep() {\r\n // if(!this.faceRecognitionModelsLoaded)\r\n // {\r\n // await loadModels()\r\n // this.faceRecognitionModelsLoaded = true;\r\n // }\r\n // if(this.userFaceImage?.path)\r\n // {\r\n // console.log(\"loading descriptors\")\r\n // this.labeledFaceDescriptors = await loadLabeledFaceDescriptors(this.userFaceImage?.path,this.firstName);\r\n // //this.userFaceImage = info.payload.userFaceImage;\r\n // }\r\n // }\r\n\r\n @action\r\n async getUserInfo() {\r\n try {\r\n\r\n //this.faceRecognitionPrep()\r\n const info = await AccountApi.getUserInfo();\r\n\r\n console.log(info.payload);\r\n if (info.status === 200) {\r\n this.locale = info.payload.locale?? \"en\";\r\n this.userId = info.payload.id;\r\n this.company = info.payload.company;\r\n //this.workingHours = info.payload.workingHours;\r\n this.currentWorkingDuration = info.payload.currentWorkingDuration\r\n this.role = info.payload.role;\r\n this.attendanceImageConfig = info.payload.userRules.attendanceImageConfig;\r\n this.workplaceConfig = info.payload.userRules.workplaceConfig;\r\n this.isLoggedIn = true;\r\n this.username = info.payload.userName;\r\n this.currentStatus = info.payload.currentStatus;\r\n this.currentCustomStatusText = info.payload.currentCustomStatusText ;\r\n this.title = info.payload.title;\r\n this.firstName = info.payload.firstName;\r\n this.lastName = info.payload.lastName;\r\n this.fullname = info.payload.fullName;\r\n this.imageUrl = info.payload.imageUrl;\r\n this.isSupervisor = info.payload.isSupervisor;\r\n this.isGCCCountry = info.payload.country ? info.payload.country.isGcc?? false : false;\r\n this.shiftScheduleType = info.payload.userRules.shiftScheduleType;\r\n this.userFaceImage = info.payload.userFaceImage;\r\n this.userFaceRecognitionConfig = info.payload.userRules.faceRecognitionConfig;\r\n \r\n\r\n if (info.payload.company && info.payload.company.imageUrl) {\r\n this.companyLogo = info.payload.company.imageUrl;\r\n }\r\n if (info.payload.company && info.payload.company.primaryColor) {\r\n this.companyPrimaryColor = info.payload.company.primaryColor;\r\n } else {\r\n this.companyPrimaryColor = \"#005bab\"\r\n }\r\n await this.getStatus();\r\n\r\n\r\n }\r\n // else {\r\n // this.isLoggedIn = false;\r\n // }\r\n this.loading = false;\r\n } catch (error) {\r\n console.log(error)\r\n this.loading = false;\r\n }\r\n\r\n }\r\n\r\n @action\r\n async getStatus() {\r\n const status = await AttendanceApi.getStatus();\r\n if (status.status == 200) {\r\n (this.allowedActions as IObservableArray).replace(status.payload.allowedActions);\r\n this.currentShift = status.payload.currentShift;\r\n this.incrementWorkingTimer = 0\r\n this.incrementBreakTimer = 0\r\n\r\n const today = await AttendanceApi.getClockings(this.userId, new Date().toJSON().split('T')[0], new Date().toJSON().split('T')[0]);\r\n\r\n this.today = today.payload.results[0];\r\n }\r\n }\r\n\r\n @action\r\n async updateProfile(input: ProfileInput) {\r\n const result = await AccountApi.updateProfile(input);\r\n if (result && result.payload) {\r\n this.imageUrl = result.payload.imageUrl;\r\n }\r\n }\r\n\r\n @action\r\n async removeImage() {\r\n const result = await AccountApi.removeImage();\r\n if (result && result.payload) {\r\n this.imageUrl = undefined;\r\n }\r\n }\r\n\r\n\r\n @action\r\n async clock(type: ClockingType, input: ClockingInput) {\r\n const d = new Date();\r\n const n = d.getTimezoneOffset();\r\n input.time = d;\r\n input.hoursOffset = n / -60;\r\n await AttendanceApi.clock(type, input);\r\n }\r\n\r\n}\r\n\r\n// export default (window as any).userStore = new UserStore();\r\n","import { observable } from \"mobx\";\r\nimport Cookies from \"js-cookie\";\r\nimport { RootStore } from \"./rootStore\";\r\n\r\nexport class TokenStore {\r\n \r\n rootStore: RootStore;\r\n\r\n static tokenKey = \"Blu.Attendance.Token\";\r\n static refreshTokenKey = \"refreshToken\";\r\n\r\n @observable private m_token: string | null = null;\r\n @observable private m_refreshToken: string | null = null;\r\n\r\n constructor(rootStore: RootStore) {\r\n this.rootStore = rootStore;\r\n this.m_token = Cookies.get(TokenStore.tokenKey) || this.m_token;\r\n // this.m_refreshToken = localStorage.getItem(TokenStore.refreshTokenKey) || this.m_refreshToken;\r\n }\r\n\r\n set token(token: string | null) {\r\n if (token == null) {\r\n this.m_token = null;\r\n Cookies.remove(TokenStore.tokenKey);\r\n } else {\r\n this.m_token = token;\r\n Cookies.set(TokenStore.tokenKey, token, {sameSite: \"None\", secure: true});\r\n }\r\n }\r\n \r\n get token() {\r\n return this.m_token;\r\n }\r\n \r\n get refreshToken() {\r\n return Cookies.get(TokenStore.refreshTokenKey);\r\n }\r\n\r\n}\r\n\r\n// export default new TokenStore();\r\n","import { observable } from 'mobx';\r\nimport { RootStore } from './rootStore';\r\n// import { getLocale } from '../api/account';\r\n// import user from './user';\r\n\r\nexport class UiStore {\r\n\r\n rootStore: RootStore;\r\n\r\n constructor(rootStore: RootStore) {\r\n this.rootStore = rootStore;\r\n }\r\n\r\n @observable open: boolean = false;\r\n @observable content?: JSX.Element | string = \"\";\r\n @observable title?: JSX.Element | string = \"\";\r\n // @observable locale: string = user.locale?? \"en\";\r\n // @observable rtl: boolean = false;\r\n\r\n // @action\r\n // getUsersLocale = async () => {\r\n // var locale = (await getLocale()).payload\r\n // if (locale && this.locale != locale)\r\n // this.locale = locale\r\n // return this.locale\r\n // }\r\n\r\n showAlert({ content, title }: { content?: JSX.Element | string, title?: JSX.Element | string }) {\r\n this.content = content;\r\n this.title = title;\r\n this.open = true;\r\n }\r\n\r\n \r\n}\r\n\r\n// export default (window as any).ui = new UiStore();","import { serialize } from \"object-to-formdata\";\r\nimport request from \"../utils/request\";\r\nimport { Notification, Result, NotificationType, NotificationsResponseView, OnDemandNotificationInput } from \"../models/index\";\r\n\r\n\r\nexport async function GetNotificationsFirstPagePerUser(userId: string) {\r\n const response = await request\r\n .get>(`Notification/GetNotificationsPerUser/${userId}/0/1/15`);\r\n return response.data;\r\n}\r\n\r\nexport async function GetNotificationsPerUser(userId: string, notificationType: number, pageNumber: number, pageSize: number) {\r\n const response = await request\r\n .get>(`Notification/GetNotificationsPerUser/${userId}/${notificationType?? 0}/${pageNumber?? 1}/${pageSize?? 15}`);\r\n return response.data;\r\n}\r\n\r\nexport async function markNotificationAsRead(id: number) {\r\n const response = await request\r\n .put>(`Notification/SetNotificationAsRead/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function markAllNotificationsAsRead(userId: string) {\r\n const response = await request\r\n .put>(`Notification/SetAllNotificationsAsRead/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getNotifictionTypes() {\r\n const response = await request\r\n .get>(`Notification/Types`);\r\n return response.data;\r\n}\r\n\r\nexport async function SendQueuedEmails() {\r\n const response = await request\r\n .post>(`Notification/SendQueuedEmails`);\r\n return response.data;\r\n}\r\n\r\nexport async function SendOnDemandNotification(input : OnDemandNotificationInput) {\r\n const response = await request\r\n .post>(`Notification/SendOnDemandNotification`, serialize(input));\r\n return response.data;\r\n}","import { observable, action, computed, reaction } from \"mobx\";\r\nimport { GetNotificationsFirstPagePerUser, GetNotificationsPerUser, markAllNotificationsAsRead, markNotificationAsRead } from \"../api/Notification\";\r\nimport { RootStore } from \"./rootStore\";\r\nimport { Notification } from \"../models\";\r\n\r\nexport class NotificationStore {\r\n\r\n rootStore: RootStore;\r\n\r\n constructor(rootStore: RootStore) {\r\n this.rootStore = rootStore;\r\n reaction(() => this.userId, (userId) => {\r\n if (userId) {\r\n this.loadInitial();\r\n }\r\n });\r\n }\r\n\r\n @computed get userId() {\r\n return this.rootStore.user.userId\r\n }\r\n\r\n // constructor(rootStore: RootStore) {\r\n // this.rootStore = rootStore\r\n // this.userStore = user;\r\n // reaction(() => userStore.userId, (userId) => {\r\n // if (userId) {\r\n // this.load();\r\n // }\r\n // });\r\n // }\r\n\r\n @observable notifications: Notification[] = []\r\n @observable fullListNotifications: Notification[] = []\r\n @observable notificationsTotalCount: number = 0\r\n @observable notificationsTotalUnreadCount: number = 0\r\n @observable notificationsPageCount: number = 15\r\n\r\n @action\r\n async loadInitial() {\r\n // console.log(\"load()\")\r\n const { payload } = await GetNotificationsFirstPagePerUser(this.userId)\r\n this.fullListNotifications = payload.notificationsList\r\n this.notifications = payload.notificationsList\r\n this.notificationsTotalCount = payload.notificationsTotalCount\r\n this.notificationsTotalUnreadCount = payload.notificationsTotalUnreadCount\r\n }\r\n\r\n @action\r\n async load(notificationType?: number, pageNumber?: number, pageSize?: number) {\r\n // console.log(\"load()\")\r\n const { payload } = (typeof pageNumber !== \"undefined\" && pageSize) ? await GetNotificationsPerUser(this.userId, notificationType?? 0, pageNumber?? 1, pageSize?? 15) : await GetNotificationsFirstPagePerUser(this.userId)\r\n this.fullListNotifications = payload.notificationsList\r\n this.notificationsTotalCount = payload.notificationsTotalCount\r\n this.notificationsTotalUnreadCount = payload.notificationsTotalUnreadCount\r\n }\r\n\r\n // @computed\r\n // get unreadCount() {\r\n // try {\r\n // return this.notifications.filter((x) => !x.isRead).length;\r\n // } catch {\r\n // return 0\r\n // }\r\n // }\r\n\r\n @action\r\n async dimissAll() {\r\n var response = await markAllNotificationsAsRead(this.userId);\r\n if (response.payload) {\r\n this.notificationsTotalUnreadCount = 0\r\n var mutableNotifications = [ ...this.notifications ]\r\n mutableNotifications.map((x) => {\r\n x.isRead = true;\r\n return x;\r\n });\r\n this.notifications = mutableNotifications;\r\n }\r\n // this.notifications.forEach(async (x) => await this.markAsRead(x.id));\r\n }\r\n\r\n @action\r\n async markAsRead(id: number) {\r\n await markNotificationAsRead(id);\r\n var mutableNotifications = [ ...this.notifications ]\r\n mutableNotifications.map((x) => {\r\n if (x.id === id) x.isRead = true;\r\n return x;\r\n });\r\n this.notifications = mutableNotifications;\r\n }\r\n}\r\n\r\n// export default (window as any).notificationStore = new NotificationStore(userStore);\r\n","import { action, observable } from 'mobx';\r\nimport { RootStore } from './rootStore';\r\n\r\nexport class CompanyAddEditStore {\r\n\r\n rootStore: RootStore;\r\n\r\n constructor(rootStore: RootStore) {\r\n this.rootStore = rootStore;\r\n }\r\n \r\n @observable companyName: string = \"\";\r\n @observable generalDetailsChangesUnsaved: boolean = false;\r\n\r\n @action\r\n setCompanyName(companyName : string){\r\n this.companyName = companyName\r\n }\r\n}\r\n\r\n// export default (window as any).companyAddEditStore = new CompanyAddEditStore();","const localeConstants = {\r\n rtlLangs : ['ar']\r\n}\r\n\r\nexport default localeConstants","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\n// import languageEN from './assests/locales/en/translation.json'\r\n// import languageAR from './assests/locales/ar/translation.json'\r\nimport Backend from 'i18next-http-backend';\r\n\r\n// import Backend from 'i18next-http-backend';\r\n// import LanguageDetector from 'i18next-browser-languagedetector';\r\n// don't want to use this?\r\n// have a look at the Quick start guide \r\n// for passing in lng and translations on init\r\n\r\ni18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n .use(Backend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n// .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init({\r\n lng: 'en',\r\n fallbackLng: 'en',\r\n supportedLngs: ['en', 'ar', 'fr'],\r\n // resources: {\r\n // en: languageEN,\r\n // ar: languageAR\r\n // },\r\n backend: {\r\n loadPath: '/locales/{{lng}}/{{ns}}.json',\r\n },\r\n // backend: backendOptions,\r\n debug: false,\r\n\r\n interpolation: {\r\n escapeValue: false, // not needed for react as it escapes by default\r\n },\r\n\r\n // react: {\r\n // useSuspense: false\r\n // }\r\n });\r\n\r\nexport default i18n;","import { UserStore } from './user'\r\nimport { TokenStore } from './token'\r\nimport { UiStore } from './ui'\r\nimport { NotificationStore } from './notification'\r\nimport { CompanyAddEditStore } from './companyAddEdit'\r\nimport { observable, reaction } from 'mobx'\r\nimport moment from 'moment'\r\nimport { loadTheme } from '@fluentui/react'\r\nimport constants from '../assests/locales/constants'\r\nimport i18n from '../i18n'\r\n\r\nexport class RootStore {\r\n user: UserStore\r\n token: TokenStore\r\n ui: UiStore\r\n notification: NotificationStore\r\n companyAddEdit: CompanyAddEditStore\r\n\r\n @observable firstLoad = true;\r\n\r\n constructor(){\r\n this.token = new TokenStore(this)\r\n this.user = new UserStore(this)\r\n this.notification = new NotificationStore(this)\r\n this.ui = new UiStore(this)\r\n this.companyAddEdit = new CompanyAddEditStore(this)\r\n \r\n reaction\r\n (\r\n () => this.user.locale,\r\n (locale) => {\r\n console.log(\"reaction fired locale: \", locale)\r\n i18n.changeLanguage(locale);\r\n moment.locale(locale);\r\n \r\n if (constants.rtlLangs.indexOf(locale) > -1) {\r\n loadTheme({rtl : true})\r\n this.user.rtl = true;\r\n \r\n if (locale === 'ar') {\r\n moment.defineLocale('ar-arNum', {\r\n parentLocale: 'ar',\r\n preparse: function (str : string) {\r\n return str;\r\n },\r\n postformat: function (str : string) {\r\n return str;\r\n }\r\n });\r\n moment.locale('ar-arNum');\r\n }\r\n }\r\n else {\r\n this.user.rtl = false;\r\n loadTheme({rtl : false})\r\n }\r\n }\r\n );\r\n }\r\n\r\n \r\n}\r\n\r\nexport default (window as any).root = new RootStore()","import axios from \"axios\"\r\nimport rootStore from \"../store/rootStore\";\r\nimport { Result } from \"../models/index\";\r\nimport Cookies from \"js-cookie\";\r\n\r\nexport const errorHandling = async (error : any) => {\r\n const { response } = error;\r\n const originalRequest = error.config;\r\n \r\n if (response && response.data && !(response.data instanceof Blob && response.data.size === 0)) {\r\n const result = response.data //as Result;\r\n if (result.errors) {\r\n // result.errors.forEach((err) => {\r\n // Message({\r\n // message: err.description,\r\n // type: \"warning\",\r\n // showClose: true,\r\n // });\r\n // });\r\n }\r\n if (originalRequest.url === \"account/RefreshToken\") {\r\n if (response.status === 409)\r\n return response;\r\n else if (response.status === 401 || response.status === 404) {\r\n rootStore.user.logout(false)\r\n return response;\r\n }\r\n }\r\n return Promise.reject(response.data);\r\n } else if (response && response.status === 401) {\r\n if (originalRequest.url === \"RefreshToken\") {\r\n var currentRefreshToken = Cookies.get(\"refreshToken\")\r\n if(currentRefreshToken)\r\n rootStore.user.logout()\r\n } else {\r\n try {\r\n var refreshTokenRes = await rootStore.user.refreshToken()\r\n var requestAgainRes\r\n if (refreshTokenRes && refreshTokenRes.status === 200) {\r\n originalRequest.headers.Authorization = \"Bearer \" + refreshTokenRes.payload.accessToken\r\n try {\r\n requestAgainRes = await axios(originalRequest)\r\n return requestAgainRes\r\n } catch (error : any) {\r\n const { response } = error;\r\n if (response && response.data)\r\n return Promise.reject(response.data);\r\n }\r\n } else if (refreshTokenRes && refreshTokenRes.status === 409) {\r\n var currentToken = rootStore.token.token\r\n // let timeout\r\n var attempts = 30;\r\n while (currentToken === originalRequest.headers.Authorization.split(\" \")[1] && attempts > 0) {\r\n // timeout = \r\n await new Promise(resolve => setTimeout(resolve,100))\r\n // setTimeout(() => {\r\n currentToken = rootStore.token.token\r\n attempts--\r\n // }, 100)\r\n }\r\n originalRequest.headers.Authorization = \"Bearer \" + currentToken\r\n try {\r\n requestAgainRes = await axios(originalRequest)\r\n return requestAgainRes\r\n } catch (error : any) {\r\n const { response } = error;\r\n if (response && response.data)\r\n return Promise.reject(response.data);\r\n }\r\n } else if (refreshTokenRes && (refreshTokenRes.status === 401 || refreshTokenRes.status === 404)) {\r\n return {\r\n data : {\r\n payload: null,\r\n errors: [{code: \"401\", description: \"Invalid token\", path: \"\"}],\r\n status: 401\r\n } as Result\r\n }\r\n }\r\n } catch (err) {\r\n return {\r\n data : {\r\n payload: null,\r\n errors: [{code: \"401\", description: \"Invalid token\", path: \"\"}],\r\n status: 401\r\n } as Result\r\n }\r\n }\r\n }\r\n return Promise.reject(response);\r\n } else if (originalRequest.url === \"account/RefreshToken\") {\r\n \r\n rootStore.user.logout()\r\n return {\r\n data : {\r\n payload: null,\r\n errors: [{code: \"401\", description: \"Invalid token\", path: \"\"}],\r\n status: 401\r\n } as Result\r\n }\r\n }\r\n}\r\n // async (error) => {\r\n // const { response } = error;\r\n // const originalRequest = error.config;\r\n // if (response && response.data) {\r\n // const result = response.data as Result;\r\n // if (result.errors) {\r\n // result.errors.forEach((err) => {\r\n // // Message({\r\n // // message: err.description,\r\n // // type: \"warning\",\r\n // // showClose: true,\r\n // // });\r\n // });\r\n // }\r\n // return Promise.reject(response.data);\r\n // } else {\r\n // Promise.reject(response).then((res) => {\r\n // }).catch((e) => {\r\n // if (e.status === 401){\r\n\r\n // UserStore.logout()\r\n // }\r\n // });\r\n // return Promise.reject(response);\r\n // }\r\n // },\r\n\r\n","import axios from \"axios\"\r\nimport rootStore from \"../store/rootStore\";\r\nimport { Result } from \"../models/index\";\r\nimport { errorHandling } from './requestHandling';\r\n\r\ndeclare const baseUrl: string;\r\n\r\nconst service = axios.create({\r\n baseURL: baseUrl + \"/api\", // url = base url + request url\r\n // timeout: 5000,\r\n // withCredentials: true // send cookies when cross-domain requests\r\n});\r\n\r\nservice.interceptors.response.use(\r\n (response) => {\r\n if(response.data instanceof Blob){\r\n return response;\r\n }\r\n const data = response.data as Result;\r\n if (data && data.errors) {\r\n data.errors.forEach((error) => {\r\n // Notification({\r\n // message: error.description,\r\n // type: \"warning\",\r\n // title: error.code,\r\n // });\r\n });\r\n }\r\n return response;\r\n },\r\n async (error) => errorHandling(error)\r\n\r\n);\r\n\r\n// Request interceptors\r\nservice.interceptors.request.use(\r\n (config) => {\r\n // Add X-Access-Token header to every request, you can add other custom headers here\r\n if (rootStore.token && rootStore.token.token) {\r\n // eslint-disable-next-line no-param-reassign\r\n config.headers.Authorization = `Bearer ${rootStore.token.token}`;\r\n }\r\n config.headers[\"timezoneOffset\"] = new Date().getTimezoneOffset()\r\n return config;\r\n },\r\n (error) => {\r\n // Message({\r\n // message: \"An error occurred while sending request! \"\r\n // + \"Make sure you're connected to the internet\",\r\n // type: \"error\",\r\n // });\r\n Promise.reject(error);\r\n },\r\n);\r\n\r\nexport default service;\r\n","import { serialize } from \"object-to-formdata\";\r\nimport request from \"../utils/request\";\r\n\r\nimport {\r\n Result, ClockingType, ClockingInput, ClockingView, ClockingStatusView, ClockingPaginationView, EditClockingInput, OvertimeShiftApprovalInput, TimesheetTableView,UserView, ShiftInput, ShiftView, ClockOutInput, PoolView, PoolInput, ProfileInput, ShiftHistoryView\r\n} from \"../models\";\r\n\r\nexport async function getAllowedActions() {\r\n const response = await request.get>(\"attendance/allowedactions\");\r\n return response.data;\r\n}\r\n\r\nexport async function clock(type: ClockingType, input: ClockingInput) {\r\n console.log(input)\r\n\r\n const response = await request.post>(`attendance/${type}`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function verifyOvertime(shiftId : number) {\r\n const response = await request.post>(`attendance/VerifyOvertime/${shiftId}`);\r\n return response.data;\r\n}\r\nexport async function verifyInBreak(shiftId : number) {\r\n const response = await request.post>(`attendance/VerifyInBreak/${shiftId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function editClockTime(id: number, input: EditClockingInput) {\r\n const response = await request.post>(`attendance/edit/${id}`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function getStatus() {\r\n const response = await request.get>(\"attendance/status\");\r\n return response.data;\r\n}\r\n\r\nexport async function getClockings(id: string, from: string, to: string) {\r\n const response = await request.get>(\"attendance\", {\r\n params: { from, to, userId: id },\r\n });\r\n return response.data;\r\n}\r\n\r\nexport async function getClockingsPerDay(id: string, from: string, to: string) {\r\n const response = await request.get>(\"attendance/perday\", {\r\n params: { from, to, userId: id },\r\n });\r\n return response.data;\r\n}\r\n\r\nexport async function getTimesheetTableData(id: string, from: string, to: string) {\r\n const response = await request.get>(\"attendance/TimesheetTableData\", {\r\n params: { from, to, userId: id },\r\n });\r\n return response.data;\r\n}\r\n\r\nexport async function overtimeApproval(input: OvertimeShiftApprovalInput) {\r\n const response = await request.post>(`attendance/OvertimeShiftApproval`, input);\r\n return response.data;\r\n}\r\n\r\nexport async function checkIsSupervisorAndShiftNotArchived(userId: string, shiftId: number) {\r\n const response = await request.get>(`attendance/CheckIsSupervisorAndShiftNotArchived/${userId}/${shiftId}`);\r\n return response.data;\r\n}\r\n\r\n\r\nexport async function getCurrentStatuses() {\r\n const response = await request.get>(\"attendance/UsersCurrentStatus\");\r\n return response.data;\r\n}\r\n\r\nexport async function addShift(input : ShiftInput, hoursOffset : number) {\r\n // var formData = new FormData();\r\n // formData.append('ClockInTime', input.clockInTime.toISOString())\r\n // formData.append('ClockOutTime', input.clockOutTime?.toDateString()?input.clockOutTime?.toDateString():\"\")\r\n // formData.append('UserId',input.userId)\r\n // const response = await request.post>(`attendance/addShift`,\r\n // formData);\r\n // return response.data;\r\n console.log(input)\r\n const response = await request.post>(`attendance/addShift/${hoursOffset}`, input);\r\n return response.data;\r\n}\r\nexport async function getShiftHistory(id : number, type: ClockingType) {\r\n const response = await request.get>(`attendance/ShiftHistory/${id}/${type}`);\r\n return response.data;\r\n}\r\n\r\n","import { MediaQueryWidth, useMinWidth, useMaxWidth } from \"../../hooks/media-query\";\r\n\r\nexport type MediaQueryProps = {\r\n maxWidth?: MediaQueryWidth;\r\n minWidth?: MediaQueryWidth;\r\n callback: (match: boolean) => JSX.Element;\r\n};\r\n\r\n/* eslint import/no-anonymous-default-export: [2, {\"allowAnonymousFunction\": true}] */\r\nexport default function ({ minWidth, maxWidth, callback }: MediaQueryProps) {\r\n const okMin = !minWidth || useMinWidth(minWidth);\r\n const okMax = !maxWidth || useMaxWidth(maxWidth);\r\n\r\n return callback(okMin && okMax);\r\n}","import React, { useState } from \"react\";\r\nimport { ShimmeredDetailsList, IDetailsListProps, Icon, TextField } from \"@fluentui/react\";\r\nimport { Text, Avatar, Button, Flex, FlexItem } from \"@fluentui/react-northstar\";\r\nimport moment from \"moment\";\r\nimport { ClockingType, ClockingView, Roles, Result, ClientType, ShiftHistoryView } from \"../models\";\r\nimport { UserStore } from \"../store/user\"\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker'\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Icons from \"../assests/images/SVGIcons/svgIcons\";\r\nimport AddCircleIcon from '@mui/icons-material/AddCircle';\r\nimport AddCircle from \"@mui/icons-material/AddCircle\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Dialog from '@mui/material/Dialog';\r\nimport DialogActions from '@mui/material/DialogActions';\r\nimport DialogContent from '@mui/material/DialogContent';\r\nimport DialogContentText from '@mui/material/DialogContentText';\r\nimport DialogTitle from '@mui/material/DialogTitle';\r\nimport { addShift } from \"../api/attendance\";\r\nimport { time } from \"console\";\r\nimport InfoIcon from '@mui/icons-material/Info';\r\nimport { getUser } from \"../api/account\";\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\ndeclare const baseUrl: string;\r\n\r\nexport type TimesheetTableProps = {\r\n user: UserStore;\r\n userId: string;\r\n clockings?: ClockingView[];\r\n loading: boolean;\r\n detailsListStyles?: IDetailsListProps[\"styles\"];\r\n clockTimesEditable?: boolean;\r\n onClockTimeChange: Function;\r\n showImages: boolean;\r\n timesheet: boolean;\r\n Reload: Function;\r\n selectedDay: Date;\r\n getShiftHistory: Function;\r\n shiftHistory: ShiftHistoryView[];\r\n timeSheetView: boolean;\r\n\r\n};\r\n\r\nfunction TimesheetTable({ selectedDay, Reload, timesheet, user, userId, clockings, loading, detailsListStyles, clockTimesEditable, onClockTimeChange, showImages, getShiftHistory, shiftHistory, timeSheetView }: TimesheetTableProps) {\r\n\r\n // const fields: ClockingView[] = [];\r\n\r\n // if (clockings) {\r\n // clockings.shifts.forEach((shift) => {\r\n // fields.push({\r\n // ...shift,\r\n // clientType: shift.clockInClientType,\r\n // latitude: shift.clockInLatitude,\r\n // longitude: shift.clockInLongitude,\r\n // time: shift.clockInTime,\r\n // timeUtc: shift.clockInTimeUtc,\r\n // type: ClockingType.ClockIn,\r\n // id: shift.id,\r\n // address: shift.clockInAddress,\r\n // comments: shift.clockInComments,\r\n // imageUrl: shift.clockInImageUrl,\r\n // createdById: shift.createdById,\r\n // createdOn: shift.createdOn,\r\n // isArchived: shift.isArchived,\r\n // updatedById: shift.updatedById,\r\n // updatedOn: shift.updatedOn,\r\n // userId: shift.userId,\r\n // });\r\n\r\n // for (let i = 0; i < shift.breaks.length; i++) {\r\n // const element = shift.breaks[i];\r\n // fields.push({\r\n // ...element,\r\n // clientType: element.breakInClientType,\r\n // latitude: element.breakInLatitude,\r\n // longitude: element.breakInLongitude,\r\n // time: element.breakInTime,\r\n // timeUtc: element.breakInTimeUtc,\r\n // type: ClockingType.BreakIn,\r\n // id: element.id,\r\n // address: element.breakInAddress,\r\n // userId: \"\",\r\n // comments: element.breakInComments,\r\n // imageUrl: element.breakInImageUrl,\r\n // });\r\n // if (element.hasEnded) {\r\n // fields.push({\r\n // ...element,\r\n // clientType: element.breakOutClientType,\r\n // latitude: element.breakOutLatitude,\r\n // longitude: element.breakOutLongitude,\r\n // time: element.breakOutTime as Date,\r\n // timeUtc: element.breakOutTimeUtc as Date,\r\n // type: ClockingType.BreakOut,\r\n // id: element.id,\r\n // address: element.breakOutAddress,\r\n // userId: \"\",\r\n // comments: element.breakOutComments,\r\n // imageUrl: element.breakOutImageUrl\r\n // });\r\n // }\r\n // }\r\n\r\n // if (shift.hasEnded) {\r\n // fields.push({\r\n // ...shift,\r\n // clientType: shift.clockOutClientType,\r\n // latitude: shift.clockOutLatitude,\r\n // longitude: shift.clockOutLongitude,\r\n // time: shift.clockOutTime as Date,\r\n // timeUtc: shift.clockOutTimeUtc as Date,\r\n // type: ClockingType.ClockOut,\r\n // id: shift.id,\r\n // address: shift.clockOutAddress,\r\n // comments: shift.clockOutComments,\r\n // imageUrl: shift.clockOutImageUrl,\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n const { t } = useTranslation();\r\n\r\n const [editedClockTimes, setEditedClockTimes]: any = useState([])\r\n const [open, setOpen] = useState(false)\r\n var dateOfNow = new Date(selectedDay)\r\n const [clockIn, setClockIn] = useState(dateOfNow);\r\n var dateOfNowPlus1 = new Date(selectedDay)\r\n dateOfNowPlus1.setHours(dateOfNowPlus1.getHours() + 1)\r\n const [clockOut, setClockOut] = useState(dateOfNowPlus1);\r\n const [openInfo, setOpenInfo] = useState(false);\r\n const [showInfo, setShowInfo] = useState(false);\r\n const [showIcon, setShowIcon] = useState(timeSheetView);\r\n const onChange = (time: any, id: any, type: string) => {\r\n var recordExists = false;\r\n editedClockTimes.map((clockTime: any) => {\r\n if (id === clockTime.id && type === clockTime.type) {\r\n clockTime.time = new Date(time)\r\n recordExists = true\r\n }\r\n return clockTime\r\n });\r\n if (!recordExists)\r\n editedClockTimes.push({ time, id, type })\r\n setEditedClockTimes(editedClockTimes)\r\n }\r\n\r\n\r\n const changeOpen = () => {\r\n setOpen(true)\r\n console.log(open)\r\n }\r\n\r\n const Close = () => {\r\n setOpen(false)\r\n console.log(open)\r\n }\r\n\r\n\r\n const submit = async () => {\r\n\r\n const n = clockIn.getTimezoneOffset();\r\n const hoursOffset = n / -60;\r\n var date = new Date()\r\n try {\r\n await addShift({\r\n clockInTime: clockIn,\r\n clockOutTime: clockOut,\r\n userId: userId,\r\n clockInTimeUtc: clockIn.toUTCString() as unknown as Date,\r\n clockInClientType: ClientType.Web,\r\n clockInImageUrl: \"\",\r\n clockInAddress: \"\",\r\n clockInCountry: \"\",\r\n clockOutClientType: ClientType.Web,\r\n clockOutImageUrl: \"\",\r\n clockOutAddress: \"\",\r\n clockOutCountry: \"\",\r\n clockInComments: \"\",\r\n clockOutComments: \"\"\r\n }, hoursOffset)\r\n\r\n }\r\n catch (error: any) {\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n setOpen(false);\r\n Reload();\r\n };\r\n\r\n const fullName = async (userId: string) => {\r\n var fullName = (await (getUser(userId))).payload.fullName\r\n console.log(fullName)\r\n return fullName\r\n }\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n {(() => {\r\n switch (item.type) {\r\n case ClockingType.ClockIn: return ;\r\n case ClockingType.ClockOut: return ;\r\n case ClockingType.BreakIn: return ;\r\n case ClockingType.BreakOut: return ;\r\n default: return ;\r\n }\r\n })()}\r\n \r\n {t(item.type)}\r\n ,\r\n },\r\n {\r\n minWidth: clockTimesEditable ? 200 : 100,\r\n maxWidth: clockTimesEditable ? 300 : 200,\r\n key: \"time\",\r\n name: t(\"Time\"),\r\n onRender: (item: ClockingView) => (\r\n clockTimesEditable ?\r\n (item.isEdited ? (\r\n \r\n onChange(e, item.id, item.type)}\r\n value={new Date(item.time)}\r\n format=\"y-MM-dd h:mm:ss a\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableCalendar\r\n disableClock />\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n : <>}\r\n \r\n\r\n );\r\n}\r\n\r\nexport default TimesheetTable","import { serialize } from \"object-to-formdata\";\r\nimport request from \"../utils/request\";\r\nimport { CompanyView, Company, CompanyInput, Result, SubscriptionPlan, UserActivityView, WorkplaceModel, SignUpTrialInput, ExtendTrialInput, ActivateTrialCompanyInput, Branch, Department, CompanyRulesView, CompanyRulesInput, WeekScheduleView, WeekScheduleInput } from \"../models/index\";\r\nimport { List } from \"@fluentui/react\";\r\n\r\n// export async function getLeavePerUser(userId: string) {\r\n// const response = await request.get>(`Leave/GetLeavePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\n// export async function getBalancePerUser(userId: string) {\r\n// const response = await request\r\n// .get>(`Leave/GetBalancePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\nexport async function getCompanies(organizationId?: number) {\r\n const response = await request\r\n .get>(`Company/GetCompanies/${organizationId ?? \"\"}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getCompany(id: string | number) {\r\n const response = await request.get>(`Company/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function addCompany(input: CompanyInput) {\r\n const response = await request\r\n .post>(\"Company/AddCompany\", serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function signupTrial(input: SignUpTrialInput) {\r\n const response = await request\r\n .post>(\"Company/SignupTrial\", serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function extendTrial(input: ExtendTrialInput) {\r\n const response = await request\r\n .post>(\"Company/ExtendTrial\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function activateTrialCompany(input: ActivateTrialCompanyInput) {\r\n const response = await request\r\n .post>(\"Company/ActivateTrialCompany\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function getPlans() {\r\n const response = await request.get>(\"Company/Plans\");\r\n return response.data;\r\n}\r\n\r\nexport async function updateCompany(id: number, input: CompanyInput) {\r\n const response = await request.put>(`Company/${id}`, serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function deleteCompany(id: number) {\r\n const response = await request.delete>(`Company/${id}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getUsersLocation(companyId: number, onlyAvailable: boolean) {\r\n const response = await request.get>(`Company/${companyId}/Location`);\r\n return response.data;\r\n}\r\n\r\nexport async function getWorkplaces(companyId: number, userId: string, userSpecificOnly?: boolean) {\r\n const response = await request.get>(`Company/${companyId}/${userId}/${userSpecificOnly ?? false}/Workplaces`);\r\n return response.data;\r\n}\r\n\r\nexport async function addWorkplace(companyId: number, userId: string, workplace: WorkplaceModel) {\r\n const response = await request.post>(`Company/${companyId}/${userId}/Workplaces`, workplace);\r\n return response.data;\r\n}\r\n\r\nexport async function removeWorkplace(workplaceId: number) {\r\n const response = await request.delete>(`Company/Workplaces/${workplaceId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function updateWorkplace(workplaceId: number, workplace: WorkplaceModel) {\r\n const response = await request.put>(`Company/Workplaces/${workplaceId}`, workplace);\r\n return response.data;\r\n}\r\n\r\nexport async function getBranches(companyId: number) {\r\n const response = await request.get>(`Company/Branches/${companyId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getDepartments(companyId: number) {\r\n const response = await request.get>(`Company/Departments/${companyId}`);\r\n return response.data;\r\n}\r\nexport async function getCountryDepartments(countryId: number[], companyId: number) {\r\n const response = await request.post>(`Company/GetCountryDepartments/${companyId}`, countryId);\r\n return response.data;\r\n}\r\nexport async function getCountryBranches(countryId: number[], companyId: number) {\r\n const response = await request.post>(`Company/GetCountryBranches/${companyId}`, countryId);\r\n return response.data;\r\n}\r\nexport async function getBranchDepartments(branchId: number[], companyId: number) {\r\n const response = await request.post>(`Company/GetBranchDepartments/${companyId}`, branchId);\r\n return response.data;\r\n}\r\nexport async function addUpdateBranches(companyId: number, branches: Branch[]) {\r\n const response = await request.post>(`Company/Branches/${companyId}`, branches);\r\n return response.data;\r\n}\r\n\r\nexport async function addUpdateDepartments(companyId: number, departments: Department[]) {\r\n const response = await request.post>(`Company/Departments/${companyId}`, departments);\r\n return response.data;\r\n}\r\n\r\nexport async function getCompanyRules(companyId: number) {\r\n const response = await request.get>(`Company/GetCompanyRules/${companyId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function updateCompanyRules(companyId: number, input: CompanyRulesInput) {\r\n const response = await request.post>(`Company/UpdateCompanyRules/${companyId}`, input);\r\n return response.data;\r\n}\r\n\r\nexport async function getWeekSchedule(companyId: string | number) {\r\n const response = await request.get>(`Company/GetWeekSchedule/${companyId}`);\r\n return response.data;\r\n}\r\nexport async function setWeekSchedule(details: WeekScheduleInput) {\r\n const response = await request.post>(`Company/SetWeekSchedule`, details);\r\n return response.data;\r\n}\r\n\r\n\r\n","import * as faceapi from 'face-api.js';\r\n\r\nexport async function loadModels() {\r\n const MODEL_URL = 'models/';\r\n await faceapi.loadSsdMobilenetv1Model(MODEL_URL);\r\n await faceapi.loadFaceLandmarkModel(MODEL_URL);\r\n await faceapi.loadFaceRecognitionModel(MODEL_URL);\r\n\r\n console.log('Models loaded');\r\n}\r\nexport async function loadLabeledFaceDescriptors(urlImage, firstname) {\r\n\r\n const labels = [firstname];\r\n\r\n\r\n var labeledFaceDescriptors = await Promise.all(\r\n labels.map(async (label) => {\r\n const imgUrl = urlImage;\r\n const response = await fetch(imgUrl);\r\n const blob = await response.blob();\r\n const img = await faceapi.bufferToImage(blob);\r\n const faceDescription = await faceapi\r\n .detectSingleFace(img)\r\n .withFaceLandmarks()\r\n .withFaceDescriptor();\r\n\r\n if (!faceDescription) {\r\n return [];\r\n }\r\n\r\n const faceDescriptors = [faceDescription.descriptor];\r\n return new faceapi.LabeledFaceDescriptors(label, faceDescriptors);\r\n })\r\n );\r\n return labeledFaceDescriptors;\r\n}\r\n","import React from \"react\";\r\nimport { geolocated, GeolocatedProps } from \"react-geolocated\";\r\n\r\ninterface Props {\r\n visible: boolean;\r\n};\r\n\r\nclass GPSInput extends React.Component {\r\n render() {\r\n return (\r\n //
\r\n
\r\n {!this.props.isGeolocationAvailable && (\r\n
Your browser does not support Geolocation
\r\n )}\r\n\r\n {!this.props.isGeolocationEnabled && (\r\n
Geolocation is not enabled
\r\n )}\r\n\r\n {this.props.coords && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
latitude{this.props.coords.latitude}
longitude{this.props.coords.longitude}
\r\n )}\r\n\r\n {!this.props.coords &&
Getting the location data…
}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default geolocated({\r\n positionOptions: {\r\n enableHighAccuracy: true,\r\n },\r\n // userDecisionTimeout: 5000,\r\n watchPosition: false,\r\n})(GPSInput);\r\n","import React, { createRef, useCallback, useEffect, useState } from \"react\";\r\nimport { Flex, Image, Button, Text, Dropdown, Loader } from \"@fluentui/react-northstar\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { AttendanceImageConfig, ClockingInput, ClockingType, FaceRecognitionConfig, Result, UserAttendanceImageConfig, UserFaceRecognitionConfig, WorkplaceConfig } from \"../../models\";\r\nimport { TextField, updateA } from \"@fluentui/react\";\r\nimport { Dialog } from \"@fluentui/react-northstar\";\r\nimport Icons from \"../../assests/images/SVGIcons/svgIcons\";\r\nimport { getWorkplaces } from \"../../api/Company\";\r\nimport { isLocInsideWorkplaces } from \"../../utils\";\r\nimport * as AttendanceApi from \"../../api/attendance\";\r\nimport GpsInput from \"../gps-input\";\r\nimport * as faceapi from 'face-api.js';\r\nimport WebCam from \"react-webcam\";\r\nimport { FaceMatcher } from \"face-api.js\";\r\nimport { dayStatusColor } from \"../../assests/styles/colors\";\r\n\r\n\r\nfunction dataURLtoFile(dataurl: string, filename: string) {\r\n const arr = dataurl.split(\",\");\r\n const mime = (arr[0].match(/:(.*?);/) ?? [])[1];\r\n const bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n\r\n return new File([u8arr], filename, { type: mime });\r\n}\r\n\r\nexport default ({ user, updateParent, gpsRef, closeDialog, dialogVisible,\r\n clockingType, faceMatcher, primaryColor, faceRecognitionRequired }: any) => {\r\n\r\n const { t } = useTranslation();\r\n //const [dialogVisible, setDialogVisible] = useState(false);\r\n const [input, setInput] = useState(\"\" as unknown as ClockingInput);\r\n const [loading, setLoading] = useState(false)\r\n const [error, setError] = useState(\"\");\r\n const [errorDialogOpen, setErrorDialogOpen] = useState(false)\r\n const [errorDialogContent, setErrorDialogContent] = useState(\"\")\r\n const [errorDialogCancelAllowed, setErrorDialogCancelAllowed] = useState(false)\r\n const [errorDialogConfirmButtonContent, setErrorDialogConfirmButtonContent] = useState(\"\")\r\n const [errorDialogCancelButtonContent, setErrorDialogCancelButtonContent] = useState(\"\")\r\n const [faceDetected, setFaceDetected] = useState(\"unknown\")\r\n const [count, setCount] = useState(0);\r\n const webcamRef = React.useRef(null);\r\n\r\n var attendanceImageRequired = true\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.InheritedFromCompany) {\r\n if (user.company?.attendanceImageConfig === AttendanceImageConfig.NotRequired)\r\n attendanceImageRequired = false\r\n } else {\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.NotRequired)\r\n attendanceImageRequired = false\r\n }\r\n\r\n\r\n const eyesArray = [,\r\n ,\r\n ]\r\n\r\n useEffect(() => {\r\n const timerId = setInterval(() => {\r\n // Use a functional state update to correctly increment the count\r\n setCount(count => count + 1);\r\n }, 2000);\r\n\r\n return () => clearInterval(timerId);\r\n }, []);\r\n\r\n const image = eyesArray[count % eyesArray.length];\r\n const detected = ;\r\n\r\n const detectAndMatchFaces = async () => {\r\n\r\n try {\r\n const video: any = document.getElementById('cameraFeed');\r\n const canvas: any = document.getElementById('reflay');\r\n if (video && canvas) {\r\n var faceDescriptions = await faceapi\r\n .detectAllFaces(video)\r\n .withFaceLandmarks()\r\n .withFaceDescriptors();\r\n canvas.getContext('2d').clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n const results: any = faceDescriptions.map((fd: any) => faceMatcher?.findBestMatch(fd.descriptor));\r\n \r\n if(results.length == 0)\r\n {\r\n setFaceDetected(\"unknown\")\r\n }\r\n results.forEach((bestMatch: any, i: any) => {\r\n setFaceDetected(\"unknown\")\r\n const box = faceDescriptions[i].detection.box;\r\n if (box && box.x !== null && box.y !== null &&\r\n box.width !== null && box.height !== null) {\r\n const anchor = { x: box.x, y: box.y - 60 };\r\n const drawOptions: any = {\r\n anchorPosition: 'TOP_LEFT',\r\n backgroundColor: primaryColor\r\n };\r\n if (bestMatch != undefined) {\r\n const text = bestMatch.toString().split(' ')[0];\r\n const drawText = new faceapi.draw.DrawTextField(text, anchor, drawOptions);\r\n if (video && canvas) {\r\n drawText.draw(canvas);\r\n }\r\n\r\n var label: never = bestMatch.toString().split(' ')[0] as never\r\n //setFaceDetected(\"\")\r\n if (label != 'unknown') {\r\n setFaceDetected(label)\r\n }\r\n }\r\n }\r\n });\r\n if (video && canvas) {\r\n const frameCallback: FrameRequestCallback = (timestamp: DOMHighResTimeStamp) => {\r\n detectAndMatchFaces();\r\n };\r\n requestAnimationFrame(frameCallback);\r\n return results;\r\n }\r\n }\r\n } catch (error: any) {\r\n console.log(error.toString())\r\n }\r\n\r\n }\r\n\r\n const AddListener = async () => {\r\n const video: any = document.getElementById('cameraFeed');\r\n video.play();\r\n if (!video.paused) {\r\n return detectAndMatchFaces();\r\n }\r\n }\r\n\r\n const onErrorDialogCancel = () => {\r\n user.getUserInfo();\r\n updateParent()\r\n setErrorDialogOpen(false)\r\n setErrorDialogContent('')\r\n setErrorDialogConfirmButtonContent(t('OK'))\r\n setErrorDialogCancelButtonContent(t('Cancel'))\r\n }\r\n\r\n const onErrorDialogOk = () => {\r\n user.getUserInfo();\r\n updateParent()\r\n setErrorDialogOpen(false)\r\n setErrorDialogContent('')\r\n setErrorDialogConfirmButtonContent(t('OK'))\r\n setErrorDialogCancelButtonContent(t('Cancel'))\r\n closeClockingDialog();\r\n }\r\n\r\n const closeClockingDialog = () => {\r\n closeDialog()\r\n }\r\n\r\n const cancel = async () => {\r\n\r\n try {\r\n console.log(\"close dialog\")\r\n\r\n user.loading = true;\r\n await user.getUserInfo();\r\n await updateParent()\r\n const video: any = document.getElementById('cameraFeed');\r\n const canvas: any = document.getElementById('reflay');\r\n video.remove()\r\n canvas.remove()\r\n closeClockingDialog();\r\n } catch (error: any) {\r\n console.log(error.toString())\r\n setLoading(false)\r\n return\r\n\r\n }\r\n\r\n }\r\n\r\n const clock = async () => {\r\n setLoading(true)\r\n try {\r\n // image\r\n var showCam = webcamRef.current ? true : false\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.InheritedFromCompany) {\r\n if (user.company?.attendanceImageConfig === AttendanceImageConfig.NotRequired)\r\n showCam = false\r\n } else {\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.NotRequired)\r\n showCam = false\r\n }\r\n var image = null;\r\n if (showCam) {\r\n if (webcamRef && webcamRef.current) {\r\n if (faceRecognitionRequired == true) {\r\n if (faceDetected.trim() != user.firstName.trim()) {\r\n throw new Error(\"face not recognized\");\r\n }\r\n }\r\n const capture = (webcamRef as any).current.getScreenshot();\r\n if (capture) {\r\n image = dataURLtoFile(capture, \"image.png\");\r\n } else {\r\n throw new Error(\"Image was null\");\r\n }\r\n }\r\n\r\n }\r\n\r\n // workplace\r\n if (user.workplaceConfig.toString() === WorkplaceConfig.CompanyOrUserSpecific) {\r\n var workplaces = await getWorkplaces(user?.company?.id ?? 0, user.userId);\r\n if (workplaces.payload.length > 0) {\r\n var insideWorkplace = isLocInsideWorkplaces({ lat: input.latitude, lng: input.longitude }, workplaces.payload)\r\n if (!insideWorkplace) {\r\n setError(t(\"Not allowed to clock outside the workplace bounds\"))\r\n setLoading(false)\r\n return;\r\n }\r\n }\r\n }\r\n await user.clock(clockingType, { ...input, image });\r\n setInput({ ...input, comments: \"\" })\r\n setLoading(false)\r\n //hone\r\n console.log(\"close dialog\")\r\n closeClockingDialog();\r\n user.loading = true;\r\n await user.getUserInfo();\r\n await updateParent()\r\n } catch (error: any) {\r\n console.log(error.toString())\r\n if (error.toString().trim() == \"Error: face not recognized\") {\r\n setError(t(\"Face not recognized\"))\r\n setLoading(false)\r\n return\r\n }\r\n if (error && error.errors && error.errors.length > 0 && error.errors[0].description) {\r\n if (error.errors[0].path && error.errors[0].path.toLowerCase() === 'type') {\r\n setErrorDialogOpen(true)\r\n setErrorDialogContent(t(error.errors[0].description))\r\n }\r\n setError(t(error.errors[0].description))\r\n } else {\r\n setError(t(\"Please allow the browser to use camera\"))\r\n }\r\n setLoading(false)\r\n }\r\n\r\n };\r\n\r\n return (\r\n <>\r\n <>\r\n onErrorDialogCancel()}\r\n onConfirm={() => onErrorDialogOk()}\r\n />\r\n \r\n \r\n \r\n {(() => {\r\n switch (clockingType) {\r\n case ClockingType.ClockIn: return ;\r\n case ClockingType.ClockOut: return ;\r\n case ClockingType.BreakIn: return ;\r\n case ClockingType.BreakOut: return ;\r\n default: return ;\r\n }\r\n })()}\r\n \r\n {t(clockingType)}\r\n \r\n {attendanceImageRequired === true && faceRecognitionRequired === true ? (\r\n <>\r\n {faceDetected === \"unknown\" ? image : detected}\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n cancelButton={loading ? : t(\"Cancel\")}\r\n confirmButton={loading ? : t(\"Submit\")}\r\n onConfirm={!loading ? clock : undefined}\r\n onCancel={!loading ? cancel : undefined}\r\n content={(\r\n \r\n
\r\n {\r\n (user.attendanceImageConfig === UserAttendanceImageConfig.InheritedFromCompany && user.company?.attendanceImageConfig === AttendanceImageConfig.NotRequired)\r\n || user.attendanceImageConfig === UserAttendanceImageConfig.NotRequired ? null :\r\n faceRecognitionRequired == false ? <>\r\n \r\n :\r\n <>\r\n \r\n <>\r\n \r\n {/* \"\" */}\r\n\r\n \r\n\r\n \r\n }\r\n {/* */}\r\n
\r\n {error && }\r\n (\r\n setInput({ ...input, comments: textArea ?? \"\" })\r\n )} />\r\n
\r\n )} />\r\n \r\n {\r\n setInput({ ...input, latitude: loc.coords.latitude, longitude: loc.coords.longitude })\r\n }}\r\n onError={(err) => {\r\n if (!input.latitude && !input.longitude)\r\n setErrorDialogOpen(true)\r\n setErrorDialogCancelAllowed(true)\r\n setErrorDialogCancelButtonContent(t(\"Proceed anyway\"))\r\n setErrorDialogContent(t(\"Location could not be detected, kindly check the location permission from the settings.\"))\r\n console.log(\"loc error: \", err)\r\n }}\r\n />\r\n \r\n );\r\n\r\n};\r\n","import React from \"react\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport moment from \"moment\";\r\nimport { Button, Dialog, Flex, TextArea, Text, Alert, Loader, Breadcrumb } from \"@fluentui/react-northstar\";\r\nimport Clock from \"react-live-clock\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport WebCam from \"react-webcam\";\r\nimport { Panel, PanelType, Separator, TextField } from \"@fluentui/react\";\r\nimport { ClockingType, ClientType, ClockingInput, ClockingView, WorkplaceConfig, AttendanceImageConfig, UserAttendanceImageConfig, BreakConfig, UserFaceRecognitionConfig, FaceRecognitionConfig } from \"../../models\";\r\nimport Timer from \"../../components/timer\";\r\nimport GpsInput from \"../../components/gps-input\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport * as AttendanceApi from \"../../api/attendance\";\r\nimport MediaQuery from \"../../components/media-query\";\r\nimport \"./index.scss\";\r\nimport TimesheetTable from \"../../components/timesheet-table\";\r\nimport { getFormattedDuration, isLocInsideWorkplaces } from \"../../utils\";\r\nimport { ChevronEndIcon, CloseIcon, PlayIcon, PauseIcon } from '@fluentui/react-icons-northstar';\r\nimport { getWorkplaces, getCompanyRules } from \"../../api/Company\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { UiStore } from \"../../store/ui\";\r\nimport Icons from \"../../assests/images/SVGIcons/svgIcons\";\r\nimport { HubConnectionBuilder, HubConnectionState } from \"@microsoft/signalr\";\r\nimport { loadLabeledFaceDescriptors, loadModels } from \"../../utils/faceSystem.js\";\r\nimport ClockDialog from \"../../components/ClockDialog\";\r\nimport { FaceMatcher, LabeledFaceDescriptors } from \"face-api.js\";\r\nimport { addLabeledFaceDescriptors } from \"../../api/account\";\r\n\r\n\r\nfunction dataURLtoFile(dataurl: string, filename: string) {\r\n const arr = dataurl.split(\",\");\r\n const mime = (arr[0].match(/:(.*?);/) ?? [])[1];\r\n const bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n\r\n return new File([u8arr], filename, { type: mime });\r\n}\r\n\r\n\r\ntype Props = Readonly<{\r\n t: any;\r\n ui: UiStore;\r\n user: UserStore;\r\n match: { params: { action?: string, shiftId?: number } }\r\n}>;\r\n\r\ntype State = {\r\n dialogVisible: boolean;\r\n input: ClockingInput;\r\n clockingType: ClockingType;\r\n loading: boolean;\r\n clockingStatus?: ClockingView[];\r\n error?: string;\r\n panelOpen: boolean;\r\n errorDialogOpen: boolean;\r\n errorDialogContent: string;\r\n errorDialogCancelAllowed: boolean;\r\n errorDialogConfirmButtonContent: string;\r\n errorDialogCancelButtonContent: string;\r\n overtimeVerificationAlertVisible: boolean;\r\n inBreakVerificationAlertVisible: boolean;\r\n BreakConfig: BreakConfig;\r\n labeledFaceDescriptors: any[];\r\n faceMatch: string;\r\n stopFaceRecog: boolean;\r\n stopCam: boolean;\r\n webcam: any;\r\n loadedLabeledFaceDescriptors: boolean;\r\n faceRecognitionRequired: boolean;\r\n warningVisible: boolean;\r\n alertContent: string\r\n};\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Attendance extends React.Component {\r\n interval: NodeJS.Timeout | null;\r\n webcamRef = React.createRef() as React.RefObject & string;\r\n gpsRef = React.createRef();\r\n constructor(props: Props) {\r\n super(props);\r\n const { t } = props\r\n this.interval = null;\r\n this.state = {\r\n dialogVisible: false,\r\n clockingType: ClockingType.ClockIn,\r\n input: {\r\n userId: props.user.userId,\r\n comments: \"\",\r\n clientType: ClientType.Web,\r\n time: new Date(),\r\n fullAddress: \"\",\r\n hoursOffset: 0,\r\n image: null,\r\n },\r\n loading: false,\r\n panelOpen: false,\r\n errorDialogOpen: false,\r\n errorDialogContent: '',\r\n errorDialogCancelAllowed: false,\r\n errorDialogConfirmButtonContent: t('OK'),\r\n errorDialogCancelButtonContent: t('Cancel'),\r\n overtimeVerificationAlertVisible: false,\r\n inBreakVerificationAlertVisible: false,\r\n BreakConfig: BreakConfig.NotRequired,\r\n labeledFaceDescriptors: [],\r\n loadedLabeledFaceDescriptors: false,\r\n faceRecognitionRequired: false,\r\n faceMatch: \"unknown\",\r\n stopFaceRecog: false,\r\n stopCam: false,\r\n warningVisible: false,\r\n alertContent: \"\",\r\n webcam: <>\r\n };\r\n }\r\n\r\n async faceRecognitionPrep() {\r\n if (!this.props.user.userFaceImage || !this.props.user.userFaceImage?.path) {\r\n this.setState({ warningVisible: true, alertContent: \"Update your profile picture for Face Recognition to work\" })\r\n }\r\n else {\r\n if (!this.props.user.faceRecognitionModelsLoaded) {\r\n await loadModels()\r\n this.props.user.faceRecognitionModelsLoaded = true;\r\n }\r\n console.log(\"loading descriptors\")\r\n if (this.props.user.userFaceImage?.labeledFaceDescriptors && this.props.user.userFaceImage?.labeledFaceDescriptors != \"[[]]\") {\r\n const labeledFaceDescriptors: any = this.props.user.userFaceImage?.labeledFaceDescriptors;\r\n const deserializedLabeledFaceDescriptors: any[] = JSON.parse(labeledFaceDescriptors);\r\n const reconstructedLabeledFaceDescriptors: LabeledFaceDescriptors[] = deserializedLabeledFaceDescriptors.map((item: any) => {\r\n const reconstructedDescriptors = item.descriptors.map((array: number[]) => new Float32Array(array));\r\n return new LabeledFaceDescriptors(item.label, reconstructedDescriptors);\r\n\r\n });\r\n var reconstructedDescriptors = reconstructedLabeledFaceDescriptors\r\n this.props.user.labeledFaceDescriptors = reconstructedDescriptors\r\n this.setState({ loadedLabeledFaceDescriptors: true })\r\n }\r\n else {\r\n const labeledFaceDescriptors: any[] = await loadLabeledFaceDescriptors(this.props.user.userFaceImage?.path, this.props.user.firstName);\r\n if (labeledFaceDescriptors[0].length == 0) {\r\n this.setState({ warningVisible: true, alertContent: \"Update your profile picture for Face Recognition to work\" })\r\n }\r\n else {\r\n const serializedLabeledFaceDescriptors = JSON.stringify(labeledFaceDescriptors)\r\n addLabeledFaceDescriptors({\r\n labeledFaceDescriptors: serializedLabeledFaceDescriptors,\r\n imageId: this.props.user.userFaceImage?.id\r\n })\r\n this.props.user.labeledFaceDescriptors = labeledFaceDescriptors\r\n this.setState({ loadedLabeledFaceDescriptors: true })\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // eslint-disable-next-line no-unused-expressions\r\n if ((this.props.user.userFaceRecognitionConfig == UserFaceRecognitionConfig.InheritedFromCompany\r\n && this.props.user?.company?.faceRecognitionConfig == FaceRecognitionConfig.Required)\r\n || this.props.user.userFaceRecognitionConfig == UserFaceRecognitionConfig.Required) {\r\n this.faceRecognitionPrep()\r\n this.setState({ faceRecognitionRequired: true })\r\n }\r\n this.getCompanyBreakConfig();\r\n if (!this.props.user.firstName)\r\n this.props.user.getUserInfo();\r\n else\r\n this.props.user.getStatus();\r\n const updateEvery = 1000;\r\n this.interval = setInterval(() => {\r\n this.update(updateEvery);\r\n }, updateEvery);\r\n if (!this.state.clockingStatus) {\r\n this.fetch();\r\n }\r\n if (this.props.match.params.action && this.props.match.params.action.toLowerCase().indexOf(\"verifyovertime\") > -1) {\r\n if (this.props.match.params.shiftId)\r\n AttendanceApi.verifyOvertime(this.props.match.params.shiftId).then(res => {\r\n if (res.status === 200 && res.payload) {\r\n this.setState({ overtimeVerificationAlertVisible: true })\r\n setTimeout(() => this.setState({ overtimeVerificationAlertVisible: false }), 10000)\r\n }\r\n }).catch(err => {\r\n console.log(err)\r\n });\r\n\r\n }\r\n else if (this.props.match.params.action && this.props.match.params.action.toLowerCase().indexOf(\"verifyinbreak\") > -1) {\r\n if (this.props.match.params.shiftId)\r\n AttendanceApi.verifyInBreak(this.props.match.params.shiftId).then(res => {\r\n if (res.status === 200 && res.payload) {\r\n this.setState({ inBreakVerificationAlertVisible: true })\r\n setTimeout(() => this.setState({ inBreakVerificationAlertVisible: false }), 1000)\r\n }\r\n }).catch(err => {\r\n console.log(err)\r\n })\r\n\r\n }\r\n this.setUpSignalRConnection()\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n\r\n }\r\n openDialog = (type: ClockingType) => {\r\n this.getLocation()\r\n this.setState({\r\n dialogVisible: true,\r\n //stopFaceRecog: false,\r\n stopCam: false,\r\n // loading: true, \r\n clockingType: type, error: \"\"\r\n }\r\n );\r\n\r\n };\r\n\r\n update = (interval: number) => {\r\n const { user } = this.props;\r\n user.now = moment(new Date());\r\n user.incrementWorkingTimer = user.isTimeRunning && !user.isBreakTimeRunning ? user.incrementWorkingTimer + (interval / 1000) : user.incrementWorkingTimer;\r\n user.incrementBreakTimer = user.isBreakTimeRunning ? user.incrementBreakTimer + (interval / 1000) : user.incrementBreakTimer;\r\n };\r\n\r\n\r\n\r\n setUpSignalRConnection = async () => {\r\n const connection = new HubConnectionBuilder()\r\n .withUrl('/api/mainhub')\r\n .withAutomaticReconnect()\r\n .build();\r\n connection.on('Message', (message: string) => {\r\n console.log('Message', message);\r\n });\r\n connection.on('UserClocks', (message: string) => {\r\n //console.log(\"Message\", message)\r\n this.props.user.getUserInfo();\r\n this.fetch()\r\n });\r\n try {\r\n await connection.start();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n if (connection.state === HubConnectionState.Connected) {\r\n connection.invoke('SubscribeToPersonalAttendancePool', this.props.user.userId).catch((err: Error) => {\r\n return console.error(err.toString());\r\n });\r\n }\r\n return connection;\r\n };\r\n fetch = async () => {\r\n this.setState({ loading: true });\r\n const today = new Date().toJSON().split('T')[0];\r\n const { payload } = await AttendanceApi.getClockingsPerDay(this.props.user.userId, today, today);\r\n if (payload)\r\n this.setState({ loading: false, clockingStatus: payload[0] });\r\n else\r\n this.setState({ loading: false })\r\n };\r\n getCompanyBreakConfig = async () => {\r\n var breakConfig = (await getCompanyRules(this.props.user.company?.id as number)).payload.breakConfig;\r\n this.setState({ BreakConfig: breakConfig });\r\n }\r\n\r\n\r\n getLocation = () => {\r\n this.gpsRef.current && this.gpsRef.current.getLocation();\r\n };\r\n\r\n closeDialog = () => {\r\n // this.setState({ stopFaceRecog: true })\r\n this.setState({ dialogVisible: false }, () => { console.log(\"dialog closed\") })\r\n }\r\n\r\n setStopFaceRecog = () => {\r\n this.setState({ stopFaceRecog: true })\r\n this.setState({ stopCam: true })\r\n }\r\n\r\n render() {\r\n\r\n const { user, t } = this.props;\r\n const {\r\n breaksTime, totalBreaksTime, totalWorkingTime, workingTime, currentWorkingDuration,\r\n } = user as UserStore;\r\n\r\n const timeTxt = workingTime ? getFormattedDuration(workingTime.asSeconds()) : \"00:00:00\";\r\n const breakTxt = breaksTime ? getFormattedDuration(breaksTime.asSeconds()) : \"00:00:00\";\r\n const totalTimeTxt = totalWorkingTime\r\n ? getFormattedDuration(totalWorkingTime.asSeconds()) : \"00:00:00\";\r\n const totalBreakTxt = totalBreaksTime\r\n ? getFormattedDuration(totalBreaksTime.asSeconds()) : \"00:00:00\";\r\n\r\n const fullTime = moment.duration(currentWorkingDuration * 3600000);\r\n const progress = workingTime ? workingTime?.asSeconds() / fullTime.asSeconds() : 0;\r\n\r\n var webcam = <>\r\n\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.InheritedFromCompany) {\r\n if (user.company?.attendanceImageConfig === AttendanceImageConfig.NotRequired)\r\n webcam = <>\r\n } else {\r\n if (user.attendanceImageConfig === UserAttendanceImageConfig.NotRequired)\r\n webcam = <>\r\n }\r\n\r\n return (\r\n <>\r\n {/* {dialogs} */}\r\n {/* {this.state.faceRecognitionRequired ? this.props.user.labeledFaceDescriptors.length > 0 ? */}\r\n { this.fetch() }}\r\n webcamRef={this.webcamRef}\r\n webcam={this.state.webcam}\r\n gpsRef={this.gpsRef}\r\n dialogVisible={this.state.dialogVisible}\r\n closeDialog={() => { this.closeDialog() }}\r\n clockingType={this.state.clockingType}\r\n faceMatcher={this.state.faceRecognitionRequired ? this.state.loadedLabeledFaceDescriptors ?\r\n new FaceMatcher(this.props.user.labeledFaceDescriptors, 0.6) : [] : []}\r\n primaryColor={this.props.user.companyPrimaryColor ?? \"#005bab\"}\r\n faceRecognitionRequired={this.state.faceRecognitionRequired}\r\n //stopFaceRecognition = {this.state.stopFaceRecog}\r\n >\r\n\r\n {/* // : null } */}\r\n\r\n\r\n (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {this.state.BreakConfig == BreakConfig.Required ?\r\n \r\n
\r\n {t(\"Break(shift)-\")}\r\n {breakTxt}\r\n
\r\n
\r\n {t(\"Break(today)-\")}\r\n {totalBreakTxt}\r\n
\r\n
\r\n : null}\r\n {this.state.warningVisible ? :\r\n this.state.faceRecognitionRequired ? this.state.loadedLabeledFaceDescriptors ?\r\n <>
\r\n {user.allowedActions.includes(ClockingType.BreakIn) && this.state.BreakConfig == BreakConfig.Required ?\r\n
\r\n {user.allowedActions.includes(ClockingType.ClockIn) &&\r\n
: :\r\n <>
\r\n {user.allowedActions.includes(ClockingType.BreakIn) && this.state.BreakConfig == BreakConfig.Required ?\r\n
\r\n {user.allowedActions.includes(ClockingType.ClockIn) &&\r\n
\r\n\r\n }\r\n {/*
\r\n {user.allowedActions.includes(ClockingType.BreakIn) && this.state.BreakConfig == BreakConfig.Required ?\r\n
\r\n
\r\n {user.allowedActions.includes(ClockingType.ClockIn) && \r\n
*/}\r\n
\r\n {!lg && <>\r\n this.setState({ panelOpen: false })}\r\n customWidth=\"800px\"\r\n type={PanelType.custom}\r\n >\r\n { }}\r\n timesheet={false}\r\n user={user}\r\n userId={user.userId}\r\n clockings={this.state.clockingStatus}\r\n loading={this.state.loading}\r\n detailsListStyles={{\r\n root: {\r\n height: \"calc(100vh - 107px)\",\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\"\r\n },\r\n }}\r\n onClockTimeChange={() => { }}\r\n showImages={!this.props.user.company?.hideClockingImagesFromTimesheet ?? false}\r\n getShiftHistory={() => { }}\r\n shiftHistory={[]}\r\n timeSheetView={false}\r\n />\r\n \r\n this.setState({ panelOpen: true })}\r\n vAlign=\"center\" hAlign=\"center\">\r\n
*/}\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n {t(\"TimeSheet Status-\")}\r\n \r\n {t(this.state.status?.name) ?? (\r\n <>\r\n {t(\"Is not approved yet.\")}\r\n {/* \r\n Learn more\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n */}\r\n {/* {\r\n this.state.status\r\n && (\r\n
\r\n \r\n }\r\n content={t(\"Approval form\")}\r\n iconPosition=\"after\"\r\n onClick={() => this.setState({ approveDialogOpen: true })}\r\n >\r\n \r\n
\r\n )\r\n } */}\r\n {/* {\r\n this.state.status\r\n && (\r\n
\r\n this.setState({ approveDialogOpen: true }),\r\n },\r\n ]} />\r\n
\r\n )\r\n } */}\r\n
{t(\"Total Hours Worked This Week-\")}
\r\n
\r\n {getFormattedDuration(moment.duration(this.state.timesheetTableData.totalWorkTime)\r\n .asSeconds())}\r\n
\r\n {/* this.setState((state) => ({ from: date ?? state.from }))} />\r\n this.setState((state) => ({ to: date ?? state.to }))} /> */}\r\n\r\n
\r\n \r\n \r\n )}\r\n main={t(\"Sick Leave\")} />\r\n \r\n )}\r\n main={t(\"Leave\")} />\r\n \r\n )}\r\n main={t(\"Holiday\")} />\r\n \r\n )}\r\n main={t(\"Normal Day\")} />\r\n \r\n )}\r\n main={t(\"Week Day Off\")} />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n const item: any = pItem;\r\n const keySelected = parseInt(item.key.split('$')[1]) < 0 ? 1 : parseInt(item.key.split('$')[1]) + 1\r\n const tmp = new Date(this.state.from);\r\n tmp.setDate(tmp.getDate() + keySelected - 1);\r\n this.setState({\r\n selectedPivotKey: keySelected.toString(),\r\n selectedDay: tmp\r\n })\r\n }}\r\n styles={this._pivotStyles}\r\n style={{ width: \"100vw\" }}\r\n >\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\nconst WeekScheduleCustomEditor = ({ scheduler, handleConfirm }: CustomEditorProps) => {\r\n\r\n const action = scheduler.edited;\r\n\r\n const [startTime, setStartTime] = useState(scheduler.state.start.value)\r\n const [endTime, setEndTime] = useState(scheduler.state.end.value)\r\n\r\n const handleSubmit = async () => {\r\n\r\n try {\r\n scheduler.loading(true);\r\n\r\n const newEvent = {\r\n event_id: action?.event_id || \" \",\r\n title: \" \",\r\n start: startTime,\r\n end: endTime,\r\n color: \"#BED1DF\"\r\n };\r\n var result = await handleConfirm(newEvent, action ? \"edit\" : \"create\")\r\n scheduler.close();\r\n } finally {\r\n scheduler.loading(false);\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n

Add Shift

\r\n

\r\n \r\n \r\n {\r\n setStartTime(new Date(newValue))\r\n }}\r\n renderInput={(params : any) => }\r\n />\r\n {\r\n setEndTime(new Date(newValue))\r\n }}\r\n renderInput={(params : any) => }\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\n\r\nfunction Schedule(this: any, { events, allEmployees, resources, startHour, endHour, eventRenderer,\r\n onDelete, direction, company, onConfirm, recourseHeaderComponent, timesheet, getRemoteEvents, handleConfirm, userId }: CalendarProps) {\r\n if (allEmployees) {\r\n return (\r\n \r\n }\r\n recourseHeaderComponent={recourseHeaderComponent}\r\n //onConfirm={onConfirm}\r\n view=\"week\"\r\n navigation={true}\r\n week={{\r\n weekDays: [0, 1, 2, 3, 4, 5, 6],\r\n weekStartOn: 1,\r\n startHour: startHour,\r\n endHour: endHour,\r\n step: 60,\r\n navigation: true,\r\n }}\r\n getRemoteEvents={getRemoteEvents}\r\n events={events}\r\n resources={resources}\r\n resourceFields={{\r\n idField: \"userId\",\r\n textField: \"fullName\",\r\n subTextField: \"jobTitle\",\r\n colorField: \"color\"\r\n }}\r\n resourceViewMode=\"tabs\"\r\n fields={[\r\n {\r\n name: \"userId\",\r\n type: \"select\",\r\n //default: resources[0].userId.? ? resources[0].userId : null ,\r\n options: resources.map((res: any) => {\r\n return {\r\n id: res.userId,\r\n text: `${res.fullName}`,\r\n value: res.userId\r\n };\r\n }),\r\n config: { label: \"Assignee\", required: true }\r\n }\r\n ]}\r\n onDelete={onDelete}\r\n eventRenderer = {eventRenderer}\r\n />\r\n \r\n )\r\n }\r\n\r\n else if (company) {\r\n return (\r\n\r\n }\r\n events={events}\r\n height={300}\r\n view=\"week\"\r\n day={null}\r\n month={null}\r\n navigation={false}\r\n week={{\r\n weekDays: [0, 1, 2, 3, 4, 5, 6],\r\n weekStartOn: 1,\r\n startHour: startHour,\r\n endHour: endHour,\r\n step: 60,\r\n navigation: false\r\n }}\r\n eventRenderer={eventRenderer}\r\n direction={direction}\r\n translations={{\r\n navigation: {\r\n month: \"Month\",\r\n week: \"Week\",\r\n day: \"Day\",\r\n today: \"Today\"\r\n },\r\n form: {\r\n addTitle: \"Add Week Schedule\",\r\n editTitle: \"Edit Shift\",\r\n confirm: \"Confirm\",\r\n delete: \"Delete\",\r\n cancel: \"Cancel\"\r\n },\r\n event: {\r\n title: \"Title\",\r\n start: \"Start\",\r\n end: \"End\",\r\n allDay: \"All Day\"\r\n },\r\n moreEvents: \"More...\"\r\n }}\r\n onConfirm={onConfirm}\r\n onDelete={onDelete}\r\n \r\n\r\n\r\n />\r\n );\r\n }\r\n else {\r\n\r\n\r\n return (\r\n {\r\n const hour: any = start.getHours();\r\n const disabled: any = hour;\r\n const restProps = disabled ? {} : props;\r\n return (\r\n \r\n );\r\n }\r\n }}\r\n eventRenderer={eventRenderer}\r\n direction={direction}\r\n getRemoteEvents={getRemoteEvents}\r\n onDelete={onDelete}\r\n />\r\n\r\n )\r\n }\r\n\r\n};\r\nexport default Schedule\r\n","import { serialize } from \"object-to-formdata\";\r\nimport request from \"../utils/request\";\r\n\r\nimport {\r\n Result, ClockingsPerUserPerDayView, ClockingsReportInput, LeavesReportView, LeavesReportInput, ShiftReportView, LeavesBalanceReportInput, UsersStatusesReportInput, UsersStatusesReportView,\r\n} from \"../models\";\r\n\r\n\r\nexport async function getClockingsPerUserPerDay(input: ClockingsReportInput) {\r\n const response = await request.post>(`reports/Clockings/`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function exportClockingsPerUserPerDay(input: ClockingsReportInput, format: string) {\r\n const response = await request.post(`reports/Clockings/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }});\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"clockings-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}\r\n\r\nexport async function getLeavesPerUser(input: LeavesReportInput) {\r\n const response = await request.post>(`reports/Leaves/`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function exportLeavesPerUser(input: LeavesReportInput, format: string) {\r\n const response = await request.post(`reports/Leaves/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }});\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"leaves-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}\r\n\r\nexport async function getShiftsPerUser(input: LeavesReportInput) {\r\n const response = await request.post>(`reports/Shifts/`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function exportShiftsPerUser(input: LeavesReportInput, format: string) {\r\n const response = await request.post(`reports/Shifts/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }});\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"shifts-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}\r\n\r\nexport async function exportLeavesBalance(input: LeavesBalanceReportInput, format: string) {\r\n const response = await request.post(`reports/LeavesBalance/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }});\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"balance-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}\r\n\r\nexport async function getUsersStatuses(input: LeavesReportInput) {\r\n const response = await request.post>(`reports/UsersStatuses/`,\r\n serialize(input));\r\n return response.data;\r\n}\r\n\r\nexport async function exportUsersStatuses(input: UsersStatusesReportInput, format: string) {\r\n const response = await request.post(`reports/UsersStatuses/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n );\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"balance-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}\r\n\r\nexport async function exportOvertimePerUser(input: LeavesReportInput, format: string) {\r\n const response = await request.post(`reports/Overtime/${format}`,\r\n serialize(input),\r\n {responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }});\r\n let fileName = response.headers[\"content-disposition\"].split(\"filename=\\\"\")[1];\r\n fileName = fileName.split(\"\\\"; filename\")[0];\r\n // let fileName = \"shifts-\" + Date.now();\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE variant\r\n // window.navigator.msSaveOrOpenBlob(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}),\r\n // fileName);\r\n // } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data], {type: format === 'pdf' ? 'application/pdf' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n // }\r\n}","import React from \"react\"\r\nimport { Flex, FlexItem, Menu, Divider, Button, Popup, Layout } from \"@fluentui/react-northstar\"\r\nimport { withRouter } from \"react-router-dom\"\r\nimport { UserStore } from \"../../store/user\"\r\nimport { inject, observer } from \"mobx-react\"\r\nimport { withTranslation } from \"react-i18next\"\r\nimport Schedule from \"../../components/schedule\";\r\nimport { threadId } from \"worker_threads\"\r\nimport { Color } from \"react-color\"\r\nimport { TextField } from \"@fluentui/react\"\r\nimport { DayHours, ProcessedEvent, ViewEvent } from \"@aldabil/react-scheduler/types\"\r\nimport { ifError } from \"assert\"\r\nimport \"./index.scss\"\r\nimport { ElementSize } from \"@mui/x-data-grid\"\r\nimport { eachDayOfIntervalWithOptions } from \"date-fns/fp\"\r\nimport { Popover, Typography } from \"@mui/material\"\r\nimport { minutesToSeconds } from \"date-fns\"\r\nimport { dayStatusColor } from \"../../assests/styles/colors\"\r\nimport Icons from \"../../assests/images/SVGIcons/svgIcons\";\r\nimport { UiStore } from \"../../store/ui\"\r\nimport * as Models from \"../../models\"\r\nimport { getUser, getUserRules } from \"../../api/account\"\r\nimport { getWeekSchedule as getUserSchedule } from \"../../api/account\"\r\nimport { getTimeSheetWeekSchedule } from \"../../api/account\"\r\nimport { getCompany, getWeekSchedule } from \"../../api/Company\"\r\nimport { getClockingsPerUserPerDay } from \"../../api/reports\"\r\nimport { getScheduledShift } from \"../../api/shift\"\r\nimport moment from \"moment\"\r\nimport { TimesheetTableView } from \"../../models\"\r\nimport { getTimesheetTableData } from \"../../api/attendance\"\r\nimport { getFormattedDuration } from \"../../utils\"\r\n\r\n\r\n\r\ntype Props = {\r\n t: any;\r\n ui: UiStore;\r\n user: UserStore;\r\n match: {\r\n params: {\r\n id?: string,\r\n isGCC?: number,\r\n timesheetId?: string,\r\n action?: string,\r\n shiftId?: number,\r\n date?: string,\r\n time?: string\r\n }\r\n }\r\n};\r\ninterface Event {\r\n eventId: string,\r\n title: string,\r\n start: Date,\r\n end: Date,\r\n disabled?: boolean,\r\n editable?: boolean,\r\n deletable?: boolean,\r\n draggable?: boolean,\r\n color: string,\r\n userId?: string,\r\n eventType?: string,\r\n}\r\n\r\ntype State = {\r\n timesheetTableData: TimesheetTableView;\r\n Title: string;\r\n items: Event[];\r\n clockings: Event[];\r\n startHour: DayHours;\r\n endHour: DayHours;\r\n isVisible: boolean;\r\n fromTo: {\r\n from: string;\r\n to: string;\r\n }\r\n userFullName: string;\r\n userId: string;\r\n\r\n}\r\n\r\n\r\n\r\n@inject(\"user\", \"ui\")\r\n@observer\r\nclass WeekSchedule extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n this.state = {\r\n timesheetTableData: {} as TimesheetTableView,\r\n Title: \"Week Schedule \",\r\n items: [],\r\n clockings: [],\r\n startHour: 0,\r\n endHour: 23,\r\n isVisible: false,\r\n fromTo: {\r\n from: \"\",\r\n to: \"\",\r\n },\r\n userId: \"\",\r\n userFullName: \"\",\r\n };\r\n }\r\n\r\n\r\n componentDidMount() {\r\n setTimeout(this.ChangeClassName, 1000);\r\n }\r\n\r\n componentDidUpdate() {\r\n setTimeout(this.ChangeClassName, 1000);\r\n }\r\n\r\n\r\n ChangeClassName() {\r\n var elements = document.getElementsByClassName(\"clocks\")\r\n for (let i = 0; i < elements.length; i++) {\r\n const div = elements[i].parentElement ? elements[i].parentElement : null\r\n if (div != null) {\r\n\r\n const div2 = div.parentElement ? div.parentElement : null\r\n if (div2 != null) {\r\n div2.style.visibility = \"visible\"\r\n const div3 = div2.parentElement ? div2.parentElement : null\r\n if (div3 != null) {\r\n div3.style.overflow = \"visible\"\r\n div3.style.visibility = \"hidden\"\r\n const div4 = div3.parentElement ? div3.parentElement : null\r\n if (div4 != null) {\r\n div4.className = \" rs__event__item elevate disabled\"\r\n div4.ariaReadOnly = \"true\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var elements = document.getElementsByClassName(\"shifts\")\r\n for (let i = 0; i < elements.length; i++) {\r\n const div = elements[i].parentElement ? elements[i].parentElement : null\r\n if (div != null) {\r\n const div2 = div.parentElement ? div.parentElement : null\r\n if (div2 != null) {\r\n const div3 = div2.parentElement ? div2.parentElement : null\r\n if (div3 != null) {\r\n const div4 = div3.parentElement ? div3.parentElement : null\r\n if (div4 != null) {\r\n div4.className = \" rs__event__item disabledshift\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n fetchRemote = async (query: ViewEvent): Promise => {\r\n var datefrom = new Date(query.start)\r\n var dateto = new Date(query.end)\r\n\r\n var fromYear = datefrom.getFullYear()\r\n var fromMonth = datefrom.getMonth() + 1\r\n var fromDate = datefrom.getDate()\r\n\r\n var toYear = dateto.getFullYear()\r\n var toMonth = dateto.getMonth() + 1\r\n var toDate = dateto.getDate()\r\n\r\n var from = fromYear + \"-\" + fromMonth + \"-\" + fromDate\r\n\r\n var to = toYear + \"-\" + toMonth + \"-\" + toDate\r\n var fromTo = { ...this.state.fromTo }\r\n fromTo.from = from\r\n fromTo.to = to\r\n\r\n this.fetch(from, to)\r\n return []\r\n\r\n };\r\n\r\n\r\n fetch = async (from: string, to: string) => {\r\n const id = this.props.match.params.id ?? this.props.user.userId\r\n const user = await getUser(id)\r\n this.setState({ userFullName: user.payload.fullName })\r\n const shiftType = user.payload.userRules.shiftScheduleType\r\n const companyShiftType = user.payload.company.shiftScheduleType\r\n const companyid = user.payload.company.id\r\n const { payload } = await getTimesheetTableData(id, from, to);\r\n console.log(payload);\r\n this.setState({ timesheetTableData: payload })\r\n //, () => console.log(getFormattedDuration(moment.duration(this.state.timesheetTableData.totalWorkTime)\r\n // .asSeconds())))\r\n var events: Event[] = []\r\n var clocks: Event[] = []\r\n const clockings = await getClockingsPerUserPerDay({\r\n userId: id,\r\n from: new Date(from),\r\n to: new Date(to),\r\n userIds: [id],\r\n searchMethod: \"\",\r\n departmentIds: [],\r\n branchIds: [],\r\n countryIds: []\r\n });\r\n\r\n for (let i = 0; i < clockings.payload.length; i++) {\r\n var clockingsperday = clockings.payload[i]\r\n for (let j = 0; j < clockingsperday.length; j++) {\r\n var newClocking: Event = {\r\n eventId: clockingsperday[j].type == \"ClockIn\" ? (clockingsperday[j].id + \"-\" + 0)\r\n : clockingsperday[j].type == \"ClockOut\" ? (clockingsperday[j].id + \"-\" + 1)\r\n : clockingsperday[j].type == \"BreakIn\" ? (clockingsperday[j].id + \"-\" + 2)\r\n : clockingsperday[j].type == \"BreakOut\" ? clockingsperday[j].id + \"-\" + 3 : \"ma baarif shu aam b sir \",\r\n\r\n title: \" \",\r\n start: new Date(clockingsperday[j].time),\r\n end: new Date(new Date(clockingsperday[j].time).setMinutes(new Date(clockingsperday[j].time).getMinutes())),\r\n disabled: false,\r\n editable: false,\r\n deletable: true,\r\n draggable: false,\r\n color: \"transparent\",\r\n eventType: clockingsperday[j].type\r\n }\r\n clocks.push(newClocking)\r\n\r\n }\r\n }\r\n\r\n payload.daysSummaryView.map((day, i) => {\r\n if (day.shiftScheduleType == Models.ShiftScheduleType.FixedWeekSchedule) {\r\n var shifts: any = day.dayStartEndHoursAndMinutes;\r\n var days = shifts ? shifts : undefined\r\n if (days != undefined) {\r\n //console.log(i)\r\n var starthour = days[0]\r\n var startminute = days[1]\r\n var endhour = days[2]\r\n var endminute = days[3]\r\n var j = i == 0 ? 7 : i\r\n //var startDate = moment(from).add(i, 'days').add(starthour, 'hours').add(startminute, 'minutes').toDate()\r\n //var endDate = moment(from).add(i, 'days').add(endhour, 'hours').add(endminute, 'minutes').toDate()\r\n\r\n var startDate = new Date(from)\r\n startDate.setTime(startDate.getTime() + i * 86400000)\r\n startDate.setHours(starthour)\r\n startDate.setMinutes(startminute)\r\n\r\n var endDate = new Date(from)\r\n endDate.setTime(endDate.getTime() + i * 86400000)\r\n endDate.setHours(endhour)\r\n endDate.setMinutes(endminute)\r\n\r\n var newShift: Event = {\r\n eventId: i.toString(),\r\n title: \" \",\r\n start: startDate,\r\n end: endDate,\r\n disabled: false,\r\n editable: false,\r\n deletable: true,\r\n draggable: false,\r\n color: \"#BED1DF\",\r\n eventType: \"shift\"\r\n }\r\n events.push(newShift)\r\n }\r\n events = events.concat(clocks)\r\n this.setState({ items: events })\r\n }\r\n else {\r\n\r\n day.scheduledShifts.map(shift => {\r\n var newShift: Event = {\r\n eventId: shift.id.toString(),\r\n title: \"\",\r\n start: new Date(shift.startTime),\r\n end: new Date(shift.endTime),\r\n disabled: false,\r\n editable: false,\r\n deletable: true,\r\n draggable: false,\r\n color: \"#BED1DF\",\r\n userId: this.state.userId,\r\n eventType: \"shift\"\r\n }\r\n events.push(newShift)\r\n })\r\n events = events.concat(clocks)\r\n this.setState({ items: events })\r\n }\r\n\r\n })\r\n }\r\n\r\n render() {\r\n const { t, user } = this.props;\r\n\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n \r\n
{t(\"Total Hours Worked This Week-\")}
\r\n
\r\n {getFormattedDuration(moment.duration(this.state.timesheetTableData.totalWorkTime)\r\n .asSeconds())}\r\n
\r\n
\r\n \r\n \r\n )}\r\n main={t(\"Clock In\")} />\r\n \r\n )}\r\n main={t(\"Clock Out\")} />\r\n \r\n )}\r\n main={t(\"Break In\")} />\r\n \r\n )}\r\n main={t(\"Break Out\")} />\r\n \r\n )}\r\n main={t(\"Expected Working Hours\")} />\r\n \r\n
\r\n {\r\n switch (event.eventType) {\r\n case \"shift\":\r\n {\r\n var AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined ? event.start.toLocaleTimeString().split(\" \")[1] : event.start.toLocaleTimeString().split(\" \")[1]\r\n var AMPMEnd = event.end.toLocaleTimeString().split(\" \")[1] == undefined ? event.end.toLocaleTimeString().split(\" \")[1] : event.end.toLocaleTimeString().split(\" \")[1]\r\n var startTime = event.start.toLocaleTimeString().split(\":\")[0] +\r\n \":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMStart\r\n var endTime = event.end.toLocaleTimeString().split(\":\")[0] + \":\"\r\n + event.end.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMEnd\r\n\r\n\r\n return
\r\n
\r\n {startTime}-{endTime}\r\n
\r\n
;\r\n }\r\n case \"BreakOut\":\r\n {\r\n var AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined ? event.start.toLocaleTimeString().split(\" \")[1] : event.start.toLocaleTimeString().split(\" \")[1]\r\n var hours = event.start.getHours()\r\n var mins = event.start.getMinutes() == 0 ? \"00\" : event.start.getMinutes()\r\n var time = event.start.toLocaleTimeString().split(\":\")[0] +\r\n \":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMStart\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n }\r\n content={
{ e.preventDefault() }}>Break Out Time {time}
}\r\n //{\"Break Out Time \" + time}\r\n on=\"hover\"\r\n />\r\n\r\n );\r\n }\r\n case \"ClockIn\":\r\n {\r\n var AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined ? event.start.toLocaleTimeString().split(\" \")[1] : event.start.toLocaleTimeString().split(\" \")[1]\r\n var hours = event.start.getHours()\r\n var mins = event.start.getMinutes() == 0 ? \"00\" : event.start.getMinutes()\r\n var time = event.start.toLocaleTimeString().split(\":\")[0] +\r\n \":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMStart\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n }\r\n content={
{ e.preventDefault() }}>Clock In Time {time}
}\r\n //{\"Clock In Time \" + time}\r\n on=\"hover\"\r\n />\r\n );\r\n }\r\n\r\n case \"ClockOut\":\r\n {\r\n var AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined ? event.start.toLocaleTimeString().split(\" \")[1] : event.start.toLocaleTimeString().split(\" \")[1]\r\n var hours = event.start.getHours()\r\n var mins = event.start.getMinutes() == 0 ? \"00\" : event.start.getMinutes()\r\n var time = event.start.toLocaleTimeString().split(\":\")[0] +\r\n \":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMStart\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n content={
{ e.preventDefault() }}>Clock Out Time {time}
}\r\n //{\"Clock Out Time \" + time}\r\n on=\"hover\"\r\n />\r\n );\r\n }\r\n case \"BreakIn\":\r\n {\r\n var AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined ? event.start.toLocaleTimeString().split(\" \")[1] : event.start.toLocaleTimeString().split(\" \")[1]\r\n var hours = event.start.getHours()\r\n var mins = event.start.getMinutes() == 0 ? \"00\" : event.start.getMinutes()\r\n var time = event.start.toLocaleTimeString().split(\":\")[0] +\r\n \":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n + AMPMStart\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n content={
{ e.preventDefault() }}>Break In Time {time}
}\r\n //{\"Break In Time \" + time}\r\n on=\"hover\"\r\n />\r\n );\r\n }\r\n default:\r\n {\r\n return ;\r\n }\r\n }\r\n }\r\n }\r\n >\r\n
\r\n
\r\n
\r\n\r\n );\r\n\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(WeekSchedule as any) as any);\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { Flex, FlexItem, Menu, Divider, Button } from \"@fluentui/react-northstar\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { Separator } from \"@fluentui/react\";\r\nimport { getUser } from \"../../api/account\";\r\nimport Timesheet from \"./index\";\r\nimport Weeklyschedule from \"./weeklyschedule\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { UserView } from \"../../models\";\r\n\r\ntype Props = {\r\n match: {\r\n params: {\r\n id: string;\r\n };\r\n };\r\n t: any;\r\n user: UserStore;\r\n};\r\n\r\ninterface IState {\r\n currentTab: number | string;\r\n userInView?: UserView;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass UserDetailsTabs extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n this.state = {\r\n currentTab: 0\r\n };\r\n }\r\n\r\n get id() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n componentDidMount(): void {\r\n this.fetch()\r\n }\r\n fetch = async () => {\r\n const user = await getUser(this.id);\r\n this.setState({userInView : user.payload})\r\n console.log(user.payload)\r\n }\r\n\r\n render() {\r\n const { t, match, user } = this.props;\r\n const { userInView } = this.state\r\n return (\r\n \r\n \r\n \r\n {this.id ? <><>
<>{userInView ? userInView.fullName : \"\"} : <>}\r\n \r\n
\r\n \r\n \r\n this.setState({ currentTab: i?.activeIndex ?? 0 })}\r\n activeIndex={this.state.currentTab}\r\n styles ={{height :\"45px\" , overflow :\"hidden\"}}\r\n items={ \r\n [\r\n {\r\n key: \"timsheet\",\r\n content: t('Timesheet')\r\n },\r\n {\r\n key: \"weeklyscheduleview\",\r\n content: t('Weekly Schedule')\r\n }\r\n \r\n ]}\r\n >\r\n \r\n \r\n {(function (i) {\r\n switch (i) {\r\n case 0:\r\n case \"0\":\r\n return ;\r\n case 1:\r\n case \"1\":\r\n return ;\r\n }\r\n })(this.state.currentTab)}\r\n\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(UserDetailsTabs as any) as any);\r\n","export default __webpack_public_path__ + \"static/media/watermark-cover-art.ad940f09.png\";","import React, { FormEvent } from \"react\";\r\nimport { Redirect, withRouter } from \"react-router-dom\";\r\nimport { inject } from \"mobx-react\";\r\nimport { TextField, PrimaryButton, ActionButton } from \"@fluentui/react\";\r\nimport { Divider, Avatar, Segment, Flex, Dialog, EyeSlashIcon, EyeIcon, Box, Loader } from \"@fluentui/react-northstar\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport logo from \"../../assests/images/logo.png\";\r\nimport { Error, LoginInput } from \"../../models\";\r\nimport { recoverPassword } from \"../../api/account\";\r\nimport { NotificationStore } from \"../../store/notification\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport BackgroundArt from '../../assests/images/watermark-cover-art.png';\r\n\r\n\r\ninterface ILoginState {\r\n email: string;\r\n password: string;\r\n company: string;\r\n hasLoggedIn: boolean;\r\n emailError: string;\r\n passwordError: string;\r\n passwordDialogOpen: boolean;\r\n showPass: boolean;\r\n firstLogin: boolean;\r\n loading: boolean;\r\n}\r\n\r\ntype Props = Readonly<{ user?: UserStore; notification?: NotificationStore; match?: any, t : any }>;\r\n\r\n@inject(\"user\", \"ui\")\r\nclass Login extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.state = {\r\n showPass: false,\r\n passwordDialogOpen: false,\r\n email: \"\",\r\n password: \"\",\r\n emailError: \"\",\r\n passwordError: \"\",\r\n company: props.match?.params?.company || \"BluGrass\",\r\n hasLoggedIn: false,\r\n firstLogin: false,\r\n loading: false\r\n };\r\n }\r\n\r\n validateForm = () => {\r\n const { email, password } = this.state;\r\n return email.length > 0 && password.length > 0;\r\n };\r\n\r\n submit = async (e: FormEvent) => {\r\n e.preventDefault();\r\n this.setState({loading : true})\r\n var firstLogin = false;\r\n try {\r\n var loginResponse = await this.props.user?.login({\r\n email: this.state.email,\r\n password: this.state.password,\r\n } as LoginInput);\r\n firstLogin = loginResponse?.payload.firstLogin || false;\r\n await this.props.notification?.load();\r\n } catch (data: any) {\r\n const errors = data.errors as Error[];\r\n if (errors) {\r\n this.setState({\r\n emailError: errors.filter((x) => x.code === \"NotFound\")[0]?.description ?? \"\",\r\n passwordError: errors.filter((x) => x.code === \"IncorrectPassword\")[0]?.description ?? \"\",\r\n });\r\n }\r\n }\r\n this.setState({ hasLoggedIn: this.props.user?.isLoggedIn || false, firstLogin, loading : false });\r\n };\r\n\r\n recoverPassword = async () => {\r\n const { t } = this.props\r\n try {\r\n // const params = new URLSearchParams(window.location.h);\r\n await recoverPassword({ email: this.state.email});\r\n this.setState({ passwordDialogOpen: true });\r\n } catch (data) {\r\n this.setState({ emailError: t(\"Please enter a valid email\") });\r\n }\r\n };\r\n\r\n render() {\r\n const { loading } = this.state\r\n const { user, t } = this.props;\r\n const companyName = this.props.match?.params?.company;\r\n if (this.props.user?.isLoggedIn) {\r\n if (this.props.user?.firstLogin) {\r\n return ;\r\n } else {\r\n const params = new URLSearchParams(window.location.search);\r\n const param = params.get(\"redirect\");\r\n const redirect = param ? decodeURI(param) : null;\r\n return ;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n this.setState({ passwordDialogOpen: false })}\r\n confirmButton={{ content: \"Ok\" }}\r\n content={t(\"Please follow instructions to reset your password\")}\r\n header={`${t(\"An email has been sent to\")} ${this.state.email}`} />\r\n \r\n \r\n
this.submit(e)}>\r\n \r\n \r\n } />\r\n\r\n this.setState({ company: val ?? \"\" })}\r\n disabled={true} />\r\n\r\n this.setState({ email: val ?? \"\", emailError: \"\" })}\r\n errorMessage={this.state.emailError} />\r\n\r\n (\r\n this.setState({ showPass: !this.state.showPass })}>\r\n {this.state.showPass ? : }\r\n \r\n )}\r\n value={this.state.password}\r\n onChange={(e, val) => this.setState({\r\n password: val ?? \"\", passwordError: \"\",\r\n })}\r\n errorMessage={this.state.passwordError} />\r\n\r\n {t(\"Forgot password?\")}\r\n\r\n \r\n {loading ? : t(\"Submit\")}\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Login as any) as any);\r\n","import React from \"react\";\r\nimport { Flex } from \"@fluentui/react-northstar\";\r\nimport { Text } from \"@fluentui/react\";\r\n\r\nexport default function NotFound() {\r\n return (\r\n \r\n 404\r\n \r\n );\r\n}\r\n","import request from \"../utils/request\";\r\nimport { Result, Holiday, HolidaysConfigInput, HolidaysConfigView, HolidaysInput } from \"../models\";\r\n\r\nexport async function createHolidays(input: HolidaysInput) {\r\n const response = await request.post>(\"Holiday/CreateHoliday\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function getHolidays() {\r\n const response = await request.get>(\"Holiday/GetListOfHolidays\");\r\n return response.data;\r\n}\r\n\r\nexport async function getHolidaysConfig(companyId: number) {\r\n const response = await request.get>(`Holiday/GetHolidaysConfig/${companyId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function updateHolidaysConfig(input: HolidaysConfigInput) {\r\n const response = await request.post>(\"Holiday/UpdateHolidaysConfig\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function getUserHolidays(userId: string) {\r\n const response = await request.get>(`Holiday/${userId}`);\r\n return response.data;\r\n}\r\n\r\n// export async function assignHolidays(input: UserHolidayInput) {\r\n// const response = await request.post>(\"Holiday/AssignHolidayToUser\", input);\r\n// return response.data;\r\n// }\r\n\r\n// export async function unassignHolidays(input: UserHolidayInput) {\r\n// const response = await request.post>(\"Holiday/UnassignHolidayToUser\", input);\r\n// return response.data;\r\n// }\r\n","import React from 'react';\r\nimport { ShimmeredDetailsList, IColumn } from '@fluentui/react';\r\nimport { Holiday, HolidayView } from \"../../../models\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { UserStore } from '../../../store/user';\r\nimport * as HolidaysApi from '../../../api/holidays';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { withTranslation } from 'react-i18next';\r\nimport dateformat from 'dateformat'\r\nimport moment from 'moment';\r\n\r\ninterface IState {\r\n assignDialogOpen: boolean;\r\n holidaysDialogOpen: boolean;\r\n assignInput: number[];\r\n holidaysLoading: boolean;\r\n userHolidays: Holiday[];\r\n holidays: Holiday[]\r\n // holidaysInput: (HolidayInput & { id: string })[];\r\n holidayInputError?: string;\r\n}\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n t: any;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Holidays extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n this.state = {\r\n assignDialogOpen: false,\r\n assignInput: [],\r\n holidays: [],\r\n holidaysDialogOpen: false,\r\n holidaysLoading: false,\r\n userHolidays: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n fetchData = async () => {\r\n this.setState({ holidaysLoading: true });\r\n const userHolydays = await HolidaysApi.getUserHolidays(this.userId);\r\n // const holidays = await HolidaysApi.getHolidays();\r\n this.setState({\r\n holidaysLoading: false,\r\n userHolidays: userHolydays.payload\r\n });\r\n }\r\n\r\n\r\n\r\n // assignHoliday = async () => {\r\n // await HolidaysApi.assignHolidays({\r\n // userId: this.userId,\r\n // holidayId: this.state.assignInput,\r\n // });\r\n // this.fetchData();\r\n // this.setState({ assignDialogOpen: false });\r\n // };\r\n\r\n // unassignHoliday = async (id : number) => {\r\n // await HolidaysApi.unassignHolidays({\r\n // userId: this.userId,\r\n // holidayId: [id],\r\n // });\r\n // this.fetchData();\r\n // };\r\n\r\n\r\n render() {\r\n const { t } = this.props;\r\n\r\n const holidayCols: IColumn[] = [\r\n {\r\n key: \"name\",\r\n name: t(\"Name\"),\r\n minWidth: 250,\r\n maxWidth: 300,\r\n onRender: (holiday: HolidayView) => t(holiday.name),\r\n },\r\n {\r\n key: \"date\",\r\n name: t(\"Date\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (holiday: HolidayView) => moment(new Date(holiday.date)).format('dddd, Do MMM, yyyy'),\r\n },\r\n {\r\n key: \"description\",\r\n name: t(\"Description\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (holiday: HolidayView) => holiday.description,\r\n }\r\n ];\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n\r\n}\r\n\r\nexport default withRouter(withTranslation()(Holidays as any) as any);","import request from \"../utils/request\";\r\nimport { Result, LeaveRequestView, LeaveBalanceView, LeaveType, LeavesConfigView, LeavesConfigInput, LeaveRequestInput, LeaveRequestsView, LeaveRequestApprovalInput, QuotaUnit, LeaveAttachmentsInput, LeaveRequestAttachmentView, LeaveTypeView } from \"../models\";\r\n\r\nexport async function getLeaveTypes(userId?: string) {\r\n const response = await request.get>(`Leave/LeaveTypes/${userId??''}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeavesConfig(companyId: number, userId?: string) {\r\n const response = await request.get>(`Leave/LeavesConfig/${companyId}${userId? \"/\" + userId : \"\"}`);\r\n return response.data;\r\n}\r\n\r\nexport async function updateLeavesConfig(input: LeavesConfigInput) {\r\n const response = await request.post>(\"Leave/UpdateLeavesConfig\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeaveRequestsPerUser(userId?: string) {\r\n const response = await request.get>(`Leave/${userId?? ''}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeaveRequestsAssignedToUser(userId?: string) {\r\n const response = await request.get>(`Leave/LeaveRequestsAssignedToUser/${userId?? ''}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeaveTypeQuotaUnit(leaveTypeId: number){\r\n const response = await request.get>(`Leave/QuotaUnit/${leaveTypeId}`);\r\n return response.data;\r\n}\r\n\r\n\r\nexport async function getBalancePerUser(userId: string) {\r\n const response = await request\r\n .get>(`Leave/GetBalancePerUser/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function requestLeave(input: LeaveRequestInput) {\r\n const response = await request.post>(\"Leave/RequestLeave\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeaveRequest(leaveRequestId: number) {\r\n const response = await request.get>(`Leave/GetLeaveRequest/${leaveRequestId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function leaveRequestApproval(input : LeaveRequestApprovalInput){\r\n const response = await request.post>(\"Leave/LeaveRequestApproval\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function leaveRequestUndoApproval(input : LeaveRequestApprovalInput){\r\n const response = await request.post>(\"Leave/LeaveRequestUndoApproval\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function createLeaveType(input : LeaveType){\r\n const response = await request.post>(\"Leave/CreateLeaveType\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function addLeaveAttachments(input: LeaveAttachmentsInput) {\r\n var formData = new FormData();\r\n formData.append('leaveRequestId', input.leaveRequestId.toString())\r\n for (var i = 0; i < input.attachments.length; i++)\r\n formData.append('attachments', input.attachments[i])\r\n\r\n const response = await request.post>(`Leave/AddLeaveAttachments`,\r\n formData);\r\n return response.data;\r\n}\r\n\r\nexport async function getLeaveRequestAttachments(leaveRequestId: number) {\r\n const response = await request\r\n .get>(`Leave/GetLeaveRequestAttachments/${leaveRequestId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function removeLeaveAttachment(leaveRequestId : number, leaveAttachmentId : number) {\r\n const response = await request.post>(`Leave/RemoveLeaveAttachment/${leaveRequestId}/${leaveAttachmentId}`);\r\n return response.data;\r\n}\r\n\r\n// export async function getCompanyLeaveTypesDictionary(companyId: number) {\r\n// const response = await request.get>(`Leave/CompanyLeaveTypes/dictionary/${companyId}`);\r\n// return response.data;\r\n// }\r\n\r\n// export async function assignLeavesToCompany(companyLeaveTypeInput: CompanyLeaveTypeInput) {\r\n// const response = await request.post>(\"Leave/AssignLeavesTocompany\", companyLeaveTypeInput);\r\n// return response.data;\r\n// }\r\n\r\n// export async function assignLeavesToUser(input:AllowedLeaveInput) {\r\n// const response = await request.post>(\"Leave/AssignLeavesTouser\", input\r\n\r\n\r\n// );\r\n// return response.data;\r\n// }","import React, { useState } from 'react';\r\nimport {\r\n Flex,\r\n Button,\r\n Loader,\r\n Input,\r\n Alert,\r\n TrashCanIcon,\r\n EyeIcon,\r\n Text\r\n} from \"@fluentui/react-northstar\";\r\n\r\nimport { useTranslation } from 'react-i18next';\r\nimport * as LeavesApi from '../../api/leaves'\r\nimport { LeaveRequestAttachmentView, LeaveRequestView, Result } from '../../models';\r\n\r\nexport type LeaveAttachmentsProps = {\r\n leaveRequestId: number,\r\n newRequest: boolean | undefined,\r\n submitNow: boolean | undefined,\r\n fetchData: () => Promise,\r\n setAttachmentsCount: (n: number) => void\r\n};\r\n\r\nexport default function LeaveAttachments({leaveRequestId, newRequest = false, submitNow = false, fetchData, setAttachmentsCount} : LeaveAttachmentsProps) {\r\n const { t } = useTranslation()\r\n\r\n const [loading, setLoading] = useState(false)\r\n const [uploadLoading, setUploadLoading] = useState(false)\r\n const [leaveRequest, setLeaveRequest] = useState({ id: 0 } as LeaveRequestView)\r\n const [files,setFiles] = useState([] as File[])\r\n const [attachments, setAttachments] = useState([] as LeaveRequestAttachmentView[])\r\n const [alertText, setAlertText] = useState(\"\")\r\n const [submitedOnce, setSubmitedOnce] = useState(false);\r\n\r\n const fetch = async () => {\r\n setLoading(true)\r\n if (leaveRequestId){\r\n try {\r\n var leaveRequest = await LeavesApi.getLeaveRequest(leaveRequestId)\r\n setLeaveRequest(leaveRequest.payload)\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n if (res.errors && res.errors[0] && res.errors[0].description)\r\n setAlertText(res.errors[0].description)\r\n }\r\n }\r\n try {\r\n setAttachments(await (await LeavesApi.getLeaveRequestAttachments(leaveRequestId)).payload)\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n if (res.errors && res.errors[0] && res.errors[0].description)\r\n setAlertText(res.errors[0].description)\r\n }\r\n }\r\n }\r\n setLoading(false)\r\n }\r\n \r\n const submit = async () => {\r\n if (files.length > 0){\r\n setAlertText(\"\")\r\n setUploadLoading(true)\r\n try {\r\n setAttachments(await (await LeavesApi.addLeaveAttachments({leaveRequestId, attachments : files})).payload)\r\n await fetchData();\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n if (res.errors && res.errors[0] && res.errors[0].description)\r\n setAlertText(res.errors[0].description)\r\n }\r\n }\r\n setUploadLoading(false)\r\n } else if (!newRequest) {\r\n setAlertText(t(\"Please choose an attachment\"))\r\n }\r\n };\r\n\r\n // change to useEffect() https://www.udemy.com/course/react-the-complete-guide-incl-redux/learn/lecture/25599212 section 10\r\n if (leaveRequest.id !== leaveRequestId && !loading){\r\n fetch()\r\n // debugger;\r\n if (submitNow && !submitedOnce){\r\n setSubmitedOnce(true)\r\n submit()\r\n }\r\n }\r\n\r\n const deleteAttachment = async (id : number) => {\r\n setAlertText(\"\")\r\n setLoading(true)\r\n try {\r\n setAttachments(await (await LeavesApi.removeLeaveAttachment(leaveRequestId, id)).payload)\r\n await fetchData();\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n if (res.errors && res.errors[0] && res.errors[0].description)\r\n setAlertText(res.errors[0].description)\r\n }\r\n }\r\n setLoading(false)\r\n }\r\n\r\n const viewAttachment = async (path : string) => {\r\n setAlertText(\"\")\r\n window.open(path, '_blank')\r\n }\r\n\r\n const onChange = (e : any) => {\r\n setAlertText(\"\")\r\n var files : File[] = []\r\n for(var i = 0; i < e.target.files.length; i++ ){\r\n files.push(e.target.files[i])\r\n }\r\n if(newRequest){\r\n setAttachmentsCount(e.target.files.length);\r\n }\r\n setFiles(files);\r\n }\r\n\r\n return (\r\n \r\n {alertText? : null}\r\n \r\n \r\n {leaveRequestId !== 0 && !newRequest ? : null}\r\n \r\n {\r\n loading? :\r\n \r\n {attachments.map((attachment, index) => {\r\n return (\r\n \r\n {attachment.name + \".\" + attachment.extention}\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n }\r\n \r\n );\r\n }","import React from 'react';\r\nimport { TextField } from '@fluentui/react';\r\nimport { Dialog, Flex, Alert, ExclamationTriangleIcon, Loader } from '@fluentui/react-northstar';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { LeaveRequestView } from '../../models';\r\n\r\nexport type SubmitLeaveApprovalFormProps = {\r\n headerText: string, \r\n isRequired: boolean, \r\n isOpen: boolean, \r\n loading: boolean, \r\n commentDialogData: any, \r\n commentRequiredAlert: boolean, \r\n leaveRequests: LeaveRequestView[], \r\n onCommentChange: (e: any, props: string | undefined) => void, \r\n onConfirm: () => void, \r\n onCancel: () => void\r\n};\r\n\r\nconst SubmitLeaveApprovalForm = ({headerText, isRequired, isOpen, loading, commentDialogData, commentRequiredAlert, leaveRequests, onCommentChange, onConfirm, onCancel} : SubmitLeaveApprovalFormProps) => {\r\n const { t } = useTranslation()\r\n return (\r\n loading ? {} : onConfirm()}\r\n confirmButton={loading ? : t(\"Submit\")}\r\n cancelButton={loading ? : t(\"Cancel\")}\r\n onCancel={() => loading ? {} : onCancel()}\r\n header={t(headerText)}\r\n content={(\r\n \r\n {(headerText === \"Leave Approval\" && leaveRequests.find(l => l.id === commentDialogData.leaveId)?.attachmentRequired &&\r\n (leaveRequests.find(l => l.id === commentDialogData.leaveId)?.attachmentCount as number) <= 0) &&\r\n \r\n {' '}\r\n {t(\"This leave type requires an attachment\")}\r\n \r\n } />}\r\n {commentRequiredAlert ? : null}\r\n onCommentChange(e, props)}\r\n />\r\n \r\n )} />\r\n )\r\n}\r\n\r\nexport default SubmitLeaveApprovalForm","import React, { CSSProperties } from 'react';\r\nimport { CommandBar, ShimmeredDetailsList, IColumn, DatePicker, Dropdown, TextField, Label, Icon } from '@fluentui/react';\r\nimport { Dialog, Flex, Alert, Button, Checkbox, AcceptIcon, CloseIcon, Divider, Text, UndoIcon, ExclamationTriangleIcon, Loader } from '@fluentui/react-northstar';\r\nimport { LeaveType, Result, LeaveRequestView, LeaveRequestInput, LeaveRequestStatus, QuotaUnit, HalfDayPart, Roles, LeaveTypeView } from '../../../models';\r\nimport * as LeavesApi from '../../../api/leaves';\r\nimport { observer, inject } from 'mobx-react';\r\nimport { UserStore } from '../../../store/user';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { shadeBlend } from '../../../utils';\r\nimport { withTranslation } from 'react-i18next';\r\nimport dateformat from 'dateformat';\r\n//@ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker';\r\nimport \"../../../components/styles/dateTimePicker.scss\";\r\nimport LeaveAttachments from \"../../../components/leaves/leaveAttachments\";\r\nimport SubmitLeaveApprovalForm from \"../../../components/leaves/submitLeaveApprovalForm\";\r\n\r\ninterface IState {\r\n loading: boolean;\r\n leavesLoading: boolean;\r\n leaveDialogOpen: boolean;\r\n approveDialogOpen: boolean;\r\n rejectDialogOpen: boolean;\r\n undoDialogOpen: boolean;\r\n commentDialogData: {\r\n leaveId: number;\r\n commentValue: string;\r\n }\r\n commentRequiredAlert: boolean;\r\n leaveAttachmentsDialogOpen: boolean;\r\n // AssignleaveDialogOpen: boolean;\r\n isSupervisor: boolean;\r\n leaveRequestApprovalFormIsOpen: boolean;\r\n leaveRequestApprovalFormId: number;\r\n leaveRequests: LeaveRequestView[];\r\n // balance: LeaveBalanceModel[];\r\n leaveTypes: LeaveTypeView[];\r\n requestStartDate: Date;\r\n requestEndDate: Date;\r\n //quotaUnit: QuotaUnit;\r\n input: LeaveRequestInput & {attachmentsCount : number};\r\n inputError?: string;\r\n selectedLeaveId: number;\r\n submitAttachmentsNow: boolean;\r\n // allowedLeaveInput: AllowedLeaveInput;\r\n}\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n t: any;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Leaves extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n let dateWithOffset = new Date();\r\n dateWithOffset.setHours(dateWithOffset.getHours() - (dateWithOffset.getTimezoneOffset() / 60))\r\n\r\n this.state = {\r\n // balance: [],\r\n loading: false,\r\n leaveTypes: [],\r\n isSupervisor: false,\r\n leaveRequestApprovalFormIsOpen: false,\r\n leaveRequestApprovalFormId: 0,\r\n leaveRequests: [],\r\n requestStartDate: new Date(),\r\n requestEndDate: new Date(),\r\n input: {\r\n leaveTypeId: 0,\r\n userId: this.userId,\r\n startDate: dateWithOffset.toJSON().split('T')[0],\r\n fromHalfDay: false,\r\n fromHalfDayPart: HalfDayPart.AM,\r\n endDate: dateWithOffset.toJSON().split('T')[0],\r\n toHalfDay: false,\r\n toHalfDayPart: HalfDayPart.AM,\r\n comment: \"\",\r\n attachmentsCount: 0\r\n },\r\n // allowedLeaveInput:{\r\n // allowedCount:0,\r\n // leaveTypeId:0,\r\n // userID:this.userId,\r\n // },\r\n leaveDialogOpen: false,\r\n leaveAttachmentsDialogOpen: false,\r\n approveDialogOpen: false,\r\n rejectDialogOpen: false,\r\n undoDialogOpen: false,\r\n commentDialogData: {\r\n leaveId: 0,\r\n commentValue: \"\"\r\n },\r\n commentRequiredAlert: false,\r\n // AssignleaveDialogOpen:false,\r\n leavesLoading: false,\r\n selectedLeaveId: 0,\r\n submitAttachmentsNow: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n fetchData = async () => {\r\n this.setState({ leavesLoading: true });\r\n const leaveRequests = await LeavesApi.getLeaveRequestsPerUser(this.userId);\r\n const leaveTypes = await LeavesApi.getLeaveTypes(this.userId);\r\n // const balance = await LeavesApi.getBalancePerUser(this.userId);\r\n\r\n if (leaveTypes.payload\r\n && leaveTypes.payload.length > 0\r\n && leaveTypes.payload[0].quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Hours].toLowerCase()) {\r\n let dateWithOffset = new Date();\r\n dateWithOffset.setHours(dateWithOffset.getHours() - (dateWithOffset.getTimezoneOffset() / 60))\r\n\r\n this.setState({\r\n requestStartDate: new Date(),\r\n requestEndDate: new Date(),\r\n input: {\r\n ...this.state.input,\r\n startDate: dateWithOffset.toJSON().split('.')[0],\r\n endDate: dateWithOffset.toJSON().split('.')[0],\r\n },\r\n })\r\n }\r\n\r\n this.setState({\r\n leavesLoading: false,\r\n isSupervisor: leaveRequests.payload.isSupervisor,\r\n leaveRequests: leaveRequests.payload.leaveRequests,\r\n leaveTypes: leaveTypes.payload,\r\n input: { ...this.state.input, userId: this.userId }\r\n });\r\n // this.setState({ leavesLoading: false, balance: balance.payload });\r\n // this.setState({ leavesLoading: false, companyleaves: companyleaves.payload });\r\n }\r\n\r\n // assignLeave = async () => {\r\n // const { t } = this.props\r\n // if (!this.state.allowedLeaveInput.leaveTypeId) {\r\n // this.setState({ inputError: t(\"Leave Type is mandatory\") });\r\n // } else {\r\n // try {\r\n // await LeavesApi.assignLeavesToUser(this.state.allowedLeaveInput);\r\n // this.setState({ AssignleaveDialogOpen: false });\r\n // this.fetchData();\r\n // } catch (error) {\r\n // const res = error as Result;\r\n // this.setState({ inputError: res.errors[0].description });\r\n // }\r\n // }\r\n // };\r\n\r\n requestLeave = async () => {\r\n this.setState({loading : true});\r\n const { t } = this.props\r\n if (!this.state.input.leaveTypeId) {\r\n this.setState({ inputError: t(\"Leave Type is mandatory\") });\r\n } else {\r\n try {\r\n var response = await LeavesApi.requestLeave(this.state.input);\r\n this.setState({ selectedLeaveId: response.payload.id, submitAttachmentsNow: true });\r\n this.fetchData();\r\n let dateWithOffset = new Date();\r\n dateWithOffset.setHours(dateWithOffset.getHours() - (dateWithOffset.getTimezoneOffset() / 60))\r\n this.setState({\r\n leaveDialogOpen: false,\r\n inputError: \"\",\r\n requestStartDate: new Date(),\r\n requestEndDate: new Date(),\r\n input: {\r\n leaveTypeId: 0,\r\n userId: this.userId,\r\n startDate: dateWithOffset.toJSON().split('T')[0],\r\n fromHalfDay: false,\r\n fromHalfDayPart: HalfDayPart.AM,\r\n endDate: dateWithOffset.toJSON().split('T')[0],\r\n toHalfDay: false,\r\n toHalfDayPart: HalfDayPart.AM,\r\n comment: \"\",\r\n attachmentsCount: 0\r\n },\r\n });\r\n } catch (error) {\r\n const res = error as Result;\r\n this.setState({ inputError: res.errors[0].description });\r\n }\r\n }\r\n this.setState({loading : false});\r\n };\r\n\r\n // onRequestApprovalFormCancel = () => {\r\n // this.setState({ leaveRequestApprovalFormIsOpen: false, leaveRequestApprovalFormId: 0})\r\n // }\r\n\r\n requestApproval = async (id: number, isApproved: boolean, supervisorComment: string) => {\r\n this.setState({loading : true});\r\n try {\r\n await LeavesApi.leaveRequestApproval({ id, isApproved, supervisorComment })\r\n this.setState({\r\n approveDialogOpen: false,\r\n rejectDialogOpen: false,\r\n commentRequiredAlert: false\r\n })\r\n this.fetchData();\r\n \r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n this.setState({loading : false});\r\n }\r\n\r\n undoRequestApproval = async (id: number, supervisorComment: string) => {\r\n this.setState({loading : true});\r\n try {\r\n await LeavesApi.leaveRequestUndoApproval({ id, supervisorComment, isApproved: false })\r\n this.setState({\r\n undoDialogOpen: false,\r\n commentRequiredAlert: false\r\n })\r\n this.fetchData();\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n this.setState({loading : false});\r\n }\r\n\r\n setAttachmentsCount(n: number) {\r\n this.setState({\r\n input: {\r\n ...this.state.input,\r\n attachmentsCount: n\r\n }\r\n });\r\n }\r\n\r\n leaveTypeChange = (e: any, item: any) => {\r\n let dateWithOffset = new Date();\r\n dateWithOffset.setHours(dateWithOffset.getHours() - (dateWithOffset.getTimezoneOffset() / 60))\r\n\r\n if (this.state.leaveTypes.find(l => l.id === this.state.input.leaveTypeId)?.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Days].toLowerCase()\r\n && this.state.leaveTypes.find(l => l.id === (item?.key as number) ?? 0)?.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Hours].toLowerCase()) {\r\n this.setState({\r\n requestStartDate: new Date(),\r\n requestEndDate: new Date(),\r\n input: {\r\n ...this.state.input,\r\n startDate: dateWithOffset.toJSON().split('.')[0],\r\n endDate: dateWithOffset.toJSON().split('.')[0],\r\n },\r\n })\r\n } else if (this.state.leaveTypes.find(l => l.id === this.state.input.leaveTypeId)?.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Hours].toLowerCase()\r\n && this.state.leaveTypes.find(l => l.id === (item?.key as number) ?? 0)?.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Days].toLowerCase()) {\r\n this.setState({\r\n requestStartDate: new Date(),\r\n requestEndDate: new Date(),\r\n input: {\r\n ...this.state.input,\r\n startDate: dateWithOffset.toJSON().split('T')[0],\r\n endDate: dateWithOffset.toJSON().split('T')[0],\r\n },\r\n })\r\n }\r\n\r\n\r\n\r\n this.setState((state) => ({\r\n input: {\r\n ...state.input,\r\n leaveTypeId: (item?.key as number) ?? 0,\r\n }\r\n }))\r\n\r\n }\r\n\r\n render() {\r\n const { user, t } = this.props;\r\n\r\n \r\n\r\n const IconSelectedStyles : CSSProperties = { fontSize: \"20px\", fontWeight: 'bolder', cursor: 'pointer', color: user.companyPrimaryColor }\r\n const IconNotSelectedStyles : CSSProperties = { fontSize: \"17px\", fontWeight: 'normal', cursor: 'pointer' }\r\n\r\n const dialogs = (\r\n <>\r\n {/* */}\r\n this.state.loading ? {} : this.requestLeave()}\r\n onCancel={() => this.state.loading ? {} : this.setState({ leaveDialogOpen: false })}\r\n confirmButton={this.state.loading ? : t(\"Request Leave\")}\r\n cancelButton={this.state.loading ? : t(\"Cancel\")}\r\n header={t(\"Request a leave\")}\r\n content={(\r\n \r\n {this.state.inputError && }\r\n ({\r\n key: leaveType.id,\r\n text: t(leaveType.name),\r\n }))]}\r\n selectedKey={this.state.input.leaveTypeId}\r\n // itemToString={(item: any) => item?.content}\r\n onChange={(e, item) => this.leaveTypeChange(e, item)}\r\n placeholder={t(\"Select leave type\")} />\r\n {this.state.leaveTypes.find(l => l.id === this.state.input.leaveTypeId)?.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Days].toLowerCase() ? <>\r\n \r\n \r\n {\r\n if (date)\r\n date.setHours(date.getHours() - (date.getTimezoneOffset() / 60))\r\n this.setState((state) => ({\r\n requestStartDate: date ?? state.requestStartDate,\r\n input: {\r\n ...state.input,\r\n startDate: date ? date.toJSON().split('T')[0] : state.input.startDate\r\n },\r\n }))\r\n }}\r\n // label={t(\"From\")}\r\n value={this.state.requestStartDate} />\r\n this.setState({ input: { ...this.state.input, fromHalfDay: !this.state.input.fromHalfDay } })} />\r\n this.setState({ input: { ...this.state.input, fromHalfDayPart: HalfDayPart.AM } })}\r\n />\r\n this.setState({ input: { ...this.state.input, fromHalfDayPart: HalfDayPart.PM } })}\r\n />\r\n \r\n \r\n \r\n {\r\n if (date)\r\n date.setHours(date.getHours() - (date.getTimezoneOffset() / 60))\r\n this.setState((state) => ({\r\n requestEndDate: date ?? state.requestEndDate,\r\n input: {\r\n ...state.input,\r\n endDate: date ? date.toJSON().split('T')[0] : state.input.endDate\r\n },\r\n }))\r\n }}\r\n value={this.state.requestEndDate} />\r\n this.setState({ input: { ...this.state.input, toHalfDay: !this.state.input.toHalfDay } })} />\r\n this.setState({ input: { ...this.state.input, toHalfDayPart: HalfDayPart.AM } })}\r\n />\r\n this.setState({ input: { ...this.state.input, toHalfDayPart: HalfDayPart.PM } })}\r\n />\r\n \r\n : <>\r\n \r\n {\r\n if (date) {\r\n let newDate = new Date(date) ?? this.state.requestStartDate;\r\n newDate.setHours(newDate.getHours() - (newDate.getTimezoneOffset() / 60))\r\n this.setState((state) => ({\r\n requestStartDate: new Date(date) ?? state.requestStartDate,\r\n input: {\r\n ...state.input,\r\n startDate: newDate.toJSON().substring(0, date.toJSON().length - 5) ?? state.input.startDate\r\n },\r\n }))\r\n }\r\n }}\r\n value={new Date(this.state.requestStartDate)}\r\n format=\"y-MM-dd h:mm:ss a\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n />\r\n \r\n {\r\n if (date) {\r\n let newDate = new Date(date) ?? this.state.requestEndDate;\r\n newDate.setHours(newDate.getHours() - (newDate.getTimezoneOffset() / 60))\r\n this.setState((state) => ({\r\n requestEndDate: new Date(date) ?? state.requestEndDate,\r\n input: {\r\n ...state.input,\r\n endDate: newDate.toJSON().substring(0, date.toJSON().length - 5) ?? state.input.endDate\r\n },\r\n }))\r\n }\r\n }}\r\n value={new Date(this.state.requestEndDate)}\r\n format=\"y-MM-dd h:mm:ss a\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n />\r\n }\r\n\r\n this.setState((state) => ({\r\n input: {\r\n ...state.input,\r\n comment: props ?? \"\",\r\n },\r\n }))} />\r\n \r\n {this.state.leaveTypes.find(l => l.id === this.state.input.leaveTypeId)?.attachmentRequired && this.state.input.attachmentsCount <= 0 && \r\n {' '}\r\n {t(\"This leave type requires an attachment\")}\r\n \r\n } />}\r\n this.setAttachmentsCount(n)} \r\n fetchData={this.fetchData} \r\n leaveRequestId={this.state.selectedLeaveId} \r\n newRequest={true} \r\n submitNow={this.state.submitAttachmentsNow} \r\n />\r\n \r\n )} />\r\n\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => this.requestApproval(this.state.commentDialogData.leaveId, true, this.state.commentDialogData.commentValue)}\r\n onCancel={() => this.setState({ approveDialogOpen: false })}\r\n />\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => {\r\n if (!this.state.commentDialogData.commentValue)\r\n this.setState({ commentRequiredAlert: true })\r\n else\r\n this.requestApproval(this.state.commentDialogData.leaveId, false, this.state.commentDialogData.commentValue)\r\n }}\r\n onCancel={() => this.setState({ rejectDialogOpen: false })}\r\n />\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => this.undoRequestApproval(this.state.commentDialogData.leaveId, this.state.commentDialogData.commentValue)}\r\n onCancel={() => this.setState({ undoDialogOpen: false })}\r\n />\r\n this.setState({ leaveAttachmentsDialogOpen: false })}\r\n // onConfirm={() => this.requestLeave()}\r\n // confirmButton={t(\"Request Leave\")}\r\n cancelButton={t(\"Cancel\")}\r\n header={t(\"Leave Attachments\")}\r\n //let leave = this.state.leaveRequests.find(l => l.id == this.state.selectedLeaveId);\r\n content={\r\n <>\r\n {this.state.leaveRequests.find(l => l.id === this.state.selectedLeaveId)?.attachmentRequired &&\r\n (this.state.leaveRequests.find(l => l.id === this.state.selectedLeaveId)?.attachmentCount as number) <= 0 &&\r\n \r\n {' '}\r\n {t(\"This leave type requires an attachment\")}\r\n \r\n } />}\r\n this.setAttachmentsCount(n)} fetchData={this.fetchData} leaveRequestId={this.state.selectedLeaveId} newRequest={false} submitNow={false} />\r\n }\r\n />\r\n\r\n \r\n );\r\n\r\n const leavesCols: IColumn[] = [\r\n {\r\n key: \"leaveType\",\r\n name: t(\"Leave type\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (leave: LeaveRequestView) => \r\n \r\n {(leave.attachmentRequired && leave.attachmentCount <= 0) && }\r\n ,\r\n },\r\n {\r\n key: \"startDate\",\r\n name: t(\"Start Date\"),\r\n minWidth: 125,\r\n maxWidth: 125,\r\n onRender: (leave: LeaveRequestView) => \r\n
{dateformat(leave.startDate, leave.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Hours].toLowerCase() ? 'dd/mm/yyyy h:MM:ss TT' : 'dd/mm/yyyy')}
\r\n
{leave.fromHalfDay ? : null}\r\n
\r\n
,\r\n },\r\n // {\r\n // key: \"fromHalfDay\",\r\n // name: t(\"From Half Day\"),\r\n // minWidth: 125,\r\n // maxWidth: 125,\r\n // onRender: (leave: LeaveRequestView) => \r\n // {leave.fromHalfDay ? t(\"Yes\") : t(\"No\")}\r\n // ,\r\n // },\r\n {\r\n key: \"endDate\",\r\n name: t(\"End Date\"),\r\n minWidth: 125,\r\n maxWidth: 125,\r\n onRender: (leave: LeaveRequestView) => \r\n
{dateformat(leave.endDate, leave.quotaUnit.toString().toLowerCase() === QuotaUnit[QuotaUnit.Hours].toLowerCase() ? 'dd/mm/yyyy h:MM:ss TT' : 'dd/mm/yyyy')}
\r\n
{leave.toHalfDay ? : null}\r\n
\r\n
,\r\n },\r\n // {\r\n // key: \"toHalfDay\",\r\n // name: t(\"To Half Day\"),\r\n // minWidth: 125,\r\n // maxWidth: 125,\r\n // onRender: (leave: LeaveRequestView) => \r\n // {leave.toHalfDay ? t(\"Yes\") : t(\"No\")}\r\n // ,\r\n // },\r\n {\r\n key: \"Status\",\r\n name: t(\"Status\"),\r\n minWidth: 100,\r\n maxWidth: 100,\r\n onRender: (leave: LeaveRequestView) => {\r\n return {t(leave.status)}\r\n },\r\n },\r\n {\r\n key: \"lastUpdate\",\r\n name: t(\"Last Update\"),\r\n minWidth: 125,\r\n maxWidth: 125,\r\n onRender: (leave: LeaveRequestView) => \r\n {dateformat(leave.lastUpdate, 'dd/mm/yyyy h:MM:ss TT')}\r\n ,\r\n },\r\n // {\r\n // key: \"numberOfDays\",\r\n // name: t(\"Number of days\"),\r\n // minWidth: 200,\r\n // maxWidth: 200,\r\n // onRender: (leave: LeaveRequestView) => {leave.numberOfDays},\r\n // },\r\n {\r\n key: \"comment\",\r\n name: t(\"Comment\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (leave: LeaveRequestView) => \r\n {leave.comments\r\n ? \r\n : }\r\n ,\r\n },\r\n {\r\n key: \"supervisor\",\r\n name: t(\"Supervisor\"),\r\n minWidth: 100,\r\n maxWidth: 100,\r\n onRender: (leave: LeaveRequestView) => \r\n {leave.supervisorName\r\n ? \r\n : }\r\n ,\r\n },\r\n {\r\n key: \"supervisorComments\",\r\n name: t(\"Supervisor Comments\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (leave: LeaveRequestView) => {\r\n // if (this.state.isSupervisor || this.props.user.role.toLowerCase() == Roles.Hr.toLowerCase() || this.props.user.role.toLowerCase() == Roles.Admin.toLowerCase())\r\n // return (\r\n // \r\n // {\r\n // leave.supervisorComments = props ?? \"\"\r\n // this.setState({})\r\n // }}\r\n // />\r\n // \r\n // )\r\n // else\r\n return (\r\n leave.supervisorComments\r\n ? \r\n : \r\n )\r\n },\r\n },\r\n {\r\n key: \"actions\",\r\n name: t(\"Actions\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (leave: LeaveRequestView) => {\r\n let attachmentButton = {\r\n this.setState({\r\n selectedLeaveId: leave.id,\r\n leaveAttachmentsDialogOpen: true\r\n })\r\n }}\r\n icon={}\r\n title={t(\"Attachments\")}\r\n iconOnly\r\n />\r\n if (this.state.isSupervisor || this.props.user.role.toLowerCase() === Roles.Hr.toLowerCase() || this.props.user.role.toLowerCase() === Roles.Admin.toLowerCase())\r\n return (\r\n \r\n {leave.status.toString().toLowerCase() === LeaveRequestStatus[LeaveRequestStatus.Pending].toLowerCase() ?\r\n <>\r\n this.setState({\r\n approveDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n }) /*this.requestApproval(leave.id, true, leave.supervisorComments)*/}\r\n icon={}\r\n title={t(\"Approve\")}\r\n iconOnly\r\n />\r\n {\r\n this.setState({\r\n rejectDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n })\r\n } /*this.requestApproval(leave.id, false, leave.supervisorComments)*/}\r\n icon={}\r\n title={t(\"Reject\")}\r\n iconOnly\r\n />\r\n :\r\n <>\r\n {\r\n this.setState({\r\n undoDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n })\r\n } /*this.undoRequestApproval(leave.id, leave.supervisorComments)*/}\r\n icon={}\r\n title={t(\"Undo\")}\r\n iconOnly\r\n />\r\n \r\n }\r\n {attachmentButton}\r\n {(leave.attachmentRequired && leave.attachmentCount <= 0) && }\r\n \r\n )\r\n else\r\n return (\r\n \r\n {attachmentButton}\r\n {(leave.attachmentRequired && leave.attachmentCount <= 0) && }\r\n \r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {dialogs}\r\n\r\n
\r\n\r\n\r\n {this.userId === this.props.user.userId || this.props.user.role.toLowerCase() === Roles.Hr.toLowerCase() || this.props.user.role.toLowerCase() === Roles.Admin.toLowerCase() ? <> this.setState({ AssignleaveDialogOpen: true }),\r\n // },\r\n {\r\n key: \"request.leave\",\r\n text: t(\"Request Leave\"),\r\n disabled: this.state.leaveTypes.length === 0,\r\n iconProps: { iconName: \"add\" },\r\n buttonStyles: {\r\n icon: { color: this.props.user.companyPrimaryColor },\r\n iconHovered: { color: shadeBlend(-0.2, this.props.user.companyPrimaryColor, undefined) },\r\n },\r\n onClick: () => this.setState({ leaveDialogOpen: true, selectedLeaveId: 0 }),\r\n },\r\n ]} /> : <>}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Leaves as any) as any);","import React from 'react';\r\nimport { ShimmeredDetailsList, IColumn } from '@fluentui/react';\r\nimport { Text } from '@fluentui/react-northstar';\r\nimport { LeaveBalanceView } from '../../../models';\r\nimport * as LeavesApi from '../../../api/leaves';\r\nimport { UserStore } from '../../../store/user';\r\nimport { observer, inject } from 'mobx-react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\ninterface IState {\r\n balanceLoading: boolean;\r\n balance: LeaveBalanceView[];\r\n}\r\n\r\ninterface IProps {\r\n t : any;\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Balance extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n this.state = {\r\n balance: [],\r\n balanceLoading: false\r\n }\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n fetchData = async () => {\r\n this.setState({ balanceLoading: true });\r\n const balance = await LeavesApi.getBalancePerUser(this.userId);\r\n this.setState({ balanceLoading: false, balance: balance.payload });\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n render() {\r\n const { t } = this.props\r\n const balanceCols: IColumn[] = [\r\n {\r\n key: \"leaveType\",\r\n name: t(\"Leave type\"),\r\n minWidth: 200,\r\n maxWidth: 200,\r\n onRender: (balance: LeaveBalanceView) => ,\r\n },\r\n {\r\n key: \"quota\",\r\n name: t(\"Quota\"),\r\n minWidth: 100,\r\n maxWidth: 100,\r\n onRender: (balance: LeaveBalanceView) => balance.quota,\r\n },\r\n {\r\n key: \"quotaUnit\",\r\n name: t(\"Quota Unit\"),\r\n minWidth: 100,\r\n maxWidth: 100,\r\n onRender: (balance: LeaveBalanceView) => t(balance.quotaUnit),\r\n },\r\n {\r\n key: \"balance\",\r\n name: t(\"Balance Remaining\"),\r\n minWidth: 100,\r\n maxWidth: 100,\r\n onRender: (balance: LeaveBalanceView) => balance.balance,\r\n },\r\n ];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Balance as any) as any);","import React from \"react\";\r\n\r\nimport {\r\n Flex,\r\n Divider,\r\n Menu,\r\n Grid,\r\n MenuBehaviorProps,\r\n tabListBehavior,\r\n} from \"@fluentui/react-northstar\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport Holidays from './tabs/holidays';\r\nimport Leaves from './tabs/leaves';\r\nimport Balance from './tabs/balance';\r\nimport * as AccountApi from \"../../api/account\";\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\ntype State = {\r\n currentTab: number | string;\r\n userName: string;\r\n};\r\n\r\ntype Props = {\r\n t: any;\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n};\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass HolidaysAndLeaves extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.state = {\r\n currentTab: 0,\r\n userName: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.loadData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n loadData = async () => {\r\n const { payload: user } = await AccountApi.getUser(this.userId)\r\n if (user)\r\n this.setState({ userName: user.fullName })\r\n };\r\n\r\n getCurrentTab = (index: number | string) => {\r\n\r\n switch (index) {\r\n case 0:\r\n case \"0\":\r\n return ;\r\n case 1:\r\n case \"1\":\r\n return ;\r\n case 2:\r\n case \"2\":\r\n return ;\r\n default:\r\n return
;\r\n }\r\n };\r\n\r\n render() {\r\n const { t, user } = this.props\r\n\r\n return (\r\n <>\r\n {/* {dialogs} */}\r\n \r\n {t(\"Holidays & Leaves\")} ({this.state.userName})
\r\n \r\n \r\n \r\n { return tabListBehavior() }}\r\n defaultActiveIndex={0}\r\n onActiveIndexChange={(e, i) => this.setState({ currentTab: i?.activeIndex ?? 0 })}\r\n styles={{ width: \"200px\" }}\r\n items={[\r\n {\r\n key: \"leaves\",\r\n content: t(\"Leaves\"),\r\n },\r\n {\r\n key: \"balance\",\r\n content: t(\"Balance\"),\r\n },\r\n {\r\n key: \"holidays\",\r\n content: t(\"Holidays\")\r\n },\r\n ]} />\r\n \r\n {\r\n this.getCurrentTab(this.state.currentTab)\r\n }\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(HolidaysAndLeaves as any) as any);\r\n","import request from \"../utils/request\";\r\nimport { Result, OrganizationInput, OrganizationView } from \"../models/index\";\r\n\r\n// export async function getLeavePerUser(userId: string) {\r\n// const response = await request.get>(`Leave/GetLeavePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\n// export async function getBalancePerUser(userId: string) {\r\n// const response = await request\r\n// .get>(`Leave/GetBalancePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\nexport async function GetOrganizations() {\r\n const response = await request.get>(\"Organization/Organizations\");\r\n return response.data;\r\n}\r\n\r\nexport async function addOrganization(input: OrganizationInput) {\r\n const response = await request\r\n .post>(\"Organization/AddOrganization\", input);\r\n return response.data;\r\n}\r\n\r\nexport async function deleteOrganization(id: number) {\r\n const response = await request.delete(`Organization/${id}`);\r\n return response.data;\r\n}\r\n","import React from \"react\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { Flex, FlexItem, Divider, Button, TrashCanIcon, TableIcon } from \"@fluentui/react-northstar\";\r\nimport { CommandBar, SearchBox, ShimmeredDetailsList, IColumn, TooltipHost } from \"@fluentui/react\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { GetOrganizations, deleteOrganization } from \"../../api/Organization\";\r\nimport Pagination from \"react-paginating\";\r\nimport { OrganizationView } from \"../../models\";\r\nimport { copyAndSort, shadeBlend } from \"../../utils\";\r\n// import user from \"../../store/user\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { SendQueuedEmails } from \"../../api/Notification\";\r\nimport { UserStore } from \"../../store/user\";\r\n\r\ninterface IProps {\r\n user: UserStore\r\n history: any;\r\n t: any;\r\n}\r\n\r\ninterface IState {\r\n loading: boolean;\r\n organizations: OrganizationView[];\r\n showFilters: boolean;\r\n items: OrganizationView[];\r\n columns: IColumn[];\r\n count: number;\r\n offset: number;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Organizations extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n const { t } = this.props\r\n\r\n this.state = {\r\n count: 10,\r\n offset: 0,\r\n items: [],\r\n organizations: [],\r\n loading: false,\r\n showFilters: false,\r\n columns: [\r\n {\r\n key: \"name\",\r\n name: t(\"Name\"),\r\n onRender: (item: OrganizationView) => item.name,\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"NumberOfUsers\",\r\n name: t(\"Number of companies\"),\r\n onRender: (item: OrganizationView) => item.numberofUsers,\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"options\",\r\n name: t(\"Options\"),\r\n onRender: (item: OrganizationView) => (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Organizations as any) as any);\r\n","import React, { useState, FormEvent } from \"react\";\r\nimport { Flex, Segment, Button, Dialog, EyeSlashIcon, EyeIcon, Box } from \"@fluentui/react-northstar\";\r\nimport { TextField } from \"@fluentui/react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { resetPassword } from \"../../api/account\";\r\nimport { Error } from \"../../models\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\n\r\nconst ResetPassword = function() {\r\n\r\n const [email, setEmail] = useState(\"\");\r\n const [newPassword, setPassword] = useState(\"\");\r\n const [newPasswordVerify, setPasswordVerify] = useState(\"\");\r\n const [showNewPass, setShowNewPass] = useState(false);\r\n const [showRePass, setShowRePass] = useState(false);\r\n const [error, setError] = useState(\"\");\r\n const query = useQuery();\r\n const [success, setSuccess] = useState(false);\r\n \r\n const submit = async (e: FormEvent) => {\r\n e.preventDefault();\r\n try {\r\n await resetPassword({\r\n email,\r\n newPassword,\r\n newPasswordVerify,\r\n token: query.get(\"token\") ?? \"\",\r\n \r\n });\r\n setSuccess(true);\r\n } catch (data : any) {\r\n const errors = data.errors as Error[];\r\n setError(errors[0]?.description ?? \"Failed to reset password\");\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n window.location.href = \"/\"} />\r\n \r\n \r\n
\r\n \r\n\r\n setEmail(value ?? \"\")}\r\n errorMessage={error} />\r\n\r\n setPassword(value ?? \"\")} \r\n onRenderSuffix={() => (\r\n setShowNewPass( !showNewPass )}>\r\n {showNewPass ? : }\r\n \r\n )}/>\r\n\r\n setPasswordVerify(value ?? \"\")} \r\n onRenderSuffix={() => (\r\n setShowRePass( !showRePass )}>\r\n {showRePass ? : }\r\n \r\n )}/>\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ResetPassword","export default __webpack_public_path__ + \"static/media/defaultProfile.4bc53ba6.png\";","import React, { createRef, useEffect, useState } from \"react\";\r\nimport {Flex, Image, Button, Text,Dropdown} from \"@fluentui/react-northstar\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Result } from \"../../models\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { UpdateCustomStatus,GetStatusHistory } from \"../../api/account\";\r\nimport \"./index.scss\";\r\nimport { StatusHistory } from \"../../models\";\r\nimport Dialog from '@mui/material/Dialog';\r\nimport DialogActions from '@mui/material/DialogActions';\r\nimport DialogContent from '@mui/material/DialogContent';\r\nimport DialogContentText from '@mui/material/DialogContentText';\r\nimport DialogTitle from '@mui/material/DialogTitle';\r\nimport Select, { SelectChangeEvent } from '@mui/material/Select';\r\nimport Autocomplete from '@mui/material/Autocomplete';\r\nimport TextField from '@mui/material/TextField';\r\nimport { fontSize } from \"@mui/system\";\r\n\r\ndeclare const baseUrl: string;\r\n\r\nexport default ({ user, semibold, asDialog, dialogIsOpen, closeAvailabilityStatusDialog}: any) => {\r\n\r\n\r\n const { t } = useTranslation();\r\n const [statusInputText, setStatusInputText] = useState(user.currentCustomStatusText);\r\n const [open, setOpen] = useState(false);\r\n const [history,setHistory]=useState([]);\r\n\r\n useEffect(() => {\r\n console.log(\"dialogIsOpen: \", dialogIsOpen)\r\n getStatusHistory();\r\n if (dialogIsOpen)\r\n setOpen(true)\r\n }, [dialogIsOpen]);\r\n\r\n const handleChange = (e: any) => {\r\n setStatusInputText(e.target.value);\r\n console.log(statusInputText);\r\n };\r\n\r\n const handleSubmit = async () => {\r\n //request call to update current....\r\n console.log(statusInputText);\r\n try {\r\n await UpdateCustomStatus({\r\n currentCustomStatus: statusInputText,\r\n });\r\n user.currentCustomStatusText = statusInputText;\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n if(asDialog)\r\n {\r\n setOpen(false);\r\n closeAvailabilityStatusDialog()\r\n }\r\n console.log(user.currentCustomStatusText)\r\n };\r\n\r\n\r\n const clear = async () => {\r\n //request call to update current....\r\n try {\r\n setStatusInputText(\"\");\r\n await UpdateCustomStatus({\r\n currentCustomStatus:\"\"\r\n //statusInputText,\r\n });\r\n user.currentCustomStatusText = \"\";\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n if(asDialog)\r\n {\r\n setOpen(false);\r\n closeAvailabilityStatusDialog()\r\n }\r\n };\r\n\r\n\r\n const getStatusHistory = async () => {\r\n try {\r\n \r\n\t\t\tconst statuses = await GetStatusHistory();\r\n //console.log(\"hi\",statuses.payload)\r\n setHistory(statuses.payload); \r\n //console.log(statuses.payload);\r\n\r\n\t\t} catch (error: any) {\r\n\r\n\t\t\tconsole.log(error);\r\n\t\t\tif (error && error.errors && error.errors.length > 0 && error.errors[0] && error.errors[0].description) {\r\n\t\t\t\talert(error.errors[0].description);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n \r\n\r\n if(asDialog)\r\n {\r\n return(\r\n \r\n \r\n {t(\"Availability Status\")}\r\n \r\n \r\n \r\n h.status):[]}\r\n sx={{ width: \"85%\"}}\r\n renderInput={(params) => }\r\n onSelect = {handleChange}\r\n value = {statusInputText}\r\n style ={{paddingRight :\"35px\"}}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n else\r\n {\r\n \r\n return (\r\n \r\n \r\n \r\n h.status):[]}\r\n sx={{ width: \"85%\"}}\r\n renderInput={(params) => }\r\n onSelect = {handleChange}\r\n value = {statusInputText}\r\n style ={{paddingRight :\"25px\"}}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React, { createRef, useState } from \"react\";\r\nimport { Dialog, Flex, Image, Button, Text, Input, Loader, } from \"@fluentui/react-northstar\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { UserStore } from \"../../../store/user\";\r\n// import logo from \"../../../assests/images/logo.png\";\r\nimport defaultProfile from \"../../../assests/images/defaultProfile.png\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { LogAttachment, LogSource, LogType, Result } from \"../../../models\";\r\nimport { Icon, TextField } from \"@fluentui/react\";\r\nimport { AcceptIcon, AddIcon, UserFriendsIcon } from '@fluentui/react-icons-northstar'\r\nimport { UpdateCustomStatus, Log, AddLogAttachment, addLabeledFaceDescriptors, getUserInfo } from \"../../../api/account\";\r\nimport CurrentStatus from \"../../../components/currentStatus\";\r\nimport { loadLabeledFaceDescriptors, loadModels } from \"../../../utils/faceSystem\";\r\nimport * as faceapi from 'face-api.js';\r\n\r\n\r\n\r\ndeclare const baseUrl: string;\r\n\r\nexport default (inject(\"user\"))(observer(({ user }: { user: UserStore }) => {\r\n const ref = createRef();\r\n\r\n const { t } = useTranslation();\r\n\r\n const [file, setFile] = useState(null);\r\n const [confirmationDialogOpen, setConfirmationDialogOpen] = useState(false);\r\n const [statusInputText, setStatusInputText] = useState(user.currentCustomStatusText);\r\n const [BugDialogOpen, setBugDialogOpen] = useState(false);\r\n const [bugReport, setBugReport] = useState(\"\");\r\n const [bugFiles, setBugFiles] = useState([] as File[])\r\n const [loading, setLoading] = useState(false);\r\n\r\n\r\n const handleImageChange = (event: React.FormEvent) => {\r\n setLoading(true);\r\n const f = (event.target as any).files[0];\r\n setFile(f);\r\n setLoading(false);\r\n };\r\n\r\n const saveImage = async () => {\r\n // const userOld = await getUser(user.userId);\r\n setLoading(true);\r\n var input: any = {\r\n image: file,\r\n // companyId: userOld.payload.company?.id,\r\n // countryId: userOld.payload.country?.id,\r\n // title: userOld.payload.title,\r\n // firstName: userOld.payload.firstName,\r\n // lastName: userOld.payload.lastName,\r\n // fullName: userOld.payload.fullName,\r\n // phoneNumber: userOld.payload.phoneNumber,\r\n // role: userOld.payload.role,\r\n // weekends: userOld.payload.weekends,\r\n // workingHours: userOld.payload.workingHours,\r\n // workplaceConfig: userOld.payload.workplaceConfig,\r\n // supervisorIds: []\r\n }\r\n try {\r\n await user.updateProfile(input);\r\n // const labeledFaceDescriptors: any[] = await loadLabeledFaceDescriptors(user.userFaceImage?.path, user.firstName);\r\n // const serializedLabeledFaceDescriptors = JSON.stringify(labeledFaceDescriptors)\r\n // var test = addLabeledFaceDescriptors({\r\n // labeledFaceDescriptors: serializedLabeledFaceDescriptors,\r\n // imageId: user.userFaceImage?.id as number\r\n // })\r\n // console.log(test)\r\n\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n setLoading(false);\r\n setFile(null);\r\n };\r\n\r\n const handleBugChange = (e: any) => {\r\n setBugReport(e.target.value);\r\n //console.log(bugReport);\r\n };\r\n\r\n const handleFileChange = (e: any) => {\r\n var files: File[] = []\r\n for (var i = 0; i < e.target.files.length; i++) {\r\n files.push(e.target.files[i])\r\n }\r\n console.log(\"files\", files)\r\n setBugFiles(files);\r\n };\r\n\r\n const handleBugSubmit = async () => {\r\n console.log(bugReport);\r\n try {\r\n const newLog = await Log({\r\n message: bugReport,\r\n logType: LogType.BugReport,\r\n attachments: bugFiles,\r\n logSource: LogSource.Request,\r\n clientUserAgent: \"\"\r\n });\r\n console.log(newLog.payload)\r\n\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n setBugDialogOpen(false)\r\n\r\n };\r\n\r\n const dialogs = (\r\n <>\r\n : t(\"Save\")}\r\n onCancel={() => setFile(null)}\r\n onConfirm={async () => {\r\n console.log(\"heyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\")\r\n await saveImage()\r\n var updatedUser = await getUserInfo();\r\n console.log(updatedUser.payload.userFaceImage);\r\n console.log(\"hiiiiiii\",user.userFaceImage?.path)\r\n\r\n const MODEL_URL = '../../../models/';\r\n await faceapi.loadSsdMobilenetv1Model(MODEL_URL);\r\n await faceapi.loadFaceLandmarkModel(MODEL_URL);\r\n await faceapi.loadFaceRecognitionModel(MODEL_URL);\r\n\r\n const labeledFaceDescriptors: any[] = await loadLabeledFaceDescriptors(updatedUser.payload.userFaceImage.path, user.firstName);\r\n const serializedLabeledFaceDescriptors = JSON.stringify(labeledFaceDescriptors)\r\n\r\n console.log(\"hiiiiiii\",labeledFaceDescriptors)\r\n var test = await addLabeledFaceDescriptors({\r\n labeledFaceDescriptors: serializedLabeledFaceDescriptors,\r\n imageId: updatedUser.payload.userFaceImage.id as number\r\n })\r\n console.log(test)\r\n }} content={\r\n \r\n } />\r\n : t(\"Yes\")}\r\n content={(\"Are you sure you want to remove your profile image?\")}\r\n onCancel={() => setConfirmationDialogOpen(false)}\r\n onConfirm={() => {\r\n setLoading(true);\r\n setConfirmationDialogOpen(false);\r\n user.removeImage();\r\n setLoading(false);\r\n }} />\r\n \r\n \r\n \r\n \r\n }\r\n onCancel={() => setBugDialogOpen(false)}\r\n // onConfirm = {() => {\r\n // setBugDialogOpen(false);\r\n // //apicall\r\n // }}\r\n\r\n />\r\n \r\n );\r\n\r\n const handleChange = (e: any) => {\r\n setStatusInputText(e.target.value);\r\n //console.log(statusInputText);\r\n };\r\n\r\n\r\n const handleSubmit = async () => {\r\n //request call to update current....\r\n console.log(statusInputText);\r\n try {\r\n await UpdateCustomStatus({\r\n currentCustomStatus: statusInputText,\r\n });\r\n user.currentCustomStatusText = statusInputText;\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n console.log(user.currentCustomStatusText)\r\n };\r\n\r\n const clear = async () => {\r\n //request call to update current....\r\n try {\r\n setStatusInputText(\"\");\r\n await UpdateCustomStatus({\r\n currentCustomStatus: statusInputText,\r\n });\r\n user.currentCustomStatusText = \"\";\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n };\r\n\r\n\r\n return (\r\n\r\n <>\r\n {dialogs}\r\n \r\n \r\n {t(\"Title-\")}{user.title}\r\n {t(\"Name-\")}{user.fullname}\r\n {t(\"Company-\")}{user.companyName}\r\n\r\n \r\n\r\n \r\n {loading ? :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n );\r\n}));\r\n","import React, { useState, FormEvent } from \"react\";\r\nimport { Flex, Button, Segment, Dialog, Box, EyeSlashIcon, EyeIcon } from \"@fluentui/react-northstar\";\r\nimport { TextField } from \"@fluentui/react\";\r\nimport { Error } from \"../../../models\";\r\nimport { changePassword } from \"../../../api/account\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { inject, observer } from \"mobx-react\";\r\n\r\nexport default (inject(\"user\"))(observer(({ user }: { user: UserStore }) => {\r\n\r\n const { t } = useTranslation();\r\n const [oldPass, setOldPass] = useState(\"\");\r\n const [newPass, setNewPass] = useState(\"\");\r\n const [newPassVerify, setNewPassVerify] = useState(\"\");\r\n const [success, setSuccess] = useState(false);\r\n const [oldPassError, setoldPassError] = useState(\"\");\r\n const [error, setError] = useState(\"\");\r\n const [showOldPass, setShowOldPass] = useState(false);\r\n const [showNewPass, setShowNewPass] = useState(false);\r\n const [showRePass, setShowRePass] = useState(false);\r\n\r\n const submit = async (e: FormEvent) => {\r\n e.preventDefault();\r\n try {\r\n setoldPassError(\"\")\r\n setError(\"\")\r\n await changePassword({\r\n oldPassword: oldPass,\r\n newPassword: newPass,\r\n newPasswordVerify: newPassVerify,\r\n });\r\n setSuccess(true);\r\n user.logout()\r\n } catch (data : any) {\r\n const errors = data.errors as Error[];\r\n if(errors[0]?.description && errors[0]?.description.includes('Incorrect password')){\r\n setoldPassError(errors[0]?.description);\r\n } else {\r\n setError(t(errors && errors[0]?.description) ?? t(\"Failed to change password\"));\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n window.location.href = \"/\"} />\r\n \r\n \r\n
\r\n \r\n \r\n\r\n setOldPass(value ?? \"\")}\r\n \r\n onRenderSuffix={() => (\r\n setShowOldPass( !showOldPass )}>\r\n {showOldPass ? : }\r\n \r\n )}/>\r\n\r\n setNewPass(value ?? \"\")}\r\n errorMessage={error} \r\n onRenderSuffix={() => (\r\n setShowNewPass( !showNewPass )}>\r\n {showNewPass ? : }\r\n \r\n )}/>\r\n\r\n setNewPassVerify(value ?? \"\")} \r\n onRenderSuffix={() => (\r\n setShowRePass( !showRePass )}>\r\n {showRePass ? : }\r\n \r\n )}/>\r\n\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}))\r\n","import React from \"react\";\r\nimport { Menu, Divider, Flex, MenuBehaviorProps, tabListBehavior, } from \"@fluentui/react-northstar\";\r\nimport {\r\n Switch, Route, useLocation, useRouteMatch, withRouter,\r\n} from \"react-router-dom\";\r\nimport Profile from \"./profile\";\r\nimport ChangePassword from \"./change-password\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { Separator } from \"@fluentui/react\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { UserStore } from \"../../../store/user\";\r\n\r\n\r\ninterface IProfileProps {\r\n user?: UserStore;\r\n t: any;\r\n history: any;\r\n}\r\n\r\nconst ProfileIndex = (inject(\"user\"))(observer((props: IProfileProps) => {\r\n const { t, history } = props\r\n const { pathname } = useLocation()\r\n const { path } = useRouteMatch()\r\n\r\n return (\r\n \r\n \r\n {t('My Profile')}\r\n \r\n \r\n \r\n { return tabListBehavior() }}\r\n defaultActiveIndex={0}\r\n activeIndex={`${path}/profile`.startsWith(pathname) ? 0 : 1}\r\n items={[\r\n {\r\n key: \"profile\",\r\n content: t(\"Edit Profile\"),\r\n onClick: () => history.push(`${path}/profile`),\r\n },\r\n {\r\n key: \"change.password\",\r\n content: t(\"Change Password\"),\r\n onClick: () => history.push(`${path}/change-password`),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}));\r\n\r\nexport default withRouter(withTranslation()(ProfileIndex as any) as any) as unknown as React.FunctionComponent;","import React from \"react\";\r\nimport { Flex, FlexItem, Divider, Button, Input, Alert, TabsIcon, MoreIcon, CalendarIcon, TrashCanIcon, UndoIcon } from \"@fluentui/react-northstar\";\r\nimport { observer, inject } from \"mobx-react\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { CommandBar, SearchBox, IColumn, ShimmeredDetailsList, TooltipHost, Icon, Dropdown,Checkbox } from \"@fluentui/react\";\r\nimport { GetAllUsers,GetUsers, deleteUser, revokeAccess,restoreUser } from \"../../api/account\";\r\nimport { getBranches, getCompany, getDepartments } from \"../../api/Company\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport { Branch, Department, Roles, UserView } from \"../../models\";\r\nimport moment from \"moment\";\r\nimport Pagination from \"react-paginating\";\r\nimport { copyAndSort, shadeBlend } from \"../../utils\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { Roles as AuthRoles } from '../../components/auth-route'\r\nimport { throws } from \"assert\";\r\n\r\n\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: number } };\r\n history: any;\r\n t: any;\r\n}\r\n\r\ninterface IState {\r\n users: UserView[];\r\n allusers: UserView[];\r\n columns: IColumn[];\r\n showFilters: boolean;\r\n isArchivedChecked: boolean;\r\n loading: boolean;\r\n items: UserView[];\r\n count: number;\r\n offset: number;\r\n error?: string;\r\n companyName: string;\r\n roles: string[];\r\n branches: Branch[];\r\n departments: Department[];\r\n selectedRole: string;\r\n selectedBranch: string;\r\n selectedDepartment: string;\r\n selectedStatus: string;\r\n filter: {\r\n employeeId: string;\r\n fullName: string;\r\n email: string;\r\n company: string;\r\n branch: string;\r\n department: string;\r\n phoneNumber: string;\r\n country: string;\r\n role: string;\r\n isarchived: boolean\r\n }\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Users extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n const { t, user } = props;\r\n\r\n this.state = {\r\n offset: 0,\r\n count: 10,\r\n items: [],\r\n users: [],\r\n allusers: [],\r\n roles: [],\r\n branches: [],\r\n departments: [],\r\n loading: false,\r\n showFilters: false,\r\n isArchivedChecked:false,\r\n companyName: '',\r\n selectedRole: '',\r\n selectedBranch: '',\r\n selectedDepartment: '',\r\n selectedStatus:\"\",\r\n filter: {\r\n employeeId: \"\",\r\n fullName: \"\",\r\n email: \"\",\r\n company: \"\",\r\n branch: \"\",\r\n department: \"\",\r\n phoneNumber: \"\",\r\n country: \"\",\r\n role: \"\",\r\n isarchived:false,\r\n },\r\n columns:[],\r\n };\r\n this.state.columns.forEach((c) => c.onColumnClick = (_: any, column: IColumn) => {\r\n const newColumns: IColumn[] = this.state.columns.slice();\r\n const currColumn: IColumn = newColumns.filter((currCol) => {\r\n return column.key === currCol.key\r\n })[0];\r\n newColumns.forEach((newCol: IColumn) => {\r\n if (newCol === currColumn) {\r\n currColumn.isSortedDescending = !currColumn.isSortedDescending;\r\n currColumn.isSorted = true;\r\n } else {\r\n newCol.isSorted = false;\r\n newCol.isSortedDescending = true;\r\n }\r\n });\r\n const newItems = copyAndSort(this.state.items, currColumn.key, currColumn.isSortedDescending);\r\n this.setState({ columns: newColumns, items: newItems });\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n \r\n\r\n fetchData = async () => {\r\n const { t, user } = this.props\r\n const checked = this.state.isArchivedChecked\r\n this.setState({ loading: true });\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n if (id || AuthRoles.ADMIN.includes(user.role)) {\r\n try {\r\n if (id){\r\n var company = (await getCompany(id)).payload;\r\n this.setState({companyName: company.name})\r\n }\r\n this.setcolumn();\r\n const users =await GetAllUsers(id);\r\n //await GetUsers(id);\r\n //const allusers = await GetAllUsers(id);\r\n\r\n // const roles = await getRoles();\r\n const roles = { payload: [\"Clocking\", \"Chief\", \"Hr\"] };\r\n this.setState({\r\n loading: false,\r\n users: users.payload.filter(u=>u.isArchived == checked),\r\n items: users.payload.filter(u=>u.isArchived == checked),\r\n roles: roles.payload\r\n });\r\n \r\n const branches = await getBranches(id)\r\n this.setState({ branches: branches.payload });\r\n const departments = await getDepartments(id)\r\n this.setState({ departments: departments.payload });\r\n //console.log(users.payload)\r\n \r\n } catch (error: any) {\r\n if (error && error.errors && error.errors.length > 0 && error.errors[0] && error.errors[0].description) {\r\n alert(error.errors[0].description);\r\n }\r\n }\r\n } else {\r\n this.setState({\r\n loading: false,\r\n error: t(\"User does not have a valid company\"),\r\n })\r\n }\r\n };\r\n\r\n filterData(newState: any) {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n ...newState\r\n }\r\n }, () => {\r\n this.setState(state => {\r\n return {\r\n items: state.users.filter(u =>\r\n (!state.filter.fullName || u.fullName?.toLowerCase().includes(state.filter.fullName.toLowerCase()))\r\n && (!state.filter.email || u.email?.toLowerCase().includes(state.filter.email.toLowerCase()))\r\n && (!state.filter.employeeId || u.employeeId?.toLowerCase().includes(state.filter.employeeId.toLowerCase()))\r\n && (!state.filter.company || u.company?.name?.toLowerCase().includes(state.filter.company.toLowerCase()))\r\n && (!state.filter.phoneNumber || u.phoneNumber?.toLowerCase().includes(state.filter.phoneNumber.toLowerCase()))\r\n && (!state.filter.country || u.country?.name?.toLowerCase().includes(state.filter.country.toLowerCase()))\r\n && (!state.filter.role || u.role?.toLowerCase().includes(state.filter.role.toLowerCase()))\r\n && (!state.filter.branch || u.branch?.name?.toLowerCase().includes(state.filter.branch.toLowerCase()))\r\n && (!state.filter.department || u.department?.name?.toLowerCase().includes(state.filter.department.toLowerCase()))\r\n \r\n )\r\n }\r\n })\r\n })\r\n }\r\n\r\n showArchivedUsers (newState: any) {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n ...newState\r\n }\r\n }, () => {\r\n this.setState(state => {\r\n \r\n return {\r\n items: state.users.filter(u =>\r\n (u.isArchived)) \r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n setcolumn(){\r\n const { t, user } = this.props\r\n const checked = this.state.isArchivedChecked\r\n this.setState({\r\n columns: [\r\n {\r\n key: \"employeeId\",\r\n name: t(\"Employee Id\"),\r\n minWidth: 170,\r\n maxWidth: 200,\r\n onRender: (item: UserView) => item.employeeId,\r\n },\r\n {\r\n key: \"fullName\",\r\n name: t(\"Full Name\"),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.fullName,\r\n },\r\n {\r\n key: \"email\",\r\n name: t(\"Email\"),\r\n minWidth: 150,\r\n maxWidth: 200,\r\n onRender: (item: UserView) => item.email,\r\n },\r\n ...(user.role.toLowerCase() === 'admin' ? [{\r\n key: \"company\",\r\n name: t(\"Company\"),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.company.name,\r\n }] : []),\r\n ...(AuthRoles.HR.includes(user.role) ? [{\r\n key: \"branch\",\r\n name: t(\"Branch\"),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.branch ? item.branch.name : \"\",\r\n },\r\n {\r\n key: \"department\",\r\n name: t(\"Department\"),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.department ? item.department.name : \"\",\r\n }] : []),\r\n {\r\n key: \"phoneNumber\",\r\n name: t(\"Phone Number\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.phoneNumber,\r\n },\r\n {\r\n key: \"countryName\",\r\n name: t(\"Country\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.country.name,\r\n },\r\n {\r\n key: \"role\",\r\n name: t(\"Role\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.role,\r\n },\r\n {\r\n key: \"createdOn\",\r\n name: t(\"Created On\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => moment(item.createdOn).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n },\r\n ...(checked ==true?[\r\n {\r\n key: \"isArchived\",\r\n name: t(\"is Archived\"),\r\n minWidth: 150,\r\n maxWidth: 150,\r\n onRender: (item: UserView) => item.isArchived? \"Archived\" : \"Unarchived\" ,\r\n }] : []),\r\n \r\n \r\n {\r\n key: \"options\",\r\n name: t(\"Options\"),\r\n minWidth: 250,\r\n onRender: (item: UserView) => (\r\n \r\n {(user.role === Roles.Hr || user.role === Roles.Admin) ? <>\r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(withTranslation()(Users as any) as any);\r\nfunction useConst(arg0: () => IColumn[]): IColumn[] {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n\r\n","import React from \"react\";\r\nimport { observer, inject } from \"mobx-react\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { Flex, FlexItem, Divider, Button, Input, UserFriendsIcon, MoreIcon, TrashCanIcon, ShiftActivityIcon, Dialog, ApprovalsAppbarIcon } from \"@fluentui/react-northstar\";\r\nimport { CommandBar, SearchBox, IColumn, ShimmeredDetailsList, TooltipHost, TextField, Dropdown, Text } from \"@fluentui/react\";\r\nimport { getCompanies, deleteCompany, extendTrial, activateTrialCompany } from \"../../api/Company\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport { CompanyView, OrganizationView } from \"../../models\";\r\nimport { copyAndSort, shadeBlend } from \"../../utils\";\r\nimport Pagination from \"react-paginating\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { GetOrganizations } from \"../../api/Organization\";\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: number } };\r\n history: any;\r\n t: any\r\n}\r\n\r\ninterface IState {\r\n loading: boolean;\r\n companies: CompanyView[];\r\n organizations: OrganizationView[];\r\n nonTrialOrganizations: OrganizationView[];\r\n showFilters: boolean;\r\n columns: IColumn[];\r\n offset: number;\r\n count: number;\r\n items: CompanyView[];\r\n extendTrailDialogOpen: boolean;\r\n extendTrialDays: number;\r\n extendTrialCompanyId: number;\r\n trialFilterValue?: string | number;\r\n activateTrialCompanyId: number;\r\n activateTrialCompanyOrganizaitonId: number;\r\n activateTrailCompanyDialogOpen: boolean;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Companies extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n const { t } = props;\r\n\r\n this.state = {\r\n count: 10,\r\n offset: 0,\r\n items: [],\r\n companies: [],\r\n organizations: [],\r\n nonTrialOrganizations: [],\r\n loading: false,\r\n showFilters: false,\r\n columns: [\r\n {\r\n key: \"name\",\r\n name: t(\"Name\"),\r\n onRender: (item: CompanyView) => item.name,\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"country\",\r\n name: t(\"Country\"),\r\n onRender: (item: CompanyView) => item.country.name,\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n // {\r\n // key: \"plan\",\r\n // name: \"Plan\",\r\n // onRender: (item: CompanyView) => item.plan,\r\n // minWidth: 80,\r\n // maxWidth: 200,\r\n // },\r\n // {\r\n // key: \"NumberOfUsers\",\r\n // name: t(\"Subscribed Users\"),\r\n // onRender: (item: CompanyView) => (item.numberofUsers + \"/\" + item.maxNumberOfUsers),\r\n // minWidth: 80,\r\n // maxWidth: 200,\r\n // },\r\n // {\r\n // key: \"Maxnumberofusers\",\r\n // name: \"Max Number Of Users\",\r\n // onRender: (item: CompanyView) => item.maxNumberOfUsers,\r\n // minWidth: 80,\r\n // maxWidth: 200,\r\n // },\r\n {\r\n key: \"phonenumber\",\r\n name: t(\"Phone Number\"),\r\n onRender: (item: CompanyView) => item.phoneNumber,\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n // {\r\n // key: \"websitelink\",\r\n // name: \"Web Link\",\r\n // onRender: (item: CompanyView) => (\r\n // \r\n\r\n // \r\n // {item.websiteLink}\r\n\r\n // \r\n // \r\n // ),\r\n\r\n // minWidth: 80,\r\n // maxWidth: 200,\r\n // },\r\n // {\r\n // key: \"expireson\",\r\n // name: \"License Expires On\",\r\n // onRender: (item: CompanyView) => item.licenseExpireOn,\r\n // minWidth: 80,\r\n // maxWidth: 200,\r\n // },\r\n {\r\n key: \"status\",\r\n name: t(\"Status\"),\r\n onRender: (item: CompanyView) => t(item.status) + (item.trialDays? (\" \" + item.trialDays + \" \" + t(\"days left\")) : \"\"),\r\n minWidth: 80,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"options\",\r\n name: t(\"Options\"),\r\n onRender: (item: CompanyView) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(withTranslation()(Companies as any) as any);\r\n","import request from \"../utils/request\";\r\nimport { Country, Result, TimeZoneInfoView } from \"../models/index\";\r\n\r\n// export async function getLeavePerUser(userId: string) {\r\n// const response = await request.get>(`Leave/GetLeavePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\n// export async function getBalancePerUser(userId: string) {\r\n// const response = await request\r\n// .get>(`Leave/GetBalancePerUser/${userId}`);\r\n// return response.data;\r\n// }\r\n\r\nexport async function getCountries() {\r\n const response = await request.get>(\"Country/GetCountries\");\r\n return response.data;\r\n}\r\nexport async function getUsersCountries(userId :string) {\r\n const response = await request.get>(`Country/GetUsersCountries/${userId}`);\r\n return response.data;\r\n}\r\nexport async function getTimeZones() {\r\n const response = await request.get>(\"Country/GetTimeZones\");\r\n return response.data;\r\n}\r\n","import React, { createRef } from \"react\";\r\nimport {\r\n Flex,\r\n Image,\r\n Loader,\r\n Text,\r\n FlexItem,\r\n Button,\r\n Dropdown as NDropdown,\r\n CloseIcon,\r\n Datepicker\r\n} from \"@fluentui/react-northstar\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Dropdown, TextField, MessageBar, MessageBarType, ComboBox,DatePicker } from \"@fluentui/react\";\r\nimport { UserView, CompanyView, Country, ProfileInput, WorkplaceConfig, Result, TimeZoneInfoView, UserAttendanceImageConfig, UserFaceRecognitionConfig, Branch, Department } from \"../../../models\";\r\nimport { getUser, updateProfile, getRoles, GetUsers } from \"../../../api/account\";\r\nimport { getBranches, getCompanies, getDepartments } from \"../../../api/Company\";\r\nimport { getCountries, getTimeZones } from \"../../../api/Country\";\r\nimport PhoneInput from 'react-phone-number-input';\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport TimePicker from \"react-time-picker\"\r\nimport { Roles } from \"../../../components/auth-route\";\r\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\r\n\r\n\r\ninterface IUserDetailsProps {\r\n match: {\r\n params: {\r\n id: string;\r\n };\r\n };\r\n t: any;\r\n user: UserStore;\r\n}\r\n\r\ninterface IUserDetailsState {\r\n user?: UserView;\r\n input: ProfileInput;\r\n loading: boolean;\r\n edit: boolean;\r\n companies: CompanyView[];\r\n countries: Country[];\r\n timeZones: TimeZoneInfoView[];\r\n success: boolean;\r\n roles: string[];\r\n allUsers: UserView[];\r\n branches: Branch[];\r\n departments: Department[];\r\n emailChanged: boolean;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass GeneralDetails extends React.Component {\r\n\r\n ref: React.RefObject;\r\n\r\n constructor(props: IUserDetailsProps) {\r\n super(props);\r\n this.ref = createRef();\r\n this.state = {\r\n success: false,\r\n loading: false,\r\n edit: true,\r\n roles: [],\r\n input: {\r\n image: null,\r\n employeeId: \"\",\r\n companyId: 0,\r\n countryId: 0,\r\n title: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n fullName: \"\",\r\n linkedInUrl:\"\",\r\n birthDate:new Date() as Date,\r\n phoneNumber: \"\",\r\n role: \"\",\r\n //weekends: [],\r\n //workingHours: 0,\r\n supervisorIds: [],\r\n timeZone: \"\",\r\n //startTime: \"09:00\",\r\n //endTime: \"18:00\",\r\n fiscalYearStartingMonth: 1,\r\n branchId: 0,\r\n departmentId: 0,\r\n userName:\"\",\r\n email:\"\"\r\n },\r\n companies: [],\r\n countries: [],\r\n timeZones: [],\r\n allUsers: [],\r\n branches: [],\r\n departments: [],\r\n emailChanged: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetch();\r\n }\r\n \r\n\r\n\r\n\r\n fetch = async () => {\r\n this.setState({ loading: true });\r\n try {\r\n const user = await getUser(this.props.match.params.id);\r\n\r\n this.setState({\r\n user: user.payload,\r\n input: {\r\n image: null,\r\n employeeId: user.payload.employeeId,\r\n companyId: user.payload.company?.id,\r\n countryId: user.payload.country?.id,\r\n title: user.payload.title,\r\n firstName: user.payload.firstName,\r\n lastName: user.payload.lastName,\r\n fullName: user.payload.fullName,\r\n linkedInUrl: user.payload.linkedInUrl,\r\n birthDate:user.payload.birthDate as Date,\r\n branchId: user.payload.branchId,\r\n departmentId: user.payload.departmentId,\r\n phoneNumber: user.payload.phoneNumber,\r\n role: user.payload.role,\r\n //weekends: user.payload.weekends,\r\n //workingHours: user.payload.workingHours,\r\n supervisorIds: user.payload.supervisorIds,\r\n timeZone: user.payload.timeZone,\r\n //startTime: user.payload.startTime ? user.payload.startTime : \"09:00\",\r\n //endTime: user.payload.endTime ? user.payload.endTime : \"18:00\",\r\n fiscalYearStartingMonth: user.payload.fiscalYearStartingMonth ?? 1,\r\n userName: user.payload.userName,\r\n email: user.payload.email\r\n },\r\n });\r\n //console.log(this.props.user.role)\r\n if (Roles.ADMIN.includes(this.props.user.role)) {\r\n const companies = await getCompanies();\r\n this.setState({ companies: companies.payload });\r\n }\r\n if (Roles.HR.includes(this.props.user.role)) {\r\n const branches = await getBranches(user.payload.company?.id)\r\n this.setState({ branches: branches.payload });\r\n const departments = await getDepartments(user.payload.company?.id)\r\n this.setState({ departments: departments.payload });\r\n const roles = await getRoles();\r\n this.setState({ roles: roles.payload });\r\n const allusers = await GetUsers(user.payload.company?.id);\r\n this.setState({ allUsers: allusers.payload });\r\n }\r\n const countries = await getCountries();\r\n this.setState({ countries: countries.payload });\r\n const timeZones = await getTimeZones();\r\n //console.log(timeZones.payload)\r\n this.setState({ timeZones: timeZones.payload });\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n } finally {\r\n this.setState({ loading: false });\r\n }\r\n };\r\n\r\n save = async () => {\r\n \r\n this.setState({ loading: true });\r\n try {\r\n console.log(this.state.user?.userName,this.state.input.userName)\r\n if(this.state.user?.userName != this.state.input.userName)\r\n {\r\n this.setState({emailChanged: true})\r\n }\r\n await updateProfile(this.state.input, this.state.user?.id);\r\n this.setState({ success: true });\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n } finally {\r\n this.fetch()\r\n this.setState({ loading: false });\r\n }\r\n };\r\n onFormatDate = (date?: Date): string => {\r\n console.log(date?.toString())\r\n return date ? date?.toString().split(\"T\")[0] : \"\"\r\n //return !date? '' : !date ? '': (date.getFullYear() ) + '-' + (date.getMonth() + 1) + '-' +date.getDate();\r\n };\r\n\r\n handleImageChange = (event: React.FormEvent) => {\r\n var input = { ...this.state.input }\r\n input.image = (event.target as any).files[0];\r\n this.setState({ input });\r\n };\r\n closeDioalog = () =>{\r\n this.setState({emailChanged : false})\r\n }\r\n\r\n render() {\r\n const { t } = this.props\r\n const { user, loading } = this.state;\r\n if (user) {\r\n return (\r\n \r\n \r\n \r\n {this.state.success && (\r\n \r\n {t(\"User Updated Successfully\")}\r\n \r\n )}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n {t(\"Confirmation Email\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n this.state.edit\r\n && : <>}\r\n \r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n {dialogs}\r\n {/* \r\n {userId ? <> : }\r\n text\r\n content={t(\"Add Leave Type\")}\r\n onClick={() => {\r\n this.setState({createLeaveDialogOpen: true})\r\n }}\r\n >\r\n }\r\n {submitButton}\r\n */}\r\n \r\n this.setState({ createLeaveDialogOpen: true }),\r\n }]),\r\n {\r\n key: \"submit\",\r\n onRender: () => {submitButton}\r\n }\r\n ]\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n \r\n {\r\n item.enabled = props?.checked ?? false;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth: user.locale=='ar' || user.locale == 'en'?10:10,\r\n maxWidth: 60\r\n },\r\n {\r\n key: \"CountryOrType\",\r\n name: userId ? t(\"Leave type\") : t(\"Country\"),\r\n onRender: (item: LeaveConfigInput) => ({userId ? item.leaveType.name : item.country.name}),\r\n minWidth:user.locale =='ar' || user.locale == 'en' ?150:200,\r\n maxWidth: 250,\r\n },\r\n {\r\n key: \"QuotaUnit\",\r\n name: t(\"Quota Unit\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return ( ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n disabled={userId !== undefined && userId !== \"\" && item.inheritedFromCompany}\r\n onChange={(ev, props) => {\r\n item.quotaUnit = props?.key ? props.key as QuotaUnit : QuotaUnit.Days;\r\n this.setState({});\r\n }}\r\n />)\r\n },\r\n minWidth:user.locale =='ar'?90:100,\r\n maxWidth: 120,\r\n },\r\n {\r\n key: \"Quota\",\r\n name: t(\"Quota\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n\r\n if (parseFloat(props ? props : \"0\") > 365)\r\n props = \"365\"\r\n else if (parseFloat(props ? props : \"0\") < 0)\r\n props = \"0\"\r\n\r\n item.quota = parseFloat(props ? props : \"0\") ?? \"0\";\r\n this.setState({});\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar'?60:60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"Quota type\",\r\n name: t(\"Quota type\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return ( ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n disabled={userId !== undefined && userId !== \"\" && item.inheritedFromCompany}\r\n onChange={(ev, props) => {\r\n item.quotaType = props?.key ? props.key as QuotaType : QuotaType.Annual;\r\n this.setState({});\r\n }}\r\n />)\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en' ?155:225,\r\n maxWidth: 265,\r\n \r\n \r\n },\r\n {\r\n key: \"Cummulative\",\r\n name: t(\"Cummulative\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n item.isCummulative = props?.checked ?? false;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar'?60:90,\r\n maxWidth: 180,\r\n },\r\n {\r\n key: \"Annually resets\",\r\n name: t(\"Annually resets\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n var isAnnual = item.quotaType.toString().toLowerCase() === QuotaType[QuotaType.Annual].toLowerCase()\r\n return isAnnual ? (<>) : (\r\n \r\n {\r\n item.annuallyResets = props?.checked ?? true;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en'?120:155,\r\n maxWidth: 190,\r\n },\r\n {\r\n key: \"Count working days only\",\r\n name: t(\"Count working days only\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n item.includeNonWorkingrDays = !props?.checked ?? true;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en'?160:230,\r\n maxWidth: 280,\r\n },\r\n {\r\n key: \"Overlaps Other Leaves\",\r\n name: t(\"Overlaps Other Leaves\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n item.leaveOverlapsOtherLeaves = props?.checked ?? false;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en'?150:190,\r\n maxWidth: 220,\r\n },\r\n {\r\n key: \"Requires Attachment\",\r\n name: t(\"Requires Attachment\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n if (typeof (props?.checked) == \"boolean\") {\r\n item.attachmentRequired = props?.checked;\r\n } else {\r\n item.attachmentRequired = false;\r\n }\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en'?150:180,\r\n maxWidth: 200,\r\n // minWidth:60,\r\n // maxWidth:100,\r\n\r\n },\r\n ...(userId ? [\r\n {\r\n key: \"Override company rules\",\r\n name: t(\"Override company rules\"),\r\n onRender: (item: LeaveConfigInput) => {\r\n return (\r\n \r\n {\r\n if (typeof (props?.checked) == \"boolean\") {\r\n item.inheritedFromCompany = !props?.checked;\r\n } else {\r\n item.inheritedFromCompany = true\r\n }\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar' || user.locale == 'en'?160:230,\r\n maxWidth: 290,\r\n // minWidth:60,\r\n // maxWidth:100,\r\n },\r\n {\r\n key: \"Balance\",\r\n name: t(\"Current user balance\"),\r\n onRender: (item: LeaveConfigInputDTO) => {\r\n return (\r\n \r\n {\r\n \r\n if (parseFloat(props ? props : \"0\") > 365)\r\n props = \"365\"\r\n else if (parseFloat(props ? props : \"0\") < -365)\r\n props = \"-365\"\r\n\r\n item.balanceText = props ?? \"0\"\r\n item.balance = parseFloat(props ? props : \"0\") ?? \"0\";\r\n this.setState({});\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth:user.locale =='ar'?145:145,\r\n maxWidth: 190,\r\n // minWidth: 60,\r\n // maxWidth: 100,\r\n \r\n }\r\n ] : []),\r\n ]}\r\n\r\n\r\n />\r\n \r\n \r\n {/* \r\n {submitButton}\r\n */}\r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default LeavesConfig;","import React from \"react\";\r\nimport { Flex, FlexItem} from \"@fluentui/react-northstar\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport LeavesConfig from \"../../../components/leaves/leavesConfig\"\r\nimport { UserView } from \"../../../models\";\r\n\r\ninterface IState {\r\n}\r\n\r\ninterface IProps {\r\n match: { params: { id: string } };\r\n t: any;\r\n user: UserStore;\r\n userInView?: UserView;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass UserLeaves extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n get id() {\r\n return this.props.match.params.id;\r\n }\r\n\r\n render() {\r\n\r\n const { t, user, userInView } = this.props;\r\n \r\n return (\r\n \r\n {this.id && userInView ? \r\n (\r\n \r\n \r\n \r\n ) : <>\r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default UserLeaves;\r\n","import React, { createRef } from \"react\";\r\nimport {\r\n Flex,\r\n Loader,\r\n Text,\r\n FlexItem,\r\n Button,\r\n Dropdown as NDropdown,\r\n} from \"@fluentui/react-northstar\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Dropdown, MessageBar, MessageBarType } from \"@fluentui/react\";\r\nimport { UserView, CompanyView, Country, ProfileInput, WorkplaceConfig, Result, TimeZoneInfoView, UserAttendanceImageConfig, UserFaceRecognitionConfig, Branch, Department, UserRulesInput, UserShiftScheduleType, ShiftScheduleType } from \"../../../models\";\r\nimport { getUser, updateProfile, getRoles, GetUsers, getUserRules, updateUserRules } from \"../../../api/account\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { getCompany, getCompanyRules } from \"../../../api/Company\";\r\n\r\ninterface IUserDetailsProps {\r\n match: \r\n { params: \r\n {\r\n id: string; \r\n } \r\n };\r\n t: any;\r\n user: UserStore;\r\n userInView?: UserView;\r\n refreshParent : any;\r\n}\r\n\r\ninterface IUserDetailsState {\r\n input: UserRulesInput;\r\n loading: boolean;\r\n edit: boolean;\r\n success: boolean;\r\n companyShiftType:ShiftScheduleType;\r\n filteredScheduledType:UserShiftScheduleType[];\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass RulesManagement extends React.Component {\r\n constructor(props: IUserDetailsProps) {\r\n super(props);\r\n this.state = {\r\n success: false,\r\n loading: false,\r\n edit: true,\r\n input: {\r\n attendanceImageConfig: UserAttendanceImageConfig.InheritedFromCompany,\r\n faceRecognitionConfig: UserFaceRecognitionConfig.InheritedFromCompany,\r\n workplaceConfig: WorkplaceConfig.CompanyOrUserSpecific,\r\n userId: \"\",\r\n shiftScheduleType:UserShiftScheduleType.InheritedFromCompany\r\n },\r\n companyShiftType:ShiftScheduleType.FixedWeekSchedule,\r\n filteredScheduledType:[UserShiftScheduleType.InheritedFromCompany,UserShiftScheduleType.FixedWeekSchedule,UserShiftScheduleType.VariableShiftSchedule]\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetch();\r\n }\r\n\r\n fetch = async () => {\r\n this.setState({ loading: true });\r\n try {\r\n const userRules = await getUserRules(this.props.match.params.id);\r\n var company;\r\n var companyRule;\r\n if(this.props.user.company?.id != undefined) \r\n {\r\n company = await getCompany(this.props.user.company?.id as number)\r\n companyRule = await (await getCompanyRules(company.payload.id)).payload.shiftScheduleType\r\n console.log(companyRule)\r\n }\r\n this.setState({\r\n input: {\r\n attendanceImageConfig: userRules.payload.attendanceImageConfig,\r\n faceRecognitionConfig: userRules.payload.faceRecognitionConfig,\r\n workplaceConfig: userRules.payload.workplaceConfig,\r\n userId: userRules.payload.userId,\r\n shiftScheduleType:userRules.payload.shiftScheduleType\r\n }\r\n });\r\n if(companyRule != null && companyRule == ShiftScheduleType.VariableShiftSchedule)\r\n {\r\n this.setState({filteredScheduledType:\r\n [UserShiftScheduleType.InheritedFromCompany,UserShiftScheduleType.FixedWeekSchedule]})\r\n }\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n } finally {\r\n this.setState({ loading: false });\r\n }\r\n };\r\n\r\n save = async () => {\r\n this.setState({ loading: true });\r\n try {\r\n await updateUserRules(this.state.input.userId, this.state.input);\r\n this.setState({ success: true });\r\n } catch (error: any) {\r\n console.log(\"error: \", error);\r\n if (error && error.errors && error.errors[0]) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n } finally {\r\n this.setState({ loading: false });\r\n this.props.refreshParent();\r\n }\r\n \r\n };\r\n\r\n render() {\r\n const { t, userInView,user } = this.props\r\n const { input, loading } = this.state;\r\n if (input) {\r\n return (\r\n \r\n \r\n\r\n {this.state.success && (\r\n \r\n {t(\"User Rules Updated Successfully\")}\r\n \r\n )}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = { ...this.state.input }\r\n input.attendanceImageConfig = props?.key ? props.key as UserAttendanceImageConfig : UserAttendanceImageConfig.InheritedFromCompany;\r\n this.setState({ input });\r\n }} />\r\n \r\n {\r\n userInView?.company.faceRecognitionEnabled ?\r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = { ...this.state.input }\r\n input.faceRecognitionConfig = props?.key ? props.key as UserFaceRecognitionConfig : UserFaceRecognitionConfig.InheritedFromCompany;\r\n this.setState({ input });\r\n }} />\r\n \r\n : null\r\n }\r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))\r\n }\r\n onChange={(ev, props) => {\r\n var input = { ...this.state.input }\r\n input.workplaceConfig = props?.key ? props.key as WorkplaceConfig : WorkplaceConfig.CompanyOrUserSpecific;\r\n this.setState({ input });\r\n }} />\r\n \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))\r\n }\r\n onChange={(ev, props) => {\r\n var input = { ...this.state.input }\r\n input.shiftScheduleType = props?.key ? props.key as UserShiftScheduleType : UserShiftScheduleType.InheritedFromCompany;\r\n this.setState({ input });\r\n }} />\r\n \r\n \r\n \r\n {this.state.input.image && (\r\n \r\n } \r\n onClick={() => {\r\n var input = {...this.state.input}\r\n input.image = null;\r\n this.setState({input});\r\n }} \r\n />\r\n )} />\r\n \r\n )}\r\n \r\n \r\n \r\n {/* {\r\n this.state.input.websiteLink = props ?? \"\";\r\n this.setState({});\r\n }}\r\n value={this.state.input.websiteLink} /> */}\r\n { // Organization Input\r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n ({\r\n key: x.id,\r\n text: x.name,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.organizationId = props?.data.id;\r\n this.setState({input});\r\n }} />\r\n : null\r\n }\r\n {\r\n var input = {...this.state.input}\r\n input.email = props ?? \"\";\r\n this.setState({input});\r\n }}\r\n value={this.state.input.email} />\r\n \r\n \r\n ({\r\n key: x.id,\r\n text: x.name,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.countryId = props?.data.id;\r\n if (!input.phoneNumber || input.phoneNumber.length < 6){\r\n input.phoneNumber = '+' + props?.data.phoneCode\r\n this.setState({input});\r\n }\r\n this.setState({input});\r\n }} />\r\n \r\n \r\n \r\n {\r\n var input = {...this.state.input}\r\n input.phoneNumber = ev;\r\n this.setState({input});\r\n }}\r\n />\r\n \r\n {/* {\r\n this.state.input.phoneNumber = props ?? \"\";\r\n this.setState({});\r\n }}\r\n value={this.state.input.phoneNumber} /> */}\r\n {/* {\r\n this.state.input.fax = props ?? \"\";\r\n this.setState({});\r\n }}\r\n value={this.state.input.fax} /> */}\r\n \r\n \r\n ({\r\n key: x.id,\r\n text: x.displayName,\r\n data: x.id,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.timeZone = props?.data;\r\n this.setState({input});\r\n }} />\r\n \r\n {/* \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.defaultStartTime = e.toString()\r\n this.setState({input})\r\n }}\r\n />\r\n */}\r\n {/* \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.defaultEndTime = e.toString()\r\n this.setState({input})\r\n }}\r\n />\r\n */}\r\n { // Licesnses Input\r\n \r\n {/* {t('Licensed Users')} */}\r\n \r\n {\r\n return \r\n { `${role}`}\r\n \r\n {this.id ?{ `${rolesUsersAvailable[role]} /`} : <>}\r\n {this.props.user.role.toLowerCase() === 'admin' ? {\r\n var input = {...this.state.input}\r\n var rolesMaxUsers = input.rolesMaxUsers\r\n rolesMaxUsers[role] = parseInt(props?? '0')\r\n input.rolesMaxUsers = rolesMaxUsers\r\n this.setState({ input });\r\n }}\r\n value={rolesMaxUsers[role] as any} /> :\r\n {`${rolesMaxUsers[role]}`}\r\n }\r\n \r\n \r\n })}\r\n />\r\n \r\n }\r\n { \r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n {\r\n var input = {...this.state.input}\r\n input.locales = props ?? \"\";\r\n this.setState({input});\r\n }}\r\n value={this.state.input.locales} /> \r\n : null\r\n }\r\n { \r\n // ({\r\n // key: x.id,\r\n // text: x.name,\r\n // data: x,\r\n // }))}\r\n // onChange={(ev, props) => {\r\n // this.state.input.planId = props?.data.id;\r\n // this.setState({});\r\n // }} />\r\n }\r\n {t(\"Primary Color\")}\r\n {\r\n if (this.state.input.primaryColor !== color.hex && lightOrDark(color.hex) === 'light'){\r\n this.setState({\r\n alertVisible : true,\r\n alertContent : t(\"Please choose a darker color\")\r\n })\r\n } else {\r\n this.setState({ alertVisible : false, input: { ...this.state.input, primaryColor: color.hex } });\r\n }\r\n }}\r\n />\r\n {this.state.alertVisible ? : <>}\r\n )\r\n\r\n return (\r\n \r\n {dialogs}\r\n this.setState({createHolidayDialogOpen: true}),\r\n },\r\n {\r\n key: \"submit\",\r\n onRender: () => {submitButton}\r\n }\r\n ]\r\n }\r\n />\r\n \r\n {\r\n return (\r\n \r\n {\r\n item.enabled = props?.checked?? false;\r\n this.setState({})\r\n }}\r\n />\r\n \r\n )\r\n },\r\n minWidth: 20,\r\n maxWidth: 30\r\n },\r\n {\r\n key: \"Country\",\r\n name: t(\"Country\"),\r\n onRender: (item: HolidayConfigView) => ({item.country.name}),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"date\",\r\n name: t(\"Date\"),\r\n onRender: (item: HolidayConfigView) => (\r\n {/* {item.date.toString()} */}\r\n this.setState((state) => {\r\n item.date = v ?? new Date();\r\n return state;\r\n })} />\r\n ),\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n ]}\r\n \r\n \r\n />\r\n {/* \r\n {submitButton}\r\n */}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HolidaysConfig;","import React from \"react\";\r\nimport { Flex, FlexItem } from \"@fluentui/react-northstar\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport HolidaysConfig from \"../../../components/holidaysConfig\"\r\n\r\ninterface IState {\r\n}\r\n\r\ninterface IProps {\r\n match: { params: { id?: number } };\r\n history: any;\r\n t: any;\r\n user: UserStore\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass CompanyHolidays extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n get id() {\r\n if(window.location.href.toLowerCase().includes('mycompany'))\r\n return this.props.user.company?.id\r\n return Number(this.props.match.params.id);\r\n }\r\n\r\n render() {\r\n\r\n const { t, user } = this.props;\r\n\r\n return (\r\n \r\n {this.id ? \r\n (\r\n \r\n \r\n \r\n ) : <>\r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(CompanyHolidays as any) as any);\r\n","import React, { createRef } from \"react\";\r\nimport { Flex, Text, Button, Layout, FlexItem, TrashCanIcon, Label, Image, Grid, Alert, Loader } from \"@fluentui/react-northstar\";\r\nimport { TextField, Dropdown, ComboBox, MessageBar, MessageBarType } from \"@fluentui/react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ChromePicker } from 'react-color';\r\nimport { getPlans, addCompany, updateCompany, getCompany, getCompanyRules, updateCompanyRules } from \"../../../api/Company\";\r\nimport {\r\n SubscriptionPlan,\r\n CompanyInput,\r\n CountryView,\r\n OrganizationView,\r\n CompanyView,\r\n AttendanceImageConfig,\r\n TimeZoneInfoView,\r\n FaceRecognitionConfig,\r\n ShiftFlowRuleType,\r\n CompanyRulesInput,\r\n ShiftScheduleType,\r\n TriggerOvertimeVerificationOn,\r\n BreakConfig\r\n} from \"../../../models\";\r\nimport { getCountries, getTimeZones } from \"../../../api/Country\";\r\nimport { GetOrganizations } from \"../../../api/Organization\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { getRoles } from \"../../../api/account\";\r\nimport { lightOrDark } from \"../../../utils\";\r\nimport PhoneInput from 'react-phone-number-input';\r\nimport { CompanyAddEditStore } from \"../../../store/companyAddEdit\";\r\nimport TimePicker from \"react-time-picker\";\r\n//import { Checkbox } from \"@material-ui/core\";\r\nimport Checkbox from '@mui/material/Checkbox';\r\n\r\n\r\n\r\ninterface IState {\r\n loading: boolean;\r\n input: CompanyRulesInput;\r\n // company: CompanyView;\r\n success: boolean;\r\n alertVisible: boolean;\r\n alertContent: string;\r\n}\r\n\r\ninterface IProps {\r\n match: { params: { id?: number } };\r\n history: any;\r\n t: any;\r\n user: UserStore;\r\n companyAddEdit: CompanyAddEditStore;\r\n}\r\n\r\n@inject(\"user\", \"companyAddEdit\")\r\n@observer\r\nclass RulesManagement extends React.Component {\r\n ref: React.RefObject;\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n success: false,\r\n input: {\r\n id: 0,\r\n attendanceImageConfig: AttendanceImageConfig.Required,\r\n faceRecognitionConfig: FaceRecognitionConfig.Required,\r\n shiftFlowRuleType: ShiftFlowRuleType.Default,\r\n timesheetCreationDay: 0,\r\n hideClockingImagesFromTimesheet: false,\r\n disableAllNotifications: false,\r\n faceRecognitionEnabled: false,\r\n leavesApprovalLimitedToSupervisor: false,\r\n companyId: 0,\r\n shiftScheduleType:ShiftScheduleType.FixedWeekSchedule,\r\n triggerOvertimeVerificationOn:TriggerOvertimeVerificationOn.ShiftWorkingHoursFullfiled,\r\n breakConfig:BreakConfig.Required\r\n },\r\n // company: {} as CompanyView,\r\n alertVisible: false,\r\n alertContent: \"\",\r\n };\r\n this.ref = createRef();\r\n }\r\n\r\n componentDidMount() {\r\n this.fetch();\r\n }\r\n\r\n get id() {\r\n if(window.location.href.toLowerCase().includes('mycompany'))\r\n return this.props.user.company?.id\r\n return Number(this.props.match.params.id);\r\n }\r\n\r\n fetch = async () => {\r\n this.setState({ loading: true })\r\n if (this.id) {\r\n const companyRules = await getCompanyRules(this.id);\r\n // this.props.companyAddEdit.setCompanyName(company.payload.name)\r\n this.setState({\r\n input: {\r\n // ...company.payload,\r\n id: companyRules.payload.id,\r\n timesheetCreationDay: companyRules.payload.timesheetCreationDay,\r\n attendanceImageConfig: companyRules.payload.attendanceImageConfig,\r\n hideClockingImagesFromTimesheet: companyRules.payload.hideClockingImagesFromTimesheet,\r\n disableAllNotifications: companyRules.payload.disableAllNotifications,\r\n faceRecognitionEnabled: companyRules.payload.faceRecognitionEnabled,\r\n faceRecognitionConfig: companyRules.payload.faceRecognitionConfig,\r\n shiftFlowRuleType: companyRules.payload.shiftFlowRuleType,\r\n leavesApprovalLimitedToSupervisor: companyRules.payload.leavesApprovalLimitedToSupervisor,\r\n companyId: companyRules.payload.companyId,\r\n shiftScheduleType: companyRules.payload.shiftScheduleType,\r\n triggerOvertimeVerificationOn: companyRules.payload.triggerOvertimeVerificationOn,\r\n breakConfig : companyRules.payload.breakConfig\r\n },\r\n // company: companyRules.payload\r\n });\r\n }\r\n this.setState({loading: false})\r\n };\r\n\r\n submit = async () => {\r\n if (this.id) {\r\n try {\r\n this.setState({ loading: true })\r\n var res = await updateCompanyRules(this.id, this.state.input);\r\n this.setState({ success: true, loading: false });\r\n } catch (error) {\r\n console.log(error)\r\n alert(\"Something went wrong!\");\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { t } = this.props\r\n const { loading } = this.state\r\n\r\n return (\r\n \r\n \r\n {this.state.success && (\r\n \r\n {t(\"Company Rules Updated Successfully\")}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.attendanceImageConfig = props?.key ? props.key as AttendanceImageConfig : AttendanceImageConfig.Required;\r\n this.setState({input});\r\n }} />\r\n \r\n { // Face Recognition Enabled Input \r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.faceRecognitionEnabled = props?? false\r\n this.setState({input})\r\n }}\r\n />\r\n \r\n : null\r\n }\r\n {\r\n this.state.input.faceRecognitionEnabled ? \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.faceRecognitionConfig = props?.key ? props.key as FaceRecognitionConfig : FaceRecognitionConfig.Required;\r\n this.setState({input});\r\n }} />\r\n \r\n : null\r\n }\r\n { // Shiftflow Rule type\r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.shiftFlowRuleType = props?.key ? props.key as ShiftFlowRuleType : ShiftFlowRuleType.Default;\r\n this.setState({input});\r\n }} />\r\n \r\n : null\r\n }\r\n {/* \r\n \r\n ({\r\n key: index,\r\n text: t(x),\r\n data: index,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.timesheetCreationDay = props?.data;\r\n this.setState({input});\r\n }} />\r\n */}\r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.shiftScheduleType = props?.key ? props.key as ShiftScheduleType : ShiftScheduleType.FixedWeekSchedule;\r\n this.setState({input});\r\n }} />\r\n \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.triggerOvertimeVerificationOn = props?.key ? props.key as TriggerOvertimeVerificationOn : TriggerOvertimeVerificationOn.ShiftWorkingHoursFullfiled;\r\n this.setState({input});\r\n }} />\r\n \r\n { // Hide Clocking Images Input \r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n \r\n \r\n ({\r\n key: x.valueOf().toString(),\r\n text: t(x.toString()),\r\n id: x.valueOf().toString(),\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.breakConfig = props?.key ? props.key as BreakConfig : BreakConfig.Required;\r\n this.setState({input});\r\n }} />\r\n \r\n :null}\r\n { // Hide Clocking Images Input \r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.hideClockingImagesFromTimesheet = props?? false\r\n this.setState({input})\r\n }}\r\n />\r\n \r\n : null\r\n }\r\n { // Disable All Notifications Input\r\n this.props.user.role.toLowerCase() === 'admin' ? \r\n \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.disableAllNotifications = props?? false\r\n this.setState({input})\r\n }}\r\n />\r\n \r\n : null\r\n }\r\n \r\n \r\n {\r\n var input = { ...this.state.input }\r\n input.leavesApprovalLimitedToSupervisor = props?? false\r\n this.setState({input})\r\n }}\r\n />\r\n \r\n \r\n ))}\r\n \r\n )}\r\n */}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(MyRequests as any) as any)","import React from 'react';\r\nimport { Flex, Divider, Dialog, Alert, ExclamationTriangleIcon, Input } from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, CommandBar, SearchBox, Dropdown } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport { LeaveRequestStatus, LeaveRequestView, LeaveType, LeaveTypeView, RequestModel, Result, Roles } from \"../../../models\";\r\nimport { copyAndSort, shadeBlend } from \"../../../utils\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { Pagination as FPagination } from \"@fluentui/react-experiments/lib/Pagination\"\r\nimport { withTranslation } from 'react-i18next';\r\nimport columns from './columns'\r\nimport { getLeaveRequestsAssignedToUser } from '../../../api/leaves';\r\nimport SubmitLeaveApprovalForm from '../../../components/leaves/submitLeaveApprovalForm';\r\nimport * as LeavesApi from '../../../api/leaves';\r\nimport LeaveAttachments from '../../../components/leaves/leaveAttachments';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n requests: RequestModel[];\r\n items: LeaveRequestView[];\r\n leaveRequests: LeaveRequestView[];\r\n count: number;\r\n offset: number;\r\n selectedPageIndex: number;\r\n \r\n selectedLeaveId: number;\r\n leaveAttachmentsDialogOpen: boolean;\r\n approveDialogOpen: boolean;\r\n rejectDialogOpen: boolean;\r\n undoDialogOpen: boolean;\r\n commentDialogData: {\r\n leaveId: number;\r\n commentValue: string;\r\n }\r\n commentRequiredAlert: boolean;\r\n \r\n columns: IColumn[];\r\n\r\n showFilters: boolean;\r\n selectedStatus: string;\r\n selectedLeaveType: string;\r\n filter: {\r\n leaveType: string;\r\n fullName: string;\r\n status: string;\r\n }\r\n\r\n leaveTypes: LeaveTypeView[];\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass RequestsAssignedToUser extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n\r\n this.state = {\r\n count: 10,\r\n offset: 0,\r\n items: [],\r\n leaveRequests: [],\r\n requests: [],\r\n loading: false,\r\n selectedPageIndex: 0,\r\n \r\n selectedLeaveId: 0,\r\n leaveAttachmentsDialogOpen: false,\r\n approveDialogOpen: false,\r\n rejectDialogOpen: false,\r\n undoDialogOpen: false,\r\n commentDialogData: {\r\n leaveId: 0,\r\n commentValue: \"\"\r\n },\r\n commentRequiredAlert: false,\r\n\r\n columns: columns(props.t, this.attachmentButtonOnClick, this.approveButtonOnClick, this.rejectButtonOnClick, this.undoButtonOnClick).assignedLeaves,\r\n\r\n showFilters: false,\r\n selectedStatus: \"\",\r\n selectedLeaveType: \"\",\r\n filter: {\r\n leaveType: \"\",\r\n fullName: \"\",\r\n status: \"\"\r\n },\r\n\r\n leaveTypes: []\r\n };\r\n\r\n this.state.columns.forEach((c) => c.onColumnClick = (_: any, column: IColumn) => {\r\n const newColumns: IColumn[] = this.state.columns.slice();\r\n const currColumn: IColumn = newColumns.filter((currCol) => column.key === currCol.key)[0];\r\n newColumns.forEach((newCol: IColumn) => {\r\n if (newCol === currColumn) {\r\n currColumn.isSortedDescending = !currColumn.isSortedDescending;\r\n currColumn.isSorted = true;\r\n } else {\r\n newCol.isSorted = false;\r\n newCol.isSortedDescending = true;\r\n }\r\n });\r\n const newItems = copyAndSort(this.state.leaveRequests, currColumn.key, currColumn.isSortedDescending);\r\n this.setState({ columns: newColumns, leaveRequests: newItems });\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n fetchData = async () => {\r\n this.setState({ loading: true });\r\n\r\n const leaveTypes = await LeavesApi.getLeaveTypes(this.userId);\r\n\r\n const leaves = await getLeaveRequestsAssignedToUser(this.userId);\r\n this.setState({\r\n loading: false,\r\n // requests: assigned.payload,\r\n leaveTypes: leaveTypes.payload,\r\n leaveRequests: leaves.payload.leaveRequests,\r\n items: leaves.payload.leaveRequests\r\n });\r\n };\r\n\r\n filterDataGlobal = (value: string) => {\r\n var valueLower = value.toLowerCase();\r\n this.setState(state => {\r\n return {\r\n items: state.leaveRequests.filter(l => {\r\n return l.user?.fullName.toLowerCase().includes(valueLower)\r\n || l.leaveType.toLowerCase().includes(valueLower)\r\n || l.status.toString().toLowerCase().includes(valueLower)\r\n })\r\n }\r\n });\r\n }\r\n\r\n filterData(newState: any){\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n ...newState\r\n }\r\n }, () => {\r\n this.setState(state => {\r\n return {\r\n items: state.leaveRequests.filter(l => \r\n (!state.filter.fullName || l.user.fullName?.toLowerCase().includes(state.filter.fullName.toLowerCase()))\r\n && (!state.filter.leaveType || l.leaveType?.toLowerCase().includes(state.filter.leaveType.toLowerCase()))\r\n && (!state.filter.status || l.status.toString().toLowerCase().includes(state.filter.status.toLowerCase()))\r\n )\r\n }\r\n })\r\n })\r\n }\r\n\r\n requestApproval = async (id: number, isApproved: boolean, supervisorComment: string) => {\r\n this.setState({loading : true});\r\n try {\r\n await LeavesApi.leaveRequestApproval({ id, isApproved, supervisorComment })\r\n this.setState({\r\n approveDialogOpen: false,\r\n rejectDialogOpen: false,\r\n commentRequiredAlert: false\r\n })\r\n this.fetchData();\r\n \r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n this.setState({loading : false});\r\n }\r\n\r\n undoRequestApproval = async (id: number, supervisorComment: string) => {\r\n this.setState({loading : true});\r\n try {\r\n await LeavesApi.leaveRequestUndoApproval({ id, supervisorComment, isApproved: false })\r\n this.setState({\r\n undoDialogOpen: false,\r\n commentRequiredAlert: false\r\n })\r\n this.fetchData();\r\n } catch (error) {\r\n if (error) {\r\n const res = error as Result;\r\n alert(res.errors[0].description);\r\n }\r\n }\r\n this.setState({loading : false});\r\n }\r\n\r\n attachmentButtonOnClick = (leave: LeaveRequestView) => {\r\n this.setState({\r\n selectedLeaveId: leave.id,\r\n leaveAttachmentsDialogOpen: true\r\n })\r\n }\r\n\r\n approveButtonOnClick = (leave : LeaveRequestView) => {\r\n this.setState({\r\n approveDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n })\r\n }\r\n\r\n rejectButtonOnClick = (leave : LeaveRequestView) => {\r\n this.setState({\r\n rejectDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n })\r\n }\r\n\r\n undoButtonOnClick = (leave : LeaveRequestView) => {\r\n this.setState({\r\n undoDialogOpen: true,\r\n commentDialogData: {\r\n leaveId: leave.id,\r\n commentValue: leave.supervisorComments\r\n }\r\n })\r\n }\r\n\r\n onPageChange = (index: number): void => {\r\n this.setState({\r\n selectedPageIndex: index,\r\n offset: (index ?? 1) * this.state.count\r\n })\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n columns,\r\n count,\r\n offset,\r\n showFilters\r\n } = this.state;\r\n\r\n const { user, t } = this.props\r\n\r\n const leaveStatuses = Object.values(LeaveRequestStatus).splice(0, Object.values(LeaveRequestStatus).length/2).map( x => x.toString())\r\n\r\n const dialogs = (\r\n <>\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => this.requestApproval(this.state.commentDialogData.leaveId, true, this.state.commentDialogData.commentValue)}\r\n onCancel={() => this.setState({ approveDialogOpen: false })}\r\n />\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => {\r\n if (!this.state.commentDialogData.commentValue)\r\n this.setState({ commentRequiredAlert: true })\r\n else\r\n this.requestApproval(this.state.commentDialogData.leaveId, false, this.state.commentDialogData.commentValue)\r\n }}\r\n onCancel={() => this.setState({ rejectDialogOpen: false })}\r\n />\r\n {\r\n this.setState({\r\n commentDialogData: {\r\n ...this.state.commentDialogData,\r\n commentValue: props ?? \"\"\r\n }\r\n })\r\n }}\r\n onConfirm={() => this.undoRequestApproval(this.state.commentDialogData.leaveId, this.state.commentDialogData.commentValue)}\r\n onCancel={() => this.setState({ undoDialogOpen: false })}\r\n />\r\n this.setState({ leaveAttachmentsDialogOpen: false })}\r\n // onConfirm={() => this.requestLeave()}\r\n // confirmButton={t(\"Request Leave\")}\r\n cancelButton={t(\"Cancel\")}\r\n header={t(\"Leave Attachments\")}\r\n //let leave = this.state.leaveRequests.find(l => l.id == this.state.selectedLeaveId);\r\n content={\r\n <>\r\n {this.state.leaveRequests.find(l => l.id === this.state.selectedLeaveId)?.attachmentRequired &&\r\n (this.state.leaveRequests.find(l => l.id === this.state.selectedLeaveId)?.attachmentCount as number) <= 0 &&\r\n \r\n {' '}\r\n {t(\"This leave type requires an attachment\")}\r\n \r\n } />}\r\n {}} fetchData={this.fetchData} leaveRequestId={this.state.selectedLeaveId} newRequest={false} submitNow={false} />\r\n }\r\n />\r\n \r\n )\r\n\r\n return (\r\n \r\n {dialogs}\r\n \r\n {t(\"Leaves\")}\r\n \r\n\r\n \r\n\r\n (\r\n \r\n this.filterDataGlobal(input ?? \"\")}\r\n />\r\n \r\n ),\r\n },\r\n {\r\n key: \"filters\",\r\n iconProps: { iconName: \"filter\" },\r\n buttonStyles: {\r\n icon: { color: user.companyPrimaryColor },\r\n iconHovered: { color: shadeBlend( -0.2 ,user.companyPrimaryColor, undefined) },\r\n },\r\n onClick: () => this.setState(state => ({ showFilters: !state.showFilters })),\r\n },\r\n ]}\r\n />\r\n\r\n {showFilters && (\r\n \r\n this.filterData(x => x.userName ?? \"\", input?.value ?? \"\")}\r\n onChange={(_ev, input) => this.filterData({fullName: input?.value?? \"\"})}\r\n />\r\n ({key: item.name, text: t(item.name)}))]}\r\n\r\n onChange={(_ev, input) => {\r\n this.filterData({leaveType: input?.key});\r\n this.setState({selectedLeaveType: input?.key ? input?.key.toString() : \"\" });\r\n }}\r\n selectedKey={this.state.selectedLeaveType}\r\n styles={{dropdown: {width: \"150px\", borderWidth: \"0px\"}, title: {backgroundColor: \"rgb(243 ,242, 241)\", borderWidth: \"0px\"}}}\r\n />\r\n ({key: item, text: t(item)}))]}\r\n onChange={(_ev, input) => {\r\n this.filterData({status: input?.key?? \"\"});\r\n this.setState({selectedStatus: input?.key as string});\r\n }}\r\n selectedKey={this.state.selectedStatus}\r\n styles={{dropdown: {width: \"150px\", borderWidth: \"0px\"}, title: {backgroundColor: \"rgb(243 ,242, 241)\", borderWidth: \"0px\"}}}\r\n />\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, totalPages, getPageItemProps }) => (\r\n
\r\n {pages.map((page) => (\r\n \r\n ))}\r\n
\r\n )}\r\n */}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(RequestsAssignedToUser as any) as any)","import React from \"react\";\r\nimport { Flex, FlexItem, Menu, Divider,MenuBehaviorProps,tabListBehavior, } from \"@fluentui/react-northstar\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { UserStore } from \"../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport MyRequests from \"./tabs/myRequests\";\r\nimport Assigned from \"./tabs/assigned\";\r\nimport { Separator } from \"@fluentui/react\";\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\n\r\ntype Props = {\r\n t: any;\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n};\r\n\r\ninterface IState {\r\n currentTab: number | string;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Requests extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n this.state = {\r\n currentTab: 0\r\n };\r\n }\r\n\r\n\r\n render() {\r\n const { t } = this.props\r\n return (\r\n \r\n \r\n {t(\"Requests\")} ({this.props.user.fullname})\r\n \r\n \r\n \r\n { return tabListBehavior() }}\r\n defaultActiveIndex={0}\r\n onActiveIndexChange={(e, i) => this.setState({ currentTab: i?.activeIndex ?? 0 })}\r\n styles={{ width: \"200px\", minWidth: \"200px\" }}\r\n items={[\r\n {\r\n key: \"assigned\",\r\n content: t(\"Assigned to {{FirstName}}\", { FirstName: this.props.user.firstName })\r\n },\r\n {\r\n key: \"created\",\r\n content: t(\"Created by {{FirstName}}\", { FirstName: this.props.user.firstName })\r\n }\r\n ]} />\r\n \r\n {/* */}\r\n {(function (i) {\r\n switch (i) {\r\n case 0:\r\n case \"0\":\r\n return ;\r\n case 1:\r\n case \"1\":\r\n return ;\r\n }\r\n })(this.state.currentTab)}\r\n {/* */}\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Requests as any) as any);\r\n","import React, { CSSProperties } from \"react\";\r\nimport { Flex, FlexItem, Menu, Divider, Grid, Text, ComponentSlotStyle } from \"@fluentui/react-northstar\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\n\r\nimport { UserStore } from \"../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { Icon, Separator } from \"@fluentui/react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport Clockings from \"./tabs/Clockings\";\r\nimport Shifts from \"./tabs/Shifts\";\r\nimport Leaves from \"./tabs/Leaves\";\r\nimport Custom from \"./tabs/Custom\";\r\nimport UsersStatuses from \"./tabs/UsersStatuses\";\r\nimport Icons from \"../../assests/images/SVGIcons/svgIcons\";\r\n\r\n\r\ntype Props = {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n currentTab: number | string;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Reports extends React.Component {\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n this.state = {\r\n currentTab: 0\r\n };\r\n }\r\n\r\n\r\n render() {\r\n const { t, user } = this.props;\r\n const gridItemStyle : ComponentSlotStyle = { color: user.companyPrimaryColor?? \"#005bab\", fill: user.companyPrimaryColor?? \"#005bab\", flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginLeft: '50px', marginBottom: '50px', borderRadius: '4px', minWidth: '100px', padding: '10px', boxShadow: 'rgba(0, 0, 0, 0.16) 0px 1px 4px' } //box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\r\n const svgIconStyle: CSSProperties = { width: '22px', height: '28.56px' }\r\n const iconStyle: CSSProperties = { fontSize: '20px' }\r\n return (\r\n \r\n \r\n \r\n {t('Reports')}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"Clockings\")}\r\n \r\n ,\r\n \r\n \r\n \r\n {t(\"Shifts\")}\r\n \r\n ,\r\n \r\n \r\n \r\n {t(\"Leaves\")}\r\n \r\n ,\r\n \r\n \r\n \r\n {t(\"Users Statuses\")}\r\n \r\n ,\r\n // \r\n // \r\n // \r\n // {t(\"Overtime\")}\r\n // \r\n // ,\r\n // \r\n // \r\n // \r\n // {t(\"Leaves Balance\")}\r\n // \r\n // \r\n ]\r\n }>\r\n\r\n {/* \r\n this.setState({ currentTab: i?.activeIndex ?? 0 })}\r\n styles={{ width: \"200px\", minWidth: \"200px\" }}\r\n items={[\r\n {\r\n key: \"clockings\",\r\n content: t('Clockings')\r\n },\r\n {\r\n key: \"shifts\",\r\n content: t('Shifts')\r\n },\r\n {\r\n key: \"leaves\",\r\n content: t('Leaves')\r\n },\r\n {\r\n key: \"statuses\",\r\n content: t('Statuses')\r\n },\r\n // {\r\n // key: \"custom\",\r\n // content: t('Custom')\r\n // }\r\n ]} />\r\n \r\n \r\n {(function (i) {\r\n switch (i) {\r\n case 0:\r\n case \"0\":\r\n return ;\r\n case 1:\r\n case \"1\":\r\n return ;\r\n case 2:\r\n case \"2\":\r\n return ;\r\n case 3:\r\n case \"3\":\r\n return ;\r\n case 4:\r\n case \"4\":\r\n return ;\r\n }\r\n })(this.state.currentTab)}\r\n \r\n */}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Reports as any) as any);\r\n","import React, { createRef } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { inject } from \"mobx-react\";\r\nimport { TextField, ComboBox, Dropdown, } from \"@fluentui/react\";\r\nimport { Divider, Segment, Flex, Dialog, Text, Image, Button, } from \"@fluentui/react-northstar\";\r\nimport { UserStore } from \"../../store/user\";\r\nimport { CountryView, Error, SignUpTrialInput } from \"../../models\";\r\nimport { NotificationStore } from \"../../store/notification\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport PhoneInput from \"react-phone-number-input\";\r\nimport { getCountries } from \"../../api/Country\";\r\nimport { signupTrial } from \"../../api/Company\";\r\nimport Industries from '../../assests/data/industries';\r\nimport CompanySizes from '../../assests/data/companySizes';\r\nimport CircleCheck from '../../assests/images/circleCheck.png';\r\nimport shortid from \"shortid\";\r\nimport { validateEmail } from \"../../utils\";\r\nimport BackgroundArt from '../../assests/images/watermark-cover-art.png';\r\n\r\n\r\ninterface ISignuptrialState {\r\n // email: string;\r\n // password: string;\r\n // emailError: string;\r\n // passwordError: string;\r\n // showPass: boolean;\r\n input: SignUpTrialInput;\r\n errorDialogOpen: boolean;\r\n errorMessage: string;\r\n countries: CountryView[];\r\n activeStep: number;\r\n trialSubmited: boolean;\r\n showSumitTexts: boolean;\r\n buttonsDisabled: boolean;\r\n pleaseSpecifyVisible: boolean;\r\n baseReference: string;\r\n specifiedReference: string;\r\n}\r\n\r\ntype Props = Readonly<{ user?: UserStore; notification?: NotificationStore; match?: any, t : any }>;\r\n\r\nconst steps = [ \r\n \"Company Details\", \r\n \"User Details\", \r\n // \"User Credentials\" \r\n]\r\n\r\n@inject(\"user\")\r\nclass Signuptrial extends React.Component {\r\n ref: React.RefObject;\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.state = {\r\n // showPass: false,\r\n // email: \"\",\r\n // password: \"\",\r\n // emailError: \"\",\r\n // passwordError: \"\",\r\n input: {\r\n company: {\r\n name: \"\",\r\n countryId: 0,\r\n phoneNumber: \"\",\r\n industry: \"\",\r\n size: \"\",\r\n reference: \"\"\r\n },\r\n user: {\r\n email: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n countryId: 0,\r\n phoneNumber: \"\",\r\n //weekends: [],\r\n password: `${shortid.generate()}@Abc123`\r\n }\r\n },\r\n errorDialogOpen: false,\r\n errorMessage: \"\",\r\n countries: [],\r\n activeStep: 0,\r\n trialSubmited: false,\r\n showSumitTexts: false,\r\n buttonsDisabled: false,\r\n pleaseSpecifyVisible: false,\r\n baseReference: \"\",\r\n specifiedReference: \"\"\r\n };\r\n this.ref = createRef();\r\n }\r\n\r\n componentDidMount() {\r\n this.fetch();\r\n }\r\n\r\n fetch = async () => {\r\n const countries = await getCountries();\r\n this.setState({\r\n countries: countries.payload\r\n });\r\n };\r\n\r\n validateForm = () => {\r\n var valid = true;\r\n const { input } = this.state;\r\n if (input.user.email.length > 0){\r\n valid = validateEmail(input.user.email);\r\n } else {\r\n valid = false\r\n }\r\n\r\n if (input.company.name.length <= 0){\r\n valid = false\r\n }\r\n\r\n if (input.user.firstName.length <= 0 || input.user.lastName.length <= 0){\r\n valid = false\r\n }\r\n\r\n if (input.user.countryId === 0){\r\n valid = false\r\n }\r\n\r\n return valid\r\n };\r\n\r\n submit = async () => {\r\n const { t } = this.props\r\n try {\r\n this.setState({buttonsDisabled: true});\r\n if (this.validateForm()){\r\n await signupTrial(this.state.input);\r\n this.setState({trialSubmited: true})\r\n } else {\r\n alert(t(\"Kindly fill all the required fields\"));\r\n }\r\n this.setState({buttonsDisabled: false});\r\n } catch (data: any) {\r\n console.log(\"error: \", data)\r\n const errors = data.errors as Error[];\r\n if (errors) {\r\n this.setState({\r\n errorDialogOpen : true,\r\n errorMessage: `${t(errors[0].description)} ${errors[0].description.toLowerCase().includes(\"company\") ? t('Company-') : t('Email-')} ${errors[0].path}`\r\n });\r\n }\r\n this.setState({buttonsDisabled: false});\r\n }\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n // const classes = this.useStyles();\r\n const segmentStyle = { width : '400px'}\r\n return (\r\n <>\r\n this.setState({ errorDialogOpen: false })}\r\n confirmButton={{ content: \"Ok\" }}\r\n content={this.state.errorMessage}\r\n header={t('Error')} />\r\n \r\n {/* */}\r\n \r\n {/* {t('Trial Signup')} */}\r\n \r\n {\r\n this.state.trialSubmited ?\r\n \r\n \r\n \r\n this.setState({showSumitTexts : true})} />\r\n {this.state.showSumitTexts ? {t(\"Thank you for signing up for a trial.\")}: <>}\r\n {this.state.showSumitTexts ? {t(\"We have sent you an email with the next steps to proceed.\")}: <>}\r\n \r\n \r\n \r\n :\r\n <>\r\n \r\n {t('Trial SignUp')}\r\n } />\r\n \r\n \r\n {\r\n var input = {...this.state.input}\r\n input.company.name = props ?? \"\";\r\n this.setState({input});\r\n }}\r\n value={this.state.input.company.name} />\r\n {\r\n var input = {...this.state.input}\r\n input.user.email = val ?? \"\"\r\n this.setState({input})\r\n }}\r\n />\r\n \r\n {\r\n var input = {...this.state.input}\r\n input.user.firstName = props ?? \"\";\r\n this.setState({input});\r\n }}\r\n value={this.state.input.user.firstName} />\r\n \r\n \r\n {\r\n var input = {...this.state.input}\r\n input.user.lastName = props ?? \"\";\r\n this.setState({input});\r\n }}\r\n value={this.state.input.user.lastName} />\r\n \r\n \r\n \r\n {t(\"Country\")}\r\n *\r\n \r\n ({\r\n key: x.id,\r\n text: x.name,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.user.countryId = props?.data.id;\r\n if (!input.user.phoneNumber || input.user.phoneNumber.length < 6){\r\n input.user.phoneNumber = '+' + props?.data.phoneCode\r\n this.setState({input});\r\n }\r\n this.setState({input});\r\n }} />\r\n \r\n {/* \r\n \r\n {\r\n var input = {...this.state.input}\r\n input.user.phoneNumber = ev;\r\n this.setState({input});\r\n }}/>\r\n */}\r\n \r\n \r\n ({\r\n key: x,\r\n text: t(x),\r\n data: index,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input};\r\n console.log(props?.data);\r\n if (props && props?.data > 4)\r\n this.setState({pleaseSpecifyVisible: true});\r\n else\r\n this.setState({pleaseSpecifyVisible: false});\r\n var baseReference = props?.key.toString() ?? \"\";\r\n input.company.reference = props?.key.toString() ?? \"\";\r\n this.setState({input, baseReference, specifiedReference: \"\"});\r\n }} />\r\n {\r\n this.state.pleaseSpecifyVisible ? \r\n {\r\n var input = {...this.state.input}\r\n var specifiedReference = props ?? \"\"\r\n input.company.reference = this.state.baseReference + \" - \" + specifiedReference ?? this.state.baseReference;\r\n this.setState({input, specifiedReference});\r\n }}\r\n value={this.state.specifiedReference}\r\n /> \r\n : null\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Signuptrial as any) as any);\r\n","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { Flex, Text } from '@fluentui/react-northstar'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport default function PrivacyAndPolicy() {\r\n const { t } = useTranslation()\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n );\r\n}","import request from \"../utils/request\";\r\nimport { Result, Request, RequestInput, RequestModel, RequestStatus, Priority } from \"../models\";\r\n\r\nexport async function getRequestsPerUser(userId: string) {\r\n const response = await request.get>(`Request/GetRequestsPerUser/${userId}`);\r\n return response.data;\r\n}\r\nexport async function getRequestsAssignedToUser(userId: string) {\r\n const response = await request.get>(`Request/GetRequestsAssignedToUser/${userId}`);\r\n return response.data;\r\n}\r\n\r\nexport async function getStatuses() {\r\n const response = await request.get>(`Request/GetRequestsStatuses`);\r\n return response.data;\r\n }\r\n\r\n export async function getPriorities() {\r\n const response = await request.get>(`Request/GetPriorities`);\r\n return response.data;\r\n }\r\n export async function getRequest(id: number) {\r\n const response = await request.get>(`Request/${id}`);\r\n return response.data;\r\n }\r\n\r\nexport async function addRequest(input: RequestInput) {\r\n const response = await request.post>(\"Request/AddRequest\", input);\r\n return response.data;\r\n}\r\n\r\n\r\nexport async function UpdateStatus(statusId:number) {\r\n const response = await request.post>(`Request/UpdateStatus?RequestStatus=${statusId}`);\r\n return response.data;\r\n}\r\n","import React, { createRef } from \"react\";\r\nimport { Flex, Text, Button, FlexItem, Divider } from \"@fluentui/react-northstar\";\r\nimport { TextField, Dropdown, ComboBox, MessageBar, MessageBarType,DatePicker } from \"@fluentui/react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n RequestInput,\r\n RequestModel,\r\n RequestStatus,\r\n Priority,\r\n UserView,\r\n} from \"../../models\";\r\nimport { getStatuses,getRequest ,addRequest,getPriorities} from \"../../api/Request\";\r\nimport { inject,observer } from \"mobx-react\";\r\nimport { GetUsers} from \"../../api/account\";\r\nimport { UserStore } from \"../../store/user\";\r\ninterface IState {\r\n \r\n statuses:RequestStatus[];\r\n priorities:Priority[];\r\n input: RequestInput;\r\n requests: RequestModel[];\r\n success: boolean;\r\n users:UserView[];\r\n disabled:boolean;\r\n}\r\n\r\ninterface IProps {\r\n match: {params: {id?: number}};\r\n history: any;\r\n user: UserStore;\r\n}\r\n@inject(\"user\")\r\n@observer\r\nclass AddRequest extends React.Component {\r\n ref: React.RefObject;\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n statuses:[],\r\n disabled:false,\r\n users:[],\r\n priorities:[],\r\n success: false,\r\n requests:[],\r\n input: {\r\n title: \"\",\r\n expectedClosedDate:new Date(),\r\n requestedById:this.props.user.userId,\r\n description: \"\",\r\n assignedUsers:[],\r\n statusId:0,\r\n priorityId:0\r\n\r\n },\r\n \r\n };\r\n this.ref = createRef();\r\n }\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n get CompanyId() {\r\n return this.props.user.company?.id ?? 0;\r\n }\r\n componentDidMount() {\r\n this.fetch();\r\n }\r\n\r\n get id() {\r\n return Number(this.props.match.params.id);\r\n }\r\n\r\n fetch = async () => {\r\n \r\n const statuses = await getStatuses();\r\n const priorities = await getPriorities();\r\n const users = await GetUsers(this.CompanyId);\r\n this.setState({statuses:statuses.payload});\r\n this.setState({priorities:priorities.payload});\r\n this.setState({users:users.payload});\r\n if (this.id) {\r\n const request = await getRequest(this.id);\r\n this.setState({\r\n input: {\r\n ...request.payload,\r\n assignedUsers:request.payload.assignedUsers,\r\n expectedClosedDate:new Date(request.payload.expectedDate),\r\n requestedById:\"\",\r\n statusId:request.payload.statusId,\r\n description:request.payload.description,\r\n title:request.payload.title,\r\n priorityId:request.payload.priorityId?? 0\r\n },\r\n disabled:true\r\n });\r\n \r\n }\r\n \r\n };\r\n\r\n\r\n \r\n addRequest = async () => {\r\n try {\r\n const result = await addRequest(this.state.input);\r\n this.setState({\r\n input: {\r\n title: \"\",\r\n expectedClosedDate:new Date(),\r\n requestedById:\"\",\r\n \r\n description: \"\",\r\n assignedUsers:[],\r\n statusId:0,\r\n priorityId:0\r\n },\r\n });\r\n\r\n // const id = result.payload.id ?? 0;\r\n this.props.history.goBack();\r\n \r\n return result.payload.id;\r\n } catch (error) {\r\n alert(error);\r\n }\r\n return undefined;\r\n };\r\n\r\n// updateCompany = async () => {\r\n// if (this.id) {\r\n// try {\r\n// await updateCompany(this.id, this.state.input);\r\n// this.setState({ success: true });\r\n// } catch (error) {\r\n// alert(\"Something went wrong!\");\r\n// }\r\n// }\r\n// };\r\n\r\n// updateCompanyLeaves = async (id: number) => {\r\n// await assignLeavesToCompany(id, this.state.leavesId);\r\n// };\r\n\r\n// addOrUpdate = async () => {\r\n// let id = this.id;\r\n// if (this.id) {\r\n// await this.updateCompany();\r\n// } else {\r\n// id = await this.addCompany() ?? 0;\r\n// this.props.history.goBack();\r\n// }\r\n// if (id) await this.updateCompanyLeaves(id);\r\n// };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {!this.id && }\r\n {this.state.success && (\r\n \r\n Company Updated Successfully\r\n \r\n )}\r\n \r\n {\r\n var input = {...this.state.input}\r\n input.title = props ?? \"\"\r\n this.setState({ input })\r\n }}\r\n value={this.state.input.title} />\r\n \r\n \r\n {\r\n var input = {...this.state.input}\r\n input.description= props ?? \"\"\r\n this.setState({ input })\r\n }}\r\n value={this.state.input.description} />\r\n \r\n\r\n this.setState((state) => ({\r\n input: { ...state.input, expectedClosedDate: date ?? state.input.expectedClosedDate },\r\n }))} label=\"Expected Delivery Date\" value={this.state.input.expectedClosedDate} />\r\n \r\n ({\r\n key: x.id,\r\n text: x.name,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.statusId = props?.data.id;\r\n this.setState({ input });\r\n }} />\r\n ({\r\n key: x.id,\r\n text: x.name,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.priorityId = props?.data.id;\r\n this.setState({ input });\r\n }} />\r\n \r\n \r\n \r\n \r\n ({\r\n key: x.id,\r\n text: x.fullName,\r\n data: x,\r\n }))}\r\n onChange={(ev, props) => {\r\n var input = {...this.state.input}\r\n input.assignedUsers = props?.selected\r\n ? [...input.assignedUsers, props.key.toString()]\r\n : input.assignedUsers.filter((x) => x !== props?.data);\r\n this.setState({ input })\r\n // item.weekdays = props?.data;\r\n // item.weekdays = props?.data;\r\n }} />\r\n \r\n \r\n\r\n\r\n\r\n : <>}\r\n \r\n \r\n \r\n \r\n this.onDateChange(e, 'from')}\r\n value={this.state.dateFrom}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n this.onDateChange(e, 'to')}\r\n value={this.state.dateTo}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, hasNextPage, hasPreviousPage, nextPage, previousPage, totalPages, getPageItemProps }) => (\r\n
\r\n \r\n {(currentPage !== 1) && (\r\n \r\n )}\r\n\r\n {hasPreviousPage && (\r\n \r\n )}\r\n \r\n {pages.map((page) => (\r\n \r\n ))}\r\n\r\n {hasNextPage && (\r\n \r\n )}\r\n\r\n {(currentPage !== totalPages) && (\r\n \r\n )}\r\n\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(LeavesBalance as any) as any);","import React, { Component, createRef, useEffect, useState } from \"react\";\r\nimport { Flex, Image, Button, Text, Dropdown, CloseIcon, ChevronEndMediumIcon, ChevronStartIcon, ChevronEndIcon, AddIcon, WindowMinimizeIcon, Tooltip } from \"@fluentui/react-northstar\";\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker/dist/entry.nostyle';\r\nimport { Spinner } from \"@fluentui/react\";\r\nimport {\r\n Divider,\r\n ExcelColorIcon,\r\n FilesPdfColoredIcon,\r\n} from \"@fluentui/react-northstar\";\r\nimport FilterAltOutlinedIcon from '@mui/icons-material/FilterAltOutlined';\r\nimport { Checkbox } from '@fluentui/react-northstar'\r\nimport { FormControl, FormControlLabel, FormLabel, Radio, RadioGroup } from \"@mui/material\";\r\nimport InfoIcon from '@mui/icons-material/Info';\r\n\r\nimport styles from './styles.scss'\r\n\r\nimport { useTrail, a } from '@react-spring/web'\r\n\r\ninterface FilterProps {\r\n users: any[];\r\n users_: any[];\r\n selectedUsers: any[];\r\n onChangeUser(ev: any, props: any): any;\r\n children?: React.ReactNode;\r\n clearAllUsers: any\r\n dateFrom: Date;\r\n dateTo: Date;\r\n onDateChange(time: any, type: any): any;\r\n loading: boolean;\r\n fetchData: any;\r\n exportReport: any;\r\n setShowFilters: any;\r\n showFilters: boolean;\r\n countries: any[];\r\n selectedCountries: any[];\r\n selectedCountryNames: any[];\r\n onChangeCountry(ev: any, props: any): any;\r\n clearAllCountries: any\r\n branches: any[]\r\n selectedBranches: any[];\r\n selectedBranchNames: any[];\r\n onChangeBranches(ev: any, props: any): any;\r\n clearAllBranches: any;\r\n departments: any[];\r\n selectedDepartments: any[];\r\n selectedDepartmentNames: any[];\r\n onChangeDepartments(ev: any, props: any): any;\r\n clearAllDepartments: any;\r\n searchMethod: any;\r\n setSearchMethod(event: any): any;\r\n\r\n\r\n}\r\n\r\n\r\nconst Trail: React.FC<{ open: boolean, children: any }> = ({ open, children }) => {\r\n const items = React.Children.toArray(children)\r\n const trail = useTrail(items.length, {\r\n config: { mass: 5, tension: 2000, friction: 200 },\r\n opacity: open ? 1 : 0,\r\n x: open ? 0 : 20,\r\n height: open ? 70 : 0,\r\n display: open ? \"flex\" : \"none\",\r\n from: { opacity: 0, x: 200, height: 0 },\r\n })\r\n return (\r\n <>\r\n {trail.map(({ height, ...style }, index) => (\r\n\r\n \r\n {items[index]}\r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\n\r\nexport default function ReportsFilter({users,\r\n users_,\r\n selectedUsers,\r\n onChangeUser,\r\n children,\r\n clearAllUsers,\r\n dateFrom,\r\n dateTo,\r\n onDateChange,\r\n loading,\r\n fetchData,\r\n exportReport,\r\n setShowFilters,\r\n showFilters,\r\n countries,\r\n selectedCountries,\r\n selectedCountryNames,\r\n onChangeCountry,\r\n clearAllCountries,\r\n branches,\r\n selectedBranches,\r\n selectedBranchNames,\r\n onChangeBranches,\r\n clearAllBranches,\r\n departments,\r\n selectedDepartments,\r\n selectedDepartmentNames,\r\n onChangeDepartments,\r\n clearAllDepartments,\r\n searchMethod,\r\n setSearchMethod} : FilterProps) {\r\n\r\n const { t } = useTranslation()\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {onDateChange(e, 'from') }}\r\n value={dateFrom}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n { onDateChange(e, 'to') }}\r\n value={dateTo}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n onChangeUser(ev, props)\r\n }}\r\n >\r\n {selectedUsers.length > 0 ?\r\n : <>}\r\n \r\n \r\n {/* */}\r\n {/* {this.props.showFilters &&\r\n // (\r\n (<> */}\r\n\r\n \r\n \r\n \r\n \r\n {\r\n onChangeCountry(ev, props);\r\n }} />\r\n {selectedCountries.length > 0 ? : <>}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n onChangeBranches(ev, props);\r\n }} />\r\n {selectedBranches.length > 0 ? : <>}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n onChangeDepartments(ev, props);\r\n }} />\r\n\r\n {selectedDepartments.length > 0 ? : <>}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n content=\"When you select the AND option, the filtering will only include records that meet ALL of the specified filter conditions concurrently.\r\n When you select the OR option, the filtering will include records that satisfy ANY of the specified filter conditions. \" />\r\n \r\n \r\n \r\n { setSearchMethod(ev); }}\r\n >\r\n } label={t(\"AND\")} />}\r\n content=\"When you select the AND option, the filtering will only include records that meet ALL of the specified filter conditions concurrently.\" />\r\n } label={t(\"OR\")} />}\r\n content=\"When you select the OR option, the filtering will include records that satisfy ANY of the specified filter conditions.\" />\r\n\r\n {/* } label=\"AND\" />\r\n } label=\"OR\" /> */}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n // \r\n )} */}\r\n \r\n : : }\r\n content={t(\"Filters\")}\r\n iconPosition=\"after\"\r\n onClick={() => setShowFilters()}>\r\n \r\n \r\n \r\n {/* */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n );\r\n }","import React, { CSSProperties } from 'react';\r\nimport {\r\n Flex, Button, Divider, Dropdown,\r\n Text,\r\n ExcelColorIcon,\r\n CloseIcon,\r\n Layout,\r\n FilesPdfColoredIcon,\r\n Loader,\r\n} from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, IDetailsGroupRenderProps, GroupHeader, Icon, Spinner } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\n// import Pagination from \"react-paginating\";\r\nimport { Pagination } from \"@fluentui/react-experiments/lib/Pagination\";\r\nimport { ShiftReportView, UsersStatusesReportView, UserStatus } from \"../../../models\";\r\n\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport * as ReportsApi from \"../../../api/reports\";\r\nimport * as AccountApi from \"../../../api/account\";\r\nimport * as LeaveApi from \"../../../api/leaves\";\r\nimport { RowInput } from 'jspdf-autotable'\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker/dist/entry.nostyle'\r\nimport './Shifts.scss'\r\nimport dateformat from 'dateformat';\r\nimport moment from 'moment';\r\nimport { dayStatusColor } from '../../../assests/styles/colors';\r\nimport Icons from '../../../assests/images/SVGIcons/svgIcons';\r\nimport { getBranches, getDepartments } from '../../../api/Company';\r\nimport { getCountries, getUsersCountries } from '../../../api/Country';\r\nimport ReportsFilter from '../../../components/reportsFilter';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n today: Date;\r\n columnNames: any[];\r\n items: any[];\r\n columns: IColumn[];\r\n count: number;\r\n offset: number;\r\n options: any;\r\n groups: any[];\r\n users: any[];\r\n dateFrom: Date;\r\n dateTo: Date;\r\n shiftsPayload: ShiftReportView[];\r\n selectedUsers: any[];\r\n selectedPageIndex: number;\r\n users_: any[];\r\n branches: any[];\r\n departments: any[];\r\n countries: any[];\r\n selectedDepartments: any[];\r\n selectedBranches: any[];\r\n selectedCountries: any[];\r\n showFilters: boolean;\r\n ANDOR: boolean;\r\n loggedInUser: any,\r\n selectedDepartmentNames: any[],\r\n selectedBrancheNames: any[],\r\n selectedCountryNames: any[],\r\n searchMethod: string;\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass UsersStatuses extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n var { t } = props;\r\n this.state = {\r\n loading: false,\r\n today: new Date(Date.now()),\r\n users: [],\r\n selectedUsers: [],\r\n count: 5,\r\n offset: 0,\r\n shiftsPayload: [],\r\n columnNames: [],\r\n searchMethod: \"AND\",\r\n loggedInUser: \"\",\r\n ANDOR: true,\r\n showFilters: false,\r\n items: [],\r\n users_: [],\r\n selectedDepartments: [],\r\n branches: [],\r\n departments: [],\r\n countries: [],\r\n selectedCountries: [],\r\n selectedBranches: [],\r\n selectedDepartmentNames: [],\r\n selectedBrancheNames: [],\r\n selectedCountryNames: [],\r\n options: {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: true,\r\n },\r\n columns: [],\r\n groups: [],\r\n dateFrom: new Date(Number(new Date()) + 24 * 3600 * 1000 * -7),\r\n dateTo: new Date(new Date().setHours(23)),\r\n selectedPageIndex: 0\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // this.setState({today : Date.now()})\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n setColumns = async () => {\r\n const { t } = this.props\r\n var columns = [{\r\n key: 'names',\r\n name: t('Names'),\r\n onRender: (item: any, index: any, column: any) => {\r\n // console.log(item)\r\n return {item.user.fullName}\r\n },\r\n // item.totalDurations ? \r\n // {t(\"Total hours\")} \r\n // :\r\n // dateformat(new Date(item.clockInTime), 'ddd, mmm dS, yyyy'), //new Date(item.clockInTimeUtc).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 150,\r\n }];\r\n var diff = Math.abs(this.state.dateFrom.getTime() - this.state.dateTo.getTime());\r\n var diffDays = Math.ceil(diff / (1000 * 3600 * 24));\r\n const svgIconStyle: CSSProperties = { width: '11px', height: '14.2px' }\r\n for (var i = 0; i < diffDays; i++) {\r\n var date = new Date(Number(this.state.dateFrom) + 24 * 3600 * 1000 * i);\r\n var currentIndex = i.valueOf()\r\n columns.push({\r\n key: Number(date).toString(),\r\n name: dateformat(date, 'ddd mmm dS'),\r\n onRender: (item: any, index: any, column: any) => {\r\n if (item && item.days) {\r\n var findResult = item.days.find((d: any) => d.dateRef == column.key)\r\n if (findResult) {\r\n var { status, clockInTimes, clockOutTimes, leaveRequestView } = findResult \r\n if (status) {\r\n var backgroundColor = dayStatusColor.weekendWithOpacity\r\n var text = \"Week Day Off\"\r\n switch (status) {\r\n case UserStatus[UserStatus.Available]:\r\n backgroundColor = dayStatusColor.normalWithOpacity\r\n text = \"Available\"\r\n break\r\n case UserStatus[UserStatus.Abscent]:\r\n backgroundColor = dayStatusColor.abscentWithOpacity\r\n text = \"Abscent\"\r\n break\r\n case UserStatus[UserStatus.Leave]:\r\n case UserStatus[UserStatus.SickLeave]:\r\n backgroundColor = dayStatusColor.leaveWithOpacity\r\n text = \"Leave\"\r\n break\r\n case UserStatus[UserStatus.Holiday]:\r\n backgroundColor = dayStatusColor.holidayWithOpacity\r\n text = \"Holiday\"\r\n break\r\n case UserStatus[UserStatus.Weekend]:\r\n backgroundColor = dayStatusColor.weekendWithOpacity\r\n text = \"Week Day Off\"\r\n break\r\n case UserStatus[UserStatus.WorkingHoursNotFulfilled]:\r\n backgroundColor = dayStatusColor.workingHoursNotFulfilledWithOpacity\r\n text = \"Hours Not Fulfilled\"\r\n break\r\n case UserStatus[UserStatus.HalfDayLeave]:\r\n //backgroundColor = dayStatusColor.workingHoursNotFulfilledWithOpacity\r\n text = \"Half Day Leave\"\r\n break\r\n default:\r\n backgroundColor = dayStatusColor.weekendWithOpacity\r\n text = \"Future\"\r\n break\r\n }\r\n if (status == UserStatus.HalfDayLeave) {\r\n // var leaves = await (await LeaveApi.getLeaveRequestsPerUser(item.user.id)).payload.leaveRequests\r\n // leaves.map(leave => \r\n // {if(leave.fromHalfDay == true)\r\n // {\r\n // console.log(\"hi\") \r\n // }})\r\n if (leaveRequestView.fromHalfDay != undefined) {\r\n if (leaveRequestView.fromHalfDay == true) {\r\n return \r\n \r\n {clockInTimes && clockOutTimes && clockInTimes.length > 0 && clockOutTimes.length > 0 ?\r\n
\r\n {dateformat(clockInTimes[0], \"HH:MM\")}\r\n \r\n {\"->\"}\r\n {clockOutTimes[clockOutTimes.length - 1] ? dateformat(clockOutTimes[clockOutTimes.length - 1], \"HH:MM\") : \"\"}\r\n \r\n
:
{t(\"Not Clocked \")}
}\r\n
\r\n {text}\r\n
\r\n }\r\n else {\r\n return \r\n {text}\r\n \r\n {clockInTimes && clockOutTimes && clockInTimes.length > 0 && clockOutTimes.length > 0 ?\r\n
\r\n {dateformat(clockInTimes[0], \"HH:MM\")}\r\n \r\n {\"->\"}\r\n {clockOutTimes[clockOutTimes.length - 1] ? dateformat(clockOutTimes[clockOutTimes.length - 1], \"HH:MM\") : \"\"}\r\n \r\n
:
{t(\"Not Clocked \")}
}\r\n
\r\n
\r\n }\r\n }\r\n\r\n }\r\n else {\r\n return \r\n {text}\r\n {clockInTimes && clockOutTimes && clockInTimes.length > 0 && clockOutTimes.length > 0 ? \r\n {dateformat(clockInTimes[0], \"HH:MM\")}\r\n \r\n {\"->\"}\r\n {clockOutTimes[clockOutTimes.length - 1] ? dateformat(clockOutTimes[clockOutTimes.length - 1], \"HH:MM\") : \"\"}\r\n \r\n : null}\r\n \r\n }\r\n // return \r\n // {text}\r\n // {clockInTimes && clockOutTimes && clockInTimes.length > 0 && clockOutTimes.length > 0 ? \r\n // {dateformat(clockInTimes[0], \"HH:MM\")}\r\n // \r\n // {\"->\"}\r\n // {clockOutTimes[clockOutTimes.length -1] ? dateformat(clockOutTimes[clockOutTimes.length -1], \"HH:MM\") : \"\"}\r\n // \r\n // : null}\r\n // \r\n }\r\n }\r\n }\r\n return <>\r\n },\r\n // item.totalDurations ? \r\n // {t(\"Total hours\")} \r\n // :\r\n // dateformat(new Date(item.clockInTime), 'ddd, mmm dS, yyyy'), //new Date(item.clockInTimeUtc).toISOString().split('T')[0],\r\n minWidth: 120,\r\n maxWidth: 160,\r\n })\r\n }\r\n this.setState({ columns })\r\n }\r\n\r\n onChangeUser(ev: any, props: any) {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }\r\n clearAllUsers() {\r\n this.setState({\r\n selectedUsers: []\r\n }, () => {\r\n this.getBranches()\r\n this.getDepartments()\r\n })\r\n }\r\n\r\n onChangeCountry = async (ev: any, props: any) => {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allCountriesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allCountriesSelected) {\r\n var allCountriesList = this.state.countries.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedCountries: allCountriesList,\r\n selectedCountryNames: allCountriesList\r\n }, () => {\r\n this.filterData()\r\n });\r\n } else {\r\n this.setState({\r\n selectedCountries: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedCountries.map(((selectedCountry) => {\r\n names.push(selectedCountry.name)\r\n }))\r\n this.setState({ selectedCountryNames: names }, () => {\r\n this.filterData()\r\n })\r\n var countryIds: any[] = []\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n if (this.state.searchMethod == \"AND\") {\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n });\r\n }\r\n }\r\n clearAllCountries() {\r\n this.setState({\r\n selectedCountries: [],\r\n selectedCountryNames: []\r\n }, () => {\r\n this.filterData()\r\n this.getBranches()\r\n this.getDepartments()\r\n });\r\n }\r\n getBranches = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let branchesRequest: any = await getBranches(id as number);\r\n if (branchesRequest && branchesRequest.payload) {\r\n var i;\r\n for (i = 0; i < branchesRequest.payload.length; i++) {\r\n branchesRequest.payload[i].header = branchesRequest.payload[i]['name'];\r\n branchesRequest.payload[i].key = branchesRequest.payload[i]['id'];\r\n }\r\n branchesRequest.payload.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branchesRequest.payload })\r\n }\r\n }\r\n\r\n getDepartments = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let departmentsRequest: any = await getDepartments(id as number)\r\n if (departmentsRequest && departmentsRequest.payload) {\r\n var i;\r\n for (i = 0; i < departmentsRequest.payload.length; i++) {\r\n departmentsRequest.payload[i].header = departmentsRequest.payload[i]['name'];\r\n departmentsRequest.payload[i].key = departmentsRequest.payload[i]['id'];\r\n }\r\n departmentsRequest.payload.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departmentsRequest.payload })\r\n }\r\n }\r\n\r\n onChangeBranch(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allBranchesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allBranchesSelected) {\r\n var allBranchesList = this.state.branches.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedBranches: allBranchesList,\r\n selectedBrancheNames: [],\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedBranches: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedBranches.map(((selectedBranch) => {\r\n names.push(selectedBranch.name)\r\n }))\r\n this.setState({ selectedBrancheNames: names }, () => { this.filterData() })\r\n var branchIds: any[] = []\r\n if (this.state.searchMethod == \" AND\") {\r\n this.state.selectedBranches.map((branch) => { branchIds.push(branch.id) })\r\n this.getBranchesByDepartment(branchIds)\r\n }\r\n });\r\n }\r\n\r\n }\r\n clearAllBranches() {\r\n this.setState({\r\n selectedBranches: [],\r\n selectedBrancheNames: [],\r\n }, () => {\r\n this.filterData()\r\n if (this.state.selectedCountries != null && this.state.searchMethod == \"AND\") {\r\n var countryIds: any[] = []\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n else {\r\n this.getBranches();\r\n this.getDepartments();\r\n }\r\n });\r\n }\r\n onChangeDepartments(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allDepartmentsSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allDepartmentsSelected) {\r\n var allDepartmentsList = this.state.departments.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedDepartments: allDepartmentsList,\r\n selectedDepartmentNames: allDepartmentsList,\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedDepartments: [...props.value],\r\n\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedDepartments.map(((selectedDep) => {\r\n names.push(selectedDep.name)\r\n }))\r\n this.setState({ selectedDepartmentNames: names }, () => { this.filterData() })\r\n });\r\n }\r\n }\r\n\r\n clearAllDepartment() {\r\n this.setState({\r\n selectedDepartments: [],\r\n selectedDepartmentNames: [],\r\n }, () => { this.filterData() });\r\n }\r\n getBranchesDepartment = (countryIds: any[]) => {\r\n var users: any[] = []\r\n var branchNames: any[] = []\r\n var branches: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n countryIds.map((id) => {\r\n this.state.users.map((user) => {\r\n if (user.country != undefined) {\r\n if (user.country.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var branch = user.branch\r\n var department = user.department\r\n if (branch != null) {\r\n if (branchNames.length > 0) {\r\n if (!branchNames.includes(branch.name)) {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n else {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n\r\n for (var i = 0; i < branches.length; i++) {\r\n branches[i].header = branches[i]['name'];\r\n branches[i].key = branches[i]['id'];\r\n }\r\n branches.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branches })\r\n\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n getBranchesByDepartment = (branchIds: any[]) => {\r\n var users: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n branchIds.map((id) => {\r\n this.state.users_.map((user) => {\r\n if (user.branch != undefined) {\r\n if (user.branch.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var department = user.department\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n filterData() {\r\n this.state.searchMethod == \"AND\" ?\r\n this.setState({\r\n users_:\r\n this.state.users.filter(u =>\r\n ((this.state.selectedCountryNames.length == 0)\r\n || (u.country != undefined && this.state.selectedCountryNames.includes(u.country.name)))\r\n && ((this.state.selectedBrancheNames.length == 0)\r\n || (u.branch != undefined && this.state.selectedBrancheNames.includes(u.branch.name)))\r\n && ((this.state.selectedDepartmentNames.length == 0)\r\n || (u.department != undefined && this.state.selectedDepartmentNames.includes(u.department.name)))\r\n\r\n )\r\n }, () => { this.setState({ selectedUsers: this.state.users_ }) }) :\r\n this.setState({\r\n users_: this.state.users\r\n }, () => { this.setState({ selectedUsers: [] }) })\r\n }\r\n\r\n fetchData = async () => {\r\n const { t } = this.props\r\n this.setState({ loading: true, items: [], groups: [], offset: 0 });\r\n this.setColumns();\r\n\r\n // users dropdown\r\n if (this.state.users.length === 0) {\r\n let usersRequest: any = await AccountApi.GetUsers(this.props.user.company?.id ?? 0)\r\n\r\n var i;\r\n for (i = 0; i < usersRequest.payload.length; i++) {\r\n // usersRequest.payload[i].content = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].header = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].key = usersRequest.payload[i]['id'];\r\n // delete usersRequest.payload[i].key1;\r\n }\r\n usersRequest.payload.unshift({\r\n header: t(\"All Users\"),\r\n key: 0\r\n });\r\n this.setState({ users: usersRequest.payload, users_: usersRequest.payload })\r\n }\r\n\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\r\n if (this.state.departments.length == 0) {\r\n this.getDepartments()\r\n }\r\n\r\n if (this.state.branches.length == 0) {\r\n this.getBranches()\r\n }\r\n if (this.state.countries.length == 0) {\r\n let countriesRequest: any = await getUsersCountries(this.props.user.userId)\r\n if (countriesRequest && countriesRequest.payload) {\r\n var i;\r\n for (i = 0; i < countriesRequest.payload.length; i++) {\r\n countriesRequest.payload[i].header = countriesRequest.payload[i]['name'];\r\n countriesRequest.payload[i].key = countriesRequest.payload[i]['id'];\r\n }\r\n countriesRequest.payload.unshift({\r\n header: 'All Countries',\r\n key: 0\r\n });\r\n this.setState({ countries: countriesRequest.payload })\r\n }\r\n }\r\n\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n\r\n // report data\r\n // const { payload } = await ReportsApi.getShiftsPerUser({\r\n // userId : this.props.user.userId, \r\n // from : this.state.dateFrom, \r\n // to : this.state.dateTo, \r\n // userIds : selectedUsers.length > 0 ? selectedUsers : [this.props.user.userId]\r\n // });\r\n\r\n var from = new Date(this.state.dateFrom.getTime() - this.state.dateFrom.getTimezoneOffset() * 60 * 1000)\r\n var to = new Date(this.state.dateTo.getTime() - this.state.dateTo.getTimezoneOffset() * 60 * 1000)\r\n const { payload } = await ReportsApi.getUsersStatuses({\r\n userId: this.props.user.userId,\r\n from: from,\r\n to: to,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n });\r\n await this.tableDataGenerator(payload)\r\n this.setState({\r\n loading: false,\r\n // shiftsPayload: payload \r\n });\r\n };\r\n\r\n tableDataGenerator = async (payload: UsersStatusesReportView[]) => {\r\n // var {t} = this.props\r\n var diff = Math.abs(this.state.dateFrom.getTime() - this.state.dateTo.getTime());\r\n var diffDays = Math.ceil(diff / (1000 * 3600 * 24));\r\n let body: any[] = [];\r\n let groups: any[] = [];\r\n\r\n let currentUser = \"\";\r\n let currentUserIndex = -1;\r\n let shiftsCountPerUser = \"\";\r\n let firstUser = true;\r\n payload.map((userStatus, i) => {\r\n if (currentUser !== userStatus.user.id) {\r\n // if (!firstUser){\r\n // let row : RowInput = {\r\n // totalDurations: true,\r\n // totalWorkingDuration: payload[i - 1].totalWorkingDuration,\r\n // totalBreaksDuration: payload[i - 1].totalBreaksDuration,\r\n // totalOvertimeDuration: payload[i - 1].totalOvertimeDuration\r\n\r\n // };\r\n // body.push(row)\r\n // }\r\n\r\n // firstUser = false\r\n currentUser = userStatus.user.id\r\n currentUserIndex++\r\n // shiftsCountPerUser = payload.reduce(function(total,x){return x.user.id === currentUser ? total+1 : total}, 0);\r\n\r\n // var currentlyUnavailable = payload.some(shift => {\r\n // return shift.user.id && shift.isApproved && new Date(shift.startDate) <= new Date() && new Date(shift.endDate) >= new Date()\r\n // });\r\n\r\n // groups.push({ key: shift.user.id, \r\n // name: shift.user.fullName, \r\n // startIndex: body.length, \r\n // count: shiftsCountPerUser + 1, \r\n // level: 0 })\r\n body.push({ user: userStatus.user, days: [] as any[] })\r\n }\r\n if (userStatus) {\r\n // console.log(body, currentUserIndex)\r\n var dateRef = Number(new Date(Number(this.state.dateFrom) + 24 * 3600 * 1000 * body[currentUserIndex].days.length)).toString();\r\n var { status, clockInTimes, clockOutTimes, totalWorkHours, overtimeHours, date, leaveRequestView } = userStatus\r\n body[currentUserIndex].days.push({ status, clockInTimes, clockOutTimes, totalWorkHours, overtimeHours, date, dateRef, leaveRequestView })\r\n\r\n // let row : RowInput = { ...userStatus};\r\n // body.push(row)\r\n }\r\n return userStatus\r\n })\r\n\r\n // last user total durations\r\n // if(payload.length > 0){\r\n // var shift = payload[payload.length - 1]\r\n // let row : RowInput = {\r\n // totalDurations: true,\r\n // totalWorkingDuration: shift.totalWorkingDuration,\r\n // totalBreaksDuration: shift.totalBreaksDuration,\r\n // totalOvertimeDuration: shift.totalOvertimeDuration\r\n // };\r\n // body.push(row)\r\n // }\r\n\r\n this.setState({ items: body })\r\n }\r\n\r\n _onRenderGroupHeader: IDetailsGroupRenderProps['onRenderHeader'] = props => {\r\n // if (props?.group?.level == 0) {\r\n // return (\r\n // {`${props.group!.name}`}\r\n // );\r\n // }\r\n\r\n return ;\r\n };\r\n\r\n exportReport = async (format: string) => {\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n this.setState({ loading: true })\r\n var from = new Date(this.state.dateFrom.getTime() - this.state.dateFrom.getTimezoneOffset() * 60 * 1000)\r\n var to = new Date(this.state.dateTo.getTime() - this.state.dateTo.getTimezoneOffset() * 60 * 1000)\r\n await ReportsApi.exportUsersStatuses({\r\n userId: this.props.user.userId,\r\n from: from,\r\n to: to,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n }, format)\r\n this.setState({ loading: false })\r\n\r\n // const type = response.headers['content-type']\r\n // const blob = new Blob([response.data], { type: type, encoding: 'UTF-8' })\r\n // const link = document.createElement('a')\r\n // link.href = window.URL.createObjectURL(blob)\r\n // link.download = 'file.xlsx'\r\n // link.click()\r\n }\r\n\r\n onDateChange = (time: any, type: string) => {\r\n const timeSelected = new Date(time)\r\n timeSelected.setHours(0)\r\n if (type === 'from') {\r\n timeSelected.setHours(0)\r\n this.setState({ dateFrom: timeSelected })\r\n }\r\n else {\r\n timeSelected.setHours(19)\r\n this.setState({ dateTo: timeSelected })\r\n }\r\n }\r\n\r\n setShowFilters() {\r\n this.setState({\r\n showFilters: !this.state.showFilters\r\n })\r\n }\r\n setSearchMethod = (event: any) => {\r\n var searchMethod = event.target.value == undefined ? \"AND\" : event.target.value\r\n this.setState({ searchMethod: searchMethod }, () => { this.filterData() })\r\n }\r\n render() {\r\n const {\r\n loading,\r\n columns,\r\n items,\r\n count,\r\n offset,\r\n groups,\r\n } = this.state;\r\n\r\n const { t, user } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n main={t(\"Available\")} />\r\n \r\n )}\r\n main={t(\"Hours Not Fulfilled\")} />\r\n \r\n )}\r\n main={t(\"Absent\")} />\r\n \r\n )}\r\n main={t(\"Leave\")} />\r\n \r\n )}\r\n main={t(\"Holiday\")} />\r\n \r\n
\r\n
\r\n
\r\n )}\r\n main={t(\"Half Day Leave\")} />\r\n\r\n \r\n )}\r\n main={t(\"Week Day Off\")} />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(UsersStatuses as any) as any);","import React from 'react';\r\nimport {\r\n Flex, Button, Divider, Dropdown,\r\n Text,\r\n ExcelColorIcon,\r\n CloseIcon,\r\n FilesPdfColoredIcon,\r\n} from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, IDetailsGroupRenderProps, GroupHeader, Icon, Spinner, thProperties } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport Pagination from \"react-paginating\";\r\nimport { Branch, ClockingsPerUserPerDayView, Department, UserView } from \"../../../models\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport * as ReportsApi from \"../../../api/reports\";\r\nimport * as AccountApi from \"../../../api/account\";\r\nimport { RowInput } from 'jspdf-autotable'\r\n// // @ts-ignore\r\n// import DateTimePicker from 'react-datetime-picker/dist/entry.nostyle'\r\nimport './Clockings.scss'\r\nimport dateformat from 'dateformat';\r\nimport { getBranchDepartments, getBranches, getCountryBranches, getCountryDepartments, getDepartments } from '../../../api/Company';\r\nimport { getCountries, getUsersCountries } from '../../../api/Country';\r\nimport FilterAltOutlinedIcon from '@mui/icons-material/FilterAltOutlined';\r\nimport { ConsoleLogger } from '@microsoft/signalr/dist/esm/Utils';\r\nimport users from '../../users';\r\nimport { Checkbox } from '@fluentui/react-northstar';\r\nimport ReportsFilter from '../../../components/reportsFilter';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n columnNames: any[];\r\n items: any[];\r\n columns: IColumn[];\r\n count: number;\r\n offset: number;\r\n options: any;\r\n groups: any[];\r\n users: any[];\r\n users_: any[];\r\n dateFrom: Date;\r\n dateTo: Date;\r\n clockingsPayload: ClockingsPerUserPerDayView[][];\r\n selectedUsers: any[];\r\n branches: any[];\r\n departments: any[];\r\n countries: any[];\r\n selectedDepartments: any[];\r\n selectedBranches: any[];\r\n selectedCountries: any[];\r\n showFilters: boolean;\r\n ANDOR: boolean;\r\n loggedInUser: any,\r\n selectedDepartmentNames: any[],\r\n selectedBrancheNames: any[],\r\n selectedCountryNames: any[],\r\n searchMethod: string;\r\n}\r\n\r\n\r\n@inject(\"user\", \"ui\")\r\n@observer\r\nclass Clockings extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n var { t } = props;\r\n this.state = {\r\n searchMethod: \"AND\",\r\n loggedInUser: \"\",\r\n ANDOR: true,\r\n showFilters: false,\r\n loading: false,\r\n users: [],\r\n items: [],\r\n users_: [],\r\n selectedUsers: [],\r\n selectedDepartments: [],\r\n count: 5,\r\n offset: 0,\r\n clockingsPayload: [],\r\n branches: [],\r\n departments: [],\r\n countries: [],\r\n selectedCountries: [],\r\n selectedBranches: [],\r\n selectedDepartmentNames: [],\r\n selectedBrancheNames: [],\r\n selectedCountryNames: [],\r\n columnNames: [t('Day'), t('Clock Type'), t('Time'), t('Address'), t('Comment')],\r\n options: {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: true,\r\n },\r\n columns: [\r\n {\r\n key: \"Clock Type\",\r\n name: t(\"Clock Type\"),\r\n onRender: (item: any) => t(item.type),\r\n minWidth: 100,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"Time\",\r\n name: t(\"Time\"),\r\n onRender: (item: any) => dateformat(new Date(item.time), 'h:MM TT'), // new Date(item.time).toISOString().split('T')[1].split('.')[0],\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"Device\",\r\n name: t(\"Device\"),\r\n onRender: (item: any) => item.clientType ? t(item.clientType) : '',\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"Address\",\r\n name: t(\"Address\"),\r\n onRender: (item: any) => item.address ?? '',\r\n minWidth: 350,\r\n maxWidth: 600,\r\n },\r\n {\r\n key: \"Comment\",\r\n name: t(\"Comment\"),\r\n onRender: (item: any) => item.comments ?? '',\r\n minWidth: 250,\r\n maxWidth: 350,\r\n },\r\n ],\r\n groups: [],\r\n dateFrom: new Date(new Date().getFullYear(), 0, 1),\r\n dateTo: new Date()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n\r\n onChangeUser(ev: any, props: any) {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }\r\n clearAllUsers() {\r\n this.setState({\r\n selectedUsers: []\r\n }, () => {\r\n this.getBranches()\r\n this.getDepartments()\r\n })\r\n }\r\n\r\n\r\n onChangeCountry = async (ev: any, props: any) => {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allCountriesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allCountriesSelected) {\r\n var allCountriesList = this.state.countries.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedCountries: allCountriesList,\r\n selectedCountryNames: allCountriesList\r\n }, () => {\r\n this.filterData()\r\n });\r\n } else {\r\n this.setState({\r\n selectedCountries: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedCountries.map(((selectedCountry) => {\r\n names.push(selectedCountry.name)\r\n }))\r\n this.setState({ selectedCountryNames: names }, () => {\r\n this.filterData()\r\n })\r\n var countryIds: any[] = []\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n if (this.state.searchMethod == \"AND\") {\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearAllCountries() {\r\n this.setState({\r\n selectedCountries: [],\r\n selectedCountryNames: []\r\n }, () => {\r\n this.filterData()\r\n this.getBranches()\r\n this.getDepartments()\r\n });\r\n }\r\n\r\n getBranches = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let branchesRequest: any = await getBranches(id as number);\r\n if (branchesRequest && branchesRequest.payload) {\r\n var i;\r\n for (i = 0; i < branchesRequest.payload.length; i++) {\r\n branchesRequest.payload[i].header = branchesRequest.payload[i]['name'];\r\n branchesRequest.payload[i].key = branchesRequest.payload[i]['id'];\r\n }\r\n branchesRequest.payload.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branchesRequest.payload })\r\n }\r\n }\r\n\r\n getDepartments = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let departmentsRequest: any = await getDepartments(id as number)\r\n if (departmentsRequest && departmentsRequest.payload) {\r\n var i;\r\n for (i = 0; i < departmentsRequest.payload.length; i++) {\r\n departmentsRequest.payload[i].header = departmentsRequest.payload[i]['name'];\r\n departmentsRequest.payload[i].key = departmentsRequest.payload[i]['id'];\r\n }\r\n departmentsRequest.payload.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departmentsRequest.payload })\r\n }\r\n }\r\n onChangeBranch(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allBranchesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allBranchesSelected) {\r\n var allBranchesList = this.state.branches.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedBranches: allBranchesList,\r\n selectedBrancheNames: [],\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedBranches: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedBranches.map(((selectedBranch) => {\r\n names.push(selectedBranch.name)\r\n }))\r\n this.setState({ selectedBrancheNames: names }, () => { this.filterData() })\r\n var branchIds: any[] = []\r\n if (this.state.searchMethod == \" AND\") {\r\n this.state.selectedBranches.map((branch) => { branchIds.push(branch.id) })\r\n this.getBranchesByDepartment(branchIds)\r\n }\r\n });\r\n }\r\n\r\n }\r\n clearAllBranches() {\r\n this.setState({\r\n selectedBranches: [],\r\n selectedBrancheNames: [],\r\n }, () => {\r\n this.filterData()\r\n if (this.state.selectedCountries != null && this.state.searchMethod == \"AND\") {\r\n var countryIds: any[] = []\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n else {\r\n this.getBranches();\r\n this.getDepartments();\r\n }\r\n });\r\n }\r\n onChangeDepartments(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allDepartmentsSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allDepartmentsSelected) {\r\n var allDepartmentsList = this.state.departments.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedDepartments: allDepartmentsList,\r\n selectedDepartmentNames: allDepartmentsList,\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedDepartments: [...props.value],\r\n\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedDepartments.map(((selectedDep) => {\r\n names.push(selectedDep.name)\r\n }))\r\n this.setState({ selectedDepartmentNames: names }, () => { this.filterData() })\r\n });\r\n }\r\n }\r\n\r\n clearAllDepartment() {\r\n this.setState({\r\n selectedDepartments: [],\r\n selectedDepartmentNames: [],\r\n }, () => { this.filterData() });\r\n }\r\n\r\n getBranchesDepartment = (countryIds: any[]) => {\r\n var users: any[] = []\r\n var branchNames: any[] = []\r\n var branches: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n countryIds.map((id) => {\r\n this.state.users.map((user) => {\r\n if (user.country != undefined) {\r\n if (user.country.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var branch = user.branch\r\n var department = user.department\r\n if (branch != null) {\r\n if (branchNames.length > 0) {\r\n if (!branchNames.includes(branch.name)) {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n else {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n\r\n for (var i = 0; i < branches.length; i++) {\r\n branches[i].header = branches[i]['name'];\r\n branches[i].key = branches[i]['id'];\r\n }\r\n branches.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branches })\r\n\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n getBranchesByDepartment = (branchIds: any[]) => {\r\n var users: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n branchIds.map((id) => {\r\n this.state.users_.map((user) => {\r\n if (user.branch != undefined) {\r\n if (user.branch.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var department = user.department\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n\r\n filterData() {\r\n this.state.searchMethod == \"AND\" ?\r\n this.setState({\r\n users_:\r\n this.state.users.filter(u =>\r\n ((this.state.selectedCountryNames.length == 0)\r\n || (u.country != undefined && this.state.selectedCountryNames.includes(u.country.name)))\r\n && ((this.state.selectedBrancheNames.length == 0)\r\n || (u.branch != undefined && this.state.selectedBrancheNames.includes(u.branch.name)))\r\n && ((this.state.selectedDepartmentNames.length == 0)\r\n || (u.department != undefined && this.state.selectedDepartmentNames.includes(u.department.name)))\r\n\r\n )\r\n }, () => { this.setState({ selectedUsers: this.state.users_ }) }) :\r\n this.setState({\r\n users_: this.state.users\r\n }, () => { this.setState({ selectedUsers: [] }) })\r\n }\r\n\r\n\r\n fetchData = async () => {\r\n this.setState({ loading: true, items: [], groups: [], offset: 0 });\r\n\r\n var loggedInUser = await AccountApi.getUser(this.props.user.userId)\r\n this.setState({ loggedInUser: loggedInUser })\r\n\r\n if (this.state.users.length === 0) {\r\n let usersRequest: any = await AccountApi.GetUsers(this.props.user.company?.id ?? 0)\r\n if (usersRequest && usersRequest.payload) {\r\n var i;\r\n for (i = 0; i < usersRequest.payload.length; i++) {\r\n usersRequest.payload[i].header = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].key = usersRequest.payload[i]['id'];\r\n }\r\n usersRequest.payload.unshift({\r\n header: 'All Users',\r\n key: 0\r\n });\r\n this.setState({ users: usersRequest.payload, users_: usersRequest.payload })\r\n }\r\n }\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\r\n if (this.state.departments.length == 0) {\r\n this.getDepartments()\r\n }\r\n\r\n if (this.state.branches.length == 0) {\r\n this.getBranches()\r\n }\r\n if (this.state.countries.length == 0) {\r\n let countriesRequest: any = await getUsersCountries(this.props.user.userId)\r\n if (countriesRequest && countriesRequest.payload) {\r\n var i;\r\n for (i = 0; i < countriesRequest.payload.length; i++) {\r\n countriesRequest.payload[i].header = countriesRequest.payload[i]['name'];\r\n countriesRequest.payload[i].key = countriesRequest.payload[i]['id'];\r\n }\r\n countriesRequest.payload.unshift({\r\n header: 'All Countries',\r\n key: 0\r\n });\r\n this.setState({ countries: countriesRequest.payload })\r\n }\r\n }\r\n\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n\r\n\r\n const { payload } = await ReportsApi.getClockingsPerUserPerDay({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n });\r\n await this.tableDataGenerator(payload)\r\n\r\n this.setState({\r\n loading: false,\r\n clockingsPayload: payload\r\n });\r\n };\r\n\r\n tableDataGenerator = async (payload: any[]) => {\r\n // var {t} = this.props\r\n\r\n let body: any[] = [];\r\n let groups: any[] = [];\r\n\r\n\r\n let currentUser = \"\"\r\n payload.map((shift: any[]) => {\r\n if (shift.length > 0 && currentUser !== shift[0].userId) {\r\n currentUser = shift[0].userId\r\n groups.push({ key: shift[0].userId, name: shift[0].userFullName, startIndex: body.length, count: 0, level: 0 })\r\n }\r\n let currentDate = \"\"\r\n shift.map(clock => {\r\n if (clock) {\r\n let row: RowInput\r\n // const d = new Date(clock.time).toISOString().split('T')[0] + ' ' + new Date(clock.time).toISOString().split('T')[1].split('.')[0]\r\n // const d = new Date(clock.time).toISOString().split('T')[1].split('.')[0]\r\n if (currentDate !== new Date(clock.time).toISOString().split('T')[0]) {\r\n currentDate = new Date(clock.time).toISOString().split('T')[0]\r\n groups.push({ key: currentDate, name: currentDate, startIndex: body.length, count: shift.length, level: 1 })\r\n row = clock\r\n } else {\r\n row = clock\r\n }\r\n body.push(row)\r\n }\r\n return clock\r\n })\r\n return shift\r\n })\r\n this.setState({ items: body, groups })\r\n }\r\n\r\n setSearchMethod = (event: any) => {\r\n var searchMethod = event.target.value == undefined ? \"AND\" : event.target.value\r\n this.setState({ searchMethod: searchMethod }, () => {\r\n this.filterData()\r\n if (this.state.selectedCountries != null && this.state.searchMethod == \"AND\") {\r\n var countryIds: any[] = []\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n else if (this.state.selectedBranches != null && this.state.searchMethod == \"AND\") {\r\n var branchIds: any[] = []\r\n this.state.selectedBranches.map((branch) => { branchIds.push(branch.id) })\r\n this.getBranchesDepartment(branchIds)\r\n }\r\n else {\r\n this.getBranches()\r\n this.getDepartments()\r\n }\r\n })\r\n }\r\n _onRenderGroupHeader: IDetailsGroupRenderProps['onRenderHeader'] = props => {\r\n const { user } = this.props\r\n if (props?.group?.level === 0) {\r\n return (\r\n {`${props.group!.name}`}\r\n );\r\n }\r\n\r\n return ;\r\n };\r\n\r\n\r\n // jsPdfGenerator = async (payload : any[]) => {\r\n // var {t} = this.props\r\n // // Example From https://parall.ax/products/jspdf\r\n // var doc = new jsPDF({ filters: [\"ASCIIHexEncode\"], unit: 'px', orientation: 'p'});\r\n\r\n // // doc.addFont('Helvetica', '1', 'regular', 'WinAnsiEncoding', true);\r\n\r\n // doc.setFont('Arial Unicode MS')\r\n\r\n // doc.setLanguage(\"tr\")\r\n\r\n // let img = new Image();\r\n // const imageLoadPromise = new Promise(resolve => {\r\n // img.onload = resolve;\r\n // // img.src = 'https://cors-anywhere.herokuapp.com/' + this.props.user.companyLogo;\r\n // img.src = '/static/media/logo.ff86e377.png';\r\n // });\r\n\r\n // await imageLoadPromise;\r\n\r\n // var height = (100/img.width) * img.height\r\n\r\n // doc.addImage(img, 'PNG', 10,10,100, height)\r\n\r\n // doc.setFontSize(22);\r\n\r\n // const title = t('Clockings')\r\n // const titleXOffset = (doc.internal.pageSize.width / 2) - (doc.getStringUnitWidth(title) * doc.getFontSize() / 2);\r\n\r\n // doc.text(t('Clockings'), titleXOffset, 70, {})\r\n\r\n // doc.setFontSize(12);\r\n // const date = new Date().toDateString()\r\n // const dateXOffset = doc.internal.pageSize.width - (doc.internal.pageSize.width / 6) - (doc.getStringUnitWidth(title) * doc.getFontSize() / 2);\r\n\r\n // doc.text(date, dateXOffset, 50, { })\r\n // var body : RowInput[]= [];\r\n\r\n // // body.push([\r\n // // {content: '', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // // {content: '', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // // {content: '', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // // {content: 'شسيبفغقهغع', colSpan: 1, rowSpan: 1, styles: { }},\r\n // // {content: '', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // // ])\r\n\r\n // payload.map( (shift : any[]) => {\r\n // let currentDate = \"\"\r\n // shift.map( clock => {\r\n // if (clock){\r\n // let row : RowInput\r\n // // const d = new Date(clock.time).toISOString().split('T')[0] + ' ' + new Date(clock.time).toISOString().split('T')[1].split('.')[0]\r\n // const d = new Date(clock.time).toISOString().split('T')[1].split('.')[0]\r\n // if (currentDate != new Date(clock.time).toISOString().split('T')[0])\r\n // {\r\n // currentDate = new Date(clock.time).toISOString().split('T')[0]\r\n // row = [\r\n // {content: currentDate, colSpan: 1, rowSpan: shift.length, styles: { halign: 'center' }},\r\n // {content: clock.type, colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // {content: d, colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // {content: clock.address??'', colSpan: 1, rowSpan: 1, styles: { }},\r\n // {content: clock.comments??'', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // ]\r\n // } else {\r\n // row = [\r\n // {content: clock.type, colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // {content: d, colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // {content: clock.address??'', colSpan: 1, rowSpan: 1, styles: { }},\r\n // {content: clock.comments??'', colSpan: 1, rowSpan: 1, styles: { halign: 'center' }},\r\n // ]\r\n // }\r\n // body.push(row)\r\n // }\r\n // })\r\n // })\r\n\r\n // autoTable(doc, {\r\n // head: [[t('Day'), t('Clock Type'), t('Time'), t('Address'), t('Comment')]],\r\n // body: body,\r\n // startY: 120,\r\n\r\n // })\r\n\r\n // // Save the Data\r\n // doc.autoPrint({variant: 'non-conform'});\r\n // doc.save('report.pdf')\r\n // }\r\n\r\n exportReport = async (format: string) => {\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n\r\n await ReportsApi.exportClockingsPerUserPerDay({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n }, format)\r\n\r\n // const type = response.headers['content-type']\r\n // const blob = new Blob([response.data], { type: type, encoding: 'UTF-8' })\r\n // const link = document.createElement('a')\r\n // link.href = window.URL.createObjectURL(blob)\r\n // link.download = 'file.xlsx'\r\n // link.click()\r\n }\r\n\r\n onDateChange = (time: any, type: string) => {\r\n const timeSelected = new Date(time)\r\n if (type === 'from')\r\n this.setState({ dateFrom: timeSelected })\r\n else\r\n this.setState({ dateTo: timeSelected })\r\n }\r\n setShowFilters() {\r\n this.setState({\r\n showFilters: !this.state.showFilters\r\n })\r\n }\r\n render() {\r\n const {\r\n loading,\r\n columns,\r\n items,\r\n count,\r\n offset,\r\n groups\r\n } = this.state;\r\n\r\n const { t, user } = this.props\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n\r\n this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, hasNextPage, hasPreviousPage, nextPage, previousPage, totalPages, getPageItemProps }) => (\r\n
\r\n\r\n {(currentPage !== 1) && (\r\n \r\n )}\r\n\r\n {hasPreviousPage && (\r\n \r\n )}\r\n\r\n {pages.map((page) => (\r\n \r\n ))}\r\n\r\n {hasNextPage && (\r\n \r\n )}\r\n\r\n {(currentPage !== totalPages) && (\r\n \r\n )}\r\n\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Clockings as any) as any);","import React from 'react';\r\nimport {\r\n Flex, Button, Divider, Dropdown,\r\n Text,\r\n ExcelColorIcon,\r\n CloseIcon,\r\n FilesPdfColoredIcon,\r\n} from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, IDetailsGroupRenderProps, GroupHeader, Icon, Spinner } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport Pagination from \"react-paginating\";\r\nimport { BreakConfig, ShiftReportView } from \"../../../models\";\r\n\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport * as ReportsApi from \"../../../api/reports\";\r\nimport * as AccountApi from \"../../../api/account\";\r\nimport * as CompanyApi from \"../../../api/Company\";\r\nimport { RowInput } from 'jspdf-autotable'\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker/dist/entry.nostyle'\r\nimport './Shifts.scss'\r\nimport dateformat from 'dateformat';\r\nimport moment from 'moment';\r\nimport { gridSortModelSelector } from '@mui/x-data-grid';\r\nimport { getBranches, getDepartments } from '../../../api/Company';\r\nimport { getCountries, getUsersCountries } from '../../../api/Country';\r\nimport ReportsFilter from '../../../components/reportsFilter';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n columnNamesWithBreak: any[];\r\n columnNamesWithOutBreak: any[];\r\n items: any[];\r\n columnsWithBreak: IColumn[];\r\n columnsWithOutBreak: IColumn[];\r\n count: number;\r\n offset: number;\r\n groups: any[];\r\n users: any[];\r\n shiftsPayload: ShiftReportView[];\r\n selectedUsers: any[];\r\n breakConfig: BreakConfig;\r\n options: any;\r\n users_: any[];\r\n dateFrom: Date;\r\n dateTo: Date;\r\n branches: any[];\r\n departments: any[];\r\n countries: any[];\r\n selectedDepartments: any[];\r\n selectedBranches: any[];\r\n selectedCountries: any[];\r\n showFilters: boolean;\r\n ANDOR: boolean;\r\n loggedInUser: any,\r\n selectedDepartmentNames: any[],\r\n selectedBrancheNames: any[],\r\n selectedCountryNames: any[],\r\n searchMethod: string;\r\n\r\n\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Shifts extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n var { t } = props;\r\n this.state = {\r\n searchMethod: \"AND\",\r\n loggedInUser: \"\",\r\n ANDOR: true,\r\n showFilters: false,\r\n loading: false,\r\n users: [],\r\n items: [],\r\n users_: [],\r\n selectedUsers: [],\r\n selectedDepartments: [],\r\n count: 5,\r\n offset: 0,\r\n branches: [],\r\n departments: [],\r\n countries: [],\r\n selectedCountries: [],\r\n selectedBranches: [],\r\n selectedDepartmentNames: [],\r\n selectedBrancheNames: [],\r\n selectedCountryNames: [],\r\n shiftsPayload: [],\r\n columnNamesWithBreak: [t('Date'), t('Clock In'), t('Clock Out'), t('Work Duration'), t('Breaks Duration'), t(\"Overtime\")],\r\n columnNamesWithOutBreak: [t('Date'), t('Clock In'), t('Clock Out'), t('Breaks Duration'), t(\"Overtime\")],\r\n options: {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: true,\r\n },\r\n\r\n breakConfig: BreakConfig.NotRequired,\r\n columnsWithBreak: [\r\n {\r\n key: \"date\",\r\n name: t(\"Date\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n {t(\"Total hours\")} \r\n :\r\n dateformat(new Date(item.clockInTime), 'ddd, mmm dS, yyyy'), //new Date(item.clockInTimeUtc).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 140,\r\n },\r\n {\r\n key: \"clockIn\",\r\n name: t(\"Clock In\"),\r\n onRender: (item: any) => item.totalDurations ? \"\" : dateformat(new Date(item.clockInTime), 'h:MM TT'), //new Date(item.clockInTimeUtc).toISOString().split('T')[1].split('.')[0],\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"clockOut\",\r\n name: t(\"Clock Out\"),\r\n onRender: (item: any) => {\r\n if (item.totalDurations) {\r\n return \"\"\r\n } else {\r\n if (new Date(item.clockOutTime ?? new Date()).getDate() === new Date(item.clockInTime).getDate())\r\n return dateformat(new Date(item.clockOutTime ?? new Date()), 'h:MM TT') //.toISOString().split('T')[1].split('.')[0],\r\n else\r\n return dateformat(new Date(item.clockOutTime ?? new Date()), 'h:MM TT ddd, mmm dS, yyyy')\r\n }\r\n },\r\n minWidth: 150,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"workDuration\",\r\n name: t(\"Work Duration\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalWorkingDuration).asHours() * 10) / 10)}\r\n //(item.totalWorkingDuration.split('.').length) <= 2 ? item.totalWorkingDuration.split('.')[0] : item.totalWorkingDuration.split('.')[0] + ' days, ' + item.totalWorkingDuration.split('.')[1]\r\n )\r\n :\r\n (\r\n (item.workingDuration.split('.').length) <= 2 ? item.workingDuration.split('.')[0] : item.workingDuration.split('.')[0] + ' days, ' + item.workingDuration.split('.')[1]\r\n ),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"breakDuration\",\r\n name: t(\"Breaks Duration\"),\r\n onRender: (item: any) => {\r\n return item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalBreaksDuration).asHours() * 10) / 10)}\r\n //(item.totalBreaksDuration.split('.').length) <= 2 ? item.totalBreaksDuration.split('.')[0] : item.totalBreaksDuration.split('.')[0] + ' days, ' + item.totalBreaksDuration.split('.')[1]\r\n )\r\n :\r\n (\r\n (item.breaksDuration.split('.').length) <= 2 ? item.breaksDuration.split('.')[0] : item.breaksDuration.split('.')[0] + ' days, ' + item.breaksDuration.split('.')[1]\r\n )\r\n },\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"overtime\",\r\n name: t(\"Overtime\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalOvertimeDuration).asHours() * 10) / 10)}\r\n //(item.totalOvertimeDuration.split('.').length) <= 2 ? item.totalOvertimeDuration.split('.')[0] : item.totalOvertimeDuration.split('.')[0] + ' days, ' + item.totalOvertimeDuration.split('.')[1]\r\n )\r\n :\r\n (\r\n (item.overtimeDuration.split('.').length) <= 2 ? item.overtimeDuration.split('.')[0] : item.overtimeDuration.split('.')[0] + ' days, ' + item.overtimeDuration.split('.')[1]\r\n ),\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n ],\r\n columnsWithOutBreak: [\r\n {\r\n key: \"date\",\r\n name: t(\"Date\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n {t(\"Total hours\")} \r\n :\r\n dateformat(new Date(item.clockInTime), 'ddd, mmm dS, yyyy'), //new Date(item.clockInTimeUtc).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 140,\r\n },\r\n {\r\n key: \"clockIn\",\r\n name: t(\"Clock In\"),\r\n onRender: (item: any) => item.totalDurations ? \"\" : dateformat(new Date(item.clockInTime), 'h:MM TT'), //new Date(item.clockInTimeUtc).toISOString().split('T')[1].split('.')[0],\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"clockOut\",\r\n name: t(\"Clock Out\"),\r\n onRender: (item: any) => {\r\n if (item.totalDurations) {\r\n return \"\"\r\n } else {\r\n if (new Date(item.clockOutTime ?? new Date()).getDate() === new Date(item.clockInTime).getDate())\r\n return dateformat(new Date(item.clockOutTime ?? new Date()), 'h:MM TT') //.toISOString().split('T')[1].split('.')[0],\r\n else\r\n return dateformat(new Date(item.clockOutTime ?? new Date()), 'h:MM TT ddd, mmm dS, yyyy')\r\n }\r\n },\r\n minWidth: 150,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"workDuration\",\r\n name: t(\"Work Duration\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalWorkingDuration).asHours() * 10) / 10)}\r\n //(item.totalWorkingDuration.split('.').length) <= 2 ? item.totalWorkingDuration.split('.')[0] : item.totalWorkingDuration.split('.')[0] + ' days, ' + item.totalWorkingDuration.split('.')[1]\r\n )\r\n :\r\n (\r\n (item.workingDuration.split('.').length) <= 2 ? item.workingDuration.split('.')[0] : item.workingDuration.split('.')[0] + ' days, ' + item.workingDuration.split('.')[1]\r\n ),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"overtime\",\r\n name: t(\"Overtime\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalOvertimeDuration).asHours() * 10) / 10)}\r\n //(item.totalOvertimeDuration.split('.').length) <= 2 ? item.totalOvertimeDuration.split('.')[0] : item.totalOvertimeDuration.split('.')[0] + ' days, ' + item.totalOvertimeDuration.split('.')[1]\r\n )\r\n :\r\n (\r\n (item.overtimeDuration.split('.').length) <= 2 ? item.overtimeDuration.split('.')[0] : item.overtimeDuration.split('.')[0] + ' days, ' + item.overtimeDuration.split('.')[1]\r\n ),\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n ],\r\n groups: [],\r\n dateFrom: new Date(new Date().getFullYear(), 0, 1),\r\n dateTo: new Date()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getCompanyBreakConfig();\r\n this.fetchData();\r\n }\r\n\r\n getCompanyBreakConfig = async () => {\r\n var breakConfig = (await CompanyApi.getCompanyRules(this.props.user.company?.id as number)).payload.breakConfig;\r\n this.setState({ breakConfig: breakConfig }, () => { console.log(this.state.breakConfig) });\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n onChangeUser(ev: any, props: any) {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }\r\n clearAllUsers() {\r\n this.setState({\r\n selectedUsers: []\r\n }, () => {\r\n this.getBranches()\r\n this.getDepartments()\r\n })\r\n }\r\n\r\n onChangeCountry = async (ev: any, props: any) => {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allCountriesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allCountriesSelected) {\r\n var allCountriesList = this.state.countries.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedCountries: allCountriesList,\r\n selectedCountryNames: allCountriesList\r\n }, () => {\r\n this.filterData()\r\n });\r\n } else {\r\n this.setState({\r\n selectedCountries: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedCountries.map(((selectedCountry) => {\r\n names.push(selectedCountry.name)\r\n }))\r\n this.setState({ selectedCountryNames: names }, () => {\r\n this.filterData()\r\n })\r\n var countryIds: any[] = []\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n if (this.state.searchMethod == \"AND\") {\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n });\r\n }\r\n }\r\n clearAllCountries() {\r\n this.setState({\r\n selectedCountries: [],\r\n selectedCountryNames: []\r\n }, () => {\r\n this.filterData()\r\n this.getBranches()\r\n this.getDepartments()\r\n });\r\n }\r\n getBranches = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let branchesRequest: any = await getBranches(id as number);\r\n if (branchesRequest && branchesRequest.payload) {\r\n var i;\r\n for (i = 0; i < branchesRequest.payload.length; i++) {\r\n branchesRequest.payload[i].header = branchesRequest.payload[i]['name'];\r\n branchesRequest.payload[i].key = branchesRequest.payload[i]['id'];\r\n }\r\n branchesRequest.payload.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branchesRequest.payload })\r\n }\r\n }\r\n\r\n getDepartments = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let departmentsRequest: any = await getDepartments(id as number)\r\n if (departmentsRequest && departmentsRequest.payload) {\r\n var i;\r\n for (i = 0; i < departmentsRequest.payload.length; i++) {\r\n departmentsRequest.payload[i].header = departmentsRequest.payload[i]['name'];\r\n departmentsRequest.payload[i].key = departmentsRequest.payload[i]['id'];\r\n }\r\n departmentsRequest.payload.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departmentsRequest.payload })\r\n }\r\n }\r\n onChangeBranch(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allBranchesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allBranchesSelected) {\r\n var allBranchesList = this.state.branches.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedBranches: allBranchesList,\r\n selectedBrancheNames: [],\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedBranches: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedBranches.map(((selectedBranch) => {\r\n names.push(selectedBranch.name)\r\n }))\r\n this.setState({ selectedBrancheNames: names }, () => { this.filterData() })\r\n var branchIds: any[] = []\r\n if (this.state.searchMethod == \" AND\") {\r\n this.state.selectedBranches.map((branch) => { branchIds.push(branch.id) })\r\n this.getBranchesByDepartment(branchIds)\r\n }\r\n });\r\n }\r\n\r\n }\r\n clearAllBranches() {\r\n this.setState({\r\n selectedBranches: [],\r\n selectedBrancheNames: [],\r\n }, () => {\r\n this.filterData()\r\n if (this.state.selectedCountries != null && this.state.searchMethod == \"AND\") {\r\n var countryIds: any[] = []\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n else {\r\n this.getBranches();\r\n this.getDepartments();\r\n }\r\n });\r\n }\r\n onChangeDepartments(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allDepartmentsSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allDepartmentsSelected) {\r\n var allDepartmentsList = this.state.departments.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedDepartments: allDepartmentsList,\r\n selectedDepartmentNames: allDepartmentsList,\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedDepartments: [...props.value],\r\n\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedDepartments.map(((selectedDep) => {\r\n names.push(selectedDep.name)\r\n }))\r\n this.setState({ selectedDepartmentNames: names }, () => { this.filterData() })\r\n });\r\n }\r\n }\r\n\r\n clearAllDepartment() {\r\n this.setState({\r\n selectedDepartments: [],\r\n selectedDepartmentNames: [],\r\n }, () => { this.filterData() });\r\n }\r\n getBranchesDepartment = (countryIds: any[]) => {\r\n var users: any[] = []\r\n var branchNames: any[] = []\r\n var branches: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n countryIds.map((id) => {\r\n this.state.users.map((user) => {\r\n if (user.country != undefined) {\r\n if (user.country.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var branch = user.branch\r\n var department = user.department\r\n if (branch != null) {\r\n if (branchNames.length > 0) {\r\n if (!branchNames.includes(branch.name)) {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n else {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n\r\n for (var i = 0; i < branches.length; i++) {\r\n branches[i].header = branches[i]['name'];\r\n branches[i].key = branches[i]['id'];\r\n }\r\n branches.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branches })\r\n\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n getBranchesByDepartment = (branchIds: any[]) => {\r\n var users: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n branchIds.map((id) => {\r\n this.state.users_.map((user) => {\r\n if (user.branch != undefined) {\r\n if (user.branch.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var department = user.department\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n filterData() {\r\n this.state.searchMethod == \"AND\" ?\r\n this.setState({\r\n users_:\r\n this.state.users.filter(u =>\r\n ((this.state.selectedCountryNames.length == 0)\r\n || (u.country != undefined && this.state.selectedCountryNames.includes(u.country.name)))\r\n && ((this.state.selectedBrancheNames.length == 0)\r\n || (u.branch != undefined && this.state.selectedBrancheNames.includes(u.branch.name)))\r\n && ((this.state.selectedDepartmentNames.length == 0)\r\n || (u.department != undefined && this.state.selectedDepartmentNames.includes(u.department.name)))\r\n\r\n )\r\n }, () => { this.setState({ selectedUsers: this.state.users_ }, () => { console.log(\"AND\") }) }) :\r\n this.setState({\r\n users_: this.state.users\r\n }, () => { this.setState({ selectedUsers: [] }) })\r\n }\r\n\r\n fetchData = async () => {\r\n const { t } = this.props\r\n this.setState({ loading: true, items: [], groups: [], offset: 0 });\r\n\r\n // users dropdown\r\n if (this.state.users.length === 0) {\r\n let usersRequest: any = await AccountApi.GetUsers(this.props.user.company?.id ?? 0)\r\n\r\n var i;\r\n for (i = 0; i < usersRequest.payload.length; i++) {\r\n // usersRequest.payload[i].content = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].header = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].key = usersRequest.payload[i]['id'];\r\n // delete usersRequest.payload[i].key1;\r\n }\r\n usersRequest.payload.unshift({\r\n header: t(\"All Users\"),\r\n key: 0\r\n });\r\n this.setState({ users: usersRequest.payload, users_: usersRequest.payload })\r\n }\r\n\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\r\n if (this.state.departments.length == 0) {\r\n this.getDepartments()\r\n }\r\n\r\n if (this.state.branches.length == 0) {\r\n this.getBranches()\r\n }\r\n if (this.state.countries.length == 0) {\r\n let countriesRequest: any = await getUsersCountries(this.props.user.userId)\r\n if (countriesRequest && countriesRequest.payload) {\r\n var i;\r\n for (i = 0; i < countriesRequest.payload.length; i++) {\r\n countriesRequest.payload[i].header = countriesRequest.payload[i]['name'];\r\n countriesRequest.payload[i].key = countriesRequest.payload[i]['id'];\r\n }\r\n countriesRequest.payload.unshift({\r\n header: 'All Countries',\r\n key: 0\r\n });\r\n this.setState({ countries: countriesRequest.payload })\r\n }\r\n }\r\n\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n\r\n // report data\r\n const { payload } = await ReportsApi.getShiftsPerUser({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers,\r\n departmentIds:selectedDepartments,\r\n countryIds:selectedCountries,\r\n branchIds:selectedBranches,\r\n searchMethod:this.state.searchMethod,\r\n });\r\n\r\n await this.tableDataGenerator(payload)\r\n\r\n this.setState({\r\n loading: false,\r\n shiftsPayload: payload\r\n });\r\n };\r\n\r\n tableDataGenerator = async (payload: any[]) => {\r\n // var {t} = this.props\r\n\r\n let body: any[] = [];\r\n let groups: any[] = [];\r\n\r\n let currentUser = \"\";\r\n let shiftsCountPerUser = \"\";\r\n let firstUser = true;\r\n payload.map((shift, i) => {\r\n if (currentUser !== shift.user.id) {\r\n if (!firstUser) {\r\n if (this.state.breakConfig == BreakConfig.Required) {\r\n let row: RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: payload[i - 1].totalWorkingDuration,\r\n totalBreaksDuration: payload[i - 1].totalBreaksDuration,\r\n totalOvertimeDuration: payload[i - 1].totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n else {\r\n let row: RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: payload[i - 1].totalWorkingDuration,\r\n totalOvertimeDuration: payload[i - 1].totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n }\r\n firstUser = false\r\n currentUser = shift.user.id\r\n shiftsCountPerUser = payload.reduce(function (total, x) { return x.user.id === currentUser ? total + 1 : total }, 0);\r\n\r\n // var currentlyUnavailable = payload.some(shift => {\r\n // return shift.user.id && shift.isApproved && new Date(shift.startDate) <= new Date() && new Date(shift.endDate) >= new Date()\r\n // });\r\n\r\n groups.push({\r\n key: shift.user.id,\r\n name: shift.user.fullName,\r\n startIndex: body.length,\r\n count: shiftsCountPerUser + 1,\r\n level: 0\r\n })\r\n }\r\n if (shift) {\r\n let row: RowInput = shift;\r\n body.push(row)\r\n }\r\n return shift\r\n })\r\n\r\n // last user total durations\r\n if (payload.length > 0) {\r\n if (this.state.breakConfig == BreakConfig.Required) {\r\n var shift = payload[payload.length - 1]\r\n let row: RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: shift.totalWorkingDuration,\r\n totalBreaksDuration: shift.totalBreaksDuration,\r\n totalOvertimeDuration: shift.totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n else {\r\n var shift = payload[payload.length - 1]\r\n let row: RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: shift.totalWorkingDuration,\r\n totalOvertimeDuration: shift.totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n }\r\n this.setState({ items: body, groups })\r\n }\r\n\r\n _onRenderGroupHeader: IDetailsGroupRenderProps['onRenderHeader'] = props => {\r\n // if (props?.group?.level == 0) {\r\n // return (\r\n // {`${props.group!.name}`}\r\n // );\r\n // }\r\n\r\n return ;\r\n };\r\n\r\n exportReport = async (format: string) => {\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n\r\n await ReportsApi.exportShiftsPerUser({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers.length > 0 ? selectedUsers : [this.props.user.userId],\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n }, format)\r\n\r\n // const type = response.headers['content-type']\r\n // const blob = new Blob([response.data], { type: type, encoding: 'UTF-8' })\r\n // const link = document.createElement('a')\r\n // link.href = window.URL.createObjectURL(blob)\r\n // link.download = 'file.xlsx'\r\n // link.click()\r\n }\r\n\r\n onDateChange = (time: any, type: string) => {\r\n const timeSelected = new Date(time)\r\n console.log(timeSelected)\r\n if (type === 'from')\r\n this.setState({ dateFrom: timeSelected })\r\n else\r\n this.setState({ dateTo: timeSelected })\r\n }\r\n setShowFilters() {\r\n this.setState({\r\n showFilters: !this.state.showFilters\r\n })\r\n }\r\n setSearchMethod = (event: any) => {\r\n var searchMethod = event.target.value == undefined ? \"AND\" : event.target.value\r\n this.setState({ searchMethod: searchMethod }, () => { this.filterData() })\r\n }\r\n render() {\r\n const {\r\n loading,\r\n columnsWithBreak,\r\n columnsWithOutBreak,\r\n items,\r\n count,\r\n offset,\r\n groups,\r\n } = this.state;\r\n\r\n const { t, user } = this.props\r\n\r\n return (\r\n \r\n {/* \r\n \r\n \r\n \r\n {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }}\r\n />\r\n {this.state.selectedUsers.length > 0 ? : <>}\r\n \r\n \r\n \r\n \r\n this.onDateChange(e, 'from')}\r\n value={this.state.dateFrom}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n this.onDateChange(e, 'to')}\r\n value={this.state.dateTo}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n\r\n this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, hasNextPage, hasPreviousPage, nextPage, previousPage, totalPages, getPageItemProps }) => (\r\n
\r\n\r\n {(currentPage !== 1) && (\r\n \r\n )}\r\n\r\n {hasPreviousPage && (\r\n \r\n )}\r\n\r\n {pages.map((page) => (\r\n \r\n ))}\r\n\r\n {hasNextPage && (\r\n \r\n )}\r\n\r\n {(currentPage !== totalPages) && (\r\n \r\n )}\r\n\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Shifts as any) as any);","import React from 'react';\r\nimport {\r\n Flex, Button, Divider, Dropdown,\r\n Text,\r\n ExcelColorIcon,\r\n CloseIcon,\r\n FilesPdfColoredIcon,\r\n} from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, IDetailsGroupRenderProps, GroupHeader, Icon, Spinner } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport Pagination from \"react-paginating\";\r\nimport { LeavesReportView } from \"../../../models\";\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport * as ReportsApi from \"../../../api/reports\";\r\nimport * as AccountApi from \"../../../api/account\";\r\nimport { RowInput } from 'jspdf-autotable'\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker/dist/entry.nostyle'\r\nimport './Leaves.scss'\r\nimport dateformat from 'dateformat';\r\nimport ReportsFilter from '../../../components/reportsFilter';\r\nimport { getBranches, getDepartments } from '../../../api/Company';\r\nimport { getCountries, getUsersCountries } from '../../../api/Country';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n columnNames: any[];\r\n items: any[];\r\n columns: IColumn[];\r\n count: number;\r\n offset: number;\r\n options: any;\r\n groups: any[];\r\n users: any[];\r\n dateFrom: Date;\r\n dateTo: Date;\r\n leavesPayload: LeavesReportView[];\r\n selectedUsers: any[];\r\n users_: any[];\r\n branches: any[];\r\n departments: any[];\r\n countries: any[];\r\n selectedDepartments: any[];\r\n selectedBranches: any[];\r\n selectedCountries: any[];\r\n showFilters: boolean;\r\n ANDOR: boolean;\r\n loggedInUser: any,\r\n selectedDepartmentNames: any[],\r\n selectedBrancheNames: any[],\r\n selectedCountryNames: any[],\r\n searchMethod: string;\r\n}\r\n\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Leaves extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n var { t } = props;\r\n this.state = {\r\n searchMethod: \"AND\",\r\n loggedInUser: \"\",\r\n showFilters: false,\r\n ANDOR: true,\r\n loading: false,\r\n users: [],\r\n users_: [],\r\n selectedUsers: [],\r\n selectedDepartments: [],\r\n count: 5,\r\n offset: 0,\r\n leavesPayload: [],\r\n branches: [],\r\n departments: [],\r\n countries: [],\r\n selectedCountries: [],\r\n selectedBranches: [],\r\n selectedDepartmentNames: [],\r\n selectedCountryNames: [],\r\n selectedBrancheNames: [],\r\n columnNames: [t(\"Leave type\"), t('Start'), t('End'), t(\"Is Approved\"), t('Comment'), t(\"Supervisor\"), t(\"Supervisor Comment\")],\r\n options: {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: true,\r\n },\r\n items: [],\r\n columns: [\r\n {\r\n key: \"Leave type\",\r\n name: t(\"Leave type\"),\r\n onRender: (item: any) => item.leaveType,\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"start\",\r\n name: t(\"Start\"),\r\n onRender: (item: any) => dateformat(new Date(item.startDate), 'ddd, mmm dS, yyyy'),// new Date(item.startDate).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"end\",\r\n name: t(\"End\"),\r\n onRender: (item: any) => dateformat(new Date(item.endDate), 'ddd, mmm dS, yyyy'),// new Date(item.endDate).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 140,\r\n },\r\n {\r\n key: \"approved\",\r\n name: t(\"Is Approved\"),\r\n onRender: (item: any) => item.isApproved ? t('Yes') : t('No'),\r\n minWidth: 100,\r\n maxWidth: 150,\r\n },\r\n {\r\n key: \"Comment\",\r\n name: t(\"Comment\"),\r\n onRender: (item: any) => (item.comments\r\n ? \r\n : ),\r\n minWidth: 250,\r\n maxWidth: 350,\r\n },\r\n {\r\n key: \"Supervisor\",\r\n name: t(\"Supervisor\"),\r\n onRender: (item: any) => (item.supervisor\r\n ? \r\n : ),\r\n minWidth: 250,\r\n maxWidth: 350,\r\n },\r\n {\r\n key: \"Supervisor Comment\",\r\n name: t(\"Supervisor Comments\"),\r\n onRender: (item: any) => (item.supervisorComments\r\n ? \r\n : ),\r\n minWidth: 250,\r\n maxWidth: 350,\r\n },\r\n {\r\n key: \"Attached Documents\",\r\n name: t(\"Attached Documents\"),\r\n onRender: (item: any) => (\r\n ),\r\n minWidth: 250,\r\n maxWidth: 350,\r\n }\r\n ],\r\n groups: [],\r\n dateFrom: new Date(),\r\n dateTo: new Date(new Date().getFullYear(), 11, 30)\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n\r\n onChangeUser(ev: any, props: any) {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }\r\n clearAllUsers() {\r\n this.setState({\r\n selectedUsers: []\r\n })\r\n }\r\n onChangeCountry = async (ev: any, props: any) => {\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allCountriesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allCountriesSelected) {\r\n var allCountriesList = this.state.countries.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedCountries: allCountriesList,\r\n selectedCountryNames: allCountriesList\r\n }, () => {\r\n this.filterData()\r\n });\r\n } else {\r\n this.setState({\r\n selectedCountries: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedCountries.map(((selectedCountry) => {\r\n names.push(selectedCountry.name)\r\n }))\r\n this.setState({ selectedCountryNames: names }, () => {\r\n this.filterData()\r\n })\r\n var countryIds: any[] = []\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n if (this.state.searchMethod == \"AND\") {\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearAllCountries() {\r\n this.setState({\r\n selectedCountries: [],\r\n selectedCountryNames: []\r\n }, () => {\r\n this.filterData()\r\n this.getBranches()\r\n this.getDepartments()\r\n });\r\n }\r\n getBranches = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let branchesRequest: any = await getBranches(id as number);\r\n if (branchesRequest && branchesRequest.payload) {\r\n var i;\r\n for (i = 0; i < branchesRequest.payload.length; i++) {\r\n branchesRequest.payload[i].header = branchesRequest.payload[i]['name'];\r\n branchesRequest.payload[i].key = branchesRequest.payload[i]['id'];\r\n }\r\n branchesRequest.payload.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branchesRequest.payload })\r\n }\r\n }\r\n\r\n getDepartments = async () => {\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n let departmentsRequest: any = await getDepartments(id as number)\r\n if (departmentsRequest && departmentsRequest.payload) {\r\n var i;\r\n for (i = 0; i < departmentsRequest.payload.length; i++) {\r\n departmentsRequest.payload[i].header = departmentsRequest.payload[i]['name'];\r\n departmentsRequest.payload[i].key = departmentsRequest.payload[i]['id'];\r\n }\r\n departmentsRequest.payload.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departmentsRequest.payload })\r\n }\r\n }\r\n onChangeBranch(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allBranchesSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allBranchesSelected) {\r\n var allBranchesList = this.state.branches.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedBranches: allBranchesList,\r\n selectedBrancheNames: [],\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedBranches: [...props.value]\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedBranches.map(((selectedBranch) => {\r\n names.push(selectedBranch.name)\r\n }))\r\n this.setState({ selectedBrancheNames: names }, () => { this.filterData() })\r\n var branchIds: any[] = []\r\n if (this.state.searchMethod == \" AND\") {\r\n this.state.selectedBranches.map((branch) => { branchIds.push(branch.id) })\r\n this.getBranchesByDepartment(branchIds)\r\n }\r\n });\r\n }\r\n\r\n }\r\n clearAllBranches() {\r\n this.setState({\r\n selectedBranches: [],\r\n selectedBrancheNames: [],\r\n }, () => {\r\n this.filterData()\r\n if (this.state.selectedCountries != null && this.state.searchMethod == \"AND\") {\r\n var countryIds: any[] = []\r\n this.state.selectedCountries.map((country) => { countryIds.push(country.id) })\r\n this.getBranchesDepartment(countryIds)\r\n }\r\n else {\r\n this.getBranches();\r\n this.getDepartments();\r\n }\r\n });\r\n }\r\n onChangeDepartments(ev: any, props: any) {\r\n\r\n var filteredList = props.value.find((i: any) => i.key === 0);\r\n var allDepartmentsSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allDepartmentsSelected) {\r\n var allDepartmentsList = this.state.departments.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedDepartments: allDepartmentsList,\r\n selectedDepartmentNames: allDepartmentsList,\r\n }, () => { this.filterData() });\r\n } else {\r\n this.setState({\r\n selectedDepartments: [...props.value],\r\n\r\n }, () => {\r\n\r\n var names: string[] = []\r\n this.state.selectedDepartments.map(((selectedDep) => {\r\n names.push(selectedDep.name)\r\n }))\r\n this.setState({ selectedDepartmentNames: names }, () => { this.filterData() })\r\n });\r\n }\r\n }\r\n clearAllDepartment() {\r\n this.setState({\r\n selectedDepartments: [],\r\n selectedDepartmentNames: [],\r\n }, () => { this.filterData() });\r\n }\r\n getBranchesDepartment = (countryIds: any[]) => {\r\n var users: any[] = []\r\n var branchNames: any[] = []\r\n var branches: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n countryIds.map((id) => {\r\n this.state.users.map((user) => {\r\n if (user.country != undefined) {\r\n if (user.country.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var branch = user.branch\r\n var department = user.department\r\n if (branch != null) {\r\n if (branchNames.length > 0) {\r\n if (!branchNames.includes(branch.name)) {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n else {\r\n branchNames.push(branch.name)\r\n branches.push(branch)\r\n }\r\n }\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n\r\n for (var i = 0; i < branches.length; i++) {\r\n branches[i].header = branches[i]['name'];\r\n branches[i].key = branches[i]['id'];\r\n }\r\n branches.unshift({\r\n header: 'All Branches',\r\n key: 0\r\n });\r\n this.setState({ branches: branches })\r\n\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n getBranchesByDepartment = (branchIds: any[]) => {\r\n var users: any[] = []\r\n var departmentNames: any[] = []\r\n var departments: any[] = []\r\n branchIds.map((id) => {\r\n this.state.users_.map((user) => {\r\n if (user.branch != undefined) {\r\n if (user.branch.id == id) {\r\n users.push(user);\r\n }\r\n }\r\n })\r\n })\r\n users.forEach(user => {\r\n var department = user.department\r\n if (department != null) {\r\n if (departmentNames.length > 0) {\r\n if (!departmentNames.includes(department.name)) {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n else {\r\n departmentNames.push(department.name)\r\n departments.push(department)\r\n }\r\n }\r\n });\r\n for (var i = 0; i < departments.length; i++) {\r\n departments[i].header = departments[i]['name'];\r\n departments[i].key = departments[i]['id'];\r\n }\r\n departments.unshift({\r\n header: 'All Departments',\r\n key: 0\r\n });\r\n this.setState({ departments: departments })\r\n }\r\n filterData() {\r\n this.state.searchMethod == \"AND\" ?\r\n this.setState({\r\n users_:\r\n this.state.users.filter(u =>\r\n ((this.state.selectedCountryNames.length == 0)\r\n || (u.country != undefined && this.state.selectedCountryNames.includes(u.country.name)))\r\n && ((this.state.selectedBrancheNames.length == 0)\r\n || (u.branch != undefined && this.state.selectedBrancheNames.includes(u.branch.name)))\r\n && ((this.state.selectedDepartmentNames.length == 0)\r\n || (u.department != undefined && this.state.selectedDepartmentNames.includes(u.department.name)))\r\n\r\n )\r\n }, () => { this.setState({ selectedUsers: this.state.users_ }) }) :\r\n this.setState({\r\n users_: this.state.users\r\n }, () => { this.setState({ selectedUsers: [] }) })\r\n }\r\n fetchData = async () => {\r\n const { t } = this.props\r\n this.setState({ loading: true, items: [], groups: [], offset: 0 });\r\n\r\n // users dropdown\r\n if (this.state.users.length === 0) {\r\n let usersRequest: any = await AccountApi.GetUsers(this.props.user.company?.id ?? 0)\r\n\r\n var i;\r\n for (i = 0; i < usersRequest.payload.length; i++) {\r\n // usersRequest.payload[i].content = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].header = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].key = usersRequest.payload[i]['id'];\r\n // delete usersRequest.payload[i].key1;\r\n }\r\n usersRequest.payload.unshift({\r\n header: t(\"All Users\"),\r\n key: 0\r\n });\r\n this.setState({ users: usersRequest.payload, users_: usersRequest.payload })\r\n }\r\n const id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\r\n if (this.state.departments.length == 0) {\r\n this.getDepartments()\r\n }\r\n\r\n if (this.state.branches.length == 0) {\r\n this.getBranches()\r\n }\r\n if (this.state.countries.length == 0) {\r\n let countriesRequest: any = await getUsersCountries(this.props.user.userId)\r\n if (countriesRequest && countriesRequest.payload) {\r\n var i;\r\n for (i = 0; i < countriesRequest.payload.length; i++) {\r\n countriesRequest.payload[i].header = countriesRequest.payload[i]['name'];\r\n countriesRequest.payload[i].key = countriesRequest.payload[i]['id'];\r\n }\r\n countriesRequest.payload.unshift({\r\n header: 'All Countries',\r\n key: 0\r\n });\r\n this.setState({ countries: countriesRequest.payload })\r\n }\r\n }\r\n\r\n\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n // report data\r\n const { payload } = await ReportsApi.getLeavesPerUser({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n });\r\n await this.tableDataGenerator(payload)\r\n\r\n this.setState({\r\n loading: false,\r\n leavesPayload: payload\r\n });\r\n };\r\n\r\n tableDataGenerator = async (payload: any[]) => {\r\n var { t } = this.props\r\n\r\n let body: any[] = [];\r\n let groups: any[] = [];\r\n\r\n let currentUser = \"\";\r\n let leavesCountPerUser = \"\";\r\n payload.map(leave => {\r\n if (currentUser !== leave.user.id) {\r\n currentUser = leave.user.id\r\n leavesCountPerUser = payload.reduce(function (total, x) { return x.user.id === currentUser ? total + 1 : total }, 0);\r\n\r\n var currentlyUnavailable = payload.some(leave => {\r\n return leave.user.id && leave.isApproved && new Date(leave.startDate) <= new Date() && new Date(leave.endDate) >= new Date()\r\n });\r\n\r\n groups.push({\r\n key: leave.user.id,\r\n name: leave.user.fullName + (currentlyUnavailable ? \" (\" + t(\"Unavailable\") + \")\" : \"\"),\r\n startIndex: body.length, count: leavesCountPerUser, level: 0\r\n })\r\n }\r\n if (leave) {\r\n let row: RowInput = leave;\r\n\r\n body.push(row)\r\n }\r\n return leave\r\n })\r\n this.setState({ items: body, groups })\r\n }\r\n setSearchMethod = (event: any) => {\r\n var searchMethod = event.target.value == undefined ? \"AND\" : event.target.value\r\n this.setState({ searchMethod: searchMethod }, () => { this.filterData() })\r\n }\r\n\r\n _onRenderGroupHeader: IDetailsGroupRenderProps['onRenderHeader'] = props => {\r\n // if (props?.group?.level == 0) {\r\n // return (\r\n // {`${props.group!.name}`}\r\n // );\r\n // }\r\n\r\n return ;\r\n };\r\n\r\n exportReport = async (format: string) => {\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n var selectedCountries = this.state.selectedCountries.map(selectedCountry => (selectedCountry.id))\r\n var selectedDepartments = this.state.selectedDepartments.map(selectedDepartment => (selectedDepartment.id))\r\n var selectedBranches = this.state.selectedBranches.map(selectedBranch => (selectedBranch.id))\r\n\r\n await ReportsApi.exportLeavesPerUser({\r\n userId: this.props.user.userId,\r\n from: this.state.dateFrom,\r\n to: this.state.dateTo,\r\n userIds: selectedUsers,\r\n searchMethod: this.state.searchMethod,\r\n departmentIds: selectedDepartments,\r\n branchIds: selectedBranches,\r\n countryIds: selectedCountries\r\n }, format)\r\n\r\n // const type = response.headers['content-type']\r\n // const blob = new Blob([response.data], { type: type, encoding: 'UTF-8' })\r\n // const link = document.createElement('a')\r\n // link.href = window.URL.createObjectURL(blob)\r\n // link.download = 'file.xlsx'\r\n // link.click()\r\n }\r\n\r\n onDateChange = (time: any, type: string) => {\r\n const timeSelected = new Date(time)\r\n if (type === 'from')\r\n this.setState({ dateFrom: timeSelected })\r\n else\r\n this.setState({ dateTo: timeSelected })\r\n }\r\n setShowFilters() {\r\n this.setState({\r\n showFilters: !this.state.showFilters\r\n })\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n columns,\r\n items,\r\n count,\r\n offset,\r\n groups,\r\n } = this.state\r\n\r\n const { t, user } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n\r\n this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, hasNextPage, hasPreviousPage, nextPage, previousPage, totalPages, getPageItemProps }) => (\r\n
\r\n\r\n {(currentPage !== 1) && (\r\n \r\n )}\r\n\r\n {hasPreviousPage && (\r\n \r\n )}\r\n\r\n {pages.map((page) => (\r\n \r\n ))}\r\n\r\n {hasNextPage && (\r\n \r\n )}\r\n\r\n {(currentPage !== totalPages) && (\r\n \r\n )}\r\n\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Leaves as any) as any);","import React from 'react';\r\nimport { Flex, Button, Divider, Dropdown,\r\n Text,\r\n ExcelColorIcon,\r\n CloseIcon,\r\n FilesPdfColoredIcon, } from \"@fluentui/react-northstar\";\r\nimport { ShimmeredDetailsList, IColumn, IDetailsGroupRenderProps, GroupHeader, Icon, Spinner } from \"@fluentui/react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport Pagination from \"react-paginating\";\r\nimport { ShiftReportView } from \"../../../models\";\r\n\r\nimport { UserStore } from \"../../../store/user\";\r\nimport { inject, observer } from \"mobx-react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport * as ReportsApi from \"../../../api/reports\";\r\nimport * as AccountApi from \"../../../api/account\";\r\nimport { RowInput } from 'jspdf-autotable'\r\n// @ts-ignore\r\nimport DateTimePicker from 'react-datetime-picker/dist/entry.nostyle'\r\nimport './Shifts.scss'\r\nimport dateformat from 'dateformat';\r\nimport moment from 'moment';\r\n\r\ninterface IProps {\r\n user: UserStore;\r\n match: { params: { id?: string } };\r\n history: any;\r\n t: any;\r\n};\r\n\r\ninterface IState {\r\n loading: boolean;\r\n columnNames: any[];\r\n items: any[];\r\n columns: IColumn[];\r\n count: number;\r\n offset: number;\r\n options: any;\r\n groups: any[];\r\n users: any[];\r\n dateFrom: Date;\r\n dateTo: Date;\r\n shiftsPayload: ShiftReportView[];\r\n selectedUsers: any[];\r\n}\r\n\r\n@inject(\"user\")\r\n@observer\r\nclass Overtime extends React.Component {\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n var {t} = props;\r\n this.state = {\r\n loading: false,\r\n users: [],\r\n selectedUsers: [],\r\n count: 5,\r\n offset: 0,\r\n shiftsPayload: [],\r\n columnNames: [t('Date'), t('Clock In'), t('Clock Out'), t('Work Duration'), t('Breaks Duration'), t(\"Overtime\")],\r\n options: {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: true,\r\n },\r\n items: [],\r\n columns: [\r\n {\r\n key: \"date\",\r\n name: t(\"Date\"),\r\n onRender: (item: any) => item.totalDurations ? \r\n {t(\"Total hours\")} \r\n :\r\n dateformat(new Date(item.clockInTime), 'ddd, mmm dS, yyyy'), //new Date(item.clockInTimeUtc).toISOString().split('T')[0],\r\n minWidth: 100,\r\n maxWidth: 140,\r\n },\r\n {\r\n key: \"clockIn\",\r\n name: t(\"Clock In\"),\r\n onRender: (item: any) => item.totalDurations ? \"\" : dateformat(new Date(item.clockInTime), 'h:MM TT'), //new Date(item.clockInTimeUtc).toISOString().split('T')[1].split('.')[0],\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"clockOut\",\r\n name: t(\"Clock Out\"),\r\n onRender: (item: any) => {\r\n if (item.totalDurations){\r\n return \"\"\r\n } else {\r\n if (new Date(item.clockOutTime?? new Date()).getDate() === new Date(item.clockInTime).getDate())\r\n return dateformat(new Date(item.clockOutTime?? new Date()), 'h:MM TT') //.toISOString().split('T')[1].split('.')[0],\r\n else\r\n return dateformat(new Date(item.clockOutTime?? new Date()), 'h:MM TT ddd, mmm dS, yyyy')\r\n }\r\n },\r\n minWidth: 150,\r\n maxWidth: 200,\r\n },\r\n {\r\n key: \"workDuration\",\r\n name: t(\"Work Duration\"),\r\n onRender: (item: any) => item.totalDurations ?\r\n (\r\n {(Math.round(moment.duration(item.totalWorkingDuration).asHours() * 10) / 10)}\r\n //(item.totalWorkingDuration.split('.').length) <= 2 ? item.totalWorkingDuration.split('.')[0] : item.totalWorkingDuration.split('.')[0] + ' days, ' + item.totalWorkingDuration.split('.')[1]\r\n )\r\n : \r\n (\r\n (item.workingDuration.split('.').length) <= 2 ? item.workingDuration.split('.')[0] : item.workingDuration.split('.')[0] + ' days, ' + item.workingDuration.split('.')[1]\r\n ),\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"breakDuration\",\r\n name: t(\"Breaks Duration\"),\r\n onRender: (item: any) => {\r\n return item.totalDurations ? \r\n (\r\n {(Math.round(moment.duration(item.totalBreaksDuration).asHours() * 10) / 10)}\r\n //(item.totalBreaksDuration.split('.').length) <= 2 ? item.totalBreaksDuration.split('.')[0] : item.totalBreaksDuration.split('.')[0] + ' days, ' + item.totalBreaksDuration.split('.')[1]\r\n )\r\n : \r\n (\r\n (item.breaksDuration.split('.').length) <= 2 ? item.breaksDuration.split('.')[0] : item.breaksDuration.split('.')[0] + ' days, ' + item.breaksDuration.split('.')[1]\r\n )\r\n },\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n {\r\n key: \"overtime\",\r\n name: t(\"Overtime\"),\r\n onRender: (item: any) => item.totalDurations ? \r\n (\r\n {(Math.round(moment.duration(item.totalOvertimeDuration).asHours() * 10) / 10)}\r\n //(item.totalOvertimeDuration.split('.').length) <= 2 ? item.totalOvertimeDuration.split('.')[0] : item.totalOvertimeDuration.split('.')[0] + ' days, ' + item.totalOvertimeDuration.split('.')[1]\r\n ) \r\n : \r\n (\r\n (item.overtimeDuration.split('.').length) <= 2 ? item.overtimeDuration.split('.')[0] : item.overtimeDuration.split('.')[0] + ' days, ' + item.overtimeDuration.split('.')[1]\r\n ),\r\n minWidth: 60,\r\n maxWidth: 100,\r\n },\r\n ],\r\n groups: [],\r\n dateFrom: new Date(new Date().getFullYear(), 0, 1),\r\n dateTo: new Date()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n get userId() {\r\n return this.props.match.params.id ?? this.props.user.userId;\r\n }\r\n\r\n fetchData = async () => {\r\n const { t } = this.props\r\n this.setState({ loading: true, items: [], groups: [], offset: 0 });\r\n\r\n // users dropdown\r\n if (this.state.users.length === 0) {\r\n let usersRequest : any = await AccountApi.GetUsers(this.props.user.company?.id??0)\r\n \r\n var i;\r\n for(i = 0; i < usersRequest.payload.length; i++){\r\n // usersRequest.payload[i].content = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].header = usersRequest.payload[i]['fullName'];\r\n usersRequest.payload[i].key = usersRequest.payload[i]['id'];\r\n // delete usersRequest.payload[i].key1;\r\n }\r\n usersRequest.payload.unshift({\r\n header : t(\"All Users\"),\r\n key : 0\r\n });\r\n this.setState({users: usersRequest.payload})\r\n }\r\n\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n\r\n // report data\r\n const { payload } = await ReportsApi.getShiftsPerUser({\r\n userId : this.props.user.userId, \r\n from : this.state.dateFrom, \r\n to : this.state.dateTo, \r\n userIds : selectedUsers.length > 0 ? selectedUsers : [this.props.user.userId],\r\n departmentIds:[],\r\n countryIds:[],\r\n branchIds:[],\r\n searchMethod:\"\"\r\n });\r\n\r\n await this.tableDataGenerator(payload)\r\n \r\n this.setState({\r\n loading: false,\r\n shiftsPayload: payload \r\n });\r\n };\r\n\r\n tableDataGenerator = async (payload : any[]) => {\r\n // var {t} = this.props\r\n\r\n let body : any[] = [];\r\n let groups : any[] = [];\r\n\r\n let currentUser = \"\";\r\n let shiftsCountPerUser = \"\";\r\n let firstUser = true;\r\n payload.map( (shift, i) => {\r\n if (currentUser !== shift.user.id)\r\n {\r\n if (!firstUser){\r\n let row : RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: payload[i - 1].totalWorkingDuration,\r\n totalBreaksDuration: payload[i - 1].totalBreaksDuration,\r\n totalOvertimeDuration: payload[i - 1].totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n firstUser = false\r\n currentUser = shift.user.id\r\n shiftsCountPerUser = payload.reduce(function(total,x){return x.user.id === currentUser ? total+1 : total}, 0);\r\n\r\n // var currentlyUnavailable = payload.some(shift => {\r\n // return shift.user.id && shift.isApproved && new Date(shift.startDate) <= new Date() && new Date(shift.endDate) >= new Date()\r\n // });\r\n\r\n groups.push({ key: shift.user.id, \r\n name: shift.user.fullName, \r\n startIndex: body.length, \r\n count: shiftsCountPerUser + 1, \r\n level: 0 })\r\n }\r\n if (shift){\r\n let row : RowInput = shift;\r\n body.push(row)\r\n }\r\n return shift\r\n })\r\n\r\n // last user total durations\r\n if(payload.length > 0){\r\n var shift = payload[payload.length - 1]\r\n let row : RowInput = {\r\n totalDurations: true,\r\n totalWorkingDuration: shift.totalWorkingDuration,\r\n totalBreaksDuration: shift.totalBreaksDuration,\r\n totalOvertimeDuration: shift.totalOvertimeDuration\r\n };\r\n body.push(row)\r\n }\r\n this.setState({items : body, groups})\r\n }\r\n\r\n _onRenderGroupHeader: IDetailsGroupRenderProps['onRenderHeader'] = props => {\r\n // if (props?.group?.level == 0) {\r\n // return (\r\n // {`${props.group!.name}`}\r\n // );\r\n // }\r\n \r\n return ;\r\n };\r\n\r\n exportReport = async (format: string) => {\r\n var selectedUsers = this.state.selectedUsers.map(selectedUser => (selectedUser.id))\r\n\r\n await ReportsApi.exportShiftsPerUser({\r\n userId : this.props.user.userId, \r\n from : this.state.dateFrom, \r\n to : this.state.dateTo, \r\n userIds : selectedUsers.length > 0 ? selectedUsers : [this.props.user.userId],\r\n departmentIds:[],\r\n countryIds:[],\r\n branchIds:[],\r\n searchMethod:\"\"\r\n }, format)\r\n\r\n // const type = response.headers['content-type']\r\n // const blob = new Blob([response.data], { type: type, encoding: 'UTF-8' })\r\n // const link = document.createElement('a')\r\n // link.href = window.URL.createObjectURL(blob)\r\n // link.download = 'file.xlsx'\r\n // link.click()\r\n }\r\n\r\n onDateChange = (time : any, type : string) => {\r\n const timeSelected = new Date(time)\r\n if (type === 'from')\r\n this.setState({ dateFrom : timeSelected})\r\n else\r\n this.setState({ dateTo : timeSelected})\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n loading,\r\n columns,\r\n items,\r\n count,\r\n offset,\r\n groups,\r\n } = this.state;\r\n\r\n const { t, user } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {\r\n\r\n var filteredList = props.value.find((i : any) => i.key === 0);\r\n var allUsersSelected = filteredList ? filteredList.key === 0 : false;\r\n\r\n if (allUsersSelected) {\r\n var allUsersList = this.state.users.filter((u: any) => u.key !== 0);\r\n this.setState({\r\n selectedUsers: allUsersList\r\n });\r\n } else {\r\n this.setState({\r\n selectedUsers: [...props.value]\r\n });\r\n }\r\n }}\r\n />\r\n {this.state.selectedUsers.length > 0 ? : <>}\r\n \r\n \r\n \r\n \r\n this.onDateChange(e, 'from')}\r\n value={this.state.dateFrom}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n this.onDateChange(e, 'to')}\r\n value={this.state.dateTo}\r\n format=\"y-MM-dd\"\r\n calendarIcon={null}\r\n clearIcon={null}\r\n disableClock\r\n className='dateTimePickerCustomStyles'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n this.setState({ offset: ((page ?? 1) - 1) * count })}>\r\n {({ pages, currentPage, hasNextPage, hasPreviousPage, nextPage, previousPage, totalPages, getPageItemProps }) => (\r\n
\r\n \r\n {(currentPage !== 1) && (\r\n \r\n )}\r\n\r\n {hasPreviousPage && (\r\n \r\n )}\r\n \r\n {pages.map((page) => (\r\n \r\n ))}\r\n\r\n {hasNextPage && (\r\n \r\n )}\r\n\r\n {(currentPage !== totalPages) && (\r\n \r\n )}\r\n\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withTranslation()(Overtime as any) as any);","import React from \"react\";\r\n\r\nfunction Badge (props: {count: number; children: JSX.Element}) {\r\n\r\n const badge = props.count ? props.count && (\r\n
\r\n {props.count}\r\n
\r\n ) : undefined;\r\n\r\n return (\r\n
\r\n {badge}\r\n
\r\n {props.children}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Badge\r\n","import React from \"react\"\r\nimport { inject, observer } from \"mobx-react\"\r\nimport { withRouter } from \"react-router-dom\"\r\nimport { withTranslation } from \"react-i18next\"\r\n//import { BellIcon, Button } from \"@fluentui/react-northstar\"\r\nimport { NotificationStore } from \"../../store/notification\"\r\nimport IconButton from '@mui/material/IconButton';\r\nimport NotificationsNoneOutlinedIcon from '@mui/icons-material/NotificationsNoneOutlined';\r\n\r\nimport Badge from \"../badge\"\r\n\r\ninterface INotificationBellProps {\r\n notification?: NotificationStore;\r\n }\r\n\r\nconst NotificationBell = (inject(\"notification\"))(observer((props: INotificationBellProps) => {\r\n const { notification } = props;\r\n return (\r\n \r\n {/*
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t this.filterDataGlobal(input ?? \"\")}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\r\n\t\t\t\t

\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t{countries.map((country) => {\r\n\t\t\t\t\t\tvar countryUsers = this.state.items.filter((u) => {\r\n\t\t\t\t\t\t\treturn country.name == u.country.name;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t//this.shuffle(countryUsers);\r\n\t\t\t\t\t\tif ((countryUsers.length > 0)) {\r\n\t\t\t\t\t\t\treturn
\r\n\r\n\t\t\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t\t\t {country.name} \r\n\r\n\t\t\t\t\t\t\t\t {\r\n\r\n\t\t\t\t\t\t\t\t\t\treturn \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar currentCustomStatusText = Boolean(u.currentCustomStatusText) ?u.currentCustomStatusText : u.currentStatus;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (currentCustomStatusText) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Available':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'green'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'Break':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'orange'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'Unavailable':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'grey'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'Leave':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'HalfDayLeave':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'red'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'Holiday':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'blue'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t case 'Unknown':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'grey'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t default:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn 'orange'\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar currentCustomStatusText = Boolean(u.currentCustomStatusText) ? u.currentCustomStatusText : u.currentStatus;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (currentCustomStatusText) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Available':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Break':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Unavailable':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Leave':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'HalfDayLeave':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Holiday':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'Unknown':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (u.id == this.state.userId? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})()}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\r\n\t\t\t
\r\n\r\n\r\n\t\t);\r\n\r\n\t}\r\n}\r\n\r\nexport default withRouter(withTranslation()(Dashboard as any) as any);\r\n","import request from \"../utils/request\";\r\nimport { Result, ScheduledShiftInput, ScheduledShiftView} from \"../models\";\r\n\r\n\r\nexport async function setScheduledShift(details: ScheduledShiftInput) {\r\n const response = await request.post>(`shift/SetScheduledShift`,details);\r\n return response.data;\r\n }\r\n\r\n\r\n export async function getScheduledShift(userId: string | number, from : string, to: string ) {\r\n const response = await request.get>(`shift/GetScheduledShifts/${userId}/${from}/${to}`);\r\n return response.data;\r\n }\r\n\r\n export async function removeScheduledShift(id : number ) {\r\n const response = await request.delete>(`shift/${id}`);\r\n return response.data;\r\n }","import React from \"react\"\r\nimport { Flex, FlexItem, Menu, Divider, Text, Dropdown, Button, Card, Avatar } from \"@fluentui/react-northstar\"\r\nimport { withRouter } from \"react-router-dom\"\r\nimport { UserStore } from \"../../store/user\"\r\nimport { inject, observer } from \"mobx-react\"\r\nimport { withTranslation } from \"react-i18next\"\r\nimport Schedule from \"../../components/schedule\";\r\nimport { DayHours, EventActions, ProcessedEvent, ViewEvent } from \"@aldabil/react-scheduler/types\"\r\nimport { getUser, getUserRules, GetUsers, setWeekSchedule } from \"../../api/account\"\r\nimport { Result, ScheduledShiftView, ShiftScheduleType, UserShiftScheduleType } from \"../../models\"\r\nimport { getCompany } from \"../../api/Company\"\r\nimport { getScheduledShift, removeScheduledShift, setScheduledShift } from \"../../api/shift\"\r\nimport moment from \"moment\"\r\n\r\n\r\n\r\ninterface Props {\r\n\tuser: UserStore;\r\n\tmatch: { params: { id?: string } };\r\n\thistory: any;\r\n\tt: any;\r\n};\r\ninterface Events {\r\n\tevent_id: number,\r\n\ttitle: string,\r\n\tstart: Date,\r\n\tend: Date,\r\n\tdisabled?: boolean,\r\n\teditable?: boolean,\r\n\tdeletable?: boolean,\r\n\tdraggable?: boolean,\r\n\tcolor: string,\r\n}\r\ninterface Employees {\r\n\tkey: string\r\n\theader: string\r\n\tuserId: string,\r\n\tfullName: string,\r\n\tjobTitle: string,\r\n\tcolor: string\r\n}\r\n\r\ninterface IState {\r\n\tTitle: string;\r\n\titems: Events[];\r\n\temployees: Employees[];\r\n\tstartHour: DayHours;\r\n\tendHour: DayHours;\r\n\tusers: any[];\r\n\tuserId: string;\r\n\tstartTime: Date;\r\n\tendTime: Date;\r\n\tfromTo: {\r\n\t\tfrom: string;\r\n\t\tto: string;\r\n\t}\r\n\tshift: any;\r\n\tifExist: boolean\r\n\r\n}\r\n\r\n@observer\r\n@inject(\"user\")\r\nclass WeekSchedule extends React.Component {\r\n\r\n\tconstructor(props: Props) {\r\n\t\tsuper(props);\r\n\r\n\r\n\t\tconst { t, user } = props;\r\n\r\n\r\n\t\tthis.state = {\r\n\t\t\tTitle: \"Week Schedule \",\r\n\t\t\titems: [],\r\n\t\t\temployees: [],\r\n\t\t\tstartHour: 0,\r\n\t\t\tendHour: 23,\r\n\t\t\tusers: [],\r\n\t\t\tuserId: \"\",\r\n\t\t\tstartTime: new Date(),\r\n\t\t\tendTime: new Date(),\r\n\t\t\tfromTo: {\r\n\t\t\t\tfrom: \"\",\r\n\t\t\t\tto: \"\"\r\n\t\t\t},\r\n\t\t\tshift: \"\",\r\n\t\t\tifExist: false\r\n\r\n\t\t};\r\n\t}\r\n\tcomponentDidMount() {\r\n\t\tthis.fetchUsers();\r\n\t\t//this.fetchShifts();\r\n\t}\r\n\r\n\r\n\tgetuserinfo = async (userid: string) => {\r\n\t\tconst user = await getUser(userid)\r\n\t\treturn user.payload.userRules != undefined? user.payload.userRules.shiftScheduleType : UserShiftScheduleType.InheritedFromCompany\r\n\t}\r\n\r\n\tsetfilters = () => {\r\n\t\tvar i;\r\n\t\tfor (i = 0; i < this.state.employees.length; i++) {\r\n\t\t\tthis.state.employees[i].header = this.state.employees[i]['fullName'];\r\n\t\t\tthis.state.employees[i].key = this.state.employees[i]['userId'];\r\n\t\t}\r\n\t\tthis.setState({ users: this.state.employees })\r\n\t\tthis.setState({ userId: this.state.employees[0]['userId'] }, () => this.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to))\r\n\t}\r\n\r\n\tfetchUsers = async () => {\r\n\t\tconst { t, user } = this.props\r\n\t\tconst id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\t\tconst users: any = await GetUsers(id)\r\n\t\tconst filters: any = await GetUsers(id)\r\n\t\tconst company = await getCompany(id)\r\n\t\tusers.payload.map(async (user: { id: string; fullName: any; title: any }) => {\r\n\r\n\t\t\tconst rules = this.getuserinfo(user.id)\r\n\t\t\tif (await rules == UserShiftScheduleType.VariableShiftSchedule ||\r\n\t\t\t\t(await rules == UserShiftScheduleType.InheritedFromCompany &&\r\n\t\t\t\t\tcompany.payload.companyRules.shiftScheduleType == ShiftScheduleType.VariableShiftSchedule)) {\r\n\t\t\t\tvar newEmployee = {\r\n\t\t\t\t\tuserId: user.id,\r\n\t\t\t\t\tfullName: user.fullName,\r\n\t\t\t\t\tjobTitle: user.title,\r\n\t\t\t\t\tcolor: \"#9fb8d2\"\r\n\t\t\t\t} as unknown as Employees | ConcatArray\r\n\r\n\t\t\t\tthis.setState(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\temployees: prevState.employees.concat(newEmployee)\r\n\t\t\t\t\t};\r\n\t\t\t\t}, () => this.setfilters());\r\n\t\t\t}\r\n\t\t}\r\n\t\t)\r\n\t};\r\n\r\n\r\n\tfetchShifts = async (userId: string, from: string, to: string) => {\r\n\r\n\t\tconst { t, user } = this.props\r\n\t\tconst id = this.props.match.params.id ?? this.props.user.company?.id ?? 0;\r\n\t\tvar date = new Date()\r\n\t\tconst shifts = await getScheduledShift(userId, from, to)\r\n\t\tvar validateDate: any[] = []\r\n\t\tvar dateofnow = moment().utcOffset(0, true).format().split(\"T\")[0]\r\n\t\tvar startTime = moment(from).add(7, 'days').utcOffset(0, true).format().split(\"T\")\r\n\t\tvar endTime = moment(to).add(7, 'days').utcOffset(0, true).format().split(\"T\")\r\n\t\tvar upcommingshifts = await getScheduledShift(userId, startTime[0], endTime[0])\r\n\r\n\t\tfor (let i = 0; i <= 7; i++) {\r\n\t\t\tvar day = moment(from).add(i, 'days').utcOffset(0, true).format().split(\"T\")[0]\r\n\t\t\tif (dateofnow == day) {\r\n\t\t\t\tvalidateDate.push(day)\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (shifts.payload.length != 0) {\r\n\t\t\tif (upcommingshifts.payload.length == 0) {\r\n\t\t\t\tif (validateDate.length != 0) {\r\n\t\t\t\t\tthis.setState({ ifExist: true })\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.setState({ ifExist: false })\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.setState({ ifExist: false })\r\n\t\t}\r\n\t\tvar events: any[] = []\r\n\t\tshifts.payload.map(shift => {\r\n\r\n\t\t\tvar newShift = {\r\n\t\t\t\tevent_id: shift.id,\r\n\t\t\t\ttitle: \" \",\r\n\t\t\t\tstart: new Date(shift.startTime),\r\n\t\t\t\tend: new Date(shift.endTime),\r\n\t\t\t\tdisabled: false,\r\n\t\t\t\teditable: true,\r\n\t\t\t\tdeletable: true,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t\tcolor: \"#BED1DF\",\r\n\t\t\t\tuserId: this.state.userId\r\n\t\t\t}\r\n\r\n\t\t\tevents.push(newShift)\r\n\r\n\t\t})\r\n\t\tthis.setState({ items: events })\r\n\t}\r\n\r\n\tcopyPreviousWeek = async () => {\r\n\r\n\t\tconst shifts = await getScheduledShift(this.state.userId, this.state.fromTo.from, this.state.fromTo.to)\r\n\t\tfor (let i = 0; i < shifts.payload.length; i++) {\r\n\t\t\tvar startTime = moment(shifts.payload[i].startTime).add(7, 'days').utcOffset(0, true).format()\r\n\t\t\tvar endTime = moment(shifts.payload[i].endTime).add(7, 'days').utcOffset(0, true).format()\r\n\t\t\tvar userId = shifts.payload[i].userId\r\n\r\n\t\t\ttry {\r\n\t\t\t\tconst copiedShift = await setScheduledShift({\r\n\t\t\t\t\tstartTime: startTime.split(\"Z\")[0],\r\n\t\t\t\t\tendTime: endTime.split(\"Z\")[0],\r\n\t\t\t\t\tuserId: userId,\r\n\t\t\t\t\tid: 0\r\n\r\n\t\t\t\t})\r\n\t\t\t\tif (copiedShift) {\r\n\t\t\t\t\tconsole.log(\"Schedule copied successfully\")\r\n\t\t\t\t}\r\n\t\t\t\tthis.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tif (error && error.errors && error.errors[0]) {\r\n\t\t\t\t\tconst res = error as Result;\r\n\t\t\t\t\talert(res.errors[0].description);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\thandleConfirm = async (\r\n\t\tevent: ProcessedEvent,\r\n\t\taction: EventActions\r\n\t): Promise => {\r\n\t\tif (action === \"edit\") {\r\n\t\t\tvar startTime = moment(event.start).utcOffset(0, true).format()\r\n\t\t\tvar endTime = moment(event.end).utcOffset(0, true).format()\r\n\r\n\t\t\tvar userid = this.state.userId\r\n\t\t\tvar eventid = event.event_id\r\n\t\t\ttry {\r\n\t\t\t\tconst updatedshift = await setScheduledShift({\r\n\t\t\t\t\tstartTime: startTime.split(\"Z\")[0],\r\n\t\t\t\t\tendTime: endTime.split(\"Z\")[0],\r\n\t\t\t\t\tuserId: userid,\r\n\t\t\t\t\tid: eventid as number\r\n\t\t\t\t})\r\n\t\t\t\tif (updatedshift) {\r\n\t\t\t\t\tconsole.log(\"Schedule updated successfully\")\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({ items: [] })\r\n\t\t\t\tthis.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tif (error && error.errors && error.errors[0]) {\r\n\t\t\t\t\tconst res = error as Result;\r\n\t\t\t\t\talert(res.errors[0].description);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t} else if (action === \"create\") {\r\n\t\t\tvar startTime = moment(event.start).utcOffset(0, true).format()\r\n\t\t\tvar endTime = moment(event.end).utcOffset(0, true).format()\r\n\r\n\t\t\tvar userid = this.state.userId;\r\n\t\t\ttry {\r\n\t\t\t\tconst shift = await setScheduledShift({\r\n\t\t\t\t\tstartTime: startTime.split(\"Z\")[0],\r\n\t\t\t\t\tendTime: endTime.split(\"Z\")[0],\r\n\t\t\t\t\tuserId: userid,\r\n\t\t\t\t\tid: 0\r\n\t\t\t\t})\r\n\r\n\t\t\t\tif (shift) {\r\n\t\t\t\t\tconsole.log(\"Schedule added successfully\")\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({ items: [] })\r\n\t\t\t\tthis.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tif (error && error.errors && error.errors[0]) {\r\n\t\t\t\t\tconst res = error as Result;\r\n\t\t\t\t\talert(res.errors[0].description);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\treturn { ...event, userId: this.state.userId };\r\n\r\n\t};\r\n\tfetchRemote = async (query: ViewEvent): Promise => {\r\n\t\tvar datefrom = new Date(query.start)\r\n\t\tvar dateto = new Date(query.end)\r\n\r\n\t\tvar fromYear = datefrom.getFullYear()\r\n\t\tvar fromMonth = datefrom.getMonth() + 1\r\n\t\tvar fromDate = datefrom.getDate()\r\n\r\n\t\tvar toYear = dateto.getFullYear()\r\n\t\tvar toMonth = dateto.getMonth() + 1\r\n\t\tvar toDate = dateto.getDate()\r\n\r\n\t\tvar from = fromYear + \"-\" + fromMonth + \"-\" + fromDate\r\n\t\tvar to = toYear + \"-\" + toMonth + \"-\" + toDate\r\n\r\n\t\tvar fromTo = { ...this.state.fromTo }\r\n\t\tfromTo.from = from\r\n\t\tfromTo.to = to\r\n\r\n\t\tthis.setState({ fromTo: fromTo }, () => this.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to))\r\n\r\n\t\treturn new Promise((res) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tres(this.state.items);\r\n\t\t\t}, 3000);\r\n\t\t});\r\n\r\n\t};\r\n\r\n\thandleDelete = async (shiftId: string | number): Promise => {\r\n\r\n\t\tvar deletedshift = await removeScheduledShift(shiftId as number)\r\n\t\tthis.setState({ items: [] })\r\n\t\tthis.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to)\r\n\t\treturn new Promise((res, rej) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tres(shiftId as string);\r\n\t\t\t}, 1000);\r\n\t\t});\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t, user } = this.props;\r\n\t\tconst {\r\n\t\t\titems,\r\n\t\t\temployees\r\n\t\t} = this.state;\r\n\t\treturn (\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tvar elements = document.getElementsByClassName(\"test\")\r\n\t\t\t\t\t\t\t\t\tfor (let i = 0; i < elements.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\tconst div = elements[i].parentElement ? elements[i].parentElement : null\r\n\t\t\t\t\t\t\t\t\t\tif (div != null) {\r\n\t\t\t\t\t\t\t\t\t\t\tconst content = elements[i].firstChild?.firstChild?.lastChild?.lastChild?.firstChild?.textContent\r\n\t\t\t\t\t\t\t\t\t\t\tif (props.value != null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tvar fullname = props.value.fullName ? props.value.fullName : \" \"\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (fullname == content) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiv.click()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ userId: props.value.userId }, () => this.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to))\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t{(this.state.ifExist == true ?\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t: null)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ userId: user.userId }, () => this.fetchShifts(this.state.userId, this.state.fromTo.from, this.state.fromTo.to))}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teventRenderer={(event: Events) => {\r\n\t\t\t\t\t\t\t\tvar AMPMStart = event.start.toLocaleTimeString().split(\" \")[1] == undefined?event.start.toLocaleTimeString().split(\" \")[1]:event.start.toLocaleTimeString().split(\" \")[1]\r\n \t\t\t\tvar AMPMEnd = event.end.toLocaleTimeString().split(\" \")[1] == undefined?event.end.toLocaleTimeString().split(\" \")[1]:event.end.toLocaleTimeString().split(\" \")[1]\r\n\t\t\t\t\t\t\t\tvar startTime = event.start.toLocaleTimeString().split(\":\")[0] +\r\n\t\t\t\t\t\t\t\t\t\":\" + event.start.toLocaleTimeString().split(\":\")[1] + \" \"\r\n\t\t\t\t\t\t\t\t\t+ AMPMStart\r\n\t\t\t\t\t\t\t\tvar endTime = event.end.toLocaleTimeString().split(\":\")[0] + \":\"\r\n\t\t\t\t\t\t\t\t\t+ event.end.toLocaleTimeString().split(\":\")[1] + \" \"\r\n\t\t\t\t\t\t\t\t\t+ AMPMEnd\r\n\r\n\r\n\t\t\t\t\t\t\t\treturn
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{startTime}-{endTime}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default withRouter(withTranslation()(WeekSchedule as any) as any);\r\n\r\n","import React, { useState } from \"react\"\r\nimport { I18nextProvider, useTranslation } from \"react-i18next\"\r\nimport {\r\n Provider, teamsTheme, Avatar, Layout, mergeThemes, Button, Popup, Flex, LockIcon, UserFriendsIcon, Label, BellIcon, Text\r\n} from \"@fluentui/react-northstar\"\r\nimport { Icon } from \"@fluentui/react\"\r\nimport { ThemeProvider as FluentUIProvider } from '@fluentui/react'\r\nimport { BrowserRouter, Route, Switch, Redirect, withRouter, useHistory } from \"react-router-dom\"\r\nimport * as MobxReact from \"mobx-react\"\r\nimport Navbar, { NavbarItemProps } from \"./components/navbar\"\r\nimport NotificationList from \"./components/notifications\"\r\nimport Footer from \"./components/footer\"\r\nimport AuthRoute, { Roles } from \"./components/auth-route\"\r\nimport Attendance from \"./views/attandence\"\r\nimport store from \"./store\"\r\nimport Timesheet from \"./views/timesheet/tabs\"\r\nimport Login from \"./views/account/login\"\r\nimport NotFound from \"./views/error/404\"\r\nimport LeavesAndHolidays from \"./views/leavesAndHolidays\"\r\nimport Organizations from \"./views/Organizations\"\r\nimport ResetPassword from \"./views/account/reset-password\"\r\nimport Profile from \"./views/account/profile\"\r\nimport Users from \"./views/users\"\r\nimport Companies from \"./views/Companies\"\r\nimport UserDetails from \"./views/users/UserDetails\"\r\nimport AddUsers from \"./views/users/add-users\"\r\nimport AddUser from \"./views/users/add-user\"\r\nimport OnDemandNotification from \"./views/users/onDemandNotification\"\r\nimport CompanyTabs from \"./views/Companies/CompanyAddEdit\"\r\nimport AddOrganization from \"./views/Organizations/add-organization\"\r\nimport Notifications from \"./views/notifications\"\r\nimport Requests from \"./views/Requests\"\r\nimport Reports from \"./views/Reports\"\r\nimport SignupTrial from \"./views/Signup/signuptrial\"\r\nimport PrivacyPolicy from \"./views/privacyPolicy\"\r\nimport AddRequest from \"./views/Requests/add-request\"\r\nimport Maps from './views/map'\r\nimport Widget from './views/widget'\r\nimport 'moment/min/locales'\r\nimport { getLocale, changeLocale } from \"./api/account\"\r\nimport LeavesBalanceReportExport from './components/reportsDownload/LeavesBalance'\r\nimport UsersStatusesReportExport from './components/reportsDownload/UsersStatuses'\r\nimport ClockingsReportExport from './components/reportsDownload/Clockings'\r\nimport ShiftsReportExport from './components/reportsDownload/Shifts'\r\nimport LeavesReportExport from './components/reportsDownload/Leaves'\r\nimport OvertimeReportExport from './components/reportsDownload/Overtime'\r\nimport LeavesBalanceReport from './views/Reports/tabs/LeavesBalance'\r\nimport UsersStatusesReport from './views/Reports/tabs/UsersStatuses'\r\nimport ClockingsReport from './views/Reports/tabs/Clockings'\r\nimport ShiftsReport from './views/Reports/tabs/Shifts'\r\nimport LeavesReport from './views/Reports/tabs/Leaves'\r\nimport OvertimeReport from './views/Reports/tabs/Overtime'\r\nimport NotificationBell from './components/notifications/bell'\r\nimport { fluentUINorthStarTheme, fluentUITheme, materialUITheme } from './themes'\r\nimport Dashboard from \"./views/Dashboard\"\r\nimport WeekSchedule from \"./views/WeekSchedule\"\r\nimport { Card } from '@fluentui/react-northstar'\r\nimport CurrentStatus from \"./components/currentStatus\";\r\nimport { EditIcon } from \"@fluentui/react-northstar\";\r\nimport { ThemeProvider as MaterialUIProvider } from '@mui/material/styles';\r\n\r\n// import CompanyDetails from \"./views/Companies/details\";\r\n\r\ndeclare const baseUrl: string;\r\n\r\n/* eslint import/no-anonymous-default-export: [2, {\"allowAnonymousFunction\": true}] */\r\nexport default function () {\r\n\r\n const { t, i18n } = useTranslation()\r\n const [availabilityStatusDialogOpen, setAvailabilityStatusDialogOpen] = useState(false);\r\n\r\n const { user, notification, ui, companyAddEdit } = store.rootStore\r\n\r\n\r\n // const rtlLangs = ['ar']\r\n\r\n // reaction\r\n // (\r\n // () => this.user.locale,\r\n // (locale) => {\r\n // console.log(\"reaction fired locale: \", locale)\r\n // i18n.changeLanguage(locale);\r\n // moment.locale(locale);\r\n\r\n // if (rtlLangs.indexOf(locale) > -1) {\r\n // loadTheme({rtl : true})\r\n // user.rtl = true;\r\n\r\n // if (locale == 'ar') {\r\n // moment.defineLocale('ar-arNum', {\r\n // parentLocale: 'ar',\r\n // preparse: function (str : string) {\r\n // return str;\r\n // },\r\n // postformat: function (str : string) {\r\n // return str;\r\n // }\r\n // });\r\n // moment.locale('ar-arNum');\r\n // }\r\n // }\r\n // else {\r\n // user.rtl = false;\r\n // loadTheme({rtl : false})\r\n // }\r\n // }\r\n // );\r\n\r\n const Content = withRouter(MobxReact.observer(() => {\r\n const { push } = useHistory();\r\n const navBarItems: NavbarItemProps[] = [\r\n {\r\n id: \"myBluAttend\", content: t(\"My BluAttend\"), to: \"\", roles: Roles.CLOCKING, menu: [\r\n //{ content: \"Attendance\", variables: { key: \"attendance\", to: \"/attendance\", roles: Roles.CLOCKING } },\r\n { key: \"timesheet\", content: t(\"Timesheet\"), variables: { id: \"timesheet\", to: \"/timesheet\", roles: Roles.CLOCKING } },\r\n { key: \"leavesAndHolidays\", content: t(\"Holidays & Leaves\"), variables: { id: \"leavesAndHolidays\", to: \"/leavesAndHolidays\", roles: Roles.CLOCKING } },\r\n { key: \"requests\", content: t(\"Requests\"), variables: { id: \"requests\", to: \"/requests\", roles: user.isSupervisor ? Roles.CLOCKING : Roles.HR } },\r\n ]\r\n },\r\n { id: \"mycompany\", content: t(\"My Company\"), to: \"/mycompany\", roles: Roles.HR },\r\n {\r\n id: \"users\", content: t(\"Employees\"), to: \"\", roles: user.isSupervisor ? Roles.CLOCKING : Roles.HR, menu: [\r\n { key: \"usersList\", content: t(\"Employees List\"), variables: { id: \"usersList\", to: \"/users\", roles: user.isSupervisor ? Roles.CLOCKING : Roles.HR } },\r\n { key: \"usersSchedule\", content: t(\"Employees Schedule\"), variables: { id: \"usersSchedule\", to: \"/schedule\", roles: user.isSupervisor ? Roles.CLOCKING : Roles.HR } },\r\n ]\r\n },\r\n { id: \"companies\", content: t(\"Companies\"), to: \"/companies\", roles: Roles.ADMIN },\r\n { id: \"organizations\", content: t(\"Organizations\"), to: \"/organizations\", roles: Roles.ADMIN },\r\n { id: \"maps\", content: t(\"Maps\"), to: \"/maps\", roles: user.isSupervisor ? Roles.CLOCKING : Roles.CHIEF },\r\n { id: \"reports\", content: t(\"Reports\"), to: \"/reports\", roles: Roles.CHIEF },\r\n { id: \"dashboard\", content: t(\"Colleagues Availability\"), to: \"/dashboard\", roles: Roles.NOTADMIN },\r\n\r\n\r\n ].filter(x => {\r\n if (x.menu && x.menu.length > 0)\r\n x.menu = x.menu.filter(y => (y.variables.roles ?? Roles.ANY).includes(user.role))\r\n return (x.roles ?? Roles.ANY).includes(user.role)\r\n });\r\n\r\n var languagesAllowed = ['en', 'ar', 'fr']\r\n if (user.companyLocales) {\r\n languagesAllowed = user.companyLocales.split(',')\r\n }\r\n\r\n const languagesDropDown = {\r\n id: \"language\",\r\n content:\r\n \r\n }\r\n title={t(\"Change Language\")}\r\n >\r\n ,\r\n menu: languagesAllowed.map(lang => {\r\n var langName = \"English\"\r\n switch (lang) {\r\n case 'ar':\r\n langName = \"العربية\"\r\n break\r\n case 'fr':\r\n langName = \"Français\"\r\n break\r\n default:\r\n break\r\n }\r\n return {\r\n key: lang,\r\n content: \r\n {langName}\r\n ,\r\n onClick: async () => {\r\n if (user.isLoggedIn) {\r\n if (lang !== (await getLocale()).payload) {\r\n await changeLocale(lang);\r\n user.locale = lang\r\n notification.loadInitial()\r\n }\r\n } else {\r\n user.locale = lang\r\n }\r\n }\r\n }\r\n })\r\n // menu: [\r\n // {\r\n // key : \"en\",\r\n // content : English,\r\n // onClick : async () => {\r\n // if (user.isLoggedIn){\r\n // if (\"en\" != (await getLocale()).payload){\r\n // await changeLocale(\"en\");\r\n // user.locale = \"en\"\r\n // }\r\n // } else {\r\n // user.locale = \"en\"\r\n // }\r\n // }\r\n // },\r\n // {\r\n // key : \"ar\",\r\n // content : العربية,\r\n // onClick : async () => {\r\n // if (user.isLoggedIn){\r\n // if (\"ar\" != (await getLocale()).payload){\r\n // await changeLocale(\"ar\");\r\n // user.locale = \"ar\"\r\n // }\r\n // } else {\r\n // user.locale = \"ar\"\r\n // }\r\n // }\r\n // },\r\n // {\r\n // key : \"fr\",\r\n // content : Français,\r\n // onClick : async () => {\r\n // if (user.isLoggedIn){\r\n // if (\"fr\" != (await getLocale()).payload){\r\n // await changeLocale(\"fr\");\r\n // user.locale = \"fr\"\r\n // }\r\n // } else {\r\n // user.locale = \"fr\"\r\n // }\r\n // }\r\n // },\r\n // ]\r\n }\r\n\r\n const notificationsMenu = {\r\n id: \"notification\",\r\n content: (\r\n \r\n \r\n \r\n )}\r\n content={(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n ),\r\n }\r\n\r\n const loggedOutNavBarItems = !window.location.pathname.includes('signuptrial') ? [\r\n languagesDropDown,\r\n { id: \"login\", content: t(\"Login\"), to: \"/login\" }\r\n ] : [{ id: \"login\", content: t(\"Login\"), to: \"/login\" }];\r\n\r\n const navBarSideItems = user.isLoggedIn ? [\r\n // uncomment to show notification list\r\n notificationsMenu,\r\n languagesDropDown,\r\n {\r\n id: \"login\",\r\n // content: \r\n // } />,\r\n\r\n content:\r\n\r\n \r\n \r\n \r\n {\r\n var currentCustomStatusText = Boolean(user.currentCustomStatusText) ? user.currentCustomStatusText : user.currentStatus;\r\n {console.log(user.currentStatus)}\r\n switch (currentCustomStatusText) {\r\n case 'Available':\r\n return 'green'\r\n case 'Break':\r\n return 'orange'\r\n case 'Unavailable':\r\n return 'grey'\r\n case 'Leave':\r\n case 'HalfDayLeave': \r\n return 'red'\r\n case 'Holiday':\r\n return 'blue'\r\n case 'Unknown':\r\n return 'grey'\r\n default:\r\n return 'orange'\r\n }\r\n })()\r\n\r\n }}\r\n />\r\n \r\n \r\n\r\n {/* {(() => {\r\n var currentCustomStatusText = Boolean(user.currentCustomStatusText) ? \" - \" + user.currentCustomStatusText : \"\";\r\n\r\n switch (user.currentStatus) {\r\n case 'Available':\r\n return ()\r\n\r\n case 'Break':\r\n return ()\r\n\r\n case 'Unavailable':\r\n return ()\r\n\r\n case 'Leave':\r\n return ()\r\n\r\n case 'Holiday':\r\n return ()\r\n\r\n case 'Unknown':\r\n return ()\r\n }\r\n\r\n })()} */}\r\n\r\n {(() => {\r\n var currentCustomStatusText = Boolean(user.currentCustomStatusText) ? user.currentCustomStatusText : user.currentStatus;\r\n\r\n switch (currentCustomStatusText) {\r\n case 'Available':\r\n return ()\r\n\r\n case 'Break':\r\n return ()\r\n\r\n case 'Unavailable':\r\n return ()\r\n\r\n case 'Leave':\r\n case 'HalfDayLeave':\r\n return ()\r\n\r\n case 'Holiday':\r\n return ()\r\n\r\n case 'Unknown':\r\n return ()\r\n\r\n default:\r\n return ()\r\n }\r\n\r\n })()}\r\n\r\n \r\n \r\n \r\n ,\r\n menu: [\r\n {\r\n key: \"profile\",\r\n content: t(\"Profile\"),\r\n icon: ,\r\n onClick: () => push(\"/account/profile\"),\r\n },\r\n {\r\n key: \"customstatus\",\r\n // disabled: true,\r\n content: t(\"Set Status Message\"),\r\n icon: , //styles={{color:\"rgb(72, 70, 68)\"}}\r\n onClick: () => { setAvailabilityStatusDialogOpen(true) }\r\n },\r\n { key: \"logout\", content: t(\"Logout\"), icon: , onClick: () => user.logout() },\r\n ],\r\n },\r\n ] : loggedOutNavBarItems;\r\n\r\n const closeAvailabilityStatusDialog = () => {\r\n setAvailabilityStatusDialogOpen(false);\r\n }\r\n\r\n // eslint-disable-next-line no-return-assign\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {window.location.href.indexOf(\"widget\") == -1 ? \r\n \r\n : null\r\n }\r\n
\r\n \r\n /account/profile\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n {/* ui.open = false}\r\n onConfirm={() => ui.open = false}\r\n confirmButton=\"Ok\"\r\n /> */}\r\n {window.location.href.indexOf(\"widget\") == -1 ? \r\n
\r\n {t(\"Copyrights Powered by BluGrass Technologies All Rights Reserved\")}\r\n
\r\n : null\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n\r\n }));\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n// by using this application you agree eno ldeveloper ma da5alo b aya shi biseer","/* eslint-disable */\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React, { Suspense,StrictMode } from \"react\";\r\n//import ReactDOM from \"react-dom\";\r\nimport {createRoot} from 'react-dom/client';\r\nimport \"./assests/styles/index.scss\";\r\nimport { initializeIcons } from \"office-ui-fabric-react/lib/Icons\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport './i18n';\r\n\r\n// https://github.com/microsoft/fluentui/wiki/Using-icons\r\ninitializeIcons();\r\n\r\n\r\n//const rootElement : HTMLElement =document.getElementById(\"root\") != null? document.getElementById(\"root\") : ;\r\nconst rootElement = document.getElementById('root');\r\nif (!rootElement) throw new Error('Failed to find the root element');\r\nconst root = createRoot(rootElement);\r\n\r\nroot.render(}>);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n\r\n"],"sourceRoot":""}