{"version":3,"sources":["serviceWorkerRegistration.ts","reportWebVitals.ts","enums/SofEventAction.ts","appSettings.ts","enums/EventApiStatus.ts","enums/EventSyncStatus.ts","classes/BaseEvent.ts","enums/EventBaseType.ts","classes/SofEvent.ts","enums/CargoOperationType.ts","helpers/eventHelpers.ts","classes/CargoOperation.ts","enums/SofStatus.ts","classes/Sof.ts","enums/PortCallStatus.ts","classes/Cargo.ts","helpers/cargoHelpers.ts","classes/PortCall.ts","enums/AppUserTypes.ts","api/ApiService.ts","stores/appStore.ts","enums/PortCallSortType.ts","stores/portCallStore.ts","enums/AppStartMode.ts","classes/ApiEvent.ts","stores/eventStore.ts","stores/reportStore.ts","hooks/useStores.ts","api/SwrFetcher.ts","components/ProgressBar/ProgressBar.tsx","components/Buttons/AppPrimaryButton.tsx","components/AppTextField/AppTextField.tsx","components/Buttons/AppDefaultButton.tsx","hooks/useStringFunctions.ts","hooks/useResize.ts","components/Login/Activate.tsx","blocks/AnimatedBars/AnimatedBars.tsx","hooks/useRest.ts","components/Login/Login.tsx","components/Login/Register.tsx","components/Login/ResetPassword.tsx","components/Login/Start.tsx","hooks/useUrlFunctions.ts","components/PortCall/PortCallHeaderTab.tsx","hooks/useVoyageFunctions.ts","hooks/useDateFunctions.ts","hooks/useAppFunctions.ts","contextHooks/AppContext.tsx","components/PortCall/PortCallHeader.tsx","enums/CargoDirections.ts","enums/EventTriggerTypes.ts","enums/FlowItemType.ts","enums/SofEventType.ts","hooks/useSofEventFunctions.tsx","blocks/AppModal/AppModalTransparent.tsx","blocks/AppModal/ConfirmationModal.tsx","components/DateTimePicker/TimeTextbox.tsx","components/DateTimePicker/TouchPicker.tsx","components/DateTimePicker/DateTimePicker.tsx","hooks/useNumberFunctions.ts","components/EventsContainer/EventBody/AdditionalContainers/AdditionalNumber.tsx","hooks/useOutsideClick.ts","blocks/AppModal/AppModal.tsx","components/AppDropDown/AppDropDownOption.tsx","components/AppDropDown/AppDropDown.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalString.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalBerth.tsx","enums/CargoStatus.ts","hooks/useCargoFunctions.ts","components/EventsContainer/EventBody/AdditionalContainers/AdditionalBoolean.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalList.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalPort.tsx","hooks/useSofEventLayout.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalAskForNorTender.tsx","components/EventsContainer/EventBody/AdditionalContainers/AdditionalStorage.tsx","enums/CargoOperationStatus.ts","hooks/useCargoOperationFunctions.ts","enums/FlowActivityEventBaseTypes.ts","components/EventsContainer/EventBody/SpecialEventBodies/EventBodyRegisterRate.tsx","components/EventsContainer/EventBody/EventBody.tsx","components/EventsContainer/EventRemarkModal/EventRemarkModal.tsx","hooks/usePortCallStatus.ts","components/EventsContainer/ActivityLayouts/CoRequired.tsx","hooks/usePortCallsFunctions.ts","blocks/AppLink/AppLink.tsx","enums/LogReportTypes.ts","components/EventsContainer/EventBody/EventBodySameCargoEvents.tsx","blocks/FakeCheckbox/FakeCheckbox.tsx","hooks/useMediaQuery.ts","blocks/AppGridTable/AppGridTableCell.tsx","hooks/useGridTable.tsx","blocks/AppGridTable/AppGridTable.tsx","components/EventsContainer/ActivityLayouts/EventResolverModal.tsx","hooks/useMultiCargoSofEventFunctions.tsx","components/EventsContainer/modules/EventWarning.tsx","enums/LogReportProperty.ts","components/EventsContainer/modules/LopWarning.tsx","data/BeaufortScales.ts","interfaces/ILogReportReportPropertyDefinition.ts","helpers/appHelper.ts","hooks/useLogReportFunctions.ts","hooks/useVesselFunctions.ts","contextHooks/LogReportContext.tsx","components/AppNumericField/AppNumericField.tsx","components/Map/MapOptionsDark.ts","components/Map/Map.tsx","components/Map/MapMarker.tsx","enums/CoordinateType.ts","blocks/GeoLocation/GeoLocation.tsx","hooks/useKeyboardFunctions.ts","hooks/useEnumFunctions.ts","blocks/PositionMapPicker/PositionMapPicker.tsx","hooks/useGeolocation.ts","components/Reports/Log/Edit/Position/LogReportPosition.tsx","hooks/useInlineReports.tsx","components/Reports/Log/Edit/Consumptions/Consumption.tsx","components/Reports/Log/Edit/Consumptions/ConsumptionInline.tsx","components/Reports/Log/Edit/Consumptions/Consumptions.tsx","blocks/TankPicker/TankPicker.tsx","hooks/useArrayFunctions.ts","components/Reports/Log/Edit/TankConsumptions/TankConsumption.tsx","components/Reports/Log/Edit/TankConsumptions/TankConsumptionInline.tsx","components/Reports/Log/Edit/TankConsumptions/TankConsumptions.tsx","components/EventsContainer/EventBody/LogReport/Modules/EventBodyLogReportConsumption.tsx","components/Reports/Log/Edit/Robs/Rob.tsx","components/Reports/Log/Edit/Robs/RobInline.tsx","enums/RobType.ts","components/Reports/Log/Edit/Robs/Robs.tsx","components/Reports/Log/Edit/TankRobs/FuelRob.tsx","blocks/AppCheckBox/AppCheckBox.tsx","components/Reports/Log/Edit/TankRobs/TankRob.tsx","components/Reports/Log/Edit/TankRobs/TankRobInline.tsx","components/Reports/Log/Edit/TankRobs/TankRobs.tsx","components/EventsContainer/EventBody/LogReport/Modules/EventBodyLogReportRob.tsx","components/Reports/Log/Edit/Electricities/Electricity.tsx","components/Reports/Log/Edit/Electricities/ElectricityInline.tsx","components/Reports/Log/Edit/Electricities/Electricities.tsx","components/EventsContainer/EventBody/LogReport/Modules/EventBodyLogReportShoreElectricity.tsx","components/DateString/DateString.tsx","components/EventsContainer/EventBody/LogReport/Modules/EventBodyLogReportComments.tsx","components/Reports/Log/Edit/OilTankRobs/OilTankRobInline.tsx","components/Reports/Log/Edit/OilTankRobs/OilTankRob.tsx","components/Reports/Log/Edit/OilTankRobs/OilTankRobs.tsx","components/EventsContainer/EventBody/LogReport/Modules/EventBodyLogReportOilRob.tsx","blocks/AppModal/ConfirmationModalNew.tsx","components/EventsContainer/EventBody/LogReport/EventBodyLogReport.tsx","components/EventsContainer/ActivityLayouts/EventLayoutModules/EventLayoutHeader.tsx","components/EventsContainer/ActivityLayouts/EventLayout.tsx","components/EventsContainer/ActivityLayouts/ConditionLayout.tsx","components/EventsContainer/NextActivities/NextActivities.tsx","components/EventsContainer/ActivityLayouts/EventPicker.tsx","components/EventsContainer/EventsContainer.tsx","hooks/useOnlineStatus.ts","components/Offline/Offline.tsx","blocks/Indicator/Indicator.tsx","components/ActionsButtons/ActionButton.tsx","components/ActionsButtons/ActionButtons.tsx","enums/VoyageReportTypes.ts","components/PortCallActions/Menus/PortCallActionsReportsMenu.tsx","hooks/useFlowFunctions.ts","components/PortCallActions/PortCallActions.tsx","components/PortBerthEventsContainer/PortBerthEventsContainer.tsx","components/CargoList/CargoListItem.tsx","components/CargoList/CargoList.tsx","components/PortCall/PortCallBody.tsx","components/DeleteCargoOperationDialog/DeleteCargoOperationDialog.tsx","components/CargoActions/CargoActions.tsx","components/MultiCargoPicker/MultiCargoPicker.tsx","components/CargoEventsContainer/CargoEventsContainer.tsx","components/CargoOperationsList/CargoOperationListItem.tsx","components/CargoOperationsList/CargoOperationsList.tsx","components/PortCall/CargoBody.tsx","components/CargoOperationEventsContainer/CoPropsDisplay.tsx","components/CargoOperationEventsContainer/CargoOperationEventsContainer.tsx","components/PortCall/CargoOperationBody.tsx","hooks/useVisibility.ts","hooks/useWindowFocus.ts","components/PortCall/PortCall.tsx","components/PortCalls/PortCallListItem.tsx","components/MobileMenu/MobileMenuAction.tsx","components/MobileMenu/MobileMenuActionBig.tsx","components/MobileMenu/MobileMenu.tsx","components/PortCalls/PortCalls.tsx","components/AppMessage/AppMessage.tsx","hooks/useStoreFunctions.ts","components/EventSync/EventSync.tsx","components/Header/LocalPortTime.tsx","components/Header/OnlineStatus.tsx","components/Header/HeaderMenuAndTitle.tsx","hooks/useDev.ts","reducers/ChatReducer.tsx","blocks/Restricted/Restricted.tsx","components/Header/ChatAlert.tsx","reducers/ValidatorReducer.tsx","components/ValidationIssues/ValidationIssuesTable.tsx","components/Header/ValidationAlert.tsx","components/Header/Header.tsx","blocks/PageLayout/PageHeaderMobileMenu.tsx","blocks/PageLayout/PageHeader.tsx","components/EventQueue/Container.tsx","components/EventQueue/Item.tsx","components/EventQueue/index.tsx","components/Modals/SignOutModal.tsx","components/MainMenu/Main/MenuItem.tsx","blocks/Icons/ReportIcon.tsx","components/MainMenu/Main/MenuItems/ChatMenuItem.tsx","blocks/Icons/CombinedIcon.tsx","components/MainMenu/Main/MainMenu.tsx","components/MainMenu/Mini/MiniItem.tsx","hooks/useMessages.ts","components/MainMenu/Mini/MiniMenuItems/ChatMiniMenuItem.tsx","components/MainMenu/Mini/MiniMenu.tsx","components/MainMenu/Container.tsx","components/Reports/BunkerDeliveryNote/List.tsx","blocks/PageLayout/PageSection.tsx","blocks/AppModal/AppConfirmationModal.tsx","blocks/PageLayout/PageFooter.tsx","components/AppSearchField/AppSearchField.tsx","enums/FuelClass.ts","contextHooks/BdnReportContext.tsx","components/Reports/BunkerDeliveryNote/Edit/BdnItem.tsx","components/Reports/BunkerDeliveryNote/Edit/BdnItems.tsx","components/Reports/BunkerDeliveryNote/Edit/BdnRating.tsx","hooks/useIsIOS.ts","components/Reports/BunkerDeliveryNote/Edit/BdnAttachments.tsx","components/Reports/BunkerDeliveryNote/Edit/Edit.tsx","components/Reports/Log/List.tsx","components/Reports/Log/Edit/Modules/LogReportDateAndType.tsx","components/Reports/Log/Edit/Modules/LogReportDetails.tsx","components/Reports/Log/Edit/Types/TankBased.tsx","components/Reports/Log/Edit/Types/RobAndConsumptionBased.tsx","components/Reports/Log/Edit/Modules/LogReportDraftAndDisplacement.tsx","components/Reports/Log/Edit/Modules/LogReportEtaNextPort.tsx","components/Reports/Log/Edit/Edit.tsx","components/Settings/Settings.tsx","reducers/SofReducer.tsx","blocks/SofContainer/AddSigner.tsx","hooks/useBerthFunctions.ts","blocks/SofContainer/Container.tsx","blocks/AppChoiceGroup/AppChoice.tsx","blocks/AppChoiceGroup/AppChoiceGroup.tsx","blocks/SofContainer/SofDraftPicker.tsx","blocks/SofContainer/Picker.tsx","hooks/useTimeFunctions.ts","hooks/useSofHtml.tsx","blocks/SofContainer/Preview.tsx","blocks/SofContainer/PreviewCos.tsx","blocks/SofContainer/Signer.tsx","blocks/SofContainer/Signers.tsx","blocks/SofContainer/index.tsx","components/CargoPropsModal/CargoPropsModal.tsx","hooks/useSofFunctions.ts","components/CargoOperationTypePicker/CargoOperationTypePicker.tsx","blocks/SearchBox/SearchBox.tsx","hooks/useAppTable.ts","components/AppComboBox/AppComboBox.tsx","components/Reports/Voyage/Robs/Rob.tsx","components/Reports/Voyage/Robs/Robs.tsx","components/Reports/Voyage/Bdns/Bdn.tsx","components/Reports/Voyage/Bdns/Bdns.tsx","components/Reports/Voyage/Route/Route.tsx","enums/LogReportVesselState.ts","components/Reports/Voyage/Consumptions/Consumption.tsx","components/Reports/Voyage/Consumptions/Consumptions.tsx","components/Reports/Voyage/VoyageReportBody.tsx","blocks/AppPanel/AppPanel.tsx","components/VoyageReportPanel/VoyageReportPanel.tsx","blocks/DevMessage/DevMessage.tsx","components/Sof/List/SofListModal.tsx","reducers/CombinedSofReducer.tsx","components/Sof/CombinedSof/Picker.tsx","components/Sof/CombinedSof/PreviewCos.tsx","components/Sof/CombinedSof/Preview.tsx","hooks/useStatementOfFactsHtml.tsx","components/Sof/CombinedSof/Signer.tsx","components/Sof/CombinedSof/AddSigner.tsx","components/Sof/CombinedSof/Signers.tsx","components/Sof/CombinedSof/CombinedSofContainer.tsx","components/Chat/Modules/ChatCreateMessage.tsx","components/Chat/Modules/ChatMessage.tsx","components/Chat/Modules/ChatMessages.tsx","components/Chat/Chat.tsx","blocks/Editor/Editor.tsx","blocks/Emails/EmailRecipients/EmailRecipientsInput.tsx","blocks/Emails/EmailRecipients/EmailRecipients.tsx","blocks/Emails/EmailSubject/EmailSubject.tsx","hooks/useFileFunctions.ts","blocks/Emails/EmailAttachments/EmailAttachments.tsx","enums/EmailTemplateType.ts","components/Modals/SendEmailReportModal.tsx","components/AppFrontVessel/AppFrontConsumptionGraphItem.tsx","components/AppFrontVessel/AppFrontConsumptionGraph.tsx","blocks/AppLink/AppLinkHref.tsx","components/AppFrontVessel/AppFrontConsumption.tsx","components/AppFrontVessel/AppFrontSummary.tsx","components/AppFrontVessel/AppFrontVessel.tsx","components/AppFrontAgent/AppFrontPortCall.tsx","components/AppFrontAgent/AppFrontAgent.tsx","components/Reports/VoyageStandard/List.tsx","components/Notifications/GlobalNotification.tsx","components/Notifications/GlobalNotifications.tsx","components/Reports/FuelCorrection/Edit/Fields.tsx","components/Reports/FuelCorrection/Edit/Edit.tsx","contextHooks/ReportsContext.tsx","components/Reports/TankTransfers/List.tsx","contextHooks/TankTransferReportContext.tsx","components/Reports/TankTransfers/Edit/Edit.tsx","contextHooks/EditVoyageContext.tsx","components/AppSearchField/AppSearchBox.tsx","hooks/useScrollFunctions.ts","components/Panels/EditVoyagePanel/VoyagePortCall.tsx","components/Panels/EditVoyagePanel/VoyagePortCalls.tsx","components/Panels/EditVoyagePanel/VoyageDetails.tsx","components/Panels/EditVoyagePanel/VoyageCargo.tsx","components/Panels/EditVoyagePanel/VoyageCargos.tsx","components/Panels/EditVoyagePanel/EditVoyagePanel.tsx","components/Map/MapMarkerPort.tsx","components/Panels/AddPortCallPanel/AddPortCallPanel.tsx","components/Main/Main.tsx","contextHooks/GlobalContext.tsx","components/Main/Setup.tsx","components/App/App.tsx","hooks/useQueryParamFunctions.ts","components/PwaUpdate/PwaUpdate.tsx","index.tsx"],"names":["isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","setInterval","update","_","onupdatefound","installingWorker","installing","onstatechange","console","log","state","controller","onUpdate","onSuccess","catch","error","SofEventAction","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","isDev","origin","AppSettings","apiUrl","notificationUrl","EventApiStatus","EventSyncStatus","EventBaseType","BaseEvent","id","versionId","createdFrontend","baseType","syncError","syncDelay","syncStatus","Synced","setStatus","status","makeObservable","this","observable","action","CargoOperationType","SofEvent","flowId","templateId","name","eventDate","eventType","data","portCallId","cargoId","cargoPortId","cargoOperationId","cargoOperationType","remark","internalRemark","appUserId","logReportId","apiStatus","Ok","setApiStatus","setDataProperty","up","dataObject","find","internalName","value","push","dataType","setDataProperties","ups","forEach","Object","assign","Sof","eventHelpers","existingEvents","incommingEvents","eventsToDelete","c","NotFound","DateTime","fromJSDate","Date","diff","as","indexToDelete","findIndex","splice","a","b","aDate","set","second","millisecond","bDate","SofStatus","CargoOperation","operationType","Shore","quantityProcessed","unitsProcessed","shipsRequestedQuantity","shipsFigures","additionalQuantityProcessedInMt","events","conditions","cranes","storages","workTeam","needsSaving","addEvent","newEvent","slice","updateEvent","updatedEvent","newEvents","filter","Delete","setEvents","_events","map","cargoOperation","existingEvent","date1","updateQuantityAndUnitsProcessed","event","qtyData","unitsData","additonalQtyInMtData","setCondition","conditionId","outcomeId","clearCondition","setStorages","s","setProperties","co","undefined","Number","setNeedsSaving","sortedEvents","computed","statusText","start","init","p","ev","sort","length","lastEvent","toRelative","locale","sorted","reverse","PortCallStatus","created","version","vessel","voyageNumber","voyageReference","port","berths","commodity","charterer","loading","remarks","quantityUnit","measurement","quantity","draftAft","draftForward","grade","norTendered","cargoEvents","cargoOperations","Draft","signers","removeEvent","setCargoEvents","setCargoOperations","concat","getEvents","Cargo","groupId","reasonForCall","sof","addCargoOperation","removeCargoOperation","addSof","cargo","existingCargoOperation","updateNorTendered","ts","latestSof","cargoHelpers","existingCargos","incommingCargos","cargosToDelete","AppUserTypes","PortCall","agent","createdByApp","scheduledArrival","scheduledDeparture","arrived","departed","voyageId","cargos","reasonForCalls","vesselId","flow","combinedSofs","lastFetchedFromApi","multiCargoSelectIds","setLastFetchedFromApi","date","addCargo","removeCargo","updateMultiCargoSelectIds","cargoIds","updatePortAndDates","pc","updateDetails","existingCargo","setFlow","setVessel","setVesselAndFlow","setCombinedSofs","addCombinedSof","_combinedSofs","shouldFetchFromApi","arrivedOrScheduledArrival","departedOrScheduledDeparture","Finished","Active","Scheduled","ApiService","SK_Flow","SK_Token","SK_RefreshToken","SK_PortCalls","SK_EventFlow","isAuthtenticated","bearerToken","refreshToken","decodedToken","token","localStorage","getItem","setTokens","jwt_decode","setItem","logOut","getApiToken","getTokenStatus","isExpired","Promise","resolve","accessToken","renewToken","err","tokenStatus","now","refreshBy","reject","getValidationIssues","goFetch","json","expires","fromMillis","exp","plus","days","seconds","anonymous","isFiles","Accept","Authorization","customer_id","url","params","method","body","completeUrl","options","headers","getHeaders","fetch","ok","skipTake","skip","take","endPoint","sofId","type","reportDate","reportType","eventTemplateId","toISOString","bunkerDeliveryNoteId","attachments","JSON","stringify","tankId","arrival","get","email","statusCode","msg","sofEvent","tempEvent","parse","apiEvent","payload","username","password","packageJson","encodeURIComponent","registerUser","usernameOrEmail","emailAddress","code","voyage","portCall","report","emailId","emailTemplateType","createContext","PortCallSortType","AppStore","SK_Setup","appMessage","customer","user","isReadOnly","fuel","sofHtml","menuOpen","modalOpen","multiCargoOpen","sofModalOpen","combinedSofModalOpen","sofListModalOpen","cargoPropsModalOpen","cargoOperationTypePickerModalOpen","voyageReportPanelOpen","arrivalReportModalOpen","departureReportModalOpen","setup","saveToStorage","getDataFromStorage","setupData","storageKey","removeItem","toggleMenu","open","toggleModal","toggleSofModalOpen","toggleCombinedSofModalOpen","toggleSofListModalOpen","toggleCargoPropsModalOpen","toggleCargoOperationTypePickerModalOpen","toggleVoyageReportPanelOpen","toggleMultiCargoOpen","toggleArrivalEmailReportModalOpen","toggleDepartureEmailReportModalOpen","setAppMessage","isAgent","isVessel","setupOk","appUserType","Vessel","Agent","AppStartMode","PortCallStore","selectedPort","SK_Flows","SK_Vessels","portCalls","sortType","portCallSortType","getPortCallsFromStorage","storagePcs","storageFlows","storageVessels","flows","isProd","LZString","decompressFromUTF16","vessels","pcs","_pc","_flow","_vessel","setPortCalls","savePortCallsToStorage","_pcs","_flowsToSave","_vesselsToSave","_pcsToSave","compressToUTF16","setSelectedPort","addPortCall","removePortCall","pcsToDelete","updatePortCall","updateStorage","existingPc","resetLastedFetchedFromApi","toJSDate","sortedPortCalls","filteredPortCalls","excludedPortCallIds","includes","scheduledFromDate","_portCalls","VoyagenumberArrivedScheduledarrival","aVoyage","toString","padStart","bVoyage","Scheduledarrival","ApiEvent","onSentOk","Api","EventStore","SK_Events","eventQueue","getFlowFromStorage","ef","getEventsFromStorage","addToQueue","removeFromQueue","newQueue","numInSyncQueue","numInActiveSyncQueue","Paused","logReports","bdnReports","voyageReports","fuelCorrections","addReport","getLogReport","getBdn","updateReport","removeReport","setReports","reports","clearReports","getLogReportsForPortCall","types","useStores","appStore","useContext","portCallStore","api","eventStore","reportStore","ReportStore","SwrFetcher","response","errorText","Error","Component","styled","div","height","bgColor","ProgressBar","visible","color","ProgressIndicator","BtnStyle","root","backgroundColor","fontSize","fontFamily","borderColor","rootHovered","rootPressed","splitButtonMenuButton","width","borderLeft","margin","splitButtonDivider","display","AppPrimaryButton","props","PrimaryButton","styles","Container","borderless","regular","css","AppTextField","TextField","autoComplete","AppDefaultButton","DefaultButton","useStringFunctions","isEmpty","trim","combineStrings","allStrings","delimiter","join","convertBase64ToArrayBuffer","base64","binaryString","atob","binaryLen","bytes","Uint8Array","i","ascii","charCodeAt","getNumericValue","v","allowZero","onlyPositiveNumber","numericValue","parseFloat","replace","isNaN","isValidGUID","test","splitCamlCase","str","toUpperCase","toCapitalLetters","split","substring","toLowerCase","toLowerWithCapitalLetter","validateEmail","RegExp","useResize","minusHeight","rTime","useState","setHeight","timeOut","resizeEnd","setTimeout","innerHeight","handleResize","useEffect","addEventListener","removeEventListener","Body","Header","Message","TxtField","Buttons","Progress","Activate","changeMode","gettingCode","setGettingCode","activating","setActivating","mode","setMode","setError","setEmail","setCode","getCode","getActivationCode","activate","confirmActivationCode","src","onChange","newValue","text","style","disabled","onClick","Login","iconProps","iconName","barWidth","stale","barColor","altBarColor","Bar","duration","defaultHeight","Text","AnimatedBars","useRest","isForbidden","getError","defaultMessage","jsonOk","textOk","replaceAll","onLine","Footer","Support","pathName","userName","setUserName","pwd","setPwd","processing","setProcessing","autoLogin","setAutoLogin","passwordRef","cleanUp","select","login","r","errorMsg","href","tempEvents","tempChatLastSeen","clear","onKeyDown","key","componentRef","canRevealPassword","icon","faSignIn","cursor","ResetPassword","faLifeRing","faQuestionCircle","Register","firstname","lastname","company","mobile","setUser","target","required","input","setInput","resetPassword","Start","credentials","setCredentials","_mode","_userName","_password","useUrlFunctions","pathname","useLocation","getQueryParam","keys","search","startsWith","getObjectsByUrl","pId","cId","oId","urlParams","matchPath","path","active","PortCallHeaderTab","description","showDivider","className","faChevronRight","useVoyageFunctions","useVoyageRef","settings","useVoyageReference","getVoyageNumberOrReference","useDateFunctions","makeDateObject","timeZone","zone","toDateString","short","dateOnly","showSeconds","undefinedString","_date","toFormat","convertStringToDate","day","month","strings","numbers","year","monthIsString","dateFormat","dateString","fromFormat","isValid","getDuration","from","to","setSecondsToZero","unit","f","t","getDurationString","milliSeconds","fullText","showMinutes","d","Duration","dayTxt","hourTxt","minuteTxt","secondTxt","timeArray","timeString","getTimeFromString","hour","minute","isNumerbersOnly","isBewteenDates","canBeEqual","relativeDateString","useRelativeIfLessThan","timezone","lessThanMs","fromDurationLike","toMillis","Math","abs","useAppFunctions","getTimezone","portTimeZone","fixedTimezone","utc","zoneName","initialState","quickPortCallAddPanelOpen","Context","reducer","appSetup","editVoyageId","AppContextProvider","children","useReducer","dispatch","Provider","useAppProvider","logReportFields","isTankBasedRegistrationRequired","setEditVoyageId","toggleQuickPortCallAddPanel","CargoDirections","EventTriggerTypes","FlowItemType","SofEventType","Navigation","PortCallHeader","observer","useParams","history","useHistory","toLocaleLowerCase","faArrowDown","faArrowUp","toLocaleString","canEditVoyage","title","faPencil","AdditionalInfoContainer","useSofEventFunctions","allActivities","actions","isLevelFinished","template","Port","hasTrigger","EndPortcall","EndCargo","EndCargoOperation","getLastEventAndTemplate","lastTemplate","displayCoActivity","activity","coType","cargoOperationTypes","indexOf","getTemplate","getAdditionalProperty","convertToReadable","additionalProperty","getAdditionalPropertyValue","getAdditionalInfo","additionalInfo","StartBerth","berthPropertyValue","trigger","triggers","removeExcludedEvents","sofEvents","excludeFromSof","removeExcludedEvents2","convertFromClassToInterface","createEmpty","New","itemLevel","createNewVersion","toJS","getAdditionalData","toFixed","warn","index","getBerthCalls","berthCalls","startEvent","endEvent","EndBerth","berthCall","end","berth","_eventDate","_start","_end","getEventAfterInContainer","afterDate","eventsAfter","getEventByTrigger","first","getExtendedName","getLastEventInContainerBefore","beforeDate","eventsBefore","getLastEventByTriggerBeforeOrEqual","before","getNextActivities","direction","nextActivities","startActivities","Both","Event","Action","Condition","lastEventAndTemplate","outcomes","_nextActivities","_allActivities","suggestOnceOnly","Berth","outcome","nextIds","getTemplatesByTrigger","includedInLockedSof","included","allEvents","removeExcludedEventsFromSof","removeExcludedEventsFromStatementOfFact","cargoes","selectDefaultSofEvents","pcEvents","selectedEvents","cEvent","Array","Set","AppModalTransparent","isOpen","maxWidth","ErrorText","Working","ConfirmationModal","okText","commit","cancel","working","TxtInput","isError","TimeTextBox","inputRef","defaultDate","localValue","setLocalValue","processTimeString","time","newDate","startOf","ref","maxLength","inputMode","onBlur","result","onFocus","Main","useSolidBackground","Chevron","CustomDatePicker","DatePicker","TouchPicker","header","defaultLocalDate","setDefaultLocalDate","localDate","setLocalDate","timeRef","useRef","datePickerRef","changeDate","minutes","matchMedia","matches","current","Icon","_commit","showDatePickerPopup","firstDayOfWeek","DayOfWeek","Monday","onSelectDate","getDate","getMonth","getFullYear","calendarProps","overflowY","goTodayButton","fontWeight","calendarDayProps","dayCell","padding","dayButton","monthAndYear","paddingTop","calendarMonthProps","itemButton","DateTimePicker","showUtc","placeholder","onDateChanged","onTouchPickerToggled","useSolidPickerBackground","format","showIcon","setModalOpen","faCalendar","toUTC","readOnly","field","background","useNumberFunctions","hasValue","AdditionalNumber","dataField","additionalDescription","transfer","txtRef","pattern","isAdditional","faArrowLeft","useOutsideClick","callback","handleClick","contains","document","noOverlay","fadeIn","messageVisible","Loading","ErrorMessage","WarningMessage","clickable","SuccessMessage","ModalComponent","minWidth","AppModal","subTitle","dismiss","dismissText","errorMessage","warningMessage","successMessage","onWarningClick","modalRef","faTimes","stopPropagation","selected","Selected","AppDropDownOption","o","option","onSelect","label","faCheck","hasInfoBox","Clear","AppDropDown","valueDescription","hideClearButton","modalTitle","multi","link","onChanged","defaultSelectedValues","onChangedMulti","infoBox","selectedItems","setSelectedItems","isSelected","openModal","render","AdditionalString","CargoStatus","Wrapper","AdditionalBerth","setValue","otherValue","setOtherValue","additionalBerthOptions","allowMultiple","_value","useCargoFunctions","pcBerthCalls","pcBerthCall","getOpenCargoOperations","StarCargoOperation","getStatus","NotStarted","numMissingProperties","num","useUnits","enabled","useAdditionalQuantityProcessedInMt","useShipsRequestedQuantity","useShipsFigures","useDraft","useGrade","missing","missingRequired","additionalQtyProcessedInMtByCargoOperations","reduce","accumulator","quantityProcessedByCargoOperations","shipsFiguresInCargoOperations","shipsRequestedQuantityInCargoOperations","unitsProcessedByCargoOperations","property","AdditionalBoolean","Checkbox","checked","TxtContainer","AdditionalList","AdditionalPort","valueObject","useSofEventLayout","getAdditionalContainer","additionalDataField","PickerLink","AdditionalAskForNorTender","norCargo","values","CargoOperationStatus","AdditionalStorage","defaultStorages","useStorage","_storages","FlowActivityEventBaseTypes","useCargoOperationFunctions","createNew","newCo","uuidv4","hasEnabledProperties","useCrane","useWorkTeam","EventBodyRegisterRate","additionalFieldInternalName","additionalPropertyValue","EventBody","onNorCargoUpdate","onStoragesUpdate","getNumericValueFromCargo","getNumericValueFromCo","isStandard","eventBaseType","Standard","qtyProcessedByCos","unitsProcessedByCos","additionalQtyProcessedInMtByCos","getNumericValueFromObject","RegisterRate","additionalData","RegisterQty","RegisterShipsFigures","RegisterShipsRequestedQty","RegisterUnits","RegisterAdditionalQtyProcessedInMt","AskForStorage","AskForNorTender","Txt","EventRemarkModal","onCommit","onDismiss","localRemark","setLocalRemark","localInternalRemark","setLocalInternalRemark","activeType","setActiveType","showInternal","focus","autoFocus","multiline","autoAdjustHeight","usePortCallStatus","isBerthed","CoLink","span","CoRequired","createCoDisabled","requireAllFastAtAnchorOrBarge","useCargoOperationType","usePortCallsFunctions","md","getStoppagesForLevel","stoppages","IsDelay","endStoppageEvent","_template","EndDelay","fetchPortCalls","lastFetched","force","getPortCalls","getCurrent","getActive","getLatestDeparted","getDeparted","getNextScheduled","scheduledAfter","after","getScheduledAfter","getOpenCargos","StartCargo","getPreviousDeparted","departedOrScheduledDeparted","departedBefore","getDepartedBefore","getStoppages","sortPortCalls","LogReportType","AppLink","content","EventBodySameCargoEvents","setCargos","_cargoes","equals","findSameEventsInOtherCargos","paddingLeft","FakeCheckbox","useMediaQuery","query","mediaMatch","setMatches","handler","e","AppGridTableCell","rowId","cellPadding","noColumnBorder","column","getData","resolveData","obj","prev","curr","useGridTable","noPadding","textAlign","borderRight","table","columns","gridCellWidth","topBorder","noHoverColor","bottomBorder","blueHeader","smallHeader","NoData","AppGridTable","rowClick","rowError","selectedRow","hideHeader","emptyMessage","numShimmerRows","rowStyle","rowClassName","columnsToRender","exclude","cellId","Shimmer","rowData","classNames","_rowClassName","getRowClassNames","rStyle","preventDefault","StyledTable","EventResolverModal","currentCargo","currentCargoEvent","checkedIds","setCheckedIds","setData","smallScreen","isDisabled","eventToCreate","message","currentEv","_data","Update","item","useMultiCargoSofEventFunctions","isDirectionOk","Load","Discharge","handleExistingSingleEvent","originalEvent","additionalEvent","originalEventDate","tsMatch","_ev","getEventsToCrudInOtherCargos","additionalEvents","existingEventsInCargo","handleSingleEvent","handleExistingMultipleEvents","LogReportProperty","EventWarning","faWarning","LopWarning","eventHasChanged","setText","qtyProcessed","setQtyProcessed","setShipsFigures","_qtyProcessed","_shipsFigures","qtyDiff","allowedDiff","percentDiff","calculateDiff","faScaleUnbalanced","WidgetType","BeaufortScales","appHelper","course","geolocation","getCurrentPosition","degrees","deg","decimalDegrees","lat","absolute","floor","minutesNotTruncated","LogReportPropertyDefinitions","logReportProperty","Comments","widget","reportFieldName","Displacement","AppNumericField","NextPortCall","AppDropdown","displayValue","nextPortCall","onChangeValue","EtaNextPortCall","Course","displaySuffix","val","decimalPlaces","Distance","suffix","DraftAft","DraftMidShip","DraftForward","WindDirectionRelative","WindDirectionTrue","SpeedOverGround","SpeedThroughWater","Windforce","DeadweightCarried","CargoOnboard","FreshWaterRob","WaveHeight","WaveDirection","SpeedOfCurrent","DirectionOfCurrent","AverageSpeed","DistanceToGo","Position","useLogReportFunctions","showField","some","autoPopulateFields","logReport","autoLogReport","overwriteData","logReportProperties","tankBased","useConsumption","fieldsUpdated","autoPopulate","distance","lng","draftMidShip","speedSog","averageSpeed","cargoOnboard","Consumptions","tankConsumptions","RemainingOnboard","tankRobs","OilTankRob","oilTankRobs","ShoreSideElectricity","electricities","fieldIsRequired","isTankAvailable","vesselTank","initialTankStateDate","okToSave","tank","engine","consumed","duplicate","tc","tanks","totalRob","consumptions","robs","qty","receivedKwh","rob","requiredFieldsOk","propsToCheck","messages","specialCheck","def","showFields","properties","verifyTanks","tr","vTank","dateAndTime","useVesselFunctions","tanksInitiationDate","initiatedTanks","getReportMeasurement","customerId","voyageReportTypeCutoffDate","tankInitiated","tanksInitiated","_tanksInitiationDate","previousReport","eventTemplate","touched","LogReportContextProvider","useLogReportProvider","tankBasedRegistrationRequired","showTankBasedConsumption","showTankBasedRob","showFuelBasedConsumption","showFuelBasedRob","setReport","setPreviousReport","setEventTemplate","setTouched","hasFocus","setHasFocus","wholeNumbersOnly","onWheel","currentTarget","blur","ctrlKey","validate","MapOptionsDark","fullscreenControl","maxZoom","minZoom","zoomControl","cameraControl","ZoomControls","ZoomButton","Map","zoom","center","markers","zoomChanged","mapRef","mapsRef","zoomMap","zoomIn","currentZoom","newZoom","setZoom","_center","onZoomAnimationEnd","bootstrapURLKeys","yesIWantToUseGoogleMapApiInternals","onGoogleApiLoaded","maps","onChildClick","hoverKey","childProps","m","faPlus","faMinus","CoordinateType","Info","MapMarker","info","faMapMarkerAlt","Input","inputType","Dms","Desc","GeoLocation","validDirections","isLat","setDegrees","setMinutes","setSeconds","setDirections","setIsError","updateOnChange","_dd","getDegrees","_d","_m","_s","dd","_deg","_dms","_dmm","setInputValues","useEnumFunctions","convertToKeyValuePair","_enum","excludedIds","disabledIds","MapMarkerInfo","PositionMapPicker","position","getPosition","fetchPosition","enableHighAccuracy","timeout","maximumAge","geoLocation","useGeolocation","dirty","setDirty","setInfo","setPosition","fetchingGeoPosition","setFetchingGeoPosition","fetchingAisPosition","setFetchingAisPosition","setInputType","windowHeight","getGeoPosition","coords","accuracy","latitude","longitude","getAisPosition","_aisPosition","tz","lastPositionUtc","coordinateType","h","getHeight","faCrosshairs","faTowerCell","LogReportPosition","renderAs","useBoolean","mapDialogOpen","toggleMapDialogOpen","toggle","faCircle","useInlineReports","renderProperty","propertyDef","dropDownOptions","renderTextField","renderNumericField","renderDateTimePicker","renderDropDown","Box","Left","Fields","IconContainer","Consumption","onDeleted","engines","rpm","ConsumptionInline","faClose","inline","TankState","CalloutBody","TankPicker","hideDescription","hideRobBelowWidth","tanksInitiatedBefore","missingInitiationBeforeDateMessage","selectedTank","enableAllTanks","sumNumbers","getUniqueDates","dateArray","n","getUniqueNumbers","numberArray","getUniqueStrings","stringArray","fetching","setFetching","tankState","setTankState","calloutOpen","toggleCalloutOpen","calloutButtinId","useId","hideRob","getTankState","_tank","tankStateFuelRobs","remainingOnBoard","minimumFractionDigits","Callout","boxShadow","TankConsumption","TankConsumptionInline","TankConsumptions","EventBodyLogReportConsumption","show","showCompabilityMessage","Rob","RobType","RobInline","Robs","FuelRob","tankRob","onDelete","measuredTankRob","setMeasuredTankRob","formOk","isNew","faTrashAlt","descriptions","fuelRobs","MyCbx","AppCheckBox","FuelRobs","TankRob","modalState","setModalState","isTankInitiation","clearModalState","sum","_tr","sounding","cbxEv","mtr","measuredTankRobs","itemToDelete","TankRobInline","lineHeight","whiteSpace","overflowX","textOverflow","TankRobs","EventBodyLogReportRob","Log","Electricity","electricity","ElectricityInline","smallerThanLargeScreen","smallerThanMediumScreen","Electricities","EventBodyLogReportShoreElectricity","DateString","EventBodyLogReportComments","comments","OilTankRobInline","oilTankRob","oilTanks","OilTankRobs","EventBodyLogReportOilRob","ConfirmationModalNew","Dialog","hidden","dialogContentProps","subText","main","borderRadius","DialogFooter","EventBodyLogReport","eventIsNew","setLogReport","setAutoLogReport","loadingReport","setLoadingReport","autoPopulating","setAutoPopulating","autoPopulateDialogOpen","toggleAutoPopulateDialogOpen","getDropdownOptionsForProperty","getFilteredPortCalls","createNewLogReport","isLeg","sofEventId","logReportType","modified","overwrite","getLogReportAutoPopulateData","autoCreateLogReport","_reports","getPreviousReport","autoPopulateResult","faClipboard","Spinner","circle","returnUrl","legFrom","legTo","tempReport","useRob","faMagicWandSparkles","expanded","arrowColor","EventLayoutHeader","timeWarning","isDelay","isEndDelay","locked","getDescription","getInfo","faPause","faPlay","faChartLine","opacity","faLock","RequiredText","Save","Actions","expandedStyle","maxHeight","transition","visibility","collapsedStyle","EventLayout","highlighted","durationToNextEventInMs","EventLayoutInner","logReportOkToSave","logReportRequiredFieldsOk","logReportTouched","setLogReportTouched","setEvent","setExpanded","deleteModalOpen","setDeleteModalOpen","remarkModalOpen","setRemarkModalOpen","lockedWarningOpen","setLockedWarningOpen","setTimeWarning","preSaveError","setPreSaveError","resolveEventsModalProps","setResolveEventsModalProps","multiCargoSelectEnabled","useMultiCargoEventRegistration","saveButtonId","hasRemark","eventAnchor","setNorCargo","toggleBody","updateProperty","_event","prop","updateProperties","updatedProperties","isArray","saveNorEvents","norEventTemplate","SetNorTendered","_cargo","_existingNorEvent","_newEvent","saveEvent","getStorages","createEmailAppMessage","ttl","alsoSaveNorEvents","_co","_eventsFromOtherCargoes","saveSingleEvent","_syncDelay","handleEmailReportTrigger","_logReport","rApiEvent","Queued","saveLogReport","StartPortcall","updateCo","coApiEvent","clearConditions","cc","activeFlow","requiredOk","valOther","rateCargoOnboard","goToCargo","goToCargoOperation","txt","openStoppages","openCargos","pcStarteEventTemplates","pcStartEvent","startBerthEventTemplates","lastStartBerthEvent","openCargoOperations","check","checkRequired","useArrivalEmailReport","ArrivalReportEmail","getTime","useDepartureEmailReport","DepartureReportEmail","setInitialAdditionalDataFromObjects","container","getElementById","eventsContainer","_scrollTo","offsetTop","scrollTo","behavior","top","eventBefore","eventAfter","checkEventDate","propsTriggerEventUpdates","propsToUpdate","requiresCargoOperation","faStopwatch","faMessage","faCommentAlt","faEllipsis","left","askForEospReport","Eosp","toISO","askForSospReport","Sosp","askForArrivalBerthReport","Arrival","askForDepartureBerthReport","Departure","showAfterSaveMessage","idSelected","collpased","Choices","RadioChecked","Next","ConditionLayout","setNextActivities","selectedId","setSelectedId","collapsed","setCollapsed","_conditionOutcome","cargoDirection","faQuestion","faCaretDown","activities","NextActivities","highlightedId","all","displaySorting","renderNext","Activities","EventPicker","disabledActivities","getSubTitle","localeCompare","isEndCargo","EventsContainer","pickedEvent","setPickedEvent","levelFinished","levelHasEventTemplates","marginRight","useOnelineStatus","statusChanged","handleOffline","handleOnline","Offline","online","setOnline","Indicator","IndicatorContainer","ActionButton","indicator","indicatorStatus","VoyageReportTypes","Right","ActionsButtons","right","MenuBody","PortCallActionsReportsMenu","isReportActiveInline","portCallNoonReports","Noon","navigate","items","voyageReportType","Simple","faRoute","hide","faStop","faDroplet","faSun","nr","faPaperPlane","directionalHint","DirectionalHint","topCenter","gapSpace","hasChildren","PortCallActions","reportMenuOpen","toggleReportMenu","pcSofAnchorId","pcReportAnchorId","faFileLines","ErrorContainer","PortBerthEventsContainer","enforceRfcMsg","setEnforceRfcMsg","enforceReasonForCall","cargoLoadingMissing","cargoDischargingMissing","isPlural","marginBottom","reasonForCallValidated","CargoListItem","faBoxOpen","faBox","faCartArrowDown","faUserTie","Empty","CargoList","cargoSelected","PortCallBody","DeleteCargoOperationModal","allowDeleteCargoOperationWithEvents","CargoActions","numMissingCargoProps","createNewCo","numMissingCoProps","deleteCoOpen","setDeleteCoOpen","reportAnchorId","missingCargoProps","missingCoProps","totalMissingProps","totalMissingRequiredProps","coLevelHasEventTemplates","isWarning","MultiCargoPickerDialog","selectedIds","setSelectedIds","load","disch","uniqueCids","_option","MultiCargoRegistrationContainer","MultiCargoRegistration","getText","_uniqueCids","faCheckDouble","CargoEventsContainer","CargoOperationListItem","coStatus","faArrowAltCircleDown","faArrowAltCircleUp","CargoOperationsList","cargoOperationSelected","CargoBody","CoPropsDisplay","faTools","CargoOperationEventsContainer","CargoOperationBody","useVisibility","callBack","handleChange","useWindowFocus","handleFocused","handleBlurred","setLoading","fetchText","setFetchText","voyageHasChanged","setVoyageHasChanged","shouldFetch","fetchFlow","getFlow","fetchLogReports","getLogReports","fetchBdns","getBdns","fetchCombinedSofs","getCombinedSofs","fetchPortCall","getPortCall","promises","getVesselFlow","exact","finished","Detail","Reports","PortCallListItem","selectedPc","bdns","timeStringTitle","faGlobeEurope","faClock","previous","getDurationBetweenPortCalls","marked","MobileMenuAction","MobileMenuActionBig","MobileRightList","MobileMenu","menuRef","cargoOpen","setCargoOpen","cargoOperationsOpen","setCargoOperationsOpen","isCalloutVisible","toggleIsCalloutVisible","toggleDeleteCoOpen","buttonId","navigateToReport","reportItems","faStream","faCogs","List","NoPortCall","Archive","PortCalls","archiveRendered","renderArchived","bottom","TimeoutBar","AppMessage","setMessage","clearMessage","clearTimeout","titleExists","useStoreFunctions","getOriginalEvent","EventSync","syncing","setSyncing","sending","setSending","updateEventStatus","updateOriginalEvent","syncEvent","delay","Syncing","postSofEvent","sendApiEvent","paddingRight","LocalPortTime","setTs","updateTime","tickInterval","clearInterval","OnlineStatus","faWifi","faSlash","MenuButton","Title","HeaderMenuAndTitle","useDev","chatState","HubConnectionState","Disconnected","messageQueue","sortMessages","_messages","_sorted","chat","clientId","updatedMessage","lastSeen","ChatContext","companyId","messagesRef","setupConnection","_companyId","_token","stop","_chat","signalR","withUrl","accessTokenFactory","transport","WebSockets","withAutomaticReconnect","configureLogging","Critical","build","onclose","onreconnecting","onreconnected","startConnection","sendMessage","chatMessage","invoke","Connected","useChatContext","unread","lastSeenMessageCreated","sentFromApp","setMessages","setChatState","addMessage","removeMessage","updateMessage","setLastSeen","Restricted","requiredUserType","hideRestrictedMessage","faUserLock","ChatAlert","faCommentDots","issues","ValidatorContext","useValidatorContext","setIssues","ValidationIssuesTable","issue","RefreshButton","NoItems","ValidationAlert","lastCheck","setLastCheck","deactivated","_validationIssues","showAppMessage","focused","fetchTimeout","fetchInterval","faExclamationTriangle","faRefresh","PageHeaderMobileMenu","menuVisible","setMenuVisible","menuButtonId","faBars","SubTitle","PageHeader","EventsTable","EventQueue","Item","deleteDialogOpen","setDeleteDialogOpen","viewErrorModalOpen","setViewErrorModalOpen","Link","marginTop","SignOutModal","textDecoration","Locked","MenuItem","lightBackground","ReportIcon","faIcon","faRegistered","ChatMenuItem","CombinedIcon","mainIcon","smallIcon","BodyOpen","MenuItems","MenuGroupHeader","Details","MainMenu","signOutClick","close","storageUsed","setStorageUsed","bodyRef","total","x","getLocalStorageSize","faTint","faExchange","faCog","faSignOutAlt","MiniItem","useMessages","callBackAction","on","off","ChatMiniMenuItem","containerId","getMessages","getChatMessages","connectChat","Connecting","audio","Audio","volume","play","storageValue","Items","MiniMenu","faHome","MainMenuContainer","signOutModalOpen","setSignOutModalOpen","toggleSignOutModal","BunkerDeliveryNotes","queryIds","updatedId","deletedId","xsScreen","faPaperclip","supplier","commenced","completed","getReports","_updated","emptyBody","PageSection","bodyContainerStyle","AppConfirmationModal","PageFooter","FuelClass","Results","ItemDescription","Search","AppSearchField","defaultValue","keyProp","titleProp","descriptionProp","onSelected","minLengthBeforeSearhing","translateSearchResults","customResult","additionalQueryParams","resultsPosition","searchString","setSearchString","displayString","setDisplayString","searching","setSearching","results","setResults","bdn","BdnReportContextProvider","useBdnReportProvider","calculatedCommenced","includedItems","calculatedCompleted","setBdn","BdnItem","isDebunkering","debunkeringComment","bdnNumber","delivered","received","density","sulphurContent","fuelClass","Fossil","Others","lcv","ghg","proofOfSustainabilityReference","tankWasEmptyBeforeBunkering","BdnItems","_items","Rating","BdnRating","rating","isFilled","useIsIOS","checkForIOS","platform","BdnAttachments","onAsync","bdnAttachments","setBdnAttachments","fileToDelete","setFileToDelete","getMimeTypeFromAttachment","fileExtension","stdMimeValue","mimeValue","mime","lookup","downloadAttachment","downloadBdnAttachment","blob","Blob","createElement","download","URL","createObjectURL","setAttribute","appendChild","click","removeChild","fileURL","openAttachment","handleFileSelect","files","allFiles","file","fileName","reader","FileReader","readAsDataURL","onload","fileInfo","uploadBdnAttachments","attachment","uploadFiles","multiple","getFileTypeIconProps","extension","pop","size","imageFileType","Fetching","Warning","FormItem","hasButton","FormItemFullWidth","BunkerDeliveryNoteForm","saveWarningOpen","setSaveWarningOpen","attachmentAsyncOperation","setattachmentAsyncOperation","isFind","createReport","_report","save","showWarning","_bdn","bdnAttachmentRequired","bdnItem","fetchReportFromApi","findBdn","getReport","faExclamationCircle","faInfoCircle","faSave","flexWrap","_portCall","supplierVessel","asyncOperation","minHeight","comment","LogReports","timeZoneInfo","marginLeft","letterSpacing","getPortLeg","LogReportDateAndType","getLogTypeDescription","Delivery","Redelivery","etaNextPortCall","LogReportDetails","distanceToGo","speedStw","windDirectionTrue","windDirectionRelative","windForce","waveHeight","waveDirection","speedOfCurrent","directionOfCurrent","deadweightCarried","freshWaterRob","TankInitInfo","TankBased","measuredRobs","RobAndConsumptionBased","LogReportDraftAndDisplacement","displacement","LogReportEtaNextPort","Information","LogReportForm","infoMessage","setInfoMessage","tId","dt","evId","autoPopulateReport","checkForm","fromPc","toPc","checkPortCalls","updateRelatedEvent","saveRelatedEvent","apiResult","updateTankStates","getAppSetup","findLogReport","getInfoMessage","Settings","setWorking","cacheResult","setCacheResult","refreshMasterData","caches","k","delete","userAgent","visualViewport","draftOptions","SofContext","useSofContext","setSof","setDraftOptions","SignerForm","CbxSigner","AddSigner","getNewSigner","isSigner","firstName","lastName","signer","setSigner","bottomAnchor","scrollIntoView","onRenderLabel","useBerthFunctions","getDepartureReport","Status","MissingProps","Content","Print","getPcBerthCalls","getCargoBerthCalls","isCommitMenuOpen","setIsCommitMenuOpen","step","setStep","hasMissingProps","setHasMissingProps","lockModalOpen","setLockModalOpen","previewRef","commitButtonId","openPdf","downloadPdf","downloadSofPdf","refreshSof","getSof","createSof","cargoBerthCalls","newSof","departureReport","aft","forward","agentSigners","users","saveSof","startEsign","getMissingProps","esignEnabled","useEsign","faSignature","getCommit","faPrint","onPrintError","onAfterPrint","Signing","SigningCancelled","SigningRejected","SigningTimedOut","Signed","SofComponents","Picker","Preview","Signers","AppChoice","optionKey","AppChoiceGroup","selectedKey","OptionLabel","SofDraftPicker","draftKey","setDraftKey","maximumFractionDigits","CbxLabel","_sof","isChecked","useTimeFunctions","getDateString","shortFormat","_from","getDurationTimeString","useSofHtml","Events","EventHeaders","EventOuter","replaceValue","html","getLogReportData","subItem","generateSofHtml","excludeConsumptionData","excludeConsumptionDataFromSof","renderedCos","cosToRender","remainingCosToRender","reportData","PreviewCos","cos","renderToString","replaceValues","flat","workTeams","qtyBooked","address","zip","city","country","phone","WaterMark","setSofHtml","dangerouslySetInnerHTML","__html","CoContainer","CoHeader","getHeader","NameAndEmail","Tag","Remove","Signer","canToggle","_signers","remove","NoSigners","Remarks","Properties","CargoPropsModal","isLocked","numHasValue","localCargo","setLocalCargo","localCargoOperation","setLocalCargoOperation","cargoQtyProcessed","cargoUnitsProcessed","cargoShipsFigures","cargoShipsRequestedQty","cargoAdditionalQtyProcessedInMt","saveProps","getPlaceholderAndDescriptionForCargoOperationName","Barge","CaptainsBarge","TransShipment","_cranes","Option","CoDetails","CargoOperationTypePicker","coName","setCoName","selectedCoType","setSelectedCoType","getPlaceholderName","SearchContainer","SearchBoxResultItem","DisplayBox","SelectedItemStyle","SearchBox","placeHolder","maxResultsContainerHeight","selectedIndex","setSelectedIndex","searchStringChanged","setSearchStringChanged","lastValue","setLastValue","containerRef","resultsRef","createGridTemplate","gridTemplates","getColumnWidth","columnsWithWidth","columnsWithOutWidth","useAppTable","selectIndex","next","newIndex","keyDown","AppComboBox","hasKey","selectedKeys","Dropdown","caretDownWrapper","dropdownItem","dropdownItemSelected","_fuel","SearchResultItem","Bdn","unLoCode","_item","Bdns","LogReportVesselState","PortCallContainer","EndDot","Route","useUtc","departurePortCall","firstPortCall","lastPortCall","consumption","SubHeader","VoyageReportBody","useLocalTime","setUseLocalTime","Toggle","onText","offText","preDistance","_rob","_r","_consumptions","_c","_consumption","_bdns","bunkerDeliveryNotes","_bdnItem","End","Saving","AppPanel","customWidth","saving","commitText","Panel","PanelType","custom","isLightDismiss","hasCloseButton","onOuterClick","overlayProps","isDarkThemed","overlay","commands","VoyageReportPanel","setSaving","deleting","setDeleting","deleteConfirmationOpen","setDeleteConfirmationOpen","getVoyageReport","saveReport","saveVoyageReport","deleteReport","deleteVoyageReport","reference","faFilePdf","downloadVoyageReportSimplePdf","DevMessage","setHidden","Version","SofListModal","onCombinedSofClicked","onCreateCombinedSof","selectedCargoIds","setSelectedCargoIds","firstSelectedCargo","itemClicked","CombinedSofContext","useCombinedSofContext","setPortCall","getCargo","getSubHeader","portAndCargoEvents","blQty","shipsReqQty","dateNorts","useStatementOfFactsHtml","CombinedSofContainer","combinedSofId","composeFromCargoIds","downloadCombinedSofPdf","getCombinedSof","selectedCargoes","dbId","_allInvolvedEvents","_allInvolvedEventsUnique","sofCargoIds","allCargoBerthCalls","cbc","allInvolvedCargoEvents","allCargoEvents","sameCargoEvents","dataFromAllSameEvents","sameEvent","sameEventCargo","composedSofId","InnerContainer","ChatCreateMessage","appSenderId","appSender","resizable","fieldGroup","border","borderBottom","shiftKey","faLocationArrow","isMe","ChatMessage","isString","String","userSender","faHourglass","isOverflowing","EnableMessage","ChatMessages","setIsOverflowing","scrollBy","scrollHeight","clientHeight","Chat","faPlug","faPlugCircleXmark","Disconnecting","Reconnecting","Quill","ImageCompress","BlotFormatter","TxtEditor","Editor","disableImagePicker","theme","modules","blotFormatter","imageCompress","quality","imageType","debug","suppressErrorLogging","insertIntoEditor","toolbar","EmailRecipientsInput","refSet","onAdd","onRemoveLast","toggleHasFocus","inputValue","setInputValue","inputId","validateEmails","_search","_valid","trimmed","_serachSplitted","EmailRecipients","showAddress","recipients","newRecipients","_recipients","EmailSubject","useFileFunctions","getExtension","filename","getFileSize","decimals","dm","sizes","pow","getFileSizeInMegaBytes","megaByte","EmailTemplateType","TooLarge","EmailAttachments","tooLarge","totalSize","onAttachmentClick","EmailAttachment","classes","getClasses","SendEmailReportModal","toggleFetching","toggleSending","setErrorMessage","setWarningMessage","showAddresses","toggleAddresses","setAttachments","inputAttachmentsRef","send","createEmail","createdEmail","FormData","append","uploadEmailAttachments","queueEmail","ArrivalReport","attachmentsSize","attachmentsTooLarge","addAttachments","_attachments","getEmailTemplate","htmlFor","faEye","faEyeSlash","ccRecipients","toRecipients","subject","FileDrop","onDrop","AppFrontConsumptionGraphItem","leg","barId","bottomCenter","fromPort","faArrowRightLong","toPort","durationDepartureArrivalMinutes","distanceDepartureArrival","avgSpeedSogDepartureArrival","totalConsumedDepartureArrival","consumedDepartureArrival","AppFrontConsumptionGraph","legs","max","setMax","consumptionPrNm","consNm","barHeight","barLeftPosition","AppLinkHref","AppFrontConsumption","setLegs","fetchingLegs","setFetchingLegs","fetchingPortCalls","setFetchingPortCalls","legsExpanded","setLegsExpanded","portCallsExpanded","setPortCallsExpanded","legsAllZero","portCallsAllZero","totalConsumedArrivalDeparture","fetchLegs","getDwhLegs","_legs","getDwhPortCalls","legColumns","fromPortCall","toPortCall","portCallColumns","durationArrivalDepartureMinutes","faChevronUp","faChevronDown","AppFrontSummary","setPcs","faTruckRampBox","AppFrontVessel","highlight","AppFrontPortCall","faTruckLoading","AppFrontAgent","Ballast","VoyageReports","voyages","setVoyages","companyUsesVoyageReference","downloadReport","downloadVoyageStandardReport","triggerDownload","ballastPortCall","last","getVoyages","_voyages","Close","GlobalNotification","startTimeout","destroyAnimationTimeout","endTimeout","notification","onDestroy","setShow","showDestroyAnimation","setShowDestroyAnimation","isSystemMessage","nowDate","sysMessage","startDate","endDate","diffNow","playSound","dismissable","dismissSystemMessage","NotificationListContainer","GlobalNotifications","notifications","setNotifications","fetchingSystemMessages","setFetchingSystemMessages","notificationsRef","signalRMessageFromSystemMessage","speak","handleSignalRMessage","showInApp","getSystemMessages","notificationList","sysmessage","FuelCorrectionFields","correctionDate","amount","FuelCorrectionForm","fuelCorrection","setFuelCorrection","getFuelCorrection","_fuelCorrection","tankTransferReports","ReportsContextProvider","useReportProvider","setTankTransferReports","TankTransfers","fromTank","toTank","getTankTransfers","TankTransferReportContext","useTankTransferReportProvider","TankTransferForm","vFromTank","vToTank","getTankTransfer","EditVoyageContextProvider","useEditVoyageProvider","warningNumPortCalls","maxPortCallsAllowed","setVoyage","setCargo","setReasonForCalls","resolved","AppSearchBox","customTitle","itemPadding","customResultTitle","customResultDescription","child","elementTop","elementBottom","containerTop","scrollTop","setNoResults","previousValue","setPreviousValue","selectedResult","_title","getTitle","faCheckCircle","transform","isBeakVisible","bottomLeftEdge","beak","SearchResult","VoyagePortCall","disableWhenWorking","updatedPortCall","saveVoyagePortCall","frontEndId","deletePortCall","deleteVoyagePortCall","getUpdatedScheduledDeparture","sArrival","sDeparture","hours","SpinnerSize","xSmall","faRemove","overflow","dropdownOptionText","multiSelect","_rfcs","itemType","SelectableOptionMenuItemType","Divider","getRfcOptions","pcRfcs","TooSmall","VoyagePortCalls","_portcalls","VoyageDetails","voyageNumberGenerated","setVoyageNumberGenerated","setVoyageNumber","toggleDeleteDialogOpen","generateError","setGenerateError","portCallsRef","voyageRef","generateVoyageNumber","_voyageNumber","saveVoyage","_voyage","deleteVoyage","small","PortCallOption","VoyageCargo","updatedCargo","cargoPorts","cp","saveVoyageCargo","_cargos","deleteCargo","deleteVoyageCargo","ddStyles","dropdownItemDisabled","dropdownItemSelectedAndDisabled","defaultMeasurement","_cargoPorts","_cargoPort","onRenderOption","VoyageCargos","EditVoyagePanel","warning","setWarning","getVoyageData","getVoyage","getVoyagePortCalls","getVoyageCargo","getRfcs","getReasonForCalls","_reasonForCalls","MapMarkerPort","faAnchor","PortSearchResult","AddPortCallPanel","setPort","ports","setPorts","aisPosition","setAisPosition","rfcs","setRfcs","fetchingClosestPorts","setFetchingClosestPorts","fetchingVoyages","setFetchingVoyages","fetchingRfcs","setFetchingRfcs","adding","setAdding","confirmDialogOpen","toggleConfirmDialogOpen","centerCoords","setCenterCoords","mapPorts","setMapPorts","noPortsMessage","setNoPortsMessage","setSkipTake","getClosestPorts","_closestPorts","_ports","uniquePorts","self","_mapPorts","unshift","fetchingPortcalls","setFechingPortCalls","combinedSofState","setCombinedSofState","appVisible","appFocused","fetchReportsFromApi","_logReports","fetchPortCallsFromApi","fetchFlowFromApi","fetchIntervalFlow","chatEnabled","existingCombinedSofs","existing","every","DepartureReport","GlobalContext","SettingUp","Setup","setupApp","_error","initializeIcons","initializeFileTypeIcons","App","actAs","fetcher","PwaUpdate","updateBar","querySelector","ReactDOM","StrictMode","process","contentType","ready","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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TC,aAAa,EACbC,eAAe,EACf93B,OAAQ,CACJ,CACI,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,yBACf,YAAe,kBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,6BACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,0BACf,YAAe,kBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,qBACf,YAAe,kBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,oBACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,MACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,MACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,MACf,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,WACf,YAAe,gBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,WACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,OACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,OACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,OACf,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,kBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,UACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,UACf,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,gBACf,QAAW,CACP,CACI,MAAS,aAI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","file":"static/js/main.93363115.chunk.js","sourcesContent":["// 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://cra.link/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(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\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\r\n // console.log(\"Registering\", process.env.NODE_ENV);\r\n\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // if (process.env.NODE_ENV === 'development' && 'serviceWorker' in navigator) {\r\n\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\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 console.log(\"LOCALHOST\");\r\n\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://cra.link/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\r\n // console.log(\"Registered SW\");\r\n \r\n //Not tested to see if this works\r\n setInterval(() => {\r\n // console.log(\"Checking for update...\");\r\n \r\n registration.update()\r\n .then(_ => {\r\n // console.log(\"registration update callback\", _);\r\n \r\n\r\n });\r\n\r\n // console.log(\"Done checking for update...\"); \r\n }, (1000 * 60) * 120);\r\n \r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n \r\n if (installingWorker == null) {\r\n // console.log(\"Installing worker is null\");\r\n return;\r\n }\r\n\r\n // console.log(\"Update found\");\r\n \r\n\r\n\r\n installingWorker.onstatechange = () => {\r\n\r\n console.log(\"InstallingWorker state changes to\", installingWorker.state);\r\n \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://cra.link/PWA.'\r\n );\r\n\r\n\r\n // console.log(\"Checking config\", config);\r\n\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n // console.log(\"Executing callback\");\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 else {\r\n // console.log(\"Not installed\");\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\r\n // console.log(\"FETCH VALID SERVICE WORKER\", response);\r\n\r\n\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\r\n // console.log(\"RESPONSE 404\");\r\n\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\r\n // console.log(\"FETCHED SW\");\r\n\r\n\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\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 { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","export enum SofEventAction {\r\n New = 10,\r\n Update = 20,\r\n Delete = 30\r\n}","// Check for dev\r\nconst isDev = window.location.origin !== \"https://app.theship.no\";\r\n\r\n// const apiUrl = isDev ? \"https://localhost:44328/rest\" : \"https://api.theship.no/rest\";\r\n// const notificationUrl = isDev ? \"https://localhost:44358/message\" : \"https://tssofcoremessages.azurewebsites.net/message\";\r\n\r\nconst apiUrl = isDev ? \"https://dev-api.theship.no/rest\" : \"https://api.theship.no/rest\";\r\nconst notificationUrl = isDev ? \"https://tssofcoremessagesdev.azurewebsites.net/message\" : \"https://tssofcoremessages.azurewebsites.net/message\";\r\n\r\nexport const AppSettings = {\r\n apiUrl,\r\n notificationUrl\r\n};","export enum EventApiStatus {\r\n Ok,\r\n NotFound\r\n}","export enum EventSyncStatus {\r\n Paused,\r\n Queued,\r\n Syncing,\r\n Synced\r\n}","import { action, makeObservable, observable } from \"mobx\";\r\nimport { EventBaseType } from \"../enums/EventBaseType\";\r\nimport { EventSyncStatus } from \"../enums/EventSyncStatus\";\r\n\r\nexport class BaseEvent {\r\n id!: string\r\n versionId!: string\r\n createdFrontend!: Date\r\n baseType!: EventBaseType\r\n syncError?: string\r\n syncDelay?: number\r\n\r\n // Front end only, delete before posting to api\r\n syncStatus: EventSyncStatus = EventSyncStatus.Synced\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n syncStatus: observable,\r\n syncDelay: observable,\r\n id: observable,\r\n syncError: observable,\r\n setStatus: action\r\n });\r\n }\r\n\r\n setStatus = (status: EventSyncStatus, syncError?: string) => {\r\n this.syncStatus = status;\r\n if (syncError) {\r\n this.syncError = syncError;\r\n }\r\n }\r\n}","export enum EventBaseType {\r\n Api,\r\n Sof\r\n}","import { action, makeObservable, observable } from 'mobx';\r\nimport { SofEventAction } from \"../enums/SofEventAction\";\r\nimport { SofEventType } from '../enums/SofEventType';\r\nimport { ISofEventDataField } from '../interfaces/ISofEventDataField';\r\nimport { IUpdatedProperty } from '../interfaces/IUpdatedProperty';\r\nimport { EventApiStatus } from \"../enums/EventApiStatus\";\r\nimport { CargoOperationType } from '../enums/CargoOperationType';\r\nimport { BaseEvent } from './BaseEvent';\r\nimport { EventBaseType } from '../enums/EventBaseType';\r\n\r\nexport class SofEvent extends BaseEvent {\r\n // Is added on save\r\n flowId!: number\r\n templateId!: string\r\n\r\n name!: string\r\n eventDate!: Date\r\n action!: SofEventAction\r\n eventType!: SofEventType\r\n data: ISofEventDataField[] = []\r\n portCallId!: number\r\n cargoId?: number\r\n cargoPortId?: number\r\n cargoOperationId?: string\r\n cargoOperationType?: CargoOperationType\r\n remark?: string\r\n internalRemark?: string\r\n appUserId?: number\r\n logReportId?: string\r\n\r\n // Front end only, delete before posting to api\r\n apiStatus: EventApiStatus = EventApiStatus.Ok\r\n\r\n constructor(_?: SofEvent) {\r\n super();\r\n\r\n makeObservable(this, {\r\n data: observable,\r\n remark: observable,\r\n internalRemark: observable,\r\n setDataProperty: action,\r\n setDataProperties: action,\r\n setApiStatus: action,\r\n apiStatus: observable\r\n });\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n }\r\n\r\n this.baseType = EventBaseType.Sof;\r\n }\r\n\r\n setApiStatus = (apiStatus: EventApiStatus) => {\r\n this.apiStatus = apiStatus;\r\n }\r\n\r\n setDataProperty = (up: IUpdatedProperty) => {\r\n let dataObject = this.data.find(_ => _.internalName === up.internalName);\r\n\r\n if (dataObject) {\r\n dataObject.value = up.value;\r\n }\r\n else {\r\n this.data.push({\r\n dataType: up.dataType,\r\n name: up.name,\r\n internalName: up.internalName,\r\n value: up.value\r\n });\r\n }\r\n }\r\n\r\n setDataProperties = (ups: IUpdatedProperty[]) => {\r\n ups.forEach(up => {\r\n this.setDataProperty(up);\r\n });\r\n }\r\n}","export enum CargoOperationType {\r\n Shore = 10,\r\n Barge = 20,\r\n CaptainsBarge = 30,\r\n TransShipment = 40\r\n}","import { DateTime } from \"luxon\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { EventApiStatus } from \"../enums/EventApiStatus\";\r\nimport { ISofEvent } from \"../interfaces/IStatementOfFact\";\r\n\r\nexport const eventHelpers = {\r\n removeEvents(existingEvents: SofEvent[], incommingEvents: SofEvent[]) {\r\n let eventsToDelete: SofEvent[] = [];\r\n\r\n existingEvents.forEach(c => {\r\n let existInIncomming = incommingEvents.find(_ => _.id === c.id);\r\n if (!existInIncomming) {\r\n c.apiStatus = EventApiStatus.NotFound;\r\n eventsToDelete.push(c);\r\n }\r\n else {\r\n c.apiStatus = EventApiStatus.Ok;\r\n }\r\n });\r\n\r\n eventsToDelete.forEach(c => {\r\n let diff = DateTime.fromJSDate(new Date()).diff(DateTime.fromJSDate(new Date(c.createdFrontend))).as(\"hours\");\r\n\r\n if (diff > 24) {\r\n // TODO: Should also update status on parent object (Portcall, Cargo CargoOperation)\r\n let indexToDelete = existingEvents.findIndex(_ => _.id === c.id);\r\n if (indexToDelete >= 0) {\r\n existingEvents.splice(indexToDelete, 1);\r\n }\r\n }\r\n });\r\n },\r\n\r\n sortByDate(a: SofEvent | ISofEvent, b: SofEvent | ISofEvent) {\r\n let aDate = DateTime.fromJSDate(new Date(a.eventDate)).set({ second: 0, millisecond: 0 });\r\n let bDate = DateTime.fromJSDate(new Date(b.eventDate)).set({ second: 0, millisecond: 0 });\r\n\r\n if (aDate > bDate) {\r\n return 1;\r\n }\r\n else if (aDate < bDate) {\r\n return -1;\r\n }\r\n else {\r\n return DateTime.fromJSDate(new Date(a.createdFrontend)) > DateTime.fromJSDate(new Date(b.createdFrontend)) ? 1 : -1;\r\n }\r\n }\r\n}","import { DateTime } from 'luxon';\r\nimport { action, computed, makeObservable, observable } from 'mobx';\r\nimport { SofEventAction } from '../enums/SofEventAction';\r\nimport { CargoOperationType } from '../enums/CargoOperationType';\r\nimport { eventHelpers } from '../helpers/eventHelpers';\r\nimport { SofEvent } from './SofEvent';\r\nimport { IFlowConditionAndOutcome } from '../interfaces/IFlowActivities';\r\nimport { IStorage } from '../interfaces/IStorage';\r\nimport { ICrane } from '../interfaces/ICrane';\r\n\r\nexport class CargoOperation {\r\n id!: string\r\n operationType: CargoOperationType = CargoOperationType.Shore\r\n name: string = \"\"\r\n quantityProcessed?: number\r\n unitsProcessed?: number\r\n shipsRequestedQuantity?: number\r\n shipsFigures?: number\r\n additionalQuantityProcessedInMt?: number\r\n events: SofEvent[] = []\r\n conditions: IFlowConditionAndOutcome[] = []\r\n cranes?: ICrane[] = []\r\n storages?: IStorage[] = []\r\n workTeam?: string\r\n\r\n // Front end only\r\n needsSaving?: boolean\r\n\r\n constructor(_?: CargoOperation) {\r\n makeObservable(this, {\r\n addEvent: action,\r\n updateEvent: action,\r\n update: action,\r\n updateQuantityAndUnitsProcessed: action,\r\n setCondition: action,\r\n clearCondition: action,\r\n setProperties: action,\r\n setNeedsSaving: action,\r\n setStorages: action,\r\n setEvents: action,\r\n\r\n name: observable,\r\n quantityProcessed: observable,\r\n unitsProcessed: observable,\r\n shipsRequestedQuantity: observable,\r\n shipsFigures: observable,\r\n additionalQuantityProcessedInMt: observable,\r\n events: observable,\r\n conditions: observable,\r\n needsSaving: observable,\r\n operationType: observable,\r\n\r\n cranes: observable,\r\n storages: observable,\r\n workTeam: observable,\r\n\r\n sortedEvents: computed,\r\n statusText: computed,\r\n start: computed\r\n });\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n this.init(_);\r\n }\r\n }\r\n\r\n private init(p: CargoOperation) {\r\n this.events = p.events\r\n ? p.events.map((ev: SofEvent) => new SofEvent(ev))\r\n : [];\r\n }\r\n\r\n get sortedEvents() {\r\n return this.events.slice().sort(eventHelpers.sortByDate);\r\n }\r\n\r\n addEvent = (newEvent: SofEvent) => {\r\n let events = this.events.slice();\r\n events.push(newEvent);\r\n\r\n this.events = events;\r\n }\r\n\r\n updateEvent = (updatedEvent: SofEvent) => {\r\n var newEvents = this.events.slice().filter(_ => _.id !== updatedEvent.id);\r\n\r\n if (updatedEvent.action !== SofEventAction.Delete) {\r\n newEvents.push(updatedEvent);\r\n }\r\n\r\n this.events = newEvents;\r\n }\r\n\r\n setEvents = (_events: SofEvent[] | undefined) => {\r\n this.events = _events\r\n ? _events.map((_: SofEvent) => new SofEvent(_))\r\n : [];\r\n }\r\n\r\n update = (cargoOperation: CargoOperation) => {\r\n this.workTeam = cargoOperation.workTeam;\r\n this.cranes = cargoOperation.cranes;\r\n this.storages = cargoOperation.storages;\r\n this.quantityProcessed = cargoOperation.quantityProcessed;\r\n this.unitsProcessed = cargoOperation.unitsProcessed;\r\n this.shipsRequestedQuantity = cargoOperation.shipsRequestedQuantity;\r\n this.shipsFigures = cargoOperation.shipsRequestedQuantity;\r\n this.additionalQuantityProcessedInMt = cargoOperation.additionalQuantityProcessedInMt;\r\n this.name = cargoOperation.name;\r\n this.operationType = cargoOperation.operationType;\r\n\r\n // Delete events that does not exist anymore\r\n eventHelpers.removeEvents(this.events, cargoOperation.events);\r\n\r\n // Update events\r\n cargoOperation.events.forEach(c => {\r\n let existingEvent = this.events.find(_ => _.id === c.id);\r\n\r\n if (existingEvent) {\r\n let date1 = DateTime.fromJSDate(new Date(existingEvent.createdFrontend));\r\n let date2 = DateTime.fromJSDate(new Date(c.createdFrontend));\r\n let diff = date2.diff(date1);\r\n\r\n if (diff.as(\"milliseconds\") > 0) {\r\n this.updateEvent(c);\r\n }\r\n }\r\n else {\r\n this.addEvent(c);\r\n }\r\n });\r\n }\r\n\r\n updateQuantityAndUnitsProcessed = (event: SofEvent) => {\r\n let qtyData = event.data.find(_ => _.internalName === \"QuantityProcessed\");\r\n let unitsData = event.data.find(_ => _.internalName === \"UnitsProcessed\");\r\n let additonalQtyInMtData = event.data.find(_ => _.internalName === \"AdditionalQtyProcessedInMt\");\r\n let shipsFigures = event.data.find(_ => _.internalName === \"ShipsFigures\");\r\n let shipsRequestedQuantity = event.data.find(_ => _.internalName === \"ShipsRequestedQuantity\");\r\n\r\n\r\n // console.log(\"Should these be updated here as well, shipsRequestedQuantity, shipsFigures?\");\r\n\r\n // shipsRequestedQuantity?: number\r\n // shipsFigures?: number\r\n\r\n\r\n\r\n if (qtyData) {\r\n this.quantityProcessed = qtyData.value;\r\n }\r\n\r\n if (unitsData) {\r\n this.unitsProcessed = unitsData.value;\r\n }\r\n\r\n if (additonalQtyInMtData) {\r\n this.additionalQuantityProcessedInMt = additonalQtyInMtData.value;\r\n }\r\n\r\n if (shipsFigures) {\r\n this.shipsFigures = shipsFigures.value;\r\n }\r\n\r\n if (shipsRequestedQuantity) {\r\n this.shipsRequestedQuantity = shipsRequestedQuantity.value;\r\n }\r\n }\r\n\r\n setCondition = (conditionId: string, outcomeId: string) => {\r\n this.conditions = [\r\n ...this.conditions.slice().filter(_ => _.conditionId !== conditionId),\r\n {\r\n conditionId,\r\n outcomeId\r\n }\r\n ];\r\n }\r\n\r\n clearCondition = (conditionId: string) => {\r\n this.conditions = [...this.conditions.slice().filter(_ => _.conditionId !== conditionId)];\r\n }\r\n\r\n setStorages = (s: IStorage[] | undefined) => {\r\n this.storages = s;\r\n }\r\n\r\n setProperties = (co: CargoOperation) => {\r\n this.name = co.name;\r\n this.operationType = co.operationType;\r\n this.cranes = co.cranes;\r\n this.storages = co.storages;\r\n this.workTeam = co.workTeam;\r\n this.quantityProcessed = co.quantityProcessed !== undefined && co.quantityProcessed !== null ? Number(co.quantityProcessed) : undefined;\r\n this.unitsProcessed = co.unitsProcessed !== undefined && co.unitsProcessed !== null ? Number(co.unitsProcessed) : undefined;\r\n this.shipsFigures = co.shipsFigures !== undefined && co.shipsFigures != null ? Number(co.shipsFigures) : undefined;\r\n this.shipsRequestedQuantity = co.shipsRequestedQuantity !== undefined && co.shipsRequestedQuantity !== null ? Number(co.shipsRequestedQuantity) : undefined;\r\n this.additionalQuantityProcessedInMt = co.additionalQuantityProcessedInMt !== undefined && co.additionalQuantityProcessedInMt !== null ? Number(co.additionalQuantityProcessedInMt) : undefined;\r\n }\r\n\r\n setNeedsSaving = (_: boolean) => {\r\n this.needsSaving = _;\r\n }\r\n\r\n get statusText() {\r\n if (this.sortedEvents.length > 0) {\r\n let lastEvent = this.sortedEvents[this.sortedEvents.length - 1];\r\n return `${lastEvent.name} ${DateTime.fromJSDate(new Date(lastEvent.eventDate)).toRelative({ locale: \"en-GB\" })}`;\r\n }\r\n\r\n return \"Not started\";\r\n }\r\n\r\n get start() {\r\n let sorted = this.sortedEvents.slice();\r\n\r\n if (sorted.length > 0) {\r\n return sorted[0].eventDate;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n get lastEvent() {\r\n let sorted = this.sortedEvents.slice();\r\n\r\n if (sorted.length > 0) {\r\n return sorted.reverse()[0];\r\n }\r\n\r\n return undefined;\r\n }\r\n}","export enum SofStatus {\r\n Draft = 10,\r\n Locked = 50,\r\n Signing = 500,\r\n SigningCancelled = 700,\r\n SigningRejected = 800,\r\n SigningTimedOut = 900,\r\n Signed = 1000\r\n}","import { action, makeObservable, observable } from 'mobx';\r\nimport { SofStatus } from '../enums/SofStatus';\r\nimport { eventHelpers } from '../helpers/eventHelpers';\r\nimport { IBerth } from '../interfaces/IBerth';\r\nimport { IEsigner } from '../interfaces/IEsigner';\r\nimport { IMeasurement } from '../interfaces/IMeasurement';\r\nimport { CargoOperation } from './CargoOperation';\r\nimport { SofEvent } from './SofEvent';\r\n\r\nexport class Sof {\r\n id!: string\r\n created!: Date\r\n version!: number\r\n vessel!: string\r\n voyageNumber!: number\r\n voyageReference?: string\r\n port!: string\r\n berths: IBerth[] = []\r\n commodity!: string\r\n charterer?: string\r\n loading!: boolean\r\n remarks?: string\r\n quantityUnit?: string\r\n measurement?: IMeasurement\r\n quantity?: number\r\n quantityProcessed?: number\r\n shipsRequestedQuantity?: number\r\n shipsFigures?: number\r\n draftAft?: number\r\n draftForward?: number\r\n grade?: string\r\n norTendered?: Date\r\n events: SofEvent[] = []\r\n cargoEvents: SofEvent[] = []\r\n cargoOperations: CargoOperation[] = []\r\n status: SofStatus = SofStatus.Draft\r\n signers: IEsigner[] = []\r\n flowId!: number\r\n\r\n constructor(_?: Sof) {\r\n makeObservable(this, {\r\n berths: observable,\r\n events: observable,\r\n\r\n addEvent: action,\r\n removeEvent: action,\r\n setEvents: action,\r\n setCargoEvents: action,\r\n setCargoOperations: action,\r\n setStatus: action\r\n });\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n this.init(_);\r\n }\r\n }\r\n\r\n private init(s: Sof) {\r\n this.cargoOperations = s.cargoOperations\r\n ? s.cargoOperations.map((co: CargoOperation) => new CargoOperation(co))\r\n : [];\r\n }\r\n\r\n addEvent = (ev: SofEvent) => {\r\n let events = this.events.slice().filter(_ => _.id !== ev.id);\r\n events.push(ev);\r\n events.sort((a, b) => { return a.eventDate > b.eventDate ? 1 : -1; })\r\n\r\n this.events = events;\r\n }\r\n\r\n removeEvent = (ev: SofEvent) => {\r\n this.events = this.events.slice().filter(_ => _.id !== ev.id);\r\n }\r\n\r\n setEvents = (events: SofEvent[] | undefined) => {\r\n this.events = events\r\n ? events.map((_: SofEvent) => new SofEvent(_))\r\n : [];\r\n }\r\n\r\n setCargoEvents = (cargoEvents: SofEvent[] | undefined) => {\r\n this.cargoEvents = cargoEvents\r\n ? cargoEvents.map((_: SofEvent) => new SofEvent(_))\r\n : [];\r\n }\r\n\r\n setCargoOperations = (cargoOperations: CargoOperation[] | undefined) => {\r\n this.cargoOperations = cargoOperations\r\n ? cargoOperations.map((_: CargoOperation) => new CargoOperation(_))\r\n : [];\r\n }\r\n\r\n setStatus = (status: SofStatus) => {\r\n this.status = status;\r\n }\r\n\r\n /** Returns port, berth and cargo events */\r\n get getEvents() {\r\n let events = this.events.slice().concat(this.cargoEvents.slice());\r\n return events.sort(eventHelpers.sortByDate);\r\n }\r\n\r\n /** Returns port, berth cargo and cargo operation events */\r\n get allEvents() {\r\n let events = this.getEvents.slice();\r\n\r\n this.cargoOperations.forEach(co => {\r\n events = events.concat(co.events.slice());\r\n });\r\n\r\n return events;\r\n }\r\n}","export enum PortCallStatus {\r\n Scheduled,\r\n Late,\r\n Active,\r\n Finished\r\n}","import { DateTime } from 'luxon';\r\nimport { action, computed, makeObservable, observable } from 'mobx';\r\nimport { SofEventAction } from '../enums/SofEventAction';\r\nimport { eventHelpers } from '../helpers/eventHelpers';\r\nimport { SofEvent } from './SofEvent';\r\nimport { CargoOperation } from \"./CargoOperation\";\r\nimport { Sof } from './Sof';\r\nimport { IFlowConditionAndOutcome } from '../interfaces/IFlowActivities';\r\nimport { IMeasurement } from '../interfaces/IMeasurement';\r\n\r\nexport class Cargo {\r\n id!: number\r\n groupId?: number\r\n cargoPortId!: number\r\n commodity!: string\r\n charterer?: string\r\n quantity!: number\r\n measurement?: IMeasurement\r\n reasonForCall!: string\r\n events: SofEvent[] = []\r\n cargoOperations: CargoOperation[] = []\r\n sof: Sof[] = []\r\n conditions: IFlowConditionAndOutcome[] = []\r\n remarks?: string\r\n quantityProcessed?: number\r\n unitsProcessed?: number\r\n additionalQuantityProcessedInMt?: number\r\n shipsRequestedQuantity?: number\r\n shipsFigures?: number\r\n draftAft?: number\r\n draftForward?: number\r\n grade?: string\r\n norTendered?: Date\r\n\r\n constructor(_?: Cargo) {\r\n makeObservable(this, {\r\n addEvent: action,\r\n updateEvent: action,\r\n update: action,\r\n updateQuantityAndUnitsProcessed: action,\r\n updateNorTendered: action,\r\n addCargoOperation: action,\r\n removeCargoOperation: action,\r\n addSof: action,\r\n setCondition: action,\r\n clearCondition: action,\r\n setProperties: action,\r\n\r\n events: observable,\r\n cargoOperations: observable,\r\n sof: observable,\r\n conditions: observable,\r\n remarks: observable,\r\n quantityProcessed: observable,\r\n unitsProcessed: observable,\r\n additionalQuantityProcessedInMt: observable,\r\n shipsRequestedQuantity: observable,\r\n shipsFigures: observable,\r\n draftAft: observable,\r\n draftForward: observable,\r\n grade: observable,\r\n norTendered: observable,\r\n cargoPortId: observable,\r\n commodity: observable,\r\n charterer: observable,\r\n measurement: observable,\r\n reasonForCall: observable,\r\n\r\n latestSof: computed,\r\n lastEvent: computed\r\n });\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n this.init(_);\r\n }\r\n }\r\n\r\n private init(c: Cargo) {\r\n this.events = c.events\r\n ? c.events.map((ev: SofEvent) => new SofEvent(ev))\r\n : [];\r\n\r\n this.cargoOperations = c.cargoOperations\r\n ? c.cargoOperations.map((co: CargoOperation) => new CargoOperation(co))\r\n : [];\r\n\r\n this.sof = c.sof\r\n ? c.sof.map((s: Sof) => new Sof(s))\r\n : [];\r\n }\r\n\r\n get sortedEvents() {\r\n return this.events.slice().sort((a, b) => {\r\n let aDate = DateTime.fromJSDate(new Date(a.eventDate)).set({ second: 0, millisecond: 0 });\r\n let bDate = DateTime.fromJSDate(new Date(b.eventDate)).set({ second: 0, millisecond: 0 });\r\n\r\n if (aDate > bDate) {\r\n return 1;\r\n }\r\n else if (aDate < bDate) {\r\n return -1;\r\n }\r\n else {\r\n return DateTime.fromJSDate(new Date(a.createdFrontend)) > DateTime.fromJSDate(new Date(b.createdFrontend)) ? 1 : -1;\r\n }\r\n });\r\n }\r\n\r\n addCargoOperation = (co: CargoOperation) => {\r\n let cargoOperations = this.cargoOperations.slice();\r\n cargoOperations.push(co);\r\n\r\n this.cargoOperations = cargoOperations;\r\n\r\n // Add to local storage??\r\n }\r\n\r\n\r\n removeCargoOperation = (co: CargoOperation) => {\r\n let cargoOperations = this.cargoOperations.slice().filter(_ => _.id !== co.id);\r\n this.cargoOperations = cargoOperations;\r\n\r\n // Add to local storage??\r\n }\r\n\r\n\r\n addEvent = (newEvent: SofEvent) => {\r\n let events = this.events.slice();\r\n events.push(newEvent);\r\n\r\n this.events = events;\r\n }\r\n\r\n updateEvent = (updatedEvent: SofEvent) => {\r\n var newEvents = this.events.slice().filter(_ => _.id !== updatedEvent.id);\r\n\r\n if (updatedEvent.action !== SofEventAction.Delete) {\r\n newEvents.push(updatedEvent);\r\n }\r\n\r\n this.events = newEvents;\r\n }\r\n\r\n /** Adds or updates sof */\r\n addSof = (s: Sof) => {\r\n let sof = this.sof.slice().filter(_ => _.id !== s.id);\r\n sof.push(s);\r\n this.sof = sof;\r\n\r\n // Add to local storage??\r\n }\r\n\r\n update = (cargo: Cargo) => {\r\n this.cargoPortId = cargo.cargoPortId;\r\n this.commodity = cargo.commodity;\r\n this.charterer = cargo.charterer;\r\n this.quantity = cargo.quantity;\r\n this.measurement = cargo.measurement;\r\n this.reasonForCall = cargo.reasonForCall;\r\n this.sof = cargo.sof;\r\n this.remarks = cargo.remarks;\r\n this.grade = cargo.grade;\r\n this.norTendered = cargo.norTendered;\r\n this.groupId = cargo.groupId;\r\n\r\n // this.quantityProcessed = Number(cargo.quantityProcessed);\r\n // this.unitsProcessed = Number(cargo.unitsProcessed);\r\n // this.additionalQuantityProcessedInMt = Number(cargo.additionalQuantityProcessedInMt);\r\n // this.shipsRequestedQuantity = Number(cargo.shipsRequestedQuantity);\r\n // this.shipsFigures = Number(cargo.shipsFigures);\r\n // this.draftAft = Number(cargo.draftAft);\r\n // this.draftForward = Number(cargo.draftForward);\r\n\r\n this.quantityProcessed = cargo.quantityProcessed;\r\n this.unitsProcessed = cargo.unitsProcessed;\r\n this.additionalQuantityProcessedInMt = cargo.additionalQuantityProcessedInMt;\r\n this.shipsRequestedQuantity = cargo.shipsRequestedQuantity;\r\n this.shipsFigures = cargo.shipsFigures;\r\n this.draftAft = cargo.draftAft;\r\n this.draftForward = cargo.draftForward;\r\n\r\n // Delete events that does not exist anymore\r\n eventHelpers.removeEvents(this.events, cargo.events);\r\n\r\n // Update events\r\n cargo.events.forEach(c => {\r\n let existingEvent = this.events.find(_ => _.id === c.id);\r\n\r\n if (existingEvent) {\r\n let date1 = DateTime.fromJSDate(new Date(existingEvent.createdFrontend));\r\n let date2 = DateTime.fromJSDate(new Date(c.createdFrontend));\r\n let diff = date2.diff(date1);\r\n\r\n if (diff.as(\"milliseconds\") > 0) {\r\n this.updateEvent(c);\r\n }\r\n }\r\n else {\r\n this.addEvent(c);\r\n }\r\n });\r\n\r\n // Cargo operations\r\n cargo.cargoOperations.forEach(co => {\r\n let existingCargoOperation = this.cargoOperations.find(_ => _.id === co.id);\r\n\r\n if (existingCargoOperation) {\r\n existingCargoOperation.update(co);\r\n }\r\n else {\r\n this.cargoOperations.push(co);\r\n }\r\n });\r\n }\r\n\r\n get statusText() {\r\n if (this.sortedEvents.length > 0) {\r\n let lastEvent = this.sortedEvents[this.sortedEvents.length - 1];\r\n return `${lastEvent.name} ${DateTime.fromJSDate(new Date(lastEvent.eventDate)).toRelative({ locale: \"en-GB\" })}`;\r\n }\r\n\r\n return \"Not started\";\r\n }\r\n\r\n updateNorTendered = (ts?: Date) => {\r\n this.norTendered = ts;\r\n }\r\n\r\n updateQuantityAndUnitsProcessed = (event: SofEvent) => {\r\n let qtyData = event.data.find(_ => _.internalName === \"QuantityProcessed\");\r\n let unitsData = event.data.find(_ => _.internalName === \"UnitsProcessed\");\r\n let additonalQtyInMtData = event.data.find(_ => _.internalName === \"AdditionalQtyProcessedInMt\");\r\n let shipsFigures = event.data.find(_ => _.internalName === \"ShipsFigures\");\r\n let shipsRequestedQuantity = event.data.find(_ => _.internalName === \"ShipsRequestedQuantity\");\r\n\r\n if (qtyData) {\r\n this.quantityProcessed = qtyData.value;\r\n }\r\n\r\n if (unitsData) {\r\n this.unitsProcessed = unitsData.value;\r\n }\r\n\r\n if (additonalQtyInMtData) {\r\n this.additionalQuantityProcessedInMt = additonalQtyInMtData.value;\r\n }\r\n\r\n if (shipsFigures) {\r\n this.shipsFigures = shipsFigures.value;\r\n }\r\n\r\n if (shipsRequestedQuantity) {\r\n this.shipsRequestedQuantity = shipsRequestedQuantity.value;\r\n }\r\n }\r\n\r\n setCondition = (conditionId: string, outcomeId: string) => {\r\n this.conditions = [\r\n ...this.conditions.slice().filter(_ => _.conditionId !== conditionId),\r\n {\r\n conditionId,\r\n outcomeId\r\n }\r\n ];\r\n }\r\n\r\n clearCondition = (conditionId: string) => {\r\n this.conditions = [...this.conditions.slice().filter(_ => _.conditionId !== conditionId)];\r\n }\r\n\r\n setProperties = (c: Cargo) => {\r\n this.remarks = c.remarks ? c.remarks : \"\";\r\n this.grade = c.grade ? c.grade : \"\";\r\n this.quantityProcessed = c.quantityProcessed !== undefined && c.quantityProcessed !== null ? Number(c.quantityProcessed) : undefined;\r\n this.unitsProcessed = c.unitsProcessed !== undefined && c.unitsProcessed !== null ? Number(c.unitsProcessed) : undefined;\r\n this.additionalQuantityProcessedInMt = c.additionalQuantityProcessedInMt !== undefined && c.additionalQuantityProcessedInMt !== null ? Number(c.additionalQuantityProcessedInMt) : undefined;\r\n this.shipsRequestedQuantity = c.shipsRequestedQuantity !== undefined && c.shipsRequestedQuantity !== null ? Number(c.shipsRequestedQuantity) : undefined;\r\n this.shipsFigures = c.shipsFigures !== undefined && c.shipsFigures !== null ? Number(c.shipsFigures) : undefined;\r\n this.draftAft = c.draftAft !== undefined && c.draftAft !== null ? Number(c.draftAft) : undefined;\r\n this.draftForward = c.draftForward !== undefined && c.draftForward !== null ? Number(c.draftForward) : undefined;\r\n }\r\n\r\n get latestSof(): Sof | undefined {\r\n if (this.sof.length > 0) {\r\n return this.sof.slice().sort((a, b) => { return a.created < b.created ? 1 : -1; })[0];\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n get lastEvent() {\r\n let sorted = this.sortedEvents.slice();\r\n\r\n if (sorted.length > 0) {\r\n return sorted.reverse()[0];\r\n }\r\n\r\n return undefined;\r\n }\r\n}","import { Cargo } from \"../classes/Cargo\";\r\n\r\nexport const cargoHelpers = {\r\n removeCargos(existingCargos: Cargo[], incommingCargos: Cargo[]) {\r\n let cargosToDelete: Cargo[] = [];\r\n\r\n existingCargos.forEach(c => {\r\n let existInIncomming = incommingCargos.find(_ => _.id === c.id);\r\n if (!existInIncomming) {\r\n cargosToDelete.push(c);\r\n }\r\n });\r\n\r\n cargosToDelete.forEach(c => {\r\n let indexToDelete = existingCargos.findIndex(_ => _.id === c.id);\r\n if (indexToDelete >= 0) {\r\n existingCargos.splice(indexToDelete, 1);\r\n }\r\n });\r\n }\r\n}","import { DateTime } from 'luxon';\r\nimport { action, computed, makeObservable, observable } from 'mobx';\r\nimport { SofEventAction } from '../enums/SofEventAction';\r\nimport { IPort } from \"../interfaces/IPort\"\r\nimport { SofEvent } from './SofEvent';\r\nimport { Cargo } from \"./Cargo\";\r\nimport { eventHelpers } from \"../helpers/eventHelpers\";\r\nimport { cargoHelpers } from \"../helpers/cargoHelpers\";\r\nimport { PortCallStatus } from \"../enums/PortCallStatus\";\r\nimport { IPartner } from '../interfaces/IPartner';\r\nimport { IFlow } from '../interfaces/IFlow';\r\nimport { IFlowConditionAndOutcome } from '../interfaces/IFlowActivities';\r\nimport { IVessel } from '../interfaces/IVessel';\r\nimport { IStatementOfFact } from '../interfaces/IStatementOfFact';\r\nimport { IPortCall } from '../interfaces/IPortCall';\r\nimport { IReasonForCall } from '../interfaces/IReasonForCall';\r\n\r\nexport class PortCall {\r\n id!: number\r\n port!: IPort\r\n agent!: IPartner\r\n createdByApp?: boolean\r\n scheduledArrival!: Date\r\n scheduledDeparture!: Date\r\n arrived?: Date\r\n departed?: Date\r\n // voyage!: number // Deprecated since v2.4.589\r\n voyageNumber?: number\r\n voyageReference?: string\r\n voyageId!: number\r\n events: SofEvent[] = []\r\n cargos: Cargo[] = []\r\n reasonForCalls: IReasonForCall[] = []\r\n conditions: IFlowConditionAndOutcome[] = []\r\n vessel?: IVessel\r\n vesselId?: number\r\n flow?: IFlow\r\n flowId?: number\r\n combinedSofs: IStatementOfFact[] = []\r\n\r\n // Front end only\r\n lastFetchedFromApi?: Date\r\n multiCargoSelectIds: number[] = []\r\n\r\n constructor(_?: PortCall) {\r\n makeObservable(this, {\r\n addEvent: action,\r\n updateEvent: action,\r\n update: action,\r\n updatePortAndDates: action,\r\n addCargo: action,\r\n removeCargo: action,\r\n setLastFetchedFromApi: action,\r\n setFlow: action,\r\n setVessel: observable,\r\n setVesselAndFlow: action,\r\n setCondition: action,\r\n clearCondition: action,\r\n updateMultiCargoSelectIds: action,\r\n setCombinedSofs: action,\r\n addCombinedSof: action,\r\n\r\n events: observable,\r\n cargos: observable,\r\n conditions: observable,\r\n port: observable,\r\n reasonForCalls: observable,\r\n\r\n lastFetchedFromApi: observable,\r\n multiCargoSelectIds: observable,\r\n scheduledArrival: observable,\r\n scheduledDeparture: observable,\r\n arrived: observable,\r\n departed: observable,\r\n createdByApp: observable,\r\n\r\n voyageNumber: observable,\r\n voyageReference: observable,\r\n voyageId: observable,\r\n agent: observable,\r\n flowId: observable,\r\n flow: observable,\r\n vessel: observable,\r\n vesselId: observable,\r\n combinedSofs: observable,\r\n\r\n shouldFetchFromApi: computed,\r\n status: computed,\r\n arrivedOrScheduledArrival: computed,\r\n departedOrScheduledDeparture: computed\r\n });\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n this.init(_);\r\n }\r\n }\r\n\r\n private init(p: PortCall) {\r\n this.events = p.events\r\n ? p.events.map((ev: SofEvent) => new SofEvent(ev))\r\n : [];\r\n\r\n this.cargos = p.cargos\r\n ? p.cargos.map((c: Cargo) => new Cargo(c))\r\n : [];\r\n\r\n this.combinedSofs = p.combinedSofs\r\n ? p.combinedSofs\r\n : [];\r\n\r\n this.reasonForCalls = p.reasonForCalls\r\n ? p.reasonForCalls\r\n : [];\r\n }\r\n\r\n get sortedEvents() {\r\n return this.events.slice().sort((a, b) => {\r\n let aDate = DateTime.fromJSDate(new Date(a.eventDate)).set({ second: 0, millisecond: 0 });\r\n let bDate = DateTime.fromJSDate(new Date(b.eventDate)).set({ second: 0, millisecond: 0 });\r\n\r\n if (aDate > bDate) {\r\n return 1;\r\n }\r\n else if (aDate < bDate) {\r\n return -1;\r\n }\r\n else {\r\n return DateTime.fromJSDate(new Date(a.createdFrontend)) > DateTime.fromJSDate(new Date(b.createdFrontend)) ? 1 : -1;\r\n }\r\n });\r\n }\r\n\r\n get shouldFetchFromApi() {\r\n if (!this.lastFetchedFromApi) {\r\n return true;\r\n }\r\n\r\n let secondsAgo = DateTime.fromJSDate(new Date()).diff(DateTime.fromJSDate(new Date(this.lastFetchedFromApi))).as(\"seconds\");\r\n\r\n if (secondsAgo > (5 * 60)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n setLastFetchedFromApi = (date?: Date) => {\r\n this.lastFetchedFromApi = date ? date : new Date();\r\n }\r\n\r\n addEvent = (newEvent: SofEvent) => {\r\n let events = this.events.slice();\r\n events.push(newEvent);\r\n\r\n this.events = events;\r\n }\r\n\r\n addCargo = (cargo: Cargo) => {\r\n this.cargos.push(new Cargo(cargo));\r\n }\r\n\r\n removeCargo = (id: number) => {\r\n this.cargos = this.cargos.slice().filter(_ => _.id !== id);\r\n }\r\n\r\n updateEvent = (updatedEvent: SofEvent) => {\r\n var newEvents = this.events.slice().filter(_ => _.id !== updatedEvent.id);\r\n\r\n if (updatedEvent.action !== SofEventAction.Delete) {\r\n newEvents.push(updatedEvent);\r\n }\r\n\r\n this.events = newEvents;\r\n }\r\n\r\n updateMultiCargoSelectIds = (cargoIds: number[]) => {\r\n this.multiCargoSelectIds = [...cargoIds];\r\n }\r\n\r\n updatePortAndDates = (pc: IPortCall) => {\r\n this.scheduledArrival = pc.scheduledArrival;\r\n this.scheduledDeparture = pc.scheduledDeparture;\r\n\r\n if (pc.port) {\r\n this.port = pc.port;\r\n }\r\n }\r\n\r\n update = (pc: PortCall, updateDetails: boolean) => {\r\n // To preserve last fetched\r\n if (pc.lastFetchedFromApi) {\r\n this.lastFetchedFromApi = pc.lastFetchedFromApi;\r\n }\r\n\r\n this.createdByApp = pc.createdByApp;\r\n this.scheduledArrival = pc.scheduledArrival;\r\n this.scheduledDeparture = pc.scheduledDeparture;\r\n this.arrived = pc.arrived;\r\n this.departed = pc.departed;\r\n this.voyageNumber = pc.voyageNumber;\r\n this.voyageReference = pc.voyageReference;\r\n this.voyageId = pc.voyageId;\r\n this.flowId = pc.flowId;\r\n this.port = pc.port;\r\n\r\n // Update details\r\n if (!updateDetails) {\r\n return;\r\n }\r\n // Properties only available when fetching details\r\n this.agent = pc.agent;\r\n this.flow = pc.flow;\r\n this.vessel = pc.vessel;\r\n this.combinedSofs = pc.combinedSofs ? pc.combinedSofs : [];\r\n this.reasonForCalls = pc.reasonForCalls ? pc.reasonForCalls : [];\r\n\r\n // Delete events and cargos not retunred by api\r\n eventHelpers.removeEvents(this.events, pc.events);\r\n cargoHelpers.removeCargos(this.cargos, pc.cargos);\r\n\r\n // Update events\r\n pc.events.forEach(ev => {\r\n let existingEvent = this.events.find(_ => _.id === ev.id);\r\n\r\n if (existingEvent) {\r\n let date1 = DateTime.fromJSDate(new Date(existingEvent.createdFrontend));\r\n let date2 = DateTime.fromJSDate(new Date(ev.createdFrontend));\r\n let diff = date2.diff(date1);\r\n\r\n if (diff.as(\"milliseconds\") > 0) {\r\n this.updateEvent(ev);\r\n }\r\n }\r\n else {\r\n this.addEvent(ev);\r\n }\r\n });\r\n\r\n // Update cargos\r\n pc.cargos.forEach(c => {\r\n let existingCargo = this.cargos.find(_ => _.id === c.id);\r\n\r\n if (existingCargo) {\r\n existingCargo.update(c);\r\n }\r\n else {\r\n this.cargos.push(c);\r\n }\r\n });\r\n }\r\n\r\n setFlow = (flow: IFlow) => {\r\n this.flow = flow;\r\n this.flowId = flow.id;\r\n }\r\n\r\n setVessel = (vessel: IVessel) => {\r\n this.vessel = vessel;\r\n this.vesselId = vessel.id;\r\n }\r\n\r\n setVesselAndFlow = (vessel: IVessel, flow: IFlow) => {\r\n this.vessel = vessel;\r\n this.vesselId = vessel.id;\r\n this.flow = flow;\r\n this.flowId = flow.id;\r\n }\r\n\r\n setCondition = (conditionId: string, outcomeId: string) => {\r\n this.conditions = [\r\n ...this.conditions.slice().filter(_ => _.conditionId !== conditionId),\r\n {\r\n conditionId,\r\n outcomeId\r\n }\r\n ];\r\n }\r\n\r\n clearCondition = (conditionId: string) => {\r\n this.conditions = [...this.conditions.slice().filter(_ => _.conditionId !== conditionId)];\r\n }\r\n\r\n setCombinedSofs = (_: IStatementOfFact[]) => {\r\n this.combinedSofs = _ ? _ : [];\r\n }\r\n\r\n /** Adds or updates combined Sof */\r\n addCombinedSof = (s: IStatementOfFact) => {\r\n let _combinedSofs = this.combinedSofs.slice().filter(_ => _.id !== s.id);\r\n\r\n _combinedSofs.push(s);\r\n this.combinedSofs = _combinedSofs;\r\n }\r\n\r\n get status(): PortCallStatus {\r\n if (this.departed) {\r\n return PortCallStatus.Finished;\r\n }\r\n\r\n if (this.arrived) {\r\n return PortCallStatus.Active;\r\n }\r\n\r\n return PortCallStatus.Scheduled;\r\n }\r\n\r\n get arrivedOrScheduledArrival(): Date {\r\n return this.arrived ? this.arrived : this.scheduledArrival;\r\n }\r\n\r\n get departedOrScheduledDeparture(): Date {\r\n return this.departed ? this.departed : this.scheduledDeparture;\r\n }\r\n}","export enum AppUserTypes {\r\n Vessel = 20,\r\n Agent = 30,\r\n Charterer = 40\r\n}","import packageJson from \"../../package.json\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { action, makeObservable, observable } from \"mobx\";\r\nimport { createContext } from \"react\";\r\nimport { AppSettings } from \"../appSettings\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { IDecodedToken } from \"../interfaces/IDecodedToken\";\r\nimport { DateTime } from \"luxon\";\r\nimport { IVoyageReport } from \"../interfaces/IVoyageReport\";\r\nimport { ApiEvent } from \"../classes/ApiEvent\";\r\nimport { Sof } from \"../classes/Sof\";\r\nimport { IAppSetup } from \"../interfaces/IAppSetup\";\r\nimport { IRegisterUser } from \"../interfaces/IRegisterUser\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { ILogReport } from \"../interfaces/ILogReport\";\r\nimport { LogReportType } from \"../enums/LogReportTypes\";\r\nimport { IBunkerDeliveryNote } from \"../interfaces/IBunkerDeliveryNote\";\r\nimport { IStatementOfFact } from \"../interfaces/IStatementOfFact\";\r\nimport { IChatMessage } from \"../interfaces/IChatMessage\";\r\nimport { IValidationIssue } from \"../interfaces/IValidationIssue\";\r\nimport { IMsGraphEmail } from \"../interfaces/IMSGraphEmail\";\r\nimport { IVoyage } from \"../interfaces/IVoyage\";\r\nimport { IBdnAttachment } from \"../interfaces/IBdnAttachment\";\r\nimport { ISystemMessage } from \"../interfaces/ISystemMessage\";\r\nimport { IFuelCorrection } from \"../interfaces/IFuelCorrection\";\r\nimport { IEmail } from \"../interfaces/IEmail\";\r\nimport { EmailTemplateType } from \"../enums/EmailTemplateType\";\r\nimport { ITankTransfer } from \"../interfaces/ITankTransfer\";\r\nimport { ITankState } from \"../interfaces/ITankState\";\r\nimport { ICargo } from \"../interfaces/ICargo\";\r\nimport { IPortCall } from \"../interfaces/IPortCall\";\r\nimport { IAis } from \"../interfaces/IAis\";\r\nimport { IReasonForCall } from \"../interfaces/IReasonForCall\";\r\nimport { IPort } from \"../interfaces/IPort\";\r\nimport { ISkipTake } from \"../interfaces/ISkipTake\";\r\n\r\nexport class ApiService {\r\n SK_Flow: string = \"TS_FLOW\";\r\n SK_Token = \"TS_TKN\";\r\n SK_RefreshToken = \"TS_RTKN\";\r\n SK_PortCalls: string = \"TS_PORTCALLS\"\r\n SK_EventFlow: string = \"TS_EVENTFLOW\";\r\n\r\n isAuthtenticated: boolean = false;\r\n bearerToken?: string\r\n refreshToken?: string\r\n decodedToken!: IDecodedToken\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n isAuthtenticated: observable,\r\n bearerToken: observable,\r\n refreshToken: observable,\r\n decodedToken: observable,\r\n setTokens: action\r\n });\r\n this.init();\r\n }\r\n\r\n private init = () => {\r\n // Get token from storage\r\n let token = localStorage.getItem(this.SK_Token);\r\n let refreshToken = localStorage.getItem(this.SK_RefreshToken);\r\n\r\n if (token && refreshToken) {\r\n this.setTokens(token, refreshToken);\r\n }\r\n }\r\n\r\n private getTokenStatus() {\r\n let expires = DateTime.fromMillis(this.decodedToken.exp * 1000);\r\n let now = DateTime.now();\r\n\r\n return {\r\n expires,\r\n isExpired: expires.diff(now).as(\"hours\") < 2,\r\n refreshBy: expires.plus({ days: 7 }).plus({ seconds: -10 })\r\n };\r\n }\r\n\r\n // Setting token when app starts and on sucessful login\r\n setTokens = (token: string, refreshToken: string) => {\r\n this.bearerToken = token;\r\n this.refreshToken = refreshToken;\r\n this.decodedToken = jwt_decode(token);\r\n\r\n localStorage.setItem(this.SK_Token, token);\r\n localStorage.setItem(this.SK_RefreshToken, refreshToken);\r\n }\r\n\r\n // Clears token. App will react and show login form\r\n logOut = () => {\r\n // localStorage.clear();\r\n this.bearerToken = undefined;\r\n this.refreshToken = undefined;\r\n\r\n // localStorage.removeItem()\r\n\r\n // SK_Flow: string = \"TS_FLOW\";\r\n // SK_Token = \"TS_TKN\";\r\n // SK_RefreshToken = \"TS_RTKN\";\r\n // SK_PortCalls: string = \"TS_PORTCALLS\"\r\n // SK_EventFlow: string = \"TS_EVENTFLOW\";\r\n }\r\n\r\n private getHeaders(anonymous?: boolean, isFiles?: boolean): any {\r\n if (anonymous) {\r\n return {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\"\r\n };\r\n }\r\n\r\n if (isFiles) {\r\n return {\r\n Authorization: \"Bearer \" + this.bearerToken,\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/json\",\r\n \"X-CUSTOMER-ID\": this.decodedToken.customer_id\r\n };\r\n }\r\n\r\n return {\r\n Authorization: \"Bearer \" + this.bearerToken,\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n \"X-CUSTOMER-ID\": this.decodedToken.customer_id\r\n };\r\n }\r\n\r\n // Get token from storage, verify not expired, otherwise try to refresh using refresh token\r\n private getApiToken = (): Promise<{ accessToken: string, refreshToken: string }> => {\r\n if (this.bearerToken && !this.getTokenStatus().isExpired) {\r\n return Promise.resolve({\r\n accessToken: this.bearerToken!,\r\n refreshToken: this.refreshToken!\r\n });\r\n }\r\n\r\n if (!this.refreshToken || this.refreshToken.length === 0) {\r\n console.log(\"No refresh token, logging out\");\r\n this.logOut();\r\n\r\n return Promise.reject(\"Unable to refersh token\");\r\n }\r\n\r\n // Refreshing token\r\n console.log(\"Trying to refresh token\");\r\n\r\n return this.renewToken(this.refreshToken)\r\n .then(_ => {\r\n console.log(\"Refreshed token ok\");\r\n this.setTokens(_.accessToken, _.refreshToken);\r\n return _;\r\n })\r\n .catch(err => {\r\n if (err.status === 401) {\r\n console.log(\"Unable to refresh token with status 401, logging out\");\r\n this.logOut();\r\n }\r\n else {\r\n let tokenStatus = this.getTokenStatus();\r\n\r\n if (DateTime.now() > tokenStatus.refreshBy) {\r\n console.log(\"Refresh token expired, logging out\");\r\n this.logOut();\r\n }\r\n else {\r\n console.log(\"Still possible to refresh token if getting net\");\r\n }\r\n }\r\n\r\n return Promise.reject();\r\n })\r\n }\r\n\r\n private goFetch(\r\n url: string,\r\n params?: string,\r\n method?: string,\r\n body?: any,\r\n anonymous?: boolean,\r\n isFiles?: boolean\r\n ): Promise {\r\n\r\n const completeUrl = `${AppSettings.apiUrl}${url}${params ? `?${params}` : \"\"}`;\r\n\r\n if (anonymous) {\r\n const options: RequestInit = {\r\n method: method ? method : \"GET\",\r\n headers: this.getHeaders(true),\r\n body: body,\r\n };\r\n\r\n return fetch(completeUrl, options)\r\n .then((_) => {\r\n return _.ok ? Promise.resolve(_) : Promise.reject(_);\r\n });\r\n }\r\n\r\n return this.getApiToken()\r\n .then(_ => {\r\n const options: RequestInit = {\r\n method: method ? method : \"GET\",\r\n headers: this.getHeaders(anonymous, isFiles),\r\n body: body\r\n };\r\n\r\n return fetch(completeUrl, options);\r\n })\r\n .then((_: Response) => {\r\n return _.ok ? Promise.resolve(_) : Promise.reject(_);\r\n })\r\n .catch(_ => {\r\n return Promise.reject(_);\r\n });\r\n }\r\n\r\n public getClosestPorts(skipTake: ISkipTake): Promise {\r\n return this.goFetch(`/app/ais/closestPorts?skip=${skipTake.skip}&take=${skipTake.take}`)\r\n .then(_ => {\r\n return _.status === 200 ? _.json() : undefined;\r\n });\r\n }\r\n\r\n public getPortCalls(): Promise {\r\n return this.goFetch(\"/app/portcalls\")\r\n .then((_) => {\r\n return _.json();\r\n })\r\n .then(_ => {\r\n return _.map((pc: PortCall) => new PortCall(pc));\r\n });\r\n }\r\n\r\n public get(endPoint: string): Promise {\r\n return this.goFetch(`/app/${endPoint}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getPortCall(id: number): Promise {\r\n return this.goFetch(`/app/portcalls/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n })\r\n .then(_ => {\r\n return new PortCall(_);\r\n });\r\n }\r\n\r\n public getCargoOnBoard(): Promise {\r\n return this.goFetch(`/app/cargoPorts/cargoOnBoard`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getFlow(id: number): Promise {\r\n return this.goFetch(`/app/me/flow/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getVesselFlow(id: number): Promise {\r\n return this.goFetch(`/app/vessels/${id}/flow`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getAppSetup(): Promise {\r\n return this.goFetch(\"/app/me\")\r\n .then((_) => {\r\n return _.json();\r\n })\r\n }\r\n\r\n public getCombinedSofs(portCallId: string): Promise {\r\n return this.goFetch(`/app/statementOfFacts?portCallId=${portCallId}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public downloadCombinedSofPdf(sofId: string, versionId: string): Promise {\r\n return this.goFetch(`/app/statementOfFacts/downloadPdf/${sofId}?versionId=${versionId}`)\r\n .then(_ => {\r\n return _.json()\r\n });\r\n }\r\n\r\n public getCombinedSof(id: string, versionId: string): Promise {\r\n return this.goFetch(`/app/statementOfFacts/${id}?versionId=${versionId}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getSof(id: string): Promise {\r\n return this.goFetch(`/app/sof/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n })\r\n .then(_ => {\r\n return new Sof(_);\r\n });\r\n }\r\n\r\n public downloadSofPdf(sofId: string): Promise {\r\n return this.goFetch(`/app/sof/downloadPdf/${sofId}`)\r\n .then(_ => {\r\n return _.json()\r\n });\r\n }\r\n\r\n public downloadVoyageReportSimplePdf(voyageId: string): Promise {\r\n return this.goFetch(`/app/reports/voyage/${voyageId}/downloadSimple`)\r\n .then(_ => {\r\n return _.json()\r\n });\r\n }\r\n\r\n public getLogReports(portCallId?: string): Promise {\r\n return this.goFetch(`/app/reports/log${portCallId ? `?portCallId=${portCallId}` : \"\"}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getLogReport(id: string): Promise {\r\n return this.goFetch(`/app/reports/log/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public findLogReport(portCallId: number, type: LogReportType): Promise {\r\n return this.goFetch(`/app/reports/log/find?pId=${portCallId}&tId=${type}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getLogReportAutoPopulateData(reportDate: Date, reportType: LogReportType, portCallId?: number, flowId?: number, eventTemplateId?: string): Promise {\r\n let url = `/app/reports/log/autoPopulate?reportDate=${reportDate.toISOString()}&reportType=${reportType}`;\r\n\r\n if (portCallId) {\r\n url += `&portCallId=${portCallId}`;\r\n }\r\n\r\n if (flowId) {\r\n url += `&flowId=${flowId}`;\r\n }\r\n\r\n if (eventTemplateId) {\r\n url += `&eventTemplateId=${eventTemplateId}`;\r\n }\r\n\r\n return this.goFetch(url).then(_ => _.json());\r\n }\r\n\r\n public getBdns(portCallId?: string): Promise {\r\n return this.goFetch(`/app/reports/bdn${portCallId ? `?portCallId=${portCallId}` : \"\"}`)\r\n .then((_) => {\r\n return _.json();\r\n })\r\n }\r\n\r\n public getBdn(id: string): Promise {\r\n return this.goFetch(`/app/reports/bdn/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public findBdn(portCallId: number): Promise {\r\n return this.goFetch(`/app/reports/bdn/find?pId=${portCallId}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public uploadBdnAttachments(bunkerDeliveryNoteId: string | undefined, attachments: IBdnAttachment[]): Promise {\r\n return this.goFetch(`/app/reports/bdn/uploadAttachments?id=${bunkerDeliveryNoteId ? bunkerDeliveryNoteId : null}`, undefined, \"POST\", JSON.stringify(attachments))\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public downloadBdnAttachment(id: string): Promise {\r\n return this.goFetch(`/app/reports/bdn/downloadAttachment?id=${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n //#region Tank transfers\r\n public getTankTransfers(): Promise {\r\n return this.goFetch(\"/app/reports/tankTransfers\")\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getTankTransfer(id: string): Promise {\r\n return this.goFetch(`/app/reports/tankTransfers/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Tank states\r\n public getTankState(tankId: number): Promise {\r\n return this.goFetch(`/app/tankStates/${tankId}`)\r\n .then((_) => {\r\n // Returns 204 if no state\r\n return _.status === 200 ? _.json() : undefined;\r\n });\r\n }\r\n //#endregion\r\n\r\n public getEmailTemplate(arrival: boolean, portCallId: number): Promise<{ email: IMsGraphEmail, statusCode: number, msg: string | null }> {\r\n return this.goFetch(`/app/emails/fromtemplate?portCallId=${portCallId}&arrival=${arrival}`)\r\n .then(async (_: Response) => {\r\n return {\r\n email: await _.json(),\r\n statusCode: _.status,\r\n msg: _.headers.get(\"X-Api-Response-Msg\")\r\n };\r\n });\r\n }\r\n\r\n public postSofEvent(sofEvent: SofEvent): Promise {\r\n let tempEvent = JSON.parse(JSON.stringify(sofEvent));\r\n\r\n delete tempEvent.syncError;\r\n delete tempEvent.apiStatus;\r\n delete tempEvent.baseType;\r\n delete tempEvent.syncStatus;\r\n\r\n return this.goFetch(`/app/events`, undefined, \"POST\", JSON.stringify(tempEvent));\r\n }\r\n\r\n public sendApiEvent(apiEvent: ApiEvent): Promise {\r\n return this.goFetch(\r\n `/app/${apiEvent.url}`,\r\n undefined,\r\n apiEvent.method,\r\n apiEvent.payload\r\n ? JSON.stringify(apiEvent.payload)\r\n : undefined\r\n );\r\n }\r\n\r\n public login(username: string, password: string): Promise<{ accessToken: string, refreshToken: string }> {\r\n return this.goFetch(`/app/login?appVersion=${packageJson.version}`, undefined, \"POST\", JSON.stringify({ username, password }), true)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public renewToken(refreshToken: string): Promise<{ accessToken: string, refreshToken: string }> {\r\n return this.goFetch(`/app/refreshToken?token=${encodeURIComponent(refreshToken)}&appVersion=${packageJson.version}`, undefined, \"GET\", null, true)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public register(registerUser: IRegisterUser): Promise {\r\n return this.goFetch(`/app/register`, undefined, \"POST\", JSON.stringify(registerUser), true);\r\n }\r\n\r\n public resetPassword(usernameOrEmail: string): Promise {\r\n return this.goFetch(`/app/resetPassword?usernameOrEmail=${usernameOrEmail}`, undefined, \"GET\", undefined, true);\r\n }\r\n\r\n public getActivationCode(username: string, password: string, emailAddress: string): Promise {\r\n return this.goFetch(`/app/getActivationCode?emailAddress=${encodeURIComponent(emailAddress)}`, undefined, \"POST\", JSON.stringify({ username, password }), true);\r\n }\r\n\r\n public confirmActivationCode(username: string, password: string, emailAddress: string, code: string): Promise {\r\n return this.goFetch(`/app/confirmActivationCode?emailAddress=${encodeURIComponent(emailAddress)}&activationCode=${encodeURIComponent(code)}`, undefined, \"POST\", JSON.stringify({ username, password }), true);\r\n }\r\n\r\n //#region Voyage\r\n public generateVoyageNumber(): Promise {\r\n return this.goFetch(\"/app/voyages/generateVoyageNumber\")\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getVoyage(id: number): Promise {\r\n return this.goFetch(`/app/voyages/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public saveVoyage(voyage: IVoyage): Promise {\r\n return this.goFetch(\r\n voyage.id === 0 ? \"/app/voyages\" : `/app/voyages/${voyage.id}`,\r\n undefined,\r\n voyage.id === 0 ? \"POST\" : \"PUT\",\r\n JSON.stringify(voyage)\r\n )\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public deleteVoyage(voyageId: number): Promise {\r\n return this.goFetch(\r\n `/app/voyages/${voyageId}`,\r\n undefined,\r\n \"DELETE\"\r\n );\r\n }\r\n\r\n public getVoyagePortCalls(id: number): Promise {\r\n return this.goFetch(`/app/voyages/${id}/portCalls`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public saveVoyagePortCall(voyageId: number, portCall: IPortCall): Promise {\r\n return this.goFetch(\r\n portCall.id === 0 ? `/app/voyages/${voyageId}/portCalls` : `/app/voyages/${voyageId}/portCalls/${portCall.id}`,\r\n undefined,\r\n portCall.id === 0 ? \"POST\" : \"PUT\",\r\n JSON.stringify(portCall)\r\n )\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public deleteVoyagePortCall(voyageId: number, portCall: IPortCall): Promise {\r\n return this.goFetch(\r\n `/app/voyages/${voyageId}/portCalls/${portCall.id}`,\r\n undefined,\r\n \"DELETE\"\r\n );\r\n }\r\n\r\n public getVoyageCargo(id: number): Promise {\r\n return this.goFetch(`/app/voyages/${id}/cargo`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public saveVoyageCargo(voyageId: number, cargo: ICargo): Promise {\r\n return this.goFetch(\r\n cargo.id === 0 ? `/app/voyages/${voyageId}/cargo` : `/app/voyages/${voyageId}/cargo/${cargo.id}`,\r\n undefined,\r\n cargo.id === 0 ? \"POST\" : \"PUT\",\r\n JSON.stringify(cargo)\r\n )\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public deleteVoyageCargo(voyageId: number, cargo: ICargo): Promise {\r\n return this.goFetch(\r\n `/app/voyages/${voyageId}/cargo/${cargo.id}`,\r\n undefined,\r\n \"DELETE\"\r\n );\r\n }\r\n\r\n public getVoyages(): Promise {\r\n return this.goFetch(`/app/voyages`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getVoyageReport(voyageId: number): Promise {\r\n return this.goFetch(`/app/voyages/${voyageId}/report`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public saveVoyageReport(report: IVoyageReport): Promise {\r\n return this.goFetch(`/app/voyages/${report.voyage?.id}/report`, undefined, \"POST\", JSON.stringify(report))\r\n .then(_ => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public deleteVoyageReport(report: IVoyageReport): Promise {\r\n return this.goFetch(`/app/voyages/${report.voyage?.id}/report`, undefined, \"DELETE\");\r\n }\r\n //#endregion\r\n\r\n //#region Chat\r\n public getChatMessages(): Promise {\r\n return this.goFetch(\"/app/chat\")\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Validation issues\r\n public getValidationIssues = (): Promise => {\r\n return this.goFetch(\"/app/portCalls/validationIssues\").then(_ => _.json())\r\n }\r\n //#endregion\r\n\r\n //#region Dwh consumption\r\n public getDwhLegs(): Promise {\r\n return this.goFetch(\"/app/dwh/legs\").then((_) => _.json());\r\n }\r\n\r\n public getDwhPortCalls(): Promise {\r\n return this.goFetch(\"/app/dwh/portCalls\").then((_) => _.json());\r\n }\r\n //#endregion\r\n\r\n //#region Email\r\n public createEmail(): Promise {\r\n return this.goFetch(\"/app/emails/create\").then((_) => _.json());\r\n }\r\n\r\n public queueEmail(emailId: number, email: IMsGraphEmail, emailTemplateType: EmailTemplateType) {\r\n let url = `/app/emails/${emailId}/queue?emailTemplateType=${emailTemplateType}`;\r\n return this.goFetch(url, undefined, \"POST\", JSON.stringify(email));\r\n }\r\n\r\n public uploadEmailAttachments(emailId: number, data: FormData): Promise {\r\n let url = `/app/emails/${emailId}/attachments`;\r\n return this.goFetch(url, undefined, \"POST\", data, false, true);\r\n }\r\n //#endregion\r\n\r\n public downloadVoyageStandardReport(voyageId: number): Promise {\r\n return this.goFetch(`/app/voyages/${voyageId}/report/downloadStandard`).then((_) => _.json());\r\n }\r\n\r\n public getSystemMessages(): Promise {\r\n return this.goFetch(`/app/systemmessages`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public dismissSystemMessage(id: string): Promise {\r\n return this.goFetch(`/app/systemmessages/dismiss?id=${id}`);\r\n }\r\n\r\n public getFuelCorrections(): Promise {\r\n return this.goFetch(`/app/reports/fuelCorrections`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getFuelCorrection(id: string): Promise {\r\n return this.goFetch(`/app/reports/fuelCorrections/${id}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getAisPosition(date: Date): Promise {\r\n return this.goFetch(`/app/ais?date=${date.toISOString()}`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n\r\n public getReasonForCalls(): Promise {\r\n return this.goFetch(`/app/reasonForCalls`)\r\n .then((_) => {\r\n return _.json();\r\n });\r\n }\r\n}\r\n\r\nexport default createContext(new ApiService());","import { action, computed, makeObservable, observable } from \"mobx\";\r\nimport { createContext } from \"react\";\r\nimport { AppUserTypes } from \"../enums/AppUserTypes\";\r\nimport { IAppCustomer } from \"../interfaces/IAppCustomer\";\r\nimport { IAppMessage } from \"../interfaces/IAppMessage\";\r\nimport { IAppSetup } from \"../interfaces/IAppSetup\";\r\nimport { IUser } from \"../interfaces/IUser\";\r\nimport { IFuel } from \"../interfaces/IFuel\";\r\nimport { IPartner } from \"../interfaces/IPartner\";\r\nimport { IVessel } from \"../interfaces/IVessel\";\r\n\r\nexport class AppStore {\r\n SK_Setup: string = \"TS_SETUP\";\r\n\r\n appMessage?: IAppMessage\r\n customer?: IAppCustomer\r\n user?: IUser\r\n agent?: IPartner\r\n vessel?: IVessel\r\n isReadOnly?: boolean\r\n fuel: IFuel[] = []\r\n sofHtml!: string\r\n menuOpen: boolean = false\r\n modalOpen: boolean = false\r\n multiCargoOpen: boolean = false\r\n\r\n sofModalOpen: boolean = false\r\n combinedSofModalOpen: boolean = false\r\n sofListModalOpen: boolean = false\r\n cargoPropsModalOpen: boolean = false\r\n cargoOperationTypePickerModalOpen: boolean = false\r\n voyageReportPanelOpen: boolean = false\r\n arrivalReportModalOpen: boolean = false\r\n departureReportModalOpen: boolean = false\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n appMessage: observable,\r\n user: observable,\r\n customer: observable,\r\n agent: observable,\r\n menuOpen: observable,\r\n modalOpen: observable,\r\n vessel: observable,\r\n isReadOnly: observable,\r\n sofHtml: observable,\r\n sofModalOpen: observable,\r\n combinedSofModalOpen: observable,\r\n sofListModalOpen: observable,\r\n multiCargoOpen: observable,\r\n cargoPropsModalOpen: observable,\r\n cargoOperationTypePickerModalOpen: observable,\r\n voyageReportPanelOpen: observable,\r\n arrivalReportModalOpen: observable,\r\n departureReportModalOpen: observable,\r\n\r\n setup: action,\r\n setAppMessage: action,\r\n toggleMenu: action,\r\n toggleModal: action,\r\n toggleSofModalOpen: action,\r\n toggleCombinedSofModalOpen: action,\r\n toggleSofListModalOpen: action,\r\n toggleCargoPropsModalOpen: action,\r\n toggleCargoOperationTypePickerModalOpen: action,\r\n toggleMultiCargoOpen: action,\r\n toggleArrivalEmailReportModalOpen: action,\r\n toggleDepartureEmailReportModalOpen: action,\r\n\r\n isAgent: computed,\r\n isVessel: computed,\r\n setupOk: computed\r\n });\r\n\r\n this.getDataFromStorage();\r\n }\r\n\r\n setup = (setup?: IAppSetup) => {\r\n if (setup) {\r\n this.customer = setup.customer;\r\n this.agent = setup.agent;\r\n this.user = setup.user;\r\n this.vessel = setup.vessel;\r\n this.fuel = setup.fuel;\r\n this.isReadOnly = setup.isReadOnly;\r\n this.sofHtml = setup.sofHtml;\r\n }\r\n else {\r\n this.customer = undefined;\r\n this.agent = undefined;\r\n this.user = undefined;\r\n this.vessel = undefined;\r\n this.fuel = [];\r\n this.sofHtml = \"\";\r\n this.isReadOnly = true;\r\n }\r\n\r\n this.saveToStorage(this.SK_Setup, setup);\r\n }\r\n\r\n getDataFromStorage = () => {\r\n let data = localStorage.getItem(this.SK_Setup);\r\n let setupData = data ? JSON.parse(data) : undefined;\r\n\r\n this.setup(setupData)\r\n }\r\n\r\n saveToStorage = (storageKey: string, data: any) => {\r\n data\r\n ? localStorage.setItem(storageKey, JSON.stringify(data))\r\n : localStorage.removeItem(storageKey);\r\n }\r\n\r\n toggleMenu = (open: boolean) => {\r\n this.menuOpen = open;\r\n }\r\n\r\n toggleModal = (open: boolean) => {\r\n this.modalOpen = open;\r\n }\r\n\r\n toggleSofModalOpen = (open: boolean) => {\r\n this.sofModalOpen = open;\r\n }\r\n\r\n toggleCombinedSofModalOpen = (open: boolean) => {\r\n this.combinedSofModalOpen = open;\r\n }\r\n\r\n toggleSofListModalOpen = (open: boolean) => {\r\n this.sofListModalOpen = open;\r\n }\r\n\r\n toggleCargoPropsModalOpen = (open: boolean) => {\r\n this.cargoPropsModalOpen = open;\r\n }\r\n\r\n toggleCargoOperationTypePickerModalOpen = (open: boolean) => {\r\n this.cargoOperationTypePickerModalOpen = open;\r\n }\r\n\r\n toggleVoyageReportPanelOpen = (open: boolean) => {\r\n this.voyageReportPanelOpen = open;\r\n }\r\n\r\n toggleMultiCargoOpen = (open: boolean) => {\r\n this.multiCargoOpen = open;\r\n }\r\n\r\n toggleArrivalEmailReportModalOpen = (open: boolean) => {\r\n this.arrivalReportModalOpen = open;\r\n }\r\n\r\n toggleDepartureEmailReportModalOpen = (open: boolean) => {\r\n this.departureReportModalOpen = open;\r\n }\r\n\r\n setAppMessage = (appMessage?: IAppMessage) => {\r\n this.appMessage = appMessage;\r\n }\r\n\r\n get setupOk(): boolean {\r\n if (this.customer && this.user) {\r\n if (this.user.appUserType === AppUserTypes.Vessel && this.vessel) {\r\n return true;\r\n }\r\n else if (this.user.appUserType === AppUserTypes.Agent) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isAgent(): boolean {\r\n return this.user?.appUserType === AppUserTypes.Agent;\r\n }\r\n\r\n get isVessel(): boolean {\r\n return this.user?.appUserType === AppUserTypes.Vessel;\r\n }\r\n}\r\n\r\nexport default createContext(new AppStore());","export enum PortCallSortType {\r\n ArrivedScheduledarrival = 10,\r\n Scheduledarrival = 20,\r\n VoyagenumberArrivedScheduledarrival = 30\r\n}","import LZString from \"lz-string\";\r\nimport { action, computed, makeObservable, observable } from \"mobx\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { createContext } from \"react\";\r\nimport { DateTime } from \"luxon\";\r\nimport { IPort } from \"../interfaces/IPort\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { IVessel } from \"../interfaces/IVessel\";\r\nimport { IPortCallFilter } from \"../interfaces/IPortCall\";\r\nimport { PortCallSortType } from \"../enums/PortCallSortType\";\r\nimport { IAppSetup } from \"../interfaces/IAppSetup\";\r\n\r\nexport class PortCallStore {\r\n // For showing correct port time in header\r\n selectedPort?: IPort\r\n\r\n // Storage keys\r\n SK_PortCalls: string = \"TS_PORTCALLS\";\r\n SK_Flows: string = \"TS_FLOWS\";\r\n SK_Vessels: string = \"TS_VESSELS\";\r\n\r\n // Properties\r\n portCalls: PortCall[] = []\r\n lastFetchedFromApi?: Date\r\n sortType?: PortCallSortType\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n lastFetchedFromApi: observable,\r\n portCalls: observable,\r\n selectedPort: observable,\r\n sortType: observable,\r\n\r\n addPortCall: action,\r\n removePortCall: action,\r\n setPortCalls: action,\r\n setSelectedPort: action,\r\n updatePortCall: action,\r\n resetLastedFetchedFromApi: action,\r\n\r\n sortedPortCalls: computed,\r\n });\r\n\r\n this.getPortCallsFromStorage();\r\n }\r\n\r\n setup = (setup?: IAppSetup) => {\r\n this.sortType = setup?.user.portCallSortType;\r\n }\r\n\r\n getPortCallsFromStorage = () => {\r\n let storagePcs = localStorage.getItem(this.SK_PortCalls);\r\n let storageFlows = localStorage.getItem(this.SK_Flows);\r\n let storageVessels = localStorage.getItem(this.SK_Vessels);\r\n\r\n try {\r\n let flows: IFlow[] = storageFlows\r\n ? JSON.parse(this.isProd\r\n ? LZString.decompressFromUTF16(storageFlows)!\r\n : storageFlows\r\n )\r\n : [];\r\n\r\n let vessels: IVessel[] = storageVessels\r\n ? JSON.parse(this.isProd\r\n ? LZString.decompressFromUTF16(storageVessels)!\r\n : storageVessels\r\n )\r\n : [];\r\n\r\n let pcs = storagePcs\r\n ? JSON.parse(this.isProd\r\n ? LZString.decompressFromUTF16(storagePcs)!\r\n : storagePcs\r\n ).map((pc: PortCall) => {\r\n\r\n let _pc = new PortCall(pc);\r\n\r\n // Get flow\r\n let _flow = flows.find(_ => _.id === _pc.flowId);\r\n if (_flow) {\r\n _pc.setFlow(_flow);\r\n }\r\n\r\n // Get vessel\r\n let _vessel = vessels.find(_ => _.id === _pc.vesselId);\r\n if (_vessel) {\r\n _pc.setVessel(_vessel);\r\n }\r\n\r\n return _pc;\r\n })\r\n : [];\r\n\r\n this.setPortCalls(pcs);\r\n } catch (error) {\r\n console.error(error);\r\n this.setPortCalls([]);\r\n }\r\n }\r\n\r\n /** Saves to local storage. Excludes finished portcalls older than X days with departed ts set. This to save storage space */\r\n savePortCallsToStorage = () => {\r\n let _pcs: PortCall[] = JSON.parse(JSON.stringify(this.portCalls));\r\n let _flowsToSave: IFlow[] = [];\r\n let _vesselsToSave: IVessel[] = [];\r\n\r\n let _pcsToSave = _pcs.filter(pc => {\r\n let saveToStorage = false;\r\n\r\n if (pc.arrived && !pc.departed) {\r\n // Return portcall arrived but not departed\r\n saveToStorage = true;\r\n }\r\n else if (pc.departed && DateTime.fromJSDate(new Date(pc.departed)) > DateTime.fromJSDate(new Date()).plus({ days: -4 })) {\r\n // Return portcall departed within the last 4 days\r\n saveToStorage = true;\r\n }\r\n else if (\r\n !pc.arrived &&\r\n !pc.departed &&\r\n DateTime.fromJSDate(new Date(pc.scheduledArrival)) > DateTime.fromJSDate(new Date()).plus({ days: -4 }) &&\r\n DateTime.fromJSDate(new Date(pc.scheduledArrival)) < DateTime.fromJSDate(new Date()).plus({ days: 4 })\r\n ) {\r\n // Return portcall schedule to arrive -4 to +4 days\r\n saveToStorage = true;\r\n }\r\n\r\n if (saveToStorage) {\r\n if (pc.flow) {\r\n pc.flowId = pc.flow.id;\r\n\r\n let flowInArray = _flowsToSave.find(_ => _.id === pc.flow?.id);\r\n if (!flowInArray) {\r\n _flowsToSave.push(pc.flow);\r\n }\r\n }\r\n\r\n if (pc.vessel) {\r\n pc.vesselId = pc.vessel.id;\r\n\r\n let vesselInArray = _vesselsToSave.find(_ => _.id === pc.vessel?.id);\r\n if (!vesselInArray) {\r\n _vesselsToSave.push(pc.vessel);\r\n }\r\n }\r\n\r\n // Remove flow before saving\r\n pc.flow = undefined;\r\n pc.vessel = undefined;\r\n\r\n return pc;\r\n }\r\n });\r\n\r\n if (this.isProd) {\r\n localStorage.setItem(this.SK_PortCalls, LZString.compressToUTF16(JSON.stringify(_pcsToSave)));\r\n localStorage.setItem(this.SK_Flows, LZString.compressToUTF16(JSON.stringify(_flowsToSave)));\r\n localStorage.setItem(this.SK_Vessels, LZString.compressToUTF16(JSON.stringify(_vesselsToSave)));\r\n }\r\n else {\r\n localStorage.setItem(this.SK_PortCalls, JSON.stringify(_pcsToSave));\r\n localStorage.setItem(this.SK_Flows, JSON.stringify(_flowsToSave));\r\n localStorage.setItem(this.SK_Vessels, JSON.stringify(_vesselsToSave));\r\n }\r\n }\r\n\r\n setSelectedPort = (_?: IPort) => {\r\n this.selectedPort = _;\r\n }\r\n\r\n addPortCall = (pc: PortCall) => {\r\n this.portCalls.push(pc);\r\n this.savePortCallsToStorage();\r\n }\r\n\r\n removePortCall = (id: number) => {\r\n this.portCalls = this.portCalls.slice().filter(_ => _.id !== id);\r\n this.savePortCallsToStorage();\r\n }\r\n\r\n setPortCalls = (pcs: PortCall[], lastFetchedFromApi?: Date) => {\r\n let pcsToDelete: PortCall[] = [];\r\n\r\n // Delete not returned by the API\r\n this.portCalls.forEach(pc => {\r\n let existInIncomming = pcs.find(_ => _.id === pc.id);\r\n if (!existInIncomming) {\r\n pcsToDelete.push(pc);\r\n }\r\n });\r\n\r\n pcsToDelete.forEach(pc => {\r\n let indexToDelete = this.portCalls.findIndex(_ => _.id === pc.id);\r\n if (indexToDelete >= 0) {\r\n this.portCalls.splice(indexToDelete, 1);\r\n }\r\n });\r\n\r\n // Update portcalls\r\n pcs.forEach(pc => {\r\n this.updatePortCall(pc, false, false);\r\n });\r\n\r\n this.lastFetchedFromApi = lastFetchedFromApi;\r\n this.savePortCallsToStorage();\r\n }\r\n\r\n updatePortCall = (pc: PortCall, updateDetails: boolean, updateStorage: boolean) => {\r\n let existingPc = this.portCalls.find(_ => _.id === pc.id);\r\n\r\n if (existingPc) {\r\n existingPc.update(pc, updateDetails);\r\n }\r\n else {\r\n this.portCalls.push(pc);\r\n }\r\n\r\n if (updateStorage) {\r\n this.savePortCallsToStorage();\r\n }\r\n }\r\n\r\n resetLastedFetchedFromApi = (voyageId: number) => {\r\n this.portCalls.forEach(pc => {\r\n if (voyageId === pc.voyageId) {\r\n pc.setLastFetchedFromApi(DateTime.now().plus({ days: -1 }).toJSDate());\r\n }\r\n });\r\n }\r\n\r\n get sortedPortCalls() {\r\n let _portCalls = this.portCalls.slice();\r\n\r\n if (this.sortType === PortCallSortType.VoyagenumberArrivedScheduledarrival) {\r\n return _portCalls.sort((a, b) => {\r\n // Sort first by voyage number.\r\n let aVoyage = a.voyageNumber?.toString()?.padStart(10) ?? '';\r\n let bVoyage = b.voyageNumber?.toString()?.padStart(10) ?? '';\r\n\r\n if (aVoyage > bVoyage) {\r\n return -1;\r\n }\r\n else if (aVoyage < bVoyage) {\r\n return 1;\r\n }\r\n else {\r\n // If same voyage, sort first by arrival, if null, sort by scheduled arrival\r\n let aDate = a.arrived ? a.arrived : a.scheduledArrival;\r\n let bDate = b.arrived ? b.arrived : b.scheduledArrival;\r\n\r\n return DateTime.fromJSDate(new Date(aDate)) > DateTime.fromJSDate(new Date(bDate)) ? -1 : 1;\r\n }\r\n });\r\n }\r\n\r\n if (this.sortType === PortCallSortType.Scheduledarrival) {\r\n // Sort by scheduled arrival\r\n return _portCalls.sort((a, b) => {\r\n return DateTime.fromJSDate(new Date(a.scheduledArrival)) > DateTime.fromJSDate(new Date(b.scheduledArrival)) ? -1 : 1;\r\n });\r\n }\r\n\r\n return _portCalls.sort((a, b) => {\r\n // Sort first by arrival, if null, sort by scheduled arrival\r\n let aDate = a.arrived ? a.arrived : a.scheduledArrival;\r\n let bDate = b.arrived ? b.arrived : b.scheduledArrival;\r\n\r\n return DateTime.fromJSDate(new Date(aDate)) > DateTime.fromJSDate(new Date(bDate)) ? -1 : 1;\r\n });\r\n }\r\n\r\n get isProd() {\r\n return window.location.hostname === \"app.theship.no\";\r\n }\r\n\r\n getFilteredPortCalls(filter: IPortCallFilter) {\r\n let filteredPortCalls = this.sortedPortCalls;\r\n\r\n if (filter.excludedPortCallIds && filter.excludedPortCallIds.length >= 1) {\r\n filteredPortCalls = filteredPortCalls.filter(_ => !filter.excludedPortCallIds!.includes(_.id));\r\n }\r\n\r\n if (filter.scheduledFromDate) {\r\n filteredPortCalls = filteredPortCalls.filter(_ => !_.scheduledArrival || _.scheduledArrival >= filter.scheduledFromDate!)\r\n }\r\n\r\n return filteredPortCalls;\r\n }\r\n}\r\n\r\nexport default createContext(new PortCallStore());","export enum AppStartMode {\r\n Activate,\r\n Login,\r\n Register,\r\n ResetPassword\r\n}","import { BaseEvent } from './BaseEvent';\r\nimport { EventBaseType } from '../enums/EventBaseType';\r\n\r\nexport class ApiEvent extends BaseEvent {\r\n url!: string\r\n payload!: any\r\n method!: \"GET\" | \"POST\" | \"DELETE\" | \"PUT\"\r\n onSentOk?: (data?: any) => void\r\n\r\n constructor(_?: ApiEvent) {\r\n super();\r\n\r\n if (_) {\r\n Object.assign(this, _);\r\n }\r\n\r\n this.baseType = EventBaseType.Api;\r\n }\r\n}","import { action, computed, makeObservable, observable } from \"mobx\";\r\nimport { createContext } from \"react\";\r\nimport { ApiEvent } from \"../classes/ApiEvent\";\r\nimport { BaseEvent } from \"../classes/BaseEvent\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { EventBaseType } from \"../enums/EventBaseType\";\r\nimport { AppUserTypes } from \"../enums/AppUserTypes\";\r\nimport { IAppSetup } from \"../interfaces/IAppSetup\";\r\nimport { IUser } from \"../interfaces/IUser\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { EventSyncStatus } from \"../enums/EventSyncStatus\";\r\n\r\nexport class EventStore {\r\n SK_Flow: string = \"TS_FLOW\";\r\n SK_Events: string = \"TS_EVENTS\";\r\n\r\n eventQueue: (SofEvent | ApiEvent)[] = []\r\n flow?: IFlow\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n addToQueue: action,\r\n removeFromQueue: action,\r\n\r\n flow: observable,\r\n eventQueue: observable,\r\n\r\n setFlow: action,\r\n setEvents: action,\r\n\r\n numInSyncQueue: computed,\r\n numInActiveSyncQueue: computed\r\n });\r\n\r\n this.getFlowFromStorage();\r\n this.getEventsFromStorage();\r\n }\r\n\r\n setup = (setup?: IAppSetup) => {\r\n this.flow = setup?.flow;\r\n this.saveToStorage(this.SK_Flow, setup?.flow);\r\n }\r\n\r\n setupOk = (user?: IUser) => {\r\n if (user) {\r\n if (user.appUserType === AppUserTypes.Vessel && this.flow) {\r\n return true;\r\n }\r\n else if (user.appUserType === AppUserTypes.Agent) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //#region Flow\r\n getFlowFromStorage = () => {\r\n let data = localStorage.getItem(this.SK_Flow);\r\n let flow = data ? JSON.parse(data) : undefined;\r\n\r\n this.setFlow(flow);\r\n }\r\n\r\n setFlow = (ef?: IFlow) => {\r\n this.flow = ef;\r\n this.saveToStorage(this.SK_Flow, this.flow);\r\n }\r\n //#endregion\r\n\r\n\r\n //#region Events\r\n getEventsFromStorage = () => {\r\n let data = localStorage.getItem(this.SK_Events);\r\n let events = data ? JSON.parse(data) : undefined;\r\n\r\n this.setEvents(events);\r\n }\r\n\r\n setEvents = (events: (SofEvent | ApiEvent)[]) => {\r\n this.eventQueue = events\r\n ? events.map((ev: ApiEvent | SofEvent) => {\r\n return ev.baseType === EventBaseType.Api\r\n ? new ApiEvent(ev as ApiEvent)\r\n : new SofEvent(ev as SofEvent);\r\n })\r\n : [];\r\n\r\n this.saveToStorage(this.SK_Events, this.eventQueue);\r\n }\r\n //#endregion\r\n\r\n //#region Storage\r\n saveToStorage = (storageKey: string, data: any) => {\r\n data\r\n ? localStorage.setItem(storageKey, JSON.stringify(data))\r\n : localStorage.removeItem(storageKey);\r\n }\r\n //#endregion\r\n\r\n //#region Queue\r\n addToQueue = (event: SofEvent | ApiEvent) => {\r\n this.eventQueue.push(event);\r\n this.saveToStorage(this.SK_Events, this.eventQueue);\r\n }\r\n\r\n removeFromQueue = (event: BaseEvent) => {\r\n let newQueue = this.eventQueue.slice().filter(_ => {\r\n if (_.id === event.id && _.versionId === event.versionId) {\r\n return null;\r\n }\r\n return _;\r\n });\r\n this.eventQueue = newQueue;\r\n this.saveToStorage(this.SK_Events, this.eventQueue);\r\n }\r\n\r\n get numInSyncQueue(): number {\r\n return this.eventQueue.length;\r\n }\r\n\r\n get numInActiveSyncQueue(): number {\r\n return this.eventQueue.filter(_ => _.syncStatus !== EventSyncStatus.Paused).length;\r\n }\r\n //#endregion\r\n}\r\n\r\nexport default createContext(new EventStore());","import { action, makeObservable, observable } from \"mobx\";\r\nimport { createContext } from \"react\";\r\nimport { IBunkerDeliveryNote } from \"../interfaces/IBunkerDeliveryNote\";\r\nimport { ILogReport } from \"../interfaces/ILogReport\";\r\nimport { IVoyageReport } from \"../interfaces/IVoyageReport\";\r\nimport { LogReportType } from \"../enums/LogReportTypes\";\r\nimport { IFuelCorrection } from \"../interfaces/IFuelCorrection\";\r\n\r\nexport class ReportStore {\r\n logReports: ILogReport[] = []\r\n bdnReports: IBunkerDeliveryNote[] = []\r\n voyageReports: IVoyageReport[] = []\r\n fuelCorrections: IFuelCorrection[] = []\r\n\r\n constructor() {\r\n makeObservable(this, {\r\n bdnReports: observable,\r\n voyageReports: observable,\r\n logReports: observable,\r\n fuelCorrections: observable,\r\n\r\n addReport: action,\r\n getLogReport: action,\r\n getBdn: action,\r\n updateReport: action,\r\n clearReports: action,\r\n removeReport: action,\r\n setReports: action,\r\n getLogReportsForPortCall: action\r\n });\r\n }\r\n\r\n addReport = (report: IBunkerDeliveryNote | ILogReport | IFuelCorrection, type: \"bdn\" | \"log\" | \"fuelCorrection\") => {\r\n switch (type) {\r\n case \"bdn\":\r\n this.bdnReports.push(report as IBunkerDeliveryNote);\r\n break;\r\n case \"log\":\r\n this.logReports.push(report as ILogReport);\r\n break;\r\n case \"fuelCorrection\":\r\n this.fuelCorrections.push(report as IFuelCorrection);\r\n break;\r\n }\r\n }\r\n\r\n getLogReport = (id: string): ILogReport | undefined => {\r\n return this.logReports.find(_ => _.id === id);\r\n }\r\n\r\n getBdn = (id: string): IBunkerDeliveryNote | undefined => {\r\n return this.bdnReports.find(_ => _.id === id);\r\n }\r\n\r\n updateReport = (report: IBunkerDeliveryNote | ILogReport | IFuelCorrection, type: \"bdn\" | \"log\" | \"fuelCorrection\") => {\r\n switch (type) {\r\n case \"bdn\":\r\n this.bdnReports = [...this.bdnReports.slice().filter(_ => _.id !== report.id), report as IBunkerDeliveryNote];\r\n break;\r\n case \"log\":\r\n this.logReports = [...this.logReports.slice().filter(_ => _.id !== report.id), report as ILogReport];\r\n break;\r\n case \"fuelCorrection\":\r\n this.fuelCorrections = [...this.fuelCorrections.slice().filter(_ => _.id !== report.id), report as IFuelCorrection];\r\n break;\r\n }\r\n }\r\n\r\n removeReport = (report: IBunkerDeliveryNote | ILogReport | IFuelCorrection, type: \"bdn\" | \"log\" | \"fuelCorrection\") => {\r\n switch (type) {\r\n case \"bdn\":\r\n this.bdnReports = this.bdnReports.slice().filter(_ => _.id !== report.id);\r\n break;\r\n case \"log\":\r\n this.logReports = this.logReports.slice().filter(_ => _.id !== report.id);\r\n break;\r\n case \"fuelCorrection\":\r\n this.fuelCorrections = this.fuelCorrections.slice().filter(_ => _.id !== report.id);\r\n break;\r\n }\r\n }\r\n\r\n setReports = (reports: any[], type: \"bdn\" | \"voyage\" | \"log\" | \"fuelCorrection\") => {\r\n switch (type) {\r\n case \"bdn\":\r\n this.bdnReports = reports;\r\n break;\r\n case \"log\":\r\n this.logReports = reports;\r\n break;\r\n case \"voyage\":\r\n this.voyageReports = reports;\r\n break;\r\n case \"fuelCorrection\":\r\n this.fuelCorrections = reports;\r\n break;\r\n }\r\n }\r\n\r\n clearReports = () => {\r\n this.bdnReports = [];\r\n this.logReports = [];\r\n this.voyageReports = [];\r\n this.fuelCorrections = [];\r\n }\r\n\r\n getLogReportsForPortCall = (portCallId: number, types: LogReportType[] = []) => {\r\n let reports = this.logReports.filter(_ => _.portCall?.id === portCallId);\r\n if (types && types.length) {\r\n reports = reports.filter(_ => _.type && types.includes(_.type));\r\n }\r\n return reports;\r\n }\r\n}\r\n\r\nexport default createContext(new ReportStore());","import { useContext } from \"react\";\r\nimport ApiService from \"../api/ApiService\";\r\nimport AppStore from \"../stores/appStore\";\r\nimport PortCallStore from \"../stores/portCallStore\";\r\nimport EventStore from \"../stores/eventStore\";\r\nimport ReportStore from \"../stores/reportStore\";\r\n\r\nexport const useStores = () => {\r\n var appStore = useContext(AppStore);\r\n var portCallStore = useContext(PortCallStore);\r\n var api = useContext(ApiService);\r\n var eventStore = useContext(EventStore);\r\n var reportStore = useContext(ReportStore);\r\n \r\n return { api, appStore, eventStore, portCallStore, reportStore };\r\n}","// import { IPublicClientApplication } from \"@azure/msal-browser\";\r\nimport { AppSettings } from \"../appSettings\";\r\n\r\nexport const SwrFetcher = async (\r\n url: string,\r\n // msal: IPublicClientApplication,\r\n // customerId: string\r\n) => {\r\n\r\n // let token = await msal.acquireTokenSilent({ scopes: [AppSettings.apiScope] });\r\n\r\n console.log(\"FETCHER\");\r\n\r\n let token = localStorage.getItem(\"TS_TKN\");\r\n\r\n if (!token) {\r\n return \"No token\"\r\n }\r\n\r\n\r\n\r\n\r\n\r\n let response = await fetch(`${AppSettings.apiUrl}${url}`, {\r\n //headers: getHeaders(token.accessToken, customerId)\r\n headers: getHeaders(token)\r\n });\r\n\r\n if (!response.ok) {\r\n let errorText = await response.json();\r\n throw new Error(errorText);\r\n }\r\n\r\n return await response.json();\r\n\r\n};\r\n\r\nexport const getHeaders = (\r\n token: string,\r\n //customerId: string\r\n): any => {\r\n\r\n\r\n\r\n\r\n\r\n\r\n return {\r\n Authorization: \"Bearer \" + token,\r\n Accept: \"application/json\",\r\n // \"X-CUSTOMER-ID\": customerId,\r\n // \"X-API-KEY\": \"\"\r\n };\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ProgressIndicator } from '@fluentui/react/';\r\n\r\nconst Component = styled.div<{ height: string, bgColor: string }>`\r\n width: 100%;\r\n\r\n > div {\r\n > div {\r\n padding: 0;\r\n height: ${_ => _.height};\r\n\r\n > div {\r\n height: ${_ => _.height};\r\n }\r\n\r\n > div:first-child{\r\n background-color: transparent;\r\n }\r\n\r\n > div:last-child {\r\n background: linear-gradient(to right, transparent 0%, ${_ => _.bgColor} 50%, transparent 100%);\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const ProgressBar: React.FC<{ height: string, visible?: boolean, color?: string }> = ({ height, visible, color }) => {\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n let bgColor = color ? color : \"#666\";\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import { IButtonProps, IButtonStyles, PrimaryButton } from \"@fluentui/react\";\r\nimport React from \"react\";\r\n\r\nconst BtnStyle: IButtonStyles = {\r\n root: {\r\n backgroundColor: \"#4177bf\",\r\n fontSize: \"16px\",\r\n fontFamily: \"'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\r\n height: \"42px\",\r\n color: \"white !important\",\r\n borderColor: \"#999\",\r\n },\r\n rootHovered: {\r\n backgroundColor: \"#294c7a\",\r\n borderColor: \"#999\"\r\n },\r\n rootPressed: {\r\n backgroundColor: \"#294c7a\",\r\n borderColor: \"#999\"\r\n },\r\n\r\n splitButtonMenuButton: {\r\n backgroundColor: \"#4177bf\",\r\n width: \"50px\",\r\n borderLeft: \"1px dotted #fafafa !important\",\r\n margin: 0\r\n },\r\n splitButtonDivider: {\r\n display: \"none\"\r\n }\r\n}\r\n\r\nexport const AppPrimaryButton: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { ITextFieldProps, TextField } from \"@fluentui/react\";\r\n\r\nconst Container = styled.div<{ regular?: boolean, borderless?: boolean }>`\r\n >div {\r\n >div {\r\n >div {\r\n border: ${_ => _.borderless ? \"1px solid transparent !important\" : \"1px solid #605e5c\"};\r\n height: unset;\r\n\r\n input, textarea {\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n color: #333;\r\n\r\n ::placeholder {\r\n color: #aaa;\r\n }\r\n }\r\n\r\n i {\r\n color: #666;\r\n font-size: 22px;\r\n bottom: 12px;\r\n }\r\n\r\n button {\r\n height: 45px;\r\n width: 45px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ${_ => _.regular\r\n ? css`\r\n input {\r\n padding: 6px 16px 7px;\r\n }\r\n `\r\n : css`\r\n input, textarea {\r\n padding: 12px 16px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n\r\n ::placeholder {\r\n font-weight: 400; \r\n }\r\n }\r\n `\r\n }\r\n`;\r\n\r\ninterface IAppTextFieldProps extends ITextFieldProps {\r\n regular?: boolean\r\n}\r\n\r\nexport const AppTextField: React.FC = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};","import { DefaultButton, IButtonProps, IButtonStyles } from \"@fluentui/react\";\r\nimport React from \"react\";\r\n\r\nconst BtnStyle: IButtonStyles = {\r\n root: {\r\n fontSize: \"16px\",\r\n fontFamily: \"'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\r\n height: \"42px\",\r\n }\r\n}\r\n\r\nexport const AppDefaultButton: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};","export const useStringFunctions = () => {\r\n const toLowerWithCapitalLetter = (s?: string): string => {\r\n return s\r\n ? s.substring(0, 1) + (s.length > 1 ? s.substring(1).toLowerCase() : \"\")\r\n : \"\";\r\n }\r\n\r\n const toCapitalLetters = (s?: string): string => {\r\n if (!s) {\r\n return \"\";\r\n }\r\n\r\n return s.split(\" \").map(_ => {\r\n return _.substring(0, 1).toUpperCase() + (_.length > 1 ? _.substring(1).toLowerCase() : \"\");\r\n }).join(\" \");\r\n }\r\n\r\n const getNumericValue = (v: string | undefined, allowZero?: boolean, onlyPositiveNumber?: boolean): number | undefined => {\r\n if (!v || v.trim().length === 0) { \r\n return undefined;\r\n }\r\n\r\n if (!allowZero && v.trim() === \"0\") {\r\n return undefined;\r\n }\r\n\r\n let numericValue = parseFloat(v.replace(\",\", \".\"));\r\n\r\n if (isNaN(numericValue)) {\r\n return undefined;\r\n }\r\n\r\n if (onlyPositiveNumber && numericValue < 0) {\r\n return undefined;\r\n }\r\n\r\n return numericValue;\r\n }\r\n\r\n const validateEmail = (_?: string): boolean => {\r\n if (!_) {\r\n return false;\r\n }\r\n\r\n let regEx = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\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 regEx.test(_);\r\n }\r\n\r\n const convertBase64ToArrayBuffer = (base64: string) => {\r\n try {\r\n var binaryString = window.atob(base64);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return null;\r\n }\r\n }\r\n\r\n const splitCamlCase = (s: string) => {\r\n return s\r\n .replace(/([A-Z])/g, ' $1')\r\n .replace(/^./, function (str) { return str.toUpperCase(); })\r\n .trim();\r\n }\r\n\r\n const isValidGUID = (value?: string): boolean => {\r\n if (value && value.length > 0 && (/^(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}$/).test(value)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n const isEmpty = (s?: string) => {\r\n return !s || s.trim().length === 0;\r\n }\r\n\r\n const combineStrings = (allStrings: (string | undefined)[], delimiter?: string) => {\r\n let s: string[] = [];\r\n\r\n allStrings.forEach(_ => {\r\n if (!isEmpty(_))\r\n s.push(_!);\r\n });\r\n\r\n return s.length > 0\r\n ? s.join(delimiter ?? \". \").trim()\r\n : \"\";\r\n }\r\n\r\n return { combineStrings, convertBase64ToArrayBuffer, getNumericValue, isEmpty, isValidGUID, splitCamlCase, toCapitalLetters, toLowerWithCapitalLetter, validateEmail };\r\n};","import { DateTime } from \"luxon\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nconst useResize = (minusHeight?: string) => {\r\n const [height, setHeight] = useState(\"100vh\");\r\n\r\n let rTime: DateTime;;\r\n let timeOut = false;\r\n let delta = 100;\r\n\r\n const resizeEnd = () => {\r\n if (DateTime.now().diff(rTime).as(\"milliseconds\") < delta) {\r\n setTimeout(resizeEnd, delta);\r\n } else {\r\n timeOut = false;\r\n\r\n // console.log(\"Minus height\", minusHeight);\r\n\r\n\r\n setHeight(minusHeight\r\n ? `calc(${window.innerHeight}px - ${minusHeight})`\r\n : `${window.innerHeight}px`\r\n\r\n\r\n\r\n )\r\n\r\n\r\n //setHeight(`${window.innerHeight}px`);\r\n }\r\n }\r\n\r\n const handleResize = () => {\r\n rTime = DateTime.now();\r\n if (timeOut === false) {\r\n timeOut = true;\r\n setTimeout(resizeEnd, delta);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleResize();\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n window.addEventListener(\"orientationchange\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n window.removeEventListener(\"orientationchange\", handleResize);\r\n };\r\n }, []);\r\n\r\n return height;\r\n};\r\n\r\nexport default useResize;","import { useStores } from \"../../hooks/useStores\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ProgressBar } from \"../ProgressBar/ProgressBar\";\r\nimport packageJson from \"../../../package.json\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppTextField } from \"../AppTextField/AppTextField\";\r\nimport { AppDefaultButton } from \"../Buttons/AppDefaultButton\";\r\nimport { AppStartMode } from \"../../enums/AppStartMode\";\r\nimport { useStringFunctions } from \"../../hooks/useStringFunctions\";\r\nimport useResize from \"../../hooks/useResize\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ height: string }>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: ${_ => _.height};\r\n background-color: #fafafa;\r\n position: relative;\r\n\r\n @media (min-width: 400px) {\r\n background-image: url(/backgrounds/PortBackWeb.jpg);\r\n background-position: center center;\r\n background-size: cover;\r\n }\r\n`;\r\n\r\nconst Body = styled.div`\r\n background-color: #fafafa;\r\n padding: 40px 50px 0;\r\n max-width: 275px;\r\n \r\n @media (min-width: 400px) {\r\n position: relative;\r\n border-radius: 4px;\r\n }\r\n`;\r\n\r\nconst Header = styled.div`\r\n margin: 0 0 25px 0;\r\n position: relative;\r\n\r\n >div:first-child {\r\n img {\r\n height: 60px;\r\n }\r\n }\r\n\r\n >div:last-child {\r\n position: absolute;\r\n top: 43px;\r\n left: 65px;\r\n font-size: 14px;\r\n color: #888;\r\n font-weight: 300;\r\n\r\n }\r\n`;\r\n\r\nconst Message = styled.div`\r\n font-size: 15px;\r\n margin-bottom: 30px;\r\n color: #666;\r\n`;\r\n\r\nconst TxtField = styled.div`\r\n margin-bottom: 10px;\r\n\r\n >div:last-child {\r\n font-size: 14px;\r\n color: #aaa;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n margin: 25px -10px 40px;\r\n text-align: right;\r\n\r\n\r\n button {\r\n background-color: #2d3e50;\r\n margin: 0 10px;\r\n }\r\n\r\n button:hover {\r\n background-color: #596f86;\r\n }\r\n\r\n button:disabled {\r\n background-color: #f3f2f1;\r\n }\r\n`;\r\n\r\nconst Progress = styled.div`\r\n position: fixed;\r\n width: 100%;\r\n left: 0;\r\n top: 0;\r\n\r\n @media (min-width: 400px) {\r\n position: absolute;\r\n }\r\n`;\r\n\r\nconst Error = styled.div`\r\n color: red;\r\n margin-bottom: 10px;\r\n font-size: 14px;\r\n`;\r\n//#endregion\r\n\r\nexport const Activate: React.FC<{ username: string, password: string, changeMode: (_: AppStartMode) => void }> = ({ username, password, changeMode }) => {\r\n const { api } = useStores();\r\n const [gettingCode, setGettingCode] = useState(false);\r\n const [activating, setActivating] = useState(false);\r\n const [mode, setMode] = useState<\"email\" | \"activate\" | \"done\">(\"email\")\r\n const [error, setError] = useState();\r\n const { validateEmail } = useStringFunctions();\r\n const [email, setEmail] = useState(\"\");\r\n const [code, setCode] = useState(\"\");\r\n const height = useResize();\r\n\r\n const getCode = async () => {\r\n try {\r\n var r = await api.getActivationCode(username, password, email);\r\n setMode(\"activate\");\r\n }\r\n catch (_: any) {\r\n _.json()\r\n .then((err: any) => {\r\n setError(err);\r\n })\r\n .catch((err: any) => {\r\n setError(\"An error occured\");\r\n });\r\n }\r\n\r\n setGettingCode(false);\r\n }\r\n\r\n const activate = async () => {\r\n try {\r\n var r = await api.confirmActivationCode(username, password, email, code);\r\n setMode(\"done\");\r\n }\r\n catch (_: any) {\r\n _.json()\r\n .then((err: any) => {\r\n setError(err);\r\n })\r\n .catch((err: any) => {\r\n setError(\"An error occured\");\r\n });\r\n }\r\n setActivating(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (gettingCode) {\r\n getCode();\r\n }\r\n }, [gettingCode])\r\n\r\n useEffect(() => {\r\n if (activating) {\r\n activate();\r\n }\r\n }, [activating])\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 Statement of facts v. {packageJson.version}\r\n
\r\n
\r\n {error &&\r\n \r\n {error}\r\n \r\n }\r\n {mode === \"done\" &&\r\n \r\n Your account has been successfully activated.\r\n \r\n }\r\n {mode === \"email\" &&\r\n
\r\n \r\n We just need to confirm your email address. Please fill in the field below and we'll send you an activation code.\r\n \r\n \r\n {\r\n setError(undefined);\r\n setEmail(newValue ? newValue : \"\");\r\n }}\r\n />\r\n
\r\n Email\r\n
\r\n
\r\n
\r\n }\r\n\r\n {mode === \"activate\" &&\r\n
\r\n \r\n An activation code has been sent to {email}. Please check your email and enter the code here.\r\n \r\n \r\n {\r\n setError(undefined);\r\n setCode(newValue ? newValue : \"\");\r\n }}\r\n />\r\n
\r\n Activation code\r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n {\r\n changeMode(AppStartMode.Login);\r\n }}\r\n />\r\n\r\n {mode === \"email\" &&\r\n {\r\n setGettingCode(true);\r\n }}\r\n />\r\n }\r\n\r\n {mode === \"activate\" &&\r\n {\r\n setActivating(true);\r\n }}\r\n />\r\n }\r\n\r\n {mode === \"done\" &&\r\n {\r\n changeMode(AppStartMode.Login);\r\n }}\r\n />\r\n }\r\n \r\n\r\n \r\n
\r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ height?: string, barWidth?: string, barColor?: string, altBarColor?: string, stale?: boolean }>`\r\n >div:first-child {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: ${_ => _.height ? _.height : \"35px\"};\r\n\r\n >div {\r\n width: ${_ => _.barWidth ? _.barWidth : \"6px\"};\r\n background-color: ${_ =>\r\n _.stale\r\n ? \"#ccc\"\r\n : _.barColor\r\n ? _.barColor\r\n : \"#333\"\r\n }\r\n }\r\n\r\n >div:nth-child(3) {\r\n background-color: ${_ =>\r\n _.stale\r\n ? \"#888\"\r\n : _.altBarColor\r\n ? _.altBarColor\r\n : \"#5882AA\"\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Bar = styled.div<{ duration: string, stale?: boolean, defaultHeight?: string }>`\r\n margin: 0 2px;\r\n border-radius: 2px;\r\n animation-name: ${_ => _.stale ? undefined : \"animateBar\"};\r\n animation-duration: ${_ => _.duration};\r\n animation-iteration-count: infinite;\r\n height: ${_ => _.defaultHeight};\r\n\r\n @keyframes animateBar {\r\n 0% {\r\n height: 10%\r\n }\r\n 50% {\r\n height: 100%;\r\n }\r\n 100% {\r\n height: 10%\r\n }\r\n }\r\n`;\r\n\r\nconst Text = styled.div`\r\n margin-top: 20px;\r\n`;\r\n//#endregion\r\n\r\nexport const AnimatedBars: React.FC<{ stale?: boolean, text?: string, height?: string, barWidth?: string, barColor?: string, altBarColor?: string }> = ({ stale, text, height, barWidth, barColor, altBarColor }) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {text &&\r\n \r\n {text}\r\n \r\n }\r\n
\r\n );\r\n};","export const useRest = () => {\r\n const isForbidden = (error: any) => {\r\n try {\r\n if (error && error.status && error.status === 403) {\r\n return true;\r\n }\r\n }\r\n catch { }\r\n\r\n return false;\r\n }\r\n\r\n const getError = async (error: any, defaultMessage?: string): Promise => {\r\n let jsonOk = false;\r\n let textOk = false;\r\n\r\n let err: { code: number, msg: string } = {\r\n code: 0,\r\n msg: \"Unknown error. Try again or contact support.\"\r\n };\r\n\r\n if (error) {\r\n // Get status\r\n if (error.status) {\r\n err.code = error.status;\r\n\r\n switch (error.status) {\r\n case 401:\r\n err.msg = \"Unauthorized\";\r\n break;\r\n case 403:\r\n err.msg = \"Forbidden\";\r\n break;\r\n case 404:\r\n err.msg = \"Not found\";\r\n break;\r\n }\r\n }\r\n\r\n // Try get error as text\r\n if (!jsonOk) {\r\n try {\r\n let _ = await error.text();\r\n if (_) {\r\n textOk = true;\r\n return _.toString().replaceAll('\"',\"\");\r\n }\r\n } catch { }\r\n }\r\n\r\n if (!textOk) {\r\n try {\r\n return error.toString().replaceAll('\"',\"\");\r\n } catch { }\r\n }\r\n }\r\n\r\n if (!jsonOk && !textOk && !navigator.onLine) {\r\n err.msg = \"Currently offline. Please try when connection is restored.\";\r\n }\r\n\r\n return `${err.msg} (${err.code}) - ${error}`;\r\n }\r\n\r\n return { isForbidden, getError };\r\n};","import { useStores } from \"../../hooks/useStores\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ITextField } from \"@fluentui/react\";\r\nimport packageJson from \"../../../package.json\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppTextField } from \"../AppTextField/AppTextField\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faLifeRing, faQuestionCircle, faSignIn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { AppStartMode } from \"../../enums/AppStartMode\";\r\nimport { AnimatedBars } from \"../../blocks/AnimatedBars/AnimatedBars\";\r\nimport useResize from \"../../hooks/useResize\";\r\nimport { useRest } from \"../../hooks/useRest\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ height: string }>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: ${_ => _.height};\r\n background-color: #fafafa;\r\n position: relative;\r\n\r\n @media (min-width: 400px) {\r\n background-image: url(/backgrounds/PortBackWeb.jpg);\r\n background-position: center center;\r\n background-size: cover;\r\n }\r\n`;\r\n\r\nconst Body = styled.div`\r\n background-color: #fafafa;\r\n padding: 40px 50px 0;\r\n max-width: 242px;\r\n\r\n @media (min-width: 400px) {\r\n position: relative;\r\n border-radius: 4px;\r\n }\r\n`;\r\n\r\nconst Header = styled.div`\r\n margin-bottom: 25px;\r\n position: relative;\r\n\r\n >div:first-child {\r\n img {\r\n height: 60px;\r\n }\r\n }\r\n\r\n >div:last-child {\r\n position: absolute;\r\n top: 43px;\r\n left: 65px;\r\n font-size: 14px;\r\n color: #888;\r\n font-weight: 300;\r\n }\r\n`;\r\n\r\nconst TxtField = styled.div`\r\n margin-bottom: 10px;\r\n\r\n >div:last-child {\r\n font-size: 14px;\r\n color: #aaa;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n height: 41px;\r\n text-align: right;\r\n\r\n button {\r\n background-color: #2d3e50;\r\n }\r\n\r\n button:hover {\r\n background-color: #596f86;\r\n }\r\n\r\n button:disabled {\r\n background-color: #f3f2f1;\r\n }\r\n`;\r\n\r\nconst Progress = styled.div`\r\n height: 41px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n background-color: #1b2431;\r\n color: white;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 60px;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n\r\n >div:first-child {\r\n padding-top: 2px;\r\n margin-right: 6px;\r\n }\r\n\r\n @media (min-width: 400px) {\r\n position: relative;\r\n margin: 30px -50px 0;\r\n width: calc(100% + 100px);\r\n border-radius: 0 0 4px 4px;\r\n }\r\n`;\r\n\r\nconst Error = styled.div`\r\n color: red;\r\n margin-bottom: 10px;\r\n font-size: 14px;\r\n`;\r\n\r\nconst Support = styled.a`\r\n padding: 17px 30px;\r\n position: fixed;\r\n bottom: 10px;\r\n right: 20px;\r\n color: white;\r\n font-size: 40px;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n border: 1px transparent solid;\r\n transition: background-color .4s, border .6s;\r\n\r\n :hover {\r\n border: 1px rgb(255, 255, 255, .8) solid;\r\n background-color: rgb(255, 255, 255, .3);\r\n }\r\n\r\n @media (max-width: 400px) {\r\n display: none;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const Login: React.FC<{ token?: string, refreshToken?: string, pathName?: string, changeMode: (_: AppStartMode, userName?: string, password?: string) => void }> = ({ token, refreshToken, pathName, changeMode }) => {\r\n const { api, appStore, eventStore, portCallStore, reportStore } = useStores();\r\n const [userName, setUserName] = useState(\"\");\r\n const [pwd, setPwd] = useState(\"\");\r\n const [processing, setProcessing] = useState(false);\r\n const [autoLogin, setAutoLogin] = useState(false);\r\n const [error, setError] = useState();\r\n const { getError } = useRest();\r\n const height = useResize();\r\n\r\n let passwordRef: ITextField | null = null;\r\n\r\n const cleanUp = () => {\r\n setProcessing(false);\r\n setPwd(\"\");\r\n\r\n if (passwordRef) {\r\n passwordRef?.select();\r\n }\r\n }\r\n\r\n const login = async () => {\r\n if (userName.length < 1 || pwd.length < 1) {\r\n setProcessing(false);\r\n cleanUp();\r\n return;\r\n }\r\n\r\n try {\r\n let r = await api.login(userName, pwd);\r\n api.setTokens(r.accessToken, r.refreshToken);\r\n }\r\n catch (error: any) {\r\n let errorMsg = await getError(error);\r\n setError(errorMsg);\r\n }\r\n\r\n cleanUp();\r\n }\r\n\r\n useEffect(() => {\r\n if (processing) {\r\n setError(undefined);\r\n login();\r\n }\r\n }, [processing])\r\n\r\n useEffect(() => {\r\n if (autoLogin) {\r\n setTimeout(() => {\r\n api.setTokens(token!, refreshToken!);\r\n window.location.href = `${window.origin}${pathName ? pathName : \"\"}`;\r\n }, 1000);\r\n }\r\n }, [autoLogin])\r\n\r\n useEffect(() => {\r\n portCallStore.setPortCalls([]);\r\n eventStore.setup(undefined);\r\n appStore.setup(undefined);\r\n reportStore.clearReports();\r\n\r\n // Keep the events and the last seen chat ts\r\n let tempEvents = eventStore.eventQueue;\r\n let tempChatLastSeen = localStorage.getItem(\"TS_CHAT_LAST_SEEN\");\r\n localStorage.clear();\r\n\r\n eventStore.saveToStorage(\"TS_EVENTS\", tempEvents);\r\n if(tempChatLastSeen) {\r\n localStorage.setItem(\"TS_CHAT_LAST_SEEN\", tempChatLastSeen);\r\n }\r\n\r\n // Autologin\r\n if (token && refreshToken) {\r\n // Clear events if auto login\r\n localStorage.clear();\r\n setAutoLogin(true);\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 Statement Of Facts v. {packageJson.version}\r\n
\r\n
\r\n {error &&\r\n \r\n {error}\r\n \r\n }\r\n \r\n {\r\n setError(undefined);\r\n setUserName(newValue ? newValue : \"\");\r\n }}\r\n onKeyDown={ev => {\r\n if (ev.key && ev.key === \"Enter\") {\r\n setProcessing(true);\r\n }\r\n }}\r\n />\r\n
\r\n Username\r\n
\r\n
\r\n \r\n passwordRef = _}\r\n type=\"password\"\r\n value={pwd}\r\n canRevealPassword={true}\r\n autoComplete=\"password\"\r\n onChange={(ev, newValue) => {\r\n setPwd(newValue ? newValue : \"\");\r\n }}\r\n onKeyDown={ev => {\r\n if (ev.key && ev.key === \"Enter\") {\r\n setProcessing(true);\r\n }\r\n }}\r\n />\r\n
\r\n Password\r\n
\r\n
\r\n\r\n {(processing || autoLogin)\r\n ?\r\n \r\n \r\n \r\n :\r\n \r\n { setProcessing(true) }}\r\n />\r\n \r\n }\r\n\r\n {autoLogin\r\n ?\r\n
\r\n
\r\n \r\n
\r\n
\r\n Automatic login. Please wait...\r\n
\r\n
\r\n :\r\n
{ changeMode(AppStartMode.ResetPassword) }}>\r\n
\r\n \r\n
\r\n
\r\n Forgot your password Click here\r\n
\r\n
\r\n }\r\n\r\n {/* { changeMode(AppStartMode.Register) }}>\r\n
\r\n \r\n
\r\n
\r\n Register a new account here for free\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 { useStores } from \"../../hooks/useStores\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ProgressBar } from \"../ProgressBar/ProgressBar\";\r\nimport packageJson from \"../../../package.json\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppTextField } from \"../AppTextField/AppTextField\";\r\nimport { AppDefaultButton } from \"../Buttons/AppDefaultButton\";\r\nimport { IRegisterUser } from \"../../interfaces/IRegisterUser\";\r\nimport { AppStartMode } from \"../../enums/AppStartMode\";\r\nimport useResize from \"../../hooks/useResize\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{height:string}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: ${_ => _.height};\r\n background-color: #fafafa;\r\n position: relative;\r\n\r\n @media (min-width: 400px) {\r\n background-image: url(/backgrounds/PortBackWeb.jpg);\r\n background-position: center center;\r\n background-size: cover;\r\n }\r\n`;\r\n\r\nconst Body = styled.div`\r\n background-color: #fafafa;\r\n padding: 40px 50px 0;\r\n max-width: 275px;\r\n \r\n @media (min-width: 400px) {\r\n position: relative;\r\n border-radius: 4px;\r\n }\r\n`;\r\n\r\n\r\nconst Header = styled.div`\r\n margin: 0 0 25px 0;\r\n position: relative;\r\n\r\n >div:first-child {\r\n img {\r\n height: 60px;\r\n }\r\n }\r\n\r\n >div:last-child {\r\n position: absolute;\r\n top: 43px;\r\n left: 65px;\r\n font-size: 14px;\r\n color: #888;\r\n font-weight: 300;\r\n\r\n }\r\n`;\r\n\r\nconst Message = styled.div`\r\n font-size: 15px;\r\n margin-bottom: 30px;\r\n color: #666;\r\n`;\r\n\r\nconst TxtField = styled.div`\r\n margin-bottom: 10px;\r\n\r\n >div:last-child {\r\n font-size: 14px;\r\n color: #aaa;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n margin: 25px -10px 40px;\r\n text-align: right;\r\n\r\n\r\n button {\r\n background-color: #2d3e50;\r\n margin: 0 10px;\r\n }\r\n\r\n button:hover {\r\n background-color: #596f86;\r\n }\r\n\r\n button:disabled {\r\n background-color: #f3f2f1;\r\n }\r\n`;\r\n\r\nconst Progress = styled.div`\r\n position: fixed;\r\n width: 100%;\r\n left: 0;\r\n top: 0;\r\n\r\n @media (min-width: 400px) {\r\n position: absolute;\r\n }\r\n`;\r\n\r\nconst Error = styled.div`\r\n color: red;\r\n margin-bottom: 10px;\r\n font-size: 14px;\r\n`;\r\n//#endregion\r\n\r\nexport const Register: React.FC<{ changeMode: (_: AppStartMode) => void }> = ({ changeMode }) => {\r\n const { api } = useStores();\r\n const height = useResize();\r\n const [processing, setProcessing] = useState(false);\r\n const [mode, setMode] = useState<\"register\" | \"done\">(\"register\")\r\n const [error, setError] = useState();\r\n const [user, setUser] = useState({\r\n firstname: \"\",\r\n lastname: \"\",\r\n company: \"\",\r\n email: \"\",\r\n mobile: \"\"\r\n });\r\n\r\n const isEmpty = (s: string) => {\r\n if (!s || s.trim().length === 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n const register = async () => {\r\n try {\r\n var r = await api.register(user);\r\n setMode(\"done\");\r\n }\r\n catch (error: any) {\r\n if (error.status === 401) {\r\n setError(\"Authentication failed\");\r\n }\r\n else {\r\n setError(\"Unknown error\");\r\n }\r\n }\r\n\r\n setProcessing(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (processing) {\r\n setError(undefined);\r\n register();\r\n }\r\n }, [processing])\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 Statement of facts v. {packageJson.version}\r\n
\r\n
\r\n\r\n {mode === \"done\" &&\r\n \r\n Thanks {user.firstname} for registering. One of our team members will contact you shortly. In the mean time, read more about our services here.\r\n \r\n }\r\n\r\n {mode === \"register\" &&\r\n
\r\n \r\n You're just a single step away from experiencing the new fully digital way of doing Statement Of Facts. Fill in the details below, and we'll have you up and running in no time.\r\n \r\n {error &&\r\n \r\n {error}\r\n \r\n }\r\n \r\n {\r\n setError(undefined);\r\n setUser({ ...user, firstname: newValue ? newValue : \"\" });\r\n }}\r\n />\r\n
\r\n Firstname\r\n
\r\n
\r\n \r\n {\r\n setError(undefined);\r\n setUser({ ...user, lastname: newValue ? newValue : \"\" });\r\n }}\r\n />\r\n
\r\n Lastname\r\n
\r\n
\r\n \r\n {\r\n setError(undefined);\r\n setUser({ ...user, company: newValue ? newValue : \"\" });\r\n }}\r\n />\r\n
\r\n Company\r\n
\r\n
\r\n \r\n {\r\n setError(undefined);\r\n setUser({ ...user, email: newValue ? newValue : \"\" });\r\n }}\r\n />\r\n
\r\n Email\r\n
\r\n
\r\n \r\n {\r\n setError(undefined);\r\n setUser({ ...user, mobile: newValue ? newValue : \"\" });\r\n }}\r\n />\r\n
\r\n Phone\r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n {\r\n changeMode(AppStartMode.Login);\r\n }}\r\n />\r\n\r\n {mode === \"register\" &&\r\n {\r\n if (isEmpty(user.firstname) || isEmpty(user.lastname) || isEmpty(user.company) || isEmpty(user.mobile) || isEmpty(user.email)) {\r\n setError(\"All fields must be filled in\");\r\n return;\r\n }\r\n setProcessing(true);\r\n }}\r\n />\r\n }\r\n \r\n\r\n \r\n
\r\n );\r\n};","import { useStores } from \"../../hooks/useStores\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ProgressBar } from \"../ProgressBar/ProgressBar\";\r\nimport packageJson from \"../../../package.json\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppTextField } from \"../AppTextField/AppTextField\";\r\nimport { AppDefaultButton } from \"../Buttons/AppDefaultButton\";\r\nimport useResize from \"../../hooks/useResize\";\r\nimport { useRest } from \"../../hooks/useRest\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ height: string }>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: ${_ => _.height};\r\n background-color: #fafafa;\r\n position: relative;\r\n\r\n @media (min-width: 400px) {\r\n background-image: url(/backgrounds/PortBackWeb.jpg);\r\n background-position: center center;\r\n background-size: cover;\r\n }\r\n`;\r\n\r\nconst Body = styled.div`\r\n background-color: #fafafa;\r\n padding: 40px 50px 0;\r\n max-width: 242px;\r\n \r\n @media (min-width: 400px) {\r\n position: relative;\r\n border-radius: 4px;\r\n }\r\n`;\r\n\r\nconst Header = styled.div`\r\n margin: 0 0 25px 0;\r\n position: relative;\r\n\r\n >div:first-child {\r\n img {\r\n height: 60px;\r\n }\r\n }\r\n\r\n >div:last-child {\r\n position: absolute;\r\n top: 43px;\r\n left: 65px;\r\n font-size: 14px;\r\n color: #888;\r\n font-weight: 300;\r\n\r\n }\r\n`;\r\n\r\nconst Message = styled.div`\r\n font-size: 15px;\r\n margin-bottom: 30px;\r\n color: #666;\r\n`;\r\n\r\nconst TxtField = styled.div`\r\n margin-bottom: 10px;\r\n\r\n >div:last-child {\r\n font-size: 14px;\r\n color: #aaa;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n margin: 25px -10px 40px;\r\n text-align: right;\r\n\r\n\r\n button {\r\n background-color: #2d3e50;\r\n margin: 0 10px;\r\n }\r\n\r\n button:hover {\r\n background-color: #596f86;\r\n }\r\n\r\n button:disabled {\r\n background-color: #f3f2f1;\r\n }\r\n`;\r\n\r\nconst Progress = styled.div`\r\n position: fixed;\r\n width: 100%;\r\n left: 0;\r\n top: 0;\r\n\r\n @media (min-width: 400px) {\r\n position: absolute;\r\n }\r\n`;\r\n\r\nconst Error = styled.div`\r\n color: red;\r\n margin-bottom: 10px;\r\n font-size: 14px;\r\n`;\r\n//#endregion\r\n\r\nexport const ResetPassword: React.FC<{ changeMode: () => void }> = ({ changeMode }) => {\r\n const { api } = useStores();\r\n const height = useResize();\r\n const [input, setInput] = useState(\"\");\r\n const [processing, setProcessing] = useState(false);\r\n const [mode, setMode] = useState<\"reset\" | \"done\">(\"reset\");\r\n const [error, setError] = useState();\r\n const { getError } = useRest();\r\n\r\n const isEmpty = () => {\r\n if (input.trim().length < 3) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n const resetPassword = async () => {\r\n try {\r\n await api.resetPassword(input);\r\n setProcessing(false);\r\n setInput(\"\");\r\n setMode(\"done\");\r\n }\r\n catch (error: any) {\r\n setError(await getError(error));\r\n setProcessing(false);\r\n setInput(\"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (processing) {\r\n setError(undefined);\r\n resetPassword();\r\n }\r\n }, [processing])\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 Statement of facts v. {packageJson.version}\r\n
\r\n
\r\n
\r\n \r\n {mode === \"reset\"\r\n ? \"Please enter your username or email, and we'll send you an email with a new password asap.\"\r\n : \"Your new password is on it's way. Check your mailbox.\"\r\n }\r\n \r\n {mode === \"reset\" &&\r\n <>\r\n {error &&\r\n \r\n {error}\r\n \r\n }\r\n\r\n \r\n {\r\n setError(undefined);\r\n setInput(newValue ? newValue : \"\");\r\n }}\r\n onKeyDown={ev => {\r\n if (!isEmpty() && ev.key === \"Enter\") {\r\n setProcessing(true);\r\n }\r\n }}\r\n />\r\n
\r\n Username or email\r\n
\r\n
\r\n \r\n }\r\n
\r\n\r\n \r\n {mode === \"reset\"\r\n ?\r\n <>\r\n {\r\n changeMode();\r\n }}\r\n />\r\n {\r\n setProcessing(true);\r\n }}\r\n />\r\n \r\n :\r\n {\r\n changeMode();\r\n }}\r\n />\r\n }\r\n \r\n \r\n
\r\n );\r\n};","import { useState } from \"react\";\r\nimport { AppStartMode } from \"../../enums/AppStartMode\";\r\nimport { Activate } from \"./Activate\";\r\nimport { Login } from \"./Login\";\r\nimport { Register } from \"./Register\";\r\nimport { ResetPassword } from \"./ResetPassword\";\r\n\r\nexport const Start: React.FC<{}> = () => {\r\n const [mode, setMode] = useState(AppStartMode.Login);\r\n const [credentials, setCredentials] = useState<{ userName: string, password: string }>();\r\n\r\n if (mode === AppStartMode.Login) {\r\n return {\r\n if (_userName && _password) {\r\n setCredentials({ userName: _userName, password: _password });\r\n }\r\n else {\r\n setCredentials(undefined);\r\n }\r\n setMode(_mode);\r\n }}\r\n />;\r\n }\r\n\r\n if (mode === AppStartMode.Activate) {\r\n return {\r\n setMode(_);\r\n }}\r\n />;\r\n }\r\n\r\n if (mode === AppStartMode.ResetPassword) {\r\n return { setMode(AppStartMode.Login); }} />;\r\n }\r\n\r\n return {\r\n setMode(_);\r\n }}\r\n />\r\n};","import { matchPath, useLocation } from \"react-router-dom\";\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { CargoOperation } from \"../classes/CargoOperation\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { IKeyValue } from \"../interfaces/IKeyValue\";\r\n\r\ninterface IRouteParams {\r\n pId?: string,\r\n cId?: string\r\n oId?: string\r\n}\r\n\r\nexport const useUrlFunctions = () => {\r\n const { pathname } = useLocation();\r\n\r\n const getObjectsByUrl = (portCalls: PortCall[], pId?: string, cId?: string, oId?: string): { pc?: PortCall, cargo?: Cargo, co?: CargoOperation } => {\r\n let pc: PortCall | undefined;\r\n let cargo: Cargo | undefined;\r\n let co: CargoOperation | undefined;\r\n\r\n // Try getting params when outside route\r\n if (!pId) {\r\n let urlParams = matchPath(pathname, { path: \"/portcalls/:pId\" });\r\n pId = urlParams?.params.pId;\r\n }\r\n if (!cId) {\r\n let urlParams = matchPath(pathname, { path: \"/portcalls/:pId/cargos/:cId\" });\r\n cId = urlParams?.params.cId;\r\n }\r\n if (!oId) {\r\n let urlParams = matchPath(pathname, { path: \"/portcalls/:pId/cargos/:cId/operations/:oId\" });\r\n oId = urlParams?.params.oId;\r\n }\r\n\r\n // Get objects\r\n if (pId) {\r\n pc = portCalls.find(_ => _.id === Number(pId));\r\n }\r\n\r\n if (pc && cId) {\r\n cargo = pc.cargos.find(_ => _.id === Number(cId));\r\n }\r\n\r\n if (cargo && oId) {\r\n co = cargo.cargoOperations.find(_ => _.id === oId);\r\n }\r\n\r\n return { pc, cargo, co };\r\n }\r\n\r\n const getQueryParam = (keys: string[]): IKeyValue[] => {\r\n let s = window.location.search;\r\n if (!s || s.length <= 1 || !s.startsWith(\"?\")) {\r\n return [];\r\n }\r\n\r\n let pairs = s.substring(1).split(\"&\");\r\n\r\n return pairs.map(_ => {\r\n let split = _.split(\"=\");\r\n return {\r\n id: split[0],\r\n text: split[1]\r\n };\r\n });\r\n }\r\n\r\n return { getQueryParam, getObjectsByUrl };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowDown, faChevronRight } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ active?: boolean }>`\r\n padding: 0 12px 14px;\r\n text-transform: capitalize;\r\n cursor: pointer;\r\n position: relative;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n flex-shrink: ${_ => _.active ? 1 : 2};\r\n\r\n .header {\r\n display: flex;\r\n font-size: 28px;\r\n font-weight: 600;\r\n color: ${_ => _.active ? \"#333\" : \"#bbb\"};\r\n\r\n .header-icon {\r\n font-size: 20px;\r\n padding-right: 6px;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .header-text {\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n .header-divider {\r\n padding: 12px 0 0 10px;\r\n font-size: 16px;\r\n opacity: .4;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n }\r\n\r\n .header-description {\r\n margin-top: -5px;\r\n font-size: 14px;\r\n color: ${_ => _.active ? \"#888\" : \"#bbb\"};\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n :hover {\r\n >div {\r\n color: #4177bf;\r\n }\r\n }\r\n\r\n .active {\r\n position: absolute;\r\n height: 4px;\r\n width: calc(100% - 24px);\r\n background-color: #4177bf;\r\n bottom: 3px;\r\n left: 12px;\r\n }\r\n\r\n @media (max-width: 1023px) {\r\n .header {\r\n font-size: 22px;\r\n\r\n .header-icon {\r\n font-size: 14px;\r\n }\r\n\r\n .header-divider {\r\n padding: 8px 0 0 10px;\r\n font-size: 14px;\r\n }\r\n }\r\n\r\n .header-description {\r\n font-size: 12px;\r\n }\r\n\r\n .active {\r\n position: absolute;\r\n height: 4px;\r\n width: calc(100% - 24px);\r\n background-color: #4177bf;\r\n bottom: 4px;\r\n left: 12px;\r\n }\r\n }\r\n \r\n`;\r\n//#endregion\r\n\r\nexport const PortCallHeaderTab: React.FC<{ text: string, description: string, icon?: React.JSX.Element, active?: boolean, showDivider?: boolean, onClick: () => void }> = ({ text, description, icon, active, showDivider, onClick }) => {\r\n return (\r\n \r\n
\r\n {icon &&\r\n
\r\n {icon}\r\n
\r\n }\r\n
\r\n {text}\r\n
\r\n {showDivider &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n {description}\r\n
\r\n {active &&\r\n
\r\n }\r\n \r\n );\r\n};","import { useStores } from \"./useStores\";\r\n\r\nexport const useVoyageFunctions = () => {\r\n const { appStore } = useStores();\r\n const useVoyageRef = appStore.customer?.settings?.useVoyageReference;\r\n\r\n const getVoyageNumberOrReference = (voyageNumber: number | undefined, voyageReference: string | undefined): string | undefined => {\r\n \r\n return useVoyageRef ? voyageReference ?? '?' : voyageNumber?.toString() ?? '?';\r\n }\r\n\r\n return {\r\n getVoyageNumberOrReference\r\n };\r\n}","import { DateTime, Duration, DurationLike, DurationObjectUnits } from \"luxon\";\r\n\r\nexport const useDateFunctions = () => {\r\n\r\n const makeDateObject = (date: Date, timeZone?: string): DateTime => {\r\n return DateTime.fromJSDate(new Date(date), { zone: timeZone });\r\n }\r\n\r\n const toDateString = (date?: Date, timeZone?: string, short: boolean = false, dateOnly: boolean = false, showSeconds: boolean = false, undefinedString: string = \"\"): string => {\r\n if (!date) {\r\n return undefinedString;\r\n }\r\n\r\n let _date = timeZone\r\n ? makeDateObject(date, timeZone)\r\n : makeDateObject(date);\r\n\r\n if (dateOnly) {\r\n return short\r\n ? _date.toFormat(\"dd.MM.yy\")\r\n : _date.toFormat(\"ccc dd MMM. yyyy\");\r\n }\r\n\r\n return short\r\n ? _date.toFormat(\"dd.MM.yy @ HH:mm\")\r\n : showSeconds\r\n ? _date.toFormat(\"ccc dd MMM. yyyy @ HH:mm:ss\")\r\n : _date.toFormat(\"ccc dd MMM. yyyy @ HH:mm\");\r\n }\r\n\r\n const convertStringToDate = (s?: string): Date | undefined => {\r\n if (!s) {\r\n return;\r\n }\r\n\r\n var split = s.trim().split(/\\/|\\.|-|,| /).map(_ => {\r\n if (_.trim().length > 0) {\r\n return _;\r\n }\r\n }).filter(_ => _);\r\n\r\n // Get numbers and strings\r\n let strings = split.filter(_ => isNaN(Number(_)));\r\n let numbers = split.filter(_ => !strings.includes(_)).map(_ => Number(_));\r\n\r\n let day;\r\n let month;\r\n let year = DateTime.now().year;\r\n let monthIsString = false;\r\n\r\n if (strings.length > 0) {\r\n monthIsString = true;\r\n month = strings[0]!.length >= 3 ? strings[0]?.substring(0, 3) : strings[0];\r\n }\r\n\r\n // Set day\r\n if (numbers.length > 0) {\r\n // Day is the first numeric value\r\n day = numbers[0];\r\n }\r\n\r\n // Set month\r\n if (numbers.length > 1) {\r\n if (month) {\r\n // Month is set\r\n year = numbers[1];\r\n }\r\n else {\r\n month = numbers[1];\r\n }\r\n }\r\n\r\n if (numbers.length > 2) {\r\n year = numbers[2];\r\n }\r\n\r\n let dateFormat = monthIsString ? \"d MMM yy H m s\" : \"d M yy H m s\";\r\n let dateString = `${day} ${month} ${year} 0 0 0`;\r\n let date = DateTime.fromFormat(dateString, dateFormat, { zone: undefined });\r\n\r\n return date.isValid ? date.toJSDate() : undefined;\r\n }\r\n\r\n const isBewteenDates = (date?: Date, from?: Date, to?: Date, canBeEqual?: boolean): boolean => {\r\n if (!date || !from || !to) {\r\n return false;\r\n }\r\n\r\n let d = makeDateObject(date);\r\n let f = makeDateObject(from);\r\n let t = makeDateObject(to);\r\n\r\n if(canBeEqual) {\r\n return d >= f && d <= t;\r\n }\r\n \r\n return d > f && d < t;\r\n }\r\n\r\n const getDuration = (from?: Date, to?: Date, setSecondsToZero: boolean = false, unit: keyof DurationObjectUnits = \"milliseconds\") => {\r\n if (!from || !to) {\r\n return 0;\r\n }\r\n\r\n let f = makeDateObject(from);\r\n let t = makeDateObject(to);\r\n\r\n if (setSecondsToZero) {\r\n f = f.set({ second: 0, millisecond: 0 });\r\n t = t.set({ second: 0, millisecond: 0 });\r\n }\r\n\r\n return t.diff(f).as(unit);\r\n }\r\n\r\n const getDurationString = (milliSeconds?: number, showSeconds: boolean = false, fullText: boolean = false, showMinutes: boolean = true): string => {\r\n let d = Duration.fromMillis(milliSeconds ? milliSeconds : 0);\r\n\r\n let dayTxt = fullText ? \" days\" : \"d\";\r\n let hourTxt = fullText ? \" hours\" : \"h\";\r\n let minuteTxt = fullText ? \" minutes\" : \"m\";\r\n let secondTxt = fullText ? \" seconds\" : \"s\";\r\n\r\n let timeArray = d.toFormat(\"d h m s\").split(\" \");\r\n let timeString = \"\";\r\n\r\n if (timeArray[0] !== \"0\") {\r\n timeString = timeArray[0] + `${dayTxt}, `;\r\n }\r\n\r\n if (timeArray[1] !== \"0\") {\r\n timeString += timeArray[1] + `${hourTxt}, `;\r\n }\r\n\r\n let s = showMinutes\r\n ? showSeconds\r\n ? timeString += timeArray[2] + `${minuteTxt}, ` + timeArray[3] + secondTxt\r\n : timeString += timeArray[2] + minuteTxt\r\n : timeString.substring(0, timeString.length - 2);\r\n\r\n // Remove all minus except the first one\r\n if (s.startsWith(\"-\")) {\r\n s = \"-\" + s.substring(1).replaceAll(\"-\", \"\");\r\n }\r\n\r\n return s;\r\n }\r\n\r\n const getTimeFromString = (s?: string): { hour: number, minute: number } | undefined => {\r\n if (!s) {\r\n return undefined;\r\n }\r\n\r\n let isNumerbersOnly = true;\r\n let hour: number | undefined;\r\n let minute: number | undefined;\r\n\r\n // Split by colon, whitespace, comma, or dot if any\r\n let split = s.trim().split(/[:| |.|,]/).map(_ => {\r\n if (_.trim().length > 0) {\r\n return _;\r\n }\r\n }).filter(_ => _);\r\n\r\n // Check that all are number\r\n split.forEach(_ => {\r\n var r = /^\\d+$/;;\r\n if (!_ || !r.test(_)) {\r\n isNumerbersOnly = false;\r\n }\r\n });\r\n\r\n if (!isNumerbersOnly) {\r\n return undefined;\r\n }\r\n\r\n if (split.length === 2) {\r\n // Get hour and minute based on array\r\n hour = Number(split[0]);\r\n minute = Number(split[1]);\r\n }\r\n else if (s.length >= 3) {\r\n // Get hour and minute based length. No colon\r\n hour = Number(s.substring(0, s.length - 2));\r\n minute = Number(s.substring(s.length - 2));\r\n }\r\n else {\r\n // Unvalid time format\r\n return undefined;\r\n }\r\n\r\n // Validate hour and minute\r\n if (hour < 0 || hour > 23 || minute < 0 || minute > 59) {\r\n return undefined;\r\n }\r\n\r\n return {\r\n hour,\r\n minute\r\n };\r\n }\r\n\r\n const relativeDateString = (date?: Date, useRelativeIfLessThan?: DurationLike, timezone?: string, short?: boolean) => {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n let d = makeDateObject(date);\r\n\r\n if (useRelativeIfLessThan) {\r\n let now = DateTime.now();\r\n let lessThanMs = Duration.fromDurationLike(useRelativeIfLessThan).toMillis();\r\n let diff = d.diff(now).as(\"milliseconds\");\r\n\r\n // Convert to positive number\r\n diff = Math.abs(diff);\r\n\r\n if (diff > lessThanMs) {\r\n return toDateString(date, timezone, short);\r\n }\r\n }\r\n\r\n return d.toRelative({ locale: \"en-US\" });\r\n }\r\n\r\n return { convertStringToDate, getDuration, getDurationString, getTimeFromString, makeDateObject, isBewteenDates, relativeDateString, toDateString };\r\n};","import { DateTime } from \"luxon\";\r\nimport { IAppSetup } from \"../interfaces/IAppSetup\";\r\nimport { IUser } from \"../interfaces/IUser\";\r\n\r\nexport const useAppFunctions = () => {\r\n const SK_Setup: string = \"TS_SETUP\";\r\n\r\n const getDataFromStorage = (): IAppSetup | undefined => {\r\n try {\r\n let data = localStorage.getItem(SK_Setup);\r\n let setupData = data ? JSON.parse(data) : undefined;\r\n\r\n return setupData;\r\n\r\n }\r\n catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n const getTimezone = (user?: IUser, portTimeZone?: string) => {\r\n return user?.fixedTimezone\r\n ? user.fixedTimezone\r\n : portTimeZone\r\n ? portTimeZone\r\n : DateTime.utc().zoneName;\r\n }\r\n\r\n return { getDataFromStorage, getTimezone };\r\n};","/**\r\n * Move logic from stores to this context\r\n */\r\n\r\nimport React, { createContext, Dispatch, useContext, useEffect, useReducer } from 'react';\r\nimport { IAppSetup } from '../interfaces/IAppSetup';\r\nimport { DateTime } from 'luxon';\r\nimport { useDateFunctions } from '../hooks/useDateFunctions';\r\nimport { useAppFunctions } from '../hooks/useAppFunctions';\r\n\r\ntype ReducerAction =\r\n | { type: \"setup\", appSetup: IAppSetup }\r\n | { type: \"setEditVoyageId\", id?: number }\r\n | { type: \"toggleQuickPortCallAddPanel\" };\r\n\r\ntype Data = {\r\n appSetup?: IAppSetup\r\n editVoyageId?: number\r\n quickPortCallAddPanelOpen: boolean\r\n}\r\n\r\ninterface IReducers {\r\n state: Data,\r\n dispatch: Dispatch,\r\n}\r\n\r\nconst initialState: any = {\r\n quickPortCallAddPanelOpen: false\r\n};\r\n\r\nconst Context = createContext(initialState);\r\n\r\nconst useAppContext = (): IReducers => useContext(Context);\r\n\r\nconst reducer = (state: Data, action: ReducerAction): Data => {\r\n switch (action.type) {\r\n case \"setup\":\r\n return {\r\n ...state,\r\n appSetup: action.appSetup\r\n };\r\n case \"setEditVoyageId\":\r\n return {\r\n ...state,\r\n editVoyageId: action.id\r\n };\r\n case \"toggleQuickPortCallAddPanel\":\r\n return {\r\n ...state,\r\n quickPortCallAddPanelOpen: !state.quickPortCallAddPanelOpen\r\n };\r\n }\r\n}\r\n\r\nexport const AppContextProvider: React.FC = ({ children }) => {\r\n const { getDataFromStorage } = useAppFunctions();\r\n const [state, dispatch] = useReducer(reducer, initialState)\r\n\r\n useEffect(() => {\r\n console.log(\"Setting up data in App Context Provider\");\r\n\r\n let setup = getDataFromStorage();\r\n if (setup) {\r\n dispatch({ type: \"setup\", appSetup: setup });\r\n }\r\n\r\n return (() => {\r\n // console.log(\"Cleaning up App Context Provider\");s\r\n // dispatch({ type: \"setup\", appSetup: setup });\r\n });\r\n }, [])\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport const useAppProvider = () => {\r\n const { state, dispatch } = useAppContext();\r\n const { makeDateObject } = useDateFunctions();\r\n\r\n return {\r\n user: state.appSetup?.user,\r\n company: state.appSetup?.customer,\r\n vessel: state.appSetup?.vessel,\r\n fuel: state.appSetup?.fuel ?? [],\r\n logReportFields: state.appSetup?.logReportFields ?? [],\r\n\r\n // Modal states\r\n editVoyageId: state.editVoyageId,\r\n quickPortCallAddPanelOpen: state.quickPortCallAddPanelOpen,\r\n\r\n isTankBasedRegistrationRequired: (date?: Date): boolean => {\r\n return date && makeDateObject(date) >= DateTime.fromJSDate(new Date(2024, 11, 1)) ? true : false;\r\n },\r\n\r\n setup: (appSetup: IAppSetup) => {\r\n dispatch({\r\n type: \"setup\",\r\n appSetup\r\n })\r\n },\r\n\r\n setEditVoyageId: (id?: number) => {\r\n dispatch({\r\n type: \"setEditVoyageId\",\r\n id\r\n })\r\n },\r\n\r\n toggleQuickPortCallAddPanel: () => {\r\n dispatch({\r\n type: \"toggleQuickPortCallAddPanel\"\r\n })\r\n }\r\n };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useStores } from \"../../hooks/useStores\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { observer } from \"mobx-react-lite\";\r\nimport { useUrlFunctions } from \"../../hooks/useUrlFunctions\";\r\nimport { PortCallHeaderTab } from \"./PortCallHeaderTab\";\r\nimport { useStringFunctions } from \"../../hooks/useStringFunctions\";\r\nimport { CargoOperationType } from \"../../enums/CargoOperationType\";\r\nimport { useVoyageFunctions } from '../../hooks/useVoyageFunctions';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowDown, faArrowUp, faPencil } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useAppProvider } from \"../../contextHooks/AppContext\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n border-bottom: 1px solid #ddd;\r\n background-image: linear-gradient(to right, transparent, white .5%);\r\n`;\r\n\r\nconst Navigation = styled.div`\r\n display: flex;\r\n /* align-items: flex-end; */ // Removed when edit button added (actions)\r\n padding: 10px 15px;\r\n\r\n .actions {\r\n flex-grow: 1;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n flex-grow: 1;\r\n font-size: 18px;\r\n color: #444;\r\n\r\n >div {\r\n padding: 0 20px;\r\n cursor: pointer;\r\n\r\n :hover {\r\n color: #4177bf;\r\n }\r\n }\r\n }\r\n\r\n @media (max-width: 1023px) {\r\n .actions {\r\n font-size: 18px;\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 470px) {\r\n .actions {\r\n >div {\r\n padding: 0 10px;\r\n }\r\n }\r\n } \r\n`;\r\n//#endregion\r\n\r\nexport const PortCallHeader: React.FC = observer(() => {\r\n const { appStore, portCallStore } = useStores();\r\n const { setEditVoyageId, user } = useAppProvider();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { splitCamlCase, toLowerWithCapitalLetter } = useStringFunctions();\r\n const { pId, cId, oId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { pc, cargo, co } = getObjectsByUrl(portCallStore.portCalls, pId, cId, oId);\r\n const { getVoyageNumberOrReference } = useVoyageFunctions();\r\n const history = useHistory();\r\n\r\n if (!pc) {\r\n return null;\r\n }\r\n\r\n let minWidths: string[] = [];\r\n if (oId) {\r\n minWidths = [\"80px\", \"80px\", \"200px\"];\r\n }\r\n else if (cId) {\r\n minWidths = [\"110px\", \"250px\", \"0\"];\r\n }\r\n else {\r\n minWidths = [\"auto\", \"0\", \"0\"];\r\n }\r\n\r\n return (\r\n \r\n \r\n history.push(`/portcalls/${pc.id}`)}\r\n text={appStore.isVessel\r\n ? pc.port.name.toLocaleLowerCase()\r\n : pc.vessel!.name\r\n }\r\n description={appStore.isVessel\r\n ? `Voyage ${getVoyageNumberOrReference(pc.voyageNumber, pc.voyageReference)}`\r\n : `${toLowerWithCapitalLetter(pc.port.name)} / ${getVoyageNumberOrReference(pc.voyageNumber, pc.voyageReference)}`\r\n }\r\n />\r\n {cargo &&\r\n }\r\n text={cargo.commodity}\r\n description={`${cargo.charterer ? cargo.charterer : \"Charterer not defined\"} / ${cargo.quantity.toLocaleString()} ${cargo.measurement?.name}`}\r\n showDivider={co && cargo ? true : false}\r\n active={oId ? false : true}\r\n onClick={() => history.push(`/portcalls/${pc.id}/cargos/${cId}`)}\r\n />\r\n }\r\n {co && cargo &&\r\n history.push(`/portcalls/${pc.id}/cargos/${cId}/operations/${oId}`)}\r\n />\r\n }\r\n\r\n {user?.canEditVoyage &&\r\n
\r\n
setEditVoyageId(pc.voyageId)}>\r\n \r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n );\r\n});\r\n","export enum CargoDirections {\r\n Load = 1,\r\n Discharge = 2,\r\n Both = 3\r\n}","export enum EventTriggerTypes {\r\n StartPortcall = 10,\r\n EndPortcall = 20,\r\n StartAnchor = 30,\r\n EndAnchor = 40,\r\n StartDrift = 50,\r\n EndDrift = 60,\r\n StartBerth = 70,\r\n EndBerth = 80,\r\n StartCargo = 90,\r\n EndCargo = 100,\r\n StarCargoOperation = 110,\r\n EndCargoOperation = 120,\r\n RegisterQty = 210,\r\n RegisterShipsFigures = 211,\r\n RegisterShipsRequestedQty = 212,\r\n // RegisterDraft = 214,\r\n SetNorTendered = 220,\r\n IsDelay = 230,\r\n RegisterUnits = 240,\r\n AskForNorTender = 260,\r\n RegisterAdditionalQtyProcessedInMt = 270,\r\n EndDelay = 280,\r\n AskForStorage = 290,\r\n LopWarning = 500,\r\n StartBarge = 1200,\r\n EndBarge = 1300,\r\n\r\n // Email report templates\r\n ArrivalReportEmail = 1400,\r\n DepartureReportEmail = 1401\r\n}","export enum FlowItemType {\r\n Event = 10,\r\n Condition = 20,\r\n Action = 30\r\n}","export enum SofEventType {\r\n Port = 10,\r\n Berth = 20,\r\n Cargo = 30,\r\n CargoOperation = 40\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { DateTime } from \"luxon\";\r\nimport { toJS } from \"mobx\";\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { CargoOperation } from \"../classes/CargoOperation\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { CargoDirections } from \"../enums/CargoDirections\";\r\nimport { EventTriggerTypes } from \"../enums/EventTriggerTypes\";\r\nimport { FlowItemType } from \"../enums/FlowItemType\";\r\nimport { SofEventAction } from \"../enums/SofEventAction\";\r\nimport { SofEventType } from \"../enums/SofEventType\";\r\nimport { eventHelpers } from \"../helpers/eventHelpers\";\r\nimport { IActivities } from \"../interfaces/IActivities\";\r\nimport { IBerthCall } from \"../interfaces/IBerthCall\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { IFlowActivityAction, IFlowActivityCondition, IFlowActivityEvent } from \"../interfaces/IFlowActivities\";\r\nimport { ISofEventDataField } from \"../interfaces/ISofEventDataField\";\r\nimport { useDateFunctions } from \"./useDateFunctions\";\r\nimport { ISofEvent, IStatementOfFact } from \"../interfaces/IStatementOfFact\";\r\nimport { CargoOperationType } from \"../enums/CargoOperationType\";\r\nimport { ILogReport } from \"../interfaces/ILogReport\";\r\nimport { Sof } from \"../classes/Sof\";\r\n\r\n//#region Styled Components\r\nconst AdditionalInfoContainer = styled.div`\r\n >div {\r\n margin-bottom: 5px;\r\n\r\n >span {\r\n .additional-data-value {\r\n font-weight: 600;\r\n padding-left: 5px;\r\n }\r\n }\r\n }\r\n\r\n >div:last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const useSofEventFunctions = () => {\r\n const { makeDateObject } = useDateFunctions();\r\n\r\n const allActivities = (flow: IFlow): (IFlowActivityAction | IFlowActivityCondition | IFlowActivityEvent)[] => {\r\n return [\r\n ...flow.actions.slice().sort((a, b) => { return a.name > b.name ? 1 : -1; }),\r\n ...flow.conditions.slice().sort((a, b) => { return a.name > b.name ? 1 : -1; }),\r\n ...flow.events.slice().sort((a, b) => { return a.name > b.name ? 1 : -1; })\r\n ];\r\n }\r\n\r\n const isLevelFinished = (eventType: SofEventType, template?: IFlowActivityEvent) => {\r\n if (!template) {\r\n return false;\r\n }\r\n if (eventType === SofEventType.Port && hasTrigger(template, EventTriggerTypes.EndPortcall)) {\r\n return true;\r\n }\r\n else if (eventType === SofEventType.Cargo && hasTrigger(template, EventTriggerTypes.EndCargo)) {\r\n return true;\r\n }\r\n else if (eventType === SofEventType.CargoOperation && hasTrigger(template, EventTriggerTypes.EndCargoOperation)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n const getLastEventAndTemplate = (flow: IFlow, sortedEvents: SofEvent[]) => {\r\n if (sortedEvents.length > 0) {\r\n let lastEvent = sortedEvents.slice().reverse()[0];\r\n let lastTemplate = flow.events.find(_ => _.id === lastEvent.templateId);\r\n\r\n if (lastTemplate) {\r\n return {\r\n event: lastEvent,\r\n template: lastTemplate\r\n }\r\n }\r\n }\r\n }\r\n\r\n const getLastEventInContainerBefore = (pc?: PortCall, cargo?: Cargo, cargoOperation?: CargoOperation, beforeDate?: Date): SofEvent | undefined => {\r\n let events: SofEvent[] | undefined;\r\n if (cargoOperation) {\r\n events = cargoOperation.sortedEvents.slice();\r\n }\r\n else if (cargo) {\r\n events = cargo.sortedEvents.slice();\r\n }\r\n else if (pc) {\r\n events = pc.sortedEvents.slice();\r\n }\r\n\r\n if (events && events.length > 0) {\r\n let eventsBefore = beforeDate\r\n ? events.filter(_ => makeDateObject(_.eventDate) < makeDateObject(beforeDate))\r\n : events;\r\n\r\n if (eventsBefore.length > 0) {\r\n return eventsBefore.reverse()[0];\r\n }\r\n }\r\n }\r\n\r\n const getEventAfterInContainer = (afterDate: Date, pc?: PortCall, cargo?: Cargo, cargoOperation?: CargoOperation): SofEvent | undefined => {\r\n let events: SofEvent[] | undefined;\r\n if (cargoOperation) {\r\n events = cargoOperation.sortedEvents.slice();\r\n }\r\n else if (cargo) {\r\n events = cargo.sortedEvents.slice();\r\n }\r\n else if (pc) {\r\n events = pc.sortedEvents.slice();\r\n }\r\n\r\n if (events && events.length > 0) {\r\n let eventsAfter = events.filter(_ => makeDateObject(_.eventDate) > makeDateObject(afterDate));\r\n if (eventsAfter.length > 0) {\r\n return eventsAfter[0];\r\n }\r\n }\r\n }\r\n\r\n const displayCoActivity = (activity: IFlowActivityEvent, coType: CargoOperationType) => {\r\n if (activity.cargoOperationTypes && activity.cargoOperationTypes.length > 0) {\r\n if (activity.cargoOperationTypes.indexOf(coType) >= 0) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n /** Get next actvities based on the last saved SOF event */\r\n const getNextActivities = (sortedEvents: SofEvent[], flow: IFlow, eventType: SofEventType, direction?: CargoDirections, coType?: CargoOperationType): IActivities => {\r\n let nextActivities: IActivities = {\r\n actions: [],\r\n conditions: [],\r\n events: []\r\n };\r\n\r\n // No events, return the start template activities\r\n if (sortedEvents.length === 0) {\r\n let startActivities = allActivities(flow).filter(_ => _.start && _.itemLevel === eventType);\r\n\r\n if (direction) {\r\n startActivities = startActivities.filter(_ => _.direction === CargoDirections.Both || _.direction === direction);\r\n }\r\n\r\n // Remove CO activities that should only be visible on certain co types\r\n startActivities = startActivities.filter(_ => {\r\n if (_.type === FlowItemType.Event && eventType === SofEventType.CargoOperation && coType) {\r\n return displayCoActivity(_, coType);\r\n }\r\n else {\r\n return true;\r\n }\r\n });\r\n\r\n return {\r\n actions: startActivities.filter(_ => _.type === FlowItemType.Action),\r\n conditions: startActivities.filter(_ => _.type === FlowItemType.Condition),\r\n events: startActivities.filter(_ => _.type === FlowItemType.Event)\r\n }\r\n }\r\n\r\n // Get last event and template\r\n let lastEventAndTemplate = getLastEventAndTemplate(flow, sortedEvents);\r\n\r\n // Check if last event/template is found\r\n if (!lastEventAndTemplate) {\r\n return nextActivities;\r\n }\r\n\r\n // Check if last event/template closes level\r\n if (isLevelFinished(eventType, lastEventAndTemplate.template)) {\r\n return nextActivities;\r\n }\r\n\r\n if (lastEventAndTemplate.template.outcomes && lastEventAndTemplate.template.outcomes.length > 0) {\r\n let _nextActivities: IActivities = { actions: [], conditions: [], events: [] };\r\n let _allActivities = allActivities(flow)\r\n .filter(_ => {\r\n // Remove events alreaded added and has suggestOnceOnly\r\n let existingEvent = sortedEvents.find(ev => ev.templateId === _.id && _.type === FlowItemType.Event);\r\n\r\n if (!existingEvent || !getTemplate(flow, _.id)?.suggestOnceOnly) {\r\n return _;\r\n }\r\n })\r\n .filter(_ => {\r\n if (eventType === SofEventType.Port || eventType === SofEventType.Berth) {\r\n return _.itemLevel === SofEventType.Port || _.itemLevel === SofEventType.Berth;\r\n }\r\n\r\n return _.itemLevel === eventType;\r\n })\r\n .filter(_ => {\r\n // Check for direction if defined\r\n if (direction) {\r\n return _.direction === CargoDirections.Both || _.direction === direction;\r\n }\r\n return _;\r\n })\r\n .filter(_ => {\r\n // Remove CO activities that should only be visible on certain co types\r\n if (_.type === FlowItemType.Event && eventType === SofEventType.CargoOperation && coType) {\r\n return displayCoActivity(_, coType);\r\n }\r\n else {\r\n return true;\r\n }\r\n });\r\n\r\n lastEventAndTemplate.template.outcomes.filter(_ => {\r\n // Check for direction if defined\r\n if (direction) {\r\n return _.direction === CargoDirections.Both || _.direction === direction;\r\n }\r\n return _;\r\n }).forEach(outcome => {\r\n if (outcome.nextIds) {\r\n _nextActivities.actions = _nextActivities.events.concat(_allActivities.filter(_ => _.type === FlowItemType.Action && outcome.nextIds!.indexOf(_.id) >= 0));\r\n _nextActivities.conditions = _nextActivities.events.concat(_allActivities.filter(_ => _.type === FlowItemType.Condition && outcome.nextIds!.indexOf(_.id) >= 0));\r\n _nextActivities.events = _nextActivities.events.concat(_allActivities.filter(_ => _.type === FlowItemType.Event && outcome.nextIds!.indexOf(_.id) >= 0));\r\n }\r\n });\r\n\r\n return _nextActivities;\r\n }\r\n\r\n return nextActivities;\r\n }\r\n\r\n /** Get template based on the id from FlowItems. Only exists in JSON in Flow table */\r\n const getTemplate = (flow: IFlow, templateId: string): IFlowActivityEvent | undefined => {\r\n return flow ? flow.events.find(_ => _.id === templateId) : undefined;\r\n }\r\n\r\n /** Returns all event template with the trigger in the flow */\r\n const getTemplatesByTrigger = (flow: IFlow, trigger: EventTriggerTypes): IFlowActivityEvent[] => {\r\n return flow.events.filter(_ => hasTrigger(_, trigger));\r\n }\r\n\r\n const createNewVersion = (sofEvent: SofEvent, action: SofEventAction) => {\r\n let event = new SofEvent(toJS(sofEvent));\r\n event.action = action;\r\n\r\n return event;\r\n }\r\n\r\n const createEmpty = (template: IFlowActivityEvent) => {\r\n let event = new SofEvent();\r\n event.action = SofEventAction.New;\r\n event.eventDate = DateTime.now().set({ second: 0, millisecond: 0 }).toJSDate();\r\n event.eventType = template.itemLevel;\r\n event.name = template.name;\r\n event.templateId = template.id;\r\n\r\n return event;\r\n }\r\n\r\n const getAdditionalProperty = (data: ISofEventDataField[], internalName: string, convertToReadable?: boolean) => {\r\n let additionalProperty = data.find(_ => _.internalName.toLowerCase() === internalName.toLowerCase());\r\n\r\n if (!additionalProperty || !additionalProperty.value === undefined) {\r\n return;\r\n }\r\n\r\n return getAdditionalPropertyValue(additionalProperty, convertToReadable);\r\n }\r\n\r\n const getAdditionalPropertyValue = (additionalProperty: ISofEventDataField, convertToReadable?: boolean) => {\r\n if (!additionalProperty || !additionalProperty.value === undefined) {\r\n return;\r\n }\r\n\r\n switch (additionalProperty.dataType.toLowerCase()) {\r\n case \"boolean\":\r\n return !convertToReadable\r\n ? Boolean(additionalProperty.value)\r\n : Boolean(additionalProperty.value)\r\n ? \"Yes\"\r\n : \"No\";\r\n case \"list\":\r\n return !convertToReadable\r\n ? additionalProperty.value\r\n : additionalProperty.value.title;\r\n case \"port\":\r\n return !convertToReadable\r\n ? additionalProperty.value\r\n : additionalProperty.value.title;\r\n case \"berth\":\r\n return !convertToReadable\r\n ? additionalProperty.value\r\n : additionalProperty.value.title;\r\n }\r\n\r\n return additionalProperty.value;\r\n }\r\n\r\n const getAdditionalData = (ev: SofEvent | ISofEvent): React.JSX.Element | undefined => {\r\n let s: React.JSX.Element[] = [];\r\n\r\n ev.data.forEach(d => {\r\n // Get individual value. This is for handling multiple data fields added \r\n let value = getAdditionalPropertyValue(d, true);\r\n\r\n if (value !== undefined && value !== null) {\r\n if (d.dataType.toLowerCase() === \"double\") {\r\n try {\r\n value = parseFloat(value).toFixed(3);\r\n }\r\n catch (error) {\r\n console.warn(`Unable to parse additional double value ${d.internalName}. Value is: ${value}`);\r\n }\r\n }\r\n\r\n s.push(\r\n \r\n {d.name}:\r\n {value}\r\n \r\n );\r\n }\r\n });\r\n\r\n if (ev.remark && ev.remark.trim().length > 0) {\r\n s.push(\r\n \r\n {ev.remark.trim()}\r\n \r\n );\r\n }\r\n\r\n return s.length > 0\r\n ?\r\n \r\n {s.map((d, index) => {\r\n return (\r\n
\r\n {d}\r\n
\r\n );\r\n })}\r\n
\r\n : undefined\r\n ;\r\n }\r\n\r\n const getAdditionalInfo = (ev: SofEvent | ISofEvent, flow: IFlow) => {\r\n let template = getTemplate(flow, ev.templateId);\r\n var additionalInfo: string[] = [];\r\n\r\n if (!template) {\r\n return additionalInfo;\r\n }\r\n\r\n if (hasTrigger(template, EventTriggerTypes.StartBerth)) {\r\n let berthPropertyValue = getAdditionalProperty(ev.data, \"Berth\");\r\n if (berthPropertyValue) {\r\n additionalInfo.push(berthPropertyValue.title);\r\n }\r\n }\r\n\r\n return additionalInfo;\r\n }\r\n\r\n const getExtendedName = (ev: SofEvent | ISofEvent, flow: IFlow) => {\r\n let additionalInfo = getAdditionalInfo(ev, flow);\r\n let name = ev.name;\r\n\r\n if (additionalInfo.length > 0) {\r\n name += ` | ${additionalInfo.join(\", \")}`\r\n }\r\n\r\n return name;\r\n }\r\n\r\n const hasTrigger = (template: IFlowActivityEvent, trigger: EventTriggerTypes): boolean => {\r\n if (template.triggers) {\r\n return template.triggers.indexOf(trigger) >= 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const getBerthCalls = (flow: IFlow, portCall: PortCall, reports?: ILogReport[]): IBerthCall[] => {\r\n let berthCalls: IBerthCall[] = [];\r\n\r\n let startEvents = portCall.events.slice().filter(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.StartBerth)) {\r\n return _;\r\n }\r\n });\r\n\r\n startEvents.forEach(startEvent => {\r\n let endEvent = portCall.events.slice().sort(eventHelpers.sortByDate).find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.EndBerth) && DateTime.fromJSDate(new Date(_.eventDate)) > DateTime.fromJSDate(new Date(startEvent.eventDate))) {\r\n return _;\r\n }\r\n });\r\n\r\n let berthPropertyValue = getAdditionalProperty(startEvent.data, \"Berth\");\r\n\r\n if (berthPropertyValue) {\r\n let berthCall: IBerthCall = {\r\n start: startEvent.eventDate,\r\n end: endEvent?.eventDate,\r\n logReports: [],\r\n berth: {\r\n id: berthPropertyValue.id,\r\n name: berthPropertyValue.title\r\n },\r\n events: portCall.events.slice().sort(eventHelpers.sortByDate).filter(_ => {\r\n\r\n let _eventDate = DateTime.fromJSDate(new Date(_.eventDate));\r\n let _start = DateTime.fromJSDate(new Date(startEvent.eventDate));\r\n let _end = DateTime.fromJSDate(endEvent ? new Date(endEvent.eventDate) : new Date(2200, 1, 1));\r\n\r\n if (_eventDate >= _start && _eventDate <= _end) {\r\n return _;\r\n }\r\n\r\n })\r\n };\r\n\r\n // Add reports\r\n if (reports) {\r\n berthCall.events.filter(_ => _.logReportId).forEach(_ => {\r\n let report = reports.find(r => r.id === _.logReportId);\r\n if (report) {\r\n berthCall.logReports.push(report);\r\n }\r\n });\r\n }\r\n\r\n berthCalls.push(berthCall);\r\n }\r\n else {\r\n console.warn(\"Unable to find additional property Berth from start event\");\r\n }\r\n });\r\n\r\n return berthCalls.sort((a, b) => { return a.start > b.start ? 1 : -1 });\r\n }\r\n\r\n /** Select events for new SOF */\r\n const selectDefaultSofEvents = (pc: PortCall, cargo: Cargo, berthCalls: IBerthCall[]): SofEvent[] => {\r\n let pcEvents = pc.events.slice().sort(eventHelpers.sortByDate);\r\n\r\n if (berthCalls.length === 0) {\r\n return [];\r\n }\r\n\r\n // Select all events before first berth call\r\n let selectedEvents = pcEvents.filter(_ => DateTime.fromJSDate(new Date(_.eventDate)) < DateTime.fromJSDate(new Date(berthCalls[0].start)));\r\n\r\n // Select all events for berth calls where cargo has been involved\r\n cargo.events.forEach(cEvent => {\r\n berthCalls.forEach(berthCall => {\r\n if (DateTime.fromJSDate(new Date(cEvent.eventDate)) >= DateTime.fromJSDate(new Date(berthCall.start))) {\r\n if (!berthCall.end || DateTime.fromJSDate(new Date(cEvent.eventDate)) <= DateTime.fromJSDate(new Date(berthCall.end))) {\r\n selectedEvents = selectedEvents.concat(berthCall.events.slice());\r\n }\r\n }\r\n });\r\n });\r\n\r\n cargo.cargoOperations.forEach(co => {\r\n co.events.forEach(cEvent => {\r\n berthCalls.forEach(berthCall => {\r\n if (DateTime.fromJSDate(new Date(cEvent.eventDate)) >= DateTime.fromJSDate(new Date(berthCall.start))) {\r\n if (!berthCall.end || DateTime.fromJSDate(new Date(cEvent.eventDate)) <= DateTime.fromJSDate(new Date(berthCall.end))) {\r\n selectedEvents = selectedEvents.concat(berthCall.events.slice());\r\n }\r\n }\r\n });\r\n });\r\n });\r\n\r\n // Select all events after last berth call, if last berth call is finished\r\n if (berthCalls[berthCalls.length - 1].end) {\r\n selectedEvents = selectedEvents.concat(pcEvents.filter(_ => DateTime.fromJSDate(new Date(_.eventDate)) > DateTime.fromJSDate(new Date(berthCalls[berthCalls.length - 1].end!))));\r\n }\r\n\r\n // Return unique array\r\n return Array.from(new Set(selectedEvents.map(_ => _)));\r\n }\r\n\r\n const includedInLockedSof = (pc?: PortCall, event?: SofEvent): boolean => {\r\n let included = false;\r\n\r\n if (!pc || !event) {\r\n return false;\r\n }\r\n\r\n pc.cargos.forEach(c => {\r\n if (c.latestSof && c.latestSof.allEvents.find(_ => _.id === event.id && _.versionId === event.versionId)) {\r\n included = true;\r\n }\r\n });\r\n\r\n return included;\r\n }\r\n\r\n /** Gets the first or last event by trigger */\r\n const getEventByTrigger = (flow: IFlow, trigger: EventTriggerTypes, sortedEvents: SofEvent[], first: boolean = true) => {\r\n return (first ? sortedEvents : sortedEvents.slice().reverse()).find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, trigger)) {\r\n return _;\r\n }\r\n });\r\n }\r\n\r\n const getLastEventByTriggerBeforeOrEqual = (flow: IFlow, trigger: EventTriggerTypes, sortedEvents: SofEvent[], before: Date) => {\r\n return sortedEvents.slice().reverse().filter(_ => makeDateObject(_.eventDate) <= makeDateObject(before)).find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, trigger)) {\r\n return _;\r\n }\r\n });\r\n }\r\n\r\n const convertFromClassToInterface = (events: SofEvent[]): ISofEvent[] => {\r\n return events.map(_ => {\r\n return {\r\n id: _.id,\r\n versionId: _.versionId,\r\n createdFrontend: _.createdFrontend,\r\n flowId: _.flowId,\r\n templateId: _.templateId,\r\n name: _.name,\r\n eventDate: _.eventDate,\r\n action: _.action,\r\n eventType: _.eventType,\r\n data: _.data,\r\n portCallId: _.portCallId,\r\n cargoId: _.cargoId,\r\n cargoPortId: _.cargoPortId,\r\n cargoOperationId: _.cargoOperationId,\r\n cargoOperationType: _.cargoOperationType,\r\n remark: _.remark,\r\n internalRemark: _.internalRemark,\r\n appUserId: _.appUserId,\r\n logReportId: _.logReportId\r\n };\r\n })\r\n }\r\n\r\n const removeExcludedEvents = (flow: IFlow, sofEvents: SofEvent[]) => {\r\n return sofEvents.slice().filter(ev => {\r\n let template = getTemplate(flow, ev.templateId);\r\n if (template?.excludeFromSof === false) {\r\n return ev;\r\n }\r\n });\r\n }\r\n\r\n const removeExcludedEvents2 = (flow: IFlow, sofEvents: ISofEvent[]) => {\r\n return sofEvents.slice().filter(ev => {\r\n let template = getTemplate(flow, ev.templateId);\r\n if (template?.excludeFromSof === false) {\r\n return ev;\r\n }\r\n });\r\n }\r\n\r\n const removeExcludedEventsFromSof = (flow: IFlow, sof: Sof) => {\r\n sof.setEvents(removeExcludedEvents(flow, sof.events));\r\n sof.setCargoEvents(removeExcludedEvents(flow, sof.cargoEvents));\r\n sof.cargoOperations.forEach(co => {\r\n co.setEvents(removeExcludedEvents(flow, co.events));\r\n });\r\n }\r\n\r\n const removeExcludedEventsFromStatementOfFact = (flow: IFlow, sof: IStatementOfFact): IStatementOfFact => {\r\n return ({\r\n ...sof,\r\n events: removeExcludedEvents2(flow, sof.events),\r\n cargoEvents: removeExcludedEvents2(flow, sof.cargoEvents),\r\n cargoes: [...sof.cargoes.map(c => {\r\n return {\r\n ...c,\r\n cargoOperations: [...c.cargoOperations.map(co => {\r\n return {\r\n ...co,\r\n events: removeExcludedEvents2(flow, co.events)\r\n }\r\n })]\r\n }\r\n })]\r\n });\r\n }\r\n\r\n return {\r\n allActivities,\r\n convertFromClassToInterface,\r\n createEmpty,\r\n createNewVersion,\r\n getAdditionalData,\r\n getAdditionalInfo,\r\n getAdditionalProperty,\r\n getBerthCalls,\r\n getEventAfterInContainer,\r\n getEventByTrigger,\r\n getExtendedName,\r\n getLastEventInContainerBefore,\r\n getLastEventAndTemplate,\r\n getLastEventByTriggerBeforeOrEqual,\r\n getNextActivities,\r\n getTemplate,\r\n getTemplatesByTrigger,\r\n hasTrigger,\r\n includedInLockedSof,\r\n isLevelFinished,\r\n removeExcludedEventsFromSof,\r\n removeExcludedEventsFromStatementOfFact,\r\n selectDefaultSofEvents\r\n };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n position: fixed;\r\n z-index: 1000;\r\n /* z-index: 1000001; */\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: rgba(0, 0, 0, 0.4);\r\n justify-content: center;\r\n align-items: center;\r\n \r\n .modal-body {\r\n max-width: calc(100vw - 20px);\r\n max-height: calc(100% - 20px);\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAppModal {\r\n isOpen: boolean\r\n}\r\n\r\nexport const AppModalTransparent: React.FC = ({ isOpen, children }) => {\r\n return (\r\n \r\n {isOpen &&\r\n
\r\n {children}\r\n
\r\n }\r\n
\r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppDefaultButton } from \"../../components/Buttons/AppDefaultButton\";\r\nimport { AppPrimaryButton } from \"../../components/Buttons/AppPrimaryButton\";\r\nimport { ProgressBar } from \"../../components/ProgressBar/ProgressBar\";\r\nimport { AppModalTransparent } from \"./AppModalTransparent\";\r\n\r\n//#region Styled components\r\nconst Container = styled.div<{ maxWidth?: string }>`\r\n max-width: ${_ => _.maxWidth};\r\n`;\r\n\r\nconst Body = styled.div`\r\n color: white;\r\n border-radius: 4px;\r\n padding: 20px 30px 30px;\r\n box-shadow: 0 0 30px #444;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n position: relative;\r\n`;\r\n\r\nconst Header = styled.div`\r\n font-size: 26px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nconst ErrorText = styled.div`\r\n background-color: white;\r\n color: red;\r\n font-size: 14px;\r\n margin: 10px 0;\r\n padding: 5px 10px;\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n padding: 5px;\r\n\r\n button {\r\n margin: 5px;\r\n }\r\n`;\r\n\r\nconst Working = styled.div`\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n`;\r\n\r\n\r\n//#endregion\r\n\r\ninterface IConfirmationModal {\r\n isOpen: boolean\r\n title: string\r\n text: any\r\n okText?: string\r\n commit: () => void\r\n cancel: () => void\r\n errorText?: string\r\n working?: boolean\r\n maxWidth?: string\r\n}\r\n\r\nexport const ConfirmationModal: React.FC = ({ isOpen, title, text, okText, commit, cancel, errorText, working, maxWidth }) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n {title}\r\n
\r\n {errorText &&\r\n \r\n {errorText}\r\n \r\n }\r\n
\r\n {text}\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 { FC, useEffect, useState } from \"react\";\r\nimport { DateTime } from \"luxon\";\r\nimport { useDateFunctions } from \"../../hooks/useDateFunctions\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst TxtInput = styled.input<{ isError: boolean }>`\r\n border: none;\r\n outline: none;\r\n background-color: ${_ => _.isError ? \"rgb(255, 0, 0, .7)\" : \"rgb(255, 255, 255, .05)\"};\r\n color: white !important;\r\n font-size: 40px !important;\r\n padding: 0 !important;\r\n width: 140px;\r\n text-align: center;\r\n letter-spacing: 2px;\r\n height: 60px;\r\n margin: 10px 0;\r\n border-radius: 4px;\r\n cursor: text !important;\r\n\r\n ::selection {\r\n background-color: rgb(65, 119, 191, .25);\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const TimeTextBox: FC<{ inputRef?: any, defaultDate?: Date, date?: Date, timeZone?: string, onChange: (_: Date, commit?: boolean) => void }> = ({ inputRef, defaultDate, date, timeZone, onChange }) => {\r\n const { getTimeFromString } = useDateFunctions();\r\n const [localValue, setLocalValue] = useState(\"\");\r\n const [error, setError] = useState();\r\n\r\n const processTimeString = (s: string): DateTime | undefined => {\r\n let time = getTimeFromString(s);\r\n\r\n if (!time || !date) {\r\n setError(\"Unvalid time\");\r\n return;\r\n }\r\n\r\n let startOfDay = DateTime.fromJSDate(new Date(date), {\r\n zone: timeZone\r\n }).startOf(\"day\");\r\n\r\n let newDate = startOfDay.plus({\r\n \"hours\": time.hour,\r\n \"minutes\": time.minute,\r\n \"seconds\": 0,\r\n \"milliseconds\": 0\r\n });\r\n\r\n onChange(newDate.toJSDate());\r\n\r\n return newDate;\r\n }\r\n\r\n useEffect(() => {\r\n if (date) {\r\n setLocalValue(DateTime.fromJSDate(new Date(date), { zone: timeZone }).toFormat(\"HH:mm\"));\r\n }\r\n }, [date])\r\n\r\n useEffect(() => {\r\n if (defaultDate) {\r\n setLocalValue(DateTime.fromJSDate(new Date(defaultDate), { zone: timeZone }).toFormat(\"HH:mm\"));\r\n }\r\n }, [defaultDate])\r\n\r\n useEffect(() => {\r\n if (date) {\r\n let time = DateTime.fromJSDate(new Date(date), { zone: timeZone }).toFormat(\"HH:mm\");\r\n\r\n setLocalValue(time);\r\n processTimeString(time);\r\n }\r\n }, [timeZone])\r\n\r\n return (\r\n {\r\n setError(undefined);\r\n\r\n setLocalValue(ev.target.value);\r\n\r\n // let pattern = /[0-9]+|:| |,|./g;\r\n // var v = (ev.target.value.match(pattern) || []).join('');\r\n\r\n\r\n // console.log(v, ev.target.value);\r\n\r\n\r\n\r\n//let timePattern = /^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/;\r\n\r\n\r\n// let timePattern = /^([0-9]|0[0-9]|1[0-9]|2[0-3])(:|,| ||\\.)[0-5][0-9]$/;\r\n\r\n\r\n// if (ev.target.value.match(timePattern)) {\r\n// console.log(\"OK\");\r\n// setLocalValue(ev.target.value);\r\n// }\r\n// else {\r\n// console.log(\"NOT OK\");\r\n\r\n// }\r\n\r\n\r\n // setLocalValue(v);\r\n }}\r\n onBlur={() => {\r\n let result = processTimeString(localValue);\r\n if (result) {\r\n setLocalValue(result.toFormat(\"HH:mm\"))\r\n }\r\n }}\r\n onFocus={ev => {\r\n ev.target.select();\r\n }}\r\n onKeyDown={_ => {\r\n if (_.key === \"Enter\") {\r\n let result = processTimeString(localValue);\r\n if (result) {\r\n setLocalValue(result.toFormat(\"HH:mm\"));\r\n onChange(result.toJSDate(), true);\r\n }\r\n }\r\n }}\r\n />\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { DateTime } from 'luxon';\r\nimport styled from \"styled-components\";\r\nimport { DatePicker, DayOfWeek, Icon, IDatePicker } from \"@fluentui/react\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppDefaultButton } from \"../Buttons/AppDefaultButton\";\r\nimport { useRef } from \"react\";\r\nimport { TimeTextBox } from \"./TimeTextbox\";\r\n\r\n//#region Styled Components\r\nconst Main = styled.div<{ useSolidBackground: boolean }>`\r\n border-radius: 4px;\r\n padding: 25px 30px 20px;\r\n box-shadow: 0 0 30px #444;\r\n color: ${_ => _.useSolidBackground ? \"#333 !important\" : \"white !important\"};\r\n background-color: ${_ => _.useSolidBackground ? \"white\" : \"rgba(0, 0, 0, 0.75)\"};\r\n border: 1px solid rgb(255, 255, 255, .25);\r\n\r\n .header {\r\n text-align: center;\r\n font-size: 24px;\r\n letter-spacing: .5px;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n margin-bottom: 10px;\r\n }\r\n\r\n .touch-body {\r\n display: flex;\r\n justify-content: center;\r\n\r\n >div {\r\n display: grid;\r\n grid-template-columns: auto auto;\r\n column-gap: 20px;\r\n\r\n .touch-body-time-picker {\r\n .chevrons {\r\n display: flex;\r\n justify-content: center;\r\n margin: 0 -7px;\r\n\r\n >div {\r\n margin: 0 7px;\r\n }\r\n }\r\n }\r\n\r\n .touch-body-date-picker {\r\n >div {\r\n display: flex;\r\n justify-content: center;\r\n }\r\n\r\n >div:nth-child(2) {\r\n cursor: pointer;\r\n height: 80px;\r\n align-items: center;\r\n\r\n >div {\r\n text-align: center;\r\n font-size: 20px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Chevron = styled.div`\r\n height: 40px;\r\n width: 45px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 4px;\r\n opacity: .25;\r\n cursor: pointer;\r\n user-select: none;\r\n\r\n :hover {\r\n opacity: 1;\r\n background-color: rgb(255, 255, 255, .05);\r\n transition: opacity .2s ease-in-out;\r\n }\r\n`;\r\n\r\nconst CustomDatePicker = styled(DatePicker)`\r\n >div > div {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n padding: 10px 10px;\r\n display: flex;\r\n justify-content: flex-end;\r\n\r\n button {\r\n margin: 0 5px;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const TouchPicker: React.FC<{ date?: Date, header?: string, timeZone: string, commit: (newDate?: Date) => void, useSolidBackground?: boolean }> = ({ date, header, timeZone, commit, useSolidBackground }) => {\r\n const [defaultLocalDate, setDefaultLocalDate] = useState();\r\n const [localDate, setLocalDate] = useState();\r\n const timeRef = useRef();\r\n\r\n let datePickerRef: IDatePicker | null = null;\r\n\r\n const changeDate = (minutes: number) => {\r\n if (!localDate) {\r\n return;\r\n }\r\n setLocalDate(localDate.plus({ minutes }));\r\n }\r\n\r\n useEffect(() => {\r\n date\r\n ? setLocalDate(DateTime.fromJSDate(new Date(date), { zone: timeZone }))\r\n : setLocalDate(DateTime.fromJSDate(new Date(), { zone: timeZone }));\r\n }, [])\r\n\r\n useEffect(() => {\r\n setDefaultLocalDate(localDate);\r\n }, [localDate])\r\n\r\n useEffect(() => {\r\n if (window.matchMedia(\"(min-width: 1025px)\").matches && timeRef.current) {\r\n let inputField: HTMLInputElement = (timeRef.current as any);\r\n inputField.select();\r\n }\r\n }, [timeRef.current])\r\n\r\n if (!localDate || !defaultLocalDate) {\r\n return null;\r\n }\r\n\r\n return (\r\n
{\r\n if (_.key === \"Escape\") {\r\n commit();\r\n }\r\n }}>\r\n
\r\n
\r\n {header}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n { changeDate(60); }}>\r\n \r\n \r\n { changeDate(1); }}>\r\n \r\n \r\n
\r\n {\r\n setLocalDate(DateTime.fromJSDate(new Date(d), { zone: timeZone }));\r\n if (_commit) {\r\n commit(d);\r\n }\r\n }}\r\n />\r\n
\r\n { changeDate(-60); }}>\r\n \r\n \r\n { changeDate(-1); }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n { changeDate(60 * 24); }}>\r\n \r\n \r\n
\r\n
datePickerRef?.showDatePickerPopup()}>\r\n
\r\n
{localDate.toFormat(\"ccc\")}
\r\n
{localDate.toFormat(\"MMM dd\")}
\r\n
\r\n datePickerRef = _}\r\n firstDayOfWeek={DayOfWeek.Monday}\r\n value={localDate.toJSDate()}\r\n onSelectDate={_ => {\r\n if (!_) {\r\n return;\r\n }\r\n setLocalDate(localDate.set({\r\n day: _.getDate(),\r\n month: _.getMonth() + 1,\r\n year: _.getFullYear()\r\n }))\r\n }}\r\n calendarProps={{\r\n styles: {\r\n root: {\r\n width: \"unset\",\r\n overflowY: \"hidden\"\r\n },\r\n goTodayButton: {\r\n fontSize: \"14px\",\r\n color: \"#4177bf !important\",\r\n fontWeight: 500\r\n }\r\n },\r\n calendarDayProps: {\r\n styles: {\r\n root: {\r\n width: \"unset\"\r\n },\r\n dayCell: {\r\n fontSize: \"20px\",\r\n width: \"32px\",\r\n height: \"32px\",\r\n padding: \"3px 4px\"\r\n },\r\n dayButton: {\r\n fontSize: \"16px\",\r\n },\r\n monthAndYear: {\r\n fontSize: \"18px\",\r\n fontWeight: 800,\r\n paddingTop: \"2px\"\r\n },\r\n header: {\r\n height: \"30px\"\r\n }\r\n }\r\n },\r\n calendarMonthProps: {\r\n styles: {\r\n root: {\r\n width: \"unset\"\r\n },\r\n itemButton: {\r\n fontSize: \"16px\",\r\n width: \"56px\",\r\n height: \"50px\",\r\n padding: \"3px 4px\"\r\n\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n { changeDate(-60 * 24); }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n commit(localDate.toJSDate());\r\n }}\r\n />\r\n {\r\n commit();\r\n }}\r\n />\r\n \r\n
\r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { DateTime } from 'luxon';\r\nimport { TouchPicker } from \"./TouchPicker\";\r\nimport { AppTextField } from \"../AppTextField/AppTextField\";\r\nimport { AppModalTransparent } from \"../../blocks/AppModal/AppModalTransparent\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCalendar } from \"@fortawesome/free-regular-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ width?: string, isError: boolean, disabled?: boolean, regular?: boolean }>`\r\n width: ${_ => _.width ? _.width : \"255px\"};\r\n position: relative;\r\n\r\n .icon {\r\n position: absolute;\r\n top: 14px;\r\n right: 18px;\r\n z-index: 1;\r\n font-size: 22px;\r\n color: ${_ => _.isError ? \"white\" : \"#444\"};\r\n cursor: ${_ => _.disabled ? undefined : \"pointer\"};\r\n }\r\n\r\n .date-picker-edit-icon-regular {\r\n position: absolute;\r\n font-size: 12px;\r\n right: 16px;\r\n top: 16px;\r\n color: transparent;\r\n }\r\n\r\n input {\r\n background-color: ${_ => _.isError ? \"#ff6666\" : undefined};\r\n color: ${_ => _.isError ? \"white\" : \"#333\"};\r\n padding: 12px 16px;\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n cursor: ${_ => _.disabled ? undefined : \"pointer\"};\r\n }\r\n\r\n ${_ => _.regular\r\n ? css`\r\n :hover {\r\n .date-picker-edit-icon-regular {\r\n color: #333 !important;\r\n }\r\n }\r\n `\r\n : css`\r\n input {\r\n font-size: 16px;\r\n font-weight: 600;\r\n }\r\n `\r\n }\r\n\r\n @media (max-width: 480px) {\r\n min-width: ${_ => _.width ? _.width : \"255px\"};\r\n width: 100%;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IDateTimePicker {\r\n isError?: boolean\r\n showUtc?: boolean\r\n date?: Date\r\n title?: string\r\n description?: string\r\n placeholder?: string\r\n timeZone: string\r\n onDateChanged: (newDate: Date) => void\r\n onTouchPickerToggled?: (isOpen: boolean) => void\r\n useSolidPickerBackground?: boolean\r\n width?: string\r\n disabled?: boolean\r\n required?: boolean\r\n format?: string\r\n showIcon?: boolean\r\n borderless?: boolean\r\n regular?: boolean\r\n}\r\n\r\nexport const DateTimePicker: React.FC = ({ regular, isError, showUtc, date, title, description, placeholder, timeZone, borderless, onDateChanged, onTouchPickerToggled, useSolidPickerBackground, width, disabled, required, format, showIcon }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const [localDate, setLocalDate] = useState();\r\n\r\n // 17 er 14 utc i Aligia\r\n //setTime(_ => _ = DateTime.fromJSDate(new Date(), { zone: pc!.port.timeZone }).toFormat(\"HH:mm\"))\r\n\r\n useEffect(() => {\r\n if (date) {\r\n setLocalDate(DateTime.fromJSDate(new Date(date), { zone: timeZone }));\r\n }\r\n }, [modalOpen, timeZone, date]);\r\n\r\n useEffect(() => {\r\n if (onTouchPickerToggled) {\r\n onTouchPickerToggled(modalOpen);\r\n }\r\n }, [modalOpen])\r\n\r\n return (\r\n \r\n {(showIcon === undefined || showIcon === true) &&\r\n {\r\n if (!disabled) {\r\n setModalOpen(true);\r\n }\r\n }} />\r\n }\r\n {\r\n if (!disabled) {\r\n setModalOpen(true);\r\n }\r\n }}\r\n onKeyDown={ev => {\r\n if (ev.key === \"Enter\" && !disabled) {\r\n setModalOpen(true);\r\n }\r\n }}\r\n styles={{\r\n field: {\r\n \"::selection\": {\r\n background: \"transparent\"\r\n }\r\n }\r\n }}\r\n iconProps={regular ? {\r\n iconName: \"Edit\",\r\n className: \"date-picker-edit-icon-regular\",\r\n } : undefined}\r\n />\r\n \r\n {\r\n if (newDate) {\r\n onDateChanged(newDate);\r\n }\r\n setModalOpen(false);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};","export const useNumberFunctions = () => {\r\n\r\n const hasValue = (value?: number) => {\r\n return value !== undefined && value !== null;\r\n }\r\n\r\n const getNumericValue = (v: number | string | null | undefined) => {\r\n if (v === null || v === undefined) {\r\n return undefined;\r\n }\r\n\r\n let numericValue = parseFloat(v.toString().replace(\",\", \".\"));\r\n\r\n if (isNaN(numericValue)) {\r\n return undefined;\r\n }\r\n\r\n return numericValue;\r\n }\r\n\r\n return {\r\n hasValue,\r\n getNumericValue\r\n };\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ITextField, TextField } from \"@fluentui/react\";\r\nimport { ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useNumberFunctions } from \"../../../../hooks/useNumberFunctions\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n display: flex;\r\n width: 255px;\r\n\r\n >div:first-child {\r\n flex-grow: 1;\r\n }\r\n \r\n >div > div > div {\r\n height: unset;\r\n\r\n input {\r\n cursor: pointer;\r\n font-size: 16px !important;\r\n padding: 12px 16px !important;\r\n font-weight: 600 !important;\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif !important;\r\n \r\n ::placeholder {\r\n color: #aaa;\r\n font-weight: 400;\r\n }\r\n }\r\n }\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n\r\n /* Hide spinner */\r\n /* Chrome, Safari, Edge, Opera */\r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n /* Firefox */\r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n appearance: textfield;\r\n }\r\n\r\n .additional-number-copy {\r\n background-color: #4177bf;\r\n color: white;\r\n padding: 0 10px;\r\n height: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n cursor: pointer;\r\n\r\n >div {\r\n text-align: center;\r\n }\r\n\r\n >div:first-child {\r\n font-size: 10px;\r\n font-weight: 600;\r\n margin-bottom: -3px;\r\n }\r\n\r\n >div:last-child {\r\n font-size: 14px;\r\n }\r\n\r\n :hover {\r\n background-color: #5b92da;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAdditionalNumber {\r\n dataField: ISofEventDataField\r\n value?: number,\r\n additionalDescription?: string\r\n transfer?: {\r\n value?: number,\r\n title?: string\r\n }\r\n onUpdate: (updatedProperty: IUpdatedProperty) => void\r\n}\r\n\r\nexport const AdditionalNumber: React.FC = ({ dataField, value, additionalDescription, transfer, onUpdate }) => {\r\n const { hasValue } = useNumberFunctions();\r\n const [localValue, setLocalValue] = useState();\r\n let txtRef: ITextField | null = null;\r\n\r\n useEffect(() => {\r\n if (localValue === undefined) {\r\n setLocalValue(value !== undefined && value !== null ? value.toFixed(3) : \"\");\r\n }\r\n else {\r\n setLocalValue(value !== undefined && value !== null ? value.toString() : \"\");\r\n }\r\n }, [value])\r\n\r\n return (\r\n \r\n txtRef = _}\r\n inputMode=\"decimal\"\r\n maxLength={11}\r\n type=\"number\"\r\n pattern=\"\\d*\"\r\n placeholder={dataField.name}\r\n description={`${dataField.name}${additionalDescription ? `. ${additionalDescription}` : \"\"}`}\r\n required={dataField.required}\r\n value={localValue ? localValue : \"\"}\r\n onFocus={() => {\r\n if (txtRef) {\r\n txtRef.select();\r\n }\r\n }}\r\n onBlur={() => {\r\n if (localValue && !isNaN(parseFloat(localValue.replaceAll(\",\", \".\")))) {\r\n setLocalValue(Number(localValue.replaceAll(\",\", \".\")).toFixed(3));\r\n }\r\n }}\r\n onChange={(_, newValue) => {\r\n\r\n let up: IUpdatedProperty = {\r\n isAdditional: true,\r\n name: dataField.name,\r\n internalName: dataField.internalName,\r\n value: undefined,\r\n dataType: dataField.dataType\r\n };\r\n\r\n // Check if string is empty or undefined\r\n if (newValue === undefined || newValue.trim().length === 0) {\r\n setLocalValue(\"\");\r\n onUpdate(up);\r\n return;\r\n }\r\n\r\n // Check for max length\r\n if (newValue && newValue.length > 11) {\r\n return;\r\n }\r\n\r\n // Set local value and update\r\n setLocalValue(newValue);\r\n\r\n onUpdate({\r\n ...up,\r\n value: parseFloat(newValue.replace(\",\", \".\"))\r\n })\r\n }}\r\n />\r\n {transfer && transfer.value &&\r\n {\r\n if (!hasValue(transfer.value) && !isNaN(Number(transfer.value!))) {\r\n return;\r\n }\r\n\r\n setLocalValue(transfer.value !== undefined ? transfer.value.toFixed(3) : undefined);\r\n onUpdate({\r\n isAdditional: true,\r\n name: dataField.name,\r\n internalName: dataField.internalName,\r\n value: parseFloat(transfer.value!.toString().replace(\",\", \".\")),\r\n dataType: dataField.dataType\r\n })\r\n }}>\r\n
\r\n {transfer.value.toFixed(3)}\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n );\r\n};","import { useEffect } from \"react\";\r\n\r\nconst useOutsideClick = (ref: any, callback: (ev: any) => void) => {\r\n const handleClick = (ev: any) => {\r\n if (ref.current && !ref.current.contains(ev.target)) {\r\n callback(ev);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleClick);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref]);\r\n};\r\n\r\nexport default useOutsideClick;","import { faTimes } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { AppDefaultButton } from \"../../components/Buttons/AppDefaultButton\";\r\nimport useOutsideClick from \"../../hooks/useOutsideClick\";\r\nimport useResize from \"../../hooks/useResize\";\r\nimport { useStores } from \"../../hooks/useStores\";\r\nimport { AnimatedBars } from \"../AnimatedBars/AnimatedBars\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ height: string, fadeIn?: boolean, noOverlay?: boolean }>`\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 999999;\r\n width: 100vw;\r\n height: ${_ => _.height}; \r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n ${_ => _.noOverlay\r\n ? css`\r\n background-color: transparent;\r\n `\r\n : _.fadeIn\r\n ? css`\r\n background-color: transparent;\r\n animation: fadeInAppModalBackground .2s forwards;\r\n `\r\n : css`\r\n background-color: rgb(0, 0, 0, 0.4);\r\n `\r\n };\r\n\r\n @keyframes fadeInAppModalBackground {\r\n 100% { background-color: rgb(0, 0, 0, 0.4); }\r\n }\r\n`;\r\n\r\nconst Body = styled.div<{ height: string, messageVisible: boolean }>`\r\n overflow-y: overlay;\r\n max-height: calc(${_ => _.height} - 150px);\r\n\r\n ${_ => _.messageVisible\r\n ? css`\r\n display: grid;\r\n grid-template-rows: auto 1fr;\r\n `\r\n : undefined}\r\n`;\r\n\r\nconst Loading = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 200px;\r\n min-width: 200px;\r\n height: 100%;\r\n`;\r\n\r\nconst ErrorMessage = styled.div`\r\n background-color: #ffd4d4;\r\n padding: 15px 30px;\r\n border-bottom: 1px solid #ff4c4c;\r\n font-size: 14px;\r\n`;\r\n\r\nconst WarningMessage = styled.div<{ clickable: boolean }>`\r\n background-color: #ffffe1;\r\n padding: 15px 30px;\r\n border-bottom: 1px solid #bbb;\r\n font-size: 14px;\r\n cursor: ${_ => _.clickable ? \"pointer\" : \"default\"};\r\n`;\r\n\r\nconst SuccessMessage = styled.div`\r\n background-color: #dff5df;\r\n padding: 15px 30px;\r\n border-bottom: 1px solid #42af50;\r\n font-size: 14px;\r\n`;\r\n\r\n\r\nconst ModalComponent = styled.div<{ height: string, minWidth?: string, maxWidth?: string, fadeIn?: boolean }>`\r\n background-color: white;\r\n border-radius: 4px;\r\n min-width: ${_ => _.minWidth ? _.minWidth : undefined};\r\n max-width: ${_ => _.maxWidth ? _.maxWidth : \"100vw\"};\r\n background-color: white !important;\r\n\r\n ${_ => _.fadeIn\r\n ? css`\r\n opacity: 0;\r\n animation: fadeInAppModal .2s forwards;\r\n `\r\n : css`\r\n opacity: 1;\r\n `};\r\n \r\n @keyframes fadeInAppModal {\r\n 100% { opacity: 1 }\r\n }\r\n\r\n .header, .footer {\r\n height: 75px; \r\n }\r\n\r\n .header {\r\n max-width: 100vw;\r\n background-color: #1b2431;\r\n color: white;\r\n display: flex;\r\n align-items: center;\r\n border-radius: 4px 4px 0 0;\r\n\r\n .text {\r\n padding-left: 30px;\r\n font-size: 18px;\r\n flex-grow: 1;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n\r\n .title {\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n \r\n .sub-title {\r\n color: #bbb;\r\n font-size: 12px;\r\n letter-spacing: .5px;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n }\r\n\r\n .close-icon {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n min-height: inherit;\r\n padding: 0 30px;\r\n font-size: 26px;\r\n height: 100%;\r\n\r\n :hover {\r\n background-color: rgb(255, 255, 255, .1);\r\n transition: background-color .25s ease-in-out;\r\n }\r\n }\r\n }\r\n\r\n .footer {\r\n border-top: 1px solid #ccc;\r\n background-color: #f1f1f1;\r\n border-radius: 0 0 4px 4px;\r\n display: flex;\r\n\r\n .actions {\r\n display: flex;\r\n align-items: center;\r\n margin: 10px 0 10px 12px;\r\n\r\n >div, >button {\r\n margin: 15px ;\r\n }\r\n }\r\n\r\n .buttons {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 10px 25px 10px 5px;\r\n flex-grow: 1;\r\n justify-content: flex-end;\r\n align-items: center;\r\n\r\n >div, >button {\r\n margin: 0 5px;\r\n }\r\n }\r\n\r\n .working {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n }\r\n\r\n @media (max-width: 480px) {\r\n width: 100vw;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAppModal {\r\n isOpen: boolean\r\n fadeIn?: boolean\r\n noOverlay?: boolean\r\n title: string\r\n subTitle?: any\r\n commit?: JSX.Element\r\n actions?: JSX.Element[]\r\n dismiss: () => void\r\n dismissText?: string\r\n minWidth?: string\r\n maxWidth?: string\r\n working?: boolean\r\n errorMessage?: any\r\n warningMessage?: any\r\n successMessage?: any\r\n loading?: boolean\r\n onWarningClick?: () => void\r\n}\r\n\r\nexport const AppModal: React.FC = ({ isOpen, fadeIn, noOverlay, title, subTitle, commit, actions, dismiss, dismissText, minWidth, maxWidth, working, children, errorMessage, warningMessage, successMessage, loading, onWarningClick }) => {\r\n const modalRef = useRef(null);\r\n const { appStore } = useStores();\r\n const height = useResize();\r\n\r\n useOutsideClick(modalRef, (ev) => {\r\n if (isOpen) {\r\n dismiss();\r\n }\r\n });\r\n\r\n // Remove the overflow overlay\r\n useEffect(() => {\r\n appStore.toggleModal(isOpen);\r\n }, [isOpen])\r\n\r\n if (!isOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n {subTitle &&\r\n
\r\n {subTitle}\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loading ?\r\n \r\n \r\n \r\n :\r\n \r\n {errorMessage &&\r\n \r\n {errorMessage}\r\n \r\n }\r\n {warningMessage &&\r\n {\r\n ev.stopPropagation();\r\n if (onWarningClick) {\r\n onWarningClick();\r\n }\r\n }}\r\n >\r\n {warningMessage}\r\n \r\n }\r\n {successMessage &&\r\n \r\n {successMessage}\r\n \r\n }\r\n {children}\r\n \r\n }\r\n
\r\n {working\r\n ?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n
\r\n {actions && actions.map((_, i) => {\r\n return
{_}
;\r\n })}\r\n
\r\n
\r\n {commit}\r\n {\r\n ev.stopPropagation(); // Stop modals from closing\r\n dismiss()\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 styled from \"styled-components\";\r\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { IKeyValue } from \"../../interfaces/IKeyValue\";\r\n\r\n//#region Styled components\r\nconst Container = styled.div<{ selected?: boolean, disabled?: boolean }>`\r\n padding: 20px 30px;\r\n border-bottom: 1px solid #ddd;\r\n position: relative;\r\n font-size: 16px;\r\n font-weight: ${_ => _.selected ? 700 : undefined};\r\n user-select: none;\r\n color: ${_ => _.disabled ? \"#ccc\" : undefined};\r\n cursor: ${_ => _.disabled ? undefined : \"pointer\"};\r\n\r\n .app-drop-down-option-header {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n gap: 10px;\r\n\r\n .title {\r\n overflow-x: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n \r\n .label {\r\n background-color: #4177bf;\r\n color: white;\r\n padding: 1px 6px 2px;\r\n font-size: 12px;\r\n border-radius: 4px;\r\n font-weight: 600;\r\n height: fit-content;\r\n }\r\n }\r\n\r\n .app-drop-down-option-description {\r\n color: ${_ => _.disabled ? \"#ccc\" : \"#aaa\"};\r\n font-size: 13px;\r\n }\r\n\r\n :hover {\r\n background-color: ${_ => _.disabled ? undefined : \"#f1f1f1\"};\r\n }\r\n\r\n :last-child {\r\n border-bottom: none;\r\n }\r\n`;\r\n\r\nconst Selected = styled.div<{ disabled?: boolean }>`\r\n background-color: ${_ => _.disabled ? \"#ccc\" : \"#4177bf\"};\r\n color: white;\r\n height: 20px;\r\n width: 20px;\r\n font-size: 10px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n right: 30px;\r\n`;\r\n//#endregion\r\n\r\nexport const AppDropDownOption: React.FC<{ option: IKeyValue, selected?: boolean, onSelect: (option: IKeyValue) => void }> = ({ option: o, selected, onSelect }) => {\r\n return (\r\n {\r\n ev.stopPropagation();\r\n if (o.disabled) {\r\n return;\r\n }\r\n else {\r\n onSelect(o);\r\n }\r\n }}\r\n >\r\n
\r\n
\r\n {o.text}\r\n
\r\n {o.label &&\r\n
\r\n Current portcall\r\n
\r\n }\r\n
\r\n {o.description &&\r\n
\r\n {o.description}\r\n
\r\n }\r\n {selected &&\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { AppModal } from \"../../blocks/AppModal/AppModal\";\r\nimport { IKeyValue } from \"../../interfaces/IKeyValue\";\r\nimport { AppPrimaryButton } from \"../Buttons/AppPrimaryButton\";\r\nimport { AppDropDownOption } from \"./AppDropDownOption\";\r\n\r\n//#region Styled components\r\nconst Container = styled.div<{ hasInfoBox?: boolean, hasValue: boolean, disabled?: boolean, required?: boolean, borderless?: boolean }>`\r\n position: relative;\r\n\r\n .dd-input {\r\n border: ${_ => _.borderless ? undefined : \"1px solid #605e5c\"};\r\n border-radius: 2px;\r\n height: 48px;\r\n background-color: white;\r\n font-weight: 600;\r\n user-select: none;\r\n position: relative;\r\n\r\n .value {\r\n >div {\r\n padding: 12px 16px;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n\r\n .value-desc {\r\n font-weight: 400;\r\n padding-left: 5px;\r\n color: #bbb;\r\n }\r\n }\r\n\r\n .dd-info-box {\r\n padding: 0 12px 0 0;\r\n }\r\n }\r\n\r\n .desc {\r\n padding-top: 4px;\r\n color: #605e5c;\r\n font-size: 10px;\r\n font-family: \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n ${_ => _.hasValue\r\n ? undefined\r\n : css`\r\n .dd-input {\r\n .value {\r\n color: #ccc;\r\n font-weight: 400;\r\n }\r\n } \r\n `\r\n };\r\n\r\n ${_ => _.disabled\r\n ? css`\r\n .dd-input {\r\n background-color: #f3f2f1;\r\n border-color: #f3f2f1;\r\n }\r\n `\r\n : css`\r\n cursor: pointer;\r\n `\r\n };\r\n\r\n ${_ => _.required\r\n ? css`\r\n .dd-input {\r\n ::before {\r\n content: \"*\";\r\n color: rgb(164, 38, 44);\r\n position: absolute;\r\n top: -5px;\r\n right: -10px;\r\n }\r\n } \r\n `\r\n : undefined\r\n };\r\n\r\n ${_ => _.hasInfoBox\r\n ? css`\r\n .dd-input {\r\n .value {\r\n display: grid;\r\n grid-template-columns: auto max-content;\r\n }\r\n } \r\n `\r\n : undefined\r\n };\r\n`;\r\n\r\nconst Clear = styled.div`\r\n position: absolute;\r\n top: 2px;\r\n right: 1px;\r\n height: 46px;\r\n width: 46px;\r\n font-size: 12px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n cursor: pointer;\r\n color: #ccc;\r\n\r\n :hover {\r\n color: #333;\r\n background-color: #fafafa;\r\n transition: background-color .1s ease-in-out, color .1s ease-in-out;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAppDropDownProps {\r\n noOverlay?: boolean\r\n value?: string\r\n valueDescription?: string\r\n defaultSelectedValues?: IKeyValue[]\r\n modalTitle: string\r\n subTitle?: string\r\n options?: IKeyValue[]\r\n onChanged?: (_?: IKeyValue) => void\r\n onChangedMulti?: (_: IKeyValue[]) => void,\r\n placeholder?: string\r\n multi?: boolean\r\n link?: any\r\n isOpen?: boolean\r\n description?: string\r\n required?: boolean\r\n disabled?: boolean\r\n hideClearButton?: boolean\r\n borderless?: boolean\r\n infoBox?: React.JSX.Element\r\n title?: string\r\n}\r\n\r\nexport const AppDropDown: React.FC = ({ noOverlay, value, valueDescription, hideClearButton, modalTitle, subTitle, options, placeholder, disabled, multi, link, borderless, onChanged, defaultSelectedValues, onChangedMulti, description, required, infoBox, title }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const [selectedItems, setSelectedItems] = useState([]);\r\n\r\n const select = (o: IKeyValue) => {\r\n if (multi) {\r\n let isSelected = selectedItems.find(_ => _.id === o.id);\r\n if (isSelected) {\r\n setSelectedItems([...selectedItems.slice().filter(_ => _.id !== o.id)]);\r\n }\r\n else {\r\n setSelectedItems([...selectedItems.slice(), o]);\r\n }\r\n }\r\n else {\r\n onChanged!(o);\r\n setModalOpen(false);\r\n }\r\n }\r\n\r\n const openModal = () => {\r\n if (!disabled) {\r\n setModalOpen(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedItems(defaultSelectedValues ? defaultSelectedValues : []);\r\n }, [modalOpen])\r\n\r\n return (\r\n 0 ? true : false} required={required} borderless={borderless}>\r\n {link\r\n ?\r\n
openModal()}>\r\n {link}\r\n
\r\n :\r\n <>\r\n {\r\n if (!disabled) {\r\n openModal();\r\n }\r\n }}\r\n >\r\n
\r\n\r\n
\r\n \r\n {value ? value : placeholder}\r\n \r\n {value && valueDescription &&\r\n \r\n {valueDescription}\r\n \r\n }\r\n
\r\n\r\n {infoBox &&\r\n
\r\n {infoBox}\r\n
\r\n }\r\n\r\n
\r\n\r\n {description &&\r\n
\r\n {description}\r\n
\r\n }\r\n \r\n\r\n {(!disabled && !hideClearButton && value) &&\r\n {\r\n if (onChanged) {\r\n onChanged();\r\n }\r\n else if (onChangedMulti) {\r\n onChangedMulti([]);\r\n }\r\n }}>\r\n \r\n \r\n }\r\n \r\n }\r\n {\r\n // Stop modals from closing\r\n ev.stopPropagation();\r\n\r\n if (onChangedMulti) {\r\n onChangedMulti!(selectedItems);\r\n setModalOpen(false);\r\n }\r\n }}\r\n /> : undefined\r\n }\r\n dismiss={() => {\r\n setModalOpen(false);\r\n }}\r\n >\r\n
\r\n {!options || options.length === 0\r\n ?\r\n
No options available
\r\n :\r\n options.map(o => {\r\n if (o.render) {\r\n return (\r\n select(o)}\r\n >\r\n {o.render()}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n _.id === o.id)}\r\n option={o}\r\n onSelect={select}\r\n />\r\n );\r\n })}\r\n \r\n \r\n
\r\n );\r\n};","import { TextField } from \"@fluentui/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: 255px;\r\n \r\n >div > div > div {\r\n height: unset;\r\n\r\n input {\r\n cursor: pointer;\r\n font-size: 16px !important;\r\n padding: 12px 16px !important;\r\n font-weight: 600 !important;\r\n color: #333 !important;\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif !important;\r\n\r\n ::placeholder {\r\n color: #aaa;\r\n font-weight: 400;\r\n }\r\n }\r\n }\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IEventBody {\r\n dataField: ISofEventDataField\r\n value?: string\r\n onUpdate: (updatedProperty: IUpdatedProperty) => void\r\n}\r\n\r\nexport const AdditionalString: React.FC = ({ dataField, value, onUpdate }) => {\r\n const [localValue, setLocalValue] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setLocalValue(value ? value : \"\");\r\n }, [])\r\n\r\n return (\r\n \r\n {\r\n setLocalValue(newValue ? newValue : \"\");\r\n onUpdate({\r\n isAdditional: true,\r\n name: dataField.name,\r\n internalName: dataField.internalName,\r\n value: newValue,\r\n dataType: dataField.dataType\r\n });\r\n }}\r\n />\r\n \r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { SofEvent } from \"../../../../classes/SofEvent\";\r\nimport { useSofEventFunctions } from \"../../../../hooks/useSofEventFunctions\";\r\nimport { useStores } from \"../../../../hooks/useStores\";\r\nimport { useStringFunctions } from \"../../../../hooks/useStringFunctions\";\r\nimport { useUrlFunctions } from \"../../../../hooks/useUrlFunctions\";\r\nimport { IAdditionalDataField, ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\nimport { AppDropDown } from \"../../../AppDropDown/AppDropDown\";\r\nimport { AdditionalString } from \"./AdditionalString\";\r\n\r\n//#region Styled Components\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 !important;\r\n\r\n >div {\r\n margin: 0 15px 20px;\r\n width: 255px;\r\n }\r\n\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n \r\n >div {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAdditionalBerthProps {\r\n event: SofEvent\r\n onUpdate: (updatedProperty: IUpdatedProperty | IUpdatedProperty[]) => void\r\n}\r\n\r\nexport const AdditionalBerth: React.FC = ({ event, onUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { pId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getAdditionalProperty } = useSofEventFunctions();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { pc } = getObjectsByUrl(portCallStore.portCalls, pId);\r\n const { toLowerWithCapitalLetter, toCapitalLetters } = useStringFunctions();\r\n const [value, setValue] = useState();\r\n const [otherValue, setOtherValue] = useState();\r\n\r\n const additionalBerthOptions: IAdditionalDataField[] = [\r\n {\r\n id: \"-2\",\r\n title: \"n/a\"\r\n },\r\n {\r\n id: \"-1\",\r\n title: \"Other\"\r\n }\r\n ];\r\n\r\n const berthOptions: IAdditionalDataField[] = pc?.port.berths ? pc.port.berths.slice().sort((a, b) => { return a.name < b.name ? 1 : -1; }).map(_ => {\r\n return {\r\n id: _.id,\r\n title: toCapitalLetters(_.name)\r\n }\r\n }) : [];\r\n\r\n const dataField: ISofEventDataField = {\r\n dataType: \"List\",\r\n name: \"Berth\",\r\n internalName: \"Berth\",\r\n required: true,\r\n allowMultiple: false,\r\n options: berthOptions.concat(additionalBerthOptions)\r\n };\r\n\r\n const otherDataField: ISofEventDataField = {\r\n dataType: \"String\",\r\n name: \"Other berth\",\r\n internalName: \"OtherBerth\",\r\n required: true\r\n };\r\n\r\n useEffect(() => {\r\n let _value = getAdditionalProperty(event.data, \"Berth\");\r\n\r\n if (!_value) {\r\n if (!pc?.port.berths || pc.port.berths.length === 0) {\r\n\r\n _value = additionalBerthOptions.find(_ => _.id === \"-2\");\r\n\r\n setValue(_value);\r\n\r\n onUpdate({\r\n dataType: dataField.dataType,\r\n internalName: dataField.internalName,\r\n isAdditional: true,\r\n name: dataField.name,\r\n value: _value\r\n });\r\n }\r\n }\r\n else {\r\n setValue(_value);\r\n }\r\n\r\n setOtherValue(getAdditionalProperty(event.data, \"OtherBerth\"));\r\n }, [event])\r\n\r\n return (\r\n \r\n {\r\n return ({\r\n id: _.id,\r\n text: _.title,\r\n description: \"\"\r\n })\r\n })\r\n : []\r\n }\r\n onChanged={_ => {\r\n onUpdate([\r\n {\r\n dataType: dataField.dataType,\r\n internalName: dataField.internalName,\r\n isAdditional: true,\r\n name: dataField.name,\r\n value: _ ? {\r\n id: _.id,\r\n title: _.text\r\n } : undefined\r\n },\r\n {\r\n dataType: \"String\",\r\n internalName: \"OtherBerth\",\r\n isAdditional: true,\r\n name: \"Other berth\",\r\n value: undefined\r\n }\r\n ]);\r\n }}\r\n />\r\n\r\n {value && value.id === \"-1\" &&\r\n \r\n }\r\n \r\n );\r\n};","export enum CargoStatus {\r\n NotStarted,\r\n Active,\r\n Finished\r\n}","import { DateTime } from \"luxon\";\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { CargoStatus } from \"../enums/CargoStatus\";\r\nimport { EventTriggerTypes } from \"../enums/EventTriggerTypes\";\r\nimport { IBerthCall } from \"../interfaces/IBerthCall\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { useSofEventFunctions } from \"./useSofEventFunctions\";\r\nimport { IStatementOfFactCargo } from \"../interfaces/IStatementOfFact\";\r\nimport { useNumberFunctions } from \"./useNumberFunctions\";\r\n\r\nexport const useCargoFunctions = () => {\r\n const { getTemplate, hasTrigger } = useSofEventFunctions();\r\n const { hasValue } = useNumberFunctions();\r\n\r\n const getBerthCalls = (cargo: Cargo, pcBerthCalls: IBerthCall[]): IBerthCall[] => {\r\n let berthCalls: IBerthCall[] = [];\r\n\r\n cargo.events.forEach(cEvent => {\r\n pcBerthCalls.forEach(pcBerthCall => {\r\n if (DateTime.fromJSDate(new Date(cEvent.eventDate)) >= DateTime.fromJSDate(new Date(pcBerthCall.start))) {\r\n if (!pcBerthCall.end || DateTime.fromJSDate(new Date(cEvent.eventDate)) <= DateTime.fromJSDate(new Date(pcBerthCall.end))) {\r\n if (berthCalls.indexOf(pcBerthCall) < 0) {\r\n berthCalls.push(pcBerthCall);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n\r\n return berthCalls.sort((a, b) => { return a.start > b.start ? 1 : -1 });\r\n }\r\n\r\n const numMissingProperties = (flow?: IFlow, cargo?: Cargo | IStatementOfFactCargo) => {\r\n let num = 0;\r\n let required = 0;\r\n\r\n if (!flow || !cargo) {\r\n return {\r\n missing: num,\r\n missingRequired: required\r\n };\r\n }\r\n\r\n if (!cargo.quantityProcessed) {\r\n num++;\r\n }\r\n\r\n if (flow.useUnits?.enabled && !cargo.unitsProcessed) {\r\n num++;\r\n\r\n if (flow.useUnits.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useAdditionalQuantityProcessedInMt?.enabled && !cargo.additionalQuantityProcessedInMt) {\r\n num++;\r\n\r\n if (flow.useAdditionalQuantityProcessedInMt.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useShipsRequestedQuantity?.enabled && !cargo.shipsRequestedQuantity) {\r\n num++;\r\n\r\n if (flow.useShipsRequestedQuantity.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useShipsFigures?.enabled && !cargo.shipsFigures) {\r\n num++;\r\n\r\n if (flow.useShipsFigures.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useDraft?.enabled && !cargo.draftAft) {\r\n num++;\r\n\r\n if (flow.useDraft.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useDraft?.enabled && !cargo.draftForward) {\r\n num++;\r\n\r\n if (flow.useDraft.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useGrade?.enabled && !cargo.grade) {\r\n num++;\r\n\r\n if (flow.useGrade.required) {\r\n required++;\r\n }\r\n }\r\n\r\n return {\r\n missing: num,\r\n missingRequired: required\r\n };\r\n }\r\n\r\n const quantityProcessedByCargoOperations = (cargo?: Cargo) => {\r\n if (!cargo) {\r\n return 0;\r\n }\r\n\r\n return cargo.cargoOperations.slice().reduce((accumulator, co) => {\r\n return accumulator + (co.quantityProcessed ? co.quantityProcessed : 0);\r\n }, 0);\r\n }\r\n\r\n const unitsProcessedByCargoOperations = (cargo?: Cargo) => {\r\n if (!cargo) {\r\n return 0;\r\n }\r\n\r\n return cargo.cargoOperations.slice().reduce((accumulator, co) => {\r\n return accumulator + (co.unitsProcessed ? co.unitsProcessed : 0);\r\n }, 0);\r\n }\r\n\r\n const shipsFiguresInCargoOperations = (cargo?: Cargo) => {\r\n if (!cargo) {\r\n return 0;\r\n }\r\n\r\n return cargo.cargoOperations.slice().reduce((accumulator, co) => {\r\n return accumulator + (co.shipsFigures ? co.shipsFigures : 0);\r\n }, 0);\r\n }\r\n\r\n const shipsRequestedQuantityInCargoOperations = (cargo?: Cargo) => {\r\n if (!cargo) {\r\n return 0;\r\n }\r\n\r\n return cargo.cargoOperations.slice().reduce((accumulator, co) => {\r\n return accumulator + (co.shipsRequestedQuantity ? co.shipsRequestedQuantity : 0);\r\n }, 0);\r\n }\r\n\r\n const additionalQtyProcessedInMtByCargoOperations = (cargo?: Cargo) => {\r\n if (!cargo) {\r\n return 0;\r\n }\r\n\r\n return cargo.cargoOperations.slice().reduce((accumulator, co) => {\r\n return accumulator + (co.additionalQuantityProcessedInMt ? co.additionalQuantityProcessedInMt : 0);\r\n }, 0);\r\n }\r\n\r\n const getStatus = (flow: IFlow, cargo: Cargo): CargoStatus => {\r\n if (cargo.events.length === 0) {\r\n return CargoStatus.NotStarted;\r\n }\r\n\r\n // If any event has closing trigger. Set status to finished\r\n let endCargoEvent = cargo.events.slice().find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.EndCargo)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (endCargoEvent) {\r\n return CargoStatus.Finished;\r\n }\r\n\r\n return CargoStatus.Active;\r\n }\r\n\r\n const getOpenCargoOperations = (flow: IFlow, c: Cargo | undefined) => {\r\n if (!c || !c.cargoOperations || c.cargoOperations.length == 0) {\r\n return undefined;\r\n }\r\n return c.cargoOperations.slice().filter(co => {\r\n let startCoEvent = co.events.find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.StarCargoOperation)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (startCoEvent) {\r\n let endCoEvent = co.events.find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.EndCargoOperation)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (!endCoEvent) {\r\n return co;\r\n }\r\n }\r\n });\r\n }\r\n\r\n const getNumericValue = (cargo: Cargo, property: string) => {\r\n let value = (cargo as any)[property];\r\n if (hasValue(value) && !isNaN(value)) {\r\n return Number(value);\r\n }\r\n }\r\n\r\n return {\r\n getBerthCalls,\r\n getOpenCargoOperations,\r\n getStatus,\r\n numMissingProperties,\r\n additionalQtyProcessedInMtByCargoOperations,\r\n quantityProcessedByCargoOperations,\r\n shipsFiguresInCargoOperations,\r\n shipsRequestedQuantityInCargoOperations,\r\n unitsProcessedByCargoOperations,\r\n getNumericValue\r\n };\r\n}","import { Checkbox } from \"@fluentui/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\n\r\nconst Container = styled.div<{ selected: boolean }>`\r\n padding-top: 10px;\r\n padding-bottom: 20px;\r\n\r\n /* Checkbox */\r\n >div {\r\n label {\r\n >div {\r\n height: 30px;\r\n width: 30px;\r\n background-color: ${_ => _.selected ? \"#4d71ac\" : undefined};\r\n\r\n i {\r\n font-size: 22px;\r\n }\r\n }\r\n\r\n span {\r\n padding-top: 4px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n }\r\n }\r\n }\r\n`;\r\n\r\ninterface IEventBody {\r\n dataField: ISofEventDataField\r\n value?: boolean\r\n onUpdate: (updatedProperty: IUpdatedProperty) => void\r\n}\r\n\r\nexport const AdditionalBoolean: React.FC = ({ dataField, value, onUpdate }) => {\r\n const [localValue, setLocalValue] = useState(false);\r\n\r\n useEffect(() => {\r\n setLocalValue(value ? value : false);\r\n }, []);\r\n\r\n return (\r\n \r\n {\r\n setLocalValue(checked ? checked : false);\r\n onUpdate({\r\n isAdditional: true,\r\n name: dataField.name,\r\n internalName: dataField.internalName,\r\n value: checked ? checked : false,\r\n dataType: dataField.dataType\r\n })\r\n }}\r\n />\r\n \r\n );\r\n};","import { Icon, TextField } from \"@fluentui/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppModal } from \"../../../../blocks/AppModal/AppModal\";\r\nimport { IAdditionalDataField, ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: 100%;\r\n`;\r\n\r\nconst Body = styled.div`\r\n >div {\r\n padding: 20px 30px;\r\n border-bottom: 1px dotted #ddd;\r\n cursor: pointer;\r\n user-select: none;\r\n text-transform: capitalize;\r\n font-size: 16px;\r\n }\r\n\r\n >div:active {\r\n background-color: #f1f1f1;\r\n }\r\n\r\n >div:last-child {\r\n border-bottom: unset\r\n }\r\n`;\r\n\r\nconst TxtContainer = styled.div`\r\n display: flex;\r\n\r\n >div:first-child {\r\n width: 205px;\r\n flex-grow: 1;\r\n }\r\n\r\n /* Remove icon */\r\n >div:last-child {\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n background-color: #f5f5f5;\r\n height: 48px;\r\n width: 50px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid #333;\r\n border-left: none;\r\n user-select: none;\r\n }\r\n\r\n >div:last-child:active {\r\n background-color: #ddd;\r\n }\r\n\r\n >div > div > div {\r\n height: unset;\r\n\r\n input {\r\n cursor: pointer;\r\n font-size: 16px !important;\r\n padding: 12px 16px !important;\r\n font-weight: 600 !important;\r\n color: #333 !important;\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif !important;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IEventBody {\r\n dataField: ISofEventDataField\r\n value?: IAdditionalDataField\r\n onUpdate: (updatedProperty: IUpdatedProperty) => void\r\n}\r\n\r\nexport const AdditionalList: React.FC = ({ dataField, value, onUpdate }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const [localValue, setLocalValue] = useState();\r\n\r\n const update = (_?: IAdditionalDataField) => {\r\n setLocalValue(_);\r\n onUpdate({\r\n isAdditional: true,\r\n name: dataField.name,\r\n internalName: dataField.internalName,\r\n value: _,\r\n dataType: dataField.dataType\r\n });\r\n setModalOpen(false);\r\n }\r\n\r\n useEffect(() => {\r\n setLocalValue(value);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {\r\n setModalOpen(true);\r\n }}\r\n />\r\n
update()}>\r\n \r\n
\r\n
\r\n {\r\n setModalOpen(false);\r\n }}\r\n >\r\n \r\n {\r\n dataField.options && dataField.options.length > 0\r\n ? dataField.options?.map(_ => {\r\n return (\r\n
update(_)}>\r\n {_.title.toLowerCase()}\r\n
\r\n );\r\n })\r\n :
No valid options available
\r\n }\r\n \r\n \r\n
\r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useDateFunctions } from \"../../../../hooks/useDateFunctions\";\r\nimport { useStores } from \"../../../../hooks/useStores\";\r\nimport { useStringFunctions } from \"../../../../hooks/useStringFunctions\";\r\nimport { IAdditionalDataField, ISofEventDataField } from \"../../../../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\nimport { AppDropDown } from \"../../../AppDropDown/AppDropDown\";\r\n\r\n//#region Styled Components\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 !important;\r\n\r\n >div {\r\n margin: 0 15px 20px;\r\n width: 255px;\r\n }\r\n\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n \r\n >div {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAdditionalPortProps {\r\n dataField: ISofEventDataField\r\n value?: IAdditionalDataField\r\n onUpdate: (updatedProperty: IUpdatedProperty) => void\r\n}\r\n\r\nexport const AdditionalPort: React.FC = ({ dataField, value, onUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { toLowerWithCapitalLetter } = useStringFunctions();\r\n const { toDateString } = useDateFunctions();\r\n\r\n return (\r\n \r\n {\r\n return ({\r\n id: _.id,\r\n valueObject: _,\r\n text: toLowerWithCapitalLetter(_.port.name),\r\n description: _.arrived\r\n ? `ATA: ${toDateString(_.arrived, _.port.timeZone)}`\r\n : `ETA: ${toDateString(_.scheduledArrival, _.port.timeZone)}`,\r\n });\r\n })}\r\n onChanged={_ => {\r\n onUpdate({\r\n dataType: \"port\",\r\n internalName: \"Port\",\r\n isAdditional: true,\r\n name: \"Port\",\r\n value: _ ? {\r\n id: _.id,\r\n title: _.valueObject.port.name\r\n } : undefined\r\n })\r\n }}\r\n />\r\n \r\n );\r\n};","import { AdditionalString } from \"../components/EventsContainer/EventBody/AdditionalContainers/AdditionalString\";\r\nimport { AdditionalNumber } from \"../components/EventsContainer/EventBody/AdditionalContainers/AdditionalNumber\";\r\nimport { AdditionalBoolean } from \"../components/EventsContainer/EventBody/AdditionalContainers/AdditionalBoolean\";\r\nimport { AdditionalList } from \"../components/EventsContainer/EventBody/AdditionalContainers/AdditionalList\";\r\nimport { ISofEventDataField } from \"../interfaces/ISofEventDataField\";\r\nimport { IUpdatedProperty } from \"../interfaces/IUpdatedProperty\";\r\nimport { AdditionalPort } from \"../components/EventsContainer/EventBody/AdditionalContainers/AdditionalPort\";\r\n\r\nexport const useSofEventLayout = () => {\r\n\r\n const getAdditionalContainer = (additionalDataField: ISofEventDataField, onUpdate: (updatedProperty: IUpdatedProperty) => void, value?: any): JSX.Element | undefined => {\r\n switch (additionalDataField.dataType) {\r\n case \"String\":\r\n return (\r\n \r\n );\r\n case \"Double\":\r\n return (\r\n \r\n );\r\n case \"Boolean\":\r\n return (\r\n \r\n );\r\n case \"List\":\r\n return (\r\n \r\n );\r\n case \"Port\":\r\n return (\r\n \r\n );\r\n default:\r\n return (\r\n
Container for type {additionalDataField.dataType} not defined
\r\n );\r\n }\r\n }\r\n\r\n return { getAdditionalContainer };\r\n}","import { Checkbox } from \"@fluentui/react\";\r\nimport React from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport styled from \"styled-components\";\r\nimport { Cargo } from \"../../../../classes/Cargo\";\r\nimport { useStores } from \"../../../../hooks/useStores\";\r\nimport { useUrlFunctions } from \"../../../../hooks/useUrlFunctions\";\r\nimport { AppDropDown } from \"../../../AppDropDown/AppDropDown\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div<{ selected: boolean }>`\r\n padding-top: 10px;\r\n padding-bottom: 20px;\r\n display: flex;\r\n\r\n /* Checkbox */\r\n >div:first-child {\r\n label {\r\n >div {\r\n height: 30px;\r\n width: 30px;\r\n background-color: ${_ => _.selected ? \"#4d71ac\" : undefined};\r\n\r\n i {\r\n font-size: 22px;\r\n }\r\n }\r\n\r\n span {\r\n padding-top: 4px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n white-space: nowrap;\r\n }\r\n }\r\n }\r\n\r\n /* Divider */\r\n >div:nth-child(2) {\r\n padding: 0 8px;\r\n }\r\n`;\r\n\r\nconst PickerLink = styled.div`\r\n padding: 2px 0;\r\n font-weight: 600;\r\n color: #4177bf;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n\r\n :hover {\r\n text-decoration: underline;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport interface INorCargo {\r\n checked: boolean\r\n cargo: Cargo[]\r\n}\r\n\r\nexport const AdditionalAskForNorTender: React.FC<{ norCargo: INorCargo, onUpdate: (norCargo: INorCargo) => void }> = ({ norCargo, onUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { pId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { pc } = getObjectsByUrl(portCallStore.portCalls, pId);\r\n\r\n return (\r\n
\r\n \r\n {\r\n onUpdate({\r\n checked: checked ? checked : false,\r\n cargo: checked ? pc!.cargos.slice() : []\r\n });\r\n }}\r\n />\r\n {norCargo.checked &&\r\n <>\r\n
\r\n |\r\n
\r\n Cargo ({norCargo.cargo.length})}\r\n defaultSelectedValues={norCargo.cargo.map(c => {\r\n return {\r\n id: c.id,\r\n text: c.commodity,\r\n valueObject: c\r\n }\r\n })}\r\n options={pc!.cargos.slice().sort((a, b) => { return a.commodity > b.commodity ? 1 : -1; }).map(c => {\r\n return {\r\n id: c.id,\r\n text: c.commodity,\r\n valueObject: c\r\n }\r\n })}\r\n onChangedMulti={values => {\r\n onUpdate({\r\n ...norCargo,\r\n cargo: values.map(_ => _.valueObject)\r\n });\r\n }}\r\n />\r\n \r\n }\r\n \r\n
\r\n );\r\n};","import React from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport styled from \"styled-components\";\r\nimport { useStores } from \"../../../../hooks/useStores\";\r\nimport { useUrlFunctions } from \"../../../../hooks/useUrlFunctions\";\r\nimport { AppDropDown } from \"../../../AppDropDown/AppDropDown\";\r\nimport { IStorage } from \"../../../../interfaces/IStorage\";\r\n\r\n//#region Styled Components\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 !important;\r\n\r\n >div {\r\n margin: 0 15px 20px;\r\n width: 255px;\r\n }\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n \r\n >div {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAdditionalBerthProps {\r\n defaultStorages: IStorage[] | undefined;\r\n onUpdate: (storages: IStorage[]) => void\r\n}\r\n\r\nexport const AdditionalStorage: React.FC = ({ defaultStorages, onUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { pId, cId, oId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { pc } = getObjectsByUrl(portCallStore.portCalls, pId, cId, oId);\r\n\r\n return (\r\n \r\n _.name).join(\", \")}\r\n defaultSelectedValues={defaultStorages?.map(s => {\r\n return {\r\n id: s.id,\r\n text: s.name\r\n }\r\n })}\r\n options={pc!.vessel!.storages.map(s => {\r\n return {\r\n id: s.id,\r\n text: s.name\r\n }\r\n })}\r\n onChangedMulti={values => {\r\n let _storages = pc!.vessel!.storages.filter(_ => values.find(v => v.id === _.id));\r\n onUpdate(_storages)\r\n }}\r\n />\r\n \r\n );\r\n};","export enum CargoOperationStatus {\r\n NotStarted,\r\n Active,\r\n Finished\r\n}","import { CargoOperation } from \"../classes/CargoOperation\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { CargoOperationStatus } from \"../enums/CargoOperationStatus\";\r\nimport { useSofEventFunctions } from \"./useSofEventFunctions\";\r\nimport { EventTriggerTypes } from \"../enums/EventTriggerTypes\";\r\nimport { IStatementOfFactCargoOperation } from \"../interfaces/IStatementOfFact\";\r\nimport { useNumberFunctions } from \"./useNumberFunctions\";\r\n\r\nexport const useCargoOperationFunctions = () => {\r\n const { getTemplate, hasTrigger } = useSofEventFunctions();\r\n const { hasValue } = useNumberFunctions();\r\n\r\n const createNew = (cargo: Cargo, cargoOperationType: number, name: string): CargoOperation => {\r\n let newCo = new CargoOperation();\r\n\r\n newCo.id = uuidv4();\r\n newCo.name = name;\r\n newCo.operationType = cargoOperationType;\r\n newCo.needsSaving = true;\r\n\r\n cargo.addCargoOperation(newCo);\r\n\r\n return newCo;\r\n }\r\n\r\n const hasEnabledProperties = (flow: IFlow): boolean => {\r\n if (flow.useCrane?.enabled || flow.useStorage?.enabled || flow.useWorkTeam?.enabled) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const numMissingProperties = (flow?: IFlow, co?: CargoOperation | IStatementOfFactCargoOperation) => {\r\n let num = 0;\r\n let required = 0;\r\n\r\n if (!flow || !co) {\r\n return {\r\n missing: 0,\r\n missingRequired: 0\r\n };\r\n }\r\n\r\n if (flow.useStorage?.enabled && (!co.storages || co.storages.length === 0)) {\r\n num++;\r\n\r\n if (flow.useStorage.required) {\r\n required++;\r\n }\r\n }\r\n\r\n\r\n if (flow.useCrane?.enabled && (!co.cranes || co.cranes.length === 0)) {\r\n num++;\r\n\r\n if (flow.useCrane.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useWorkTeam?.enabled && (!co.workTeam || co.workTeam.trim().length === 0)) {\r\n num++;\r\n\r\n if (flow.useWorkTeam.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useUnits?.enabled && !co.unitsProcessed) {\r\n num++;\r\n\r\n if (flow.useUnits.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (flow.useAdditionalQuantityProcessedInMt?.enabled && !co.additionalQuantityProcessedInMt) {\r\n num++;\r\n\r\n if (flow.useAdditionalQuantityProcessedInMt.required) {\r\n required++;\r\n }\r\n }\r\n\r\n if (!co.quantityProcessed) {\r\n num++;\r\n }\r\n\r\n return {\r\n missing: num,\r\n missingRequired: required\r\n };\r\n }\r\n\r\n const status = (cargoOperation: CargoOperation, flow: IFlow): CargoOperationStatus => {\r\n if (cargoOperation.events.length === 0) {\r\n return CargoOperationStatus.NotStarted;\r\n }\r\n\r\n // If any event has closing trigger. Set status to finished\r\n let endCoEvent = cargoOperation.events.slice().find(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.EndCargoOperation)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (endCoEvent) {\r\n return CargoOperationStatus.Finished;\r\n }\r\n\r\n return CargoOperationStatus.Active;\r\n }\r\n\r\n const getNumericValue = (co: CargoOperation, property: string) => {\r\n let value = (co as any)[property];\r\n if (hasValue(value) && !isNaN(value)) {\r\n return Number(value);\r\n }\r\n }\r\n\r\n return { createNew, hasEnabledProperties, numMissingProperties, status, getNumericValue };\r\n}","export enum FlowActivityEventBaseTypes {\r\n Standard = 10,\r\n RegisterRate = 20\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { SofEvent } from \"../../../../classes/SofEvent\";\r\nimport { useSofEventLayout } from \"../../../../hooks/useSofEventLayout\";\r\nimport { useStores } from \"../../../../hooks/useStores\";\r\nimport { useUrlFunctions } from \"../../../../hooks/useUrlFunctions\";\r\nimport { IFlowActivityEvent } from \"../../../../interfaces/IFlowActivities\";\r\nimport { IUpdatedProperty } from \"../../../../interfaces/IUpdatedProperty\";\r\nimport { DateTimePicker } from \"../../../DateTimePicker/DateTimePicker\";\r\nimport { useSofEventFunctions } from \"../../../../hooks/useSofEventFunctions\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 -15px;\r\n\r\n >div {\r\n margin: 0 15px 20px;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const EventBodyRegisterRate: React.FC<{ event: SofEvent, template: IFlowActivityEvent, timeZone: string, onUpdate: (updatedProperties: IUpdatedProperty) => void }> = ({ event, template, timeZone, onUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { getAdditionalContainer } = useSofEventLayout();\r\n const { getAdditionalProperty } = useSofEventFunctions();\r\n const { pId, cId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { cargo } = getObjectsByUrl(portCallStore.portCalls, pId, cId);\r\n const additionalFieldInternalName = \"rateCargoOnboard\";\r\n const additionalPropertyValue = getAdditionalProperty(event.data, additionalFieldInternalName);\r\n\r\n return (\r\n \r\n {\r\n if (_) {\r\n onUpdate({\r\n isAdditional: false,\r\n name: \"eventDate\",\r\n internalName: \"eventDate\",\r\n dataType: \"Date\",\r\n value: _\r\n });\r\n }\r\n }}\r\n />\r\n {getAdditionalContainer(\r\n {\r\n dataType: \"Double\",\r\n internalName: additionalFieldInternalName,\r\n required: true,\r\n value: \"\",\r\n name: cargo\r\n ? `${cargo.reasonForCall === \"L\" ? \"Cargo loaded\" : \"Remaining onboard\"} in ${cargo.measurement?.name}`\r\n : \"Cargo onboard\"\r\n },\r\n onUpdate,\r\n additionalPropertyValue\r\n )}\r\n \r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { SofEvent } from \"../../../classes/SofEvent\";\r\nimport { DateTimePicker } from \"../../DateTimePicker/DateTimePicker\";\r\nimport { IUpdatedProperty } from \"../../../interfaces/IUpdatedProperty\";\r\nimport { useSofEventFunctions } from \"../../../hooks/useSofEventFunctions\";\r\nimport { AdditionalNumber } from \"./AdditionalContainers/AdditionalNumber\";\r\nimport { useParams } from \"react-router\";\r\nimport { useUrlFunctions } from \"../../../hooks/useUrlFunctions\";\r\nimport { useStores } from \"../../../hooks/useStores\";\r\nimport { AdditionalBerth } from \"./AdditionalContainers/AdditionalBerth\";\r\nimport { EventTriggerTypes } from \"../../../enums/EventTriggerTypes\";\r\nimport { IFlowActivityEvent } from \"../../../interfaces/IFlowActivities\";\r\nimport { useCargoFunctions } from \"../../../hooks/useCargoFunctions\";\r\nimport { useSofEventLayout } from \"../../../hooks/useSofEventLayout\";\r\nimport { AdditionalAskForNorTender, INorCargo } from \"./AdditionalContainers/AdditionalAskForNorTender\";\r\nimport { AdditionalStorage } from \"./AdditionalContainers/AdditionalStorage\";\r\nimport { IStorage } from \"../../../interfaces/IStorage\";\r\nimport { useCargoOperationFunctions } from \"../../../hooks/useCargoOperationFunctions\";\r\nimport { FlowActivityEventBaseTypes } from \"../../../enums/FlowActivityEventBaseTypes\";\r\nimport { EventBodyRegisterRate } from \"./SpecialEventBodies/EventBodyRegisterRate\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 -15px;\r\n\r\n >div {\r\n margin: 0 15px 20px;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IEventBody {\r\n event: SofEvent\r\n template: IFlowActivityEvent\r\n timeZone: string\r\n norCargo: INorCargo\r\n storages?: IStorage[]\r\n onUpdate: (updatedProperties: IUpdatedProperty | IUpdatedProperty[]) => void\r\n onNorCargoUpdate: (norCargo: INorCargo) => void\r\n onStoragesUpdate: (storages: IStorage[]) => void\r\n}\r\n\r\nexport const EventBody: React.FC = ({ event, template, timeZone, norCargo, storages, onUpdate, onNorCargoUpdate, onStoragesUpdate }) => {\r\n const { portCallStore } = useStores();\r\n const { getAdditionalContainer } = useSofEventLayout();\r\n const { getAdditionalProperty, hasTrigger } = useSofEventFunctions();\r\n const { pId, cId, oId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { cargo, co } = getObjectsByUrl(portCallStore.portCalls, pId, cId, oId);\r\n const { additionalQtyProcessedInMtByCargoOperations, quantityProcessedByCargoOperations, unitsProcessedByCargoOperations, getNumericValue: getNumericValueFromCargo } = useCargoFunctions();\r\n const { getNumericValue: getNumericValueFromCo } = useCargoOperationFunctions();\r\n const isStandard = template.eventBaseType === FlowActivityEventBaseTypes.Standard;\r\n const qtyProcessedByCos = quantityProcessedByCargoOperations(cargo);\r\n const unitsProcessedByCos = unitsProcessedByCargoOperations(cargo);\r\n const additionalQtyProcessedInMtByCos = additionalQtyProcessedInMtByCargoOperations(cargo);\r\n\r\n const getNumericValueFromObject = (property: string) => {\r\n if (co) {\r\n return getNumericValueFromCo(co, property);\r\n }\r\n else if (cargo) {\r\n return getNumericValueFromCargo(cargo, property)\r\n }\r\n }\r\n\r\n if (!isStandard) {\r\n if (template.eventBaseType === FlowActivityEventBaseTypes.RegisterRate) {\r\n return (\r\n {\r\n onUpdate(up);\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (_) {\r\n onUpdate({\r\n isAdditional: false,\r\n name: \"eventDate\",\r\n internalName: \"eventDate\",\r\n dataType: \"Date\",\r\n value: _\r\n });\r\n }\r\n }}\r\n />\r\n\r\n {/* Json additional properties */}\r\n {template.additionalData && template.additionalData.slice().sort((a, b) => {\r\n // Always display check boxes last\r\n return a.dataType === \"Boolean\" ? 1 : -1;\r\n }).map((_, i) => {\r\n let additionalPropertyValue = getAdditionalProperty(event.data, _.internalName);\r\n return getAdditionalContainer(_, onUpdate, additionalPropertyValue);\r\n })}\r\n\r\n {/* Cargo or cargo operation additional data */}\r\n {(cargo || co) &&\r\n <>\r\n {hasTrigger(template, EventTriggerTypes.RegisterQty) &&\r\n 0 ? `Sum operations ${qtyProcessedByCos.toLocaleString()} ${cargo?.measurement?.name}` : undefined}\r\n transfer={cargo && !co && qtyProcessedByCos > 0\r\n ? {\r\n value: qtyProcessedByCos,\r\n title: \"Click to add value from cargo operations total\"\r\n }\r\n : undefined\r\n }\r\n dataField={{\r\n dataType: \"Double\",\r\n name: `B/L qty in ${cargo?.measurement?.name}`,\r\n internalName: \"QuantityProcessed\",\r\n required: true\r\n }}\r\n />\r\n }\r\n\r\n {hasTrigger(template, EventTriggerTypes.RegisterShipsFigures) &&\r\n \r\n }\r\n\r\n {hasTrigger(template, EventTriggerTypes.RegisterShipsRequestedQty) &&\r\n \r\n }\r\n\r\n {hasTrigger(template, EventTriggerTypes.RegisterUnits) &&\r\n 0 ? `Sum operations ${unitsProcessedByCos} units` : undefined}\r\n dataField={{\r\n dataType: \"Double\",\r\n name: `Units ${cargo?.reasonForCall === \"L\" ? \"loaded\" : \"discharged\"}`,\r\n internalName: \"UnitsProcessed\",\r\n }}\r\n />\r\n }\r\n\r\n {hasTrigger(template, EventTriggerTypes.RegisterAdditionalQtyProcessedInMt) && cargo?.measurement?.name.toLowerCase() !== \"mt\" && cargo?.measurement?.name.toLowerCase() !== \"mts\" &&\r\n 0 ? `Sum operations ${additionalQtyProcessedInMtByCos} MT` : undefined}\r\n dataField={{\r\n dataType: \"Double\",\r\n name: `Quantity ${cargo?.reasonForCall === \"L\" ? \"loaded\" : \"discharged\"} in MT`,\r\n internalName: \"AdditionalQtyProcessedInMt\",\r\n }}\r\n />\r\n }\r\n \r\n }\r\n\r\n {/* Special additional data */}\r\n\r\n {hasTrigger(template, EventTriggerTypes.StartBerth) &&\r\n \r\n }\r\n\r\n {hasTrigger(template, EventTriggerTypes.AskForStorage) &&\r\n \r\n }\r\n\r\n {norCargo && hasTrigger(template, EventTriggerTypes.AskForNorTender) &&\r\n \r\n }\r\n \r\n
\r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ITextField, TextField } from \"@fluentui/react\";\r\nimport { AppModal } from \"../../../blocks/AppModal/AppModal\";\r\nimport { AppPrimaryButton } from \"../../Buttons/AppPrimaryButton\";\r\nimport { SofEvent } from \"../../../classes/SofEvent\";\r\nimport { useStringFunctions } from \"../../../hooks/useStringFunctions\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div`\r\n .remarks-picker {\r\n padding: 0 30px;\r\n border-bottom: 1px dotted #aaa;\r\n background-color: #f1f1f1;\r\n display: grid;\r\n grid-template-columns: repeat(2, max-content);\r\n font-size: 14px;\r\n column-gap: 20px; \r\n\r\n .remarks-picker-button {\r\n padding: 8px 0 5px;\r\n color: #888;\r\n cursor: pointer;\r\n border-bottom: 3px solid transparent;\r\n display: grid;\r\n grid-template-columns: repeat(2, max-content);\r\n\r\n .remarks-icon {\r\n background-color: #bbb;\r\n height: 9px;\r\n width: 9px;\r\n border-radius: 50%;\r\n margin: 7px 0 0 5px;\r\n }\r\n\r\n :hover {\r\n border-bottom-color: #ccc;\r\n }\r\n }\r\n\r\n .remarks-picker-button.active {\r\n font-weight: 700;\r\n border-bottom-color: #4177bf;\r\n color: #4177bf;\r\n\r\n .remarks-icon {\r\n background-color: #4177bf;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Txt = styled(TextField)`\r\n >div {\r\n >div {\r\n width: 500px;\r\n max-width: 100vw;\r\n border-color: transparent;\r\n background-color: transparent;\r\n\r\n textarea {\r\n padding: 20px 30px;\r\n min-height: 180px;\r\n font-size: 16px;\r\n\r\n ::placeholder {\r\n color: #aaa;\r\n font-size: 16px;\r\n }\r\n }\r\n\r\n :hover {\r\n border-color: transparent;\r\n }\r\n\r\n :after {\r\n border: none;\r\n }\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IEventRemarkModalProps {\r\n isOpen: boolean\r\n sofEvent: SofEvent\r\n onCommit: (remark: string, internalRemark: string) => void\r\n onDismiss: () => void\r\n}\r\n\r\nexport const EventRemarkModal: React.FC = ({ isOpen, sofEvent, onCommit, onDismiss }) => {\r\n const { isEmpty } = useStringFunctions();\r\n const [localRemark, setLocalRemark] = useState();\r\n const [localInternalRemark, setLocalInternalRemark] = useState();\r\n const [activeType, setActiveType] = useState<\"External\" | \"Internal\">(\"External\");\r\n const showInternal = activeType === \"Internal\";\r\n let inputRef: ITextField | null = null;\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setLocalRemark(sofEvent.remark);\r\n setLocalInternalRemark(sofEvent.internalRemark);\r\n setActiveType(\r\n !isEmpty(sofEvent.remark)\r\n ? \"External\"\r\n : !isEmpty(sofEvent.internalRemark)\r\n ? \"Internal\"\r\n : \"External\"\r\n );\r\n }\r\n }, [sofEvent.remark, sofEvent.internalRemark, sofEvent, isOpen])\r\n\r\n useEffect(() => {\r\n inputRef?.focus();\r\n }, [activeType])\r\n\r\n return (\r\n {\r\n onCommit(localRemark ?? \"\", localInternalRemark ?? \"\")\r\n }}\r\n />\r\n }\r\n dismiss={() => {\r\n onDismiss();\r\n }}\r\n >\r\n \r\n
\r\n
setActiveType(\"External\")}>\r\n
\r\n Remarks\r\n
\r\n {!isEmpty(localRemark) &&\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
setActiveType(\"Internal\")}>\r\n
\r\n Internal remarks\r\n
\r\n {!isEmpty(localInternalRemark) &&\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n inputRef = _}\r\n maxLength={490}\r\n multiline\r\n autoAdjustHeight\r\n placeholder={showInternal ? \"Event internal remarks\" : \"Event remarks\"}\r\n value={showInternal ? localInternalRemark ?? \"\" : localRemark ?? \"\"}\r\n onChange={(ev, v) => {\r\n showInternal\r\n ? setLocalInternalRemark(v ?? \"\")\r\n : setLocalRemark(v ?? \"\");\r\n }}\r\n />\r\n \r\n \r\n );\r\n};","import { PortCall } from \"../classes/PortCall\";\r\nimport { useSofEventFunctions } from \"./useSofEventFunctions\";\r\n\r\nexport const usePortCallStatus = () => {\r\n const { getBerthCalls } = useSofEventFunctions();\r\n\r\n const isBerthed = (pc: PortCall): boolean => {\r\n let berthCalls = getBerthCalls(pc.flow!, pc);\r\n\r\n if(berthCalls.find(_ => !_.end)) {\r\n return true; \r\n }\r\n\r\n return false;\r\n }\r\n\r\n return { isBerthed };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { CargoOperationType } from \"../../../enums/CargoOperationType\";\r\nimport { useCargoOperationFunctions } from \"../../../hooks/useCargoOperationFunctions\";\r\nimport { usePortCallStatus } from \"../../../hooks/usePortCallStatus\";\r\nimport { useStores } from \"../../../hooks/useStores\";\r\nimport { useUrlFunctions } from \"../../../hooks/useUrlFunctions\";\r\nimport { TFlowActivity } from \"../../../interfaces/IFlowActivities\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n background-color: white;\r\n padding: 25px 20px;\r\n border: 1px solid #4177bf;\r\n border-bottom: none;\r\n border-radius: 4px;\r\n\r\n >div {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: -5px;\r\n\r\n >div {\r\n margin: 5px;\r\n }\r\n }\r\n`;\r\n\r\nconst CoLink = styled.span<{ disabled?: boolean }>`\r\n cursor: ${_ => _.disabled ? \"default\" : \"pointer\"};\r\n background-color: ${_ => _.disabled ? \"#ccc\" : \"#4177bf\"};\r\n color: white !important;\r\n padding: 2px 10px 3px;\r\n border-radius: 4px;\r\n white-space: nowrap;\r\n`;\r\n//#endregion\r\n\r\nexport const CoRequired: React.FC<{ template: TFlowActivity }> = ({ template }) => {\r\n const { appStore, portCallStore } = useStores();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { pId, cId } = useParams<{ pId: any, cId: any }>();\r\n const { pc, cargo } = getObjectsByUrl(portCallStore.portCalls, pId, cId);\r\n const { isBerthed } = usePortCallStatus();\r\n const { createNew } = useCargoOperationFunctions();\r\n const history = useHistory();\r\n const createCoDisabled = pc?.flow?.requireAllFastAtAnchorOrBarge && !isBerthed(pc) ? true : false;\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n if (pc?.flow?.useCargoOperationType) {\r\n appStore.toggleCargoOperationTypePickerModalOpen(true);\r\n }\r\n else {\r\n if (pc && cargo) {\r\n let newCo = createNew(cargo, CargoOperationType.Shore, \"Shore\");\r\n history.push(`/portcalls/${pc.id}/cargos/${cargo.id}/operations/${newCo.id}`);\r\n }\r\n }\r\n }}\r\n >\r\n Start a cargo operation\r\n \r\n
\r\n
\r\n before proceeding to \r\n {template.name}.\r\n
\r\n
\r\n
\r\n );\r\n};","import { DateTime } from \"luxon\";\r\nimport { ApiService } from \"../api/ApiService\";\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { CargoOperation } from \"../classes/CargoOperation\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { EventTriggerTypes } from \"../enums/EventTriggerTypes\";\r\nimport { PortCallStatus } from \"../enums/PortCallStatus\";\r\nimport { IFlow } from \"../interfaces/IFlow\";\r\nimport { IStoppage } from \"../interfaces/IStoppage\";\r\nimport { useDateFunctions } from \"./useDateFunctions\";\r\nimport { useSofEventFunctions } from \"./useSofEventFunctions\";\r\nimport { IPortCall } from \"../interfaces/IPortCall\";\r\n\r\nexport const usePortCallsFunctions = () => {\r\n const { getTemplate, hasTrigger } = useSofEventFunctions();\r\n const { makeDateObject: md } = useDateFunctions();\r\n\r\n //#region Helper funtions\r\n const getActive = (portCalls: PortCall[]): PortCall[] => {\r\n return portCalls\r\n .slice()\r\n .filter(_ => _.status === PortCallStatus.Active)\r\n .sort((a, b) => { return md(a.arrived!) > md(b.arrived!) ? -1 : 1; });\r\n }\r\n\r\n const getDeparted = (portCalls: PortCall[]): PortCall[] => {\r\n return portCalls\r\n .slice()\r\n .filter(_ => _.status === PortCallStatus.Finished)\r\n .sort((a, b) => { return md(a.arrived!) > md(b.arrived!) ? -1 : 1; });\r\n }\r\n\r\n const getDepartedBefore = (before: Date, portCalls: PortCall[]): PortCall[] => {\r\n return portCalls\r\n .slice()\r\n .filter(_ => _.status === PortCallStatus.Finished && md(_.departed!) < md(before))\r\n .sort((a, b) => { return md(a.arrived!) > md(b.arrived!) ? -1 : 1; });\r\n }\r\n\r\n const getScheduledAfter = (after: Date, portCalls: PortCall[]): PortCall[] => {\r\n return portCalls\r\n .slice()\r\n .filter(_ => _.status === PortCallStatus.Scheduled && md(_.scheduledArrival) > md(after))\r\n .sort((a, b) => { return md(a.scheduledArrival) > md(b.scheduledArrival) ? -1 : 1; });\r\n }\r\n\r\n const getCurrent = (portCalls: PortCall[]): PortCall | undefined => {\r\n let active = getActive(portCalls);\r\n\r\n return active.length > 0\r\n ? active[0]\r\n : undefined;\r\n }\r\n //#endregion\r\n\r\n //#region Return functions\r\n const getLatestDeparted = (portCalls: PortCall[]): PortCall | undefined => {\r\n let departed = getDeparted(portCalls);\r\n\r\n return departed.length > 0\r\n ? departed[0]\r\n : undefined;\r\n }\r\n\r\n const getNextScheduled = (pc: PortCall, portCalls: PortCall[]): PortCall | undefined => {\r\n let scheduledAfter = getScheduledAfter(pc.scheduledArrival, portCalls);\r\n\r\n return scheduledAfter.length > 0\r\n ? scheduledAfter[scheduledAfter.length - 1]\r\n : undefined;\r\n }\r\n\r\n /** Gets the previous departed portcall based on date (departed or scheduled departure) */\r\n const getPreviousDeparted = (departedOrScheduledDeparted: Date, portCalls: PortCall[]): PortCall | undefined => {\r\n let departedBefore = getDepartedBefore(departedOrScheduledDeparted, portCalls);\r\n return departedBefore.length > 0\r\n ? departedBefore[0]\r\n : undefined;\r\n }\r\n\r\n const fetchPortCalls = async (api: ApiService, lastFetched?: Date, force?: boolean): Promise => {\r\n if (lastFetched && !force) {\r\n let diff = DateTime.now().diff(DateTime.fromJSDate(new Date(lastFetched)));\r\n\r\n if (diff.as(\"seconds\") < 60 * 30) {\r\n return Promise.resolve(undefined);\r\n }\r\n }\r\n\r\n try {\r\n return await api.getPortCalls();\r\n }\r\n catch (error) {\r\n console.log(\"Error - unable to fetch portcalls\", error);\r\n return Promise.reject(error);\r\n }\r\n }\r\n //#endregion\r\n\r\n const getStoppagesForLevel = (flow: IFlow, events: SofEvent[], cargo?: Cargo, cargoOperation?: CargoOperation) => {\r\n let stoppages: IStoppage[] = [];\r\n\r\n events\r\n .slice()\r\n .filter(_ => {\r\n let template = getTemplate(flow, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.IsDelay)) {\r\n return _;\r\n }\r\n })\r\n .forEach(ev => {\r\n let endStoppageEvent = events.slice().find(_ => {\r\n let _template = getTemplate(flow, _.templateId);\r\n if (_template && hasTrigger(_template, EventTriggerTypes.EndDelay) && md(_.eventDate) > md(ev.eventDate)) {\r\n return _;\r\n }\r\n });\r\n\r\n stoppages.push({\r\n name: ev.name,\r\n from: ev.eventDate,\r\n to: endStoppageEvent?.eventDate,\r\n cargo,\r\n cargoOperation\r\n });\r\n });\r\n\r\n return stoppages;\r\n }\r\n\r\n const getStoppages = (pc?: PortCall) => {\r\n let stoppages: IStoppage[] = [];\r\n\r\n pc?.cargos.forEach(c => {\r\n stoppages = stoppages.concat(getStoppagesForLevel(pc.flow!, c.events, c));\r\n c.cargoOperations.forEach(co => {\r\n stoppages = stoppages.concat(getStoppagesForLevel(pc.flow!, co.events, c, co));\r\n });\r\n });\r\n\r\n return stoppages;\r\n }\r\n\r\n const getOpenCargos = (pc?: PortCall) => {\r\n return pc?.cargos.slice().filter(c => {\r\n let startCargoEvent = c.events.find(_ => {\r\n let template = getTemplate(pc.flow!, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.StartCargo)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (startCargoEvent) {\r\n let endCargoEvent = c.events.find(_ => {\r\n let template = getTemplate(pc.flow!, _.templateId);\r\n if (template && hasTrigger(template, EventTriggerTypes.EndCargo)) {\r\n return _;\r\n }\r\n });\r\n\r\n if (!endCargoEvent) {\r\n return c;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /** Sorts portcalls by scheduled arrival */\r\n const sortPortCalls = (a: IPortCall, b: IPortCall) => {\r\n let aDate = md(a.scheduledArrival);\r\n let bDate = md(b.scheduledDeparture);\r\n\r\n return aDate > bDate ? 1 : -1;\r\n }\r\n\r\n return { fetchPortCalls, getCurrent, getLatestDeparted, getNextScheduled, getOpenCargos, getPreviousDeparted, getStoppages, sortPortCalls };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.span`\r\n color: #4177bf;\r\n cursor: pointer;\r\n\r\n :hover {\r\n text-decoration: underline;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const AppLink: React.FC<{ content?: any, title?: string, onClick?: (ev: React.MouseEvent) => void }> = ({ content, title, onClick }) => {\r\n return (\r\n {\r\n if (onClick) {\r\n onClick(ev);\r\n }\r\n }}\r\n >\r\n {content}\r\n \r\n );\r\n};","export enum LogReportType {\r\n Eosp = 10,\r\n Sosp = 20,\r\n Noon = 30,\r\n Arrival = 40,\r\n Departure = 50,\r\n SecaBoundary = 60,\r\n Rob = 70,\r\n Anchored = 80,\r\n WeighedAnchor = 90,\r\n Log = 100,\r\n Delivery = 200,\r\n Redelivery = 210,\r\n \"Start Offhire\" = 220,\r\n \"End Offhire\" = 230,\r\n \"Tank Initiation\" = 500,\r\n Other = 10000\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useStores } from \"../../../hooks/useStores\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useUrlFunctions } from \"../../../hooks/useUrlFunctions\";\r\nimport { SofEvent } from \"../../../classes/SofEvent\";\r\nimport { useDateFunctions } from \"../../../hooks/useDateFunctions\";\r\nimport { Cargo } from \"../../../classes/Cargo\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n padding-bottom: 10px;\r\n font-size: 12px;\r\n color: #aaa;\r\n\r\n >span {\r\n color: #849aaf;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const EventBodySameCargoEvents: React.FC<{ event: SofEvent }> = ({ event }) => {\r\n const { portCallStore } = useStores();\r\n const { pId, cId, oId } = useParams<{ pId: any, cId: any, oId: any }>();\r\n const { getObjectsByUrl } = useUrlFunctions();\r\n const { makeDateObject } = useDateFunctions();\r\n const { pc, cargo } = getObjectsByUrl(portCallStore.portCalls, pId, cId, oId);\r\n const [cargoes, setCargos] = useState([]);\r\n\r\n const findSameEventsInOtherCargos = () => {\r\n let _cargoes: Cargo[] = [];\r\n pc!.cargos.slice().sort((a, b) => { return a.commodity > b.commodity ? 1 : -1; }).forEach(c => {\r\n let _existingCargoEvent = c.events.find(_ => _.templateId === event.templateId && makeDateObject(_.eventDate).equals(makeDateObject(event.eventDate)));\r\n if (_existingCargoEvent) {\r\n _cargoes.push(c);\r\n }\r\n });\r\n setCargos(_cargoes);\r\n }\r\n\r\n useEffect(() => {\r\n if (pc && cargo && pc.cargos.length >= 2) {\r\n findSameEventsInOtherCargos();\r\n }\r\n }, [])\r\n\r\n if (cargoes.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Event exists in:\r\n {cargoes.map((c, index) => {\r\n return (\r\n \r\n {c.commodity}{index < cargoes.length - 1 ? \",\" : \"\"}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};","import { Icon } from \"@fluentui/react\";\r\nimport React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div<{ checked?: boolean, disabled?: boolean }>`\r\n max-height: 18px;\r\n max-width: 18px;\r\n min-height: 18px;\r\n min-width: 18px;\r\n border: 1px solid;\r\n border-radius: 2px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 14px;\r\n border-color: ${_ => _.disabled ? \"#ddd\" : _.checked ? \"#4177bf\" : \"#323130\"};\r\n background-color: ${_ => _.disabled ? \"#eee\" : _.checked ? \"#4177bf\" : undefined};\r\n color: ${_ => _.disabled ? \"#555\" : \"white\"};\r\n`;\r\n//#endregion\r\n\r\nexport const FakeCheckbox: React.FC<{ checked?: boolean, disabled?: boolean }> = ({ checked, disabled }) => {\r\n return (\r\n \r\n {checked &&\r\n \r\n }\r\n \r\n );\r\n};","import { useEffect, useState } from 'react';\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:any) => setMatches(e.matches);\r\n mediaMatch.addEventListener(\"change\", handler);\r\n return () => mediaMatch.removeEventListener(\"change\", handler);\r\n });\r\n\r\n return matches;\r\n};","import React from \"react\";\r\nimport { IGridTableColumn } from \"../../interfaces/IGridTableColumn\";\r\nimport { useGridTable } from \"../../hooks/useGridTable\";\r\n\r\ninterface IGridTableCellProps {\r\n column: IGridTableColumn\r\n rowId: number\r\n data: any\r\n cellPadding?: string\r\n noColumnBorder?: boolean\r\n};\r\n\r\nexport const AppGridTableCell: React.FC = ({ rowId, cellPadding, noColumnBorder, column, data }) => {\r\n const { getData } = useGridTable();\r\n\r\n return (\r\n \r\n {column.render ? column.render(data, rowId) : getData(column, data)}\r\n \r\n );\r\n};","import { IGridTableColumn } from \"../interfaces/IGridTableColumn\";\r\n\r\nexport const useGridTable = () => {\r\n const getData = (column: IGridTableColumn, data: any) => {\r\n return resolveData(column.key, data);\r\n }\r\n\r\n const resolveData = (path: string, obj: any) => {\r\n return path.split('.').reduce(function (prev, curr) {\r\n return prev ? prev[curr] : null\r\n }, obj)\r\n }\r\n\r\n return { getData };\r\n};","import React from \"react\";\r\nimport styled, { CSSProperties, css } from \"styled-components\";\r\nimport { IGridTableColumn } from \"../../interfaces/IGridTableColumn\";\r\nimport { Shimmer } from \"@fluentui/react\";\r\nimport { AppGridTableCell } from \"./AppGridTableCell\";\r\n\r\n//#region Styled components\r\nconst Container = styled.table < { columns: IGridTableColumn[], noHoverColor?: boolean, topBorder?: boolean, bottomBorder?: boolean, blueHeader?: boolean, smallHeader?: boolean } > `\r\n display: grid;\r\n border-collapse: collapse;\r\n min-width: 100%;\r\n font-size: 14px;\r\n grid-template-columns: ${_ => _.columns.map(c => c.gridCellWidth ? c.gridCellWidth : \"auto\").join(\" \")};\r\n border-top: ${_ => _.topBorder ? \"1px solid #eee\" : undefined};\r\n\r\n thead, tbody, tr {\r\n display: contents;\r\n }\r\n\r\n th {\r\n padding: 16px;\r\n text-align: left;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n color: #999;\r\n font-weight: 400;\r\n border-bottom: 1px solid #eee;\r\n text-transform: capitalize;\r\n }\r\n\r\n th:first-child {\r\n padding-left: 30px;\r\n }\r\n\r\n th:last-child {\r\n padding-right: 30px;\r\n }\r\n\r\n td {\r\n padding: 16px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n border-bottom: 1px solid #eee;\r\n border-right: 1px solid #eee;\r\n }\r\n\r\n td:first-child {\r\n padding-left: 30px;\r\n }\r\n\r\n td:last-child {\r\n padding-right: 30px;\r\n border-right: none;\r\n }\r\n\r\n tr:nth-child(even) {\r\n td {\r\n background-color: rgba(0,0,0,0.02);\r\n }\r\n }\r\n\r\n tr.selected {\r\n td {\r\n color: #4177bf;\r\n background-color: #ecf5fd; \r\n }\r\n td:first-child {\r\n border-left-color: #4177bf;\r\n }\r\n }\r\n\r\n tr.error {\r\n td {\r\n color: red;\r\n background-color: #ffe6e6; \r\n }\r\n }\r\n \r\n ${_ => _.noHoverColor\r\n ? undefined\r\n : css`\r\n tr:hover {\r\n td {\r\n color: #333;\r\n background-color: #ecf5fd;\r\n }\r\n } \r\n `\r\n }\r\n\r\n ${_ => _.bottomBorder\r\n ? undefined\r\n : css`\r\n tr:last-child {\r\n td {\r\n border-bottom: none;\r\n }\r\n }\r\n `\r\n }\r\n\r\n ${_ => _.blueHeader\r\n ? css`\r\n thead {\r\n tr {\r\n th {\r\n position: sticky;\r\n top: 0;\r\n background-color: #4177bf;\r\n color: white;\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n font-weight: 500;\r\n padding-top: 12px;\r\n padding-bottom: 12px;\r\n }\r\n }\r\n } \r\n `\r\n : undefined\r\n }\r\n\r\n \r\n ${_ => _.smallHeader\r\n ? css`\r\n thead {\r\n tr {\r\n th {\r\n position: sticky;\r\n top: 0;\r\n font-size: 11px;\r\n font-weight: 500;\r\n padding-top: 12px;\r\n padding-bottom: 12px;\r\n color: #999;\r\n background-color: white;\r\n z-index: 1;\r\n }\r\n }\r\n } \r\n `\r\n : undefined\r\n }\r\n`;\r\n\r\nconst NoData = styled.div`\r\n padding: 15px 30px;\r\n font-size: 14px;\r\n color: #999;\r\n`;\r\n//#endregion\r\n\r\ninterface IAppGridTableProps {\r\n columns: IGridTableColumn[]\r\n data?: any[]\r\n loading?: boolean\r\n rowClick?: (rowData: any) => void\r\n cellPadding?: string\r\n rowError?: (rowData: any) => boolean\r\n selectedRow?: (rowData: any) => boolean\r\n noHoverColor?: boolean\r\n topBorder?: boolean\r\n bottomBorder?: boolean\r\n noColumnBorder?: boolean\r\n hideHeader?: boolean\r\n blueHeader?: boolean\r\n smallHeader?: boolean\r\n emptyMessage?: string\r\n numShimmerRows?: number\r\n rowStyle?: (rowData: any, nextRowData?: any) => CSSProperties | undefined\r\n rowClassName?: (rowData: any, nextRowData?: any) => string | undefined\r\n}\r\n\r\nexport const AppGridTable: React.FC = ({ columns, data, loading, rowClick, cellPadding, rowError, selectedRow, noHoverColor, topBorder, bottomBorder, noColumnBorder, hideHeader, blueHeader, smallHeader, emptyMessage, numShimmerRows, rowStyle, rowClassName }) => {\r\n const columnsToRender = columns.filter(_ => !_.exclude);\r\n\r\n const getRowClassNames = (rowData: any) => {\r\n let classNames: string[] = [];\r\n\r\n if (selectedRow && selectedRow(rowData)) {\r\n classNames.push(\"selected\");\r\n }\r\n\r\n if (rowError && rowError(rowData)) {\r\n classNames.push(\"error\");\r\n }\r\n\r\n if (rowClassName) {\r\n let _rowClassName = rowClassName(rowData);\r\n\r\n if (_rowClassName) {\r\n classNames.push(_rowClassName);\r\n }\r\n }\r\n\r\n return classNames.join(\" \");\r\n }\r\n\r\n if (!loading && (!data || data.length === 0)) {\r\n return (\r\n \r\n {emptyMessage ? emptyMessage : \"No data available at the moment.\"}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {!hideHeader &&\r\n \r\n \r\n {columnsToRender.map(_ => {\r\n return (\r\n \r\n {_.title ? _.title : _.key}\r\n \r\n )\r\n })}\r\n \r\n \r\n }\r\n \r\n {loading\r\n ?\r\n <>\r\n {Array.from(new Array(numShimmerRows ? numShimmerRows : 5)).map((_, rowId) => {\r\n return (\r\n \r\n {columnsToRender.map((c, cellId) => {\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 {data?.map((rowData, rowId) => {\r\n let classNames = getRowClassNames(rowData);\r\n let rStyle = { cursor: rowClick ? \"pointer\" : undefined };\r\n\r\n // Add additional incomming row style if set\r\n if (rowStyle) {\r\n rStyle = Object.assign(rStyle, rowStyle(rowData));\r\n }\r\n\r\n return (\r\n {\r\n if (rowClick) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n rowClick(rowData);\r\n }\r\n }}\r\n >\r\n {columnsToRender.map((c, cellId) => {\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};","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppModal } from \"../../../blocks/AppModal/AppModal\";\r\nimport { AppPrimaryButton } from \"../../Buttons/AppPrimaryButton\";\r\nimport { SofEvent } from \"../../../classes/SofEvent\";\r\nimport { IAdditionalEventToSave } from \"../../../hooks/useMultiCargoSofEventFunctions\";\r\nimport { IGridTableColumn } from \"../../../interfaces/IGridTableColumn\";\r\nimport { FakeCheckbox } from \"../../../blocks/FakeCheckbox/FakeCheckbox\";\r\nimport { SofEventAction } from \"../../../enums/SofEventAction\";\r\nimport { Cargo } from \"../../../classes/Cargo\";\r\nimport { useMediaQuery } from \"../../../hooks/useMediaQuery\";\r\nimport { AppGridTable } from \"../../../blocks/AppGridTable/AppGridTable\";\r\n\r\n//#region Styled Components\r\nconst StyledTable = styled.div`\r\n td {\r\n font-size: 16px;\r\n padding-top: 18px;\r\n padding-bottom: 18px;\r\n }\r\n`;\r\n\r\nconst Message = styled.span`\r\n font-size: 14px;\r\n color: #6990c4;\r\n white-space: normal;\r\n`;\r\n//#endregion\r\n\r\ninterface IEventResolverModal {\r\n isOpen: boolean\r\n currentCargo?: Cargo\r\n currentCargoEvent?: SofEvent\r\n events?: IAdditionalEventToSave[]\r\n onCommit: (events: IAdditionalEventToSave[]) => void\r\n onDismiss: () => void\r\n}\r\n\r\nexport const EventResolverModal: React.FC = ({ isOpen, currentCargo, currentCargoEvent, events, onCommit, onDismiss }) => {\r\n const [checkedIds, setCheckedIds] = useState([]);\r\n const [data, setData] = useState();\r\n const smallScreen = useMediaQuery(\"(max-width: 768px)\");\r\n\r\n const isDisabled = (_: IAdditionalEventToSave) => {\r\n return _.status === \"wrongDirection\" || _.cargo.id === currentCargo?.id;\r\n }\r\n\r\n const columns: IGridTableColumn[] = [\r\n {\r\n\r\n key: \"Cbx\",\r\n render: (_: IAdditionalEventToSave) => {\r\n let checked = _.eventToCreate && checkedIds.indexOf(_.eventToCreate!.id) >= 0 ? true : false;\r\n return (\r\n \r\n );\r\n }\r\n },\r\n {\r\n key: \"Cargo\",\r\n render: (_: IAdditionalEventToSave) => {\r\n return _.cargo.commodity;\r\n }\r\n },\r\n {\r\n key: \"Quantity\",\r\n exclude: smallScreen,\r\n render: (_: IAdditionalEventToSave) => {\r\n return
{_.cargo.quantity.toLocaleString()} {_.cargo.measurement?.name}
;\r\n }\r\n },\r\n {\r\n key: \"Message\",\r\n render: (_: IAdditionalEventToSave) => {\r\n return {_.message};\r\n }\r\n }\r\n ];\r\n\r\n const getActionText = () => {\r\n return currentCargoEvent?.action === SofEventAction.New\r\n ? \"creating\"\r\n : currentCargoEvent?.action === SofEventAction.Update\r\n ? \"updating\"\r\n : \"deleting\";\r\n }\r\n\r\n const getCommitText = () => {\r\n return currentCargoEvent?.action === SofEventAction.New\r\n ? \"Create\"\r\n : currentCargoEvent?.action === SofEventAction.Update\r\n ? \"Update\"\r\n : \"Delete\";\r\n }\r\n\r\n useEffect(() => {\r\n if (isOpen && currentCargo && currentCargoEvent && events) {\r\n // Add the current cargo and event for display in list\r\n let currentEv: IAdditionalEventToSave = {\r\n cargo: currentCargo,\r\n message: Current cargo,\r\n eventToCreate: currentCargoEvent,\r\n status: \"ok\"\r\n };\r\n\r\n let _data: IAdditionalEventToSave[] = [...events, currentEv].sort((a, b) => {\r\n return a.cargo.commodity > b.cargo.commodity ? 1 : -1;\r\n });\r\n\r\n // Set data\r\n setData(_data);\r\n\r\n // Set checked ids\r\n setCheckedIds(_data.filter(_ => {\r\n if (_.status === \"ok\" || _.status === \"resolve\" || _.cargo.id === currentCargo.id) {\r\n return _;\r\n }\r\n }).map(_ => _.eventToCreate!.id));\r\n }\r\n }, [events])\r\n\r\n if (!isOpen || !currentCargo || !currentCargoEvent || !events || events.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n {\r\n let _events = events.slice().filter(_ => _.eventToCreate && checkedIds.indexOf(_.eventToCreate.id) >= 0);\r\n onCommit(_events);\r\n }}\r\n />\r\n }\r\n dismiss={() => {\r\n onDismiss();\r\n }}\r\n >\r\n \r\n {\r\n if (!item.eventToCreate || isDisabled(item)) {\r\n return;\r\n }\r\n\r\n let isSelected = checkedIds.indexOf(item.eventToCreate!.id) >= 0;\r\n if (isSelected) {\r\n setCheckedIds([...checkedIds.filter(_ => _ !== item.eventToCreate!.id)]);\r\n }\r\n else {\r\n setCheckedIds([...checkedIds, item.eventToCreate!.id]);\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};","import { toJS } from \"mobx\";\r\nimport { Cargo } from \"../classes/Cargo\";\r\nimport { PortCall } from \"../classes/PortCall\";\r\nimport { SofEvent } from \"../classes/SofEvent\";\r\nimport { CargoDirections } from \"../enums/CargoDirections\";\r\nimport { SofEventAction } from \"../enums/SofEventAction\";\r\nimport { IFlowActivityEvent } from \"../interfaces/IFlowActivities\";\r\nimport { useDateFunctions } from \"./useDateFunctions\";\r\nimport { useSofEventFunctions } from \"./useSofEventFunctions\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport interface IAdditionalEventToSave {\r\n cargo: Cargo\r\n message?: any\r\n eventToCreate?: SofEvent\r\n status?: \"ok\" | \"resolve\" | \"wrongDirection\"\r\n}\r\n\r\nexport const useMultiCargoSofEventFunctions = () => {\r\n const { makeDateObject, toDateString } = useDateFunctions();\r\n const { createNewVersion } = useSofEventFunctions();\r\n\r\n /** Check that cargo is the same direction as the event direction */\r\n const isDirectionOk = (cargo: Cargo, template: IFlowActivityEvent) => {\r\n if (template.direction !== CargoDirections.Both) {\r\n let cargoDirection = cargo.reasonForCall === \"L\" ? CargoDirections.Load : CargoDirections.Discharge;\r\n if (cargoDirection !== template.direction) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n const handleSingleEvent = (cargo: Cargo, originalEvent: SofEvent, newEvent: SofEvent, template: IFlowActivityEvent, timeZone: string): IAdditionalEventToSave | undefined => {\r\n var additionalEvent: IAdditionalEventToSave = {\r\n cargo\r\n };\r\n\r\n // Wrong direction\r\n if (!isDirectionOk(cargo, template)) {\r\n return {\r\n ...additionalEvent,\r\n message: Event is {template.direction === CargoDirections.Load ? \"load\" : \"discharge\"} specific. Cargo {cargo.commodity} is {cargo.reasonForCall === \"L\" ? \"loading\" : \"discharging\"}. Event will not be created.,\r\n status: \"wrongDirection\"\r\n }\r\n }\r\n\r\n // Get properties\r\n let action = newEvent.action;\r\n\r\n // Determine action based on what action on the event we're making\r\n if (action === SofEventAction.New || action === SofEventAction.Update) {\r\n // New action\r\n let _ev = new SofEvent(toJS(newEvent));\r\n\r\n // console.log(\"Creating new event with id\", _ev.id);\r\n // console.log(\"Based on new event with id\", newEvent.id);\r\n\r\n _ev.id = uuidv4();\r\n\r\n // console.log(\"Setting new event, so thei do not are linked\");\r\n \r\n \r\n \r\n\r\n additionalEvent = {\r\n ...additionalEvent,\r\n eventToCreate: _ev,\r\n status: \"ok\",\r\n message: Creating event with date {toDateString(_ev.eventDate, timeZone, true)}\r\n };\r\n }\r\n else if (action === SofEventAction.Delete) {\r\n return;\r\n }\r\n\r\n return additionalEvent;\r\n }\r\n\r\n const handleExistingSingleEvent = (cargo: Cargo, originalEvent: SofEvent, newEvent: SofEvent, template: IFlowActivityEvent, existingEvent: SofEvent, timeZone: string): IAdditionalEventToSave => {\r\n var additionalEvent: IAdditionalEventToSave = {\r\n cargo\r\n };\r\n\r\n // Wrong direction\r\n if (!isDirectionOk(cargo, template)) {\r\n return {\r\n ...additionalEvent,\r\n message: Event is {template.direction === CargoDirections.Load ? \"load\" : \"discharge\"} specific. Cargo {cargo.commodity} is {cargo.reasonForCall === \"L\" ? \"loading\" : \"discharging\"}. Event will not be created.,\r\n status: \"wrongDirection\"\r\n }\r\n }\r\n\r\n // Get properties\r\n let action = newEvent.action;\r\n\r\n // Event date before change has been made, so we can look for similiar events with same event date in other cargoes\r\n let originalEventDate = originalEvent ? originalEvent.eventDate : newEvent.eventDate;\r\n\r\n // Check if existing event has same event date at the original\r\n let tsMatch = makeDateObject(originalEventDate).equals(makeDateObject(existingEvent.eventDate));\r\n\r\n // console.log(\"Existing event id\", existingEvent.id);\r\n \r\n\r\n // Determine action based on what action on the event we're making\r\n if (action === SofEventAction.New || action === SofEventAction.Update) {\r\n let _ev = createNewVersion(existingEvent, SofEventAction.Update);\r\n _ev.eventDate = newEvent.eventDate;\r\n\r\n additionalEvent = {\r\n ...additionalEvent,\r\n eventToCreate: _ev,\r\n status: tsMatch ? \"ok\" : \"resolve\",\r\n message: !tsMatch\r\n ? Event has a different timestamp. Will be updated from {toDateString(existingEvent.eventDate, timeZone, true)} to {toDateString(_ev.eventDate, timeZone, true)}\r\n : Event will be updated to {toDateString(_ev.eventDate, timeZone, true)}\r\n };\r\n }\r\n else if (action === SofEventAction.Delete) {\r\n let _ev = createNewVersion(existingEvent, SofEventAction.Delete);\r\n\r\n additionalEvent = {\r\n ...additionalEvent,\r\n eventToCreate: _ev,\r\n status: tsMatch ? \"ok\" : \"resolve\",\r\n message: !tsMatch\r\n ? Event has a different timestamp.\r\n : Event with date {toDateString(_ev.eventDate, timeZone, true)} will be deleted.\r\n };\r\n }\r\n\r\n return additionalEvent;\r\n }\r\n\r\n const handleExistingMultipleEvents = (cargo: Cargo, originalEvent: SofEvent, newEvent: SofEvent, template: IFlowActivityEvent, existingEvents: SofEvent[], timeZone: string): IAdditionalEventToSave[] => {\r\n let additionalEvents: IAdditionalEventToSave[] = [];\r\n\r\n // Get properties\r\n let action = newEvent.action;\r\n\r\n // Event date before change has been made, so we can look for similiar events with same event date in other cargoes\r\n let originalEventDate = originalEvent ? originalEvent.eventDate : newEvent.eventDate;\r\n\r\n\r\n existingEvents.forEach(existingEvent => {\r\n let _ev = handleExistingSingleEvent(cargo, originalEvent, newEvent, template, existingEvent, timeZone);\r\n let tsMatch = makeDateObject(originalEventDate).equals(makeDateObject(existingEvent.eventDate));\r\n\r\n _ev = {\r\n ..._ev,\r\n status: \"resolve\",\r\n message: action === SofEventAction.Delete\r\n ? Multiple events in cargo. Event date {toDateString(_ev.eventToCreate!.eventDate, timeZone, true)} will be deleted.\r\n : !tsMatch\r\n ? Multiple events in cargo. Will be updated from {toDateString(existingEvent.eventDate, timeZone, true)} to {toDateString(_ev.eventToCreate!.eventDate, timeZone, true)}\r\n : Multiple events in cargo. Will be updated to {toDateString(_ev.eventToCreate!.eventDate, timeZone, true)}\r\n };\r\n\r\n additionalEvents.push(_ev);\r\n });\r\n\r\n return additionalEvents;\r\n }\r\n\r\n const getEventsToCrudInOtherCargos = (pc: PortCall, cargo: Cargo, originalEvent: SofEvent, newEvent: SofEvent, template: IFlowActivityEvent, timeZone: string): IAdditionalEventToSave[] => {\r\n let additionalEvents: IAdditionalEventToSave[] = [];\r\n let otherCargoes = pc.cargos\r\n .slice()\r\n .filter(c => pc.multiCargoSelectIds.slice().indexOf(c.id) >= 0 && c.id !== cargo.id)\r\n .sort((a, b) => {\r\n return a.commodity > b.commodity ? 1 : -1;\r\n });\r\n\r\n otherCargoes.forEach(c => {\r\n\r\n// console.log(\"Creating event for\", c.commodity, c.quantity);\r\n\r\n\r\n\r\n let existingEventsInCargo = c.events.slice().filter(ev => ev.templateId === template.id);\r\n\r\n if (existingEventsInCargo.length === 0) {\r\n\r\n// console.log(\"SIngle event\");\r\n\r\n\r\n\r\n let _ev = handleSingleEvent(c, originalEvent, newEvent, template, timeZone);\r\n if (_ev) {\r\n additionalEvents.push(_ev);\r\n }\r\n }\r\n else if (existingEventsInCargo.length === 1) {\r\n // console.log(\"SIngle existing event\");\r\n\r\n additionalEvents.push(handleExistingSingleEvent(c, originalEvent, newEvent, template, existingEventsInCargo[0], timeZone));\r\n }\r\n else {\r\n // console.log(\"Multipl existin event\");\r\n\r\n let _events = handleExistingMultipleEvents(c, originalEvent, newEvent, template, existingEventsInCargo, timeZone);\r\n if (_events.length > 0) {\r\n additionalEvents = additionalEvents.concat(_events);\r\n }\r\n }\r\n });\r\n\r\n return additionalEvents;\r\n }\r\n\r\n return {\r\n getEventsToCrudInOtherCargos\r\n };\r\n}","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWarning } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Component = styled.div<{ type: \"warning\" | \"error\" }>`\r\n position: relative;\r\n border: 1px dotted #ccc;\r\n border-top: unset;\r\n padding: 10px 20px;\r\n font-size: 14px;\r\n display: flex;\r\n background-color: ${_ => _.type === \"error\" ? \"#ffd6d7\" : \"#ffffc9\"} ;\r\n\r\n div {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n >div:first-child {\r\n font-size: 16px;\r\n width: 30px;\r\n min-width: 30px;\r\n justify-content: flex-start;\r\n color: ${_ => _.type === \"error\" ? \"#ff3838\" : \"#5e5e5e\"} ;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const EventWarning: React.FC<{ type: \"warning\" | \"error\", text: string, icon?: JSX.Element }> = ({ type, text, icon }) => {\r\n return (\r\n \r\n
\r\n {icon ? icon : }\r\n
\r\n
\r\n {text}\r\n
\r\n
\r\n );\r\n};","export enum LogReportProperty {\r\n Comments = 10,\r\n Course = 20,\r\n Displacement = 30,\r\n Distance = 40,\r\n DraftAft = 50,\r\n DraftMidShip = 55,\r\n DraftForward = 60,\r\n NextPortCall = 70,\r\n EtaNextPortCall = 80,\r\n SpeedOverGround = 90,\r\n SpeedThroughWater = 100,\r\n WindDirectionTrue = 110,\r\n WindDirectionRelative = 120,\r\n Windforce = 130,\r\n Consumptions = 140,\r\n RemainingOnboard = 150,\r\n ShoreSideElectricity = 160,\r\n Position = 170,\r\n CargoOnboard = 180,\r\n DeadweightCarried = 190,\r\n FreshWaterRob = 200,\r\n OilTankRob = 210,\r\n DistanceToGo = 220,\r\n AverageSpeed = 230,\r\n WaveHeight = 240,\r\n WaveDirection = 250,\r\n DirectionOfCurrent = 260,\r\n SpeedOfCurrent = 270\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { EventWarning } from \"./EventWarning\";\r\nimport { SofEvent } from \"../../../classes/SofEvent\";\r\nimport { Cargo } from \"../../../classes/Cargo\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faScaleUnbalanced } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useSofEventFunctions } from \"../../../hooks/useSofEventFunctions\";\r\n\r\nexport const LopWarning: React.FC<{ cargo: Cargo, event: SofEvent, eventHasChanged: boolean }> = ({ cargo, event, eventHasChanged }) => {\r\n const { getAdditionalProperty } = useSofEventFunctions();\r\n const [text, setText] = useState();\r\n const [qtyProcessed, setQtyProcessed] = useState();\r\n const [shipsFigures, setShipsFigures] = useState();\r\n\r\n const calculateDiff = () => {\r\n if (!qtyProcessed || !shipsFigures) {\r\n setText(undefined);\r\n return;\r\n }\r\n\r\n let qtyDiff = qtyProcessed - shipsFigures;\r\n let allowedDiff = qtyProcessed * 0.0002;\r\n\r\n if (qtyDiff < 0) {\r\n qtyDiff = Math.abs(qtyDiff);\r\n }\r\n\r\n if (qtyDiff > allowedDiff) {\r\n let percentDiff = (qtyDiff / qtyProcessed) * 100;\r\n setText(`LOP difference: ${qtyDiff.toFixed(3)} ${cargo.measurement?.name} (${percentDiff.toFixed(2)}%)`);\r\n\r\n return;\r\n }\r\n\r\n setText(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n setQtyProcessed(cargo.quantityProcessed);\r\n setShipsFigures(cargo.shipsFigures);\r\n }, [cargo.quantityProcessed, cargo.shipsFigures])\r\n\r\n useEffect(() => {\r\n if (eventHasChanged) {\r\n let _qtyProcessed = getAdditionalProperty(event.data, \"QuantityProcessed\");\r\n\r\n if (_qtyProcessed && !isNaN(_qtyProcessed)) {\r\n setQtyProcessed(Number(_qtyProcessed));\r\n }\r\n }\r\n }, [getAdditionalProperty(event.data, \"QuantityProcessed\")])\r\n\r\n useEffect(() => {\r\n if (eventHasChanged) {\r\n let _shipsFigures = getAdditionalProperty(event.data, \"ShipsFigures\");\r\n\r\n if (_shipsFigures && !isNaN(_shipsFigures)) {\r\n setShipsFigures(_shipsFigures);\r\n }\r\n }\r\n }, [getAdditionalProperty(event.data, \"ShipsFigures\")])\r\n\r\n useEffect(() => {\r\n calculateDiff();\r\n }, [qtyProcessed, shipsFigures]);\r\n\r\n if (!text) {\r\n return null;\r\n }\r\n\r\n return (\r\n }\r\n />\r\n );\r\n};","interface IBeauFortScale {\r\n id: number\r\n description: string\r\n}\r\n\r\nexport const BeaufortScales: IBeauFortScale[] = [\r\n { id: 0, description: \"0. Calm\" },\r\n { id: 1, description: \"1. Light Air\" },\r\n { id: 2, description: \"2. Light Breeze\" },\r\n { id: 3, description: \"3. Gentle Breeze\" },\r\n { id: 4, description: \"4. Moderate Breeze\" },\r\n { id: 5, description: \"5. Fresh Breeze\" },\r\n { id: 6, description: \"6. Strong Breeze\" },\r\n { id: 7, description: \"7. Near Gale\" },\r\n { id: 8, description: \"8. Gale\" },\r\n { id: 9, description: \"9. Severe Gale\" },\r\n { id: 10, description: \"10. Storm\" },\r\n { id: 11, description: \"11. Violent Storm\" },\r\n { id: 12, description: \"12. Hurricane\" },\r\n { id: -1, description: \"n/a\" }\r\n];","import { BeaufortScales } from \"../data/BeaufortScales\"\r\nimport { LogReportProperty } from \"../enums/LogReportProperty\"\r\nimport { LogReportType } from \"../enums/LogReportTypes\"\r\nimport { appHelper } from \"../helpers/appHelper\"\r\nimport { IKeyValue } from \"./IKeyValue\"\r\nimport { ILogReport } from \"./ILogReport\"\r\nimport { IPortCall } from \"./IPortCall\"\r\n\r\nexport enum WidgetType {\r\n AppTextField,\r\n AppNumericField,\r\n DateTimePicker,\r\n AppDropdown,\r\n Position\r\n}\r\n\r\nexport interface LogReportPropertyDefinition {\r\n id?: number\r\n logReportType?: LogReportType\r\n logReportProperty: LogReportProperty\r\n widget: WidgetType\r\n title?: string\r\n header: string\r\n placeholder?: string\r\n suffix?: string\r\n reportFieldName: string\r\n description?: string\r\n type: \"number\" | \"string\" | \"object\" | \"date\"\r\n decimalPlaces?: number\r\n displayValue?: (value?: any) => string\r\n timeZone?: (report: ILogReport) => string\r\n displaySuffix?: (val: number | undefined) => string | undefined\r\n onChangeValue?: (value: IKeyValue | undefined) => any\r\n}\r\n\r\nexport const LogReportPropertyDefinitions: LogReportPropertyDefinition[] = [\r\n {\r\n logReportProperty: LogReportProperty.Comments,\r\n widget: WidgetType.AppTextField,\r\n header: \"Comments\",\r\n reportFieldName: \"comments\",\r\n type: \"string\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.Displacement,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Displacement\",\r\n reportFieldName: \"displacement\",\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.NextPortCall,\r\n widget: WidgetType.AppDropdown,\r\n header: \"Next port\",\r\n placeholder: \"Select next port\",\r\n reportFieldName: \"nextPortCall\",\r\n displayValue: (nextPortCall?: IPortCall) => {\r\n return nextPortCall?.port ? nextPortCall.port.name : \"\";\r\n },\r\n onChangeValue: (_: IKeyValue | undefined) => {\r\n return _ ? { id: _?.id, port: _?.valueObject.port } : undefined;\r\n },\r\n type: \"object\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.EtaNextPortCall,\r\n widget: WidgetType.DateTimePicker,\r\n header: \"ETA next port\",\r\n reportFieldName: \"etaNextPortCall\",\r\n timeZone: (report: ILogReport) => {\r\n return report.nextPortCall?.port?.timeZone ?? 'UTC'\r\n },\r\n type: \"date\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.Course,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Course\",\r\n reportFieldName: \"course\",\r\n displaySuffix: (val: number | undefined) => { return val ? `°${appHelper.getNavigationName(val)}` : undefined },\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.Distance,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Distance sailed since previous report\",\r\n reportFieldName: \"distance\",\r\n suffix: \"NM\",\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DraftAft,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Draft aft\",\r\n reportFieldName: \"draftAft\",\r\n suffix: \"M\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DraftMidShip,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Draft mid ship\",\r\n reportFieldName: \"draftMidShip\",\r\n suffix: \"M\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DraftForward,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Draft forward\",\r\n reportFieldName: \"draftForward\",\r\n suffix: \"M\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.WindDirectionRelative,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Wind direction (relative)\",\r\n reportFieldName: \"windDirectionRelative\",\r\n displaySuffix: (val: number | undefined) => { return val ? `°${appHelper.getNavigationName(val)}` : undefined },\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.WindDirectionTrue,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Wind direction (true)\",\r\n reportFieldName: \"windDirectionTrue\",\r\n displaySuffix: (val: number | undefined) => { return val ? `°${appHelper.getNavigationName(val)}` : undefined },\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.SpeedOverGround,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Speed over ground\",\r\n reportFieldName: \"speedSog\",\r\n suffix: \"KN\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.SpeedThroughWater,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Speed through water\",\r\n reportFieldName: \"speedStw\",\r\n suffix: \"KN\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.Windforce,\r\n widget: WidgetType.AppDropdown,\r\n header: \"Wind force\",\r\n placeholder: \"Select wind force\",\r\n reportFieldName: \"windForce\",\r\n displayValue: (value?: number) => {\r\n return BeaufortScales.find(_ => _.id === value)?.description ?? ''\r\n },\r\n onChangeValue: (value: IKeyValue | undefined) => {\r\n return value ? value.id : undefined\r\n },\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DeadweightCarried,\r\n widget: WidgetType.AppNumericField,\r\n header: \"DWT carried\",\r\n reportFieldName: \"deadweightCarried\",\r\n suffix: \"MT\",\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.CargoOnboard,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Cargo onboard\",\r\n reportFieldName: \"cargoOnboard\",\r\n suffix: \"MT\",\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.FreshWaterRob,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Fresh water onboard\",\r\n reportFieldName: \"freshWaterRob\",\r\n suffix: \"MT\",\r\n type: \"number\"\r\n },\r\n\r\n\r\n {\r\n logReportProperty: LogReportProperty.WaveHeight,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Wave height\",\r\n reportFieldName: \"waveHeight\",\r\n suffix: \"M\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.WaveDirection,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Wave direction\",\r\n reportFieldName: \"waveDirection\",\r\n displaySuffix: (val: number | undefined) => { return val ? `°${appHelper.getNavigationName(val)}` : undefined },\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.SpeedOfCurrent,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Speed of current\",\r\n reportFieldName: \"speedOfCurrent\",\r\n suffix: \"KN\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DirectionOfCurrent,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Direction of current\",\r\n reportFieldName: \"directionOfCurrent\",\r\n displaySuffix: (val: number | undefined) => { return val ? `°${appHelper.getNavigationName(val)}` : undefined },\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.AverageSpeed,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Average speed since previous report\",\r\n reportFieldName: \"averageSpeed\",\r\n suffix: \"KN\",\r\n type: \"number\",\r\n decimalPlaces: 2\r\n },\r\n {\r\n logReportProperty: LogReportProperty.DistanceToGo,\r\n widget: WidgetType.AppNumericField,\r\n header: \"Distance to go\",\r\n reportFieldName: \"distanceToGo\",\r\n suffix: \"NM\",\r\n type: \"number\"\r\n },\r\n {\r\n logReportProperty: LogReportProperty.Position,\r\n widget: WidgetType.Position,\r\n header: \"Position\",\r\n reportFieldName: \"position\",\r\n type: \"number\"\r\n }\r\n];","import { DateTime } from \"luxon\";\r\nimport { IDms } from \"../interfaces/IDms\";\r\nimport { IDmm } from \"../interfaces/IDmm\";\r\n\r\nexport const appHelper = {\r\n appDate(d: Date): DateTime {\r\n return DateTime.fromJSDate(new Date(d));\r\n },\r\n\r\n getNavigationName(course: number | undefined): string | undefined {\r\n if (course === undefined || course < 0 || course > 360) {\r\n return \"Not valid\";\r\n }\r\n\r\n // North East\r\n if (course >= 22.5 && course < 67.5) {\r\n return \"NE\";\r\n }\r\n\r\n // East\r\n if (course >= 67.5 && course < 112.5) {\r\n return \"E\";\r\n }\r\n\r\n // South East\r\n if (course >= 112.5 && course < 157.5) {\r\n return \"SE\";\r\n }\r\n\r\n // South\r\n if (course >= 157.5 && course < 202.5) {\r\n return \"S\";\r\n }\r\n\r\n // South West\r\n if (course >= 202.5 && course < 247.5) {\r\n return \"SW\";\r\n }\r\n\r\n // West\r\n if (course >= 247.5 && course < 292.5) {\r\n return \"W\";\r\n }\r\n\r\n // North West\r\n if (course >= 292.5 && course < 337.5) {\r\n return \"NW\";\r\n }\r\n\r\n // North West\r\n return \"N\";\r\n },\r\n\r\n getPosition(options?: PositionOptions): Promise {\r\n return new Promise((resolve, reject) => {\r\n navigator.geolocation.getCurrentPosition(resolve, reject, options)\r\n });\r\n },\r\n\r\n getPositionWithFakeDelay(options?: PositionOptions): Promise {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(function () {\r\n navigator.geolocation.getCurrentPosition(resolve, reject, options)\r\n }, 2000);\r\n });\r\n },\r\n\r\n convertDMSToDEG(degrees: number, minutes: number, seconds: number, direction: string): number | undefined {\r\n var deg = (Number(degrees) + Number(minutes) / 60 + Number(seconds) / 3600);\r\n\r\n if (direction.toUpperCase() === \"N\" || direction.toUpperCase() === \"E\") {\r\n return deg;\r\n }\r\n else if (direction.toUpperCase() === \"S\" || direction.toUpperCase() === \"W\") {\r\n deg = deg * -1;\r\n return deg;\r\n }\r\n },\r\n\r\n convertDMMToDEG(degrees: number, minutes: number, direction: string): number | undefined {\r\n // Convert minutes to decimal degrees\r\n const decimalDegrees = degrees + minutes / 60;\r\n \r\n // Adjust sign based on direction\r\n if (direction === \"S\" || direction === \"W\") {\r\n return -decimalDegrees;\r\n }\r\n \r\n return decimalDegrees;\r\n },\r\n\r\n convertDEGToDMSString(lat: boolean, deg?: number,): string {\r\n if (!deg) {\r\n return \"n/a\";\r\n }\r\n\r\n var absolute = Math.abs(deg);\r\n var degrees = Math.floor(absolute);\r\n var minutesNotTruncated = (absolute - degrees) * 60;\r\n var minutes = Math.floor(minutesNotTruncated);\r\n var seconds = ((minutesNotTruncated - minutes) * 60).toFixed(2);\r\n\r\n if (lat) {\r\n var direction = deg >= 0 ? \"N\" : \"S\";\r\n } else {\r\n var direction = deg >= 0 ? \"E\" : \"W\";\r\n }\r\n\r\n return degrees + \"° \" + minutes + \"' \" + seconds + \"\\\" \" + direction;\r\n },\r\n\r\n convertDEGToDMS(deg: number, lat: boolean): IDms {\r\n var absolute = Math.abs(deg);\r\n\r\n var degrees = Math.floor(absolute);\r\n var minutesNotTruncated = (absolute - degrees) * 60;\r\n var minutes = Math.floor(minutesNotTruncated);\r\n var seconds = ((minutesNotTruncated - minutes) * 60);\r\n\r\n if (lat) {\r\n var direction = deg >= 0 ? \"N\" : \"S\";\r\n }\r\n else {\r\n var direction = deg >= 0 ? \"E\" : \"W\";\r\n }\r\n\r\n return {\r\n degrees,\r\n minutes,\r\n seconds,\r\n direction\r\n }\r\n },\r\n\r\n convertDEGToDMM(deg: number, lat: boolean): IDmm {\r\n const degrees = Math.floor(Math.abs(deg)); // Get the integer degrees\r\n const minutes = (Math.abs(deg) - degrees) * 60; // Calculate the minutes\r\n\r\n if (lat) {\r\n var direction = deg >= 0 ? \"N\" : \"S\";\r\n }\r\n else {\r\n var direction = deg >= 0 ? \"E\" : \"W\";\r\n }\r\n\r\n return {\r\n degrees,\r\n minutes,\r\n direction\r\n }\r\n }\r\n}","import { useDateFunctions } from \"./useDateFunctions\";\r\nimport { ILogReport } from \"../interfaces/ILogReport\";\r\nimport { IVessel } from \"../interfaces/IVessel\";\r\nimport { ITank } from \"../interfaces/ITank\";\r\nimport { LogReportType } from \"../enums/LogReportTypes\";\r\nimport { LogReportProperty } from \"../enums/LogReportProperty\";\r\nimport { LogReportPropertyDefinitions } from \"../interfaces/ILogReportReportPropertyDefinition\";\r\nimport { ILogReportPropToCheck } from \"../interfaces/ILogReportPropToCheck\";\r\nimport { ILogReportField } from \"../interfaces/ILogReportField\";\r\nimport { useNumberFunctions } from \"./useNumberFunctions\";\r\n\r\nexport const useLogReportFunctions = () => {\r\n const { makeDateObject } = useDateFunctions();\r\n const { hasValue } = useNumberFunctions();\r\n\r\n const isTankAvailable = (vesselTank: ITank, reportDate: Date) => {\r\n if (reportDate && vesselTank.initialTankStateDate && makeDateObject(vesselTank.initialTankStateDate) <= makeDateObject(reportDate)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const verifyTanks = (vessel: IVessel, report: ILogReport) => {\r\n\r\n if (report.type !== LogReportType[\"Tank Initiation\"]) {\r\n report.tankRobs?.forEach(tr => {\r\n if (tr.tank) {\r\n let vTank = vessel?.tanks.find(_ => _.id === tr.tank?.id);\r\n if (vTank) {\r\n if (vTank.initialTankStateDate && makeDateObject(vTank.initialTankStateDate) > makeDateObject(report.dateAndTime)) {\r\n tr.tank = undefined;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n report.tankConsumptions?.forEach(tc => {\r\n if (tc.tank) {\r\n let vTank = vessel?.tanks.find(_ => _.id === tc.tank?.id);\r\n if (vTank) {\r\n if (vTank.initialTankStateDate && makeDateObject(vTank.initialTankStateDate) > makeDateObject(report.dateAndTime)) {\r\n tc.tank = undefined;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n const okToSave = (r: ILogReport, vessel?: IVessel): { ok: boolean, message?: string } => {\r\n if (r.tankConsumptions) {\r\n for (let _ of r.tankConsumptions) {\r\n if (!_.tank || !_.engine || _.consumed === undefined || _.consumed === null || _.consumed < 0) {\r\n return {\r\n message: \"Tank, engine and consumed >= 0 are required for all consumption entries.\",\r\n ok: false\r\n }\r\n }\r\n\r\n let duplicate = r.tankConsumptions.filter(tc => tc.tank?.id === _.tank?.id && tc.engine?.id === _.engine?.id);\r\n if (duplicate.length > 1) {\r\n return {\r\n message: `Only one combination of ${duplicate[0].tank?.name} and ${duplicate[0].engine?.name} can be registered in for consumption entries.`,\r\n ok: false\r\n }\r\n }\r\n\r\n // Check if tank has been initiated\r\n let vesselTank = vessel?.tanks.find(t => t.id === _.tank?.id);\r\n if (vesselTank) {\r\n if (!vesselTank.initialTankStateDate) {\r\n return {\r\n message: `Tank \"${_.tank.name}\" must be initiated before use.`,\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (r.tankRobs) {\r\n for (let _ of r.tankRobs) {\r\n if (!_.tank || _.totalRob === undefined || _.totalRob === null || _.totalRob < 0) {\r\n return {\r\n message: \"Tank and quantity >= 0 are required for all ROB entries.\",\r\n ok: false\r\n }\r\n }\r\n\r\n let duplicate = r.tankRobs.filter(tc => tc.tank?.id === _.tank?.id);\r\n if (duplicate.length > 1) {\r\n return {\r\n message: `Only one entry for ${duplicate[0].tank?.name} can be registered.`,\r\n ok: false\r\n }\r\n }\r\n\r\n // Check if tank has been initiated\r\n let vesselTank = vessel?.tanks.find(t => t.id === _.tank?.id);\r\n if (vesselTank) {\r\n if (!vesselTank.initialTankStateDate) {\r\n return {\r\n message: `Tank \"${_.tank.name}\" must be initiated before use.`,\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (r.consumptions) {\r\n for (let _ of r.consumptions) {\r\n if (!_.fuel || !_.consumed || !_.engine) {\r\n return {\r\n message: \"Fuel, engine and consumed are required for all consumption entries.\",\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (r.robs) {\r\n for (let _ of r.robs) {\r\n if (!_.fuel || !_.tank || !_.qty) {\r\n return {\r\n message: \"Fuel, tank and quantity are required for all ROB entries.\",\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (r.electricities) {\r\n for (let _ of r.electricities) {\r\n if (!_.start || !_.end || !_.receivedKwh) {\r\n return {\r\n message: \"Start, end and received required for all ROB electricities entries.\",\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (r.oilTankRobs) {\r\n for (let _ of r.oilTankRobs) {\r\n if (!_.tank || _.rob === undefined || _.rob === null || _.rob < 0) {\r\n return {\r\n message: \"Tank and rob >= 0 is required for all oil ROB entries.\",\r\n ok: false\r\n }\r\n }\r\n }\r\n }\r\n\r\n return {\r\n ok: true\r\n };\r\n }\r\n\r\n const requiredFieldsOk = (r: ILogReport, propsToCheck?: ILogReportPropToCheck[]): { ok: boolean, messages: string[] } => {\r\n let messages: string[] = [];\r\n\r\n let specialCheck: LogReportProperty[] = [\r\n LogReportProperty.Consumptions,\r\n LogReportProperty.RemainingOnboard,\r\n LogReportProperty.ShoreSideElectricity,\r\n LogReportProperty.Position,\r\n LogReportProperty.OilTankRob\r\n ];\r\n\r\n if (propsToCheck) {\r\n for (let p of propsToCheck) {\r\n if (p.required) {\r\n\r\n // Special handling\r\n if (specialCheck.some(_ => _ === p.property)) {\r\n\r\n if (p.property === LogReportProperty.Position) {\r\n if (r.lat === undefined || r.lat === null || r.lng === undefined || r.lng === null) {\r\n messages.push(\"Position is required.\");\r\n }\r\n }\r\n\r\n if (p.property === LogReportProperty.Consumptions) {\r\n if ((!r.tankConsumptions || r.tankConsumptions.length === 0) && (!r.consumptions || r.consumptions?.length === 0)) {\r\n messages.push(\"At least one consumption entry is required.\");\r\n }\r\n }\r\n\r\n if (p.property === LogReportProperty.RemainingOnboard) {\r\n if ((!r.tankRobs || r.tankRobs.length === 0) && (!r.robs || r.robs?.length === 0)) {\r\n messages.push(\"At least one rob entry is required.\");\r\n }\r\n }\r\n\r\n if (p.property === LogReportProperty.ShoreSideElectricity) {\r\n if (!r.electricities || r.electricities.length === 0) {\r\n messages.push(\"At least one electricity entry is required.\");\r\n }\r\n }\r\n\r\n if (p.property === LogReportProperty.OilTankRob) {\r\n if (!r.oilTankRobs || r.oilTankRobs.length === 0) {\r\n messages.push(\"At least one oil tank rob entry is required.\");\r\n }\r\n }\r\n }\r\n else {\r\n let def = LogReportPropertyDefinitions.find(_ => _.logReportProperty === p.property);\r\n\r\n if (def) {\r\n let val = (r as any)[def.reportFieldName];\r\n\r\n if (def.type === \"number\") {\r\n if (val === undefined || val === null || isNaN(val)) {\r\n messages.push(`${def.header} is required.`);\r\n }\r\n }\r\n else if (def.type === \"string\") {\r\n if (val === undefined || val === null || val.trim().length === 0) {\r\n messages.push(`${def.header} is required.`);\r\n }\r\n }\r\n else if (def.type === \"date\" || def.type === \"object\") {\r\n if (val === undefined || val === null) {\r\n messages.push(`${def.header} is required.`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return {\r\n ok: messages.length === 0,\r\n messages\r\n };\r\n }\r\n\r\n const showFields = (properties: LogReportProperty[], logReportFields: ILogReportField[]) => {\r\n return logReportFields.length === 0 || logReportFields.some(_ => properties.find(p => p === _.logReportProperty));\r\n }\r\n\r\n const showField = (property: LogReportProperty, logReportFields: ILogReportField[]) => {\r\n return logReportFields.length === 0 || logReportFields.some(_ => _.logReportProperty === property);\r\n }\r\n\r\n const fieldIsRequired = (property: LogReportProperty, logReportFields: ILogReportField[]) => {\r\n return showField(property, logReportFields) && logReportFields.some(_ => _.logReportProperty === property && _.required);\r\n }\r\n\r\n const autoPopulateFields = (logReport: ILogReport, autoLogReport: ILogReport, overwriteData: boolean, logReportProperties?: ILogReportField[], tankBased?: boolean, useConsumption?: boolean): { report: ILogReport, fieldsUpdated: number } => {\r\n let r: ILogReport = { ...logReport };\r\n let fieldsUpdated = 0;\r\n\r\n if (!logReportProperties) {\r\n console.log(\"Unable to auto populate data. Log report properties is undefined.\");\r\n return {\r\n report: r,\r\n fieldsUpdated\r\n };\r\n }\r\n\r\n logReportProperties?.filter(_ => _.autoPopulate).forEach(p => {\r\n if (p.logReportProperty === LogReportProperty.Distance) {\r\n if (overwriteData || !hasValue(r.distance)) {\r\n fieldsUpdated++;\r\n r.distance = autoLogReport.distance;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.Position) {\r\n if (overwriteData || !hasValue(r.lat)) {\r\n fieldsUpdated++;\r\n r.lat = autoLogReport.lat;\r\n r.lng = autoLogReport.lng;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.DraftForward) {\r\n if (overwriteData || !hasValue(r.draftForward)) {\r\n fieldsUpdated++;\r\n r.draftForward = autoLogReport.draftForward;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.DraftMidShip) {\r\n if (overwriteData || !hasValue(r.draftMidShip)) {\r\n fieldsUpdated++;\r\n r.draftMidShip = autoLogReport.draftMidShip;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.DraftAft) {\r\n if (overwriteData || !hasValue(r.draftAft)) {\r\n fieldsUpdated++;\r\n r.draftAft = autoLogReport.draftAft;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.SpeedOverGround) {\r\n if (overwriteData || !hasValue(r.speedSog)) {\r\n fieldsUpdated++;\r\n r.speedSog = autoLogReport.speedSog;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.AverageSpeed) {\r\n if (overwriteData || !hasValue(r.averageSpeed)) {\r\n fieldsUpdated++;\r\n r.averageSpeed = autoLogReport.averageSpeed;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.Course) {\r\n if (overwriteData || !hasValue(r.course)) {\r\n fieldsUpdated++;\r\n r.course = autoLogReport.course;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.CargoOnboard) {\r\n if (overwriteData || !hasValue(r.cargoOnboard)) {\r\n fieldsUpdated++;\r\n r.cargoOnboard = autoLogReport.cargoOnboard;\r\n }\r\n }\r\n else if (p.logReportProperty === LogReportProperty.NextPortCall) {\r\n if (overwriteData || !r.nextPortCall) {\r\n fieldsUpdated++;\r\n r.nextPortCall = autoLogReport.nextPortCall\r\n ? {\r\n id: autoLogReport.nextPortCall?.id,\r\n port: autoLogReport.nextPortCall.port\r\n }\r\n : undefined;\r\n }\r\n }\r\n\r\n // Tank consumption entries\r\n else if (p.logReportProperty === LogReportProperty.Consumptions && tankBased && useConsumption) {\r\n if (overwriteData || !r.tankConsumptions || r.tankConsumptions.length === 0) {\r\n fieldsUpdated++;\r\n r.tankConsumptions = autoLogReport.tankConsumptions;\r\n }\r\n }\r\n\r\n // Tank rob entries\r\n else if (p.logReportProperty === LogReportProperty.RemainingOnboard && tankBased) {\r\n if (overwriteData || !r.tankRobs || r.tankRobs.length === 0) {\r\n fieldsUpdated++;\r\n r.tankRobs = autoLogReport.tankRobs;\r\n }\r\n }\r\n\r\n // Tank oil rob entries\r\n else if (p.logReportProperty === LogReportProperty.OilTankRob) {\r\n if (overwriteData || !r.oilTankRobs || r.oilTankRobs.length === 0) {\r\n fieldsUpdated++;\r\n r.oilTankRobs = autoLogReport.oilTankRobs;\r\n }\r\n }\r\n\r\n // Shore electricity\r\n else if (p.logReportProperty === LogReportProperty.ShoreSideElectricity) {\r\n if (overwriteData || !r.electricities || r.electricities.length === 0) {\r\n fieldsUpdated++;\r\n r.electricities = autoLogReport.electricities;\r\n }\r\n }\r\n });\r\n\r\n return { report: r, fieldsUpdated };\r\n }\r\n\r\n return { autoPopulateFields, fieldIsRequired, isTankAvailable, okToSave, requiredFieldsOk, showField, showFields, verifyTanks };\r\n};","import { ITank } from \"../interfaces/ITank\";\r\nimport { IVesselSettings } from \"../interfaces/IVesselSettings\";\r\nimport { useDateFunctions } from \"./useDateFunctions\";\r\nimport { useAppProvider } from \"../contextHooks/AppContext\";\r\n\r\nexport const useVesselFunctions = () => {\r\n const { makeDateObject } = useDateFunctions();\r\n const { vessel } = useAppProvider();\r\n\r\n // Used for handling transfer from liters to metric tons for Hagland\r\n const getReportMeasurement = (customerId?: string, date?: Date, settings?: IVesselSettings): string => {\r\n\r\n if (!customerId || !settings || !date) {\r\n return \"?\";\r\n }\r\n\r\n // If cutoff date not set or date is less than cutoff date, reutrn liters. Otherwise return metric tons\r\n if (customerId.toLowerCase() === 'e8855d22-1f79-4bb7-a6de-859d5d7157ec') {\r\n if (!settings.voyageReportTypeCutoffDate || makeDateObject(date) < makeDateObject(settings.voyageReportTypeCutoffDate)) {\r\n return \"L\";\r\n }\r\n }\r\n\r\n return \"MT\";\r\n }\r\n\r\n /**\r\n * Wether tank fuel reporting can be used based on tank initiated date\r\n */\r\n const tankInitiated = (t?: ITank, d?: Date) => {\r\n if (d && t?.initialTankStateDate && makeDateObject(t.initialTankStateDate) <= makeDateObject(d)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Returns date when first tank was initiated */\r\n const tanksInitiationDate = (): Date | undefined => {\r\n let initiatedTanks = vessel?.tanks.filter(_ => _.initialTankStateDate).sort((a, b) => {\r\n return makeDateObject(a.initialTankStateDate!) > makeDateObject(b.initialTankStateDate!) ? 1 : -1;\r\n });\r\n\r\n if (initiatedTanks && initiatedTanks.length > 0) {\r\n return initiatedTanks[0].initialTankStateDate;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns true if date is after the first tank was initiated. If no date is sent in, current date is used */\r\n const tanksInitiated = (date?: Date) => {\r\n let _tanksInitiationDate = tanksInitiationDate();\r\n\r\n if(_tanksInitiationDate) {\r\n let _date = date ? date : new Date();\r\n return makeDateObject(_date) >= makeDateObject(_tanksInitiationDate);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return { getReportMeasurement, tankInitiated, tanksInitiated, tanksInitiationDate };\r\n};","import React, { createContext, Dispatch, useContext, useReducer } from 'react';\r\nimport { ILogReport } from '../interfaces/ILogReport';\r\nimport { useVesselFunctions } from '../hooks/useVesselFunctions';\r\nimport { useAppProvider } from './AppContext';\r\nimport { IFlowActivityEvent } from '../interfaces/IFlowActivities';\r\n\r\ntype ReducerAction =\r\n | { type: \"setReport\", report?: ILogReport }\r\n | { type: \"setPreviousReport\", report?: ILogReport }\r\n | { type: \"setEventTemplate\", eventTemplate?: IFlowActivityEvent }\r\n | { type: \"setTouched\", touched: boolean };\r\n\r\ntype Data = {\r\n report?: ILogReport\r\n previousReport?: ILogReport\r\n eventTemplate?: IFlowActivityEvent\r\n touched?: boolean\r\n}\r\n\r\ninterface IReducers {\r\n state: Data,\r\n dispatch: Dispatch,\r\n}\r\n\r\nconst initialState: any = {};\r\n\r\nconst Context = createContext(initialState);\r\n\r\nconst useLogReportContext = (): IReducers => useContext(Context);\r\n\r\nconst reducer = (state: Data, action: ReducerAction): Data => {\r\n switch (action.type) {\r\n case \"setReport\":\r\n return {\r\n ...state,\r\n report: action.report\r\n };\r\n case \"setPreviousReport\":\r\n return {\r\n ...state,\r\n previousReport: action.report\r\n };\r\n case \"setEventTemplate\":\r\n return {\r\n ...state,\r\n eventTemplate: action.eventTemplate\r\n };\r\n case \"setTouched\":\r\n return {\r\n ...state,\r\n touched: action.touched\r\n };\r\n }\r\n}\r\n\r\nexport const LogReportContextProvider: React.FC = ({ children }) => {\r\n const [state, dispatch] = useReducer(reducer, initialState);\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport const useLogReportProvider = () => {\r\n const { state, dispatch } = useLogReportContext();\r\n const { tanksInitiated, tanksInitiationDate } = useVesselFunctions();\r\n const { isTankBasedRegistrationRequired } = useAppProvider();\r\n\r\n return {\r\n touched: state.touched,\r\n report: state.report,\r\n previousReport: state.previousReport,\r\n eventTemplate: state.eventTemplate,\r\n tankBased: tanksInitiated(state.report?.dateAndTime),\r\n tanksInitiationDate: tanksInitiationDate(),\r\n tankBasedRegistrationRequired: isTankBasedRegistrationRequired(state.report?.dateAndTime),\r\n\r\n showTankBasedConsumption: tanksInitiated(state.report?.dateAndTime) || isTankBasedRegistrationRequired(state.report?.dateAndTime) || (state.report?.tankConsumptions && state.report.tankConsumptions.length > 0),\r\n showTankBasedRob: tanksInitiated(state.report?.dateAndTime) || isTankBasedRegistrationRequired(state.report?.dateAndTime) || (state.report?.tankRobs && state.report.tankRobs.length > 0),\r\n showFuelBasedConsumption: (!tanksInitiated(state.report?.dateAndTime) && !isTankBasedRegistrationRequired(state.report?.dateAndTime)) || (state.report?.consumptions && state.report.consumptions.length > 0),\r\n showFuelBasedRob: (!tanksInitiated(state.report?.dateAndTime) && !isTankBasedRegistrationRequired(state.report?.dateAndTime)) || (state.report?.robs && state.report.robs.length > 0),\r\n\r\n setReport: (report?: ILogReport) => {\r\n dispatch({\r\n type: \"setReport\",\r\n report\r\n })\r\n },\r\n\r\n setPreviousReport: (report?: ILogReport) => {\r\n dispatch({\r\n type: \"setPreviousReport\",\r\n report\r\n })\r\n },\r\n\r\n setEventTemplate: (eventTemplate?: IFlowActivityEvent) => {\r\n dispatch({\r\n type: \"setEventTemplate\",\r\n eventTemplate\r\n })\r\n },\r\n\r\n setTouched: (touched: boolean) => {\r\n dispatch({\r\n type: \"setTouched\",\r\n touched\r\n })\r\n }\r\n };\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { ITextFieldProps, TextField } from \"@fluentui/react\";\r\n\r\n//#region Styled components\r\nconst Container = styled.div`\r\n >div {\r\n >div {\r\n >div {\r\n height: unset;\r\n\r\n input {\r\n padding: 12px 16px 12px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n font-family: 'Titillium Web', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n color: #333;\r\n \r\n ::placeholder {\r\n color: #aaa;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n i {\r\n color: #666;\r\n font-size: 22px;\r\n bottom: 12px;\r\n }\r\n\r\n button {\r\n height: 45px;\r\n width: 45px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /* Hide spinner */\r\n /* Chrome, Safari, Edge, Opera */\r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n /* Firefox */\r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n appearance: textfield;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IAppNumericFieldProps extends ITextFieldProps {\r\n wholeNumbersOnly?: boolean\r\n decimalPlaces?: number\r\n}\r\n\r\nexport const AppNumericField: React.FC = (props) => {\r\n const [localValue, setLocalValue] = useState();\r\n const [error, setError] = useState();\r\n const [hasFocus, setHasFocus] = useState(false);\r\n\r\n const validate = (newValue: string | undefined) => {\r\n if (!newValue) {\r\n setError(undefined);\r\n return;\r\n }\r\n\r\n let numericValue = parseFloat(newValue.replace(\",\", \".\"));\r\n\r\n if (isNaN(numericValue)) {\r\n setError(`\"${newValue}\" is not a valid number`);\r\n return;\r\n }\r\n\r\n setError(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n if (!hasFocus) {\r\n setLocalValue(props.value && props.value !== null\r\n ? props.wholeNumbersOnly\r\n ? Number(props.value).toString()\r\n : Number(props.value).toFixed(props.decimalPlaces ? props.decimalPlaces : 3)\r\n : \"\");\r\n }\r\n }, [props.value]);\r\n\r\n return (\r\n \r\n setHasFocus(true)}\r\n onBlur={() => setHasFocus(false)}\r\n style={{\r\n ...props.style,\r\n backgroundColor: error ? \"#ffa3a3\" : props.style?.backgroundColor,\r\n color: error ? \"white\" : props.style?.color\r\n }}\r\n onWheel={ev => {\r\n // Prevent number to change when scrolling the mouse wheel\r\n ev.currentTarget.blur();\r\n }}\r\n onKeyDown={ev => {\r\n if (props.wholeNumbersOnly && (ev.key === \",\" || ev.key === \".\")) {\r\n ev.preventDefault();\r\n return;\r\n }\r\n\r\n let skipKeys = [\"Home\", \"End\", \"Delete\", \"Backspace\", \"ArrowLeft\", \"ArrowUp\", \"ArrowRight\", \"ArrowDown\"];\r\n\r\n if (ev.ctrlKey && ev.key === \"a\") {\r\n // Always allow Ctrl + a\r\n }\r\n else if (skipKeys.indexOf(ev.key) < 0) {\r\n let maxLength = (props.maxLength && props.maxLength <= 11) ? props.maxLength : 11;\r\n if (localValue && localValue.length > maxLength) {\r\n ev.preventDefault();\r\n }\r\n }\r\n }}\r\n onChange={(ev, newValue) => {\r\n setLocalValue(newValue);\r\n validate(newValue)\r\n if (props.onChange) {\r\n props.onChange(ev, newValue ? newValue!.replaceAll(\",\", \".\") : undefined);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n};","// import GoogleMapReact from 'google-map-react';\r\nimport GoogleMapReactExtended from \"../../definitions/googleMapReact\"\r\n\r\n\r\nexport const MapOptionsDark: GoogleMapReactExtended.MapOptionsExtended = {\r\n // gestureHandling: \"cooperative\",\r\n fullscreenControl: false,\r\n maxZoom: 18,\r\n minZoom: 3,\r\n zoomControl: false,\r\n cameraControl: false,\r\n styles: [\r\n {\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#1d2c4d\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#8ec3b9\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#1a3646\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.country\",\r\n \"elementType\": \"geometry.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#4b6878\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#64779e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.province\",\r\n \"elementType\": \"geometry.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#4b6878\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"landscape.man_made\",\r\n \"elementType\": \"geometry.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#334e87\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"landscape.natural\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#023e58\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#283d6a\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#6f9ba5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#1d2c4d\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"geometry.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#023e58\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#3C7680\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#304a7d\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#98a5be\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#1d2c4d\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#2c6675\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#255763\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#b0d5ce\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#023e58\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#98a5be\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit\",\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#1d2c4d\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#283d6a\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#3a4762\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#0e1626\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#4e6d70\"\r\n }\r\n ]\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n ,\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n }\r\n ]\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport GoogleMapReact from 'google-map-react';\r\nimport { MapOptionsDark } from \"./MapOptionsDark\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faMinus, faPlus } from \"@fortawesome/free-solid-svg-icons\";\r\nimport useResize from \"../../hooks/useResize\";\r\n\r\n//#region Styled Components\r\n//const Container = styled.div<{ height: string }>`\r\n\r\n /*\r\n height: calc(${_ => _.height} - 150px);\r\n width: 100vw;\r\n position: relative;\r\n\r\n // Height \r\n @media (min-height: 1025px) {\r\n height: 850px;\r\n }\r\n\r\n // Width \r\n @media (min-width: 1200px) {\r\n width: 1100px;\r\n }\r\n\r\n @media (min-width: 1400px) {\r\n width: 1300px;\r\n }\r\n */\r\n\r\n\r\nconst Container = styled.div`\r\n\r\n\r\n height: 100%;\r\n position: relative;\r\n\r\n\r\n`;\r\n\r\nconst ZoomControls = styled.div`\r\n position: absolute;\r\n bottom: 40px;\r\n right: 30px;\r\n border-radius: 2px;\r\n\r\n >div:first-child {\r\n margin-bottom: 1px;\r\n }\r\n`;\r\n\r\nconst ZoomButton = styled.div`\r\n background-color: rgb(255, 255, 255, .25);\r\n padding: 18px 23px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n\r\n :hover {\r\n background-color: rgb(255, 255, 255, .5);\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IMapProps {\r\n center?: GoogleMapReact.Coords,\r\n zoom?: number\r\n markers?: any[]\r\n // resizeToFullHeightMinus?: string\r\n onClick?: (_: GoogleMapReact.ClickEventValue) => void\r\n zoomChanged?: (newZoomLevel: number) => void\r\n}\r\n\r\n//export const Map: React.FC = ({ zoom, center, markers, resizeToFullHeightMinus, onClick, zoomChanged }) => {\r\n export const Map: React.FC = ({ zoom, center, markers, onClick, zoomChanged }) => {\r\n const mapRef: any = useRef();\r\n const mapsRef: any = useRef();\r\n //const height = useResize() - resizeToFullHeightMinus ? ;\r\n\r\n // const height = useResize(resizeToFullHeightMinus);\r\n\r\n\r\n // const height = resizeToFullHeightMinus ? `calc(${useResize()})` : useResize();\r\n\r\n const zoomMap = (zoomIn: boolean) => {\r\n if (mapsRef) {\r\n let currentZoom = mapRef.current.zoom;\r\n let newZoom = zoomIn\r\n ? currentZoom + 1\r\n : currentZoom - 1;\r\n\r\n mapRef.current.setZoom(newZoom);\r\n }\r\n }\r\n\r\n let _center: GoogleMapReact.Coords = center\r\n ? center\r\n : {\r\n lat: 60.388608,\r\n lng: 5.30945260\r\n };\r\n\r\n // useEffect(() => {\r\n // console.log(\"Height changed to\", height);\r\n\r\n // }, [height])\r\n\r\n\r\n\r\n return (\r\n // \r\n \r\n {\r\n mapRef.current = maps.map;\r\n mapsRef.current = maps.maps;\r\n }}\r\n onChildClick={(hoverKey: any, childProps: any) => {\r\n // console.log(\"Child click\", hoverKey, childProps);\r\n }}\r\n >\r\n {markers && markers.map((m, i) => {\r\n return m;\r\n })}\r\n \r\n\r\n \r\n zoomMap(true)}>\r\n \r\n \r\n zoomMap(false)}>\r\n \r\n \r\n \r\n \r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { faMapMarkerAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n border-radius: 50%;\r\n transform: translate(-50%, calc(-50% - 20px));\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n color: white;\r\n height: 100px;\r\n width: 100px;\r\n cursor: pointer;\r\n position: relative;\r\n font-size: 50px;\r\n color: rgb(65, 119, 191);\r\n\r\n >svg {\r\n z-index: 1;\r\n }\r\n\r\n .map-pointer-circle {\r\n width: 22px;\r\n height: 22px;\r\n background-color: rgb(255, 255, 255, .95);\r\n border-radius: 50%;\r\n position: absolute;\r\n bottom: 13px;\r\n transform: perspective(500px) rotateX(60deg);\r\n transform-style: preserve-3d;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n >div {\r\n width: 10px;\r\n height: 10px;\r\n background-color: #333;\r\n border-radius: 50%;\r\n }\r\n }\r\n`;\r\n\r\nconst Info = styled.div`\r\n background-color: rgb(255,255,255,.7);\r\n position: absolute;\r\n top: -30px;\r\n border-radius: 4px;\r\n`;\r\n//#endregion\r\n\r\nexport const MapMarker: React.FC<{ onClick?: () => void, lat: number, lng: number, info: any, icon?: React.JSX.Element }> = ({ onClick, info, icon }) => {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n {icon ? icon : }\r\n \r\n {info}\r\n \r\n \r\n );\r\n}","export enum CoordinateType {\r\n Dms = 10,\r\n Dmm = 20\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppTextField } from \"../../components/AppTextField/AppTextField\";\r\nimport { appHelper } from \"../../helpers/appHelper\";\r\nimport { CoordinateType } from \"../../enums/CoordinateType\";\r\nimport { useKeyboardFunctions } from \"../../hooks/useKeyboardFunctions\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div<{ isError: boolean }>`\r\n border: 1px solid ${_ => _.isError ? \"red\" : \"#a4262c\"};\r\n`;\r\n\r\nconst Input = styled.div<{ isError: boolean, inputType: CoordinateType }>`\r\n flex-grow: 1;\r\n border-right: none;\r\n display: grid;\r\n grid-template-columns: ${_ => _.inputType === CoordinateType.Dms ? \"60px 60px auto 48px\" : \"60px auto 48px\"};\r\n border-radius: 2px 0 0 2px;\r\n\r\n input {\r\n background-color: ${_ => _.isError ? \"#ffdfdf\" : undefined} ;\r\n }\r\n\r\n >div {\r\n border-right: 1px dotted #aaa;\r\n \r\n >div {\r\n >div {\r\n >div {\r\n border: none;\r\n }\r\n }\r\n }\r\n }\r\n\r\n >div:last-child {\r\n border-right: none;\r\n }\r\n`;\r\n\r\nconst Desc = styled.div`\r\n margin-top: 3px;\r\n color: #605e5c;\r\n font-size: 10px;\r\n`;\r\n//#endregion\r\n\r\ninterface IGeoLocationProps {\r\n validDirections: string[]\r\n onChange: (dd: number) => void\r\n isLat: boolean\r\n deg?: number\r\n inputType: CoordinateType\r\n}\r\n\r\nexport const GeoLocation: React.FC = ({ validDirections, onChange, isLat, deg, inputType }) => {\r\n const { wholeNumbersOnly } = useKeyboardFunctions();\r\n const [degrees, setDegrees] = useState();\r\n const [minutes, setMinutes] = useState();\r\n const [seconds, setSeconds] = useState();\r\n const [direction, setDirections] = useState();\r\n const [isError, setIsError] = useState(false);\r\n\r\n const getNumericValue = (_?: string): number | undefined => {\r\n if (!_) {\r\n return;\r\n }\r\n\r\n let numericValue = parseFloat(_.replace(\",\", \".\"));\r\n if (isNaN(numericValue)) {\r\n return;\r\n }\r\n\r\n return numericValue;\r\n }\r\n\r\n const setInputValues = (_deg?: number) => {\r\n if (_deg) {\r\n if (inputType === CoordinateType.Dms) {\r\n let _dms = appHelper.convertDEGToDMS(_deg, isLat);\r\n\r\n setDegrees(_dms.degrees.toString());\r\n setMinutes(_dms.minutes.toString());\r\n setSeconds(_dms.seconds.toFixed(4));\r\n setDirections(_dms.direction);\r\n }\r\n else {\r\n let _dmm = appHelper.convertDEGToDMM(_deg, isLat);\r\n\r\n setDegrees(_dmm.degrees.toString());\r\n setMinutes(_dmm.minutes.toFixed(4));\r\n setSeconds(\"0\");\r\n setDirections(_dmm.direction);\r\n }\r\n }\r\n }\r\n\r\n const updateOnChange = () => {\r\n let _dd = getDegrees();\r\n\r\n if (_dd) {\r\n onChange(_dd);\r\n }\r\n }\r\n\r\n const getDegrees = (): number | undefined => {\r\n let _d = getNumericValue(degrees);\r\n let _m = getNumericValue(minutes);\r\n let _s = getNumericValue(seconds);\r\n\r\n if (inputType === CoordinateType.Dms) {\r\n if (!_d && !_m && !_s && !direction) {\r\n return;\r\n }\r\n\r\n if (_d !== undefined && _m !== undefined && _s !== undefined && direction !== undefined && validDirections.find(_ => _.toUpperCase() === direction.toUpperCase())) {\r\n let dd = appHelper.convertDMSToDEG(_d, _m, _s, direction);\r\n\r\n if (dd !== undefined) {\r\n setIsError(false);\r\n return dd;\r\n }\r\n }\r\n }\r\n else {\r\n if (!_d && !_m && !direction) {\r\n return;\r\n }\r\n\r\n if (_d !== undefined && _m !== undefined && direction !== undefined && validDirections.find(_ => _.toUpperCase() === direction.toUpperCase())) {\r\n let dd = appHelper.convertDMMToDEG(_d, _m, direction);\r\n\r\n if (dd !== undefined) {\r\n setIsError(false);\r\n return dd;\r\n }\r\n }\r\n }\r\n\r\n setIsError(true);\r\n }\r\n\r\n useEffect(() => {\r\n setInputValues(deg);\r\n }, [deg, inputType])\r\n\r\n useEffect(() => {\r\n getDegrees();\r\n }, [degrees, minutes, seconds, direction])\r\n\r\n return (\r\n
\r\n \r\n \r\n ev.target.select()}\r\n onBlur={updateOnChange}\r\n onKeyDown={ev => {\r\n wholeNumbersOnly(ev);\r\n }}\r\n onChange={(ev, newValue) => {\r\n setDegrees(newValue);\r\n }}\r\n />\r\n ev.target.select()}\r\n onBlur={updateOnChange}\r\n onKeyDown={inputType === CoordinateType.Dms ? wholeNumbersOnly : undefined}\r\n onChange={(ev, newValue) => {\r\n setMinutes(newValue);\r\n }}\r\n />\r\n {inputType === CoordinateType.Dms &&\r\n ev.target.select()}\r\n onBlur={updateOnChange}\r\n onChange={(ev, newValue) => {\r\n setSeconds(newValue);\r\n }}\r\n />\r\n }\r\n ev.target.select()}\r\n onBlur={updateOnChange}\r\n onChange={(ev, newValue) => {\r\n setDirections(newValue?.toUpperCase());\r\n }}\r\n />\r\n \r\n \r\n \r\n {appHelper.convertDEGToDMSString(isLat, deg)} / {deg}\r\n \r\n
\r\n );\r\n};","export const useKeyboardFunctions = () => {\r\n\r\n const wholeNumbersOnly = (ev: React.KeyboardEvent) => {\r\n if (ev.key === \",\" || ev.key === \".\") {\r\n ev.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n return { wholeNumbersOnly };\r\n};","import { IDropdownOption } from \"@fluentui/react\";\r\nimport { useStringFunctions } from \"./useStringFunctions\";\r\n\r\nexport const useEnumFunctions = () => {\r\n const { splitCamlCase } = useStringFunctions();\r\n\r\n const convertToKeyValuePair = (_enum: any, excludedIds?: number[], disabledIds?: number[], sort: boolean = true): IDropdownOption[] => {\r\n return Object.keys(_enum).filter(_ => {\r\n if (!isNaN(Number(_))) {\r\n return _;\r\n }\r\n })\r\n .filter(_ => {\r\n if (excludedIds && excludedIds.indexOf(Number(_)) >= 0) {\r\n return;\r\n }\r\n return _;\r\n })\r\n .map(_ => {\r\n return {\r\n key: Number(_),\r\n text: splitCamlCase(_enum[Number(_)]),\r\n disabled: disabledIds && disabledIds.indexOf(Number(_)) >= 0\r\n }\r\n })\r\n .sort((a, b) => {\r\n return sort\r\n ? a.text > b.text ? 1 : -1\r\n : 1;\r\n });\r\n }\r\n\r\n return { convertToKeyValuePair };\r\n};","import styled from \"styled-components\";\r\nimport useResize from \"../../hooks/useResize\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCrosshairs, faTowerCell } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IPosition } from \"../../interfaces/IPosition\";\r\nimport { appHelper } from \"../../helpers/appHelper\";\r\nimport { AppModal } from \"../AppModal/AppModal\";\r\nimport { AppPrimaryButton } from \"../../components/Buttons/AppPrimaryButton\";\r\nimport { Map } from \"../../components/Map/Map\";\r\nimport { MapMarker } from \"../../components/Map/MapMarker\";\r\nimport { GeoLocation } from \"../GeoLocation/GeoLocation\";\r\nimport { useLogReportProvider } from \"../../contextHooks/LogReportContext\";\r\nimport { useGeolocation } from \"../../hooks/useGeolocation\";\r\nimport { useStores } from \"../../hooks/useStores\";\r\nimport { useDateFunctions } from \"../../hooks/useDateFunctions\";\r\nimport { useRest } from \"../../hooks/useRest\";\r\nimport { useAppProvider } from \"../../contextHooks/AppContext\";\r\nimport { CoordinateType } from \"../../enums/CoordinateType\";\r\nimport { AppDropDown } from \"../../components/AppDropDown/AppDropDown\";\r\nimport { useEnumFunctions } from \"../../hooks/useEnumFunctions\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div<{ height: string }>`\r\n position: relative;\r\n display: grid;\r\n width: 100vw;\r\n grid-template-rows: calc(${_ => _.height} - 150px - 410px) 410px;\r\n\r\n .position-details {\r\n padding: 20px 30px 0;\r\n display: grid;\r\n grid-template-rows: repeat(4, max-content);\r\n row-gap: 10px;\r\n\r\n >div {\r\n .position-input-header {\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 4px;\r\n }\r\n }\r\n\r\n .position-buttons {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n column-gap: 15px;\r\n\r\n .position-button {\r\n border: 2px solid #4290ff;\r\n border-radius: 3px;\r\n display: grid;\r\n gap: 5px;\r\n grid-template-columns: max-content auto;\r\n height: fit-content;\r\n height: 46px;\r\n align-items: center;\r\n justify-content: center;\r\n margin-top: 15px;\r\n background-color: #d1e4ff;\r\n font-weight: 600;\r\n min-width: 100px;\r\n cursor: pointer;\r\n\r\n :hover {\r\n border-color: #666;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .get-position-info {\r\n position: absolute;\r\n left: 10px;\r\n top: 0px;\r\n padding: 20px;\r\n max-width: calc(100vw - 60px);\r\n\r\n >div {\r\n padding: 10px 18px;\r\n border-radius: 4px;\r\n background-color: rgb(65, 119, 191, .8);\r\n color: white;\r\n font-size: 14px;\r\n overflow-x: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n }\r\n\r\n @media (min-width: 720px) {\r\n grid-template-rows: calc(${_ => _.height} - 150px - 220px) 220px;\r\n\r\n .position-details {\r\n grid-template-columns: 75px repeat(2, max-content);\r\n column-gap: 25px;\r\n\r\n .position-deg {\r\n max-width: 265px;\r\n }\r\n }\r\n }\r\n\r\n @media (min-width: 970px) {\r\n grid-template-rows: calc(${_ => _.height} - 150px - 140px) 140px;\r\n\r\n .position-details {\r\n grid-template-columns: 75px repeat(3, max-content);\r\n\r\n .position-buttons {\r\n .position-button {\r\n margin-top: 25px; \r\n }\r\n }\r\n }\r\n }\r\n\r\n @media (min-width: 1300px) {\r\n width: 1300px;\r\n }\r\n`;\r\n\r\nconst MapMarkerInfo = styled.div`\r\n font-size: 14px;\r\n color: #333;\r\n padding: 10px 18px;\r\n font-weight: 500;\r\n white-space: nowrap;\r\n`;\r\n//#endregion\r\n\r\ninterface IPositionMapPickerProps {\r\n isOpen: boolean\r\n position?: IPosition\r\n dismiss: () => void\r\n commit: (_: IPosition) => void\r\n}\r\n\r\nexport const PositionMapPicker: React.FC = ({ isOpen, position: p, commit, dismiss }) => {\r\n const { api } = useStores();\r\n const { vessel } = useAppProvider();\r\n const { report } = useLogReportProvider();\r\n const { getPosition } = useGeolocation();\r\n const { makeDateObject: md, toDateString } = useDateFunctions();\r\n const { getError } = useRest();\r\n const { convertToKeyValuePair } = useEnumFunctions();\r\n const [zoom, setZoom] = useState(11);\r\n const [dirty, setDirty] = useState(false);\r\n const [info, setInfo] = useState();\r\n const [position, setPosition] = useState();\r\n const [fetchingGeoPosition, setFetchingGeoPosition] = useState(false);\r\n const [fetchingAisPosition, setFetchingAisPosition] = useState(false);\r\n const [inputType, setInputType] = useState(CoordinateType.Dms)\r\n const windowHeight = useResize();\r\n\r\n const getHeight = () => {\r\n let h = Number(windowHeight.replace(\"px\", \"\"));\r\n return h < 1100 ? `${h}px` : \"1100px\";\r\n };\r\n\r\n const getGeoPosition = async () => {\r\n let r = await getPosition();\r\n if (r.ok && r.geoLocation) {\r\n setDirty(true);\r\n setInfo(`Geo location obtained with ${r.geoLocation.coords.accuracy.toFixed(0)} mts of accuracy`)\r\n setPosition({\r\n lat: r.geoLocation.coords.latitude,\r\n lng: r.geoLocation.coords.longitude\r\n });\r\n }\r\n else {\r\n setInfo(r.msg);\r\n }\r\n\r\n setFetchingGeoPosition(false);\r\n }\r\n\r\n const getAisPosition = async () => {\r\n try {\r\n let _aisPosition = await api.getAisPosition(md(report!.dateAndTime).toJSDate());\r\n let tz = report?.portCall?.port ? report.portCall.port.timeZone : \"UTC\";\r\n\r\n if (_aisPosition.lat && _aisPosition.lng) {\r\n setDirty(true);\r\n setInfo(`AIS position found with timestamp ${toDateString(_aisPosition.lastPositionUtc, tz, true)} (tz: ${tz})`);\r\n setPosition({\r\n lat: _aisPosition.lat,\r\n lng: _aisPosition.lng\r\n });\r\n }\r\n else {\r\n setInfo(\"Unable to find AIS position\")\r\n }\r\n }\r\n catch (err) {\r\n setInfo(await getError(err));\r\n }\r\n\r\n setFetchingAisPosition(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (!fetchingAisPosition && fetchingGeoPosition) {\r\n setInfo(\"Fetching device position. please wait...\");\r\n getGeoPosition();\r\n }\r\n }, [fetchingGeoPosition])\r\n\r\n useEffect(() => {\r\n if (!fetchingGeoPosition && fetchingAisPosition) {\r\n setInfo(\"Fetching AIS position. please wait...\");\r\n getAisPosition();\r\n }\r\n }, [fetchingAisPosition])\r\n\r\n useEffect(() => {\r\n if (p) {\r\n setPosition(p);\r\n }\r\n }, [p])\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n setPosition(undefined);\r\n setInfo(undefined);\r\n setDirty(false);\r\n }\r\n }, [isOpen])\r\n\r\n useEffect(() => {\r\n if (vessel?.settings?.coordinateType && Number(vessel.settings.coordinateType) !== 0) {\r\n setInputType(vessel.settings.coordinateType);\r\n }\r\n }, [])\r\n\r\n return (\r\n commit(position!)}\r\n />\r\n }\r\n >\r\n \r\n
\r\n setZoom(_)}\r\n center={position && position.lat && position.lng\r\n ? {\r\n lat: position.lat,\r\n lng: position.lng\r\n }\r\n : undefined\r\n }\r\n onClick={_ => {\r\n setDirty(true);\r\n setPosition({\r\n lat: _.lat,\r\n lng: _.lng\r\n });\r\n }}\r\n markers={position?.lat && position.lng ? [\r\n \r\n {appHelper.convertDEGToDMSString(true, position.lat)}     {appHelper.convertDEGToDMSString(false, position.lng)}\r\n \r\n }\r\n />\r\n ] : undefined}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n Input type\r\n
\r\n {\r\n return {\r\n id: _.key,\r\n text: _.text,\r\n description: _.key === 10 ? \"Degrees, minutes & seconds\" : \"Degrees & decimal minutes\"\r\n }\r\n })}\r\n onChanged={_ => {\r\n if (_) {\r\n setInputType(Number(_.id));\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n Latitude {inputType === CoordinateType.Dms ? \"(deg, min, sec, dir)\" : \"(deg, min, dir)\"}\r\n
\r\n {\r\n setPosition(position ? { ...position, lat: _ } : { lat: _, lng: 0 })\r\n setDirty(true);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n Longitude {inputType === CoordinateType.Dms ? \"(deg, min, sec, dir)\" : \"(deg, min, dir)\"}\r\n
\r\n {\r\n setPosition(position ? { ...position, lng: _ } : { lat: 0, lng: _ });\r\n setDirty(true);\r\n }}\r\n />\r\n
\r\n
\r\n setFetchingGeoPosition(true)}\r\n >\r\n \r\n
\r\n Device\r\n
\r\n
\r\n setFetchingAisPosition(true)}\r\n >\r\n \r\n
\r\n AIS\r\n
\r\n
\r\n
\r\n
\r\n\r\n {info &&\r\n
\r\n
\r\n {info}\r\n
\r\n
\r\n }\r\n \r\n \r\n );\r\n};","import { appHelper } from \"../helpers/appHelper\";\r\n\r\nexport const useGeolocation = () => {\r\n const fetchPosition = async (enableHighAccuracy: boolean) => {\r\n try {\r\n let geoLocation = await appHelper.getPosition({\r\n enableHighAccuracy,\r\n timeout: 15000,\r\n maximumAge: 0\r\n });\r\n\r\n return {\r\n ok: true,\r\n geoLocation\r\n };\r\n } catch (error: any) {\r\n let msg = \"\"\r\n if (error.message && typeof (error.message) === \"string\") {\r\n msg = \"Location - \" + error.message;\r\n }\r\n else {\r\n msg = \"Location - Unable to determine position at the moment\";\r\n }\r\n\r\n return {\r\n ok: false,\r\n geoLocation: undefined,\r\n msg\r\n };\r\n }\r\n }\r\n\r\n const getPosition = async () => {\r\n let r = await fetchPosition(true);\r\n\r\n if (r.ok) {\r\n return r;\r\n }\r\n\r\n r = await fetchPosition(false);\r\n\r\n return r;\r\n }\r\n\r\n return { getPosition };\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useLogReportProvider } from \"../../../../../contextHooks/LogReportContext\";\r\nimport { useBoolean } from \"@fluentui/react-hooks\";\r\nimport { PositionMapPicker } from \"../../../../../blocks/PositionMapPicker/PositionMapPicker\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { appHelper } from \"../../../../../helpers/appHelper\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCircle } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n border: 1px solid #605e5c;\r\n border-radius: 2px;\r\n background-color: white;\r\n padding: 7px 16px 0;\r\n height: 41px;\r\n cursor: pointer;\r\n position: relative;\r\n\r\n .position-data {\r\n display: grid;\r\n grid-template-columns: minmax(1px, max-content) max-content minmax(1px, max-content);\r\n\r\n >div {\r\n >div {\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n >div:first-child {\r\n font-size: 14px;\r\n font-weight: 600;\r\n }\r\n\r\n >div:last-child {\r\n font-size: 10px;\r\n color: #aaa;\r\n margin-top: -2px;\r\n }\r\n }\r\n\r\n >div:nth-child(2) {\r\n padding: 5px 5px 0 6px;\r\n color: #bbb;\r\n font-size: 6px;\r\n }\r\n }\r\n\r\n .no-position {\r\n padding-top: 5px;\r\n color: #aaa;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .position-edit {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n background-color: rgb(0, 0, 0, .1);\r\n height: 100%;\r\n width: 50px;\r\n display: flex;\r\n opacity: 0;\r\n align-items: center;\r\n justify-content: center;\r\n border-left: 1px dashed rgb(0, 0, 0, .1);\r\n transition: opacity .1 ease-in-out;\r\n }\r\n\r\n :hover {\r\n .position-edit {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const LogReportPosition: React.FC<{ renderAs?: React.JSX.Element }> = ({ renderAs }) => {\r\n const { report, setReport, setTouched } = useLogReportProvider();\r\n const [mapDialogOpen, { toggle: toggleMapDialogOpen }] = useBoolean(false);\r\n\r\n if (!report) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n {renderAs\r\n ?\r\n \r\n {renderAs}\r\n \r\n :\r\n \r\n {report.lat && report.lng\r\n ?\r\n
\r\n
\r\n
\r\n {appHelper.convertDEGToDMSString(true, report.lat)}\r\n
\r\n
\r\n LAT: {report.lat}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {appHelper.convertDEGToDMSString(false, report.lng)}\r\n
\r\n
\r\n LNG: {report.lng}\r\n
\r\n
\r\n
\r\n :\r\n
\r\n Click to edit position\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n setTouched(true);\r\n setReport({ ...report, lat: _.lat, lng: _.lng });\r\n toggleMapDialogOpen();\r\n }}\r\n />\r\n \r\n );\r\n};","import { AppDropDown } from \"../components/AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../components/AppNumericField/AppNumericField\";\r\nimport { AppTextField } from \"../components/AppTextField/AppTextField\";\r\nimport { DateTimePicker } from \"../components/DateTimePicker/DateTimePicker\";\r\nimport { LogReportPosition } from \"../components/Reports/Log/Edit/Position/LogReportPosition\";\r\nimport { IKeyValue } from \"../interfaces/IKeyValue\";\r\nimport { ILogReport } from \"../interfaces/ILogReport\";\r\nimport { LogReportPropertyDefinition, WidgetType } from \"../interfaces/ILogReportReportPropertyDefinition\";\r\nimport { useStringFunctions } from \"./useStringFunctions\";\r\n\r\nexport const useInlineReports = () => {\r\n const { toCapitalLetters } = useStringFunctions();\r\n\r\n const renderTextField = (def: LogReportPropertyDefinition, value: any | undefined, onChange: (value: any | undefined) => void) => {\r\n return (\r\n {\r\n onChange(newValue);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n const renderNumericField = (def: LogReportPropertyDefinition, value: any | undefined, onChange: (value: any | undefined) => void) => {\r\n return (\r\n {\r\n onChange(Number(newValue));\r\n }}\r\n />\r\n );\r\n }\r\n\r\n const renderDateTimePicker = (def: LogReportPropertyDefinition, value: any | undefined, onChange: (value: any | undefined) => void, report: ILogReport, fixedTimezone?: string) => {\r\n if (!report.portCall) {\r\n return
Date time picker requires time zone. Time zone is undefined
;\r\n }\r\n\r\n return (\r\n {\r\n onChange(newValue);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n const renderDropDown = (def: LogReportPropertyDefinition, value: any | undefined, valueDescription: string | undefined, onChange: (value: any | undefined) => void, options: IKeyValue[]) => {\r\n return (\r\n {\r\n if (_) {\r\n if (def.onChangeValue) {\r\n const onChangeValue = def.onChangeValue(_!);\r\n onChange(onChangeValue);\r\n } else {\r\n onChange(_)\r\n }\r\n } else {\r\n onChange(undefined);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n\r\n const renderPosition = (def: LogReportPropertyDefinition) => {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const renderProperty = (propertyDef: LogReportPropertyDefinition, report: ILogReport, value: any | undefined, valueDescription: string | undefined, onChange: (value: any) => void, fixedTimezone?: string, dropDownOptions?: IKeyValue[]): JSX.Element => {\r\n switch (propertyDef.widget) {\r\n case WidgetType.AppTextField:\r\n return renderTextField(propertyDef, value, onChange);\r\n case WidgetType.AppNumericField:\r\n return renderNumericField(propertyDef, value, onChange);\r\n case WidgetType.DateTimePicker:\r\n return renderDateTimePicker(propertyDef, value, onChange, report, fixedTimezone);\r\n case WidgetType.AppDropdown:\r\n return renderDropDown(propertyDef, value, valueDescription, onChange, dropDownOptions!);\r\n case WidgetType.Position:\r\n return renderPosition(propertyDef);\r\n default:\r\n return
;\r\n }\r\n }\r\n\r\n return { renderProperty };\r\n};","import styled from \"styled-components\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { IConsumption } from \"../../../../../interfaces/IConsumption\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: fit-content;\r\n margin-bottom: 15px;\r\n \r\n :last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst Box = styled.div`\r\n padding: 25px 0 25px 20px;\r\n position: relative;\r\n`;\r\n\r\nconst Header = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 150px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 15px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Left = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n background-color: #4177bf;\r\n width: 4px;\r\n`;\r\n\r\nconst Fields = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: -5px -15px;\r\n\r\n >div {\r\n width: 255px;\r\n margin: 5px 15px;\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n background-color: #f1f1f1;\r\n width: 52px !important;\r\n height: 52px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-size: 22px;\r\n\r\n :hover {\r\n background-color: #4177bf;\r\n color: white;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const Consumption: React.FC<{ measurement: string, c: IConsumption, onChanged: (_: IConsumption) => void, onDeleted: (_: IConsumption) => void }> = ({ measurement, c, onChanged, onDeleted }) => {\r\n const { appStore } = useStores();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n {\r\n return {\r\n id: e.id,\r\n text: e.name,\r\n valueObject: e\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, engine: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n return {\r\n id: f.id,\r\n text: f.name,\r\n valueObject: f,\r\n description: f.description\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, fuel: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, consumed: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, rpm: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n onDeleted(c)}>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};","import styled from \"styled-components\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { IConsumption } from \"../../../../../interfaces/IConsumption\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faClose } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n display: grid;\r\n grid-template-columns: repeat(3, minmax(10px, 195px)) 48px;\r\n\r\n >div {\r\n border-top: 1px solid #333;\r\n border-left: 1px solid #333;\r\n }\r\n\r\n :last-child {\r\n >div {\r\n border-bottom: 1px solid #333;\r\n }\r\n }\r\n\r\n .remove {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n border-right: 1px solid #555;\r\n color: #555;\r\n cursor: pointer;\r\n\r\n :hover {\r\n background-color: rgb(0, 0, 0, .05);\r\n } \r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const ConsumptionInline: React.FC<{ reportDate: Date, c: IConsumption, onChanged: (_: IConsumption) => void, onDeleted: (_: IConsumption) => void }> = ({ reportDate, c, onChanged, onDeleted }) => {\r\n const { appStore } = useStores();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n return (\r\n \r\n {\r\n return {\r\n id: e.id,\r\n text: e.name,\r\n valueObject: e\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, engine: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n return {\r\n id: f.id,\r\n text: f.name,\r\n valueObject: f,\r\n description: f.description\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, fuel: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, consumed: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n
onDeleted(c)} title=\"Remove consumption entry\">\r\n \r\n
\r\n
\r\n );\r\n};","import React from \"react\";\r\nimport { Consumption } from \"./Consumption\";\r\nimport { IConsumption } from \"../../../../../interfaces/IConsumption\";\r\nimport { ILogReport } from \"../../../../../interfaces/ILogReport\";\r\nimport { ConsumptionInline } from \"./ConsumptionInline\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { useVesselFunctions } from \"../../../../../hooks/useVesselFunctions\";\r\n\r\nexport const Consumptions: React.FC<{ report: ILogReport, onChanged: (_: IConsumption) => void, onDeleted: (_: IConsumption) => void, inline?: boolean }> = ({ report, onChanged, onDeleted, inline }) => {\r\n const { appStore } = useStores();\r\n const { getReportMeasurement } = useVesselFunctions();\r\n const measurement = getReportMeasurement(appStore.customer?.id, report.dateAndTime, appStore.vessel?.settings);\r\n\r\n return (\r\n
\r\n {report.consumptions?.map(c => {\r\n return (\r\n inline\r\n ?\r\n \r\n :\r\n \r\n );\r\n })}\r\n
\r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppDropDown } from \"../../components/AppDropDown/AppDropDown\";\r\nimport { useAppProvider } from \"../../contextHooks/AppContext\";\r\nimport { useLogReportFunctions } from \"../../hooks/useLogReportFunctions\";\r\nimport { ITank } from \"../../interfaces/ITank\";\r\nimport { useStores } from \"../../hooks/useStores\";\r\nimport { useDateFunctions } from \"../../hooks/useDateFunctions\";\r\nimport { ITankState } from \"../../interfaces/ITankState\";\r\nimport { useArrayFunctions } from \"../../hooks/useArrayFunctions\";\r\nimport { useBoolean, useId } from \"@fluentui/react-hooks\";\r\nimport { Callout } from \"@fluentui/react\";\r\nimport { useMediaQuery } from \"../../hooks/useMediaQuery\";\r\n\r\n//#region Styled Components\r\nconst TankState = styled.div<{ rob: number }>`\r\n >div:first-child {\r\n color: ${_ => _.rob < 0 ? \"#ff7979\" : \"#82b982\"};\r\n padding-top: 10px;\r\n font-size: 12px;\r\n font-weight: 600;\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n >div:last-child {\r\n font-size: 8px;\r\n color: #aaa;\r\n font-weight: 600;\r\n margin-top: -4px;\r\n }\r\n`;\r\n\r\nconst CalloutBody = styled.div`\r\n padding: 15px 20px;\r\n max-width: 245px;\r\n\r\n .tp-fb-header {\r\n font-size: 12px;\r\n font-weight: 600;\r\n padding-bottom: 6px;\r\n\r\n span {\r\n font-weight: 800;\r\n }\r\n\r\n span:last-child {\r\n padding-left: 5px;\r\n color: #bbb;\r\n }\r\n }\r\n\r\n .tp-fb-item {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n gap: 30px;\r\n padding-top: 6px;\r\n\r\n >div {\r\n white-space: nowrap;\r\n overflow-x: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n }\r\n\r\n .tp-fb-info {\r\n margin-top: 14px;\r\n border-top: 1px dashed #aaa;\r\n padding-top: 10px;\r\n font-size: 12px;\r\n color: #aaa;\r\n\r\n span {\r\n color: #333;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface ITankPickerProps {\r\n hideDescription?: boolean\r\n hideRobBelowWidth?: string,\r\n borderless?: boolean\r\n tanksInitiatedBefore?: Date\r\n missingInitiationBeforeDateMessage?: string\r\n selectedTank?: ITank\r\n enableAllTanks?: boolean\r\n onChange: (tank: ITank) => void\r\n}\r\n\r\nexport const TankPicker: React.FC = ({ hideDescription, hideRobBelowWidth, borderless, tanksInitiatedBefore, missingInitiationBeforeDateMessage, selectedTank, enableAllTanks, onChange }) => {\r\n const { api } = useStores();\r\n const { vessel } = useAppProvider();\r\n const { isTankAvailable } = useLogReportFunctions();\r\n const { toDateString } = useDateFunctions();\r\n const { sumNumbers } = useArrayFunctions();\r\n const [fetching, setFetching] = useState(false);\r\n const [tankState, setTankState] = useState();\r\n const [calloutOpen, { toggle: toggleCalloutOpen }] = useBoolean(false);\r\n const calloutButtinId = useId(\"TankCalloutButton\");;\r\n const hideRob = useMediaQuery(`(max-width: ${hideRobBelowWidth ? hideRobBelowWidth : \"0px\"})`);\r\n\r\n const getTankState = async (_tank: ITank) => {\r\n setFetching(true);\r\n\r\n try {\r\n setTankState(await api.getTankState(_tank.id));\r\n }\r\n catch (error: any) {\r\n console.log(\"error\", error, error);\r\n }\r\n\r\n setFetching(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedTank) {\r\n getTankState(selectedTank);\r\n }\r\n }, [selectedTank?.id])\r\n\r\n return (\r\n _.id === selectedTank?.id)?.description}\r\n modalTitle=\"Select tank\"\r\n placeholder=\"Select tank\"\r\n title={selectedTank?.name}\r\n options={vessel?.tanks.map(t => {\r\n let disabled = false;\r\n let description = [];\r\n\r\n if (t.description) {\r\n description.push(t.description);\r\n }\r\n\r\n if(!enableAllTanks) {\r\n if (!t.initialTankStateDate) {\r\n disabled = true;\r\n description.push(\"Tank not initialized\");\r\n }\r\n else {\r\n if (!tanksInitiatedBefore) {\r\n disabled = true;\r\n description.push(missingInitiationBeforeDateMessage ? missingInitiationBeforeDateMessage : \"Tank not available\");\r\n }\r\n else if (!isTankAvailable(t, tanksInitiatedBefore)) {\r\n disabled = true;\r\n description.push(`Tank initialized after ${toDateString(tanksInitiatedBefore)}`);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n id: t.id,\r\n text: t.name,\r\n valueObject: t,\r\n description: description.join(\" - \"),\r\n disabled\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChange(_?.valueObject);\r\n }}\r\n infoBox={!hideRob && !fetching && tankState\r\n ?\r\n <>\r\n _.remainingOnBoard))}\r\n title={`Calculated ROB pr. ${toDateString(tankState.created)}. Click for more details.`}\r\n onClick={ev => {\r\n ev.stopPropagation();\r\n toggleCalloutOpen();\r\n }}\r\n >\r\n
\r\n {sumNumbers(tankState.tankStateFuelRobs.map(_ => _.remainingOnBoard)).toLocaleString(undefined, { minimumFractionDigits: 3 })} MT\r\n
\r\n
\r\n ROB\r\n
\r\n \r\n {calloutOpen &&\r\n \r\n \r\n
\r\n CURRENT ROB FOR TANK |CALCULATED\r\n
\r\n {tankState.tankStateFuelRobs.map(_ => {\r\n return (\r\n
\r\n
\r\n {_.fuel.name}\r\n
\r\n
\r\n {_.remainingOnBoard.toLocaleString(undefined, { minimumFractionDigits: 3 })} MT\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n Calculated ROB is updated 4 times a day. Last update: {toDateString(tankState.created)}\r\n
\r\n
\r\n \r\n }\r\n \r\n :\r\n undefined\r\n }\r\n />\r\n );\r\n}","export const useArrayFunctions = () => {\r\n const getUniqueNumbers = (numberArray: number[]): number[] => {\r\n return numberArray.filter((n, i) => numberArray.indexOf(n) === i);\r\n }\r\n\r\n const getUniqueStrings = (stringArray: string[]): string[] => {\r\n return stringArray.filter((n, i) => stringArray.indexOf(n) === i);\r\n }\r\n\r\n const getUniqueDates = (dateArray: Date[]): Date[] => {\r\n return dateArray.filter((n, i) => dateArray.indexOf(n) === i);\r\n }\r\n\r\n const sumNumbers = (numbers: number[]): number => {\r\n return numbers.reduce((accumulator, num) => {\r\n return accumulator + num;\r\n }, 0);\r\n }\r\n\r\n return { getUniqueDates, getUniqueNumbers, getUniqueStrings, sumNumbers };\r\n};","import { FC } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { ITankConsumption } from \"../../../../../interfaces/ITankConsumption\";\r\nimport { useAppProvider } from \"../../../../../contextHooks/AppContext\";\r\nimport { useLogReportProvider } from \"../../../../../contextHooks/LogReportContext\";\r\nimport { TankPicker } from \"../../../../../blocks/TankPicker/TankPicker\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: fit-content;\r\n margin-bottom: 15px;\r\n \r\n :last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst Box = styled.div`\r\n padding: 25px 0 25px 20px;\r\n position: relative;\r\n`;\r\n\r\nconst Header = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 150px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 15px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Left = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n background-color: #4177bf;\r\n width: 4px;\r\n`;\r\n\r\nconst Fields = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: -5px -15px;\r\n\r\n >div {\r\n width: 255px;\r\n margin: 5px 15px;\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n background-color: #f1f1f1;\r\n width: 52px !important;\r\n height: 52px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-size: 22px;\r\n\r\n :hover {\r\n background-color: #4177bf;\r\n color: white;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const TankConsumption: FC<{ c: ITankConsumption, onChanged: (_: ITankConsumption) => void, onDeleted: (_: ITankConsumption) => void }> = ({ c, onChanged, onDeleted }) => {\r\n const { vessel } = useAppProvider();\r\n const { report } = useLogReportProvider();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n if (!report) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n {\r\n onChanged({ ...c, tank });\r\n }}\r\n />\r\n {\r\n return {\r\n id: e.id,\r\n text: e.name,\r\n valueObject: e\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, engine: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, consumed: getNumericValue(newValue, true)\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, rpm: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n onDeleted(c)}>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};","import styled from \"styled-components\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faClose } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ITankConsumption } from \"../../../../../interfaces/ITankConsumption\";\r\nimport { useAppProvider } from \"../../../../../contextHooks/AppContext\";\r\nimport { ILogReport } from \"../../../../../interfaces/ILogReport\";\r\nimport { TankPicker } from \"../../../../../blocks/TankPicker/TankPicker\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n display: grid;\r\n grid-template-columns: repeat(3, minmax(10px, 195px)) 48px;\r\n\r\n >div {\r\n border-top: 1px solid #333;\r\n border-left: 1px solid #333;\r\n }\r\n\r\n :last-child {\r\n >div {\r\n border-bottom: 1px solid #333;\r\n }\r\n }\r\n\r\n .remove {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n border-right: 1px solid #555;\r\n color: #555;\r\n cursor: pointer;\r\n\r\n :hover {\r\n background-color: rgb(0, 0, 0, .05);\r\n } \r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const TankConsumptionInline: React.FC<{ report: ILogReport, c: ITankConsumption, onChanged: (_: ITankConsumption) => void, onDeleted: (_: ITankConsumption) => void }> = ({ report, c, onChanged, onDeleted }) => {\r\n const { vessel } = useAppProvider();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n return (\r\n \r\n {\r\n onChanged({ ...c, tank });\r\n }}\r\n />\r\n {\r\n return {\r\n id: e.id,\r\n text: e.name,\r\n valueObject: e\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...c, engine: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...c, consumed: getNumericValue(newValue, true)\r\n });\r\n }}\r\n />\r\n
onDeleted(c)} title=\"Remove consumption entry\">\r\n \r\n
\r\n
\r\n );\r\n};","import React from \"react\";\r\nimport { ILogReport } from \"../../../../../interfaces/ILogReport\";\r\nimport { TankConsumption } from \"./TankConsumption\";\r\nimport { ITankConsumption } from \"../../../../../interfaces/ITankConsumption\";\r\nimport { TankConsumptionInline } from \"./TankConsumptionInline\";\r\n\r\nexport const TankConsumptions: React.FC<{ report: ILogReport, onChanged: (_: ITankConsumption) => void, onDeleted: (_: ITankConsumption) => void, inline?: boolean }> = ({ report, onChanged, onDeleted, inline }) => {\r\n return (\r\n
\r\n {report.tankConsumptions?.map(c => {\r\n return (\r\n inline\r\n ? \r\n : \r\n );\r\n })}\r\n
\r\n );\r\n};","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Consumptions } from \"../../../../Reports/Log/Edit/Consumptions/Consumptions\";\r\nimport { TankConsumptions } from \"../../../../Reports/Log/Edit/TankConsumptions/TankConsumptions\";\r\nimport { useAppProvider } from \"../../../../../contextHooks/AppContext\";\r\nimport { useLogReportProvider } from \"../../../../../contextHooks/LogReportContext\";\r\nimport { useDateFunctions } from \"../../../../../hooks/useDateFunctions\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n .eblr-compability-message {\r\n margin: -5px 0 10px;\r\n padding: 0 0 10px;\r\n font-size: 14px;\r\n }\r\n`;\r\n//#endregion\r\n\r\ninterface IEventBodyLogReportConsumptionProps {\r\n show?: boolean\r\n}\r\n\r\nexport const EventBodyLogReportConsumption: React.FC = ({ show }) => {\r\n const { report, setReport, setTouched, showFuelBasedConsumption, showTankBasedConsumption } = useLogReportProvider();\r\n const { fuel, vessel } = useAppProvider();\r\n const { makeDateObject: md } = useDateFunctions();\r\n const showCompabilityMessage = showTankBasedConsumption && showFuelBasedConsumption;\r\n\r\n if (!report || !show) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n Consumption since previous report\r\n
\r\n\r\n {showCompabilityMessage &&\r\n
\r\n Both tank-based and fuel-based registration is available for backward compability.\r\n
\r\n }\r\n\r\n
\r\n {showTankBasedConsumption &&\r\n // Tank-based\r\n <>\r\n {\r\n let index = report.tankConsumptions!.findIndex(_ => _.id === c.id);\r\n let tankConsumptions = report.tankConsumptions!.slice();\r\n tankConsumptions[index] = c;\r\n\r\n setTouched(true);\r\n setReport({ ...report, tankConsumptions });\r\n }}\r\n onDeleted={c => {\r\n setTouched(true);\r\n setReport({\r\n ...report,\r\n tankConsumptions: report.tankConsumptions!.slice().filter(_ => _.id !== c.id)\r\n });\r\n }}\r\n />\r\n
{\r\n let tankConsumptions = report.tankConsumptions ? report.tankConsumptions : [];\r\n\r\n setTouched(true);\r\n setReport({\r\n ...report, tankConsumptions: [...tankConsumptions, {\r\n id: uuidv4(),\r\n engine: vessel?.engines.length === 1 ? vessel.engines[0] : undefined,\r\n tank: vessel?.tanks.filter(_ => _.initialTankStateDate && md(_.initialTankStateDate) >= md(report.dateAndTime)).length === 1 ? vessel.tanks[0] : undefined\r\n }]\r\n });\r\n }}>\r\n {showCompabilityMessage ? \"Add tank-based consumption\" : \"Add consumption\"}\r\n
\r\n \r\n }\r\n\r\n {showFuelBasedConsumption &&\r\n // Fuel- based\r\n <>\r\n {\r\n let index = report.consumptions!.findIndex(_ => _.id === c.id);\r\n let consumptions = report.consumptions!.slice();\r\n consumptions[index] = c;\r\n\r\n setTouched(true);\r\n setReport({ ...report, consumptions });\r\n }}\r\n onDeleted={c => {\r\n setTouched(true);\r\n setReport({\r\n ...report,\r\n consumptions: report.consumptions!.slice().filter(_ => _.id !== c.id)\r\n });\r\n }}\r\n />\r\n
{\r\n let consumptions = report.consumptions ? report.consumptions : [];\r\n\r\n setTouched(true);\r\n setReport({\r\n ...report, consumptions: [...consumptions, {\r\n id: uuidv4(),\r\n engine: vessel?.engines.length === 1 ? vessel.engines[0] : undefined,\r\n fuel: fuel.length === 1 ? fuel[0] : undefined\r\n }]\r\n });\r\n }}>\r\n {showCompabilityMessage ? \"Add fuel-based consumption\" : \"Add consumption\"}\r\n
\r\n \r\n }\r\n
\r\n
\r\n );\r\n};","import styled from \"styled-components\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { IRob } from \"../../../../../interfaces/IRob\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: fit-content;\r\n margin-bottom: 15px;\r\n \r\n :last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst Box = styled.div`\r\n padding: 25px 0 25px 20px;\r\n position: relative;\r\n`;\r\n\r\nconst Header = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 150px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 15px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Left = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n background-color: #4177bf;\r\n width: 4px;\r\n`;\r\n\r\nconst Fields = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: -5px -15px;\r\n\r\n >div {\r\n width: 255px;\r\n margin: 5px 15px;\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n background-color: #f1f1f1;\r\n width: 52px !important;\r\n height: 52px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-size: 22px;\r\n\r\n :hover {\r\n background-color: #4177bf;\r\n color: white;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const Rob: React.FC<{ measurement: string, rob: IRob, onChanged: (_: IRob) => void, onDeleted: (_: IRob) => void }> = ({ measurement, rob, onChanged, onDeleted }) => {\r\n const { appStore } = useStores();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n {\r\n return {\r\n id: t.id,\r\n text: t.name,\r\n valueObject: t,\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...rob, tank: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n return {\r\n id: f.id,\r\n text: f.name,\r\n valueObject: f,\r\n description: f.description\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...rob, fuel: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...rob, qty: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n onDeleted(rob)}>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};","import styled from \"styled-components\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faClose } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IRob } from \"../../../../../interfaces/IRob\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n display: grid;\r\n grid-template-columns: repeat(3, minmax(10px, 195px)) 48px;\r\n\r\n >div {\r\n border-top: 1px solid #333;\r\n border-left: 1px solid #333;\r\n }\r\n\r\n :last-child {\r\n >div {\r\n border-bottom: 1px solid #333;\r\n }\r\n }\r\n\r\n .remove {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n border-right: 1px solid #555;\r\n color: #555;\r\n cursor: pointer;\r\n\r\n :hover {\r\n background-color: rgb(0, 0, 0, .05);\r\n } \r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const RobInline: React.FC<{ rob: IRob, onChanged: (_: IRob) => void, onDeleted: (_: IRob) => void }> = ({ rob, onChanged, onDeleted }) => {\r\n const { appStore } = useStores();\r\n const { getNumericValue } = useStringFunctions();\r\n\r\n return (\r\n \r\n {\r\n return {\r\n id: t.id,\r\n text: t.name,\r\n valueObject: t,\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...rob, tank: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n return {\r\n id: f.id,\r\n text: f.name,\r\n valueObject: f,\r\n description: f.description\r\n }\r\n })}\r\n onChanged={_ => {\r\n onChanged({\r\n ...rob, fuel: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n onChanged({\r\n ...rob, qty: getNumericValue(newValue)\r\n });\r\n }}\r\n />\r\n
onDeleted(rob)} title=\"Remove rob entry\">\r\n \r\n
\r\n
\r\n );\r\n};","export enum RobType {\r\n Start = 10,\r\n Log = 50,\r\n End = 100\r\n}","import React from \"react\";\r\nimport { Rob } from \"./Rob\";\r\nimport { IRob } from \"../../../../../interfaces/IRob\";\r\nimport { ILogReport } from \"../../../../../interfaces/ILogReport\";\r\nimport { RobInline } from \"./RobInline\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { useVesselFunctions } from \"../../../../../hooks/useVesselFunctions\";\r\n\r\nexport const Robs: React.FC<{ report: ILogReport, onChanged: (_: IRob) => void, onDeleted: (_: IRob) => void, inline?: boolean }> = ({ report, onChanged, onDeleted, inline }) => {\r\n const { appStore } = useStores();\r\n const { getReportMeasurement } = useVesselFunctions();\r\n const measurement = getReportMeasurement(appStore.customer?.id, report.dateAndTime, appStore.vessel?.settings);\r\n\r\n return (\r\n
\r\n {report.robs?.map(rob => {\r\n return (\r\n inline\r\n ? \r\n : \r\n );\r\n })}\r\n
\r\n );\r\n};","import { FC, useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { useStores } from \"../../../../../hooks/useStores\";\r\nimport { AppDropDown } from \"../../../../AppDropDown/AppDropDown\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { IFuelRob, ITankRob } from \"../../../../../interfaces/ITankRob\";\r\nimport { AppModal } from \"../../../../../blocks/AppModal/AppModal\";\r\nimport { AppPrimaryButton } from \"../../../../Buttons/AppPrimaryButton\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faTrashAlt } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n//#region Styled Components\r\nconst Body = styled.div`\r\n padding: 30px;\r\n\r\n >div {\r\n margin-bottom: 30px;\r\n }\r\n\r\n >div:last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst Action = styled.label<{ disabled: boolean }>`\r\n display: ${_ => _.disabled ? \"none\" : \"flex\"};\r\n font-size: 24px;\r\n cursor: pointer;\r\n color: #444;\r\n\r\n :hover {\r\n color: #4177bf;\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const FuelRob: FC<{ tankRob: ITankRob, item?: { isNew: boolean, item: IFuelRob }, onCommit: (_: IFuelRob) => void, onDelete: (_: IFuelRob) => void, onDismiss: () => void }> = ({ tankRob, item, onCommit, onDelete, onDismiss }) => {\r\n const { appStore } = useStores();\r\n const { getNumericValue } = useStringFunctions();\r\n const [measuredTankRob, setMeasuredTankRob] = useState();\r\n\r\n const formOk = () => {\r\n if (!measuredTankRob || !measuredTankRob.fuel || measuredTankRob.rob === undefined || measuredTankRob.rob < 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n useEffect(() => {\r\n setMeasuredTankRob(item ? { ...item.item } : undefined);\r\n }, [item])\r\n\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n return (\r\n {\r\n if (measuredTankRob && formOk()) {\r\n onCommit(measuredTankRob);\r\n }\r\n }}\r\n />\r\n }\r\n actions={[\r\n {\r\n if (measuredTankRob) {\r\n onDelete(measuredTankRob);\r\n }\r\n }}\r\n >\r\n \r\n \r\n ]}\r\n\r\n >\r\n \r\n {measuredTankRob &&\r\n <>\r\n {\r\n let disabled = false;\r\n let descriptions: string[] = f.description ? [f.description] : [];\r\n\r\n if (tankRob.fuelRobs?.find(_ => _.fuel?.id === f.id)) {\r\n disabled = true;\r\n descriptions.push(\"Already added\");\r\n }\r\n\r\n return {\r\n id: f.id,\r\n disabled,\r\n text: f.name,\r\n valueObject: f,\r\n description: descriptions.join(\" - \")\r\n }\r\n })}\r\n onChanged={_ => {\r\n setMeasuredTankRob({\r\n ...measuredTankRob, fuel: _?.valueObject\r\n });\r\n }}\r\n />\r\n {\r\n setMeasuredTankRob({\r\n ...measuredTankRob, rob: getNumericValue(newValue, true, true)\r\n });\r\n }}\r\n />\r\n \r\n }\r\n \r\n \r\n );\r\n};","import { Checkbox, ICheckboxProps } from \"@fluentui/react\";\r\nimport React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\n//#region Styled Components\r\nconst MyCbx = styled(Checkbox)`\r\n label {\r\n width: 100%;\r\n\r\n >div:first-child {\r\n height: 28px;\r\n width: 28px;\r\n border-color: #999;\r\n background-color: ${_ => _.disabled ? \"#ddd\" : _.checked ? \"#4177bf\" : undefined};\r\n\r\n i {\r\n font-size: 22px;\r\n }\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const AppCheckBox: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};","import { FC, useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { AppNumericField } from \"../../../../AppNumericField/AppNumericField\";\r\nimport { Icon } from \"@fluentui/react\";\r\nimport { useStringFunctions } from \"../../../../../hooks/useStringFunctions\";\r\nimport { ITankRob, IFuelRob } from \"../../../../../interfaces/ITankRob\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { FuelRob } from \"./FuelRob\";\r\nimport { AppCheckBox } from \"../../../../../blocks/AppCheckBox/AppCheckBox\";\r\nimport { useVesselFunctions } from \"../../../../../hooks/useVesselFunctions\";\r\nimport { useLogReportProvider } from \"../../../../../contextHooks/LogReportContext\";\r\nimport { LogReportType } from \"../../../../../enums/LogReportTypes\";\r\nimport { TankPicker } from \"../../../../../blocks/TankPicker/TankPicker\";\r\n\r\n//#region Styled Components\r\nconst Container = styled.div`\r\n width: fit-content;\r\n margin-bottom: 15px;\r\n\r\n .sounding {\r\n >div:first-child {\r\n height: 48px;\r\n border: 1px solid #605e5c;\r\n border-radius: 2px;\r\n\r\n label {\r\n >div {\r\n margin: 10px 0 0 15px;\r\n }\r\n\r\n >span {\r\n margin: 13px 15px 0 10px;\r\n font-weight: 600;\r\n }\r\n }\r\n }\r\n\r\n >div:last-child {\r\n color: #605e5c;\r\n font-size: 10px;\r\n padding-top: 4px; \r\n }\r\n }\r\n \r\n :last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst Box = styled.div`\r\n padding: 25px 0 25px 20px;\r\n position: relative;\r\n`;\r\n\r\nconst Header = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 150px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #4177bf;\r\n height: 4px;\r\n width: 15px;\r\n border-radius: 0 5px 5px 0;\r\n`;\r\n\r\nconst Left = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n background-color: #4177bf;\r\n width: 4px;\r\n`;\r\n\r\nconst Fields = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: -5px -15px;\r\n\r\n >div {\r\n width: 255px;\r\n margin: 5px 15px;\r\n\r\n @media (max-width: 480px) {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n background-color: #f1f1f1;\r\n width: 52px !important;\r\n height: 52px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-size: 22px;\r\n\r\n :hover {\r\n background-color: #4177bf;\r\n color: white;\r\n }\r\n`;\r\n\r\nconst FuelRobs = styled.div`\r\n padding: 10px 8px 0;\r\n\r\n .header {\r\n font-weight: 600;\r\n color: #aaa;\r\n }\r\n\r\n .link {\r\n color: #4177bf;\r\n font-weight: 600;\r\n width: fit-content;\r\n\r\n :hover {\r\n text-decoration: underline;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .fuel-type-breakdowns {\r\n width: fit-content;\r\n margin: 10px 0;\r\n\r\n >div {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n margin: 6px 0;\r\n\r\n >div:last-child {\r\n padding-left: 60px;\r\n }\r\n\r\n :hover {\r\n text-decoration: underline;\r\n cursor: pointer;\r\n color: #4177bf;\r\n }\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\nexport const TankRob: FC<{ tankRob: ITankRob, onChanged: (_: ITankRob) => void, onDeleted: (_: ITankRob) => void }> = ({ tankRob, onChanged, onDeleted }) => {\r\n const { getNumericValue } = useStringFunctions();\r\n const { tankInitiated } = useVesselFunctions();\r\n const { report } = useLogReportProvider();\r\n const [modalState, setModalState] = useState<{ isNew: boolean, item: IFuelRob } | undefined>();\r\n const isTankInitiation = report?.type === LogReportType[\"Tank Initiation\"];\r\n\r\n const clearModalState = () => {\r\n setModalState(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n if (tankRob.fuelRobs && tankRob.fuelRobs.length > 0) {\r\n let sum = tankRob.fuelRobs.map(a => a.rob).reduce(function (a, b) {\r\n return a && b ? a + b : 0;\r\n });\r\n onChanged({ ...tankRob, totalRob: sum });\r\n }\r\n }, [tankRob.fuelRobs])\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n\r\n {\r\n let _tr: ITankRob = { ...tankRob, tank };\r\n\r\n if (tank && !tankInitiated(tank, report?.dateAndTime)) {\r\n _tr.sounding = true;\r\n }\r\n\r\n onChanged(_tr);\r\n }}\r\n />\r\n\r\n {(!tankRob.fuelRobs || tankRob.fuelRobs.length === 0) && report?.type !== LogReportType[\"Tank Initiation\"] &&\r\n {\r\n onChanged({\r\n ...tankRob, totalRob: getNumericValue(newValue, true)\r\n });\r\n }}\r\n />\r\n }\r\n\r\n
\r\n {\r\n onChanged({\r\n ...tankRob, sounding: checked ? checked : false\r\n });\r\n }}\r\n />\r\n
\r\n Whether the tank was sounded or not\r\n
\r\n
\r\n\r\n onDeleted(tankRob)}>\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n {tankRob.fuelRobs && tankRob.fuelRobs.length > 0 ? \"Fuel type breakdown\" : \"No fuel type breakdown registered\"}\r\n
\r\n\r\n {tankRob.fuelRobs &&\r\n
\r\n {tankRob.fuelRobs.map(_ => {\r\n return (\r\n {\r\n setModalState({ isNew: false, item: _ })\r\n }}\r\n >\r\n
\r\n {_.fuel?.name}\r\n
\r\n
\r\n {_.rob?.toFixed(3)} MT\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n }\r\n\r\n
setModalState({ isNew: true, item: { id: uuidv4() } })}>\r\n + Add fuel and rob\r\n
\r\n\r\n \r\n\r\n